diff --git a/.gitignore b/.gitignore index 70f252396b..f05646fb8a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ +release/* +*.cache *.pbo texHeaders.bin *.swp *.swo +*.biprivatekey diff --git a/AUTHORS.txt b/AUTHORS.txt index b931d774ac..d0f248e72f 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -17,7 +17,7 @@ Janus Kieran NouberNou PabstMirror -Ruthberg +Ruthberg tpM ViperMaul VKing @@ -26,12 +26,16 @@ Walter Pearce # CONTRIBUTORS 11RDP-LoupVert [BIG]Bull -ACCtomeek +ACCtomeek Adanteh aeroson Aggr094 +Alganthe +Anthariel BlackQwar Brakoviejo +Brisse +Clon1998 Codingboy Crusty eRazeri @@ -40,28 +44,46 @@ Falke75 Ferenczi Ferenzi Filip Basara (Logo) +FreeZbe geraldbolso1899 Ghost -gienkov +GieNkoV gpgpgpgp Grzegorz +Gianmarco Varriale (TeamNuke) Hamburger SV +Harakhti havena Hawkins jokoho48 Jonpas -Legolasindar -licht-im-Norden87 +Kllrt +Legolasindar "Viper" +licht-im-Norden87 MarcBook +meat Michail Nikolaev nic547 +nomisum oscarmolinadev pokertour rakowozz Raspu86 Riccardo Petricca Robert Boklahánics -simon84 +ramius86 +simon84 +Sniperwolf572 +Tachi Tonic Tourorist Valentin Torikian +zGuba +Aleksey EpMAK Yermakov +ruPaladin +BlackPixxel +Asgar Serran +Kavinsky +Coren +OnkelDisMaster +Dimaslg diff --git a/LICENSE b/LICENSE index 0f013a10b9..b76b90e8fb 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (C) 2014 Felix "KoffeinFlummi" Wiegand +Copyright (C) 2015 Felix "KoffeinFlummi" Wiegand This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/README.md b/README.md index 83950e8236..4ed84011bf 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,83 @@

- +

- - ACE version + + ACE version - - ACE download + + ACE download - - ACE issues + + ACE issues - - ACE license + + BIF thread + + + ACE license

-

Requires the latest version of CBA A3 | BIF thread

+

Requires the latest version of CBA A3. Visit us on Facebook | YouTube | Twitter | Reddit

**ACE3** is a joint effort by the teams behind **ACE2**, **AGM** and **CSE** to improve the realism and authenticity of Arma 3. -This mod is entirely **open-source**, and everyone is free to propose changes or maintain their own, customized version as long as they make their changes open to the public in accordance with the GNU General Public License (for more information check the license file attached to this project). +The project is entirely **open-source** and all contributions are welcome. Feel free to maintain your own custom version, so long as the changes you make are open to the public in accordance with the GNU General Public License ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)). -The mod is **built modularly** — almost any PBO can be removed, thus a team can maintain its own tailored version of ACE, which excludes a select number of components that they don't like, or which conflict with other add-ons. Components themselves, like e.g. the medical system, also include various customization options, allowing mission designers to tweak the overall experience. +The mod is **built modularly**, so almost any included PBO can be easily removed from the configuration. This way, a team can maintain its own tailored version of ACE by simply excluding any components they don't need, or those possibly in conflict with other add-ons. Modules themselves, e.g. the medical system, also include various customization options, allowing mission designers to tweak the overall experience. -More information on the purpose of the different components of ACE and which ones they rely on can be found [here](https://github.com/KoffeinFlummi/ACE3/wiki#features). +### Core features +* Brand new 3D interaction/action system +* Performance and reliability framework +* Focus on modularity and customization +* New flexible client and server settings & configuration +* Improved medical system with various levels (basic/advanced) focus on gameplay/realism +* Proper & consistent network-synced weather +* Wind and weather-based ballistics +* Captivity system +* Explosives system, including different trigger types +* Map screen improvements – marker placement and map tools +* Advanced missile guidance and laser designation -### Features -* Improved medical system -* Logistics system including cargo transport and vehicle maintenance -* Explosives system including different trigger types -* Captivity system -* Realistic names for vehicles and weapons -* Realistic ballistics including wind and humidity -* Backblast simulation -* Weapon resting and bipod deployment -* A fire control system for armored vehicles and helicopters - ***and more...*** +#### Additional features +* Carrying and dragging +* Realistic names for vehicles and weapons +* A fire control system (FCS) for armored vehicles and helicopters +* Realistic ballistics/FCS calculated in C/C++ extensions +* Backblast area and overpressure simulation +* Disposable launchers +* Realistic G-forces +* Vehicle locking +* Realistic night and thermal vision modes +* Magazine repacking +* Realistic weapon overheating mechanic +* Combat deafness (temporary loss of hearing) simulation +* Improved ragdoll physics +* Improved interactions for AARs and ammo bearers +* Adjustable sniper scopes +* No idle animation with lowered weapon +* No talking player avatar +* Jumping over obstacles, climbing over walls and cutting down fences +* Vector, MicroDAGR and Kestrel devices
+***and much more...*** -For a full list of current features, check [the official wiki](https://github.com/KoffeinFlummi/ACE3/wiki). - -#### Guides & How-Tos -If you installed ACE3, but have trouble understanding how it all works, or where to start — see [Getting Started](https://github.com/KoffeinFlummi/ACE3/wiki/Getting-Started). +### Guides & how-tos +If you installed ACE3 but have trouble understanding how it all works, or where to start, read this first: +* [Getting started](http://ace3mod.com/wiki/user/getting-started.html) #### Contributing -If you want to help put with the ongoing development, you can do so by looking for possible bugs or by contributing new features. To contribute something to ACE, simply fork this repository and submit your pull requests for review by other collaborators. In the process, feel free to add yourself to the author array of any .pbo you will be editing and the AUTHORS.txt file. +You can help out with the ongoing development by looking for potential bugs in our code base, or by contributing new features. To contribute something to ACE, simply fork this repository and submit your pull requests for review by other collaborators. Remember to add yourself to the author array of any PBO you will be editing and the [`AUTHORS.txt`](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) file; including a valid email address. -To report a bug, propose a feature, or suggest a change to the existing one — please, use our [Issue Tracker](https://github.com/KoffeinFlummi/ACE3/issues). +Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report a bug, propose a feature, or suggest changes to the existing ones. See also: +* [How to report an issue](http://ace3mod.com/wiki/user/how-to-report-an-issue.html) +* [How to make a feature request](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html) -For detailed information on how to make your weapons or vehicles compatible with ACE — read [this article](https://github.com/KoffeinFlummi/ACE3/wiki/For-Addon-Makers). - -#### Testing & Building -If you want to help us test the latest development changes, feel free to download our master branch, using either git — if familiar with the process — or directly, by following [this link](https://github.com/KoffeinFlummi/ACE3/archive/master.zip). - -To find out how to build a version of ACE for testing, follow [these instructions](https://github.com/KoffeinFlummi/ACE3/wiki/Developers-::-Setting-up-your-development-environment). +#### Testing & building +To help us test the latest development changes, download our master branch ([directly](https://github.com/acemod/ACE3/archive/master.zip), or [with git](https://help.github.com/articles/fetching-a-remote/)), then assemble a test build: +* [Setting up the development environment](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – step-by-step instructions on how to properly setup and build a version of ACE for testing purposes. diff --git a/TO_MERGE/ace/air_hud/$PBOPREFIX$ b/TO_MERGE/ace/air_hud/$PBOPREFIX$ deleted file mode 100644 index de3c844caa..0000000000 --- a/TO_MERGE/ace/air_hud/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\uo\Addons\sys_air_hud \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/CfgEventhandlers.hpp b/TO_MERGE/ace/air_hud/CfgEventhandlers.hpp deleted file mode 100644 index 8ab0e82308..0000000000 --- a/TO_MERGE/ace/air_hud/CfgEventhandlers.hpp +++ /dev/null @@ -1,23 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; - -class Extended_GetIn_EventHandlers { - class ADDON { - init = QUOTE(call FUNC(onGetin)); - }; -}; - -class Extended_GetOut_EventHandlers { - class ADDON { - init = QUOTE(call FUNC(onGetout)); - }; -}; diff --git a/TO_MERGE/ace/air_hud/CfgUI.hpp b/TO_MERGE/ace/air_hud/CfgUI.hpp deleted file mode 100644 index 2ea940757f..0000000000 --- a/TO_MERGE/ace/air_hud/CfgUI.hpp +++ /dev/null @@ -1,30 +0,0 @@ -class RscPicture; -class RscText; -class RscControlsGroupNoScrollbars; - -class RscInGameUI -{ - class RscUnitInfo - { - class CA_Radar: RscControlsGroupNoScrollbars - { - class controls - { - class CA_RadarBackground: RscPicture { - colorText[] = {0,0,0,0}; - text = ""; - }; - class CA_RadarIcon: RscPicture { - colorText[] = {0,0,0,0}; - }; - class CA_Heading: RscText { - colorText[] = {0,0,0,0}; - }; - }; - }; - }; -}; -class CfgInGameUI -{ - -}; \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/CfgVehicles.hpp b/TO_MERGE/ace/air_hud/CfgVehicles.hpp deleted file mode 100644 index 8ae39f954b..0000000000 --- a/TO_MERGE/ace/air_hud/CfgVehicles.hpp +++ /dev/null @@ -1,35 +0,0 @@ -class CfgVehicles { - class AllVehicles; - - class Air: AllVehicles { - class Turrets; - }; - class Helicopter: Air - { - class Turrets: Turrets { - class MainTurret; - }; - commanderCanSee = 2+32; - gunnerCanSee = 2+32; - driverCanSee = 2+32; - - }; - class Helicopter_Base_F: Helicopter { - class Turrets: Turrets { - class MainTurret: MainTurret {}; - }; - }; - class Heli_Attack_01_base_F: Helicopter_Base_F { - class Turrets: Turrets { - class MainTurret: MainTurret {}; - }; - }; - class B_Heli_Attack_01_F: Heli_Attack_01_base_F { - driverCanEject = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - stabilizedInAxes = 4; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/CfgWeapons.hpp b/TO_MERGE/ace/air_hud/CfgWeapons.hpp deleted file mode 100644 index a396afe5d5..0000000000 --- a/TO_MERGE/ace/air_hud/CfgWeapons.hpp +++ /dev/null @@ -1,10 +0,0 @@ -class CfgWeapons { - class LauncherCore; - - class RocketPods: LauncherCore { - canLock = 1; - }; - class missiles_DAGR: RocketPods { - canLock = 1; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/XEH_post_init.sqf b/TO_MERGE/ace/air_hud/XEH_post_init.sqf deleted file mode 100644 index 6904ee6c47..0000000000 --- a/TO_MERGE/ace/air_hud/XEH_post_init.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" -NO_DEDICATED; - diff --git a/TO_MERGE/ace/air_hud/XEH_pre_init.sqf b/TO_MERGE/ace/air_hud/XEH_pre_init.sqf deleted file mode 100644 index 244906c51f..0000000000 --- a/TO_MERGE/ace/air_hud/XEH_pre_init.sqf +++ /dev/null @@ -1,9 +0,0 @@ -#include "script_component.hpp" - -PREP(laserHudDesignateOn); -PREP(laserHudDesignateOff); - - -GVAR(laser) = nil; - -FUNC(getPosASL) = {visiblePositionASL (_this select 0)}; \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/config.cpp b/TO_MERGE/ace/air_hud/config.cpp deleted file mode 100644 index 304cdab63a..0000000000 --- a/TO_MERGE/ace/air_hud/config.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "uo_sys_laser", "a3_ui_f" }; - version = VERSION; - }; -}; - -#include "CfgUI.hpp" - -#include "CfgEventhandlers.hpp" -#include "CfgWeapons.hpp" -#include "CfgVehicles.hpp" \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/fnc_laserHudDesignateOff.sqf b/TO_MERGE/ace/air_hud/fnc_laserHudDesignateOff.sqf deleted file mode 100644 index 8718146aea..0000000000 --- a/TO_MERGE/ace/air_hud/fnc_laserHudDesignateOff.sqf +++ /dev/null @@ -1,19 +0,0 @@ -#include "script_component.hpp" - -if(isNil QGVAR(laser)) exitWith { - false -}; -if(!local GVAR(laser)) then { - false -}; - -_handle = GVAR(laser) getVariable ["ACE_PFH_HANDLE", nil]; -if(!isNil "_handle") then { - [_handle] call cba_fnc_removePerFrameHandler; -}; - -REM(ACE_LASERS, GVAR(laser)); -deleteVehicle GVAR(laser); -GVAR(laser) = nil; - -true \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/fnc_laserHudDesignateOn.sqf b/TO_MERGE/ace/air_hud/fnc_laserHudDesignateOn.sqf deleted file mode 100644 index ee69fb84fe..0000000000 --- a/TO_MERGE/ace/air_hud/fnc_laserHudDesignateOn.sqf +++ /dev/null @@ -1,87 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -TRACE_1("enter", _this); - -FUNC(magnitude) = { - _this distance [0, 0, 0] -}; - -FUNC(mat_normalize3d) = { - private ["_mag"]; - PARAMS_3(_vx,_vy,_vz); - - _mag = _this call FUNC(magnitude); - if (_mag == 0) then {_mag = 1}; - [(_vx/_mag), (_vy/_mag), (_vz/_mag)] -}; - -FUNC(laserHudDesignatePFH) = { - _args = _this select 0; - _laserTarget = _args select 0; - _shooter = _args select 1; - - _vehicle = vehicle _shooter; - _weapon = currentWeapon _vehicle; - - if(!alive _shooter || isNull _vehicle || isNull _laserTarget) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - // Retrieve the gunner and turret memory point information - _gunnerInfo = [_vehicle, _weapon] call CBA_fnc_getFirer; - - _turret = [_vehicle, _gunnerInfo select 1] call CBA_fnc_getTurret; - _pov = getText (_turret >> "memoryPointGunnerOptics"); - _gunBeg = getText (_turret >> "gunBeg"); - _gunEnd = getText (_turret >> "gunEnd"); - TRACE_3("", _pov, _gunBeg, _gunEnd); - - // Pull the PIP pov or barrel direction, depending on how the model is set up - _povPos = ATLtoASL ( _vehicle modelToWorld (_vehicle selectionPosition _pov ) ); - _povDir = [0,0,0]; - if(_pov == "pip0_pos") then { - _pipDir = ATLtoASL ( _vehicle modelToWorld (_vehicle selectionPosition "pip0_dir" ) ); - _povDir = [_povPos, _pipDir] call BIS_fnc_vectorDiff; - } else { - _gunBeginPos = ATLtoASL ( _vehicle modelToWorld (_vehicle selectionPosition _gunBeg ) ); - _gunEndPos = ATLtoASL ( _vehicle modelToWorld (_vehicle selectionPosition _gunEnd ) ); - _povDir = [_gunEndPos, _gunBeginPos] call BIS_fnc_vectorDiff; - }; - - TRACE_4("", _povDir, _povPos, _gunBeginPos, _gunEndPos); - - _result = [_povPos, _povDir] call uo_sys_laser_fnc_shootCone; - - if((count _result) > 0) then { - _resultPositions = _result select 2; - - if((count _resultPositions) > 0) then { - _firstResult = _resultPositions select 0; - _pos = _firstResult select 0; - - // If the laser has moved less than a half meter, then dont move it. - // Just regular use of lasers will commonly make them move this much, - // but not across multiple close frames. - // This loses accuracy a little, but saves position updates per frame. - //if( ((getPosASL _laserTarget) distance _pos) > 0.5) then { - _laserTarget setPosATL (ASLToATL _pos); - //}; -#ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLToATL _pos, 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; -#endif - }; - }; -}; - -if(isNil QGVAR(laser)) then { - _laserTarget = "LaserTargetW" createVehicle (getpos player); - _handle = [FUNC(laserHudDesignatePFH), 0, [_laserTarget, player]] call cba_fnc_addPerFrameHandler; - _laserTarget setVariable ["ACE_PFH_HANDLE", _handle, false]; - - GVAR(laser) = _laserTarget; -} else { - [] call FUNC(laserHudDesignateOff); - [] call FUNC(laserHudDesignateOn); -}; - diff --git a/TO_MERGE/ace/air_hud/fnc_onGetin.sqf b/TO_MERGE/ace/air_hud/fnc_onGetin.sqf deleted file mode 100644 index 873c19c234..0000000000 --- a/TO_MERGE/ace/air_hud/fnc_onGetin.sqf +++ /dev/null @@ -1 +0,0 @@ -player addAction ["Laser Designator On", { _this call uo_sys_air_hud_fnc_laserHudDesignateOn }, name player]; diff --git a/TO_MERGE/ace/air_hud/fnc_onGetout.sqf b/TO_MERGE/ace/air_hud/fnc_onGetout.sqf deleted file mode 100644 index aceb4f54bd..0000000000 --- a/TO_MERGE/ace/air_hud/fnc_onGetout.sqf +++ /dev/null @@ -1 +0,0 @@ -player addAction ["Laser Designator Off", { _this call uo_sys_air_hud_fnc_laserHudDesignateOff }, name player]; \ No newline at end of file diff --git a/TO_MERGE/ace/air_hud/script_component.hpp b/TO_MERGE/ace/air_hud/script_component.hpp deleted file mode 100644 index 6f0ab5bc8c..0000000000 --- a/TO_MERGE/ace/air_hud/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT sys_air_hud -#include "\x\uo\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_AIR_HUD - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_AIR_HUD - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_AIR_HUD -#endif - -#include "\x\uo\Addons\main\script_macros.hpp" diff --git a/TO_MERGE/ace/arty_aimingpoints/$PBOPREFIX$ b/TO_MERGE/ace/arty_aimingpoints/$PBOPREFIX$ deleted file mode 100644 index 95dd20da50..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\ace\addons\sys_arty_aimingpoints \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/ACE_ARTY_AimingStakes.p3d b/TO_MERGE/ace/arty_aimingpoints/ACE_ARTY_AimingStakes.p3d deleted file mode 100644 index 4f4daabf2b..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/ACE_ARTY_AimingStakes.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/ACE_ARTY_AimingStakesW.p3d b/TO_MERGE/ace/arty_aimingpoints/ACE_ARTY_AimingStakesW.p3d deleted file mode 100644 index 2c557f3fa9..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/ACE_ARTY_AimingStakesW.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/CfgEventHandlers.hpp b/TO_MERGE/ace/arty_aimingpoints/CfgEventHandlers.hpp deleted file mode 100644 index 67bd580002..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/CfgEventHandlers.hpp +++ /dev/null @@ -1,31 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; - -class Extended_Init_EventHandlers { - class ACE_Arty_M1A1_Collimator { - init = QUOTE(call COMPILE_FILE(XEH_collimator_init)); - }; - class ACE_Arty_M2A2_Aiming_Circle { - init = QUOTE(_this call FUNC(aimingCircleInit)); - }; -}; - -class Extended_GetIn_Eventhandlers { - class ACE_Arty_M2A2_Aiming_Circle { - clientGetin = QUOTE(_this call FUNC(aimingCircleGetIn)); - }; -}; -class Extended_GetOut_Eventhandlers { - class ACE_Arty_M2A2_Aiming_Circle { - clientGetout = QUOTE(_this call FUNC(aimingCircleGetOut)); - }; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles.hpp b/TO_MERGE/ace/arty_aimingpoints/CfgVehicles.hpp deleted file mode 100644 index e887c80201..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles.hpp +++ /dev/null @@ -1,153 +0,0 @@ -class CfgVehicles { - class Thing; - class ReammoBox; - class ACE_Arty_BaseThing; - // aiming stakes classes - #include "CfgVehicles_AimingStakes.hpp" - #include "CfgVehicles_Ammoboxes.hpp" - #include "CfgVehicles_Collimator.hpp" - class Land; - class LandVehicle: Land { - class NewTurret; - }; - class StaticWeapon: LandVehicle { - class Turrets; - }; - class StaticCannon: StaticWeapon { - class Turrets: Turrets { - class MainTurret; - }; - }; - class ace_aimingcircle_base: StaticCannon { - class Turrets: Turrets { - class MainTurret : MainTurret { - class ViewOptics; - }; - }; - }; - class ACE_Arty_M2A2_Aiming_Circle: ace_aimingcircle_base { - scope = 2; - displayName = $STR_DSS_ACE_ARTY_AIMINGCIRCLE_M2A2; - model = QPATHTO_M(ace_arty_m2a2_aiming_circle.p3d); - icon = QPATHTO_T(data\equip\m2a2_icon_ca.paa); - vehicleClass = "ACE_Arty_Equipment"; - animated = 0; - reversed = 0; - autocenter = 0; - mapSize = 0.5; - class Turrets: Turrets - { - class MainTurret: MainTurret - { - weapons[] = {}; - magazines[] = {}; - memoryPointsGetInGunner = "pos_gunner_dir"; - memoryPointsGetInGunnerDir = "pos_gunner"; - gunnerOpticsModel = "\x\ace\addons\sys_arty_m119\ace_arty_m119_scope"; - gunnerAction = "M2_Gunner"; - gunBeg = "gunBegin"; - gunEnd = "gunEnd"; - proxyIndex = 1; - maxHorizontalRotSpeed = 4; - class ViewOptics : ViewOptics { - initFov = 0.0787019; - minFov = 0.0787019; - maxFov = 0.0787019; - }; - }; - }; - - class AnimationSources { - class MainGun { - source="user"; - animPeriod=0.02; - initPhase=0; - minValue="-400"; - maxValue="800"; - }; - class MainTurret { - source="user"; - initPhase = 0; - animPeriod=0.02; - minValue="-6400"; - maxValue="6400"; - }; - class upper_motion { - source="user"; - initPhase = 0; - animPeriod=0.002; - minValue="-6400"; - maxValue="6400"; - }; - class deflection_knob { - source="user"; - initPhase = 0; - animPeriod=0.02; - minValue="-100"; - maxValue="100"; - }; - class deflection_knob_coarse { - type="rotation"; - source="user"; - initPhase = 0; - animPeriod=0.02; - minValue="-64"; - maxValue="64"; - }; - class elevation_knob { - source="user"; - initPhase = 0; - animPeriod=0.02; - minValue="-100"; - maxValue="100"; - }; - class elevation_knob_coarse { - source="user"; - initPhase = 0; - animPeriod=0.02; - minValue="-4"; - maxValue="8"; - }; - class orienting_knobs { - source="user"; - initPhase = 0; - animPeriod=0.02; - minValue="-6400"; - maxValue="6400"; - }; - class left_cover { - source="user"; - initPhase = 0; - animPeriod=1; - minValue="0"; - maxValue="1"; - }; - class right_cover { - source="user"; - initPhase = 0; - animPeriod=1; - minValue="0"; - maxValue="1"; - }; - class compass_needle { - source = "user"; - initPhase = 0; - animPeriod=0.02; - minValue="-360"; - maxValue="360"; - }; - }; - - // class MarkerLights { - // class Whitelight { - // name = "optic_backlight"; - // color[] = {1,1,1, 0.0025}; - // ambient[] = {1,1,1, 0.0025}; - // brightness = 0.0005; - // size = 0.00004; - // blinking = "false"; - // }; - // }; - ACE_CARGO_ONLY; ACE_Weight = 20.5; - }; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_AimingStakes.hpp b/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_AimingStakes.hpp deleted file mode 100644 index 2067034bac..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_AimingStakes.hpp +++ /dev/null @@ -1,44 +0,0 @@ - // ace mortars aiming posts base class - class ACE_Arty_AimingStakes : ACE_Arty_BaseThing { - destrType = "DestructTree"; - weight = 1000; - simulation = "house"; - - model = QPATHTO_M(ACE_ARTY_AimingStakes.p3d); - animated = 0; - reversed = 0; - autocenter = 1; - sectionsInherit = "ACE_ARTY_AimingStakes"; - hiddenSelections[] = {"all"}; - class AnimationSources{}; - ACE_NOCARGOLOAD; ACE_Weight = 10000; - }; - - // aiming posts for US mortar usage - // 2x M1A2 (ie 2m height) aiming Posts with M58, illumunation device, green - class ACE_Arty_AimingPost_M1A2_M58 : ACE_Arty_AimingStakes { - scope = 2; - displayName = $STR_DN_ACE_ARTY_AIMINGPOST_M1A2_M58; - hiddenSelections[] = {"lamp_1","lightpoint_1"}; - class MarkerLights { - class Greenlight { - name = "lightpoint_0"; - color[] = { 0, 0.5, 0.1, 0.0025 }; - ambient[] = { 0, 0.5, 0.1, 0.0025 }; - brightness = 0.0015; - size = 0.00001; - blinking = "false"; - }; - }; - ACE_CARGO_ONLY; ACE_Weight = 3; - }; - // 2x M1A2 (ie 2m height) aiming Posts with M59, illumunation device, orange - class ACE_Arty_AimingPost_M1A2_M59 : ACE_Arty_AimingPost_M1A2_M58 { - displayName = $STR_DN_ACE_ARTY_AIMINGPOST_M1A2_M59; - class MarkerLights: MarkerLights { - class Orangelight: Greenlight { - color[] = {255/255, 74/255, 0/255, 0.0025}; - ambient[] = {255/255, 74/255, 0/255, 0.0025}; - }; - }; - }; diff --git a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_AmmoBoxes.hpp b/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_AmmoBoxes.hpp deleted file mode 100644 index fc1e5218c5..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_AmmoBoxes.hpp +++ /dev/null @@ -1,12 +0,0 @@ - class ACE_ArtyEquip_Box: ReammoBox { - vehicleClass = "ACE_Arty_Equipment"; - picture = "pictureThing"; - class TransportWeapons { - ACE_M_WEP(ACE_Arty_AimingPost_M1A2_M58, 12); - ACE_M_WEP(ACE_Arty_AimingPost_M1A2_M59, 12); - ACE_M_WEP(ACE_Arty_M1A1_Collimator, 6); - ACE_M_WEP(ACE_Arty_M2A2_Aiming_Circle, 2); - - }; - class TransportMagazines {}; - }; diff --git a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_Collimator.hpp b/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_Collimator.hpp deleted file mode 100644 index 4f0bd9adcb..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/CfgVehicles_Collimator.hpp +++ /dev/null @@ -1,82 +0,0 @@ -class ACE_Arty_M1A1_Collimator: ACE_Arty_AimingStakes { - scope = 2; - displayName = "$STR_DSS_ACE_ARTY_COLLIMATOR_M1A1"; - model = QPATHTO_M(sa_collimator.p3d); - animated = 1; - reversed = 0; - autocenter = 0; - class Reflectors { - class Reflector { - color[] = {1,1,1, 1}; - ambient[] = {1,1,1, 1}; - position = "optic_backlight"; - direction = "optic_proxy"; - hitpoint = "optic_backlight"; - selection = "optic_backlight"; - brightness = 0.001; - size = 0.01; - }; - }; - class AnimationSources { - class elevate_optic { - source = "user"; - animPeriod = 0.01; - minValue="-300"; - maxValue="300"; - }; - class rotate_optic { - source = "user"; - animPeriod = 0.01; - minValue="-6400"; - maxValue="6400"; - }; - }; - ACE_CARGO_ONLY; ACE_Weight = 14.5; -}; - -class ACE_Arty_Collimator_Proxy: ACE_Arty_BaseThing { // No idea wether this should be hidden or not - scope = 1; - displayName = "Collimator Proxy"; - destrType = "DestructTree"; - weight = 1000; - simulation = "house"; - model = QPATHTO_M(collimator_test.p3d); - animated = 1; - reversed = 0; - autocenter = 0; - sectionsInherit = "collimator_test"; - - class AnimationSources{ - class offset { - source = "user"; - animPeriod = 0.00001; - minValue = -100; - maxValue = 100; - }; - class expand_ul { - source = "user"; - animPeriod = 0.00001; - minValue = -1; - maxValue = 1; - }; - class expand_ur { - source = "user"; - animPeriod = 0.00001; - minValue = -1; - maxValue = 1; - }; - class expand_ll { - source = "user"; - animPeriod = 0.00001; - minValue = -1; - maxValue = 1; - }; - class expand_lr { - source = "user"; - animPeriod = 0.00001; - minValue = -1; - maxValue = 1; - }; - }; - ACE_CARGO_ONLY; ACE_Weight = 14.5; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/CfgWeapons.hpp b/TO_MERGE/ace/arty_aimingpoints/CfgWeapons.hpp deleted file mode 100644 index 94d9e8d371..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/CfgWeapons.hpp +++ /dev/null @@ -1,40 +0,0 @@ -class CfgWeapons { - class Launcher; - class ACE_BaseAimingPost: Launcher { - displayName = "Aiming Post"; - descriptionShort = ""; - type = 4; - model = QPATHTO_M(ACE_ARTY_AimingStakesW.p3d); - picture = QPATHTO_T(data\equip\w_stake_ca.paa); - class Library { - libTextDesc = ""; - }; - ACE_Weight = 3; - }; - class ACE_Arty_AimingPost_M1A2_M58: ACE_BaseAimingPost { - scope = 2; - displayName = $STR_DN_ACE_ARTY_AIMINGPOST_M1A2_M58; - descriptionShort = $STR_DSS_ACE_ARTY_AIMINGPOST_M1A2_M58; - }; - class ACE_Arty_AimingPost_M1A2_M59: ACE_BaseAimingPost { - scope = 2; - displayName = $STR_DN_ACE_ARTY_AIMINGPOST_M1A2_M59; - descriptionShort = $STR_DSS_ACE_ARTY_AIMINGPOST_M1A2_M59; - }; - class ACE_Arty_M1A1_Collimator: ACE_BaseAimingPost { - scope = 2; - displayName = $STR_DSS_ACE_ARTY_COLLIMATOR_M1A1; - descriptionShort = $STR_DSS_ACE_ARTY_COLLIMATOR_M1A1; - picture = QPATHTO_T(data\equip\collimator_item_ca.paa); - model = QPATHTO_M(sa_collimator_wep.p3d); - ACE_Weight = 14.5; - }; - class ACE_Arty_M2A2_Aiming_Circle: ACE_BaseAimingPost { - scope = 2; - displayName = $STR_DSS_ACE_ARTY_AIMINGCIRCLE_M2A2; - descriptionShort = $STR_DSS_ACE_ARTY_AIMINGCIRCLE_M2A2; - picture = QPATHTO_T(data\equip\m2a2_item_ca.paa); - model = QPATHTO_M(ace_arty_m2a2_aiming_circle_wep.p3d); - ACE_Weight = 20.5; - }; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/XEH_collimator_init.sqf b/TO_MERGE/ace/arty_aimingpoints/XEH_collimator_init.sqf deleted file mode 100644 index 7376f3d63f..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/XEH_collimator_init.sqf +++ /dev/null @@ -1,6 +0,0 @@ -//XEH_collimator_init.sqf -#include "script_component.hpp" - -PARAMS_1(_collimator); - -_adjustCollimator = _collimator addAction [localize "STR_ACE_ARTY_ADJUST_COLLIMATOR", "fnc_adjustCollimator.sqf", [], -100, false, true, "", "alive _target"]; diff --git a/TO_MERGE/ace/arty_aimingpoints/XEH_post_init.sqf b/TO_MERGE/ace/arty_aimingpoints/XEH_post_init.sqf deleted file mode 100644 index 0aa8309c30..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/XEH_post_init.sqf +++ /dev/null @@ -1,10 +0,0 @@ -// #define DEBUG_MODE_FULL -#include "script_component.hpp" - -ADDON = false; - -["player", [ace_sys_interaction_key], 1, [QPATHTO_F(fnc_menuDef_stake), "main"]] call CBA_ui_fnc_add; -["player", [ace_sys_interaction_key_self], 9, [QPATHTO_F(fnc_menuDef_stake_self), "main"]] call CBA_ui_fnc_add; -[QGVAR(aimingCircleLightEvent), { _this call FUNC(aimingCircleHandleLight); }] call CBA_fnc_addEventHandler; - -ADDON = true; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/XEH_pre_init.sqf b/TO_MERGE/ace/arty_aimingpoints/XEH_pre_init.sqf deleted file mode 100644 index a71d525693..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/XEH_pre_init.sqf +++ /dev/null @@ -1,476 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; - -PREP(menuDef_stake); -PREP(menuDef_stake_self); - -PREP(isKindOf); - -PREP(onPickupStake); -PREP(onPlaceStake); -PREP(onModifyStake); - -PREP(onPlaceStakeConfirm); -PREP(onPlaceStakeCancel); - -ACE_ARTY_COLLIMATORS = []; -ACE_ARTY_COLLIMATORS_PFH_ID = -1; - -FUNC(milsFromGunBarrel) = { - private "_gunDir"; - PARAMS_2(_gun,_obj); - // TODO: get relative directoin of placement from barrel in mils -}; - -FUNC(findGun) = { - private["_detectorPos", "_distance", "_target","_targets","_closeDist"]; - _target = objNull; - _detectorPos = [0, 0, 0]; - - for [ - {_distance = 10}, - {(_distance <= viewdistance) && ((_detectorPos select 2) > -2) && isNull _target}, - {_distance = _distance + 10} - ] do { - _detectorPos = positionCameraToWorld [0, 0, _distance]; - _targets = _detectorPos nearEntities ["StaticWeapon", 10]; - - if (count _targets > 0) exitWith { - private["_closeDist", "_dist"]; - _closeDist = 9999; - { - private["_gun"]; - _gun = _x; - _dist = player distance _gun; - if(_dist < _closeDist) then { - _closeDist = _dist; - _target = _gun; - }; - } forEach _targets; - _target - }; - }; - _target -}; - -FUNC(collimatorHandler) = { - _gp = positionCameraToWorld [0,0,0]; - _gp set[2, getTerrainHeightASL [_gp select 0, _gp select 1]]; - _nearCollimators = (positionCameraToWorld [0,0,0]) nearEntities ["ACE_Arty_M1A1_Collimator", 20]; - _moved = false; - { - _lastPos = _x getVariable [QGVAR(colLastPos), [0,0,0]]; - if(_lastPos distance (getPosASL _x) > 0) exitWith { - _moved = true; - }; - } forEach _nearCollimators; - _proxies = (positionCameraToWorld [0,0,0]) nearEntities ["ACE_Arty_Collimator_Proxy", 20]; - if((count _proxies) != (count _nearCollimators)) then { - _moved = true; - }; - if(_moved) then { - ACE_ARTY_COLLIMATORS = []; - { - deleteVehicle _x; - } forEach _proxies; - }; - _newCollimators = _nearCollimators - ACE_ARTY_COLLIMATORS; - { - // player sideChat format["creating proxyaaaa"]; - _collimatorProxy = "ACE_Arty_Collimator_Proxy" createVehicleLocal (getPos _x); - _collimatorProxy setDir 180; - _collimatorProxy attachTo [_x, [0,0,0], "optic_proxy"]; - _x setVariable ["ace_collimator_proxy", _collimatorProxy]; - } forEach _newCollimators; - _oldCollimators = ACE_ARTY_COLLIMATORS - _nearCollimators; - { - // player sideChat format["deleting proxy"]; - _collimatorProxy = _x getVariable "ace_collimator_proxy"; - detach _collimatorProxy; - deleteVehicle _collimatorProxy; - } forEach _oldCollimators; - ACE_ARTY_COLLIMATORS = _nearCollimators; - { - _collimatorProxy = _x getVariable "ace_collimator_proxy"; - _x setVariable [QGVAR(colLastPos), (getPosASL _x)]; - _cp = _collimatorProxy modelToWorld (_collimatorProxy selectionPosition "optic"); - _cp set[2, getTerrainHeightASL [_cp select 0, _cp select 1]]; - _dis = (_gp distance _cp); - _disDif = 0.59-(_dis * 0.062); - _collimatorProxy animate["expand_ul", _disDif]; - _collimatorProxy animate["expand_ur", _disDif]; - _collimatorProxy animate["expand_ll", _disDif]; - _collimatorProxy animate["expand_lr", _disDif]; - _offset = 0; - _relDir = [_collimatorProxy, _gp] call BIS_fnc_relativeDirTo; - _relDir = (_relDir-180); - _relDir = DEG2MIL(_relDir); - _cf = -0.0011*(_dis^2) + 0.1335*_dis - 1.005; - _relDir = _relDir + (_relDir*_cf); - _collimatorProxy animate["offset", _relDir]; - _colRot = _x animationPhase "rotate_optic"; - _collimatorProxy setDir MIL2DEG(_colRot); - // player sideChat format["ds: %1", _colRot]; - // _wepVec = (vehicle player) weaponDirection ((weapons (vehicle player)) select 0); - // _wepDir = (_wepVec call CBA_fnc_vect2polar) select 1; - // _wepDir = DEG2MIL(_wepDir); - // player sideChat format["_wepDir: %1", _wepDir]; - } forEach ACE_ARTY_COLLIMATORS; -}; - -FUNC(startCollimatorHandler) = { - ACE_ARTY_COLLIMATORS = []; - ACE_ARTY_COLLIMATORS_PFH_ID = [FUNC(collimatorHandler), 0.0, []] call CBA_fnc_addPerFrameHandler; -}; - -FUNC(endCollimatorHandler) = { - { - _collimatorProxy = _x getVariable "ace_collimator_proxy"; - detach _collimatorProxy; - deleteVehicle _collimatorProxy; - } forEach ACE_ARTY_COLLIMATORS; - [ACE_ARTY_COLLIMATORS_PFH_ID] call CBA_fnc_removePerFrameHandler; - ACE_ARTY_COLLIMATORS = []; -}; - -FUNC(onAlignCollimator) = { - // player sideChat format["lol"]; - GVAR(aligningCollimator) = _this select 0; - _pos = GVAR(aligningCollimator) modelToWorld (GVAR(aligningCollimator) selectionPosition "sight_begin"); - _camera = "camera" camCreate _pos; - _camera cameraEffect ["internal", "back"]; - _camera camSetTarget (GVAR(aligningCollimator) modelToWorld (GVAR(aligningCollimator) selectionPosition "sight_end")); - _camera camSetFov 0.2; - _camera camCommit 0.1; - - - showCinemaBorder false; - GVAR(collimatorAlignHorz) = GVAR(aligningCollimator) animationPhase "rotate_optic"; - GVAR(collimatorAlignVert) = GVAR(aligningCollimator) animationPhase "elevate_optic"; - [] call FUNC(addKeys); - _func = { - _camera = (_this select 0) select 0; - if(GVAR(aligning)) then { - _pos = GVAR(aligningCollimator) modelToWorld (GVAR(aligningCollimator) selectionPosition "sight_begin"); - _camera camSetPos _pos; - _camera camSetTarget (GVAR(aligningCollimator) modelToWorld (GVAR(aligningCollimator) selectionPosition "sight_end")); - camUseNVG ace_sys_nvg_on; - _camera camSetFov 0.2; - _camera camCommit 0.1; - } else { - _camera cameraEffect ["terminate", "back"]; - cutrsc ["default", "PLAIN DOWN"]; - camDestroy _camera; - [] call FUNC(removeKeys); - [(_this select 1)] call CBA_fnc_removePerFrameHandler; - }; - }; - GVAR(aligning) = true; - [_func, 0.05, [_camera]] call CBA_fnc_addPerFrameHandler; -}; - -FUNC(addKeys) = { - GVAR(key_dn) = (findDisplay 46) displayAddEventHandler["KeyDown", '["KeyDown", _this] call FUNC(keyEvent)']; - GVAR(key_up) = (findDisplay 46) displayAddEventHandler["KeyUp", '["KeyUp", _this] call FUNC(keyEvent)']; -}; - -FUNC(removeKeys) = { - (findDisplay 46) displayRemoveEventhandler ["KeyDown", GVAR(key_dn)]; - (findDisplay 46) displayRemoveEventhandler ["KeyUp", GVAR(key_up)]; -}; - -FUNC(keyEvent) = { - _event = _this select 0; - _parameters = _this select 1; - - if (GVAR(presstime) == time) exitwith {false}; - GVAR(presstime) = time; - switch(_event) do { - case "KeyDown": { - _key = _parameters select 1; - switch(_key) do { - case 0xCD: { GVAR(collimatorAlignHorz) = GVAR(collimatorAlignHorz) + 0.25; }; - case 0xCB: { GVAR(collimatorAlignHorz) = GVAR(collimatorAlignHorz) - 0.25; }; - case 0xD0: { GVAR(collimatorAlignVert) = GVAR(collimatorAlignVert) + 0.25; }; - case 0xC8: { GVAR(collimatorAlignVert) = GVAR(collimatorAlignVert) - 0.25; }; - case 1: { GVAR(aligning) = false; }; - }; - }; - }; - if ((GVAR(aligningCollimator) animationPhase "rotate_optic") != GVAR(collimatorAlignHorz)) then { - GVAR(aligningCollimator) animate ["rotate_optic", GVAR(collimatorAlignHorz)]; - }; - if ((GVAR(aligningCollimator) animationPhase "elevate_optic") != GVAR(collimatorAlignVert)) then { - GVAR(aligningCollimator) animate ["elevate_optic", GVAR(collimatorAlignVert)]; - }; - !(GVAR(aligning)) -}; - -GVAR(placingStake) = false; - - - -/* -AIMING CIRCLE CODE -*/ - -GVAR(aimingCircleViewIndex) = 1; -GVAR(aimingCircleCurrentViews) = nil; -GVAR(aimingCircleCurrentDeflection) = 0; -GVAR(aimingCircleCurrentDeflectionFine) = 0; - -GVAR(aimingCircleCurrentElevation) = 0; -GVAR(aimingCircleCurrentElevationFine) = 0; - -GVAR(aimingCircleCurrentOrientation) = 0; - - -GVAR(aimingCircleMainViews) = [ - [["view_elevation", "gunEnd"], 0.5, 0, [], 0, [], 0], - ["gunnerview", 0.5, 0, [], 0, [], 0], - [["view_deflection", "centerpoint"], 0.45, 0, [], 0, [], 0], - [["view_needle", "view_target_reticle"], 0.44, 0, [], 0, [], 0] -]; - -// -GVAR(currentAimingCircle) = nil; -GVAR(aimingCircleCam) = nil; -GVAR(aimingCircleDisplayOpen) = false; -GVAR(aimingCircleActionIds) = []; -GVAR(aimingCircleLights) = []; -GVAR(aimingCircleLightLoopPid) = [] spawn { }; - - -FUNC(aimingCircleGetOut) = { - PARAMS_3(_circle,_pos,_unit); - - if (_unit == player) then { - { - GVAR(currentAimingCircle) removeAction _x; - } forEach GVAR(aimingCircleActionIds); - _needleUnlocked = GVAR(currentAimingCircle) getVariable[QGVAR(aimingCircleNeedleUnlocked), false]; - if(_needleUnlocked) then { - GVAR(currentAimingCircle) setVariable[QGVAR(aimingCircleNeedleUnlocked), false]; - }; - GVAR(aimingCircleActionIds) = []; - GVAR(currentAimingCircle) = nil; - }; -}; - -FUNC(aimingCircleCloseDisplay) = { - GVAR(aimingCircleCam) cameraEffect ["terminate", "back"]; - cutrsc ["default", "PLAIN DOWN"]; - camDestroy GVAR(aimingCircleCam); - GVAR(aimingCircleCam) = nil; - GVAR(currentAimingCircle) switchCamera "INTERNAL"; - GVAR(aimingCircleDisplayOpen) = false; -}; - -FUNC(aimingCircleInitDisplay) = { - GVAR(aimingCircleDisplayOpen) = true; - [GVAR(aimingCircleMainViews), GVAR(aimingCircleViewIndex)] call FUNC(aimingCircleSetView); -}; - -FUNC(aimingCircleSetView) = { - _views = _this select 0; - GVAR(aimingCircleCurrentViews) = _views; - _index = _this select 1; - _selectedView = _views select _index; - if(IS_ARRAY((_selectedView select 0))) then { - GVAR(currentAimingCircle) switchCamera "INTERNAL"; - _viewPositions = _selectedView select 0; - _snap = false; - _camPos = (GVAR(currentAimingCircle) modelToWorld (GVAR(currentAimingCircle) selectionPosition (_viewPositions select 0))); - _targetPos = (GVAR(currentAimingCircle) modelToWorld (GVAR(currentAimingCircle) selectionPosition (_viewPositions select 1))); - if (isNil QGVAR(aimingCircleCam)) then { - GVAR(aimingCircleCam) = "camera" camCreate _camPos; - _snap = true; - showCinemaBorder false; - }; - preloadCamera _targetPos; - 5 preloadObject GVAR(currentAimingCircle); - GVAR(aimingCircleCam) camPreload 5; - GVAR(aimingCircleCam) camSetPos _camPos; - GVAR(aimingCircleCam) cameraEffect ["internal", "back"]; - GVAR(aimingCircleCam) camSetTarget _targetPos; - GVAR(aimingCircleCam) camSetFov (_selectedView select 1); - if(_snap) then { - GVAR(aimingCircleCam) camCommit 0; - } else { - GVAR(aimingCircleCam) camCommit (_selectedView select 2); - }; - } else { - GVAR(aimingCircleCam) cameraEffect ["terminate", "back"]; - cutrsc ["default", "PLAIN DOWN"]; - camDestroy GVAR(aimingCircleCam); - GVAR(aimingCircleCam) = nil; - if((_selectedView select 0) == "gunnerview") then { - GVAR(currentAimingCircle) switchCamera "GUNNER"; - }; - }; -}; - -FUNC(aimingCircleHandleAdjustKey) = { - _key = _this select 1; - _shift = _this select 2; - _ctrl = _this select 3; - _orient = false; - if(GVAR(currentAimingCircle) animationPhase "right_cover" == 1) then { - _orient = true; - }; - - if(_key == 205 || {_key == 203}) then { - if(!_shift) then { - _amount = 1; - if(_ctrl) then { - _amount = 0.25; - }; - if(_key == 203) then { - _amount = _amount*-1; - }; - if(_orient) then { - GVAR(aimingCircleCurrentOrientation) = GVAR(aimingCircleCurrentOrientation) + _amount; - GVAR(currentAimingCircle) animate ["MainTurret", GVAR(aimingCircleCurrentOrientation)]; - GVAR(currentAimingCircle) animate ["orienting_knobs", GVAR(aimingCircleCurrentOrientation)]; - } else { - GVAR(aimingCircleCurrentDeflectionFine) = GVAR(aimingCircleCurrentDeflectionFine) + _amount; - GVAR(aimingCircleCurrentDeflection) = GVAR(aimingCircleCurrentDeflection) + _amount; - GVAR(currentAimingCircle) animate ["upper_motion", GVAR(aimingCircleCurrentDeflection)]; - GVAR(currentAimingCircle) animate ["deflection_knob", GVAR(aimingCircleCurrentDeflectionFine)]; - }; - } else { - _amount = 100; - if(_key == 203) then { - _amount = _amount*-1; - }; - if(_orient) then { - _currentPhase = GVAR(currentAimingCircle) animationPhase "MainTurret"; - if(_currentPhase == GVAR(aimingCircleCurrentOrientation)) then { - GVAR(aimingCircleCurrentOrientation) = GVAR(aimingCircleCurrentOrientation) + _amount; - GVAR(currentAimingCircle) animate ["MainTurret", GVAR(aimingCircleCurrentOrientation)]; - GVAR(currentAimingCircle) animate ["orienting_knobs", GVAR(aimingCircleCurrentOrientation)]; - }; - } else { - _currentPhase = GVAR(currentAimingCircle) animationPhase "upper_motion"; - if(_currentPhase == GVAR(aimingCircleCurrentDeflection)) then { - GVAR(aimingCircleCurrentDeflection) = GVAR(aimingCircleCurrentDeflection) + _amount; - GVAR(currentAimingCircle) animate ["upper_motion", GVAR(aimingCircleCurrentDeflection)]; - GVAR(currentAimingCircle) animate ["deflection_knob_coarse", (GVAR(currentAimingCircle) animationPhase "deflection_knob_coarse")+(_amount/100)]; - }; - }; - }; - }; -}; - -FUNC(aimingCircleHandleKey) = { - _key = _this select 1; - _move = false; - if(_key in [203, 205, 200, 208]) then { - _this call FUNC(aimingCircleHandleAdjustKey); - } else { - if(_key in (actionKeys "MoveForward")) then { - GVAR(aimingCircleViewIndex) = (GVAR(aimingCircleViewIndex) - 1) max 0; - _move = true; - }; - if(_key in (actionKeys "MoveBack")) then { - GVAR(aimingCircleViewIndex) = (GVAR(aimingCircleViewIndex) + 1) min ((count GVAR(aimingCircleCurrentViews))-1); - _move = true; - }; - if(_move) then { - [GVAR(aimingCircleMainViews), GVAR(aimingCircleViewIndex)] call FUNC(aimingCircleSetView); - }; - }; -}; - -FUNC(aimingCircleMonitor) = { - if(player in GVAR(currentAimingCircle)) then { - if(cameraView == "GUNNER") then { - if(!GVAR(aimingCircleDisplayOpen)) then { - createDialog "ace_sys_aimingpoints_aimingCircleDisplay"; - }; - }; - if(GVAR(aimingCircleDisplayOpen)) then { - [GVAR(aimingCircleMainViews), GVAR(aimingCircleViewIndex)] call FUNC(aimingCircleSetView); - }; - _needleUnlocked = GVAR(currentAimingCircle) getVariable[QGVAR(aimingCircleNeedleUnlocked), false]; - if(_needleUnlocked) then { - _currentAzi = GVAR(currentAimingCircle) getVariable[QGVAR(aimingCircleCurrentAzi), 0]; - _currentDir = (getDir GVAR(currentAimingCircle)); - if(_currentDir != _currentAzi) then { - GVAR(currentAimingCircle) setVariable[QGVAR(aimingCircleCurrentAzi), _currentDir, true]; - GVAR(currentAimingCircle) animate ["compass_needle", _currentDir]; - }; - }; - } else { - [(_this select 1)] call CBA_fnc_removePerFrameHandler; - }; -}; - -FUNC(aimingCircleHandleLight) = { - _ac = _this select 0; - _state = _this select 1; - if(_state) then { - _light = "#lightPoint" createVehicleLocal [0,0,0]; - _light lightAttachObject [_ac, [0,0,2]]; - _light setLightBrightness 0.005; - _light setLightAmbient[1, 0.5, 0.5]; - _light setLightColor[1, 0.5, 0.5]; - GVAR(aimingCircleLights) set[(count GVAR(aimingCircleLights)), [_ac, _light]]; - _ac setVariable [QGVAR(aimingCircleLightPoint), _light]; - if(scriptDone GVAR(aimingCircleLightLoopPid)) then { - GVAR(aimingCircleLightLoopPid) = [] spawn FUNC(aimingCircleLightLoop); - }; - } else { - _lightObj = _ac getVariable QGVAR(aimingCircleLightPoint); - _ac setVariable [QGVAR(aimingCircleLightPoint), nil]; - deleteVehicle _lightObj; - }; -}; - -FUNC(aimingCircleLightLoop) = { - while { (count GVAR(aimingCircleLights)) > 0 } do { - _tempArray = []; - { - _ac = _x select 0; - _light = _x select 1; - if(!alive _ac) then { - deleteVehicle _light; - } else { - if(alive _light) then { - _tempArray set[(count _tempArray), _x]; - }; - }; - } forEach GVAR(aimingCircleLights); - GVAR(aimingCircleLights) = _tempArray; - sleep 0.1; - }; -}; - -FUNC(aimingCircleGetIn) = { - PARAMS_3(_circle,_pos,_unit); - - if (_unit == player) then { - GVAR(currentAimingCircle) = _circle; - [FUNC(aimingCircleMonitor), 0] call CBA_fnc_addPerFrameHandler; - _actionId = GVAR(currentAimingCircle) addAction ["Uncover Orienting Knobs", QPATHTO_C(fnc_uncoverKnobs.sqf), [], -100, false, true, "", "gunner _target == player && {(_target animationPhase 'right_cover') == 0}"]; - GVAR(aimingCircleActionIds) set[(count GVAR(aimingCircleActionIds)), _actionId]; - _actionId = GVAR(currentAimingCircle) addAction ["Cover Orienting Knobs", QPATHTO_C(fnc_coverKnobs.sqf), [], -100, false, true, "", "gunner _target == player && {(_target animationPhase 'right_cover') == 1}"]; - GVAR(aimingCircleActionIds) set[(count GVAR(aimingCircleActionIds)), _actionId]; - _actionId = GVAR(currentAimingCircle) addAction ["Unlock Compass Needle", QPATHTO_C(fnc_needle.sqf), [], -100, false, true, "", format["gunner _target == player && !(_target getVariable[""%1"", false])", QGVAR(aimingCircleNeedleUnlocked)]]; - GVAR(aimingCircleActionIds) set[(count GVAR(aimingCircleActionIds)), _actionId]; - _actionId = GVAR(currentAimingCircle) addAction ["Lock Compass Needle", QPATHTO_C(fnc_needle.sqf), [], -100, false, true, "", format["gunner _target == player && (_target getVariable[""%1"", false])", QGVAR(aimingCircleNeedleUnlocked)]]; - GVAR(aimingCircleActionIds) set[(count GVAR(aimingCircleActionIds)), _actionId]; - _actionId = GVAR(currentAimingCircle) addAction ["Turn On Lamp", QPATHTO_C(fnc_lamp.sqf), [], -100, false, true, "", format["gunner _target == player && !(_target getVariable[""%1"", false])", QGVAR(aimingCircleLampOn)]]; - GVAR(aimingCircleActionIds) set[(count GVAR(aimingCircleActionIds)), _actionId]; - _actionId = GVAR(currentAimingCircle) addAction ["Turn Off Lamp", QPATHTO_C(fnc_lamp.sqf), [], -100, false, true, "", format["gunner _target == player && (_target getVariable[""%1"", false])", QGVAR(aimingCircleLampOn)]]; - GVAR(aimingCircleActionIds) set[(count GVAR(aimingCircleActionIds)), _actionId]; - }; -}; - -FUNC(aimingCircleInit) = { - _ac = _this select 0; - _ac setVectorUp [0,0,0.000001]; -}; - -ADDON = true; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/ace_arty_m2a2_aiming_circle.p3d b/TO_MERGE/ace/arty_aimingpoints/ace_arty_m2a2_aiming_circle.p3d deleted file mode 100644 index 145427616b..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/ace_arty_m2a2_aiming_circle.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/ace_arty_m2a2_aiming_circle_wep.p3d b/TO_MERGE/ace/arty_aimingpoints/ace_arty_m2a2_aiming_circle_wep.p3d deleted file mode 100644 index 6defc67eb8..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/ace_arty_m2a2_aiming_circle_wep.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/collimator_test.p3d b/TO_MERGE/ace/arty_aimingpoints/collimator_test.p3d deleted file mode 100644 index 8d33a1a6a0..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/collimator_test.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/config.cpp b/TO_MERGE/ace/arty_aimingpoints/config.cpp deleted file mode 100644 index 3c095fc073..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/config.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "script_component.hpp" -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = { - "ACE_Arty_AimingPost_M1A2_M58", - "ACE_Arty_AimingPost_M1A2_M59", - "ACE_Arty_M1A1_Collimator", - "ACE_Arty_M2A2_Aiming_Circle" - }; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"CAWeapons", "ace_sys_arty", "ace_sys_interaction", "ace_main"}; - author[] = {"Nou"}; - VERSION_CONFIG; - }; -}; - -PRELOAD_ADDONS; - -#include "CfgEventHandlers.hpp" -#include "CfgWeapons.hpp" -#include "CfgVehicles.hpp" -#include "dialogs.hpp" - - diff --git a/TO_MERGE/ace/arty_aimingpoints/data/aimingPosts_M1A2_co.paa b/TO_MERGE/ace/arty_aimingpoints/data/aimingPosts_M1A2_co.paa deleted file mode 100644 index 8286187139..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/aimingPosts_M1A2_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/c2.paa b/TO_MERGE/ace/arty_aimingpoints/data/c2.paa deleted file mode 100644 index 22e372c078..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/c2.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/c2.rvmat b/TO_MERGE/ace/arty_aimingpoints/data/c2.rvmat deleted file mode 100644 index 4b385d0562..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/data/c2.rvmat +++ /dev/null @@ -1,13 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={1,1,1,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={0,0,0,1}; -specularPower=1; -PixelShaderID="Normal"; -VertexShaderID="Basic"; -class Stage0 -{ - texture="x\ace\Addons\sys_arty_aimingpoints\data\collimator_pattern_alpha.paa"; - uvSource="tex"; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/data/collimator_pattern.paa b/TO_MERGE/ace/arty_aimingpoints/data/collimator_pattern.paa deleted file mode 100644 index fead2a387d..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/collimator_pattern.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/collimator_pattern_alpha.paa b/TO_MERGE/ace/arty_aimingpoints/data/collimator_pattern_alpha.paa deleted file mode 100644 index f3fa68a9c9..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/collimator_pattern_alpha.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/equip/collimator_item_ca.paa b/TO_MERGE/ace/arty_aimingpoints/data/equip/collimator_item_ca.paa deleted file mode 100644 index 4499418cb6..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/equip/collimator_item_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/equip/m2a2_icon_ca.paa b/TO_MERGE/ace/arty_aimingpoints/data/equip/m2a2_icon_ca.paa deleted file mode 100644 index 6c8770c304..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/equip/m2a2_icon_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/equip/m2a2_item_ca.paa b/TO_MERGE/ace/arty_aimingpoints/data/equip/m2a2_item_ca.paa deleted file mode 100644 index 9bac2bc7c6..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/equip/m2a2_item_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/equip/w_stake_ca.paa b/TO_MERGE/ace/arty_aimingpoints/data/equip/w_stake_ca.paa deleted file mode 100644 index b6586bb219..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/equip/w_stake_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_co.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_co.paa deleted file mode 100644 index ffbf425cc8..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_mat.rvmat b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_mat.rvmat deleted file mode 100644 index fd71e189d6..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_mat.rvmat +++ /dev/null @@ -1,123 +0,0 @@ -ambient[] = {1.28,1.2,1.55,1.0}; // ambient color shine -diffuse[] = {1.28,1.2,1.55,1.0}; // diffuse color shine -forcedDiffuse[] = {0.0,0.0,0.0,0.0}; // unused -emmisive[] = {0.0,0.0,0.0,1.0}; // emmisive color -specular[] = {0.375,0.375,0.375,1}; // specular color - -specularPower = 10.0; // glosiness - -PixelShaderID = "Super"; // type of pixelshader -VertexShaderID = "Super"; // type of vertexshader -/********************************* -** STAGE 1 Normal Map (NOHQ) ** -*********************************/ -class Stage1 -{ - texture = "x\ace\addons\sys_arty_aimingpoints\data\m2a2_1_nohq.paa"; // path to normal map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 2 Detail Map (DT) ** -*********************************/ -class Stage2 -{ - texture = "ca\data\destruct\metal_rough_half_dt.paa"; // path to detail map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {19.9239,-1.74311,0}; - up[] = {1.74311,19.9239,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -/********************************* -** STAGE 3 Micro Map (MC) ** -*********************************/ -class Stage3 -{ - texture = "#(argb,8,8,3)color(0,0,0,0,MC)"; // micro color - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {0.984808,-0.173648,0}; - up[] = {0.173648,0.984808,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -/********************************* -** STAGE 4 Ambient Shadow (AS) ** -*********************************/ -class Stage4 -{ - texture = "#(argb,8,8,3)color(1,1,1,1,AS)"; // path to as map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 5 Specular (SMDI) ** -*********************************/ -class Stage5 -{ - texture = "x\ace\addons\sys_arty_aimingpoints\data\m2a2_1_smdi.paa"; // path to smdi map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 6 Fresnel reflection ** -*********************************/ -class Stage6 -{ - texture = "#(ai,16,2,2)fresnel(1.4,1.16)"; // fresnel reflection terms #(ai, size,size, tile)fresnel(term 1, term 2) - uvSource = "none"; -}; -/********************************* -** STAGE 7 Reflection map ** -*********************************/ -class Stage7 -{ - texture = "ca\data\env_land_co.paa"; // path to reflection map - uvSource = "none"; // source of uv mapping -}; -/********************************* -** STAGE 7 Thermal ** -*********************************/ -class StageTI -{ - texture = ""; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_nohq.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_nohq.paa deleted file mode 100644 index ed214b9f65..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_smdi.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_smdi.paa deleted file mode 100644 index 9996478690..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_1_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_co.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_co.paa deleted file mode 100644 index addc6a96fb..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_mat.rvmat b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_mat.rvmat deleted file mode 100644 index 33c87aa03e..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_mat.rvmat +++ /dev/null @@ -1,124 +0,0 @@ -ambient[] = {1.28,1.2,1.55,1.0}; // ambient color shine -diffuse[] = {1.28,1.2,1.55,1.0}; // diffuse color shine -forcedDiffuse[] = {0.0,0.0,0.0,0.0}; // unused -emmisive[] = {0.0,0.0,0.0,1.0}; // emmisive color -specular[] = {0.375,0.375,0.375,1}; // specular color - -specularPower = 10.0; // glosiness - -PixelShaderID = "Super"; // type of pixelshader -VertexShaderID = "Super"; // type of vertexshader -/********************************* -** STAGE 1 Normal Map (NOHQ) ** -*********************************/ -class Stage1 -{ - texture = "x\ace\addons\sys_arty_aimingpoints\data\m2a2_2_nohq.paa"; // path to normal map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 2 Detail Map (DT) ** -*********************************/ -class Stage2 -{ - texture = "ca\data\destruct\metal_rough_half_dt.paa"; // path to detail map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {19.9239,-1.74311,0}; - up[] = {1.74311,19.9239,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -/********************************* -** STAGE 3 Micro Map (MC) ** -*********************************/ -class Stage3 -{ - texture = "#(argb,8,8,3)color(0,0,0,0,MC)"; // micro color - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {0.984808,-0.173648,0}; - up[] = {0.173648,0.984808,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -/********************************* -** STAGE 4 Ambient Shadow (AS) ** -*********************************/ -class Stage4 -{ - texture = "#(argb,8,8,3)color(1,1,1,1,AS)"; // path to as map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 5 Specular (SMDI) ** -*********************************/ -class Stage5 -{ - texture = "x\ace\addons\sys_arty_aimingpoints\data\m2a2_2_smdi.paa"; // path to smdi map - //texture = "#(argb,8,8,3)color(1,1,1,1,SMDI)"; - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 6 Fresnel reflection ** -*********************************/ -class Stage6 -{ - texture = "#(ai,16,2,2)fresnel(1.4,1.16)"; // fresnel reflection terms #(ai, size,size, tile)fresnel(term 1, term 2) - uvSource = "none"; -}; -/********************************* -** STAGE 7 Reflection map ** -*********************************/ -class Stage7 -{ - texture = "ca\data\env_land_co.paa"; // path to reflection map - uvSource = "none"; // source of uv mapping -}; -/********************************* -** STAGE 7 Thermal ** -*********************************/ -class StageTI -{ - texture = ""; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_nohq.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_nohq.paa deleted file mode 100644 index 79f16cac50..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_smdi.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_smdi.paa deleted file mode 100644 index eb00d4af65..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_2_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_co.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_co.paa deleted file mode 100644 index 6deeca95e2..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_mat.rvmat b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_mat.rvmat deleted file mode 100644 index 98e9d30943..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_mat.rvmat +++ /dev/null @@ -1,124 +0,0 @@ -ambient[] = {1.28,1.2,1.55,1.0}; // ambient color shine -diffuse[] = {1.28,1.2,1.55,1.0}; // diffuse color shine -forcedDiffuse[] = {0.0,0.0,0.0,0.0}; // unused -emmisive[] = {0.0,0.0,0.0,1.0}; // emmisive color -specular[] = {0.375,0.375,0.375,1}; // specular color - -specularPower = 10.0; // glosiness - -PixelShaderID = "Super"; // type of pixelshader -VertexShaderID = "Super"; // type of vertexshader - -/********************************* -** STAGE 1 Normal Map (NOHQ) ** -*********************************/ -class Stage1 -{ - texture = "x\ace\addons\sys_arty_aimingpoints\data\m2a2_3_nohq.paa"; // path to normal map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 2 Detail Map (DT) ** -*********************************/ -class Stage2 -{ - texture = "ca\data\destruct\metal_rough_half_dt.paa"; // path to detail map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {19.9239,-1.74311,0}; - up[] = {1.74311,19.9239,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -/********************************* -** STAGE 3 Micro Map (MC) ** -*********************************/ -class Stage3 -{ - texture = "#(argb,8,8,3)color(0,0,0,0,MC)"; // micro color - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {0.984808,-0.173648,0}; - up[] = {0.173648,0.984808,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -/********************************* -** STAGE 4 Ambient Shadow (AS) ** -*********************************/ -class Stage4 -{ - texture = "#(argb,8,8,3)color(1,1,1,1,AS)"; // path to as map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 5 Specular (SMDI) ** -*********************************/ -class Stage5 -{ - texture = "x\ace\addons\sys_arty_aimingpoints\data\m2a2_3_smdi.paa"; // path to smdi map - uvSource = "tex"; // source of uv mapping - /***************************** - ** UV Distorsion ** - *****************************/ - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -/********************************* -** STAGE 6 Fresnel reflection ** -*********************************/ -class Stage6 -{ - texture = "#(ai,16,2,2)fresnel(1.4,1.16)"; // fresnel reflection terms #(ai, size,size, tile)fresnel(term 1, term 2) - uvSource = "none"; -}; -/********************************* -** STAGE 7 Reflection map ** -*********************************/ -class Stage7 -{ - texture = "ca\data\env_land_co.paa"; // path to reflection map - uvSource = "none"; // source of uv mapping -}; -/********************************* -** STAGE 7 Thermal ** -*********************************/ -class StageTI -{ - texture = ""; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_nohq.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_nohq.paa deleted file mode 100644 index 0ed99ffe46..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_smdi.paa b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_smdi.paa deleted file mode 100644 index 3cf7050d1a..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_3_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_reflector_mat.rvmat b/TO_MERGE/ace/arty_aimingpoints/data/m2a2_reflector_mat.rvmat deleted file mode 100644 index ffb2bb54aa..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/data/m2a2_reflector_mat.rvmat +++ /dev/null @@ -1,75 +0,0 @@ -class StageTI -{ - texture=""; -}; -ambient[]={1.28,1.2,1.55,1}; -diffuse[]={1.28,1.2,1.55,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={0.99999928,0.99999994,0.99999988,1}; -specularPower=100; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="x\ace\addons\sys_arty_aimingpoints\data\m2a2_1_nohq.tga"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="ca\data\destruct\metal_rough_half_dt.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="#(argb,8,8,3)color(0,1,1,1,SMDI)"; - uvSource="none"; -}; -class Stage6 -{ - texture="#(ai,16,2,2)fresnel(1.4,1.16)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_co.paa"; - uvSource="none"; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator.rvmat b/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator.rvmat deleted file mode 100644 index 7ee38ccacf..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator.rvmat +++ /dev/null @@ -1,78 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={1,1,1,1}; -forcedDiffuse[]={0,0,0,1}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=301.79999; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="x\ace\Addons\sys_arty_aimingpoints\data\sa_collimator_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="ca\data\destruct\metal_rough_half_dt.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={10,0,0}; - up[]={0,5,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\Addons\sys_arty_aimingpoints\data\sa_collimator_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,64,64,1)fresnel(4.74,1.16)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_co.paa"; - uvSource="none"; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_co.paa b/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_co.paa deleted file mode 100644 index df857c4d2b..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_nohq.paa b/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_nohq.paa deleted file mode 100644 index f666114d4f..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_smdi.paa b/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_smdi.paa deleted file mode 100644 index d159e240d4..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/data/sa_collimator_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/dialogs.hpp b/TO_MERGE/ace/arty_aimingpoints/dialogs.hpp deleted file mode 100644 index 99dcd6f38f..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/dialogs.hpp +++ /dev/null @@ -1,120 +0,0 @@ -//dialogs.hpp - -#define __X SafeZoneX -#define __Y SafeZoneY -#define __W SafeZoneW -#define __H SafeZoneH - -#define __SX(var1) x = ((var1 * safeZoneW) + safeZoneX) -#define __SY(var1) y = ((var1 * safeZoneH) + safeZoneY) -#define __SW(var1) w = (var1 * safeZoneW) -#define __SH(var1) h = (var1 * safeZoneH) - -// Control types -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_LISTNBOX 102 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define Mainback_IDC 1104 -//MP Menu -#define Paused_Title_IDC 523 -#define CA_B_SAVE_IDC 103 -#define CA_B_Skip_IDC 1002 -#define CA_B_REVERT_IDC 119 -#define CA_B_Respawn_IDC 1010 -#define CA_B_Options_IDC 101 -#define CA_B_Abort_IDC 104 -//SP Menu -#define CA_PGTitle_IDC 523 -#define PG_Save_IDC 103 -#define PG_Skip_IDC 1002 -#define PG_Revert_IDC 119 -#define PG_Again_IDC 1003 -#define PG_Options_IDC 101 -#define PG_Abort_IDC 104 - -#define ACE_SETTINGS_IDC 113801 -#define ACE_LOGO_IDC 113805 - -#define FontM "Zeppelin32" -#define ClrWhite 1,1,1 -#define ClrBlack 0,0,0 -#define ClrGray 0.5,0.5,0.5 -#define ClrBlue 0.2,0.5,1 - - - -class ace_sys_aimingpoints_aimingCircleDisplay { - idd = 7832; - movingEnable = 0; - name = "ace_sys_aimingpoints_aimingCircleDisplay"; - onLoad = "_this call ace_sys_arty_aimingpoints_fnc_aimingCircleInitDisplay"; - onUnload = "_this call ace_sys_arty_aimingpoints_fnc_aimingCircleCloseDisplay"; - onKeyDown = "_this call ace_sys_arty_aimingpoints_fnc_aimingCircleHandleKey"; - class controlsBackground { - }; - class objects { - // define controls here - }; - class controls { - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_coverKnobs.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_coverKnobs.sqf deleted file mode 100644 index f648f782b1..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_coverKnobs.sqf +++ /dev/null @@ -1,4 +0,0 @@ -//fnc_coverKnobs.sqf -#include "\x\ace\addons\sys_arty_aimingpoints\script_component.hpp" -GVAR(currentAimingCircle) animate ["right_cover", 0]; -GVAR(currentAimingCircle) animate ["left_cover", 0]; diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_isKindOf.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_isKindOf.sqf deleted file mode 100644 index b57c89ad1a..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_isKindOf.sqf +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" - -private["_ret", "_parent"]; - -PARAMS_3(_mag,_type,_superClass); - -_ret = false; - -_parent = configName (inheritsFrom ( configFile >> _superClass >> _mag)); -while { _parent != "" } do { - if (_parent == _type) exitWith { - _ret = true; - }; - _parent = configName (inheritsFrom ( configFile >> _superClass >> _parent)); -}; - -_ret \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_lamp.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_lamp.sqf deleted file mode 100644 index c89250bc34..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_lamp.sqf +++ /dev/null @@ -1,5 +0,0 @@ -//fnc_lamp.sqf -#include "\x\ace\addons\sys_arty_aimingpoints\script_component.hpp" -_currentState = GVAR(currentAimingCircle) getVariable [QGVAR(aimingCircleLampOn), false]; -GVAR(currentAimingCircle) setVariable [QGVAR(aimingCircleLampOn), !_currentState, true]; -[QGVAR(aimingCircleLightEvent), [GVAR(currentAimingCircle), !_currentState]] call CBA_fnc_globalEvent; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_menuDef_stake.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_menuDef_stake.sqf deleted file mode 100644 index 9efe14dd17..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_menuDef_stake.sqf +++ /dev/null @@ -1,110 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -TRACE_1("enter", _this); - -private ["_menuDef", "_target", "_params", "_menuName", "_menuRsc", "_menus", "_goodStake", "_obj", "_objList"]; -PARAMS_2(_target,_params); - -_menuDef = []; -_menuName = ""; -_menuRsc = "popup"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; -//----------------------------------------------------------------------------- - -if (GVAR(placingStake)) exitWith { - TRACE_1("EXITINGGGG", GVAR(placingStake)); - _menuDef -}; - -_goodStake = false; -_isCollimator = false; -_isAimingCircle = false; -GVAR(pickupStakeObject) = nil; -_obj = nil; -if(_target isKindOf "ACE_Arty_AimingStakes" || {_target isKindOf "ACE_Arty_M2A2_Aiming_Circle"}) then { - _obj = _target; - _goodStake = true; - if (typeOf _obj == "ACE_Arty_M1A1_Collimator") then { - _isCollimator = true; - }; - if(typeOf _obj == "ACE_Arty_M2A2_Aiming_Circle") then { - _isAimingCircle = true; - }; -} else { - _objList = (getPos player) nearObjects["ACE_Arty_AimingStakes", 1.5]; - - - if (count _objList > 0) then { - { - private["_stake", "_rPos"]; - _stake = _x; - - _rPos = player worldToModel (getPos _stake); - TRACE_2("checking", _stake, _rPos); - if (_rPos select 1 > 0) exitWith { - TRACE_1("done!", _stake); - _obj = _stake; - _goodStake = true; - if (typeOf _stake == "ACE_Arty_M1A1_Collimator") then { - _isCollimator = true; - }; - }; - } forEach _objList; - }; -}; - -if (!_goodStake) exitWith { - TRACE_1("EXITINGGGG BAD STAKE", _menuDef,GVAR(placingStake)); - _menuDef -}; - -GVAR(pickupStakeObject) = _obj; -TRACE_1("doing menu"); -_menus = -[ - [ - ["main", "", _menuRsc], - [ - [localize "STR_ACE_ARTY_ALLIGN_COLLIMATOR", - { [GVAR(pickupStakeObject)] call FUNC(onAlignCollimator) }, - "", "", "", -1, - 1, (_goodStake && {_isCollimator})], - // Moved to sys_cargo\fnc_carry! - [localize "STR_ACE_ARTY_PICKUP_STAKE", - { [GVAR(pickupStakeObject)] call FUNC(onPickupStake) }, - "", "", "", -1, - 1, (_goodStake)], - [localize "STR_ACE_ARTY_RAISE_STAKE", - { [GVAR(pickupStakeObject), 0.25] call FUNC(onModifyStake) }, - "", "", "", -1, - 1, (_goodStake && {!_isCollimator} && {!_isAimingCircle})], - [localize "STR_ACE_ARTY_LOWER_STAKE", - { [GVAR(pickupStakeObject), -0.25] call FUNC(onModifyStake) }, - "", "", "", -1, - 1, (_goodStake && {!_isCollimator} && {!_isAimingCircle})] - ] - ] -]; -//----------------------------------------------------------------------------- - -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this}else{""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _this, __FILE__]; -}; - -TRACE_1("",_menuDef); -if(isNil "_menuDef") then {_menuDef = [] }; -_menuDef // return value diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_menuDef_stake_self.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_menuDef_stake_self.sqf deleted file mode 100644 index 913f45dd78..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_menuDef_stake_self.sqf +++ /dev/null @@ -1,64 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -TRACE_1("enter", _this); - -private ["_menuDef", "_target", "_params", "_menuName", "_menuRsc", "_menus", "_playerHasStake", "_wepArray"]; -private []; -// _this==[_target, _menuNameOrParams] -_target = _this select 0; -_params = _this select 1; - -_menuDef = []; -_menuName = ""; -_menuRsc = "popup"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; -//----------------------------------------------------------------------------- - -if (GVAR(placingStake)) exitWith { _menuDef }; - -_playerHasStake = false; -GVAR(selfInteractStake) = nil; -{ - private["_wep"]; - _wep = _x; - if ([_wep, "ACE_BaseAimingPost", "CfgWeapons"] call FUNC(isKindOf)) exitWith { - GVAR(selfInteractStake) = _wep; - _playerHasStake = true; - }; -} forEach (weapons player); - -_playerInVehicle = (vehicle player != player); - -_menus = -[ - [ - ["main", localize "STR_ACE_MENU_EQUIPPLAYER", _menuRsc], - [ - [localize "STR_ACE_ARTY_PLACE_STAKE", - { [GVAR(selfInteractStake)] call FUNC(onPlaceStake) }, - "", "", "", -1, - 1, !_playerInVehicle && {_playerHasStake}] - ] - ] -]; -//----------------------------------------------------------------------------- - -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this}else{""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _this, __FILE__]; -}; - -_menuDef // return value diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_needle.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_needle.sqf deleted file mode 100644 index 159991ed79..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_needle.sqf +++ /dev/null @@ -1,4 +0,0 @@ -//fnc_needle.sqf -#include "\x\ace\addons\sys_arty_aimingpoints\script_component.hpp" -_needleUnlocked = GVAR(currentAimingCircle) getVariable[QGVAR(aimingCircleNeedleUnlocked), false]; -GVAR(currentAimingCircle) setVariable[QGVAR(aimingCircleNeedleUnlocked), !_needleUnlocked]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_onFineMoveStake.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_onFineMoveStake.sqf deleted file mode 100644 index dc30361926..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_onFineMoveStake.sqf +++ /dev/null @@ -1,2 +0,0 @@ -#include "script_component.hpp" - diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_onModifyStake.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_onModifyStake.sqf deleted file mode 100644 index 3f389569ca..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_onModifyStake.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private["_pos", "_atl"]; - -PARAMS_2(_stake,_action); - -_atl = getPosATL _stake; -if ((_atl select 2) <= -1.75 && {_action < 0}) exitWith { }; -if ((_atl select 2) >= 0 && {_action > 0}) exitWith { }; - -_pos = getPos _stake; -_pos set[2, (_pos select 2) + _action]; - -_stake setPos _pos; -{ - _x reveal _obj; -} forEach playableUnits; diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_onPickupStake.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_onPickupStake.sqf deleted file mode 100644 index 47c78bb3ec..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_onPickupStake.sqf +++ /dev/null @@ -1,13 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private["_stake", "_class"]; -//TRACE_1("", _this); - -PARAMS_1(_stake); - -_class = typeOf _stake; - -// deleteVehicle _stake; - -[_stake] call FUNC(onPlaceStake); diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStake.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStake.sqf deleted file mode 100644 index 2efe1cbfda..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStake.sqf +++ /dev/null @@ -1,97 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -#define ACE_TEXT_RED(Text) ("" + ##Text + "") -#define ACE_TEXT_SILVER(Text) ("" + ##Text + "") -#define ACE_TEXT_ORANGE(Text) ("" + ##Text + "") - -TRACE_1("enter", _this); - -GVAR(placingStake) = true; - -// begin stake placement -private["_localStake", "_pos", "_dir"]; - -PARAMS_1(_stake); -if(IS_STRING(_stake)) then { - player removeWeapon _stake; - - _localStake = _stake createVehicle [0,0,0]; -} else { - _localStake = _stake; -}; -TRACE_1("", _localStake); - -_pos = player modelToWorld [0, 1, 0]; -_dir = getDir player; -_stakeType = typeOf _localStake; -[_pos, _dir, _localStake, _stakeType] spawn { - private["_gunArray", "_confirmPlaceAction", "_cancelPlaceAction"]; - - PARAMS_4(_pos,_dir,_obj,_stakeType); - - player setVariable [QGVAR(stakePlaced), false, false]; - player setVariable [QGVAR(stakeCancel), false, false]; - player setVariable [QGVAR(registeredGun),objNull,false]; - - _confirmPlaceAction = player addAction[ACE_TEXT_SILVER(localize "STR_ACE_ARTY_PLACE_STAKE"),QPATHTO_F(fnc_onPlaceStakeConfirm),[_obj],-99,false,false,"","_target == player"]; - _cancelPlaceAction = player addAction[ACE_TEXT_RED(localize "STR_ACE_ARTY_TAKE_STAKE"),QPATHTO_F(fnc_onPlaceStakeCancel),[_obj],-100,false,false,"","_target == player"]; - _registerGunAction = player addAction[ACE_TEXT_ORANGE(localize "STR_ACE_ARTY_REGISTERGUN2STAKE"),QPATHTO_F(fnc_onRegisterGun),[],-101,false,false,"","_target == player && {cursorTarget isKindOf ""StaticWeapon""}"]; - - _obj attachTo [player, [0, 1, 0]]; - _obj setDir 0; - if (typeOf _obj == "ACE_Arty_M1A1_Collimator") then { - _obj setDir 180; - }; - _atlPos = [0,0,0]; - _aslPos = [0,0,0]; - while {!(player getVariable QGVAR(stakePlaced)) && {!(player getVariable QGVAR(stakeCancel))} && {alive player}} do{ - private["_distance", "_gun"]; - _pos = getPos _obj; - _atlPos = getPosATL _obj; - _aslPos = getPosASL _obj; - _dir = getDir player; - if (typeOf _obj == "ACE_Arty_M1A1_Collimator") then { - _dir = (_dir + 180) mod 360; - }; - // _obj setDir _dir; - // _obj setPos _pos; - // _obj setVectorUp[0,0,0.00001]; // fix incase we are on an incline - // TODO: show the "distance from gun" and "mil from gun" hints...? or a non-interrupt dialog? - //_gun = player getVariable [QGVAR(registeredGun),objNull]; - _gun = [] call FUNC(findGun); // keep working code in till you find a better fix rocko! :O - _distance = (_obj distance _gun) max 0; - _dn = if (!isNull _gun) then { getText(configFile >> "CfgVehicles" >> typeOf _gun >> "displayName") } else { "" }; - hintSilent format[localize "STR_ACE_ARTY_DISTANCE2GUN",_dn,_distance]; - sleep 0.1; - }; - detach _obj; - if ((player getVariable QGVAR(stakePlaced)) && {alive player}) then { - // deleteVehicle _obj; - - // _obj = _stakeType createVehicle _pos; - // player sideChat format["atl: %1, agl: %2", (_atlPos select 2), (_pos select 2)]; - // if(abs((_atlPos select 2)-(_pos select 2)) < 0.05) then { - // _aslPos set[2, (getTerrainHeightASL [_aslPos select 0, _aslPos select 1])]; - // }; - - _obj setPosASL _aslPos; - _obj setDir _dir; - _obj setVectorUp[0,0,0.00001]; // fix incase we are on an incline - { - (group _x) reveal _obj; - } forEach playableUnits; - (group player) reveal _obj; - - } else { - deleteVehicle _obj; - player addWeapon _stakeType; - }; - - // remove action item menus - player removeAction _confirmPlaceAction; - player removeAction _cancelPlaceAction; - player removeAction _registerGunAction; - - GVAR(placingStake) = false; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStakeCancel.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStakeCancel.sqf deleted file mode 100644 index b923847374..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStakeCancel.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -player setVariable [QGVAR(stakeCancel), true, false]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStakeConfirm.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStakeConfirm.sqf deleted file mode 100644 index d5abb78213..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_onPlaceStakeConfirm.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -player setVariable [QGVAR(stakePlaced), true, false]; diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_onRegisterGun.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_onRegisterGun.sqf deleted file mode 100644 index d706584838..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_onRegisterGun.sqf +++ /dev/null @@ -1,9 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_3(_target,_caller,_id); - -if (cursorTarget isKindOf "StaticWeapon") then { - player removeAction _id; - player setVariable [QGVAR(registeredGun),cursorTarget,false]; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/fnc_uncoverKnobs.sqf b/TO_MERGE/ace/arty_aimingpoints/fnc_uncoverKnobs.sqf deleted file mode 100644 index 95df8d279f..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/fnc_uncoverKnobs.sqf +++ /dev/null @@ -1,4 +0,0 @@ -//fnc_uncoverKnobs.sqf -#include "\x\ace\addons\sys_arty_aimingpoints\script_component.hpp" -GVAR(currentAimingCircle) animate ["right_cover", 1]; -GVAR(currentAimingCircle) animate ["left_cover", 1]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/license.txt b/TO_MERGE/ace/arty_aimingpoints/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/arty_aimingpoints/model.cfg b/TO_MERGE/ace/arty_aimingpoints/model.cfg deleted file mode 100644 index dff2e213fd..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/model.cfg +++ /dev/null @@ -1,320 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - class ACE_ARTY_AimingStakes_Skeleton: Default { - skeletonInherit = "Default"; - }; - class collimator_test_skeleton: Default { - skeletonInherit = "Default"; - skeletonBones[] = { - "stand","", - "Optics","stand", - "pattern","Optics", - "ll","pattern", - "lr","pattern", - "ur","pattern", - "ul","pattern" - - }; - }; - - class sa_collimator_skeleton: Default { - skeletonInherit = "Default"; - skeletonBones[] = { - "body","", - "optic_rotate_body","body", - "optic","optic_rotate_body" - }; - }; - - class ace_arty_m2a2_aiming_circle_skeleton: Default { - skeletonInherit = "Default"; - skeletonBones[] = { - "base","", - "OrientKnobLeft","base", - "OrientKnobRight","base", - "KnobCapLeft","base", - "KnobCapRight","base", - "LowerMotion","base", - "needle","base", - "UpperMotion","LowerMotion", - "MaskBox","LowerMotion", - "eye","UpperMotion", - "DeflectionKnob","UpperMotion", - "DeflectionKnobCoarse","DeflectionKnob", - "ElevationKnob","UpperMotion", - "ElevationKnobCoarse","ElevationKnob", - "ElevationOptic","UpperMotion" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - }; - class ACE_ARTY_AimingStakes: Default { - sectionsInherit = "Default"; - sections[] = {"all","stake","lamps","lamp_0","lamp_1","lightpoint_0","lightpoint_1"}; - skeletonName = "ACE_ARTY_AimingStakes_Skeleton"; - class Animations {}; - }; - class ACE_ARTY_AimingStakesW: ACE_ARTY_AimingStakes {}; - - class ace_arty_m2a2_aiming_circle: Default { - sectionsInherit = "Default"; - sections[] = {}; - skeletonName = "ace_arty_m2a2_aiming_circle_skeleton"; - class Animations { - class MainGun { - type="rotation"; - selection="ElevationOptic"; - sourceAddress = "clamp"; - source="user"; - axis="optic_elevation_axis"; - animPeriod=0.01; - initPhase=0; - maxValue="800"; - minValue="-400"; - angle1="rad -45"; - angle0="rad 22.5"; - }; - class MainTurret { - type="rotation"; - source="user"; - selection="LowerMotion"; - sourceAddress = "loop"; - axis="motion_rotation_axis"; - animPeriod=0.005; - minValue="-6400"; - maxValue="6400"; - angle0="rad -360"; - angle1="rad +360"; - }; - class upper_motion { - type="rotation"; - source="user"; - selection="UpperMotion"; - sourceAddress = "loop"; - axis="motion_rotation_axis"; - animPeriod=0.01; - initPhase=0; - minValue="-6400"; - maxValue="6400"; - angle0="rad -360"; - angle1="rad +360"; - }; - class deflection_knob { - type="rotation"; - source="user"; - selection="DeflectionKnob"; - sourceAddress = "loop"; - axis="deflection_rotation_axis"; - animPeriod=0.01; - minValue="-100"; - maxValue="100"; - angle0="rad -360"; - angle1="rad +360"; - }; - class deflection_knob_coarse { - type="rotation"; - source="user"; - selection="DeflectionKnobCoarse"; - sourceAddress = "loop"; - axis="deflection_rotation_axis"; - animPeriod=0.01; - minValue="-64"; - maxValue="64"; - angle0="rad -720"; - angle1="rad +720"; - }; - class elevation_knob { - type="rotation"; - source="user"; - selection="ElevationKnob"; - sourceAddress = "loop"; - axis="elevation_rotation_axis"; - animPeriod=0.01; - minValue="-100"; - maxValue="100"; - angle1="rad -360"; - angle0="rad +360"; - }; - class elevation_knob_coarse { - type="rotation"; - source="user"; - selection="ElevationKnobCoarse"; - sourceAddress = "loop"; - axis="elevation_rotation_axis"; - animPeriod=0.01; - minValue="-4"; - maxValue="8"; - angle1="rad -360"; - angle0="rad +360"; - }; - class orienting_knobs { - type="rotation"; - source="user"; - selection="OrientingKnobs"; - sourceAddress = "loop"; - axis="orienting_knob_axis"; - animPeriod=0.01; - minValue="-6400"; - maxValue="6400"; - angle0="rad -360"; - angle1="rad +360"; - }; - class left_cover { - type="rotation"; - source="user"; - selection="KnobCapLeft"; - sourceAddress = "clamp"; - axis="cover_left_rotation_axis"; - animPeriod=1; - minValue="0"; - maxValue="1"; - angle0="rad 0"; - angle1="rad +45"; - }; - class right_cover { - type="rotation"; - source="user"; - selection="KnobCapRight"; - sourceAddress = "clamp"; - axis="cover_right_rotation_axis"; - animPeriod=1; - minValue="0"; - maxValue="1"; - angle0="rad 0"; - angle1="rad -45"; - }; - class compass_needle - { - type="rotation"; - source="user"; - animPeriod = 0;//Unknown - sourceAddress = "loop"; - selection="needle"; - axis="motion_rotation_axis"; - minValue="-360"; - maxValue="360"; - angle0="rad +360"; - angle1="rad -360"; - }; - }; - }; - - class sa_collimator: Default { - sectionsInherit = "Default"; - sections[] = {"backlight_reflector"}; - skeletonName = "sa_collimator_skeleton"; - class Animations { - class elevate_optic { - type="rotation"; - selection="optic"; - sourceAddress = "clamp"; - source="user"; - axis="optic_axis"; - animPeriod=0; - initPhase=0; - minValue="-300"; - maxValue="300"; - angle0="rad 16.875"; - angle1="rad -16.875"; - }; - class rotate_optic { - type="rotation"; - source="user"; - selection="optic_rotate_body"; - sourceAddress = "loop"; - axis="optic_rotate_axis"; - memory = true; - animPeriod=0; - minValue="-6400"; - maxValue="6400"; - angle0="rad -360"; - angle1="rad +360"; - }; - }; - }; - - class collimator_test: Default { - sectionsInherit = "Default"; - sections[] = {"ll","ul","lr","ur","stand","Optics","pattern"}; - skeletonName = "collimator_test_skeleton"; - class Animations { - class expand_ul { - type="translation"; - source="user"; - selection="ul"; - sourceAddress = "clamp"; - axis="ul_axis"; - memory = true; - animPeriod=0.0001; - minValue="-1"; - maxValue="1"; - offset0="-1"; - offset1="1"; - }; - class expand_lr { - type="translation"; - source="user"; - selection="lr"; - sourceAddress = "clamp"; - axis="lr_axis"; - memory = true; - animPeriod=0.0001; - minValue="-1"; - maxValue="1"; - offset0="-1"; - offset1="1"; - }; - class expand_ur { - type="translation"; - source="user"; - selection="ur"; - sourceAddress = "clamp"; - axis="ur_axis"; - memory = true; - animPeriod=0.0001; - minValue="-1"; - maxValue="1"; - offset0="-1"; - offset1="1"; - }; - class expand_ll { - type="translation"; - source="user"; - selection="ll"; - sourceAddress = "clamp"; - axis="ll_axis"; - memory = true; - animPeriod=0.0001; - minValue="-1"; - maxValue="1"; - offset0="-1"; - offset1="1"; - }; - - class offset { - type="translation"; - source="user"; - selection="pattern"; - sourceAddress = "clamp"; - axis="offset_axis"; - memory = true; - animPeriod=0.0001; - minValue="-100"; - maxValue="100"; - offset0="-0.23377"; - offset1="0.23377"; - }; - - - }; - }; -}; diff --git a/TO_MERGE/ace/arty_aimingpoints/sa_collimator.p3d b/TO_MERGE/ace/arty_aimingpoints/sa_collimator.p3d deleted file mode 100644 index fe84040933..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/sa_collimator.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/sa_collimator_wep.p3d b/TO_MERGE/ace/arty_aimingpoints/sa_collimator_wep.p3d deleted file mode 100644 index ec211657a3..0000000000 Binary files a/TO_MERGE/ace/arty_aimingpoints/sa_collimator_wep.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_aimingpoints/script_component.hpp b/TO_MERGE/ace/arty_aimingpoints/script_component.hpp deleted file mode 100644 index 0b333bfb26..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/script_component.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#define COMPONENT sys_arty_aimingpoints -#include "\x\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_ARTY_AIMINGPOINTS - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_ARTY_AIMINGPOINTS - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_ARTY_AIMINGPOINTS -#endif - -#include "\x\ace\addons\main\script_macros.hpp" -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC \ No newline at end of file diff --git a/TO_MERGE/ace/arty_aimingpoints/stringtable.xml b/TO_MERGE/ace/arty_aimingpoints/stringtable.xml deleted file mode 100644 index 5f40ea29d0..0000000000 --- a/TO_MERGE/ace/arty_aimingpoints/stringtable.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - - - -Richtlatte ausrichten -Align Stake -Align Stake to %1 -Zarovnat Tyč -Align Stake -Dopasuj słup celowniczy -Align Stake -Выровнять Стойку -Align Stake - - -Richtlatte hoch -Raise Stake -Raise Stake -Zvýšit výšku tyče -Raise Stake -Podnieś słup celowniczy -Raise Stake -Поднять Стойку -Raise Stake - - -Richtlatte runter -Lower Stake -Lower Stake -Snižít výšku tyče -Lower Stake -Opuść słup celowniczy -Lower Stake -Опустить Стойку -Lower Stake - - -Richtlatte aufnehmen -Pickup Aiming Point -Pickup Aiming Point -Sebrat zaměřovací tyč -Pickup Aiming Point -Zabierz słup celowniczy -Pickup Aiming Point -Взять Стойку -Pickup Aiming Point - - -Richtlatte platzieren -Place Aiming Point -Place Aiming Point -Umístit zaměřovací tyč -Place Aiming Point -Ustaw słup celowniczy -Place Aiming Point -Установить прицельную стойку -Place Aiming Point - - -Richtlatte einpacken -Pack Aiming Point -Pack Aiming Point -Sbalit zaměřovací tyč -Pack Aiming Point -Spakuj słup celowniczy -Pack Aiming Point -Упаковать прицельную стойку -Pack Aiming Point - - -Kollimator ausrichten -Align Collimator -Align Collimator -Zarovnat kolimátor -Align Collimator -Dopasuj kolimator -Align Collimator -Выровнять коллиматор -Align Collimator - - -Kollimator einstellen -Adjust Collimator -Adjust Collimator -Nastavit kolimátor -Adjust Collimator -Wyreguluj kolimator -Adjust Collimator -Отрегулировать коллиматор -Adjust Collimator - - -Abstand zu %1: %2 m -Distance to %1: %2 m -Distance to %1: %2 m -Vzdálenost k %1: %2 m -Distance to %1: %2 m -Odległość do %1: %2 m -Distance to %1: %2 m -Дистанция до %1: %2 m -Distance to %1: %2 m - - - - - -Richtlatte (M58) -M1A2 M58 Aiming Post -M1A2 M58 Aiming Post -M1A2 M58 zaměřovací tyč -M1A2 M58 Aiming Post -Słup celowniczy M1A2 M58 -M1A2 M58 Aiming Post -Прицельная стойка M1A2 M58 -M1A2 M58 Aiming Post - - -Richtlatte (M59) -M1A2 M59 Aiming Post -M1A2 M59 Aiming Post -M1A2 M59 zaměřovací tyč -M1A2 M59 Aiming Post -Słup celowniczy M1A2 M59 -M1A2 M59 Aiming Post -Прицельная стойка M1A2 M59 -M1A2 M59 Aiming Post - - - - - -Farbe: grün -Aiming Post, M1A2 with M58, green -Aiming Post, M1A2 with M58, green -Zaměřovací tyč, M1A2 s M58, zelená -Aiming Post, M1A2 with M58, green -Słup celowniczy M1A2 M59 (zielony) -Aiming Post, M1A2 with M58, green -Прицельная стойка, M1A2 с M58, зелёная -Aiming Post, M1A2 with M58, green - - -Farbe: orange -Aiming Post, M1A2 with M59, orange -Aiming Post, M1A2 with M59, orange -Zaměřovací tyč, M1A2 s M59, oranžová -Aiming Post, M1A2 with M59, orange -Słup celowniczy M1A2 M59 (pomarańczowy) -Aiming Post, M1A2 with M59, orange -Прицельная стойка, M1A2 с M59, оранжевая -Aiming Post, M1A2 with M59, orange - - -Kollimator (M1A1) -Collimator, M1A1 -Collimator, M1A1 -Kolimátor, M1A1 -Collimator, M1A1 -Kolimator M1A1 -Collimator, M1A1 -Коллиматор, M1A1 -Collimator, M1A1 - - -Aiming Circle, M2A2 -Aiming Circle, M2A2 -Aiming Circle, M2A2 -Aiming Circle, M2A2 -Aiming Circle, M2A2 -Okrąg celowniczy M2A2 -Aiming Circle, M2A2 -Буссоль, M2A2 -Aiming Circle, M2A2 - - - - diff --git a/TO_MERGE/ace/arty_ammunition/$PBOPREFIX$ b/TO_MERGE/ace/arty_ammunition/$PBOPREFIX$ deleted file mode 100644 index b41fba868e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\ace\Addons\sys_arty_ammunition \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/CfgAmmo.hpp b/TO_MERGE/ace/arty_ammunition/105mm/CfgAmmo.hpp deleted file mode 100644 index 0cffdb6f74..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/CfgAmmo.hpp +++ /dev/null @@ -1,165 +0,0 @@ - -// class name structure -// prefix_caliber_shell_fuze_setting -class ace_arty_howitzer_105mm_base : ace_arty_howitzer_base { - whistleDist = 1500; - //soundFly[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\arty_flightsound",10,1.2,600}; -}; - -class ace_arty_105mm_m1_m782_pd: ace_arty_howitzer_105mm_base { - hit = 110; - indirecthit = 50; - indirecthitrange = 11.52; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m1_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = "ArtyShellCrater"; - ExplosionEffects = "ArtyShellExplosion"; - caliber = 6; -}; - -class ace_arty_105mm_m1_m782_time: ace_arty_105mm_m1_m782_pd { - hit = 0; - indirecthit = 0; - indirecthitrange = 0; - CraterEffects = ""; - ExplosionEffects = ""; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m782\fuze_time.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_105mm_m1_explosion"; -}; - -class ace_arty_105mm_m1_m782_prox: ace_arty_105mm_m1_m782_time { - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m782\fuze_prox.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_105mm_m1_explosion"; -}; - -class ace_arty_105mm_m1_m782_delay: ace_arty_105mm_m1_m782_prox { - ACE_FRAG_SKIP = 1; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m782\fuze_delay.sqf"; - soundHit[] = {"",0,1,0}; -}; - -class ace_arty_105mm_m1_explosion : ace_arty_howitzer_105mm_base { - hit = 110; - indirecthit = 50; - indirecthitrange = 11.52; - explosionTime = 0.0001; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m1_shell.p3d"; // Add model or : No shape for ammo type ace_arty_105mm_m1_explosion -}; - -class ace_arty_105mm_m1_delay_action: ace_arty_105mm_m1_m782_pd { - explosionTime = 0.05; - deflecting=65; -}; - - -class ace_arty_105mm_m314a3_m782 : ace_arty_howitzer_105mm_base { - hit = 0; - indirecthit = 0; - indirecthitrange = 0; - typicalSpeed = 300; - timeToLive = 500; - explosive = 0.01; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m314a3_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "GrenadeExplosion"; - caliber = 6; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 500; - ACE_ARTY_BASEEJECT_COMPENSATE = 0; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.25; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m782\fuze_time.sqf"; - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\105mm\eject_illum.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; - -class ace_arty_105mm_m84a1_m782 : ace_arty_howitzer_105mm_base { - hit = 0; - indirecthit = 0; - indirecthitrange = 0; - typicalSpeed = 300; - timeToLive = 500; - explosive = 0.01; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m84a1_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "WPExplosion"; - caliber = 6; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m782\fuze_time.sqf"; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 150; - ACE_ARTY_BASEEJECT_COMPENSATE = 1; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.125; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\105mm\eject_smoke_m84.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; - -class ace_arty_105mm_m916_m782 : ace_arty_howitzer_105mm_base { - hit = 0; - indirecthit = 0; - indirecthitrange = 5; - typicalSpeed = 300; - timeToLive = 500; - explosive = 0.01; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m916_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = ""; - caliber = 6; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m782\fuze_time.sqf"; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 50; - ACE_ARTY_BASEEJECT_COMPENSATE = 1; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.25; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\105mm\eject_dpicm.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; - - -class ace_arty_105mm_m60a2_m782_pd: ace_arty_howitzer_105mm_base { - hit = 110; - indirecthit = 50; - indirecthitrange = 11.52; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m60a2_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "ace_arty_WPExplosion"; - caliber = 6; -}; - -class ARTY_SmokeShellWhite; -class ace_arty_105mm_m84a1_m782_smokeCanisterHC : ARTY_SmokeShellWhite { - explosionTime = 6; - timeToLive = 120; - smokeColor[] = {1, 1, 1, 1}; - effectsSmoke = "ace_arty_105mm_m84a1_m782_smokeCanisterHC_effect"; - model = "\ca\Weapons\granat"; -}; - -class ace_arty_105mm_m314a3_m782_flare :FlareBase { - model="\ca\Weapons\granat"; - lightColor[] = {0.8, 0.8, 0.8, 0}; - deflecting=65; -}; - -class G_40mm_HE; -class ace_arty_dpicm_m80 : G_40mm_HE { - hit = 100; - ace_hit = 100; - ace_heat = 1; - indirectHit = 24; - indirectHitRange = 5; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m80_bomblet.p3d"; - ExplosionEffects = "ace_arty_dpicmEffects"; -}; diff --git a/TO_MERGE/ace/arty_ammunition/105mm/CfgMagazines.hpp b/TO_MERGE/ace/arty_ammunition/105mm/CfgMagazines.hpp deleted file mode 100644 index 21c3d833ec..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/CfgMagazines.hpp +++ /dev/null @@ -1,201 +0,0 @@ -class ace_arty_105mm_default : ace_arty_howitzer_default { - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\105mm\tables\ace_arty_105mm_genericBtab_%1_chg%2.sqf"; // 1 = angle (LA/HA) 2 = chg# - ACE_ARTY_BTABS_KEY = "ace_arty_105mm_genericBtab_%1_chg%2"; - scope = 2; - ACE_Weight = 18.10; -}; - -class ace_arty_105mm_m1 : ace_arty_105mm_default { - scope = 1; - type = 0; - displayName = "105mm M1 HE"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_105mm_m1_m782_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m14_chg%1.paa"; - ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m1.paa"; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m1_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd", "prox", "time", "delay"}; - ACE_ARTY_FUZE_DESC[] = {"Point Detonate", "Proximity", "Time", "Delay"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_105mm_m1_m782_pd", "ace_arty_105mm_m1_m782_prox", "ace_arty_105mm_m1_m782_time", "ace_arty_105mm_m1_m782_delay"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 8; - ACE_ARTY_INEFFECT = "HE"; -}; - -class ace_arty_105mm_m1_m782_pd_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M1 - M782 PD Chg. 1"; - ammo = "ace_arty_105mm_m1_m782_pd"; - initSpeed = 205; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_105mm_m1"; -}; - -class ace_arty_105mm_m1_m782_pd_chg2 : ace_arty_105mm_m1_m782_pd_chg1 { initSpeed = 223; displayName = "105mm M1 - M782 PD Chg. 2"; }; -class ace_arty_105mm_m1_m782_pd_chg3 : ace_arty_105mm_m1_m782_pd_chg1 { initSpeed = 247; displayName = "105mm M1 - M782 PD Chg. 3"; }; -class ace_arty_105mm_m1_m782_pd_chg4 : ace_arty_105mm_m1_m782_pd_chg1 { initSpeed = 278; displayName = "105mm M1 - M782 PD Chg. 4"; }; -class ace_arty_105mm_m1_m782_pd_chg5 : ace_arty_105mm_m1_m782_pd_chg1 { initSpeed = 325; displayName = "105mm M1 - M782 PD Chg. 5"; }; -class ace_arty_105mm_m1_m782_pd_chg6 : ace_arty_105mm_m1_m782_pd_chg1 { initSpeed = 393; displayName = "105mm M1 - M782 PD Chg. 6"; }; -class ace_arty_105mm_m1_m782_pd_chg7 : ace_arty_105mm_m1_m782_pd_chg1 { initSpeed = 494; displayName = "105mm M1 - M782 PD Chg. 7"; }; -class ace_arty_105mm_m1_m782_pd_chg8 : ace_arty_105mm_m1_m782_pd_chg1 { initSpeed = 616; displayName = "105mm M1 - M782 PD Chg. 8"; }; - -class ace_arty_105mm_m1_m782_time_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M1 - M782 TIME Chg. 1"; - ammo = "ace_arty_105mm_m1_m782_time"; - initSpeed = 205; -}; - -class ace_arty_105mm_m1_m782_time_chg2 : ace_arty_105mm_m1_m782_time_chg1 { initSpeed = 223; displayName = "105mm M1 - M782 TIME Chg. 2"; }; -class ace_arty_105mm_m1_m782_time_chg3 : ace_arty_105mm_m1_m782_time_chg1 { initSpeed = 247; displayName = "105mm M1 - M782 TIME Chg. 3"; }; -class ace_arty_105mm_m1_m782_time_chg4 : ace_arty_105mm_m1_m782_time_chg1 { initSpeed = 278; displayName = "105mm M1 - M782 TIME Chg. 4"; }; -class ace_arty_105mm_m1_m782_time_chg5 : ace_arty_105mm_m1_m782_time_chg1 { initSpeed = 325; displayName = "105mm M1 - M782 TIME Chg. 5"; }; -class ace_arty_105mm_m1_m782_time_chg6 : ace_arty_105mm_m1_m782_time_chg1 { initSpeed = 393; displayName = "105mm M1 - M782 TIME Chg. 6"; }; -class ace_arty_105mm_m1_m782_time_chg7 : ace_arty_105mm_m1_m782_time_chg1 { initSpeed = 494; displayName = "105mm M1 - M782 TIME Chg. 7"; }; -class ace_arty_105mm_m1_m782_time_chg8 : ace_arty_105mm_m1_m782_time_chg1 { initSpeed = 616; displayName = "105mm M1 - M782 TIME Chg. 8"; }; - -class ace_arty_105mm_m1_m782_prox_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M1 - M782 PROX Chg. 1"; - ammo = "ace_arty_105mm_m1_m782_prox"; - initSpeed = 205; -}; - -class ace_arty_105mm_m1_m782_prox_chg2 : ace_arty_105mm_m1_m782_prox_chg1 { initSpeed = 223; displayName = "105mm M1 - M782 PROX Chg. 2"; }; -class ace_arty_105mm_m1_m782_prox_chg3 : ace_arty_105mm_m1_m782_prox_chg1 { initSpeed = 247; displayName = "105mm M1 - M782 PROX Chg. 3"; }; -class ace_arty_105mm_m1_m782_prox_chg4 : ace_arty_105mm_m1_m782_prox_chg1 { initSpeed = 278; displayName = "105mm M1 - M782 PROX Chg. 4"; }; -class ace_arty_105mm_m1_m782_prox_chg5 : ace_arty_105mm_m1_m782_prox_chg1 { initSpeed = 325; displayName = "105mm M1 - M782 PROX Chg. 5"; }; -class ace_arty_105mm_m1_m782_prox_chg6 : ace_arty_105mm_m1_m782_prox_chg1 { initSpeed = 393; displayName = "105mm M1 - M782 PROX Chg. 6"; }; -class ace_arty_105mm_m1_m782_prox_chg7 : ace_arty_105mm_m1_m782_prox_chg1 { initSpeed = 494; displayName = "105mm M1 - M782 PROX Chg. 7"; }; -class ace_arty_105mm_m1_m782_prox_chg8 : ace_arty_105mm_m1_m782_prox_chg1 { initSpeed = 616; displayName = "105mm M1 - M782 PROX Chg. 8"; }; - -class ace_arty_105mm_m1_m782_delay_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M1 - M782 DELAY Chg. 1"; - ammo = "ace_arty_105mm_m1_m782_delay"; - initSpeed = 205; -}; - -class ace_arty_105mm_m1_m782_delay_chg2 : ace_arty_105mm_m1_m782_delay_chg1 { initSpeed = 223; displayName = "105mm M1 - M782 DELAY Chg. 2"; }; -class ace_arty_105mm_m1_m782_delay_chg3 : ace_arty_105mm_m1_m782_delay_chg1 { initSpeed = 247; displayName = "105mm M1 - M782 DELAY Chg. 3"; }; -class ace_arty_105mm_m1_m782_delay_chg4 : ace_arty_105mm_m1_m782_delay_chg1 { initSpeed = 278; displayName = "105mm M1 - M782 DELAY Chg. 4"; }; -class ace_arty_105mm_m1_m782_delay_chg5 : ace_arty_105mm_m1_m782_delay_chg1 { initSpeed = 325; displayName = "105mm M1 - M782 DELAY Chg. 5"; }; -class ace_arty_105mm_m1_m782_delay_chg6 : ace_arty_105mm_m1_m782_delay_chg1 { initSpeed = 393; displayName = "105mm M1 - M782 DELAY Chg. 6"; }; -class ace_arty_105mm_m1_m782_delay_chg7 : ace_arty_105mm_m1_m782_delay_chg1 { initSpeed = 494; displayName = "105mm M1 - M782 DELAY Chg. 7"; }; -class ace_arty_105mm_m1_m782_delay_chg8 : ace_arty_105mm_m1_m782_delay_chg1 { initSpeed = 616; displayName = "105mm M1 - M782 DELAY Chg. 8"; }; - -class ace_arty_105mm_m314a3 : ace_arty_105mm_default { - scope = 1; - type = 0; - displayName = "105mm M314A3 Illumination"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_105mm_m314a3_m782_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m14_chg%1.paa"; - ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\M314A3.paa"; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m314a3_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_105mm_m314a3_m782"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 7; - ACE_ARTY_INEFFECT = "ILLUM"; -}; - -class ace_arty_105mm_m314a3_m782_time_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M314A3 - M782 TIME Chg. 1"; - ammo = "ace_arty_105mm_m314a3_m782"; - initSpeed = 205; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_105mm_m314a3"; -}; - -class ace_arty_105mm_m314a3_m782_time_chg2 : ace_arty_105mm_m314a3_m782_time_chg1 { initSpeed = 223; displayName = "105mm M314A3 - M782 TIME Chg. 2"; }; -class ace_arty_105mm_m314a3_m782_time_chg3 : ace_arty_105mm_m314a3_m782_time_chg1 { initSpeed = 247; displayName = "105mm M314A3 - M782 TIME Chg. 3"; }; -class ace_arty_105mm_m314a3_m782_time_chg4 : ace_arty_105mm_m314a3_m782_time_chg1 { initSpeed = 278; displayName = "105mm M314A3 - M782 TIME Chg. 4"; }; -class ace_arty_105mm_m314a3_m782_time_chg5 : ace_arty_105mm_m314a3_m782_time_chg1 { initSpeed = 325; displayName = "105mm M314A3 - M782 TIME Chg. 5"; }; -class ace_arty_105mm_m314a3_m782_time_chg6 : ace_arty_105mm_m314a3_m782_time_chg1 { initSpeed = 393; displayName = "105mm M314A3 - M782 TIME Chg. 6"; }; -class ace_arty_105mm_m314a3_m782_time_chg7 : ace_arty_105mm_m314a3_m782_time_chg1 { initSpeed = 494; displayName = "105mm M314A3 - M782 TIME Chg. 7"; }; - -class ace_arty_105mm_m84a1 : ace_arty_105mm_default { - scope = 1; - type = 0; - displayName = "105mm M84A1 Base Ejecting HC Smoke"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_105mm_m84a1_m782_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m14_chg%1.paa"; - ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\M84A1.paa"; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m84a1_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_105mm_m84a1_m782"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 7; - ACE_ARTY_INEFFECT = "SMOKE"; -}; - -class ace_arty_105mm_m84a1_m782_time_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M84A1 - M782 TIME Chg. 1"; - ammo = "ace_arty_105mm_m84a1_m782"; - initSpeed = 205; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_105mm_m84a1"; -}; - -class ace_arty_105mm_m84a1_m782_time_chg2 : ace_arty_105mm_m84a1_m782_time_chg1 { initSpeed = 223; displayName = "105mm M84A1 - M782 TIME Chg. 2"; }; -class ace_arty_105mm_m84a1_m782_time_chg3 : ace_arty_105mm_m84a1_m782_time_chg1 { initSpeed = 247; displayName = "105mm M84A1 - M782 TIME Chg. 3"; }; -class ace_arty_105mm_m84a1_m782_time_chg4 : ace_arty_105mm_m84a1_m782_time_chg1 { initSpeed = 278; displayName = "105mm M84A1 - M782 TIME Chg. 4"; }; -class ace_arty_105mm_m84a1_m782_time_chg5 : ace_arty_105mm_m84a1_m782_time_chg1 { initSpeed = 325; displayName = "105mm M84A1 - M782 TIME Chg. 5"; }; -class ace_arty_105mm_m84a1_m782_time_chg6 : ace_arty_105mm_m84a1_m782_time_chg1 { initSpeed = 393; displayName = "105mm M84A1 - M782 TIME Chg. 6"; }; -class ace_arty_105mm_m84a1_m782_time_chg7 : ace_arty_105mm_m84a1_m782_time_chg1 { initSpeed = 494; displayName = "105mm M84A1 - M782 TIME Chg. 7"; }; - -class ace_arty_105mm_m916 : ace_arty_105mm_default { - scope = 1; - type = 0; - displayName = "105mm M916 Base Ejecting DPICM"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_105mm_m916_m782_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m14_chg%1.paa"; - ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\M916.paa"; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m916_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_105mm_m916_m782"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 8; - ACE_ARTY_INEFFECT = "DPICM"; -}; - -class ace_arty_105mm_m916_m782_time_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M916 - M782 TIME Chg. 1"; - ammo = "ace_arty_105mm_m916_m782"; - initSpeed = 205; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_105mm_m916"; -}; -// m119 setVariable ["ace_sys_arty_currentRound", ["ace_arty_105mm_m1_m782_pd_chg6", [0], random (10000)]]; m119 fire "ace_arty_m119"; -class ace_arty_105mm_m916_m782_time_chg2 : ace_arty_105mm_m916_m782_time_chg1 { initSpeed = 223; displayName = "105mm M916 - M782 TIME Chg. 2"; }; -class ace_arty_105mm_m916_m782_time_chg3 : ace_arty_105mm_m916_m782_time_chg1 { initSpeed = 247; displayName = "105mm M916 - M782 TIME Chg. 3"; }; -class ace_arty_105mm_m916_m782_time_chg4 : ace_arty_105mm_m916_m782_time_chg1 { initSpeed = 278; displayName = "105mm M916 - M782 TIME Chg. 4"; }; -class ace_arty_105mm_m916_m782_time_chg5 : ace_arty_105mm_m916_m782_time_chg1 { initSpeed = 325; displayName = "105mm M916 - M782 TIME Chg. 5"; }; -class ace_arty_105mm_m916_m782_time_chg6 : ace_arty_105mm_m916_m782_time_chg1 { initSpeed = 393; displayName = "105mm M916 - M782 TIME Chg. 6"; }; -class ace_arty_105mm_m916_m782_time_chg7 : ace_arty_105mm_m916_m782_time_chg1 { initSpeed = 494; displayName = "105mm M916 - M782 TIME Chg. 7"; }; -class ace_arty_105mm_m916_m782_time_chg8 : ace_arty_105mm_m916_m782_time_chg1 { initSpeed = 616; displayName = "105mm M916 - M782 TIME Chg. 8"; }; - - -class ace_arty_105mm_m60a2 : ace_arty_105mm_default { - scope = 1; - type = 0; - displayName = "105mm M60A2 WP"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_105mm_m60a2_m782_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m14_chg%1.paa"; - ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\M60A2.paa"; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m60a2_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd"}; - ACE_ARTY_FUZE_DESC[] = {"Point Detonate"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_105mm_m60a2_m782"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 7; - ACE_ARTY_INEFFECT = "WP"; -}; - -class ace_arty_105mm_m60a2_m782_pd_chg1 : ace_arty_howitzer_mag { - displayName = "105mm M60A2 - M782 PD Chg. 1"; - ammo = "ace_arty_105mm_m60a2_m782_pd"; - initSpeed = 205; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_105mm_m60a2"; -}; - -class ace_arty_105mm_m60a2_m782_pd_chg2 : ace_arty_105mm_m60a2_m782_pd_chg1 { initSpeed = 223; displayName = "105mm M60A2 - M782 PD Chg. 2"; }; -class ace_arty_105mm_m60a2_m782_pd_chg3 : ace_arty_105mm_m60a2_m782_pd_chg1 { initSpeed = 247; displayName = "105mm M60A2 - M782 PD Chg. 3"; }; -class ace_arty_105mm_m60a2_m782_pd_chg4 : ace_arty_105mm_m60a2_m782_pd_chg1 { initSpeed = 278; displayName = "105mm M60A2 - M782 PD Chg. 4"; }; -class ace_arty_105mm_m60a2_m782_pd_chg5 : ace_arty_105mm_m60a2_m782_pd_chg1 { initSpeed = 325; displayName = "105mm M60A2 - M782 PD Chg. 5"; }; -class ace_arty_105mm_m60a2_m782_pd_chg6 : ace_arty_105mm_m60a2_m782_pd_chg1 { initSpeed = 393; displayName = "105mm M60A2 - M782 PD Chg. 6"; }; -class ace_arty_105mm_m60a2_m782_pd_chg7 : ace_arty_105mm_m60a2_m782_pd_chg1 { initSpeed = 494; displayName = "105mm M60A2 - M782 PD Chg. 7"; }; diff --git a/TO_MERGE/ace/arty_ammunition/105mm/CfgVehicles.hpp b/TO_MERGE/ace/arty_ammunition/105mm/CfgVehicles.hpp deleted file mode 100644 index bdbffc40a6..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/CfgVehicles.hpp +++ /dev/null @@ -1,63 +0,0 @@ -class ace_arty_m1_cartridge : ACE_Arty_ShellHolder { - scope = 1; - icon = "iconThing"; - mapSize = 0; // iconsize on map... small object such as a tree is 0.7 - - displayName = "M1 HE Cartridge"; - - vehicleClass = "Objects"; - nameSound = "obj_object"; - - picture = "pictureThing"; - class Library {libTextDesc = "";}; - descriptionShort = ""; - - destrType = "DestructTree"; - weight = 1000; - simulation = "house"; - type = 1; - - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m1_cartridge.p3d"; - animated = false; - reversed = false; - class EventHandlers { - killed = "_this call ace_sys_arty_ammunition_fnc_onShellDestroyed"; - }; - - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_105mm_m1"; -}; - -class ace_arty_m84a1_cartridge: ace_arty_m1_cartridge { - displayName = "M84A1 Smoke Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m84a1_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_105mm_m84a1"; -}; - -class ace_arty_m314a3_cartridge : ace_arty_m1_cartridge { - displayName = "M314A3 Illum Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m314a3_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_105mm_m314a3"; -}; - -class ace_arty_m916_cartridge : ace_arty_m1_cartridge { - displayName = "M916 DPICM Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m916_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_105mm_m916"; -}; - -class ace_arty_m60a2_cartridge : ace_arty_m1_cartridge { - displayName = "M602A2 WP Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m60a2_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_105mm_m60a2"; -}; -class ACE_UsedTubes; -class ace_arty_m14_casing : ACE_UsedTubes { - model = "\x\ace\addons\sys_arty_ammunition\105mm\ace_arty_m14_casing.p3d"; -}; - -class ace_arty_105mm_m314a3_m782_parachute : ACE_HuntIR { - class EventHandlers { - EXTENDED_EVENTHANDLERS - }; - SLX_XEH_DISABLED = 0; -}; // Defined in 60mm diff --git a/TO_MERGE/ace/arty_ammunition/105mm/XEH_illum_init.sqf b/TO_MERGE/ace/arty_ammunition/105mm/XEH_illum_init.sqf deleted file mode 100644 index cea0e827cb..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/XEH_illum_init.sqf +++ /dev/null @@ -1,71 +0,0 @@ -//XEH_illum_init.sqf -#define MAX_ILL 2.1 - -private["_flareChute", "_pos", "_light", "_sm", "_sp"]; - -_flareChute = _this select 0; -_pos = getPos (_flareChute); - -_light = "#lightpoint" createVehicleLocal _pos; -_light setPos _pos; -_light setLightBrightness MAX_ILL; -_light setLightAmbient[238/255, 233/255, 183/255]; -_light setLightColor[241/255, 226/255, 62/255]; -_light lightAttachObject [_flareChute, [0,0,-0.8]]; - -_sm = "#particlesource" createVehicleLocal getPos (_flareChute); -_sm setParticleRandom [0.5, [0, 0, 0], [0, 0, 0], 0, 0.3, [0, 0, 0, 0], 0, 0, 360]; -_sm setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 30, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.3,4], - [[0.9,0.9,0.9,0.6], [1,1,1,0.3], [1,1,1,0]],[1],0.1,0.1,"","",_light]; -_sm setDropInterval 0.02; - -_sp = "#particlesource" createVehicleLocal getPos (_flareChute); -_sp setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -_sp setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -_sp setDropInterval 0.001; - -// _sp2 = "#particlesource" createVehicleLocal getPos (_flareChute); -// _sp2 setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -// _sp2 setParticleParams ["\ca\Data\Flare12", - // "", "Billboard", 1, 0.1, [0, 0, 0], - // [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - // [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -// _sp2 setDropInterval 0.001; - - -//_flareChute setVectorDir _chuteVel; - -[_flareChute, _light, _sp, _sm] spawn { - private["_shell", "_light", "_sp", "_sm", "_start", "_b", "_s"]; - _shell = _this select 0; - _light = _this select 1; - _sp = _this select 2; - _sm = _this select 3; - - - _start = time; - _b = MAX_ILL; - _s = 0; - waitUntil { - if((_start + 50) < time) then { - _b = (_b - random (0.1)) max 0; - _light setLightBrightness _b; - }; - if((_start + 60) < time) then { - deleteVehicle _light; - deleteVehicle _sp; -// deleteVehicle _sp2; - deleteVehicle _sm; - }; - sleep 0.1; - (!alive _shell && (_start + 60) < time); - }; - deleteVehicle _light; - deleteVehicle _sp; - deleteVehicle _sm; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_105mm_box.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_105mm_box.p3d deleted file mode 100644 index c65f66bb1d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_105mm_box.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m14_casing.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m14_casing.p3d deleted file mode 100644 index 1d68cf8389..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m14_casing.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m1_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m1_cartridge.p3d deleted file mode 100644 index 13f2e41299..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m1_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m1_shell.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m1_shell.p3d deleted file mode 100644 index 6fffc478a8..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m1_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m314a3_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m314a3_cartridge.p3d deleted file mode 100644 index d2a9d3f23b..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m314a3_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m314a3_shell.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m314a3_shell.p3d deleted file mode 100644 index 982ef1afa1..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m314a3_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m60a2_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m60a2_cartridge.p3d deleted file mode 100644 index df6023c0f8..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m60a2_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m60a2_shell.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m60a2_shell.p3d deleted file mode 100644 index 6fffc478a8..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m60a2_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m80_bomblet.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m80_bomblet.p3d deleted file mode 100644 index bc31bca4a2..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m80_bomblet.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m84a1_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m84a1_cartridge.p3d deleted file mode 100644 index cf10590ea8..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m84a1_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m84a1_shell.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m84a1_shell.p3d deleted file mode 100644 index 477ef1e88b..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m84a1_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m916_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m916_cartridge.p3d deleted file mode 100644 index 09b7ea46b5..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m916_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m916_shell.p3d b/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m916_shell.p3d deleted file mode 100644 index 2ebc25a04c..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/ace_arty_m916_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M1.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/M1.paa deleted file mode 100644 index 23b06d3e7b..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M1.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M314A3.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/M314A3.paa deleted file mode 100644 index 7291e387c8..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M314A3.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M60A2.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/M60A2.paa deleted file mode 100644 index ecaaaa73cd..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M60A2.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M84A1.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/M84A1.paa deleted file mode 100644 index b9e1708bb0..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M84A1.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M916.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/M916.paa deleted file mode 100644 index a70423b06c..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/M916.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg1.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg1.paa deleted file mode 100644 index 0f0937cb00..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg1.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg2.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg2.paa deleted file mode 100644 index c06dfd085d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg2.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg3.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg3.paa deleted file mode 100644 index b3b2f82207..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg3.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg4.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg4.paa deleted file mode 100644 index c0d6c10121..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg4.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg5.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg5.paa deleted file mode 100644 index 831e7051a7..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg5.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg6.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg6.paa deleted file mode 100644 index f40af8f0c3..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg6.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg7.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg7.paa deleted file mode 100644 index fd188d79b8..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg7.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg8.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg8.paa deleted file mode 100644 index ec7f5dc3fe..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/images/m14_chg8.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/M67_text_co.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/M67_text_co.paa deleted file mode 100644 index 954ed20432..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/M67_text_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/M67_text_smdi.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/M67_text_smdi.paa deleted file mode 100644 index d29fa57c06..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/M67_text_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text.rvmat b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text.rvmat deleted file mode 100644 index 3d25b10c54..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text.rvmat +++ /dev/null @@ -1,82 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.70999998,0.70999998,0.70999998,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=23.4; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\crate_text_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\crate_text_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(3.5,1.22)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_plastic_co.paa"; - uvSource="none"; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_co.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_co.paa deleted file mode 100644 index 134fc19152..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_nohq.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_nohq.paa deleted file mode 100644 index 659141a54c..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_smdi.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_smdi.paa deleted file mode 100644 index ab72090b8f..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/crate_text_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text.rvmat b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text.rvmat deleted file mode 100644 index 649def88a4..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text.rvmat +++ /dev/null @@ -1,87 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.70999998,0.70999998,0.70999998,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=23.4; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage0 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m1_text_co.paa"; - uvSource="tex"; -}; -class Stage1 -{ - texture="#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m1_text_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(3.5,1.22)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_plastic_co.paa"; - uvSource="none"; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text_co.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text_co.paa deleted file mode 100644 index 1ea24da5e5..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text_smdi.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text_smdi.paa deleted file mode 100644 index 1a8f9529dc..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m1_text_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m314A3_text.rvmat b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m314A3_text.rvmat deleted file mode 100644 index b6fa851d17..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m314A3_text.rvmat +++ /dev/null @@ -1,87 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.70999998,0.70999998,0.70999998,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=23.4; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage0 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m314a3_text_co.paa"; - uvSource="tex"; -}; -class Stage1 -{ - texture="#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m1_text_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(3.5,1.22)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_plastic_co.paa"; - uvSource="none"; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m314A3_text_co.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m314A3_text_co.paa deleted file mode 100644 index 863012b9a2..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m314A3_text_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m60a2_text.rvmat b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m60a2_text.rvmat deleted file mode 100644 index a1d2b8291f..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m60a2_text.rvmat +++ /dev/null @@ -1,82 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.70999998,0.70999998,0.70999998,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=23.4; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m1_text_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(3.5,1.22)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_plastic_co.paa"; - uvSource="none"; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m60a2_text_co.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m60a2_text_co.paa deleted file mode 100644 index 765082b9be..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m60a2_text_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m67_text.rvmat b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m67_text.rvmat deleted file mode 100644 index 8460ed298a..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m67_text.rvmat +++ /dev/null @@ -1,87 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.70999998,0.70999998,0.70999998,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=100; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage0 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m67_text_co.paa"; - uvSource="tex"; -}; -class Stage1 -{ - texture="#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m67_text_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(3.5,1.22)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_plastic_co.paa"; - uvSource="none"; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m84a1_text.rvmat b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m84a1_text.rvmat deleted file mode 100644 index 1370b4f75a..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m84a1_text.rvmat +++ /dev/null @@ -1,87 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.70999998,0.70999998,0.70999998,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=23.4; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage0 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m84a1_text_co.paa"; - uvSource="tex"; -}; -class Stage1 -{ - texture="#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m1_text_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(3.5,1.22)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_plastic_co.paa"; - uvSource="none"; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m84a1_text_co.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m84a1_text_co.paa deleted file mode 100644 index 131100611f..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m84a1_text_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m916_text.rvmat b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m916_text.rvmat deleted file mode 100644 index 130c39e24c..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m916_text.rvmat +++ /dev/null @@ -1,87 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.70999998,0.70999998,0.70999998,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={1,1,1,1}; -specularPower=23.4; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage0 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m916_text_co.paa"; - uvSource="tex"; -}; -class Stage1 -{ - texture="#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\105mm\data\textures\m1_text_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(3.5,1.22)"; - uvSource="none"; -}; -class Stage7 -{ - texture="ca\data\env_land_plastic_co.paa"; - uvSource="none"; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m916_text_co.paa b/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m916_text_co.paa deleted file mode 100644 index 8cdf189f71..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/105mm/data/textures/m916_text_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/105mm/eject_dpicm.sqf b/TO_MERGE/ace/arty_ammunition/105mm/eject_dpicm.sqf deleted file mode 100644 index 8c035bd025..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/eject_dpicm.sqf +++ /dev/null @@ -1,100 +0,0 @@ -//eject_dpicm.sqf -#define PRNG(number) (random (number)) //([_seedSeq, 0, number] call ace_sys_arty_fnc_prng) -#define DPICM_SPREAD 25 - -private["_roundSettings", "_roundData", "_seed", "_seedSeq", "_velocity", "_gVel", "_rv", "_pos"]; -private["_p", "_vP", "_vH", "_vA", "_sMin", "_sMax", "_az", "_el", "_g"]; - -_shell = _this select 6; - -_roundSettings = []; -_roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; -{ - if((_x select 0) == _shell) exitWith { - _roundSettings = _x; - }; -} forEach _roundData; - -_seed = 101; -if((count _roundSettings) > 0) then { - _seed = _roundSettings select 3; -}; - -_seedSeq = _seed call ace_sys_arty_fnc_randomSequence; - -_velocity = velocity _shell; - -if ((_velocity select 0) != 0 && {(_velocity select 1) != 0} && {(_velocity select 2) != 0}) then { // velocity not 0 - - _gVel = [_velocity,0.25] call ACE_fnc_vectorMultiply; - _rv = (3.6*sqrt((_gVel select 0)^2 + (_gVel select 1)^2 + (_gVel select 2)^2))*0.278; - _pos = getPos _shell; - - _p = (_gVel call CBA_fnc_vect2Polar); - - _vP = (abs(_p select 2)/90); - _vH = ((abs(_p select 2)/45) min 1); - _vA = 360*_vH*_vP; - _vA = (DPICM_SPREAD + _vA) mod 360; - - _sMin = ((_vA)/2)*-1; - _sMax = (_vA); - for "_i" from 1 to 42 do { - _az = (_p select 1); - - _az = _az + (_sMin + (PRNG(_sMax))); - - if(_az < 0) then { - _az = _az + 360; - } else { - if(_az >= 360) then { - _az = _az - 360; - }; - }; - - _el = (_p select 2); - - _el = _el + (-20*1.5 + (PRNG(40))); - - if(_el > 90) then { - _el = abs(_el - 180); - _az = (_az + 180) mod 360; - }; - - if(_el < -90) then { - _el = (_el + 180)*-1; - _az = (_az + 180) mod 360; - }; - - _v = [(_p select 0) + (-5 + (PRNG(10))), _az, _el] call CBA_fnc_polar2vect; - - _g = "ace_arty_dpicm_m80" createVehicle [((_pos select 0) + PRNG(0.5)), ((_pos select 1) + PRNG(0.5)), ((_pos select 2) + PRNG(0.5))]; - _g setVelocity _v; - //_g setVectorDir _v; - _g setPos [((_pos select 0) + PRNG(0.5)), ((_pos select 1) + PRNG(0.5)), ((_pos select 2) + PRNG(0.5))]; - //_g setVelocity _v; - #ifdef DEBUG_MODE_FULL - [_g, _marker] spawn { - private ["_bbb"]; - _bbb = _this select 0; - _marker = _this select 1; - - waitUntil { - if(alive _bbb) then { - drop ["\Ca\Data\Cl_basic","","Billboard",1,5,(getPos _bbb),[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,1]],[0],0.0,2.0,"","",""]; - _marker = createMarkerLocal [format["m%1", random(1000)+time], (getPos _bbb)]; - _marker setMarkerTypeLocal "Dot"; - _marker setMarkerColorLocal "ColorRed"; - - _marker setMarkerSizeLocal [0.1, 0.1]; - }; - (!alive _bbb) - }; - _marker setMarkerColorLocal "ColorGreen"; - _marker setMarkerSizeLocal [0.6, 0.6]; - }; - #endif - }; - false - -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/eject_illum.sqf b/TO_MERGE/ace/arty_ammunition/105mm/eject_illum.sqf deleted file mode 100644 index 28dfc310a8..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/eject_illum.sqf +++ /dev/null @@ -1,20 +0,0 @@ -//eject_illum.sqf -private["_shell", "_velocity", "_pos", "_flareChute", "_chuteVel"]; - -_shell = _this select 6; - -_velocity = velocity _shell; - -_pos = getPos _shell; - -_flareChute = "ace_arty_105mm_m314a3_m782_parachute" createVehicle _pos; -_flareChute setPos _pos; -////player sideChat format["chutPos: %1", _pos]; -_chuteVel = [_velocity,0.25] call ACE_fnc_vectorMultiply; -////player sideChat format["p: %1", (_chuteVel call CBA_fnc_vect2Polar)]; - -_flareChute setVelocity _chuteVel; - - - -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/eject_smoke_m84.sqf b/TO_MERGE/ace/arty_ammunition/105mm/eject_smoke_m84.sqf deleted file mode 100644 index 538afe844f..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/eject_smoke_m84.sqf +++ /dev/null @@ -1,78 +0,0 @@ -//eject_dpicm.sqf -#define PRNG(number) (random (number)) -#define SMOKE_SPREAD 40 - -private["_roundSettings", "_roundData", "_seed", "_seedSeq", "_velocity", "_gVel", "_rv", "_pos"]; -private["_p", "_vP", "_vH", "_vA", "_sMin", "_sMax", "_az", "_el", "_g", "_grenades", "_v"]; - -_shell = _this select 6; - -_roundSettings = []; -_roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; -{ - if((_x select 0) == _shell) exitWith { - _roundSettings = _x; - }; -} forEach _roundData; - -_seed = 101; -if((count _roundSettings) > 0) then { - _seed = _roundSettings select 3; -}; - -_seedSeq = _seed call ace_sys_arty_fnc_randomSequence; - -_velocity = velocity _shell; -_pos = getPos _shell; -_p = [0,0,0]; -if !((_velocity select 0) == 0 && {(_velocity select 1) == 0} && {(_velocity select 2) == 0}) then { // velocity not 0 - _gVel = [_velocity,0.125] call ACE_fnc_vectorMultiply; - _p = (_gVel call CBA_fnc_vect2Polar); -}; -//setAccTime 0.25; -_vP = (abs(_p select 2)/90); -_vH = ((abs(_p select 2)/45) min 1); -_vA = 360*_vH*_vP; -_vA = (SMOKE_SPREAD + _vA) mod 360; - -_sMin = ((_vA)/2)*-1; -_sMax = (_vA); -////player sideChat format["p: %4 va: %1 vP: %2 vH: %3", _sMax, _vP, _vH, (_p select 2)]; -_grenades = []; -for "_i" from 1 to 3 do { - _az = (_p select 1); - - _az = _az + (_sMin + (PRNG(_sMax))); - - if(_az < 0) then { - _az = _az + 360; - } else { - if(_az >= 360) then { - _az = _az - 360; - }; - }; - - _el = (_p select 2); - - _el = _el + (-20*1.5 + (PRNG(40))); - - if(_el > 90) then { - _el = abs(_el - 180); - _az = (_az + 180) mod 360; - }; - - if(_el < -90) then { - _el = (_el + 180)*-1; - _az = (_az + 180) mod 360; - }; - - _v = [(_p select 0) + (-5 + (PRNG(10))), _az, _el] call CBA_fnc_polar2vect; - - _g = "ace_arty_105mm_m84a1_m782_smokeCanisterHC" createVehicle [((_pos select 0) + PRNG(0.5)), ((_pos select 1) + PRNG(0.5)), ((_pos select 2) + PRNG(0.5))]; - //_g setVelocity _v; - _grenades set[(count _grenades), [_g, _v]]; -}; - -["ace_arty_ammo_105mmSmokeEvent", [_grenades]] call CBA_fnc_globalEvent; - -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg1.sqf deleted file mode 100644 index 17feca83f9..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg1.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg1 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,947.285,[[4584.31,-2002.4,39.35,230.306,-67.132],[4540.88,-1900.52,38.8667,227.869,-66.6668],[4497.08,-1800.1,38.3833,225.406,-66.1876],[4452.92,-1701.14,37.9,222.918,-65.6937],[4406.85,-1600.33,37.4,220.32,-65.1665],[4360.4,-1501.14,36.9,217.697,-64.6222],[4312,-1400.37,36.3833,214.962,-64.0409],[4263.18,-1301.38,35.8667,212.205,-63.4395],[4212.37,-1201.08,35.3333,209.335,-62.7966],[4161.12,-1102.73,34.8,206.444,-62.1302],[4106.2,-1000.41,34.2333,203.351,-61.3949],[4050.8,-900.345,33.6667,200.238,-60.6302],[3994.91,-802.581,33.1,197.109,-59.8345],[3935.23,-701.608,32.5,193.782,-58.9563],[3873.33,-600.595,31.8833,190.35,-58.0133],[3810.88,-502.425,31.2667,186.911,-57.0268],[3744.47,-402.071,30.6167,183.284,-55.9373],[3673.99,-300.078,29.9333,179.475,-54.7332],[3602.86,-201.733,29.25,175.68,-53.4654],[3525.8,-100.311,28.5167,171.631,-52.029],[3446.23,-1.0595,27.7667,167.528,-50.4736],[3360.51,99.7444,26.9667,163.211,-48.7116],[3270.31,199.106,26.1333,158.799,-46.7555],[3171.88,299.852,25.2333,154.159,-44.4953],[3066.85,398.684,24.2833,149.437,-41.9323],[2949.44,498.806,23.2333,144.478,-38.875],[2815.5,599.99,22.05,139.295,-35.1324],[2662.56,698.957,20.7167,134.087,-30.5261],[2468.46,799.853,19.05,128.743,-24.1951],[2183.36,899.687,16.65,123.889,-14.0996],[1803.4,947.284,13.5333,123.705,-0.0259861]]], - [46,978.99,[[4543.64,-2000.08,39.7,230.552,-67.6013],[4502.48,-1901.25,39.2333,228.188,-67.1616],[4459.5,-1800.3,38.75,225.714,-66.6926],[4416.17,-1700.82,38.2667,223.214,-66.2092],[4372.47,-1602.82,37.7833,220.69,-65.7107],[4326.9,-1503.03,37.2833,218.053,-65.1785],[4279.41,-1401.62,36.7667,215.303,-64.61],[4231.52,-1301.99,36.25,212.529,-64.0218],[4181.66,-1201.02,35.7167,209.64,-63.3929],[4131.38,-1102,35.1833,206.729,-62.7409],[4079.09,-1001.95,34.6333,203.705,-62.043],[4024.74,-901.089,34.0667,200.568,-61.2954],[3969.93,-802.518,33.5,197.412,-60.5174],[3911.38,-700.682,32.9,194.053,-59.6584],[3852.31,-601.489,32.3,190.681,-58.7613],[3791.07,-502.336,31.6833,187.205,-57.7971],[3725.93,-400.936,31.0333,183.535,-56.7316],[3658.5,-300.302,30.3667,179.772,-55.5832],[3588.76,-200.744,29.6833,175.923,-54.3438],[3514.92,-100.294,28.9667,171.904,-52.9716],[3438.65,-1.77115,28.2333,167.822,-51.4858],[3356.4,98.6351,27.45,163.51,-49.801],[3268.01,199.885,26.6167,158.998,-47.8901],[3175.13,299.008,25.75,154.411,-45.7638],[3074.06,398.603,24.8167,149.624,-43.3046],[2962.74,498.52,23.8,144.637,-40.4127],[2837.17,599.203,22.6667,139.422,-36.9114],[2693.16,699.368,21.3833,134.062,-32.5778],[2518.62,799.434,19.85,128.599,-26.8795],[2279.21,899.871,17.7833,123.262,-18.3619],[1800.55,978.987,13.7667,121.388,-0.0768658]]], - [47,1010.62,[[4501.75,-2002.42,40.0667,230.911,-68.0915],[4461.39,-1903.08,39.6,228.537,-67.6616],[4419.23,-1801.6,39.1167,226.053,-67.203],[4376.73,-1701.59,38.6333,223.542,-66.7303],[4333.88,-1603.05,38.15,221.005,-66.2428],[4289.18,-1502.69,37.65,218.355,-65.7223],[4242.6,-1400.7,37.1333,215.589,-65.1662],[4195.63,-1300.47,36.6167,212.798,-64.5908],[4148.26,-1202.03,36.1,209.982,-63.995],[4098.96,-1102.32,35.5667,207.051,-63.3577],[4047.68,-1001.55,35.0167,204.005,-62.6755],[3995.97,-902.896,34.4667,200.938,-61.9664],[3940.64,-800.615,33.8833,197.662,-61.1836],[3884.83,-700.789,33.3,194.368,-60.3672],[3826.92,-600.707,32.7,190.964,-59.4903],[3766.87,-500.632,32.0833,187.452,-58.5477],[3704.66,-400.834,31.45,183.836,-57.533],[3640.23,-301.599,30.8,180.122,-56.4395],[3571.88,-200.809,30.1167,176.221,-55.2293],[3501.21,-101.373,29.4167,172.237,-53.9208],[3426.48,-1.40164,28.6833,168.087,-52.4701],[3347.61,98.4511,27.9167,163.788,-50.8598],[3262.76,199.494,27.1,159.272,-49.0317],[3173.55,298.742,26.25,154.662,-46.9962],[3076.35,398.905,25.3333,149.823,-44.6382],[2969.15,499.919,24.3333,144.745,-41.8593],[2851.69,599.476,23.25,139.54,-38.5894],[2718.15,698.846,22.0333,134.151,-34.5776],[2556.84,799.795,20.5833,128.513,-29.3124],[2349.6,899.725,18.75,122.917,-21.9201],[1967.58,999.784,15.45,118.389,-7.0024],[1794.11,1010.62,13.9833,119.065,-0.0697251]]], - [48,1042.14,[[4455.73,-2002.32,40.4167,231.214,-68.5716],[4416.15,-1902.51,39.95,228.831,-68.1512],[4374.82,-1800.55,39.4667,226.336,-67.7027],[4333.15,-1700.04,38.9833,223.813,-67.2404],[4291.14,-1601,38.5,221.264,-66.7636],[4247.31,-1500.12,38,218.6,-66.2544],[4203.13,-1400.86,37.5,215.909,-65.7282],[4157.08,-1300.02,36.9833,213.102,-65.1658],[4110.65,-1200.97,36.4667,210.269,-64.5835],[4062.32,-1100.62,35.9333,207.319,-63.9604],[4013.59,-1002.23,35.4,204.345,-63.3139],[3962.91,-902.836,34.85,201.254,-62.6213],[3910.24,-802.675,34.2833,198.048,-61.8787],[3855.56,-701.979,33.7,194.726,-61.0818],[3798.82,-600.993,33.1,191.291,-60.2258],[3741.58,-502.671,32.5,187.84,-59.3306],[3680.63,-401.819,31.8667,184.186,-58.3405],[3617.52,-301.491,31.2167,180.429,-57.2732],[3552.2,-201.983,30.55,176.574,-56.121],[3482.99,-101.252,29.85,172.534,-54.8441],[3411.47,-2.16495,29.1333,168.415,-53.4608],[3334.23,99.24,28.3667,164.04,-51.8895],[3252.84,199.913,27.5667,159.528,-50.1415],[3167.22,299.114,26.7333,154.904,-48.1941],[3073.81,399.657,25.8333,150.026,-45.9347],[2972.41,499.904,24.8667,144.958,-43.3136],[2861.04,599.563,23.8167,139.709,-40.2218],[2735.83,698.845,22.65,134.265,-36.4684],[2587.27,799.564,21.2833,128.542,-31.6255],[2403.39,899.239,19.6167,122.762,-25.0638],[2124.1,999.589,17.1333,117.267,-14.0963],[1784.2,1042.14,14.1833,116.735,-0.00123388]]], - [49,1073.52,[[4407.01,-2003.4,40.7667,231.547,-69.057],[4368.24,-1903.12,40.3,229.155,-68.6462],[4327.75,-1800.66,39.8167,226.65,-68.2081],[4288.33,-1703.1,39.35,224.204,-67.7721],[4245.75,-1600.09,38.85,221.555,-67.2904],[4204.24,-1502.03,38.3667,218.967,-66.8096],[4160.96,-1402.18,37.8667,216.263,-66.2958],[4115.85,-1300.72,37.35,213.441,-65.7467],[4070.37,-1201.04,36.8333,210.592,-65.178],[4023.03,-1100.04,36.3,207.624,-64.5695],[3975.29,-1000.98,35.7667,204.63,-63.938],[3925.64,-900.905,35.2167,201.517,-63.2613],[3874.04,-800.028,34.65,198.286,-62.5356],[3822.01,-701.451,34.0833,195.033,-61.7794],[3767.98,-602.412,33.5,191.664,-60.9673],[3710.38,-500.442,32.8833,188.084,-60.0691],[3652.26,-401.317,32.2667,184.49,-59.1279],[3592.04,-302.518,31.6333,180.788,-58.1133],[3528.09,-201.858,30.9667,176.886,-56.9895],[3461.95,-102.288,30.2833,172.889,-55.7739],[3391.94,-1.84079,29.5667,168.709,-54.425],[3317.99,98.8491,28.8167,164.359,-52.9261],[3240,199.105,28.0333,159.857,-51.2579],[3157.91,298.207,27.2167,155.228,-49.3984],[3068.22,399.074,26.3333,150.319,-47.2379],[2972.47,498.401,25.4,145.277,-44.7733],[2865.31,599.547,24.3667,139.918,-41.8094],[2746.42,699.65,23.2333,134.381,-38.254],[2610.13,799.102,21.95,128.653,-33.8198],[2443.24,899.2,20.4,122.703,-27.8685],[2211.43,999.839,18.2833,116.76,-18.7384],[1774.72,1073.52,14.4,114.363,-0.0315567]]], - [50,1104.72,[[4354.25,-2002.11,41.1,231.825,-69.5333],[4316.27,-1901.39,40.6333,229.424,-69.132],[4277.98,-1801.99,40.1667,226.996,-68.7188],[4238,-1700.45,39.6833,224.452,-68.2778],[4197.69,-1600.38,39.2,221.88,-67.8229],[4157.05,-1501.79,38.7167,219.28,-67.3534],[4114.66,-1401.39,38.2167,216.562,-66.8518],[4071.93,-1302.62,37.7167,213.817,-66.3331],[4027.4,-1202.3,37.2,210.952,-65.7784],[3981.05,-1100.63,36.6667,207.967,-65.1846],[3934.31,-1000.9,36.1333,204.954,-64.5683],[3885.71,-900.12,35.5833,201.82,-63.9079],[3836.69,-801.468,35.0333,198.662,-63.2208],[3785.76,-702.084,34.4667,195.384,-62.4834],[3732.88,-602.207,33.8833,191.987,-61.6912],[3678.02,-502.083,33.2833,188.473,-60.8392],[3621.15,-401.976,32.6667,184.843,-59.9217],[3562.22,-302.157,32.0333,181.102,-58.9325],[3499.64,-200.412,31.3667,177.156,-57.8362],[3436.5,-102.131,30.7,173.207,-56.6797],[3368,-0.398293,29.9833,168.968,-55.3643],[3297.25,99.4327,29.25,164.648,-53.9351],[3222.6,199.117,28.4833,160.164,-52.344],[3142.3,299.956,27.6667,155.442,-50.5313],[3057.91,398.965,26.8167,150.608,-48.505],[2965.97,498.84,25.9,145.52,-46.147],[2864.61,599.502,24.9,140.16,-43.3533],[2753.58,698.636,23.8167,134.639,-40.0453],[2625.68,798.742,22.5833,128.813,-35.8976],[2471.57,899.814,21.1167,122.695,-30.41],[2272.37,999.701,19.25,116.534,-22.5573],[1871.48,1099.91,15.5833,111.47,-4.94246],[1763.69,1104.71,14.6167,111.968,-0.0835649]]], - [51,1135.7,[[4298.8,-2002.06,41.4333,232.133,-70.0151],[4261.63,-1900.89,40.9667,229.723,-69.6233],[4224.16,-1801.03,40.5,227.286,-69.22],[4186.38,-1702.51,40.0333,224.82,-68.8045],[4146.94,-1601.91,39.55,222.237,-68.3608],[4107.17,-1502.78,39.0667,219.626,-67.9029],[4065.7,-1401.81,38.5667,216.896,-67.4136],[4023.88,-1302.47,38.0667,214.137,-66.9076],[3980.31,-1201.56,37.55,211.257,-66.3663],[3936.38,-1102.43,37.0333,208.348,-65.8054],[3890.65,-1002.02,36.5,205.318,-65.2047],[3843.1,-900.522,35.95,202.164,-64.5608],[3795.14,-801.145,35.4,198.984,-63.8908],[3745.31,-701.008,34.8333,195.681,-63.1716],[3693.58,-600.346,34.25,192.257,-62.3988],[3641.41,-502.176,33.6667,188.811,-61.5911],[3585.78,-401.146,33.05,185.148,-60.6967],[3528.14,-300.37,32.4167,181.369,-59.7321],[3468.46,-200.135,31.7667,177.478,-58.6901],[3406.7,-100.738,31.1,173.481,-57.5629],[3341.28,-0.141817,30.4,169.286,-56.3109],[3273.68,98.7886,29.6833,165.002,-54.9509],[3202.29,197.855,28.9333,160.542,-53.4362],[3125.42,298.418,28.1333,155.828,-51.7091],[3042.94,399.4,27.2833,150.889,-49.7375],[2954.74,499.636,26.3833,145.766,-47.4833],[2859.01,599.516,25.4167,140.425,-44.8545],[2753.92,698.738,24.3667,134.868,-41.7347],[2634.12,798.807,23.1833,128.996,-37.8625],[2492.31,899.742,21.8,122.802,-32.8257],[2315.53,999.679,20.1,116.458,-25.8628],[2041.79,1099.63,17.5167,110.324,-13.8033],[1749.27,1135.7,14.8167,109.565,-0.0732944]]], - [52,1166.44,[[4240.67,-2003.34,41.7667,232.471,-70.5023],[4204.32,-1901.7,41.3,230.054,-70.1202],[4167.67,-1801.37,40.8333,227.607,-69.7269],[4130.72,-1702.38,40.3667,225.132,-69.3216],[4092.15,-1601.28,39.8833,222.539,-68.8889],[4053.25,-1501.66,39.4,219.916,-68.4423],[4012.69,-1400.17,38.9,217.173,-67.9649],[3971.79,-1300.3,38.4,214.4,-67.4712],[3930.55,-1202.08,37.9,211.598,-66.9604],[3887.59,-1102.34,37.3833,208.674,-66.4137],[3842.88,-1001.29,36.85,205.626,-65.828],[3797.79,-902.189,36.3167,202.549,-65.2196],[3750.91,-802.074,35.7667,199.348,-64.5671],[3702.2,-701.168,35.2,196.022,-63.8665],[3653.07,-602.571,34.6333,192.67,-63.1355],[3600.61,-500.728,34.0333,189.097,-62.3263],[3547.7,-401.551,33.4333,185.501,-61.4785],[3492.85,-302.439,32.8167,181.786,-60.5644],[3434.52,-201.109,32.1667,177.855,-59.5506],[3374.17,-100.578,31.5,173.813,-58.4535],[3311.76,-1.1562,30.8167,169.666,-57.2641],[3245.71,99.1154,30.1,165.321,-55.9407],[3175.95,199.601,29.35,160.792,-54.4659],[3102.41,299.62,28.5667,156.095,-52.8191],[3025.01,398.448,27.75,151.253,-50.9765],[2940.47,498.99,26.8667,146.105,-48.8262],[2848.63,599.639,25.9167,140.707,-46.3148],[2749.3,698.629,24.9,135.138,-43.3782],[2635.7,799.563,23.75,129.176,-39.7188],[2505.73,899.324,22.45,122.989,-35.1169],[2345.29,999.927,20.8667,116.475,-28.8113],[2122.1,1099.7,18.7,109.938,-18.9698],[1733.34,1166.44,15.0167,107.137,-0.0844271]]], - [53,1196.9,[[4178.57,-2002.3,42.0833,232.754,-70.9814],[4143.04,-1900.24,41.6167,230.328,-70.6089],[4108.5,-1803.06,41.1667,227.961,-70.2391],[4071.09,-1700.06,40.6833,225.388,-69.83],[4034.69,-1601.98,40.2167,222.874,-69.4227],[3996.68,-1501.84,39.7333,220.241,-68.9875],[3958.36,-1403.19,39.25,217.578,-68.5381],[3918.39,-1302.73,38.75,214.793,-68.0576],[3876.76,-1200.65,38.2333,211.884,-67.5434],[3834.77,-1100.34,37.7167,208.944,-67.0104],[3792.44,-1001.84,37.2,205.974,-66.4576],[3748.39,-902.078,36.6667,202.879,-65.8652],[3702.58,-801.275,36.1167,199.658,-65.2296],[3656.38,-702.607,35.5667,196.408,-64.5675],[3606.97,-600.33,34.9833,192.932,-63.8347],[3557.14,-500.527,34.4,189.43,-63.0685],[3505.45,-400.493,33.8,185.804,-62.2431],[3451.86,-300.491,33.1833,182.055,-61.3528],[3396.35,-200.796,32.55,178.187,-60.3911],[3338.88,-101.695,31.9,174.202,-59.3506],[3277.93,-1.07758,31.2167,170.005,-58.194],[3214.94,98.1467,30.5167,165.706,-56.9373],[3148.35,197.858,29.7833,161.211,-55.5363],[3076.55,299.506,29,156.436,-53.9364],[3002.54,398.055,28.2,151.602,-52.1823],[2921.59,498.726,27.3333,146.439,-50.1328],[2833.53,599.949,26.4,140.997,-47.7356],[2738.21,699.998,25.4,135.348,-44.9277],[2632.23,799.854,24.3,129.417,-41.5256],[2512.02,898.907,23.0667,123.224,-37.2863],[2365.62,999.668,21.5833,116.607,-31.5515],[2173.59,1099.63,19.6667,109.815,-23.0948],[1714.17,1196.9,15.2,104.7,-0.0289631]]], - [54,1227.03,[[4113.82,-2002.66,42.4,233.068,-71.4661],[4079.11,-1900.16,41.9333,230.635,-71.1032],[4045.37,-1802.55,41.4833,228.259,-70.743],[4010.1,-1702.63,41.0167,225.767,-70.3584],[3973.28,-1600.56,40.5333,223.154,-69.9476],[3937.44,-1503.4,40.0667,220.601,-69.5384],[3898.72,-1400.82,39.5667,217.835,-69.0856],[3860.99,-1303.21,39.0833,215.13,-68.6331],[3820.33,-1200.54,38.5667,212.207,-68.1326],[3780.66,-1102.88,38.0667,209.348,-67.6307],[3737.99,-1000.56,37.5333,206.266,-67.0754],[3694.97,-900.19,37,203.153,-66.4984],[3651.59,-801.79,36.4667,200.01,-65.8985],[3606.49,-702.412,35.9167,196.739,-65.2543],[3559.63,-602.282,35.35,193.34,-64.562],[3510.99,-501.639,34.7667,189.812,-63.8171],[3460.53,-400.731,34.1667,186.156,-63.0145],[3409.64,-302.512,33.5667,182.477,-62.1725],[3355.46,-201.794,32.9333,178.572,-61.2381],[3299.37,-101.632,32.2833,174.547,-60.2269],[3241.34,-2.32717,31.6167,170.406,-59.1304],[3179.87,98.1557,30.9167,166.052,-57.9095],[3114.89,199.199,30.1833,161.495,-56.5477],[3047.82,298.002,29.4333,156.851,-55.0597],[2975.62,398.258,28.6333,151.932,-53.3569],[2898.18,498.886,27.7833,146.764,-51.4049],[2815.38,598.714,26.8833,141.389,-49.162],[2724,699.763,25.9,135.671,-46.484],[2623.82,799.756,24.8333,129.709,-43.2835],[2511.45,898.79,23.65,123.48,-39.3381],[2376.9,999.535,22.25,116.794,-34.0882],[2207.98,1099.18,20.5167,109.865,-26.6711],[1931.64,1199.95,17.7333,102.956,-12.8105],[1695.27,1227.03,15.4,102.224,-0.08572]]], - [55,1256.83,[[4045.2,-2000.75,42.7,233.326,-71.9437],[4012.53,-1901.5,42.25,230.973,-71.6031],[3979.6,-1803.46,41.8,228.59,-71.2526],[3945.18,-1703.08,41.3333,226.089,-70.8783],[3909.24,-1600.53,40.85,223.467,-70.4785],[3874.26,-1502.9,40.3833,220.905,-70.0803],[3837.74,-1403.23,39.9,218.22,-69.6545],[3799.66,-1301.71,39.4,215.41,-69.1992],[3761.26,-1201.82,38.9,212.569,-68.7279],[3721.25,-1100.33,38.3833,209.6,-68.2232],[3680.92,-1000.64,37.8667,206.599,-67.6997],[3640.25,-902.764,37.35,203.567,-67.1564],[3596.61,-800.603,36.8,200.307,-66.5548],[3552.6,-700.564,36.25,197.015,-65.9281],[3508.23,-602.679,35.7,193.693,-65.2746],[3460.77,-501.249,35.1167,190.14,-64.5505],[3412.92,-402.315,34.5333,186.559,-63.7923],[3361.89,-300.48,33.9167,182.746,-62.9512],[3310.44,-201.517,33.3,178.91,-62.0667],[3255.73,-100.36,32.65,174.844,-61.0839],[3199.12,-0.0227988,31.9833,170.659,-60.0178],[3140.6,99.1812,31.3,166.358,-58.8592],[3078.67,199.205,30.5833,161.846,-57.5666],[3013.28,299.408,29.8333,157.134,-56.1216],[2944.35,399.108,29.05,152.237,-54.5022],[2870.34,499.528,28.2167,147.074,-52.6443],[2791.14,599.524,27.3333,141.682,-50.5079],[2705.11,699.547,26.3833,136.009,-47.9984],[2610.58,799.36,25.35,130.042,-44.9937],[2504.24,899.263,24.2,123.729,-41.2773],[2381.07,998.954,22.8833,117.062,-36.4935],[2227.87,1099.55,21.2667,109.956,-29.7905],[2007.96,1199.91,18.9833,102.655,-18.777],[1673.2,1256.83,15.5833,99.7375,-0.0754084]]], - [56,1286.24,[[3973.93,-2000.3,43,233.616,-72.4272],[3942.07,-1900.65,42.55,231.255,-72.0957],[3909.95,-1802.21,42.1,228.865,-71.7547],[3876.39,-1701.41,41.6333,226.355,-71.3905],[3842.55,-1601.95,41.1667,223.815,-71.0152],[3807.22,-1500.36,40.6833,221.151,-70.614],[3771.6,-1400.25,40.2,218.455,-70.1996],[3735.69,-1301.63,39.7167,215.727,-69.7715],[3698.25,-1201.21,39.2167,212.873,-69.3132],[3660.5,-1102.43,38.7167,209.987,-68.8387],[3621.18,-1002.13,38.2,206.972,-68.3302],[3580.26,-900.482,37.6667,203.826,-67.785],[3538.99,-800.799,37.1333,200.646,-67.218],[3496.09,-700.084,36.5833,197.335,-66.609],[3452.83,-601.515,36.0333,193.992,-65.9739],[3407.89,-502.238,35.4667,190.517,-65.2906],[3361.24,-402.493,34.8833,186.91,-64.5544],[3312.86,-302.53,34.2833,183.171,-63.7603],[3262.71,-202.614,33.6667,179.301,-62.9021],[3209.4,-100.441,33.0167,175.198,-61.9483],[3155.62,-1.54422,32.3667,171.076,-60.94],[3098.6,98.8397,31.6833,166.727,-59.8164],[3039.67,197.806,30.9833,162.265,-58.5923],[2975.96,299.433,30.2333,157.487,-57.1913],[2910.25,398.536,29.4667,152.619,-55.6547],[2839.61,498.703,28.65,147.469,-53.8907],[2763.93,598.82,27.7833,142.068,-51.8604],[2681.64,699.408,26.85,136.357,-49.4727],[2592.59,798.735,25.85,130.407,-46.6574],[2492.11,899.163,24.7333,124.041,-43.1646],[2376.85,999.476,23.4667,117.293,-38.7084],[2238.66,1099.26,21.9667,110.167,-32.6887],[2051.72,1199.66,19.9667,102.634,-23.3581],[1649.68,1286.23,15.7667,97.2268,-0.089421]]], - [57,1315.23,[[3900.04,-2001.37,43.3,233.938,-72.9162],[3869,-1901.31,42.85,231.57,-72.5942],[3837.71,-1802.46,42.4,229.173,-72.2628],[3805,-1701.23,41.9333,226.656,-71.9089],[3772.02,-1601.33,41.4667,224.106,-71.5441],[3738.79,-1502.78,41,221.526,-71.1678],[3704.09,-1402.15,40.5167,218.82,-70.7656],[3669.12,-1303.02,40.0333,216.083,-70.3499],[3632.64,-1202.05,39.5333,213.217,-69.9049],[3595.87,-1102.73,39.0333,210.318,-69.4441],[3557.56,-1001.85,38.5167,207.289,-68.9503],[3518.94,-902.779,38,204.226,-68.4376],[3478.75,-802.432,37.4667,201.03,-67.8875],[3436.97,-701.025,36.9167,197.7,-67.2966],[3394.83,-601.758,36.3667,194.337,-66.6802],[3351.06,-501.754,35.8,190.839,-66.017],[3305.63,-401.252,35.2167,187.206,-65.3023],[3258.5,-300.503,34.6167,183.439,-64.5311],[3210.98,-202.456,34.0167,179.643,-63.7206],[3160.4,-101.935,33.3833,175.61,-62.8195],[3108.04,-1.99271,32.7333,171.447,-61.8422],[3052.51,99.5021,32.05,167.052,-60.7527],[2995.13,199.618,31.35,162.538,-59.5651],[2935.87,298.015,30.6333,157.913,-58.2676],[2871.92,398.614,29.8667,152.973,-56.7795],[2804.57,498.371,29.0667,147.844,-55.1059],[2732.34,598.437,28.2167,142.443,-53.1783],[2653.71,699.406,27.3,136.707,-50.9086],[2568.53,799.581,26.3167,130.696,-48.2285],[2475.18,898.576,25.25,124.406,-45.0007],[2367.56,999.015,24.0333,117.623,-40.8644],[2240.77,1098.94,22.6167,110.432,-35.3713],[2075.97,1199.82,20.8,102.721,-27.1811],[1789.38,1299.75,17.7,95.0918,-10.4623],[1623.14,1315.23,15.9333,94.7035,-0.031154]]], - [58,1343.77,[[3822.39,-2000.27,43.5833,234.204,-73.3992],[3793.28,-1903.54,43.15,231.919,-73.0981],[3761.69,-1800.61,42.6833,229.426,-72.7644],[3730.99,-1702.59,42.2333,226.991,-72.433],[3698.89,-1602.24,41.7667,224.434,-72.079],[3666.54,-1503.24,41.3,221.845,-71.7138],[3632.77,-1402.14,40.8167,219.13,-71.3233],[3598.72,-1302.52,40.3333,216.382,-70.9198],[3563.21,-1201.06,39.8333,213.504,-70.4878],[3527.42,-1101.24,39.3333,210.592,-70.0404],[3491.34,-1003.07,38.8333,207.647,-69.5767],[3452.53,-900.221,38.3,204.47,-69.0631],[3414.64,-802.442,37.7833,201.358,-68.5458],[3373.97,-700.393,37.2333,198.01,-67.9725],[3332.96,-600.477,36.6833,194.627,-67.3745],[3291.62,-502.725,36.1333,191.21,-66.7502],[3247.41,-401.45,35.55,187.553,-66.0574],[3202.83,-302.682,34.9667,183.864,-65.3309],[3155.31,-201.037,34.35,179.933,-64.5237],[3107.39,-102.28,33.7333,175.972,-63.6731],[3056.45,-1.35517,33.0833,171.771,-62.726],[3003.75,98.7254,32.4167,167.44,-61.6964],[2949.27,197.648,31.7333,162.985,-60.5745],[2890.29,299.624,31,158.194,-59.289],[2829.44,399.37,30.25,153.295,-57.8786],[2765.31,498.565,29.4667,148.194,-56.292],[2696.46,598.416,28.6333,142.804,-54.4636],[2621.4,699.586,27.7333,137.054,-52.3081],[2541.42,798.747,26.7833,131.1,-49.8057],[2452.13,899.091,25.7333,124.714,-46.7355],[2351.87,999.008,24.5667,117.946,-42.9028],[2234.55,1099.18,23.2167,110.697,-37.8473],[2087.88,1199.6,21.55,102.926,-30.5949],[1868.8,1299.72,19.1,94.8112,-17.8784],[1596.77,1343.77,16.1167,92.1452,-0.0982172]]], - [59,1371.84,[[3742.14,-2000.74,43.8667,234.503,-73.8879],[3713.83,-1903.64,43.4333,232.212,-73.5958],[3683.11,-1800.31,42.9667,229.712,-73.2721],[3653.24,-1701.9,42.5167,227.269,-72.9506],[3622.02,-1601.14,42.05,224.704,-72.607],[3590.56,-1501.72,41.5833,222.106,-72.2527],[3557.71,-1400.19,41.1,219.382,-71.8738],[3524.59,-1300.13,40.6167,216.623,-71.4822],[3491.21,-1201.58,40.1333,213.83,-71.0772],[3456.4,-1101.24,39.6333,210.907,-70.6434],[3421.32,-1002.55,39.1333,207.949,-70.1938],[3384.77,-902.339,38.6167,204.857,-69.7117],[3346.73,-800.806,38.0833,201.628,-69.1942],[3308.39,-701.242,37.55,198.365,-68.6553],[3268.52,-600.661,37,194.963,-68.076],[3228.32,-502.238,36.45,191.526,-67.471],[3185.34,-400.243,35.8667,187.845,-66.7996],[3142,-300.748,35.2833,184.13,-66.0954],[3097.05,-201.058,34.6833,180.276,-65.3344],[3050.47,-101.438,34.0667,176.284,-64.5107],[3002.22,-2.1663,33.4333,172.155,-63.6173],[2951.01,98.9524,32.7667,167.783,-62.6209],[2898.06,198.95,32.0833,163.28,-61.5347],[2842.05,299.796,31.3667,158.543,-60.3187],[2784.23,398.653,30.6333,153.691,-58.9852],[2721.92,499.336,29.85,148.515,-57.4511],[2656.38,598.816,29.0333,143.145,-55.7182],[2586.18,698.168,28.1667,137.499,-53.7136],[2508.5,799.604,27.2167,131.407,-51.2971],[2424.56,899.374,26.2,125.049,-48.4252],[2330.02,999.72,25.0667,118.236,-44.83],[2221.81,1099.29,23.7833,111.002,-40.1921],[2089.55,1199.32,22.2333,103.198,-33.6909],[1906.35,1299.55,20.1167,94.8513,-23.1156],[1567.46,1371.83,16.2833,89.5736,-0.0923244]]], - [60,1399.38,[[3659.29,-2002.87,44.15,234.835,-74.3823],[3630.73,-1901.66,43.7,232.45,-74.0882],[3601.95,-1801.64,43.25,230.033,-73.7857],[3572.93,-1702.83,42.8,227.584,-73.4742],[3542.61,-1601.65,42.3333,225.011,-73.1413],[3512.04,-1501.8,41.8667,222.405,-72.798],[3481.23,-1403.31,41.4,219.766,-72.4438],[3449.06,-1302.76,40.9167,216.999,-72.0647],[3415.52,-1200.31,40.4167,214.099,-71.6589],[3382.83,-1102.82,39.9333,211.262,-71.2528],[3347.61,-1000.32,39.4167,208.193,-70.8028],[3313.25,-902.824,38.9167,205.187,-70.3507],[3276.31,-800.705,38.3833,201.944,-69.8497],[3239.06,-700.55,37.85,198.663,-69.3279],[3201.51,-602.389,37.3167,195.347,-68.7841],[3161.29,-500.308,36.75,191.786,-68.1808],[3120.73,-400.546,36.1833,188.188,-67.5493],[3078.64,-300.306,35.6,184.449,-66.8678],[3036.21,-202.597,35.0167,180.675,-66.1522],[2990.97,-102.095,34.4,176.653,-65.3558],[2944.13,-1.90835,33.7667,172.49,-64.4919],[2895.65,97.6735,33.1167,168.188,-63.5527],[2844.25,198.769,32.4333,163.641,-62.5031],[2791.14,298.453,31.7333,158.964,-61.3557],[2735.02,398.613,31,154.052,-60.0678],[2675.83,498.583,30.2333,148.917,-58.6179],[2612.21,599.658,29.4167,143.463,-56.9443],[2545.4,698.838,28.5667,137.825,-55.0452],[2472.68,798.81,27.65,131.821,-52.7954],[2392.59,899.474,26.65,125.404,-50.0718],[2303.6,999.93,25.55,118.575,-46.7072],[2202.78,1099.56,24.3167,111.317,-42.4112],[2081.51,1199.86,22.85,103.447,-36.4837],[1922.35,1299.94,20.95,94.9805,-27.3434],[1535.33,1399.38,16.4333,86.9877,-0.00761077]]], - [61,1426.39,[[3572.81,-2002.9,44.4167,235.113,-74.8715],[3545.09,-1901.33,43.9667,232.721,-74.5868],[3517.15,-1800.95,43.5167,230.298,-74.2938],[3488.99,-1701.77,43.0667,227.842,-73.9922],[3459.55,-1600.2,42.6,225.262,-73.6699],[3430.95,-1503.52,42.15,222.741,-73.3494],[3399.98,-1401.08,41.6667,219.999,-72.9943],[3368.76,-1300.11,41.1833,217.221,-72.6271],[3337.29,-1200.63,40.7,214.408,-72.2474],[3305.57,-1102.67,40.2167,211.561,-71.8544],[3272.5,-1002.95,39.7167,208.579,-71.4332],[3238.05,-901.662,39.2,205.46,-70.9815],[3203.32,-802.183,38.6833,202.304,-70.5119],[3167.19,-701.422,38.15,199.008,-70.0075],[3130.76,-602.647,37.6167,195.675,-69.4817],[3092.89,-502.898,37.0667,192.201,-68.9158],[3053.55,-402.403,36.5,188.583,-68.3059],[3012.72,-301.401,35.9167,184.82,-67.6476],[2970.38,-200.145,35.3167,180.913,-66.9359],[2927.68,-101.597,34.7167,176.97,-66.1865],[2882.24,-0.557088,34.0833,172.773,-65.3513],[2835.21,99.9094,33.4333,168.434,-64.4431],[2786.57,199.499,32.7667,163.956,-63.4532],[2736.29,297.896,32.0833,159.343,-62.3717],[2681.87,399.284,31.35,154.374,-61.1284],[2625.73,498.4,30.6,149.286,-59.7593],[2565.32,598.948,29.8,143.865,-58.1784],[2500.55,699.836,28.95,138.133,-56.3466],[2431.34,799.883,28.05,132.122,-54.2151],[2356.31,899.459,27.0833,125.772,-51.677],[2272.71,999.717,26.0167,118.953,-48.5355],[2179.02,1098.95,24.8333,111.715,-44.5709],[2066.96,1199.81,23.4333,103.775,-39.1318],[1926.52,1299.42,21.7,95.2699,-31.1242],[1697.32,1399.81,18.9167,86.1486,-15.2339],[1503.32,1426.39,16.6,84.368,-0.0588216]]], - [62,1452.82,[[3482.78,-2000.85,44.6667,235.335,-75.3564],[3456.91,-1902.71,44.2333,233.027,-75.0912],[3429.82,-1801.95,43.7833,230.598,-74.8079],[3402.53,-1702.38,43.3333,228.136,-74.5163],[3374,-1600.42,42.8667,225.549,-74.2047],[3346.27,-1503.35,42.4167,223.021,-73.8949],[3316.25,-1400.49,41.9333,220.271,-73.5514],[3287.03,-1302.56,41.4667,217.58,-73.2088],[3256.53,-1202.61,40.9833,214.758,-72.8421],[3224.73,-1100.79,40.4833,211.802,-72.4491],[3192.67,-1000.62,39.9833,208.808,-72.0417],[3160.36,-902.108,39.4833,205.777,-71.6191],[3126.71,-802.092,38.9667,202.607,-71.1654],[3091.68,-700.771,38.4333,199.296,-70.678],[3056.38,-601.431,37.9,195.947,-70.1699],[3019.67,-501.093,37.35,192.453,-69.6229],[2982.67,-402.925,36.8,188.922,-69.051],[2943.11,-301.214,36.2167,185.137,-68.4154],[2903.22,-202.018,35.6333,181.314,-67.7476],[2861.86,-102.651,35.0333,177.344,-67.0247],[2817.84,-0.73695,34.4,173.117,-66.2189],[2773.45,98.0777,33.7667,168.855,-65.3655],[2726.34,198.694,33.1,164.337,-64.4113],[2677.64,298.155,32.4167,159.678,-63.3683],[2626.13,398.413,31.7,154.77,-62.197],[2571.75,498.823,30.95,149.62,-60.8774],[2514.47,598.697,30.1667,144.239,-59.3856],[2452.99,699.252,29.3333,138.531,-57.6562],[2387.22,799.335,28.45,132.523,-55.6429],[2315.85,899.387,27.5,126.146,-53.2429],[2237.47,999.153,26.4667,119.361,-50.3166],[2149.38,1098.91,25.3167,112.081,-46.614],[2046.16,1199.47,23.9833,104.149,-41.6395],[1919.55,1299.3,22.3667,95.5776,-34.4747],[1734.21,1399.91,20.0333,86.1878,-21.7299],[1468.59,1452.82,16.75,81.7337,-0.0303354]]], - [63,1478.64,[[3390.28,-2000.54,44.9167,235.592,-75.8474],[3365.22,-1902.07,44.4833,233.278,-75.5912],[3339,-1800.96,44.0333,230.843,-75.3175],[3312.57,-1701.05,43.5833,228.375,-75.0358],[3285.94,-1602.36,43.1333,225.874,-74.7456],[3258.1,-1501.3,42.6667,223.245,-74.4353],[3230.04,-1401.59,42.2,220.581,-74.1151],[3201.76,-1303.25,41.7333,217.883,-73.7844],[3172.24,-1202.85,41.25,215.052,-73.4303],[3141.45,-1100.57,40.75,212.085,-73.0509],[3111.46,-1003.26,40.2667,209.18,-72.671],[3079.14,-900.947,39.75,206.037,-72.2495],[3046.56,-800.438,39.2333,202.853,-71.8114],[3013.71,-701.755,38.7167,199.632,-71.3557],[2979.54,-601.834,38.1833,196.267,-70.8656],[2944.02,-500.89,37.6333,192.756,-70.3379],[2908.21,-402.111,37.0833,189.206,-69.7861],[2871.02,-302.635,36.5167,185.508,-69.1906],[2832.42,-202.705,35.9333,181.662,-68.5469],[2792.4,-102.575,35.3333,177.666,-67.85],[2750.93,-2.51135,34.7167,173.521,-67.094],[2706.84,99.789,34.0667,169.113,-66.2498],[2662.39,198.785,33.4167,164.67,-65.3528],[2615.27,299.24,32.7333,159.968,-64.3475],[2566.6,398.244,32.0333,155.125,-63.2452],[2514,499.871,31.2833,149.916,-61.9741],[2459.76,598.93,30.5167,144.582,-60.568],[2401.49,699,29.7,138.906,-58.9373],[2339.1,798.955,28.8333,132.911,-57.0379],[2271.3,899.304,27.9,126.52,-54.7716],[2196.75,999.87,26.8833,119.682,-52.0041],[2114.08,1099.66,25.7667,112.394,-48.5484],[2019.34,1199.13,24.5,104.538,-44.0132],[1903.39,1299.71,22.9667,95.8712,-37.4986],[1746.34,1399.67,20.9167,86.4163,-26.7871],[1432.58,1478.64,16.9,79.0755,-0.0329656]]], - [64,1503.83,[[3295.27,-2002.02,45.1667,235.883,-76.3443],[3271.05,-1903.21,44.7333,233.565,-76.0973],[3245.7,-1801.75,44.2833,231.124,-75.8333],[3220.15,-1701.49,43.8333,228.65,-75.5616],[3194.4,-1602.43,43.3833,226.143,-75.2817],[3167.48,-1501,42.9167,223.507,-74.9824],[3140.35,-1400.91,42.45,220.836,-74.6735],[3113.01,-1302.17,41.9833,218.129,-74.3545],[3084.47,-1201.37,41.5,215.289,-74.0129],[3055.7,-1102.07,41.0167,212.411,-73.6594],[3025.7,-1000.94,40.5167,209.396,-73.2804],[2995.47,-901.477,40.0167,206.341,-72.8871],[2963.97,-800.459,39.5,203.146,-72.4649],[2932.23,-701.264,38.9833,199.91,-72.0256],[2899.2,-600.807,38.45,196.53,-71.5531],[2865.9,-502.351,37.9167,193.109,-71.0601],[2831.3,-402.942,37.3667,189.541,-70.5287],[2795.35,-302.812,36.8,185.824,-69.9552],[2758.05,-202.202,36.2167,181.955,-69.3353],[2719.37,-101.364,35.6167,177.934,-68.6638],[2679.29,-0.566751,35,173.76,-67.9353],[2637.78,99.9128,34.3667,169.433,-67.143],[2594.83,199.782,33.7167,164.955,-66.2793],[2550.41,298.737,33.05,160.327,-65.3355],[2503.38,398.796,32.35,155.437,-64.275],[2453.7,499.331,31.6167,150.29,-63.0798],[2401.31,599.675,30.85,144.891,-61.7278],[2346.18,699.113,30.05,139.255,-60.192],[2287.08,798.783,29.2,133.282,-58.4025],[2222.78,899.255,28.2833,126.889,-56.2655],[2153.17,998.819,27.3,120.125,-53.6985],[2074.56,1099.96,26.2,112.743,-50.4352],[1986.75,1199.06,24.9833,104.914,-46.2602],[1880.99,1299.35,23.5333,96.2571,-40.3656],[1743.19,1399.47,21.6667,86.7197,-31.0501],[1461.33,1500,17.9167,76.4931,-6.43387],[1395.29,1503.83,17.05,76.3937,-0.0703381]]], - [65,1528.35,[[3196.88,-2001.49,45.4,236.12,-76.8378],[3173.5,-1902.38,44.9667,233.797,-76.5997],[3149.02,-1800.6,44.5167,231.351,-76.3454],[3124.35,-1700.01,44.0667,228.87,-76.0835],[3099.49,-1600.62,43.6167,226.356,-75.8138],[3074.43,-1502.46,43.1667,223.808,-75.5359],[3048.25,-1401.98,42.7,221.13,-75.2385],[3021.85,-1302.84,42.2333,218.416,-74.9314],[2994.3,-1201.62,41.75,215.567,-74.6025],[2966.53,-1101.9,41.2667,212.68,-74.2621],[2937.58,-1000.33,40.7667,209.654,-73.8972],[2908.39,-900.423,40.2667,206.589,-73.5185],[2878.98,-802.187,39.7667,203.485,-73.1252],[2848.34,-702.463,39.25,200.237,-72.7027],[2816.46,-601.456,38.7167,196.842,-72.2482],[2784.33,-502.443,38.1833,193.406,-71.7738],[2750.93,-402.455,37.6333,189.821,-71.2626],[2716.24,-301.721,37.0667,186.084,-70.7107],[2680.24,-200.484,36.4833,182.193,-70.1139],[2643.95,-101.778,35.9,178.26,-69.4859],[2605.27,-0.225697,35.2833,174.059,-68.7854],[2566.28,98.4113,34.6667,169.817,-68.044],[2524.84,199.177,34.0167,165.305,-67.2145],[2481.99,299.06,33.35,160.639,-66.3076],[2437.7,397.744,32.6667,155.822,-65.3133],[2389.77,499.421,31.9333,150.623,-64.1658],[2340.34,598.815,31.1833,145.282,-62.8963],[2287.16,699.637,30.3833,139.574,-61.4225],[2231.29,798.867,29.55,133.632,-59.7388],[2170.41,899.297,28.65,127.247,-57.7266],[2104.44,999.252,27.6833,120.462,-55.3073],[2030.96,1099.89,26.6167,113.121,-52.2759],[1948.65,1199.49,25.4333,105.251,-48.3887],[1851.45,1299.63,24.05,96.5991,-43.0092],[1728.27,1399.89,22.3167,87.008,-34.7462],[1531.18,1499.98,19.5833,76.3782,-17.8423],[1355.5,1528.35,17.1833,73.6958,-0.0194209]]], - [66,1552.17,[[3096.07,-2002.83,45.6333,236.392,-77.3373],[3073.53,-1903.4,45.2,234.064,-77.1084],[3049.94,-1801.29,44.75,231.613,-76.8638],[3026.16,-1700.36,44.3,229.128,-76.612],[3002.2,-1600.64,43.85,226.608,-76.3526],[2978.05,-1502.14,43.4,224.053,-76.0853],[2952.81,-1401.29,42.9333,221.368,-75.7993],[2927.37,-1301.8,42.4667,218.646,-75.5039],[2900.82,-1200.2,41.9833,215.788,-75.1876],[2874.05,-1100.09,41.5,212.892,-74.8602],[2847.07,-1001.5,41.0167,209.958,-74.521],[2818.95,-901.129,40.5167,206.882,-74.1571],[2790.6,-802.429,40.0167,203.767,-73.7792],[2761.08,-702.222,39.5,200.506,-73.3731],[2730.36,-600.71,38.9667,197.098,-72.9363],[2699.39,-501.187,38.4333,193.646,-72.4804],[2667.21,-400.668,37.8833,190.044,-71.9889],[2634.77,-302.327,37.3333,186.398,-71.4742],[2600.08,-200.444,36.75,182.487,-70.9011],[2565.11,-101.085,36.1667,178.531,-70.298],[2528.86,-1.56235,35.5667,174.419,-69.6437],[2491.3,97.8574,34.95,170.149,-68.9324],[2451.38,199.456,34.3,165.605,-68.1363],[2411.14,297.727,33.65,161.02,-67.2882],[2367.44,399.78,32.95,156.043,-66.3108],[2323.37,497.855,32.25,151.033,-65.2602],[2275.77,598.457,31.5,145.636,-64.044],[2225.63,698.507,30.7167,139.98,-62.6617],[2171.83,799.225,29.8833,133.957,-61.0492],[2114.3,899.452,29,127.591,-59.1575],[2051.89,999.623,28.05,120.797,-56.8812],[1983.37,1099.48,27.0167,113.52,-54.0727],[1906.41,1199.29,25.8667,105.642,-50.4641],[1816.28,1299.84,24.5333,96.9539,-45.514],[1705.82,1399.57,22.9167,87.3962,-38.1697],[1544.32,1499.88,20.5833,76.5983,-24.4876],[1314.53,1552.17,17.3167,70.9742,-0.00278175]]], - [67,1575.28,[[2991.99,-2002.21,45.85,236.61,-77.8341],[2970.3,-1902.49,45.4167,234.278,-77.6142],[2947.6,-1800.09,44.9667,231.822,-77.3793],[2925.57,-1702.59,44.5333,229.424,-77.1465],[2902.52,-1602.51,44.0833,226.898,-76.8976],[2878.43,-1500.02,43.6167,224.243,-76.6314],[2855.01,-1402.44,43.1667,221.647,-76.3667],[2830.54,-1302.57,42.7,218.918,-76.0832],[2804.99,-1200.58,42.2167,216.053,-75.7796],[2779.24,-1100.08,41.7333,213.148,-75.4654],[2753.29,-1001.08,41.25,210.204,-75.1399],[2726.23,-900.296,40.75,207.118,-74.7906],[2698.96,-801.174,40.25,203.992,-74.4279],[2670.56,-700.526,39.7333,200.719,-74.038],[2641.93,-601.711,39.2167,197.404,-73.632],[2612.15,-501.662,38.6833,193.938,-73.1948],[2581.19,-400.595,38.1333,190.32,-72.7234],[2549.98,-301.701,37.5833,186.657,-72.2297],[2517.57,-202.117,37.0167,182.838,-71.6961],[2483.95,-102.087,36.4333,178.862,-71.1182],[2449.08,-1.86634,35.8333,174.726,-70.4913],[2412.96,98.2777,35.2167,170.429,-69.8095],[2375.55,198.064,34.5833,165.972,-69.0665],[2335.86,299.698,33.9167,161.234,-68.2329],[2295.84,397.787,33.25,156.456,-67.3414],[2252.47,499.218,32.5333,151.281,-66.3116],[2207.72,598.64,31.8,145.951,-65.1726],[2159.51,699.884,31.0167,140.232,-63.8489],[2108.82,799.902,30.2,134.254,-62.3358],[2054.57,899.772,29.3333,127.916,-60.5604],[1995.64,999.992,28.4,121.125,-58.4224],[1931.93,1098.8,27.4,113.933,-55.8274],[1859.06,1199.91,26.2667,105.961,-52.4338],[1776.83,1299.03,25,97.4028,-47.9526],[1676.26,1399.1,23.4667,87.8148,-41.3318],[1537.97,1499.51,21.3833,76.9462,-29.7564],[1272.38,1575.28,17.45,68.2293,-0.024556]]], - [68,1597.63,[[2885.59,-2003.51,46.0667,236.865,-78.3369],[2864.76,-1903.5,45.6333,234.529,-78.1262],[2842.96,-1800.78,45.1833,232.068,-77.9011],[2821.81,-1702.98,44.75,229.665,-77.678],[2799.67,-1602.59,44.3,227.134,-77.4395],[2777.36,-1503.41,43.85,224.568,-77.1937],[2754.04,-1401.86,43.3833,221.87,-76.9306],[2730.54,-1301.66,42.9167,219.134,-76.659],[2706.85,-1202.81,42.45,216.361,-76.3783],[2682.13,-1101.9,41.9667,213.448,-76.0774],[2657.21,-1002.5,41.4833,210.497,-75.7657],[2631.23,-901.277,40.9833,207.402,-75.4313],[2605.05,-801.718,40.4833,204.265,-75.084],[2577.78,-700.613,39.9667,200.98,-74.7107],[2550.29,-601.338,39.45,197.653,-74.3218],[2521.7,-500.809,38.9167,194.173,-73.9031],[2492.88,-402.287,38.3833,190.65,-73.4655],[2462.92,-302.822,37.8333,186.971,-72.9932],[2431.81,-202.644,37.2667,183.135,-72.4827],[2399.53,-101.996,36.6833,179.138,-71.9297],[2366.06,-1.13253,36.0833,174.979,-71.3296],[2331.38,99.6783,35.4667,170.657,-70.677],[2296.42,197.552,34.85,166.288,-69.9847],[2259.28,297.49,34.2,161.638,-69.2082],[2219.91,398.928,33.5167,156.703,-68.3348],[2179.25,498.929,32.8167,151.605,-67.373],[2136.31,599.383,32.0833,146.225,-66.2843],[2091.03,699.617,31.3167,140.569,-65.0465],[2043.39,798.913,30.5167,134.644,-63.6319],[1992.35,898.4,29.6667,128.342,-61.9718],[1936.83,998.64,28.75,121.565,-59.9717],[1875.72,1099.52,27.75,114.234,-57.4984],[1808.93,1198.68,26.6667,106.427,-54.4097],[1731.13,1299.8,25.4167,97.7065,-50.2021],[1639.98,1398.99,23.9667,88.2036,-44.249],[1518.14,1499.74,22.05,77.27,-34.1541],[1229.07,1597.63,17.5833,65.4621,-0.0902661]]], - [69,1619.2,[[2776.07,-2002.92,46.2667,237.066,-78.8378],[2756.1,-1902.64,45.8333,234.726,-78.6362],[2735.99,-1803.44,45.4,232.352,-78.4289],[2714.94,-1701.58,44.95,229.852,-78.2074],[2693.72,-1600.9,44.5,227.316,-77.9792],[2672.33,-1501.44,44.05,224.744,-77.7439],[2650.79,-1403.2,43.6,222.136,-77.5014],[2628.27,-1302.65,43.1333,219.393,-77.2417],[2605.57,-1203.45,42.6667,216.613,-76.9733],[2581.88,-1102.17,42.1833,213.693,-76.6856],[2558.01,-1002.39,41.7,210.733,-76.3877],[2533.11,-900.775,41.2,207.628,-76.0679],[2508.02,-800.821,40.7,204.481,-75.7358],[2482.74,-702.551,40.2,201.292,-75.3906],[2456.41,-602.799,39.6833,197.954,-75.0192],[2429.01,-501.773,39.15,194.462,-74.6193],[2401.4,-402.75,38.6167,190.925,-74.2013],[2372.7,-302.762,38.0667,187.23,-73.7501],[2342.89,-202.04,37.5,183.376,-73.2623],[2311.97,-100.826,36.9167,179.359,-72.7339],[2280.79,-2.15661,36.3333,175.295,-72.1767],[2247.57,99.3423,35.7167,170.948,-71.5537],[2214.09,197.911,35.1,166.553,-70.8928],[2178.51,298.589,34.45,161.871,-70.1512],[2141.73,398.363,33.7833,157.022,-69.3379],[2102.78,499.271,33.0833,151.884,-68.4203],[2062.59,598.429,32.3667,146.58,-67.4057],[2019.24,699.783,31.6,140.868,-66.2258],[1974.57,798.222,30.8167,135.003,-64.9059],[1925.7,899.097,29.9667,128.622,-63.3241],[1873.51,999.064,29.0667,121.869,-61.4529],[1816.97,1098.48,28.1,114.656,-59.1785],[1753.04,1199.95,27.0167,106.677,-56.2403],[1681.57,1299.89,25.8167,98.0655,-52.3988],[1597.38,1399.67,24.4167,88.5102,-46.941],[1490.02,1499.35,22.65,77.686,-38.1343],[1307.26,1599.69,19.6833,65.0493,-17.3698],[1183.54,1619.2,17.7,62.6773,-0.0571379]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 2280.79; -_maxRange = 3446.23; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg2.sqf deleted file mode 100644 index a64705455a..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg2.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg2 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1099.15,[[5084.41,-2003.09,41.0833,235.285,-66.716],[5040.83,-1902.86,40.6167,233.027,-66.2693],[4995.32,-1800.44,40.1333,230.665,-65.7934],[4951.01,-1702.91,39.6667,228.362,-65.3206],[4904.74,-1603.32,39.1833,225.953,-64.8166],[4856.46,-1501.85,38.6833,223.439,-64.2793],[4807.78,-1401.97,38.1833,220.902,-63.7249],[4757.05,-1300.47,37.6667,218.258,-63.1335],[4705.88,-1200.73,37.15,215.593,-62.5224],[4654.27,-1102.78,36.6333,212.908,-61.8905],[4598.86,-1000.49,36.0833,210.03,-61.1941],[4542.96,-900.279,35.5333,207.133,-60.472],[4486.58,-802.181,34.9833,204.221,-59.7229],[4426.26,-700.477,34.4,201.117,-58.8975],[4365.39,-601.217,33.8167,198.001,-58.0385],[4302.23,-501.707,33.2167,194.788,-57.1181],[4236.73,-402.206,32.6,191.481,-56.1312],[4167.05,-300.415,31.95,187.995,-55.0433],[4096.72,-201.838,31.3,184.516,-53.9038],[4022.09,-101.725,30.6167,180.872,-52.6471],[3943.07,-0.659567,29.9,177.077,-51.2605],[3861.42,98.528,29.1667,173.231,-49.7645],[3773.33,199.683,28.3833,169.18,-48.0751],[3680.54,299.79,27.5667,165.036,-46.2072],[3581.03,399.957,26.7,160.752,-44.0989],[3474.64,499,25.7833,156.376,-41.7196],[3357.24,598.828,24.7833,151.827,-38.9398],[3226.53,698.577,23.6833,147.15,-35.6504],[3076.05,798.92,22.4333,142.341,-31.6096],[2894.82,899.729,20.95,137.479,-26.3985],[2658.56,999.338,19.05,132.886,-19.1122],[2076.38,1099.15,14.5167,131.339,-0.0164026]]], - [46,1135.7,[[5040.91,-2000.88,41.4667,235.584,-67.2068],[4998.14,-1900.15,41,233.315,-66.7696],[4955.03,-1800.73,40.5333,231.023,-66.32],[4911.56,-1702.64,40.0667,228.708,-65.8576],[4866.16,-1602.47,39.5833,226.287,-65.3647],[4818.8,-1500.39,39.0833,223.758,-64.839],[4772.64,-1403.22,38.6,221.291,-64.315],[4722.88,-1301.02,38.0833,218.63,-63.737],[4672.69,-1200.58,37.5667,215.947,-63.1395],[4622.07,-1101.9,37.05,213.242,-62.5218],[4569.38,-1001.94,36.5167,210.429,-61.8618],[4514.56,-900.892,35.9667,207.509,-61.1563],[4459.27,-801.945,35.4167,204.57,-60.4243],[4401.81,-702.23,34.85,201.526,-59.641],[4342.14,-601.981,34.2667,198.379,-58.8022],[4280.22,-501.443,33.6667,195.13,-57.9031],[4216,-400.874,33.05,191.783,-56.9387],[4149.44,-300.544,32.4167,188.342,-55.9031],[4080.5,-200.735,31.7667,184.812,-54.79],[4009.14,-101.743,31.1,181.202,-53.5924],[3933.5,-1.53511,30.4,177.43,-52.2702],[3853.5,99.2822,29.6667,173.509,-50.8097],[3770.88,197.919,28.9167,169.545,-49.2311],[3681.86,298.074,28.1167,165.383,-47.4468],[3586.3,398.681,27.2667,161.057,-45.4302],[3484.03,498.585,26.3667,156.613,-43.1511],[3371.04,599.833,25.3833,151.955,-40.482],[3248.96,698.687,24.3333,147.26,-37.4148],[3107.69,799.764,23.1333,142.325,-33.6243],[2944.55,899.161,21.7667,137.386,-28.9307],[2736.32,999.86,20.05,132.437,-22.4865],[2416.15,1099.6,17.4667,128.248,-11.8332],[2070.64,1135.7,14.75,128.878,-0.0016359]]], - [47,1172.16,[[4995.91,-2003.51,41.8667,235.994,-67.7178],[4953.98,-1902.22,41.4,233.716,-67.2906],[4911.71,-1802.24,40.9333,231.414,-66.8513],[4867.56,-1700.09,40.45,229.005,-66.3831],[4824.58,-1602.82,39.9833,226.655,-65.9177],[4778.14,-1500.11,39.4833,224.112,-65.404],[4732.88,-1402.34,39,221.63,-64.8918],[4685.66,-1302.78,38.5,219.04,-64.3453],[4636.46,-1201.61,37.9833,216.339,-63.7617],[4586.85,-1102.21,37.4667,213.616,-63.1583],[4535.19,-1001.49,36.9333,210.782,-62.5136],[4483.09,-902.707,36.4,207.928,-61.8455],[4428.9,-802.897,35.85,204.965,-61.1309],[4372.59,-702.284,35.2833,201.893,-60.3661],[4314.1,-601.1,34.7,198.715,-59.5468],[4255.1,-502.375,34.1167,195.522,-58.6934],[4192.17,-400.721,33.5,192.137,-57.752],[4128.68,-301.897,32.8833,188.745,-56.7679],[4061.14,-200.838,32.2333,185.168,-55.6819],[3991.22,-100.55,31.5667,181.504,-54.5128],[3918.89,-1.34098,30.8833,177.761,-53.2529],[3842.32,98.7503,30.1667,173.859,-51.8603],[3761.4,199.094,29.4167,169.813,-50.32],[3676.05,299.017,28.6333,165.644,-48.6145],[3584.33,399.762,27.8,161.291,-46.6848],[3487.94,498.369,26.9333,156.877,-44.5435],[3381.13,599.121,25.9833,152.207,-42.0291],[3263.63,699.863,24.95,147.373,-39.0839],[3133.18,799.584,23.8167,142.431,-35.5895],[2981.57,899.864,22.5167,137.333,-31.2298],[2798.1,999.388,20.9667,132.23,-25.5436],[2542.94,1099.39,18.85,127.377,-16.9993],[2063.15,1172.16,14.9833,126.394,-0.00488022]]], - [48,1208.49,[[4944.93,-2000.12,42.2333,236.273,-68.2036],[4905.3,-1901.97,41.7833,234.068,-67.8008],[4863.86,-1801.46,41.3167,231.755,-67.3715],[4822.09,-1702.27,40.85,229.418,-66.9299],[4778.46,-1600.95,40.3667,226.973,-66.4591],[4734.47,-1501.09,39.8833,224.502,-65.9739],[4690.11,-1402.69,39.4,222.007,-65.4737],[4643.85,-1302.48,38.9,219.401,-64.9399],[4595.63,-1200.64,38.3833,216.683,-64.3699],[4547.01,-1100.56,37.8667,213.941,-63.7804],[4497.97,-1002.27,37.35,211.177,-63.1704],[4446.93,-902.704,36.8167,208.301,-62.5183],[4393.84,-802.082,36.2667,205.314,-61.8206],[4338.66,-700.622,35.7,202.215,-61.0737],[4283,-601.44,35.1333,199.098,-60.2968],[4225.21,-501.755,34.55,195.874,-59.464],[4165.24,-401.814,33.95,192.544,-58.5703],[4103.06,-301.877,33.3333,189.112,-57.6105],[4038.62,-202.214,32.7,185.582,-56.5786],[3970.16,-100.612,32.0333,181.867,-55.4387],[3899.34,-0.0413654,31.35,178.066,-54.2097],[3826.11,99.1783,30.65,174.189,-52.8828],[3748.66,198.932,29.9167,170.158,-51.4142],[3666.91,298.567,29.15,165.988,-49.7874],[3578.95,399.389,28.3333,161.616,-47.9445],[3486.47,498.421,27.4833,157.162,-45.8979],[3385.67,598.365,26.5667,152.501,-43.5339],[3274.49,699.157,25.5667,147.624,-40.7575],[3150.74,799.943,24.4667,142.572,-37.4518],[3012.15,898.913,23.25,137.452,-33.4745],[2844.68,999.415,21.8,132.142,-28.2861],[2627.44,1099.58,19.95,126.913,-20.9879],[2216,1199.84,16.5333,123.047,-6.01439],[2053.9,1208.49,15.2167,123.886,-0.027443]]], - [49,1244.65,[[4892.4,-2001.68,42.6167,236.665,-68.7091],[4853.58,-1903.03,42.1667,234.451,-68.3159],[4812.99,-1801.99,41.7,232.129,-67.8968],[4772.07,-1702.26,41.2333,229.782,-67.4656],[4729.33,-1600.37,40.75,227.324,-67.0058],[4687.73,-1503.36,40.2833,224.927,-66.5485],[4642.79,-1400.95,39.7833,222.332,-66.0434],[4597.47,-1300.14,39.2833,219.711,-65.522],[4551.77,-1200.94,38.7833,217.065,-64.9835],[4504.15,-1100.17,38.2667,214.306,-64.4081],[4456.13,-1001.17,37.75,211.523,-63.8127],[4406.14,-900.876,37.2167,208.626,-63.1761],[4355.72,-802.531,36.6833,205.707,-62.5159],[4301.7,-700.21,36.1167,202.583,-61.7873],[4247.2,-600.158,35.55,199.438,-61.0292],[4192.23,-502.408,34.9833,196.276,-60.24],[4133.52,-401.453,34.3833,192.912,-59.3687],[4072.65,-300.462,33.7667,189.441,-58.4325],[4011.23,-202.319,33.15,185.962,-57.4527],[3945.91,-101.999,32.5,182.291,-56.3698],[3876.6,-0.0472202,31.8167,178.435,-55.1723],[3806.65,98.251,31.1333,174.589,-53.9104],[3730.88,199.616,30.4,170.485,-52.4797],[3652.64,298.803,29.65,166.324,-50.9289],[3568.36,399.529,28.85,161.942,-49.1703],[3479.69,498.801,28.0167,157.46,-47.2157],[3382.93,599.439,27.1167,152.741,-44.9542],[3277.87,699.81,26.15,147.85,-42.339],[3162.46,799.628,25.1,142.799,-39.2657],[3032.68,899.115,23.9333,137.582,-35.5511],[2880.53,998.984,22.5833,132.188,-30.8445],[2689.83,1099.31,20.9167,126.708,-24.4335],[2403.92,1199.74,18.4667,121.633,-13.9516],[2042.87,1244.65,15.45,121.354,-0.0706346]]], - [50,1280.6,[[4835.43,-2000.95,42.9833,237.006,-69.205],[4797.42,-1901.81,42.5333,234.783,-68.8211],[4757.67,-1800.27,42.0667,232.452,-68.4118],[4717.6,-1700.04,41.6,230.095,-67.9908],[4677.21,-1601.13,41.1333,227.711,-67.5575],[4635.02,-1500.1,40.65,225.216,-67.0952],[4592.49,-1400.54,40.1667,222.695,-66.6185],[4549.6,-1302.46,39.6833,220.148,-66.1269],[4504.87,-1202.59,39.1833,217.487,-65.6019],[4458.27,-1101.1,38.6667,214.712,-65.041],[4411.27,-1001.39,38.15,211.91,-64.4605],[4362.34,-900.349,37.6167,208.994,-63.8396],[4313,-801.251,37.0833,206.053,-63.1956],[4261.68,-701.121,36.5333,202.996,-62.5061],[4208.35,-600.183,35.9667,199.825,-61.7672],[4154.56,-501.538,35.4,196.634,-60.9979],[4098.71,-402.421,34.8167,193.332,-60.1723],[4039.15,-300.36,34.2,189.825,-59.2602],[3979.06,-201.135,33.5833,186.305,-58.3053],[3916.8,-102.225,32.95,182.684,-57.2772],[3850.67,-1.43606,32.2833,178.869,-56.1398],[3782.26,98.2776,31.6,174.965,-54.9114],[3709.85,198.888,30.8833,170.887,-53.5503],[3633.35,299.762,30.1333,166.647,-52.0404],[3554.39,398.142,29.3667,162.357,-50.4002],[3467.72,499.563,28.5333,157.764,-48.4983],[3376.66,598.857,27.6667,153.089,-46.3791],[3277.56,698.629,26.7333,148.203,-43.9239],[3168.43,798.729,25.7167,143.102,-41.0312],[3045.36,899.605,24.5833,137.756,-37.5206],[2904.22,999.976,23.3,132.242,-33.163],[2735.07,1099.3,21.7833,126.649,-27.4787],[2502.51,1199.68,19.7333,121.086,-18.9258],[2028.08,1280.6,15.6667,118.816,-0.0572673]]], - [51,1316.3,[[4775.45,-2001.62,43.35,237.379,-69.7059],[4738.25,-1902,42.9,235.149,-69.3315],[4700.76,-1803.57,42.45,232.893,-68.9467],[4661.56,-1702.77,41.9833,230.526,-68.5363],[4622.04,-1603.29,41.5167,228.133,-68.114],[4580.78,-1501.67,41.0333,225.628,-67.6634],[4539.16,-1401.51,40.55,223.094,-67.1989],[4497.21,-1302.82,40.0667,220.535,-66.7196],[4453.46,-1202.31,39.5667,217.86,-66.2078],[4407.86,-1100.16,39.05,215.068,-65.6609],[4363.37,-1002.99,38.55,212.34,-65.1133],[4315.51,-901.186,38.0167,209.405,-64.5085],[4267.25,-801.318,37.4833,206.443,-63.8811],[4217.05,-700.387,36.9333,203.364,-63.2091],[4166.43,-601.577,36.3833,200.262,-62.5106],[4113.83,-502.021,35.8167,197.043,-61.7614],[4059.22,-401.957,35.2333,193.71,-60.9573],[4002.56,-301.633,34.6333,190.263,-60.0933],[3943.8,-201.309,34.0167,186.706,-59.1638],[3882.93,-101.257,33.3833,183.041,-58.1627],[3819.89,-1.76299,32.7333,179.274,-57.0831],[3753.02,99.297,32.05,175.314,-55.8874],[3683.89,199.008,31.35,171.267,-54.5933],[3610.78,299.264,30.6167,167.047,-53.1572],[3533.63,399.411,29.85,162.672,-51.5615],[3452.33,498.752,29.05,158.162,-49.7856],[3365.1,598.437,28.2,153.455,-47.7655],[3270.06,699.069,27.2833,148.506,-45.4211],[3167.01,798.968,26.3,143.385,-42.7005],[3052.2,899.227,25.2167,138.027,-39.4389],[2921.7,999.381,24,132.456,-35.4245],[2767.73,1099.13,22.5833,126.716,-30.2627],[2569.05,1199.23,20.7833,120.882,-22.955],[2221.07,1299.82,17.7,115.792,-8.84472],[2011.57,1316.3,15.8833,116.254,-0.0642618]]], - [52,1351.71,[[4711.08,-2000.03,43.7,237.702,-70.1983],[4676.06,-1903.65,43.2667,235.546,-69.8467],[4638.03,-1801.07,42.8,233.198,-69.4576],[4601.07,-1703.39,42.35,230.907,-69.0718],[4562.43,-1603.38,41.8833,228.505,-68.6602],[4522.07,-1501.2,41.4,225.988,-68.2211],[4481.39,-1400.47,40.9167,223.443,-67.7682],[4440.36,-1301.22,40.4333,220.87,-67.301],[4397.58,-1200.11,39.9333,218.181,-66.802],[4354.43,-1100.63,39.4333,215.464,-66.2863],[4310.94,-1002.79,38.9333,212.721,-65.7529],[4264.15,-900.275,38.4,209.767,-65.1637],[4218.45,-802.799,37.8833,206.878,-64.5718],[4169.39,-701.053,37.3333,203.778,-63.9178],[4119.91,-601.417,36.7833,200.652,-63.2377],[4068.5,-501.003,36.2167,197.407,-62.5082],[4015.11,-400.047,35.6333,194.044,-61.725],[3961.27,-301.572,35.05,190.66,-60.9071],[3903.86,-200.207,34.4333,187.066,-60.0024],[3845.94,-101.699,33.8167,183.457,-59.054],[3784.35,-1.00193,33.1667,179.644,-58.0037],[3720.61,98.883,32.5,175.729,-56.869],[3654.69,197.646,31.8167,171.719,-55.6413],[3583.29,299.498,31.0833,167.429,-54.2456],[3509.58,399.17,30.3333,163.069,-52.7283],[3431.86,498.344,29.55,158.56,-51.0388],[3348.37,598.24,28.7167,153.832,-49.1149],[3257.28,699.534,27.8167,148.833,-46.8787],[3160.13,798.912,26.8667,143.715,-44.3255],[3051.58,899.6,25.8167,138.299,-41.2549],[2931.31,998.675,24.6667,132.735,-37.5707],[2788.34,1099.8,23.3167,126.823,-32.7928],[2612.87,1199.83,21.6833,120.802,-26.3436],[2357.62,1299.53,19.35,114.963,-15.9602],[1991.44,1351.71,16.0833,113.684,-0.0109024]]], - [53,1386.79,[[4645.04,-2003.67,44.0667,238.138,-70.7087],[4609.5,-1903.09,43.6167,235.893,-70.3531],[4572.34,-1800.03,43.15,233.537,-69.974],[4536.21,-1701.87,42.7,231.237,-69.598],[4498.45,-1601.37,42.2333,228.825,-69.1969],[4460.37,-1502.19,41.7667,226.385,-68.7838],[4420.62,-1400.88,41.2833,223.829,-68.3429],[4380.53,-1301.05,40.8,221.244,-67.888],[4340.12,-1202.7,40.3167,218.632,-67.4185],[4297.98,-1102.55,39.8167,215.901,-66.9167],[4254.07,-1000.78,39.3,213.051,-66.3801],[4209.78,-900.794,38.7833,210.171,-65.8244],[4165.14,-802.605,38.2667,207.265,-65.2484],[4117.21,-700.092,37.7167,204.143,-64.6118],[4070.34,-602.693,37.1833,201.09,-63.9701],[4020.13,-501.406,36.6167,197.819,-63.2607],[3969.48,-402.416,36.05,194.525,-62.5211],[3915.4,-300.146,35.45,191.014,-61.703],[3860.84,-200.53,34.85,187.482,-60.8469],[3804.28,-100.952,34.2333,183.835,-59.9246],[3745.68,-1.68815,33.6,180.077,-58.9298],[3683.45,99.4628,32.9333,176.111,-57.827],[3619.09,199.537,32.25,172.046,-56.6332],[3552.56,298.211,31.55,167.887,-55.3387],[3480.61,399.555,30.8,163.451,-53.8653],[3406.38,498.401,30.0333,158.951,-52.2594],[3326.54,598.33,29.2167,154.213,-50.4288],[3240.98,698.236,28.35,149.272,-48.3396],[3147.9,798.648,27.4167,144.084,-45.9068],[3045.42,899.421,26.4,138.637,-43.0227],[2931.59,999.605,25.2833,132.968,-39.5507],[2800.91,1099.72,24.0167,127.044,-35.1998],[2644.09,1199.38,22.5167,120.914,-29.4539],[2431.63,1299.8,20.5167,114.66,-20.8106],[1971.52,1386.79,16.3,111.074,-0.0615657]]], - [54,1421.51,[[4573.35,-2001.39,44.4,238.442,-71.1982],[4538.64,-1900.38,43.95,236.19,-70.8518],[4503.64,-1800.55,43.5,233.909,-70.4958],[4468.36,-1701.91,43.05,231.602,-70.1298],[4431.48,-1600.89,42.5833,229.18,-69.7393],[4394.3,-1501.2,42.1167,226.73,-69.3371],[4356.82,-1402.85,41.65,224.252,-68.9228],[4317.68,-1302.42,41.1667,221.657,-68.4804],[4276.86,-1200.09,40.6667,218.941,-68.0077],[4237.08,-1102.69,40.1833,216.288,-67.5355],[4194.21,-1000.27,39.6667,213.422,-67.0135],[4152.37,-902.839,39.1667,210.62,-66.4905],[4107.38,-800.764,38.6333,207.602,-65.9122],[4062.01,-700.629,38.1,204.555,-65.3117],[4016.26,-602.464,37.5667,201.48,-64.6879],[3967.24,-500.354,37,198.186,-63.998],[3917.8,-400.533,36.4333,194.865,-63.2785],[3866.47,-300.204,35.85,191.421,-62.5052],[3814.71,-202.373,35.2667,187.956,-61.6967],[3759.52,-101.708,34.65,184.273,-60.8012],[3702.34,-1.31555,34.0167,180.473,-59.835],[3643.14,98.519,33.3667,176.56,-58.7908],[3580.35,199.926,32.6833,172.441,-57.6317],[3515.44,299.98,31.9833,168.222,-56.3742],[3448.38,398.344,31.2667,163.914,-55.0074],[3375.98,498.942,30.5,159.331,-53.4494],[3299.72,598.737,29.7,154.593,-51.7092],[3217.9,698.888,28.85,149.63,-49.721],[3128.77,799.998,27.9333,144.39,-47.4023],[3033.81,898.754,26.9667,139.031,-44.7431],[2926.24,999.681,25.8833,133.289,-41.4794],[2805.7,1099.26,24.6833,127.346,-37.4856],[2663.3,1198.93,23.2833,121.121,-32.2908],[2479.24,1299.71,21.5,114.619,-24.8204],[2172.06,1399.97,18.5833,108.543,-10.8084],[1948.05,1421.51,16.5,108.454,-0.0516628]]], - [55,1455.82,[[4498.71,-2000.68,44.7333,238.778,-71.6932],[4466.09,-1902.97,44.3,236.602,-71.3687],[4431.94,-1802.64,43.85,234.316,-71.0225],[4397.52,-1703.51,43.4,232.001,-70.6667],[4361.54,-1601.97,42.9333,229.571,-70.2869],[4325.26,-1501.76,42.4667,227.112,-69.8959],[4288.69,-1402.88,42,224.624,-69.493],[4250.5,-1301.9,41.5167,222.018,-69.0627],[4212.01,-1202.39,41.0333,219.381,-68.6185],[4171.85,-1101.03,40.5333,216.624,-68.1437],[4131.37,-1001.29,40.0333,213.836,-67.6525],[4090.56,-903.203,39.5333,211.019,-67.1442],[4046.67,-800.423,39,207.983,-66.5821],[4003.79,-702.699,38.4833,205.013,-66.017],[3957.77,-600.693,37.9333,201.821,-65.3919],[3911.36,-500.805,37.3833,198.601,-64.7412],[3863.14,-400.137,36.8167,195.255,-64.0424],[3814.52,-301.783,36.25,191.883,-63.313],[3762.59,-200.204,35.65,188.287,-62.5053],[3710.22,-101.297,35.05,184.669,-61.6588],[3655.93,-2.46843,34.4333,180.931,-60.7457],[3598.21,98.5561,33.7833,176.974,-59.7326],[3538.49,198.767,33.1167,172.905,-58.6357],[3476.72,297.852,32.4333,168.73,-57.4459],[3411.36,397.762,31.7167,164.356,-56.1214],[3342.34,497.86,30.9667,159.796,-54.6444],[3268.02,599.529,30.1667,154.965,-52.9575],[3189.85,699.748,29.3333,149.991,-51.0674],[3106.19,799.549,28.45,144.81,-48.9022],[3015.3,899.383,27.5,139.377,-46.3709],[2915.4,999.014,26.4667,133.686,-43.3566],[2802.98,1098.74,25.3167,127.696,-39.6536],[2671.07,1199.43,23.9833,121.339,-34.8642],[2508.95,1299.64,22.3667,114.727,-28.3061],[2276.08,1399.52,20.0833,108.082,-17.6938],[1922.92,1455.82,16.7,105.81,-0.0651224]]], - [56,1489.69,[[4421.11,-2001.63,45.0667,239.146,-72.1934],[4389.29,-1903.47,44.6333,236.965,-71.8779],[4356,-1802.69,44.1833,234.671,-71.5414],[4322.43,-1703.1,43.7333,232.349,-71.1954],[4287.34,-1601.08,43.2667,229.911,-70.8262],[4251.97,-1500.38,42.8,227.443,-70.446],[4216.31,-1401,42.3333,224.945,-70.0543],[4180.36,-1302.98,41.8667,222.418,-69.6505],[4142.83,-1202.9,41.3833,219.77,-69.219],[4103.69,-1100.94,40.8833,217,-68.7577],[4064.22,-1000.6,40.3833,214.199,-68.2805],[4024.43,-901.902,39.8833,211.367,-67.7866],[3982.98,-801.667,39.3667,208.409,-67.2578],[3939.83,-700.094,38.8333,205.325,-66.6911],[3896.33,-600.476,38.3,202.211,-66.1022],[3852.47,-502.842,37.7667,199.067,-65.4899],[3805.48,-401.31,37.2,195.697,-64.812],[3758.09,-302.083,36.6333,192.299,-64.1043],[3708.9,-202.382,36.05,188.775,-63.3428],[3657.87,-102.457,35.45,185.124,-62.5222],[3604.97,-2.57022,34.8333,181.349,-61.6367],[3548.73,99.5809,34.1833,177.35,-60.654],[3492,198.467,33.5333,173.337,-59.6168],[3431.83,298.851,32.85,169.108,-58.4632],[3369.64,397.83,32.15,164.775,-57.209],[3302.41,499.486,31.4,160.141,-55.7771],[3233.05,598.635,30.6333,155.429,-54.2109],[3158.47,698.868,29.8167,150.453,-52.4184],[3078.56,799.074,28.95,145.245,-50.3631],[2991.65,899.784,28.0167,139.755,-47.9564],[2897.57,999.267,27.0167,134.054,-45.1335],[2791.39,1099.9,25.9,127.979,-41.6534],[2671.16,1199.26,24.65,121.655,-37.3098],[2525.03,1299.66,23.15,114.929,-31.4273],[2330.55,1399.59,21.1833,107.993,-22.5883],[1894.41,1489.69,16.8833,103.155,-0.0134422]]], - [57,1523.07,[[4339.29,-2000.45,45.3833,239.464,-72.687],[4308.3,-1901.9,44.95,237.277,-72.3804],[4275.85,-1800.7,44.5,234.976,-72.0533],[4243.14,-1700.67,44.05,232.646,-71.717],[4210.18,-1601.85,43.6,230.287,-71.3712],[4175.71,-1500.64,43.1333,227.81,-71.002],[4140.97,-1400.77,42.6667,225.303,-70.6216],[4105.95,-1302.23,42.2,222.766,-70.2294],[4069.39,-1201.62,41.7167,220.108,-69.8103],[4032.53,-1102.49,41.2333,217.418,-69.3775],[3994.09,-1001.53,40.7333,214.604,-68.9144],[3955.33,-902.209,40.2333,211.758,-68.4352],[3914.96,-801.321,39.7167,208.786,-67.9219],[3874.25,-702.234,39.2,205.781,-67.3895],[3831.89,-601.867,38.6667,202.649,-66.8186],[3787.83,-500.433,38.1167,199.386,-66.2058],[3743.41,-401.131,37.5667,196.092,-65.5673],[3697.26,-301.083,37,192.669,-64.8808],[3649.36,-200.528,36.4167,189.116,-64.1419],[3601.05,-102.479,35.8333,185.536,-63.3682],[3549.54,-1.59358,35.2167,181.726,-62.5097],[3496.19,99.0156,34.5833,177.791,-61.5818],[3440.96,199.061,33.9333,173.733,-60.5769],[3383.82,298.242,33.2667,169.557,-59.4867],[3323.29,398.589,32.5667,165.166,-58.2721],[3259.31,499.484,31.8333,160.567,-56.9163],[3193.29,598.127,31.0833,155.88,-55.4337],[3122.21,698.206,30.2833,150.911,-53.7355],[3045.98,798.637,29.4333,145.69,-51.7866],[2964.47,898.248,28.5333,140.256,-49.5447],[2874.53,999.048,27.55,134.47,-46.8638],[2775.94,1098.76,26.4833,128.434,-43.6543],[2663.8,1198.76,25.2833,122.035,-39.6305],[2529.8,1299.97,23.8667,115.184,-34.2662],[2361.98,1399.36,22.1167,108.114,-26.6718],[2081.86,1499.71,19.25,101.069,-12.1133],[1865.99,1523.07,17.0833,100.462,-0.0778515]]], - [58,1555.95,[[4254.55,-2001,45.7,239.815,-73.1859],[4224.38,-1902.03,45.2667,237.622,-72.8883],[4192.79,-1800.4,44.8167,235.315,-72.5708],[4162.14,-1703.63,44.3833,233.065,-72.2567],[4128.86,-1600.66,43.9167,230.611,-71.9087],[4096.51,-1502.6,43.4667,228.215,-71.5633],[4062.7,-1402.21,43,225.7,-71.1944],[4028.61,-1303.16,42.5333,223.154,-70.814],[3993.03,-1202,42.05,220.485,-70.4076],[3957.16,-1102.32,41.5667,217.784,-69.9877],[3919.74,-1000.78,41.0667,214.958,-69.5385],[3882.02,-900.875,40.5667,212.098,-69.0736],[3844,-802.625,40.0667,209.207,-68.592],[3804.39,-702.864,39.55,206.187,-68.0759],[3763.16,-601.795,39.0167,203.036,-67.5225],[3721.6,-502.693,38.4833,199.854,-66.9468],[3678.38,-402.587,37.9333,196.539,-66.3285],[3633.48,-301.701,37.3667,193.092,-65.6636],[3586.88,-200.274,36.7833,189.512,-64.9478],[3539.88,-101.344,36.2,185.903,-64.1981],[3491.13,-2.2326,35.6,182.164,-63.3891],[3439.23,99.4331,34.9667,178.191,-62.4906],[3386.89,198.022,34.3333,174.196,-61.5429],[3331.32,298.425,33.6667,169.972,-60.4881],[3273.86,397.695,32.9833,165.632,-59.3411],[3213.06,497.784,32.2667,161.075,-58.0605],[3148.87,598.051,31.5167,156.313,-56.6277],[3079.77,699.881,30.7167,151.257,-54.985],[3008.56,798.296,29.9,146.138,-53.1746],[2930.82,898.352,29.0167,140.677,-51.0491],[2846.4,998.433,28.0667,134.926,-48.5487],[2752.12,1099.83,27.0167,128.772,-45.4983],[2647.75,1199.62,25.8667,122.359,-41.7737],[2526.89,1299.15,24.55,115.573,-36.9656],[2376.57,1399.54,22.9333,108.321,-30.2035],[2160.87,1499.57,20.65,100.836,-19.0376],[1834.26,1555.94,17.2667,97.7569,-0.0767037]]], - [59,1588.27,[[4166.83,-2003.33,46.0167,240.2,-73.6902],[4136.36,-1900.14,45.5667,237.916,-73.3905],[4106.78,-1801.86,45.1333,235.689,-73.094],[4075.82,-1700.95,44.6833,233.346,-72.7776],[4044.61,-1601.23,44.2333,230.972,-72.4522],[4013.15,-1502.71,43.7833,228.569,-72.1173],[3980.27,-1401.83,43.3167,226.045,-71.7596],[3947.13,-1302.29,42.85,223.49,-71.3909],[3912.52,-1200.62,42.3667,220.81,-70.9968],[3877.63,-1100.43,41.8833,218.098,-70.5896],[3842.46,-1001.73,41.4,215.354,-70.1688],[3805.79,-901.232,40.9,212.482,-69.7184],[3768.82,-802.38,40.4,209.577,-69.2518],[3730.31,-701.99,39.8833,206.541,-68.7518],[3690.23,-600.263,39.35,203.373,-68.2155],[3649.81,-500.498,38.8167,200.171,-67.6577],[3609.07,-402.724,38.2833,196.937,-67.0768],[3565.43,-301.051,37.7167,193.467,-66.4331],[3521.42,-201.692,37.15,189.965,-65.7601],[3475.74,-101.864,36.5667,186.328,-65.0348],[3428.36,-1.818,35.9667,182.558,-64.2521],[3379.25,98.1815,35.35,178.654,-63.4059],[3328.39,197.858,34.7167,174.62,-62.4896],[3274.39,299.419,34.05,170.351,-61.4694],[3218.55,399.887,33.3667,165.959,-60.3595],[3160.85,498.935,32.6667,161.45,-59.1492],[3099.87,598.437,31.9333,156.726,-57.7949],[3034.15,699.833,31.15,151.693,-56.2411],[2966.41,798.093,30.35,146.583,-54.529],[2892.34,898.415,29.4833,141.107,-52.5163],[2811.81,999.219,28.55,135.309,-50.1455],[2724.67,1098.77,27.55,129.26,-47.3445],[2626.34,1199.45,26.4333,122.775,-43.861],[2515.06,1298.8,25.1833,115.97,-39.465],[2379.91,1399.12,23.6833,108.652,-33.4269],[2198.63,1499.54,21.7,100.909,-24.0964],[1799.36,1588.27,17.4333,95.0383,-0.00466495]]], - [60,1619.99,[[4075.05,-2003.65,46.3167,240.534,-74.1888],[4045.45,-1900.05,45.8667,238.245,-73.8984],[4016.71,-1801.38,45.4333,236.012,-73.6111],[3986.62,-1700.05,44.9833,233.662,-73.3046],[3957.43,-1603.6,44.55,231.37,-73.0011],[3925.74,-1500.97,44.0833,228.87,-72.6647],[3894.93,-1403.24,43.6333,226.429,-72.3306],[3862.74,-1303.2,43.1667,223.865,-71.9737],[3829.12,-1201.02,42.6833,221.177,-71.5921],[3795.23,-1100.3,42.2,218.454,-71.1979],[3761.07,-1001.07,41.7167,215.699,-70.7905],[3725.45,-900.01,41.2167,212.814,-70.3543],[3689.53,-800.595,40.7167,209.895,-69.9025],[3653.33,-702.848,40.2167,206.943,-69.4341],[3614.4,-600.45,39.6833,203.759,-68.9153],[3575.15,-500.006,39.15,200.539,-68.3755],[3535.58,-401.545,38.6167,197.285,-67.8134],[3494.45,-302.115,38.0667,193.896,-67.209],[3451.71,-201.943,37.5,190.37,-66.5584],[3407.36,-101.27,36.9167,186.707,-65.857],[3361.35,-0.345439,36.3167,182.906,-65.0999],[3314.96,97.8767,35.7167,179.076,-64.3039],[3265.57,198.581,35.0833,175.004,-63.4184],[3214.46,298.71,34.4333,170.8,-62.4574],[3161.59,397.963,33.7667,166.467,-61.4123],[3105.59,498.37,33.0667,161.902,-60.2447],[3046.41,599.31,32.3333,157.114,-58.9372],[2985.35,697.98,31.5833,152.22,-57.5022],[2919.63,798.066,30.7833,147.021,-55.8518],[2849.16,898.479,29.9333,141.541,-53.9484],[2772.43,999.819,29.0167,135.711,-51.7033],[2690.74,1098.76,28.05,129.694,-49.0942],[2598.26,1199.81,26.9667,123.174,-45.8395],[2494.72,1299.43,25.7667,116.326,-41.7759],[2372.54,1399.05,24.3667,109.01,-36.354],[2214.86,1499.59,22.5833,101.126,-28.2907],[1949.29,1599.79,19.6333,93.1046,-12.2359],[1764.5,1619.99,17.6167,92.2832,-0.0588822]]], - [61,1651.09,[[3979.31,-2001.97,46.6,240.818,-74.6825],[3951.63,-1901.83,46.1667,238.609,-74.4119],[3923.74,-1802.75,45.7333,236.37,-74.134],[3894.55,-1701,45.2833,234.015,-73.8374],[3865.13,-1600.42,44.8333,231.628,-73.5322],[3835.47,-1501.04,44.3833,229.21,-73.2183],[3805.57,-1402.88,43.9333,226.761,-72.895],[3774.33,-1302.38,43.4667,224.189,-72.5496],[3742.83,-1203.22,43,221.585,-72.1934],[3709.95,-1101.97,42.5167,218.853,-71.8123],[3676.81,-1002.19,42.0333,216.087,-71.4184],[3642.25,-900.565,41.5333,213.191,-70.9967],[3607.4,-800.574,41.0333,210.259,-70.5599],[3572.28,-702.245,40.5333,207.293,-70.107],[3535.69,-602.41,40.0167,204.193,-69.6212],[3497.62,-501.271,39.4833,200.957,-69.0998],[3459.23,-402.107,38.95,197.686,-68.5568],[3419.33,-301.945,38.4,194.276,-67.9728],[3377.87,-201.012,37.8333,190.727,-67.3441],[3336.07,-102.411,37.2667,187.144,-66.686],[3291.45,-0.588593,36.6667,183.315,-65.955],[3246.45,98.5406,36.0667,179.454,-65.1863],[3199.82,197.576,35.45,175.454,-64.354],[3150.26,298.792,34.8,171.21,-63.4267],[3098.98,399.172,34.1333,166.832,-62.4179],[3045.98,498.4,33.45,162.324,-61.3179],[2989.9,598.428,32.7333,157.584,-60.086],[2930.71,698.61,31.9833,152.621,-58.7027],[2868.33,798.262,31.2,147.447,-57.1449],[2801.37,898.599,30.3667,141.973,-55.347],[2729.73,998.472,29.4833,136.231,-53.2652],[2651.95,1098.32,28.5333,130.162,-50.7997],[2565.14,1199.43,27.4833,123.635,-47.7669],[2469.07,1298.84,26.3333,116.792,-44.0258],[2356.46,1399.04,25,109.403,-39.0676],[2216.82,1499.39,23.3667,101.453,-31.9803],[2012.82,1599.73,21.0167,93.0214,-19.7433],[1726.57,1651.09,17.7833,89.5143,-0.0419768]]], - [62,1681.53,[[3880.7,-2002.18,46.8833,241.136,-75.182],[3853.87,-1901.67,46.45,238.922,-74.9204],[3826.84,-1802.21,46.0167,236.678,-74.6516],[3798.54,-1700.06,45.5667,234.317,-74.3648],[3771.07,-1602.81,45.1333,232.013,-74.0809],[3742.32,-1502.98,44.6833,229.589,-73.7776],[3712.28,-1400.74,44.2167,227.042,-73.4536],[3683.07,-1303.39,43.7667,224.553,-73.1317],[3651.45,-1200.23,43.2833,221.846,-72.775],[3620.68,-1102,42.8167,219.199,-72.4193],[3588.55,-1001.72,42.3333,216.423,-72.0388],[3556.17,-902.942,41.85,213.613,-71.6451],[3522.41,-802.361,41.35,210.67,-71.2235],[3487.23,-700.168,40.8333,207.591,-70.7715],[3452.92,-602.979,40.3333,204.577,-70.3174],[3416.02,-501.191,39.8,201.325,-69.8139],[3378.83,-401.371,39.2667,198.035,-69.2896],[3340.15,-300.526,38.7167,194.606,-68.7257],[3301.17,-201.838,38.1667,191.14,-68.1366],[3260.67,-102.449,37.6,187.534,-67.5017],[3218.64,-2.60011,37.0167,183.785,-66.8164],[3175.06,97.4555,36.4167,179.895,-66.0755],[3129.89,197.453,35.8,175.862,-65.2732],[3081.87,299.694,35.15,171.58,-64.3789],[3033.45,398.642,34.5,167.269,-63.4307],[2982.11,499.061,33.8167,162.712,-62.3706],[2929.06,598.041,33.1167,158.027,-61.2114],[2871.74,699.66,32.3667,152.996,-59.8789],[2812.62,798.728,31.6,147.856,-58.4102],[2749.09,898.828,30.7833,142.399,-56.7142],[2681.05,998.838,29.9167,136.652,-54.749],[2607.09,1099.27,28.9833,130.547,-52.4187],[2525.75,1199.97,27.9667,124.044,-49.595],[2435.51,1299.94,26.85,117.151,-46.1035],[2332.06,1399.66,25.5833,109.776,-41.5789],[2206.76,1499.62,24.0667,101.804,-35.2662],[2036.47,1599.84,22.0333,93.1964,-25.1294],[1687.13,1681.53,17.95,86.7201,-0.0553252]]], - [63,1711.26,[[3778.22,-2000.46,47.15,241.404,-75.6777],[3753.25,-1903.46,46.7333,239.271,-75.4347],[3727.08,-1803.62,46.3,237.023,-75.1753],[3699.68,-1701.07,45.85,234.656,-74.8984],[3673.09,-1603.42,45.4167,232.346,-74.6244],[3645.26,-1503.18,44.9667,229.916,-74.3316],[3616.17,-1400.5,44.5,227.362,-74.0188],[3587.9,-1302.73,44.05,224.866,-73.708],[3558.35,-1202.65,43.5833,222.244,-73.3757],[3527.49,-1100.43,43.1,219.494,-73.0202],[3497.47,-1003.13,42.6333,216.804,-72.6656],[3465.04,-900.432,42.1333,213.885,-72.2727],[3433.45,-802.7,41.65,211.028,-71.8792],[3400.5,-703.221,41.15,208.037,-71.4575],[3366.19,-602.184,40.6333,204.909,-71.0051],[3331.59,-502.961,40.1167,201.743,-70.5349],[3295.6,-402.47,39.5833,198.438,-70.0295],[3258.17,-300.924,39.0333,194.99,-69.486],[3220.44,-201.528,38.4833,191.504,-68.9181],[3181.25,-101.402,37.9167,187.875,-68.306],[3140.58,-0.786904,37.3333,184.1,-67.6451],[3099.57,97.2999,36.75,180.29,-66.9508],[3055.87,198.201,36.1333,176.226,-66.1777],[3010.6,298.801,35.5,172.018,-65.3386],[2963.76,398.807,34.85,167.667,-64.4258],[2915.31,497.917,34.1833,163.177,-63.4306],[2864,598.154,33.4833,158.438,-62.3154],[2809.79,698.895,32.75,153.458,-61.0624],[2752.62,799.475,31.9833,148.245,-59.65],[2692.43,899.182,31.1833,142.814,-58.0523],[2627.91,999.162,30.3333,137.073,-56.1998],[2557.69,1100,29.4167,130.946,-54.0009],[2481.65,1199.99,28.4333,124.489,-51.3787],[2398.36,1298.73,27.3667,117.683,-48.1825],[2302.39,1398.82,26.15,110.277,-44.0237],[2188.08,1499.3,24.7167,102.238,-38.3173],[2040.01,1599.91,22.8833,93.4968,-29.5805],[1771.44,1699.92,19.6167,84.41,-10.0909],[1646.19,1711.26,18.1167,83.9014,-0.102621]]], - [64,1740.28,[[3672.94,-2000.69,47.4167,241.706,-76.1793],[3648.79,-1903.36,47,239.569,-75.9449],[3623.48,-1803.16,46.5667,237.316,-75.6947],[3596.99,-1700.24,46.1167,234.944,-75.4277],[3571.28,-1602.23,45.6833,232.628,-75.1633],[3544.38,-1501.61,45.2333,230.191,-74.8809],[3517.26,-1402.19,44.7833,227.722,-74.5902],[3488.91,-1300.37,44.3167,225.126,-74.2794],[3461.36,-1203.45,43.8667,222.59,-73.9704],[3431.53,-1100.75,43.3833,219.831,-73.6279],[3402.51,-1002.99,42.9167,217.132,-73.2861],[3372.21,-903.2,42.4333,214.301,-72.9202],[3340.62,-801.562,41.9333,211.335,-72.5281],[3308.77,-701.568,41.4333,208.331,-72.1216],[3276.67,-603.244,40.9333,205.291,-71.6998],[3242.15,-500.231,40.4,202.008,-71.232],[3208.44,-402.302,39.8833,198.789,-70.7603],[3172.27,-300.104,39.3333,195.323,-70.2368],[3135.8,-200.048,38.7833,191.818,-69.6898],[3099.04,-102.167,38.2333,188.274,-69.1177],[3059.74,-0.76711,37.65,184.476,-68.4817],[3020.11,98.113,37.0667,180.639,-67.8134],[2977.87,199.862,36.45,176.545,-67.0691],[2935.29,298.709,35.8333,172.414,-66.2829],[2890.02,399.711,35.1833,168.025,-65.4048],[2843.21,499.852,34.5167,163.491,-64.4471],[2794.83,598.817,33.8333,158.816,-63.3999],[2743.65,698.546,33.1167,153.892,-62.2231],[2689.63,798.393,32.3667,148.725,-60.8968],[2631.51,899.724,31.5667,143.212,-59.3631],[2570.43,999.512,30.7333,137.488,-57.6195],[2505.1,1098.77,29.85,131.464,-55.588],[2432.94,1199.58,28.8833,124.963,-53.1192],[2353.82,1299.7,27.8333,118.063,-50.1041],[2265.02,1399.31,26.6667,110.686,-46.2834],[2161.19,1499.05,25.3167,102.692,-41.1438],[2030.19,1599.69,23.6333,93.8937,-33.4876],[1832.75,1699.7,21.1333,84.4019,-19.3482],[1602.41,1740.28,18.2667,81.0662,-0.0717522]]], - [65,1768.52,[[3564.86,-2002.98,47.6833,242.044,-76.6865],[3540.62,-1901.41,47.25,239.817,-76.4518],[3516.18,-1800.89,46.8167,237.559,-76.2107],[3491.55,-1701.43,46.3833,235.269,-75.963],[3466.73,-1603.04,45.95,232.949,-75.7085],[3440.76,-1502.03,45.5,230.506,-75.4366],[3414.57,-1402.21,45.05,228.03,-75.1567],[3388.19,-1303.61,44.6,225.521,-74.8683],[3360.61,-1202.66,44.1333,222.884,-74.56],[3332.82,-1103.05,43.6667,220.212,-74.2417],[3303.8,-1001.33,43.1833,217.408,-73.9011],[3274.55,-901.088,42.7,214.566,-73.5487],[3245.07,-802.359,42.2167,211.688,-73.1839],[3214.33,-701.837,41.7167,208.673,-72.7928],[3183.34,-602.978,41.2167,205.62,-72.387],[3151.07,-502.598,40.7,202.427,-71.9513],[3117.49,-400.898,40.1667,199.089,-71.483],[3083.64,-301.178,39.6333,195.712,-70.9948],[3048.45,-200.445,39.0833,192.188,-70.4689],[3012.97,-101.881,38.5333,188.624,-69.919],[2976.13,-2.63059,37.9667,184.913,-69.3254],[2936.8,99.8734,37.3667,180.941,-68.6647],[2897.14,199.679,36.7667,176.929,-67.9686],[2856.05,299.404,36.15,172.766,-67.2132],[2813.5,398.767,35.5167,168.454,-66.3915],[2768.34,499.965,34.85,163.879,-65.4722],[2722.8,597.626,34.1833,159.274,-64.4918],[2673.44,698.611,33.4667,154.295,-63.363],[2621.34,799.785,32.7167,149.065,-62.09],[2567.62,898.372,31.95,143.709,-60.6807],[2508.72,999.901,31.1167,137.894,-59.0102],[2446.92,1099.18,30.25,131.875,-57.1],[2379.76,1198.78,29.3167,125.459,-54.8185],[2305.92,1298.52,28.3,118.597,-52.029],[2222.82,1398.77,27.1667,111.18,-48.4852],[2126.51,1499.36,25.8667,103.113,-43.7597],[2009.15,1599.79,24.3,94.3019,-36.9623],[1847.22,1699.4,22.1667,84.6925,-25.4959],[1557.24,1768.51,18.4167,78.2062,-0.0749888]]], - [66,1795.96,[[3453.07,-2003.43,47.9333,242.333,-77.1907],[3429.7,-1901.53,47.5,240.102,-76.965],[3406.14,-1800.67,47.0667,237.84,-76.7332],[3382.4,-1700.87,46.6333,235.545,-76.495],[3358.48,-1602.14,46.2,233.219,-76.2502],[3333.44,-1500.77,45.75,230.77,-75.9887],[3308.2,-1400.59,45.3,228.288,-75.7195],[3282.76,-1301.62,44.85,225.772,-75.4421],[3256.18,-1200.28,44.3833,223.127,-75.1455],[3229.38,-1100.29,43.9167,220.446,-74.8394],[3202.38,-1001.65,43.45,217.729,-74.5232],[3174.19,-900.95,42.9667,214.879,-74.1846],[3145.78,-801.754,42.4833,211.991,-73.834],[3116.15,-700.743,41.9833,208.964,-73.4582],[3086.29,-601.391,41.4833,205.899,-73.0681],[3055.19,-500.496,40.9667,202.691,-72.6493],[3023.84,-401.424,40.45,199.443,-72.2135],[2991.22,-301.1,39.9167,196.05,-71.7446],[2958.34,-202.777,39.3833,192.616,-71.2553],[2923.12,-100.536,38.8167,188.925,-70.7115],[2887.62,-0.624125,38.25,185.191,-70.1412],[2850.77,99.757,37.6667,181.306,-69.5246],[2813.64,197.596,37.0833,177.379,-68.8755],[2774.06,298.219,36.4667,173.188,-68.1515],[2733.07,398.516,35.8333,168.842,-67.3638],[2690.66,498.193,35.1833,164.344,-66.5049],[2645.71,599.369,34.5,159.579,-65.5416],[2599.27,699.115,33.8,154.666,-64.4842],[2550.2,799.317,33.0667,149.494,-63.2918],[2498.48,899.304,32.3,144.069,-61.942],[2444.04,998.362,31.5,138.404,-60.4076],[2384.54,1099.5,30.6333,132.283,-58.5812],[2321.05,1199.39,29.7167,125.856,-56.4376],[2251.15,1299.91,28.7167,118.943,-53.8128],[2174.71,1398.71,27.6333,111.636,-50.5764],[2085.64,1499.47,26.3833,103.558,-46.2432],[1980.01,1599.32,24.9167,94.7877,-40.186],[1840.3,1699.39,23,85.0605,-30.4035],[1510.66,1795.95,18.5667,75.3213,-0.116452]]], - [67,1822.57,[[3337.69,-2002.03,48.1667,242.573,-77.6923],[3316.07,-1903.74,47.75,240.424,-77.484],[3293.4,-1802.53,47.3167,238.158,-77.2615],[3270.56,-1702.38,46.8833,235.859,-77.033],[3247.54,-1603.3,46.45,233.529,-76.7981],[3223.45,-1501.55,46,231.075,-76.5472],[3199.17,-1401,45.55,228.586,-76.2888],[3174.69,-1301.65,45.1,226.064,-76.0227],[3150.03,-1203.52,44.65,223.507,-75.7483],[3124.26,-1103.08,44.1833,220.82,-75.4548],[3097.35,-1000.48,43.7,217.998,-75.1407],[3071.16,-902.812,43.2333,215.238,-74.827],[3043.83,-803.135,42.75,212.341,-74.4909],[3015.33,-701.621,42.25,209.304,-74.1306],[2986.6,-601.761,41.75,206.227,-73.7565],[2956.68,-500.335,41.2333,203.007,-73.3549],[2926.52,-400.728,40.7167,199.745,-72.9369],[2896.13,-302.966,40.2,196.444,-72.5016],[2863.52,-200.956,39.65,192.886,-72.0179],[2830.64,-101.102,39.1,189.285,-71.5118],[2796.49,-0.508779,38.5333,185.531,-70.9653],[2762.07,97.7272,37.9667,181.735,-70.3916],[2725.33,199.134,37.3667,177.671,-69.7522],[2688.29,297.819,36.7667,173.565,-69.0772],[2648.88,398.989,36.1333,169.187,-68.323],[2608.1,499.572,35.4833,164.653,-67.5002],[2565.92,599.263,34.8167,159.963,-66.6003],[2522.34,697.744,34.1333,155.121,-65.6132],[2475.17,799.199,33.4,149.893,-64.4733],[2426.52,898.359,32.65,144.522,-63.2113],[2374.19,998.924,31.85,138.78,-61.745],[2318.11,1099.8,31,132.683,-60.0332],[2258.2,1199.79,30.1,126.257,-58.0232],[2193.28,1299.27,29.1333,119.427,-55.603],[2120.98,1399.36,28.0667,112.034,-52.5652],[2038.85,1499.66,26.8667,103.998,-48.6016],[1942.06,1599.92,25.4667,95.1871,-43.0993],[1819.69,1699.49,23.7167,85.4709,-34.6183],[1615.09,1799.98,20.8333,74.5548,-16.2701],[1461.5,1822.57,18.7,72.4189,-0.0715824]]], - [68,1848.32,[[3219.64,-2002.78,48.4,242.849,-78.2003],[3198.04,-1900.26,47.9667,240.61,-77.9925],[3177.11,-1802.66,47.55,238.426,-77.7875],[3155.17,-1702.19,47.1167,236.123,-77.5684],[3133.06,-1602.79,46.6833,233.788,-77.3434],[3109.92,-1500.7,46.2333,231.328,-77.1029],[3087.47,-1403.52,45.8,228.927,-76.8646],[3063.09,-1300.11,45.3333,226.305,-76.6002],[3039.41,-1201.64,44.8833,223.741,-76.3373],[3014.65,-1100.82,44.4167,221.046,-76.0559],[2989.7,-1001.36,43.95,218.314,-75.7654],[2964.55,-903.278,43.4833,215.545,-75.465],[2938.31,-803.158,43,212.639,-75.1432],[2910.94,-701.181,42.5,209.592,-74.7981],[2883.35,-600.853,42,206.504,-74.4399],[2855.55,-502.198,41.5,203.376,-74.0679],[2826.6,-402.038,40.9833,200.102,-73.6681],[2796.47,-300.578,40.45,196.679,-73.2379],[2766.1,-201.109,39.9167,193.213,-72.7888],[2734.54,-100.648,39.3667,189.594,-72.3045],[2702.72,-2.36753,38.8167,185.932,-71.7973],[2668.7,99.4497,38.2333,182.003,-71.2324],[2634.41,198.739,37.65,178.028,-70.6377],[2598.86,298.188,37.05,173.896,-69.9923],[2562.03,397.529,36.4333,169.604,-69.2904],[2522.88,499.042,35.7833,165.036,-68.5045],[2482.4,599.696,35.1167,160.308,-67.6447],[2440.57,699.174,34.4333,155.422,-66.7012],[2396.34,799.428,33.7167,150.261,-65.6367],[2349.65,899.808,32.9667,144.83,-64.4313],[2300.49,999.621,32.1833,139.136,-63.06],[2248.79,1098.13,31.3667,133.193,-61.4923],[2192.4,1198.2,30.4833,126.779,-59.6153],[2130.13,1299.88,29.5167,119.811,-57.3112],[2062.96,1399.38,28.4833,112.472,-54.5093],[1987.51,1498.78,27.3333,104.522,-50.9007],[1898.07,1599.99,25.9833,95.6387,-45.8666],[1788.67,1699.74,24.35,85.8927,-38.3635],[1626.98,1799.94,21.9667,74.8441,-24.0867],[1411.06,1848.32,18.8333,69.4914,-0.0651161]]], - [69,1873.17,[[3098.15,-2001.74,48.6167,243.076,-78.7064],[3078.24,-1902.88,48.2,240.92,-78.5154],[3057.37,-1801.07,47.7667,238.645,-78.3114],[3036.34,-1700.31,47.3333,236.337,-78.1019],[3015.15,-1600.61,46.9,233.997,-77.8865],[2993.79,-1501.99,46.4667,231.624,-77.6651],[2971.44,-1400.74,46.0167,229.124,-77.4284],[2948.92,-1300.68,45.5667,226.59,-77.1845],[2926.21,-1201.85,45.1167,224.02,-76.9332],[2902.49,-1100.65,44.65,221.318,-76.6642],[2878.58,-1000.81,44.1833,218.578,-76.3864],[2854.48,-902.337,43.7167,215.801,-76.0993],[2829.33,-801.811,43.2333,212.885,-75.7916],[2803.97,-702.798,42.75,209.931,-75.4728],[2777.54,-601.987,42.25,206.833,-75.1307],[2750.91,-502.844,41.75,203.694,-74.7754],[2723.16,-402.175,41.2333,200.408,-74.3934],[2694.29,-300.183,40.7,196.971,-73.9825],[2665.2,-200.177,40.1667,193.49,-73.5534],[2635.87,-102.186,39.6333,189.965,-73.105],[2604.46,-0.311725,39.0667,186.173,-72.6059],[2572.8,99.2188,38.5,182.336,-72.0818],[2539.95,199.192,37.9167,178.339,-71.5141],[2505.89,299.351,37.3167,174.181,-70.8979],[2470.6,399.428,36.7,169.861,-70.2276],[2434.07,499.143,36.0667,165.378,-69.4967],[2396.27,598.202,35.4167,160.732,-68.6975],[2356.2,698.704,34.7333,155.805,-67.7985],[2314.83,797.734,34.0333,150.717,-66.8084],[2270.13,899.364,33.2833,145.23,-65.6607],[2224.05,998.398,32.5167,139.592,-64.3835],[2174.56,1098.41,31.7,133.57,-62.8916],[2121.58,1198.27,30.8333,127.179,-61.139],[2064.04,1298.47,29.9,120.327,-59.0255],[2000.8,1398.83,28.8833,112.944,-56.4098],[1929.65,1499.73,27.75,104.885,-53.0331],[1848.31,1599.81,26.4667,96.1115,-48.4946],[1750.13,1699.32,24.9333,86.397,-41.8364],[1614.06,1799.58,22.8333,75.2888,-30.0017],[1359.33,1873.17,18.9667,66.5396,-0.1023]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 2604.46; -_maxRange = 3943.07; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg3.sqf deleted file mode 100644 index d96e9f093c..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg3.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg3 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1311.78,[[5753.24,-2002.13,43.35,241.557,-66.375],[5709.51,-1903.1,42.9,239.493,-65.9501],[5663.78,-1801.65,42.4333,237.332,-65.4979],[5617.65,-1701.5,41.9667,235.149,-65.0334],[5571.15,-1602.65,41.5,232.946,-64.5563],[5522.58,-1501.67,41.0167,230.643,-64.0482],[5473.6,-1402.13,40.5333,228.319,-63.5255],[5422.5,-1300.71,40.0333,225.895,-62.9686],[5370.96,-1200.87,39.5333,223.451,-62.3947],[5318.98,-1102.65,39.0333,220.989,-61.803],[5264.8,-1002.87,38.5167,218.426,-61.1723],[5208.39,-901.732,37.9833,215.764,-60.4996],[5151.49,-802.509,37.45,213.086,-59.804],[5092.29,-702.221,36.9,210.309,-59.0615],[5030.75,-601.088,36.3333,207.436,-58.2688],[4968.66,-502.212,35.7667,204.553,-57.4464],[4902.32,-400.017,35.1667,201.493,-56.5418],[4835.37,-300.429,34.5667,198.428,-55.6008],[4765.93,-200.829,33.95,195.279,-54.5936],[4693.95,-101.487,33.3167,192.051,-53.5149],[4617.46,-0.191693,32.65,188.665,-52.3285],[4540.24,97.694,31.9833,185.3,-51.087],[4456.41,199.063,31.2667,181.714,-49.6879],[4369.78,298.59,30.5333,178.09,-48.1833],[4278.28,398.032,29.7667,174.363,-46.5272],[4179.79,498.698,28.95,170.481,-44.665],[4074.14,599.503,28.0833,166.48,-42.5724],[3961.12,699.267,27.1667,162.413,-40.2227],[3836.36,799.937,26.1667,158.205,-37.4932],[3699.51,899.229,25.0833,153.971,-34.3345],[3541.59,999.7,23.85,149.639,-30.4799],[3355.27,1099.35,22.4167,145.381,-25.6614],[3112.63,1199.49,20.5833,141.39,-19.0134],[2668.33,1299.92,17.3167,139.203,-6.22239],[2452.09,1311.78,15.7667,140.675,-0.00420841]]], - [46,1355.02,[[5706.61,-2001.62,43.7833,241.959,-66.8969],[5663.72,-1902.03,43.3333,239.886,-66.4816],[5620.47,-1803.61,42.8833,237.791,-66.0555],[5575.25,-1702.82,42.4167,235.597,-65.6018],[5529.65,-1603.32,41.95,233.382,-65.1357],[5482.03,-1501.66,41.4667,231.065,-64.6394],[5434,-1401.44,40.9833,228.727,-64.1287],[5385.56,-1302.67,40.5,226.368,-63.6029],[5335.04,-1202.06,40,223.908,-63.0426],[5284.08,-1103.05,39.5,221.427,-62.465],[5230.97,-1002.45,38.9833,218.844,-61.849],[5175.66,-900.454,38.45,216.159,-61.192],[5119.88,-800.365,37.9167,213.456,-60.5125],[5063.6,-702.211,37.3833,210.737,-59.8094],[5003.29,-600.071,36.8167,207.833,-59.0355],[4942.43,-500.18,36.25,204.917,-58.2324],[4881.04,-402.567,35.6833,201.991,-57.3988],[4815.45,-301.734,35.0833,198.887,-56.4812],[4747.42,-200.842,34.4667,195.692,-55.4988],[4676.89,-100.157,33.8333,192.414,-54.4462],[4605.72,-2.49022,33.2,189.142,-53.3471],[4528.19,99.4533,32.5167,185.627,-52.1062],[4449.92,197.78,31.8333,182.137,-50.805],[4365.1,299.219,31.1,178.428,-49.338],[4277.47,398.527,30.35,174.686,-47.7579],[4183.04,499.435,29.55,170.768,-45.9786],[4083.62,598.955,28.7167,166.788,-44.0167],[3975.07,699.927,27.8167,162.629,-41.7672],[3859.18,799.064,26.8667,158.432,-39.2387],[3729.54,899.598,25.8167,154.068,-36.2528],[3583.62,999.992,24.65,149.627,-32.6935],[3414.48,1099.9,23.3167,145.18,-28.3137],[3206.04,1199.44,21.7,140.864,-22.5768],[2901.02,1299.92,19.3833,137.163,-13.6702],[2446.74,1355.02,16.0333,137.993,-0.0537185]]], - [47,1398.14,[[5656.51,-2002.49,44.2167,242.394,-67.4228],[5614.47,-1902.33,43.7667,240.312,-67.0171],[5572.08,-1803.34,43.3167,238.208,-66.6009],[5527.75,-1701.94,42.85,236.003,-66.1578],[5483.05,-1601.83,42.3833,233.776,-65.7025],[5437.98,-1503.04,41.9167,231.526,-65.2345],[5390.91,-1402.12,41.4333,229.175,-64.7359],[5343.45,-1302.65,40.95,226.801,-64.2227],[5293.93,-1201.3,40.45,224.324,-63.6756],[5243.99,-1101.54,39.95,221.825,-63.1116],[5191.94,-1000.16,39.4333,219.222,-62.51],[5139.44,-900.54,38.9167,216.6,-61.8886],[5086.49,-802.698,38.4,213.958,-61.2466],[5029.64,-700.528,37.85,211.129,-60.5392],[4972.28,-600.434,37.3,208.282,-59.8062],[4914.43,-502.447,36.75,205.422,-59.0463],[4852.52,-400.856,36.1667,202.375,-58.2094],[4790.06,-301.705,35.5833,199.319,-57.3391],[4725.24,-202.302,34.9833,196.169,-56.4074],[4656.18,-100.259,34.35,192.842,-55.3815],[4586.49,-1.21786,33.7167,189.518,-54.3097],[4512.44,99.7436,33.05,186.028,-53.1292],[4435.8,199.673,32.3667,182.47,-51.8605],[4356.55,298.254,31.6667,178.853,-50.4956],[4270.8,399.559,30.9167,175.02,-48.9559],[4182.25,498.432,30.15,171.161,-47.2947],[4086.96,598.466,29.3333,167.135,-45.4223],[3984.74,698.571,28.4667,162.98,-43.3132],[3873.44,799.295,27.5333,158.671,-40.8937],[3752.79,898.94,26.5333,154.285,-38.1231],[3616.39,999.932,25.4167,149.729,-34.8031],[3461.64,1099.9,24.1667,145.143,-30.7984],[3277.33,1199.28,22.7,140.594,-25.7164],[3032.11,1299.41,20.7833,136.286,-18.5058],[2437,1398.14,16.2833,135.313,-0.0545236]]], - [48,1441.1,[[5601.42,-2001.08,44.6333,242.785,-67.9378],[5560.22,-1900.38,44.1833,240.694,-67.5416],[5518.68,-1800.85,43.7333,238.58,-67.135],[5476.8,-1702.49,43.2833,236.444,-66.7178],[5433.01,-1601.76,42.8167,234.206,-66.2734],[5388.86,-1502.34,42.35,231.945,-65.8166],[5342.75,-1400.76,41.8667,229.579,-65.3298],[5296.24,-1300.63,41.3833,227.191,-64.8288],[5249.35,-1201.95,40.9,224.781,-64.3127],[5200.43,-1101.44,40.4,222.266,-63.7624],[5151.1,-1002.54,39.9,219.729,-63.1948],[5099.69,-902.063,39.3833,217.087,-62.5891],[5046.17,-800.201,38.85,214.338,-61.9425],[4992.17,-700.255,38.3167,211.57,-61.2734],[4937.71,-602.251,37.7833,208.784,-60.5805],[4879.35,-500.282,37.2167,205.807,-59.8171],[4820.46,-400.571,36.65,202.815,-59.0243],[4759.31,-300.32,36.0667,199.722,-58.1758],[4697.61,-202.531,35.4833,196.621,-57.2928],[4631.8,-101.871,34.8667,193.337,-56.3199],[4563.59,-1.43922,34.2333,189.963,-55.2761],[4492.94,98.4827,33.5833,186.504,-54.1553],[4419.79,197.601,32.9167,182.969,-52.9507],[4342.26,297.952,32.2167,179.278,-51.6223],[4260.24,398.931,31.4833,175.446,-50.1568],[4173.64,499.89,30.7167,171.489,-48.539],[4084.25,598.105,29.9333,167.515,-46.7901],[3986.25,698.945,29.0833,163.302,-44.7764],[3881.35,799.114,28.1833,158.98,-42.5052],[3767.41,899.02,27.2167,154.534,-39.8981],[3640.18,999.882,26.15,149.913,-36.8103],[3499.24,1098.75,24.9833,145.275,-33.1713],[3331.83,1199.09,23.6167,140.507,-28.5575],[3122.25,1299.31,21.9333,135.832,-22.375],[2802.09,1400,19.4167,131.862,-12.2788],[2423.01,1441.1,16.5167,132.632,-0.00394509]]], - [49,1483.85,[[5542.89,-2001.18,45.05,243.21,-68.4572],[5504.04,-1903.66,44.6167,241.189,-68.085],[5463.37,-1803.53,44.1667,239.067,-67.6886],[5420.84,-1700.93,43.7,236.842,-67.2664],[5379.49,-1603.2,43.25,234.673,-66.8483],[5336.26,-1503.14,42.7833,232.401,-66.4029],[5291.11,-1400.89,42.3,230.023,-65.9282],[5245.58,-1300.08,41.8167,227.622,-65.4394],[5199.67,-1200.72,41.3333,225.197,-64.936],[5153.38,-1102.84,40.85,222.75,-64.4174],[5105.09,-1003.16,40.35,220.196,-63.8641],[5054.76,-901.874,39.8333,217.535,-63.2736],[5004.01,-802.346,39.3167,214.851,-62.6633],[4951.17,-701.483,38.7833,212.06,-62.0115],[4897.87,-602.553,38.25,209.25,-61.3365],[4842.44,-502.585,37.7,206.333,-60.6149],[4784.82,-401.802,37.1333,203.311,-59.843],[4724.98,-300.435,36.55,200.184,-59.0167],[4664.61,-201.519,35.9667,197.046,-58.1565],[4601.96,-102.37,35.3667,193.809,-57.2345],[4535.23,-0.608845,34.7333,190.387,-56.2182],[4467.89,98.135,34.1,186.965,-55.1549],[4396.34,198.768,33.4333,183.37,-53.9822],[4322.32,298.345,32.75,179.7,-52.7196],[4243.94,398.835,32.0333,175.876,-51.3259],[4161.11,499.612,31.2833,171.914,-49.7862],[4075.6,597.921,30.5167,167.921,-48.1214],[3981.71,699.3,29.6833,163.663,-46.201],[3883.02,798.589,28.8167,159.35,-44.074],[3775.58,898.4,27.8833,154.87,-41.6267],[3657.2,998.596,26.8667,150.225,-38.7661],[3523.61,1099.64,25.7333,145.402,-35.3273],[3372.32,1199.07,24.4667,140.549,-31.1636],[3188.47,1299.04,22.95,135.646,-25.7366],[2937.46,1399.8,20.9167,130.973,-17.7718],[2409.21,1483.85,16.7667,129.905,-0.0431533]]], - [50,1526.34,[[5480.87,-2002.82,45.4667,243.667,-68.9805],[5441.38,-1901.01,45.0167,241.56,-68.6034],[5401.56,-1800.36,44.5667,239.429,-68.2166],[5361.42,-1700.88,44.1167,237.274,-67.8194],[5320.96,-1602.58,43.6667,235.096,-67.4117],[5278.65,-1501.91,43.2,232.813,-66.9773],[5235.99,-1402.55,42.7333,230.506,-66.5305],[5191.44,-1301.05,42.25,228.092,-66.0543],[5146.51,-1201,41.7667,225.654,-65.5637],[5101.21,-1102.42,41.2833,223.192,-65.0582],[5053.96,-1002,40.7833,220.621,-64.5189],[5006.31,-903.209,40.2833,218.028,-63.9622],[4956.66,-802.847,39.7667,215.325,-63.3678],[4904.97,-701.114,39.2333,212.512,-62.7329],[4852.83,-601.305,38.7,209.678,-62.0753],[4798.59,-500.422,38.15,206.735,-61.3721],[4743.88,-401.644,37.6,203.773,-60.6423],[4687.03,-302.109,37.0333,200.704,-59.8611],[4628,-202.049,36.45,197.53,-59.0242],[4566.73,-101.712,35.85,194.254,-58.1269],[4503.2,-1.35568,35.2333,190.878,-57.1639],[4437.36,98.7495,34.6,187.407,-56.1295],[4369.17,198.321,33.95,183.846,-55.0171],[4296.81,299.486,33.2667,180.112,-53.789],[4221.98,399.332,32.5667,176.304,-52.4647],[4142.83,499.759,31.8333,172.346,-51.0008],[4061.1,597.987,31.0833,168.344,-49.4175],[3971.21,699.715,30.2667,164.053,-47.588],[3876.68,799.715,29.4167,159.686,-45.5597],[3775.52,898.959,28.5167,155.198,-43.2652],[3663.76,999.467,27.5333,150.494,-40.5753],[3541.1,1098.99,26.4667,145.681,-37.43],[3401.38,1198.94,25.2667,140.705,-33.5967],[3236.1,1299.19,23.8667,135.619,-28.7236],[3026.13,1399.3,22.1167,130.596,-22.047],[2682.55,1499.88,19.3167,126.407,-10.2701],[2391.21,1526.34,17,127.175,-0.0306241]]], - [51,1568.54,[[5413.95,-2002.29,45.8667,244.08,-69.4941],[5376.76,-1903.73,45.4333,242.044,-69.1402],[5337.82,-1802.51,44.9833,239.906,-68.7634],[5298.56,-1702.44,44.5333,237.743,-68.3765],[5258.98,-1603.56,44.0833,235.556,-67.9793],[5217.6,-1502.27,43.6167,233.263,-67.5561],[5175.88,-1402.29,43.15,230.945,-67.1208],[5132.3,-1300.14,42.6667,228.519,-66.6567],[5089.88,-1202.88,42.2,226.152,-66.1954],[5044.05,-1100.18,41.7,223.591,-65.686],[4999.38,-1002.42,41.2167,221.091,-65.1782],[4952.79,-902.869,40.7167,218.48,-64.6361],[4904.23,-801.718,40.2,215.759,-64.0572],[4855.27,-702.337,39.6833,213.014,-63.4584],[4804.29,-601.634,39.15,210.157,-62.8184],[4752.88,-502.874,38.6167,207.279,-62.1551],[4697.78,-400.101,38.05,204.199,-61.4235],[4643.83,-302.509,37.5,201.192,-60.6856],[4586.13,-201.36,36.9167,197.985,-59.8714],[4527.91,-102.674,36.3333,194.763,-59.0229],[4465.82,-1.06524,35.7167,191.345,-58.0866],[4403.17,97.7103,35.1,187.919,-57.1074],[4336.54,198.713,34.45,184.306,-56.0262],[4267.57,298.938,33.7833,180.603,-54.8617],[4196.22,398.078,33.1,176.819,-53.606],[4120.68,498.091,32.3833,172.872,-52.2171],[4040.86,598.346,31.6333,168.778,-50.6797],[3956.68,698.169,30.85,164.557,-48.976],[3866.21,798.801,30.0167,160.146,-47.0465],[3769.32,899.112,29.1333,155.586,-44.8606],[3663.98,999.578,28.1833,150.849,-42.3375],[3548.09,1100,27.15,145.942,-39.3781],[3419.45,1199.34,26.0167,140.921,-35.8612],[3269.97,1299.18,24.7167,135.733,-31.4654],[3087.16,1399.08,23.15,130.48,-25.6552],[2829.64,1499.77,20.9833,125.452,-16.7797],[2371.21,1568.53,17.2333,124.421,-0.0385797]]], - [52,1610.38,[[5343.57,-2003.42,46.2667,244.526,-70.012],[5305.8,-1900.56,45.8167,242.405,-69.6539],[5269.14,-1802.58,45.3833,240.338,-69.3002],[5230.76,-1701.97,44.9333,238.167,-68.9234],[5192.07,-1602.53,44.4833,235.972,-68.5365],[5151.61,-1500.67,44.0167,233.669,-68.1241],[5110.82,-1400.1,43.55,231.34,-67.7],[5069.69,-1300.86,43.0833,228.986,-67.2637],[5028.23,-1202.95,42.6167,226.607,-66.8146],[4984.94,-1102.97,42.1333,224.118,-66.3355],[4939.77,-1001.11,41.6333,221.517,-65.8242],[4894.23,-900.841,41.1333,218.89,-65.2964],[4848.31,-802.203,40.6333,216.239,-64.7511],[4800.46,-702.01,40.1167,213.475,-64.1685],[4750.64,-600.46,39.5833,210.596,-63.5458],[4700.4,-500.844,39.05,207.695,-62.9002],[4648.14,-400.17,38.5,204.68,-62.2094],[4595.44,-301.611,37.95,201.645,-61.4917],[4540.67,-202.313,37.3833,198.498,-60.7228],[4483.81,-102.509,36.8,195.241,-59.8981],[4424.8,-2.44775,36.2,191.877,-59.013],[4363.62,97.6113,35.5833,188.408,-58.0618],[4298.54,199.981,34.9333,184.744,-57.0111],[4232.87,299.125,34.2833,181.079,-55.9078],[4163.2,399.822,33.6,177.231,-54.6877],[4091.16,499.169,32.9,173.305,-53.3696],[4014.97,599.051,32.1667,169.218,-51.9096],[3934.56,698.817,31.4,164.989,-50.2907],[3848.05,799.773,30.5833,160.549,-48.455],[3757.08,898.939,29.7333,156.022,-46.4139],[3657.96,999.022,28.8167,151.278,-44.0531],[3548.63,1099.96,27.8167,146.307,-41.2761],[3428.81,1199.44,26.7333,141.222,-38.0156],[3292.58,1298.75,25.5167,135.972,-34.0258],[3127.98,1399.64,24.0667,130.502,-28.8063],[2916.47,1499.52,22.2333,125.11,-21.5073],[2524.41,1599.79,18.9167,120.88,-6.77964],[2349.21,1610.38,17.4667,121.643,-0.0684493]]], - [53,1651.84,[[5268.33,-2002.43,46.65,244.927,-70.5211],[5232.81,-1902.87,46.2167,242.878,-70.1855],[5195.61,-1800.6,45.7667,240.725,-69.8279],[5159.5,-1703.2,45.3333,238.627,-69.4746],[5121.7,-1603.2,44.8833,236.424,-69.0981],[5082.18,-1500.75,44.4167,234.112,-68.6968],[5043.76,-1403.18,43.9667,231.857,-68.299],[5003.59,-1303.28,43.5,229.493,-67.8747],[4961.65,-1201.22,43.0167,227.017,-67.4222],[4919.35,-1100.6,42.5333,224.515,-66.9559],[4876.71,-1001.46,42.05,221.987,-66.475],[4832.22,-900.468,41.55,219.345,-65.9615],[4787.37,-801.093,41.05,216.677,-65.4311],[4740.63,-700.132,40.5333,213.894,-64.8644],[4693.5,-600.951,40.0167,211.086,-64.2777],[4644.44,-500.464,39.4833,208.162,-63.6502],[4594.96,-401.929,38.95,205.215,-62.9993],[4543.5,-302.39,38.4,202.153,-62.3022],[4490.04,-202.069,37.8333,198.977,-61.5552],[4434.51,-101.202,37.25,195.688,-60.7538],[4376.9,-0.0350261,36.65,192.286,-59.8934],[4318.79,98.4741,36.05,188.871,-58.994],[4256.9,199.531,35.4167,185.254,-57.9999],[4194.45,297.538,34.7833,181.632,-56.957],[4126.47,399.814,34.1,177.724,-55.7734],[4057.85,498.436,33.4167,173.824,-54.5251],[3985.23,597.883,32.7,169.753,-53.1418],[3906.79,699.685,31.9333,165.431,-51.572],[3825.86,798.733,31.15,161.065,-49.8649],[3738.91,898.509,30.3167,156.498,-47.9261],[3644.04,999.69,29.4167,151.682,-45.6796],[3542.83,1098.97,28.4667,146.765,-43.1238],[3429.71,1199.57,27.4167,141.58,-40.0632],[3302.52,1299.93,26.25,136.204,-36.3543],[3155.28,1399.66,24.9167,130.68,-31.7007],[2972.24,1499.69,23.2833,125.036,-25.3934],[2703.89,1599.99,20.9333,119.658,-15.2628],[2323.2,1651.83,17.6833,118.859,-0.0431973]]], - [54,1692.85,[[5189.66,-2003.22,47.0333,245.361,-71.0348],[5154.97,-1903.16,46.6,243.307,-70.7083],[5118.65,-1800.37,46.15,241.147,-70.3604],[5083.4,-1702.46,45.7167,239.042,-70.0167],[5046.49,-1601.93,45.2667,236.83,-69.6503],[5009.29,-1502.58,44.8167,234.593,-69.2739],[4970.39,-1400.81,44.35,232.245,-68.8727],[4931.17,-1300.35,43.8833,229.87,-68.4598],[4891.63,-1201.21,43.4167,227.469,-68.0348],[4851.77,-1103.41,42.95,225.041,-67.5972],[4808.71,-1000.15,42.45,222.413,-67.1137],[4766.74,-901.828,41.9667,219.845,-66.6313],[4722.96,-801.705,41.4667,217.161,-66.1159],[4678.83,-703.216,40.9667,214.452,-65.5833],[4632.84,-603.187,40.45,211.626,-65.0138],[4584.97,-501.815,39.9167,208.681,-64.4046],[4536.69,-402.386,39.3833,205.712,-63.7726],[4486.48,-301.914,38.8333,202.625,-63.0956],[4434.31,-200.622,38.2667,199.421,-62.3699],[4381.68,-101.622,37.7,196.194,-61.614],[4327.04,-2.13799,37.1167,192.854,-60.8025],[4270.36,97.5802,36.5167,189.4,-59.9303],[4209.99,199.927,35.8833,185.74,-58.9659],[4149.08,299.239,35.25,182.069,-57.9537],[4086.01,397.962,34.6,178.297,-56.8618],[4019.11,498.2,33.9167,174.335,-55.6522],[3948.29,599.361,33.2,170.19,-54.3108],[3875.15,698.608,32.4667,165.972,-52.8555],[3796.27,799.785,31.6833,161.507,-51.2016],[3713.22,899.866,30.8667,156.914,-49.3598],[3624.2,999.952,30,152.134,-47.2638],[3529.08,1098.85,29.0833,147.214,-44.8763],[3424.19,1198.45,28.0833,142.051,-42.0565],[3305.72,1299.28,26.9667,136.601,-38.6237],[3171.48,1398.94,25.7167,130.997,-34.4043],[3008.17,1499.82,24.2167,125.143,-28.7979],[2792.39,1599.84,22.2667,119.329,-20.6511],[2295.27,1692.85,17.9,116.05,-0.0399085]]], - [55,1733.38,[[5106.24,-2001.94,47.4,245.751,-71.5408],[5072.39,-1901.42,46.9667,243.69,-71.2231],[5038.27,-1801.94,46.5333,241.604,-70.8974],[5003.87,-1703.52,46.1,239.493,-70.5633],[4967.87,-1602.45,45.65,237.274,-70.2072],[4931.57,-1502.55,45.2,235.028,-69.8414],[4893.62,-1400.21,44.7333,232.672,-69.4514],[4856.73,-1302.76,44.2833,230.373,-69.0646],[4818.17,-1202.99,43.8167,227.961,-68.6519],[4777.9,-1101.06,43.3333,225.436,-68.2115],[4737.29,-1000.59,42.85,222.882,-67.7573],[4696.35,-901.596,42.3667,220.301,-67.2887],[4653.65,-800.765,41.8667,217.602,-66.7881],[4610.6,-701.561,41.3667,214.876,-66.2706],[4565.74,-600.785,40.85,212.032,-65.7173],[4520.51,-501.797,40.3333,209.16,-65.1441],[4473.43,-401.52,39.8,206.169,-64.5305],[4424.46,-300.164,39.25,203.058,-63.8732],[4375.08,-200.926,38.7,199.921,-63.1896],[4323.77,-100.927,38.1333,196.666,-62.4561],[4270.5,-0.405525,37.55,193.293,-61.6686],[4216.77,97.6277,36.9667,189.899,-60.8459],[4159.47,198.517,36.35,186.295,-59.9357],[4100.11,299.153,35.7167,182.579,-58.9549],[4038.64,399.249,35.0667,178.755,-57.8964],[3975.03,498.508,34.4,174.831,-56.7525],[3907.63,598.965,33.7,170.715,-55.4834],[3837.99,697.76,32.9833,166.516,-54.1065],[3762.79,798.839,32.2167,162.053,-52.5404],[3683.57,899.156,31.4167,157.445,-50.7951],[3598.55,999.885,30.5667,152.625,-48.8067],[3507.63,1099.86,29.6667,147.636,-46.5385],[3408.94,1199.48,28.7,142.446,-43.9005],[3298.85,1299.91,27.6333,136.978,-40.7282],[3175.28,1399.51,26.45,131.316,-36.8649],[3028.97,1499.91,25.0667,125.377,-31.865],[2846.52,1599.22,23.3667,119.353,-24.9977],[2556.48,1699.96,20.7167,113.585,-12.8875],[2265.39,1733.38,18.1167,113.216,-0.0601672]]], - [56,1773.39,[[5019.39,-2002.52,47.7667,246.174,-72.0515],[4986.38,-1901.53,47.3333,244.108,-71.7428],[4953.12,-1801.58,46.9,242.016,-71.4263],[4919.59,-1702.67,46.4667,239.898,-71.1017],[4884.48,-1601.09,46.0167,237.672,-70.7557],[4849.09,-1500.68,45.5667,235.418,-70.4002],[4813.42,-1401.45,45.1167,233.138,-70.035],[4777.46,-1303.43,44.6667,230.83,-69.6594],[4739.87,-1203.06,44.2,228.409,-69.2587],[4700.61,-1100.51,43.7167,225.872,-68.8311],[4662.4,-1002.87,43.25,223.395,-68.4055],[4622.51,-903.188,42.7667,220.802,-67.9509],[4580.9,-801.636,42.2667,218.09,-67.4653],[4538.94,-701.704,41.7667,215.349,-66.9632],[4495.22,-600.167,41.25,212.487,-66.4263],[4451.14,-500.41,40.7333,209.596,-65.87],[4406.69,-402.459,40.2167,206.679,-65.2934],[4358.98,-300.203,39.6667,203.545,-64.656],[4310.87,-200.055,39.1167,200.384,-63.993],[4262.34,-102.046,38.5667,197.198,-63.303],[4210.44,-0.46909,37.9833,193.793,-62.5397],[4158.1,98.6309,37.4,190.367,-61.7423],[4103.8,197.94,36.8,186.822,-60.8842],[4045.97,299.838,36.1667,183.062,-59.934],[3987.64,398.684,35.5333,179.289,-58.9352],[3925.69,499.388,34.8667,175.31,-57.8276],[3861.63,598.995,34.1833,171.23,-56.6281],[3793.82,699.471,33.4667,166.958,-55.2951],[3723.8,797.994,32.7333,162.606,-53.8455],[3648.3,898.369,31.95,157.994,-52.1938],[3567.2,999.551,31.1167,153.148,-50.3099],[3482.02,1098.56,30.25,148.198,-48.2004],[3387.69,1199.7,29.3,142.913,-45.6969],[3285.66,1299.23,28.2833,137.469,-42.7773],[3170.65,1399.43,27.15,131.731,-39.2061],[3038.83,1498.95,25.8667,125.768,-34.7307],[2877.47,1599.1,24.3167,119.533,-28.6882],[2653.43,1699.77,22.2,113.225,-19.346],[2231.73,1773.39,18.3167,110.372,-0.0214133]]], - [57,1812.83,[[4927.86,-2001.1,48.1167,246.551,-72.5553],[4896.95,-1903.55,47.7,244.56,-72.2672],[4864.54,-1803.11,47.2667,242.463,-71.96],[4831.88,-1703.71,46.8333,240.34,-71.645],[4797.69,-1601.62,46.3833,238.107,-71.3092],[4763.22,-1500.68,45.9333,235.846,-70.9642],[4728.47,-1400.92,45.4833,233.557,-70.6097],[4693.44,-1302.36,45.0333,231.241,-70.2452],[4656.83,-1201.43,44.5667,228.811,-69.8563],[4619.91,-1101.83,44.1,226.351,-69.4557],[4581.36,-1000.08,43.6167,223.774,-69.028],[4543.85,-903.233,43.15,221.258,-68.6021],[4503.32,-801.001,42.65,218.532,-68.1311],[4462.46,-700.381,42.15,215.776,-67.644],[4421.26,-601.396,41.65,212.991,-67.1403],[4378.34,-500.856,41.1333,210.084,-66.6011],[4335.06,-402.113,40.6167,207.147,-66.0423],[4290.02,-302.099,40.0833,204.087,-65.4435],[4243.17,-201.026,39.5333,200.903,-64.8015],[4195.94,-102.082,38.9833,197.691,-64.1331],[4146.86,-2.39873,38.4167,194.356,-63.4152],[4095.91,97.7855,37.8333,190.898,-62.6435],[4043.06,198.221,37.2333,187.318,-61.8128],[3988.27,298.648,36.6167,183.617,-60.9175],[3931.5,398.79,35.9833,179.799,-59.9512],[3872.73,498.363,35.3333,175.868,-58.9066],[3810.39,599.488,34.65,171.729,-57.7467],[3745.95,699.246,33.95,167.49,-56.4876],[3677.83,799.532,33.2167,163.06,-55.0858],[3605.95,899.688,32.45,158.455,-53.5223],[3530.24,999.01,31.65,153.694,-51.7749],[3449.01,1098.65,30.8,148.708,-49.7774],[3360.54,1199.19,29.8833,143.444,-47.4461],[3264.66,1298.96,28.9,137.97,-44.7224],[3157.87,1399.03,27.8167,132.209,-41.4309],[3036.55,1498.92,26.6,126.171,-37.3407],[2891.81,1599.34,25.1667,119.813,-31.9527],[2705.64,1699.34,23.35,113.274,-24.2216],[2368.86,1799.92,20.1333,107.264,-8.45043],[2196.21,1812.83,18.5167,107.503,-0.00611106]]], - [58,1851.66,[[4832.95,-2001.65,48.4667,246.962,-73.0641],[4802.87,-1903.67,48.05,244.967,-72.7846],[4771.33,-1802.77,47.6167,242.864,-72.4866],[4739.54,-1702.9,47.1833,240.735,-72.181],[4706.25,-1600.32,46.7333,238.496,-71.8552],[4673.95,-1502.63,46.3,236.312,-71.5331],[4640.13,-1402.33,45.85,234.017,-71.1894],[4606.05,-1303.23,45.4,231.693,-70.8361],[4570.41,-1201.72,44.9333,229.253,-70.4591],[4534.49,-1101.54,44.4667,226.784,-70.0707],[4498.28,-1002.69,44,224.286,-69.6706],[4460.47,-901.748,43.5167,221.669,-69.2432],[4422.35,-802.279,43.0333,219.021,-68.8019],[4382.59,-700.957,42.5333,216.252,-68.3302],[4342.5,-601.264,42.0333,213.452,-67.8421],[4302.1,-503.222,41.5333,210.622,-67.337],[4258.63,-400.492,41,207.573,-66.7783],[4216.18,-302.818,40.4833,204.589,-66.2165],[4170.62,-200.868,39.9333,201.382,-65.595],[4124.67,-101.037,39.3833,198.146,-64.9478],[4076.92,-0.431185,38.8167,194.784,-64.2527],[4028.78,97.8578,38.25,191.395,-63.5269],[3977.37,199.365,37.65,187.78,-62.7231],[3925.53,298.198,37.05,184.143,-61.8804],[3870.32,399.576,36.4167,180.282,-60.9459],[3814.64,497.885,35.7833,176.405,-59.9619],[3755.52,598.003,35.1167,172.312,-58.8688],[3692.88,699.356,34.4167,168.01,-57.6529],[3628.17,799.062,33.7,163.609,-56.3298],[3559.84,898.94,32.95,159.019,-54.8536],[3487.8,998.307,32.1667,154.257,-53.2031],[3410.44,1098.38,31.3333,149.248,-51.3144],[3326.06,1199.84,30.4333,143.93,-49.1066],[3236.1,1299.36,29.4833,138.457,-46.569],[3137.22,1398.64,28.45,132.721,-43.5439],[3024.34,1499.32,27.2833,126.599,-39.7662],[2893.78,1599.32,25.95,120.196,-34.9393],[2731.68,1699.56,24.3167,113.478,-28.2463],[2494.44,1799.95,21.9667,106.693,-17.1683],[2158.83,1851.66,18.7167,104.607,-0.0165825]]], - [59,1889.83,[[4733.46,-2000.28,48.8,247.328,-73.5669],[4704.2,-1901.89,48.3833,245.328,-73.2959],[4673.52,-1800.56,47.95,243.22,-73.007],[4642.6,-1700.26,47.5167,241.085,-72.7106],[4611.44,-1601.02,47.0833,238.922,-72.4065],[4580.02,-1502.85,46.65,236.732,-72.0943],[4547.14,-1402.04,46.2,234.43,-71.7614],[4514,-1302.42,45.75,232.098,-71.419],[4479.35,-1200.38,45.2833,229.65,-71.0537],[4445.67,-1103.23,44.8333,227.26,-70.691],[4409.2,-1000.26,44.35,224.663,-70.2896],[4373.71,-902.212,43.8833,222.125,-69.8898],[4336.65,-802.111,43.4,219.465,-69.4626],[4298,-700.128,42.9,216.683,-69.0058],[4260.33,-603.085,42.4167,213.962,-68.5492],[4219.74,-501.049,41.9,211.022,-68.044],[4178.82,-400.795,41.3833,208.051,-67.5201],[4137.55,-302.35,40.8667,205.049,-66.9765],[4094.61,-202.654,40.3333,201.919,-66.3936],[4049.96,-101.92,39.7833,198.66,-65.768],[4003.56,-0.373155,39.2167,195.272,-65.0959],[3956.78,98.8664,38.65,191.855,-64.3941],[3908.21,198.579,38.0667,188.309,-63.6386],[3857.83,298.514,37.4667,184.637,-62.8243],[3805.61,398.409,36.85,180.838,-61.9454],[3751.52,497.987,36.2167,176.917,-60.9952],[3694.08,599.455,35.55,172.773,-59.9392],[3634.69,699.84,34.8667,168.514,-58.7927],[3573.3,798.816,34.1667,164.149,-57.5455],[3508.42,898.257,33.4333,159.584,-56.1535],[3438.47,999.604,32.65,154.729,-54.5615],[3364.86,1099.82,31.8333,149.71,-52.7754],[3287.52,1198.14,30.9833,144.555,-50.7667],[3201.77,1298.95,30.05,139.007,-48.3678],[3108.94,1398.54,29.05,133.242,-45.5504],[3004.18,1499.3,27.9333,127.09,-42.0718],[2885.57,1598.78,26.6833,120.675,-37.7218],[2741.43,1699.31,25.1833,113.837,-31.8158],[2549.62,1799.4,23.2167,106.756,-22.9118],[2119.58,1889.83,18.9167,101.686,-0.0552945]]], - [60,1927.3,[[4630.62,-2000.98,49.1333,247.728,-74.075],[4602.19,-1902.16,48.7167,245.724,-73.8125],[4572.39,-1800.4,48.2833,243.611,-73.5327],[4543.51,-1703.51,47.8667,241.554,-73.2569],[4513.24,-1603.78,47.4333,239.387,-72.9627],[4481.55,-1501.34,46.9833,237.106,-72.649],[4449.61,-1400.06,46.5333,234.797,-72.3265],[4418.61,-1303.65,46.1,232.544,-72.0074],[4384.95,-1201.06,45.6333,230.088,-71.6539],[4352.24,-1103.37,45.1833,227.69,-71.3029],[4318.05,-1003.36,44.7167,225.173,-70.9281],[4282.34,-901.201,44.2333,222.534,-70.5277],[4246.35,-800.505,43.75,219.864,-70.1142],[4210.06,-701.295,43.2667,217.161,-69.6871],[4172.22,-600.251,42.7667,214.333,-69.2301],[4134.06,-500.845,42.2667,211.473,-68.7571],[4095.61,-403.1,41.7667,208.582,-68.2671],[4054.25,-300.697,41.2333,205.465,-67.7247],[4012.54,-200.241,40.7,202.315,-67.1609],[3970.5,-101.762,40.1667,199.133,-66.5743],[3926.78,-2.30452,39.6167,195.821,-65.9443],[3881.36,97.9033,39.05,192.378,-65.2668],[3834.22,198.623,38.4667,188.803,-64.5373],[3785.31,299.606,37.8667,185.097,-63.7508],[3735.99,397.897,37.2667,181.365,-62.9252],[3683.49,498.684,36.6333,177.401,-62.0082],[3629.14,598.913,35.9833,173.313,-61.0147],[3572.91,698.281,35.3167,169.105,-59.9366],[3513.36,798.823,34.6167,164.677,-58.7346],[3450.4,899.922,33.8833,160.039,-57.3921],[3385.43,998.773,33.1333,155.306,-55.9231],[3315.5,1099.07,32.3333,150.288,-54.2391],[3240.49,1199.74,31.4833,145.01,-52.3047],[3160.31,1299.59,30.5833,139.511,-50.0768],[3073.33,1399.01,29.6167,133.747,-47.4564],[2976.36,1499.16,28.55,127.617,-44.2624],[2866.07,1599.66,27.35,121.105,-40.2491],[2737.42,1699.26,25.9667,114.263,-35.0177],[2572.45,1799.9,24.2167,106.971,-27.4119],[2308.47,1899.68,21.4667,99.7198,-13.3688],[2076.83,1927.3,19.1,98.7524,-0.0302535]]], - [61,1964.03,[[4524.4,-2003.8,49.4667,248.163,-74.5881],[4495.7,-1900.61,49.0333,246.074,-74.324],[4467.9,-1802.34,48.6167,244.039,-74.0638],[4438.75,-1701.15,48.1833,241.894,-73.7863],[4409.37,-1601.01,47.75,239.721,-73.5015],[4379.76,-1501.91,47.3167,237.519,-73.2092],[4348.76,-1400.15,46.8667,235.203,-72.8974],[4318.68,-1303.26,46.4333,232.944,-72.5888],[4286.02,-1200.15,45.9667,230.48,-72.2469],[4254.27,-1101.96,45.5167,228.074,-71.9075],[4221.09,-1001.43,45.05,225.547,-71.545],[4187.65,-902.236,44.5833,222.99,-71.1712],[4152.72,-800.932,44.1,220.308,-70.7717],[4117.52,-701.108,43.6167,217.594,-70.359],[4082.03,-602.785,43.1333,214.848,-69.9324],[4045.03,-502.674,42.6333,211.975,-69.4758],[4006.48,-400.965,42.1167,208.972,-68.9867],[3967.61,-301.048,41.6,205.935,-68.479],[3928.42,-202.951,41.0833,202.866,-67.952],[3886.37,-100.554,40.5333,199.564,-67.3681],[3843.96,-0.27991,39.9833,196.229,-66.7596],[3801.21,97.8386,39.4333,192.862,-66.1247],[3755.48,199.514,38.85,189.259,-65.4207],[3709.37,298.692,38.2667,185.625,-64.6831],[3661.55,398.061,37.6667,181.859,-63.887],[3610.64,499.999,37.0333,177.856,-63.0024],[3559.3,598.86,36.4,173.828,-62.0691],[3504.78,699.552,35.7333,169.569,-61.0298],[3448.42,799.117,35.05,165.189,-59.899],[3388.79,899.516,34.3333,160.588,-58.6356],[3327.23,997.923,33.6,155.884,-57.2536],[3260.88,1098.13,32.8167,150.877,-55.6681],[3189.64,1199.09,31.9833,145.589,-53.8453],[3113.41,1299.66,31.1,140.053,-51.7439],[3032.09,1398.59,30.1667,134.317,-49.3138],[2941.14,1499.2,29.1333,128.152,-46.3435],[2838.85,1599.99,27.9833,121.602,-42.6526],[2721.91,1699.51,26.6833,114.725,-37.9371],[2577.69,1799.72,25.1,107.362,-31.3435],[2374.21,1899.96,22.9,99.6551,-20.5954],[2032.3,1964.03,19.2833,95.7918,-0.0336656]]], - [62,1999.98,[[4412.65,-2000.81,49.7667,248.473,-75.0864],[4385.91,-1901.21,49.35,246.46,-74.841],[4358.95,-1802.54,48.9333,244.421,-74.5895],[4330.7,-1700.92,48.5,242.271,-74.3213],[4302.22,-1600.34,48.0667,240.093,-74.0462],[4273.51,-1500.82,47.6333,237.885,-73.7637],[4244.58,-1402.36,47.2,235.649,-73.4737],[4214.3,-1301.27,46.75,233.297,-73.1641],[4183.78,-1201.36,46.3,230.914,-72.8457],[4153.01,-1102.65,45.85,228.5,-72.518],[4120.85,-1001.58,45.3833,225.965,-72.168],[4088.44,-901.843,44.9167,223.398,-71.8071],[4055.77,-803.457,44.45,220.8,-71.4348],[4021.66,-703.005,43.9667,218.076,-71.0367],[3986.08,-600.662,43.4667,215.223,-70.6107],[3951.42,-503.274,42.9833,212.432,-70.1846],[3914.06,-400.871,42.4667,209.414,-69.7127],[3876.4,-300.254,41.95,206.361,-69.2228],[3838.43,-201.449,41.4333,203.274,-68.7142],[3798.91,-101.386,40.9,200.054,-68.1681],[3757.83,-0.278179,40.35,196.697,-67.5814],[3716.41,98.6831,39.8,193.307,-66.9691],[3673.38,198.365,39.2333,189.781,-66.31],[3628.72,298.528,38.65,186.118,-65.5994],[3582.4,398.92,38.05,182.319,-64.8322],[3534.39,499.277,37.4333,178.384,-64.0026],[3484.66,599.323,36.8,174.315,-63.1039],[3433.19,698.767,36.15,170.116,-62.1285],[3378.62,799.727,35.4667,165.681,-61.0403],[3322.22,899.283,34.7667,161.125,-59.8531],[3262.62,999.318,34.0333,156.349,-58.5235],[3199.76,1099.17,33.2667,151.363,-57.0306],[3133.57,1198.13,32.4667,146.185,-55.3493],[3061.2,1299.22,31.6,140.627,-53.3707],[2983.92,1399.1,30.6833,134.837,-51.08],[2898.79,1499.69,29.6833,128.671,-48.3216],[2805.63,1598.65,28.6,122.233,-44.9912],[2696.96,1699.69,27.35,115.229,-40.652],[2569.42,1798.97,25.9,107.876,-34.877],[2400.01,1899.42,24,99.9588,-26.0145],[1986.01,1999.98,19.4667,92.8053,-0.0685302]]], - [63,2035.11,[[4297.65,-2000,50.0667,248.817,-75.5906],[4271.76,-1900.03,49.65,246.801,-75.3536],[4245.66,-1800.99,49.2333,244.757,-75.1108],[4219.36,-1702.88,48.8167,242.686,-74.8619],[4191.79,-1601.87,48.3833,240.503,-74.5965],[4164,-1501.9,47.95,238.291,-74.324],[4135.99,-1402.99,47.5167,236.05,-74.0441],[4106.68,-1301.43,47.0667,233.691,-73.7455],[4077.13,-1201.04,46.6167,231.301,-73.4382],[4047.35,-1101.85,46.1667,228.88,-73.1221],[4016.22,-1000.28,45.7,226.337,-72.7843],[3984.84,-900.029,45.2333,223.761,-72.4361],[3953.21,-801.128,44.7667,221.152,-72.0769],[3920.18,-700.137,44.2833,218.416,-71.6926],[3886.9,-600.635,43.8,215.646,-71.2954],[3853.34,-502.644,43.3167,212.844,-70.8846],[3818.36,-402.887,42.8167,209.91,-70.4445],[3781.91,-301.554,42.3,206.842,-69.9728],[3745.17,-202.026,41.7833,203.739,-69.4828],[3706.93,-101.208,41.25,200.5,-68.9567],[3668.39,-2.36964,40.7167,197.226,-68.4089],[3628.31,97.4519,40.1667,193.814,-67.8197],[3586.68,198.03,39.6,190.263,-67.1853],[3543.47,299.125,39.0167,186.573,-66.5012],[3499.9,397.706,38.4333,182.849,-65.7835],[3453.46,499.147,37.8167,178.88,-64.9855],[3406.63,597.694,37.2,174.88,-64.1442],[3356.85,698.39,36.55,170.637,-63.2067],[3305.35,798.228,35.8833,166.26,-62.1867],[3250.82,899.253,35.1833,161.646,-61.0463],[3194.5,998.585,34.4667,156.911,-59.7984],[3135.04,1098.03,33.7167,151.955,-58.397],[3071.05,1198.95,32.9167,146.683,-56.7835],[3003.79,1298.32,32.0833,141.225,-54.9586],[2930.47,1398.96,31.1833,135.399,-52.8034],[2850.96,1499.2,30.2167,129.257,-50.2497],[2763.74,1598.73,29.1667,122.781,-47.1601],[2664.42,1699.04,27.9833,115.818,-43.2325],[2548.43,1799.01,26.6167,108.382,-38.0331],[2402.32,1899.21,24.9167,100.381,-30.4657],[2175.21,1999.66,22.3167,91.9591,-16.5062]]], - [64,2069.37,[[4179.38,-2001.47,50.3667,249.197,-76.1004],[4154.34,-1901.11,49.95,247.177,-75.8719],[4129.1,-1801.68,49.5333,245.13,-75.6378],[4103.68,-1703.19,49.1167,243.055,-75.398],[4077.02,-1601.77,48.6833,240.868,-75.1421],[4050.15,-1501.38,48.25,238.651,-74.8794],[4023.08,-1402.06,47.8167,236.404,-74.6097],[3994.73,-1300.05,47.3667,234.039,-74.3218],[3967.23,-1202.94,46.9333,231.731,-74.0367],[3938.44,-1103.26,46.4833,229.304,-73.7322],[3908.35,-1001.16,46.0167,226.753,-73.407],[3878.01,-900.394,45.55,224.169,-73.0716],[3847.43,-800.965,45.0833,221.551,-72.7255],[3816.62,-702.898,44.6167,218.9,-72.3684],[3784.45,-602.786,44.1333,216.121,-71.9863],[3750.9,-500.805,43.6333,213.209,-71.5771],[3717.07,-400.457,43.1333,210.261,-71.1531],[3682.98,-301.769,42.6333,207.278,-70.7135],[3647.47,-201.56,42.1167,204.16,-70.2419],[3610.52,-100.031,41.5833,200.903,-69.7355],[3573.26,-0.475415,41.05,197.609,-69.2081],[3535.7,97.0781,40.5167,194.28,-68.6584],[3495.48,198.502,39.95,190.706,-68.0482],[3454.92,297.599,39.3833,187.096,-67.4094],[3411.62,399.949,38.7833,183.236,-66.6996],[3367.96,499.61,38.1833,179.341,-65.9529],[3322.71,599.196,37.5667,175.305,-65.1441],[3275.85,698.428,36.9333,171.13,-64.2663],[3226.1,799.5,36.2667,166.706,-63.2864],[3174.68,899.442,35.5833,162.148,-62.2173],[3121.56,997.928,34.8833,157.462,-61.0479],[3064.14,1099.01,34.1333,152.432,-59.7036],[3003.63,1199.61,33.35,147.183,-58.188],[2939.99,1298.99,32.5333,141.731,-56.4734],[2871.84,1398.22,31.6667,135.993,-54.486],[2796.44,1499.52,30.7167,129.794,-52.0848],[2714.96,1599.13,29.7,123.315,-49.223],[2623.21,1699.28,28.5667,116.36,-45.6278],[2516.84,1799.8,27.2667,108.863,-40.904],[2388.52,1899.27,25.7167,100.861,-34.3231],[2208,1999.9,23.5667,92.1595,-23.3457]]], - [65,2102.73,[[4056.86,-2001.23,50.65,249.532,-76.6067],[4032.69,-1900.52,50.2333,247.509,-76.3867],[4008.32,-1800.74,49.8167,245.458,-76.1613],[3983.77,-1701.88,49.4,243.379,-75.9304],[3958.03,-1600.07,48.9667,241.187,-75.6839],[3933.09,-1503.16,48.55,239.051,-75.4408],[3906.95,-1403.41,48.1167,236.799,-75.1813],[3879.59,-1300.95,47.6667,234.429,-74.9043],[3853.04,-1203.4,47.2333,232.115,-74.63],[3825.25,-1103.26,46.7833,229.681,-74.3371],[3796.2,-1000.68,46.3167,227.123,-74.0241],[3767.96,-903.016,45.8667,224.623,-73.7131],[3738.45,-803.046,45.4,221.998,-73.3805],[3707.65,-700.935,44.9167,219.243,-73.0247],[3676.59,-600.301,44.4333,216.452,-72.6569],[3645.28,-501.166,43.95,213.626,-72.2764],[3612.64,-400.213,43.45,210.666,-71.8688],[3579.73,-300.913,42.95,207.67,-71.4461],[3545.46,-200.065,42.4333,204.536,-70.9926],[3510.91,-101.034,41.9167,201.365,-70.5211],[3474.95,-0.742804,41.3833,198.053,-70.0145],[3438.71,97.5536,40.85,194.705,-69.4863],[3399.89,199.775,40.2833,191.108,-68.9],[3360.75,299.678,39.7167,187.473,-68.2861],[3321.29,397.226,39.15,183.801,-67.6425],[3279.18,497.908,38.55,179.877,-66.9266],[3235.53,598.555,37.9333,175.807,-66.1509],[3190.32,698.887,37.3,171.593,-65.3088],[3143.54,798.616,36.65,167.236,-64.3927],[3093.94,899.862,35.9667,162.627,-63.3678],[3042.7,999.696,35.2667,157.883,-62.2462],[2989.79,1097.78,34.55,153.011,-61.0154],[2932.7,1198.01,33.7833,147.794,-59.5966],[2871.34,1299.36,32.9667,142.245,-57.9564],[2806.91,1398.82,32.1167,136.502,-56.0912],[2736.78,1499.08,31.2,130.375,-53.8764],[2660.85,1598.45,30.2167,123.921,-51.2344],[2575.07,1699.4,29.1167,116.914,-47.9057],[2477.9,1799.58,27.8833,109.438,-43.6344],[2362.38,1899.49,26.4333,101.373,-37.7736],[2210.42,1999.94,24.55,92.5662,-28.6365]]], - [66,2135.15,[[3931.13,-2003.33,50.9333,249.904,-77.1188],[3907.83,-1902.26,50.5167,247.878,-76.9074],[3884.35,-1802.1,50.1,245.824,-76.6908],[3860.68,-1702.87,49.6833,243.742,-76.4688],[3835.88,-1600.68,49.25,241.546,-76.232],[3811.83,-1503.39,48.8333,239.405,-75.9983],[3786.64,-1403.23,48.4,237.148,-75.7489],[3760.27,-1300.36,47.95,234.772,-75.4827],[3734.67,-1202.39,47.5167,232.453,-75.2191],[3707.88,-1101.82,47.0667,230.012,-74.9375],[3680.88,-1002.46,46.6167,227.538,-74.6476],[3652.66,-900.696,46.15,224.939,-74.3377],[3624.21,-800.267,45.6833,222.304,-74.0179],[3595.54,-701.19,45.2167,219.635,-73.6879],[3565.61,-600.021,44.7333,216.834,-73.3347],[3535.44,-500.344,44.25,213.997,-72.9693],[3505.03,-402.183,43.7667,211.125,-72.591],[3473.32,-302.256,43.2667,208.116,-72.1855],[3440.3,-200.752,42.75,204.968,-71.7504],[3407.01,-101.059,42.2333,201.782,-71.298],[3372.36,-0.0775652,41.7,198.453,-70.8118],[3337.44,98.9166,41.1667,195.086,-70.3049],[3301.14,198.892,40.6167,191.574,-69.759],[3263.43,299.619,40.05,187.916,-69.1704],[3225.42,398.002,39.4833,184.22,-68.5533],[3184.84,499.576,38.8833,180.266,-67.8666],[3143.93,598.442,38.2833,176.274,-67.143],[3100.39,699.817,37.65,172.023,-66.3361],[3056.48,798.083,37.0167,167.738,-65.481],[3009.88,898.112,36.35,163.196,-64.5244],[2960.54,999.322,35.65,158.398,-63.4517],[2909.59,1098.83,34.9333,153.463,-62.2738],[2855.82,1198.44,34.1833,148.286,-60.9458],[2797.96,1299.51,33.3833,142.762,-59.4097],[2737.15,1399.02,32.55,137.026,-57.6627],[2670.88,1499.78,31.65,130.878,-55.5858],[2600.29,1598.46,30.7,124.477,-53.1503],[2520.28,1699.71,29.6333,117.458,-50.0736],[2431.89,1798.73,28.4667,110.074,-46.2292],[2325.96,1899.99,27.0833,101.89,-40.915],[2195.54,1999.21,25.4,93.1346,-33.1694]]], - [67,2166.59,[[3801.31,-2003.78,51.2,250.231,-77.6282],[3778.88,-1902.38,50.7833,248.202,-77.4252],[3756.28,-1801.88,50.3667,246.145,-77.2173],[3733.51,-1702.31,49.95,244.059,-77.0042],[3710.55,-1603.67,49.5333,241.944,-76.7858],[3686.5,-1502.1,49.1,239.713,-76.5527],[3662.25,-1401.58,48.6667,237.451,-76.3132],[3637.81,-1302.12,48.2333,235.158,-76.0673],[3613.18,-1203.74,47.8,232.834,-75.8145],[3587.41,-1102.73,47.35,230.388,-75.5444],[3561.43,-1002.91,46.9,227.908,-75.2664],[3534.28,-900.688,46.4333,225.301,-74.9692],[3507.89,-803.368,45.9833,222.753,-74.6736],[3479.32,-700.233,45.5,219.98,-74.346],[3451.51,-602.046,45.0333,217.267,-74.0191],[3422.49,-501.813,44.55,214.421,-73.6689],[3393.24,-403.09,44.0667,211.538,-73.3065],[3362.74,-302.575,43.5667,208.517,-72.9179],[3330.97,-200.458,43.05,205.356,-72.5009],[3298.94,-100.145,42.5333,202.155,-72.0674],[3266.66,-1.66308,42.0167,198.915,-71.6162],[3233.07,98.0468,41.4833,195.53,-71.1309],[3198.15,198.768,40.9333,191.999,-70.6082],[3162.96,297.32,40.3833,188.428,-70.0614],[3125.32,399.439,39.8,184.598,-69.4534],[3087.38,499.044,39.2167,180.728,-68.8143],[3048.04,598.833,38.6167,176.706,-68.1219],[3007.27,698.539,38,172.534,-67.3705],[2965.05,797.882,37.3667,168.211,-66.5531],[2920.25,899.056,36.7,163.625,-65.6382],[2873.94,999.088,36.0167,158.891,-64.6372],[2824.96,1099.95,35.3,153.898,-63.5115],[2774.41,1198.79,34.5667,148.768,-62.2709],[2719.96,1299.43,33.7833,143.279,-60.8351],[2662.69,1398.84,32.9667,137.561,-59.2021],[2600.2,1499.91,32.0833,131.405,-57.259],[2533.57,1599.33,31.15,124.967,-54.9784],[2460.31,1698.86,30.1333,118.079,-52.1878],[2377.87,1798.87,29,110.632,-48.6392],[2282.33,1899.18,27.7,102.53,-43.9014],[2165.91,1999.26,26.1333,93.6786,-37.0751]]], - [68,2197.01,[[3667.48,-2002.6,51.45,250.514,-78.1357],[3645.93,-1900.88,51.0333,248.482,-77.9412],[3624.22,-1800.07,50.6167,246.421,-77.7419],[3602.34,-1700.18,50.2,244.331,-77.5376],[3580.29,-1601.23,49.7833,242.212,-77.3282],[3558.07,-1503.22,49.3667,240.063,-77.1135],[3534.78,-1402.32,48.9333,237.797,-76.8842],[3511.31,-1302.47,48.5,235.499,-76.6486],[3487.66,-1203.7,48.0667,233.17,-76.4065],[3462.9,-1102.28,47.6167,230.717,-76.1479],[3437.95,-1002.06,47.1667,228.231,-75.8816],[3412.81,-903.04,46.7167,225.71,-75.6073],[3386.52,-801.655,46.25,223.061,-75.3139],[3360.03,-701.61,45.7833,220.376,-75.011],[3333.33,-602.927,45.3167,217.654,-74.6982],[3305.47,-502.176,44.8333,214.799,-74.3632],[3277.38,-402.928,44.35,211.905,-74.0164],[3248.09,-301.865,43.85,208.873,-73.6445],[3218.57,-202.461,43.35,205.802,-73.2586],[3187.82,-101.511,42.8333,202.587,-72.8441],[3156.83,-2.38516,42.3167,199.333,-72.4128],[3124.58,97.9959,41.7833,195.932,-71.9488],[3091.05,199.416,41.2333,192.382,-71.4489],[3057.26,298.675,40.6833,188.79,-70.926],[3022.16,398.647,40.1167,185.047,-70.3614],[2985.74,499.089,39.5333,181.151,-69.7508],[2947.97,599.748,38.9333,177.102,-69.0892],[2909.9,697.676,38.3333,173.011,-68.3909],[2869.38,798.038,37.7,168.653,-67.6106],[2827.46,897.782,37.05,164.141,-66.7596],[2783.02,999.028,36.3667,159.36,-65.8048],[2737.11,1098.85,35.6667,154.43,-64.7565],[2688.61,1199.12,34.9333,149.238,-63.5739],[2637.48,1299.18,34.1667,143.791,-62.2348],[2583.67,1398.32,33.3667,138.101,-60.7118],[2524.86,1499.54,32.5,131.951,-58.898],[2462.1,1599.51,31.5833,125.491,-56.7677],[2394.17,1698.52,30.6,118.653,-54.2032],[2317.46,1799.03,29.5,111.184,-50.9342],[2229.43,1899.9,28.25,103.044,-46.6127],[2125.04,1999.87,26.7833,94.194,-40.5587]]], - [69,2226.38,[[3530.57,-2003.91,51.7,250.834,-78.6493],[3509.92,-1901.87,51.2833,248.8,-78.4634],[3489.11,-1800.74,50.8667,246.736,-78.2728],[3468.14,-1700.52,50.45,244.643,-78.0775],[3447,-1601.23,50.0333,242.52,-77.8773],[3425.7,-1502.89,49.6167,240.367,-77.672],[3403.38,-1401.64,49.1833,238.097,-77.4528],[3380.88,-1301.43,48.75,235.794,-77.2275],[3358.21,-1202.3,48.3167,233.459,-76.996],[3334.48,-1100.51,47.8667,231.001,-76.7487],[3311.45,-1003.6,47.4333,228.601,-76.5037],[3286.46,-900.498,46.9667,225.98,-76.2317],[3262.16,-802.321,46.5167,223.418,-75.9613],[3236.78,-701.821,46.05,220.725,-75.672],[3211.19,-602.677,45.5833,217.996,-75.3731],[3184.48,-501.444,45.1,215.13,-75.0531],[3157.56,-401.71,44.6167,212.227,-74.7217],[3129.49,-300.138,44.1167,209.183,-74.3663],[3101.2,-200.219,43.6167,206.099,-73.9975],[3072.68,-101.978,43.1167,202.975,-73.6144],[3042.98,-2.25071,42.6,199.706,-73.2027],[3012.08,98.7575,42.0667,196.289,-72.7597],[2980.93,197.77,41.5333,192.83,-72.2973],[2948.56,297.755,40.9833,189.22,-71.7986],[2914.93,398.482,40.4167,185.456,-71.2602],[2880.04,499.71,39.8333,181.536,-70.6777],[2844.87,598.404,39.25,177.573,-70.0645],[2807.38,699.94,38.6333,173.339,-69.3801],[2769.59,798.557,38.0167,169.062,-68.6554],[2729.43,899.298,37.3667,164.511,-67.8439],[2687.9,999.152,36.7,159.803,-66.9562],[2644.99,1097.8,36.0167,154.941,-65.9822],[2598.54,1199.44,35.2833,149.69,-64.8569],[2550.65,1298.78,34.5333,144.294,-63.6108],[2499.12,1399.54,33.7333,138.522,-62.1621],[2444.99,1498.71,32.9,132.51,-60.5046],[2386.02,1599.05,32,126.043,-58.52],[2322.11,1698.91,31.0333,119.162,-56.1283],[2250.93,1799.43,29.9667,111.707,-53.1226],[2171.23,1898.88,28.7833,103.699,-49.2533],[2075.96,1999.92,27.3833,94.7685,-43.7986]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 3042.98; -_maxRange = 4617.46; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg4.sqf deleted file mode 100644 index 9bd77ad4a3..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg4.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg4 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1600.35,[[6613.52,-2000.28,46.2,249.067,-66.2257],[6569.83,-1902,45.7667,247.206,-65.827],[6524.1,-1801.06,45.3167,245.255,-65.403],[6477.97,-1701.27,44.8667,243.284,-64.9685],[6431.47,-1602.63,44.4167,241.295,-64.5233],[6382.83,-1501.59,43.95,239.213,-64.0497],[6333.78,-1401.84,43.4833,237.112,-63.5637],[6284.32,-1303.39,43.0167,234.994,-63.0648],[6232.66,-1202.82,42.5333,232.782,-62.534],[6178.75,-1100.3,42.0333,230.475,-61.9693],[6126.18,-1002.68,41.55,228.229,-61.4076],[6071.34,-903.248,41.05,225.89,-60.8098],[6014.18,-802.194,40.5333,223.457,-60.1733],[5956.51,-702.882,40.0167,221.009,-59.5171],[5896.46,-602.218,39.4833,218.47,-58.8181],[5833.97,-500.409,38.9333,215.839,-58.0733],[5770.92,-400.659,38.3833,213.198,-57.3032],[5705.37,-300.072,37.8167,210.47,-56.4822],[5639.22,-201.735,37.25,207.738,-55.632],[5568.54,-100.101,36.65,204.843,-54.6984],[5497.19,-1.06332,36.05,201.951,-53.7291],[5423.18,97.9817,35.4333,198.985,-52.694],[5344.41,199.326,34.7833,195.873,-51.5583],[5262.84,299.964,34.1167,192.703,-50.3436],[5178.4,399.594,33.4333,189.483,-49.0438],[5091.02,497.901,32.7333,186.226,-47.6523],[4996.45,598.953,31.9833,182.792,-46.0909],[4896.62,699.701,31.2,179.283,-44.3787],[4791.41,799.442,30.3833,175.725,-42.5015],[4678.49,899.289,29.5167,172.084,-40.4026],[4555.46,999.798,28.5833,168.345,-38.0152],[4422,1099.28,27.5833,164.588,-35.3073],[4273.26,1198.76,26.4833,160.802,-32.1474],[4101.8,1298.91,25.2333,157.017,-28.3284],[3895,1399.66,23.75,153.36,-23.4966],[3624.85,1499.43,21.85,150.232,-16.893],[2991.48,1599.98,17.55,150.957,-0.993886],[2951.17,1600.35,17.2833,151.396,-0.00269305]]], - [46,1652.5,[[6563.19,-2003.2,46.7,249.617,-66.7855],[6518.74,-1900.5,46.25,247.676,-66.3813],[6475.57,-1802.67,45.8167,245.787,-65.9828],[6430.37,-1702.19,45.3667,243.807,-65.5589],[6384.79,-1602.87,44.9167,241.807,-65.1244],[6337.13,-1501.1,44.45,239.713,-64.6622],[6289.06,-1400.62,43.9833,237.599,-64.1879],[6240.58,-1301.43,43.5167,235.466,-63.7009],[6189.95,-1200.08,43.0333,233.238,-63.1828],[6138.88,-1100.17,42.55,230.992,-62.65],[6087.38,-1001.71,42.0667,228.727,-62.1022],[6033.65,-901.401,41.5667,226.367,-61.5189],[5979.45,-802.692,41.0667,223.991,-60.9182],[5922.96,-702.395,40.55,221.52,-60.2783],[5864.13,-600.704,40.0167,218.953,-59.5967],[5804.78,-500.911,39.4833,216.374,-58.8926],[5743.03,-400.016,38.9333,213.701,-58.142],[5680.72,-301.198,38.3833,211.019,-57.3655],[5615.95,-201.589,37.8167,208.248,-56.5372],[5548.67,-101.42,37.2333,205.391,-55.6531],[5478.83,-0.933821,36.6333,202.451,-54.7091],[5406.37,99.6163,36.0167,199.432,-53.7005],[5331.25,199.964,35.3833,196.341,-52.6223],[5253.41,299.83,34.7333,193.183,-51.4689],[5172.79,398.924,34.0667,189.967,-50.2345],[5087.32,499.288,33.3667,186.623,-48.8794],[4998.92,598.072,32.65,183.244,-47.4267],[4903.39,699.236,31.8833,179.693,-45.796],[4802.63,799.752,31.0833,176.073,-44.006],[4696.52,898.893,30.25,172.413,-42.0412],[4580.62,999.49,29.35,168.613,-39.8001],[4454.63,1099.93,28.3833,164.742,-37.2505],[4316.06,1199.97,27.3333,160.828,-34.31],[4159.99,1299.86,26.1667,156.896,-30.8322],[3978.96,1399.26,24.8333,153.036,-26.5914],[3753.35,1499.16,23.2,149.39,-21.0373],[3421.35,1599.73,20.85,146.62,-12.488],[2942.7,1652.5,17.5667,148.484,-0.0334234]]], - [47,1704.49,[[6505.58,-2000.09,47.1667,250.059,-67.3184],[6463.63,-1900.61,46.7333,248.182,-66.9385],[6421.34,-1802.15,46.3,246.285,-66.5496],[6377.06,-1701.03,45.85,244.295,-66.136],[6332.4,-1601.05,45.4,242.284,-65.712],[6287.38,-1502.24,44.95,240.254,-65.2773],[6240.3,-1401.01,44.4833,238.128,-64.8147],[6192.81,-1301.07,44.0167,235.982,-64.3399],[6144.94,-1202.44,43.55,233.817,-63.8521],[6094.93,-1101.68,43.0667,231.554,-63.333],[6044.49,-1002.37,42.5833,229.273,-62.7991],[5991.87,-901.172,42.0833,226.895,-62.2306],[5938.79,-801.562,41.5833,224.498,-61.645],[5883.47,-700.325,41.0667,222.003,-61.0211],[5827.67,-600.832,40.55,219.493,-60.3775],[5771.38,-503.11,40.0333,216.968,-59.7132],[5710.93,-401.057,39.4833,214.265,-58.9825],[5649.95,-301.067,38.9333,211.55,-58.2263],[5586.54,-200.239,38.3667,208.743,-57.4194],[5522.57,-101.665,37.8,205.928,-56.583],[5456.12,-2.58167,37.2167,203.026,-55.6898],[5385.23,99.4894,36.6,199.958,-54.7083],[5313.67,198.772,35.9833,196.893,-53.6868],[5239.48,297.794,35.35,193.754,-52.5938],[5160.64,398.756,34.6833,190.467,-51.3932],[5079.04,498.71,34,187.123,-50.1064],[4992.61,599.642,33.2833,183.653,-48.6928],[4903.26,698.727,32.55,180.152,-47.1751],[4806.83,799.814,31.7667,176.483,-45.4705],[4705.22,899.894,30.95,172.753,-43.5971],[4598.3,998.216,30.1,168.993,-41.5385],[4479.55,1099.21,29.1667,165.04,-39.1451],[4350.77,1199.19,28.1667,161.044,-36.4211],[4207.29,1299.19,27.0667,156.988,-33.2301],[4041.94,1399.92,25.8167,152.891,-29.356],[3847.12,1499.25,24.3667,148.942,-24.5426],[3589.27,1599.63,22.4833,145.343,-17.834],[3066.89,1699.95,18.7833,144.368,-3.70081],[2929.32,1704.49,17.8333,145.578,-0.0197375]]], - [48,1756.26,[[6445.6,-2002.52,47.65,250.608,-67.8687],[6404.52,-1902.42,47.2167,248.724,-67.4984],[6363.11,-1803.34,46.7833,246.819,-67.1193],[6319.75,-1701.55,46.3333,244.82,-66.716],[6276.03,-1600.91,45.8833,242.8,-66.3026],[6231.94,-1501.42,45.4333,240.759,-65.8787],[6187.49,-1403.11,44.9833,238.698,-65.444],[6141.01,-1302.41,44.5167,236.54,-64.9813],[6094.14,-1203.01,44.05,234.362,-64.5061],[6045.18,-1101.45,43.5667,232.085,-64.0003],[5995.8,-1001.33,43.0833,229.788,-63.4799],[5946.01,-902.654,42.6,227.471,-62.9445],[5894.06,-802.132,42.1,225.055,-62.3742],[5841.67,-703.211,41.6,222.621,-61.7865],[5787.06,-602.698,41.0833,220.088,-61.1602],[5730.2,-500.789,40.55,217.455,-60.4924],[5672.83,-400.782,40.0167,214.807,-59.8022],[5614.96,-302.704,39.4833,212.145,-59.0885],[5552.93,-200.641,38.9167,209.304,-58.3034],[5490.34,-100.82,38.35,206.452,-57.4894],[5425.33,-0.438412,37.7667,203.508,-56.6198],[5359.73,97.4984,37.1833,200.561,-55.7165],[5289.74,198.335,36.5667,197.444,-54.7233],[5217.19,298.969,35.9333,194.248,-53.6601],[5142.02,399.123,35.2833,190.978,-52.5214],[5064.19,498.503,34.6167,187.643,-51.3007],[4981.67,599.157,33.9167,184.169,-49.9586],[4896.34,698.228,33.2,180.652,-48.5172],[4804.13,799.688,32.4333,176.948,-46.896],[4708.93,898.452,31.65,173.239,-45.1504],[4604.52,999.932,30.8,169.321,-43.1495],[4494.79,1099.02,29.9167,165.393,-40.9471],[4373.32,1199.9,28.95,161.294,-38.3873],[4241.87,1298.86,27.9167,157.189,-35.4724],[4091.5,1399.4,26.75,152.961,-31.9558],[3917.14,1499.51,25.4167,148.757,-27.6457],[3702.19,1599.34,23.8,144.726,-22.0262],[3389.76,1699.78,21.5,141.403,-13.4149],[2913.54,1756.26,18.1,142.65,-0.0247557]]], - [49,1807.77,[[6380,-2002.83,48.1167,251.119,-68.4077],[6339.8,-1902.14,47.6833,249.228,-68.0466],[6299.27,-1802.46,47.25,247.316,-67.677],[6256.84,-1700.05,46.8,245.309,-67.2838],[6215.63,-1602.51,46.3667,243.355,-66.8959],[6172.48,-1502.34,45.9167,241.305,-66.4829],[6128.98,-1403.33,45.4667,239.234,-66.0594],[6083.48,-1301.91,45,237.064,-65.6087],[6037.61,-1201.78,44.5333,234.873,-65.1456],[5991.35,-1102.96,44.0667,232.661,-64.6699],[5943.04,-1002.01,43.5833,230.349,-64.1633],[5894.31,-902.505,43.1,228.016,-63.642],[5843.49,-801.111,42.6,225.582,-63.0867],[5792.23,-701.31,42.1,223.128,-62.5143],[5740.53,-603.122,41.6,220.655,-61.9241],[5684.9,-500.195,41.0667,217.999,-61.2742],[5630.55,-402.287,40.55,215.408,-60.6236],[5572.18,-300.04,40,212.634,-59.9074],[5515.08,-202.867,39.4667,209.929,-59.1885],[5453.88,-101.784,38.9,207.043,-58.3972],[5390.31,-0.0893633,38.3167,204.06,-57.5516],[5326.16,99.1751,37.7333,201.07,-56.673],[5259.59,198.703,37.1333,197.991,-55.7331],[5190.53,298.238,36.5167,194.825,-54.727],[5118.95,397.511,35.8833,191.58,-53.6492],[5042.89,498.729,35.2167,188.176,-52.4635],[4964.18,598.937,34.5333,184.708,-51.1907],[4882.76,697.816,33.8333,181.185,-49.8233],[4794.65,799.457,33.0833,177.457,-48.2832],[4703.66,898.692,32.3167,173.708,-46.6242],[4605.72,999.132,31.5,169.802,-44.7579],[4500.66,1099.69,30.6333,165.777,-42.6598],[4388.28,1199.18,29.7167,161.683,-40.3029],[4264.23,1299.55,28.7167,157.447,-37.5635],[4126.06,1399.95,27.6167,153.121,-34.3412],[3969.04,1499.84,26.3833,148.765,-30.4644],[3781.61,1599.83,24.9333,144.441,-25.557],[3538.13,1699.52,23.0833,140.423,-18.7957],[3068.81,1799.89,19.6167,138.419,-5.09743],[2895.34,1807.77,18.3667,139.699,-0.0495918]]], - [50,1858.96,[[6308.85,-2001.05,48.5667,251.593,-68.9361],[6271.04,-1903.67,48.15,249.768,-68.5978],[6231.38,-1803.39,47.7167,247.85,-68.2379],[6189.86,-1700.35,47.2667,245.835,-67.8549],[6149.55,-1602.18,46.8333,243.873,-67.477],[6107.35,-1501.36,46.3833,241.813,-67.0747],[6064.79,-1401.7,45.9333,239.732,-66.6622],[6021.89,-1303.22,45.4833,237.63,-66.2389],[5977.02,-1202.34,45.0167,235.427,-65.7882],[5931.79,-1102.77,44.55,233.202,-65.3251],[5884.53,-1001.04,44.0667,230.876,-64.8319],[5836.89,-900.737,43.5833,228.528,-64.3243],[5788.84,-801.896,43.1,226.158,-63.8018],[5738.71,-701.201,42.6,223.686,-63.2449],[5688.15,-602.112,42.1,221.193,-62.6707],[5635.46,-501.43,41.5833,218.598,-62.0582],[5582.32,-402.512,41.0667,215.984,-61.4257],[5526.99,-302.279,40.5333,213.267,-60.7506],[5469.43,-200.94,39.9833,210.448,-60.0298],[5411.37,-101.687,39.4333,207.615,-59.2829],[5351.01,-1.64035,38.8667,204.682,-58.4847],[5288.33,98.9671,38.2833,201.652,-57.6312],[5223.26,199.892,37.6833,198.528,-56.7178],[5157.61,298.185,37.0833,195.399,-55.7667],[5087.67,399.043,36.45,192.098,-54.7195],[5015.22,499.418,35.8,188.716,-53.5963],[4940.21,599.015,35.1333,185.262,-52.3905],[4860.69,699.887,34.4333,181.657,-51.0625],[4778.48,799.169,33.7167,178.002,-49.6336],[4691.59,898.682,32.9667,174.226,-48.0589],[4597.95,999.808,32.1667,170.27,-46.2848],[4499.38,1099.55,31.3333,166.248,-44.3275],[4393.76,1198.96,30.45,162.118,-42.1246],[4278.88,1298.49,29.5,157.864,-39.6012],[4150.37,1399.45,28.45,153.434,-36.6185],[4007.82,1498.97,27.3,148.976,-33.1118],[3840.22,1599.63,25.9667,144.425,-28.73],[3635.84,1699.17,24.3667,140.018,-23.0414],[3340.31,1799.66,22.1,136.152,-14.2965],[2872.44,1858.96,18.6167,136.75,-0.0273265]]], - [51,1909.78,[[6233.7,-2001.13,49.0167,252.1,-69.4679],[6196.72,-1903.2,48.6,250.27,-69.1385],[6157.95,-1802.35,48.1667,248.345,-68.7879],[6118.86,-1702.52,47.7333,246.398,-68.4288],[6079.45,-1603.73,47.3,244.429,-68.0611],[6038.19,-1502.25,46.85,242.362,-67.6696],[5996.58,-1401.92,46.4,240.271,-67.2681],[5954.64,-1302.76,45.95,238.159,-66.8561],[5910.78,-1201.18,45.4833,235.945,-66.4175],[5866.55,-1100.9,45.0167,233.708,-65.9667],[5821.95,-1001.93,44.55,231.449,-65.5033],[5775.38,-900.821,44.0667,229.086,-65.0097],[5728.41,-801.165,43.5833,226.701,-64.5014],[5681.05,-702.979,43.1,224.295,-63.9779],[5631.65,-602.975,42.6,221.784,-63.4198],[5580.16,-501.337,42.0833,219.168,-62.8245],[5528.23,-401.453,41.5667,216.531,-62.2095],[5474.16,-300.212,41.0333,213.789,-61.553],[5419.62,-200.895,40.5,211.029,-60.8736],[5362.89,-100.516,39.95,208.165,-60.1478],[5305.66,-2.24284,39.4,205.285,-59.3952],[5244.42,99.6535,38.8167,202.218,-58.5662],[5182.64,199.113,38.2333,199.14,-57.7039],[5118.52,298.835,37.6333,195.966,-56.7805],[5052.02,398.561,37.0167,192.7,-55.7908],[4983.1,498.022,36.3833,189.347,-54.7292],[4909.87,599.428,35.7167,185.826,-53.5595],[4834.09,699.818,35.0333,182.232,-52.3018],[4755.72,798.873,34.3333,178.577,-50.9483],[4672.81,898.477,33.6,174.786,-49.4556],[4585.27,997.98,32.8333,170.878,-47.8083],[4491.07,1098.69,32.0167,166.795,-45.9504],[4390.02,1199.52,31.15,162.575,-43.8559],[4281.97,1299.28,30.2333,158.268,-41.4953],[4162.73,1399.92,29.2333,153.792,-38.7413],[4031.98,1499.14,28.15,149.259,-35.5387],[3881.16,1599.48,26.9167,144.584,-31.6083],[3701.22,1699.97,25.4667,139.882,-26.6024],[3469.72,1799.47,23.6333,135.428,-19.7191],[3035.34,1899.78,20.2833,132.604,-5.99661],[2847.19,1909.78,18.8667,133.777,-0.0251307]]], - [52,1960.16,[[6154.54,-2003.14,49.4667,252.643,-70.0029],[6116.95,-1900.74,49.0333,250.734,-69.6694],[6080.52,-1803.22,48.6167,248.877,-69.3412],[6042.32,-1702.8,48.1833,246.923,-68.9919],[6003.81,-1603.41,47.75,244.947,-68.634],[5963.49,-1501.31,47.3,242.872,-68.2531],[5922.83,-1400.35,46.85,240.773,-67.8624],[5881.84,-1300.55,46.4,238.651,-67.4614],[5840.52,-1201.93,45.95,236.506,-67.0499],[5797.31,-1100.92,45.4833,234.258,-66.6116],[5753.74,-1001.21,45.0167,231.987,-66.161],[5709.81,-902.831,44.55,229.692,-65.6977],[5663.94,-802.349,44.0667,227.293,-65.2039],[5617.68,-703.328,43.5833,224.871,-64.6952],[5569.42,-602.45,43.0833,222.343,-64.1528],[5520.76,-503.182,42.5833,219.792,-63.5931],[5470.04,-402.319,42.0667,217.135,-62.9959],[5417.24,-300.056,41.5333,214.369,-62.3583],[5365.64,-202.812,41.0167,211.671,-61.7193],[5310.25,-101.294,40.4667,208.779,-61.0148],[5254.37,-1.86801,39.9167,205.869,-60.2842],[5196.3,98.3508,39.35,202.854,-59.5026],[5135.98,199.129,38.7667,199.738,-58.666],[5075.13,297.45,38.1833,196.61,-57.7952],[5010.23,398.677,37.5667,193.296,-56.8354],[4942.96,499.696,36.9333,189.889,-55.8054],[4875.07,597.69,36.3,186.485,-54.728],[4801.14,699.974,35.6167,182.82,-53.5092],[4726.5,798.631,34.9333,179.174,-52.2287],[4647.48,898.146,34.2167,175.378,-50.8153],[4563.97,997.888,33.4667,171.449,-49.2544],[4473.99,1099.24,32.6667,167.324,-47.4915],[4379.29,1199.21,31.8333,163.117,-45.5412],[4277.83,1298.84,30.95,158.784,-43.3393],[4167.51,1398.58,30,154.304,-40.8081],[4044.14,1499.76,28.95,149.616,-37.8038],[3907.33,1599.47,27.8,144.868,-34.2544],[3748.55,1699.16,26.4833,140.034,-29.8519],[3552.6,1799.13,24.8833,135.211,-24.0266],[3271.58,1899.58,22.6333,130.818,-15.0625],[2819.58,1960.16,19.1167,130.78,-0.044279]]], - [53,2010.08,[[6069.9,-2003.17,49.9,253.146,-70.5283],[6033.19,-1900.23,49.4667,251.232,-70.2039],[5997.6,-1802.18,49.05,249.369,-69.8846],[5960.29,-1701.2,48.6167,247.41,-69.5448],[5922.67,-1601.24,48.1833,245.427,-69.1966],[5884.76,-1502.32,47.75,243.421,-68.8399],[5845.06,-1400.72,47.3,241.314,-68.4601],[5805.03,-1300.27,46.85,239.183,-68.0703],[5764.68,-1200.99,46.4,237.029,-67.6703],[5723.99,-1102.91,45.95,234.851,-67.2595],[5681.46,-1002.46,45.4833,232.569,-66.8218],[5638.57,-903.321,45.0167,230.263,-66.3718],[5593.78,-802.052,44.5333,227.85,-65.892],[5548.62,-702.234,44.05,225.413,-65.3978],[5501.5,-600.525,43.55,222.868,-64.8707],[5453.99,-500.415,43.05,220.299,-64.3268],[5406.08,-401.928,42.55,217.707,-63.7654],[5356.15,-301.887,42.0333,215.007,-63.1659],[5304.17,-200.489,41.5,212.197,-62.5256],[5251.74,-101.02,40.9667,209.366,-61.8623],[5197.2,-0.490997,40.4167,206.427,-61.1532],[5142.2,97.9275,39.8667,203.47,-60.4172],[5083.35,199.971,39.2833,200.317,-59.6058],[5023.97,299.57,38.7,197.15,-58.7608],[4962.36,399.427,38.1,193.882,-57.8549],[4898.47,499.285,37.4833,190.515,-56.8828],[4832.25,598.871,36.85,187.054,-55.8385],[4763.67,697.903,36.2,183.506,-54.7157],[4690.91,798.495,35.5167,179.786,-53.4761],[4615.66,897.746,34.8167,175.995,-52.1395],[4534.25,999.76,34.0667,171.968,-50.6279],[4450.21,1099.35,33.3,167.902,-48.992],[4361.64,1198.13,32.5,163.73,-47.181],[4264.68,1299.13,31.6333,159.314,-45.0918],[4161.03,1399.06,30.7167,154.791,-42.729],[4046.67,1499.85,29.7167,150.071,-39.9615],[3921.31,1599.21,28.6333,145.268,-36.7284],[3776.76,1699.68,27.4,140.277,-32.739],[3606.37,1799.22,25.9667,135.257,-27.6861],[3382.73,1899.83,24.1167,130.3,-20.5371],[2969.36,1999.89,20.7833,126.801,-6.33418]]], - [54,2059.45,[[5979.87,-2001.27,50.3167,253.61,-71.0453],[5945.41,-1901.76,49.9,251.765,-70.742],[5910.68,-1803.17,49.4833,249.898,-70.4317],[5874.27,-1701.62,49.05,247.933,-70.1014],[5837.56,-1601.09,48.6167,245.944,-69.7631],[5800.55,-1501.59,48.1833,243.931,-69.4164],[5763.24,-1403.14,47.75,241.895,-69.061],[5724.19,-1302.03,47.3,239.757,-68.6826],[5684.81,-1202.09,46.85,237.594,-68.2941],[5645.11,-1103.32,46.4,235.407,-67.8952],[5603.61,-1002.17,45.9333,233.114,-67.4701],[5561.76,-902.315,45.4667,230.796,-67.0329],[5518.06,-800.296,44.9833,228.37,-66.5669],[5475.51,-703.164,44.5167,226.004,-66.1036],[5429.54,-600.61,44.0167,223.443,-65.5921],[5384.74,-502.985,43.5333,220.944,-65.082],[5336.44,-400.295,43.0167,218.248,-64.5191],[5289.31,-302.58,42.5167,215.615,-63.9562],[5238.61,-200.182,41.9833,212.782,-63.3351],[5189.07,-102.812,41.4667,210.016,-62.7121],[5135.89,-1.16458,40.9167,207.05,-62.0248],[5082.25,98.3842,40.3667,204.064,-61.3113],[5026.5,198.723,39.8,200.968,-60.5474],[4968.61,299.617,39.2167,197.764,-59.7287],[4910.21,398.046,38.6333,194.545,-58.8757],[4847.92,499.379,38.0167,191.132,-57.9343],[4785.08,597.875,37.4,187.711,-56.9499],[4718.24,698.579,36.75,184.104,-55.8629],[4649.05,798.495,36.0833,180.408,-54.6921],[4575.72,899.678,35.3833,176.54,-53.3982],[4499.93,999.255,34.6667,172.604,-52.0004],[4419.85,1099.05,33.9167,168.523,-50.4531],[4335.39,1198.38,33.1333,164.317,-48.7388],[4244.63,1298.49,32.3,159.924,-46.7975],[4147.42,1398.23,31.4167,155.387,-44.5985],[4039.87,1499.76,30.45,150.597,-42.0149],[3923.59,1599.35,29.4167,145.729,-39.036],[3792.6,1699.13,28.2667,140.687,-35.4436],[3640.65,1798.86,26.95,135.514,-30.9604],[3451.26,1899.73,25.3333,130.236,-24.9191],[3182.6,1999.73,23.0833,125.344,-15.6311]]], - [55,2108.24,[[5885.84,-2001.46,50.7333,254.108,-71.5661],[5852.23,-1901.44,50.3167,252.259,-71.2714],[5818.36,-1802.34,49.9,250.387,-70.97],[5782.84,-1700.25,49.4667,248.416,-70.649],[5748.41,-1603.04,49.05,246.498,-70.3331],[5712.32,-1502.96,48.6167,244.48,-69.9965],[5674.54,-1400.12,48.1667,242.359,-69.6381],[5637.86,-1302.17,47.7333,240.292,-69.2841],[5599.46,-1201.59,47.2833,238.121,-68.9069],[5560.74,-1102.18,46.8333,235.925,-68.5196],[5520.26,-1000.35,46.3667,233.621,-68.1068],[5480.91,-903.391,45.9167,231.376,-67.6977],[5438.3,-800.611,45.4333,228.938,-67.2456],[5396.82,-702.737,44.9667,226.559,-66.7961],[5353.5,-602.797,44.4833,224.07,-66.3165],[5308.31,-500.966,43.9833,221.469,-65.8048],[5262.74,-400.738,43.4833,218.842,-65.2764],[5216.8,-302.138,42.9833,216.19,-64.7306],[5168.92,-201.985,42.4667,213.426,-64.1474],[5119.08,-100.477,41.9333,210.548,-63.524],[5068.81,-0.90336,41.4,207.646,-62.8779],[5016.53,99.727,40.85,204.632,-62.1863],[4963.8,198.24,40.3,201.596,-61.468],[4909,297.492,39.7333,198.45,-60.6982],[4852.11,397.247,39.15,195.194,-59.8728],[4791.42,499.997,38.5333,191.737,-58.9615],[4730.19,599.926,37.9167,188.268,-58.0083],[4666.74,699.576,37.2833,184.699,-56.9828],[4601.04,798.663,36.6333,181.035,-55.8784],[4531.33,899.299,35.95,177.188,-54.6571],[4459.25,998.582,35.25,173.263,-53.3377],[4383.03,1098.4,34.5167,169.178,-51.8762],[4302.57,1198.09,33.75,164.951,-50.2558],[4216.02,1298.97,32.9333,160.513,-48.4183],[4123.21,1399.94,32.0667,155.902,-46.3339],[4024.02,1499.8,31.15,151.164,-43.9679],[3916.45,1598.89,30.1667,146.283,-41.2331],[3794.72,1699.71,29.0667,141.129,-37.9178],[3656.52,1799.98,27.8333,135.825,-33.8631],[3493.69,1899.24,26.4,130.444,-28.6919],[3280.1,1999.4,24.55,125.045,-21.3137]]], - [56,2156.39,[[5787.82,-2003.8,51.15,254.64,-72.0906],[5755.06,-1903.28,50.7333,252.787,-71.8046],[5722.05,-1803.65,50.3167,250.912,-71.5121],[5687.43,-1701.01,49.8833,248.937,-71.2006],[5653.88,-1603.27,49.4667,247.014,-70.894],[5618.71,-1502.62,49.0333,244.99,-70.5673],[5583.25,-1403.01,48.6,242.941,-70.2325],[5546.13,-1300.67,48.15,240.788,-69.8758],[5510.09,-1203.22,47.7167,238.689,-69.5234],[5472.37,-1103.16,47.2667,236.485,-69.1479],[5432.93,-1000.64,46.8,234.173,-68.7476],[5394.59,-903.014,46.35,231.918,-68.3508],[5354.5,-803.055,45.8833,229.553,-67.9276],[5312.64,-700.928,45.4,227.077,-67.4762],[5270.43,-600.249,44.9167,224.574,-67.011],[5227.87,-501.038,44.4333,222.045,-66.5313],[5184.96,-403.317,43.95,219.49,-66.0365],[5138.71,-300.528,43.4333,216.732,-65.4901],[5093.57,-202.724,42.9333,214.038,-64.9433],[5045.03,-100.236,42.4,211.139,-64.3396],[4997.6,-2.78375,41.8833,208.305,-63.7335],[4946.68,98.9437,41.3333,205.265,-63.0643],[4895.33,198.566,40.7833,202.201,-62.369],[4841.97,298.973,40.2167,199.022,-61.6237],[4786.56,399.93,39.6333,195.73,-60.8243],[4730.66,498.413,39.05,192.421,-59.9903],[4671.06,599.793,38.4333,188.907,-59.0687],[4610.92,698.327,37.8167,185.382,-58.1037],[4546.97,799.06,37.1667,181.661,-57.0365],[4480.78,898.993,36.5,177.844,-55.8851],[4412.32,997.815,35.8167,173.938,-54.6412],[4338.15,1099.75,35.0833,169.766,-53.2297],[4261.58,1199.51,34.3333,165.53,-51.6983],[4180.83,1298.8,33.55,161.156,-49.9969],[4094.07,1398.83,32.7167,156.578,-48.0644],[4001.17,1498.48,31.8333,151.836,-45.8678],[3898.41,1599.88,30.8667,146.815,-43.2765],[3787.34,1699.29,29.8333,141.69,-40.2747],[3662.27,1798.84,28.6833,136.357,-36.6346],[3515.39,1899.42,27.35,130.781,-32.0014],[3334.69,1999.59,25.7333,125.113,-25.7835]]], - [57,2203.86,[[5683.19,-2000.28,51.5333,255.058,-72.5966],[5652.57,-1903.32,51.1333,253.276,-72.3301],[5620.41,-1803.2,50.7167,251.397,-72.0463],[5586.7,-1700.04,50.2833,249.417,-71.7441],[5554.02,-1601.79,49.8667,247.489,-71.4466],[5519.76,-1500.61,49.4333,245.459,-71.1296],[5485.23,-1400.46,49,243.404,-70.8047],[5450.41,-1301.35,48.5667,241.323,-70.4716],[5415.32,-1203.31,48.1333,239.218,-70.13],[5378.59,-1102.63,47.6833,237.006,-69.7659],[5341.56,-1003.13,47.2333,234.768,-69.3919],[5302.85,-901.201,46.7667,232.42,-68.9931],[5263.81,-800.579,46.3,230.045,-68.5828],[5224.46,-701.279,45.8333,227.642,-68.1604],[5184.78,-603.32,45.3667,225.214,-67.7255],[5143.36,-503.298,44.8833,222.672,-67.2613],[5100.15,-401.385,44.3833,220.014,-66.7656],[5056.58,-301.081,43.8833,217.329,-66.2535],[5012.64,-202.409,43.3833,214.617,-65.7241],[4966.87,-102.189,42.8667,211.789,-65.1582],[4919.22,-0.61684,42.3333,208.842,-64.5527],[4871.17,99.0147,41.8,205.869,-63.9246],[4821.19,199.698,41.25,202.778,-63.2518],[4770.79,298.256,40.7,199.664,-62.5522],[4718.42,397.547,40.1333,196.433,-61.8018],[4664.05,497.333,39.55,193.088,-60.9961],[4607.64,597.366,38.95,189.628,-60.1303],[4549.15,697.385,38.3333,186.057,-59.1986],[4486.94,799.702,37.6833,182.282,-58.1679],[4424.18,898.779,37.0333,178.501,-57.0838],[4357.6,999.392,36.35,174.527,-55.8827],[4288.77,1098.64,35.65,170.466,-54.5824],[4215.99,1198.4,34.9167,166.233,-53.139],[4139.18,1298.01,34.15,161.843,-51.5344],[4056.56,1398.79,33.3333,157.227,-49.7095],[3968,1499.63,32.4667,152.417,-47.6323],[3873.36,1599.33,31.55,147.462,-45.2654],[3769.01,1699.81,30.55,142.254,-42.4688],[3654.68,1798.77,29.4667,136.905,-39.1683],[3521.17,1899.95,28.2167,131.211,-34.9879],[3364.2,1999.58,26.7667,125.412,-29.6199]]], - [58,2250.58,[[5575.9,-2003.09,51.9333,255.585,-73.1178],[5544.86,-1901.61,51.5167,253.725,-72.8487],[5513.56,-1801.03,51.1,251.841,-72.5734],[5482.02,-1701.34,50.6833,249.934,-72.2918],[5450.22,-1602.58,50.2667,248.001,-72.0034],[5416.89,-1500.86,49.8333,245.967,-71.6963],[5383.28,-1400.16,49.4,243.906,-71.3815],[5349.41,-1300.5,48.9667,241.82,-71.0588],[5315.26,-1201.9,48.5333,239.708,-70.7277],[5279.52,-1100.63,48.0833,237.488,-70.3748],[5243.49,-1000.54,47.6333,235.241,-70.0123],[5207.16,-901.63,47.1833,232.968,-69.6398],[5169.19,-800.332,46.7167,230.583,-69.2425],[5130.9,-700.349,46.25,228.17,-68.8335],[5092.31,-601.699,45.7833,225.73,-68.4124],[5052,-500.954,45.3,223.174,-67.9627],[5011.37,-401.682,44.8167,220.591,-67.4989],[4968.99,-300.56,44.3167,217.891,-67.0033],[4926.26,-201.062,43.8167,215.162,-66.4911],[4883.18,-103.21,43.3167,212.406,-65.9613],[4836.84,-0.67724,42.7833,209.439,-65.3759],[4790.11,99.926,42.25,206.443,-64.7685],[4742.98,198.571,41.7167,203.421,-64.1378],[4693.98,298.218,41.1667,200.28,-63.4618],[4643.06,398.642,40.6,197.019,-62.7366],[4590.19,499.608,40.0167,193.638,-61.9578],[4536.87,598.091,39.4333,190.237,-61.1443],[4480.01,699.461,38.8167,186.622,-60.2442],[4422.65,797.973,38.2,182.993,-59.3003],[4361.66,898.672,37.55,179.156,-58.2548],[4298.54,998.556,36.8833,175.216,-57.1248],[4231.66,1099.68,36.1833,171.082,-55.871],[4162.56,1199.16,35.4667,166.862,-54.5106],[4089.57,1298.82,34.7167,162.471,-52.9975],[4012.62,1397.98,33.9333,157.927,-51.3118],[3928.29,1499.8,33.0833,153.067,-49.3511],[3839.77,1599.13,32.2,148.12,-47.1566],[3743.59,1698.48,31.25,142.955,-44.6031],[3636.13,1799.12,30.2,137.485,-41.5291],[3515.34,1899.49,29.0333,131.782,-37.7801],[3375.56,1999.19,27.7,125.875,-33.0398]]], - [59,2296.51,[[5462.17,-2000.05,52.3,255.997,-73.6221],[5433.18,-1902.2,51.9,254.209,-73.3718],[5402.76,-1801.13,51.4833,252.322,-73.1052],[5372.09,-1700.97,51.0667,250.41,-72.8324],[5341.17,-1601.72,50.65,248.474,-72.5531],[5310.02,-1503.4,50.2333,246.513,-72.2672],[5277.35,-1402.15,49.8,244.448,-71.9626],[5244.43,-1301.93,49.3667,242.356,-71.6503],[5211.24,-1202.75,48.9333,240.239,-71.3299],[5176.49,-1100.89,48.4833,238.012,-70.9884],[5141.47,-1000.19,48.0333,235.758,-70.6376],[5106.16,-900.67,47.5833,233.476,-70.277],[5070.57,-802.349,47.1333,231.167,-69.9064],[5033.36,-701.671,46.6667,228.745,-69.5109],[4995.85,-602.318,46.2,226.294,-69.1037],[4956.68,-500.837,45.7167,223.727,-68.6689],[4917.19,-400.821,45.2333,221.131,-68.2203],[4877.38,-302.292,44.75,218.506,-67.7572],[4835.86,-201.953,44.25,215.762,-67.2623],[4794,-103.251,43.75,212.99,-66.7503],[4750.38,-3.00576,43.2333,210.096,-66.2026],[4704.98,98.5846,42.7,207.08,-65.6161],[4659.2,198.228,42.1667,204.035,-65.0072],[4611.59,298.915,41.6167,200.868,-64.3543],[4563.59,397.47,41.0667,197.674,-63.6748],[4512.23,499.633,40.4833,194.261,-62.9233],[4460.44,599.327,39.9,190.824,-62.138],[4406.71,699.253,39.3,187.268,-61.293],[4351,799.151,38.6833,183.593,-60.3825],[4293.29,898.746,38.05,179.805,-59.4],[4233.54,997.751,37.4,175.906,-58.3383],[4170.17,1098.27,36.7167,171.804,-57.1598],[4103.1,1199.72,36,167.505,-55.85],[4033.83,1299.26,35.2667,163.123,-54.4252],[3960.74,1398.62,34.5,158.571,-52.8371],[3882.14,1499.09,33.6833,153.774,-51.0253],[3797.9,1599.59,32.8167,148.766,-48.9556],[3707.9,1698.9,31.9,143.592,-46.5874],[3608.7,1798.92,30.9,138.136,-43.7757],[3498.37,1898.77,29.8,132.429,-40.3846],[3371.5,1999.09,28.55,126.42,-36.1226]]], - [60,2341.6,[[5345.71,-2003.52,52.6833,256.518,-74.1412],[5316.39,-1901.13,52.2667,254.653,-73.8889],[5288.02,-1803.66,51.8667,252.839,-73.6412],[5258.24,-1703.01,51.45,250.924,-73.3774],[5228.21,-1603.26,51.0333,248.984,-73.1073],[5196.74,-1500.51,50.6,246.94,-72.8196],[5166.23,-1402.66,50.1833,244.95,-72.5361],[5134.25,-1301.9,49.75,242.853,-72.234],[5102.02,-1202.19,49.3167,240.729,-71.9241],[5069.53,-1103.53,48.8833,238.579,-71.6062],[5035.52,-1002.22,48.4333,236.319,-71.2672],[5001.23,-902.074,47.9833,234.03,-70.9188],[4966.67,-803.124,47.5333,231.713,-70.5606],[4930.55,-701.785,47.0667,229.282,-70.1784],[4894.12,-601.766,46.6,226.821,-69.7848],[4857.4,-503.085,46.1333,224.331,-69.3792],[4819.07,-402.312,45.65,221.723,-68.946],[4780.42,-303.017,45.1667,219.086,-68.4989],[4740.11,-201.877,44.6667,216.327,-68.0209],[4699.46,-102.366,44.1667,213.538,-67.5264],[4657.12,-1.27539,43.65,210.626,-66.9973],[4614.43,98.0241,43.1333,207.685,-66.4488],[4569.99,198.62,42.6,204.618,-65.8611],[4525.18,297.25,42.0667,201.523,-65.2504],[4477.17,399.859,41.5,198.206,-64.5749],[4430.18,497.265,40.95,194.959,-63.8915],[4379.93,598.188,40.3667,191.489,-63.135],[4327.79,699.392,39.7667,187.895,-62.3206],[4275.2,797.92,39.1667,184.279,-61.4671],[4219.21,898.974,38.5333,180.443,-60.5209],[4161.25,999.493,37.8833,176.491,-59.4979],[4101.27,1099.18,37.2167,172.427,-58.3903],[4039.24,1197.72,36.5333,168.26,-57.1888],[3972.08,1299.31,35.8,163.794,-55.8192],[3902.75,1398.69,35.05,159.246,-54.3254],[3828.11,1499.58,34.25,154.432,-52.6195],[3749.61,1598.98,33.4167,149.478,-50.7081],[3663.99,1699.7,32.5167,144.227,-48.4758],[3572.7,1798.44,31.5667,138.832,-45.9129],[3469.1,1899.88,30.5,133.011,-42.7589],[3354.52,1999.23,29.3333,127.017,-38.9448]]], - [61,2385.79,[[5222.99,-2001.21,53.0333,256.925,-74.6449],[5195.68,-1902.5,52.6333,255.132,-74.4107],[5167,-1800.53,52.2167,253.239,-74.1612],[5139.25,-1703.47,51.8167,251.397,-73.9163],[5110.12,-1603.26,51.4,249.454,-73.6552],[5079.58,-1500.01,50.9667,247.406,-73.3771],[5049.98,-1401.68,50.55,245.411,-73.1031],[5018.95,-1300.42,50.1167,243.309,-72.811],[4987.67,-1200.2,49.6833,241.179,-72.5114],[4956.15,-1101.02,49.25,239.023,-72.2041],[4924.37,-1002.92,48.8167,236.839,-71.8886],[4891.11,-902.188,48.3667,234.543,-71.5521],[4857.58,-802.641,47.9167,232.219,-71.2062],[4822.53,-700.677,47.45,229.778,-70.837],[4787.19,-600.025,46.9833,227.307,-70.4567],[4751.57,-500.704,46.5167,224.807,-70.0649],[4715.67,-402.736,46.05,222.277,-69.6611],[4678.18,-302.713,45.5667,219.627,-69.2296],[4639.08,-200.812,45.0667,216.854,-68.7682],[4599.66,-100.532,44.5667,214.05,-68.2909],[4559.92,-1.89696,44.0667,211.216,-67.7969],[4518.51,98.2726,43.55,208.256,-67.2679],[4475.42,199.776,43.0167,205.169,-66.701],[4431.96,299.324,42.4833,202.051,-66.1119],[4386.78,399.904,41.9333,198.806,-65.4798],[4341.22,498.343,41.3833,195.531,-64.8211],[4293.89,597.491,40.8167,192.13,-64.113],[4243.34,699.919,40.2167,188.501,-63.3287],[4192.37,799.684,39.6167,184.846,-62.5065],[4139.52,899.403,39,181.068,-61.6192],[4084.79,998.8,38.3667,177.168,-60.6603],[4028.12,1097.59,37.7167,173.15,-59.6222],[3968.03,1197.87,37.0333,168.918,-58.4675],[3904.43,1299.04,36.3167,164.478,-57.1811],[3838.77,1398.27,35.5833,159.944,-55.7783],[3767.98,1499.4,34.8,155.125,-54.1749],[3693.49,1599.38,33.9833,150.147,-52.3772],[3613.67,1699.32,33.1167,144.938,-50.3156],[3526.86,1799.73,32.1833,139.447,-47.9012],[3432.89,1898.89,31.1833,133.746,-45.0688],[3326.83,1999.16,30.0667,127.674,-41.5764]]], - [62,2429.05,[[5096.39,-2001.38,53.3833,257.367,-75.1537],[5069.92,-1902.25,52.9833,255.571,-74.9275],[5043.23,-1803.93,52.5833,253.751,-74.6962],[5015.22,-1702.37,52.1667,251.83,-74.4498],[4986.98,-1601.72,51.75,249.883,-74.1976],[4958.52,-1501.98,51.3333,247.91,-73.9394],[4929.84,-1403.16,50.9167,245.911,-73.675],[4899.77,-1301.38,50.4833,243.805,-73.3931],[4869.46,-1200.64,50.05,241.671,-73.104],[4838.9,-1100.94,49.6167,239.509,-72.8073],[4808.11,-1002.3,49.1833,237.319,-72.5028],[4775.88,-901.014,48.7333,235.016,-72.178],[4743.38,-800.903,48.2833,232.683,-71.8441],[4710.63,-701.987,47.8333,230.322,-71.5006],[4676.39,-600.69,47.3667,227.843,-71.1339],[4641.88,-500.718,46.9,225.333,-70.7561],[4607.09,-402.09,46.4333,222.792,-70.3666],[4570.76,-301.377,45.95,220.13,-69.9504],[4534.15,-202.149,45.4667,217.437,-69.5204],[4495.96,-101.085,44.9667,214.619,-69.0605],[4457.45,-1.65776,44.4667,211.769,-68.5844],[4417.34,99.3394,43.95,208.791,-68.0746],[4376.9,198.537,43.4333,205.782,-67.5457],[4334.82,299.02,42.9,202.643,-66.9784],[4292.38,397.527,42.3667,199.474,-66.3885],[4246.92,499.996,41.8,196.074,-65.7353],[4202.43,597.256,41.25,192.745,-65.0736],[4154.85,698.013,40.6667,189.185,-64.3403],[4105.49,799.035,40.0667,185.494,-63.5499],[4055.71,897.367,39.4667,181.779,-62.7202],[4002.72,998.201,38.8333,177.833,-61.799],[3947.86,1098.48,38.1833,173.764,-60.8014],[3891.11,1197.9,37.5167,169.575,-59.7189],[3831,1298.5,36.8167,165.17,-58.5127],[3767.45,1399.67,36.0833,160.555,-57.166],[3701.87,1498.59,35.3333,155.848,-55.6931],[3631.27,1598.97,34.5333,150.858,-54.0055],[3555.56,1699.72,33.6833,145.612,-52.0681],[3474.61,1799.68,32.7833,140.148,-49.8385],[3386.8,1899.21,31.8167,134.423,-47.2183],[3288.89,1999.49,30.75,128.338,-44.0278]]], - [63,2471.32,[[4965.9,-2004.12,53.7333,257.843,-75.6672],[4939.2,-1900.44,53.3167,255.97,-75.4398],[4913.36,-1801.73,52.9167,254.148,-75.2166],[4887.33,-1703.82,52.5167,252.301,-74.9884],[4859.99,-1602.72,52.1,250.351,-74.7452],[4832.44,-1502.52,51.6833,248.374,-74.4962],[4804.68,-1403.24,51.2667,246.372,-74.2412],[4775.57,-1300.98,50.8333,244.261,-73.9693],[4747.36,-1203.62,50.4167,242.205,-73.7013],[4717.79,-1103.38,49.9833,240.038,-73.4155],[4686.84,-1000.41,49.5333,237.758,-73.1107],[4656.79,-902.341,49.1,235.534,-72.8092],[4625.35,-801.653,48.65,233.195,-72.4874],[4593.65,-702.155,48.2,230.826,-72.1564],[4560.51,-600.247,47.7333,228.338,-71.8031],[4528.3,-503.226,47.2833,225.909,-71.4522],[4493.43,-400.404,46.8,223.268,-71.0636],[4459.49,-302.509,46.3333,220.687,-70.6765],[4424.06,-202.569,45.85,217.982,-70.2625],[4387.1,-100.761,45.35,215.15,-69.8197],[4349.85,-0.580351,44.85,212.285,-69.3613],[4312.29,97.9475,44.35,209.388,-68.8864],[4273.17,197.998,43.8333,206.361,-68.3776],[4232.45,299.37,43.3,203.203,-67.8318],[4191.39,398.778,42.7667,200.012,-67.2641],[4148.7,499.203,42.2167,196.688,-66.6543],[4105.66,597.476,41.6667,193.333,-66.0183],[4059.64,699.319,41.0833,189.742,-65.3131],[4013.22,798.669,40.5,186.121,-64.5745],[3965.08,898.218,39.9,182.368,-63.7774],[3915.18,997.701,39.2833,178.484,-62.9159],[3862.14,1099.41,38.6333,174.366,-61.958],[3808.63,1197.83,37.9833,170.228,-60.945],[3751.9,1297.71,37.3,165.865,-59.8157],[3691.87,1398.45,36.5833,161.281,-58.5547],[3628.49,1499.4,35.8333,156.488,-57.1433],[3561.68,1599.88,35.05,151.5,-55.5596],[3491.39,1699.17,34.2333,146.338,-53.7776],[3416.1,1798.34,33.3667,140.926,-51.7255],[3332.76,1899.6,32.4167,135.107,-49.2651],[3242.67,1999.2,31.4,129.061,-46.3606]]], - [64,2512.55,[[4829.45,-2001.14,54.05,258.205,-76.168],[4804.66,-1901.23,53.65,256.405,-75.9576],[4779.68,-1802.11,53.25,254.58,-75.7426],[4754.51,-1703.81,52.85,252.731,-75.5227],[4728.08,-1602.28,52.4333,250.778,-75.2883],[4701.45,-1501.65,52.0167,248.798,-75.0484],[4674.6,-1401.93,51.6,246.791,-74.8027],[4647.54,-1303.15,51.1833,244.758,-74.5509],[4619.18,-1201.41,50.75,242.615,-74.2825],[4590.59,-1100.71,50.3167,240.443,-74.007],[4561.78,-1001.06,49.8833,238.242,-73.7243],[4532.73,-902.47,49.45,236.012,-73.434],[4502.34,-801.238,49,233.666,-73.1242],[4471.69,-701.189,48.55,231.29,-72.8056],[4440.81,-602.341,48.1,228.883,-72.4777],[4408.53,-501.121,47.6333,226.355,-72.1275],[4375.98,-401.231,47.1667,223.796,-71.7664],[4343.18,-302.691,46.7,221.204,-71.3941],[4308.94,-202.077,46.2167,218.488,-70.9958],[4274.41,-102.954,45.7333,215.738,-70.5842],[4238.41,-2.00603,45.2333,212.86,-70.1437],[4202.12,97.2979,44.7333,209.948,-69.6873],[4164.32,198.159,44.2167,206.905,-69.1982],[4126.2,297.212,43.7,203.828,-68.6903],[4086.54,397.536,43.1667,200.617,-68.1452],[4045.3,498.917,42.6167,197.271,-67.5596],[4003.72,598.157,42.0667,193.891,-66.9486],[3960.52,698.13,41.5,190.375,-66.291],[3915.69,798.598,40.9167,186.723,-65.5821],[3869.19,899.309,40.3167,182.934,-64.817],[3820.99,1000,39.7,179.011,-63.9898],[3772.38,1097.79,39.0833,175.06,-63.1182],[3720.72,1197.68,38.4333,170.873,-62.1475],[3665.93,1299.12,37.75,166.45,-61.065],[3609.32,1399.18,37.05,161.907,-59.8844],[3549.48,1499.75,36.3167,157.141,-58.5628],[3487.75,1598.03,35.5667,152.275,-57.1128],[3419.91,1699.73,34.75,146.999,-55.4096],[3348.65,1799.58,33.9,141.557,-53.4848],[3272.49,1898.54,33,135.877,-51.2591],[3188.46,1998.59,32.0167,129.812,-48.5812]]], - [65,2552.7,[[4689.21,-2000.81,54.3667,258.603,-76.6744],[4665.28,-1900.53,53.9667,256.8,-76.4719],[4641.16,-1801.04,53.5667,254.973,-76.2649],[4616.86,-1702.35,53.1667,253.121,-76.0532],[4591.34,-1600.42,52.75,251.165,-75.8276],[4566.65,-1503.41,52.35,249.261,-75.606],[4540.74,-1403.25,51.9333,247.251,-75.3696],[4513.57,-1300.07,51.5,245.132,-75.1177],[4487.24,-1201.81,51.0833,243.067,-74.8694],[4459.64,-1100.63,50.65,240.89,-74.6045],[4431.82,-1000.49,50.2167,238.684,-74.3325],[4403.78,-901.418,49.7833,236.449,-74.0533],[4375.53,-803.42,49.35,234.184,-73.7666],[4345.96,-702.809,48.9,231.801,-73.4604],[4316.15,-603.392,48.45,229.388,-73.1453],[4284.99,-501.575,47.9833,226.852,-72.8088],[4253.58,-401.082,47.5167,224.284,-72.4618],[4221.92,-301.933,47.05,221.683,-72.104],[4188.86,-200.68,46.5667,218.955,-71.7212],[4155.54,-100.912,46.0833,216.193,-71.3257],[4121.96,-2.65133,45.6,213.398,-70.9165],[4086.94,97.389,45.1,210.472,-70.4783],[4050.45,199.02,44.5833,207.413,-70.0087],[4013.67,298.85,44.0667,204.318,-69.5209],[3975.4,399.985,43.5333,201.087,-68.9973],[3936.81,499.145,43,197.821,-68.4521],[3896.69,599.304,42.45,194.417,-67.8659],[3856.24,697.299,41.9,190.98,-67.2537],[3812.99,798.834,41.3167,187.298,-66.5742],[3769.38,897.862,40.7333,183.584,-65.8614],[3722.89,999.783,40.1167,179.623,-65.0691],[3676.01,1098.82,39.5,175.632,-64.234],[3627.46,1197.48,38.8667,171.506,-63.3282],[3575.92,1297.95,38.2,167.138,-62.3178],[3521.33,1399.65,37.5,162.531,-61.1885],[3464.96,1499.68,36.7833,157.803,-59.9532],[3405.44,1599.87,36.0333,152.852,-58.5665],[3342.72,1699.53,35.25,147.692,-57.0051],[3275.4,1799.88,34.4167,142.235,-55.2038],[3203.37,1899.76,33.5333,136.511,-53.1187],[3125.16,1999.63,32.5833,130.462,-50.6504]]], - [66,2591.71,[[4545.19,-2003.21,54.6833,259.036,-77.1862],[4522.12,-1902.55,54.2833,257.232,-76.9916],[4498.88,-1802.67,53.8833,255.403,-76.7927],[4475.45,-1703.6,53.4833,253.549,-76.5894],[4450.85,-1601.26,53.0667,251.59,-76.3727],[4427.06,-1503.85,52.6667,249.684,-76.1598],[4402.07,-1403.27,52.25,247.671,-75.9328],[4376.9,-1303.62,51.8333,245.631,-75.7002],[4350.5,-1200.96,51.4,243.479,-75.4521],[4324.93,-1103.22,50.9833,241.382,-75.2075],[4298.12,-1002.59,50.55,239.172,-74.9466],[4271.1,-903.018,50.1167,236.932,-74.6786],[4242.82,-800.747,49.6667,234.574,-74.3926],[4215.37,-703.372,49.2333,232.273,-74.1095],[4186.64,-603.418,48.7833,229.852,-73.8071],[4156.61,-501.038,48.3167,227.309,-73.484],[4127.43,-403.563,47.8667,224.824,-73.163],[4095.83,-300.252,47.3833,222.121,-72.8074],[4065.07,-201.885,46.9167,219.477,-72.4529],[4032.97,-101.457,46.4333,216.705,-72.0735],[4000.6,-2.52895,45.95,213.898,-71.6811],[3966.86,98.2088,45.45,210.958,-71.2608],[3932.84,197.294,44.95,207.984,-70.8251],[3897.41,297.919,44.4333,204.873,-70.3578],[3860.53,399.883,43.9,201.624,-69.856],[3823.35,499.881,43.3667,198.339,-69.3336],[3785.87,597.883,42.8333,195.017,-68.789],[3745.73,699.791,42.2667,191.45,-68.1848],[3705.25,799.378,41.7,187.847,-67.5523],[3663.24,899.434,41.1167,184.101,-66.8696],[3619.68,999.706,40.5167,180.214,-66.1316],[3574.53,1099.93,39.9,176.184,-65.3325],[3527.77,1199.82,39.2667,172.015,-64.4654],[3479.37,1299.1,38.6167,167.707,-63.5226],[3428.06,1399.87,37.9333,163.153,-62.4688],[3375.05,1499.22,37.2333,158.469,-61.3165],[3319.04,1599.02,36.5,153.551,-60.0228],[3259.96,1698.61,35.7333,148.411,-58.5659],[3196.47,1799.27,34.9167,142.951,-56.8839],[3128.47,1899.89,34.05,137.2,-54.9354],[3055.88,1999.25,33.1333,131.195,-52.6687]]], - [67,2629.55,[[4396.46,-2004.17,54.9833,259.43,-77.6952],[4374.26,-1903.16,54.5833,257.624,-77.5086],[4351.89,-1802.92,54.1833,255.794,-77.3178],[4329.34,-1703.48,53.7833,253.937,-77.1227],[4305.67,-1600.76,53.3667,251.976,-76.9148],[4282.77,-1502.98,52.9667,250.067,-76.7105],[4258.73,-1402.01,52.55,248.051,-76.4926],[4234.5,-1301.96,52.1333,246.007,-76.2695],[4210.08,-1202.83,51.7167,243.934,-76.0408],[4184.48,-1100.74,51.2833,241.749,-75.7968],[4159.67,-1003.56,50.8667,239.619,-75.5562],[4133.67,-903.51,50.4333,237.374,-75.2993],[4106.46,-800.745,49.9833,235.01,-75.0251],[4080.05,-702.888,49.55,232.704,-74.7537],[4052.41,-602.43,49.1,230.276,-74.4638],[4024.55,-503.173,48.65,227.817,-74.1653],[3995.42,-401.529,48.1833,225.232,-73.8463],[3966.07,-301.215,47.7167,222.613,-73.5173],[3936.48,-202.253,47.25,219.96,-73.1777],[3905.59,-101.202,46.7667,217.178,-72.8143],[3874.46,-1.64404,46.2833,214.359,-72.4385],[3841.99,99.7525,45.7833,211.406,-72.0358],[3809.27,199.503,45.2833,208.417,-71.6184],[3776.28,297.583,44.7833,205.392,-71.1853],[3741.92,397.152,44.2667,202.229,-70.7205],[3706.17,498.006,43.7333,198.925,-70.221],[3669,599.931,43.1833,195.479,-69.6838],[3631.52,699.711,42.6333,191.994,-69.1226],[3593.75,797.314,42.0833,188.473,-68.5359],[3553.35,898.419,41.5,184.7,-67.8839],[3511.46,999.781,40.9,180.781,-67.1788],[3469.23,1098.44,40.3,176.826,-66.4362],[3424.27,1199.59,39.6667,172.616,-65.6086],[3378.94,1297.63,39.0333,168.374,-64.7321],[3329.62,1399.88,38.35,163.767,-63.7269],[3279.89,1498.4,37.6667,159.135,-62.6544],[3226.05,1599.92,36.9333,154.146,-61.421],[3170.51,1699.17,36.1833,149.035,-60.0624],[3110.75,1799.86,35.3833,143.587,-58.4928],[3047.94,1898.98,34.55,137.937,-56.7105],[2979.49,1999.31,33.65,131.89,-54.5957]]], - [68,2666.16,[[4243.12,-2003.74,55.2667,259.785,-78.2025],[4221.8,-1902.39,54.8667,257.978,-78.0236],[4200.3,-1801.82,54.4667,256.145,-77.8408],[4178.64,-1702.04,54.0667,254.286,-77.6539],[4156.81,-1603.07,53.6667,252.402,-77.4628],[4133.9,-1500.83,53.25,250.41,-77.259],[4111.73,-1403.53,52.85,248.472,-77.0587],[4088.45,-1303.07,52.4333,246.425,-76.8451],[4065,-1203.54,52.0167,244.349,-76.6262],[4040.41,-1101.01,51.5833,242.16,-76.3926],[4016.59,-1003.41,51.1667,240.026,-76.1623],[3991.62,-902.919,50.7333,237.776,-75.9164],[3966.45,-803.492,50.3,235.495,-75.6638],[3940.11,-701.381,49.85,233.094,-75.3941],[3913.56,-600.449,49.4,230.66,-75.1165],[3886.8,-500.714,48.95,228.193,-74.8308],[3859.82,-402.192,48.5,225.693,-74.5365],[3831.64,-301.324,48.0333,223.066,-74.2218],[3803.22,-201.8,47.5667,220.404,-73.897],[3773.56,-100.162,47.0833,217.611,-73.5494],[3743.66,-0.0103934,46.6,214.781,-73.1899],[3713.52,98.6325,46.1167,211.916,-72.8178],[3682.1,199.065,45.6167,208.914,-72.4189],[3650.43,297.835,45.1167,205.874,-72.0051],[3617.44,398.124,44.6,202.695,-71.5608],[3583.11,499.729,44.0667,199.374,-71.0834],[3548.51,599.356,43.5333,196.013,-70.5858],[3512.53,699.992,42.9833,192.507,-70.0499],[3476.26,798.461,42.4333,188.962,-69.4897],[3438.6,897.613,41.8667,185.271,-68.8851],[3399.51,997.206,41.2833,181.432,-68.2316],[3357.85,1099.72,40.6667,177.334,-67.5039],[3315.84,1199.34,40.05,173.198,-66.7352],[3272.34,1298.6,39.4167,168.914,-65.8996],[3226.16,1399.68,38.75,164.37,-64.965],[3178.44,1499.63,38.0667,159.683,-63.9431],[3129.14,1598.11,37.3667,154.858,-62.8227],[3075.86,1699.16,36.6167,149.67,-61.5309],[3019.73,1799.72,35.8333,144.246,-60.0698],[2960.7,1899.04,35.0167,138.6,-58.4104],[2897.5,1998.19,34.15,132.643,-56.4782]]], - [69,2701.51,[[4085.27,-2001.95,55.5333,260.102,-78.7085],[4064.82,-1900.29,55.1333,258.293,-78.5374],[4045.08,-1803.6,54.75,256.535,-78.3699],[4024.31,-1703.47,54.35,254.675,-78.1913],[4002.51,-1600.02,53.9333,252.709,-78.0009],[3981.42,-1501.54,53.5333,250.794,-77.8139],[3960.17,-1403.88,53.1333,248.853,-77.6225],[3937.86,-1303.04,52.7167,246.803,-77.4183],[3915.37,-1203.11,52.3,244.724,-77.2091],[3891.8,-1100.19,51.8667,242.531,-76.9859],[3868.96,-1002.19,51.45,240.392,-76.7657],[3845.03,-901.285,51.0167,238.138,-76.5307],[3820.9,-801.44,50.5833,235.852,-76.2893],[3796.59,-702.668,50.15,233.534,-76.0412],[3771.14,-601.249,49.7,231.094,-75.7762],[3745.49,-501.021,49.25,228.621,-75.5034],[3719.64,-402.002,48.8,226.114,-75.2224],[3692.62,-300.612,48.3333,223.479,-74.9219],[3665.39,-200.562,47.8667,220.809,-74.6117],[3637.94,-101.871,47.4,218.103,-74.2914],[3609.29,-1.11002,46.9167,215.263,-73.9484],[3580.41,98.1486,46.4333,212.387,-73.5935],[3550.3,199.225,45.9333,209.373,-73.2129],[3519.95,298.646,45.4333,206.32,-72.818],[3488.34,399.614,44.9167,203.126,-72.3941],[3456.47,498.761,44.4,199.892,-71.9531],[3423.32,599.166,43.8667,196.513,-71.4787],[3389.9,697.571,43.3333,193.095,-70.9837],[3354.1,799.902,42.7667,189.42,-70.4338],[3318.01,899.908,42.2,185.704,-69.8572],[3281.63,997.552,41.6333,181.948,-69.2522],[3242.81,1098.33,41.0333,177.93,-68.5781],[3202.57,1199.06,40.4167,173.759,-67.8468],[3160.91,1299.48,39.7833,169.436,-67.0515],[3117.79,1399.28,39.1333,164.962,-66.1846],[3073.21,1498.17,38.4667,160.339,-65.2373],[3026,1598.15,37.7667,155.455,-64.173],[2976.13,1698.61,37.0333,150.313,-62.9735],[2923.54,1798.87,36.2667,144.922,-61.6168],[2868.2,1898.23,35.4667,139.293,-60.0759],[2807.71,1999.69,34.6,133.214,-58.2437]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 3609.29; -_maxRange = 5497.19; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg5.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg5.sqf deleted file mode 100644 index 0b535933f4..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg5.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg5 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,2059.32,[[7893.48,-2002.24,50.35,259.299,-66.4553],[7850.16,-1903.63,49.9333,257.668,-66.0908],[7804.72,-1802.03,49.5,255.955,-65.7036],[7758.9,-1701.41,49.0667,254.225,-65.3078],[7712.69,-1601.81,48.6333,252.478,-64.9032],[7666.1,-1503.22,48.2,250.715,-64.4896],[7617.31,-1401.94,47.75,248.867,-64.0501],[7568.11,-1301.79,47.3,247.003,-63.6002],[7518.49,-1202.78,46.85,245.123,-63.1396],[7466.59,-1101.34,46.3833,243.157,-62.6502],[7414.24,-1001.17,45.9167,241.176,-62.1485],[7361.44,-902.278,45.45,239.179,-61.6341],[7306.29,-801.234,44.9667,237.097,-61.0875],[7250.65,-701.609,44.4833,235,-60.5262],[7192.59,-600.064,43.9833,232.817,-59.9298],[7134.01,-500.082,43.4833,230.621,-59.3167],[7074.92,-401.685,42.9833,228.414,-58.6862],[7013.32,-301.696,42.4667,226.123,-58.0159],[6949.16,-200.307,41.9333,223.749,-57.3032],[6884.41,-100.799,41.4,221.368,-56.5685],[6817.03,-0.179513,40.85,218.907,-55.7871],[6749.04,98.3821,40.3,216.443,-54.9806],[6678.34,197.748,39.7333,213.904,-54.1223],[6604.88,297.689,39.15,211.293,-53.2088],[6528.59,397.966,38.55,208.616,-52.2362],[6449.44,498.328,37.9333,205.876,-51.2004],[6367.34,598.512,37.3,203.079,-50.0968],[6282.25,698.242,36.65,200.235,-48.9207],[6191.89,799.662,35.9667,197.278,-47.6351],[6098.36,899.862,35.2667,194.295,-46.2636],[6001.6,998.52,34.55,191.298,-44.8005],[5896.97,1099.59,33.7833,188.168,-43.1667],[5788.87,1198.03,33,185.065,-41.422],[5670.23,1299.22,32.15,181.825,-39.4401],[5543.08,1399.89,31.25,178.564,-37.2387],[5407.18,1498.83,30.3,175.338,-34.7986],[5254.96,1599.27,29.25,172.072,-31.9621],[5083.37,1699.72,28.0833,168.865,-28.6416],[4884.11,1799.9,26.75,165.827,-24.6394],[4640.54,1899.11,25.15,163.197,-19.575],[4287.13,1999.53,22.8833,161.658,-12.0251]]], - [46,2125.24,[[7832.67,-2000.07,50.9,259.877,-67.0209],[7790.23,-1900.81,50.4833,258.24,-66.6654],[7747.44,-1802.44,50.0667,256.585,-66.3025],[7702.58,-1701.11,49.6333,254.847,-65.9169],[7657.33,-1600.77,49.2,253.092,-65.5226],[7611.71,-1501.44,48.7667,251.32,-65.1195],[7565.71,-1403.14,48.3333,249.53,-64.7072],[7517.53,-1302.16,47.8833,247.655,-64.2691],[7468.95,-1202.31,47.4333,245.763,-63.8205],[7419.96,-1103.62,46.9833,243.855,-63.3611],[7368.73,-1002.51,46.5167,241.858,-62.8729],[7317.05,-902.68,46.05,239.846,-62.3722],[7263.07,-800.646,45.5667,237.746,-61.8401],[7208.61,-700.02,45.0833,235.63,-61.2938],[7153.68,-600.823,44.6,233.499,-60.7326],[7098.28,-503.075,44.1167,231.354,-60.1562],[7038.53,-400.21,43.6,229.048,-59.5226],[6980.2,-302.284,43.1,226.805,-58.8915],[6919.4,-202.793,42.5833,224.476,-58.2203],[6856.07,-101.929,42.05,222.061,-57.5063],[6792.17,-2.95816,41.5167,219.639,-56.77],[6725.68,97.0953,40.9667,217.136,-55.9864],[6656.54,198.015,40.4,214.553,-55.1523],[6584.69,299.574,39.8167,211.893,-54.2642],[6512.17,398.736,39.2333,209.237,-53.3449],[6436.88,498.195,38.6333,206.511,-52.3656],[6358.75,597.698,38.0167,203.722,-51.3219],[6275.59,699.553,37.3667,200.801,-50.1794],[6191.61,798.257,36.7167,197.905,-48.9916],[6102.43,898.575,36.0333,194.895,-47.6921],[6007.93,999.935,35.3167,191.786,-46.2711],[5910.2,1099.51,34.5833,188.667,-44.7532],[5806.93,1199.06,33.8167,185.484,-43.0946],[5695.7,1299.92,33,182.198,-41.2445],[5578.58,1399.12,32.15,178.913,-39.225],[5450.76,1499.4,31.2333,175.549,-36.9372],[5311.9,1599.12,30.25,172.18,-34.3546],[5156.84,1699.41,29.1667,168.8,-31.355],[4980.12,1799.9,27.95,165.483,-27.7973],[4773.4,1899.33,26.55,162.39,-23.4703],[4507.41,1999.55,24.7833,159.763,-17.699]]], - [47,2190.93,[[7768.74,-2003.87,51.4667,260.558,-67.6013],[7727.21,-1903.92,51.05,258.916,-67.2552],[7683.65,-1800.91,50.6167,257.189,-66.8876],[7641.42,-1702.78,50.2,255.511,-66.5264],[7597.14,-1601.7,49.7667,253.748,-66.1426],[7552.49,-1501.63,49.3333,251.967,-65.7501],[7507.47,-1402.57,48.9,250.169,-65.3486],[7460.32,-1300.79,48.45,248.283,-64.922],[7412.77,-1200.14,48,246.379,-64.4851],[7364.82,-1100.64,47.55,244.458,-64.0377],[7316.47,-1002.29,47.1,242.52,-63.5793],[7265.9,-901.551,46.6333,240.493,-63.0921],[7214.9,-802.094,46.1667,238.45,-62.5922],[7161.62,-700.457,45.6833,236.316,-62.0609],[7107.88,-600.238,45.2,234.166,-61.5151],[7053.68,-501.457,44.7167,232.001,-60.9543],[6997.12,-400.803,44.2167,229.747,-60.358],[6940.07,-301.731,43.7167,227.478,-59.7444],[6880.6,-201.043,43.2,225.121,-59.0917],[6820.6,-102.093,42.6833,222.753,-58.4193],[6758.11,-1.79915,42.15,220.298,-57.7036],[6693.08,99.6331,41.6,217.757,-56.9418],[6627.46,199.01,41.05,215.21,-56.1549],[6559.24,299.218,40.4833,212.582,-55.3167],[6490.39,397.182,39.9167,209.953,-54.4497],[6416.8,498.427,39.3167,207.172,-53.499],[6340.45,599.787,38.7,204.321,-52.4853],[6263.37,698.372,38.0833,201.482,-51.4329],[6181.33,799.238,37.4333,198.509,-50.2801],[6096.35,899.395,36.7667,195.485,-49.0492],[6008.36,998.542,36.0833,192.422,-47.7347],[5915.14,1098.65,35.3667,189.259,-46.296],[5816.55,1199.09,34.6167,186.013,-44.722],[5712.46,1299.22,33.8333,182.707,-43.0006],[5602.74,1398.33,33.0167,179.369,-41.1186],[5482.67,1499.37,32.1333,175.906,-38.9796],[5354.27,1599.06,31.2,172.442,-36.5999],[5212.6,1699.26,30.1833,168.932,-33.866],[5054.86,1799.07,29.0667,165.447,-30.6928],[4873.24,1899.07,27.8,162.035,-26.8828],[4652.03,1999.99,26.2833,158.827,-22.0466]]], - [48,2256.33,[[7696.67,-2001.69,52,261.145,-68.1551],[7656.02,-1901.11,51.5833,259.496,-67.818],[7615.04,-1801.41,51.1667,257.83,-67.4737],[7573.72,-1702.61,50.75,256.146,-67.1221],[7530.39,-1600.82,50.3167,254.376,-66.7484],[7486.7,-1500.03,49.8833,252.587,-66.3662],[7442.65,-1400.24,49.45,250.78,-65.9753],[7398.23,-1301.48,49.0167,248.955,-65.5755],[7351.72,-1200.01,48.5667,247.042,-65.1504],[7306.55,-1103.38,48.1333,245.181,-64.7313],[7257.51,-1000.51,47.6667,243.159,-64.269],[7209.81,-902.507,47.2167,241.191,-63.8119],[7159.94,-802.122,46.75,239.133,-63.3259],[7109.64,-703.029,46.2833,237.058,-62.8272],[7057.09,-601.779,45.8,234.891,-62.2969],[7004.09,-501.954,45.3167,232.707,-61.7519],[6948.79,-400.209,44.8167,230.431,-61.1723],[6893,-300.035,44.3167,228.14,-60.5759],[6836.73,-201.452,43.8167,225.834,-59.962],[6778.07,-101.281,43.3,223.438,-59.3087],[6718.9,-2.85846,42.7833,221.03,-58.6353],[6655.34,99.9643,42.2333,218.455,-57.8955],[6593.16,197.724,41.7,215.95,-57.1547],[6526.49,299.462,41.1333,213.28,-56.3412],[6459.2,398.973,40.5667,210.606,-55.4993],[6389.3,499.051,39.9833,207.853,-54.6019],[6316.73,599.454,39.3833,205.022,-53.6448],[6241.44,699.93,38.7667,202.121,-52.6236],[6165.43,797.612,38.15,199.231,-51.5628],[6084.54,897.507,37.5,196.204,-50.3998],[5998.65,999.081,36.8167,193.05,-49.1254],[5909.78,1099.42,36.1167,189.857,-47.7626],[5817.86,1198.19,35.4,186.638,-46.3046],[5718.49,1299.37,34.6333,183.263,-44.6717],[5613.66,1399.92,33.8333,179.833,-42.8839],[5503.24,1499.12,33,176.377,-40.9271],[5382.6,1599.8,32.1,172.803,-38.7021],[5253.71,1698.71,31.15,169.24,-36.2245],[5109.4,1799.07,30.1,165.595,-33.3297],[4946.82,1899.38,28.9333,161.964,-29.9212],[4758.15,1999.31,27.6,158.444,-25.7858]]], - [49,2321.36,[[7619.81,-2001.61,52.5333,261.766,-68.7105],[7580.05,-1900.4,52.1167,260.114,-68.3823],[7539.97,-1800.07,51.7,258.442,-68.0471],[7499.55,-1700.62,51.2833,256.752,-67.7048],[7458.81,-1602.07,50.8667,255.044,-67.3551],[7416.09,-1500.55,50.4333,253.249,-66.9834],[7373.01,-1400.03,50,251.434,-66.6031],[7329.57,-1300.52,49.5667,249.601,-66.2141],[7285.77,-1202.04,49.1333,247.749,-65.8161],[7239.91,-1100.89,48.6833,245.807,-65.3928],[7193.67,-1000.87,48.2333,243.846,-64.9592],[7147.04,-902.016,47.7833,241.866,-64.5148],[7098.27,-800.74,47.3167,239.795,-64.0423],[7049.09,-700.746,46.85,237.704,-63.5573],[6999.49,-602.053,46.3833,235.596,-63.0596],[6947.69,-501.225,45.9,233.395,-62.5301],[6895.44,-401.833,45.4167,231.176,-61.9858],[6840.92,-300.545,44.9167,228.864,-61.4067],[6785.92,-200.837,44.4167,226.535,-60.8105],[6730.45,-102.731,43.9167,224.192,-60.1967],[6672.64,-3.0626,43.4,221.756,-59.5431],[6612.43,97.9745,42.8667,219.229,-58.847],[6551.68,197.109,42.3333,216.69,-58.1284],[6488.48,297.32,41.7833,214.062,-57.3626],[6422.76,398.391,41.2167,211.346,-56.5463],[6356.45,497.22,40.65,208.626,-55.701],[6285.59,599.383,40.05,205.744,-54.7732],[6214.06,698.96,39.45,202.864,-53.81],[6139.85,798.568,38.8333,199.911,-52.7817],[6062.92,897.941,38.2,196.89,-51.6831],[5981.14,999.294,37.5333,193.73,-50.4782],[5896.48,1099.67,36.85,190.52,-49.1891],[5808.89,1198.75,36.15,187.271,-47.8093],[5716.2,1298.43,35.4167,183.921,-46.2967],[5618.26,1398.07,34.65,180.49,-44.6386],[5512.79,1498.99,33.8333,176.931,-42.7824],[5401.8,1598.22,32.9833,173.354,-40.7483],[5280.71,1698.5,32.0667,169.667,-38.4339],[5146.97,1799.78,31.0667,165.883,-35.7625],[5000.17,1899.82,29.9833,162.112,-32.6933],[4832.96,1999.94,28.7667,158.355,-29.0305]]], - [50,2385.98,[[7538.08,-2003.72,53.0667,262.424,-69.2671],[7499.22,-1901.87,52.65,260.767,-68.9479],[7460.04,-1800.88,52.2333,259.091,-68.6219],[7420.53,-1700.78,51.8167,257.397,-68.289],[7380.7,-1601.57,51.4,255.683,-67.9488],[7340.55,-1503.27,50.9833,253.951,-67.6013],[7298.45,-1402,50.55,252.13,-67.2317],[7256,-1301.75,50.1167,250.29,-66.8536],[7213.2,-1202.51,49.6833,248.43,-66.4668],[7168.38,-1100.56,49.2333,246.479,-66.0554],[7124.86,-1003.45,48.8,244.581,-65.6497],[7077.6,-900.064,48.3333,242.516,-65.2019],[7031.65,-801.559,47.8833,240.507,-64.7591],[6983.59,-700.655,47.4167,238.403,-64.288],[6935.13,-601.041,46.95,236.28,-63.8045],[6886.26,-502.736,46.4833,234.139,-63.308],[6835.21,-402.319,46,231.903,-62.7797],[6783.73,-303.346,45.5167,229.649,-62.2364],[6730.02,-202.501,45.0167,227.3,-61.6581],[6675.84,-103.247,44.5167,224.934,-61.0625],[6619.37,-2.37769,44,222.473,-60.4283],[6560.56,99.9126,43.4667,219.917,-59.7527],[6503.09,197.206,42.95,217.427,-59.0772],[6441.36,298.8,42.4,214.764,-58.3343],[6379.09,398.329,41.85,212.091,-57.5659],[6314.34,498.681,41.2833,209.329,-56.7463],[6247.08,599.627,40.7,206.48,-55.8718],[6179.21,698.146,40.1167,203.628,-54.9645],[6106.79,799.618,39.5,200.616,-53.9682],[6033.68,898.3,38.8833,197.611,-52.9318],[5955.89,999.25,38.2333,194.455,-51.794],[5875.34,1099.47,37.5667,191.24,-50.5765],[5791.96,1198.66,36.8833,187.973,-49.2728],[5703.63,1298.79,36.1667,184.589,-47.842],[5610.23,1399.24,35.4167,181.105,-46.2718],[5511.65,1499.34,34.6333,177.542,-44.5486],[5407.77,1598.38,33.8167,173.929,-42.6577],[5294.14,1699.31,32.9333,170.16,-40.4995],[5172.66,1798.85,32,166.365,-38.0873],[5038.7,1898.84,30.9833,162.488,-35.3013],[4887.38,1999.75,29.85,158.539,-31.9984]]], - [51,2450.09,[[7450.02,-2004.01,53.5833,263.05,-69.8123],[7412.04,-1901.55,53.1667,261.39,-69.5019],[7375.29,-1803.99,52.7667,259.778,-69.1977],[7336.7,-1703.23,52.35,258.079,-68.8742],[7297.79,-1603.35,51.9333,256.361,-68.5437],[7256.99,-1500.43,51.5,254.554,-68.1923],[7217.43,-1402.39,51.0833,252.797,-67.8468],[7175.96,-1301.42,50.65,250.95,-67.4794],[7134.14,-1201.46,50.2167,249.082,-67.1034],[7091.98,-1102.52,49.7833,247.195,-66.7186],[7047.84,-1000.88,49.3333,245.215,-66.3093],[7003.32,-900.388,48.8833,243.214,-65.8897],[6958.44,-801.05,48.4333,241.194,-65.4597],[6913.18,-702.884,47.9833,239.154,-65.0187],[6865.86,-602.341,47.5167,237.018,-64.5495],[6818.13,-503.095,47.05,234.863,-64.0677],[6768.28,-401.693,46.5667,232.61,-63.5549],[6718.01,-301.724,46.0833,230.339,-63.0275],[6667.31,-203.209,45.6,228.049,-62.485],[6614.41,-102.848,45.1,225.662,-61.9074],[6559.27,-0.823244,44.5833,223.177,-61.292],[6503.65,99.4678,44.0667,220.674,-60.6573],[6447.55,198,43.55,218.157,-60.0023],[6389.13,297.84,43.0167,215.544,-59.3041],[6328.35,398.78,42.4667,212.836,-58.5595],[6267.02,497.64,41.9167,210.117,-57.7889],[6203.28,597.288,41.35,207.307,-56.9664],[6137.06,697.494,40.7667,204.409,-56.0882],[6068.32,798.014,40.1667,201.425,-55.15],[5997.02,898.595,39.55,198.359,-54.147],[5923.1,998.969,38.9167,195.218,-53.0742],[5846.5,1098.86,38.2667,192.007,-51.9258],[5767.19,1197.97,37.6,188.734,-50.6957],[5683.1,1298.34,36.9,185.329,-49.3445],[5594.11,1399.38,36.1667,181.807,-47.8602],[5502.16,1498.29,35.4167,178.264,-46.2656],[5403.05,1598.79,34.6167,174.567,-44.4755],[5296.6,1699.84,33.7667,170.751,-42.4679],[5184.71,1798.47,32.8833,166.933,-40.2616],[5060.84,1898.86,31.9167,162.961,-37.7016],[4924.59,1998.83,30.8667,158.935,-34.7442]]], - [52,2513.65,[[7355.61,-2002.48,54.0833,263.644,-70.3472],[7320,-1903.54,53.6833,262.047,-70.0575],[7282.61,-1801.31,53.2667,260.365,-69.7495],[7246.43,-1703.98,52.8667,258.73,-69.4476],[7208.43,-1603.46,52.45,257.008,-69.1265],[7170.13,-1503.84,52.0333,255.266,-68.7984],[7129.97,-1401.18,51.6,253.433,-68.4494],[7091.02,-1303.41,51.1833,251.651,-68.1063],[7050.2,-1202.71,50.75,249.778,-67.7412],[7009.04,-1103.03,50.3167,247.883,-67.3676],[6965.94,-1000.61,49.8667,245.895,-66.9702],[6924.09,-903.055,49.4333,243.96,-66.5781],[6880.28,-802.874,48.9833,241.93,-66.161],[6834.46,-700.213,48.5167,239.803,-65.7171],[6789.91,-602.42,48.0667,237.731,-65.2778],[6743.32,-502.271,47.6,235.563,-64.8103],[6696.35,-403.429,47.1333,233.374,-64.3301],[6647.28,-302.454,46.65,231.086,-63.8188],[6597.8,-202.921,46.1667,228.779,-63.2927],[6546.18,-101.496,45.6667,226.372,-62.7325],[6494.11,-1.65928,45.1667,223.945,-62.1552],[6439.84,99.8125,44.65,221.42,-61.5401],[6385.09,199.539,44.1333,218.876,-60.9052],[6329.87,297.494,43.6167,216.317,-60.2498],[6270.57,399.796,43.0667,213.577,-59.5285],[6212.56,497.026,42.5333,210.906,-58.8048],[6150.38,598.174,41.9667,208.057,-58.0085],[6085.8,699.942,41.3833,205.114,-57.1579],[6020.63,799.284,40.8,202.165,-56.2746],[5952.98,898.898,40.2,199.129,-55.3302],[5882.81,998.527,39.5833,196.01,-54.3199],[5810.08,1097.9,38.95,192.813,-53.2382],[5732.78,1199.24,38.2833,189.461,-52.0491],[5652.78,1299.57,37.6,186.048,-50.7735],[5570.03,1398.59,36.9,182.585,-49.4044],[5482.47,1498.18,36.1667,179.002,-47.8987],[5387.97,1599.8,35.3833,175.241,-46.2055],[5290.45,1698.43,34.5833,171.486,-44.3814],[5183.64,1799.33,33.7167,167.539,-42.2918],[5069.39,1899.2,32.8,163.529,-39.9477],[4943.26,1999.99,31.8,159.386,-37.2272]]], - [53,2576.59,[[7256.37,-2003.34,54.5833,264.272,-70.8841],[7221.61,-1903.83,54.1833,262.673,-70.6027],[7185.12,-1801,53.7667,260.987,-70.3035],[7149.8,-1703.09,53.3667,259.35,-70.0103],[7112.72,-1601.96,52.95,257.623,-69.6983],[7075.33,-1501.71,52.5333,255.877,-69.3795],[7037.63,-1402.36,52.1167,254.11,-69.0537],[6999.63,-1303.92,51.7,252.323,-68.7206],[6959.79,-1202.51,51.2667,250.443,-68.3663],[6919.61,-1102.12,50.8333,248.542,-68.0036],[6879.12,-1002.76,50.4,246.62,-67.6323],[6836.72,-900.67,49.95,244.602,-67.2372],[6795.56,-803.442,49.5167,242.638,-66.8474],[6752.46,-703.607,49.0667,240.577,-66.4324],[6707.39,-601.313,48.6,238.418,-65.9907],[6661.94,-500.297,48.1333,236.237,-65.5371],[6616.1,-400.578,47.6667,234.035,-65.0712],[6569.89,-302.174,47.2,231.811,-64.5924],[6521.61,-201.664,46.7167,229.488,-64.0825],[6472.93,-102.605,46.2333,227.143,-63.5576],[6422.15,-1.68051,45.7333,224.697,-62.9984],[6370.94,97.6448,45.2333,222.232,-62.422],[6317.55,198.577,44.7167,219.665,-61.8074],[6263.71,297.751,44.2,217.08,-61.1728],[6207.65,398.256,43.6667,214.393,-60.4959],[6149.33,499.882,43.1167,211.607,-59.7733],[6090.49,599.429,42.5667,208.806,-59.0249],[6029.33,699.787,42,205.908,-58.2254],[5967.62,797.873,41.4333,203,-57.3958],[5901.7,899.216,40.8333,199.914,-56.4829],[5835.17,997.939,40.2333,196.824,-55.5327],[5764.3,1099.26,39.6,193.564,-54.4872],[5692.77,1197.58,38.9667,190.311,-53.3959],[5616.76,1297.77,38.3,186.901,-52.1949],[5536.18,1399.29,37.6,183.343,-50.8733],[5452.86,1499.25,36.8833,179.736,-49.4523],[5364.79,1599.48,36.1333,176.011,-47.8877],[5271.87,1699.33,35.35,172.189,-46.1643],[5173.97,1798.07,34.5333,168.297,-44.2654],[5066.92,1898.64,33.65,164.219,-42.0883],[4950.48,1999.45,32.7,160.016,-39.5972]]], - [54,2638.84,[[7150.89,-2002.47,55.0667,264.867,-71.4115],[7116.98,-1902.42,54.6667,263.266,-71.1383],[7082.81,-1803.14,54.2667,261.646,-70.8594],[7046.92,-1700.56,53.85,259.937,-70.5628],[7012.19,-1602.89,53.45,258.276,-70.2721],[6975.72,-1502.02,53.0333,256.526,-69.9627],[6938.96,-1402.03,52.6167,254.754,-69.6465],[6901.9,-1302.95,52.2,252.962,-69.3233],[6863.04,-1200.87,51.7667,251.077,-68.9794],[6825.37,-1103.66,51.35,249.243,-68.6411],[6785.88,-1003.57,50.9167,247.315,-68.2811],[6744.52,-900.714,50.4667,245.289,-67.898],[6704.38,-802.739,50.0333,243.317,-67.5199],[6662.34,-702.121,49.5833,241.248,-67.1174],[6619.96,-602.666,49.1333,239.156,-66.7046],[6575.64,-500.773,48.6667,236.963,-66.2651],[6530.96,-400.167,48.2,234.749,-65.8136],[6485.89,-300.866,47.7333,232.512,-65.3496],[6440.46,-202.891,47.2667,230.254,-64.8726],[6393.01,-102.832,46.7833,227.894,-64.3644],[6343.5,-0.86172,46.2833,225.43,-63.8228],[6293.57,99.5214,45.7833,222.944,-63.2645],[6243.22,198.294,45.2833,220.438,-62.6887],[6190.75,298.643,44.7667,217.829,-62.0745],[6137.82,397.223,44.25,215.201,-61.44],[6082.72,497.099,43.7167,212.47,-60.7627],[6025.4,598.065,43.1667,209.637,-60.0394],[5965.81,699.901,42.6,206.702,-59.2666],[5905.7,799.482,42.0333,203.754,-58.4644],[5843.26,899.601,41.45,200.708,-57.6064],[5780.27,997.261,40.8667,197.655,-56.714],[5713.07,1097.79,40.25,194.424,-55.7313],[5643.42,1198.09,39.6167,191.107,-54.6778],[5571.27,1297.88,38.9667,187.71,-53.5475],[5494.7,1399.3,38.2833,184.153,-52.3025],[5415.5,1499.43,37.5833,180.534,-50.9637],[5333.63,1597.94,36.8667,176.865,-49.5225],[5245.16,1698.77,36.1,172.993,-47.8975],[5151.9,1798.89,35.3,169.027,-46.1048],[5051.76,1899.49,34.45,164.918,-44.0855],[4944.56,1999.41,33.55,160.711,-41.8119]]], - [55,2700.33,[[7040.59,-2004.15,55.55,265.497,-71.9413],[7007.54,-1903.54,55.15,263.894,-71.6762],[6974.23,-1803.71,54.75,262.271,-71.4056],[6939.24,-1700.54,54.3333,260.56,-71.1179],[6905.39,-1602.31,53.9333,258.896,-70.8358],[6869.84,-1500.83,53.5167,257.142,-70.5357],[6833.99,-1400.24,53.1,255.367,-70.229],[6797.86,-1300.54,52.6833,253.57,-69.9153],[6761.44,-1201.75,52.2667,251.753,-69.5947],[6724.73,-1103.88,51.85,249.914,-69.2667],[6686.24,-1003.08,51.4167,247.979,-68.9177],[6647.43,-903.311,50.9833,246.022,-68.5602],[6606.8,-800.804,50.5333,243.967,-68.1797],[6567.36,-703.169,50.1,241.966,-67.8041],[6526.06,-602.911,49.65,239.865,-67.4043],[6482.87,-500.176,49.1833,237.663,-66.9785],[6440.89,-402.32,48.7333,235.516,-66.5569],[6396.98,-302.113,48.2667,233.268,-66.1078],[6352.72,-203.219,47.8,230.997,-65.6461],[6306.49,-102.2,47.3167,228.621,-65.1541],[6259.87,-2.63129,46.8333,226.223,-64.6476],[6211.24,98.8216,46.3333,223.72,-64.1075],[6162.19,198.676,45.8333,221.194,-63.5505],[6112.73,296.909,45.3333,218.648,-62.9757],[6059.52,399.878,44.8,215.91,-62.3423],[6007.53,497.818,44.2833,213.238,-61.7076],[5953.4,597.022,43.75,210.461,-61.0297],[5897.1,697.279,43.2,207.58,-60.3054],[5838.57,798.368,42.6333,204.595,-59.531],[5779.54,897.188,42.0667,201.596,-58.7265],[5716.46,999.308,41.4667,198.409,-57.8403],[5652.82,1098.81,40.8667,195.215,-56.9169],[5586.82,1198.3,40.25,191.927,-55.9269],[5518.41,1297.52,39.6167,188.552,-54.8645],[5445.74,1398.66,38.95,185.006,-53.6936],[5370.53,1498.77,38.2667,181.387,-52.4341],[5290.9,1599.84,37.55,177.618,-51.0449],[5208.61,1699.03,36.8167,173.8,-49.5468],[5121.73,1798.09,36.05,169.865,-47.8929],[5028.24,1898.32,35.2333,165.753,-46.0264],[4927.97,1998.62,34.3667,161.503,-43.921]]], - [56,2761.02,[[6924.09,-2004.2,56.0167,266.092,-72.4626],[6891.89,-1903.07,55.6167,264.488,-72.2054],[6859.43,-1802.7,55.2167,262.863,-71.9431],[6826.72,-1703.11,54.8167,261.218,-71.6753],[6792.36,-1600.2,54.4,259.483,-71.3904],[6759.12,-1502.21,54,257.797,-71.1111],[6724.21,-1401,53.5833,256.018,-70.8138],[6689.01,-1300.68,53.1667,254.218,-70.5099],[6653.54,-1201.26,52.75,252.396,-70.1991],[6617.77,-1102.76,52.3333,250.552,-69.8813],[6580.28,-1001.29,51.9,248.612,-69.543],[6542.48,-900.847,51.4667,246.648,-69.1965],[6504.37,-801.433,51.0333,244.662,-68.8416],[6465.96,-703.066,50.6,242.654,-68.4779],[6425.74,-602.039,50.15,240.545,-68.0907],[6385.19,-502.174,49.7,238.412,-67.6933],[6344.31,-403.487,49.25,236.256,-67.2854],[6301.56,-302.409,48.7833,233.996,-66.8508],[6258.46,-202.635,48.3167,231.713,-66.4041],[6213.45,-100.693,47.8333,229.324,-65.928],[6168.06,-0.191128,47.35,226.91,-65.4377],[6122.28,98.8487,46.8667,224.474,-64.9327],[6074.54,199.743,46.3667,221.93,-64.394],[6026.38,299.028,45.8667,219.363,-63.8381],[5976.21,399.906,45.35,216.688,-63.2449],[5925.6,499.015,44.8333,213.991,-62.6315],[5872.91,599.438,44.3,211.187,-61.9763],[5819.78,697.921,43.7667,208.363,-61.2976],[5764.51,797.42,43.2167,205.433,-60.572],[5707.07,897.712,42.65,202.397,-59.7956],[5647.41,998.565,42.0667,199.256,-58.9642],[5585.5,1099.73,41.4667,196.014,-58.0734],[5523.04,1198.26,40.8667,192.764,-57.1443],[5456.51,1299.36,40.2333,189.328,-56.1198],[5387.59,1399.96,39.5833,185.803,-55.0188],[5316.25,1499.78,38.9167,182.196,-53.8345],[5242.45,1598.51,38.2333,178.514,-52.5591],[5164.3,1698.1,37.5167,174.68,-51.1507],[5081.73,1797.92,36.7667,170.709,-49.5944],[4992.76,1899.36,35.9667,166.537,-47.8354],[4899.12,1999.4,35.1333,162.279,-45.888]]], - [57,2820.82,[[6801.47,-2002.67,56.4667,266.654,-72.9761],[6770.12,-1901.04,56.0667,265.049,-72.7268],[6738.52,-1800.17,55.6667,263.422,-72.4725],[6706.66,-1700.06,55.2667,261.775,-72.2128],[6674.55,-1600.73,54.8667,260.107,-71.9478],[6642.19,-1502.19,54.4667,258.418,-71.6772],[6608.21,-1400.39,54.05,256.636,-71.3892],[6575.32,-1303.5,53.65,254.905,-71.1067],[6540.8,-1203.44,53.2333,253.079,-70.8059],[6504.6,-1100.34,52.8,251.158,-70.4858],[6469.51,-1002.15,52.3833,249.287,-70.1708],[6432.72,-901.015,51.95,247.318,-69.8355],[6395.63,-800.908,51.5167,245.326,-69.4919],[6358.25,-701.839,51.0833,243.311,-69.1399],[6319.1,-600.076,50.6333,241.194,-68.765],[6281.1,-503.172,50.2,239.132,-68.3947],[6239.85,-400.027,49.7333,236.886,-67.9854],[6199.73,-301.775,49.2833,234.697,-67.5799],[6157.79,-201.156,48.8167,232.402,-67.1478],[6115.51,-101.852,48.35,230.083,-66.7033],[6071.35,-0.405404,47.8667,227.656,-66.2295],[6026.82,99.5897,47.3833,225.204,-65.7413],[5981.92,198.113,46.9,222.728,-65.2383],[5935.08,298.462,46.4,220.143,-64.7014],[5887.86,397.189,45.9,217.535,-64.1472],[5838.64,497.48,45.3833,214.817,-63.5554],[5787.41,599.137,44.85,211.987,-62.923],[5735.73,698.867,44.3167,209.136,-62.2679],[5681.98,799.666,43.7667,206.174,-61.5673],[5627.76,898.356,43.2167,203.193,-60.84],[5571.42,997.798,42.65,200.105,-60.0613],[5512.92,1097.76,42.0667,196.911,-59.2268],[5452.21,1197.99,41.4667,193.612,-58.3319],[5389.25,1298.23,40.85,190.213,-57.3711],[5324.01,1398.22,40.2167,186.717,-56.3387],[5256.44,1497.66,39.5667,183.13,-55.2281],[5184.74,1598.69,38.8833,179.367,-54.0014],[5110.6,1698.38,38.1833,175.531,-52.678],[5032.19,1798.65,37.45,171.541,-51.2144],[4949.4,1898.83,36.6833,167.415,-49.5943],[4862.16,1998.24,35.8833,163.177,-47.7993]]], - [58,2879.69,[[6674.05,-2003.86,56.9167,267.25,-73.4928],[6643.56,-1901.72,56.5167,265.643,-73.2514],[6612.82,-1800.33,56.1167,264.016,-73.0051],[6583.13,-1703.88,55.7333,262.436,-72.7643],[6551.91,-1603.99,55.3333,260.767,-72.5078],[6519.12,-1500.77,54.9167,259.005,-72.235],[6487.39,-1402.49,54.5167,257.292,-71.9674],[6454.08,-1300.98,54.1,255.486,-71.6825],[6420.49,-1200.35,53.6833,253.657,-71.3913],[6386.64,-1100.62,53.2667,251.804,-71.0933],[6352.51,-1001.8,52.85,249.93,-70.7886],[6316.73,-900.01,52.4167,247.956,-70.4641],[6282.05,-803.096,52,246.035,-70.1446],[6245.7,-703.317,51.5667,244.014,-69.8043],[6207.64,-600.808,51.1167,241.89,-69.4419],[6170.69,-503.177,50.6833,239.821,-69.084],[6132.01,-402.93,50.2333,237.648,-68.7025],[6091.57,-300.216,49.7667,235.368,-68.2961],[6052.25,-202.387,49.3167,233.145,-67.8934],[6011.14,-102.217,48.85,230.815,-67.4641],[5969.7,-3.3696,48.3833,228.459,-67.0224],[5926.42,97.5926,47.9,225.994,-66.5513],[5882.78,197.094,47.4167,223.504,-66.0657],[5837.26,298.466,46.9167,220.902,-65.5476],[5791.35,398.228,46.4167,218.275,-65.0125],[5743.52,499.599,45.9,215.535,-64.4411],[5695.28,599.201,45.3833,212.771,-63.8499],[5646.63,697.008,44.8667,209.984,-63.238],[5594.41,799.123,44.3167,206.995,-62.5627],[5541.73,899.143,43.7667,203.983,-61.8616],[5486.99,999.972,43.2,200.859,-61.1107],[5431.77,1098.51,42.6333,197.717,-60.3293],[5374.43,1197.52,42.05,194.467,-59.4912],[5313.28,1299.48,41.4333,191.018,-58.5661],[5251.59,1398.6,40.8167,187.559,-57.5983],[5185.97,1499.97,40.1667,183.908,-56.5291],[5119.75,1598.1,39.5167,180.258,-55.4065],[5049.5,1697.72,38.8333,176.43,-54.1651],[4975.13,1798.24,38.1167,172.434,-52.7912],[4896.55,1899.02,37.3667,168.284,-51.2693],[4813.67,1999.4,36.5833,164.001,-49.5815]]], - [59,2937.55,[[6540.61,-2003.56,57.35,267.811,-74.0027],[6510.97,-1900.93,56.95,266.204,-73.7691],[6482.35,-1803.28,56.5667,264.643,-73.5407],[6452.24,-1702.13,56.1667,262.994,-73.2975],[6421.89,-1601.74,55.7667,261.322,-73.0493],[6391.3,-1502.13,55.3667,259.629,-72.7959],[6360.46,-1403.3,54.9667,257.915,-72.5371],[6328.09,-1301.21,54.55,256.106,-72.2617],[6296.76,-1204.02,54.15,254.347,-71.9914],[6263.87,-1103.67,53.7333,252.492,-71.7035],[6229.39,-1000.26,53.3,250.539,-71.3971],[6195.96,-901.768,52.8833,248.637,-71.0955],[6160.91,-800.324,52.45,246.634,-70.7743],[6126.95,-703.748,52.0333,244.685,-70.458],[6089.97,-600.524,51.5833,242.555,-70.1078],[6054.07,-502.198,51.15,240.479,-69.7619],[6016.49,-401.221,50.7,238.297,-69.3933],[5978.6,-301.414,50.25,236.091,-69.0148],[5940.4,-202.794,49.8,233.859,-68.626],[5900.47,-101.794,49.3333,231.518,-68.2115],[5860.21,-2.10736,48.8667,229.151,-67.785],[5818.16,99.7337,48.3833,226.672,-67.3301],[5777.24,196.686,47.9167,224.254,-66.8776],[5733.02,299.041,47.4167,221.637,-66.3777],[5688.44,399.796,46.9167,218.992,-65.8614],[5643.48,498.93,46.4167,216.322,-65.328],[5596.63,599.639,45.9,213.537,-64.7581],[5549.4,698.565,45.3833,210.727,-64.1681],[5500.23,798.784,44.85,207.802,-63.537],[5450.64,897.047,44.3167,204.853,-62.8824],[5397.5,999.277,43.75,201.697,-62.1596],[5343.9,1099.23,43.1833,198.52,-61.4073],[5288.24,1199.72,42.6,195.23,-60.6002],[5232.1,1297.73,42.0167,191.923,-59.7582],[5172.23,1398.6,41.4,188.413,-58.8277],[5110.2,1499.23,40.7667,184.798,-57.8264],[5045.95,1599.32,40.1167,181.083,-56.7475],[4979.46,1698.6,39.45,177.274,-55.5834],[4909,1799.08,38.75,173.285,-54.2944],[4836.19,1897.92,38.0333,169.22,-52.8989],[4757.56,1999.06,37.2667,164.908,-51.3152]]], - [60,2994.34,[[6401.19,-2001.83,57.7667,268.34,-74.5066],[6373.61,-1903.03,57.3833,266.798,-74.2901],[6344.6,-1800.65,56.9833,265.169,-74.0596],[6316.58,-1703.24,56.6,263.587,-73.8343],[6287.11,-1602.34,56.2,261.914,-73.5944],[6257.41,-1502.21,55.8,260.22,-73.3495],[6227.47,-1402.86,55.4,258.504,-73.0993],[6196.04,-1300.22,54.9833,256.692,-72.8331],[6165.62,-1202.51,54.5833,254.931,-72.5718],[6133.68,-1101.59,54.1667,253.072,-72.2936],[6101.49,-1001.57,53.75,251.19,-72.009],[6069.04,-902.467,53.3333,249.284,-71.7177],[6035.02,-800.381,52.9,247.277,-71.4076],[6002.04,-703.179,52.4833,245.324,-71.1021],[5967.48,-603.1,52.05,243.267,-70.7766],[5931.29,-500.28,51.6,241.105,-70.4298],[5896.16,-402.35,51.1667,238.997,-70.0872],[5859.39,-301.793,50.7167,236.783,-69.722],[5822.32,-202.415,50.2667,234.542,-69.3468],[5783.56,-100.62,49.8,232.191,-68.9468],[5744.48,-0.129281,49.3333,229.814,-68.5352],[5705.08,99.0371,48.8667,227.409,-68.1115],[5665.36,196.86,48.4,224.978,-67.6752],[5623.89,296.74,47.9167,222.434,-67.2095],[5580.64,398.503,47.4167,219.774,-66.7122],[5537.02,498.655,46.9167,217.087,-66.1984],[5493.04,597.172,46.4167,214.373,-65.6673],[5447.22,697.232,45.9,211.542,-65.0994],[5399.52,798.634,45.3667,208.593,-64.4919],[5351.42,898.094,44.8333,205.619,-63.8616],[5301.39,998.598,44.2833,202.527,-63.1864],[5249.4,1099.92,43.7167,199.316,-62.4627],[5196.97,1198.95,43.15,196.084,-61.7087],[5142.53,1298.47,42.5667,192.737,-60.8991],[5086.04,1398.22,41.9667,189.276,-60.029],[5027.49,1497.95,41.35,185.705,-59.0927],[4965.21,1599.95,40.7,181.929,-58.0568],[4902.37,1698.71,40.05,178.149,-56.9671],[4835.71,1798.99,39.3667,174.176,-55.7599],[4766.8,1897.88,38.6667,170.117,-54.4528],[4692.28,1999.47,37.9167,165.791,-52.9678]]], - [61,3050.01,[[6257.04,-2003.01,58.1833,268.9,-75.0143],[6230.29,-1903.75,57.8,267.359,-74.8051],[6202.15,-1800.9,57.4,265.729,-74.5825],[6174.97,-1703.03,57.0167,264.146,-74.3649],[6146.38,-1601.65,56.6167,262.472,-74.1331],[6117.57,-1501.02,56.2167,260.776,-73.8965],[6088.52,-1401.18,55.8167,259.058,-73.6549],[6059.25,-1302.13,55.4167,257.317,-73.4081],[6029.75,-1203.87,55.0167,255.553,-73.156],[5998.78,-1102.38,54.6,253.693,-72.8874],[5967.55,-1001.79,54.1833,251.807,-72.6127],[5936.08,-902.098,53.7667,249.898,-72.3317],[5904.36,-803.329,53.35,247.965,-72.0439],[5871.1,-701.599,52.9167,245.928,-71.7374],[5837.58,-600.893,52.4833,243.866,-71.4232],[5803.78,-501.226,52.05,241.778,-71.1011],[5769.72,-402.613,51.6167,239.664,-70.7707],[5734.06,-301.339,51.1667,237.443,-70.4185],[5698.11,-201.236,50.7167,235.194,-70.0567],[5661.87,-102.32,50.2667,232.919,-69.6849],[5623.98,-1.01331,49.8,230.532,-69.2884],[5585.78,98.9782,49.3333,228.117,-68.8802],[5547.28,197.635,48.8667,225.674,-68.4598],[5507.07,298.389,48.3833,223.117,-68.011],[5466.53,397.669,47.9,220.531,-67.548],[5424.25,498.799,47.4,217.828,-67.0533],[5381.62,598.306,46.9,215.096,-66.542],[5337.2,699.398,46.3833,212.245,-65.9951],[5292.41,798.706,45.8667,209.367,-65.4287],[5245.79,899.317,45.3333,206.368,-64.8222],[5198.77,997.97,44.8,203.343,-64.1926],[5149.89,1097.62,44.25,200.198,-63.5177],[5099.09,1198.06,43.6833,196.933,-62.7936],[5046.34,1299.03,43.1,193.548,-62.0159],[4993.15,1397.52,42.5167,190.142,-61.2036],[4936.42,1498.9,41.9,186.523,-60.3047],[4879.2,1597.42,41.2833,182.888,-59.362],[4818.35,1698.12,40.6333,179.046,-58.3177],[4755.39,1798.01,39.9667,175.101,-57.189],[4688.67,1899.14,39.2667,170.96,-55.9364],[4619.74,1998.63,38.55,166.733,-54.5773]]], - [62,3104.5,[[6106.98,-2002.85,58.5833,269.427,-75.5168],[6081.05,-1903.17,58.2,267.886,-75.3149],[6054.92,-1804.16,57.8167,266.323,-75.1091],[6027.44,-1701.56,57.4167,264.671,-74.8899],[6000.9,-1603.94,57.0333,263.066,-74.6756],[5972.98,-1502.82,56.6333,261.37,-74.4474],[5944.84,-1402.48,56.2333,259.65,-74.2144],[5916.48,-1302.91,55.8333,257.908,-73.9764],[5886.7,-1200.04,55.4167,256.068,-73.723],[5857.89,-1102.11,55.0167,254.279,-73.4742],[5827.63,-1000.96,54.6,252.391,-73.2093],[5797.14,-900.715,54.1833,250.478,-72.9382],[5766.4,-801.383,53.7667,248.541,-72.6607],[5735.42,-702.977,53.35,246.578,-72.3766],[5702.95,-601.632,52.9167,244.512,-72.0739],[5670.21,-501.319,52.4833,242.419,-71.7635],[5637.21,-402.053,52.05,240.299,-71.4451],[5602.66,-300.094,51.6,238.071,-71.1057],[5569.13,-203.01,51.1667,235.898,-70.7701],[5534.03,-103.349,50.7167,233.616,-70.4122],[5497.34,-1.26118,50.25,231.22,-70.0304],[5460.34,99.5206,49.7833,228.795,-69.6373],[5423.04,198.977,49.3167,226.341,-69.2326],[5385.45,297.088,48.85,223.86,-68.8156],[5346.19,397.265,48.3667,221.261,-68.3702],[5305.25,499.334,47.8667,218.543,-67.8943],[5263.96,599.789,47.3667,215.795,-67.4023],[5222.34,698.608,46.8667,213.018,-66.8934],[5178.97,798.976,46.35,210.12,-66.3489],[5135.25,897.544,45.8333,207.193,-65.7844],[5089.74,997.377,45.3,204.144,-65.1798],[5042.41,1098.26,44.75,200.972,-64.5315],[4993.24,1199.98,44.1833,197.675,-63.8358],[4943.64,1299.39,43.6167,194.353,-63.1103],[4892.15,1399.3,43.0333,190.908,-62.3305],[4838.74,1499.46,42.4333,187.344,-61.4911],[4783.36,1599.59,41.8167,183.66,-60.5867],[4725.99,1699.42,41.1833,179.861,-59.6106],[4666.6,1798.68,40.5333,175.951,-58.5559],[4603.6,1899.47,39.85,171.836,-57.3849],[4538.48,1998.88,39.15,167.623,-56.1143]]], - [63,3157.74,[[5951.12,-2001.38,58.9667,269.921,-76.015],[5926.02,-1901.29,58.5833,268.379,-75.8203],[5900.73,-1801.86,58.2,266.815,-75.6217],[5875.24,-1703.11,57.8167,265.231,-75.4192],[5848.42,-1600.79,57.4167,263.556,-75.2037],[5822.53,-1503.45,57.0333,261.928,-74.9928],[5795.3,-1402.62,56.6333,260.208,-74.7682],[5767.85,-1302.57,56.2333,258.464,-74.5389],[5740.18,-1203.3,55.8333,256.697,-74.3045],[5711.14,-1100.75,55.4167,254.831,-74.0549],[5683.03,-1003.13,55.0167,253.016,-73.8099],[5653.52,-902.32,54.6,251.101,-73.5489],[5623.78,-802.415,54.1833,249.16,-73.2817],[5593.8,-703.431,53.7667,247.195,-73.0082],[5562.38,-601.477,53.3333,245.124,-72.7167],[5530.7,-500.548,52.9,243.025,-72.4178],[5498.76,-400.659,52.4667,240.901,-72.1113],[5466.58,-301.826,52.0333,238.749,-71.7967],[5432.88,-200.324,51.5833,236.486,-71.4613],[5400.18,-103.69,51.15,234.28,-71.1296],[5364.68,-0.854418,50.6833,231.876,-70.7623],[5330.17,97.0793,50.2333,229.529,-70.3979],[5294.09,197.347,49.7667,227.066,-70.0088],[5256.42,299.788,49.2833,224.485,-69.5935],[5219.75,397.316,48.8167,221.964,-69.1799],[5181.47,496.877,48.3333,219.323,-68.738],[5141.54,598.296,47.8333,216.56,-68.2656],[5101.29,698.088,47.3333,213.767,-67.7768],[5059.35,799.474,46.8167,210.851,-67.2539],[5017.06,899.071,46.3,207.904,-66.7117],[4973.04,999.978,45.7667,204.831,-66.1309],[4928.66,1098.92,45.2333,201.729,-65.5272],[4882.51,1198.87,44.6833,198.502,-64.8795],[4834.56,1299.61,44.1167,195.148,-64.1839],[4786.21,1398.03,43.55,191.768,-63.4578],[4734.58,1499.67,42.95,188.164,-62.6536],[4682.5,1598.65,42.35,184.536,-61.8107],[4628.52,1697.55,41.7333,180.787,-60.9014],[4571.12,1798.65,41.0833,176.82,-59.8924],[4511.74,1898.93,40.4167,172.738,-58.7996],[4450.32,1998.1,39.7333,168.55,-57.6142]]], - [64,3209.67,[[5790.58,-2003.05,59.35,270.447,-76.5177],[5766.32,-1902.55,58.9667,268.905,-76.3301],[5741.87,-1802.71,58.5833,267.342,-76.1389],[5717.22,-1703.53,58.2,265.758,-75.944],[5691.31,-1600.77,57.8,264.081,-75.7364],[5666.27,-1502.99,57.4167,262.453,-75.5334],[5639.95,-1401.7,57.0167,260.731,-75.3172],[5613.41,-1301.19,56.6167,258.986,-75.0963],[5586.67,-1201.45,56.2167,257.216,-74.8707],[5559.71,-1102.52,55.8167,255.424,-74.6401],[5531.41,-1000.31,55.4,253.531,-74.3945],[5504.03,-903.033,55,251.689,-74.1533],[5475.29,-802.583,54.5833,249.746,-73.8963],[5446.31,-703.046,54.1667,247.777,-73.6331],[5415.94,-600.512,53.7333,245.702,-73.3527],[5386.5,-502.882,53.3167,243.68,-73.0764],[5355.65,-402.359,52.8833,241.551,-72.7818],[5324.54,-302.885,52.45,239.394,-72.4795],[5291.98,-200.71,52,237.125,-72.1571],[5260.38,-103.42,51.5667,234.913,-71.8383],[5227.31,-3.54668,51.1167,232.587,-71.498],[5192.72,98.7594,50.65,230.145,-71.135],[5157.86,199.757,50.1833,227.672,-70.761],[5122.72,299.427,49.7167,225.17,-70.3757],[5087.29,397.75,49.25,222.637,-69.9786],[5050.3,498.143,48.7667,219.984,-69.5541],[5013.02,597.049,48.2833,217.3,-69.1158],[4974.13,697.776,47.7833,214.492,-68.6469],[4934.93,796.863,47.2833,211.653,-68.1616],[4894.09,897.506,46.7667,208.688,-67.6419],[4851.58,999.504,46.2333,205.594,-67.0851],[4808.71,1099.55,45.7,202.47,-66.5064],[4765.49,1197.62,45.1667,199.315,-65.9045],[4719.19,1299.62,44.6,195.932,-65.2382],[4672.5,1399.32,44.0333,192.52,-64.5425],[4624.03,1499.51,43.45,188.979,-63.7938],[4573.75,1599.94,42.85,185.311,-62.9869],[4523.04,1697.68,42.25,181.619,-62.1402],[4469.06,1797.89,41.6167,177.701,-61.2003],[4413.18,1897.51,40.9667,173.662,-60.1826],[4353.92,1998.68,40.2833,169.405,-59.0505]]], - [65,3260.25,[[5624.33,-2003.52,59.7167,270.94,-77.0166],[5600.91,-1902.62,59.3333,269.398,-76.8363],[5577.31,-1802.38,58.95,267.835,-76.6524],[5553.52,-1702.8,58.5667,266.25,-76.4648],[5529.54,-1603.9,58.1833,264.644,-76.2736],[5504.33,-1501.42,57.7833,262.944,-76.0699],[5479.97,-1403.93,57.4,261.293,-75.8707],[5454.36,-1302.94,57,259.547,-75.6584],[5428.55,-1202.73,56.6,257.776,-75.4416],[5402.53,-1103.31,56.2,255.982,-75.22],[5375.22,-1000.6,55.7833,254.087,-74.984],[5348.79,-902.828,55.3833,252.243,-74.7522],[5321.04,-801.859,54.9667,250.297,-74.5052],[5293.07,-701.797,54.55,248.324,-74.2523],[5264.89,-602.656,54.1333,246.326,-73.9934],[5235.34,-500.542,53.7,244.219,-73.7173],[5206.7,-403.324,53.2833,242.167,-73.4452],[5176.69,-303.238,52.85,240.006,-73.1549],[5145.27,-200.421,52.4,237.731,-72.8454],[5114.77,-102.505,51.9667,235.513,-72.5393],[5082.84,-1.97585,51.5167,233.18,-72.2126],[5050.67,97.3626,51.0667,230.817,-71.8766],[5017.03,199.103,50.6,228.336,-71.5179],[4983.12,299.525,50.1333,225.824,-71.1483],[4948.94,398.608,49.6667,223.281,-70.7673],[4913.25,499.797,49.1833,220.616,-70.3601],[4877.27,599.506,48.7,217.918,-69.9395],[4841,697.715,48.2167,215.19,-69.5048],[4803.18,797.708,47.7167,212.335,-69.0397],[4763.78,899.296,47.2,209.352,-68.5415],[4724.05,999.092,46.6833,206.336,-68.0247],[4684,1097.07,46.1667,203.289,-67.4881],[4641.02,1199.34,45.6167,200.011,-66.894],[4597.67,1299.49,45.0667,196.702,-66.2748],[4553.97,1397.48,44.5167,193.361,-65.6291],[4507.24,1499.02,43.9333,189.788,-64.9134],[4460.11,1598.07,43.35,186.185,-64.1638],[4411.23,1697.31,42.75,182.451,-63.3551],[4359.18,1799.11,42.1167,178.485,-62.457],[4306.7,1897.83,41.4833,174.497,-61.5099],[4250.97,1998.38,40.8167,170.28,-60.4558]]], - [66,3309.38,[[5452.48,-2002.87,60.0667,271.4,-77.5128],[5429.9,-1901.6,59.6833,269.858,-77.3395],[5407.14,-1800.99,59.3,268.295,-77.1628],[5384.2,-1701.03,58.9167,266.709,-76.9827],[5361.09,-1601.74,58.5333,265.102,-76.7989],[5337.79,-1503.13,58.15,263.472,-76.6115],[5313.3,-1400.96,57.75,261.749,-76.4118],[5289.64,-1303.77,57.3667,260.074,-76.2165],[5264.76,-1203.11,56.9667,258.302,-76.0084],[5239.69,-1103.23,56.5667,256.506,-75.7956],[5213.36,-1000.04,56.15,254.609,-75.5691],[5187.88,-901.796,55.75,252.763,-75.3466],[5161.14,-800.333,55.3333,250.814,-75.1095],[5135.26,-703.777,54.9333,248.918,-74.8766],[5107.01,-600.127,54.5,246.836,-74.6181],[5079.63,-501.411,54.0833,244.806,-74.3634],[5052.03,-403.638,53.6667,242.751,-74.1025],[5023.11,-302.969,53.2333,240.584,-73.8241],[4993.96,-203.351,52.8,238.389,-73.5384],[4963.44,-101.029,52.35,236.08,-73.2337],[4933.82,-3.59946,51.9167,233.827,-72.9321],[4902.82,96.4157,51.4667,231.458,-72.6102],[4870.41,198.866,51,228.969,-72.2665],[4838.9,296.416,50.55,226.538,-71.9251],[4804.8,399.814,50.0667,223.895,-71.5472],[4771.6,498.272,49.6,221.311,-71.1707],[4736.94,598.801,49.1167,218.602,-70.7681],[4702,697.839,48.6333,215.861,-70.352],[4665.57,798.698,48.1333,212.992,-69.9066],[4628.84,897.913,47.6333,210.089,-69.4453],[4590.58,998.683,47.1167,207.056,-68.951],[4552.01,1097.64,46.6,203.989,-68.4377],[4511.86,1197.87,46.0667,200.789,-67.8869],[4470.12,1299.16,45.5167,197.456,-67.2953],[4428.04,1398.3,44.9667,194.088,-66.6782],[4384.32,1498.17,44.4,190.587,-66.014],[4338.94,1598.53,43.8167,186.95,-65.2982],[4291.88,1699.14,43.2167,183.178,-64.5258],[4243.09,1799.72,42.6,179.272,-63.6909],[4192.56,1900,41.9667,175.234,-62.7869],[4140.25,1999.69,41.3167,171.067,-61.8063]]], - [67,3357.05,[[5275.09,-2001.09,60.4,271.827,-78.0068],[5254.3,-1903.88,60.0333,270.353,-77.8478],[5232.4,-1802.88,59.65,268.79,-77.6784],[5210.33,-1702.53,59.2667,267.204,-77.5057],[5188.09,-1602.85,58.8833,265.597,-77.3296],[5165.68,-1503.84,58.5,263.967,-77.1499],[5142.1,-1401.25,58.1,262.242,-76.9584],[5119.33,-1303.65,57.7167,260.567,-76.7712],[5095.39,-1202.56,57.3167,258.794,-76.5717],[5071.26,-1102.25,56.9167,256.996,-76.3677],[5046.94,-1002.73,56.5167,255.174,-76.1593],[5022.44,-904.01,56.1167,253.326,-75.9462],[4996.71,-802.043,55.7,251.375,-75.7191],[4970.77,-700.972,55.2833,249.397,-75.4866],[4944.63,-600.812,54.8667,247.392,-75.2485],[4918.28,-501.575,54.45,245.359,-75.0046],[4891.73,-403.276,54.0333,243.3,-74.7546],[4863.91,-302.053,53.6,241.129,-74.488],[4835.85,-201.874,53.1667,238.929,-74.2144],[4807.58,-102.755,52.7333,236.7,-73.9334],[4777.99,-0.961663,52.2833,234.354,-73.6336],[4748.16,99.6548,51.8333,231.977,-73.3252],[4718.09,199.077,51.3833,229.569,-73.0079],[4687.79,297.286,50.9333,227.131,-72.6813],[4656.11,397.834,50.4667,224.57,-72.3323],[4624.18,497.04,50,221.977,-71.9723],[4590.85,598.353,49.5167,219.257,-71.5874],[4557.25,698.182,49.0333,216.504,-71.1896],[4522.2,799.87,48.5333,213.621,-70.7637],[4486.88,899.922,48.0333,210.703,-70.3226],[4451.26,998.316,47.5333,207.751,-69.8654],[4414.17,1098.22,47.0167,204.666,-69.3752],[4375.57,1199.43,46.4833,201.446,-68.849],[4336.65,1298.67,45.95,198.191,-68.3011],[4296.19,1398.91,45.4,194.799,-67.7121],[4254.15,1499.93,44.8333,191.268,-67.0781],[4211.77,1598.63,44.2667,187.704,-66.4147],[4167.78,1697.75,43.6833,184.003,-65.699],[4120.89,1799.78,43.0667,180.057,-64.9036],[4073.61,1898.92,42.45,176.081,-64.0654],[4024.64,1997.7,41.8167,171.97,-63.1565]]], - [68,3403.18,[[5093.18,-2002.69,60.7333,272.288,-78.5061],[5072.3,-1900.71,60.35,270.746,-78.3469],[5052.18,-1803.77,59.9833,269.251,-78.1918],[5030.97,-1703.05,59.6,267.666,-78.0264],[5009.61,-1603,59.2167,266.058,-77.8578],[4988.08,-1503.61,58.8333,264.428,-77.6858],[4965.43,-1400.63,58.4333,262.702,-77.5025],[4943.56,-1302.65,58.05,261.026,-77.3233],[4920.56,-1201.15,57.65,259.251,-77.1322],[4897.38,-1100.42,57.25,257.452,-76.937],[4874.02,-1000.49,56.85,255.628,-76.7375],[4850.47,-901.347,56.45,253.778,-76.5335],[4826.75,-803.017,56.05,251.903,-76.3249],[4801.84,-701.463,55.6333,249.922,-76.1026],[4776.73,-600.813,55.2167,247.914,-75.8748],[4751.43,-501.082,54.8,245.878,-75.6415],[4725.93,-402.282,54.3833,243.815,-75.4025],[4699.2,-300.534,53.95,241.64,-75.1475],[4673.29,-203.678,53.5333,239.52,-74.896],[4645.1,-100.167,53.0833,237.2,-74.617],[4617.73,-1.57901,52.65,234.935,-74.341],[4589.08,99.6518,52.2,232.552,-74.0463],[4560.21,199.695,51.75,230.138,-73.7431],[4531.11,298.533,51.3,227.692,-73.431],[4500.69,399.739,50.8333,225.122,-73.0975],[4470.03,499.611,50.3667,222.519,-72.7535],[4439.13,598.127,49.9,219.882,-72.3985],[4406.86,698.713,49.4167,217.118,-72.0187],[4374.34,797.801,48.9333,214.319,-71.626],[4340.43,898.708,48.4333,211.388,-71.2053],[4306.25,997.965,47.9333,208.421,-70.7692],[4270.64,1098.77,47.4167,205.32,-70.3016],[4234.74,1197.76,46.9,202.182,-69.8156],[4197.39,1298.01,46.3667,198.906,-69.2936],[4158.56,1399.31,45.8167,195.491,-68.7324],[4119.4,1498.46,45.2667,192.04,-68.1462],[4078.73,1598.34,44.7,188.447,-67.5147],[4036.52,1698.69,44.1167,184.714,-66.8332],[3992.74,1799.28,43.5167,180.838,-66.0967],[3947.37,1899.83,42.9,176.82,-65.2993],[3901.62,1997.46,42.2833,172.772,-64.4577]]], - [69,3447.73,[[4905.87,-2003.3,61.05,272.716,-79.004],[4885.85,-1900.98,60.6667,271.175,-78.8519],[4866.56,-1803.71,60.3,269.68,-78.7035],[4846.23,-1702.64,59.9167,268.095,-78.5455],[4825.75,-1602.23,59.5333,266.487,-78.3843],[4805.1,-1502.49,59.15,264.856,-78.22],[4784.3,-1403.43,58.7667,263.202,-78.0522],[4762.42,-1300.79,58.3667,261.451,-77.8735],[4741.29,-1203.14,57.9833,259.75,-77.6987],[4719.07,-1101.99,57.5833,257.95,-77.5123],[4696.68,-1001.63,57.1833,256.124,-77.3217],[4674.11,-902.06,56.7833,254.273,-77.127],[4651.36,-803.295,56.3833,252.396,-76.9278],[4627.49,-701.283,55.9667,250.413,-76.7155],[4603.42,-600.17,55.55,248.403,-76.498],[4580.14,-503.96,55.15,246.446,-76.2843],[4554.72,-400.696,54.7167,244.297,-76.047],[4530.08,-302.363,54.3,242.202,-75.813],[4504.26,-201.109,53.8667,239.993,-75.5633],[4478.24,-100.902,53.4333,237.754,-75.307],[4452.01,-1.75806,53,235.484,-75.0437],[4425.57,96.3068,52.5667,233.184,-74.7731],[4397.91,196.985,52.1167,230.764,-74.4842],[4370.02,296.464,51.6667,228.312,-74.1867],[4340.88,398.344,51.2,225.735,-73.8689],[4311.5,498.896,50.7333,223.123,-73.5411],[4281.88,598.101,50.2667,220.478,-73.2027],[4250.97,699.406,49.7833,217.703,-72.8408],[4219.8,799.223,49.3,214.892,-72.4664],[4188.39,897.529,48.8167,212.046,-72.079],[4155.64,997.611,48.3167,209.066,-71.6638],[4121.53,1099.28,47.8,205.948,-71.2185],[4087.14,1199.14,47.2833,202.793,-70.7557],[4052.47,1297.17,46.7667,199.602,-70.2744],[4015.27,1399.49,46.2167,196.165,-69.7405],[3977.76,1499.66,45.6667,192.689,-69.1828],[3939.95,1597.66,45.1167,189.177,-68.5999],[3899.52,1699.2,44.5333,185.413,-67.9522],[3858.76,1798.22,43.95,181.612,-67.2719],[3816.49,1897.4,43.35,177.667,-66.5357],[3771.5,1999.13,42.7167,173.466,-65.7154]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 4452.01; -_maxRange = 6817.03; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg6.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg6.sqf deleted file mode 100644 index 6166926218..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg6.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg6 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,2748.22,[[9650.08,-2000.2,55.8833,271.647,-67.2965],[9607.97,-1900.32,55.4833,270.258,-66.9742],[9565.52,-1801.19,55.0833,268.855,-66.6458],[9522.73,-1702.83,54.6833,267.438,-66.3113],[9477.78,-1601.19,54.2667,265.948,-65.9561],[9432.44,-1500.41,53.85,264.442,-65.5938],[9386.73,-1400.49,53.4333,262.922,-65.2243],[9340.64,-1301.44,53.0167,261.388,-64.8473],[9294.17,-1203.29,52.6,259.84,-64.4627],[9245.43,-1102.16,52.1667,258.216,-64.0544],[9196.27,-1002.02,51.7333,256.577,-63.6374],[9146.7,-902.884,51.3,254.925,-63.2115],[9094.78,-801.009,50.85,253.195,-62.7594],[9042.41,-700.246,50.4,251.451,-62.2971],[8989.59,-600.609,49.95,249.693,-61.8243],[8936.32,-502.114,49.5,247.923,-61.3406],[8880.6,-401.194,49.0333,246.075,-60.8273],[8824.39,-301.537,48.5667,244.215,-60.3015],[8767.69,-203.161,48.1,242.343,-59.7631],[8708.45,-102.64,47.6167,240.394,-59.1916],[8646.62,-0.137941,47.1167,238.367,-58.5852],[8586.31,97.4903,46.6333,236.399,-57.9837],[8523.38,196.957,46.1333,234.356,-57.3452],[8457.75,298.084,45.6167,232.237,-56.6676],[8391.53,397.505,45.1,230.113,-55.9712],[8322.54,498.319,44.5667,227.918,-55.2319],[8252.91,597.264,44.0333,225.72,-54.4712],[8180.44,697.315,43.4833,223.455,-53.6637],[8105.06,798.26,42.9167,221.126,-52.8063],[8026.72,899.874,42.3333,218.734,-51.8959],[7947.61,999.123,41.75,216.354,-50.9565],[7865.45,1098.7,41.15,213.921,-49.9588],[7780.17,1198.37,40.5333,211.441,-48.8991],[7691.7,1297.86,39.9,208.921,-47.7735],[7597.61,1399.39,39.2333,206.305,-46.5466],[7502.54,1497.61,38.5667,203.732,-45.2753],[7399.24,1599.44,37.85,201.025,-43.8577],[7292.36,1699.55,37.1167,198.326,-42.351],[7179.36,1799.73,36.35,195.594,-40.7137],[7060.07,1899.3,35.55,192.856,-38.9361],[6931.78,1999.46,34.7,190.09,-36.969]]], - [46,2834.01,[[9577.28,-2000.14,56.5333,272.411,-67.8873],[9537.83,-1903.72,56.15,271.077,-67.587],[9496.32,-1803.84,55.75,269.671,-67.2679],[9452.72,-1700.6,55.3333,268.191,-66.9291],[9410.52,-1602.27,54.9333,266.755,-66.5976],[9366.2,-1500.67,54.5167,265.245,-66.2455],[9323.29,-1403.94,54.1167,263.78,-65.9008],[9276.42,-1300.05,53.6833,262.178,-65.52],[9230.98,-1201.05,53.2667,260.623,-65.1461],[9185.15,-1102.95,52.85,259.053,-64.7647],[9137.1,-1001.88,52.4167,257.405,-64.3596],[9088.64,-901.799,51.9833,255.743,-63.9459],[9039.76,-802.724,51.55,254.066,-63.5231],[8988.58,-700.918,51.1,252.31,-63.0744],[8936.95,-600.226,50.65,250.539,-62.6153],[8884.88,-500.664,50.2,248.754,-62.1458],[8832.37,-402.249,49.75,246.956,-61.6653],[8777.44,-301.415,49.2833,245.079,-61.1552],[8722.03,-201.849,48.8167,243.188,-60.6327],[8664.14,-100.082,48.3333,241.217,-60.0781],[8607.75,-3.14935,47.8667,239.303,-59.5291],[8546.81,99.2404,47.3667,237.242,-58.9258],[8487.38,196.755,46.8833,235.239,-58.3273],[8423.28,299.384,46.3667,233.089,-57.6703],[8360.68,397.094,45.8667,231.001,-57.0169],[8293.31,499.551,45.3333,228.768,-56.3004],[8227.45,597.041,44.8167,226.6,-55.5863],[8156.69,698.886,44.2667,224.289,-54.8038],[8085.26,798.707,43.7167,221.979,-53.9976],[8010.98,899.407,43.15,219.601,-53.1412],[7935.99,997.896,42.5833,217.229,-52.2577],[7855.83,1099.74,41.9833,214.728,-51.2918],[7774.88,1199.03,41.3833,212.241,-50.2935],[7690.86,1298.38,40.7667,209.704,-49.2326],[7603.71,1397.54,40.1333,207.125,-48.105],[7511.03,1498.72,39.4667,204.445,-46.8749],[7415.04,1598.97,38.7833,201.742,-45.5668],[7315.66,1697.98,38.0833,199.029,-44.1757],[7208.01,1799.87,37.3333,196.194,-42.6263],[7096.72,1899.47,36.5667,193.387,-40.9776],[6979.25,1998.42,35.7667,190.569,-39.1859]]], - [47,2919.44,[[9498.58,-2002.56,57.1833,273.211,-68.4765],[9458.32,-1901.25,56.7833,271.817,-68.1718],[9417.74,-1800.67,56.3833,270.408,-67.8615],[9376.81,-1700.84,55.9833,268.984,-67.5452],[9335.56,-1601.77,55.5833,267.544,-67.223],[9293.96,-1503.47,55.1833,266.09,-66.8946],[9250.28,-1401.9,54.7667,264.56,-66.5459],[9206.23,-1301.19,54.35,263.014,-66.1901],[9161.81,-1201.35,53.9333,261.452,-65.827],[9117.02,-1102.39,53.5167,259.875,-65.4566],[9070.05,-1000.42,53.0833,258.22,-65.0632],[9024.51,-903.292,52.6667,256.613,-64.6769],[8976.76,-803.259,52.2333,254.926,-64.2666],[8926.74,-700.445,51.7833,253.16,-63.831],[8878.17,-602.481,51.35,251.443,-63.4021],[8827.3,-501.847,50.9,249.646,-62.9467],[8775.99,-402.347,50.45,247.834,-62.4806],[8722.33,-300.376,49.9833,245.94,-61.9858],[8670.14,-203.235,49.5333,244.1,-61.4972],[8613.59,-100.215,49.05,242.111,-60.9594],[8558.52,-2.0594,48.5833,240.176,-60.4272],[8500.99,98.223,48.1,238.161,-59.8618],[8442.95,197.083,47.6167,236.134,-59.2818],[8382.38,297.835,47.1167,234.026,-58.6658],[8321.26,397.021,46.6167,231.908,-58.033],[8257.55,497.846,46.1,229.712,-57.3608],[8193.26,596.953,45.5833,227.508,-56.6694],[8126.29,697.428,45.05,225.228,-55.9349],[8056.59,799.07,44.5,222.872,-55.1545],[7986.23,898.681,43.95,220.516,-54.3499],[7913.07,999.156,43.3833,218.09,-53.4949],[7839.22,1097.41,42.8167,215.669,-52.6124],[7760.27,1198.99,42.2167,213.114,-51.6471],[7680.55,1298.02,41.6167,210.572,-50.6487],[7595.57,1399.73,40.9833,207.908,-49.5578],[7509.74,1498.51,40.35,205.269,-48.4275],[7418.48,1599.27,39.6833,202.525,-47.1937],[7323.96,1699.08,39,199.756,-45.8805],[7223.77,1799.93,38.2833,196.909,-44.4489],[7120.14,1899,37.55,194.065,-42.9246],[7010.59,1998.05,36.7833,191.18,-41.2651]]], - [48,3004.45,[[9412.32,-2003.32,57.8167,273.989,-69.0512],[9372.98,-1901.31,57.4167,272.593,-68.7552],[9333.31,-1800.04,57.0167,271.182,-68.4536],[9294.99,-1703.67,56.6333,269.815,-68.1592],[9254.68,-1603.86,56.2333,268.373,-67.8464],[9212.34,-1500.69,55.8167,266.855,-67.5141],[9171.36,-1402.43,55.4167,265.381,-67.1889],[9128.32,-1300.91,55,263.831,-66.8433],[9084.92,-1200.25,54.5833,262.264,-66.4908],[9041.15,-1100.47,54.1667,260.681,-66.131],[8997.03,-1001.57,53.75,259.082,-65.7638],[8952.54,-903.565,53.3333,257.468,-65.389],[8905.89,-802.606,52.9,255.774,-64.9908],[8858.84,-702.644,52.4667,254.063,-64.5839],[8811.4,-603.694,52.0333,252.337,-64.168],[8761.72,-502.025,51.5833,250.528,-63.7263],[8711.61,-401.477,51.1333,248.704,-63.2743],[8661.07,-302.066,50.6833,246.864,-62.8117],[8608.22,-200.193,50.2167,244.941,-62.3203],[8556.81,-103.15,49.7667,243.072,-61.8351],[8501.12,-0.24007,49.2833,241.05,-61.3009],[8446.87,97.8041,48.8167,239.084,-60.7719],[8390.21,197.966,48.3333,237.035,-60.21],[8333.05,296.701,47.85,234.974,-59.6332],[8273.4,397.317,47.35,232.83,-59.0204],[8211.21,499.637,46.8333,230.603,-58.3694],[8150.49,597.036,46.3333,228.439,-57.7215],[8085.13,699.147,45.8,226.122,-57.0105],[8019.18,799.394,45.2667,223.799,-56.278],[7952.62,897.75,44.7333,221.471,-55.5233],[7883.36,997.17,44.1833,219.068,-54.721],[7811.34,1097.44,43.6167,216.593,-53.8679],[7736.49,1198.33,43.0333,214.049,-52.9606],[7658.76,1299.61,42.4333,211.441,-51.9954],[7580.29,1398.32,41.8333,208.844,-50.9965],[7496.64,1499.69,41.2,206.121,-49.9044],[7412.15,1598.11,40.5667,203.422,-48.772],[7322.33,1698.48,39.9,200.613,-47.5349],[7229.31,1797.88,39.2167,197.777,-46.2173],[7130.72,1898.28,38.5,194.857,-44.7794],[7026.42,1999.07,37.75,191.873,-43.2116]]], - [49,3088.93,[[9318.56,-2002.42,58.4333,274.743,-69.6128],[9281.73,-1904.01,58.05,273.405,-69.3372],[9242.99,-1802.03,57.65,271.992,-69.0444],[9203.93,-1700.79,57.25,270.564,-68.746],[9164.54,-1600.28,56.85,269.119,-68.442],[9124.83,-1500.52,56.45,267.659,-68.1322],[9084.8,-1401.53,56.05,266.182,-67.8164],[9044.44,-1303.31,55.65,264.69,-67.4944],[9002.06,-1201.83,55.2333,263.119,-67.1524],[8959.32,-1101.22,54.8167,261.531,-66.8033],[8916.23,-1001.48,54.4,259.927,-66.447],[8872.78,-902.626,53.9833,258.307,-66.0833],[8827.21,-800.774,53.55,256.605,-65.697],[8783.04,-703.771,53.1333,254.952,-65.3175],[8734.93,-600.047,52.6833,253.151,-64.8985],[8688.21,-501.199,52.25,251.399,-64.4859],[8641.1,-403.38,51.8167,249.632,-64.064],[8591.76,-302.905,51.3667,247.78,-63.6157],[8542.01,-203.571,50.9167,245.913,-63.1568],[8489.97,-101.78,50.45,243.96,-62.6693],[8437.49,-1.25281,49.9833,241.991,-62.1696],[8384.55,97.994,49.5167,240.008,-61.6574],[8329.24,199.416,49.0333,237.939,-61.1131],[8273.45,299.425,48.55,235.856,-60.5543],[8217.18,398.001,48.0667,233.759,-59.9807],[8158.45,498.447,47.5667,231.578,-59.371],[8099.21,597.315,47.0667,229.385,-58.7442],[8037.45,697.799,46.55,227.109,-58.0779],[7973.12,799.708,46.0167,224.75,-57.3696],[7908.2,899.744,45.4833,222.384,-56.6396],[7842.69,997.882,44.95,220.012,-55.8871],[7774.53,1097.07,44.4,217.562,-55.0868],[7701.55,1200,43.8167,214.964,-54.2098],[7630,1297.72,43.25,212.443,-53.3292],[7553.51,1398.71,42.65,209.779,-52.3647],[7474.14,1499.83,42.0333,207.053,-51.3377],[7394,1598.18,41.4167,204.344,-50.2731],[7308.69,1698.81,40.7667,201.511,-49.1088],[7220.32,1798.73,40.1,198.638,-47.8679],[7128.8,1897.66,39.4167,195.733,-46.545],[7029.55,1999.82,38.6833,192.673,-45.0659]]], - [50,3172.81,[[9218.93,-2004.25,59.05,275.531,-70.1734],[9181.4,-1900.91,58.65,274.134,-69.8941],[9145.14,-1802.54,58.2667,272.779,-69.6215],[9106.99,-1700.61,57.8667,271.349,-69.3318],[9070.14,-1603.61,57.4833,269.963,-69.0491],[9031.38,-1503.12,57.0833,268.501,-68.7485],[8992.29,-1403.39,56.6833,267.023,-68.4422],[8951.25,-1300.31,56.2667,265.465,-68.1167],[8911.52,-1202.15,55.8667,263.953,-67.798],[8869.79,-1100.74,55.45,262.362,-67.4594],[8827.72,-1000.19,55.0333,260.753,-67.1137],[8785.3,-900.518,54.6167,259.127,-66.7609],[8742.53,-801.738,54.2,257.485,-66.4006],[8699.41,-703.861,53.7833,255.826,-66.0327],[8654.2,-603.04,53.35,254.083,-65.6418],[8608.6,-503.223,52.9167,252.323,-65.2421],[8560.85,-400.646,52.4667,250.478,-64.8175],[8514.49,-302.921,52.0333,248.685,-64.3991],[8465.93,-202.545,51.5833,246.806,-63.9545],[8416.97,-103.316,51.1333,244.91,-63.4992],[8365.76,-1.63881,50.6667,242.927,-63.0155],[8314.11,98.771,50.2,240.928,-62.5195],[8262.01,197.895,49.7333,238.913,-62.0108],[8207.59,299.185,49.25,236.811,-61.4702],[8152.69,399.057,48.7667,234.693,-60.915],[8097.32,497.49,48.2833,232.562,-60.3449],[8039.54,597.782,47.7833,230.343,-59.7387],[7979.31,699.754,47.2667,228.038,-59.0942],[7920.5,796.804,46.7667,225.796,-58.4523],[7857.21,898.528,46.2333,223.395,-57.7472],[7793.35,998.374,45.7,220.985,-57.0202],[7726.9,1099.34,45.15,218.493,-56.2466],[7659.84,1198.26,44.6,215.996,-55.448],[7590.1,1297.98,44.0333,213.422,-54.5978],[7517.65,1398.3,43.45,210.774,-53.6926],[7442.42,1498.96,42.85,208.056,-52.7285],[7364.36,1599.73,42.2333,205.272,-51.7012],[7285.54,1697.71,41.6167,202.504,-50.6355],[7201.65,1797.94,40.9667,199.608,-49.4691],[7112.56,1899.9,40.2833,196.596,-48.1932],[7022.56,1998.29,39.6,193.624,-46.8644]]], - [51,3256.04,[[9110.3,-2000.16,59.6333,276.235,-70.7105],[9075.18,-1900.52,59.25,274.896,-70.4506],[9039.79,-1801.53,58.8667,273.541,-70.186],[9004.11,-1703.2,58.4833,272.17,-69.9166],[8966.58,-1601.3,58.0833,270.723,-69.6303],[8928.74,-1500.14,57.6833,269.259,-69.3385],[8892.18,-1403.89,57.3,267.84,-69.0536],[8852.12,-1300.06,56.8833,266.28,-68.738],[8813.35,-1201.17,56.4833,264.765,-68.4288],[8774.26,-1103.05,56.0833,263.234,-68.1136],[8733.21,-1001.69,55.6667,261.622,-67.7786],[8691.82,-901.197,55.25,259.992,-67.4367],[8650.09,-801.584,54.8333,258.344,-67.0875],[8608.02,-702.865,54.4167,256.68,-66.7309],[8563.9,-601.157,53.9833,254.93,-66.3519],[8519.41,-500.444,53.55,253.163,-65.9645],[8474.55,-400.739,53.1167,251.378,-65.5683],[8429.32,-302.057,52.6833,249.575,-65.1631],[8381.95,-200.677,52.2333,247.686,-64.7324],[8334.18,-100.431,51.7833,245.778,-64.2914],[8286.01,-1.33536,51.3333,243.854,-63.8397],[8237.43,96.5938,50.8833,241.913,-63.3769],[8186.63,196.9,50.4167,239.883,-62.8849],[8133.57,299.429,49.9333,237.763,-62.362],[8081.89,397.091,49.4667,235.7,-61.8437],[8027.91,496.841,48.9833,233.548,-61.2925],[7971.57,598.511,48.4833,231.307,-60.7065],[7914.75,698.614,47.9833,229.051,-60.1037],[7857.42,797.127,47.4833,226.781,-59.4835],[7797.67,897.23,46.9667,224.424,-58.8236],[7735.44,998.732,46.4333,221.979,-58.1215],[7672.64,1098.35,45.9,219.525,-57.3973],[7607.3,1199.07,45.35,216.986,-56.6263],[7541.36,1297.72,44.8,214.442,-55.8299],[7472.81,1397.18,44.2333,211.818,-54.9817],[7401.58,1497.21,43.65,209.118,-54.078],[7327.63,1597.56,43.05,206.344,-53.1148],[7250.89,1698,42.4333,203.502,-52.0878],[7171.32,1798.24,41.8,200.597,-50.9923],[7088.86,1898.02,41.15,197.638,-49.8233],[7001.3,1999.48,40.4667,194.558,-48.5434]]], - [52,3338.49,[[8997.35,-2003.27,60.2333,277.03,-71.2584],[8963.1,-1903.01,59.85,275.691,-71.0064],[8928.57,-1803.39,59.4667,274.336,-70.7498],[8892.25,-1700.13,59.0667,272.905,-70.477],[8857.16,-1601.85,58.6833,271.518,-70.2108],[8820.24,-1500.01,58.2833,270.053,-69.9279],[8784.58,-1403.1,57.9,268.633,-69.6516],[8747.07,-1302.71,57.5,267.134,-69.3578],[8709.25,-1203.08,57.1,265.618,-69.0583],[8669.54,-1100.12,56.6833,264.02,-68.74],[8631.1,-1002.08,56.2833,262.469,-68.4282],[8590.73,-900.792,55.8667,260.835,-68.0968],[8550.02,-800.376,55.45,259.184,-67.7584],[8508.99,-700.845,55.0333,257.514,-67.4128],[8467.61,-602.21,54.6167,255.826,-67.0598],[8424.23,-500.594,54.1833,254.053,-66.6847],[8382.17,-403.828,53.7667,252.33,-66.3159],[8336.37,-300.371,53.3167,250.45,-65.9086],[8291.89,-201.792,52.8833,248.622,-65.5072],[8245.32,-100.523,52.4333,246.705,-65.0804],[8198.36,-0.392255,51.9833,244.769,-64.6433],[8151,98.5835,51.5333,242.815,-64.1954],[8101.47,199.988,51.0667,240.771,-63.7193],[8053.3,296.561,50.6167,238.783,-63.2485],[8001.13,398.946,50.1333,236.63,-62.7296],[7948.51,499.922,49.65,234.459,-62.1965],[7895.43,599.467,49.1667,232.272,-61.6487],[7841.9,697.562,48.6833,230.069,-61.0857],[7786.05,797.493,48.1833,227.775,-60.4867],[7727.83,899.077,47.6667,225.39,-59.8493],[7669.08,998.933,47.15,222.991,-59.1925],[7609.83,1097.04,46.6333,220.581,-58.5154],[7546.19,1199.51,46.0833,218.004,-57.7716],[7481.96,1299.95,45.5333,215.418,-57.003],[7417.16,1398.3,44.9833,212.826,-56.2086],[7349.78,1497.44,44.4167,210.151,-55.362],[7277.78,1599.94,43.8167,207.318,-54.4332],[7205.1,1699.87,43.2167,204.488,-53.4696],[7129.69,1799.85,42.6,201.588,-52.4415],[7051.5,1899.61,41.9667,198.622,-51.344],[6970.47,1998.89,41.3167,195.599,-50.1718]]], - [53,3420.11,[[8875.52,-2000.58,60.8,277.739,-71.7847],[8843.57,-1904.12,60.4333,276.46,-71.5508],[8809.9,-1803.9,60.05,275.106,-71.302],[8775.96,-1704.31,59.6667,273.735,-71.0487],[8740.26,-1601.1,59.2667,272.287,-70.7794],[8705.77,-1502.85,58.8833,270.883,-70.5166],[8669.49,-1401.06,58.4833,269.4,-70.2371],[8632.91,-1300,58.0833,267.9,-69.9523],[8597.57,-1203.86,57.7,266.446,-69.6741],[8558.85,-1100.15,57.2833,264.846,-69.3657],[8521.38,-1001.38,56.8833,263.293,-69.0636],[8483.6,-903.396,56.4833,261.722,-68.7555],[8443.93,-802.172,56.0667,260.067,-68.4279],[8403.93,-701.823,55.65,258.394,-68.0934],[8363.6,-602.361,55.2333,256.702,-67.7517],[8322.95,-503.799,54.8167,254.992,-67.4026],[8280.32,-402.262,54.3833,253.194,-67.0315],[8237.33,-301.727,53.95,251.377,-66.6519],[8193.99,-202.208,53.5167,249.541,-66.2636],[8150.29,-103.718,53.0833,247.687,-65.8662],[8104.54,-2.54619,52.6333,245.742,-65.4437],[8058.39,97.483,52.1833,243.778,-65.0108],[8010.13,199.993,51.7167,241.722,-64.5505],[7963.21,297.644,51.2667,239.721,-64.0954],[7914.13,397.652,50.8,237.628,-63.6112],[7862.87,499.86,50.3167,235.44,-63.0962],[7812.95,597.202,49.85,233.311,-62.5855],[7760.82,696.609,49.3667,231.089,-62.0421],[7706.42,797.912,48.8667,228.773,-61.4638],[7651.55,897.635,48.3667,226.44,-60.8684],[7594.35,998.997,47.85,224.014,-60.2347],[7536.65,1098.62,47.3333,221.574,-59.5814],[7476.55,1199.62,46.8,219.041,-58.8855],[7415.93,1298.71,46.2667,216.497,-58.167],[7352.85,1398.87,45.7167,213.864,-57.4013],[7287.27,1499.89,45.15,211.143,-56.5851],[7221.09,1598.67,44.5833,208.417,-55.7399],[7152.34,1697.97,44,205.608,-54.8382],[7080.97,1797.56,43.4,202.722,-53.876],[7004.92,1899.84,42.7667,199.682,-52.8201],[6928.14,1999.15,42.1333,196.654,-51.7212]]], - [54,3500.81,[[8747.87,-2000.89,61.3667,278.48,-72.3113],[8716.73,-1903.88,61,277.201,-72.0846],[8683.92,-1803.07,60.6167,275.848,-71.8434],[8650.84,-1702.9,60.2333,274.478,-71.5978],[8617.5,-1603.37,59.85,273.091,-71.3478],[8582.43,-1500.22,59.45,271.626,-71.082],[8548.54,-1402.04,59.0667,270.204,-70.8225],[8512.9,-1300.31,58.6667,268.704,-70.5466],[8478.46,-1203.51,58.2833,267.248,-70.2771],[8442.25,-1103.25,57.8833,265.712,-69.9904],[8405.74,-1003.75,57.4833,264.157,-69.6981],[8367.4,-900.923,57.0667,262.519,-69.3873],[8330.29,-803.017,56.6667,260.927,-69.0829],[8291.32,-701.88,56.25,259.251,-68.7591],[8252.03,-601.621,55.8333,257.555,-68.4284],[8212.42,-502.252,55.4167,255.84,-68.0905],[8172.49,-403.787,55,254.107,-67.7453],[8130.62,-302.355,54.5667,252.284,-67.3782],[8088.4,-201.928,54.1333,250.442,-67.0027],[8045.84,-102.521,53.7,248.58,-66.6184],[8001.26,-0.38563,53.25,246.627,-66.2098],[7957.98,96.8981,52.8167,244.727,-65.8068],[7912.67,196.797,52.3667,242.734,-65.3781],[7865.28,299.167,51.9,240.647,-64.9221],[7819.2,396.679,51.45,238.616,-64.4711],[7771.02,496.537,50.9833,236.49,-63.9912],[7720.68,598.585,50.5,234.269,-63.4806],[7669.92,699.212,50.0167,232.029,-62.9557],[7618.72,798.397,49.5333,229.77,-62.4159],[7565.29,899.463,49.0333,227.415,-61.8413],[7511.41,998.942,48.5333,225.044,-61.2496],[7457.06,1096.81,48.0333,222.656,-60.6401],[7398.59,1199.4,47.5,220.093,-59.9694],[7341.44,1296.99,46.9833,217.597,-59.2988],[7280.07,1398.91,46.4333,214.926,-58.5613],[7218.15,1498.76,45.8833,212.244,-57.7984],[7153.77,1599.45,45.3167,209.472,-56.9846],[7088.81,1697.88,44.75,206.694,-56.1414],[7019.4,1799.62,44.15,203.75,-55.2151],[6949.34,1898.75,43.55,200.806,-54.2528],[6876.67,1997.89,42.9333,197.785,-53.2244]]], - [55,3580.5,[[8614.32,-2004.29,61.9333,279.251,-72.8383],[8582.61,-1902.3,61.55,277.915,-72.6086],[8550.64,-1800.94,61.1667,276.563,-72.3749],[8518.42,-1700.2,60.7833,275.194,-72.1369],[8485.93,-1600.1,60.4,273.807,-71.8945],[8453.19,-1500.65,60.0167,272.403,-71.6478],[8420.19,-1401.86,59.6333,270.982,-71.3965],[8386.93,-1303.73,59.25,269.544,-71.1405],[8351.94,-1202.05,58.85,268.025,-70.8683],[8316.66,-1101.12,58.45,266.487,-70.5908],[8281.1,-1000.95,58.05,264.931,-70.3077],[8245.26,-901.545,57.65,263.356,-70.0189],[8209.12,-802.918,57.25,261.763,-69.7243],[8171.17,-701.022,56.8333,260.084,-69.411],[8134.45,-604.019,56.4333,258.453,-69.104],[8095.89,-503.838,56.0167,256.735,-68.7774],[8055.45,-400.598,55.5833,254.928,-68.4301],[8016.25,-302.254,55.1667,253.171,-68.0888],[7975.15,-200.953,54.7333,251.323,-67.7257],[7933.71,-100.661,54.3,249.454,-67.3542],[7891.92,-1.39257,53.8667,247.566,-66.9739],[7849.8,96.8371,53.4333,245.658,-66.5846],[7805.69,197.73,52.9833,243.656,-66.1704],[7761.21,297.47,52.5333,241.634,-65.7458],[7714.7,399.671,52.0667,239.516,-65.2942],[7669.47,497.013,51.6167,237.453,-64.8473],[7622.18,596.691,51.15,235.295,-64.3716],[7572.79,698.546,50.6667,233.039,-63.8653],[7522.97,798.972,50.1833,230.763,-63.3446],[7472.73,897.951,49.7,228.468,-62.809],[7420.31,998.798,49.2,226.075,-62.2387],[7367.44,1098.05,48.7,223.664,-61.651],[7312.34,1198.91,48.1833,221.154,-61.0249],[7256.76,1298.02,47.6667,218.629,-60.3789],[7198.87,1398.46,47.1333,216.007,-59.6901],[7140.49,1496.98,46.6,213.37,-58.9781],[7077.9,1599.53,46.0333,210.557,-58.1951],[7014.74,1699.84,45.4667,207.734,-57.3836],[6951.01,1797.89,44.9,204.903,-56.5422],[6882.92,1899.2,44.3,201.901,-55.6173],[6814.2,1997.9,43.7,198.899,-54.6556]]], - [56,3659.12,[[8472.12,-2001.97,62.4667,279.936,-73.3462],[8442.59,-1903.89,62.1,278.661,-73.1334],[8411.48,-1801.96,61.7167,277.31,-72.9071],[8380.11,-1700.66,61.3333,275.942,-72.6767],[8349.87,-1604.35,60.9667,274.617,-72.4524],[8318.01,-1504.28,60.5833,273.214,-72.2137],[8284.5,-1400.56,60.1833,271.732,-71.9599],[8252.12,-1301.83,59.8,270.294,-71.7121],[8219.48,-1203.78,59.4167,268.838,-71.4597],[8185.16,-1102.18,59.0167,267.3,-71.1912],[8150.55,-1001.33,58.6167,265.744,-70.9174],[8115.67,-901.237,58.2167,264.168,-70.6381],[8080.5,-801.917,57.8167,262.573,-70.3532],[8045.06,-703.378,57.4167,260.959,-70.0624],[8007.84,-601.577,57,259.258,-69.7532],[7970.31,-500.649,56.5833,257.537,-69.4372],[7932.47,-400.605,56.1667,255.796,-69.1144],[7894.32,-301.46,55.75,254.034,-68.7845],[7855.87,-203.225,55.3333,252.253,-68.4473],[7815.56,-102.041,54.9,250.379,-68.0885],[7774.91,-1.87116,54.4667,248.485,-67.7213],[7733.93,97.271,54.0333,246.57,-67.3454],[7691.01,199.122,53.5833,244.56,-66.9454],[7647.75,299.833,53.1333,242.529,-66.5354],[7604.12,399.386,52.6833,240.476,-66.115],[7560.13,497.764,52.2333,238.403,-65.6838],[7514.13,598.529,51.7667,236.232,-65.2247],[7467.75,697.994,51.3,234.04,-64.7532],[7419.3,799.622,50.8167,231.748,-64.2512],[7370.44,899.816,50.3333,229.436,-63.7348],[7321.16,998.555,49.85,227.104,-63.2033],[7269.75,1099.14,49.35,224.671,-62.6371],[7217.91,1198.13,48.85,222.22,-62.0535],[7163.87,1298.71,48.3333,219.668,-61.4314],[7109.37,1397.53,47.8167,217.099,-60.7891],[7052.62,1497.67,47.2833,214.431,-60.104],[6993.58,1598.91,46.7333,211.664,-59.373],[6934.02,1698.07,46.1833,208.884,-58.6159],[6872.11,1798.03,45.6167,206.008,-57.8073],[6807.81,1898.55,45.0333,203.039,-56.9433],[6741.06,1999.39,44.4333,199.98,-56.0194]]], - [57,3736.6,[[8324.04,-2002.86,63,280.65,-73.8553],[8295.32,-1904.28,62.6333,279.377,-73.6495],[8265.05,-1801.81,62.25,278.028,-73.4304],[8235.88,-1704.36,61.8833,276.721,-73.2172],[8205.13,-1603.11,61.5,275.337,-72.9904],[8174.13,-1502.48,61.1167,273.936,-72.7594],[8142.89,-1402.5,60.7333,272.516,-72.5242],[8111.4,-1303.17,60.35,271.079,-72.2846],[8078.28,-1200.23,59.95,269.56,-72.0298],[8046.28,-1102.26,59.5667,268.086,-71.7809],[8012.62,-1000.76,59.1667,266.529,-71.5161],[7978.69,-900.01,58.7667,264.952,-71.2461],[7944.48,-800.023,58.3667,263.356,-70.9706],[7910,-700.81,57.9667,261.741,-70.6894],[7875.25,-602.382,57.5667,260.106,-70.4025],[7838.76,-500.699,57.15,258.382,-70.0973],[7803.44,-403.908,56.75,256.708,-69.7981],[7766.36,-303.955,56.3333,254.944,-69.4796],[7727.48,-200.961,55.9,253.087,-69.141],[7689.78,-102.86,55.4833,251.282,-68.8078],[7650.27,-1.82008,55.05,249.382,-68.4534],[7610.42,98.202,54.6167,247.461,-68.0905],[7570.25,197.191,54.1833,245.519,-67.719],[7528.19,298.879,53.7333,243.48,-67.3235],[7485.78,399.421,53.2833,241.419,-66.918],[7443.02,498.799,52.8333,239.336,-66.5021],[7399.91,596.999,52.3833,237.232,-66.0754],[7354.83,697.572,51.9167,235.028,-65.621],[7309.38,796.84,51.45,232.802,-65.1541],[7261.91,898.257,50.9667,230.475,-64.6568],[7214.03,998.233,50.4833,228.126,-64.1451],[7165.75,1096.75,50,225.757,-63.6182],[7115.39,1197.1,49.5,223.285,-63.0567],[7062.89,1299.11,48.9833,220.71,-62.458],[7009.94,1399.37,48.4667,218.115,-61.8399],[6956.54,1497.86,47.95,215.502,-61.2014],[6900.94,1597.65,47.4167,212.787,-60.5199],[6843.1,1698.52,46.8667,209.971,-59.7923],[6784.75,1797.31,46.3167,207.14,-59.0383],[6722.31,1899.76,45.7333,204.125,-58.2084],[6659.3,1999.78,45.15,201.1,-57.3458]]], - [58,3812.82,[[8168.83,-2002.62,63.5167,281.337,-74.3566],[8140.91,-1903.54,63.15,280.065,-74.1574],[8111.49,-1800.55,62.7667,278.718,-73.9455],[8083.12,-1702.61,62.4,277.413,-73.7393],[8053.23,-1600.82,62.0167,276.03,-73.5199],[8024.42,-1504.04,61.65,274.691,-73.3063],[7994.05,-1403.49,61.2667,273.273,-73.0789],[7963.45,-1303.58,60.8833,271.836,-72.8473],[7931.25,-1200.02,60.4833,270.318,-72.6011],[7900.15,-1101.46,60.1,268.844,-72.3605],[7868.8,-1003.57,59.7167,267.352,-72.1154],[7835.84,-902.16,59.3167,265.776,-71.8546],[7802.6,-801.5,58.9167,264.18,-71.5886],[7769.1,-701.606,58.5167,262.564,-71.3171],[7735.33,-602.488,58.1167,260.928,-71.0401],[7699.86,-500.08,57.7,259.202,-70.7453],[7665.54,-402.583,57.3,257.526,-70.4564],[7629.5,-301.887,56.8833,255.759,-70.1489],[7593.18,-202.084,56.4667,253.971,-69.8345],[7556.56,-103.187,56.05,252.161,-69.5132],[7518.16,-1.30797,55.6167,250.257,-69.1712],[7479.45,99.5625,55.1833,248.331,-68.8211],[7440.42,199.41,54.75,246.383,-68.4626],[7401.07,298.22,54.3167,244.412,-68.0954],[7359.88,399.716,53.8667,242.344,-67.7045],[7319.88,496.365,53.4333,240.33,-67.3185],[7276.46,599.236,52.9667,238.138,-66.8921],[7234.24,697.227,52.5167,236.002,-66.4699],[7190.09,797.578,52.05,233.765,-66.0202],[7145.58,896.617,51.5833,231.505,-65.5579],[7099.09,997.791,51.1,229.141,-65.0654],[7052.21,1097.52,50.6167,226.755,-64.5583],[7003.3,1199.14,50.1167,224.264,-64.0177],[6953.97,1299.16,49.6167,221.751,-63.4603],[6904.23,1397.57,49.1167,219.218,-62.8852],[6852.4,1497.53,48.6,216.579,-62.2716],[6798.42,1598.85,48.0667,213.835,-61.6167],[6743.98,1698.25,47.5333,211.073,-60.9388],[6687.35,1798.71,46.9833,208.207,-60.2146],[6630.23,1897.08,46.4333,205.325,-59.4636],[6569.11,1999.06,45.85,202.255,-58.6364]]], - [59,3887.74,[[8006.51,-2001.25,64.0167,281.995,-74.8508],[7979.38,-1901.7,63.65,280.725,-74.6582],[7952.05,-1802.7,63.2833,279.439,-74.4623],[7924.5,-1704.25,62.9167,278.136,-74.2631],[7895.47,-1601.92,62.5333,276.755,-74.0511],[7866.21,-1500.21,62.15,275.356,-73.8353],[7838,-1403.52,61.7833,274.001,-73.6251],[7808.27,-1303.05,61.4,272.565,-73.4014],[7778.31,-1203.23,61.0167,271.112,-73.1735],[7748.11,-1104.07,60.6333,269.639,-72.9413],[7716.35,-1001.31,60.2333,268.083,-72.6943],[7685.67,-903.522,59.85,266.572,-72.453],[7653.4,-802.215,59.45,264.976,-72.1962],[7620.86,-701.665,59.05,263.359,-71.9342],[7588.07,-601.885,58.65,261.722,-71.6668],[7555.02,-502.886,58.25,260.065,-71.3939],[7520.31,-400.603,57.8333,258.317,-71.1034],[7486.72,-303.232,57.4333,256.619,-70.8187],[7451.45,-202.67,57.0167,254.828,-70.5155],[7415.9,-103.005,56.6,253.016,-70.2056],[7378.62,-0.318228,56.1667,251.108,-69.8759],[7342.48,97.4771,55.75,249.252,-69.5514],[7304.6,198.191,55.3167,247.299,-69.206],[7266.41,297.877,54.8833,245.323,-68.8522],[7227.91,396.52,54.45,243.325,-68.4897],[7187.6,497.839,54,241.227,-68.1037],[7146.96,598,53.55,239.105,-67.7077],[7105.98,696.987,53.1,236.96,-67.3012],[7063.14,798.383,52.6333,234.711,-66.8683],[7019.93,898.48,52.1667,232.439,-66.4232],[6976.38,997.258,51.7,230.144,-65.9656],[6930.89,1098.15,51.2167,227.743,-65.4779],[6885.02,1197.6,50.7333,225.319,-64.9755],[6837.17,1298.91,50.2333,222.788,-64.4397],[6788.91,1398.63,49.7333,220.234,-63.887],[6738.62,1499.95,49.2167,217.572,-63.2971],[6687.89,1599.52,48.7,214.888,-62.6874],[6636.74,1697.3,48.1833,212.184,-62.0569],[6581.82,1799.39,47.6333,209.286,-61.3619],[6526.42,1899.4,47.0833,206.368,-60.641],[6470.54,1997.3,46.5333,203.435,-59.8929]]], - [60,3961.26,[[7838.33,-2003.37,64.5167,282.681,-75.347],[7812.02,-1903.34,64.15,281.414,-75.1611],[7785.49,-1803.86,63.7833,280.13,-74.9719],[7757.54,-1700.43,63.4,278.77,-74.7707],[7730.59,-1602.07,63.0333,277.451,-74.5749],[7703.43,-1504.28,62.6667,276.115,-74.3756],[7674.81,-1402.64,62.2833,274.7,-74.1635],[7645.97,-1301.64,61.9,273.266,-73.9475],[7616.89,-1201.28,61.5167,271.813,-73.7275],[7587.58,-1101.58,61.1333,270.341,-73.5033],[7558.05,-1002.53,60.75,268.85,-73.2749],[7528.28,-904.151,60.3667,267.34,-73.0421],[7496.97,-802.222,59.9667,265.744,-72.7944],[7465.4,-701.043,59.5667,264.127,-72.5416],[7433.58,-600.625,59.1667,262.49,-72.2837],[7401.51,-500.981,58.7667,260.831,-72.0204],[7369.18,-402.121,58.3667,259.152,-71.7516],[7336.6,-304.057,57.9667,257.452,-71.4771],[7302.39,-202.764,57.55,255.66,-71.185],[7267.9,-102.36,57.1333,253.845,-70.8863],[7233.13,-2.85713,56.7167,252.007,-70.5809],[7196.68,99.6559,56.2833,250.073,-70.2558],[7161.35,197.28,55.8667,248.191,-69.9358],[7124.31,297.81,55.4333,246.211,-69.5951],[7086.96,397.308,55,244.207,-69.2461],[7047.87,499.523,54.55,242.102,-68.8744],[7009.91,596.87,54.1167,240.051,-68.5074],[6970.18,696.819,53.6667,237.898,-68.1163],[6928.63,799.223,53.2,235.64,-67.6998],[6888.24,896.751,52.75,233.439,-67.2871],[6846.01,996.609,52.2833,231.133,-66.8472],[6801.9,1098.64,51.8,228.719,-66.3783],[6757.43,1199.22,51.3167,226.28,-65.8954],[6712.58,1298.34,50.8333,223.817,-65.3977],[6665.8,1399.32,50.3333,221.244,-64.8668],[6618.63,1498.69,49.8333,218.648,-64.3187],[6569.47,1599.65,49.3167,215.942,-63.7336],[6519.89,1698.83,48.8,213.213,-63.1284],[6468.28,1799.34,48.2667,210.373,-62.4817],[6416.23,1897.9,47.7333,207.514,-61.8116],[6362.09,1997.47,47.1833,204.545,-61.0948]]], - [61,4033.32,[[7663.1,-2004.52,65,283.34,-75.8371],[7637.59,-1904.04,64.6333,282.075,-75.6576],[7611.87,-1804.09,64.2667,280.794,-75.4751],[7584.77,-1700.18,63.8833,279.436,-75.2809],[7558.64,-1601.34,63.5167,278.119,-75.0919],[7532.31,-1503.07,63.15,276.784,-74.8997],[7504.56,-1400.93,62.7667,275.371,-74.695],[7477.81,-1303.81,62.4,274.001,-74.4958],[7449.63,-1202.91,62.0167,272.549,-74.2836],[7421.22,-1102.65,61.6333,271.079,-74.0675],[7392.59,-1003.04,61.25,269.589,-73.8473],[7363.73,-904.094,60.8667,268.079,-73.6228],[7333.38,-801.566,60.4667,266.484,-73.384],[7304.06,-704.008,60.0833,264.935,-73.1506],[7273.23,-602.947,59.6833,263.297,-72.9022],[7242.14,-502.651,59.2833,261.639,-72.6486],[7210.81,-403.132,58.8833,259.96,-72.3897],[7177.91,-300.304,58.4667,258.187,-72.1142],[7146.08,-202.405,58.0667,256.465,-71.844],[7112.65,-101.29,57.65,254.647,-71.5563],[7078.95,-1.06763,57.2333,252.807,-71.2621],[7044.98,98.2487,56.8167,250.945,-70.9612],[7010.74,196.646,56.4,249.059,-70.6533],[6974.85,297.99,55.9667,247.074,-70.3254],[6938.66,398.311,55.5333,245.066,-69.9896],[6902.18,497.593,55.1,243.033,-69.6453],[6863.99,599.579,54.65,240.897,-69.2787],[6826.92,696.699,54.2167,238.816,-68.9165],[6788.1,796.407,53.7667,236.631,-68.5305],[6747.52,898.554,53.3,234.34,-68.1192],[6706.61,999.408,52.8333,232.022,-67.6963],[6665.35,1098.95,52.3667,229.679,-67.2612],[6623.76,1197.16,51.9,227.312,-66.8134],[6580.33,1297.44,51.4167,224.835,-66.3358],[6535.02,1399.64,50.9167,222.246,-65.8263],[6490.86,1496.92,50.4333,219.719,-65.318],[6443.26,1599.23,49.9167,216.992,-64.7569],[6395.25,1699.78,49.4,214.241,-64.1765],[6346.84,1798.55,48.8833,211.465,-63.5759],[6296.44,1898.61,48.35,208.577,-62.9338],[6244.02,1999.75,47.8,205.576,-62.2467]]], - [62,4103.84,[[7479.79,-2000.13,65.45,283.912,-76.3138],[7456.19,-1903.81,65.1,282.708,-76.1485],[7431.28,-1803.42,64.7333,281.428,-75.9726],[7406.18,-1703.56,64.3667,280.132,-75.7936],[7380.88,-1604.25,64,278.818,-75.6115],[7354.21,-1501.01,63.6167,277.425,-75.4177],[7328.51,-1402.83,63.25,276.074,-75.2291],[7301.42,-1300.8,62.8667,274.644,-75.0283],[7275.31,-1203.79,62.5,273.257,-74.8327],[7247.8,-1103,62.1167,271.788,-74.6245],[7220.07,-1002.85,61.7333,270.299,-74.4123],[7192.13,-903.364,61.35,268.79,-74.1961],[7162.73,-800.262,60.95,267.195,-73.9661],[7134.33,-702.147,60.5667,265.646,-73.7412],[7104.47,-600.498,60.1667,264.008,-73.5019],[7075.62,-503.797,59.7833,262.419,-73.2678],[7045.29,-403.644,59.3833,260.739,-73.0187],[7013.43,-300.148,58.9667,258.966,-72.7535],[6982.61,-201.6,58.5667,257.242,-72.4934],[6951.54,-103.856,58.1667,255.496,-72.2278],[6918.92,-2.90654,57.75,253.655,-71.9449],[6886.04,97.1457,57.3333,251.79,-71.6555],[6852.89,196.287,56.9167,249.902,-71.3595],[6818.14,298.415,56.4833,247.913,-71.0442],[6783.11,399.528,56.05,245.9,-70.7212],[6747.79,499.612,55.6167,243.862,-70.3902],[6712.19,598.652,55.1833,241.8,-70.0509],[6676.3,696.633,54.75,239.713,-69.7029],[6638.74,797.245,54.3,237.521,-69.3321],[6600.86,896.682,53.85,235.303,-68.9513],[6561.27,998.542,53.3833,232.977,-68.5453],[6521.34,1099.1,52.9167,230.624,-68.1277],[6481.09,1198.34,52.45,228.245,-67.6979],[6439.06,1299.71,51.9667,225.754,-67.2395],[6396.67,1399.62,51.4833,223.237,-66.7668],[6353.94,1498.05,51,220.694,-66.2794],[6309.37,1598.29,50.5,218.037,-65.7588],[6264.43,1696.9,50,215.355,-65.221],[6217.61,1797.07,49.4833,212.557,-64.6461],[6168.86,1898.58,48.95,209.644,-64.0313],[6119.71,1998.16,48.4167,206.706,-63.3937]]], - [63,4172.74,[[7291.81,-2004.06,65.9167,284.571,-76.8013],[7267.89,-1902.72,65.55,283.311,-76.6346],[7243.79,-1801.9,65.1833,282.035,-76.465],[7219.5,-1701.61,64.8167,280.74,-76.2926],[7195.01,-1601.87,64.45,279.428,-76.1171],[7170.34,-1502.66,64.0833,278.097,-75.9386],[7145.47,-1404.02,63.7167,276.749,-75.757],[7119.27,-1301.48,63.3333,275.32,-75.5637],[7094.01,-1204,62.9667,273.935,-75.3755],[7067.4,-1102.69,62.5833,272.468,-75.175],[7040.57,-1002.03,62.2,270.98,-74.9708],[7013.53,-902.022,61.8167,269.472,-74.7627],[6986.28,-802.673,61.4333,267.944,-74.5506],[6958.82,-703.995,61.05,266.396,-74.3343],[6929.94,-601.751,60.65,264.759,-74.1041],[6900.82,-500.259,60.25,263.101,-73.8692],[6872.69,-403.711,59.8667,261.49,-73.6395],[6843.12,-303.723,59.4667,259.788,-73.3947],[6812.06,-200.403,59.05,257.992,-73.1343],[6782.01,-102.028,58.65,256.244,-72.8788],[6750.46,-0.414207,58.2333,254.401,-72.6068],[6719.93,96.2983,57.8333,252.608,-72.3398],[6687.87,196.156,57.4167,250.718,-72.0553],[6654.27,299.037,56.9833,248.726,-71.7524],[6621.69,397.013,56.5667,246.787,-71.4542],[6587.55,497.908,56.1333,244.746,-71.1365],[6553.13,597.768,55.7,242.679,-70.8107],[6518.43,696.579,55.2667,240.587,-70.4767],[6482.1,798.063,54.8167,238.388,-70.1208],[6445.48,898.382,54.3667,236.163,-69.7552],[6408.57,997.517,53.9167,233.912,-69.3796],[6369.97,1099.06,53.45,231.549,-68.9791],[6331.06,1199.29,52.9833,229.16,-68.567],[6291.83,1298.19,52.5167,226.744,-68.1427],[6250.86,1399.2,52.0333,224.214,-67.6898],[6209.56,1498.75,51.55,221.657,-67.2227],[6167.92,1596.81,51.0667,219.073,-66.7408],[6123.04,1699.96,50.55,216.282,-66.2085],[6079.24,1798.11,50.05,213.555,-65.6755],[6033.61,1897.79,49.5333,210.71,-65.1056],[5986.11,1998.79,49,207.747,-64.4958]]], - [64,4239.95,[[7095.84,-2002.59,66.35,285.145,-77.2771],[7072.73,-1900.85,65.9833,283.888,-77.1166],[7050.49,-1804.22,65.6333,282.671,-76.9608],[7027.02,-1703.5,65.2667,281.379,-76.795],[7003.37,-1603.31,64.9,280.069,-76.6262],[6979.52,-1503.66,64.5333,278.742,-76.4546],[6954.4,-1400.07,64.15,277.334,-76.2719],[6930.18,-1301.55,63.7833,275.969,-76.094],[6905.77,-1203.6,63.4167,274.585,-75.9129],[6880.05,-1101.81,63.0333,273.119,-75.7201],[6854.13,-1000.65,62.65,271.633,-75.5238],[6828,-900.145,62.2667,270.126,-75.3236],[6801.67,-800.29,61.8833,268.598,-75.1196],[6775.13,-701.099,61.5,267.051,-74.9116],[6748.39,-602.583,61.1167,265.482,-74.6996],[6720.26,-500.513,60.7167,263.824,-74.4738],[6693.08,-403.404,60.3333,262.214,-74.2531],[6664.51,-302.824,59.9333,260.511,-74.018],[6635.71,-203.022,59.5333,258.786,-73.7779],[6606.69,-104.009,59.1333,257.038,-73.5327],[6576.21,-1.72203,58.7167,255.194,-73.2715],[6545.48,99.6834,58.3,253.325,-73.0044],[6515.76,196.191,57.9,251.508,-72.7422],[6483.29,299.796,57.4667,249.513,-72.4514],[6451.83,398.478,57.05,247.571,-72.1652],[6420.12,496.224,56.6333,245.605,-71.8721],[6386.87,596.875,56.2,243.534,-71.5597],[6353.36,696.484,55.7667,241.437,-71.2394],[6318.28,798.808,55.3167,239.233,-70.898],[6282.92,899.975,54.8667,237.001,-70.5475],[6247.26,999.97,54.4167,234.742,-70.1873],[6211.32,1098.78,53.9667,232.456,-69.8171],[6173.74,1199.96,53.5,230.057,-69.4222],[6135.86,1299.84,53.0333,227.63,-69.0156],[6097.67,1398.37,52.5667,225.176,-68.5969],[6057.8,1498.99,52.0833,222.606,-68.1498],[6017.6,1598.14,51.6,220.007,-67.6885],[5975.67,1699.13,51.1,217.291,-67.1955],[5933.39,1798.49,50.6,214.545,-66.6859],[5889.34,1899.43,50.0833,211.68,-66.1408],[5844.92,1998.59,49.5667,208.787,-65.576]]], - [65,4305.38,[[6893.15,-2000.37,66.7667,285.691,-77.7493],[6871.86,-1902.87,66.4167,284.493,-77.6021],[6849.38,-1801.24,66.05,283.221,-77.4452],[6826.72,-1700.12,65.6833,281.931,-77.2857],[6804.92,-1604.1,65.3333,280.683,-77.1309],[6781.92,-1504.02,64.9667,279.357,-76.966],[6758.73,-1404.49,64.6,278.013,-76.7982],[6734.3,-1301.02,64.2167,276.588,-76.6196],[6710.74,-1202.63,63.85,275.206,-76.4456],[6685.92,-1100.37,63.4667,273.742,-76.2604],[6662,-1003.15,63.1,272.321,-76.08],[6636.79,-902.132,62.7167,270.816,-75.8879],[6611.38,-801.764,62.3333,269.29,-75.6921],[6585.77,-702.054,61.95,267.744,-75.4924],[6559.97,-603.013,61.5667,266.176,-75.2889],[6532.82,-500.388,61.1667,264.518,-75.0722],[6506.61,-402.742,60.7833,262.908,-74.8604],[6479.04,-301.595,60.3833,261.205,-74.6347],[6451.25,-201.219,59.9833,259.48,-74.4043],[6423.24,-101.625,59.5833,257.731,-74.1689],[6395.01,-2.82531,59.1833,255.959,-73.9284],[6365.37,99.2344,58.7667,254.089,-73.6722],[6336.69,196.377,58.3667,252.27,-73.4208],[6306.58,296.686,57.95,250.351,-73.1528],[6276.24,396.081,57.5333,248.407,-72.8786],[6244.42,498.47,57.1,246.359,-72.5864],[6212.35,599.841,56.6667,244.283,-72.2869],[6181.27,696.34,56.25,242.263,-71.9917],[6147.43,799.471,55.8,240.053,-71.6647],[6114.58,897.7,55.3667,237.899,-71.3414],[6080.2,998.565,54.9167,235.634,-70.9967],[6045.54,1098.25,54.4667,233.341,-70.6424],[6010.6,1196.74,54.0167,231.02,-70.2782],[5974.07,1297.59,53.55,228.585,-69.8894],[5937.25,1397.12,53.0833,226.121,-69.4891],[5898.81,1498.78,52.6,223.539,-69.0616],[5860.04,1598.98,52.1167,220.928,-68.6205],[5820.96,1697.69,51.6333,218.288,-68.1651],[5780.21,1798.22,51.1333,215.527,-67.6782],[5739.12,1897.12,50.6333,212.736,-67.1745],[5696.31,1997.56,50.1167,209.823,-66.6355]]], - [66,4368.99,[[6684.72,-2002.1,67.1833,286.265,-78.2256],[6664.2,-1904.23,66.8333,285.07,-78.0843],[6642.53,-1802.2,66.4667,283.801,-77.9338],[6620.7,-1700.69,66.1,282.514,-77.7807],[6599.7,-1604.27,65.75,281.268,-77.6321],[6577.52,-1503.79,65.3833,279.944,-77.4738],[6555.18,-1403.85,65.0167,278.602,-77.3128],[6532.66,-1304.45,64.65,277.241,-77.1489],[6508.93,-1201.13,64.2667,275.799,-76.9744],[6486.06,-1102.87,63.9,274.399,-76.8045],[6461.95,-1000.76,63.5167,272.916,-76.6236],[6438.72,-903.688,63.15,271.478,-76.4474],[6414.24,-802.829,62.7667,269.954,-76.2596],[6389.57,-702.622,62.3833,268.408,-76.0682],[6364.7,-603.077,62,266.841,-75.8731],[6339.64,-504.204,61.6167,265.254,-75.6741],[6313.29,-401.76,61.2167,263.574,-75.4622],[6286.72,-300.069,60.8167,261.871,-75.2459],[6261.06,-203.332,60.4333,260.217,-75.0343],[6234.08,-103.149,60.0333,258.469,-74.8088],[6206.89,-3.75369,59.6333,256.697,-74.5784],[6178.34,98.9341,59.2167,254.825,-74.3331],[6150.71,196.687,58.8167,253.005,-74.0923],[6121.7,297.638,58.4,251.084,-73.8357],[6092.47,397.684,57.9833,249.137,-73.573],[6063,496.81,57.5667,247.165,-73.304],[6032.11,598.913,57.1333,245.087,-73.0175],[6000.97,699.991,56.7,242.982,-72.7236],[5970.79,796.203,56.2833,240.932,-72.4338],[5937.94,899.016,55.8333,238.69,-72.1128],[5906.05,996.932,55.4,236.503,-71.7953],[5872.67,1097.47,54.95,234.204,-71.4566],[5839.03,1196.81,54.5,231.876,-71.1084],[5803.85,1298.56,54.0333,229.433,-70.7369],[5768.39,1399,53.5667,226.959,-70.3541],[5732.65,1498.1,53.1,224.456,-69.9598],[5695.32,1599.31,52.6167,221.833,-69.5385],[5657.69,1699.05,52.1333,219.179,-69.1035],[5619.76,1797.3,51.65,216.496,-68.6543],[5580.2,1897.33,51.15,213.689,-68.1737],[5538.99,1998.96,50.6333,210.757,-67.6594]]], - [67,4430.67,[[6469.61,-2003.23,67.5833,286.813,-78.6993],[6448.93,-1900.34,67.2167,285.563,-78.5573],[6429.03,-1802.6,66.8667,284.354,-78.4196],[6408.02,-1700.71,66.5,283.069,-78.2729],[6387.81,-1603.93,66.15,281.825,-78.1305],[6366.48,-1503.05,65.7833,280.503,-77.9788],[6344.98,-1402.71,65.4167,279.163,-77.8244],[6323.31,-1302.92,65.05,277.804,-77.6674],[6301.47,-1203.67,64.6833,276.426,-77.5075],[6278.46,-1100.51,64.3,274.965,-77.3374],[6256.28,-1002.41,63.9333,273.548,-77.1716],[6232.91,-900.472,63.55,272.045,-76.995],[6210.38,-803.561,63.1833,270.588,-76.823],[6186.65,-702.877,62.8,269.044,-76.6398],[6162.73,-602.85,62.4167,267.478,-76.453],[6138.62,-503.49,62.0333,265.891,-76.2624],[6113.26,-400.531,61.6333,264.212,-76.0595],[6088.77,-302.563,61.25,262.58,-75.8612],[6063.02,-201.078,60.85,260.854,-75.6498],[6037.06,-100.362,60.45,259.105,-75.4339],[6010.9,-0.427421,60.05,257.332,-75.2134],[5984.53,98.7147,59.65,255.534,-74.988],[5957.95,197.053,59.25,253.713,-74.7577],[5930.05,298.621,58.8333,251.79,-74.5122],[5901.93,399.29,58.4167,249.841,-74.261],[5873.59,499.048,58,247.866,-74.0037],[5845.02,597.88,57.5833,245.865,-73.7402],[5815.07,699.669,57.15,243.757,-73.4594],[5786.05,796.572,56.7333,241.703,-73.1826],[5755.63,896.325,56.3,239.54,-72.8873],[5723.79,998.792,55.85,237.264,-72.5724],[5692.88,1096.37,55.4167,235.044,-72.2609],[5660.53,1196.54,54.9667,232.71,-71.9285],[5626.71,1299.16,54.5,230.259,-71.5738],[5593.83,1396.87,54.05,227.866,-71.2216],[5559.47,1496.91,53.5833,225.354,-70.8455],[5523.59,1599.1,53.1,222.72,-70.4438],[5487.41,1699.83,52.6167,220.055,-70.0289],[5450.94,1799.07,52.1333,217.358,-69.6004],[5414.19,1896.81,51.65,214.631,-69.1576],[5374.57,1999.59,51.1333,211.682,-68.6676]]], - [68,4490.38,[[6247.92,-2003.82,67.9667,287.333,-79.171],[6228.05,-1900.58,67.6,286.087,-79.0351],[6208.94,-1802.49,67.25,284.879,-78.9032],[6188.76,-1700.24,66.8833,283.596,-78.7628],[6169.34,-1603.1,66.5333,282.354,-78.6266],[6148.85,-1501.86,66.1667,281.035,-78.4814],[6128.2,-1401.14,65.8,279.697,-78.3337],[6107.38,-1300.96,65.4333,278.339,-78.1834],[6086.41,-1201.33,65.0667,276.963,-78.0304],[6065.27,-1102.25,64.7,275.567,-77.8747],[6043.97,-1003.73,64.3333,274.151,-77.7163],[6021.52,-901.346,63.95,272.65,-77.5475],[5999.89,-804.003,63.5833,271.195,-77.3831],[5977.09,-702.864,63.2,269.652,-77.2078],[5954.12,-602.376,62.8167,268.087,-77.0292],[5930.97,-502.549,62.4333,266.5,-76.8471],[5907.64,-403.393,62.05,264.892,-76.6613],[5883.1,-300.652,61.65,263.19,-76.4635],[5859.4,-202.898,61.2667,261.536,-76.2699],[5834.47,-101.64,60.8667,259.787,-76.0638],[5809.35,-1.15717,60.4667,258.013,-75.8531],[5784.03,98.5396,60.0667,256.216,-75.6378],[5758.52,197.439,59.6667,254.393,-75.4178],[5731.73,299.598,59.25,252.469,-75.1834],[5705.81,396.832,58.85,250.597,-74.9531],[5678.6,497.231,58.4333,248.62,-74.7077],[5651.17,596.712,58.0167,246.617,-74.4563],[5622.42,699.184,57.5833,244.506,-74.1883],[5594.56,796.751,57.1667,242.449,-73.9242],[5565.36,897.202,56.7333,240.282,-73.6424],[5535.92,996.601,56.3,238.086,-73.3533],[5505.11,1098.69,55.85,235.776,-73.0448],[5474.05,1199.61,55.4,233.435,-72.7276],[5442.74,1299.35,54.95,231.064,-72.4014],[5411.18,1397.88,54.5,228.664,-72.0657],[5378.19,1498.76,54.0333,226.143,-71.7072],[5344.94,1598.32,53.5667,223.59,-71.3376],[5311.43,1696.52,53.1,221.007,-70.9564],[5276.44,1796.78,52.6167,218.299,-70.5488],[5239.94,1898.92,52.1167,215.464,-70.1128],[5203.15,1999.44,51.6167,212.595,-69.6614]]], - [69,4548.03,[[6019.73,-2003.92,68.3333,287.827,-79.6412],[6000.68,-1900.34,67.9667,286.583,-79.5114],[5982.35,-1801.93,67.6167,285.378,-79.3854],[5963.89,-1703.98,67.2667,284.155,-79.2575],[5944.4,-1601.86,66.9,282.857,-79.1211],[5924.75,-1500.25,66.5333,281.539,-78.9824],[5905.85,-1403.76,66.1833,280.264,-78.8478],[5885.9,-1303.19,65.8167,278.909,-78.7044],[5865.79,-1203.17,65.45,277.534,-78.5584],[5845.53,-1103.69,65.0833,276.14,-78.4098],[5824.19,-1000.29,64.7,274.662,-78.2515],[5803.6,-901.96,64.3333,273.228,-78.0974],[5782.87,-804.206,63.9667,271.773,-77.9404],[5761.02,-702.631,63.5833,270.231,-77.7732],[5739,-601.703,63.2,268.668,-77.6027],[5716.81,-501.431,62.8167,267.082,-77.4288],[5694.44,-401.824,62.4333,265.473,-77.2515],[5671.9,-302.892,62.05,263.843,-77.0707],[5648.2,-200.39,61.65,262.117,-76.878],[5625.3,-102.87,61.2667,260.441,-76.6895],[5601.23,-1.86251,60.8667,258.667,-76.4887],[5576.96,98.3652,60.4667,256.869,-76.2834],[5552.51,197.801,60.0667,255.046,-76.0736],[5527.86,296.434,59.6667,253.198,-75.8591],[5501.99,398.31,59.25,251.247,-75.6306],[5475.91,499.288,58.8333,249.268,-75.3965],[5449.63,599.354,58.4167,247.262,-75.1568],[5423.13,698.497,58,245.23,-74.9113],[5396.44,796.7,57.5833,243.17,-74.6597],[5368.45,897.822,57.15,240.999,-74.3913],[5340.25,997.898,56.7167,238.799,-74.1159],[5311.82,1096.91,56.2833,236.569,-73.833],[5282.06,1198.6,55.8333,234.224,-73.5312],[5252.07,1299.1,55.3833,231.847,-73.2208],[5221.83,1398.41,54.9333,229.44,-72.9014],[5191.36,1496.51,54.4833,227.002,-72.5726],[5159.51,1596.94,54.0167,224.441,-72.2212],[5126.25,1699.54,53.5333,221.755,-71.8457],[5093.89,1797.21,53.0667,219.13,-71.4714],[5060.1,1896.92,52.5833,216.378,-71.0709],[5024.87,1998.47,52.0833,213.496,-70.6423]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 5601.23; -_maxRange = 8646.62; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg7.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg7.sqf deleted file mode 100644 index 94250772e6..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg7.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg7 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,3779.27,[[12009.2,-2002.96,63.15,286.005,-68.9874],[11969.7,-1900.9,62.7667,284.866,-68.715],[11931.6,-1803.83,62.4,283.764,-68.4504],[11891.5,-1702.95,62.0167,282.601,-68.1692],[11851.1,-1602.69,61.6333,281.425,-67.8834],[11810.3,-1503.04,61.25,280.237,-67.5928],[11769.2,-1404.03,60.8667,279.037,-67.2973],[11725.9,-1301.4,60.4667,277.772,-66.9836],[11684.1,-1203.71,60.0833,276.548,-66.6778],[11640.2,-1102.48,59.6833,275.258,-66.3531],[11595.8,-1001.97,59.2833,273.955,-66.0227],[11551.1,-902.199,58.8833,272.64,-65.6862],[11506,-803.176,58.4833,271.313,-65.3437],[11458.7,-700.832,58.0667,269.917,-64.9803],[11412.8,-603.366,57.6667,268.565,-64.6248],[11364.7,-502.668,57.25,267.145,-64.2476],[11316.1,-402.826,56.8333,265.712,-63.8631],[11267.2,-303.853,56.4167,264.268,-63.4712],[11215.8,-201.854,55.9833,262.753,-63.0554],[11164,-100.821,55.55,261.226,-62.6312],[11111.7,-0.766507,55.1167,259.687,-62.1983],[11059,98.2954,54.6833,258.137,-61.7564],[11005.9,196.352,54.25,256.577,-61.3054],[10950.2,297.1,53.8,254.946,-60.8271],[10894.1,396.733,53.35,253.304,-60.3383],[10835.3,498.864,52.8833,251.592,-59.8202],[10776,599.761,52.4167,249.869,-59.2902],[10716.2,699.41,51.95,248.139,-58.7481],[10655.9,797.791,51.4833,246.4,-58.1935],[10592.9,898.333,51,244.593,-57.6056],[10529.3,997.478,50.5167,242.779,-57.0036],[10462.9,1098.55,50.0167,240.898,-56.3655],[10395.8,1198.09,49.5167,239.013,-55.7114],[10326,1299.31,49,237.062,-55.0182],[10255.4,1398.84,48.4833,235.112,-54.3069],[10181.9,1499.8,47.95,233.099,-53.5532],[10107.7,1598.9,47.4167,231.09,-52.7791],[10030.5,1699.14,46.8667,229.025,-51.9588],[9952.51,1797.36,46.3167,226.968,-51.1157],[9868.99,1899.3,45.7333,224.8,-50.1957],[9784.64,1998.9,45.15,222.648,-49.2485]]], - [46,3893.22,[[11916.4,-2004.35,63.9167,286.95,-69.5827],[11877.8,-1901.54,63.5333,285.813,-69.3186],[11840.7,-1803.76,63.1667,284.712,-69.062],[11801.5,-1702.11,62.7833,283.55,-68.7893],[11762,-1601.07,62.4,282.374,-68.5122],[11722.2,-1500.65,62.0167,281.186,-68.2304],[11682.1,-1400.85,61.6333,279.986,-67.9438],[11641.6,-1301.68,61.25,278.773,-67.6524],[11600.9,-1203.15,60.8667,277.547,-67.3561],[11557.9,-1101.03,60.4667,276.256,-67.0415],[11516.5,-1003.83,60.0833,275.005,-66.7348],[11472.9,-903.125,59.6833,273.688,-66.409],[11428.9,-803.154,59.2833,272.357,-66.0773],[11384.5,-703.929,58.8833,271.014,-65.7396],[11337.9,-601.375,58.4667,269.602,-65.3812],[11292.8,-503.707,58.0667,268.233,-65.0307],[11245.5,-402.797,57.65,266.794,-64.6587],[11197.7,-302.742,57.2333,265.343,-64.2794],[11149.5,-203.555,56.8167,263.878,-63.8927],[11099,-101.334,56.3833,262.343,-63.4825],[11048,-0.0781505,55.95,260.794,-63.0638],[10998.6,96.3611,55.5333,259.294,-62.653],[10944.8,199.486,55.0833,257.66,-62.2002],[10892.5,297.766,54.65,256.076,-61.7548],[10837.7,398.748,54.2,254.419,-61.2824],[10782.5,498.615,53.75,252.751,-60.7996],[10726.7,597.352,53.3,251.072,-60.3061],[10668.5,698.537,52.8333,249.321,-59.7827],[10609.7,798.472,52.3667,247.56,-59.2472],[10550.3,897.142,51.9,245.791,-58.6993],[10488.3,997.982,51.4167,243.95,-58.1183],[10425.8,1097.43,50.9333,242.101,-57.5231],[10360.5,1198.81,50.4333,240.183,-56.892],[10294.6,1298.66,49.9333,238.259,-56.245],[10228.1,1396.95,49.4333,236.332,-55.5814],[10158.8,1496.86,48.9167,234.338,-54.8778],[10086.6,1598.2,48.3833,232.28,-54.132],[10013.7,1697.69,47.85,230.224,-53.3657],[9937.76,1798.33,47.3,228.108,-52.5533],[9858.79,1899.91,46.7333,225.934,-51.6921],[9779.05,1999.31,46.1667,223.772,-50.8057]]], - [47,4006.6,[[11814.6,-2004.39,64.6667,287.877,-70.1618],[11777,-1900.86,64.2833,286.742,-69.9058],[11740.8,-1802.37,63.9167,285.644,-69.6569],[11704.2,-1704.43,63.55,284.533,-69.4042],[11665.7,-1602.62,63.1667,283.359,-69.1356],[11626.9,-1501.41,62.7833,282.173,-68.8625],[11587.7,-1400.82,62.4,280.973,-68.5849],[11548.2,-1300.84,62.0167,279.76,-68.3026],[11508.4,-1201.5,61.6333,278.534,-68.0155],[11468.3,-1102.8,61.25,277.296,-67.7235],[11426.1,-1000.5,60.85,275.99,-67.4134],[11385.3,-903.139,60.4667,274.726,-67.111],[11342.4,-802.251,60.0667,273.393,-66.7899],[11299.1,-702.098,59.6667,272.047,-66.4629],[11255.5,-602.692,59.2667,270.688,-66.1299],[11211.5,-504.043,58.8667,269.316,-65.7908],[11165.3,-402.098,58.45,267.872,-65.4308],[11118.7,-300.997,58.0333,266.415,-65.0639],[11071.7,-200.751,57.6167,264.945,-64.6897],[11024.3,-101.373,57.2,263.461,-64.3082],[10976.5,-2.87419,56.7833,261.964,-63.9191],[10926.4,98.6189,56.35,260.395,-63.5062],[10875.9,199.134,55.9167,258.812,-63.0846],[10824.9,298.659,55.4833,257.216,-62.6543],[10773.5,397.178,55.05,255.608,-62.2148],[10719.6,498.408,54.6,253.926,-61.7486],[10665.3,598.524,54.15,252.232,-61.2719],[10610.6,697.511,53.7,250.526,-60.7847],[10553.2,798.954,53.2333,248.746,-60.2678],[10495.4,899.149,52.7667,246.955,-59.7389],[10437.1,998.078,52.3,245.154,-59.1974],[10376.2,1099.19,51.8167,243.28,-58.6232],[10314.7,1198.9,51.3333,241.397,-58.0347],[10252.7,1297.2,50.85,239.507,-57.4317],[10187.9,1397.37,50.35,237.545,-56.7921],[10120.4,1499.25,49.8333,235.513,-56.1138],[10052.2,1599.45,49.3167,233.477,-55.4173],[9983.47,1697.93,48.8,231.44,-54.702],[9911.82,1797.78,48.2667,229.337,-53.9433],[9837.24,1898.78,47.7167,227.17,-53.1387],[9761.95,1997.76,47.1667,225.009,-52.3108]]], - [48,4119.32,[[11704.2,-2003.11,65.4,288.785,-70.7257],[11669.1,-1903.41,65.0333,287.702,-70.4883],[11633.7,-1804.22,64.6667,286.606,-70.2472],[11596.4,-1701.1,64.2833,285.448,-69.991],[11560.5,-1603.01,63.9167,284.327,-69.7421],[11522.6,-1501.05,63.5333,283.142,-69.4775],[11486.1,-1404.09,63.1667,281.996,-69.2203],[11447.6,-1303.31,62.7833,280.784,-68.947],[11408.8,-1203.16,62.4,279.559,-68.6691],[11369.6,-1103.64,62.0167,278.321,-68.3863],[11328.5,-1000.48,61.6167,277.015,-68.0862],[11288.7,-902.271,61.2333,275.75,-67.7934],[11246.8,-800.497,60.8333,274.417,-67.4825],[11206.4,-703.643,60.45,273.126,-67.1793],[11163.8,-603.299,60.05,271.765,-66.8571],[11120.9,-503.699,59.65,270.39,-66.5291],[11075.9,-400.754,59.2333,268.943,-66.1808],[11032.3,-302.709,58.8333,267.541,-65.8402],[10986.5,-201.405,58.4167,266.065,-65.4784],[10940.3,-100.955,58,264.576,-65.1096],[10893.7,-1.37303,57.5833,263.073,-64.7334],[10846.7,97.3304,57.1667,261.557,-64.3497],[10797.4,199.037,56.7333,259.966,-63.9425],[10747.7,299.766,56.3,258.361,-63.5267],[10697.6,399.504,55.8667,256.742,-63.1021],[10647.1,498.238,55.4333,255.111,-62.6685],[10594.2,599.69,54.9833,253.404,-62.2083],[10542.8,696.333,54.55,251.747,-61.7554],[10486.9,799.239,54.0833,249.95,-61.2567],[10432.6,897.304,53.6333,248.206,-60.7647],[10375.8,997.775,53.1667,246.386,-60.2426],[10318.5,1096.98,52.7,244.555,-59.708],[10258.6,1198.37,52.2167,242.647,-59.1409],[10198.2,1298.37,51.7333,240.731,-58.5596],[10137.3,1396.96,51.25,238.805,-57.9637],[10073.6,1497.43,50.75,236.806,-57.3315],[10007.3,1599.62,50.2333,234.733,-56.6607],[9942.52,1696.9,49.7333,232.723,-55.9942],[9872.79,1798.91,49.2,230.574,-55.2639],[9802.4,1899.07,48.6667,228.425,-54.5128],[9731.37,1997.35,48.1333,226.276,-53.7403]]], - [49,4231.28,[[11584.9,-2000.55,66.1167,289.672,-71.2753],[11550.7,-1900.2,65.75,288.591,-71.0451],[11516.2,-1800.37,65.3833,287.499,-70.8114],[11481.4,-1701.06,65.0167,286.393,-70.5739],[11446.3,-1602.28,64.65,285.275,-70.3327],[11411,-1504.04,64.2833,284.143,-70.0877],[11373.8,-1401.92,63.9,282.947,-69.8273],[11336.2,-1300.4,63.5167,281.738,-69.5625],[11300,-1203.86,63.15,280.567,-69.305],[11261.9,-1103.55,62.7667,279.331,-69.0314],[11223.4,-1003.87,62.3833,278.08,-68.753],[11182.9,-900.531,61.9833,276.76,-68.4574],[11143.8,-802.161,61.6,275.482,-68.1691],[11102.7,-700.215,61.2,274.134,-67.8629],[11062.9,-603.197,60.8167,272.829,-67.5642],[11021.1,-502.679,60.4167,271.452,-67.2469],[10978.9,-402.906,60.0167,270.062,-66.9236],[10936.4,-303.889,59.6167,268.657,-66.5943],[10891.8,-201.561,59.2,267.179,-66.2447],[10846.8,-100.075,58.7833,265.685,-65.8882],[10803.2,-3.45216,58.3833,264.238,-65.5393],[10757.4,96.3474,57.9667,262.716,-65.1687],[10709.4,199.207,57.5333,261.119,-64.7754],[10662.8,297.203,57.1167,259.569,-64.3894],[10614,398.16,56.6833,257.942,-63.9796],[10564.8,498.126,56.25,256.301,-63.561],[10515.1,597.089,55.8167,254.647,-63.1334],[10463.1,698.78,55.3667,252.914,-62.6796],[10410.7,799.358,54.9167,251.168,-62.2155],[10357.8,898.806,54.4667,249.409,-61.7409],[10304.4,997.11,54.0167,247.637,-61.2554],[10248.6,1097.83,53.55,245.788,-60.74],[10192.3,1197.28,53.0833,243.926,-60.2123],[10133.5,1298.93,52.6,241.986,-59.6522],[10074.2,1399.19,52.1167,240.035,-59.0779],[10014.3,1498.03,51.6333,238.075,-58.4891],[9951.79,1598.77,51.1333,236.038,-57.8641],[9888.74,1697.95,50.6333,233.993,-57.2226],[9823,1798.78,50.1167,231.874,-56.5416],[9756.66,1897.9,49.6,229.75,-55.8417],[9687.55,1998.39,49.0667,227.554,-55.0988]]], - [50,4342.37,[[11458.5,-2001.35,66.8333,290.585,-71.8214],[11425.1,-1900.36,66.4667,289.509,-71.5984],[11393,-1804.44,66.1167,288.469,-71.3824],[11359.1,-1704.45,65.75,287.367,-71.1525],[11323.4,-1600.47,65.3667,286.201,-70.9083],[11288.9,-1501.56,65,285.073,-70.6709],[11254.2,-1403.18,64.6333,283.931,-70.4298],[11217.6,-1300.91,64.25,282.724,-70.1735],[11182.3,-1203.66,63.8833,281.556,-69.9243],[11145.1,-1102.58,63.5,280.321,-69.6594],[11107.6,-1002.12,63.1167,279.072,-69.3899],[11069.8,-902.294,62.7333,277.808,-69.1159],[11031.7,-803.103,62.35,276.531,-68.837],[10991.6,-700.29,61.95,275.183,-68.5409],[10952.9,-602.431,61.5667,273.878,-68.252],[10912.1,-501.026,61.1667,272.501,-67.945],[10871,-400.355,60.7667,271.109,-67.6324],[10829.6,-300.43,60.3667,269.702,-67.314],[10787.8,-201.259,59.9667,268.281,-66.9895],[10745.7,-102.854,59.5667,266.845,-66.6589],[10701.5,-1.1737,59.15,265.334,-66.3078],[10656.9,99.6523,58.7333,263.808,-65.9497],[10611.9,199.612,58.3167,262.267,-65.5843],[10566.6,298.694,57.9,260.711,-65.2115],[10520.8,396.885,57.4833,259.14,-64.8311],[10472.9,498.046,57.05,257.492,-64.4272],[10424.5,598.217,56.6167,255.829,-64.0146],[10375.8,697.384,56.1833,254.151,-63.5931],[10324.7,799.288,55.7333,252.394,-63.1455],[10275.1,896.365,55.3,250.688,-62.7049],[10221.2,999.739,54.8333,248.836,-62.2195],[10168.8,1098.26,54.3833,247.037,-61.7404],[10114,1199.19,53.9167,245.158,-61.2317],[10058.7,1298.87,53.45,243.266,-60.7106],[10002.9,1397.26,52.9833,241.361,-60.1768],[9944.66,1497.79,52.5,239.377,-59.61],[9885.88,1596.9,52.0167,237.382,-59.0287],[9824.54,1697.93,51.5167,235.308,-58.4115],[9762.64,1797.39,51.0167,233.225,-57.7776],[9698.11,1898.51,50.5,231.065,-57.1045],[9632.98,1997.92,49.9833,228.898,-56.4125]]], - [51,4452.48,[[11323.4,-2001.04,67.5333,291.477,-72.3543],[11292.3,-1904.03,67.1833,290.453,-72.1482],[11259.6,-1802.9,66.8167,289.368,-71.929],[11226.5,-1702.28,66.45,288.27,-71.7064],[11193.2,-1602.17,66.0833,287.158,-71.4802],[11159.7,-1502.58,65.7167,286.033,-71.2505],[11125.8,-1403.52,65.35,284.895,-71.017],[11090.2,-1300.53,64.9667,283.691,-70.769],[11055.8,-1202.58,64.6,282.525,-70.5278],[11019.5,-1100.76,64.2167,281.292,-70.2714],[10984.6,-1003.94,63.85,280.099,-70.0221],[10947.7,-903.33,63.4667,278.838,-69.7571],[10910.6,-803.346,63.0833,277.562,-69.4874],[10873.2,-703.999,62.7,276.272,-69.2131],[10833.8,-601.023,62.3,274.911,-68.9216],[10795.8,-503.006,61.9167,273.591,-68.6373],[10755.7,-401.437,61.5167,272.2,-68.3353],[10715.4,-300.602,61.1167,270.793,-68.0276],[10674.7,-200.511,60.7167,269.37,-67.7141],[10633.7,-101.175,60.3167,267.933,-67.3946],[10592.3,-2.60359,59.9167,266.48,-67.0691],[10548.9,99.2495,59.5,264.952,-66.7233],[10506.8,196.225,59.1,263.469,-66.3848],[10462.7,296.393,58.6833,261.91,-66.0252],[10416.4,399.637,58.25,260.271,-65.6434],[10371.5,498.002,57.8333,258.68,-65.2686],[10324.4,599.344,57.4,257.01,-64.8705],[10276.9,699.695,56.9667,255.324,-64.4638],[10229,799.042,56.5333,253.623,-64.0481],[10180.7,897.371,56.1,251.907,-63.6234],[10130.2,998.39,55.65,250.11,-63.1722],[10079.2,1098.28,55.2,248.298,-62.7107],[10027.7,1197.02,54.75,246.472,-62.2383],[9973.92,1298.2,54.2833,244.564,-61.7366],[9919.65,1398.11,53.8167,242.641,-61.2226],[9864.92,1496.74,53.35,240.706,-60.6959],[9807.73,1597.51,52.8667,238.688,-60.1365],[9750.04,1696.87,52.3833,236.659,-59.5625],[9689.84,1798.15,51.8833,234.548,-58.953],[9629.1,1897.86,51.3833,232.427,-58.3268],[9565.76,1999.24,50.8667,230.225,-57.6616]]], - [52,4561.53,[[11181,-2004.29,68.2333,292.393,-72.8843],[11149.3,-1902.06,67.8667,291.326,-72.6753],[11117.4,-1800.32,67.5,290.244,-72.463],[11086.7,-1703.67,67.15,289.2,-72.2573],[11054.2,-1602.92,66.7833,288.092,-72.0384],[11021.5,-1502.68,66.4167,286.971,-71.8161],[10988.6,-1402.96,66.05,285.836,-71.5902],[10955.4,-1303.77,65.6833,284.688,-71.3607],[10920.3,-1200.65,65.3,283.473,-71.1168],[10886.6,-1102.56,64.9333,282.297,-70.8796],[10851,-1000.61,64.55,281.052,-70.6275],[10816.7,-903.659,64.1833,279.848,-70.3823],[10780.5,-802.909,63.8,278.575,-70.1216],[10744.1,-702.787,63.4167,277.286,-69.8563],[10707.3,-603.302,63.0333,275.983,-69.5865],[10668.7,-500.18,62.6333,274.607,-69.2997],[10631.3,-402.024,62.25,273.274,-69.02],[10592,-300.31,61.85,271.868,-68.7227],[10554.1,-203.521,61.4667,270.505,-68.4326],[10514.1,-103.253,61.0667,269.067,-68.1242],[10473.9,-3.73943,60.6667,267.614,-67.81],[10431.6,99.1074,60.25,266.083,-67.4762],[10390.7,197.048,59.85,264.598,-67.1495],[10347.7,298.234,59.4333,263.036,-66.8024],[10304.3,398.554,59.0167,261.457,-66.4481],[10260.6,497.996,58.6,259.862,-66.0866],[10216.6,596.548,58.1833,258.251,-65.7176],[10170.4,698.084,57.75,256.559,-65.3256],[10123.8,798.631,57.3167,254.851,-64.9251],[10076.8,898.173,56.8833,253.127,-64.5157],[10029.4,996.698,56.45,251.388,-64.0971],[9979.76,1097.92,56,249.565,-63.6526],[9929.71,1198.01,55.55,247.727,-63.1976],[9879.24,1296.96,55.1,245.873,-62.7319],[9826.45,1398.34,54.6333,243.936,-62.2373],[9773.21,1498.46,54.1667,241.983,-61.7303],[9719.5,1597.3,53.7,240.017,-61.2106],[9663.39,1698.29,53.2167,237.966,-60.6585],[9606.8,1797.86,52.7333,235.902,-60.0918],[9547.73,1899.36,52.2333,233.754,-59.4898],[9488.14,1999.29,51.7333,231.594,-58.8712]]], - [53,4669.41,[[11028.6,-2001.87,68.9,293.237,-73.393],[10999.2,-1903.73,68.55,292.223,-73.1999],[10968.1,-1801.39,68.1833,291.146,-72.9945],[10938.2,-1704.16,67.8333,290.106,-72.7954],[10906.6,-1602.78,67.4667,289.003,-72.5837],[10874.7,-1501.92,67.1,287.886,-72.3686],[10842.6,-1401.56,66.7333,286.755,-72.15],[10810.3,-1301.73,66.3667,285.61,-71.928],[10777.7,-1202.43,66,284.451,-71.7023],[10744.8,-1103.66,65.6333,283.279,-71.473],[10710.2,-1000.98,65.25,282.038,-71.2293],[10676.8,-903.332,64.8833,280.836,-70.9923],[10641.6,-801.841,64.5,279.565,-70.7403],[10606.1,-700.97,64.1167,278.279,-70.4839],[10570.3,-600.727,63.7333,276.978,-70.223],[10534.3,-501.121,63.35,275.661,-69.9575],[10497.9,-402.16,62.9667,274.33,-69.6873],[10461.3,-303.855,62.5833,272.983,-69.4122],[10422.7,-201.984,62.1833,271.562,-69.12],[10383.8,-100.846,61.7833,270.124,-68.8221],[10344.6,-0.451568,61.3833,268.67,-68.5187],[10305.1,99.1882,60.9833,267.2,-68.2093],[10265.3,198.063,60.5833,265.714,-67.894],[10225.2,296.162,60.1833,264.212,-67.5726],[10183,397.512,59.7667,262.631,-67.231],[10140.5,497.997,59.35,261.033,-66.8825],[10097.6,597.604,58.9333,259.419,-66.5266],[10054.4,696.321,58.5167,257.788,-66.1634],[10009,798.029,58.0833,256.074,-65.7774],[9963.33,898.746,57.65,254.344,-65.383],[9917.24,998.459,57.2167,252.597,-64.9797],[9870.76,1097.15,56.7833,250.833,-64.5674],[9822.08,1198.55,56.3333,248.985,-64.1294],[9773,1298.82,55.8833,247.121,-63.681],[9723.49,1397.94,55.4333,245.24,-63.2219],[9671.71,1499.51,54.9667,243.273,-62.7341],[9619.49,1599.81,54.5,241.29,-62.2341],[9566.82,1698.82,54.0333,239.292,-61.7214],[9513.7,1796.53,53.5667,237.28,-61.1956],[9456.28,1899.76,53.0667,235.109,-60.6172],[9400.3,1998.08,52.5833,232.997,-60.0428]]], - [54,4776.01,[[10869,-2003.18,69.5667,294.105,-73.8998],[10840.3,-1904.49,69.2167,293.095,-73.713],[10810.1,-1801.56,68.85,292.024,-73.5143],[10781,-1703.77,68.5,290.988,-73.3217],[10750.2,-1601.8,68.1333,289.889,-73.1169],[10719.2,-1500.33,67.7667,288.777,-72.9088],[10689.4,-1403.94,67.4167,287.701,-72.7071],[10657.9,-1303.46,67.05,286.561,-72.4924],[10626.2,-1203.51,66.6833,285.406,-72.2744],[10594.2,-1104.08,66.3167,284.238,-72.0528],[10560.5,-1000.7,65.9333,283,-71.8172],[10528,-902.379,65.5667,281.802,-71.5881],[10493.8,-800.174,65.1833,280.535,-71.3446],[10460.7,-702.983,64.8167,279.307,-71.1077],[10425.9,-601.981,64.4333,278.009,-70.8557],[10390.9,-501.606,64.05,276.695,-70.5994],[10355.5,-401.868,63.6667,275.365,-70.3385],[10319.8,-302.776,63.2833,274.02,-70.0729],[10282.3,-200.074,62.8833,272.6,-69.7906],[10246.1,-102.33,62.5,271.223,-69.5152],[10208,-1.05375,62.1,269.77,-69.2224],[10169.6,99.4784,61.7,268.301,-68.924],[10130.8,199.256,61.3,266.814,-68.6198],[10091.8,298.269,60.9,265.312,-68.3097],[10052.4,396.506,60.5,263.792,-67.9935],[10011,498,60.0833,262.193,-67.6575],[9969.33,598.628,59.6667,260.575,-67.3145],[9927.29,698.378,59.25,258.941,-66.9643],[9884.91,797.237,58.8333,257.29,-66.6067],[9840.46,899.093,58.4,255.554,-66.2268],[9795.64,999.958,57.9667,253.801,-65.8384],[9750.45,1099.82,57.5333,252.031,-65.4413],[9704.87,1198.66,57.1,250.243,-65.0352],[9658.92,1296.47,56.6667,248.439,-64.6198],[9610.81,1396.93,56.2167,246.548,-64.1783],[9560.48,1499.9,55.75,244.569,-63.7092],[9511.54,1598.01,55.3,242.645,-63.2457],[9460.36,1698.51,54.8333,240.632,-62.753],[9408.74,1797.72,54.3667,238.603,-62.2477],[9354.81,1899.1,53.8833,236.486,-61.7105],[9300.42,1999.06,53.4,234.353,-61.1589]]], - [55,4881.25,[[10700.8,-2003.62,70.2167,294.948,-74.3961],[10672.9,-1904.39,69.8667,293.944,-74.2154],[10643.5,-1800.9,69.5,292.877,-74.0232],[10615.2,-1702.56,69.15,291.846,-73.837],[10585.3,-1600.01,68.7833,290.752,-73.6389],[10556.5,-1502.59,68.4333,289.694,-73.4469],[10526.1,-1401.01,68.0667,288.572,-73.2427],[10496.9,-1304.52,67.7167,287.488,-73.0446],[10466,-1203.93,67.35,286.338,-72.8339],[10434.9,-1103.87,66.9833,285.173,-72.6198],[10403.6,-1004.33,66.6167,283.994,-72.4022],[10370.5,-900.843,66.2333,282.746,-72.1709],[10338.7,-802.409,65.8667,281.537,-71.9459],[10305.1,-700.09,65.4833,280.257,-71.7066],[10272.7,-602.79,65.1167,279.018,-71.4739],[10238.6,-501.673,64.7333,277.707,-71.2265],[10204.2,-401.185,64.35,276.38,-70.9746],[10169.6,-301.332,63.9667,275.037,-70.7182],[10134.6,-202.126,63.5833,273.678,-70.4572],[10099.4,-103.574,63.2,272.303,-70.1915],[10062.3,-1.44616,62.8,270.852,-69.9091],[10025,99.9486,62.4,269.383,-69.6213],[9988.87,196.421,62.0167,267.959,-69.3403],[9950.9,296.348,61.6167,266.457,-69.0414],[9911.03,399.626,61.2,264.874,-68.7239],[9872.44,497.981,60.8,263.337,-68.4129],[9831.9,599.597,60.3833,261.718,-68.0824],[9792.68,696.333,59.9833,260.148,-67.7586],[9751.49,796.24,59.5667,258.494,-67.4143],[9708.29,899.198,59.1333,256.755,-67.0485],[9666.41,997.274,58.7167,255.065,-66.6891],[9622.5,1098.3,58.2833,253.29,-66.3071],[9578.22,1198.32,57.85,251.496,-65.9164],[9533.57,1297.33,57.4167,249.685,-65.5168],[9486.81,1399.04,56.9667,247.786,-65.0921],[9439.66,1499.63,56.5167,245.868,-64.6571],[9392.11,1599.06,56.0667,243.932,-64.2115],[9344.16,1697.34,55.6167,241.98,-63.7549],[9294.02,1798.01,55.15,239.937,-63.2695],[9243.45,1897.39,54.6833,237.877,-62.7716],[9190.62,1998.94,54.2,235.727,-62.2421]]], - [56,4985.01,[[10524.1,-2003.24,70.85,295.766,-74.8827],[10497,-1903.51,70.5,294.767,-74.708],[10469.7,-1804.19,70.15,293.754,-74.5307],[10440.9,-1700.61,69.7833,292.679,-74.3422],[10413.1,-1602.18,69.4333,291.64,-74.1594],[10385.1,-1504.2,69.0833,290.587,-73.9739],[10355.6,-1402.02,68.7167,289.47,-73.7766],[10325.8,-1300.35,68.35,288.338,-73.5761],[10297.2,-1203.77,68,287.245,-73.3818],[10267,-1103.09,67.6333,286.084,-73.175],[10236.5,-1002.94,67.2667,284.909,-72.9648],[10205.8,-903.306,66.9,283.719,-72.7512],[10174.8,-804.21,66.5333,282.514,-72.534],[10142.2,-701.191,66.15,281.239,-72.3032],[10110.7,-603.214,65.7833,280.003,-72.0786],[10077.6,-501.381,65.4,278.696,-71.8398],[10044.1,-400.167,65.0167,277.372,-71.5967],[10011.9,-303.94,64.65,276.09,-71.3601],[9977.95,-203.963,64.2667,274.734,-71.1085],[9942.22,-100.328,63.8667,273.302,-70.8411],[9907.71,-1.67972,63.4833,271.912,-70.58],[9872.92,96.3039,63.1,270.507,-70.3142],[9836.33,197.829,62.7,269.023,-70.0316],[9799.44,298.611,62.3,267.521,-69.7434],[9762.25,398.638,61.9,266.002,-69.4497],[9724.75,497.899,61.5,264.465,-69.1501],[9686.95,596.384,61.1,262.911,-68.8446],[9647.26,698.135,60.6833,261.274,-68.5198],[9607.24,799.02,60.2667,259.618,-68.1882],[9566.89,899.026,59.85,257.943,-67.8496],[9526.21,998.14,59.4333,256.251,-67.5037],[9485.19,1096.35,59.0167,254.54,-67.1503],[9442.19,1197.52,58.5833,252.742,-66.7746],[9398.83,1297.68,58.15,250.925,-66.3903],[9355.11,1396.82,57.7167,249.09,-65.9971],[9309.33,1498.67,57.2667,247.165,-65.5792],[9263.15,1599.4,56.8167,245.221,-65.1511],[9216.59,1698.98,56.3667,243.258,-64.7124],[9169.65,1797.39,55.9167,241.277,-64.2628],[9120.55,1898.2,55.45,239.204,-63.7847],[9071.04,1997.72,54.9833,237.112,-63.2941]]], - [57,5087.21,[[10338.9,-2002.1,71.4667,296.56,-75.3604],[10312.6,-1901.87,71.1167,295.565,-75.1915],[10286.1,-1802.06,70.7667,294.557,-75.0202],[10259.3,-1702.67,70.4167,293.536,-74.8463],[10232.4,-1603.71,70.0667,292.502,-74.6698],[10203.9,-1500.5,69.7,291.404,-74.4821],[10176.5,-1402.44,69.35,290.342,-74.3001],[10147.6,-1300.19,68.9833,289.216,-74.1066],[10119.8,-1203.05,68.6333,288.126,-73.9189],[10090.4,-1101.78,68.2667,286.971,-73.7192],[10060.8,-1001.02,67.9,285.8,-73.5162],[10030.9,-900.786,67.5333,284.614,-73.31],[10000.8,-801.077,67.1667,283.413,-73.1003],[9970.51,-701.903,66.8,282.197,-72.8872],[9939.95,-603.273,66.4333,280.965,-72.6705],[9907.75,-500.747,66.05,279.661,-72.4402],[9876.69,-403.251,65.6833,278.399,-72.216],[9843.97,-301.929,65.3,277.062,-71.9775],[9810.99,-201.235,64.9167,275.709,-71.7348],[9777.74,-101.177,64.5333,274.339,-71.4877],[9744.22,-1.76645,64.15,272.952,-71.2361],[9710.43,96.9892,63.7667,271.548,-70.9799],[9674.89,199.33,63.3667,270.066,-70.7075],[9640.56,296.717,62.9833,268.628,-70.4415],[9604.45,397.61,62.5833,267.11,-70.1586],[9568.04,497.748,62.1833,265.574,-69.8702],[9531.34,597.12,61.7833,264.021,-69.576],[9492.8,699.807,61.3667,262.383,-69.2633],[9455.5,797.581,60.9667,260.792,-68.9569],[9416.33,898.58,60.55,259.117,-68.6311],[9376.83,998.698,60.1333,257.422,-68.2983],[9337.02,1097.93,59.7167,255.709,-67.9584],[9296.88,1196.25,59.3,253.977,-67.611],[9254.79,1297.53,58.8667,252.156,-67.2416],[9212.35,1397.8,58.4333,250.316,-66.8638],[9169.56,1497.05,58,248.456,-66.4771],[9124.76,1599.03,57.55,246.505,-66.0659],[9079.57,1699.87,57.1,244.534,-65.6446],[9034.01,1799.56,56.65,242.543,-65.2129],[8988.07,1898.08,56.2,240.533,-64.7703],[8940.03,1999.01,55.7333,238.43,-64.2995]]], - [58,5187.75,[[10145.3,-2000.26,72.0667,297.328,-75.8298],[10121,-1904.34,71.7333,296.386,-75.6745],[10095.2,-1804.03,71.3833,295.383,-75.5091],[10069.2,-1704.13,71.0333,294.368,-75.3412],[10043.1,-1604.66,70.6833,293.339,-75.1709],[10015.4,-1500.91,70.3167,292.246,-74.9897],[9988.84,-1402.32,69.9667,291.19,-74.814],[9962.04,-1304.18,69.6167,290.119,-74.6357],[9933.75,-1201.84,69.25,288.983,-74.446],[9906.53,-1104.62,68.9,287.885,-74.2621],[9877.79,-1003.26,68.5333,286.719,-74.0664],[9848.82,-902.412,68.1667,285.538,-73.8675],[9819.62,-802.088,67.8,284.341,-73.6653],[9790.18,-702.29,67.4333,283.13,-73.4598],[9760.51,-603.029,67.0667,281.902,-73.2509],[9730.62,-504.31,66.7,280.659,-73.0385],[9699.11,-401.694,66.3167,279.343,-72.8126],[9668.73,-304.11,65.95,278.068,-72.5927],[9636.72,-202.696,65.5667,276.719,-72.3589],[9604.45,-101.911,65.1833,275.352,-72.1208],[9571.92,-1.76317,64.8,273.968,-71.8784],[9539.13,97.7381,64.4167,272.567,-71.6316],[9506.09,196.584,64.0333,271.149,-71.3803],[9471.32,299.018,63.6333,269.651,-71.113],[9437.73,396.494,63.25,268.198,-70.852],[9402.41,497.479,62.85,266.664,-70.5743],[9366.79,597.709,62.45,265.111,-70.2912],[9330.89,697.172,62.05,263.539,-70.0024],[9293.19,799.952,61.6333,261.883,-69.6954],[9256.7,897.816,61.2333,260.274,-69.3945],[9218.38,998.907,60.8167,258.578,-69.0745],[9179.75,1099.12,60.4,256.863,-68.7477],[9140.81,1198.43,59.9833,255.129,-68.4136],[9101.55,1296.84,59.5667,253.375,-68.0723],[9060.38,1398.22,59.1333,251.531,-67.7093],[9018.87,1498.58,58.7,249.667,-67.3378],[8977.02,1597.92,58.2667,247.782,-66.9576],[8933.2,1699.99,57.8167,245.805,-66.5532],[8890.66,1797.2,57.3833,243.881,-66.1543],[8846.11,1897.02,56.9333,241.863,-65.7299],[8799.53,1999.31,56.4667,239.749,-65.2784]]], - [59,5286.52,[[9944.54,-2002.64,72.6667,298.118,-76.2993],[9919.73,-1901.46,72.3167,297.134,-76.1418],[9894.73,-1800.68,71.9667,296.137,-75.9821],[9869.53,-1700.32,71.6167,295.126,-75.82],[9844.13,-1600.37,71.2667,294.102,-75.6556],[9818.53,-1500.85,70.9167,293.064,-75.4886],[9792.73,-1401.75,70.5667,292.012,-75.3192],[9766.74,-1303.09,70.2167,290.947,-75.1472],[9739.29,-1200.21,69.85,289.815,-74.9642],[9712.87,-1102.46,69.5,288.721,-74.7868],[9684.99,-1000.55,69.1333,287.56,-74.598],[9658.16,-903.734,68.7833,286.437,-74.4149],[9629.83,-802.815,68.4167,285.246,-74.22],[9601.28,-702.416,68.05,284.038,-74.0219],[9572.51,-602.546,67.6833,282.815,-73.8206],[9543.5,-503.211,67.3167,281.576,-73.6158],[9514.27,-404.419,66.95,280.322,-73.4077],[9483.47,-301.727,66.5667,278.993,-73.1862],[9453.76,-204.071,66.2,277.706,-72.9708],[9422.47,-102.582,65.8167,276.343,-72.7415],[9390.92,-1.72253,65.4333,274.962,-72.5082],[9359.12,98.4992,65.05,273.564,-72.2705],[9327.06,198.074,64.6667,272.148,-72.0285],[9294.75,296.992,64.2833,270.715,-71.782],[9260.77,399.501,63.8833,269.201,-71.5198],[9227.93,497.049,63.5,267.732,-71.2638],[9193.4,598.108,63.1,266.181,-70.9914],[9158.58,698.41,62.7,264.611,-70.7136],[9123.49,797.944,62.3,263.021,-70.4303],[9088.11,896.701,61.9,261.413,-70.1411],[9050.95,998.732,61.4833,259.717,-69.8336],[9013.5,1099.89,61.0667,258.002,-69.5194],[8977.25,1196.18,60.6667,256.336,-69.2114],[8937.67,1299.56,60.2333,254.51,-68.8704],[8899.29,1398.04,59.8167,252.734,-68.5351],[8859.06,1499.48,59.3833,250.866,-68.1784],[8818.49,1599.91,58.95,248.977,-67.8134],[8777.59,1699.32,58.5167,247.068,-67.4397],[8736.35,1797.69,58.0833,245.138,-67.057],[8693.18,1898.72,57.6333,243.113,-66.6498],[8649.64,1998.6,57.1833,241.066,-66.2324]]], - [60,5383.42,[[9735.35,-2004.51,73.25,298.883,-76.7614],[9711.3,-1902.87,72.9,297.904,-76.6095],[9687.07,-1801.63,72.55,296.912,-76.4555],[9662.64,-1700.8,72.2,295.907,-76.2992],[9638.02,-1600.37,71.85,294.888,-76.1406],[9613.2,-1500.37,71.5,293.855,-75.9796],[9588.19,-1400.78,71.15,292.808,-75.8163],[9562.99,-1301.63,70.8,291.748,-75.6504],[9537.59,-1202.91,70.45,290.673,-75.482],[9511.99,-1104.64,70.1,289.584,-75.3111],[9484.96,-1002.16,69.7333,288.428,-75.1292],[9457.71,-900.187,69.3667,287.257,-74.9443],[9431.5,-803.319,69.0167,286.124,-74.7651],[9403.83,-702.341,68.65,284.921,-74.5743],[9375.94,-601.883,68.2833,283.702,-74.3803],[9347.82,-501.954,67.9167,282.468,-74.1831],[9319.49,-402.561,67.55,281.217,-73.9826],[9290.93,-303.712,67.1833,279.95,-73.7787],[9260.83,-200.96,66.8,278.608,-73.5618],[9231.82,-103.248,66.4333,277.308,-73.3507],[9201.25,-1.7009,66.05,275.931,-73.1261],[9170.43,99.2162,65.6667,274.537,-72.8974],[9139.36,199.495,65.2833,273.124,-72.6645],[9108.04,299.125,64.9,271.693,-72.4273],[9076.48,398.098,64.5167,270.245,-72.1857],[9044.67,496.405,64.1333,268.778,-71.9395],[9011.21,598.264,63.7333,267.229,-71.6777],[8977.48,699.377,63.3333,265.661,-71.4106],[8943.47,799.732,62.9333,264.072,-71.1382],[8909.19,899.319,62.5333,262.464,-70.8602],[8874.64,998.126,62.1333,260.837,-70.5765],[8839.81,1096.14,61.7333,259.191,-70.287],[8803.24,1197.39,61.3167,257.455,-69.979],[8766.37,1297.75,60.9,255.698,-69.6642],[8729.2,1397.22,60.4833,253.921,-69.3425],[8690.23,1499.7,60.05,252.051,-69.0002],[8652.45,1597.31,59.6333,250.233,-68.6636],[8612.84,1697.82,59.2,248.32,-68.3053],[8572.9,1797.31,58.7667,246.386,-67.9385],[8531.09,1899.52,58.3167,244.355,-67.5481],[8490.49,1996.87,57.8833,242.378,-67.1629]]], - [61,5478.37,[[9516.73,-2001.07,73.8,299.576,-77.21],[9494.54,-1903.86,73.4667,298.649,-77.0705],[9471.06,-1802.17,73.1167,297.663,-76.9221],[9447.4,-1700.88,72.7667,296.663,-76.7715],[9424.69,-1604.79,72.4333,295.698,-76.6259],[9400.66,-1504.3,72.0833,294.671,-76.4709],[9376.45,-1404.23,71.7333,293.63,-76.3136],[9352.04,-1304.58,71.3833,292.575,-76.1539],[9326.27,-1200.64,71.0167,291.454,-75.984],[9301.47,-1101.88,70.6667,290.37,-75.8194],[9276.48,-1003.56,70.3167,289.271,-75.6521],[9250.1,-901.039,69.95,288.105,-75.4741],[9224.71,-803.643,69.6,286.976,-75.3016],[9197.91,-702.105,69.2333,285.778,-75.1179],[9170.9,-601.081,68.8667,284.564,-74.9311],[9143.67,-500.579,68.5,283.334,-74.7413],[9116.22,-400.606,68.1333,282.088,-74.5483],[9088.56,-301.17,67.7667,280.825,-74.352],[9060.69,-202.279,67.4,279.545,-74.1524],[9032.59,-103.94,67.0333,278.249,-73.9494],[9002.99,-1.72976,66.65,276.876,-73.7334],[8973.14,99.8586,66.2667,275.485,-73.5135],[8944.37,196.44,65.9,274.137,-73.2993],[8914.06,296.786,65.5167,272.711,-73.0714],[8883.5,396.484,65.1333,271.265,-72.8392],[8851.36,499.814,64.7333,269.738,-72.5923],[8820.31,598.157,64.35,268.255,-72.3511],[8789.02,695.823,63.9667,266.754,-72.1053],[8756.1,797.003,63.5667,265.168,-71.8438],[8722.92,897.423,63.1667,263.563,-71.577],[8689.48,997.075,62.7667,261.937,-71.3047],[8655.77,1095.95,62.3667,260.291,-71.0268],[8620.37,1198.09,61.95,258.556,-70.7312],[8584.68,1299.37,61.5333,256.799,-70.4291],[8548.69,1399.76,61.1167,255.02,-70.1203],[8512.42,1499.25,60.7,253.221,-69.8046],[8475.86,1597.84,60.2833,251.4,-69.4818],[8437.52,1699.38,59.85,249.484,-69.1382],[8398.87,1799.92,59.4167,247.546,-68.7865],[8359.91,1899.42,58.9833,245.586,-68.4263],[8320.62,1997.88,58.55,243.604,-68.0572]]], - [62,5571.27,[[9290.93,-2002.11,74.35,300.291,-77.6599],[9269.46,-1904.49,74.0167,299.37,-77.5256],[9246.74,-1802.37,73.6667,298.389,-77.3827],[9223.84,-1700.65,73.3167,297.394,-77.2376],[9201.87,-1604.14,72.9833,296.434,-77.0975],[9178.61,-1503.2,72.6333,295.412,-76.9482],[9155.18,-1402.67,72.2833,294.376,-76.7967],[9131.55,-1302.57,71.9333,293.325,-76.643],[9107.75,-1202.88,71.5833,292.261,-76.4868],[9083.76,-1103.63,71.2333,291.182,-76.3284],[9058.43,-1000.12,70.8667,290.036,-76.1598],[9034.05,-901.762,70.5167,288.927,-75.9963],[9009.49,-803.858,70.1667,287.803,-75.8303],[8983.56,-701.781,69.8,286.61,-75.6536],[8957.42,-600.211,69.4333,285.401,-75.4739],[8932.28,-503.738,69.0833,284.231,-75.2997],[8905.73,-403.182,68.7167,282.99,-75.1142],[8878.98,-303.156,68.35,281.731,-74.9256],[8852.01,-203.667,67.9833,280.456,-74.7337],[8823.59,-100.238,67.6,279.105,-74.5297],[8796.19,-1.87305,67.2333,277.796,-74.331],[8768.58,95.931,66.8667,276.47,-74.1289],[8739.49,197.572,66.4833,275.065,-73.9139],[8710.16,298.582,66.1,273.641,-73.6949],[8680.6,398.951,65.7167,272.199,-73.4718],[8650.8,498.67,65.3333,270.738,-73.2445],[8620.77,597.729,64.95,269.258,-73.013],[8590.5,696.12,64.5667,267.759,-72.777],[8558.66,798.066,64.1667,266.176,-72.5259],[8526.57,899.262,63.7667,264.572,-72.2698],[8494.22,999.698,63.3667,262.947,-72.0084],[8461.6,1099.36,62.9667,261.302,-71.7416],[8428.73,1198.24,62.5667,259.636,-71.4693],[8395.6,1296.33,62.1667,257.95,-71.1913],[8360.81,1397.65,61.75,256.173,-70.8954],[8325.74,1498.08,61.3333,254.373,-70.5929],[8290.39,1597.61,60.9167,252.551,-70.2836],[8254.75,1696.23,60.5,250.708,-69.9673],[8217.39,1797.82,60.0667,248.768,-69.6306],[8179.72,1898.39,59.6333,246.805,-69.2858],[8141.75,1997.92,59.2,244.819,-68.9325]]], - [63,5662.01,[[9056.89,-2002.88,74.8833,300.982,-78.1045],[9036.14,-1904.87,74.55,300.065,-77.9754],[9014.17,-1802.34,74.2,299.09,-77.8378],[8992.03,-1700.19,73.85,298.1,-77.6982],[8970.79,-1603.28,73.5167,297.145,-77.5634],[8948.31,-1501.91,73.1667,296.128,-77.4198],[8925.65,-1400.95,72.8167,295.097,-77.274],[8902.81,-1300.4,72.4667,294.051,-77.1261],[8879.79,-1200.27,72.1167,292.991,-76.9759],[8856.6,-1100.56,71.7667,291.917,-76.8235],[8833.22,-1001.29,71.4167,290.828,-76.6687],[8809.67,-902.448,71.0667,289.724,-76.5115],[8785.93,-804.054,70.7167,288.605,-76.3519],[8760.86,-701.457,70.35,287.417,-76.1821],[8736.75,-603.99,70,286.268,-76.0173],[8711.29,-502.379,69.6333,285.047,-75.842],[8685.63,-401.284,69.2667,283.81,-75.6637],[8659.76,-300.712,68.9,282.556,-75.4824],[8633.69,-200.671,68.5333,281.285,-75.298],[8607.42,-101.169,68.1667,279.996,-75.1105],[8580.94,-2.21246,67.8,278.691,-74.9198],[8554.26,96.1894,67.4333,277.369,-74.7257],[8526.14,198.463,67.05,275.967,-74.5192],[8499.03,295.706,66.6833,274.61,-74.3182],[8470.47,396.751,66.3,273.171,-74.1042],[8441.68,497.154,65.9167,271.714,-73.8861],[8412.66,596.906,65.5333,270.237,-73.664],[8383.42,695.997,65.15,268.741,-73.4377],[8352.65,798.682,64.75,267.16,-73.1968],[8322.94,896.395,64.3667,265.625,-72.9615],[8291.69,997.62,63.9667,264.003,-72.711],[8260.18,1098.08,63.5667,262.36,-72.4553],[8228.43,1197.77,63.1667,260.696,-72.1944],[8196.42,1296.68,62.7667,259.011,-71.928],[8162.81,1398.86,62.35,257.234,-71.6444],[8130.28,1496.13,61.95,255.506,-71.3663],[8096.14,1596.58,61.5333,253.684,-71.0702],[8061.71,1696.13,61.1167,251.84,-70.7674],[8025.62,1798.69,60.6833,249.899,-70.4451],[7990.64,1896.36,60.2667,248.009,-70.1279],[7953.97,1996.94,59.8333,246.021,-69.7901]]], - [64,5750.52,[[8814.67,-2003.45,75.4,301.649,-78.5446],[8793.62,-1900.15,75.05,300.692,-78.4142],[8773.42,-1802.13,74.7167,299.767,-78.2882],[8753.06,-1704.45,74.3833,298.83,-78.1605],[8731.52,-1602.28,74.0333,297.832,-78.0244],[8709.81,-1500.49,73.6833,296.82,-77.8864],[8688.98,-1403.93,73.35,295.843,-77.753],[8666.93,-1302.94,73,294.803,-77.6109],[8644.71,-1202.35,72.65,293.748,-77.4667],[8622.32,-1102.19,72.3,292.679,-77.3203],[8599.75,-1002.46,71.95,291.595,-77.1716],[8577.01,-903.153,71.6,290.496,-77.0207],[8554.09,-804.287,71.25,289.382,-76.8674],[8529.88,-701.189,70.8833,288.199,-76.7043],[8506.6,-603.239,70.5333,287.054,-76.5461],[8482.02,-501.115,70.1667,285.838,-76.3777],[8458.37,-404.108,69.8167,284.661,-76.2144],[8433.41,-302.986,69.45,283.412,-76.0404],[8408.24,-202.389,69.0833,282.146,-75.8635],[8382.88,-102.324,68.7167,280.862,-75.6836],[8357.32,-2.79772,68.35,279.561,-75.5006],[8331.56,96.1807,67.9833,278.243,-75.3145],[8304.42,199.064,67.6,276.846,-75.1164],[8278.25,296.898,67.2333,275.491,-74.9235],[8250.67,398.568,66.85,274.056,-74.7183],[8222.88,499.604,66.4667,272.602,-74.5091],[8194.87,599.996,66.0833,271.128,-74.2961],[8166.63,699.735,65.7,269.635,-74.079],[8138.17,798.812,65.3167,268.122,-73.8577],[8109.49,897.217,64.9333,266.589,-73.6321],[8079.32,999.173,64.5333,264.969,-73.3921],[8050.18,1096.18,64.15,263.397,-73.1575],[8019.54,1196.65,63.75,261.735,-72.9076],[7988.65,1296.34,63.35,260.051,-72.6526],[7956.22,1399.36,62.9333,258.275,-72.3812],[7924.83,1497.44,62.5333,256.548,-72.115],[7891.87,1598.74,62.1167,254.726,-71.8315],[7858.65,1699.16,61.7,252.881,-71.5416],[7825.16,1798.67,61.2833,251.012,-71.2451],[7791.41,1897.26,60.8667,249.121,-70.9417],[7756.02,1998.81,60.4333,247.131,-70.6187]]], - [65,5836.67,[[8564.31,-2003.89,75.9,302.291,-78.9808],[8544.01,-1900.21,75.55,301.339,-78.8556],[8524.52,-1801.82,75.2167,300.419,-78.7346],[8504.89,-1703.78,74.8833,299.487,-78.6119],[8484.11,-1601.21,74.5333,298.494,-78.4813],[8464.17,-1503.88,74.2,297.535,-78.3551],[8443.07,-1402.08,73.85,296.515,-78.2206],[8421.81,-1300.67,73.5,295.479,-78.0842],[8401.4,-1204.48,73.1667,294.48,-77.9523],[8379.81,-1103.88,72.8167,293.416,-77.8119],[8358.04,-1003.7,72.4667,292.337,-77.6693],[8336.11,-903.948,72.1167,291.243,-77.5245],[8314.01,-804.627,71.7667,290.133,-77.3774],[8290.68,-701.047,71.4,288.955,-77.221],[8268.22,-602.63,71.05,287.815,-77.0692],[8244.52,-500.012,70.6833,286.603,-76.9077],[8221.71,-402.528,70.3333,285.431,-76.751],[8197.64,-300.901,69.9667,284.186,-76.5842],[8174.48,-204.376,69.6167,282.981,-76.4223],[8150.03,-103.767,69.25,281.702,-76.2498],[8125.38,-3.69241,68.8833,280.406,-76.0745],[8100.55,95.8419,68.5167,279.092,-75.8961],[8074.38,199.314,68.1333,277.699,-75.7063],[8049.15,297.717,67.7667,276.348,-75.5215],[8022.56,399.989,67.3833,274.917,-75.3248],[7996.93,497.229,67.0167,273.529,-75.1332],[7969.92,598.266,66.6333,272.059,-74.9292],[7942.7,698.658,66.25,270.569,-74.7214],[7915.27,798.396,65.8667,269.059,-74.5095],[7887.62,897.47,65.4833,267.529,-74.2936],[7859.76,995.87,65.1,265.98,-74.0735],[7830.45,1097.82,64.7,264.341,-73.8392],[7800.91,1199.01,64.3,262.681,-73.6001],[7771.13,1299.44,63.9,260.998,-73.356],[7741.11,1399.09,63.5,259.294,-73.1067],[7710.86,1497.95,63.1,257.568,-72.8521],[7680.37,1596.02,62.7,255.82,-72.592],[7648.35,1697.3,62.2833,253.975,-72.3151],[7616.08,1797.69,61.8667,252.107,-72.0319],[7583.55,1897.18,61.45,250.216,-71.742],[7549.45,1999.66,61.0167,248.223,-71.4334]]], - [66,5920.41,[[8305.88,-2004.3,76.3833,302.911,-79.4137],[8286.33,-1900.26,76.0333,301.964,-79.2935],[8267.56,-1801.51,75.7,301.049,-79.1775],[8248.65,-1703.11,75.3667,300.121,-79.0599],[8228.64,-1600.16,75.0167,299.133,-78.9346],[8209.43,-1502.47,74.6833,298.179,-78.8135],[8189.11,-1400.28,74.3333,297.163,-78.6846],[8169.6,-1303.32,74,296.182,-78.56],[8148.96,-1201.91,73.65,295.137,-78.4273],[8128.16,-1100.91,73.3,294.077,-78.2926],[8107.2,-1000.32,72.95,293.002,-78.1558],[8086.07,-900.155,72.6,291.913,-78.017],[8064.78,-800.416,72.25,290.807,-77.876],[8043.33,-701.111,71.9,289.687,-77.7328],[8021.71,-602.246,71.55,288.551,-77.5874],[7999.92,-503.828,71.2,287.399,-77.4397],[7976.91,-401.208,70.8333,286.176,-77.2825],[7954.78,-303.724,70.4833,284.992,-77.13],[7931.42,-202.097,70.1167,283.735,-76.9676],[7907.87,-100.99,69.75,282.46,-76.8024],[7884.14,-0.409736,69.3833,281.167,-76.6345],[7860.22,99.6359,69.0167,279.856,-76.4636],[7836.11,199.139,68.65,278.527,-76.2897],[7811.81,298.092,68.2833,277.18,-76.1128],[7787.33,396.486,67.9167,275.815,-75.9328],[7761.54,498.747,67.5333,274.368,-75.7412],[7736.67,595.973,67.1667,272.966,-75.5546],[7710.47,696.996,66.7833,271.48,-75.3558],[7684.06,797.371,66.4,269.973,-75.1533],[7657.44,897.091,66.0167,268.446,-74.9468],[7630.61,996.144,65.6333,266.899,-74.7364],[7602.4,1098.78,65.2333,265.263,-74.5124],[7575.15,1196.45,64.85,263.674,-74.2934],[7546.49,1297.61,64.45,261.994,-74.0602],[7517.6,1398.01,64.05,260.292,-73.8221],[7488.48,1497.63,63.65,258.567,-73.5789],[7459.13,1596.46,63.25,256.82,-73.3306],[7428.31,1698.55,62.8333,254.976,-73.0661],[7397.25,1799.75,62.4167,253.108,-72.7955],[7367.19,1896.07,62.0167,251.292,-72.53],[7334.37,1999.46,61.5833,249.299,-72.2355]]], - [67,6001.6,[[8039.44,-2004.78,76.85,303.507,-79.8438],[8020.64,-1900.39,76.5,302.565,-79.7288],[8002.59,-1801.31,76.1667,301.655,-79.6176],[7984.41,-1702.56,75.8333,300.732,-79.5049],[7966.08,-1604.16,75.5,299.796,-79.3907],[7946.69,-1501.21,75.15,298.799,-79.269],[7928.08,-1403.51,74.8167,297.836,-79.1514],[7908.38,-1301.32,74.4667,296.81,-79.0261],[7889.48,-1204.37,74.1333,295.82,-78.9052],[7869.48,-1102.96,73.7833,294.765,-78.7762],[7849.33,-1001.96,73.4333,293.695,-78.6454],[7829.02,-901.379,73.0833,292.61,-78.5125],[7808.54,-801.219,72.7333,291.51,-78.3776],[7787.91,-701.487,72.3833,290.394,-78.2406],[7767.12,-602.191,72.0333,289.263,-78.1015],[7746.17,-503.335,71.6833,288.115,-77.9602],[7724.05,-400.252,71.3167,286.897,-77.8097],[7702.77,-302.32,70.9667,285.717,-77.6638],[7680.3,-200.219,70.6,284.463,-77.5085],[7658.69,-103.237,70.25,283.25,-77.3577],[7635.88,-2.14664,69.8833,281.962,-77.1971],[7612.88,98.4156,69.5167,280.656,-77.0338],[7589.7,198.441,69.15,279.331,-76.8676],[7566.35,297.923,68.7833,277.988,-76.6985],[7542.81,396.853,68.4167,276.627,-76.5264],[7518.01,499.68,68.0333,275.184,-76.3433],[7494.1,597.455,67.6667,273.784,-76.1649],[7468.9,699.058,67.2833,272.301,-75.975],[7444.62,795.645,66.9167,270.863,-75.7899],[7419.04,895.987,66.5333,269.34,-75.5928],[7392.13,999.989,66.1333,267.728,-75.383],[7366.13,1098.98,65.75,266.162,-75.178],[7339.93,1197.28,65.3667,264.575,-74.9689],[7312.38,1299.13,64.9667,262.897,-74.7462],[7285.77,1396.02,64.5833,261.268,-74.5285],[7257.79,1496.37,64.1833,259.545,-74.2965],[7229.58,1595.94,63.7833,257.8,-74.0596],[7199.96,1698.81,63.3667,255.957,-73.8074],[7171.31,1796.74,62.9667,254.164,-73.5598],[7141.22,1897.89,62.55,252.273,-73.2961],[7110.89,1998.13,62.1333,250.356,-73.0262]]], - [68,6080.2,[[7764.19,-2000.36,77.2833,304.037,-80.2667],[7747,-1900.62,76.95,303.144,-80.1618],[7729.67,-1801.22,76.6167,302.238,-80.0555],[7712.21,-1702.14,76.2833,301.32,-79.9477],[7694.61,-1603.41,75.95,300.388,-79.8384],[7675.99,-1500.1,75.6,299.395,-79.7221],[7658.12,-1402.07,75.2667,298.437,-79.6097],[7640.12,-1304.39,74.9333,297.465,-79.4956],[7621.06,-1202.21,74.5833,296.429,-79.3742],[7601.86,-1100.43,74.2333,295.379,-79.2509],[7583.43,-1003.87,73.9,294.364,-79.1318],[7563.93,-902.891,73.55,293.284,-79.0048],[7544.28,-802.326,73.2,292.189,-78.8759],[7524.48,-702.184,72.85,291.077,-78.745],[7504.52,-602.472,72.5,289.95,-78.6121],[7484.41,-503.196,72.15,288.807,-78.4771],[7464.15,-404.362,71.8,287.649,-78.34],[7442.75,-301.304,71.4333,286.417,-78.194],[7422.16,-203.397,71.0833,285.225,-78.0524],[7400.43,-101.323,70.7167,283.959,-77.9015],[7379.53,-4.36968,70.3667,282.733,-77.7552],[7357.46,96.6899,70,281.431,-77.5993],[7335.21,197.219,69.6333,280.11,-77.4407],[7312.8,297.211,69.2667,278.771,-77.2793],[7290.21,396.656,68.9,277.414,-77.1151],[7267.44,495.547,68.5333,276.037,-76.948],[7243.45,598.333,68.15,274.578,-76.7701],[7220.33,696.066,67.7833,273.163,-76.5968],[7195.96,797.622,67.4,271.663,-76.4122],[7171.4,898.536,67.0167,270.143,-76.2241],[7146.65,998.799,66.6333,268.601,-76.0324],[7121.71,1098.4,66.25,267.038,-75.8369],[7096.57,1197.33,65.8667,265.453,-75.6375],[7070.13,1299.84,65.4667,263.778,-75.4253],[7044.59,1397.37,65.0833,262.15,-75.2177],[7017.73,1498.39,64.6833,260.429,-74.9966],[6990.66,1598.63,64.2833,258.684,-74.7708],[6963.38,1698.1,63.8833,256.916,-74.5401],[6935.88,1796.76,63.4833,255.125,-74.3043],[6907.02,1898.68,63.0667,253.233,-74.0532],[6877.91,1999.7,62.65,251.317,-73.7962]]], - [69,6156.09,[[7481.96,-2001.13,77.7167,304.589,-80.6934],[7465.48,-1901.09,77.3833,303.701,-80.5933],[7448.87,-1801.38,77.05,302.799,-80.4918],[7432.14,-1701.99,76.7167,301.885,-80.3889],[7415.28,-1602.93,76.3833,300.957,-80.2845],[7398.29,-1504.21,76.05,300.017,-80.1788],[7380.31,-1400.92,75.7,299.015,-80.0661],[7363.05,-1302.91,75.3667,298.047,-79.9573],[7344.79,-1200.38,75.0167,297.016,-79.8413],[7327.27,-1103.1,74.6833,296.02,-79.7293],[7308.73,-1001.34,74.3333,294.959,-79.6099],[7290.93,-904.812,74,293.934,-79.4945],[7272.1,-803.857,73.65,292.843,-79.3716],[7253.13,-703.32,73.3,291.736,-79.2468],[7234.01,-603.209,72.95,290.614,-79.12],[7214.74,-503.529,72.6,289.475,-78.9912],[7195.32,-404.287,72.25,288.32,-78.8604],[7174.82,-300.795,71.8833,287.093,-78.7212],[7155.09,-202.469,71.5333,285.905,-78.5862],[7135.22,-104.6,71.1833,284.7,-78.4489],[7114.24,-2.5682,70.8167,283.42,-78.3027],[7093.09,98.9465,70.45,282.122,-78.154],[7071.77,199.936,70.0833,280.805,-78.0028],[7051.27,295.839,69.7333,279.53,-77.856],[7029.63,395.781,69.3667,278.177,-77.6996],[7006.82,499.68,68.9833,276.741,-77.5331],[6984.84,598.492,68.6167,275.349,-77.3709],[6962.69,696.74,68.25,273.937,-77.2058],[6939.34,798.841,67.8667,272.44,-77.03],[6916.84,895.908,67.5,270.989,-76.8587],[6893.13,996.757,67.1167,269.45,-76.6762],[6869.24,1096.95,66.7333,267.89,-76.4901],[6845.16,1196.48,66.35,266.309,-76.3004],[6819.84,1299.62,65.95,264.636,-76.0984],[6795.38,1397.77,65.5667,263.01,-75.9009],[6769.65,1499.44,65.1667,261.29,-75.6905],[6744.8,1596.15,64.7833,259.62,-75.4846],[6718.68,1696.31,64.3833,257.854,-75.2653],[6691.24,1799.8,63.9667,255.989,-75.0317],[6664.7,1898.34,63.5667,254.174,-74.8024],[6637.95,1996.06,63.1667,252.335,-74.568]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 7114.24; -_maxRange = 11111.7; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg8.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg8.sqf deleted file mode 100644 index 5e5f489128..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_HA_chg8.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg8 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,4981.82,[[14457.7,-2003.16,70.55,298.77,-71.0307],[14423.6,-1904.46,70.2,297.887,-70.8152],[14387.5,-1801.53,69.8333,296.951,-70.5863],[14352.8,-1703.71,69.4833,296.048,-70.3645],[14316.2,-1601.7,69.1167,295.091,-70.1289],[14279.3,-1500.17,68.75,294.124,-69.8898],[14243.8,-1403.72,68.4,293.191,-69.6582],[14206.3,-1303.16,68.0333,292.202,-69.412],[14168.4,-1203.1,67.6667,291.203,-69.1622],[14130.3,-1103.56,67.3,290.194,-68.9086],[14090.1,-1000.04,66.9167,289.127,-68.6393],[14051.4,-901.563,66.55,288.096,-68.3777],[14012.3,-803.616,66.1833,287.054,-68.1121],[13971.1,-701.794,65.8,285.954,-67.8301],[13929.6,-600.57,65.4167,284.842,-67.5435],[13889.5,-504.313,65.05,283.769,-67.265],[13847.3,-404.282,64.6667,282.635,-66.9692],[13802.9,-300.565,64.2667,281.441,-66.6554],[13760,-201.815,63.8833,280.285,-66.3495],[13716.7,-103.704,63.5,279.118,-66.0387],[13671.2,-2.01782,63.1,277.889,-65.7088],[13625.3,98.9525,62.7,276.65,-65.3731],[13579,199.198,62.3,275.398,-65.0316],[13532.3,298.708,61.9,274.136,-64.684],[13485.2,397.473,61.5,272.863,-64.3303],[13435.8,499.549,61.0833,271.526,-63.9551],[13387.9,596.762,60.6833,270.232,-63.5884],[13337.6,697.2,60.2667,268.873,-63.1994],[13286.9,796.784,59.85,267.503,-62.803],[13233.7,899.434,59.4167,266.068,-62.3829],[13182.1,997.242,59,264.678,-61.9711],[13127.9,1098.02,58.5667,263.223,-61.5344],[13073.4,1197.82,58.1333,261.758,-61.0891],[13018.3,1296.64,57.7,260.284,-60.6349],[12960.6,1398.19,57.25,258.744,-60.1535],[12902.4,1498.65,56.8,257.195,-59.662],[12843.7,1598.01,56.35,255.639,-59.1602],[12782.3,1699.85,55.8833,254.017,-58.6286],[12722.5,1796.9,55.4333,252.447,-58.1048],[12657.8,1899.84,54.95,250.754,-57.5299],[12594.7,1997.96,54.4833,249.115,-56.9622]]], - [46,5126.62,[[14339,-2002.9,71.4167,299.814,-71.604],[14305.7,-1903.53,71.0667,298.936,-71.3955],[14272.2,-1804.57,70.7167,298.049,-71.1841],[14236.9,-1701.34,70.35,297.108,-70.9595],[14202.8,-1603.25,70,296.2,-70.742],[14166.8,-1500.95,69.6333,295.238,-70.5108],[14132.2,-1403.74,69.2833,294.309,-70.2869],[14095.7,-1302.39,68.9167,293.325,-70.049],[14058.9,-1201.53,68.55,292.331,-69.8075],[14021.7,-1101.17,68.1833,291.325,-69.5623],[13984.3,-1001.32,67.8167,290.308,-69.3134],[13946.5,-901.981,67.45,289.281,-69.0608],[13908.5,-803.167,67.0833,288.242,-68.8043],[13868.4,-700.426,66.7,287.145,-68.5319],[13829.7,-602.702,66.3333,286.085,-68.2672],[13788.9,-501.117,65.95,284.964,-67.9861],[13747.8,-400.134,65.5667,283.832,-67.7004],[13708.2,-304.113,65.2,282.739,-67.4228],[13664.6,-200.01,64.8,281.534,-67.1149],[13622.4,-100.885,64.4167,280.367,-66.8148],[13579.9,-2.3966,64.0333,279.189,-66.5098],[13535.2,99.6863,63.6333,277.949,-66.1861],[13492.1,196.848,63.25,276.749,-65.8705],[13446.6,297.528,62.85,275.485,-65.5356],[13400.8,397.476,62.45,274.209,-65.1947],[13354.6,496.683,62.05,272.922,-64.8477],[13306.1,599.225,61.6333,271.57,-64.4797],[13259.1,696.888,61.2333,270.26,-64.1199],[13209.7,797.799,60.8167,268.885,-63.7381],[13160,897.86,60.4,267.498,-63.3492],[13109.8,997.061,59.9833,266.1,-62.9528],[13057.1,1099.3,59.55,264.635,-62.5326],[13006,1196.71,59.1333,263.216,-62.1205],[12952.5,1297.07,58.7,261.73,-61.6836],[12898.5,1396.44,58.2667,260.234,-61.2378],[12841.9,1498.57,57.8167,258.67,-60.7653],[12784.8,1599.62,57.3667,257.096,-60.2829],[12727.2,1699.56,56.9167,255.513,-59.7901],[12669.1,1798.39,56.4667,253.922,-59.2868],[12608.3,1899.67,56,252.264,-58.7535],[12547,1999.72,55.5333,250.599,-58.2082]]], - [47,5270.58,[[14210.3,-2001.71,72.2667,300.838,-72.1602],[14178,-1901.67,71.9167,299.966,-71.9585],[14145.3,-1802.04,71.5667,299.084,-71.754],[14112.4,-1702.82,71.2167,298.192,-71.5467],[14079.3,-1604.02,70.8667,297.29,-71.3364],[14044.2,-1500.97,70.5,296.333,-71.1129],[14010.5,-1403.04,70.15,295.41,-70.8965],[13975,-1300.92,69.7833,294.431,-70.6665],[13940.7,-1203.89,69.4333,293.487,-70.4438],[13904.5,-1102.72,69.0667,292.486,-70.207],[13868.1,-1002.05,68.7,291.474,-69.9666],[13831.3,-901.887,68.3333,290.451,-69.7226],[13794.3,-802.234,67.9667,289.417,-69.4748],[13756.9,-703.1,67.6,288.371,-69.2232],[13717.6,-600.023,67.2167,287.266,-68.9561],[13679.6,-501.973,66.85,286.197,-68.6965],[13639.6,-400.044,66.4667,285.068,-68.4208],[13601,-303.108,66.1,283.977,-68.1529],[13560.3,-202.36,65.7167,282.825,-67.8682],[13519.3,-102.228,65.3333,281.66,-67.5789],[13478,-2.72031,64.95,280.484,-67.2847],[13436.3,96.1547,64.5667,279.295,-66.9857],[13392.4,198.645,64.1667,278.043,-66.6682],[13350.1,296.2,63.7833,276.832,-66.3588],[13305.5,397.294,63.3833,275.556,-66.0303],[13260.5,497.66,62.9833,274.267,-65.696],[13215.2,597.289,62.5833,272.967,-65.3556],[13169.5,696.17,62.1833,271.654,-65.0092],[13121.5,798.366,61.7667,270.275,-64.6416],[13073,899.727,61.35,268.883,-64.267],[13026.1,996.239,60.95,267.536,-63.9008],[12974.9,1099.9,60.5167,266.064,-63.4964],[12925.3,1198.69,60.1,264.637,-63.0998],[12875.2,1296.6,59.6833,263.199,-62.6957],[12822.6,1397.48,59.25,261.693,-62.267],[12769.6,1497.38,58.8167,260.175,-61.8296],[12716.2,1596.29,58.3833,258.647,-61.3832],[12660.2,1697.94,57.9333,257.049,-60.91],[12603.7,1798.49,57.4833,255.441,-60.4265],[12546.8,1897.92,57.0333,253.824,-59.9327],[12487.2,1999.85,56.5667,252.137,-59.4092]]], - [48,5413.58,[[14073.1,-2004.39,73.1167,301.882,-72.7097],[14041.6,-1903.7,72.7667,301.017,-72.5147],[14009.8,-1803.4,72.4167,300.142,-72.317],[13977.8,-1703.51,72.0667,299.256,-72.1166],[13945.5,-1604.02,71.7167,298.359,-71.9133],[13911.4,-1500.25,71.35,297.409,-71.6973],[13878.6,-1401.62,71,296.491,-71.4881],[13845.5,-1303.43,70.65,295.563,-71.276],[13810.6,-1201.02,70.2833,294.579,-71.0505],[13777,-1103.71,69.9333,293.629,-70.8321],[13741.5,-1002.25,69.5667,292.623,-70.6],[13705.7,-901.285,69.2,291.605,-70.3643],[13669.7,-800.822,68.8333,290.575,-70.125],[13633.3,-700.868,68.4667,289.534,-69.882],[13596.7,-601.431,68.1,288.481,-69.6353],[13559.7,-502.517,67.7333,287.417,-69.3848],[13522.5,-404.133,67.3667,286.341,-69.1304],[13483.2,-301.853,66.9833,285.204,-68.8602],[13443.6,-200.169,66.6,284.054,-68.5856],[13405.4,-103.471,66.2333,282.943,-68.3186],[13365.2,-2.97721,65.85,281.769,-68.035],[13324.7,96.8956,65.4667,280.583,-67.7466],[13283.8,196.139,65.0833,279.385,-67.4534],[13240.7,299.017,64.6833,278.121,-67.1421],[13199.2,396.947,64.3,276.898,-66.8387],[13155.4,498.435,63.9,275.61,-66.5166],[13111.3,599.2,63.5,274.309,-66.1887],[13066.8,699.23,63.1,272.995,-65.8549],[13022,798.516,62.7,271.668,-65.515],[12976.8,897.048,62.3,270.33,-65.169],[12929.3,998.872,61.8833,268.923,-64.8018],[12881.4,1099.85,61.4667,267.503,-64.4275],[12833.1,1199.98,61.05,266.071,-64.0461],[12784.4,1299.25,60.6333,264.626,-63.6572],[12735.2,1397.64,60.2167,263.17,-63.2608],[12683.7,1499.02,59.7833,261.643,-62.8402],[12631.8,1599.42,59.35,260.105,-62.411],[12579.3,1698.84,58.9167,258.555,-61.973],[12526.5,1797.26,58.4833,256.994,-61.5259],[12471.1,1898.39,58.0333,255.361,-61.0517],[12415.3,1998.41,57.5833,253.718,-60.5671]]], - [49,5555.48,[[13924.5,-2001.44,73.9333,302.863,-73.2346],[13893.8,-1900.13,73.5833,302.005,-73.046],[13864.4,-1804.01,73.25,301.177,-72.8639],[13833.2,-1703.47,72.9,300.298,-72.6701],[13801.8,-1603.33,72.55,299.408,-72.4736],[13770.1,-1503.59,72.2,298.507,-72.2744],[13738.2,-1404.27,71.85,297.596,-72.0724],[13704.4,-1300.67,71.4833,296.63,-71.8577],[13672,-1202.22,71.1333,295.697,-71.6497],[13639.3,-1104.19,70.7833,294.753,-71.4388],[13604.7,-1001.97,70.4167,293.752,-71.2146],[13569.9,-900.229,70.05,292.74,-70.987],[13536.4,-803.575,69.7,291.762,-70.7664],[13501,-702.806,69.3333,290.727,-70.532],[13465.4,-602.544,68.9667,289.679,-70.294],[13429.4,-502.795,68.6,288.62,-70.0523],[13393.2,-403.566,68.2333,287.548,-69.8068],[13355,-300.392,67.85,286.416,-69.546],[13318.1,-202.251,67.4833,285.32,-69.2927],[13279.3,-100.229,67.1,284.162,-69.0235],[13241.9,-3.20478,66.7333,283.042,-68.7618],[13202.4,97.6329,66.35,281.859,-68.4838],[13162.6,197.853,65.9667,280.664,-68.2011],[13122.5,297.446,65.5833,279.455,-67.9137],[13082.1,396.405,65.2,278.234,-67.6213],[13039.5,498.979,64.8,276.947,-67.311],[12998.4,596.612,64.4167,275.701,-67.0084],[12955.2,697.785,64.0167,274.387,-66.6871],[12911.6,798.228,63.6167,273.061,-66.3599],[12867.6,897.93,63.2167,271.721,-66.0268],[12823.3,996.881,62.8167,270.369,-65.6877],[12776.7,1099.15,62.4,268.947,-65.3277],[12731.6,1196.53,62,267.569,-64.9756],[12684.3,1297.14,61.5833,266.121,-64.6018],[12636.5,1396.9,61.1667,264.659,-64.2208],[12586.4,1499.71,60.7333,263.126,-63.8165],[12537.9,1597.67,60.3167,261.64,-63.42],[12486.9,1698.6,59.8833,260.081,-62.9993],[12435.5,1798.54,59.45,258.51,-62.5698],[12383.7,1897.48,59.0167,256.927,-62.1313],[12329.5,1999.17,58.5667,255.271,-61.6662]]], - [50,5696.18,[[13767.5,-2002.56,74.75,303.862,-73.7541],[13737.6,-1900.63,74.4,303.011,-73.5717],[13708.9,-1803.92,74.0667,302.19,-73.3957],[13678.6,-1702.75,73.7167,301.317,-73.2084],[13648,-1601.97,73.3667,300.434,-73.0185],[13617.2,-1501.6,73.0167,299.54,-72.826],[13586.1,-1401.62,72.6667,298.635,-72.6307],[13554.8,-1302.07,72.3167,297.72,-72.4327],[13523.2,-1202.92,71.9667,296.793,-72.2318],[13491.4,-1104.2,71.6167,295.855,-72.0282],[13457.8,-1001.24,71.25,294.861,-71.8116],[13425.5,-903.404,70.9,293.901,-71.6019],[13391.3,-801.38,70.5333,292.883,-71.3789],[13358.5,-704.451,70.1833,291.9,-71.1629],[13323.8,-603.392,69.8167,290.858,-70.9332],[13288.8,-502.836,69.45,289.804,-70.7],[13253.5,-402.791,69.0833,288.738,-70.4632],[13218,-303.264,68.7167,287.66,-70.2226],[13182.2,-204.262,68.35,286.569,-69.9784],[13144.4,-101.329,67.9667,285.416,-69.7188],[13108,-3.42342,67.6,284.301,-69.4666],[13069.6,98.3474,67.2167,283.122,-69.1986],[13030.9,199.512,66.8333,281.93,-68.9261],[12993.6,295.702,66.4667,280.777,-68.6612],[12952.6,399.987,66.0667,279.506,-68.3672],[12912.9,499.28,65.6833,278.274,-68.0807],[12873,597.933,65.3,277.03,-67.7892],[12832.7,695.936,64.9167,275.773,-67.4927],[12790.3,797.497,64.5167,274.447,-67.1779],[12747.5,898.332,64.1167,273.108,-66.8573],[12704.4,998.43,63.7167,271.756,-66.5309],[12661,1097.78,63.3167,270.39,-66.1984],[12617.1,1196.37,62.9167,269.011,-65.8599],[12571.1,1298.25,62.5,267.56,-65.5004],[12524.7,1399.29,62.0833,266.096,-65.134],[12477.9,1499.47,61.6667,264.618,-64.7604],[12430.7,1598.79,61.25,263.126,-64.3793],[12383.1,1697.22,60.8333,261.622,-63.9907],[12333.2,1798.64,60.4,260.044,-63.5783],[12282.8,1899.08,59.9667,258.452,-63.1573],[12232,1998.53,59.5333,256.848,-62.7274]]], - [51,5835.57,[[13600.5,-2002.94,75.55,304.837,-74.2596],[13571.5,-1900.43,75.2,303.993,-74.0834],[13543.6,-1803.15,74.8667,303.179,-73.9132],[13514.1,-1701.37,74.5167,302.314,-73.7322],[13485.7,-1604.8,74.1833,301.479,-73.5575],[13455.7,-1503.79,73.8333,300.593,-73.3715],[13425.5,-1403.17,73.4833,299.695,-73.1829],[13395.1,-1302.96,73.1333,298.786,-72.9917],[13364.4,-1203.15,72.7833,297.866,-72.7978],[13333.4,-1103.76,72.4333,296.935,-72.6011],[13300.7,-1000.08,72.0667,295.948,-72.392],[13269.3,-901.56,71.7167,294.994,-72.1895],[13237.6,-803.467,71.3667,294.029,-71.9841],[13204.1,-701.173,71,293.005,-71.7657],[13171.9,-603.983,70.65,292.017,-71.5541],[13137.9,-502.649,70.2833,290.969,-71.3291],[13103.6,-401.815,69.9167,289.909,-71.1006],[13069,-301.49,69.55,288.836,-70.8686],[13034.2,-201.679,69.1833,287.751,-70.6329],[12999.1,-102.392,68.8167,286.653,-70.3936],[12963.7,-3.63386,68.45,285.542,-70.1505],[12926.3,99.0388,68.0667,284.368,-69.8921],[12890.4,196.691,67.7,283.232,-69.641],[12852.4,298.191,67.3167,282.032,-69.3742],[12814.2,399.079,66.9333,280.817,-69.1028],[12775.7,499.346,66.55,279.589,-68.8269],[12736.8,598.985,66.1667,278.348,-68.5462],[12697.6,697.985,65.7833,277.093,-68.2606],[12658.1,796.339,65.4,275.825,-67.9702],[12616.6,898.27,65,274.488,-67.6617],[12574.7,999.477,64.6,273.137,-67.3477],[12532.4,1099.95,64.2,271.771,-67.0278],[12489.8,1199.68,63.8,270.392,-66.702],[12446.9,1298.65,63.4,268.999,-66.3702],[12403.6,1396.86,63,267.592,-66.0321],[12358.1,1498.34,62.5833,266.112,-65.6731],[12312.3,1598.96,62.1667,264.617,-65.3071],[12266,1698.72,61.75,263.109,-64.9337],[12219.4,1797.6,61.3333,261.587,-64.553],[12170.5,1899.49,60.9,259.99,-64.1488],[12123.1,1996.55,60.4833,258.441,-63.7521]]], - [52,5973.51,[[13423.8,-2002.69,76.3333,305.788,-74.7522],[13396.9,-1904.51,76,304.991,-74.59],[13368.4,-1801.77,75.65,304.144,-74.4174],[13341,-1704.28,75.3167,303.327,-74.2509],[13312.1,-1602.28,74.9667,302.458,-74.0736],[13283,-1500.67,74.6167,301.579,-73.8939],[13255,-1404.26,74.2833,300.731,-73.7205],[13225.4,-1303.41,73.9333,299.829,-73.5358],[13195.5,-1202.97,73.5833,298.917,-73.3486],[13165.4,-1102.93,73.2333,297.992,-73.1587],[13135.1,-1003.3,72.8833,297.057,-72.9661],[13104.5,-904.091,72.5333,296.11,-72.7707],[13072.2,-800.612,72.1667,295.106,-72.563],[13041.2,-702.277,71.8167,294.135,-72.3618],[13009.8,-604.378,71.4667,293.153,-72.1577],[12976.8,-502.291,71.1,292.112,-71.9407],[12943.4,-400.696,70.7333,291.058,-71.7203],[12911.4,-304.183,70.3833,290.04,-71.5068],[12877.5,-203.57,70.0167,288.961,-71.2796],[12843.4,-103.468,69.65,287.869,-71.049],[12809,-3.88682,69.2833,286.765,-70.8147],[12772.7,99.6575,68.9,285.596,-70.5657],[12737.7,198.153,68.5333,284.465,-70.3237],[12702.5,296.107,68.1667,283.321,-70.0779],[12665.3,397.925,67.7833,282.112,-69.8166],[12627.9,499.135,67.4,280.888,-69.5509],[12590.1,599.727,67.0167,279.651,-69.2806],[12552,699.692,66.6333,278.4,-69.0058],[12513.6,799.022,66.25,277.135,-68.7261],[12474.9,897.708,65.8667,275.856,-68.4416],[12434.2,999.989,65.4667,274.507,-68.1395],[12394.9,1097.33,65.0833,273.201,-67.8447],[12353.5,1198.19,64.6833,271.823,-67.5316],[12311.8,1298.31,64.2833,270.431,-67.2126],[12269.8,1397.68,63.8833,269.024,-66.8876],[12227.3,1496.28,63.4833,267.603,-66.5566],[12182.8,1598.18,63.0667,266.108,-66.2051],[12137.9,1699.22,62.65,264.598,-65.8465],[12092.6,1799.4,62.2333,263.073,-65.4808],[12046.9,1898.71,61.8167,261.534,-65.1077],[12000.9,1997.13,61.4,259.98,-64.7271]]], - [53,6109.86,[[13237.2,-2001.91,77.1,306.714,-75.2324],[13211.1,-1903.2,76.7667,305.925,-75.0757],[13184.7,-1804.82,76.4333,305.125,-74.917],[13156.8,-1701.89,76.0833,304.275,-74.7481],[13130,-1604.19,75.75,303.455,-74.5851],[13101.7,-1501.99,75.4,302.583,-74.4116],[13073.1,-1400.16,75.05,301.7,-74.2356],[13045.7,-1303.54,74.7167,300.848,-74.0658],[13016.7,-1202.48,74.3667,299.943,-73.8851],[12987.4,-1101.82,74.0167,299.026,-73.7018],[12957.9,-1001.56,73.6667,298.097,-73.5158],[12928.2,-901.708,73.3167,297.157,-73.3273],[12898.3,-802.275,72.9667,296.206,-73.136],[12868.1,-703.263,72.6167,295.242,-72.9419],[12837.7,-604.678,72.2667,294.267,-72.7451],[12805.5,-501.865,71.9,293.233,-72.5358],[12774.6,-404.174,71.55,292.233,-72.333],[12742,-302.31,71.1833,291.174,-72.1173],[12709.1,-200.943,70.8167,290.101,-71.8983],[12675.9,-100.079,70.45,289.015,-71.6759],[12644,-4.2751,70.1,287.966,-71.4603],[12610.3,95.5848,69.7333,286.855,-71.231],[12574.8,199.423,69.35,285.679,-70.9874],[12540.5,298.202,68.9833,284.54,-70.7505],[12506,396.442,68.6167,283.388,-70.5098],[12469.6,498.562,68.2333,282.17,-70.254],[12434.5,595.674,67.8667,280.992,-70.0053],[12397.5,696.6,67.4833,279.746,-69.7409],[12360.2,796.902,67.1,278.485,-69.4719],[12322.7,896.572,66.7167,277.21,-69.1983],[12283.1,999.892,66.3167,275.865,-68.9076],[12244.9,1098.24,65.9333,274.561,-68.6242],[12206.4,1195.93,65.55,273.244,-68.3357],[12165.9,1297.16,65.15,271.854,-68.0292],[12125.1,1397.65,64.75,270.449,-67.7169],[12083.9,1497.39,64.35,269.029,-67.3988],[12042.4,1596.37,63.95,267.595,-67.0746],[11998.8,1698.66,63.5333,266.084,-66.7304],[11956.5,1796.06,63.1333,264.62,-66.3935],[11912.2,1896.68,62.7167,263.079,-66.0356],[11867.5,1996.43,62.3,261.523,-65.6704]]], - [54,6244.56,[[13040.9,-2000.58,77.85,307.616,-75.7013],[13015.5,-1901.37,77.5167,306.834,-75.5499],[12989.9,-1802.48,77.1833,306.042,-75.3966],[12964.1,-1703.92,76.85,305.239,-75.2412],[12936.8,-1600.79,76.5,304.386,-75.0759],[12910.5,-1502.91,76.1667,303.563,-74.9164],[12882.8,-1400.5,75.8167,302.687,-74.7466],[12856.2,-1303.32,75.4833,301.843,-74.5827],[12828,-1201.67,75.1333,300.945,-74.4082],[12799.5,-1100.4,74.7833,300.035,-74.2313],[12772.3,-1004.32,74.45,299.158,-74.0605],[12743.4,-903.835,74.1,298.226,-73.8786],[12714.3,-803.756,73.75,297.281,-73.6942],[12685,-704.09,73.4,296.325,-73.5071],[12654,-600.129,73.0333,295.311,-73.3081],[12624.2,-501.329,72.6833,294.33,-73.1154],[12594.2,-402.961,72.3333,293.338,-72.9199],[12562.5,-300.378,71.9667,292.285,-72.712],[12532,-202.913,71.6167,291.267,-72.5105],[12499.7,-101.288,71.25,290.188,-72.2963],[12467.3,-0.16529,70.8833,289.096,-72.0786],[12436,95.8874,70.5333,288.041,-71.8677],[12403,196.011,70.1667,286.923,-71.6432],[12369.8,295.612,69.8,285.79,-71.4153],[12334.7,399.174,69.4167,284.593,-71.173],[12300.9,497.684,69.05,283.433,-70.9374],[12266.8,595.649,68.6833,282.26,-70.6981],[12230.9,697.476,68.3,281.019,-70.4436],[12194.7,798.691,67.9167,279.763,-70.1848],[12158.2,899.286,67.5333,278.493,-69.9215],[12121.4,999.25,67.15,277.207,-69.6536],[12084.4,1098.58,66.7667,275.908,-69.381],[12047,1197.25,66.3833,274.593,-69.1036],[12007.6,1299.52,65.9833,273.207,-68.809],[11969.6,1396.85,65.6,271.863,-68.5214],[11929.7,1497.69,65.2,270.445,-68.2158],[11889.4,1597.78,64.8,269.012,-67.9044],[11848.7,1697.12,64.4,267.564,-67.5871],[11806,1799.79,63.9833,266.039,-67.2502],[11764.7,1897.55,63.5833,264.56,-66.9203],[11721.3,1998.55,63.1667,263.003,-66.5698]]], - [55,6377.41,[[12836.2,-2003.89,78.6,308.532,-76.1669],[12811.6,-1904.18,78.2667,307.758,-76.0208],[12786.7,-1804.78,77.9333,306.973,-75.8727],[12760.4,-1700.76,77.5833,306.139,-75.7153],[12735.1,-1602.02,77.25,305.333,-75.5633],[12709.6,-1503.62,76.9167,304.518,-75.4093],[12682.7,-1400.65,76.5667,303.65,-75.2455],[12656.8,-1302.93,76.2333,302.813,-75.0873],[12629.4,-1200.7,75.8833,301.922,-74.919],[12603.1,-1103.69,75.55,301.063,-74.7565],[12575.3,-1002.21,75.2,300.15,-74.5835],[12547.3,-901.128,74.85,299.225,-74.408],[12519,-800.445,74.5,298.288,-74.2301],[12490.6,-700.169,74.15,297.339,-74.0495],[12461.8,-600.304,73.8,296.377,-73.8664],[12432.9,-500.857,73.45,295.404,-73.6807],[12403.8,-401.834,73.1,294.419,-73.4922],[12374.4,-303.241,72.75,293.421,-73.301],[12343.3,-200.42,72.3833,292.362,-73.0976],[12313.5,-102.725,72.0333,291.339,-72.9006],[12281.9,-0.858246,71.6667,290.254,-72.691],[12251.6,95.9126,71.3167,289.205,-72.4878],[12219.6,196.797,70.95,288.093,-72.2717],[12187.3,297.169,70.5833,286.968,-72.0522],[12154.7,397.021,70.2167,285.828,-71.8291],[12121.9,496.345,69.85,284.675,-71.6025],[12087.3,599.612,69.4667,283.454,-71.3616],[12054,697.834,69.1,282.273,-71.1274],[12018.9,799.933,68.7167,281.023,-70.8784],[11985,897.021,68.35,279.813,-70.6362],[11949.3,997.918,67.9667,278.533,-70.3787],[11913.3,1098.19,67.5833,277.238,-70.1167],[11877,1197.82,67.2,275.928,-69.8501],[11840.4,1296.81,66.8167,274.603,-69.5788],[11801.9,1399.41,66.4167,273.204,-69.2905],[11764.8,1497.05,66.0333,271.849,-69.0091],[11725.7,1598.22,65.6333,270.419,-68.7102],[11686.2,1698.65,65.2333,268.973,-68.4055],[11646.5,1798.32,64.8333,267.511,-68.095],[11606.4,1897.23,64.4333,266.033,-67.7785],[11564.3,1999.44,64.0167,264.477,-67.4422]]], - [56,6508.36,[[12620.5,-2001.82,79.3167,309.384,-76.615],[12596.6,-1901.64,78.9833,308.617,-76.4739],[12572.4,-1801.77,78.65,307.84,-76.331],[12548.1,-1702.21,78.3167,307.053,-76.1863],[12523.6,-1602.98,77.9833,306.255,-76.0397],[12498.8,-1504.06,77.65,305.447,-75.8912],[12472.7,-1400.55,77.3,304.587,-75.7331],[12447.6,-1302.31,76.9667,303.757,-75.5805],[12422.3,-1204.41,76.6333,302.916,-75.4259],[12395.5,-1101.98,76.2833,302.023,-75.2614],[12369.8,-1004.79,75.95,301.16,-75.1025],[12342.6,-903.11,75.6,300.243,-74.9334],[12315.2,-801.825,75.25,299.314,-74.7619],[12287.5,-700.94,74.9,298.372,-74.5879],[12259.7,-600.458,74.55,297.418,-74.4115],[12231.6,-500.387,74.2,296.452,-74.2324],[12203.3,-400.732,73.85,295.474,-74.0508],[12174.8,-301.499,73.5,294.483,-73.8666],[12146,-202.694,73.15,293.48,-73.6796],[12117.1,-104.322,72.8,292.464,-73.4899],[12086.5,-1.73834,72.4333,291.387,-73.2881],[12057,95.7258,72.0833,290.345,-73.0925],[12025.9,197.346,71.7167,289.24,-72.8844],[11994.6,298.462,71.35,288.121,-72.6731],[11963,399.067,70.9833,286.988,-72.4584],[11931.2,499.155,70.6167,285.841,-72.2402],[11899.1,598.716,70.25,284.68,-72.0186],[11866.8,697.745,69.8833,283.505,-71.7933],[11834.2,796.233,69.5167,282.315,-71.5643],[11799.8,898.612,69.1333,281.056,-71.3209],[11766.7,995.971,68.7667,279.838,-71.0842],[11731.8,1097.15,68.3833,278.548,-70.8324],[11696.6,1197.71,68,277.244,-70.5763],[11661.1,1297.63,67.6167,275.923,-70.3156],[11625.3,1396.91,67.2333,274.588,-70.0502],[11587.7,1499.82,66.8333,273.177,-69.7683],[11551.3,1597.76,66.45,271.81,-69.4931],[11513.1,1699.24,66.05,270.368,-69.2007],[11474.5,1799.98,65.65,268.909,-68.9026],[11435.7,1899.97,65.25,267.433,-68.5989],[11396.5,1999.2,64.85,265.941,-68.2892]]], - [57,6637.26,[[12396.5,-2004.57,80.0333,310.251,-77.0608],[12373.2,-1903.92,79.7,309.491,-76.9248],[12349.8,-1803.57,79.3667,308.722,-76.787],[12326.2,-1703.54,79.0333,307.942,-76.6474],[12302.4,-1603.82,78.7,307.152,-76.506],[12278.4,-1504.41,78.3667,306.351,-76.3627],[12253,-1400.38,78.0167,305.499,-76.2103],[12228.7,-1301.64,77.6833,304.677,-76.0631],[12204.1,-1203.23,77.35,303.844,-75.9141],[12178.1,-1100.25,77,302.957,-75.7554],[12153.2,-1002.54,76.6667,302.102,-75.6022],[12126.8,-900.304,76.3167,301.192,-75.4392],[12101.5,-803.298,75.9833,300.315,-75.2818],[12074.7,-701.824,75.6333,299.381,-75.1142],[12047.6,-600.747,75.2833,298.435,-74.9442],[12020.4,-500.073,74.9333,297.477,-74.7717],[11994.3,-404.573,74.6,296.552,-74.6052],[11966.6,-304.702,74.25,295.569,-74.4278],[11937.4,-200.526,73.8833,294.526,-74.2392],[11909.3,-101.521,73.5333,293.517,-74.0565],[11881,-2.94902,73.1833,292.496,-73.871],[11851,99.8472,72.8167,291.412,-73.6738],[11822.3,197.516,72.4667,290.364,-73.4826],[11791.9,299.352,72.1,289.252,-73.2792],[11762.7,396.09,71.75,288.177,-73.0821],[11731.8,496.938,71.3833,287.037,-72.8723],[11700.7,597.27,71.0167,285.883,-72.6592],[11669.3,697.079,70.65,284.715,-72.4426],[11637.7,796.356,70.2833,283.531,-72.2225],[11604.4,899.57,69.9,282.279,-71.9885],[11572.3,997.738,69.5333,281.066,-71.7609],[11538.4,1099.78,69.15,279.783,-71.519],[11505.8,1196.8,68.7833,278.54,-71.2835],[11471.4,1297.63,68.4,277.225,-71.0332],[11436.7,1397.83,68.0167,275.895,-70.7784],[11401.7,1497.38,67.6333,274.548,-70.519],[11366.5,1596.29,67.25,273.186,-70.2549],[11329.4,1698.79,66.85,271.747,-69.9743],[11293.6,1796.34,66.4667,270.353,-69.7004],[11256,1897.41,66.0667,268.881,-69.4092],[11218,1997.74,65.6667,267.392,-69.1123]]], - [58,6764,[[12161.6,-2002.1,80.7167,311.054,-77.4912],[12139,-1901.02,80.3833,310.302,-77.36],[12116.3,-1800.23,80.05,309.54,-77.227],[12094.6,-1704.77,79.7333,308.806,-77.0991],[12071.5,-1604.58,79.4,308.023,-76.9628],[12048.2,-1504.7,79.0667,307.23,-76.8247],[12023.6,-1400.17,78.7167,306.386,-76.6777],[12000,-1300.94,78.3833,305.571,-76.5359],[11976.2,-1202.04,78.05,304.746,-76.3922],[11952.2,-1103.46,77.7167,303.909,-76.2467],[11926.8,-1000.32,77.3667,303.019,-76.0917],[11902.5,-902.438,77.0333,302.16,-75.9421],[11876.7,-800.031,76.6833,301.246,-75.7829],[11851.9,-702.857,76.35,300.364,-75.6291],[11825.7,-601.206,76,299.426,-75.4654],[11800.6,-504.763,75.6667,298.521,-75.3073],[11774,-403.889,75.3167,297.558,-75.139],[11747.2,-303.422,74.9667,296.582,-74.9682],[11720.2,-203.368,74.6167,295.594,-74.7949],[11692.9,-103.732,74.2667,294.593,-74.6191],[11665.5,-4.52,73.9167,293.579,-74.4407],[11636.5,98.9542,73.55,292.503,-74.251],[11608.6,197.278,73.2,291.462,-74.0671],[11579.2,299.809,72.8333,290.358,-73.8715],[11550.8,397.219,72.4833,289.29,-73.6818],[11520.9,498.779,72.1167,288.157,-73.4801],[11490.8,599.832,71.75,287.01,-73.2751],[11461.7,695.812,71.4,285.901,-73.0764],[11431.1,795.852,71.0333,284.725,-72.8649],[11398.8,899.874,70.65,283.479,-72.64],[11367.7,998.824,70.2833,282.273,-72.4213],[11336.3,1097.23,69.9167,281.051,-72.199],[11303.3,1199.52,69.5333,279.758,-71.9627],[11271.4,1296.79,69.1667,278.507,-71.7327],[11237.8,1397.87,68.7833,277.182,-71.488],[11203.9,1498.32,68.4,275.841,-71.2391],[11169.8,1598.14,68.0167,274.483,-70.9856],[11135.4,1697.3,67.6333,273.109,-70.7276],[11100.7,1795.81,67.25,271.719,-70.4649],[11064.2,1897.89,66.85,270.252,-70.1856],[11027.4,1999.24,66.45,268.767,-69.9009]]], - [59,6888.46,[[11918.2,-2004.66,81.4,311.871,-77.9202],[11896.4,-1903.14,81.0667,311.127,-77.7936],[11874.4,-1801.91,80.7333,310.372,-77.6655],[11852.2,-1700.99,80.4,309.607,-77.5357],[11829.8,-1600.36,80.0667,308.831,-77.4043],[11807.3,-1500.04,79.7333,308.045,-77.2712],[11784.6,-1400.03,79.4,307.249,-77.1363],[11761.7,-1300.33,79.0667,306.441,-76.9997],[11738.6,-1200.96,78.7333,305.623,-76.8613],[11715.4,-1101.9,78.4,304.794,-76.721],[11692,-1003.18,78.0667,303.953,-76.5788],[11668.4,-904.788,77.7333,303.102,-76.4349],[11643.4,-801.839,77.3833,302.196,-76.2816],[11619.4,-704.144,77.05,301.322,-76.1336],[11594.1,-601.938,76.7,300.391,-75.976],[11568.5,-500.121,76.35,299.449,-75.8162],[11543.9,-403.518,76.0167,298.539,-75.6619],[11518,-302.476,75.6667,297.571,-75.4975],[11491.8,-201.839,75.3167,296.59,-75.3308],[11465.4,-101.612,74.9667,295.596,-75.1616],[11438.8,-1.80352,74.6167,294.59,-74.9899],[11412,97.5824,74.2667,293.57,-74.8157],[11385,196.539,73.9167,292.536,-74.6389],[11356.5,299.742,73.55,291.44,-74.4508],[11329,397.801,73.2,290.379,-74.2685],[11301.4,495.412,72.85,289.305,-74.0835],[11272.2,597.185,72.4833,288.165,-73.8866],[11242.7,698.452,72.1167,287.011,-73.6865],[11213,799.206,71.75,285.841,-73.4832],[11183.1,899.44,71.3833,284.656,-73.2766],[11153,999.147,71.0167,283.457,-73.0665],[11122.6,1098.32,70.65,282.242,-72.8531],[11092,1196.95,70.2833,281.012,-72.636],[11059.7,1299.47,69.9,279.709,-72.4052],[11028.6,1396.96,69.5333,278.448,-72.1806],[10995.8,1498.28,69.15,277.113,-71.9418],[10962.7,1598.98,68.7667,275.761,-71.6986],[10929.4,1699.03,68.3833,274.393,-71.4511],[10895.8,1798.44,68,273.007,-71.1991],[10862,1897.2,67.6167,271.605,-70.9424],[10826.4,1999.53,67.2167,270.125,-70.6696]]], - [60,7010.53,[[11664.2,-2002.13,82.05,312.627,-78.3355],[11643.1,-1900.21,81.7167,311.89,-78.2135],[11622.8,-1803.65,81.4,311.18,-78.0963],[11601.4,-1702.29,81.0667,310.422,-77.9713],[11579.7,-1601.23,80.7333,309.654,-77.8447],[11557.9,-1500.47,80.4,308.875,-77.7165],[11535.9,-1400.01,80.0667,308.086,-77.5866],[11514.9,-1304.86,79.75,307.326,-77.4617],[11491.4,-1200.03,79.4,306.475,-77.3218],[11468.9,-1100.51,79.0667,305.653,-77.1868],[11446.3,-1001.32,78.7333,304.82,-77.0499],[11423.4,-902.455,78.4,303.976,-76.9113],[11400.4,-803.92,78.0667,303.121,-76.7708],[11376,-700.821,77.7167,302.21,-76.6212],[11352.6,-602.981,77.3833,301.331,-76.4768],[11327.9,-500.622,77.0333,300.396,-76.3231],[11304.1,-403.496,76.7,299.494,-76.1746],[11278.9,-301.898,76.35,298.534,-76.0165],[11253.6,-200.699,76,297.56,-75.8562],[11229.3,-104.694,75.6667,296.621,-75.7013],[11203.5,-4.28851,75.3167,295.622,-75.5363],[11177.6,95.7011,74.9667,294.61,-75.3689],[11150.2,200,74.6,293.535,-75.1908],[11123.9,299.12,74.25,292.496,-75.0183],[11097.3,397.806,73.9,291.442,-74.8431],[11070.5,496.051,73.55,290.375,-74.6653],[11042.3,598.497,73.1833,289.243,-74.4761],[11015.1,695.822,72.8333,288.148,-74.2927],[10986.3,797.289,72.4667,286.986,-74.0976],[10957.4,898.245,72.1,285.809,-73.8992],[10928.2,998.682,71.7333,284.616,-73.6976],[10898.8,1098.59,71.3667,283.408,-73.4927],[10869.2,1197.97,71,282.185,-73.2844],[10839.3,1296.81,70.6333,280.945,-73.0726],[10807.8,1399.55,70.25,279.633,-72.8474],[10777.5,1497.25,69.8833,278.362,-72.6282],[10745.5,1598.79,69.5,277.017,-72.3951],[10713.3,1699.71,69.1167,275.654,-72.1577],[10680.8,1799.99,68.7333,274.275,-71.9161],[10648,1899.63,68.35,272.878,-71.67],[10615,1998.61,67.9667,271.464,-71.4195]]], - [61,7130.09,[[11401.9,-2004.83,82.7,313.397,-78.7502],[11381.4,-1902.5,82.3667,312.667,-78.6329],[11360.8,-1800.46,82.0333,311.926,-78.514],[11341.1,-1703.78,81.7167,311.214,-78.3997],[11320.1,-1602.31,81.3833,310.453,-78.2779],[11299,-1501.12,81.05,309.682,-78.1545],[11277.7,-1400.23,80.7167,308.9,-78.0296],[11257.4,-1304.67,80.4,308.147,-77.9093],[11235.8,-1204.38,80.0667,307.344,-77.7811],[11214,-1104.4,79.7333,306.53,-77.6513],[11192.1,-1004.74,79.4,305.704,-77.5197],[11168.9,-900.445,79.05,304.826,-77.3797],[11146.6,-801.446,78.7167,303.977,-77.2445],[11124.1,-702.779,78.3833,303.118,-77.1075],[11101.5,-604.447,78.05,302.247,-76.9687],[11077.6,-501.565,77.7,301.319,-76.8209],[11054.6,-403.935,77.3667,300.424,-76.6782],[11030.3,-301.801,77.0167,299.472,-76.5263],[11005.8,-200.058,76.6667,298.506,-76.3721],[10982.2,-103.529,76.3333,297.574,-76.2232],[10957.3,-2.56731,75.9833,296.582,-76.0647],[10932.2,97.9858,75.6333,295.577,-75.9038],[10907,198.124,75.2833,294.559,-75.7405],[10881.5,297.842,74.9333,293.527,-75.5748],[10855.8,397.134,74.5833,292.481,-75.4066],[10829.9,495.993,74.2333,291.422,-75.2358],[10802.6,599.088,73.8667,290.297,-75.0542],[10776.3,697.042,73.5167,289.209,-74.8781],[10748.5,799.175,73.15,288.054,-74.6908],[10721.8,896.197,72.8,286.937,-74.5091],[10693.6,997.341,72.4333,285.752,-74.3157],[10665.1,1097.97,72.0667,284.551,-74.1191],[10636.5,1198.07,71.7,283.334,-73.9193],[10607.6,1297.64,71.3333,282.102,-73.7162],[10578.5,1396.67,70.9667,280.854,-73.5097],[10547.8,1499.61,70.5833,279.532,-73.29],[10518.2,1597.51,70.2167,278.251,-73.0762],[10487,1699.26,69.8333,276.895,-72.8488],[10457,1796,69.4667,275.581,-72.6275],[10425.3,1896.51,69.0833,274.191,-72.3919],[10393.4,1996.39,68.7,272.783,-72.1521]]], - [62,7247.02,[[11129,-2002.67,83.3167,314.107,-79.1532],[11110.2,-1905.09,83,313.42,-79.0459],[11090.3,-1802.66,82.6667,312.687,-78.9316],[11070.2,-1700.5,82.3333,311.944,-78.8158],[11051,-1603.72,82.0167,311.228,-78.7045],[11030.6,-1502.12,81.6833,310.464,-78.5858],[11010,-1400.82,81.35,309.689,-78.4657],[10990.3,-1304.86,81.0333,308.943,-78.3501],[10969.5,-1204.15,80.7,308.147,-78.2268],[10948.4,-1103.74,80.3667,307.34,-78.1019],[10927.2,-1003.64,80.0333,306.522,-77.9754],[10905.9,-903.858,79.7,305.693,-77.8473],[10884.3,-804.397,79.3667,304.852,-77.7174],[10861.5,-700.313,79.0167,303.957,-77.5792],[10839.7,-601.522,78.6833,303.093,-77.4457],[10817.6,-503.067,78.35,302.217,-77.3105],[10794.3,-400.053,78,301.285,-77.1665],[10771.9,-302.298,77.6667,300.385,-77.0275],[10748.2,-200.031,77.3167,299.427,-76.8794],[10725.5,-102.997,76.9833,298.502,-76.7364],[10701.4,-1.49783,76.6333,297.518,-76.5841],[10677.2,99.5994,76.2833,296.52,-76.4296],[10653.9,195.504,75.95,295.557,-76.2803],[10629.3,295.799,75.6,294.533,-76.1212],[10604.5,395.675,75.25,293.495,-75.9599],[10578.2,499.851,74.8833,292.392,-75.7882],[10553,598.85,74.5333,291.326,-75.6218],[10527.6,697.411,74.1833,290.245,-75.4528],[10502,795.527,73.8333,289.15,-75.2813],[10475,897.832,73.4667,287.987,-75.0988],[10447.7,999.636,73.1,286.809,-74.9133],[10421.5,1096.34,72.75,285.67,-74.7334],[10393.8,1197.14,72.3833,284.46,-74.5419],[10365.9,1297.42,72.0167,283.235,-74.3472],[10337.8,1397.16,71.65,281.993,-74.1492],[10309.4,1496.37,71.2833,280.736,-73.948],[10279.5,1599.5,70.9,279.404,-73.7339],[10250.7,1697.58,70.5333,278.113,-73.5255],[10220.4,1799.52,70.15,276.746,-73.3039],[10191.1,1896.44,69.7833,275.421,-73.0881],[10160.3,1997.15,69.4,274.019,-72.8585]]], - [63,7361.23,[[10846.7,-2000.75,83.9167,314.795,-79.5509],[10828.5,-1902.84,83.6,314.114,-79.4478],[10809.3,-1800.03,83.2667,313.388,-79.3378],[10790.9,-1702.62,82.95,312.688,-79.2322],[10771.3,-1600.36,82.6167,311.942,-79.1195],[10752.6,-1503.48,82.3,311.222,-79.0112],[10732.8,-1401.78,81.9667,310.455,-78.8957],[10712.7,-1300.37,81.6333,309.677,-78.7787],[10693.6,-1204.31,81.3167,308.927,-78.6662],[10673.3,-1103.49,80.9833,308.127,-78.5462],[10652.8,-1002.97,80.65,307.316,-78.4247],[10632.2,-902.762,80.3167,306.494,-78.3016],[10611.4,-802.87,79.9833,305.66,-78.1768],[10590.4,-703.297,79.65,304.815,-78.0504],[10569.3,-604.048,79.3167,303.958,-77.9223],[10547,-500.191,78.9667,303.046,-77.7859],[10525.5,-401.622,78.6333,302.165,-77.6543],[10503.9,-303.391,78.3,301.273,-77.5208],[10481,-200.618,77.95,300.322,-77.3787],[10459.1,-103.096,77.6167,299.405,-77.2415],[10435.9,-1.07785,77.2667,298.428,-77.0953],[10413.6,95.7145,76.9333,297.485,-76.9542],[10390,196.955,76.5833,296.482,-76.8038],[10366.2,297.789,76.2333,295.465,-76.6512],[10342.2,398.21,75.8833,294.434,-76.4964],[10318.1,498.213,75.5333,293.389,-76.3392],[10293.7,597.79,75.1833,292.329,-76.1797],[10269.2,696.937,74.8333,291.256,-76.0177],[10244.5,795.647,74.4833,290.168,-75.8533],[10218.4,898.582,74.1167,289.013,-75.6783],[10193.3,996.377,73.7667,287.895,-75.5087],[10166.7,1098.34,73.4,286.709,-75.3281],[10140,1199.8,73.0333,285.506,-75.1445],[10114.3,1296.16,72.6833,284.343,-74.9665],[10087.2,1396.6,72.3167,283.109,-74.7769],[10059.8,1496.51,71.95,281.858,-74.5842],[10032.2,1595.88,71.5833,280.591,-74.3883],[10003.2,1699.18,71.2,279.248,-74.1798],[9975.15,1797.43,70.8333,277.947,-73.9769],[9945.63,1899.54,70.45,276.569,-73.761],[9917.17,1996.63,70.0833,275.233,-73.5508]]], - [64,7472.55,[[10555.9,-2004.49,84.5167,315.495,-79.9492],[10537.5,-1901.06,84.1833,314.786,-79.845],[10519.9,-1803.06,83.8667,314.103,-79.7447],[10501.2,-1700.16,83.5333,313.373,-79.6378],[10483.3,-1602.66,83.2167,312.67,-79.535],[10464.3,-1500.3,82.8833,311.92,-79.4255],[10446.1,-1403.33,82.5667,311.198,-79.3202],[10426.8,-1301.53,82.2333,310.426,-79.2079],[10407.3,-1200.02,81.9,309.644,-79.0942],[10388.7,-1103.87,81.5833,308.891,-78.9848],[10369,-1002.94,81.25,308.087,-78.8681],[10349.1,-902.327,80.9167,307.272,-78.75],[10329,-802.019,80.5833,306.445,-78.6302],[10308.8,-702.026,80.25,305.607,-78.5089],[10288.4,-602.351,79.9167,304.757,-78.386],[10267.9,-503,79.5833,303.895,-78.2614],[10247.2,-403.977,79.25,303.022,-78.1351],[10225.3,-300.361,78.9,302.091,-78.0007],[10204.3,-202.025,78.5667,301.193,-77.8709],[10183.1,-104.032,78.2333,300.283,-77.7393],[10160.7,-1.51381,77.8833,299.314,-77.5992],[10139.2,95.7613,77.55,298.378,-77.4639],[10116.5,197.515,77.2,297.382,-77.3197],[10093.5,298.869,76.85,296.372,-77.1735],[10070.4,399.816,76.5,295.348,-77.025],[10048.3,495.573,76.1667,294.36,-76.8816],[10024.8,595.711,75.8167,293.308,-76.7288],[10001.1,695.424,75.4667,292.242,-76.5737],[9976.15,799.424,75.1,291.11,-76.4087],[9952.12,898.25,74.75,290.014,-76.2486],[9927.9,996.634,74.4,288.903,-76.0862],[9902.33,1099.22,74.0333,287.724,-75.9133],[9877.73,1196.68,73.6833,286.583,-75.7456],[9851.76,1298.28,73.3167,285.372,-75.5671],[9825.58,1399.37,72.95,284.144,-75.3856],[9799.19,1499.93,72.5833,282.9,-75.2011],[9772.6,1599.97,72.2167,281.639,-75.0135],[9745.79,1699.46,71.85,280.361,-74.8226],[9718.78,1798.42,71.4833,279.066,-74.6286],[9691.56,1896.81,71.1167,277.754,-74.4311],[9662.87,1999.08,70.7333,276.365,-74.2211]]], - [65,7580.92,[[10254.9,-2003.55,85.0833,316.139,-80.3382],[10238,-1904.97,84.7667,315.472,-80.2432],[10220.2,-1801.46,84.4333,314.759,-80.1419],[10203,-1703.37,84.1167,314.073,-80.0445],[10184.9,-1600.39,83.7833,313.34,-79.9408],[10167.5,-1502.81,83.4667,312.634,-79.8409],[10149,-1400.37,83.1333,311.88,-79.7346],[10131.4,-1303.31,82.8167,311.153,-79.6323],[10112.6,-1201.42,82.4833,310.378,-79.5232],[10094.7,-1104.9,82.1667,309.631,-79.4183],[10075.7,-1003.58,81.8333,308.834,-79.3065],[10056.5,-902.569,81.5,308.026,-79.1932],[10037.2,-801.86,81.1667,307.206,-79.0784],[10017.7,-701.461,80.8333,306.375,-78.9621],[9998.07,-601.375,80.5,305.532,-78.8442],[9978.29,-501.607,80.1667,304.677,-78.7248],[9958.36,-402.163,79.8333,303.81,-78.6038],[9938.28,-303.046,79.5,302.931,-78.4811],[9918.04,-204.261,79.1667,302.04,-78.3568],[9896.63,-100.9,78.8167,301.091,-78.2244],[9876.07,-2.8118,78.4833,300.175,-78.0966],[9854.32,99.8072,78.1333,299.2,-77.9604],[9833.44,197.178,77.8,298.258,-77.8289],[9811.35,299.034,77.45,297.255,-77.6888],[9790.15,395.667,77.1167,296.287,-77.5535],[9767.71,496.736,76.7667,295.257,-77.4094],[9745.1,597.394,76.4167,294.212,-77.263],[9722.31,697.634,76.0667,293.153,-77.1145],[9699.35,797.451,75.7167,292.079,-76.9638],[9676.2,896.838,75.3667,290.99,-76.8107],[9652.88,995.79,75.0167,289.887,-76.6553],[9628.25,1098.98,74.65,288.715,-76.4899],[9604.56,1197.02,74.3,287.581,-76.3295],[9579.54,1299.24,73.9333,286.377,-76.1587],[9555.48,1396.34,73.5833,285.212,-75.9931],[9530.07,1497.56,73.2167,283.975,-75.8168],[9504.46,1598.26,72.85,282.721,-75.6375],[9478.65,1698.43,72.4833,281.45,-75.4551],[9452.64,1798.06,72.1167,280.162,-75.2697],[9426.42,1897.15,71.75,278.856,-75.0811],[9400,1995.69,71.3833,277.534,-74.8892]]], - [66,7686.2,[[9944.59,-2003.27,85.6333,316.764,-80.7238],[9928.37,-1904.38,85.3167,316.102,-80.6327],[9911.15,-1800.54,84.9833,315.396,-80.5356],[9894.67,-1702.14,84.6667,314.715,-80.4423],[9878.06,-1603.98,84.35,314.025,-80.3478],[9860.45,-1500.92,84.0167,313.288,-80.2471],[9843.58,-1403.26,83.7,312.578,-80.1503],[9825.69,-1300.74,83.3667,311.82,-80.0471],[9808.56,-1203.6,83.05,311.09,-79.9479],[9790.39,-1101.63,82.7167,310.31,-79.8421],[9773,-1005.03,82.4,309.559,-79.7403],[9754.55,-903.637,82.0667,308.758,-79.6319],[9735.96,-802.542,81.7333,307.945,-79.5219],[9717.23,-701.75,81.4,307.12,-79.4106],[9698.34,-601.268,81.0667,306.284,-79.2977],[9679.32,-501.099,80.7333,305.436,-79.1834],[9660.14,-401.248,80.4,304.576,-79.0675],[9640.81,-301.719,80.0667,303.703,-78.9501],[9621.34,-202.518,79.7333,302.819,-78.831],[9601.72,-103.648,79.4,301.922,-78.7104],[9580.95,-0.198164,79.05,300.967,-78.5819],[9561.02,97.9756,78.7167,300.045,-78.4578],[9540.93,195.803,78.3833,299.11,-78.332],[9519.68,298.142,78.0333,298.115,-78.1981],[9499.28,395.243,77.7,297.153,-78.0686],[9477.7,496.808,77.35,296.13,-77.9308],[9455.95,597.969,77,295.092,-77.7909],[9434.03,698.719,76.65,294.04,-77.6488],[9411.93,799.051,76.3,292.973,-77.5047],[9389.66,898.96,75.95,291.891,-77.3583],[9367.22,998.44,75.6,290.794,-77.2097],[9344.61,1097.48,75.25,289.682,-77.0587],[9321.82,1196.09,74.9,288.555,-76.9055],[9297.76,1298.9,74.5333,287.358,-76.7424],[9274.61,1396.58,74.1833,286.2,-76.5842],[9250.17,1498.41,73.8167,284.97,-76.4157],[9225.53,1599.73,73.45,283.722,-76.2445],[9201.83,1695.96,73.1,282.515,-76.0783],[9176.82,1796.25,72.7333,281.234,-75.9013],[9151.6,1896.01,72.3667,279.936,-75.7213],[9125.03,1999.72,71.9833,278.559,-75.5298]]], - [67,7788.29,[[9625.03,-2003.71,86.1667,317.366,-81.1064],[9609.44,-1904.52,85.85,316.71,-81.0192],[9592.9,-1800.37,85.5167,316.01,-80.9263],[9577.06,-1701.66,85.2,315.336,-80.8369],[9561.1,-1603.19,84.8833,314.652,-80.7465],[9545.02,-1504.97,84.5667,313.958,-80.655],[9527.96,-1401.83,84.2333,313.217,-80.5575],[9511.63,-1304.11,83.9167,312.503,-80.4637],[9494.31,-1201.51,83.5833,311.741,-80.3638],[9477.73,-1104.31,83.2667,311.006,-80.2676],[9460.14,-1002.27,82.9333,310.222,-80.1651],[9442.41,-900.521,82.6,309.427,-80.0613],[9425.44,-804.133,82.2833,308.66,-79.9614],[9407.44,-702.964,81.95,307.842,-79.8549],[9389.3,-602.1,81.6167,307.013,-79.747],[9371.01,-501.544,81.2833,306.171,-79.6377],[9352.59,-401.301,80.95,305.318,-79.5269],[9334.02,-301.375,80.6167,304.452,-79.4146],[9315.31,-201.772,80.2833,303.574,-79.3008],[9296.45,-102.496,79.95,302.684,-79.1855],[9277.46,-3.55146,79.6167,301.781,-79.0686],[9257.35,99.9778,79.2667,300.82,-78.944],[9238.05,198.227,78.9333,299.891,-78.8238],[9218.6,296.129,78.6,298.95,-78.7019],[9198.03,398.549,78.25,297.947,-78.572],[9178.28,495.725,77.9167,296.979,-78.4466],[9157.38,597.371,77.5667,295.948,-78.3129],[9136.32,698.611,77.2167,294.903,-78.1773],[9115.1,799.441,76.8667,293.843,-78.0396],[9093.7,899.854,76.5167,292.767,-77.8998],[9072.15,999.843,76.1667,291.677,-77.7579],[9050.42,1099.4,75.8167,290.572,-77.6138],[9028.52,1198.53,75.4667,289.451,-77.4674],[9006.46,1297.21,75.1167,288.315,-77.3188],[8984.23,1395.44,74.7667,287.163,-77.1679],[8960.75,1497.87,74.4,285.94,-77.0072],[8937.09,1599.79,74.0333,284.7,-76.8438],[8914.33,1696.59,73.6833,283.499,-76.6853],[8890.3,1797.5,73.3167,282.225,-76.5165],[8866.08,1897.87,72.95,280.932,-76.3448],[8841.67,1997.71,72.5833,279.622,-76.1701]]], - [68,7887.04,[[9296.29,-2005.06,86.6833,317.949,-81.4867],[9280.54,-1900.36,86.35,317.265,-81.3989],[9265.46,-1801.13,86.0333,316.605,-81.3146],[9250.26,-1702.14,85.7167,315.936,-81.2292],[9234.95,-1603.37,85.4,315.258,-81.1428],[9219.53,-1504.84,85.0833,314.57,-81.0553],[9203.16,-1401.39,84.75,313.835,-80.9621],[9187.5,-1303.36,84.4333,313.128,-80.8725],[9170.88,-1200.43,84.1,312.371,-80.777],[9154.97,-1102.91,83.7833,311.643,-80.6851],[9138.09,-1000.54,83.45,310.865,-80.5872],[9121.93,-903.545,83.1333,310.115,-80.493],[9104.8,-801.732,82.8,309.315,-80.3926],[9087.52,-700.215,82.4667,308.503,-80.2908],[9070.99,-604.05,82.15,307.721,-80.1929],[9053.46,-503.121,81.8167,306.886,-80.0885],[9035.78,-402.499,81.4833,306.039,-79.9827],[9017.97,-302.191,81.15,305.179,-79.8756],[9000.02,-202.2,80.8167,304.308,-79.7669],[8981.94,-102.532,80.4833,303.424,-79.6568],[8963.71,-3.18975,80.15,302.528,-79.5452],[8945.35,95.8204,79.8167,301.619,-79.4321],[8925.91,199.419,79.4667,300.651,-79.3116],[8907.26,297.734,79.1333,299.715,-79.1952],[8888.46,395.702,78.8,298.767,-79.0773],[8868.57,498.191,78.45,297.757,-78.9516],[8849.49,595.434,78.1167,296.782,-78.8302],[8829.29,697.148,77.7667,295.743,-78.7008],[8808.93,798.458,77.4167,294.69,-78.5695],[8788.41,899.357,77.0667,293.622,-78.4362],[8767.74,999.839,76.7167,292.538,-78.3009],[8746.9,1099.9,76.3667,291.439,-78.1635],[8725.9,1199.53,76.0167,290.325,-78.024],[8704.74,1298.72,75.6667,289.195,-77.8823],[8683.41,1397.47,75.3167,288.05,-77.7384],[8661.92,1495.78,74.9667,286.888,-77.5922],[8639.23,1598.27,74.6,285.655,-77.4366],[8617.41,1695.64,74.25,284.461,-77.2856],[8594.37,1797.13,73.8833,283.193,-77.1248],[8571.14,1898.11,73.5167,281.907,-76.9613],[8547.73,1998.56,73.15,280.603,-76.795]]], - [69,7982.41,[[8957.64,-2002.1,87.1667,318.48,-81.861],[8943.31,-1902.37,86.85,317.835,-81.7814],[8928.87,-1802.86,86.5333,317.181,-81.7009],[8914.32,-1703.58,86.2167,316.518,-81.6195],[8899.66,-1604.53,85.9,315.845,-81.537],[8884.11,-1500.52,85.5667,315.127,-81.4492],[8869.22,-1401.95,85.25,314.434,-81.3647],[8854.21,-1303.62,84.9333,313.732,-81.2792],[8838.3,-1200.38,84.6,312.981,-81.1881],[8823.06,-1102.56,84.2833,312.258,-81.1005],[8807.71,-1004.99,83.9667,311.525,-81.0117],[8791.42,-902.554,83.6333,310.742,-80.9172],[8775.01,-800.409,83.3,309.948,-80.8214],[8759.3,-703.64,82.9833,309.183,-80.7292],[8742.64,-602.067,82.65,308.365,-80.631],[8725.84,-500.792,82.3167,307.536,-80.5314],[8709.77,-404.863,82,306.737,-80.4356],[8692.72,-304.186,81.6667,305.885,-80.3335],[8675.53,-203.821,81.3333,305.02,-80.2299],[8658.22,-103.774,81,304.142,-80.125],[8640.77,-4.04925,80.6667,303.252,-80.0186],[8623.18,95.3487,80.3333,302.349,-79.9108],[8604.57,199.36,79.9833,301.388,-79.796],[8586.71,298.072,79.65,300.459,-79.6852],[8568.71,396.444,79.3167,299.517,-79.5728],[8549.67,499.36,78.9667,298.513,-79.453],[8531.39,597.016,78.6333,297.544,-79.3373],[8512.05,699.169,78.2833,296.511,-79.2141],[8493.49,796.087,77.95,295.514,-79.095],[8473.85,897.456,77.6,294.453,-78.9681],[8454.05,998.413,77.25,293.376,-78.8393],[8434.1,1098.95,76.9,292.284,-78.7086],[8414,1199.07,76.55,291.176,-78.5758],[8393.74,1298.76,76.2,290.052,-78.4409],[8373.32,1398.01,75.85,288.913,-78.304],[8352.75,1496.82,75.5,287.758,-78.1649],[8331.03,1599.85,75.1333,286.531,-78.0168],[8310.13,1697.73,74.7833,285.342,-77.8731],[8288.07,1799.78,74.4167,284.08,-77.7201],[8266.84,1896.71,74.0667,282.859,-77.5716],[8244.44,1997.74,73.7,281.561,-77.4135]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 8640.77; -_maxRange = 13671.2; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg1.sqf deleted file mode 100644 index 27ebaf3ff2..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg1.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg1 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[3729.54,-2001.61,21.2833,230.168,-50.2809],[3645.79,-1902.34,20.7167,228.177,-49.3847],[3558.72,-1802.43,20.1333,226.146,-48.4363],[3468.25,-1702.12,19.5333,224.082,-47.4329],[3374.29,-1601.65,18.9167,221.991,-46.3714],[3276.78,-1501.28,18.2833,219.881,-45.2486],[3175.63,-1401.27,17.6333,217.759,-44.0613],[3070.75,-1301.9,16.9667,215.637,-42.8059],[2959.39,-1201.12,16.2667,213.474,-41.4462],[2844.06,-1101.75,15.55,211.338,-40.0095],[2721.94,-1001.95,14.8,209.199,-38.457],[2590.07,-900.304,14,207.038,-36.7456],[2453.74,-801.73,13.1833,204.974,-34.9398],[2304.31,-701.107,12.3,202.922,-32.9203],[2144.21,-601.665,11.3667,200.981,-30.7135],[1967.19,-501.519,10.35,199.158,-28.2273],[1766.64,-400.102,9.21667,197.525,-25.361],[1541.46,-300.974,7.96667,196.262,-22.0947],[1265.66,-200.004,6.46667,195.573,-18.0531],[904.2,-100.216,4.55,196.145,-12.7497],[30.7102,-0.0224986,0.133333,204.528,-0.411657],[3.41578,0.0972759,0,204.947,-0.0456931]]], - [1,0.720477,[[3785.34,-2002.27,21.65,229.814,-50.4271],[3699.52,-1900.06,21.0667,227.747,-49.5055],[3612.82,-1800.16,20.4833,225.7,-48.5576],[3525.26,-1702.61,19.9,223.676,-47.5828],[3431.75,-1602.08,19.2833,221.566,-46.5223],[3334.69,-1501.65,18.65,219.434,-45.4003],[3234.02,-1401.59,18,217.291,-44.2136],[3129.63,-1302.16,17.3333,215.145,-42.9586],[3018.8,-1201.31,16.6333,212.958,-41.599],[2904.03,-1101.88,15.9167,210.796,-40.162],[2782.5,-1002.03,15.1667,208.628,-38.6088],[2651.27,-900.322,14.3667,206.436,-36.8961],[2515.6,-801.69,13.55,204.339,-35.0882],[2366.91,-701.007,12.6667,202.251,-33.0658],[2207.6,-601.505,11.7333,200.27,-30.8548],[2031.48,-501.299,10.7167,198.405,-28.3629],[1834.9,-401.233,9.6,196.744,-25.5316],[1607.92,-300.631,8.33333,195.405,-22.2116],[1336.65,-200.608,6.85,194.652,-18.2001],[977.217,-100.459,4.93333,195.126,-12.8738],[152.818,-0.0413498,0.733333,202.642,-1.06799],[74.9322,0.720001,0.35,203.807,-0.00803394]]], - [2,2.63062,[[3839.84,-2002.05,22.0167,229.455,-50.5823],[3756.89,-1902.66,21.45,227.431,-49.6889],[3670.64,-1802.63,20.8667,225.365,-48.7432],[3581.03,-1702.19,20.2667,223.264,-47.7422],[3487.97,-1601.59,19.65,221.133,-46.6829],[3391.4,-1501.09,19.0167,218.98,-45.5619],[3291.22,-1400.95,18.3667,216.814,-44.376],[3187.35,-1301.46,17.7,214.644,-43.1216],[3077.07,-1200.54,17,212.43,-41.7623],[2962.87,-1101.04,16.2833,210.241,-40.3251],[2841.96,-1001.11,15.5333,208.043,-38.7713],[2714.13,-901.395,14.75,205.863,-37.0937],[2576.42,-800.62,13.9167,203.688,-35.2476],[2431.31,-701.703,13.05,201.6,-33.2611],[2270.02,-600.281,12.1,199.54,-31.0072],[2097.72,-501.57,11.1,197.657,-28.5513],[1902.24,-401.265,9.98333,195.939,-25.7135],[1676.54,-300.393,8.71667,194.533,-22.3838],[1406.83,-200.059,7.23333,193.701,-18.3577],[1052.65,-100.241,5.33333,194.062,-13.0547],[297.073,-0.114692,1.45,200.441,-2.06704],[149.373,2.62931,0.716667,202.567,-0.0221073]]], - [3,5.81348,[[3893.01,-2000.99,22.3833,229.093,-50.7467],[3810.48,-1901.51,21.8167,227.051,-49.8549],[3724.67,-1801.4,21.2333,224.967,-48.9107],[3635.51,-1700.88,20.6333,222.846,-47.9112],[3542.93,-1600.21,20.0167,220.694,-46.8533],[3449.4,-1502.23,19.4,218.575,-45.7634],[3349.76,-1401.93,18.75,216.384,-44.5794],[3246.46,-1302.27,18.0833,214.188,-43.3268],[3136.79,-1201.18,17.3833,211.945,-41.9689],[3023.22,-1101.5,16.6667,209.725,-40.5329],[2902.97,-1001.39,15.9167,207.495,-38.9798],[2775.86,-901.487,15.1333,205.279,-37.3024],[2638.92,-800.511,14.3,203.063,-35.4557],[2494.63,-701.384,13.4333,200.933,-33.4679],[2337.09,-601.456,12.5,198.86,-31.2515],[2162.95,-500.787,11.4833,196.89,-28.7511],[1968.61,-400.22,10.3667,195.111,-25.9068],[1747.22,-300.294,9.11667,193.652,-22.612],[1482.23,-200.426,7.65,192.732,-18.6184],[1133.51,-100.344,5.76667,192.947,-13.3407],[439.504,-0.161369,2.16667,198.294,-3.08908],[223.26,5.81099,1.08333,201.281,-0.0425405]]], - [4,10.2521,[[3947.2,-2002.05,22.7667,228.789,-50.946],[3865.12,-1902.43,22.2,226.729,-50.0567],[3779.8,-1802.16,21.6167,224.625,-49.1151],[3691.14,-1701.48,21.0167,222.482,-48.1181],[3599.09,-1600.64,20.4,220.308,-47.0625],[3506.08,-1502.5,19.7833,218.166,-45.9749],[3407.01,-1402.03,19.1333,215.949,-44.793],[3304.3,-1302.19,18.4667,213.725,-43.5423],[3195.25,-1200.91,17.7667,211.453,-42.1861],[3082.34,-1101.04,17.05,209.201,-40.7514],[2962.78,-1000.73,16.3,206.936,-39.1992],[2836.41,-900.624,15.5167,204.683,-37.5222],[2703.01,-801.399,14.7,202.47,-35.7128],[2556.83,-700.077,13.8167,200.252,-33.6861],[2403.04,-601.633,12.9,198.165,-31.5076],[2229.98,-500.562,11.8833,196.135,-29.0044],[2039.77,-400.982,10.7833,194.312,-26.1984],[1819.85,-300.38,9.53333,192.765,-22.8968],[1559.65,-200.75,8.08333,191.747,-18.9373],[1216.5,-100.104,6.21667,191.8,-13.6861],[580.022,-0.216804,2.88333,196.205,-4.13457],[293.2,10.2508,1.43333,200,-0.0228232]]], - [5,15.9269,[[3999.94,-2002.33,23.15,228.484,-51.1542],[3918.34,-1902.55,22.5833,226.405,-50.2677],[3833.51,-1802.11,22,224.281,-49.3288],[3745.38,-1701.27,21.4,222.116,-48.3344],[3653.86,-1600.25,20.7833,219.919,-47.2815],[3561.4,-1501.93,20.1667,217.753,-46.1963],[3462.91,-1401.27,19.5167,215.509,-45.0168],[3360.81,-1301.24,18.85,213.258,-43.7681],[3255.01,-1202.14,18.1667,211.008,-42.4467],[3142.8,-1101.98,17.45,208.722,-41.0146],[3023.99,-1001.36,16.7,206.419,-39.4648],[2898.41,-900.922,15.9167,204.125,-37.7896],[2765.86,-801.358,15.1,201.868,-35.9813],[2623.37,-701.529,14.2333,199.64,-33.9938],[2467.81,-600.843,13.3,197.458,-31.7755],[2298.71,-500.942,12.3,195.397,-29.3116],[2109.78,-400.747,11.2,193.498,-26.5022],[1894.3,-300.704,9.96667,191.88,-23.2388],[1635.97,-200.04,8.51667,190.743,-19.2688],[1304.57,-100.366,6.7,190.62,-14.1396],[715.318,-0.02505,3.58333,194.21,-5.15586],[362.511,15.9264,1.78333,198.675,-0.00948526]]], - [6,22.8182,[[4051.18,-2001.86,23.5333,228.18,-51.3714],[3970.08,-1901.91,22.9667,226.081,-50.4878],[3885.76,-1801.29,22.3833,223.936,-49.5518],[3798.16,-1700.26,21.7833,221.749,-48.5603],[3709.68,-1601.75,21.1833,219.587,-47.539],[3615.31,-1500.55,20.55,217.337,-46.4276],[3519.95,-1402.24,19.9167,215.124,-45.2813],[3418.5,-1301.92,19.25,212.842,-44.0361],[3310.81,-1200.14,18.55,210.506,-42.6851],[3201.9,-1102.05,17.85,208.239,-41.2887],[3083.87,-1001.11,17.1,205.897,-39.7414],[2959.1,-900.333,16.3167,203.56,-38.0682],[2827.42,-800.414,15.5,201.257,-36.2614],[2685.86,-700.207,14.6333,198.979,-34.2745],[2534.12,-600.855,13.7167,196.778,-32.0958],[2366.19,-500.378,12.7167,194.648,-29.6311],[2181.45,-400.996,11.6333,192.698,-26.8621],[1967.55,-300.056,10.4,190.981,-23.5937],[1717.08,-200.456,8.98333,189.742,-19.7063],[1394.45,-100.48,7.2,189.426,-14.6549],[851.793,-0.155005,4.3,192.243,-6.24891],[431.135,22.8181,2.13333,197.307,-0.00282648]]], - [7,30.9053,[[4100.9,-2000.68,23.9167,227.878,-51.5974],[4020.31,-1900.53,23.35,225.759,-50.7169],[3938.93,-1802.58,22.7833,223.654,-49.8111],[3851.9,-1701.28,22.1833,221.444,-48.8235],[3764,-1602.51,21.5833,219.257,-47.806],[3670.25,-1501.02,20.95,216.98,-46.6986],[3575.53,-1402.43,20.3167,214.738,-45.556],[3474.75,-1301.81,19.65,212.425,-44.3144],[3370.33,-1202.11,18.9667,210.11,-42.9995],[3259.59,-1101.31,18.25,207.752,-41.5736],[3142.36,-1000.02,17.5,205.371,-40.0292],[3021.09,-900.996,16.7333,203.04,-38.3946],[2890.33,-800.595,15.9167,200.686,-36.5908],[2752.5,-701.754,15.0667,198.396,-34.6448],[2601.87,-601.732,14.15,196.129,-32.4687],[2435.19,-500.517,13.15,193.925,-30.005],[2251.83,-400.33,12.0667,191.889,-27.2347],[2045.32,-301.046,10.8667,190.112,-24.0518],[1799.84,-201.046,9.46667,188.744,-20.2041],[1485.99,-100.546,7.71667,188.225,-15.233],[982.964,-0.00568956,5,190.371,-7.3175],[499.017,30.9051,2.48333,195.897,-0.0031509]]], - [8,40.1662,[[4151.39,-2001.79,24.3167,227.64,-51.8581],[4071.34,-1901.39,23.75,225.501,-50.9817],[3988.12,-1800.32,23.1667,223.312,-50.0529],[3904.08,-1701.6,22.5833,221.14,-49.0964],[3816.78,-1602.55,21.9833,218.928,-48.0829],[3723.67,-1500.77,21.35,216.623,-46.9795],[3629.6,-1401.88,20.7167,214.353,-45.8408],[3529.52,-1300.95,20.05,212.008,-44.6031],[3425.82,-1200.92,19.3667,209.659,-43.2918],[3318.42,-1102.09,18.6667,207.319,-41.903],[3202.02,-1000.35,17.9167,204.894,-40.363],[3081.63,-900.856,17.15,202.518,-38.7322],[2954.49,-801.963,16.35,200.161,-36.9692],[2815,-700.594,15.4833,197.767,-34.9884],[2665.47,-600.005,14.5667,195.437,-32.8137],[2505.58,-501.43,13.6,193.232,-30.4335],[2323.67,-400.262,12.5167,191.103,-27.664],[2121.69,-301.188,11.3333,189.24,-24.5235],[1881.18,-200.795,9.95,187.743,-20.7163],[1579.05,-100.679,8.25,187.027,-15.8748],[1115.08,-0.376153,5.71667,188.542,-8.45898],[566.102,40.1656,2.83333,194.447,-0.0107744]]], - [9,50.578,[[4200.23,-2002.26,24.7167,227.407,-52.1272],[4120.74,-1901.59,24.15,225.246,-51.2551],[4038.11,-1800.24,23.5667,223.035,-50.3306],[3954.66,-1701.24,22.9833,220.839,-49.3784],[3867.97,-1601.9,22.3833,218.602,-48.3692],[3777.97,-1502.46,21.7667,216.33,-47.2995],[3682.12,-1400.61,21.1167,213.969,-46.1357],[3585.25,-1301.85,20.4667,211.651,-44.9334],[3482.31,-1201.4,19.7833,209.266,-43.6272],[3375.71,-1102.13,19.0833,206.886,-42.2432],[3262.76,-1002.15,18.35,204.472,-40.7426],[3143.3,-902.074,17.5833,202.047,-39.1173],[3014.5,-800.55,16.7667,199.587,-37.3219],[2878.73,-700.533,15.9167,197.18,-35.3828],[2733.09,-601.013,15.0167,194.823,-33.2516],[2574.49,-501.549,14.05,192.538,-30.8748],[2396.87,-400.871,12.9833,190.346,-28.1499],[2196.6,-300.518,11.8,188.367,-25.0092],[1963.94,-200.868,10.45,186.758,-21.2898],[1670.51,-100.117,8.78333,185.838,-16.5329],[1241.82,-0.442445,6.41667,186.806,-9.57551],[632.337,50.5765,3.18333,192.957,-0.0260262]]], - [10,62.1164,[[4247.39,-2002.14,25.1167,227.18,-52.405],[4168.48,-1901.19,24.55,224.997,-51.5374],[4088.8,-1802.42,23.9833,222.826,-50.6442],[4003.6,-1700.26,23.3833,220.543,-49.6698],[3917.54,-1600.61,22.7833,218.28,-48.6651],[3828.2,-1500.86,22.1667,215.98,-47.6],[3735.5,-1401.26,21.5333,213.649,-46.4709],[3639.37,-1302.08,20.8833,211.298,-45.274],[3537.22,-1201.19,20.2,208.876,-43.9731],[3431.42,-1101.48,19.5,206.457,-42.5943],[3319.34,-1001.02,18.7667,203.999,-41.0986],[3200.8,-900.447,18,201.526,-39.4779],[3075.61,-800.418,17.2,199.063,-37.7239],[2943.59,-701.646,16.3667,196.641,-35.8281],[2799.16,-601.285,15.4667,194.213,-33.7021],[2641.88,-500.909,14.5,191.845,-31.3291],[2468.52,-400.73,13.45,189.591,-28.6494],[2272.8,-300.419,12.2833,187.52,-25.5541],[2045.12,-200.218,10.95,185.778,-21.8785],[1766.19,-100.728,9.35,184.671,-17.3045],[1363.22,-0.0844597,7.1,185.154,-10.6662],[694.479,62.1164,3.51667,191.475,-0.000333055]]], - [11,74.7582,[[4292.82,-2001.45,25.5167,226.958,-52.6915],[4214.5,-1900.21,24.95,224.755,-51.8286],[4135.42,-1801.15,24.3833,222.561,-50.9401],[4053.22,-1701.48,23.8,220.316,-49.9979],[3967.83,-1601.45,23.2,218.026,-48.9988],[3879.18,-1501.3,22.5833,215.697,-47.9393],[3787.21,-1401.29,21.95,213.335,-46.8159],[3691.82,-1301.68,21.3,210.949,-45.6247],[3590.48,-1200.34,20.6167,208.49,-44.3296],[3485.52,-1100.16,19.9167,206.031,-42.9562],[3376.86,-1001.46,19.2,203.585,-41.5003],[3259.29,-900.273,18.4333,201.061,-39.8858],[3137.73,-801.642,17.65,198.594,-38.1747],[3004.19,-700.145,16.8,196.06,-36.2468],[2863.62,-600.857,15.9167,193.606,-34.1651],[2710.4,-501.228,14.9667,191.196,-31.8381],[2541.31,-401.415,13.9333,188.876,-29.2059],[2350.18,-300.994,12.7833,186.708,-26.1584],[2127.49,-200.064,11.4667,184.825,-22.5293],[1860.02,-100.853,9.91667,183.528,-18.0934],[1485.32,-0.441621,7.8,183.561,-11.83],[758.882,74.7565,3.86667,189.91,-0.0314663]]], - [12,88.477,[[4336.49,-2000.24,25.9167,226.745,-52.9863],[4261.07,-1901.65,25.3667,224.584,-52.1539],[4182.63,-1802.21,24.8,222.367,-51.2711],[4101.08,-1702.17,24.2167,220.097,-50.3347],[4016.38,-1601.74,23.6167,217.78,-49.3415],[3928.45,-1501.17,23,215.421,-48.2881],[3837.21,-1400.73,22.3667,213.028,-47.1707],[3742.59,-1300.69,21.7167,210.608,-45.9854],[3644.53,-1201.33,21.05,208.171,-44.7283],[3540.44,-1100.58,20.35,205.67,-43.3619],[3432.7,-1001.29,19.6333,203.179,-41.9128],[3318.66,-901.632,18.8833,200.658,-40.3406],[3195.57,-800.184,18.0833,198.08,-38.6],[3068.39,-701.873,17.2667,195.582,-36.7546],[2929.08,-601.599,16.3833,193.051,-34.6807],[2777.24,-500.9,15.4333,190.554,-32.3603],[2612.41,-401.469,14.4167,188.17,-29.776],[2425.83,-300.957,13.2833,185.907,-26.7772],[2210.93,-200.529,12,183.909,-23.2425],[1951.95,-100.536,10.4833,182.412,-18.8998],[1602.02,-0.362823,8.48333,182.051,-12.9672],[819.143,88.4759,4.2,188.354,-0.0215444]]], - [13,103.247,[[4380.62,-2001.57,26.3333,226.605,-53.3144],[4305.82,-1902.61,25.7833,224.423,-52.4878],[4228.02,-1802.8,25.2167,222.182,-51.6109],[4147.15,-1702.35,24.6333,219.887,-50.6805],[4063.14,-1601.51,24.0333,217.543,-49.6935],[3975.94,-1500.52,23.4167,215.154,-48.6464],[3887.85,-1402.26,22.8,212.792,-47.565],[3794.04,-1301.68,22.15,210.337,-46.387],[3696.81,-1201.76,21.4833,207.861,-45.1372],[3593.62,-1100.43,20.7833,205.317,-43.7782],[3486.8,-1000.54,20.0667,202.78,-42.3362],[3373.75,-900.246,19.3167,200.208,-40.771],[3254.29,-800.191,18.5333,197.627,-39.074],[3128.24,-701.067,17.7167,195.064,-37.2361],[2992.8,-601.757,16.85,192.507,-35.2086],[2845.01,-501.686,15.9167,189.965,-32.9369],[2681.76,-400.931,14.9,187.476,-30.3598],[2499.7,-300.348,13.7833,185.121,-27.4105],[2292.5,-200.5,12.5333,183.014,-23.9713],[2044.76,-100.845,11.0667,181.34,-19.7724],[1716.3,-0.472406,9.16667,180.615,-14.1273],[1030.03,99.869,5.35,184.8,-2.48972],[878.402,103.246,4.53333,186.761,-0.0198075]]], - [14,119.041,[[4422.86,-2002.48,26.75,226.476,-53.6507],[4346.44,-1900.16,26.1833,224.206,-52.8048],[4269.27,-1800.02,25.6167,221.941,-51.9333],[4191.37,-1702.08,25.05,219.687,-51.0353],[4108.08,-1600.81,24.45,217.315,-50.0548],[4023.96,-1502.09,23.85,214.961,-49.0427],[3934.27,-1400.68,23.2167,212.503,-47.9392],[3843.66,-1302.19,22.5833,210.076,-46.7984],[3747.29,-1201.7,21.9167,207.562,-45.5563],[3647.46,-1102.15,21.2333,205.035,-44.2378],[3541.61,-1001.55,20.5167,202.45,-42.8046],[3429.58,-900.504,19.7667,199.825,-41.2482],[3313.74,-801.753,19,197.239,-39.5962],[3188.88,-701.689,18.1833,194.609,-37.7677],[3054.72,-601.371,17.3167,191.976,-35.7491],[2908.33,-500.205,16.3833,189.346,-33.4853],[2751.97,-401.45,15.4,186.836,-31.0004],[2574.45,-300.66,14.3,184.386,-28.1033],[2372.15,-200.024,13.0667,182.142,-24.716],[2135.48,-100.878,11.65,180.305,-20.6627],[1825.2,-0.0338076,9.83333,179.252,-15.2595],[1295.73,99.9188,6.83333,181.162,-6.05595],[936.615,119.04,4.86667,185.133,-0.0266042]]], - [15,135.833,[[4463.19,-2003,27.1667,226.359,-53.995],[4387.43,-1900.28,26.6,224.065,-53.1554],[4313.2,-1802.65,26.05,221.845,-52.3161],[4233.71,-1701.38,25.4667,219.498,-51.3987],[4153.45,-1602.47,24.8833,217.164,-50.4524],[4067.76,-1500.52,24.2667,214.715,-49.4196],[3981.21,-1401.28,23.65,212.289,-48.3523],[3891.42,-1302.24,23.0167,209.827,-47.2194],[3795.92,-1201.17,22.35,207.274,-45.9853],[3696.99,-1101.02,21.6667,204.705,-44.6748],[3594.55,-1002.09,20.9667,202.133,-43.2834],[3483.57,-900.28,20.2167,199.454,-41.7362],[3368.82,-800.738,19.45,196.811,-40.0931],[3247.67,-701.83,18.65,194.168,-38.3111],[3114.8,-600.484,17.7833,191.458,-36.302],[2975.04,-501.73,16.8833,188.833,-34.129],[2820.27,-401.512,15.9,186.215,-31.6546],[2647.26,-300.541,14.8167,183.672,-28.8106],[2452.54,-200.449,13.6167,181.325,-25.5231],[2224.06,-100.683,12.2333,179.31,-21.5706],[1934.47,-0.624022,10.5167,177.969,-16.4641],[1479.96,99.9421,7.9,178.728,-8.40669],[993.734,135.83,5.2,183.472,-0.0422958]]], - [16,153.593,[[4499.37,-2000.12,27.5667,226.185,-54.323],[4426.48,-1900.05,27.0167,223.937,-53.5143],[4352.91,-1802.02,26.4667,221.693,-52.6814],[4274.14,-1700.31,25.8833,219.321,-51.7709],[4194.6,-1600.96,25.3,216.96,-50.8314],[4111.98,-1501.27,24.7,214.547,-49.8339],[4026.23,-1401.5,24.0833,212.088,-48.7747],[3937.27,-1301.89,23.45,209.591,-47.6499],[3842.66,-1200.23,22.7833,206.998,-46.4242],[3747.05,-1101.87,22.1167,204.45,-45.1545],[3645.59,-1002.22,21.4167,201.831,-43.7726],[3538.13,-901.854,20.6833,199.158,-42.27],[3424.5,-801.401,19.9167,196.453,-40.6377],[3304.54,-701.534,19.1167,193.743,-38.8662],[3175.54,-601.052,18.2667,191.007,-36.9066],[3037.2,-501.075,17.3667,188.293,-34.7444],[2886.62,-401.162,16.4,185.616,-32.3224],[2718.07,-300.037,15.3333,182.983,-29.5324],[2530.85,-200.584,14.1667,180.541,-26.3458],[2310.44,-100.312,12.8167,178.359,-22.4962],[2038.33,-0.667926,11.1833,176.758,-17.6398],[1639.13,99.4858,8.85,176.714,-10.4383],[1046.69,153.592,5.51667,181.819,-0.0157495]]], - [17,172.293,[[4537.95,-2003.06,28,226.161,-54.707],[4465.75,-1902.52,27.45,223.891,-53.9056],[4390.66,-1801.05,26.8833,221.555,-53.0549],[4314.85,-1701.78,26.3167,219.225,-52.1776],[4236.07,-1601.92,25.7333,216.836,-51.2461],[4154.24,-1501.69,25.1333,214.394,-50.2568],[4069.3,-1401.36,24.5167,211.902,-49.2061],[3981.18,-1301.18,23.8833,209.37,-48.0898],[3889.82,-1201.42,23.2333,206.803,-46.9039],[3795.15,-1102.36,22.5667,204.212,-45.644],[3694.68,-1001.97,21.8667,201.544,-44.272],[3588.27,-900.818,21.1333,198.818,-42.7795],[3478.23,-801.691,20.3833,196.114,-41.1932],[3359.48,-700.847,19.5833,193.337,-39.4328],[3234.3,-601.25,18.75,190.578,-37.523],[3097.4,-500.03,17.85,187.774,-35.3726],[2950.97,-400.446,16.9,185.039,-33.0036],[2789.48,-300.731,15.8667,182.362,-30.3129],[2607.01,-200.478,14.7167,179.793,-27.1839],[2397.28,-100.993,13.4167,177.478,-23.4875],[2136.83,-0.0648172,11.8333,175.612,-18.786],[1777.12,99.9407,9.7,174.98,-12.1926],[1101.51,172.29,5.85,180.092,-0.0499008]]], - [18,191.904,[[4572.31,-2002.69,28.4167,226.083,-55.0747],[4500.8,-1901.72,27.8667,223.791,-54.2803],[4428.61,-1802.78,27.3167,221.5,-53.4619],[4351.32,-1700.09,26.7333,219.076,-52.5667],[4275.52,-1602.6,26.1667,216.729,-51.6694],[4194.48,-1501.83,25.5667,214.256,-50.6886],[4110.37,-1400.92,24.95,211.732,-49.6465],[4023.11,-1300.15,24.3167,209.163,-48.5391],[3934.97,-1202.31,23.6833,206.625,-47.393],[3838.89,-1100.09,23,203.925,-46.1114],[3741.79,-1001.39,22.3167,201.275,-44.7818],[3638.86,-901.705,21.6,198.558,-43.3342],[3529.94,-801.653,20.85,195.794,-41.7596],[3414.89,-701.882,20.0667,193.007,-40.0482],[3291.03,-601.126,19.2333,190.17,-38.1514],[3158.1,-500.477,18.35,187.328,-36.054],[3015.83,-401.121,17.4167,184.536,-33.7404],[2858.73,-301.196,16.4,181.773,-31.1074],[2680.99,-200.182,15.2667,179.081,-28.0374],[2479.07,-100.461,14,176.622,-24.4475],[2235.5,-0.708495,12.5,174.557,-20.003],[1905.92,99.9728,10.5167,173.43,-13.8732],[1152.14,191.901,6.16667,178.374,-0.0416017]]], - [19,212.395,[[4604.6,-2002.1,28.8333,226.019,-55.45],[4533.78,-1900.69,28.2833,223.705,-54.6628],[4462.3,-1801.31,27.7333,221.392,-53.8516],[4387.95,-1701.07,27.1667,219.011,-52.9898],[4310.69,-1600.2,26.5833,216.568,-52.0743],[4232.68,-1501.71,26,214.134,-51.1289],[4149.4,-1400.22,25.3833,211.578,-50.0959],[4065.3,-1301.47,24.7667,209.042,-49.0272],[3975.76,-1200.4,24.1167,206.397,-47.8608],[3885.3,-1102.45,23.4667,203.788,-46.6521],[3786.87,-1000.52,22.7667,201.025,-45.3016],[3684.99,-900.036,22.05,198.256,-43.8649],[3579.61,-801.333,21.3167,195.495,-42.3367],[3465.77,-700.568,20.5333,192.642,-40.6377],[3345.69,-600.725,19.7167,189.786,-38.7915],[3216.7,-500.678,18.85,186.91,-36.7476],[3078.54,-401.581,17.9333,184.063,-34.4901],[2925.79,-301.482,16.9333,181.219,-31.9156],[2755.33,-201.186,15.8333,178.449,-28.9519],[2561.16,-101.169,14.6,175.848,-25.4724],[2328.76,-0.716408,13.15,173.565,-21.1893],[2025.75,99.9833,11.3,172.036,-15.4769],[1478.26,199.85,8.06667,173.645,-5.12003],[1201.56,212.393,6.48333,176.624,-0.0427711]]], - [20,233.737,[[4634.79,-2001.35,29.25,225.971,-55.8329],[4566.81,-1902.55,28.7167,223.706,-55.0771],[4496.05,-1802.65,28.1667,221.37,-54.2741],[4422.47,-1701.88,27.6,218.964,-53.4209],[4345.99,-1600.45,27.0167,216.493,-52.5142],[4268.78,-1501.4,26.4333,214.031,-51.5777],[4188.6,-1402.04,25.8333,211.511,-50.5823],[4105.38,-1302.61,25.2167,208.94,-49.5239],[4016.78,-1200.81,24.5667,206.256,-48.3684],[3927.27,-1102.13,23.9167,203.605,-47.1705],[3832.2,-1001.82,23.2333,200.86,-45.864],[3731.43,-900.423,22.5167,198.037,-44.4401],[3627.18,-800.78,21.7833,195.219,-42.9246],[3516.98,-701.116,21.0167,192.36,-41.2751],[3398.23,-600.098,20.2,189.428,-39.4433],[3273.14,-500.68,19.35,186.52,-37.4532],[3136.55,-400.11,18.4333,183.571,-35.2107],[2988.07,-300.013,17.45,180.655,-32.6937],[2824.74,-200.698,16.3833,177.821,-29.8352],[2638.16,-100.691,15.1833,175.098,-26.4656],[2419.36,-1.09093,13.8,172.652,-22.3947],[2139.54,99.5078,12.0667,170.781,-17.0539],[1699.43,199.904,9.41667,170.858,-8.54588],[1246.83,233.737,6.78333,174.882,-0.00023045]]], - [21,255.898,[[4662.85,-2000.47,29.6667,225.94,-56.2232],[4595.56,-1901.22,29.1333,223.654,-55.4748],[4525.52,-1800.86,28.5833,221.294,-54.6795],[4454.84,-1702.55,28.0333,218.935,-53.8596],[4379.17,-1600.56,27.45,216.437,-52.9621],[4302.76,-1500.93,26.8667,213.945,-52.0348],[4223.42,-1400.97,26.2667,211.394,-51.0488],[4141.08,-1300.93,25.65,208.789,-50.0002],[4055.66,-1201.06,25.0167,206.136,-48.8849],[3967.12,-1101.64,24.3667,203.443,-47.6982],[3873.07,-1000.53,23.6833,200.651,-46.4034],[3775.72,-900.64,22.9833,197.843,-45.025],[3672.62,-800.04,22.25,194.966,-43.5228],[3566.02,-701.506,21.5,192.104,-41.9231],[3451.02,-601.325,20.7,189.156,-40.1442],[3327.38,-500.536,19.85,186.16,-38.1706],[3194.84,-400.263,18.95,183.163,-35.9856],[3050.63,-300.065,17.9833,180.175,-33.529],[2891.81,-200.177,16.9333,177.238,-30.7329],[2712.7,-100.303,15.7667,174.403,-27.4749],[2504.6,-0.744827,14.4333,171.793,-23.5684],[2244.69,99.593,12.8,169.638,-18.5501],[1869.33,199.546,10.5,168.829,-11.164],[1293.74,255.897,7.1,173.07,-0.0209916]]], - [22,278.847,[[4690.8,-2002.66,30.1,225.997,-56.6436],[4624.23,-1902.89,29.5667,223.691,-55.9035],[4554.95,-1801.99,29.0167,221.308,-55.117],[4482.9,-1700.18,28.45,218.853,-54.2809],[4410.17,-1600.56,27.8833,216.4,-53.4178],[4334.59,-1500.35,27.3,213.88,-52.5],[4258.29,-1402.55,26.7167,211.369,-51.5514],[4176.85,-1301.79,26.1,208.728,-50.514],[4092.38,-1201.19,25.4667,206.037,-49.4101],[4004.81,-1101.02,24.8167,203.302,-48.2351],[3914.08,-1001.55,24.15,200.533,-46.9844],[3817.82,-900.735,23.45,197.673,-45.6196],[3718.22,-801.423,22.7333,194.804,-44.1658],[3612.85,-701.784,21.9833,191.877,-42.5814],[3499.18,-600.413,21.1833,188.854,-40.8182],[3379.38,-500.291,20.35,185.832,-38.8995],[3250.85,-400.353,19.4667,182.791,-36.7726],[3110.86,-300.093,18.5167,179.736,-34.3771],[2959.02,-201.223,17.5,176.746,-31.69],[2784.75,-100.06,16.35,173.766,-28.4996],[2587.14,-0.783651,15.0667,171.011,-24.7598],[2344.05,99.6031,13.5167,168.602,-20.0163],[2012.34,199.483,11.45,167.179,-13.388],[1339.33,278.845,7.41667,171.23,-0.0524286]]], - [23,302.553,[[4714.46,-2001.69,30.5167,226.002,-57.048],[4648.61,-1901.45,29.9833,223.674,-56.3159],[4580.07,-1800.07,29.4333,221.27,-55.5376],[4510.9,-1700.72,28.8833,218.863,-54.7348],[4438.97,-1600.53,28.3167,216.383,-53.8812],[4366.36,-1502.57,27.75,213.907,-52.9996],[4288.76,-1401.3,27.15,211.293,-52.0346],[4210.4,-1302.61,26.55,208.691,-51.0359],[4126.88,-1201.26,25.9167,205.962,-49.9438],[4040.3,-1100.31,25.2667,203.186,-48.7811],[3950.6,-1000.05,24.6,200.372,-47.5427],[3857.71,-900.759,23.9167,197.529,-46.2236],[3759.25,-800.479,23.2,194.604,-44.7841],[3657.43,-702.005,22.4667,191.679,-43.2499],[3547.46,-601.51,21.6833,188.646,-41.5404],[3429.1,-500.002,20.85,185.538,-39.6398],[3304.54,-400.433,19.9833,182.458,-37.5714],[3168.71,-300.153,19.05,179.339,-35.2379],[3021.26,-200.833,18.05,176.259,-32.6155],[2854.25,-100.02,16.9333,173.187,-29.5395],[2664.39,-0.0255207,15.6833,170.274,-25.9187],[2437.67,99.6608,14.2167,167.664,-21.4513],[2137.61,199.873,12.3167,165.77,-15.373],[1501.57,299.898,8.43333,168.002,-2.42666],[1380.74,302.551,7.71667,169.397,-0.0397807]]], - [24,326.983,[[4735.88,-2000.73,30.9333,226.025,-57.4596],[4670.75,-1900.02,30.4,223.677,-56.7356],[4605.03,-1801.19,29.8667,221.324,-55.9895],[4536.64,-1701.28,29.3167,218.893,-55.1961],[4465.52,-1600.49,28.75,216.387,-54.3522],[4393.73,-1501.94,28.1833,213.884,-53.4805],[4317,-1400.04,27.5833,211.239,-52.526],[4239.53,-1300.7,26.9833,208.603,-51.5379],[4159.14,-1201.32,26.3667,205.91,-50.486],[4075.77,-1102.15,25.7333,203.165,-49.3659],[3987.12,-1000.98,25.0667,200.305,-48.1417],[3895.32,-900.764,24.3833,197.413,-46.8369],[3800.31,-801.807,23.6833,194.5,-45.4461],[3697.41,-700.003,22.9333,191.445,-43.893],[3591.07,-600.52,22.1667,188.407,-42.2359],[3478.85,-501.723,21.3667,185.342,-40.4296],[3355.85,-400.559,20.5,182.163,-38.3817],[3224.14,-300.299,19.5833,178.986,-36.111],[3081.02,-200.574,18.6,175.822,-33.5543],[2921.16,-100.241,17.5167,172.671,-30.5938],[2741.42,-0.96813,16.3167,169.65,-27.1435],[2525.63,99.8813,14.9,166.812,-22.8543],[2253.67,199.521,13.15,164.555,-17.2778],[1808.71,299.721,10.3667,164.257,-7.98556],[1420.81,326.981,8.01667,167.535,-0.037574]]], - [25,352.104,[[4757.03,-2003.04,31.3667,226.142,-57.9],[4692.66,-1901.77,30.8333,223.774,-57.1851],[4627.7,-1802.39,30.3,221.399,-56.4482],[4560.09,-1701.89,29.75,218.945,-55.6644],[4489.79,-1600.51,29.1833,216.414,-54.8306],[4418.84,-1501.34,28.6167,213.883,-53.969],[4345.11,-1401.61,28.0333,211.281,-53.0521],[4268.56,-1301.55,27.4333,208.613,-52.0759],[4189.12,-1201.41,26.8167,205.884,-51.0364],[4106.73,-1101.45,26.1833,203.099,-49.929],[4021.33,-1001.97,25.5333,200.267,-48.749],[3930.64,-900.8,24.85,197.325,-47.4592],[3836.77,-800.862,24.15,194.358,-46.0836],[3737.39,-700.236,23.4167,191.309,-44.5814],[3634.66,-601.694,22.6667,188.267,-42.9782],[3523.85,-501.529,21.8667,185.121,-41.1912],[3404.75,-400.783,21.0167,181.91,-39.2031],[3277.11,-300.587,20.1167,178.68,-36.9957],[3138.27,-200.505,19.15,175.436,-34.5059],[2985.43,-100.782,18.1,172.217,-31.6618],[2813.14,-1.14023,16.9333,169.069,-28.3344],[2610.52,99.2353,15.5833,166.07,-24.2757],[2358.17,199.743,13.9333,163.485,-19.045],[1989.73,299.781,11.5833,162.172,-11.211],[1459.51,352.102,8.31667,165.645,-0.0462931]]], - [26,377.884,[[4773.84,-2002.28,31.7833,226.205,-58.325],[4710.21,-1900.5,31.25,223.817,-57.6187],[4646,-1800.61,30.7167,221.421,-56.8905],[4581.22,-1702.62,30.1833,219.019,-56.1397],[4511.75,-1600.62,29.6167,216.462,-55.3162],[4441.64,-1500.84,29.05,213.905,-54.4651],[4368.78,-1400.46,28.4667,211.274,-53.5591],[4295.25,-1302.49,27.8833,208.648,-52.6216],[4216.77,-1201.58,27.2667,205.883,-51.5948],[4135.38,-1100.83,26.6333,203.06,-50.5006],[4051.01,-1000.51,25.9833,200.185,-49.3342],[3963.62,-900.915,25.3167,197.267,-48.0904],[3873.13,-802.339,24.6333,194.317,-46.7637],[3775,-700.563,23.9,191.207,-45.2793],[3673.56,-600.833,23.15,188.097,-43.694],[3566.44,-501.449,22.3667,184.939,-41.9632],[3451.19,-401.161,21.5333,181.699,-40.0354],[3327.57,-301.071,20.65,178.42,-37.8919],[3192.97,-200.68,19.7,175.103,-35.4699],[3044.61,-100.153,18.6667,171.778,-32.697],[2879.59,-0.459889,17.5333,168.522,-29.4918],[2689.83,98.8552,16.25,165.403,-25.663],[2456.52,199.223,14.7,162.561,-20.7809],[2135.84,299.623,12.6167,160.585,-13.8607],[1494.08,377.884,8.6,163.761,-0.00919476]]], - [27,404.29,[[4788.33,-2001.67,32.2,226.289,-58.7565],[4727.43,-1902.55,31.6833,223.957,-58.0811],[4664,-1802.08,31.15,221.54,-57.3626],[4597.99,-1700.46,30.6,219.04,-56.5981],[4531.38,-1600.88,30.05,216.535,-55.8088],[4462.11,-1500.46,29.4833,213.951,-54.9685],[4392.21,-1402.28,28.9167,211.367,-54.0997],[4317.5,-1300.79,28.3167,208.634,-53.1476],[4242.07,-1201.88,27.7167,205.91,-52.1609],[4161.69,-1100.32,27.0833,203.048,-51.0803],[4080.52,-1001.72,26.45,200.205,-49.9581],[3994.23,-901.164,25.7833,197.24,-48.73],[3904.88,-801.599,25.1,194.238,-47.4193],[3810.21,-701.041,24.3833,191.139,-45.9861],[3710.07,-600.104,23.6333,187.962,-44.4196],[3606.6,-501.537,22.8667,184.796,-42.7452],[3495.15,-401.747,22.05,181.532,-40.8778],[3375.5,-301.81,21.1833,178.211,-38.7988],[3245.07,-201.159,20.25,174.826,-36.4455],[3103.52,-101.47,19.25,171.454,-33.7907],[2943.27,-0.281641,18.1333,168.051,-30.6636],[2763.61,98.8427,16.9,164.802,-27.0156],[2546.33,199.137,15.4333,161.743,-22.4298],[2261.53,299.324,13.55,159.299,-16.2059],[1680.13,399.85,9.83333,160.247,-3.29667],[1529.98,404.288,8.9,161.815,-0.0405581]]], - [28,431.287,[[4800.44,-2001.29,32.6167,226.395,-59.1946],[4740.28,-1901.66,32.1,224.044,-58.528],[4677.62,-1800.65,31.5667,221.607,-57.8187],[4614.4,-1701.54,31.0333,219.161,-57.0871],[4548.62,-1601.34,30.4833,216.632,-56.3084],[4480.21,-1500.28,29.9167,214.022,-55.4792],[4411.18,-1401.44,29.35,211.41,-54.6217],[4339.45,-1302.06,28.7667,208.723,-53.7082],[4264.99,-1202.38,28.1667,205.965,-52.7347],[4187.72,-1102.64,27.55,203.141,-51.6968],[4105.48,-1000.55,26.9,200.181,-50.5601],[4022.42,-901.6,26.25,197.245,-49.3779],[3934.23,-801.029,25.5667,194.191,-48.0839],[3842.97,-701.723,24.8667,191.107,-46.7017],[3746.36,-601.784,24.1333,187.934,-45.1899],[3644.27,-501.849,23.3667,184.694,-43.5369],[3534.32,-400.587,22.55,181.343,-41.6916],[3418.56,-300.965,21.7,177.988,-39.6756],[3292.22,-200.232,20.7833,174.544,-37.3897],[3154.98,-100.026,19.8,171.087,-34.8061],[3004.12,-0.66856,18.7333,167.656,-31.8491],[2831.94,99.2929,17.5333,164.257,-28.3333],[2627.79,199.819,16.1333,161.004,-23.991],[2370.15,299.784,14.4,158.21,-18.2978],[1960.61,399.747,11.7167,157.023,-8.99247],[1561.74,431.285,9.18333,159.875,-0.0257755]]], - [29,458.842,[[4810.15,-2001.15,33.0333,226.523,-59.6389],[4750.74,-1901.01,32.5167,224.154,-58.9813],[4690.8,-1802.6,32,221.774,-58.3037],[4628.39,-1702.88,31.4667,219.307,-57.5825],[4563.44,-1602.05,30.9167,216.755,-56.8146],[4495.91,-1500.33,30.35,214.119,-55.9968],[4427.75,-1400.82,29.7833,211.479,-55.1509],[4356.94,-1300.75,29.2,208.762,-54.2494],[4283.42,-1200.35,28.6,205.971,-53.2885],[4209.21,-1102.55,28,203.188,-52.2919],[4130.12,-1002.18,27.3667,200.263,-51.1996],[4048.17,-902.273,26.7167,197.282,-50.0338],[3961.14,-800.68,26.0333,194.178,-48.757],[3871.08,-700.316,25.3333,191.038,-47.3926],[3777.93,-601.507,24.6167,187.876,-45.9338],[3677.22,-500.289,23.85,184.563,-44.3014],[3573.2,-401.729,23.0667,181.267,-42.5538],[3459.05,-300.421,22.2167,177.813,-40.5631],[3339.03,-201.456,21.3333,174.38,-38.3873],[3206.08,-100.647,20.3667,170.838,-35.8784],[3059.76,-0.161238,19.3167,167.287,-33.0001],[2897.26,98.9458,18.1667,163.808,-29.6657],[2705.93,199.272,16.8333,160.397,-25.57],[2469.76,299.514,15.2167,157.302,-20.302],[2130.86,399.657,12.95,155.204,-12.4769],[1592.07,458.841,9.46667,157.908,-0.0225734]]], - [30,486.921,[[4817.45,-2001.34,33.45,226.674,-60.0894],[4758.8,-1900.66,32.9333,224.287,-59.441],[4699.63,-1801.72,32.4167,221.888,-58.7729],[4638.01,-1701.44,31.8833,219.4,-58.0615],[4573.89,-1600.02,31.3333,216.825,-57.304],[4509.19,-1500.67,30.7833,214.242,-56.5212],[4441.93,-1400.49,30.2167,211.576,-55.6872],[4374.04,-1302.56,29.65,208.907,-54.824],[4301.5,-1201.35,29.05,206.084,-53.877],[4226.23,-1100.04,28.4333,203.187,-52.8668],[4150.24,-1001.51,27.8167,200.301,-51.8175],[4069.37,-900.699,27.1667,197.277,-50.6672],[3985.61,-800.612,26.5,194.2,-49.4384],[3898.89,-701.544,25.8167,191.081,-48.1251],[3807.02,-601.529,25.1,187.856,-46.6866],[3709.87,-501.187,24.35,184.545,-45.1115],[3607.3,-401.177,23.5667,181.168,-43.3873],[3496.97,-300.239,22.7333,177.687,-41.4608],[3380.91,-201.321,21.8667,174.21,-39.3532],[3252.15,-100.099,20.9167,170.595,-36.9177],[3112.59,-0.256258,19.9,166.993,-34.1636],[2957.22,99.136,18.7833,163.406,-30.9622],[2775.99,199.854,17.5,159.838,-27.0599],[2558.15,299.914,15.9833,156.513,-22.1605],[2264.83,399.774,13.9833,153.85,-15.2988],[1620.93,486.92,9.75,155.914,-0.0315283]]], - [31,515.49,[[4822.26,-2001.88,33.8667,226.849,-60.5459],[4764.38,-1900.65,33.35,224.444,-59.907],[4705.99,-1801.17,32.8333,222.026,-59.2484],[4645.18,-1700.31,32.3,219.518,-58.5472],[4583.82,-1601.37,31.7667,216.999,-57.8233],[4519.99,-1501.35,31.2167,214.392,-57.0522],[4453.62,-1400.48,30.65,211.699,-56.2303],[4386.64,-1301.85,30.0833,209.003,-55.3796],[4317.07,-1202.69,29.5,206.227,-54.4724],[4242.82,-1100.53,28.8833,203.295,-53.4771],[4167.87,-1001.14,28.2667,200.371,-52.4429],[4090.15,-901.989,27.6333,197.382,-51.3386],[4007.55,-800.872,26.9667,194.258,-50.1278],[3922.03,-700.737,26.2833,191.086,-48.833],[3833.55,-601.9,25.5833,187.877,-47.4478],[3737.76,-500.264,24.8333,184.497,-45.8947],[3638.8,-400.995,24.0667,181.115,-44.2302],[3532.24,-300.471,23.25,177.613,-42.3681],[3420.08,-201.651,22.4,174.097,-40.3292],[3295.46,-100.069,21.4667,170.415,-37.968],[3162.53,-1.01264,20.4833,166.775,-35.3386],[3011.86,99.9514,19.3833,163.041,-32.223],[2842.8,199.311,18.1667,159.397,-28.565],[2640.43,299.474,16.7333,155.868,-23.9827],[2378.96,399.642,14.9167,152.782,-17.8008],[1917.4,499.893,11.8,151.768,-6.54199],[1648.31,515.487,10.0333,153.894,-0.053148]]], - [32,544.513,[[4824.6,-2002.84,34.2833,227.047,-61.0082],[4767.5,-1901.06,33.7667,224.626,-60.379],[4709.89,-1801.01,33.25,222.19,-59.7303],[4651.78,-1702.72,32.7333,219.741,-59.0614],[4589.37,-1600.04,32.1833,217.121,-58.3262],[4528.31,-1502.42,31.65,214.57,-57.5896],[4462.85,-1400.85,31.0833,211.852,-56.7802],[4396.79,-1301.51,30.5167,209.128,-55.9422],[4328.17,-1201.61,29.9333,206.321,-55.0484],[4256.92,-1101.41,29.3333,203.435,-54.0944],[4183.01,-1001.15,28.7167,200.474,-53.0759],[4106.38,-901.091,28.0833,197.444,-51.9878],[4026.97,-801.522,27.4333,194.352,-50.8248],[3942.67,-700.305,26.75,191.128,-49.5493],[3855.44,-600.346,26.05,187.862,-48.1839],[3765.22,-501.974,25.3333,184.567,-46.7216],[3667.71,-401.247,24.5667,181.11,-45.082],[3564.85,-301.184,23.7667,177.591,-43.2845],[3454.35,-200.596,22.9167,173.972,-41.2741],[3335.99,-100.623,22.0167,170.301,-39.0285],[3207.33,-0.846547,21.05,166.573,-36.4787],[3063.52,99.9685,19.9833,162.764,-33.4965],[2904.04,198.898,18.8167,159.027,-30.0321],[2714.36,299.458,17.45,155.315,-25.7123],[2478.87,399.28,15.7833,151.925,-20.095],[2121.96,499.942,13.3167,149.615,-11.2361],[1671.64,544.512,10.3,151.878,-0.0265019]]], - [33,573.958,[[4822.61,-2000.93,34.6833,227.192,-61.4564],[4768.1,-1901.91,34.1833,224.833,-60.8567],[4711.29,-1801.29,33.6667,222.379,-60.2181],[4653.98,-1702.42,33.15,219.911,-59.5595],[4594.3,-1602.22,32.6167,217.349,-58.8578],[4532.21,-1500.9,32.0667,214.696,-58.1099],[4469.56,-1401.65,31.5167,212.034,-57.3364],[4404.42,-1301.59,30.95,209.283,-56.5115],[4336.76,-1200.94,30.3667,206.446,-55.6314],[4268.48,-1102.72,29.7833,203.608,-54.7184],[4195.62,-1001.57,29.1667,200.611,-53.7159],[4120.08,-900.598,28.5333,197.541,-52.6446],[4041.8,-800.076,27.8833,194.404,-51.499],[3960.74,-700.296,27.2167,191.209,-50.2733],[3876.82,-601.562,26.5333,187.966,-48.9612],[3787.94,-501.919,25.8167,184.607,-47.5215],[3693.96,-401.987,25.0667,181.152,-45.9421],[3592.64,-300.367,24.2667,177.548,-44.1715],[3485.94,-200.054,23.4333,173.903,-42.229],[3373.71,-101.819,22.5667,170.252,-40.0984],[3249.25,-1.3827,21.6167,166.445,-37.6293],[3112.16,99.1252,20.5833,162.577,-34.7812],[2959.79,198.718,19.45,158.717,-31.461],[2782.44,299.012,18.15,154.87,-27.4029],[2565.08,399.714,16.5833,151.2,-22.1794],[2267.54,499.387,14.4833,148.235,-14.6984],[1693.49,573.957,10.5667,149.835,-0.0121361]]], - [34,603.789,[[4819.91,-2002.84,35.1,227.44,-61.93],[4766.17,-1903.27,34.6,225.065,-61.34],[4710.16,-1802.07,34.0833,222.594,-60.7117],[4653.67,-1702.61,33.5667,220.108,-60.0636],[4594.83,-1601.8,33.0333,217.526,-59.373],[4535.48,-1502.9,32.5,214.932,-58.6595],[4473.72,-1402.94,31.95,212.245,-57.8987],[4409.53,-1302.14,31.3833,209.468,-57.0872],[4342.83,-1200.72,30.8,206.602,-56.2211],[4275.53,-1101.73,30.2167,203.733,-55.3225],[4205.67,-1002.48,29.6167,200.782,-54.3626],[4131.24,-900.567,28.9833,197.673,-53.3085],[4056.09,-801.637,28.35,194.574,-52.2105],[3976.22,-700.769,27.6833,191.331,-51.0048],[3893.55,-600.907,27,188.033,-49.7134],[3805.99,-500.068,26.2833,184.614,-48.2956],[3715.47,-401.073,25.55,181.167,-46.7745],[3617.76,-300.078,24.7667,177.557,-45.0674],[3514.8,-200.088,23.95,173.891,-43.1929],[3406.45,-101.853,23.1,170.201,-41.1352],[3286.1,-0.949085,22.1667,166.326,-38.7454],[3155.58,98.9484,21.1667,162.417,-36.0291],[3010.13,198.863,20.0667,158.459,-32.8516],[2842.51,299.506,18.8167,154.474,-29.0004],[2642.68,399.789,17.35,150.616,-24.1682],[2381.13,499.798,15.4667,147.195,-17.5238],[1843.72,599.878,11.7167,146.573,-3.38257],[1713.85,603.788,10.8333,147.767,-0.0107074]]], - [35,633.968,[[4812.84,-2001.97,35.5,227.635,-62.39],[4759.87,-1901.88,35,225.244,-61.8094],[4704.66,-1800.14,34.4833,222.756,-61.1909],[4648.96,-1700.14,33.9667,220.251,-60.5529],[4592.79,-1601.9,33.45,217.731,-59.8946],[4534.29,-1502.37,32.9167,215.115,-59.1927],[4473.44,-1401.75,32.3667,212.405,-58.4441],[4410.17,-1300.27,31.8,209.602,-57.6454],[4346.33,-1201.03,31.2333,206.79,-56.8177],[4280.02,-1101.25,30.65,203.891,-55.9337],[4211.19,-1001.17,30.05,200.906,-54.9893],[4139.79,-901.059,29.4333,197.841,-53.9797],[4065.77,-801.169,28.8,194.701,-52.8997],[3989.07,-701.785,28.15,191.493,-51.7436],[3907.66,-600.778,27.4667,188.142,-50.4736],[3823.43,-501.053,26.7667,184.743,-49.1117],[3734.31,-400.707,26.0333,181.229,-47.6156],[3640.17,-300.381,25.2667,177.618,-45.9718],[3540.89,-200.763,24.4667,173.936,-44.1656],[3434.25,-100.676,23.6167,170.141,-42.1402],[3320.07,-1.26653,22.7167,166.278,-39.8713],[3193.82,99.5075,21.7333,162.276,-37.241],[3055.13,199.417,20.6667,158.242,-34.2045],[2896.97,299.922,19.4667,154.155,-30.5587],[2711.88,399.884,18.0833,150.142,-26.0602],[2478.11,499.804,16.3667,146.395,-20.0727],[2110.75,599.922,13.7333,143.816,-10.2194],[1732.67,633.967,11.1,145.672,-0.0229693]]], - [36,664.463,[[4803.27,-2001.68,35.9,227.855,-62.8556],[4751.08,-1901.07,35.4,225.449,-62.2846],[4698.44,-1802.06,34.9,223.025,-61.6962],[4643.57,-1701.44,34.3833,220.503,-61.0692],[4588.23,-1602.59,33.8667,217.964,-60.422],[4530.6,-1502.41,33.3333,215.328,-59.732],[4470.64,-1401.13,32.7833,212.595,-58.9959],[4410.16,-1301.92,32.2333,209.85,-58.2339],[4347.28,-1201.91,31.6667,207.012,-57.4205],[4281.96,-1101.32,31.0833,204.083,-56.5517],[4214.17,-1000.42,30.4833,201.065,-55.6231],[4145.74,-902.128,29.8833,198.048,-54.6575],[4072.85,-801.262,29.25,194.867,-53.596],[3997.33,-700.866,28.6,191.613,-52.4593],[3919.13,-601.231,27.9333,188.295,-51.2411],[3836.21,-500.303,27.2333,184.838,-49.9021],[3750.47,-400.946,26.5167,181.34,-48.4645],[3659.84,-301.335,25.7667,177.733,-46.8839],[3562.15,-200.081,24.9667,173.964,-45.108],[3459.28,-100.177,24.1333,170.142,-43.1546],[3349.03,-0.578449,23.25,166.231,-40.9634],[3229.08,99.1908,22.3,162.218,-38.4629],[3097.01,198.931,21.2667,158.124,-35.5682],[2948.1,298.998,20.1167,153.961,-32.1287],[2775.13,399.185,18.8,149.798,-27.9104],[2561.44,499.883,17.2,145.766,-22.4024],[2261.38,599.828,15,142.422,-14.2532],[1749.95,664.461,11.3667,143.553,-0.0495518]]], - [37,695.239,[[4791.07,-2002.03,36.3,228.1,-63.3268],[4739.66,-1900.88,35.8,225.68,-62.7655],[4687.82,-1801.33,35.3,223.241,-62.1871],[4633.78,-1700.15,34.7833,220.701,-61.5706],[4579.27,-1600.72,34.2667,218.144,-60.9343],[4524.29,-1503.07,33.75,215.571,-60.2772],[4465.26,-1401.1,33.2,212.816,-59.5539],[4405.68,-1301.2,32.65,210.047,-58.805],[4343.77,-1200.47,32.0833,207.183,-58.0054],[4281.29,-1102.01,31.5167,204.309,-57.1759],[4214.55,-1000.25,30.9167,201.259,-56.2636],[4147.18,-901.107,30.3167,198.207,-55.3146],[4077.31,-801.968,29.7,195.072,-54.299],[4002.98,-700.544,29.05,191.774,-53.1822],[3927.93,-602.321,28.4,188.491,-52.0154],[3846.33,-500.173,27.7,184.979,-50.7001],[3763.93,-401.846,27,181.5,-49.3206],[3674.75,-300.801,26.25,177.822,-47.7677],[3580.64,-200.088,25.4667,174.048,-46.0587],[3481.49,-100.418,24.65,170.206,-44.1774],[3375.12,-0.684013,23.7833,166.254,-42.0644],[3259.26,99.6608,22.85,162.172,-39.6488],[3133.64,198.92,21.85,158.038,-36.8934],[2991.58,299.508,20.7333,153.772,-33.6065],[2830.35,399.061,19.4833,149.516,-29.6626],[2636.03,499,18,145.314,-24.6304],[2375.72,599.731,16.05,141.463,-17.4961],[1763.3,695.238,11.6167,141.435,-0.0250427]]], - [38,726.259,[[4776.31,-2003.08,36.7,228.372,-63.8035],[4725.69,-1901.38,36.2,225.938,-63.2521],[4674.63,-1801.27,35.7,223.484,-62.6838],[4623.14,-1702.77,35.2,221.011,-62.098],[4569.48,-1602.7,34.6833,218.436,-61.4733],[4513.61,-1501.27,34.15,215.76,-60.807],[4457.25,-1401.74,33.6167,213.068,-60.118],[4398.61,-1301.14,33.0667,210.276,-59.3825],[4339.46,-1202.63,32.5167,207.471,-58.6204],[4276.16,-1100.47,31.9333,204.484,-57.7819],[4212.29,-1000.74,31.35,201.489,-56.9106],[4145.99,-900.726,30.75,198.403,-55.9786],[4077.23,-800.683,30.1333,195.231,-54.9809],[4005.95,-700.882,29.5,191.976,-53.9121],[3932.11,-601.603,28.85,188.647,-52.7663],[3853.74,-500.723,28.1667,185.165,-51.5053],[3772.68,-401.145,27.4667,181.627,-50.1507],[3686.92,-300.972,26.7333,177.962,-48.6594],[3596.34,-200.848,25.9667,174.19,-47.0172],[3500.84,-101.463,25.1667,170.333,-45.2081],[3398.29,-1.64977,24.3167,166.347,-43.1737],[3286.46,99.2105,23.4,162.204,-40.8438],[3165.08,199.461,22.4167,157.976,-38.181],[3031.8,298.76,21.35,153.694,-35.0947],[2877.73,399.824,20.1333,149.271,-31.3183],[2697.81,499.749,18.7333,144.909,-26.6389],[2468.99,599.56,16.9833,140.764,-20.3225],[2093.9,699.885,14.1833,137.797,-9.38995],[1775.13,726.259,11.8667,139.291,-0.0144522]]], - [39,757.49,[[4757.24,-2001.43,37.0833,228.59,-64.2674],[4709.07,-1902.61,36.6,226.224,-63.744],[4658.83,-1801.94,36.1,223.755,-63.1861],[4608.15,-1702.87,35.6,221.266,-62.6109],[4555.34,-1602.21,35.0833,218.675,-61.9974],[4500.35,-1500.15,34.55,215.98,-61.3431],[4446.62,-1403.1,34.0333,213.352,-60.6877],[4388.92,-1301.78,33.4833,210.538,-59.9658],[4330.72,-1202.55,32.9333,207.709,-59.2178],[4270.22,-1102.53,32.3667,204.781,-58.4185],[4207.39,-1001.94,31.7833,201.756,-57.5638],[4142.17,-901.04,31.1833,198.638,-56.6492],[4074.52,-800.077,30.5667,195.429,-55.6699],[4006.26,-701.935,29.95,192.221,-54.6485],[3933.63,-601.585,29.3,188.846,-53.5241],[3858.44,-502.012,28.6333,185.399,-52.3172],[3778.73,-401.165,27.9333,181.803,-50.988],[3696.32,-301.908,27.2167,178.156,-49.558],[3607.27,-200.262,26.45,174.307,-47.9464],[3515.35,-101.321,25.6667,170.445,-46.2074],[3416.54,-1.6019,24.8333,166.434,-44.2495],[3308.65,99.5862,23.9333,162.241,-42.0035],[3193.46,198.95,22.9833,158.005,-39.4776],[3064.61,299.735,21.9333,153.596,-36.4927],[2921.68,399.054,20.7833,149.163,-32.9847],[2753.62,499.479,19.45,144.644,-28.6032],[2546.52,599.647,17.8333,140.237,-22.8565],[2247.91,699.935,15.55,136.433,-14.052],[1785.41,757.489,12.1167,137.122,-0.0185481]]], - [40,788.895,[[4735.56,-2000.55,37.4667,228.835,-64.7371],[4688.17,-1901.23,36.9833,226.456,-64.2231],[4638.73,-1800.03,36.4833,223.972,-63.6752],[4588.86,-1700.44,35.9833,221.468,-63.1102],[4538.58,-1602.46,35.4833,218.943,-62.5274],[4486.18,-1502.95,34.9667,216.315,-61.9055],[4431.62,-1402.1,34.4333,213.583,-61.2419],[4374.86,-1300.12,33.8833,210.746,-60.5332],[4317.6,-1200.22,33.3333,207.894,-59.7986],[4259.84,-1102.42,32.7833,205.027,-59.0371],[4198.03,-1001.04,32.2,201.973,-58.1983],[4135.68,-902.104,31.6167,198.911,-57.326],[4069.16,-800.207,31,195.666,-56.3655],[4002.03,-701.12,30.3833,192.42,-55.3634],[3932.45,-602.323,29.75,189.09,-54.2887],[3858.53,-501.623,29.0833,185.594,-53.1049],[3782.04,-401.965,28.4,182.029,-51.8324],[3701.03,-301.376,27.6833,178.319,-50.4298],[3615.42,-200.481,26.9333,174.481,-48.8833],[3527.02,-102.035,26.1667,170.619,-47.2143],[3429.93,-0.487655,25.3333,166.508,-45.2934],[3327.87,98.9962,24.4667,162.354,-43.1713],[3216.74,199.041,23.5333,158.048,-40.7367],[3094.26,299.519,22.5167,153.599,-37.9004],[2958.06,399.503,21.4,149.062,-34.5555],[2801.46,499.549,20.1333,144.448,-30.4652],[2613.2,599.322,18.6333,139.867,-25.2215],[2359.64,699.496,16.65,135.585,-17.6866],[1794.14,788.893,12.3667,134.929,-0.0381562]]], - [41,820.437,[[4711.26,-2000.48,37.85,229.107,-65.2122],[4664.65,-1900.65,37.3667,226.715,-64.7078],[4617.64,-1802.29,36.8833,224.301,-64.1883],[4568.61,-1702.1,36.3833,221.782,-63.6344],[4517.51,-1600.27,35.8667,219.157,-63.0435],[4465.97,-1500.2,35.35,216.511,-62.433],[4413.99,-1401.9,34.8333,213.845,-61.8021],[4359.87,-1302.32,34.3,211.075,-61.1283],[4303.58,-1201.67,33.75,208.2,-60.4083],[4245.06,-1100.16,33.1833,205.221,-59.6387],[4186.03,-1000.92,32.6167,202.227,-58.8393],[4124.73,-901.166,32.0333,199.135,-57.9838],[4061.1,-801.135,31.4333,195.945,-57.0674],[3995.12,-701.088,30.8167,192.661,-56.0851],[3926.73,-601.294,30.1833,189.29,-55.0312],[3855.9,-502.037,29.5333,185.835,-53.8995],[3780.73,-401.194,28.85,182.217,-52.6518],[3702.98,-301.672,28.15,178.534,-51.3087],[3620.74,-201.573,27.4167,174.713,-49.8269],[3533.91,-101.547,26.65,170.771,-48.1912],[3440.45,-0.274585,25.8333,166.649,-46.3454],[3342.16,99.2632,24.9833,162.464,-44.3047],[3235,199.796,24.0667,158.101,-41.9595],[3118.72,299.661,23.0833,153.632,-39.2684],[2989.08,399.967,22,149.015,-36.0844],[2843.6,498.992,20.8,144.356,-32.2814],[2669.39,599.269,19.3833,139.598,-27.4177],[2446.35,699.424,17.6,134.994,-20.752],[2068.38,799.786,14.65,131.556,-8.70444],[1799.07,820.437,12.6,132.734,-0.00369902]]], - [42,852.084,[[4684.31,-2001.29,38.2333,229.406,-65.6926],[4638.49,-1900.94,37.75,227.002,-65.198],[4592.28,-1802.05,37.2667,224.575,-64.6886],[4544.07,-1701.31,36.7667,222.042,-64.1453],[4495.46,-1602.19,36.2667,219.487,-63.5847],[4444.8,-1501.47,35.75,216.824,-62.9864],[4393.71,-1402.53,35.2333,214.141,-62.368],[4340.52,-1302.28,34.7,211.35,-61.7075],[4285.19,-1200.93,34.15,208.453,-61.0017],[4229.37,-1101.67,33.6,205.538,-60.2696],[4171.37,-1001.63,33.0333,202.519,-59.4864],[4111.12,-901.042,32.45,199.397,-58.6479],[4048.6,-800.144,31.85,196.175,-57.7497],[3985.52,-701.889,31.25,192.945,-56.8131],[3918.33,-601.083,30.6167,189.533,-55.7805],[3848.74,-500.776,29.9667,186.034,-54.6712],[3776.69,-401.262,29.3,182.454,-53.4783],[3700.32,-300.494,28.6,178.714,-52.162],[3621.39,-201.334,27.8833,174.915,-50.7428],[3537.97,-101.969,27.1333,170.984,-49.1752],[3448.09,-1.02079,26.3333,166.856,-47.4046],[3353.5,98.5157,25.5,162.648,-45.4455],[3250.24,199.478,24.6,158.236,-43.1902],[3140.03,298.572,23.65,153.762,-40.644],[3016.8,399.021,22.6,149.085,-37.6215],[2878.14,499.275,21.4333,144.29,-33.997],[2717.5,598.967,20.1,139.436,-29.5057],[2515.55,699.959,18.45,134.557,-23.4461],[2224.12,799.637,16.1167,130.27,-14.0621],[1804.66,852.082,12.85,130.492,-0.0560241]]], - [43,883.798,[[4654.67,-2003.02,38.6167,229.733,-66.1781],[4609.64,-1902.13,38.1333,227.318,-65.6935],[4564.24,-1802.71,37.65,224.879,-65.1943],[4516.87,-1701.41,37.15,222.332,-64.6618],[4469.1,-1601.72,36.65,219.762,-64.1124],[4419.32,-1500.42,36.1333,217.083,-63.526],[4369.12,-1400.88,35.6167,214.382,-62.9197],[4316.85,-1300,35.0833,211.571,-62.272],[4264.13,-1201.06,34.55,208.741,-61.6011],[4209.3,-1101.09,34,205.803,-60.8838],[4152.31,-1000.3,33.4333,202.758,-60.1163],[4094.82,-901.796,32.8667,199.698,-59.3183],[4033.41,-800.017,32.2667,196.445,-58.4386],[3971.45,-700.871,31.6667,193.181,-57.521],[3907.2,-601.755,31.05,189.822,-56.5363],[3838.85,-500.381,30.4,186.279,-55.4501],[3769.88,-402.235,29.75,182.742,-54.3113],[3694.9,-300.203,29.05,178.946,-53.0227],[3619.21,-202.025,28.35,175.174,-51.6656],[3537.33,-101.176,27.6,171.17,-50.1308],[3450.95,-0.711215,26.8167,167.044,-48.4329],[3359.98,98.6546,26,162.823,-46.5529],[3260.55,199.862,25.1167,158.372,-44.3855],[3154.33,299.61,24.1833,153.833,-41.9348],[3037.31,399.728,23.1667,149.123,-39.067],[2907.23,499.274,22.05,144.295,-35.6678],[2755.75,599.983,20.7667,139.289,-31.4288],[2574.07,699.792,19.25,134.289,-25.9627],[2328.13,799.639,17.2333,129.525,-17.9917],[1806.48,883.796,13.0833,128.247,-0.0538289]]], - [44,915.543,[[4620.82,-2002.21,38.9833,230.005,-66.6524],[4576.59,-1900.84,38.5,227.579,-66.1774],[4531.98,-1800.92,38.0167,225.128,-65.6881],[4487.01,-1702.47,37.5333,222.653,-65.1838],[4440.09,-1602.2,37.0333,220.068,-64.6457],[4391.2,-1500.29,36.5167,217.374,-64.0713],[4341.89,-1400.14,36,214.655,-63.4774],[4292.16,-1301.77,35.4833,211.915,-62.863],[4240.4,-1202.13,34.95,209.065,-62.2064],[4186.55,-1101.43,34.4,206.105,-61.5041],[4132.25,-1002.83,33.85,203.126,-60.7751],[4074.14,-900.598,33.2667,199.949,-59.9711],[4015.52,-800.81,32.6833,196.756,-59.1337],[3954.7,-700.758,32.0833,193.46,-58.2356],[3891.62,-600.702,31.4667,190.064,-57.2715],[3826.25,-500.911,30.8333,186.571,-56.2354],[3758.55,-401.67,30.1833,182.988,-55.121],[3686.71,-300.859,29.5,179.23,-53.89],[3612.43,-201.384,28.8,175.399,-52.562],[3533.87,-101.355,28.0667,171.416,-51.0935],[3450.93,-1.42133,27.3,167.298,-49.468],[3361.69,99.7304,26.4833,162.982,-47.6285],[3267.85,199.117,25.6333,158.589,-45.5878],[3165.57,299.459,24.7167,153.993,-43.2335],[3054.63,399.084,23.7333,149.267,-40.5202],[2930.97,499.088,22.65,144.361,-37.2936],[2790.33,599.01,21.4333,139.312,-33.3609],[2622.31,699.624,20,134.13,-28.3017],[2407.83,799.286,18.2,129.069,-21.3227],[2027.44,899.913,15.0833,125.088,-7.96377],[1806.76,915.541,13.3167,125.979,-0.06869]]], - [45,947.285,[[4584.31,-2002.4,39.35,230.306,-67.132],[4540.88,-1900.52,38.8667,227.869,-66.6668],[4497.08,-1800.1,38.3833,225.406,-66.1876],[4452.92,-1701.14,37.9,222.918,-65.6937],[4406.85,-1600.33,37.4,220.32,-65.1665],[4360.4,-1501.14,36.9,217.697,-64.6222],[4312,-1400.37,36.3833,214.962,-64.0409],[4263.18,-1301.38,35.8667,212.205,-63.4395],[4212.37,-1201.08,35.3333,209.335,-62.7966],[4161.12,-1102.73,34.8,206.444,-62.1302],[4106.2,-1000.41,34.2333,203.351,-61.3949],[4050.8,-900.345,33.6667,200.238,-60.6302],[3994.91,-802.581,33.1,197.109,-59.8345],[3935.23,-701.608,32.5,193.782,-58.9563],[3873.33,-600.595,31.8833,190.35,-58.0133],[3810.88,-502.425,31.2667,186.911,-57.0268],[3744.47,-402.071,30.6167,183.284,-55.9373],[3673.99,-300.078,29.9333,179.475,-54.7332],[3602.86,-201.733,29.25,175.68,-53.4654],[3525.8,-100.311,28.5167,171.631,-52.029],[3446.23,-1.0595,27.7667,167.528,-50.4736],[3360.51,99.7444,26.9667,163.211,-48.7116],[3270.31,199.106,26.1333,158.799,-46.7555],[3171.88,299.852,25.2333,154.159,-44.4953],[3066.85,398.684,24.2833,149.437,-41.9323],[2949.44,498.806,23.2333,144.478,-38.875],[2815.5,599.99,22.05,139.295,-35.1324],[2662.56,698.957,20.7167,134.087,-30.5261],[2468.46,799.853,19.05,128.743,-24.1951],[2183.36,899.687,16.65,123.889,-14.0996],[1803.4,947.284,13.5333,123.705,-0.0259861]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 30.7102; -_maxRange = 3450.95; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg2.sqf deleted file mode 100644 index 25408b55e2..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg2.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg2 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[4025.13,-2001.76,21.35,235.945,-48.329],[3933.16,-1900.05,20.7667,234.145,-47.3934],[3840.24,-1800.64,20.1833,232.373,-46.4334],[3743.65,-1700.82,19.5833,230.582,-45.4203],[3643.32,-1600.83,18.9667,228.78,-44.3514],[3539.16,-1500.92,18.3333,226.974,-43.2239],[3431.07,-1401.36,17.6833,225.175,-42.0353],[3318.95,-1302.42,17.0167,223.392,-40.7825],[3199.86,-1202.04,16.3167,221.596,-39.4304],[3073.59,-1100.79,15.5833,219.806,-37.9732],[2942.84,-1001.44,14.8333,218.083,-36.4401],[2801.57,-900.229,14.0333,216.377,-34.7574],[2652.44,-800.094,13.2,214.758,-32.9534],[2495.18,-701.779,12.3333,213.263,-31.0232],[2320.24,-600.942,11.3833,211.866,-28.8467],[2130.05,-501.194,10.3667,210.678,-26.4513],[1914.37,-400.129,9.23333,209.761,-23.7072],[1668.66,-300.051,7.96667,209.293,-20.5601],[1374.57,-200.498,6.48333,209.562,-16.7889],[980.708,-100.027,4.55,211.366,-11.7847],[33.403,-0.0224912,0.133333,222.441,-0.378473],[3.71562,0.0972759,0,222.937,-0.0420058]]], - [1,0.83657,[[4089.89,-2002.79,21.75,235.491,-48.5025],[3998.41,-1901.01,21.1667,233.67,-47.5681],[3905.98,-1801.53,20.5833,231.876,-46.6093],[3809.92,-1701.63,19.9833,230.062,-45.5972],[3710.13,-1601.56,19.3667,228.235,-44.5291],[3606.53,-1501.57,18.7333,226.403,-43.4023],[3499.03,-1401.93,18.0833,224.576,-42.2139],[3384.73,-1300.48,17.4,222.72,-40.9295],[3266.26,-1200.11,16.7,220.894,-39.576],[3143.52,-1101.13,15.9833,219.113,-38.1507],[3013.5,-1001.7,15.2333,217.354,-36.6163],[2873.03,-900.403,14.4333,215.608,-34.9314],[2724.75,-800.187,13.6,213.948,-33.1244],[2568.39,-701.791,12.7333,212.408,-31.1903],[2394.46,-600.872,11.7833,210.962,-29.0084],[2205.39,-501.041,10.7667,209.718,-26.6058],[1994.16,-401.3,9.65,208.751,-23.8932],[1750,-300.953,8.38333,208.205,-20.7342],[1454.47,-200.079,6.88333,208.388,-16.9032],[1066.51,-100.224,4.96667,210.062,-11.9156],[180.818,-0.0659076,0.8,219.968,-1.07229],[88.8737,0.835831,0.383333,221.468,-0.0114587]]], - [2,3.0959,[[4153.2,-2002.81,22.15,235.036,-48.6854],[4062.23,-1900.94,21.5667,233.193,-47.7525],[3970.31,-1801.37,20.9833,231.376,-46.795],[3874.78,-1701.38,20.3833,229.538,-45.7841],[3775.56,-1601.22,19.7667,227.685,-44.717],[3672.54,-1501.14,19.1333,225.827,-43.5909],[3565.65,-1401.41,18.4833,223.971,-42.4031],[3454.79,-1302.29,17.8167,222.129,-41.1506],[3337.03,-1201.74,17.1167,220.268,-39.7979],[3212.18,-1100.32,16.3833,218.41,-38.3393],[3082.92,-1000.79,15.6333,216.614,-36.8036],[2946.2,-901.46,14.85,214.863,-35.1524],[2798.83,-801.036,14.0167,213.156,-33.3437],[2640.43,-700.587,13.1333,211.538,-31.369],[2470.61,-601.272,12.2,210.063,-29.2206],[2282.73,-501.195,11.1833,208.758,-26.8121],[2072.86,-401.186,10.0667,207.72,-24.091],[1830.29,-300.541,8.8,207.092,-20.9202],[1540.03,-200.334,7.31667,207.172,-17.115],[1158.2,-100.484,5.41667,208.684,-12.1449],[348.181,-0.0555492,1.56667,217.194,-2.04415],[177.072,3.09397,0.783333,219.891,-0.0300487]]], - [3,6.85559,[[4214.99,-2001.85,22.55,234.579,-48.8778],[4127.14,-1902.76,21.9833,232.767,-47.9736],[4033.16,-1800.2,21.3833,230.873,-46.9907],[3938.19,-1700.11,20.7833,229.01,-45.9811],[3842.22,-1602.52,20.1833,227.182,-44.9444],[3739.84,-1502.27,19.55,225.295,-43.8202],[3633.61,-1402.35,18.9,223.408,-42.6339],[3520.66,-1300.61,18.2167,221.487,-41.351],[3406.41,-1202.3,17.5333,219.637,-40.0309],[3282.34,-1100.67,16.8,217.74,-38.5728],[3153.9,-1000.93,16.05,215.903,-37.0371],[3018.04,-901.384,15.2667,214.109,-35.3852],[2871.61,-800.73,14.4333,212.354,-33.5749],[2714.24,-700.04,13.55,210.683,-31.5975],[2545.52,-600.473,12.6167,209.15,-29.4451],[2358.88,-500.124,11.6,207.78,-27.0306],[2153.55,-401.24,10.5,206.683,-24.3424],[1912.67,-300.083,9.23333,205.963,-21.1606],[1627.75,-200.303,7.76667,205.927,-17.3823],[1252.18,-100.143,5.88333,207.261,-12.4304],[516.709,-0.122678,2.35,214.444,-3.08581],[260.885,6.85475,1.16667,218.33,-0.013191]]], - [4,12.0917,[[4277.79,-2002.9,22.9667,234.177,-49.1059],[4187.91,-1900.74,22.3833,232.288,-48.1773],[4097.1,-1800.89,21.8,230.423,-47.2238],[4002.73,-1700.61,21.2,228.534,-46.2165],[3904.71,-1600.16,20.5833,226.627,-45.1528],[3805.64,-1502.38,19.9667,224.761,-44.0597],[3700.09,-1402.27,19.3167,222.843,-42.8753],[3587.87,-1300.31,18.6333,220.888,-41.5939],[3474.35,-1201.8,17.95,219.002,-40.275],[3353.91,-1102.21,17.2333,217.108,-38.8512],[3226.33,-1002.16,16.4833,215.227,-37.3167],[3088.52,-900.199,15.6833,213.347,-35.6297],[2945.99,-801.26,14.8667,211.576,-33.8547],[2789.7,-700.191,13.9833,209.847,-31.876],[2622.17,-600.223,13.05,208.251,-29.7209],[2439.9,-501.022,12.05,206.83,-27.342],[2232.97,-400.082,10.9333,205.631,-24.6064],[2000.19,-300.882,9.7,204.83,-21.4988],[1717.51,-200.044,8.23333,204.661,-17.7061],[1351.64,-100.029,6.38333,205.783,-12.8176],[682.649,-0.246221,3.13333,211.781,-4.1551],[343.937,12.0914,1.55,216.725,-0.00347169]]], - [5,18.7795,[[4336.42,-2000.08,23.3667,233.722,-49.3172],[4249.66,-1900.69,22.8,231.864,-48.4174],[4159.45,-1800.64,22.2167,229.974,-47.4665],[4065.69,-1700.16,21.6167,228.058,-46.4618],[3970.96,-1602.19,21.0167,226.175,-45.4296],[3869.9,-1501.53,20.3833,224.227,-44.3096],[3765.05,-1401.2,19.7333,222.277,-43.1272],[3656.31,-1301.47,19.0667,220.334,-41.8792],[3540.81,-1200.28,18.3667,218.364,-40.5301],[3421.18,-1100.46,17.65,216.43,-39.1073],[3294.46,-1000.16,16.9,214.506,-37.5732],[3160.46,-900.021,16.1167,212.617,-35.9216],[3018.93,-800.712,15.3,210.793,-34.1466],[2866.71,-701.099,14.4333,209.036,-32.2047],[2700.43,-600.581,13.5,207.37,-30.0483],[2519.53,-500.787,12.5,205.871,-27.6662],[2317.27,-400.623,11.4,204.599,-24.9663],[2086.34,-300.511,10.1667,203.687,-21.8505],[1812.38,-200.685,8.73333,203.378,-18.1311],[1456.33,-100.283,6.91667,204.264,-13.3084],[842.446,-0.156779,3.9,209.25,-5.20776],[426.161,18.7794,1.93333,215.078,-0.0011888]]], - [6,26.893,[[4398.46,-2002.31,23.8,233.381,-49.59],[4312.31,-1902.65,23.2333,231.498,-48.6938],[4222.73,-1802.33,22.65,229.582,-47.7465],[4129.63,-1701.58,22.05,227.638,-46.7453],[4032.94,-1600.63,21.4333,225.673,-45.6875],[3935.23,-1502.36,20.8167,223.745,-44.5998],[3831.12,-1401.72,20.1667,221.761,-43.4205],[3723.15,-1301.68,19.5,219.781,-42.1754],[3608.48,-1200.16,18.8,217.771,-40.8289],[3492.49,-1102.28,18.1,215.84,-39.4419],[3366.72,-1001.53,17.35,213.867,-37.9105],[3233.72,-900.912,16.5667,211.925,-36.2612],[3093.27,-801.105,15.75,210.043,-34.4876],[2942.21,-700.961,14.8833,208.222,-32.546],[2780.17,-601.612,13.9667,206.513,-30.4277],[2600.72,-501.063,12.9667,204.93,-28.044],[2400.09,-400.063,11.8667,203.56,-25.3399],[2174.17,-300.284,10.65,202.545,-22.2589],[1905.74,-200.215,9.23333,202.09,-18.5707],[1562.73,-100.271,7.46667,202.732,-13.8599],[999.586,-0.100994,4.66667,206.803,-6.28769],[507.492,26.8926,2.31667,213.39,-0.00665037]]], - [7,36.4051,[[4456.22,-2000.76,24.2167,232.989,-49.8461],[4370.67,-1900.89,23.65,231.082,-48.9531],[4281.71,-1800.35,23.0667,229.14,-48.0088],[4191.85,-1702.14,22.4833,227.222,-47.0387],[4095.86,-1600.89,21.8667,225.226,-45.9846],[3998.86,-1502.32,21.25,223.267,-44.9004],[3895.51,-1401.35,20.6,221.248,-43.7245],[3788.34,-1300.98,19.9333,219.231,-42.4826],[3677.25,-1201.49,19.25,217.228,-41.1715],[3559.38,-1100.88,18.5333,215.206,-39.7545],[3437.34,-1001.95,17.8,213.23,-38.2597],[3305.38,-900.839,17.0167,211.234,-36.6128],[3166.02,-800.513,16.2,209.293,-34.8409],[3019.04,-701.695,15.35,207.441,-32.938],[2858.32,-601.635,14.4333,205.656,-30.8202],[2680.35,-500.305,13.4333,203.986,-28.4353],[2487.46,-401.378,12.3667,202.556,-25.8106],[2263.55,-300.288,11.15,201.412,-22.7246],[2003.86,-200.864,9.76667,200.805,-19.1136],[1670.65,-100.112,8.03333,201.195,-14.4731],[1153.99,-0.132403,5.43333,204.446,-7.39506],[587.867,36.4038,2.7,211.663,-0.0201738]]], - [8,47.2872,[[4514.72,-2001.4,24.65,232.66,-50.1372],[4429.8,-1901.24,24.0833,230.728,-49.2482],[4341.51,-1800.41,23.5,228.759,-48.308],[4252.31,-1701.9,22.9167,226.813,-47.3418],[4157.04,-1600.33,22.3,224.786,-46.2916],[4060.77,-1501.43,21.6833,222.795,-45.2112],[3958.2,-1400.13,21.0333,220.739,-44.039],[3854.51,-1301.89,20.3833,218.735,-42.832],[3744.29,-1201.95,19.7,216.69,-41.525],[3627.36,-1100.88,18.9833,214.622,-40.1118],[3506.29,-1001.47,18.25,212.596,-38.6204],[3378.17,-901.953,17.4833,210.587,-37.0119],[3239.97,-800.981,16.6667,208.583,-35.2433],[3094.21,-701.486,15.8167,206.663,-33.3427],[2934.84,-600.69,14.9,204.801,-31.2259],[2761.33,-500.188,13.9167,203.07,-28.8805],[2570.12,-400.245,12.85,201.536,-26.2539],[2354.33,-300.618,11.6667,200.295,-23.248],[2100.22,-200.568,10.3,199.528,-19.6723],[1783.15,-100.81,8.63333,199.658,-15.1944],[1305.59,-0.306434,6.2,202.181,-8.52995],[667.223,47.2846,3.08333,209.899,-0.04209]]], - [9,59.5114,[[4571.34,-2001.31,25.0833,232.339,-50.4372],[4487.08,-1900.85,24.5167,230.382,-49.5525],[4401.98,-1802.56,23.95,228.441,-48.6437],[4310.95,-1700.88,23.35,226.41,-47.6546],[4218.99,-1601.69,22.75,224.407,-46.6373],[4123.49,-1502.39,22.1333,222.382,-45.5617],[4021.74,-1400.66,21.4833,220.289,-44.3944],[3918.89,-1301.98,20.8333,218.246,-43.192],[3809.56,-1201.58,20.15,216.158,-41.8895],[3693.58,-1100.02,19.4333,214.043,-40.4805],[3573.49,-1000.12,18.7,211.967,-38.9928],[3446.43,-900.079,17.9333,209.904,-37.3876],[3312.17,-800.566,17.1333,207.879,-35.6581],[3167.66,-700.372,16.2833,205.889,-33.7601],[3012.54,-600.604,15.3833,203.982,-31.6839],[2843.51,-500.8,14.4167,202.186,-29.3799],[2657.05,-401.171,13.3667,200.564,-26.7948],[2443.32,-300.039,12.1833,199.187,-23.7866],[2197.87,-200.518,10.85,198.268,-20.2915],[1893.58,-100.799,9.23333,198.148,-15.9343],[1451.02,-0.119079,6.95,200.036,-9.64614],[742.033,59.5097,3.45,208.153,-0.0277353]]], - [10,73.0469,[[4626.09,-2000.52,25.5167,232.027,-50.7462],[4544.96,-1902.68,24.9667,230.102,-49.8922],[4458.06,-1801.14,24.3833,228.077,-48.9615],[4370.28,-1701.93,23.8,226.073,-48.0047],[4279.07,-1602.33,23.2,224.038,-46.9926],[4184.36,-1502.61,22.5833,221.979,-45.9222],[4083.45,-1400.43,21.9333,219.848,-44.7601],[3981.45,-1301.3,21.2833,217.766,-43.5626],[3873.03,-1200.43,20.6,215.635,-42.2649],[3760.7,-1100.7,19.9,213.521,-40.8936],[3641.64,-1000.18,19.1667,211.392,-39.4112],[3518.43,-901.642,18.4167,209.316,-37.846],[3385.38,-801.35,17.6167,207.225,-36.1218],[3242.17,-700.322,16.7667,205.161,-34.2283],[3091.32,-601.468,15.8833,203.206,-32.1943],[2923.87,-500.568,14.9167,201.314,-29.8932],[2742.12,-401.265,13.8833,199.605,-27.3504],[2536.48,-301.326,12.7333,198.126,-24.4267],[2296.63,-200.842,11.4167,197.035,-20.9717],[2001.9,-100.13,9.83333,196.668,-16.693],[1593.6,-0.0700409,7.7,197.983,-10.789],[815.764,73.0456,3.81667,206.37,-0.0216822]]], - [11,87.8635,[[4681.33,-2002.1,25.9667,231.785,-51.0894],[4598.43,-1900.94,25.4,229.775,-50.2146],[4514.71,-1801.94,24.8333,227.78,-49.3156],[4427.67,-1702.31,24.25,225.747,-48.3642],[4337.23,-1602.3,23.65,223.68,-47.3576],[4243.31,-1502.14,23.0333,221.586,-46.2926],[4145.84,-1402.09,22.4,219.473,-45.1661],[4044.73,-1302.41,21.75,217.349,-43.9748],[3937.26,-1200.96,21.0667,215.172,-42.6833],[3825.92,-1100.64,20.3667,213.01,-41.3179],[3710.61,-1001.75,19.65,210.876,-39.8752],[3585.79,-900.304,18.8833,208.694,-38.281],[3456.69,-801.37,18.1,206.583,-36.5978],[3317.6,-701.429,17.2667,204.484,-34.7469],[3168.18,-601.559,16.3833,202.444,-32.7179],[3005.21,-501.232,15.4333,200.485,-30.4607],[2825.26,-400.574,14.4,198.66,-27.9206],[2624.64,-300.501,13.2667,197.065,-25.0394],[2393.33,-200.469,11.9833,195.827,-21.6688],[2114.22,-100.814,10.4667,195.224,-17.5622],[1733.26,-0.218897,8.45,196.024,-11.9582],[888.361,87.8621,4.18333,204.553,-0.024242]]], - [12,103.93,[[4732.13,-2000.08,26.4,231.495,-51.4159],[4652.35,-1901.53,25.85,229.518,-50.572],[4569.35,-1802.12,25.2833,227.496,-49.6786],[4483.06,-1702.08,24.7,225.432,-48.733],[4393.4,-1601.63,24.1,223.333,-47.7321],[4300.3,-1501.01,23.4833,221.204,-46.6729],[4203.67,-1400.49,22.85,219.054,-45.5522],[4103.44,-1300.34,22.2,216.89,-44.3665],[3999.52,-1200.82,21.5333,214.723,-43.1123],[3891.83,-1102.24,20.85,212.563,-41.7861],[3774.93,-1000.36,20.1167,210.325,-40.3165],[3653.95,-900.41,19.3667,208.13,-38.7631],[3526.05,-800.673,18.5833,205.953,-37.086],[3391.04,-701.833,17.7667,203.823,-35.2781],[3243.07,-600.923,16.8833,201.696,-33.2549],[3084.55,-501.185,15.95,199.674,-31.0422],[2909.3,-400.721,14.9333,197.761,-28.5472],[2713.71,-300.373,13.8167,196.047,-25.7108],[2490.89,-200.689,12.5667,194.66,-22.4275],[2221.08,-100.076,11.0833,193.823,-18.4052],[1869.92,-0.627294,9.2,194.164,-13.1536],[1137.59,99.9356,5.43333,200.176,-2.49968],[959.768,103.928,4.55,202.701,-0.0357611]]], - [13,121.213,[[4783.3,-2000.54,26.85,231.278,-51.7761],[4704.23,-1901.58,26.3,229.276,-50.9381],[4621.96,-1801.75,25.7333,227.225,-50.0506],[4536.44,-1701.27,25.15,225.132,-49.1109],[4447.57,-1600.36,24.55,223,-48.1161],[4357.81,-1501.98,23.95,220.894,-47.0919],[4262.07,-1400.91,23.3167,218.705,-45.9781],[4162.76,-1300.17,22.6667,216.5,-44.7993],[4059.79,-1200.06,22,214.288,-43.5519],[3953.09,-1100.87,21.3167,212.08,-42.2323],[3839.92,-1000.6,20.6,209.838,-40.803],[3722.78,-902.059,19.8667,207.632,-39.2918],[3596.14,-801.396,19.0833,205.386,-37.6226],[3462.46,-701.582,18.2667,203.179,-35.822],[3318.75,-601.477,17.4,201.006,-33.8439],[3161.84,-500.478,16.4667,198.883,-31.6375],[2991.26,-400.227,15.4667,196.884,-29.1884],[2803.56,-301.076,14.3833,195.079,-26.4409],[2586.19,-200.38,13.15,193.528,-23.2033],[2331.6,-101.04,11.7333,192.481,-19.3594],[2000.44,-0.562182,9.93333,192.411,-14.3275],[1438.5,99.9092,6.98333,195.72,-5.90983],[1026.58,121.213,4.9,200.867,-0.00995754]]], - [14,139.682,[[4832.36,-2000.5,27.3,231.075,-52.1446],[4754,-1901.12,26.75,229.047,-51.3126],[4672.49,-1800.86,26.1833,226.968,-50.4313],[4590.17,-1702.78,25.6167,224.905,-49.525],[4502.14,-1601.34,25.0167,222.74,-48.5373],[4413.21,-1502.42,24.4167,220.6,-47.5202],[4318.37,-1400.77,23.7833,218.372,-46.4137],[4222.54,-1302,23.15,216.182,-45.2727],[4120.57,-1201.2,22.4833,213.923,-44.0335],[4014.91,-1101.28,21.8,211.666,-42.722],[3902.84,-1000.26,21.0833,209.369,-41.3006],[3786.84,-900.932,20.35,207.103,-39.797],[3664.13,-801.535,19.5833,204.838,-38.1712],[3531.8,-700.726,18.7667,202.554,-36.3784],[3392.29,-601.443,17.9167,200.338,-34.4459],[3239.81,-500.924,17,198.15,-32.2867],[3073.9,-400.772,16.0167,196.065,-29.8858],[2891.15,-301.272,14.95,194.144,-27.1867],[2682.11,-200.904,13.75,192.452,-24.0408],[2436.54,-100.695,12.3667,191.188,-20.2873],[2127.94,-0.766295,10.6667,190.754,-15.5262],[1650.56,99.7859,8.11667,192.697,-8.20678],[1095.48,139.679,5.26667,198.951,-0.0400124]]], - [15,159.301,[[4879.26,-2000.01,27.75,230.888,-52.5213],[4801.63,-1900.21,27.2,228.834,-51.6955],[4723.26,-1802.43,26.65,226.789,-50.8467],[4639.33,-1700.97,26.0667,224.634,-49.9207],[4554.55,-1601.85,25.4833,222.498,-48.9675],[4466.48,-1502.37,24.8833,220.322,-47.9577],[4372.55,-1400.13,24.25,218.056,-46.8589],[4277.64,-1300.77,23.6167,215.825,-45.7254],[4179.2,-1201.83,22.9667,213.578,-44.5251],[4074.58,-1101.18,22.2833,211.271,-43.2221],[3966.23,-1001.7,21.5833,208.972,-41.8427],[3851.41,-901.481,20.85,206.644,-40.3483],[3729.96,-801.138,20.0833,204.311,-38.7314],[3601.69,-701.339,19.2833,201.998,-36.9843],[3463.66,-600.875,18.4333,199.693,-35.0608],[3315.56,-500.859,17.5333,197.445,-32.9494],[3154.26,-400.835,16.5667,195.277,-30.5976],[2976.42,-301.017,15.5167,193.243,-27.948],[2775.58,-201.08,14.35,191.421,-24.8952],[2538.9,-100.124,13,189.951,-21.2345],[2249.34,-0.395807,11.3833,189.195,-16.7016],[1831.88,99.5772,9.11667,190.198,-10.1674],[1159.75,159.299,5.61667,197.052,-0.0325795]]], - [16,180.037,[[4926.29,-2002.21,28.2167,230.78,-52.9307],[4849.42,-1901.9,27.6667,228.699,-52.1122],[4769.45,-1800.67,27.1,226.565,-51.2448],[4688.7,-1701.61,26.5333,224.442,-50.3523],[4604.76,-1601.94,25.95,222.273,-49.4066],[4517.56,-1501.89,25.35,220.063,-48.4046],[4427.02,-1401.72,24.7333,217.818,-47.3429],[4333.06,-1301.67,24.1,215.545,-46.2182],[4235.62,-1202.02,23.45,213.253,-45.0268],[4132.07,-1100.62,22.7667,210.895,-43.7327],[4024.82,-1000.36,22.0667,208.542,-42.362],[3913.78,-901.568,21.35,206.209,-40.9106],[3793.6,-800.26,20.5833,203.807,-39.3034],[3669.33,-701.492,19.8,201.466,-37.6022],[3535.49,-601.763,18.9667,199.119,-35.7268],[3389.04,-500.338,18.0667,196.769,-33.6256],[3232.3,-400.47,17.1167,194.522,-31.3237],[3059.3,-300.366,16.0833,192.38,-28.7247],[2866.54,-200.966,14.95,190.437,-25.7665],[2641.52,-100.579,13.65,188.789,-22.2467],[2367.69,-0.31241,12.1,187.73,-17.9004],[1993.06,99.7126,10.0333,188.032,-11.9249],[1222.69,180.035,5.96667,195.123,-0.0346506]]], - [17,201.856,[[4968.75,-2001,28.6667,230.627,-53.3228],[4892.64,-1900.23,28.1167,228.521,-52.5111],[4815.79,-1801.49,27.5667,226.422,-51.6764],[4735.85,-1701.89,27,224.27,-50.7917],[4652.75,-1601.66,26.4167,222.068,-49.8539],[4566.43,-1501.03,25.8167,219.823,-48.8601],[4476.8,-1400.25,25.2,217.541,-47.8066],[4386.25,-1302.19,24.5833,215.287,-46.72],[4289.82,-1201.81,23.9333,212.95,-45.5379],[4189.86,-1102.09,23.2667,210.6,-44.2851],[4083.75,-1000.95,22.5667,208.192,-42.9249],[3973.89,-901.242,21.85,205.797,-41.4838],[3857.6,-801.123,21.1,203.379,-39.9222],[3734.7,-701.237,20.3167,200.963,-38.232],[3602.33,-600.306,19.4833,198.529,-36.3671],[3462.9,-501.258,18.6167,196.168,-34.3545],[3310.71,-401.448,17.6833,193.841,-32.1048],[3142.55,-300.951,16.6667,191.591,-29.5592],[2954.97,-200.62,15.55,189.502,-26.6543],[2741.38,-101.016,14.3,187.695,-23.2776],[2482.95,-0.581547,12.8167,186.362,-19.1218],[2140.9,99.9904,10.9,186.101,-13.5704],[1399.62,199.95,6.91667,191.575,-1.79916],[1284.24,201.853,6.31667,193.164,-0.0465755]]], - [18,224.721,[[5011.2,-2002.59,29.1333,230.556,-53.7474],[4935.86,-1901.3,28.5833,228.424,-52.9434],[4859.8,-1802.02,28.0333,226.298,-52.1165],[4780.69,-1701.86,27.4667,224.117,-51.2397],[4698.45,-1601.06,26.8833,221.883,-50.3102],[4615.39,-1502.61,26.3,219.667,-49.3525],[4526.71,-1401.14,25.6833,217.345,-48.3086],[4437.13,-1302.38,25.0667,215.052,-47.2313],[4341.72,-1201.26,24.4167,212.67,-46.0589],[4242.82,-1100.77,23.75,210.271,-44.8159],[4140.35,-1001.2,23.0667,207.866,-43.4982],[4031.69,-900.559,22.35,205.411,-42.0679],[3919.25,-801.656,21.6167,202.981,-40.5521],[3797.72,-700.63,20.8333,200.488,-38.8736],[3669.48,-600.464,20.0167,198.017,-37.0578],[3531.65,-500.013,19.15,195.557,-35.0571],[3383.93,-400.424,18.2333,193.159,-32.8588],[3223.25,-301.323,17.25,190.847,-30.4084],[3040.78,-200.104,16.15,188.619,-27.5584],[2835.58,-100.22,14.9333,186.647,-24.2809],[2592.16,-0.198906,13.5167,185.081,-20.3176],[2281.74,99.4512,11.75,184.357,-15.1979],[1764.5,199.831,8.9,186.444,-6.70909],[1341.18,224.72,6.65,191.221,-0.0198099]]], - [19,248.598,[[5049.05,-2000.85,29.5833,230.441,-54.1551],[4976.75,-1902.13,29.05,228.349,-53.3829],[4901.49,-1802.3,28.5,226.196,-52.564],[4823.21,-1701.58,27.9333,223.985,-51.6956],[4741.84,-1600.18,27.35,221.719,-50.7746],[4659.66,-1501.14,26.7667,219.469,-49.8255],[4574.29,-1401.76,26.1667,217.174,-48.8189],[4485.68,-1302.29,25.55,214.84,-47.7515],[4391.3,-1200.41,24.9,212.413,-46.5892],[4295.94,-1101.62,24.25,210.026,-45.3877],[4194.61,-1001.16,23.5667,207.567,-44.0813],[4089.67,-901.886,22.8667,205.11,-42.696],[3978.51,-801.907,22.1333,202.612,-41.1926],[3860.94,-701.846,21.3667,200.097,-39.5627],[3734.2,-600.351,20.55,197.539,-37.7603],[3600.63,-500.377,19.7,195.029,-35.8114],[3457.36,-400.918,18.8,192.56,-33.6669],[3301.36,-301.537,17.8333,190.152,-31.2719],[3126.69,-200.972,16.7667,187.823,-28.5222],[2929.78,-100.769,15.5833,185.692,-25.3477],[2698.25,-0.193193,14.2167,183.894,-21.5344],[2412.77,99.1391,12.5667,182.784,-16.7558],[1982.69,199.866,10.15,183.521,-9.53083],[1396.72,248.598,6.98333,189.249,-0.00265246]]], - [20,273.45,[[5086.76,-2002.05,30.05,230.411,-54.594],[5015.24,-1902.79,29.5167,228.295,-53.8298],[4940.8,-1802.4,28.9667,226.115,-53.0192],[4863.36,-1701.1,28.4,223.875,-52.1594],[4785.17,-1601.98,27.8333,221.643,-51.2738],[4703.9,-1502.26,27.25,219.359,-50.3344],[4619.48,-1402.17,26.65,217.027,-49.3378],[4531.84,-1301.97,26.0333,214.654,-48.2805],[4440.92,-1201.91,25.4,212.245,-47.1588],[4346.63,-1102.27,24.75,209.81,-45.9688],[4246.46,-1000.88,24.0667,207.297,-44.6743],[4142.71,-900.668,23.3667,204.781,-43.3007],[4035.33,-801.939,22.65,202.276,-41.8436],[3919.14,-700.722,21.8833,199.686,-40.2268],[3796.44,-600.028,21.0833,197.098,-38.4746],[3667.07,-500.566,20.25,194.54,-36.578],[3528.19,-401.277,19.3667,192.006,-34.488],[3376.82,-301.659,18.4167,189.507,-32.1494],[3207.1,-200.336,17.3667,187.053,-29.4576],[3018.3,-100.124,16.2167,184.782,-26.3862],[2801.17,-0.636156,14.9167,182.804,-22.7713],[2534.25,99.4146,13.35,181.352,-18.2418],[2161.41,199.937,11.2167,181.221,-11.8529],[1453.92,273.448,7.33333,187.203,-0.0455675]]], - [21,299.241,[[5122.04,-2003.13,30.5167,230.403,-55.0396],[5049.08,-1900.23,29.9667,228.196,-54.2598],[4977.68,-1802.36,29.4333,226.056,-53.4818],[4901.09,-1700.46,28.8667,223.787,-52.6309],[4823.76,-1600.74,28.3,221.526,-51.7543],[4743.39,-1500.4,27.7167,219.208,-50.8241],[4662.23,-1402.43,27.1333,216.906,-49.8648],[4575.59,-1301.48,26.5167,214.493,-48.8181],[4485.69,-1200.65,25.8833,212.041,-47.7072],[4392.47,-1100.21,25.2333,209.559,-46.5281],[4295.86,-1000.43,24.5667,207.056,-45.2767],[4195.78,-901.618,23.8833,204.543,-43.9485],[4089.67,-801.801,23.1667,201.973,-42.5049],[3977.36,-701.586,22.4167,199.366,-40.9374],[3858.71,-601.622,21.6333,196.747,-39.237],[3730.94,-500.635,20.8,194.094,-37.3564],[3596.4,-401.557,19.9333,191.498,-35.3216],[3446.96,-300.031,18.9833,188.869,-32.9989],[3287.44,-201.289,17.9833,186.379,-30.4513],[3106.63,-101.046,16.8667,183.975,-27.4866],[2898.1,-0.361533,15.6,181.789,-23.9802],[2649.22,99.6015,14.1167,180.052,-19.7031],[2320.09,199.455,12.2,179.288,-13.9634],[1506.48,299.238,7.66667,185.174,-0.0494261]]], - [22,325.933,[[5152.66,-2000.99,30.9667,230.351,-55.4691],[5082.7,-1900.68,30.4333,228.186,-54.7211],[5012.1,-1802.24,29.9,226.021,-53.9517],[4938.62,-1702.71,29.35,223.791,-53.1352],[4862.18,-1602.31,28.7833,221.499,-52.2686],[4782.73,-1501.27,28.2,219.149,-51.3487],[4702.51,-1402.59,27.6167,216.812,-50.3998],[4616.87,-1300.88,27,214.359,-49.3641],[4530.36,-1201.9,26.3833,211.93,-48.2939],[4438.25,-1100.56,25.7333,209.4,-47.1273],[4345.18,-1002.33,25.0833,206.909,-45.92],[4243.88,-900.085,24.3833,204.276,-44.573],[4141.48,-801.553,23.6833,201.704,-43.1762],[4030.54,-700.17,22.9333,199.026,-41.6229],[3915.83,-601.076,22.1667,196.384,-39.9734],[3792.2,-500.646,21.35,193.69,-38.1463],[3661.93,-401.82,20.5,191.038,-36.1674],[3517.03,-300.112,19.5667,188.327,-33.9034],[3362.27,-200.785,18.5833,185.729,-31.416],[3189.27,-100.814,17.5,183.211,-28.5576],[2991.85,-0.566522,16.2833,180.868,-25.2075],[2757.79,99.8226,14.8667,178.871,-21.1382],[2459.53,199.857,13.1,177.62,-15.8549],[1969.08,299.981,10.2833,178.867,-7.14506],[1554.45,325.932,7.98333,183.161,-0.0130132]]], - [23,353.488,[[5182.96,-2001.98,31.4333,230.388,-55.9283],[5113.81,-1901.1,30.9,228.2,-55.1891],[5044.02,-1802.08,30.3667,226.01,-54.4286],[4971.38,-1701.95,29.8167,223.753,-53.6213],[4895.83,-1600.93,29.25,221.431,-52.7643],[4819.55,-1502.1,28.6833,219.116,-51.8807],[4740.28,-1402.69,28.1,216.744,-50.9426],[4655.65,-1300.22,27.4833,214.253,-49.9183],[4570.16,-1200.45,26.8667,211.783,-48.8595],[4481.48,-1100.86,26.2333,209.273,-47.735],[4389.53,-1001.72,25.5833,206.731,-46.5405],[4291.86,-900.883,24.9,204.105,-45.2394],[4190.72,-801.254,24.2,201.47,-43.8571],[4083.61,-700.914,23.4667,198.781,-42.3538],[3970.35,-600.492,22.7,196.06,-40.7205],[3850.78,-500.659,21.9,193.332,-38.9474],[3722.2,-400.217,21.05,190.576,-36.9857],[3584.31,-300.286,20.15,187.841,-34.8205],[3434.24,-200.425,19.1833,185.14,-32.3946],[3268.9,-100.869,18.1333,182.521,-29.6439],[3082.36,-1.32219,16.9667,180.044,-26.4521],[2862.76,99.0547,15.6167,177.821,-22.5945],[2588.89,199.715,13.9667,176.162,-17.675],[2191.13,299.678,11.6333,176.069,-10.4488],[1603.93,353.486,8.31667,181.078,-0.0384776]]], - [24,381.87,[[5210.71,-2003.03,31.9,230.45,-56.3941],[5142.37,-1901.56,31.3667,228.238,-55.664],[5073.41,-1801.95,30.8333,226.024,-54.9126],[5001.62,-1701.2,30.2833,223.74,-54.1148],[4929.16,-1602.5,29.7333,221.458,-53.2929],[4851.58,-1500.06,29.15,219.043,-52.394],[4775.49,-1402.81,28.5833,216.706,-51.4931],[4694.15,-1302.3,27.9833,214.244,-50.5085],[4609.72,-1201.67,27.3667,211.732,-49.4624],[4522.13,-1101.17,26.7333,209.177,-48.3509],[4431.32,-1001.09,26.0833,206.587,-47.1699],[4337.21,-901.706,25.4167,203.97,-45.9147],[4237.35,-800.96,24.7167,201.274,-44.5476],[4134.01,-701.701,24,198.578,-43.0943],[4024.65,-602.095,23.25,195.837,-41.5138],[3906.66,-500.736,22.45,193.019,-39.7592],[3782.27,-400.6,21.6167,190.216,-37.8549],[3648.77,-300.616,20.7333,187.412,-35.7499],[3503.32,-200.274,19.7833,184.615,-33.3866],[3345.51,-101.276,18.7667,181.908,-30.7447],[3166.95,-1.30948,17.6333,179.284,-27.6665],[2958.73,99.6257,16.3333,176.852,-23.9733],[2708.42,199.447,14.8,174.881,-19.4202],[2365.73,299.639,12.75,173.97,-13.0771],[1648.82,381.868,8.63333,179.009,-0.0234132]]], - [25,411.04,[[5233.76,-2000.96,32.35,230.466,-56.8438],[5168.35,-1902.1,31.8333,228.302,-56.1451],[5100.21,-1801.89,31.3,226.063,-55.4032],[5029.29,-1700.52,30.75,223.753,-54.6152],[4957.71,-1601.18,30.2,221.443,-53.8032],[4883.26,-1500.98,29.6333,219.067,-52.9407],[4805.89,-1400.15,29.05,216.627,-52.0244],[4727.77,-1301.7,28.4667,214.198,-51.0782],[4644.38,-1200.25,27.85,211.646,-50.0443],[4560.16,-1101.55,27.2333,209.115,-48.9749],[4470.49,-1000.51,26.5833,206.476,-47.8077],[4377.57,-900.142,25.9167,203.806,-46.5667],[4281.33,-800.731,25.2333,201.115,-45.247],[4179.32,-700.298,24.5167,198.353,-43.8097],[4073.78,-601.647,23.7833,195.6,-42.2808],[3959.78,-500.937,23,192.755,-40.5813],[3839.52,-401.152,22.1833,189.908,-38.7347],[3710.35,-301.165,21.3167,187.041,-36.6906],[3569.46,-200.396,20.3833,184.156,-34.3912],[3416.45,-100.508,19.3833,181.329,-31.8152],[3245.7,-0.445678,18.2833,178.579,-28.8505],[3051.2,99.3055,17.05,176.002,-25.3706],[2818.4,199.443,15.6,173.749,-21.0884],[2514.86,299.733,13.75,172.259,-15.3793],[1954.83,399.868,10.45,174.037,-4.82046],[1692.13,411.039,8.95,176.914,-0.0193786]]], - [26,440.959,[[5256.3,-2002.24,32.8167,230.577,-57.3221],[5191.7,-1902.79,32.3,228.391,-56.6326],[5124.4,-1801.96,31.7667,226.129,-55.9003],[5056.49,-1703.01,31.2333,223.863,-55.1463],[4985.81,-1602.96,30.6833,221.526,-54.3452],[4912.3,-1502.02,30.1167,219.119,-53.4941],[4835.9,-1400.42,29.5333,216.646,-52.5896],[4758.77,-1301.2,28.95,214.182,-51.6554],[4678.66,-1201.66,28.35,211.661,-50.6623],[4595.53,-1102.04,27.7333,209.087,-49.6065],[4507.01,-1000.04,27.0833,206.4,-48.4538],[4417.6,-901.161,26.4333,203.745,-47.2588],[4322.62,-800.626,25.75,200.996,-45.9553],[4224.29,-701.322,25.05,198.233,-44.5683],[4120.17,-601.344,24.3167,195.407,-43.0576],[4010.1,-501.326,23.55,192.539,-41.4132],[3893.93,-401.94,22.75,189.655,-39.6249],[3766.55,-300.1,21.8833,186.675,-37.6026],[3632.62,-200.86,20.9833,183.763,-35.4078],[3484.35,-100.142,20,180.824,-32.8993],[3321.24,-0.142609,18.9333,177.962,-30.0496],[3137.52,99.3334,17.75,175.238,-26.737],[2921.71,198.945,16.3833,172.762,-22.7278],[2647.83,299.533,14.6833,170.822,-17.5051],[2231.14,399.766,12.1667,170.608,-9.44319],[1733.81,440.957,9.26667,174.793,-0.0268725]]], - [27,471.588,[[5274.14,-2000.48,33.2667,230.643,-57.7845],[5210.33,-1900.49,32.75,228.436,-57.1039],[5145.96,-1802.23,32.2333,226.222,-56.4037],[5078.9,-1702.65,31.7,223.932,-55.6598],[5009.11,-1601.93,31.15,221.567,-54.8692],[4936.53,-1500.31,30.5833,219.131,-54.029],[4863.26,-1400.89,30.0167,216.698,-53.1618],[4787.11,-1300.88,29.4333,214.199,-52.2399],[4708.04,-1200.51,28.8333,211.639,-51.2596],[4625.98,-1100.04,28.2167,209.024,-50.217],[4543.11,-1002.34,27.6,206.43,-49.1376],[4454.88,-902.385,26.95,203.724,-47.9585],[4361.18,-800.709,26.2667,200.917,-46.6719],[4264.17,-700.223,25.5667,198.091,-45.302],[4163.79,-601.25,24.85,195.259,-43.8434],[4057.6,-501.966,24.1,192.373,-42.2545],[3943.04,-400.976,23.3,189.396,-40.4871],[3822.3,-301.251,22.4667,186.424,-38.5649],[3692.75,-201.734,21.5833,183.439,-36.4355],[3549.15,-100.247,20.6167,180.395,-33.996],[3393.53,-0.471206,19.5833,177.436,-31.2627],[3217.78,99.8065,18.4333,174.551,-28.072],[3015.86,199.268,17.1333,171.878,-24.2869],[2767.93,299.154,15.5667,169.604,-19.5018],[2419.46,399.867,13.4167,168.408,-12.6291],[1773.85,471.585,9.58333,172.647,-0.0463945]]], - [28,502.889,[[5291.35,-2002.23,33.7333,230.806,-58.2745],[5228.37,-1901.62,33.2167,228.578,-57.6036],[5164.82,-1802.75,32.7,226.342,-56.9133],[5098.63,-1702.51,32.1667,224.028,-56.1796],[5029.74,-1601.13,31.6167,221.637,-55.3998],[4960.21,-1501.78,31.0667,219.244,-54.5956],[4887.9,-1401.58,30.5,216.78,-53.7406],[4812.76,-1300.77,29.9167,214.247,-52.8314],[4736.91,-1202.35,29.3333,211.722,-51.8915],[4655.94,-1100.94,28.7167,209.066,-50.8635],[4574.18,-1002.29,28.1,206.428,-49.7988],[4487.15,-901.322,27.45,203.672,-48.6353],[4396.96,-801.037,26.7833,200.879,-47.3965],[4303.58,-701.73,26.1,198.06,-46.0773],[4204.59,-601.424,25.3833,195.158,-44.638],[4099.88,-500.732,24.6333,192.194,-43.0689],[3989.29,-400.306,23.85,189.19,-41.3593],[3872.65,-300.843,23.0333,186.176,-39.4981],[3747.4,-201.227,22.1667,183.127,-37.433],[3610.82,-100.89,21.2333,180.044,-35.1043],[3462.54,-1.50285,20.2333,177.002,-32.4885],[3294.59,99.3916,19.1167,173.973,-29.422],[3103.63,199.487,17.8667,171.107,-25.8145],[2875.59,299.303,16.4,168.552,-21.3666],[2573.75,399.7,14.5,166.723,-15.3192],[1939.42,499.899,10.65,169.008,-2.56098],[1809.35,502.888,9.88333,170.513,-0.0235402]]], - [29,534.822,[[5303.82,-2001.01,34.1833,230.924,-58.749],[5243.67,-1903.07,33.6833,228.748,-58.109],[5178.93,-1800.38,33.15,226.418,-57.4065],[5115.64,-1702.67,32.6333,224.153,-56.7057],[5047.66,-1600.6,32.0833,221.736,-55.937],[4979.04,-1500.56,31.5333,219.316,-55.144],[4909.8,-1402.58,30.9833,216.895,-54.3259],[4835.67,-1300.94,30.4,214.329,-53.4297],[4760.84,-1201.7,29.8167,211.769,-52.5031],[4683.13,-1102.14,29.2167,209.145,-51.517],[4602.49,-1002.52,28.6,206.464,-50.4674],[4516.65,-900.529,27.95,203.66,-49.32],[4429.94,-801.673,27.3,200.884,-48.1289],[4337.85,-701.178,26.6167,198.005,-46.8277],[4242.53,-601.931,25.9167,195.105,-45.4409],[4141.61,-502.032,25.1833,192.131,-43.9278],[4034.95,-402.115,24.4167,189.104,-42.2777],[3920.03,-300.844,23.6,185.988,-40.4411],[3799.01,-201.183,22.75,182.882,-38.4411],[3666.88,-100.372,21.8333,179.715,-36.1813],[3523.3,-0.0426537,20.85,176.56,-33.6375],[3365.41,99.4944,19.7833,173.461,-30.739],[3185.11,199.715,18.5833,170.437,-27.3097],[2973.77,299.516,17.2,167.646,-23.1493],[2706.28,399.465,15.4833,165.366,-17.719],[2287.33,499.595,12.8667,164.805,-9.04679],[1843.21,534.821,10.1833,168.352,-0.0123977]]], - [30,567.348,[[5313.58,-2000.13,34.6333,231.068,-59.2293],[5254.23,-1901.63,34.1333,228.873,-58.5985],[5192.35,-1801.53,33.6167,226.595,-57.9279],[5127.89,-1700.02,33.0833,224.234,-57.215],[5062.85,-1600.4,32.55,221.866,-56.4802],[4997.22,-1502.67,32.0167,219.493,-55.7228],[4926.85,-1400.96,31.45,216.968,-54.8923],[4855.82,-1301.46,30.8833,214.444,-54.0343],[4782.02,-1201.37,30.3,211.85,-53.1213],[4705.38,-1100.94,29.7,209.188,-52.1494],[4625.85,-1000.42,29.0833,206.465,-51.1144],[4543.36,-900.065,28.45,203.686,-50.0121],[4457.87,-800.156,27.8,200.86,-48.8377],[4369.29,-700.978,27.1333,197.994,-47.5859],[4275.34,-600.484,26.4333,195.03,-46.2184],[4178.13,-501.519,25.7167,192.052,-44.7597],[4073.01,-400.107,24.95,188.943,-43.1315],[3964.4,-301.321,24.1667,185.86,-41.3932],[3847.54,-201.67,23.3333,182.705,-39.4588],[3719.81,-100.445,22.4333,179.462,-37.269],[3583.28,-0.916596,21.4833,176.254,-34.8425],[3432.78,98.6684,20.45,173.055,-32.0686],[3262.89,198.692,19.3,169.9,-28.8195],[3065.25,298.99,17.9833,166.892,-24.8995],[2823.19,399.103,16.4,164.253,-19.9309],[2481.49,499.601,14.2167,162.638,-12.7235],[1875.39,567.348,10.4833,166.167,-0.0135042]]], - [31,600.428,[[5322.53,-2002.98,35.1,231.313,-59.7356],[5262.04,-1900.58,34.5833,229.026,-59.0939],[5202.97,-1803.1,34.0833,226.801,-58.4548],[5139.41,-1700.91,33.55,224.418,-57.7529],[5075.27,-1600.6,33.0167,222.026,-57.0294],[5010.54,-1502.18,32.4833,219.627,-56.2834],[4943.2,-1402.7,31.9333,217.15,-55.4898],[4873.17,-1302.38,31.3667,214.595,-54.6452],[4800.4,-1201.44,30.7833,211.966,-53.7461],[4724.84,-1100.12,30.1833,209.268,-52.7887],[4648.55,-1001.38,29.5833,206.578,-51.797],[4569.4,-902.626,28.9667,203.828,-50.7405],[4485.15,-801.566,28.3167,200.951,-49.5844],[4397.86,-701.197,27.65,198.03,-48.3517],[4307.48,-601.817,26.9667,195.074,-47.0368],[4211.71,-501.45,26.25,192.025,-45.5998],[4110.41,-400.711,25.5,188.903,-44.0302],[4003.44,-300.256,24.7167,185.729,-42.3165],[3890.65,-200.785,23.9,182.532,-40.4465],[3769.56,-101.183,23.0333,179.285,-38.3664],[3637.55,-0.888532,22.1,175.983,-36.0144],[3494.27,98.4212,21.1,172.703,-33.3641],[3332.04,199.191,19.9833,169.405,-30.2465],[3147.67,299.101,18.7333,166.238,-26.5646],[2925.07,399.661,17.25,163.307,-21.952],[2633.92,499.325,15.35,161.068,-15.7194],[1952.23,599.988,11.0667,163.407,-1.00014],[1905.86,600.427,10.7833,163.958,-0.0274558]]], - [32,634.02,[[5326.73,-2002.99,35.55,231.513,-60.2268],[5269.01,-1903.28,35.05,229.281,-59.6156],[5208.83,-1801.91,34.5333,226.963,-58.9657],[5148.12,-1702.27,34.0167,224.633,-58.2964],[5084.88,-1601.25,33.4833,222.218,-57.5844],[5021.07,-1502.12,32.95,219.794,-56.8502],[4954.67,-1401.9,32.4,217.289,-56.0688],[4885.63,-1300.81,31.8333,214.705,-55.2371],[4815.95,-1201.95,31.2667,212.119,-54.3772],[4743.55,-1102.53,30.6833,209.46,-53.4614],[4666.29,-1000.08,30.0667,206.656,-52.4582],[4588.27,-900.38,29.45,203.863,-51.4174],[4507.37,-800.893,28.8167,201.012,-50.3078],[4423.52,-701.894,28.1667,198.111,-49.1245],[4334.48,-601.262,27.4833,195.095,-47.8298],[4242.34,-501.888,26.7833,192.051,-46.4476],[4144.79,-401.872,26.05,188.92,-44.9365],[4041.71,-301.85,25.2833,185.725,-43.2853],[3930.68,-200.488,24.4667,182.425,-41.4433],[3813.78,-100.754,23.6167,179.122,-39.4323],[3688.52,-1.66038,22.7167,175.797,-37.1962],[3549.93,98.8356,21.7333,172.398,-34.6256],[3397.58,198.522,20.6667,169.03,-31.6861],[3223.67,298.872,19.4667,165.701,-28.1945],[3017.44,399.875,18.0667,162.526,-23.887],[2759.66,499.625,16.35,159.837,-18.3018],[2353.67,599.758,13.7167,158.718,-9.27103],[1934.59,634.018,11.0833,161.724,-0.0548278]]], - [33,668.087,[[5326.23,-2000.14,35.9833,231.666,-60.7034],[5271.22,-1903.2,35.5,229.491,-60.1218],[5211.89,-1801.21,34.9833,227.153,-59.4822],[5152.04,-1700.94,34.4667,224.803,-58.8235],[5091.66,-1602.42,33.95,222.441,-58.1448],[5028.77,-1502.57,33.4167,219.994,-57.4226],[4963.33,-1401.6,32.8667,217.463,-56.6538],[4897.3,-1302.69,32.3167,214.926,-55.8598],[4826.61,-1200.07,31.7333,212.232,-54.9888],[4757.31,-1102.66,31.1667,209.615,-54.1133],[4683.24,-1002.02,30.5667,206.849,-53.1533],[4606.39,-901.283,29.95,204.014,-52.1297],[4526.69,-800.721,29.3167,201.117,-51.0381],[4444.1,-700.608,28.6667,198.164,-49.8733],[4358.54,-601.234,28,195.165,-48.63],[4267.79,-500.547,27.3,192.056,-47.2693],[4173.92,-401.397,26.5833,188.924,-45.8152],[4074.65,-301.964,25.8333,185.716,-44.225],[3967.59,-200.852,25.0333,182.384,-42.4485],[3854.81,-101.045,24.2,179.033,-40.5071],[3733.87,-1.48871,23.3167,175.635,-38.3449],[3599.87,99.9843,22.35,172.13,-35.8533],[3454.75,199.678,21.3167,168.67,-33.0432],[3290.98,299.787,20.1667,165.222,-29.7388],[3102.98,398.962,18.8667,161.915,-25.7865],[2869.93,499.315,17.2833,158.868,-20.6883],[2543.73,599.458,15.1167,156.727,-13.3058],[1958.89,668.085,11.3667,159.499,-0.0375945]]], - [34,702.587,[[5324.8,-2001.21,36.4333,231.921,-61.2051],[5268.71,-1900.35,35.9333,229.654,-60.6132],[5212.13,-1801.06,35.4333,227.373,-60.0042],[5153.14,-1700.15,34.9167,225.003,-59.3562],[5093.64,-1600.98,34.4,222.62,-58.6886],[5031.66,-1500.46,33.8667,220.149,-57.9779],[4969.14,-1401.84,33.3333,217.67,-57.2446],[4904.08,-1302.15,32.7833,215.105,-56.4637],[4836.44,-1201.63,32.2167,212.458,-55.6318],[4766.16,-1100.49,31.6333,209.731,-54.7454],[4695.22,-1001.76,31.05,207.005,-53.8271],[4619.52,-900.052,30.4333,204.13,-52.8203],[4543.1,-801.113,29.8167,201.265,-51.7749],[4463.86,-702.427,29.1833,198.339,-50.6592],[4379.63,-601.798,28.5167,195.284,-49.437],[4292.42,-502.163,27.8333,192.187,-48.1312],[4200.03,-401.543,27.1167,188.984,-46.7014],[4102.31,-300.553,26.3667,185.695,-45.1365],[4001.36,-201.944,25.6,182.412,-43.4613],[3890.4,-100.143,24.7667,178.95,-41.5507],[3773.67,-0.309636,23.9,175.492,-39.4613],[3648.73,98.4791,22.9833,172.016,-37.1347],[3508.4,199.733,21.9667,168.418,-34.4116],[3354.51,299.282,20.8667,164.879,-31.2956],[3177.04,399.564,19.6167,161.374,-27.5447],[2965.33,499.495,18.15,158.077,-22.8757],[2685.48,599.888,16.25,155.329,-16.4575],[2093.67,699.95,12.3667,156.079,-2.60363],[1981.47,702.586,11.65,157.25,-0.0334647]]], - [35,737.48,[[5320.48,-2002.92,36.8833,232.205,-61.7118],[5265.22,-1901.44,36.3833,229.923,-61.1301],[5209.48,-1801.53,35.8833,227.624,-60.5315],[5153.26,-1703.22,35.3833,225.312,-59.9154],[5092.76,-1600.14,34.85,222.831,-59.2382],[5033.62,-1502.06,34.3333,220.415,-58.5615],[4972.04,-1402.68,33.8,217.911,-57.841],[4907.97,-1302.22,33.25,215.32,-57.0735],[4841.35,-1200.88,32.6833,212.644,-56.2558],[4774.12,-1101.77,32.1167,209.963,-55.4095],[4704.27,-1002.11,31.5333,207.202,-54.5072],[4631.76,-902.149,30.9333,204.366,-53.5448],[4556.53,-802.133,30.3167,201.458,-52.5178],[4478.53,-702.33,29.6833,198.485,-51.4214],[4395.61,-600.513,29.0167,195.376,-50.2197],[4311.87,-502.066,28.35,192.296,-48.967],[4220.93,-400.049,27.6333,189.025,-47.561],[4129.06,-302.042,26.9167,185.807,-46.0909],[4029.75,-201.703,26.15,182.435,-44.4442],[3922.8,-100.019,25.3333,178.939,-42.6026],[3812.43,-1.87373,24.5,175.494,-40.6271],[3689.61,99.4371,23.5833,171.872,-38.3381],[3558.48,198.61,22.6167,168.276,-35.7895],[3411.91,298.764,21.55,164.618,-32.8147],[3244.67,399.606,20.35,160.956,-29.2653],[3051.2,498.928,18.9833,157.467,-24.9716],[2803.66,599.797,17.2667,154.283,-19.2364],[2424.18,699.801,14.7,152.45,-10.1314],[2002.3,737.478,11.9333,154.976,-0.04309]]], - [36,772.726,[[5311.45,-2001.9,37.3167,232.443,-62.2042],[5258.84,-1903.21,36.8333,230.221,-61.6518],[5203.96,-1802.67,36.3333,227.906,-61.0638],[5146.74,-1700.44,35.8167,225.497,-60.4381],[5090.88,-1603.15,35.3167,223.152,-59.8142],[5030.78,-1501.18,34.7833,220.637,-59.1282],[4970.14,-1401.1,34.25,218.109,-58.42],[4908.96,-1302.94,33.7167,215.571,-57.6887],[4843.37,-1200.76,33.15,212.866,-56.8854],[4777.18,-1100.82,32.5833,210.155,-56.0538],[4708.42,-1000.29,32,207.361,-55.167],[4639.02,-902.185,31.4167,204.567,-54.2475],[4564.97,-801.153,30.8,201.617,-53.2385],[4488.19,-700.296,30.1667,198.599,-52.1608],[4410.67,-602.424,29.5333,195.595,-51.0393],[4326.22,-500.225,28.85,192.38,-49.7779],[4240.91,-401.604,28.1667,189.198,-48.4607],[4150.55,-302.073,27.45,185.906,-47.0168],[4052.86,-200.086,26.6833,182.45,-45.3981],[3951.98,-100.745,25.9,179,-43.6618],[3843.47,-0.540765,25.0667,175.442,-41.7197],[3727.13,99.4158,24.1833,171.817,-39.5502],[3600.51,199.615,23.2333,168.119,-37.0861],[3461.03,299.874,22.2,164.372,-34.2484],[3305.98,399.206,21.0667,160.65,-30.9468],[3125.47,499.216,19.7667,156.962,-26.9206],[2904.19,599.595,18.2,153.483,-21.7521],[2598.76,699.487,16.0833,150.751,-14.3132],[2018.81,772.726,12.2,152.709,-0.00586252]]], - [37,808.286,[[5299.53,-2001.58,37.75,232.709,-62.7019],[5247.74,-1902.33,37.2667,230.472,-62.1591],[5193.69,-1801.19,36.7667,228.14,-61.5814],[5139.18,-1701.63,36.2667,225.792,-60.9867],[5082.36,-1600.45,35.75,223.349,-60.3534],[5025.03,-1501,35.2333,220.892,-59.7004],[4965.34,-1400.2,34.7,218.342,-59.0048],[4905.12,-1301.31,34.1667,215.779,-58.2864],[4842.46,-1201.36,33.6167,213.127,-57.5207],[4777.32,-1100.56,33.05,210.386,-56.7042],[4711.58,-1002,32.4833,207.639,-55.8585],[4641.34,-900.14,31.8833,204.729,-54.9299],[4570.44,-800.87,31.2833,201.821,-53.9655],[4496.89,-701.586,30.6667,198.838,-52.9355],[4420.64,-602.554,30.0333,195.786,-51.8346],[4339.6,-501.57,29.3667,192.594,-50.6267],[4255.71,-401.582,28.6833,189.35,-49.3338],[4166.83,-300.603,27.9667,185.989,-47.9155],[4074.95,-201.455,27.2333,182.603,-46.395],[3975.78,-100.286,26.45,179.06,-44.6903],[3871.26,-0.103765,25.6333,175.465,-42.8204],[3761.26,98.3441,24.7833,171.851,-40.7698],[3639.06,199.496,23.85,168.061,-38.3914],[3506.52,299.676,22.85,164.243,-35.6919],[3358.8,399.92,21.75,160.386,-32.539],[3190.81,499.707,20.5167,156.562,-28.7768],[2990.14,599.669,19.0667,152.859,-24.0596],[2729.18,699.433,17.2167,149.597,-17.6332],[2227.68,799.995,13.7667,148.752,-4.86292],[2036.1,808.285,12.4833,150.388,-0.0442629]]], - [38,844.117,[[5284.7,-2002.04,38.1833,233.005,-63.2044],[5233.72,-1902.21,37.7,230.754,-62.6715],[5180.53,-1800.46,37.2,228.406,-62.1043],[5126.87,-1700.3,36.7,226.04,-61.5202],[5072.76,-1601.73,36.2,223.658,-60.9186],[5016.35,-1501.59,35.6833,221.181,-60.2778],[4957.62,-1400.05,35.15,218.609,-59.5951],[4898.35,-1300.42,34.6167,216.023,-58.8898],[4838.57,-1202.72,34.0833,213.426,-58.1611],[4774.49,-1101.05,33.5167,210.656,-57.36],[4709.82,-1001.62,32.95,207.879,-56.5301],[4642.65,-901.644,32.3667,205.015,-55.6443],[4572.92,-801.356,31.7667,202.069,-54.6983],[4500.58,-701.014,31.15,199.044,-53.6874],[4425.58,-600.884,30.5167,195.946,-52.6067],[4347.86,-501.245,29.8667,192.781,-51.4506],[4267.39,-402.388,29.2,189.559,-50.2129],[4182.06,-302.278,28.5,186.208,-48.8542],[4091.76,-201.516,27.7667,182.746,-47.3628],[3996.37,-100.743,27,179.19,-45.7255],[3895.76,-0.641824,26.2,175.566,-43.9281],[3787.69,99.9734,25.35,171.831,-41.9144],[3671.95,199.96,24.45,168.034,-39.6612],[3546.15,299.736,23.4833,164.167,-37.0975],[3407.78,399.031,22.4333,160.262,-34.1407],[3249.71,499.413,21.25,156.292,-30.5921],[3064.38,599.89,19.8833,152.379,-26.2147],[2834.37,699.57,18.2167,148.752,-20.5029],[2485.94,799.956,15.75,146.128,-11.4577],[2049.11,844.116,12.75,148.071,-0.0355041]]], - [39,880.18,[[5266.92,-2003.33,38.6167,233.33,-63.7116],[5216.77,-1902.91,38.1333,231.065,-63.1888],[5164.44,-1800.55,37.6333,228.702,-62.6322],[5113.42,-1703.09,37.15,226.4,-62.0784],[5058.41,-1600.56,36.6333,223.92,-61.4686],[5004.71,-1502.98,36.1333,221.504,-60.8601],[4946.94,-1400.71,35.6,218.911,-60.1905],[4888.65,-1300.33,35.0667,216.302,-59.4987],[4829.85,-1201.86,34.5333,213.681,-58.7837],[4768.67,-1102.36,33.9833,210.965,-58.0211],[4705.08,-1002.05,33.4167,208.158,-57.2072],[4639.03,-901.141,32.8333,205.262,-56.3383],[4572.36,-802.669,32.25,202.362,-55.4364],[4501.24,-701.253,31.6333,199.296,-54.4453],[4427.5,-600.009,31,196.153,-53.3852],[4353.07,-501.759,30.3667,193.021,-52.2803],[4273.97,-401.619,29.7,189.742,-51.0665],[4190.09,-300.149,29,186.328,-49.7332],[4103.36,-200.222,28.2833,182.873,-48.3026],[4011.66,-100.001,27.5333,179.312,-46.7309],[3914.88,-0.149197,26.75,175.668,-45.0041],[3812.91,98.6241,25.9333,171.967,-43.1067],[3701.38,199.245,25.05,168.103,-40.9381],[3582.17,298.436,24.1167,164.204,-38.5103],[3448.56,399.579,23.0833,160.151,-35.654],[3300.08,499.856,21.95,156.083,-32.3141],[3129.54,599.72,20.6667,152.038,-28.2721],[2922.43,699.633,19.1333,148.13,-23.0975],[2639.92,799.523,17.0833,144.771,-15.674],[2060.34,880.178,13.0167,145.731,-0.0416288]]], - [40,916.433,[[5244.47,-2002,39.0333,233.607,-64.2058],[5195.13,-1901.03,38.55,231.328,-63.6927],[5145.38,-1801.5,38.0667,229.03,-63.165],[5093.47,-1700.08,37.5667,226.632,-62.6029],[5041.11,-1600.24,37.0667,224.216,-62.0238],[4988.3,-1502.02,36.5667,221.782,-61.427],[4933.27,-1402.23,36.05,219.249,-60.7909],[4875.96,-1301.09,35.5167,216.619,-60.1127],[4818.15,-1201.85,34.9833,213.974,-59.4117],[4758,-1101.55,34.4333,211.232,-58.6639],[4695.47,-1000.39,33.8667,208.396,-57.8656],[4632.38,-901.493,33.3,205.552,-57.0379],[4566.86,-802.071,32.7167,202.617,-56.1537],[4498.84,-702.373,32.1167,199.596,-55.2086],[4428.3,-602.654,31.5,196.493,-54.1976],[4353.23,-500.605,30.85,193.23,-53.0864],[4277.45,-401.744,30.2,189.98,-51.9262],[4197,-301.299,29.5167,186.587,-50.6508],[4113.79,-202.165,28.8167,183.143,-49.2823],[4023.73,-100.235,28.0667,179.502,-47.7426],[3930.72,-0.691012,27.3,175.844,-46.0864],[3832.65,98.0928,26.5,172.114,-44.265],[3725.24,199.156,25.6333,168.193,-42.1793],[3610.33,299.209,24.7167,164.212,-39.8407],[3485.6,398.598,23.7333,160.166,-37.1747],[3344.3,499.884,22.6333,155.969,-33.9945],[3185.86,599.538,21.4167,151.805,-30.2313],[2996.34,699.969,19.9833,147.667,-25.4748],[2753.99,799.586,18.1833,143.865,-19.051],[2327.68,899.919,15.1,141.706,-7.21599],[2069.79,916.431,13.2833,143.367,-0.0635127]]], - [41,952.838,[[5219.07,-2001.59,39.45,233.914,-64.7051],[5170.56,-1900.06,38.9667,231.622,-64.2019],[5123.33,-1803.39,38.5,229.39,-63.7024],[5072.3,-1701.32,38,226.977,-63.1515],[5020.84,-1600.84,37.5,224.545,-62.584],[4968.93,-1501.95,37,222.093,-61.999],[4914.83,-1401.48,36.4833,219.542,-61.3754],[4860.26,-1302.77,35.9667,216.973,-60.7316],[4803.44,-1202.75,35.4333,214.305,-60.0449],[4744.34,-1101.63,34.8833,211.539,-59.3122],[4684.7,-1002.59,34.3333,208.759,-58.5533],[4622.72,-902.765,33.7667,205.885,-57.7427],[4558.34,-802.379,33.1833,202.917,-56.8767],[4491.51,-701.679,32.5833,199.859,-55.9506],[4422.19,-600.919,31.9667,196.715,-54.9596],[4350.33,-500.368,31.3333,193.49,-53.8986],[4275.88,-400.304,30.6833,190.19,-52.7616],[4198.8,-301.021,30.0167,186.822,-51.5423],[4117.07,-200.474,29.3167,183.313,-50.2011],[4032.57,-101.518,28.6,179.76,-48.7599],[3941.26,-0.188432,27.8333,176.015,-47.1379],[3846.99,98.4355,27.05,172.264,-45.3905],[3743.6,199.755,26.2,168.3,-43.386],[3634.97,298.668,25.3167,164.322,-41.1779],[3514.71,399.346,24.35,160.168,-38.6092],[3382.47,499.601,23.3,155.939,-35.6326],[3233.61,599.698,22.1333,151.651,-32.0929],[3061.01,699.284,20.8,147.383,-27.7494],[2846.06,799.348,19.1667,143.246,-22.0184],[2532.3,899.502,16.8333,139.844,-13.1821],[2075.08,952.837,13.5333,141.005,-0.0356719]]], - [42,989.352,[[5190.7,-2002.16,39.8667,234.251,-65.209],[5143.03,-1900.05,39.3833,231.947,-64.7159],[5096.62,-1802.83,38.9167,229.701,-64.2263],[5046.47,-1700.16,38.4167,227.274,-63.6864],[4997.58,-1602.4,37.9333,224.907,-63.1489],[4946.58,-1502.85,37.4333,222.44,-62.5759],[4893.42,-1401.68,36.9167,219.87,-61.9651],[4839.81,-1302.26,36.4,217.281,-61.3344],[4783.98,-1201.5,35.8667,214.591,-60.6615],[4727.67,-1102.67,35.3333,211.885,-59.9655],[4669.09,-1002.79,34.7833,209.08,-59.2223],[4608.2,-902.091,34.2167,206.176,-58.4285],[4544.96,-800.796,33.6333,203.176,-57.5799],[4481.14,-701.939,33.05,200.169,-56.6981],[4413.06,-600.123,32.4333,196.986,-55.7277],[4344.34,-501.111,31.8167,193.802,-54.7162],[4273.12,-402.385,31.1833,190.539,-53.6322],[4197.45,-301.754,30.5167,187.116,-52.4393],[4119.14,-202.159,29.8333,183.629,-51.1584],[4036.2,-101.628,29.1167,180.004,-49.7482],[3948.54,-0.784459,28.3667,176.259,-48.1952],[3856.03,99.7052,27.5833,172.413,-46.4843],[3758.57,199.131,26.7667,168.494,-44.5987],[3654.03,298.591,25.9,164.458,-42.4781],[3540.18,398.624,24.9667,160.284,-40.0502],[3414.69,499.108,23.95,155.983,-37.2283],[3275.11,599.118,22.8333,151.611,-33.9096],[3114.59,699.219,21.5667,147.187,-29.8641],[2921.55,799.09,20.0667,142.827,-24.697],[2661.46,899.44,18.0833,138.819,-17.3052],[2078.62,989.351,13.7833,138.619,-0.023189]]], - [43,1025.94,[[5157.73,-2000.19,40.2667,234.539,-65.7011],[5112.51,-1901.07,39.8,232.302,-65.2347],[5066.92,-1803.27,39.3333,230.045,-64.7552],[5019.31,-1703.4,38.85,227.685,-64.2443],[4969.63,-1601.63,38.35,225.222,-63.6999],[4919.53,-1501.45,37.85,222.738,-63.1386],[4869,-1402.88,37.35,220.233,-62.5597],[4816.35,-1302.74,36.8333,217.626,-61.9423],[4761.52,-1201.24,36.3,214.915,-61.2835],[4706.22,-1101.65,35.7667,212.186,-60.6019],[4648.69,-1000.98,35.2167,209.355,-59.874],[4590.65,-902.408,34.6667,206.51,-59.1196],[4528.55,-800.189,34.0833,203.479,-58.289],[4465.89,-700.398,33.5,200.439,-57.4255],[4400.85,-600.327,32.9,197.304,-56.5013],[4333.4,-500.231,32.2833,194.079,-55.5113],[4263.48,-400.381,31.65,190.77,-54.4501],[4191.06,-301.057,31,187.381,-53.3114],[4114.2,-200.136,30.3167,183.835,-52.0574],[4034.7,-100.523,29.6167,180.229,-50.7089],[3950.59,-0.31984,28.8833,176.49,-49.2228],[3861.78,99.8268,28.1167,172.637,-47.5845],[3768.15,199.226,27.3167,168.694,-45.7775],[3667.61,299.044,26.4667,164.613,-43.7424],[3557.98,399.897,25.55,160.363,-41.4081],[3441.05,498.497,24.5833,156.09,-38.7819],[3308.41,599.387,23.5,151.606,-35.6304],[3159.54,699.091,22.3,147.091,-31.8763],[2983.33,799.127,20.9,142.547,-27.1483],[2757.13,899.862,19.1333,138.147,-20.6801],[2389.97,999.866,16.3333,134.899,-9.5395],[2080.39,1025.94,14.0333,136.208,-0.0270269]]], - [44,1062.55,[[5123.38,-2002.86,40.6833,234.936,-66.2143],[5078.98,-1903.17,40.2167,232.689,-65.7579],[5032.61,-1801.31,39.7333,230.339,-65.2717],[4985.85,-1700.88,39.25,227.966,-64.7712],[4938.7,-1601.92,38.7667,225.571,-64.2558],[4889.51,-1501.1,38.2667,223.071,-63.7064],[4839.9,-1401.88,37.7667,220.55,-63.1397],[4788.2,-1301.07,37.25,217.924,-62.5352],[4736.06,-1202.03,36.7333,215.278,-61.9105],[4681.77,-1101.66,36.2,212.527,-61.2437],[4625.29,-1000.19,35.65,209.672,-60.5314],[4568.32,-900.81,35.1,206.8,-59.793],[4509.11,-800.633,34.5333,203.827,-59.0035],[4449.37,-702.737,33.9667,200.842,-58.1834],[4385.56,-601.607,33.3667,197.672,-57.2801],[4319.38,-500.411,32.75,194.408,-56.3122],[4252.59,-402.038,32.1333,191.142,-55.302],[4181.54,-301.448,31.4833,187.704,-54.1891],[4107.98,-201.633,30.8167,184.189,-52.9934],[4030.01,-100.535,30.1167,180.518,-51.6754],[3949.4,-1.02572,29.4,176.792,-50.2559],[3864.21,98.72,28.65,172.939,-48.6899],[3774.34,198.031,27.8667,168.98,-46.9613],[3677.73,298.14,27.0333,164.861,-45.0121],[3572.26,399.743,26.1333,160.546,-42.7722],[3459.67,499.536,25.1833,156.175,-40.2479],[3335.76,599.255,24.15,151.681,-37.3071],[3196.11,699.243,23,147.066,-33.7871],[3034.02,799.267,21.6833,142.382,-29.433],[2833.93,899.672,20.0833,137.734,-23.6899],[2551.15,999.648,17.8667,133.595,-15.0214],[2080.38,1062.55,14.2833,133.774,-0.0481781]]], - [45,1099.15,[[5084.41,-2003.09,41.0833,235.285,-66.716],[5040.83,-1902.86,40.6167,233.027,-66.2693],[4995.32,-1800.44,40.1333,230.665,-65.7934],[4951.01,-1702.91,39.6667,228.362,-65.3206],[4904.74,-1603.32,39.1833,225.953,-64.8166],[4856.46,-1501.85,38.6833,223.439,-64.2793],[4807.78,-1401.97,38.1833,220.902,-63.7249],[4757.05,-1300.47,37.6667,218.258,-63.1335],[4705.88,-1200.73,37.15,215.593,-62.5224],[4654.27,-1102.78,36.6333,212.908,-61.8905],[4598.86,-1000.49,36.0833,210.03,-61.1941],[4542.96,-900.279,35.5333,207.133,-60.472],[4486.58,-802.181,34.9833,204.221,-59.7229],[4426.26,-700.477,34.4,201.117,-58.8975],[4365.39,-601.217,33.8167,198.001,-58.0385],[4302.23,-501.707,33.2167,194.788,-57.1181],[4236.73,-402.206,32.6,191.481,-56.1312],[4167.05,-300.415,31.95,187.995,-55.0433],[4096.72,-201.838,31.3,184.516,-53.9038],[4022.09,-101.725,30.6167,180.872,-52.6471],[3943.07,-0.659567,29.9,177.077,-51.2605],[3861.42,98.528,29.1667,173.231,-49.7645],[3773.33,199.683,28.3833,169.18,-48.0751],[3680.54,299.79,27.5667,165.036,-46.2072],[3581.03,399.957,26.7,160.752,-44.0989],[3474.64,499,25.7833,156.376,-41.7196],[3357.24,598.828,24.7833,151.827,-38.9398],[3226.53,698.577,23.6833,147.15,-35.6504],[3076.05,798.92,22.4333,142.341,-31.6096],[2894.82,899.729,20.95,137.479,-26.3985],[2658.56,999.338,19.05,132.886,-19.1122],[2076.38,1099.15,14.5167,131.339,-0.0164026]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 33.403; -_maxRange = 3950.59; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg3.sqf deleted file mode 100644 index f205ac3d57..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg3.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg3 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[4411.04,-2001.05,21.4333,243.583,-45.9812],[4314.64,-1902.82,20.8667,242.151,-45.0625],[4211.46,-1801.14,20.2667,240.673,-44.0675],[4107.15,-1701.89,19.6667,239.236,-43.0493],[3998.76,-1602.46,19.05,237.809,-41.9784],[3883.19,-1500.51,18.4,236.362,-40.8228],[3766.27,-1401.53,17.75,234.981,-39.6396],[3641.88,-1300.72,17.0667,233.606,-38.366],[3512.89,-1200.97,16.3667,232.287,-37.0299],[3376.04,-1100.32,15.6333,231.011,-35.5965],[3234.25,-1001.53,14.8833,229.826,-34.0954],[3080.95,-900.844,14.0833,228.708,-32.456],[2918.99,-801.19,13.25,227.717,-30.7079],[2744.75,-701.473,12.3667,226.875,-28.812],[2554.37,-601.135,11.4167,226.229,-26.7269],[2343.75,-500.26,10.3833,225.857,-24.4094],[2111.91,-401.11,9.26667,225.871,-21.8543],[1839.93,-300.058,7.98333,226.466,-18.8645],[1518.01,-200.821,6.5,227.987,-15.3579],[1085.82,-100.496,4.56667,231.43,-10.7488],[36.9923,-0.0224813,0.133333,246.312,-0.341751],[4.11538,0.0972759,0,246.923,-0.0379254]]], - [1,1.00648,[[4486.57,-2000.67,21.8667,242.943,-46.1748],[4390.76,-1902.38,21.3,241.484,-45.2569],[4288.22,-1800.64,20.7,239.976,-44.2624],[4184.56,-1701.34,20.1,238.51,-43.2445],[4076.84,-1601.84,19.4833,237.05,-42.1736],[3964.96,-1502.41,18.85,235.607,-41.0477],[3845.81,-1400.8,18.1833,234.153,-39.8338],[3725.24,-1302.36,17.5167,232.774,-38.5905],[3594.05,-1200.13,16.8,231.382,-37.2214],[3461.19,-1101.68,16.0833,230.091,-35.8187],[3317.21,-1000.6,15.3167,228.832,-34.2817],[3168.11,-901.918,14.5333,227.687,-32.6731],[3004.03,-800.176,13.6833,226.621,-30.8856],[2830.95,-700.424,12.8,225.722,-28.9836],[2641.86,-600.055,11.85,225.014,-26.8907],[2436.09,-500.715,10.8333,224.576,-24.6014],[2205.93,-401.394,9.71667,224.507,-22.0348],[1935.95,-300.157,8.43333,225.004,-19.0297],[1616.45,-200.717,6.95,226.411,-15.5024],[1187.6,-100.143,5.01667,229.701,-10.8623],[216.332,-0.00122909,0.866667,242.983,-1.02645],[110.65,1.00448,0.433333,244.899,-0.0281958]]], - [2,3.77561,[[4563.22,-2002.02,22.3167,242.349,-46.4052],[4465.23,-1900.73,21.7333,240.819,-45.4615],[4366.19,-1801.71,21.15,239.323,-44.4957],[4263.22,-1702.26,20.55,237.825,-43.4789],[4156.22,-1602.62,19.9333,236.332,-42.4089],[4042.16,-1500.46,19.2833,234.814,-41.2536],[3926.76,-1401.27,18.6333,233.36,-40.07],[3804.01,-1300.26,17.95,231.906,-38.7951],[3676.73,-1200.29,17.25,230.504,-37.4568],[3544.79,-1101.68,16.5333,229.167,-36.0529],[3401.82,-1000.44,15.7667,227.858,-34.514],[3253.77,-901.59,14.9833,226.661,-32.9026],[3094.07,-801.617,14.15,225.555,-31.1467],[2922.28,-701.57,13.2667,224.59,-29.2404],[2734.62,-600.889,12.3167,223.807,-27.1416],[2530.42,-501.218,11.3,223.287,-24.8444],[2298.6,-400.129,10.1667,223.127,-22.2283],[2037.7,-301.124,8.91667,223.505,-19.2866],[1720.85,-201.005,7.43333,224.772,-15.7395],[1299.38,-100.276,5.51667,227.842,-11.1085],[424.996,-0.0582497,1.73333,239.172,-2.04754],[216.234,3.77372,0.866667,242.834,-0.0267732]]], - [3,8.37443,[[4638.11,-2002.21,22.7667,241.759,-46.6456],[4540.79,-1900.76,22.1833,240.199,-45.7037],[4442.43,-1801.59,21.6,238.673,-44.7394],[4340.17,-1701.98,21,237.143,-43.724],[4233.92,-1602.17,20.3833,235.615,-42.6552],[4123.57,-1502.43,19.75,234.099,-41.5307],[4006.06,-1400.49,19.0833,232.567,-40.3176],[3887.17,-1301.73,18.4167,231.107,-39.0743],[3760.82,-1201.5,17.7167,229.658,-37.7364],[3626.8,-1100.37,16.9833,228.241,-36.2992],[3487.96,-1001.09,16.2333,226.909,-34.7924],[3341.03,-901.957,15.45,225.655,-33.1794],[3182.54,-801.679,14.6167,224.487,-31.4207],[3012.07,-701.312,13.7333,223.452,-29.5103],[2825.86,-600.289,12.7833,222.593,-27.4058],[2623.25,-500.255,11.7667,221.989,-25.1007],[2396.69,-400.181,10.65,221.733,-22.5128],[2137.97,-300.562,9.4,221.995,-19.5574],[1827.38,-200.742,7.93333,223.102,-16.0305],[1417.07,-100.278,6.05,225.903,-11.4498],[630.032,-0.139729,2.6,235.493,-3.10168],[320.785,8.37205,1.3,240.731,-0.0339657]]], - [4,14.7693,[[4711.16,-2001.29,23.2167,241.175,-46.8961],[4617.31,-1902.54,22.65,239.63,-45.9833],[4516.87,-1800.32,22.05,238.028,-44.9936],[4415.34,-1700.53,21.45,236.465,-43.9798],[4309.84,-1600.55,20.8333,234.902,-42.9123],[4200.29,-1500.62,20.2,233.349,-41.789],[4086.56,-1401,19.55,231.815,-40.6073],[3968.56,-1301.97,18.8833,230.311,-39.3651],[3843.18,-1201.46,18.1833,228.815,-38.0278],[3710.18,-1100.04,17.45,227.347,-36.5907],[3572.41,-1000.46,16.7,225.961,-35.0833],[3426.61,-901.014,15.9167,224.648,-33.4689],[3269.35,-800.405,15.0833,223.416,-31.7076],[3103.44,-701.534,14.2167,222.33,-29.83],[2918.76,-600.012,13.2667,221.388,-27.7208],[2721.16,-501.026,12.2667,220.702,-25.4472],[2496.56,-400.213,11.15,220.336,-22.8505],[2243.58,-301.015,9.91667,220.464,-19.9221],[1935.86,-200.004,8.45,221.407,-16.3767],[1540.4,-100.29,6.61667,223.899,-11.8882],[827.512,-0.0313579,3.45,232.007,-4.14896],[420.248,14.7685,1.71667,238.663,-0.0108325]]], - [5,22.9243,[[4785.09,-2002.24,23.6833,240.645,-47.183],[4689.19,-1900.36,23.1,239.024,-46.2459],[4592.27,-1800.76,22.5167,237.434,-45.286],[4491.51,-1700.71,21.9167,235.836,-44.2747],[4386.82,-1600.46,21.3,234.236,-43.2095],[4278.1,-1500.26,20.6667,232.644,-42.0882],[4165.25,-1400.36,20.0167,231.069,-40.9083],[4048.17,-1301.04,19.35,229.521,-39.6675],[3923.76,-1200.23,18.65,227.976,-38.3311],[3794.82,-1100.75,17.9333,226.49,-36.9275],[3658.17,-1000.76,17.1833,225.046,-35.4207],[3513.57,-900.878,16.4,223.67,-33.8059],[3360.76,-801.775,15.5833,222.393,-32.0791],[3193.08,-700.452,14.7,221.209,-30.1631],[3013.2,-600.13,13.7667,220.199,-28.0871],[2817.33,-500.452,12.7667,219.415,-25.8081],[2598.08,-400.303,11.6667,218.941,-23.2421],[2347.45,-300.071,10.4333,218.934,-20.302],[2053.15,-200.999,9.01667,219.668,-16.8606],[1669.05,-100.49,7.21667,221.848,-12.4261],[1025.14,-0.298001,4.31667,228.598,-5.26963],[522.537,22.9219,2.15,236.488,-0.0358371]]], - [6,32.8041,[[4857.06,-2002.18,24.15,240.125,-47.4795],[4761.9,-1900.03,23.5667,238.472,-46.5455],[4665.73,-1800.16,22.9833,236.85,-45.5886],[4568.55,-1702.59,22.4,235.261,-44.6084],[4464.72,-1601.98,21.7833,233.623,-43.5465],[4356.88,-1501.41,21.15,231.989,-42.4283],[4244.96,-1401.13,20.5,230.37,-41.2512],[4128.84,-1301.43,19.8333,228.776,-40.0128],[4005.46,-1200.2,19.1333,227.18,-38.6785],[3877.59,-1100.31,18.4167,225.64,-37.2765],[3745.11,-1002.06,17.6833,224.169,-35.8044],[3601.77,-901.623,16.9,222.727,-34.1906],[3450.29,-801.934,16.0833,221.378,-32.4637],[3287.25,-701.843,15.2167,220.135,-30.5831],[3109.02,-600.723,14.2833,219.031,-28.5051],[2914.96,-500.185,13.2833,218.144,-26.2218],[2701.08,-400.542,12.2,217.557,-23.6881],[2456.27,-300.348,10.9833,217.402,-20.7778],[2168.43,-200.706,9.58333,217.941,-17.3614],[1799.14,-100.268,7.83333,219.792,-13.0241],[1215.21,-0.37912,5.16667,225.378,-6.38277],[619.659,32.802,2.56667,234.35,-0.0304347]]], - [7,44.3709,[[4927,-2001.15,24.6167,239.616,-47.7858],[4835.31,-1901.61,24.05,237.978,-46.8821],[4739.94,-1801.39,23.4667,236.322,-45.929],[4640.8,-1700.7,22.8667,234.652,-44.9242],[4540.6,-1602.49,22.2667,233.021,-43.8942],[4433.67,-1501.53,21.6333,231.346,-42.7793],[4322.68,-1400.86,20.9833,229.682,-41.6054],[4207.54,-1300.74,20.3167,228.04,-40.3698],[4088.13,-1201.47,19.6333,226.432,-39.07],[3961.39,-1101.05,18.9167,224.834,-37.6707],[3827.08,-1000.06,18.1667,223.269,-36.1668],[3688.01,-901.232,17.4,221.794,-34.5883],[3537.89,-800.933,16.5833,220.372,-32.8618],[3376.32,-700.192,15.7167,219.048,-30.9804],[3202.88,-600.126,14.8,217.873,-28.9374],[3013.88,-500.32,13.8167,216.895,-26.689],[2805.38,-401.031,12.75,216.191,-24.1892],[2566.43,-300.702,11.55,215.883,-21.3104],[2285.07,-200.289,10.1667,216.22,-17.9207],[1933.98,-100.634,8.48333,217.72,-13.7251],[1397.84,-0.145242,6,222.334,-7.48693],[715.52,44.3686,2.98333,232.178,-0.0341881]]], - [8,57.5872,[[4997.54,-2002.17,25.1,239.168,-48.1278],[4906.63,-1902.28,24.5333,237.498,-47.2283],[4812.07,-1801.69,23.95,235.807,-46.2793],[4713.77,-1700.62,23.35,234.101,-45.2785],[4614.42,-1602.03,22.75,232.431,-44.2523],[4508.41,-1500.67,22.1167,230.714,-43.1411],[4401.22,-1402.13,21.4833,229.049,-42.001],[4287.1,-1301.51,20.8167,227.358,-40.7694],[4168.76,-1201.72,20.1333,225.697,-39.4732],[4043.15,-1100.74,19.4167,224.042,-38.077],[3913.03,-1001.39,18.6833,222.449,-36.6095],[3775.27,-901.87,17.9167,220.904,-35.0337],[3626.56,-800.83,17.1,219.405,-33.309],[3469.62,-701.194,16.25,218.021,-31.4648],[3297.88,-600.164,15.3333,216.749,-29.4218],[3113.95,-500.96,14.3667,215.676,-27.2099],[2907.59,-400.385,13.3,214.842,-24.7061],[2677.74,-301.257,12.1333,214.387,-21.9003],[2406.27,-201.018,10.7833,214.509,-18.5807],[2066.28,-100.06,9.13333,215.691,-14.447],[1576.75,-0.0234656,6.83333,219.419,-8.62291],[806.217,57.5867,3.38333,230.042,-0.00669588]]], - [9,72.4141,[[5065.93,-2002.34,25.5833,238.735,-48.4792],[4975.8,-1902.08,25.0167,237.033,-47.584],[4882.06,-1801.11,24.4333,235.307,-46.6394],[4787.34,-1702.43,23.85,233.612,-45.671],[4686.14,-1600.66,23.2333,231.856,-44.6208],[4583.84,-1501.52,22.6167,230.143,-43.5433],[4477.61,-1402.48,21.9833,228.432,-42.4077],[4364.54,-1301.34,21.3167,226.691,-41.1803],[4247.28,-1201,20.6333,224.977,-39.8881],[4125.74,-1101.77,19.9333,223.303,-38.5283],[3996.85,-1001.74,19.2,221.646,-37.0646],[3860.4,-901.502,18.4333,220.031,-35.492],[3716.15,-801.722,17.6333,218.485,-33.8052],[3560.76,-701.172,16.7833,217.013,-31.9631],[3393.86,-600.944,15.8833,215.664,-29.9584],[3211.83,-500.553,14.9167,214.477,-27.7461],[3010.84,-400.177,13.8667,213.524,-25.2787],[2786.75,-300.785,12.7167,212.917,-22.5074],[2525.03,-200.79,11.4,212.834,-19.2596],[2202.85,-100.486,9.81667,213.678,-15.2746],[1751.89,-0.0897496,7.66667,216.636,-9.79055],[899.385,72.4121,3.8,227.808,-0.0293284]]], - [10,88.8119,[[5132.1,-2001.71,26.0667,238.317,-48.8396],[5042.77,-1901.07,25.5,236.584,-47.9492],[4952.54,-1802.56,24.9333,234.873,-47.0365],[4855.99,-1700.62,24.3333,233.092,-46.0454],[4758.42,-1601.15,23.7333,231.344,-45.0284],[4657.06,-1501.51,23.1167,229.589,-43.9558],[4551.83,-1401.96,22.4833,227.832,-42.8251],[4439.8,-1300.27,21.8167,226.042,-41.6025],[4326.49,-1201.79,21.15,224.316,-40.3464],[4206.12,-1101.89,20.45,222.583,-38.9914],[4078.48,-1001.15,19.7167,220.862,-37.5321],[3943.36,-900.182,18.95,219.176,-35.9631],[3803.51,-801.67,18.1667,217.585,-34.3148],[3649.7,-700.179,17.3167,216.024,-32.4753],[3487.57,-600.764,16.4333,214.602,-30.5094],[3310.59,-500.844,15.4833,213.321,-28.3361],[3114.97,-400.535,14.45,212.246,-25.9071],[2896.65,-300.733,13.3167,211.483,-23.1725],[2644.59,-200.871,12.0333,211.195,-19.9991],[2336.56,-100.26,10.5,211.726,-16.1244],[1923.2,-0.421718,8.5,213.987,-10.9896],[987.329,88.8106,4.2,225.609,-0.020581]]], - [11,106.741,[[5196.01,-2000.34,26.55,237.917,-49.2092],[5110.12,-1902.23,26,236.202,-48.3501],[5018.08,-1800.38,25.4167,234.407,-47.4159],[4925.09,-1700.82,24.8333,232.638,-46.4574],[4828.44,-1600.85,24.2333,230.851,-45.4459],[4728.04,-1500.69,23.6167,229.053,-44.3787],[4623.8,-1400.61,22.9833,227.251,-43.2532],[4515.63,-1300.87,22.3333,225.455,-42.0666],[4403.43,-1201.74,21.6667,223.676,-40.816],[4284.24,-1101.16,20.9667,221.883,-39.4663],[4160.76,-1001.96,20.25,220.137,-38.0453],[4027.01,-900.127,19.4833,218.377,-36.4816],[3888.6,-800.73,18.7,216.708,-34.8376],[3739.38,-700.227,17.8667,215.089,-33.038],[3582.02,-601.521,17,213.592,-31.1127],[3406.98,-500.247,16.05,212.192,-28.9416],[3216.67,-400.023,15.0333,210.999,-26.5519],[3007.24,-301.248,13.9333,210.096,-23.8958],[2761.5,-200.186,12.6667,209.603,-20.7579],[2470.7,-100.476,11.2,209.83,-17.0391],[2087.19,-0.352194,9.31667,211.499,-12.1762],[1331.85,99.9163,5.76667,219.348,-2.98277],[1073.82,106.739,4.6,223.381,-0.0214941]]], - [12,126.159,[[5260.19,-2001.29,27.05,237.588,-49.6133],[5175.12,-1902.72,26.5,235.841,-48.76],[5083.96,-1800.37,25.9167,234.01,-47.8317],[4991.87,-1700.31,25.3333,232.205,-46.8791],[4898.82,-1602.58,24.75,230.428,-45.9017],[4799.41,-1501.82,24.1333,228.586,-44.841],[4696.21,-1401.11,23.5,226.737,-43.7219],[4589.12,-1300.72,22.85,224.891,-42.5415],[4478.04,-1200.92,22.1833,223.058,-41.297],[4362.88,-1102,21.5,221.249,-39.9854],[4240.68,-1001.98,20.7833,219.436,-38.5707],[4111.22,-901.452,20.0333,217.642,-37.0471],[3974.28,-801.046,19.25,215.891,-35.409],[3829.64,-701.438,18.4333,214.213,-33.6509],[3674.03,-601.481,17.5667,212.613,-31.7303],[3504,-500.561,16.6333,211.119,-29.6009],[3318.99,-400.303,15.6333,209.807,-27.2527],[3115.21,-301.036,14.55,208.753,-24.6368],[2878.92,-200.077,13.3167,208.064,-21.5778],[2601.77,-100.268,11.9,208.007,-17.9763],[2247.35,-0.576664,10.1333,209.142,-13.3925],[1661.3,99.6992,7.31667,214.02,-6.01214],[1158.8,126.157,5,221.125,-0.0323977]]], - [13,147.026,[[5321.95,-2001.61,27.55,237.279,-50.026],[5237.71,-1902.57,27,235.501,-49.1786],[5150.04,-1802.62,26.4333,233.688,-48.2833],[5058.88,-1701.98,25.85,231.844,-47.3376],[4964.12,-1600.88,25.25,229.977,-46.3388],[4868.37,-1502.27,24.65,228.142,-45.3131],[4766.22,-1400.92,24.0167,226.247,-44.2008],[4662.95,-1302.41,23.3833,224.398,-43.0576],[4553.04,-1201.85,22.7167,222.509,-41.8203],[4439.09,-1102.13,22.0333,220.64,-40.5158],[4318.17,-1001.27,21.3167,218.762,-39.1078],[4192.95,-902.067,20.5833,216.935,-37.6247],[4057.51,-800.628,19.8,215.103,-35.9932],[3917.39,-701.937,19,213.37,-34.2771],[3763.53,-600.703,18.1333,211.667,-32.3621],[3598.46,-500.16,17.2167,210.082,-30.2753],[3421.74,-401.526,16.25,208.677,-28.0092],[3220.47,-300.162,15.1667,207.456,-25.3953],[2996.65,-200.723,13.9833,206.591,-22.459],[2732.95,-100.827,12.6167,206.26,-18.9788],[2400.3,-0.304474,10.9333,206.932,-14.5942],[1903.62,99.8086,8.5,210.233,-8.16339],[1238.55,147.025,5.38333,218.903,-0.0108578]]], - [14,169.299,[[5381.26,-2001.39,28.05,236.993,-50.4469],[5297.86,-1901.85,27.5,235.182,-49.6059],[5211.07,-1801.38,26.9333,233.335,-48.717],[5120.82,-1700.21,26.35,231.455,-47.7778],[5029.64,-1601.36,25.7667,229.6,-46.8134],[4934.88,-1502.13,25.1667,227.723,-45.7948],[4833.79,-1400.11,24.5333,225.781,-44.6897],[4731.59,-1300.94,23.9,223.883,-43.5534],[4625.56,-1202.15,23.25,221.988,-42.3543],[4512.83,-1101.63,22.5667,220.059,-41.0573],[4396.01,-1002.23,21.8667,218.159,-39.6897],[4272.17,-902.037,21.1333,216.26,-38.2143],[4141.1,-801.673,20.3667,214.385,-36.6253],[4002.58,-701.789,19.5667,212.561,-34.9166],[3853.43,-601.166,18.7167,210.788,-33.0454],[3693.28,-500.902,17.8167,209.113,-31.0031],[3518.71,-400.522,16.85,207.571,-28.7421],[3326.06,-300.212,15.8,206.225,-26.2119],[3111.39,-200.959,14.65,205.183,-23.3595],[2857.65,-100.038,13.3167,204.596,-19.9604],[2549.44,-0.362316,11.7333,204.851,-15.8237],[2115.19,99.6103,9.56667,207.046,-10.0593],[1320.35,169.297,5.78333,216.594,-0.0423684]]], - [15,192.937,[[5438.07,-2000.65,28.55,236.728,-50.8761],[5355.52,-1900.6,28,234.887,-50.0417],[5272.16,-1802.55,27.45,233.06,-49.1858],[5182.86,-1700.77,26.8667,231.143,-48.2541],[5092.64,-1601.3,26.2833,229.249,-47.2971],[4998.88,-1501.42,25.6833,227.33,-46.286],[4901.5,-1401.39,25.0667,225.393,-45.2178],[4800.41,-1301.46,24.4333,223.445,-44.0897],[4695.54,-1201.89,23.7833,221.495,-42.8987],[4584.04,-1100.53,23.1,219.507,-41.6098],[4468.5,-1000.26,22.4,217.543,-40.2499],[4348.82,-901.418,21.6833,215.617,-38.8158],[4222.06,-802.153,20.9333,213.703,-37.2696],[4085.15,-701.052,20.1333,211.789,-35.5692],[3940.65,-601.069,19.3,209.95,-33.7424],[3785.37,-501.115,18.4167,208.189,-31.7454],[3615.93,-400.656,17.4667,206.537,-29.5303],[3431.8,-301.36,16.45,205.071,-27.0862],[3223.07,-200.856,15.3167,203.843,-24.2788],[2982.27,-100.259,14.0333,203.02,-21.0068],[2694.71,-0.83136,12.5333,202.899,-17.0803],[2304.15,99.8483,10.55,204.274,-11.7766],[1396.89,192.934,6.16667,214.319,-0.0412542]]], - [16,217.895,[[5494.81,-2002.54,29.0667,236.544,-51.338],[5413.14,-1901.91,28.5167,234.671,-50.5111],[5328.16,-1800.32,27.95,232.755,-49.6367],[5242.33,-1700.87,27.3833,230.857,-48.7389],[5153.08,-1600.76,26.8,228.924,-47.7897],[5060.33,-1500.23,26.2,226.963,-46.7864],[4966.61,-1402.21,25.6,225.034,-45.7552],[4866.65,-1301.49,24.9667,223.036,-44.6358],[4762.94,-1201.12,24.3167,221.033,-43.4533],[4655.38,-1101.35,23.65,219.034,-42.2047],[4541.16,-1000.12,22.95,217.005,-40.8541],[4422.85,-900.274,22.2333,215.008,-39.4289],[4300.35,-802.135,21.5,213.059,-37.9259],[4167.89,-701.875,20.7167,211.095,-36.2704],[4025.13,-600.477,19.8833,209.153,-34.4529],[3874.66,-500.866,19.0167,207.312,-32.5021],[3710.29,-400.363,18.0833,205.554,-30.3339],[3531.52,-300.6,17.0833,203.956,-27.9366],[3331.64,-200.486,15.9833,202.572,-25.2167],[3103.49,-100.45,14.75,201.535,-22.0744],[2832.89,-0.7391,13.3167,201.081,-18.3188],[2481.29,99.4813,11.5,201.786,-13.4428],[1868.52,199.86,8.45,206.56,-5.14967],[1468.24,217.894,6.53333,212.075,-0.00650065]]], - [17,244.13,[[5546.44,-2000.99,29.5667,236.329,-51.7828],[5468.11,-1902.86,29.0333,234.482,-50.9883],[5384.06,-1800.64,28.4667,232.532,-50.1219],[5299.16,-1700.56,27.9,230.598,-49.2321],[5213.42,-1602.65,27.3333,228.683,-48.3183],[5121.72,-1501.38,26.7333,226.68,-47.3241],[5029.07,-1402.61,26.1333,224.705,-46.3017],[4930.23,-1301.1,25.5,222.658,-45.1914],[4830.33,-1202.45,24.8667,220.654,-44.0486],[4724.03,-1101.76,24.2,218.596,-42.8099],[4613.84,-1001.93,23.5167,216.55,-41.5016],[4496.94,-900.967,22.8,214.481,-40.087],[4375.9,-801.68,22.0667,212.454,-38.594],[4245.03,-700.182,21.2833,210.402,-36.9483],[4109.67,-601.458,20.4833,208.44,-35.2134],[3961.08,-500.221,19.6167,206.484,-33.2728],[3804.64,-401.478,18.7167,204.658,-31.1917],[3631.19,-301.153,17.7333,202.927,-28.8439],[3440.05,-201.406,16.6667,201.395,-26.2145],[3221.27,-100.689,15.4667,200.143,-23.1626],[2967.2,-1.10094,14.1,199.389,-19.5821],[2643.75,99.8079,12.4,199.554,-15.0084],[2159.35,199.667,9.93333,202.206,-8.24531],[1541.43,244.128,6.91667,209.749,-0.0263358]]], - [18,271.599,[[5597.87,-2002.21,30.0833,236.197,-52.2596],[5517.97,-1900.43,29.5333,234.261,-51.448],[5437.29,-1800.63,28.9833,232.336,-50.6149],[5355.83,-1702.85,28.4333,230.425,-49.7597],[5268.57,-1601.36,27.85,228.415,-48.8279],[5180.42,-1502.2,27.2667,226.427,-47.87],[5088.83,-1402.66,26.6667,224.409,-46.8569],[4991.13,-1300.34,26.0333,222.312,-45.7562],[4892.38,-1200.87,25.4,220.256,-44.6228],[4789.95,-1101.8,24.75,218.194,-43.4248],[4681.06,-1000.99,24.0667,216.084,-42.1268],[4568.25,-901.312,23.3667,213.994,-40.7556],[4448.69,-800.855,22.6333,211.889,-39.2735],[4322.18,-700.232,21.8667,209.794,-37.6738],[4188.5,-600.104,21.0667,207.735,-35.9498],[4047.46,-501.171,20.2333,205.744,-34.0948],[3893.06,-400.572,19.3333,203.788,-32.0248],[3727.74,-301.537,18.3833,201.967,-29.7668],[3542.2,-200.767,17.3333,200.274,-27.1879],[3335.56,-101.054,16.1833,198.847,-24.2705],[3094.54,-0.825829,14.8667,197.819,-20.8248],[2798.32,99.5813,13.2833,197.526,-16.5603],[2384.68,199.847,11.1333,198.962,-10.6341],[1609.39,271.598,7.28333,207.454,-0.0123041]]], - [19,300.256,[[5644.16,-2000.06,30.5833,236.033,-52.7194],[5567.56,-1900.79,30.05,234.126,-51.9403],[5487.8,-1800.36,29.5,232.169,-51.1156],[5407.26,-1701.94,28.95,230.224,-50.2688],[5323.47,-1602.66,28.3833,228.235,-49.3725],[5236.36,-1502.75,27.8,226.206,-48.4242],[5145.84,-1402.43,27.2,224.144,-47.4208],[5051.84,-1301.95,26.5833,222.056,-46.3594],[4954.28,-1201.57,25.95,219.947,-45.2367],[4853.07,-1101.55,25.3,217.828,-44.0494],[4748.14,-1002.17,24.6333,215.708,-42.7942],[4636.72,-901.374,23.9333,213.548,-41.4347],[4521.33,-801.99,23.2167,211.415,-39.9982],[4396.42,-700.013,22.45,209.233,-38.411],[4267.21,-600.52,21.6667,207.121,-36.7352],[4130.8,-501.931,20.85,205.061,-34.9298],[3981.29,-401.288,19.9667,203.013,-32.911],[3818.22,-300.115,19.0167,201.042,-30.6649],[3641.07,-200.087,18,199.23,-28.1784],[3443.33,-100.213,16.8833,197.628,-25.3547],[3218.02,-1.05339,15.6333,196.37,-22.0901],[2942.05,99.9564,14.1333,195.686,-18.0507],[2580.37,199.799,12.2167,196.265,-12.7504],[1723.37,299.962,7.88333,204.406,-0.649308],[1675.6,300.255,7.65,205.135,-0.00897493]]], - [20,330.057,[[5690.1,-2000.85,31.1,235.956,-53.2102],[5614.39,-1900.96,30.5667,234.02,-52.4396],[5537.95,-1802.92,30.0333,232.092,-51.6487],[5455.95,-1700.81,29.4667,230.053,-50.7855],[5373.14,-1600.86,28.9,228.027,-49.8982],[5287.03,-1500.24,28.3167,225.96,-48.959],[5200.07,-1401.97,27.7333,223.914,-47.993],[5107.19,-1300.66,27.1167,221.778,-46.9418],[5013.35,-1202.05,26.5,219.676,-45.8592],[4913.38,-1101.07,25.85,217.5,-44.6833],[4809.73,-1000.69,25.1833,215.32,-43.4394],[4702.31,-901.216,24.5,213.145,-42.1239],[4588.38,-800.649,23.7833,210.938,-40.6996],[4470.43,-701.787,23.05,208.767,-39.1942],[4342.92,-600.771,22.2667,206.559,-37.5322],[4208.31,-500.577,21.45,204.393,-35.7399],[4063.58,-400.055,20.5833,202.262,-33.772],[3908.39,-300.342,19.6667,200.219,-31.6179],[3739.5,-201.052,18.6833,198.293,-29.2264],[3550.53,-101.02,17.6,196.526,-26.5],[3334.63,-0.576733,16.3833,195.031,-23.3326],[3081.34,99.1158,14.9833,194.021,-19.568],[2757.3,199.294,13.2333,193.946,-14.7226],[2234.17,299.846,10.5,196.78,-6.99481],[1740.02,330.056,8.01667,202.791,-0.0167117]]], - [21,360.958,[[5733.2,-2001.51,31.6167,235.908,-53.7077],[5658.38,-1900.99,31.0833,233.944,-52.9457],[5582.85,-1802.31,30.55,231.985,-52.1636],[5504.22,-1702.52,30,229.973,-51.3352],[5422.41,-1601.81,29.4333,227.912,-50.458],[5337.36,-1500.41,28.85,225.805,-49.5291],[5251.45,-1401.34,28.2667,223.717,-48.5733],[5162.19,-1301.92,27.6667,221.594,-47.5614],[5069.52,-1202.39,27.05,219.442,-46.4902],[4970.8,-1100.42,26.4,217.212,-45.3262],[4871.02,-1001.52,25.75,215.027,-44.1255],[4764.97,-900.906,25.0667,212.785,-42.8228],[4655.12,-801.456,24.3667,210.557,-41.4448],[4538.71,-701.256,23.6333,208.304,-39.953],[4415.57,-600.927,22.8667,206.051,-38.3404],[4285.48,-501.13,22.0667,203.824,-36.5994],[4145.5,-400.659,21.2167,201.613,-34.6846],[3995.28,-300.621,20.3167,199.467,-32.5848],[3831.65,-200.557,19.35,197.409,-30.2487],[3651.2,-100.679,18.3,195.497,-27.62],[3447.39,-0.653891,17.1333,193.81,-24.5955],[3210.14,99.2794,15.8,192.508,-21.0194],[2916.22,199.437,14.1833,191.925,-16.5439],[2495.46,299.51,11.9333,193.139,-10.151],[1802.61,360.956,8.38333,200.425,-0.03594]]], - [22,392.913,[[5773.45,-2002.12,32.1333,235.89,-54.2114],[5699.54,-1900.96,31.6,233.897,-53.4585],[5624.92,-1801.63,31.0667,231.909,-52.6854],[5547.24,-1701.15,30.5167,229.865,-51.8664],[5468.81,-1602.69,29.9667,227.83,-51.0247],[5384.81,-1500.49,29.3833,225.684,-50.1065],[5299.96,-1400.62,28.8,223.556,-49.1613],[5211.81,-1300.36,28.2,221.389,-48.1603],[5122.77,-1202.64,27.6,219.248,-47.1293],[5027.82,-1102.27,26.9667,217.021,-46.0077],[4929.33,-1002.28,26.3167,214.777,-44.8202],[4824.66,-900.512,25.6333,212.47,-43.531],[4718.84,-802.219,24.95,210.225,-42.1994],[4603.98,-700.661,24.2167,207.892,-40.7223],[4485.13,-601.06,23.4667,205.599,-39.1594],[4359.5,-501.708,22.6833,203.317,-37.4702],[4224.18,-401.337,21.85,201.032,-35.6092],[4078.86,-301.029,20.9667,198.789,-33.565],[3920.39,-200.251,20.0167,196.607,-31.2857],[3748.3,-100.686,19,194.565,-28.7565],[3556.28,-1.37008,17.8833,192.71,-25.8772],[3331.7,99.5481,16.6,191.138,-22.4486],[3063.85,199.221,15.1,190.144,-18.3031],[2703.79,299.339,13.1333,190.374,-12.7038],[1860,392.912,8.73333,198.087,-0.019833]]], - [23,425.877,[[5810.77,-2002.74,32.65,235.901,-54.7215],[5737.77,-1900.91,32.1167,233.881,-53.9778],[5664.08,-1800.92,31.5833,231.864,-53.2141],[5589.69,-1702.79,31.05,229.851,-52.4296],[5509.89,-1600.59,30.4833,227.719,-51.5727],[5429.31,-1500.56,29.9167,225.599,-50.6912],[5347.94,-1402.71,29.35,223.492,-49.7841],[5260.93,-1301.53,28.75,221.281,-48.7953],[5170.59,-1200.17,28.1333,219.033,-47.7477],[5079.32,-1101.51,27.5167,216.814,-46.6674],[4982.1,-1000.5,26.8667,214.514,-45.4927],[4881.32,-900.101,26.2,212.201,-44.2483],[4776.9,-800.621,25.5167,209.887,-42.9305],[4666.15,-700.068,24.8,207.53,-41.5015],[4551.53,-601.24,24.0667,205.203,-39.9886],[4427.64,-500.282,23.2833,202.823,-38.3155],[4296.87,-400.173,22.4667,200.473,-36.5078],[4159.04,-301.642,21.6167,198.187,-34.5578],[4005.66,-200.209,20.6833,195.887,-32.3368],[3841.74,-101.12,19.7,193.73,-29.9085],[3658.38,-1.34905,18.6167,191.705,-27.1329],[3449,98.7499,17.4,189.92,-23.8991],[3200.52,199.061,15.9833,188.568,-19.9968],[2880.5,299.939,14.2,188.108,-14.9197],[2358.14,399.922,11.3833,190.554,-6.70059],[1915.54,425.876,9.08333,195.726,-0.0149567]]], - [24,459.802,[[5842.92,-2000.2,33.15,235.881,-55.2145],[5773.08,-1900.93,32.6333,233.898,-54.5031],[5700.31,-1800.26,32.1,231.851,-53.7489],[5626.86,-1701.44,31.5667,229.808,-52.9741],[5550.39,-1601.51,31.0167,227.707,-52.1529],[5470.85,-1500.67,30.45,225.55,-51.2824],[5390.53,-1402.01,29.8833,223.405,-50.3865],[5307.04,-1302.76,29.3,221.214,-49.437],[5217.88,-1200.43,28.6833,218.918,-48.4023],[5127.81,-1100.79,28.0667,216.65,-47.3349],[5034.35,-1001.3,27.4333,214.354,-46.2038],[4937.42,-902.242,26.7833,212.038,-45.0053],[4834.43,-801.471,26.1,209.655,-43.7031],[4727.76,-701.876,25.4,207.277,-42.3235],[4614.74,-601.541,24.6667,204.865,-40.8276],[4495.2,-501.088,23.9,202.439,-39.2076],[4368.96,-401.184,23.1,200.028,-37.4552],[4233.14,-300.62,22.25,197.616,-35.5237],[4087.43,-200.512,21.35,195.253,-33.4009],[3928.75,-100.403,20.3833,192.958,-31.0332],[3753.83,-0.509802,19.3333,190.784,-28.3619],[3556.33,99.49,18.1667,188.805,-25.2791],[3326.55,199.342,16.8333,187.169,-21.6222],[3042.04,299.333,15.2167,186.186,-17.029],[2632.05,399.63,12.95,186.88,-10.3917],[1969.19,459.801,9.43333,193.342,-0.0217966]]], - [25,494.645,[[5874.33,-2001,33.6667,235.953,-55.7363],[5805.38,-1901.07,33.15,233.945,-55.0344],[5735.81,-1802.84,32.6333,231.936,-54.3137],[5661.04,-1700.19,32.0833,229.798,-53.5253],[5587.86,-1602.55,31.55,227.729,-52.7393],[5509.36,-1500.89,30.9833,225.537,-51.8803],[5430.09,-1401.4,30.4167,223.355,-50.9959],[5347.7,-1301.3,29.8333,221.123,-50.0583],[5262.1,-1200.8,29.2333,218.845,-49.0642],[5173.24,-1100.16,28.6167,216.528,-48.0103],[5083.47,-1002.25,28,214.239,-46.9227],[4987.87,-902.034,27.35,211.864,-45.7389],[4886.29,-800.039,26.6667,209.415,-44.4521],[4783.6,-701.535,25.9833,207.023,-43.1208],[4674.71,-602.033,25.2667,204.585,-41.6758],[4559.45,-502.137,24.5167,202.12,-40.1092],[4435.04,-400.425,23.7167,199.602,-38.3759],[4306.48,-301.831,22.9,197.166,-36.5396],[4165.64,-201.237,22.0167,194.704,-34.4773],[4012.11,-100.177,21.0667,192.28,-32.1719],[3845.44,-0.33998,20.05,189.974,-29.6067],[3659.53,99.241,18.9333,187.827,-26.6774],[3445.05,199.199,17.6667,185.937,-23.2239],[3186.05,299.344,16.1667,184.537,-18.9779],[2841.13,399.307,14.2167,184.241,-13.2668],[2020.91,494.643,9.78333,190.937,-0.0408035]]], - [26,530.356,[[5902.73,-2002,34.1833,236.059,-56.2634],[5834.69,-1901.39,33.6667,234.026,-55.5712],[5766.02,-1802.48,33.15,231.99,-54.8604],[5694.48,-1702.2,32.6167,229.889,-54.1065],[5620.01,-1600.74,32.0667,227.723,-53.307],[5544.83,-1501.29,31.5167,225.563,-52.4844],[5466.62,-1400.96,30.95,223.344,-51.6119],[5387.67,-1302.83,30.3833,221.137,-50.7134],[5303.24,-1201.36,29.7833,218.815,-49.7328],[5217.97,-1102.42,29.1833,216.513,-48.7213],[5127.05,-1000.76,28.55,214.11,-47.619],[5035.18,-902.018,27.9167,211.74,-46.4802],[4937.47,-801.257,27.25,209.287,-45.2409],[4836.24,-701.412,26.5667,206.824,-43.9265],[4728.9,-600.489,25.85,204.307,-42.4987],[4617.82,-501.297,25.1167,201.81,-40.9846],[4500.36,-402.071,24.35,199.297,-39.343],[4373.72,-301.481,23.5333,196.745,-37.5276],[4237.64,-200.584,22.6667,194.195,-35.5255],[4091.81,-100.526,21.75,191.698,-33.3234],[3933.19,-0.92555,20.7667,189.277,-30.8658],[3755.83,99.3808,19.6833,186.956,-28.0479],[3556.17,198.754,18.4833,184.859,-24.7995],[3316.1,299.89,17.0667,183.105,-20.8103],[3015.87,399.29,15.3333,182.148,-15.7446],[2530.6,499.677,12.6167,183.628,-7.56259],[2067.5,530.355,10.1167,188.555,-0.0228038]]], - [27,566.892,[[5928.04,-2003.26,34.7,236.196,-56.7959],[5860.91,-1901.96,34.1833,234.139,-56.1137],[5793.16,-1802.36,33.6667,232.078,-55.413],[5722.58,-1701.35,33.1333,229.948,-54.6697],[5651.34,-1602.2,32.6,227.819,-53.9053],[5577.18,-1501.93,32.05,225.626,-53.0945],[5500.05,-1400.75,31.4833,223.372,-52.2343],[5422.17,-1301.75,30.9167,221.126,-51.3481],[5341.22,-1202.17,30.3333,218.827,-50.4079],[5257.13,-1102.22,29.7333,216.48,-49.4104],[5169.85,-1002.17,29.1167,214.09,-48.3519],[5079.29,-902.264,28.4833,211.664,-47.2287],[4982.97,-800.272,27.8167,209.149,-46.0058],[4885.62,-701.579,27.15,206.68,-44.7401],[4782.31,-601.551,26.45,204.145,-43.3639],[4672.87,-500.776,25.7167,201.562,-41.869],[4559.66,-402.021,24.9667,199.009,-40.2828],[4437.49,-301.561,24.1667,196.398,-38.5258],[4306.08,-200.424,23.3167,193.768,-36.5848],[4167.77,-101.53,22.4333,191.213,-34.4864],[4014.36,-0.676473,21.4667,188.65,-32.0957],[3848.02,98.4776,20.4333,186.217,-29.4336],[3657.27,199.491,19.2667,183.894,-26.3016],[3438.24,299.306,17.95,181.882,-22.6188],[3166.67,399.94,16.35,180.413,-17.9625],[2786.36,499.804,14.1667,180.361,-11.3796],[2112.17,566.891,10.45,186.151,-0.0167079]]], - [28,604.204,[[5948.12,-2001.52,35.2,236.3,-57.3118],[5884.03,-1902.84,34.7,234.286,-56.6612],[5817.21,-1802.54,34.1833,232.2,-55.9708],[5747.59,-1700.79,33.65,230.043,-55.2383],[5677.33,-1600.9,33.1167,227.885,-54.485],[5606.41,-1502.89,32.5833,225.727,-53.7101],[5530.34,-1400.83,32.0167,223.438,-52.8625],[5453.55,-1300.96,31.45,221.156,-51.9891],[5373.73,-1200.46,30.8667,218.817,-51.062],[5293.13,-1102.33,30.2833,216.492,-50.1058],[5207.08,-1001.22,29.6667,214.053,-49.0622],[5117.81,-900.222,29.0333,211.574,-47.9544],[5027.62,-802.144,28.4,209.127,-46.8088],[4931.71,-702.107,27.7333,206.592,-45.5611],[4829.92,-600.654,27.0333,203.984,-44.2035],[4724.55,-500.648,26.3167,201.378,-42.7618],[4613.04,-400.237,25.5667,198.733,-41.1958],[4495.23,-300.069,24.7833,196.073,-39.4964],[4370.93,-200.836,23.9667,193.425,-37.6541],[4237.39,-101.419,23.1,190.776,-35.6198],[4091.68,-1.24421,22.1667,188.132,-33.3377],[3930.75,99.6115,21.15,185.53,-30.7457],[3754.02,198.866,20.05,183.084,-27.8203],[3549.88,298.985,18.8,180.827,-24.3529],[3303.06,399.964,17.3167,178.962,-20.0625],[2982.43,499.672,15.4333,178.029,-14.3977],[2322.19,599.958,11.7,181.632,-2.84231],[2154.86,604.203,10.7833,183.726,-0.0230226]]], - [29,642.248,[[5965.1,-2000.13,35.7,236.434,-57.833],[5901.89,-1900.82,35.2,234.398,-57.192],[5838.12,-1803.08,34.7,232.356,-56.5339],[5769.47,-1700.58,34.1667,230.173,-55.8125],[5702.36,-1603.05,33.65,228.055,-55.0939],[5630.25,-1501.16,33.1,225.799,-54.3069],[5557.46,-1401.28,32.55,223.545,-53.4965],[5481.75,-1300.51,31.9833,221.227,-52.6361],[5405.32,-1201.95,31.4167,218.916,-51.7491],[5323.61,-1100.02,30.8167,216.481,-50.7801],[5241.09,-1000.64,30.2167,214.062,-49.7792],[5155.44,-901.171,29.6,211.598,-48.7164],[5066.58,-801.891,28.9667,209.095,-47.5877],[4972.08,-700.576,28.3,206.497,-46.3576],[4874.18,-600.172,27.6167,203.881,-45.0508],[4772.83,-500.988,26.9167,201.258,-43.6624],[4665.47,-401.121,26.1833,198.583,-42.1527],[4551.97,-301.201,25.4167,195.877,-40.5126],[4432.14,-201.899,24.6167,193.167,-38.7325],[4300.74,-100.129,23.75,190.381,-36.7239],[4162.52,-0.93535,22.85,187.674,-34.5495],[4009.48,99.7605,21.8667,184.964,-32.0709],[3841.07,199.77,20.8,182.353,-29.2637],[3651.3,299.296,19.6167,179.91,-26.0112],[3428.3,399.015,18.25,177.756,-22.0892],[3145.1,499.806,16.55,176.206,-17.0013],[2716.78,599.983,14.05,176.514,-9.23806],[2195.55,642.245,11.1167,181.279,-0.0422564]]], - [30,680.974,[[5981.04,-2002.52,36.2167,236.67,-58.3802],[5918.73,-1902.5,35.7167,234.613,-57.7495],[5853.76,-1800.8,35.2,232.479,-57.08],[5788.19,-1700.8,34.6833,230.339,-56.3918],[5722.03,-1602.53,34.1667,228.195,-55.6844],[5653.11,-1502.91,33.6333,225.979,-54.9333],[5581.38,-1402.16,33.0833,223.693,-54.1357],[5506.77,-1300.49,32.5167,221.34,-53.2888],[5431.45,-1201.01,31.95,218.992,-52.4154],[5353.16,-1100.93,31.3667,216.583,-51.4878],[5271.86,-1000.48,30.7667,214.12,-50.5025],[5189.76,-902.598,30.1667,211.673,-49.4844],[5102.24,-802.1,29.5333,209.115,-48.3731],[5011.49,-702.014,28.8833,206.522,-47.1922],[4915.09,-600.182,28.2,203.837,-45.9051],[4817.67,-501.874,27.5167,201.202,-44.5701],[4711.98,-400.348,26.7833,198.441,-43.0823],[4602.68,-300.837,26.0333,195.699,-41.5004],[4487.22,-201.637,25.25,192.936,-39.7816],[4362.92,-101.497,24.4167,190.128,-37.8769],[4229.53,-1.50952,23.5333,187.319,-35.7715],[4084.19,98.8354,22.5833,184.518,-33.4077],[3923.89,199.386,21.55,181.763,-30.7207],[3745.44,299.192,20.4167,179.138,-27.6392],[3537.33,399.939,19.1167,176.707,-23.942],[3287.18,499.532,17.5833,174.739,-19.3842],[2944.69,599.409,15.5333,173.833,-13.0347],[2231.22,680.973,11.4333,178.852,-0.022654]]], - [31,720.336,[[5991.7,-2002.05,36.7167,236.87,-58.911],[5930.28,-1901.38,36.2167,234.792,-58.2903],[5868.31,-1802.26,35.7167,232.705,-57.6528],[5803.7,-1701.51,35.2,230.542,-56.9759],[5738.5,-1602.48,34.6833,228.372,-56.28],[5670.58,-1502.07,34.15,226.128,-55.5408],[5599.89,-1400.5,33.6,223.811,-54.7557],[5528.53,-1300.96,33.05,221.494,-53.9468],[5454.32,-1200.55,32.4833,219.11,-53.0874],[5379.41,-1102.35,31.9167,216.732,-52.2008],[5299.33,-1000.83,31.3167,214.225,-51.2314],[5218.46,-901.861,30.7167,211.732,-50.2294],[5132.25,-800.205,30.0833,209.121,-49.1352],[5045.17,-701.476,29.45,206.537,-48.002],[4952.58,-600.76,28.7833,203.853,-46.7659],[4856.67,-500.991,28.1,201.147,-45.4514],[4755,-400.179,27.3833,198.367,-44.0193],[4649.83,-301.135,26.65,195.595,-42.4958],[4536.22,-200.001,25.8667,192.727,-40.8018],[4418.84,-101.76,25.0667,189.913,-38.9992],[4290.15,-1.17572,24.2,187.015,-36.9624],[4152.29,98.4975,23.2833,184.143,-34.7122],[3999.89,199.233,22.2833,181.268,-32.1453],[3832.4,298.788,21.2,178.5,-29.235],[3638.71,399.795,19.9667,175.846,-25.7651],[3412.26,499.306,18.55,173.539,-21.5912],[3118.39,599.741,16.75,171.905,-16.0465],[2618.74,699.979,13.7833,172.852,-6.55252],[2264.89,720.335,11.75,176.402,-0.0157363]]], - [32,760.288,[[5999.17,-2002.12,37.2167,237.103,-59.4464],[5938.64,-1900.78,36.7167,235.005,-58.8359],[5877.57,-1800.99,36.2167,232.897,-58.2088],[5815.96,-1702.77,35.7167,230.781,-57.5646],[5751.73,-1602.97,35.2,228.586,-56.8803],[5684.82,-1501.76,34.6667,226.315,-56.1534],[5617.3,-1402.43,34.1333,224.04,-55.4049],[5547.02,-1301.98,33.5833,221.691,-54.6096],[5473.93,-1200.62,33.0167,219.272,-53.7646],[5400.14,-1101.48,32.45,216.857,-52.8925],[5323.47,-1001.75,31.8667,214.378,-51.9656],[5243.84,-901.679,31.2667,211.84,-50.9802],[5161.2,-801.518,30.65,209.248,-49.9323],[5075.48,-701.525,30.0167,206.609,-48.818],[4986.61,-601.977,29.3667,203.93,-47.6326],[4892.22,-500.729,28.6833,201.154,-46.3393],[4794.5,-400.687,27.9833,198.362,-44.9629],[4693.39,-302.171,27.2667,195.566,-43.4979],[4584.02,-201.224,26.5,192.658,-41.8664],[4468.59,-100.858,25.7,189.728,-40.0914],[4346.92,-1.78918,24.8667,186.809,-38.1618],[4213.91,98.8286,23.9667,183.829,-35.9844],[4069.16,199.407,23,180.859,-33.5371],[3909.75,299.72,21.95,177.939,-30.7522],[3732.55,398.728,20.8,175.159,-27.5555],[3523.69,499.053,19.4667,172.557,-23.669],[3265.51,599.447,17.85,170.42,-18.729],[2897.09,699.476,15.6,169.569,-11.5456],[2296.53,760.287,12.0667,173.932,-0.0220182]]], - [33,800.785,[[6003.39,-2002.8,37.7167,237.369,-59.9862],[5943.77,-1900.77,37.2167,235.252,-59.3861],[5883.61,-1800.29,36.7167,233.124,-58.7696],[5822.92,-1701.39,36.2167,230.986,-58.1361],[5759.64,-1600.86,35.7,228.767,-57.4631],[5695.79,-1502.05,35.1833,226.541,-56.7707],[5629.29,-1401.89,34.65,224.238,-56.035],[5560.07,-1300.58,34.1,221.859,-55.2531],[5490.21,-1201.31,33.55,219.478,-54.4467],[5417.57,-1101.2,32.9833,217.027,-53.5896],[5342.07,-1000.46,32.4,214.508,-52.6782],[5265.86,-902.124,31.8167,211.998,-51.7362],[5184.51,-800.803,31.2,209.358,-50.7061],[5102.36,-702.234,30.5833,206.736,-49.6394],[5014.9,-601.358,29.9333,203.998,-48.4739],[4924.29,-501.163,29.2667,201.225,-47.2332],[4830.45,-401.947,28.5833,198.425,-45.9123],[4730.99,-301.737,27.8667,195.546,-44.4716],[4625.76,-201.143,27.1167,192.606,-42.9014],[4514.63,-100.818,26.3333,189.629,-41.1911],[4397.42,-1.45968,25.5167,186.643,-39.3297],[4269.11,99.9007,24.6333,183.57,-37.2246],[4131.82,199.993,23.7,180.525,-34.8956],[3982.76,299.118,22.7,177.526,-32.2808],[3813.92,399.72,21.5833,174.548,-29.2172],[3621.94,499.488,20.3333,171.74,-25.6158],[3390.03,599.94,18.85,169.231,-21.1271],[3086.47,699.551,16.95,167.509,-15.098],[2391.67,799.984,12.7667,170.634,-1.30152],[2326.12,800.783,12.3833,171.44,-0.0421325]]], - [34,841.773,[[6002.38,-2000.72,38.2,237.597,-60.5108],[5945.62,-1901.44,37.7167,235.533,-59.9407],[5886.37,-1800.27,37.2167,233.385,-59.335],[5826.6,-1700.65,36.7167,231.226,-58.7125],[5766.31,-1602.62,36.2167,229.057,-58.0727],[5703.45,-1503.01,35.7,226.807,-57.3927],[5637.97,-1402.02,35.1667,224.477,-56.6699],[5571.9,-1302.9,34.6333,222.141,-55.9252],[5503.14,-1202.69,34.0833,219.729,-55.1335],[5431.64,-1101.6,33.5167,217.243,-54.2916],[5359.46,-1002.72,32.95,214.758,-53.4221],[5282.31,-900.471,32.35,212.134,-52.4704],[5204.41,-800.782,31.75,209.52,-51.4853],[5123.57,-701.026,31.1333,206.848,-50.437],[5039.73,-601.465,30.5,204.125,-49.321],[4952.82,-502.377,29.85,201.358,-48.1326],[4860.52,-401.632,29.1667,198.489,-46.8347],[4764.99,-302.123,28.4667,195.598,-45.4516],[4663.83,-201.945,27.7333,192.633,-43.9427],[4556.91,-101.73,26.9667,189.616,-42.2974],[4441.71,-0.135206,26.15,186.51,-40.4665],[4320.39,99.8711,25.3,183.413,-38.473],[4190.37,199.285,24.4,180.311,-36.2629],[4048.91,298.528,23.4333,177.211,-33.7743],[3890.68,398.833,22.3667,174.108,-30.891],[3709.99,499.936,21.1667,171.076,-27.4798],[3500.75,599.665,19.8,168.297,-23.3922],[3237.97,699.484,18.1167,166.006,-18.0988],[2837.28,799.676,15.6167,165.257,-9.86227],[2350.81,841.772,12.6833,168.963,-0.0213862]]], - [35,883.21,[[6000.06,-2002.8,38.7,237.93,-61.0589],[5944.17,-1902.85,38.2167,235.849,-60.4992],[5885.85,-1800.96,37.7167,233.682,-59.9045],[5827.01,-1700.62,37.2167,231.503,-59.2932],[5767.65,-1601.87,36.7167,229.312,-58.6648],[5705.77,-1501.5,36.2,227.039,-57.9968],[5643.34,-1402.87,35.6833,224.756,-57.3091],[5578.31,-1302.9,35.15,222.393,-56.578],[5510.63,-1201.79,34.6,219.95,-55.8004],[5442.34,-1102.74,34.05,217.504,-54.998],[5371.32,-1002.85,33.4833,214.984,-54.1445],[5297.52,-902.366,32.9,212.393,-53.2361],[5220.89,-801.519,32.3,209.734,-52.2693],[5141.37,-700.56,31.6833,207.014,-51.2399],[5061.07,-602.368,31.0667,204.31,-50.1729],[4975.6,-501.904,30.4167,201.484,-49.006],[4887.05,-402.15,29.75,198.618,-47.7624],[4793.11,-301.04,29.05,195.652,-46.4037],[4695.92,-201.434,28.3333,192.671,-44.9547],[4593.11,-101.497,27.5833,189.623,-43.3731],[4484.54,-1.8838,26.8,186.531,-41.6479],[4367.72,98.6608,25.9667,183.363,-39.728],[4242.4,199.036,25.0833,180.161,-37.5956],[4105.93,299.752,24.1333,176.927,-35.1888],[3957.94,399.095,23.1167,173.742,-32.4822],[3790.62,499.382,21.9833,170.579,-29.3078],[3598.17,599.4,20.7,167.56,-25.5211],[3364.08,699.684,19.1667,164.855,-20.7532],[3046.66,799.687,17.1333,163.011,-14.1004],[2373.46,883.209,12.9833,166.465,-0.0141853]]], - [36,925.044,[[5992.49,-2002.21,39.1833,238.225,-61.592],[5937.48,-1901.61,38.7,236.127,-61.0424],[5881.99,-1802.45,38.2167,234.015,-60.478],[5824.09,-1701.38,37.7167,231.817,-59.8781],[5765.68,-1601.89,37.2167,229.606,-59.2613],[5704.78,-1500.75,36.7,227.309,-58.6055],[5643.34,-1401.34,36.1833,225.002,-57.9304],[5579.34,-1300.56,35.65,222.612,-57.2123],[5514.77,-1201.67,35.1167,220.215,-56.472],[5447.57,-1101.7,34.5667,217.738,-55.6844],[5377.7,-1000.86,34,215.183,-54.8462],[5307.17,-902.25,33.4333,212.629,-53.9799],[5231.8,-800.301,32.8333,209.928,-53.0309],[5155.7,-700.922,32.2333,207.235,-52.0478],[5076.73,-601.498,31.6167,204.481,-51.0005],[4994.85,-502.294,30.9833,201.672,-49.8845],[4907.79,-401.097,30.3167,198.742,-48.6637],[4817.64,-300.857,29.6333,195.776,-47.3615],[4724.34,-201.886,28.9333,192.785,-45.9722],[4623.31,-100.077,28.1833,189.644,-44.4191],[4518.91,-0.598394,27.4167,186.514,-42.7601],[4408.75,98.1812,26.6167,183.352,-40.9495],[4288.03,199.314,25.75,180.065,-38.8941],[4158.77,299.525,24.8333,176.771,-36.6114],[4018.34,399.18,23.85,173.479,-34.037],[3861.51,499.416,22.7667,170.186,-31.0505],[3682.75,599.845,21.55,166.967,-27.5129],[3473.62,699.22,20.15,163.986,-23.2165],[3204.47,799.398,18.3833,161.495,-17.4957],[2760.48,899.762,15.55,160.947,-7.85067],[2394.06,925.043,13.2833,163.945,-0.0213098]]], - [37,967.234,[[5981.6,-2002.45,39.6667,238.552,-62.1292],[5927.47,-1901.2,39.1833,236.439,-61.5898],[5872.87,-1801.38,38.7,234.31,-61.0359],[5817.8,-1702.99,38.2167,232.167,-60.467],[5760.34,-1602.75,37.7167,229.936,-59.862],[5700.43,-1500.83,37.2,227.618,-59.2187],[5639.99,-1400.63,36.6833,225.288,-58.5562],[5579.01,-1302.17,36.1667,222.948,-57.8739],[5515.5,-1202.39,35.6333,220.523,-57.1479],[5449.41,-1101.49,35.0833,218.016,-56.3754],[5382.72,-1002.64,34.5333,215.504,-55.5776],[5311.33,-900.092,33.95,212.838,-54.7028],[5241.33,-802.753,33.3833,210.248,-53.8237],[5166.52,-702.174,32.7833,207.512,-52.86],[5088.9,-601.504,32.1667,204.709,-51.833],[5008.4,-501.006,31.5333,201.846,-50.7381],[4924.96,-400.957,30.8833,198.93,-49.5703],[4838.54,-301.645,30.2167,195.969,-48.3243],[4746.86,-201.018,29.5167,192.901,-46.9613],[4652.03,-101.928,28.8,189.814,-45.5056],[4549.49,-0.393325,28.0333,186.584,-43.8784],[4443.57,98.5049,27.25,183.374,-42.1383],[4329.61,198.26,26.4167,180.079,-40.1985],[4205.08,299.582,25.5167,176.682,-37.9983],[4071.98,399.194,24.5667,173.307,-35.5548],[3925.32,498.847,23.5333,169.922,-32.7549],[3759.78,598.921,22.3833,166.559,-29.4661],[3567.28,699.242,21.0667,163.312,-25.4859],[3331.6,799.341,19.4833,160.392,-20.4231],[2999.09,899.752,17.3,158.413,-13.0484],[2412.56,967.232,13.5833,161.403,-0.0433727]]], - [38,1009.73,[[5965.54,-2000.05,40.1333,238.84,-62.6521],[5914.13,-1901.68,39.6667,236.785,-62.1412],[5860.42,-1801.19,39.1833,234.64,-61.5979],[5806.25,-1702.12,38.7,232.48,-61.0398],[5749.73,-1601.17,38.2,230.23,-60.4463],[5692.71,-1501.8,37.7,227.966,-59.8358],[5633.27,-1400.8,37.1833,225.614,-59.1863],[5573.31,-1301.53,36.6667,223.25,-58.5171],[5510.85,-1200.9,36.1333,220.799,-57.8051],[5447.84,-1102.17,35.6,218.339,-57.0705],[5382.27,-1002.38,35.05,215.796,-56.2884],[5314.1,-901.733,34.4833,213.171,-55.4555],[5243.26,-800.465,33.9,210.468,-54.5681],[5171.77,-701.603,33.3167,207.767,-53.6492],[5097.54,-602.462,32.7167,204.994,-52.6697],[5018.43,-500.656,32.0833,202.079,-51.5965],[4938.55,-401.809,31.45,199.182,-50.4812],[4853.64,-301.005,30.7833,196.157,-49.2598],[4765.73,-201.184,30.1,193.091,-47.9553],[4672.58,-100.362,29.3833,189.922,-46.5277],[4576.26,-1.3543,28.65,186.74,-45.0014],[4472.27,99.6878,27.8667,183.422,-43.2949],[4362.64,199.764,27.05,180.069,-41.4292],[4244.95,299.999,26.1833,176.65,-39.3495],[4118.98,399.225,25.2667,173.216,-37.0352],[3979.82,499.383,24.2667,169.719,-34.374],[3824.66,599.649,23.1667,166.22,-31.2817],[3648.12,699.515,21.9333,162.8,-27.6129],[3437.1,799.642,20.4833,159.566,-23.0431],[3162.44,899.716,18.6333,156.872,-16.8651],[2646.85,999.973,15.2667,156.832,-5.0031],[2426.31,1009.73,13.8667,158.873,-0.0222505]]], - [39,1052.48,[[5947.93,-2002.16,40.6167,239.235,-63.1972],[5897.38,-1903.13,40.15,237.166,-62.6965],[5844.58,-1801.96,39.6667,235.005,-62.1641],[5791.32,-1702.21,39.1833,232.829,-61.617],[5735.75,-1600.54,38.6833,230.561,-61.0352],[5679.68,-1500.44,38.1833,228.278,-60.4365],[5623.13,-1401.93,37.6833,225.98,-59.8204],[5564.19,-1301.84,37.1667,223.594,-59.1648],[5502.79,-1200.36,36.6333,221.117,-58.4669],[5440.85,-1100.76,36.1,218.631,-57.7468],[5376.4,-1000.06,35.55,216.057,-56.9799],[5311.36,-901.431,35,213.478,-56.1874],[5243.74,-802.007,34.4333,210.816,-55.343],[5173.5,-702.019,33.85,208.075,-54.443],[5100.56,-601.708,33.25,205.259,-53.4833],[5024.89,-501.327,32.6333,202.372,-52.4594],[4946.43,-401.14,32,199.421,-51.3667],[4865.11,-301.425,31.35,196.411,-50.2],[4778.77,-200.041,30.6667,193.277,-48.9217],[4691.57,-102.239,29.9833,190.18,-47.5883],[4597.02,-1.32429,29.25,186.909,-46.0934],[4497.12,99.6347,28.4833,183.56,-44.4569],[4391.73,199.958,27.6833,180.158,-42.6656],[4280.72,298.921,26.85,176.733,-40.7059],[4159.43,399.354,25.95,173.195,-38.4785],[4027.55,499.653,24.9833,169.611,-35.9547],[3882.43,599.567,23.9333,166.017,-33.0573],[3718.93,699.37,22.7667,162.445,-29.6482],[3526.78,799.866,21.4167,158.958,-25.4627],[3290.08,899.542,19.7833,155.816,-20.0845],[2941.43,999.887,17.4333,153.714,-11.8762],[2438,1052.48,14.15,156.319,-0.0158527]]], - [40,1095.45,[[5925.13,-2001.72,41.0833,239.589,-63.7282],[5875.44,-1902.08,40.6167,237.506,-63.2374],[5823.53,-1800.26,40.1333,235.331,-62.7155],[5772.99,-1703.3,39.6667,233.214,-62.1979],[5718.37,-1600.9,39.1667,230.929,-61.6279],[5663.27,-1500.06,38.6667,228.628,-61.0413],[5607.69,-1400.81,38.1667,226.31,-60.4376],[5551.63,-1303.17,37.6667,223.979,-59.8161],[5491.31,-1200.81,37.1333,221.479,-59.1326],[5430.44,-1100.34,36.6,218.966,-58.4273],[5369.03,-1001.77,36.0667,216.443,-57.6991],[5305.14,-902.153,35.5167,213.833,-56.9233],[5238.72,-801.699,34.95,211.137,-56.0964],[5169.7,-700.64,34.3667,208.359,-55.2147],[5100.05,-601.997,33.7833,205.58,-54.3009],[5025.73,-500.384,33.1667,202.647,-53.2982],[4950.7,-401.551,32.55,199.722,-52.2564],[4870.86,-300.429,31.9,196.656,-51.1138],[4788.16,-200.017,31.2333,193.533,-49.8926],[4702.54,-100.617,30.55,190.365,-48.5866],[4611.84,-0.254261,29.8333,187.087,-47.1553],[4518.07,98.2625,29.1,183.79,-45.6226],[4416.85,198.757,28.3167,180.348,-43.9061],[4310.16,298.236,27.5,176.863,-42.0259],[4193.45,399.663,26.6167,173.235,-39.8844],[4068.64,499.753,25.6833,169.59,-37.4962],[3933.24,598.791,24.6833,165.936,-34.7913],[3780.02,699.197,23.5667,162.217,-31.5908],[3603.65,799.855,22.3,158.534,-27.734],[3393.68,899.522,20.8167,155.068,-22.9286],[3114.46,999.326,18.8833,152.152,-16.2632],[2447.62,1095.44,14.4333,153.744,-0.0250303]]], - [41,1138.57,[[5898.98,-2002.34,41.55,239.976,-64.2632],[5850.15,-1902.08,41.0833,237.881,-63.7825],[5800.91,-1803.12,40.6167,235.768,-63.289],[5749.47,-1702.01,40.1333,233.56,-62.7641],[5697.6,-1602.33,39.65,231.335,-62.2245],[5643.47,-1500.75,39.15,229.016,-61.6502],[5588.86,-1400.74,38.65,226.68,-61.0591],[5533.79,-1302.33,38.15,224.328,-60.4504],[5476.39,-1202.35,37.6333,221.884,-59.8023],[5416.61,-1100.98,37.1,219.346,-59.1119],[5356.29,-1001.51,36.5667,216.797,-58.3991],[5293.54,-900.95,36.0167,214.157,-57.6395],[5230.22,-802.469,35.4667,211.509,-56.8539],[5162.45,-700.322,34.8833,208.694,-55.991],[5094.06,-600.582,34.3,205.876,-55.0964],[5023.06,-500.538,33.7,202.979,-54.1415],[4949.39,-400.444,33.0833,200.006,-53.1217],[4873.02,-300.567,32.45,196.965,-52.0322],[4793.89,-201.185,31.8,193.86,-50.8674],[4709.87,-100.168,31.1167,190.623,-49.5896],[4622.95,-0.420156,30.4167,187.344,-48.2216],[4530.94,99.9658,29.6833,183.959,-46.7213],[4435.87,198.217,28.9333,180.563,-45.1127],[4333.39,298.023,28.1333,177.03,-43.3106],[4223.29,398.33,27.2833,173.396,-41.2944],[4103.16,499.78,26.3667,169.642,-38.9988],[3974.94,599.084,25.4,165.902,-36.4377],[3831.64,699.365,24.3333,162.083,-33.4414],[3670.45,799.015,23.15,158.287,-29.9085],[3479.09,899.765,21.7667,154.538,-25.5082],[3239.65,999.889,20.0667,151.125,-19.737],[2871.65,1099.94,17.5167,148.921,-10.5084],[2455.14,1138.57,14.7167,151.148,-0.0505385]]], - [42,1181.82,[[5867.64,-2000.48,42,240.322,-64.7852],[5821.39,-1903.21,41.55,238.29,-64.3313],[5771.29,-1800.07,41.0667,236.087,-63.8308],[5722.51,-1701.83,40.6,233.942,-63.3343],[5671.55,-1601.47,40.1167,231.702,-62.806],[5620.16,-1502.56,39.6333,229.443,-62.2627],[5566.54,-1401.79,39.1333,227.089,-61.6844],[5512.46,-1302.6,38.6333,224.719,-61.0888],[5456.09,-1201.81,38.1167,222.252,-60.4545],[5399.23,-1102.76,37.6,219.771,-59.8002],[5340.02,-1002.37,37.0667,217.196,-59.103],[5278.41,-900.861,36.5167,214.528,-58.3599],[5216.24,-801.416,35.9667,211.85,-57.5912],[5151.62,-701.152,35.4,209.081,-56.7712],[5084.48,-600.298,34.8167,206.226,-55.8961],[5016.73,-501.874,34.2333,203.369,-54.9883],[4944.45,-400.504,33.6167,200.35,-53.9912],[4871.48,-301.927,33,197.338,-52.954],[4793.84,-201.089,32.35,194.177,-51.8152],[4713.44,-100.984,31.6833,190.954,-50.5964],[4630.22,-1.91454,31,187.681,-49.2913],[4542.06,98.0825,30.2833,184.289,-47.8587],[4448.85,198.386,29.5333,180.797,-46.2864],[4350.47,298.333,28.75,177.226,-44.5606],[4244.66,399.178,27.9167,173.533,-42.6268],[4131.23,499.808,27.0333,169.758,-40.4625],[4009.98,599.021,26.1,165.958,-38.043],[3876.27,698.642,25.0833,162.078,-35.2484],[3725.23,799.143,23.95,158.127,-31.9348],[3551.71,899.283,22.6667,154.214,-27.9328],[3340.95,999.558,21.1333,150.459,-22.8217],[3053.36,1099.98,19.0833,147.285,-15.5092],[2458.06,1181.82,14.9833,148.557,-0.0304239]]], - [43,1225.13,[[5834.65,-2003.42,42.4667,240.776,-65.3275],[5787.55,-1901.93,42,238.657,-64.8669],[5740.06,-1801.72,41.5333,236.518,-64.394],[5692.16,-1702.82,41.0667,234.36,-63.9084],[5642.14,-1601.77,40.5833,232.105,-63.3915],[5591.68,-1502.17,40.1,229.831,-62.86],[5539.04,-1400.66,39.6,227.46,-62.294],[5485.95,-1300.74,39.1,225.07,-61.7111],[5432.39,-1202.43,38.6,222.664,-61.1106],[5376.58,-1102.55,38.0833,220.16,-60.4707],[5318.46,-1001.3,37.55,217.561,-59.7887],[5259.82,-901.952,37.0167,214.947,-59.0841],[5198.82,-801.53,36.4667,212.24,-58.3325],[5135.4,-700.248,35.9,209.439,-57.5307],[5071.41,-601.215,35.3333,206.631,-56.6997],[5004.94,-501.651,34.75,203.735,-55.8123],[4935.94,-401.799,34.15,200.755,-54.8642],[4864.36,-301.916,33.5333,197.695,-53.8507],[4790.16,-202.269,32.9,194.561,-52.7666],[4711.3,-100.637,32.2333,191.277,-51.5757],[4631.68,-2.39771,31.5667,188.016,-50.3314],[4545.24,99.3699,30.85,184.546,-48.9312],[4455.89,199.325,30.1167,181.043,-47.4281],[4361.51,299.236,29.35,177.446,-45.7769],[4261.98,398.416,28.55,173.78,-43.9627],[4152.97,499.925,27.6833,169.93,-41.8877],[4038.47,598.702,26.7833,166.093,-39.6073],[3911.87,698.775,25.8,162.123,-36.9644],[3770.63,799.385,24.7167,158.068,-33.8654],[3612.01,898.833,23.5167,154.036,-30.2021],[3421.88,999.724,22.1,150.013,-25.5733],[3180.45,1100,20.3333,146.317,-19.3802],[2785.62,1199.81,17.5167,144.053,-8.79373],[2458.93,1225.13,15.25,145.944,-0.0263659]]], - [44,1268.47,[[5794.81,-2000.3,42.9,241.112,-65.8413],[5750.23,-1901.87,42.45,239.058,-65.4066],[5703.61,-1801.05,41.9833,236.908,-64.9439],[5656.6,-1701.53,41.5167,234.737,-64.4688],[5609.2,-1603.32,41.05,232.546,-63.9808],[5559.69,-1503.01,40.5667,230.257,-63.4611],[5508.03,-1400.76,40.0667,227.869,-62.9078],[5455.93,-1300.09,39.5667,225.462,-62.3378],[5403.37,-1201.02,39.0667,223.036,-61.7505],[5348.6,-1100.36,38.55,220.512,-61.1246],[5293.35,-1001.44,38.0333,217.971,-60.4786],[5235.83,-901.209,37.5,215.332,-59.7898],[5177.8,-802.9,36.9667,212.68,-59.0777],[5115.61,-700.587,36.4,209.849,-58.2943],[5052.84,-600.51,35.8333,207.007,-57.4823],[4989.52,-502.703,35.2667,204.158,-56.6401],[4921.85,-401.652,34.6667,201.137,-55.714],[4851.66,-300.523,34.05,198.031,-54.7237],[4780.82,-202.199,33.4333,194.93,-53.6922],[4705.44,-101.643,32.7833,191.671,-52.5584],[4627.39,-1.84258,32.1167,188.346,-51.3434],[4544.64,99.2611,31.4167,184.883,-50.0077],[4459.07,198.801,30.7,181.376,-48.5735],[4368.61,298.605,29.95,177.761,-46.9967],[4273.15,398.007,29.1667,174.059,-45.2625],[4170.5,498.245,28.3333,170.223,-43.3153],[4060.49,598.203,27.45,166.295,-41.1308],[3940.8,698.362,26.5,162.262,-38.6373],[3809.02,798.533,25.4667,158.144,-35.75],[3660.42,899.086,24.3167,153.951,-32.3181],[3487.83,999.836,23,149.749,-28.1072],[3279.08,1099.36,21.4333,145.738,-22.7242],[2984.37,1199.76,19.2667,142.303,-14.7129],[2457.73,1268.46,15.5167,143.308,-0.039527]]], - [45,1311.78,[[5753.24,-2002.13,43.35,241.557,-66.375],[5709.51,-1903.1,42.9,239.493,-65.9501],[5663.78,-1801.65,42.4333,237.332,-65.4979],[5617.65,-1701.5,41.9667,235.149,-65.0334],[5571.15,-1602.65,41.5,232.946,-64.5563],[5522.58,-1501.67,41.0167,230.643,-64.0482],[5473.6,-1402.13,40.5333,228.319,-63.5255],[5422.5,-1300.71,40.0333,225.895,-62.9686],[5370.96,-1200.87,39.5333,223.451,-62.3947],[5318.98,-1102.65,39.0333,220.989,-61.803],[5264.8,-1002.87,38.5167,218.426,-61.1723],[5208.39,-901.732,37.9833,215.764,-60.4996],[5151.49,-802.509,37.45,213.086,-59.804],[5092.29,-702.221,36.9,210.309,-59.0615],[5030.75,-601.088,36.3333,207.436,-58.2688],[4968.66,-502.212,35.7667,204.553,-57.4464],[4902.32,-400.017,35.1667,201.493,-56.5418],[4835.37,-300.429,34.5667,198.428,-55.6008],[4765.93,-200.829,33.95,195.279,-54.5936],[4693.95,-101.487,33.3167,192.051,-53.5149],[4617.46,-0.191693,32.65,188.665,-52.3285],[4540.24,97.694,31.9833,185.3,-51.087],[4456.41,199.063,31.2667,181.714,-49.6879],[4369.78,298.59,30.5333,178.09,-48.1833],[4278.28,398.032,29.7667,174.363,-46.5272],[4179.79,498.698,28.95,170.481,-44.665],[4074.14,599.503,28.0833,166.48,-42.5724],[3961.12,699.267,27.1667,162.413,-40.2227],[3836.36,799.937,26.1667,158.205,-37.4932],[3699.51,899.229,25.0833,153.971,-34.3345],[3541.59,999.7,23.85,149.639,-30.4799],[3355.27,1099.35,22.4167,145.381,-25.6614],[3112.63,1199.49,20.5833,141.39,-19.0134],[2668.33,1299.92,17.3167,139.203,-6.22239],[2452.09,1311.78,15.7667,140.675,-0.00420841]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 36.9923; -_maxRange = 4631.68; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg4.sqf deleted file mode 100644 index 29916e88af..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg4.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg4 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[4899.19,-2001.93,21.55,253.292,-43.3483],[4791.16,-1901.58,20.9667,252.225,-42.3979],[4678.77,-1800.69,20.3667,251.176,-41.4008],[4565.1,-1702.19,19.7667,250.182,-40.3841],[4443.7,-1600.85,19.1333,249.196,-39.2896],[4320.84,-1502.25,18.5,248.28,-38.1735],[4189.92,-1401.46,17.8333,247.397,-36.9754],[4054.01,-1301.38,17.15,246.584,-35.7233],[3912.98,-1202.31,16.45,245.856,-34.4157],[3759.83,-1100.09,15.7,245.202,-32.9877],[3604.52,-1001.99,14.95,244.687,-31.5327],[3436.45,-901.954,14.15,244.3,-29.9523],[3255.14,-800.964,13.3,244.088,-28.243],[3060.02,-700.075,12.4,244.101,-26.4021],[2850.51,-600.436,11.45,244.397,-24.4278],[2618.39,-500.191,10.4167,245.073,-22.2491],[2358.63,-400.176,9.28333,246.266,-19.8292],[2061.73,-300.94,8.01667,248.199,-17.098],[1700.85,-200.948,6.51667,251.366,-13.8449],[1215.99,-100.173,4.56667,257.02,-9.62228],[41.6269,-0.0224686,0.133333,277.128,-0.303702],[4.63171,0.0972759,0,277.902,-0.0336977]]], - [1,1.25163,[[4990.58,-2001.05,22.0333,252.401,-43.5811],[4883.35,-1900.63,21.45,251.296,-42.6308],[4774.91,-1802.44,20.8667,250.238,-41.6617],[4658.97,-1701.1,20.25,249.173,-40.6165],[4541.67,-1602.32,19.6333,248.17,-39.5503],[4416.54,-1501.02,18.9833,247.182,-38.4039],[4286.62,-1400.16,18.3167,246.25,-37.2041],[4151.76,-1300.02,17.6333,245.386,-35.9497],[4011.82,-1200.89,16.9333,244.605,-34.6392],[3863.25,-1100.84,16.2,243.905,-33.2396],[3705.76,-1000.46,15.4333,243.315,-31.7479],[3539.03,-900.385,14.6333,242.862,-30.1619],[3362.73,-801.284,13.8,242.58,-28.4797],[3169.26,-700.247,12.9,242.51,-26.6309],[2961.54,-600.462,11.95,242.716,-24.647],[2731.43,-500.068,10.9167,243.291,-22.4563],[2477.79,-401.298,9.8,244.352,-20.0575],[2179.74,-300.51,8.51667,246.173,-17.2714],[1822.18,-200.355,7.01667,249.181,-13.9932],[1346.1,-100.112,5.08333,254.567,-9.77049],[275.021,-0.050639,0.983333,272.265,-1.0429],[138.227,1.25034,0.483333,275.059,-0.016131]]], - [2,4.75254,[[5083,-2001.63,22.5333,251.553,-43.8518],[4976.61,-1901.04,21.95,250.409,-42.9025],[4869.03,-1802.7,21.3667,249.31,-41.934],[4754,-1701.19,20.75,248.202,-40.8892],[4637.64,-1602.25,20.1333,247.153,-39.8231],[4513.52,-1500.79,19.4833,246.117,-38.6762],[4387.89,-1402.25,18.8333,245.157,-37.5059],[4254.17,-1301.86,18.15,244.236,-36.2506],[4112.1,-1200.16,17.4333,243.376,-34.9072],[3968.13,-1102.17,16.7167,242.631,-33.5369],[3812.01,-1001.52,15.95,241.97,-32.0421],[3646.74,-901.171,15.15,241.443,-30.4519],[3471.99,-801.787,14.3167,241.081,-28.7643],[3280.24,-700.451,13.4167,240.921,-26.9085],[3074.4,-600.355,12.4667,241.031,-24.9157],[2850.12,-501.187,11.45,241.486,-22.7494],[2595.12,-400.512,10.3167,242.436,-20.3006],[2303.77,-300.559,9.05,244.089,-17.5322],[1953.78,-200.758,7.56667,246.877,-14.2658],[1486.88,-100.121,5.65,251.95,-10.0425],[535.29,-0.0789485,1.95,266.948,-2.05876],[270.361,4.75184,0.966667,272.191,-0.00881728]]], - [3,10.5521,[[5173.29,-2000.81,23.0333,250.718,-44.1333],[5067.76,-1900.05,22.45,249.535,-43.1852],[4961.05,-1801.52,21.8667,248.395,-42.2176],[4850.07,-1702.55,21.2667,247.274,-41.202],[4731.56,-1600.71,20.6333,246.149,-40.1076],[4611.64,-1501.63,20,245.09,-38.9904],[4483.87,-1400.33,19.3333,244.052,-37.7898],[4354.52,-1302.17,18.6667,243.099,-36.5643],[4213.68,-1200.18,17.95,242.177,-35.2197],[4070.98,-1101.91,17.2333,241.367,-33.8475],[3916.24,-1000.96,16.4667,240.636,-32.35],[3752.44,-900.303,15.6667,240.033,-30.7559],[3579.26,-800.603,14.8333,239.59,-29.0632],[3392.81,-700.756,13.95,239.342,-27.2354],[3188.92,-600.186,13,239.348,-25.2346],[2966.8,-500.514,11.9833,239.689,-23.0579],[2718.05,-400.694,10.8667,240.492,-20.6316],[2433.52,-301.186,9.61667,241.961,-17.8823],[2087.3,-200.244,8.13333,244.543,-14.5916],[1637.83,-100.371,6.26667,249.192,-10.4419],[790.05,-0.0952269,2.91667,261.853,-3.11545],[400.942,10.5511,1.45,269.301,-0.0120559]]], - [4,18.5981,[[5264.4,-2001.57,23.55,249.933,-44.4524],[5159.77,-1900.54,22.9667,248.709,-43.5063],[5053.98,-1801.76,22.3833,247.527,-42.5404],[4943.95,-1702.51,21.7833,246.361,-41.5263],[4826.47,-1600.4,21.15,245.187,-40.4332],[4707.59,-1501.03,20.5167,244.078,-39.3167],[4584.14,-1401.94,19.8667,243.012,-38.1467],[4452.74,-1300.99,19.1833,241.976,-36.8908],[4316.42,-1201.02,18.4833,241.012,-35.5769],[4171.72,-1100.11,17.75,240.117,-34.1716],[4021.73,-1000.99,17,239.33,-32.7045],[3862.88,-901.947,16.2167,238.659,-31.1412],[3691.39,-801.687,15.3833,238.126,-29.445],[3506.78,-701.246,14.5,237.779,-27.6121],[3304.92,-600.037,13.55,237.674,-25.6042],[3088.67,-501.261,12.55,237.888,-23.454],[2842.55,-400.54,11.4333,238.546,-21.0155],[2561.07,-300.02,10.1833,239.846,-18.2492],[2230.32,-201.008,8.75,242.126,-15.0463],[1794.38,-100.337,6.91667,246.368,-10.9348],[1039.29,-0.20285,3.88333,256.981,-4.21329],[529.882,18.596,1.93333,266.39,-0.0261559]]], - [5,28.8383,[[5353.24,-2001.05,24.0667,249.166,-44.7821],[5252.5,-1902.61,23.5,247.936,-43.8656],[5144.66,-1800.68,22.9,246.677,-42.8745],[5035.6,-1701.15,22.3,245.465,-41.8622],[4922.24,-1601.39,21.6833,244.274,-40.7996],[4804.46,-1501.64,21.05,243.112,-39.6848],[4682.14,-1402.17,20.4,241.99,-38.5162],[4551.96,-1300.81,19.7167,240.893,-37.261],[4416.92,-1200.43,19.0167,239.866,-35.9473],[4276.86,-1101.34,18.3,238.921,-34.5737],[4128.34,-1001.69,17.55,238.058,-33.1059],[3967.67,-900.021,16.75,237.29,-31.5072],[3801.26,-801.235,15.9333,236.68,-29.8416],[3618.5,-700.164,15.05,236.233,-28.0041],[3422.23,-600.003,14.1167,236.019,-26.0251],[3208.26,-500.381,13.1167,236.106,-23.8666],[2968.43,-400.154,12.0167,236.607,-21.4529],[2697.6,-300.937,10.8,237.691,-18.7452],[2370.81,-200.084,9.36667,239.738,-15.5202],[1956.13,-100.25,7.6,243.5,-11.524],[1278.79,-0.114062,4.83333,252.398,-5.31547],[652.705,28.8371,2.4,263.55,-0.0158937]]], - [6,41.2195,[[5442.67,-2002.25,24.6,248.455,-45.1489],[5339.9,-1900.58,24.0167,247.148,-44.2083],[5236.01,-1801.15,23.4333,245.88,-43.2474],[5127.97,-1701.24,22.8333,244.622,-42.2377],[5015.66,-1601.1,22.2167,243.381,-41.1775],[4898.98,-1500.95,21.5833,242.166,-40.0648],[4777.81,-1401.07,20.9333,240.988,-38.8978],[4652.03,-1301.72,20.2667,239.858,-37.6748],[4518.31,-1200.82,19.5667,238.763,-36.3624],[4379.64,-1101.2,18.85,237.748,-34.9894],[4232.59,-1000.98,18.1,236.808,-33.5213],[4076.88,-900.79,17.3167,235.971,-31.9549],[3912.2,-801.285,16.5,235.267,-30.2874],[3734.79,-701.3,15.6333,234.724,-28.4815],[3540.65,-600.19,14.7,234.39,-26.4978],[3332.6,-501.157,13.7167,234.342,-24.3684],[3099.14,-401.114,12.6333,234.675,-21.9817],[2831.52,-300.301,11.4167,235.57,-19.2599],[2520.1,-200.834,10.0333,237.306,-16.1271],[2122.68,-100.383,8.31667,240.609,-12.2118],[1512.91,-0.173667,5.78333,248.025,-6.45778],[773.816,41.2183,2.86667,260.69,-0.0163523]]], - [7,55.6881,[[5529.65,-2002.32,25.1333,247.768,-45.5259],[5427.85,-1900.27,24.55,246.418,-44.5888],[5324.94,-1800.45,23.9667,245.106,-43.6311],[5217.92,-1700.14,23.3667,243.801,-42.6245],[5109.7,-1602.27,22.7667,242.545,-41.5959],[4994.17,-1501.64,22.1333,241.276,-40.4863],[4874.2,-1401.25,21.4833,240.04,-39.322],[4749.67,-1301.37,20.8167,238.848,-38.1012],[4620.46,-1202.3,20.1333,237.712,-36.8221],[4483.22,-1102.02,19.4167,236.623,-35.4507],[4337.7,-1001.12,18.6667,235.603,-33.9835],[4183.62,-900.21,17.8833,234.679,-32.4171],[4024.03,-801.949,17.0833,233.895,-30.7827],[3848.56,-701.052,16.2167,233.244,-28.9746],[3660.02,-600.718,15.3,232.796,-27.0227],[3454.34,-500.508,14.3167,232.611,-24.8875],[3227.17,-400.645,13.25,232.781,-22.5287],[2970.09,-300.827,12.0667,233.457,-19.869],[2666.41,-200.201,10.7,234.925,-16.7552],[2289.76,-100.154,9.05,237.757,-12.9622],[1741.62,-0.48754,6.73333,243.865,-7.6401],[893.137,55.686,3.33333,257.812,-0.0278486]]], - [8,72.1904,[[5614.12,-2001.31,25.6667,247.103,-45.913],[5516.19,-1901.75,25.1,245.75,-45.0067],[5414.3,-1801.46,24.5167,244.394,-44.0532],[5308.34,-1700.67,23.9167,243.041,-43.0506],[5201.21,-1602.31,23.3167,241.734,-42.0256],[5086.84,-1501.16,22.6833,240.41,-40.9195],[4968.07,-1400.24,22.0333,239.116,-39.7583],[4847.9,-1302.29,21.3833,237.893,-38.5709],[4716.9,-1200.18,20.6833,236.661,-37.2631],[4584.25,-1101.61,19.9833,235.526,-35.9255],[4443.49,-1002.21,19.25,234.448,-34.4926],[4291.09,-900.458,18.4667,233.434,-32.9274],[4133.25,-801.329,17.6667,232.555,-31.293],[3963.09,-701.389,16.8167,231.808,-29.5187],[3780.13,-601.715,15.9167,231.245,-27.5999],[3576.9,-500.157,14.9333,230.917,-25.4603],[3355.99,-400.331,13.8833,230.922,-23.1313],[3105.73,-300.047,12.7167,231.394,-20.498],[2817.07,-200.591,11.4,232.561,-17.4816],[2460.94,-100.71,9.81667,234.926,-13.8153],[1960.96,-0.546403,7.66667,239.965,-8.82356],[1006.34,72.1893,3.78333,254.999,-0.0139699]]], - [9,90.6715,[[5698.88,-2002.26,26.2167,246.505,-46.3362],[5601.94,-1902.22,25.65,245.11,-45.4345],[5501.08,-1801.44,25.0667,243.709,-44.4855],[5396.19,-1700.15,24.4667,242.308,-43.4872],[5290.15,-1601.28,23.8667,240.952,-42.4663],[5179.94,-1502.23,23.25,239.609,-41.3934],[5062.42,-1400.68,22.6,238.255,-40.2365],[4943.52,-1302.1,21.95,236.969,-39.0528],[4817.02,-1201.71,21.2667,235.698,-37.7798],[4682.68,-1100.05,20.55,234.46,-36.4134],[4546.61,-1002.15,19.8333,233.329,-35.0154],[4399.13,-901.66,19.0667,232.246,-33.4856],[4243.1,-801.529,18.2667,231.267,-31.8527],[4074.9,-700.519,17.4167,230.411,-30.0783],[3897.44,-601.511,16.5333,229.736,-28.1937],[3700.08,-500.246,15.5667,229.27,-26.0873],[3485.41,-400.323,14.5333,229.11,-23.7898],[3245.5,-300.806,13.4,229.368,-21.223],[2968.06,-201.098,12.1167,230.251,-18.269],[2628.31,-100.448,10.5833,232.195,-14.6949],[2171.13,-0.23765,8.58333,236.31,-10.0062],[1117.7,90.6707,4.23333,252.169,-0.010961]]], - [10,111.077,[[5780.94,-2002.28,26.7667,245.934,-46.7691],[5684.99,-1901.75,26.2,244.497,-45.8723],[5585.17,-1800.46,25.6167,243.051,-44.9281],[5484.27,-1701.44,25.0333,241.642,-43.9625],[5379.35,-1601.98,24.4333,240.235,-42.9467],[5270.31,-1502.31,23.8167,238.838,-41.8786],[5154.06,-1400.11,23.1667,237.424,-40.7263],[5036.44,-1300.87,22.5167,236.076,-39.5469],[4914.37,-1202.21,21.85,234.769,-38.309],[4784.63,-1102.07,21.15,233.484,-36.9787],[4646.98,-1001.01,20.4167,232.244,-35.5518],[4504.35,-901.789,19.6667,231.096,-34.0581],[4350.13,-800.626,18.8667,230.018,-32.4273],[4187.18,-700.46,18.0333,229.068,-30.6889],[4011.86,-600.182,17.15,228.27,-28.8041],[3823.68,-500.93,16.2167,227.679,-26.7687],[3615.22,-400.787,15.2,227.353,-24.5046],[3382.01,-300.545,14.0833,227.407,-21.9685],[3115.56,-200.679,12.8333,228.02,-19.0793],[2795.5,-100.496,11.3667,229.544,-15.6403],[2376.14,-0.210678,9.5,232.848,-11.2258],[1595.85,99.8994,6.18333,242.881,-3.44392],[1227.13,111.076,4.68333,249.322,-0.0191434]]], - [11,133.351,[[5860.29,-2001.43,27.3167,245.392,-47.2112],[5765.34,-1900.39,26.75,243.914,-46.3197],[5669.4,-1801.46,26.1833,242.466,-45.4079],[5569.58,-1701.84,25.6,241.009,-44.4478],[5465.8,-1601.76,25,239.552,-43.4375],[5357.95,-1501.46,24.3833,238.1,-42.3747],[5245.93,-1401.18,23.75,236.664,-41.2574],[5129.63,-1301.19,23.1,235.252,-40.0833],[5008.93,-1201.75,22.4333,233.877,-38.8503],[4880.66,-1100.78,21.7333,232.518,-37.5246],[4747.68,-1001.13,21.0167,231.225,-36.1344],[4606.72,-900.914,20.2667,229.988,-34.6445],[4457.52,-800.77,19.4833,228.833,-33.0509],[4299.78,-701.358,18.6667,227.791,-31.3499],[4129.95,-601.522,17.8,226.881,-29.5026],[3944.19,-500.633,16.8667,226.145,-27.4674],[3741.84,-400.291,15.8667,225.658,-25.2382],[3518.68,-300.801,14.7833,225.514,-22.7728],[3263.08,-200.709,13.5667,225.863,-19.9512],[2958.67,-100.012,12.15,227.007,-16.6124],[2575.97,-0.572262,10.4167,229.58,-12.4814],[1964.11,99.6634,7.75,236.299,-6.12779],[1330.48,133.351,5.11667,246.537,-0.000854537]]], - [12,157.44,[[5939.61,-2002.81,27.8833,244.925,-47.6882],[5845.7,-1901.18,27.3167,243.405,-46.8028],[5750.8,-1801.66,26.75,241.913,-45.8971],[5652.08,-1701.42,26.1667,240.41,-44.943],[5549.44,-1600.71,25.5667,238.902,-43.9386],[5445.68,-1502.44,24.9667,237.436,-42.9104],[5334.93,-1401.41,24.3333,235.941,-41.7993],[5219.95,-1300.64,23.6833,234.466,-40.6311],[5100.63,-1200.39,23.0167,233.023,-39.4037],[4976.87,-1100.96,22.3333,231.623,-38.1149],[4845.47,-1000.34,21.6167,230.248,-36.73],[4709.29,-901.316,20.8833,228.95,-35.278],[4561.91,-800.004,20.1,227.696,-33.6889],[4409.31,-701.367,19.3,226.567,-32.0262],[4241.62,-600.105,18.4333,225.532,-30.1814],[4064.83,-501.204,17.5333,224.682,-28.2201],[3868.54,-400.555,16.55,224.036,-26.028],[3651.88,-300.278,15.4833,223.696,-23.5975],[3406.9,-200.073,14.3,223.796,-20.846],[3121.33,-100.229,12.95,224.571,-17.6507],[2766.93,-0.53125,11.3167,226.533,-13.7321],[2250.68,99.5252,9.01667,231.371,-8.18676],[1435.92,157.437,5.56667,243.659,-0.0319954]]], - [13,183.286,[[6013.29,-2000.45,28.4333,244.445,-48.1483],[5923.15,-1901.25,27.8833,242.929,-47.2951],[5829.31,-1801.11,27.3167,241.394,-46.3957],[5731.69,-1700.25,26.7333,239.844,-45.448],[5633.03,-1601.66,26.15,238.329,-44.4779],[5530.46,-1502.66,25.55,236.81,-43.4565],[5420.99,-1400.86,24.9167,235.256,-42.352],[5310.27,-1301.85,24.2833,233.757,-41.2204],[5192.38,-1200.7,23.6167,232.244,-39.9999],[5070.09,-1100.33,22.9333,230.77,-38.7174],[4943.3,-1001.04,22.2333,229.347,-37.3709],[4808.8,-900.908,21.5,227.96,-35.925],[4666.35,-800.532,20.7333,226.633,-34.3752],[4515.7,-700.561,19.9333,225.395,-32.7174],[4356.57,-601.683,19.1,224.277,-30.9479],[4182.15,-501.017,18.2,223.283,-28.9899],[3991.83,-400.092,17.2333,222.484,-26.8362],[3784.92,-300.594,16.2,221.962,-24.4807],[3550.38,-200.237,15.05,221.82,-21.8024],[3279.74,-100.212,13.75,222.261,-18.7155],[2952.79,-0.951608,12.2167,223.672,-15.0165],[2498.43,99.9111,10.15,227.238,-9.98528],[1535.22,183.284,6,240.842,-0.0364613]]], - [14,210.835,[[6086.8,-2000.48,29,244.043,-48.6423],[5997.67,-1900.68,28.45,242.488,-47.7958],[5907.64,-1802.84,27.9,240.956,-46.9297],[5811.16,-1701.26,27.3167,239.359,-45.9895],[5713.65,-1601.94,26.7333,237.794,-45.0266],[5612.28,-1502.2,26.1333,236.223,-44.0123],[5506.95,-1402.26,25.5167,234.652,-42.9443],[5397.56,-1302.38,24.8833,233.091,-41.8203],[5281.09,-1200.3,24.2167,231.51,-40.6072],[5163.25,-1101.41,23.55,229.999,-39.3633],[5038.03,-1001.04,22.85,228.496,-38.0241],[4908.25,-902.026,22.1333,227.052,-36.618],[4767.63,-800.355,21.3667,225.626,-35.0752],[4622.03,-701.082,20.5833,224.305,-33.4581],[4465,-600.663,19.75,223.064,-31.6939],[4296.11,-500.154,18.8667,221.951,-29.7763],[4114.92,-400.7,17.9333,221.019,-27.6999],[3914.29,-300.384,16.9167,220.315,-25.3836],[3689.97,-200.008,15.8,219.946,-22.7809],[3433.86,-100.062,14.55,220.079,-19.8059],[3130,-0.905095,13.1,221.015,-16.2926],[2727.79,99.5413,11.2333,223.57,-11.7124],[1976.93,199.938,7.9,232.317,-3.55681],[1628.48,210.834,6.41667,238.082,-0.0132731]]], - [15,240.03,[[6159.96,-2003.02,29.5833,243.725,-49.1696],[6071.88,-1902.53,29.0333,242.129,-48.3308],[5980.2,-1801.06,28.4667,240.508,-47.4459],[5887.57,-1701.69,27.9,238.912,-46.5399],[5791.22,-1601.64,27.3167,237.299,-45.5846],[5691.05,-1501.13,26.7167,235.675,-44.5779],[5586.97,-1400.4,26.1,234.049,-43.5175],[5481.75,-1302.3,25.4833,232.469,-42.4305],[5369.6,-1201.81,24.8333,230.861,-41.256],[5253.24,-1101.88,24.1667,229.277,-40.0204],[5129.6,-1000.41,23.4667,227.694,-38.6892],[5001.46,-900.259,22.75,226.164,-37.2906],[4868.69,-801.744,22.0167,224.705,-35.8223],[4725.04,-701.009,21.2333,223.276,-34.2128],[4573.23,-601.006,20.4167,221.939,-32.4907],[4409.82,-500.574,19.55,220.708,-30.6155],[4234.39,-400.827,18.6333,219.635,-28.5812],[4043.2,-301.356,17.65,218.768,-26.3443],[3828.93,-200.951,16.5667,218.182,-23.8204],[3587.06,-101.178,15.3667,218.024,-20.9614],[3298.74,-0.296389,13.9667,218.548,-17.5586],[2939.52,99.2027,12.2667,220.303,-13.3613],[2381.14,199.69,9.71667,225.461,-7.02911],[1719.67,240.03,6.83333,235.306,-0.0012178]]], - [16,270.815,[[6227.38,-2002.01,30.15,243.394,-49.6794],[6140.33,-1900.89,29.6,241.76,-48.848],[6052.4,-1801.72,29.05,240.145,-47.9968],[5960.88,-1701.62,28.4833,238.504,-47.0987],[5865.69,-1600.81,27.9,236.844,-46.1516],[5769.49,-1502.29,27.3167,235.215,-45.181],[5666.7,-1400.67,26.7,233.531,-44.1293],[5562.78,-1301.69,26.0833,231.893,-43.0508],[5452.02,-1200.25,25.4333,230.219,-41.8847],[5340,-1101.82,24.7833,228.605,-40.6884],[5220.86,-1001.63,24.1,226.981,-39.3979],[5094.4,-900.227,23.3833,225.365,-38.0083],[4963.39,-800.422,22.65,223.812,-36.5484],[4824.66,-700.421,21.8833,222.309,-34.9812],[4677.98,-600.872,21.0833,220.882,-33.3021],[4519.96,-500.557,20.2333,219.541,-31.4704],[4350.2,-400.563,19.3333,218.333,-29.4794],[4165.02,-300.408,18.3667,217.302,-27.2852],[3960.5,-200.268,17.3167,216.521,-24.8415],[3732.43,-101.115,16.1667,216.106,-22.101],[3462.56,-0.198516,14.8333,216.252,-18.8537],[3134.33,99.6133,13.25,217.378,-14.9261],[2671.04,199.991,11.0833,220.755,-9.49135],[1808.74,270.815,7.25,232.514,-0.000615617]]], - [17,303.134,[[6291.7,-2000.58,30.7167,243.099,-50.1967],[6208.31,-1901.85,30.1833,241.477,-49.3983],[6121.45,-1801.97,29.6333,239.822,-48.5553],[6031.05,-1701.12,29.0667,238.137,-47.6657],[5939.72,-1602.4,28.5,236.478,-46.7541],[5842,-1500.23,27.9,234.751,-45.7648],[5743.23,-1400.51,27.3,233.06,-44.7501],[5640.62,-1300.61,26.6833,231.362,-43.6806],[5534.08,-1200.79,26.05,229.668,-42.5536],[5423.5,-1101.3,25.4,227.985,-41.3667],[5308.79,-1002.42,24.7333,226.325,-40.1172],[5186.93,-902.095,24.0333,224.661,-38.7701],[5057.69,-800.885,23.3,223.014,-37.3203],[4923.85,-701.559,22.55,221.44,-35.797],[4779.22,-600.345,21.75,219.896,-34.1274],[4626.49,-500.189,20.9167,218.45,-32.3402],[4465.41,-401.826,20.05,217.139,-30.4312],[4286.17,-300.909,19.1,215.947,-28.2824],[4091.24,-201.043,18.0833,214.98,-25.9219],[3873.39,-101.216,16.9667,214.321,-23.2635],[3621.44,-0.717387,15.7,214.128,-20.1764],[3319.73,99.3951,14.2167,214.718,-16.4856],[2918.92,199.965,12.3,216.909,-11.6429],[2078.12,299.906,8.46667,226.686,-1.98184],[1895.65,303.133,7.66667,229.707,-0.0118559]]], - [18,336.929,[[6355.43,-2001.93,31.3,242.892,-50.7458],[6273.07,-1902.5,30.7667,241.233,-49.9557],[6187.29,-1801.87,30.2167,239.538,-49.1214],[6098.01,-1700.26,29.65,237.811,-48.2406],[6007.82,-1600.77,29.0833,236.107,-47.3377],[5914.01,-1500.6,28.5,234.379,-46.3849],[5819.22,-1402.75,27.9167,232.682,-45.4081],[5717.95,-1301.85,27.3,230.926,-44.3488],[5612.8,-1200.98,26.6667,229.168,-43.2321],[5503.67,-1100.42,26.0167,227.417,-42.0552],[5390.47,-1000.42,25.35,225.684,-40.8155],[5273.09,-901.289,24.6667,223.979,-39.5103],[5148.51,-801.026,23.95,222.279,-38.1039],[5016.52,-700.224,23.2,220.604,-36.5909],[4879.87,-601.604,22.4333,219.013,-35.0012],[4732.38,-501.547,21.6167,217.467,-33.2605],[4573.68,-401.084,20.75,216.009,-31.3614],[4403.35,-301.338,19.8333,214.69,-29.2967],[4214.62,-200.288,18.8333,213.539,-26.9823],[4006.68,-100.118,17.75,212.659,-24.4079],[3772.06,-0.662623,16.55,212.173,-21.4842],[3492.56,99.7785,15.15,212.313,-17.9949],[3141.13,199.488,13.4333,213.621,-13.6355],[2589.85,299.81,10.8333,218.229,-6.97326],[1980.32,336.926,8.08333,226.887,-0.0353301]]], - [19,372.145,[[6415.9,-2003.04,31.8833,242.725,-51.3013],[6334.58,-1902.88,31.35,241.03,-50.52],[6249.88,-1801.5,30.8,239.296,-49.6947],[6164.34,-1702.09,30.25,237.578,-48.8489],[6075.3,-1601.75,29.6833,235.829,-47.9558],[5982.71,-1500.7,29.1,234.052,-47.013],[5889.15,-1401.95,28.5167,232.304,-46.0459],[5789.19,-1300.1,27.9,230.492,-44.9967],[5688.15,-1200.89,27.2833,228.72,-43.9195],[5583.25,-1101.8,26.65,226.948,-42.7836],[5471.59,-1000.59,25.9833,225.14,-41.5553],[5355.81,-900.197,25.3,223.356,-40.2612],[5235.81,-800.922,24.6,221.608,-38.8986],[5108.57,-700.845,23.8667,219.872,-37.4308],[4973.87,-600.579,23.1,218.172,-35.8526],[4831.49,-500.776,22.3,216.535,-34.1584],[4678.14,-400.214,21.45,214.965,-32.3065],[4516.51,-301.783,20.5667,213.535,-30.3272],[4336.97,-201.279,19.6,212.227,-28.0999],[4138.76,-100.795,18.55,211.14,-25.6131],[3917.81,-1.30358,17.4,210.384,-22.8165],[3656.51,99.9528,16.0667,210.13,-19.4927],[3342.31,199.164,14.5,210.765,-15.5021],[2898.1,299.62,12.35,213.442,-9.94324],[2058.97,372.143,8.48333,224.118,-0.029625]]], - [20,408.725,[[6470.56,-2000.8,32.45,242.542,-51.8392],[6392.78,-1903.09,31.9333,240.867,-51.0909],[6309.17,-1800.94,31.3833,239.094,-50.2749],[6224.72,-1700.76,30.8333,237.337,-49.4385],[6139.43,-1602.56,30.2833,235.596,-48.5812],[6048.05,-1500.6,29.7,233.772,-47.6487],[5955.72,-1400.94,29.1167,231.974,-46.6917],[5859.76,-1300.86,28.5167,230.156,-45.6816],[5760.08,-1200.61,27.9,228.325,-44.6155],[5656.6,-1100.42,27.2667,226.488,-43.4908],[5549.21,-1000.58,26.6167,224.656,-42.3046],[5437.83,-901.345,25.95,222.838,-41.0541],[5319.52,-800.661,25.25,221.003,-39.7039],[5196.95,-701.357,24.5333,219.212,-38.2819],[5067.11,-601.587,23.7833,217.442,-36.7508],[4929.77,-501.986,23,215.719,-35.105],[4781.72,-401.268,22.1667,214.04,-33.3026],[4622.59,-300.498,21.2833,212.452,-31.3354],[4451.97,-200.832,20.35,211.009,-29.1958],[4263.19,-100.36,19.3333,209.738,-26.7979],[4055.48,-1.32323,18.2333,208.749,-24.1305],[3815.01,98.7884,16.9833,208.157,-21.0187],[3526.74,199.043,15.5167,208.254,-17.2786],[3146.64,299.861,13.6333,209.755,-12.382],[2423.59,399.995,10.2,216.931,-3.41179],[2135.38,408.723,8.88333,221.335,-0.0359306]]], - [21,446.612,[[6524.41,-2001.63,33.0333,242.454,-52.407],[6445.15,-1900.04,32.5,240.69,-51.6437],[6365.11,-1800.26,31.9667,238.935,-50.8615],[6284.3,-1702.31,31.4333,237.192,-50.0601],[6197.59,-1600.28,30.8667,235.356,-49.187],[6109.99,-1500.38,30.3,233.539,-48.2913],[6021.51,-1402.63,29.7333,231.745,-47.3725],[5926.86,-1301.52,29.1333,229.873,-46.3739],[5828.54,-1200.2,28.5167,227.983,-45.3195],[5729.18,-1101.53,27.9,226.133,-44.2362],[5623.29,-1000.46,27.25,224.231,-43.0626],[5516.23,-902.436,26.6,222.384,-41.8559],[5399.62,-800.321,25.9,220.464,-40.519],[5281.63,-701.837,25.2,218.624,-39.1431],[5153.69,-600.409,24.45,216.75,-37.6256],[5021.26,-501.165,23.6833,214.951,-36.028],[4878.37,-400.458,22.8667,213.175,-34.2751],[4727.63,-301.214,22.0167,211.498,-32.3957],[4562.74,-200.658,21.1,209.904,-30.3078],[4383.17,-100.379,20.1167,208.466,-28.0008],[4185.21,-0.636133,19.05,207.255,-25.4248],[3961.67,98.8145,17.8667,206.378,-22.4863],[3695.04,199.84,16.4833,206.032,-18.9599],[3366.06,299.257,14.8167,206.686,-14.6138],[2866.56,399.88,12.3667,209.992,-8.13113],[2205.86,446.611,9.26667,218.597,-0.0118071]]], - [22,485.748,[[6574.83,-2002.44,33.6167,242.405,-52.9805],[6496.62,-1900.08,33.0833,240.607,-52.2269],[6420.13,-1802.64,32.5667,238.873,-51.4789],[6337.91,-1700.8,32.0167,237.038,-50.6628],[6254.87,-1600.92,31.4667,235.215,-49.8257],[6168.47,-1500.11,30.9,233.354,-48.9409],[6081.19,-1401.45,30.3333,231.513,-48.0329],[5990.43,-1302.17,29.75,229.642,-47.0735],[5896.11,-1202.49,29.15,227.747,-46.0599],[5798.15,-1102.65,28.5333,225.836,-44.9895],[5693.77,-1000.34,27.8833,223.866,-43.8291],[5588.23,-901.051,27.2333,221.947,-42.6352],[5478.78,-802.415,26.5667,220.039,-41.3756],[5359.76,-700.04,25.85,218.064,-39.9814],[5239.32,-601.513,25.1333,216.176,-38.5453],[5108.9,-500.434,24.3667,214.264,-36.9627],[4973.95,-401.841,23.5833,212.437,-35.2962],[4825.58,-300.294,22.7333,210.613,-33.4322],[4669.25,-200.856,21.85,208.912,-31.4349],[4498.66,-100.953,20.9,207.325,-29.2208],[4310.18,-0.709636,19.8667,205.913,-26.7388],[4099.95,98.9641,18.7333,204.777,-23.9355],[3854.19,199.812,17.4333,204.057,-20.6283],[3557.91,299.852,15.9,204.09,-16.6265],[3157.36,399.477,13.8833,205.733,-11.2569],[2277.68,485.745,9.66667,215.785,-0.0428521]]], - [23,526.078,[[6619.43,-2000.05,34.1833,242.34,-53.5363],[6544.67,-1900.16,33.6667,240.567,-52.8156],[6469.21,-1801.95,33.15,238.8,-52.0773],[6390.57,-1702.37,32.6167,236.983,-51.2963],[6308.68,-1601.61,32.0667,235.121,-50.4702],[6225.98,-1502.84,31.5167,233.273,-49.6228],[6137.38,-1400.28,30.9333,231.33,-48.7001],[6047.88,-1300.03,30.35,229.41,-47.7522],[5957.46,-1202.1,29.7667,227.516,-46.7785],[5860.88,-1101.16,29.15,225.546,-45.7208],[5760.63,-1000.27,28.5167,223.561,-44.6033],[5659.29,-902.249,27.8833,221.623,-43.4537],[5551.45,-802.21,27.2167,219.637,-42.2085],[5436.92,-700.685,26.5167,217.621,-40.8618],[5318.29,-600.529,25.8,215.638,-39.4409],[5195.45,-502.067,25.0667,213.703,-37.9426],[5062.61,-401.454,24.2833,211.754,-36.2927],[4922.33,-301.654,23.4667,209.863,-34.5183],[4771.45,-201.518,22.6,208.034,-32.5757],[4606.65,-100.436,21.6667,206.286,-30.4169],[4427.38,-0.0383371,20.6667,204.697,-28.0302],[4230.02,99.3397,19.5833,203.34,-25.3643],[4004.39,199.098,18.3667,202.312,-22.2804],[3736.31,299.14,16.95,201.843,-18.5883],[3390.48,399.856,15.1667,202.479,-13.8269],[2824.56,499.9,12.35,206.582,-6.19926],[2343.57,526.076,10.05,213.018,-0.0432211]]], - [24,567.546,[[6662.95,-2001.01,34.7667,242.372,-54.1201],[6589.22,-1900.35,34.25,240.568,-53.4094],[6514.79,-1801.37,33.7333,238.768,-52.6812],[6437.23,-1700.98,33.2,236.917,-51.9106],[6358.91,-1602.42,32.6667,235.074,-51.1203],[6277.38,-1502.74,32.1167,233.185,-50.2843],[6192.53,-1402.13,31.55,231.254,-49.4],[6104.31,-1300.83,30.9667,229.285,-48.4649],[6015.19,-1201.84,30.3833,227.339,-47.5039],[5922.58,-1102.49,29.7833,225.366,-46.488],[5823.79,-1000.35,29.15,223.318,-45.3848],[5723.94,-901.067,28.5167,221.313,-44.2492],[5620.34,-802.181,27.8667,219.304,-43.0496],[5510.23,-701.559,27.1833,217.252,-41.7506],[5396.13,-602.077,26.4833,215.223,-40.3791],[5275.2,-501.817,25.75,213.185,-38.8976],[5147.22,-401.396,24.9833,211.161,-37.2998],[5012,-301.471,24.1833,209.179,-35.579],[4866.43,-200.826,23.3333,207.233,-33.6914],[4710.17,-100.563,22.4333,205.372,-31.6275],[4539.88,-0.211619,21.4667,203.626,-29.3382],[4355.01,98.5155,20.4333,202.078,-26.8124],[4142.74,199.181,19.2667,200.766,-23.8706],[3895.48,299.931,17.9333,199.891,-20.4058],[3595.3,399.34,16.35,199.806,-16.1779],[3169.37,499.45,14.1667,201.569,-10.2231],[2403.6,567.545,10.4167,210.292,-0.011681]]], - [25,610.092,[[6702.94,-2002.18,35.35,242.446,-54.7088],[6630.24,-1900.74,34.8333,240.612,-54.0084],[6556.85,-1800.97,34.3167,238.781,-53.2904],[6482.77,-1702.89,33.8,236.954,-52.5546],[6403.15,-1600.36,33.25,235.017,-51.751],[6325.19,-1502.83,32.7167,233.146,-50.9514],[6241.56,-1401.26,32.15,231.172,-50.0792],[6157.09,-1301.85,31.5833,229.214,-49.1833],[6069.26,-1201.78,31,227.218,-48.2355],[5978,-1101.31,30.4,225.19,-47.2331],[5883.22,-1000.66,29.7833,223.137,-46.173],[5784.85,-900.096,29.15,221.066,-45.0521],[5685.43,-802.415,28.5167,219.039,-43.8981],[5576.98,-700.3,27.8333,216.907,-42.6152],[5467.3,-601.637,27.15,214.84,-41.2924],[5350.96,-501.923,26.4333,212.751,-39.8617],[5227.75,-401.755,25.6833,210.66,-38.3166],[5097.49,-301.774,24.9,208.594,-36.6503],[4957.12,-200.692,24.0667,206.541,-34.819],[4809.19,-101.432,23.2,204.584,-32.851],[4647.64,-1.33093,22.2667,202.699,-30.661],[4469.01,99.5574,21.25,200.937,-28.1954],[4272.59,198.978,20.15,199.409,-25.4394],[4045.39,299.444,18.9,198.199,-22.2069],[3776.44,398.974,17.45,197.571,-18.3439],[3421.48,499.572,15.5833,198.119,-13.2405],[2758.87,599.782,12.2333,203.401,-3.95653],[2464.8,610.089,10.8,207.495,-0.0372004]]], - [26,653.66,[[6737.03,-2000.31,35.9167,242.501,-55.2797],[6667.67,-1901.39,35.4167,240.699,-54.6117],[6595.32,-1800.82,34.9,238.837,-53.9044],[6522.29,-1701.93,34.3833,236.978,-53.1793],[6446.19,-1601.64,33.85,235.064,-52.4115],[6366.96,-1500.15,33.3,233.097,-51.5987],[6286.94,-1400.64,32.75,231.141,-50.7641],[6203.7,-1300.24,32.1833,229.138,-49.8807],[6119.63,-1202,31.6167,227.152,-48.9729],[6029.72,-1100.39,31.0167,225.072,-47.9844],[5938.88,-1001.28,30.4167,223.017,-46.9673],[5844.55,-902.066,29.8,220.939,-45.8914],[5744.06,-800.43,29.15,218.788,-44.723],[5642.49,-701.858,28.5,216.686,-43.5188],[5534.53,-601.583,27.8167,214.534,-42.2135],[5420.01,-500.16,27.1,212.351,-40.8006],[5301.45,-400.406,26.3667,210.204,-39.3077],[5176,-300.537,25.6,208.064,-37.6956],[5043.48,-201.214,24.8,205.959,-35.9573],[4900.85,-101.239,23.95,203.882,-34.0479],[4747.78,-1.71774,23.05,201.881,-31.9573],[4578.1,99.4482,22.0667,199.954,-29.5943],[4394.11,198.599,21.0167,198.226,-26.9845],[4183.24,299.16,19.8333,196.732,-23.9441],[3938.08,399.138,18.4833,195.675,-20.3627],[3631.7,499.53,16.8333,195.422,-15.855],[3182.19,599.99,14.4833,197.257,-9.28662],[2520.16,653.658,11.1667,204.738,-0.0305884]]], - [27,698.195,[[6769.85,-2002.09,36.5,242.656,-55.8767],[6701.48,-1902.39,36,240.827,-55.2192],[6630.18,-1801,35.4833,238.936,-54.5228],[6558.21,-1701.28,34.9667,237.046,-53.8086],[6483.21,-1600.13,34.4333,235.098,-53.0522],[6407.5,-1500.82,33.9,233.155,-52.2759],[6328.66,-1400.35,33.35,231.159,-51.4538],[6249.07,-1301.9,32.8,229.174,-50.6094],[6166.26,-1202.59,32.2333,227.143,-49.7154],[6080.17,-1102.64,31.65,225.069,-48.7689],[5990.72,-1002.3,31.05,222.96,-47.7671],[5897.84,-901.802,30.4333,220.821,-46.7068],[5801.44,-801.405,29.8,218.66,-45.5847],[5701.45,-701.377,29.15,216.485,-44.3975],[5597.78,-601.998,28.4833,214.306,-43.1416],[5487.71,-501.202,27.7833,212.083,-41.7805],[5373.73,-401.832,27.0667,209.884,-40.3413],[5253.05,-302.045,26.3167,207.677,-38.7852],[5122.75,-200.418,25.5167,205.441,-37.0684],[4988.04,-101.874,24.7,203.299,-35.2555],[4840.42,-1.29431,23.8167,201.162,-33.2264],[4679.42,99.7978,22.8667,199.094,-30.9665],[4504.54,199.723,21.85,197.175,-28.4622],[4309.38,299.463,20.7333,195.457,-25.615],[4084.06,399.679,19.4667,194.054,-22.2745],[3814.81,499.223,17.9833,193.229,-18.2355],[3454.96,599.436,16.05,193.626,-12.822],[2573.14,698.193,11.5333,201.966,-0.0368275]]], - [28,743.638,[[6796.77,-2000.92,37.0667,242.791,-56.4561],[6729.39,-1900.48,36.5667,240.937,-55.8088],[6661.39,-1801.58,36.0667,239.079,-55.1453],[6590.48,-1701.03,35.55,237.16,-54.4424],[6518.9,-1602.17,35.0333,235.241,-53.7214],[6444.32,-1501.92,34.5,233.263,-52.9575],[6366.67,-1400.47,33.95,231.229,-52.1484],[6288.27,-1301.03,33.4,229.204,-51.3169],[6206.7,-1200.69,32.8333,227.128,-50.4364],[6124.34,-1102.53,32.2667,225.068,-49.5308],[6036.25,-1001.01,31.6667,222.906,-48.5441],[5947.27,-902.001,31.0667,220.768,-47.5278],[5852.38,-800.259,30.4333,218.543,-46.4223],[5756.48,-701.399,29.8,216.356,-45.2824],[5654.45,-600.492,29.1333,214.101,-44.0445],[5548.72,-500.472,28.45,211.846,-42.7343],[5439.2,-401.644,27.75,209.604,-41.348],[5323.15,-302.107,27.0167,207.339,-39.8472],[5197.7,-200.37,26.2333,205.026,-38.1885],[5068,-101.432,25.4333,202.791,-36.435],[4928.43,-1.89062,24.5833,200.573,-34.5062],[4775.88,98.9135,23.6667,198.384,-32.3511],[4609.89,199.376,22.6833,196.297,-29.9547],[4427.05,299.222,21.6167,194.371,-27.2606],[4217.9,399.986,20.4167,192.673,-24.1204],[3975.19,499.551,19.05,191.41,-20.4192],[3669.55,599.463,17.3667,190.947,-15.7142],[3204.83,699.813,14.8833,192.727,-8.59825],[2620.38,743.637,11.8833,199.229,-0.00942054]]], - [29,789.934,[[6820.03,-2000.22,37.6333,242.967,-57.0396],[6755.86,-1902.37,37.15,241.15,-56.4241],[6688.88,-1802.66,36.65,239.267,-55.7717],[6619.03,-1701.26,36.1333,237.319,-55.0803],[6548.53,-1601.54,35.6167,235.369,-54.3709],[6475.07,-1500.39,35.0833,233.358,-53.6192],[6400.91,-1401.09,34.55,231.351,-52.8472],[6323.7,-1300.64,34,229.286,-52.0292],[6245.75,-1202.21,33.45,227.23,-51.1883],[6162.27,-1100.04,32.8667,225.062,-50.2708],[6077.95,-1000.21,32.2833,222.911,-49.3262],[5992.79,-902.748,31.7,220.78,-48.3537],[5901.87,-802.32,31.0833,218.553,-47.2946],[5807.51,-702.006,30.45,216.299,-46.1728],[5709.64,-602.076,29.8,214.027,-44.9847],[5605.64,-500.371,29.1167,211.689,-43.6945],[5500.49,-402.15,28.4333,209.412,-42.3614],[5386.37,-300.673,27.7,207.045,-40.882],[5268.29,-201.162,26.95,204.716,-39.3162],[5143.49,-101.909,26.1667,202.397,-37.6231],[5009.06,-1.65205,25.3333,200.07,-35.7571],[4864.71,98.5277,24.45,197.783,-33.7064],[4707.3,199.159,23.5,195.552,-31.4186],[4536.38,298.555,22.4833,193.458,-28.8787],[4342.82,399.073,21.35,191.522,-25.9414],[4119.76,499.564,20.0667,189.894,-22.4924],[3850.77,599.702,18.55,188.831,-18.2728],[3490.1,699.486,16.5667,189.012,-12.5839],[2668.53,789.931,12.25,196.426,-0.0422795]]], - [30,837.026,[[6839.6,-2000.04,38.2,243.183,-57.6268],[6776.4,-1901.45,37.7167,241.343,-57.0216],[6710.42,-1800.97,37.2167,239.434,-56.3799],[6643.84,-1702.03,36.7167,237.522,-55.722],[6574.42,-1601.43,36.2,235.543,-55.0245],[6504.34,-1502.54,35.6833,233.564,-54.3086],[6431.34,-1402.26,35.15,231.522,-53.5498],[6355.33,-1300.8,34.6,229.42,-52.7456],[6278.59,-1201.34,34.05,227.324,-51.9186],[6198.76,-1101,33.4833,225.175,-51.0421],[6118.16,-1002.84,32.9167,223.038,-50.1401],[6031.96,-901.336,32.3167,220.793,-49.1563],[5944.9,-802.351,31.7167,218.57,-48.1424],[5852.06,-700.645,31.0833,216.253,-47.0384],[5758.25,-601.831,30.45,213.971,-45.899],[5658.45,-500.986,29.7833,211.613,-44.6602],[5555.05,-401.043,29.1,209.251,-43.3477],[5445.39,-300.003,28.3833,206.841,-41.9237],[5331.9,-200.675,27.65,204.457,-40.4154],[5211.86,-101.29,26.8833,202.064,-38.7823],[5082.44,-0.511673,26.0667,199.643,-36.9789],[4946.02,98.7197,25.2167,197.279,-35.0319],[4796.94,199.162,24.3,194.93,-32.8528],[4634.77,299.205,23.3167,192.669,-30.4252],[4456.2,398.559,22.25,190.555,-27.6907],[4251.98,498.726,21.05,188.646,-24.4964],[4009.27,599.759,19.65,187.119,-20.6292],[3705,699.877,17.9333,186.399,-15.7204],[3232.96,799.828,15.35,188.005,-8.12754],[2710.95,837.024,12.6,193.657,-0.0412445]]], - [31,884.856,[[6855.45,-2000.48,38.7667,243.439,-58.2174],[6793.21,-1901.14,38.2833,241.577,-57.6226],[6730.42,-1803.22,37.8,239.709,-57.0131],[6662.68,-1700.13,37.2833,237.706,-56.345],[6596.53,-1601.96,36.7833,235.764,-55.6816],[6527.54,-1502.17,36.2667,233.755,-54.9781],[6455.67,-1400.96,35.7333,231.68,-54.2322],[6383.12,-1301.61,35.2,229.607,-53.4657],[6307.59,-1201.11,34.65,227.473,-52.6529],[6231.35,-1102.63,34.1,225.346,-51.817],[6149.69,-1000.43,33.5167,223.1,-50.9041],[6067.23,-900.575,32.9333,220.868,-49.9636],[5981.57,-800.339,32.3333,218.592,-48.9663],[5895.05,-702.649,31.7333,216.338,-47.9381],[5802.79,-602.334,31.1,213.99,-46.8181],[5707.12,-502.414,30.45,211.618,-45.6306],[5605.46,-400.733,29.7667,209.173,-44.3398],[5500.17,-300.197,29.0667,206.728,-42.9713],[5391.17,-201.126,28.35,204.296,-41.5208],[5275.8,-101.687,27.6,201.84,-39.9482],[5151.27,-0.47046,26.8,199.333,-38.2084],[5019.94,99.5559,25.9667,196.862,-36.3272],[4878.94,199.466,25.0833,194.419,-34.2563],[4725.23,299.779,24.1333,192.018,-31.9417],[4558.36,398.802,23.1167,189.74,-29.3668],[4369.45,498.865,21.9833,187.599,-26.3828],[4148.97,599.997,20.6833,185.721,-22.8242],[3886.6,699.183,19.1667,184.402,-18.5145],[3526,799.64,17.1333,184.29,-12.5402],[2747.76,884.856,12.9333,190.918,-0.00485475]]], - [32,933.366,[[6867.51,-2001.6,39.3333,243.735,-58.811],[6806.24,-1901.5,38.85,241.852,-58.2268],[6744.43,-1802.81,38.3667,239.961,-57.6281],[6679.91,-1702.22,37.8667,237.999,-56.9932],[6614.8,-1603.18,37.3667,236.031,-56.3418],[6546.91,-1502.49,36.85,233.993,-55.6509],[6476.17,-1400.34,36.3167,231.887,-54.9182],[6404.77,-1300.03,35.7833,229.78,-54.1651],[6332.7,-1201.58,35.25,227.675,-53.3909],[6257.68,-1102.05,34.7,225.509,-52.5697],[6179.65,-1001.63,34.1333,223.284,-51.6987],[6098.54,-900.547,33.55,221.005,-50.7748],[6016.63,-801.83,32.9667,218.741,-49.8225],[5929.17,-700.075,32.35,216.368,-48.784],[5840.82,-601.034,31.7333,214.02,-47.7117],[5749.16,-502.182,31.1,211.641,-46.5744],[5651.66,-401.308,30.4333,209.178,-45.3366],[5550.66,-301.348,29.75,206.705,-44.0237],[5443.55,-200.302,29.0333,204.177,-42.5974],[5332.72,-100.984,28.3,201.667,-41.0845],[5215.51,-1.62613,27.5333,199.141,-39.4441],[5089.17,99.1048,26.7167,196.573,-37.6299],[4956.02,198.267,25.8667,194.054,-35.6678],[4810.54,298.61,24.95,191.535,-33.4677],[4652.33,398.521,23.9667,189.088,-31.0117],[4475.42,499.171,22.8833,186.737,-28.1949],[4276.27,598.93,21.6833,184.606,-24.9465],[4039.66,699.436,20.2833,182.824,-21.0034],[3740.28,799.668,18.55,181.798,-15.9347],[3268.51,899.723,15.9,183.083,-7.94254],[2785.31,933.365,13.2833,188.116,-0.0311234]]], - [33,982.502,[[6875.79,-2003.5,39.9,244.072,-59.4074],[6815.5,-1902.62,39.4167,242.169,-58.834],[6754.66,-1803.14,38.9333,240.257,-58.2464],[6691.17,-1701.74,38.4333,238.271,-57.623],[6627.09,-1601.87,37.9333,236.278,-56.9833],[6560.27,-1500.32,37.4167,234.212,-56.3047],[6492.84,-1400.46,36.9,232.143,-55.6077],[6424.8,-1302.32,36.3833,230.071,-54.8917],[6353.91,-1202.85,35.85,227.932,-54.132],[6280.12,-1102.23,35.3,225.728,-53.3259],[6203.36,-1000.69,34.7333,223.462,-52.4707],[6125.86,-901.335,34.1667,221.204,-51.5895],[6045.31,-801.372,33.5833,218.891,-50.6546],[5961.65,-701.036,32.9833,216.528,-49.6624],[5874.79,-600.576,32.3667,214.121,-48.6096],[5784.68,-500.251,31.7333,211.678,-47.4922],[5691.24,-400.332,31.0833,209.205,-46.3062],[5594.39,-301.103,30.4167,206.712,-45.0476],[5491.62,-200.507,29.7167,204.151,-43.6788],[5385.23,-101.386,29,201.597,-42.2259],[5272.64,-1.91108,28.25,199.009,-40.6486],[5151.13,99.3268,27.45,196.359,-38.9009],[5023.02,199.357,26.6167,193.734,-37.0078],[4885.49,299.25,25.7333,191.125,-34.9199],[4735.6,399.52,24.7833,188.542,-32.5817],[4572.93,498.471,23.7667,186.067,-29.9748],[4386.09,599.808,22.6167,183.673,-26.9009],[4174.03,699.379,21.3333,181.572,-23.325],[3915.69,799.285,19.8,179.95,-18.8772],[3561.76,899.674,17.75,179.485,-12.7067],[2817.27,982.5,13.6167,185.343,-0.0217897]]], - [34,1032.21,[[6878.17,-2002.71,40.45,244.382,-59.9872],[6818.84,-1901.09,39.9667,242.46,-59.4243],[6758.97,-1800.87,39.4833,240.528,-58.8474],[6698.57,-1702.07,39,238.586,-58.2559],[6635.54,-1601.37,38.5,236.569,-57.6282],[6571.93,-1502.22,38,234.545,-56.9839],[6505.61,-1401.43,37.4833,232.448,-56.3002],[6438.68,-1302.34,36.9667,230.347,-55.5977],[6368.95,-1201.88,36.4333,228.175,-54.8521],[6296.37,-1100.23,35.8833,225.935,-54.0608],[6223.11,-1000.61,35.3333,223.697,-53.2461],[6146.9,-900.102,34.7667,221.397,-52.3813],[6069.97,-801.802,34.2,219.105,-51.49],[5987.72,-700.156,33.6,216.691,-50.5163],[5904.65,-601.052,33,214.294,-49.5109],[5818.43,-501.88,32.3833,211.853,-48.4435],[5726.62,-400.338,31.7333,209.31,-47.2799],[5633.85,-301.907,31.0833,206.805,-46.0754],[5535.31,-201.833,30.4,204.219,-44.764],[5430.83,-100.682,29.6833,201.568,-43.3375],[5322.73,-1.2678,28.95,198.93,-41.8223],[5208.43,98.1756,28.1833,196.266,-40.1768],[5085.24,198.981,27.3667,193.547,-38.3539],[4955.44,298.201,26.5167,190.867,-36.3788],[4813.66,398.586,25.6,188.17,-34.1597],[4659.49,498.516,24.6167,185.53,-31.6772],[4487.16,599.159,23.5333,182.962,-28.823],[4293.23,698.875,22.3333,180.591,-25.5225],[4062.91,799.286,20.9333,178.53,-21.5045],[3771.64,899.342,19.2,177.167,-16.3222],[3307.14,999.854,16.5167,178.009,-8.01526],[2846.78,1032.2,13.95,182.552,-0.0264928]]], - [35,1082.42,[[6876.74,-2002.78,41,244.732,-60.5699],[6818.36,-1900.42,40.5167,242.792,-60.0177],[6761.51,-1802.91,40.05,240.907,-59.4714],[6702.11,-1703.29,39.5667,238.945,-58.8914],[6640.11,-1601.74,39.0667,236.906,-58.2759],[6577.56,-1501.74,38.5667,234.858,-57.644],[6512.33,-1400.05,38.05,232.734,-56.9733],[6446.5,-1300.06,37.5333,230.604,-56.284],[6380.08,-1201.79,37.0167,228.469,-55.5754],[6310.88,-1102.19,36.4833,226.264,-54.8231],[6238.86,-1001.45,35.9333,223.99,-54.0245],[6166.16,-902.74,35.3833,221.718,-53.2018],[6088.32,-800.308,34.8,219.313,-52.3021],[6009.72,-700.231,34.2167,216.919,-51.3735],[5930.37,-602.543,33.6333,214.537,-50.4151],[5845.65,-501.907,33.0167,212.037,-49.3685],[5757.77,-401.409,32.3833,209.495,-48.2566],[5666.65,-301.322,31.7333,206.918,-47.0752],[5572.23,-201.929,31.0667,204.316,-45.8199],[5472.03,-101.173,30.3667,201.635,-44.4529],[5368.33,-1.90041,29.65,198.956,-43],[5256.14,99.8842,28.8833,196.174,-41.3844],[5140.19,199.099,28.1,193.434,-39.6669],[5015.36,299.258,27.2667,190.651,-37.7643],[4881.39,399.269,26.3833,187.869,-35.6618],[4735.42,499.644,25.4333,185.097,-33.3021],[4577.04,598.682,24.4167,182.416,-30.6649],[4397.84,698.698,23.2833,179.821,-27.5933],[4188.84,799.696,21.9833,177.422,-23.9094],[3937.6,899.6,20.45,175.49,-19.3698],[3593.59,999.914,18.4,174.627,-13.0482],[2873.81,1082.42,14.2833,179.745,-0.0459066]]], - [36,1133.09,[[6869.46,-2000.24,41.5333,245.053,-61.1367],[6814.03,-1900.7,41.0667,243.163,-60.6139],[6758.11,-1802.45,40.6,241.261,-60.0782],[6699.7,-1702.06,40.1167,239.279,-59.5095],[6640.77,-1603.09,39.6333,237.287,-58.9262],[6579.27,-1502.22,39.1333,235.216,-58.3069],[6517.21,-1402.9,38.6333,233.136,-57.6709],[6452.51,-1301.94,38.1167,230.979,-56.9956],[6387.22,-1202.69,37.6,228.816,-56.3013],[6319.21,-1102.07,37.0667,226.579,-55.5641],[6248.42,-1000.26,36.5167,224.269,-54.7811],[6176.96,-900.474,35.9667,221.96,-53.9743],[6104.84,-802.743,35.4167,219.653,-53.1429],[6027.62,-701.364,34.8333,217.212,-52.2333],[5949.66,-602.359,34.25,214.781,-51.2941],[5866.43,-500.317,33.6333,212.226,-50.2679],[5782.37,-401.005,33.0167,209.691,-49.2063],[5695.18,-301.893,32.3833,207.114,-48.0779],[5602.46,-200.765,31.7167,204.435,-46.8472],[5506.42,-100.567,31.0333,201.735,-45.5384],[5407,-1.60758,30.3333,199.024,-44.1466],[5301.7,98.009,29.6,196.254,-42.6314],[5187.95,199.766,28.8167,193.387,-40.9469],[5070.43,298.653,28.0167,190.573,-39.1544],[4941.57,399.951,27.15,187.672,-37.1291],[4806.06,498.629,26.25,184.845,-34.9333],[4656.04,598.734,25.2667,182.003,-32.4264],[4488.38,699.542,24.1833,179.21,-29.5365],[4299.77,799.41,22.9833,176.586,-26.1852],[4075.87,899.957,21.5833,174.231,-22.0919],[3795.61,999.294,19.8667,172.523,-16.8448],[3347.58,1099.89,17.2,172.816,-8.36851],[2895.38,1133.09,14.6,176.961,-0.027923]]], - [37,1184.16,[[6860.28,-2002.26,42.0833,245.48,-61.7248],[6805.79,-1901.98,41.6167,243.574,-61.2126],[6750.82,-1802.98,41.15,241.655,-60.6877],[6693.4,-1701.81,40.6667,239.655,-60.1304],[6635.47,-1602.05,40.1833,237.643,-59.5587],[6575,-1500.35,39.6833,235.549,-58.9517],[6514,-1400.2,39.1833,233.446,-58.3282],[6452.45,-1301.63,38.6833,231.334,-57.6876],[6388.28,-1201.44,38.1667,229.143,-57.0073],[6323.53,-1102.98,37.65,226.947,-56.3075],[6253.97,-1000.09,37.1,224.604,-55.5406],[6185.9,-902.245,36.5667,222.33,-54.7744],[6112.89,-800.385,36,219.913,-53.9352],[6039.19,-700.721,35.4333,217.5,-53.0692],[5962.6,-600.455,34.85,215.022,-52.1488],[5885.28,-502.584,34.2667,212.555,-51.198],[5802.75,-401.761,33.65,209.962,-50.1586],[5717.14,-301.08,33.0167,207.321,-49.0533],[5628.38,-200.814,32.3667,204.639,-47.8775],[5536.42,-101.247,31.7,201.926,-46.6267],[5438.84,-0.319153,31,199.125,-45.2627],[5337.87,99.1174,30.2833,196.319,-43.811],[5231.04,198.897,29.5333,193.459,-42.23],[5118.2,298.366,28.75,190.57,-40.5097],[4996.74,398.782,27.9167,187.623,-38.6004],[4866.42,499.047,27.0333,184.663,-36.486],[4724.46,599.676,26.0833,181.694,-34.1074],[4570.46,698.962,25.0667,178.798,-31.4424],[4396.27,799.228,23.9333,175.96,-28.3294],[4195.82,899.276,22.65,173.311,-24.6329],[3951.84,999.664,21.1167,171.04,-20.0026],[3620.75,1099.9,19.0833,169.74,-13.5801],[2914.51,1184.16,14.9167,174.158,-0.0243845]]], - [38,1235.57,[[6845.27,-2001.77,42.6167,245.877,-62.2972],[6791.71,-1900.79,42.15,243.956,-61.7953],[6737.68,-1801.07,41.6833,242.021,-61.281],[6683.18,-1702.65,41.2167,240.073,-60.7539],[6626.25,-1602.08,40.7333,238.042,-60.194],[6568.82,-1502.94,40.25,235.998,-59.6194],[6508.88,-1401.89,39.75,233.873,-59.0091],[6448.42,-1302.4,39.25,231.737,-58.382],[6385.37,-1201.27,38.7333,229.521,-57.7159],[6321.76,-1101.85,38.2167,227.296,-57.0305],[6255.49,-1001.05,37.6833,224.993,-56.3023],[6188.63,-902.132,37.15,222.686,-55.5522],[6119.03,-802.12,36.6,220.304,-54.755],[6046.66,-701.23,36.0333,217.851,-53.9075],[5973.61,-602.556,35.4667,215.4,-53.0325],[5895.52,-500.526,34.8667,212.813,-52.0751],[5816.67,-401.052,34.2667,210.238,-51.0846],[5734.84,-301.516,33.65,207.607,-50.031],[5649.97,-202.18,33.0167,204.928,-48.9098],[5559.73,-100.827,32.35,202.14,-47.6854],[5466.26,-0.406573,31.6667,199.322,-46.3817],[5369.51,98.7702,30.9667,196.488,-44.9933],[5267.07,198.603,30.2333,193.584,-43.4795],[5158.79,298.457,29.4667,190.634,-41.8303],[5042.12,399.67,28.65,187.601,-39.9966],[4919.23,499.281,27.8,184.585,-38.0019],[4787.52,598.28,26.9,181.571,-35.7927],[4641.73,698.715,25.9167,178.519,-33.2642],[4478.86,799.863,24.8333,175.49,-30.3413],[4298.25,898.773,23.65,172.638,-26.9891],[4080.93,999.897,22.25,169.965,-22.8232],[3809.04,1099.9,20.5333,167.872,-17.4604],[3385.79,1199.73,17.9333,167.559,-8.97289],[2931.17,1235.57,15.2333,171.337,-0.0360954]]], - [39,1287.27,[[6826.34,-2002.41,43.15,246.312,-62.8723],[6773.71,-1900.71,42.6833,244.377,-62.3809],[6720.62,-1800.28,42.2167,242.426,-61.8772],[6667.07,-1701.12,41.75,240.462,-61.3609],[6613.07,-1603.26,41.2833,238.484,-60.8317],[6556.65,-1503.3,40.8,236.421,-60.2693],[6497.77,-1401.39,40.3,234.275,-59.6719],[6438.37,-1301.04,39.8,232.117,-59.0579],[6378.44,-1202.26,39.3,229.948,-58.4269],[6315.97,-1101.87,38.7833,227.697,-57.7563],[6250.89,-1000.06,38.25,225.364,-57.0435],[6185.21,-900.115,37.7167,223.026,-56.3092],[6118.95,-802.069,37.1833,220.682,-55.5524],[6047.88,-700.004,36.6167,218.19,-54.723],[5976.15,-600.141,36.05,215.699,-53.8664],[5903.75,-502.513,35.4833,213.211,-52.9816],[5826.37,-401.612,34.8833,210.585,-52.013],[5746.06,-300.593,34.2667,207.898,-50.982],[5664.97,-202.335,33.65,205.229,-49.9138],[5578.64,-101.798,33,202.441,-48.7461],[5489.21,-1.96202,32.3333,199.614,-47.5022],[5394.32,99.2393,31.6333,196.691,-46.144],[5296.15,198.945,30.9167,193.754,-44.6961],[5192.3,298.995,30.1667,190.754,-43.1168],[5082.62,398.734,29.3833,187.713,-41.3952],[4964.59,499.421,28.55,184.6,-39.4806],[4837.97,599.958,27.6667,181.459,-37.3558],[4702.5,699.153,26.7333,178.343,-35.0026],[4552.98,798.852,25.7167,175.224,-32.3127],[4383.9,899.554,24.5833,172.131,-29.1608],[4191.95,998.852,23.3167,169.225,-25.4549],[3955.38,1099.98,21.7833,166.597,-20.7339],[3639.85,1199.81,19.7833,164.849,-14.2635],[2942.51,1287.27,15.5333,168.535,-0.00828763]]], - [40,1339.2,[[6801.63,-2000.59,43.6667,246.715,-63.4326],[6751.77,-1901.84,43.2167,244.837,-62.9687],[6699.63,-1800.68,42.75,242.872,-62.4759],[6647.04,-1700.78,42.2833,240.892,-61.9706],[6593.99,-1602.18,41.8167,238.898,-61.4526],[6538.58,-1501.43,41.3333,236.817,-60.9021],[6482.68,-1402.1,40.85,234.723,-60.337],[6424.35,-1300.87,40.35,232.543,-59.7363],[6365.5,-1201.21,39.85,230.351,-59.1189],[6306.14,-1103.13,39.35,228.149,-58.4841],[6242.25,-1000.29,38.8167,225.789,-57.787],[6179.8,-902.438,38.3,223.494,-57.0914],[6112.71,-800.218,37.75,221.045,-56.3283],[6045,-700.031,37.2,218.59,-55.5407],[5976.68,-601.907,36.65,216.134,-54.7279],[5903.54,-500.123,36.0667,213.53,-53.8372],[5829.7,-400.726,35.4833,210.93,-52.9159],[5753.03,-301.016,34.8833,208.264,-51.935],[5673.47,-201.244,34.2667,205.537,-50.8904],[5590.96,-101.674,33.6333,202.756,-49.7777],[5503.24,-0.0827947,32.9667,199.856,-48.561],[5414.63,98.1592,32.3,196.992,-47.296],[5318.38,199.979,31.5833,193.962,-45.8803],[5221.11,297.813,30.8667,190.991,-44.4045],[5115.94,397.996,30.1,187.893,-42.7572],[5002.63,499.546,29.2833,184.697,-40.922],[4883.31,599.492,28.4333,181.507,-38.9214],[4755.45,698.83,27.5333,178.302,-36.7005],[4613.96,799.614,26.55,175.036,-34.1518],[4458.38,899.639,25.4833,171.815,-31.2433],[4283.23,999.089,24.3,168.689,-27.8452],[4075.1,1099.71,22.9167,165.721,-23.6575],[3814.31,1199.82,21.2167,163.238,-18.232],[3415.38,1299.64,18.6833,162.296,-9.73857],[2954.19,1339.2,15.85,165.678,-0.0520289]]], - [41,1391.3,[[6772.98,-2000,44.1833,247.155,-63.9958],[6724.02,-1900.59,43.7333,245.264,-63.5418],[6674.65,-1802.35,43.2833,243.357,-63.0769],[6623.01,-1701.7,42.8167,241.363,-62.5828],[6570.94,-1602.34,42.35,239.353,-62.0762],[6516.53,-1500.8,41.8667,237.255,-61.5377],[6461.65,-1400.67,41.3833,235.143,-60.9849],[6406.29,-1301.98,40.9,233.016,-60.4171],[6348.53,-1201.41,40.4,230.803,-59.8134],[6290.26,-1102.43,39.9,228.577,-59.1927],[6229.51,-1001.83,39.3833,226.265,-58.5325],[6168.23,-902.959,38.8667,223.943,-57.8528],[6104.4,-802.746,38.3333,221.538,-57.1297],[6037.97,-701.392,37.7833,219.05,-56.3604],[5970.93,-602.089,37.2333,216.558,-55.5662],[5901.23,-501.952,36.6667,213.987,-54.7208],[5828.81,-401.209,36.0833,211.343,-53.8207],[5753.6,-300.099,35.4833,208.627,-52.8621],[5677.68,-201.572,34.8833,205.921,-51.8689],[5596.77,-100.415,34.25,203.079,-50.7815],[5515.06,-2.21908,33.6167,200.258,-49.6523],[5428.2,97.8986,32.95,197.318,-48.4169],[5336.06,199.387,32.25,194.27,-47.066],[5240.74,299.376,31.5333,191.202,-45.6236],[5139.91,399.711,30.7833,188.06,-44.0477],[5033.45,499.734,30,184.866,-42.3265],[4921.21,598.746,29.1833,181.648,-40.4477],[4798.38,699.693,28.3,178.319,-38.3161],[4666.99,799.305,27.3667,175,-35.9492],[4522,899.438,26.35,171.652,-33.2359],[4360.53,999.193,25.2333,168.347,-30.0941],[4174.57,1099.16,23.9667,165.139,-26.3323],[3950.5,1199.08,22.4667,162.2,-21.626],[3647.83,1299.8,20.4833,159.966,-15.0561],[2960.6,1391.3,16.15,162.836,-0.0560702]]], - [42,1443.53,[[6740.41,-2000.74,44.7,247.632,-64.5614],[6692.35,-1900.66,44.25,245.729,-64.1175],[6643.88,-1801.73,43.8,243.81,-63.6628],[6593.19,-1700.37,43.3333,241.802,-63.1796],[6542.07,-1600.29,42.8667,239.778,-62.684],[6490.51,-1501.5,42.4,237.737,-62.1757],[6436.65,-1400.56,41.9167,235.607,-61.6353],[6382.33,-1301.04,41.4333,233.462,-61.0802],[6327.53,-1202.98,40.95,231.303,-60.5099],[6270.36,-1103.07,40.45,229.055,-59.9034],[6210.76,-1001.51,39.9333,226.719,-59.2584],[6150.62,-901.667,39.4167,224.371,-58.594],[6087.99,-800.441,38.8833,221.937,-57.8871],[6024.8,-701.104,38.35,219.493,-57.158],[5959.04,-600.671,37.8,216.967,-56.382],[5892.68,-502.305,37.25,214.435,-55.5804],[5821.65,-400.269,36.6667,211.748,-54.7012],[5749.95,-300.626,36.0833,209.063,-53.7909],[5675.51,-200.669,35.4833,206.306,-52.8209],[5598.26,-100.65,34.8667,203.483,-51.7868],[5518.17,-0.833946,34.2333,200.599,-50.684],[5435.16,98.503,33.5833,197.662,-49.5073],[5347.01,199.492,32.9,194.607,-48.2194],[5255.79,299.233,32.2,191.52,-46.8439],[5159.23,399.634,31.4667,188.343,-45.3393],[5059.42,497.926,30.7167,185.166,-43.7308],[4949.53,599.829,29.9,181.806,-41.8961],[4836.13,698.219,29.0667,178.503,-39.9318],[4709.89,799.824,28.15,175.039,-37.6608],[4575.1,899.333,27.1833,171.613,-35.1382],[4424.39,999.89,26.1167,168.144,-32.2017],[4254.78,1099.91,24.9333,164.739,-28.7586],[4058.19,1198.92,23.5833,161.512,-24.6029],[3808.47,1299.41,21.9,158.625,-19.117],[3433.3,1399.52,19.4333,157.05,-10.6229],[2961.87,1443.53,16.4333,160.008,-0.0183268]]], - [43,1495.81,[[6703.8,-2002.89,45.2167,248.145,-65.1294],[6656.64,-1902.12,44.7667,246.232,-64.6957],[6609.09,-1802.5,44.3167,244.302,-64.2514],[6559.36,-1700.42,43.85,242.281,-63.7792],[6510.99,-1603.18,43.4,240.316,-63.3123],[6458.61,-1500.07,42.9167,238.187,-62.7979],[6407.59,-1401.84,42.45,236.115,-62.2881],[6354.3,-1301.5,41.9667,233.953,-61.7459],[6300.55,-1202.59,41.4833,231.775,-61.1888],[6244.46,-1101.81,40.9833,229.506,-60.5962],[6187.88,-1002.6,40.4833,227.224,-59.9865],[6128.91,-901.781,39.9667,224.851,-59.3377],[6069.41,-802.695,39.45,222.467,-58.6693],[6007.45,-702.261,38.9167,219.994,-57.9577],[5942.97,-600.685,38.3667,217.435,-57.2001],[5877.9,-501.163,37.8167,214.868,-56.4174],[5810.25,-400.807,37.25,212.22,-55.5836],[5741.98,-302.694,36.6833,209.569,-54.7209],[5669.02,-201.292,36.0833,206.764,-53.7746],[5595.37,-102.48,35.4833,203.965,-52.7931],[5516.89,-1.02679,34.85,201.021,-51.7173],[5437.64,97.457,34.2167,198.095,-50.5988],[5353.41,197.87,33.55,195.039,-49.3735],[5264.06,299.659,32.85,191.867,-48.0316],[5171.64,399.947,32.1333,188.666,-46.5967],[5076.09,498.394,31.4,185.452,-45.0618],[4972.92,598.824,30.6167,182.1,-43.3448],[4864.18,698.247,29.8,178.713,-41.4665],[4745.19,799.624,28.9167,175.193,-39.3303],[4617.95,899.673,27.9833,171.666,-36.9519],[4479.89,998.685,26.9833,168.142,-34.2629],[4323.63,1099.08,25.8667,164.569,-31.0878],[4143.73,1199.75,24.6,161.054,-27.2705],[3929.49,1299.45,23.1167,157.78,-22.5272],[3644.49,1399.35,21.1833,155.102,-15.9684],[2963.35,1495.81,16.7333,157.127,-0.0558492]]], - [44,1548.11,[[6661.51,-2002.72,45.7167,248.624,-65.6838],[6615.25,-1901.31,45.2667,246.701,-65.26],[6568.6,-1801.03,44.8167,244.759,-64.8258],[6521.56,-1701.91,44.3667,242.799,-64.3809],[6472.36,-1600.35,43.9,240.748,-63.9079],[6422.75,-1500.07,43.4333,238.679,-63.4226],[6372.71,-1401.08,42.9667,236.592,-62.9246],[6322.26,-1303.41,42.5,234.489,-62.4135],[6267.73,-1200.24,42,232.217,-61.8507],[6214.56,-1101.98,41.5167,230.006,-61.2912],[6159.08,-1001.87,41.0167,227.702,-60.6959],[6101.25,-900.112,40.5,225.306,-60.0624],[6042.91,-800.076,39.9833,222.896,-59.4095],[5984.06,-701.793,39.4667,220.474,-58.7364],[5922.77,-602.203,38.9333,217.962,-58.0196],[5859,-501.513,38.3833,215.363,-57.2561],[5794.65,-402.895,37.8333,212.756,-56.4668],[5725.78,-300.597,37.25,209.987,-55.6004],[5656.27,-200.697,36.6667,207.216,-54.7026],[5584.1,-100.481,36.0667,204.367,-53.7448],[5509.22,-0.203297,35.45,201.447,-52.7226],[5431.59,99.8719,34.8167,198.459,-51.6312],[5351.13,199.467,34.1667,195.412,-50.4653],[5267.81,298.29,33.5,192.314,-49.2192],[5179.44,398.379,32.8,189.099,-47.8535],[5085.91,499.136,32.0667,185.782,-46.3572],[4987.09,599.922,31.3,182.384,-44.718],[4885.04,698.022,30.5167,179.001,-42.961],[4773.06,798.811,29.6667,175.45,-40.9568],[4653.1,899.008,28.7667,171.851,-38.7206],[4522.7,999.041,27.8,168.202,-36.1844],[4379.21,1098.65,26.75,164.536,-33.2696],[4215.24,1199.43,25.5667,160.838,-29.7855],[4025.27,1299.29,24.2167,157.273,-25.5612],[3786.48,1399.93,22.55,153.993,-20.0119],[3434.37,1499.86,20.15,151.827,-11.5177],[2959.74,1548.1,17.0167,154.258,-0.0513343]]], - [45,1600.35,[[6613.52,-2000.28,46.2,249.067,-66.2257],[6569.83,-1902,45.7667,247.206,-65.827],[6524.1,-1801.06,45.3167,245.255,-65.403],[6477.97,-1701.27,44.8667,243.284,-64.9685],[6431.47,-1602.63,44.4167,241.295,-64.5233],[6382.83,-1501.59,43.95,239.213,-64.0497],[6333.78,-1401.84,43.4833,237.112,-63.5637],[6284.32,-1303.39,43.0167,234.994,-63.0648],[6232.66,-1202.82,42.5333,232.782,-62.534],[6178.75,-1100.3,42.0333,230.475,-61.9693],[6126.18,-1002.68,41.55,228.229,-61.4076],[6071.34,-903.248,41.05,225.89,-60.8098],[6014.18,-802.194,40.5333,223.457,-60.1733],[5956.51,-702.882,40.0167,221.009,-59.5171],[5896.46,-602.218,39.4833,218.47,-58.8181],[5833.97,-500.409,38.9333,215.839,-58.0733],[5770.92,-400.659,38.3833,213.198,-57.3032],[5705.37,-300.072,37.8167,210.47,-56.4822],[5639.22,-201.735,37.25,207.738,-55.632],[5568.54,-100.101,36.65,204.843,-54.6984],[5497.19,-1.06332,36.05,201.951,-53.7291],[5423.18,97.9817,35.4333,198.985,-52.694],[5344.41,199.326,34.7833,195.873,-51.5583],[5262.84,299.964,34.1167,192.703,-50.3436],[5178.4,399.594,33.4333,189.483,-49.0438],[5091.02,497.901,32.7333,186.226,-47.6523],[4996.45,598.953,31.9833,182.792,-46.0909],[4896.62,699.701,31.2,179.283,-44.3787],[4791.41,799.442,30.3833,175.725,-42.5015],[4678.49,899.289,29.5167,172.084,-40.4026],[4555.46,999.798,28.5833,168.345,-38.0152],[4422,1099.28,27.5833,164.588,-35.3073],[4273.26,1198.76,26.4833,160.802,-32.1474],[4101.8,1298.91,25.2333,157.017,-28.3284],[3895,1399.66,23.75,153.36,-23.4966],[3624.85,1499.43,21.85,150.232,-16.893],[2991.48,1599.98,17.55,150.957,-0.993886],[2951.17,1600.35,17.2833,151.396,-0.00269305]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 41.6269; -_maxRange = 5518.17; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg5.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg5.sqf deleted file mode 100644 index 99878f6700..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg5.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg5 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[5613.43,-2002.09,21.7167,267.412,-40.0169],[5489.82,-1900.03,21.1167,266.913,-39.0435],[5364.71,-1800.28,20.5167,266.481,-38.0548],[5234.52,-1700.19,19.9,266.111,-37.0229],[5102.71,-1602.6,19.2833,265.82,-35.9755],[4961.98,-1502.47,18.6333,265.604,-34.8552],[4812.04,-1400.29,17.95,265.484,-33.66],[4660.03,-1301.31,17.2667,265.48,-32.4477],[4498.33,-1200.98,16.55,265.606,-31.1587],[4330.44,-1102.06,15.8167,265.883,-29.8225],[4148.35,-1000.64,15.0333,266.351,-28.3771],[3959.38,-901.648,14.2333,267.025,-26.8835],[3755.22,-801.638,13.3833,267.971,-25.2796],[3535.17,-701.64,12.4833,269.243,-23.565],[3294.27,-601.103,11.5167,270.939,-21.7085],[3027.13,-500.108,10.4667,273.191,-19.6794],[2732.19,-400.878,9.33333,276.129,-17.4812],[2389.65,-301.042,8.05,280.134,-14.9912],[1972.58,-200.638,6.53333,285.859,-12.0622],[1415.77,-100.406,4.58333,294.929,-8.34642],[48.6501,-0.0224493,0.133333,323.806,-0.25986],[5.41444,0.0972759,0,324.867,-0.0288262]]], - [1,1.67769,[[5732.02,-2001.96,22.2833,266.079,-40.3248],[5613,-1902.57,21.7,265.537,-39.3781],[5489.13,-1802.62,21.1,265.044,-38.3887],[5360.24,-1702.33,20.4833,264.61,-37.3558],[5226.2,-1601.93,19.85,264.245,-36.2783],[5086.86,-1501.68,19.2,263.96,-35.1554],[4942.04,-1401.83,18.5333,263.768,-33.9863],[4787.9,-1300.27,17.8333,263.683,-32.7406],[4631.58,-1202.11,17.1333,263.724,-31.477],[4461.65,-1100.78,16.3833,263.916,-30.1047],[4285.28,-1001.36,15.6167,264.278,-28.6833],[4094.42,-900.16,14.8,264.861,-27.1505],[3892.4,-800.054,13.95,265.696,-25.5368],[3678.77,-701.765,13.0667,266.824,-23.8428],[3440.57,-601.025,12.1,268.381,-21.9728],[3180.7,-501.364,11.0667,270.439,-19.9598],[2884.94,-400.394,9.91667,273.239,-17.7095],[2546.46,-300.352,8.63333,277.037,-15.1952],[2139.08,-200.734,7.13333,282.44,-12.2672],[1594.29,-100.705,5.2,291.059,-8.53882],[373.686,-0.084019,1.15,315.922,-1.04651],[188.167,1.6762,0.566667,320.346,-0.0160111]]], - [2,6.4426,[[5851.32,-2002.87,22.8667,264.794,-40.6722],[5730.12,-1900.44,22.2667,264.178,-39.6983],[5607.44,-1800.32,21.6667,263.626,-38.7082],[5483.29,-1702.55,21.0667,263.142,-37.7023],[5350.62,-1601.92,20.4333,262.708,-36.6236],[5212.7,-1501.44,19.7833,262.352,-35.4989],[5069.39,-1401.35,19.1167,262.084,-34.3273],[4920.5,-1301.93,18.4333,261.92,-33.1082],[4762.18,-1201.16,17.7167,261.874,-31.8107],[4597.81,-1101.79,16.9833,261.968,-30.464],[4423.4,-1002.04,16.2167,262.229,-29.0369],[4234.67,-900.485,15.4,262.7,-27.4968],[4034.94,-800.022,14.55,263.415,-25.8743],[3823.76,-701.371,13.6667,264.414,-24.1698],[3588.33,-600.246,12.7,265.825,-22.2867],[3331.53,-500.185,11.6667,267.722,-20.2581],[3043.62,-400.177,10.5333,270.293,-18.0212],[2713.82,-300.716,9.26667,273.815,-15.5156],[2311.88,-200.155,7.76667,278.929,-12.5559],[1784.05,-100.387,5.86667,286.994,-8.84635],[726.503,-0.186717,2.28333,307.59,-2.0906],[368.254,6.44102,1.13333,315.854,-0.0171814]]], - [3,14.3033,[[5967.89,-2002.02,23.45,263.542,-41.0317],[5851.27,-1902.15,22.8667,262.885,-40.0856],[5729.89,-1801.71,22.2667,262.271,-39.0961],[5603.62,-1700.93,21.65,261.708,-38.062],[5472.31,-1600.04,21.0167,261.207,-36.9825],[5339.35,-1501.84,20.3833,260.788,-35.8854],[5197.59,-1401.4,19.7167,260.442,-34.7122],[5050.33,-1301.63,19.0333,260.195,-33.4907],[4893.73,-1200.49,18.3167,260.059,-32.1899],[4731.19,-1100.77,17.5833,260.059,-30.839],[4558.73,-1000.63,16.8167,260.218,-29.4065],[4375.97,-900.714,16.0167,260.568,-27.8914],[4182.49,-801.668,15.1833,261.144,-26.293],[3969.93,-700.564,14.2833,262.023,-24.5466],[3741.39,-600.563,13.3333,263.258,-22.6841],[3491.96,-501.326,12.3167,264.949,-20.6736],[3207.83,-400.368,11.1833,267.314,-18.4181],[2886.8,-301.085,9.93333,270.546,-15.9222],[2494.99,-200.089,8.45,275.29,-12.9637],[1988.98,-100.458,6.6,282.696,-9.3059],[1064.5,-0.120973,3.4,299.825,-3.15912],[540.397,14.3031,1.68333,311.515,-0.00256995]]], - [4,25.1699,[[6084.92,-2002.38,24.05,262.346,-41.4303],[5969.53,-1902.17,23.4667,261.631,-40.4855],[5849.44,-1801.39,22.8667,260.954,-39.4969],[5724.53,-1700.25,22.25,260.325,-38.4633],[5598.08,-1601.62,21.6333,259.768,-37.4123],[5463.13,-1500.42,20.9833,259.263,-36.2861],[5326.44,-1402.09,20.3333,258.848,-35.1412],[5180.85,-1301.86,19.65,258.516,-33.9183],[5026.05,-1200.23,18.9333,258.288,-32.6152],[4865.38,-1100.01,18.2,258.19,-31.2609],[4698.66,-1001.51,17.45,258.241,-29.8554],[4518.1,-900.962,16.65,258.473,-28.3348],[4326.99,-801.264,15.8167,258.922,-26.7296],[4120.97,-701.288,14.9333,259.643,-25.0068],[3895.36,-600.428,13.9833,260.718,-23.1332],[3649.18,-500.274,12.9667,262.231,-21.1089],[3377.15,-401.147,11.8667,264.319,-18.9024],[3060.66,-300.397,10.6167,267.297,-16.3836],[2687.74,-200.812,9.18333,271.557,-13.4944],[2203.53,-100.553,7.38333,278.287,-9.89005],[1393.13,-0.165202,4.51667,292.489,-4.28194],[709.842,25.1697,2.23333,307.201,-0.00171258]]], - [5,38.9533,[[6198.99,-2001.16,24.65,261.189,-41.8409],[6084.85,-1900.58,24.0667,260.415,-40.8977],[5969.38,-1802.19,23.4833,259.696,-39.938],[5845.86,-1700.6,22.8667,259,-38.9058],[5720.84,-1601.52,22.25,258.373,-37.8557],[5590.85,-1502.42,21.6167,257.806,-36.7589],[5452.28,-1401.04,20.95,257.299,-35.5847],[5308.36,-1300.3,20.2667,256.881,-34.3608],[5158.93,-1200.49,19.5667,256.567,-33.0864],[5003.82,-1101.9,18.85,256.371,-31.7609],[4835.48,-1000.52,18.0833,256.313,-30.3209],[4660.86,-901.356,17.3,256.423,-28.8275],[4472.17,-800.856,16.4667,256.742,-27.2163],[4268.77,-700.029,15.5833,257.32,-25.4856],[4053.97,-601.708,14.6667,258.197,-23.668],[3811.17,-500.31,13.65,259.52,-21.631],[3547.06,-401.281,12.5667,261.362,-19.4418],[3239.39,-300.099,11.3333,264.037,-16.935],[2880.8,-200.5,9.93333,267.87,-14.0839],[2422.45,-100.274,8.2,273.876,-10.5696],[1707.81,-0.0437348,5.61667,285.659,-5.4264],[876.506,38.952,2.78333,302.913,-0.0149183]]], - [6,55.5649,[[6313.27,-2001.35,25.2667,260.096,-42.2899],[6200.4,-1900.31,24.6833,259.263,-41.3491],[6086.24,-1801.47,24.1,258.482,-40.3916],[5967.44,-1702.12,23.5,257.738,-39.3893],[5843.88,-1602.48,22.8833,257.04,-38.341],[5712.02,-1500.22,22.2333,256.382,-37.2164],[5578.49,-1400.84,21.5833,255.808,-36.072],[5439.78,-1301.92,20.9167,255.314,-34.8783],[5292.19,-1201.4,20.2167,254.905,-33.6036],[5139,-1102.08,19.5,254.608,-32.2769],[4976.41,-1002.09,18.75,254.44,-30.8661],[4804.05,-902.04,17.9667,254.429,-29.3695],[4617.81,-800.587,17.1333,254.613,-27.7535],[4420.92,-700.615,16.2667,255.033,-26.049],[4209.05,-601.124,15.35,255.746,-24.2228],[3973.58,-500.04,14.35,256.859,-22.2076],[3717.3,-400.947,13.2833,258.456,-20.0373],[3422.52,-300.454,12.0833,260.791,-17.5783],[3078.15,-200.489,10.7167,264.194,-14.7677],[2645.21,-100.001,9.05,269.493,-11.3475],[2013.69,-0.208379,6.71667,279.219,-6.62353],[1035.33,55.5639,3.31667,298.765,-0.0111511]]], - [7,74.918,[[6424.39,-2000.13,25.8833,259.047,-42.7502],[6316.01,-1901.48,25.3167,258.179,-41.8394],[6203.18,-1802.09,24.7333,257.337,-40.8849],[6085.79,-1702.18,24.1333,256.526,-39.8853],[5963.69,-1601.96,23.5167,255.757,-38.8393],[5836.77,-1501.69,22.8833,255.04,-37.7456],[5704.88,-1401.62,22.2333,254.384,-36.603],[5567.87,-1301.99,21.5667,253.803,-35.4103],[5422.12,-1200.73,20.8667,253.299,-34.136],[5270.85,-1100.64,20.15,252.902,-32.8087],[5113.9,-1002.05,19.4167,252.63,-31.4279],[4943.79,-901.063,18.6333,252.498,-29.9289],[4763.71,-800.61,17.8167,252.545,-28.3414],[4573.26,-701.379,16.9667,252.809,-26.6645],[4364.37,-600.549,16.05,253.353,-24.8311],[4140.06,-501.287,15.0833,254.239,-22.8734],[3887.65,-400.332,14.0167,255.61,-20.6897],[3605.53,-300.415,12.85,257.616,-18.2809],[3279.31,-201.118,11.5333,260.557,-15.5481],[2871.29,-100.151,9.93333,265.167,-12.2267],[2306.39,-0.207381,7.8,273.231,-7.83896],[1191.35,74.9162,3.85,294.638,-0.0212186]]], - [8,96.9268,[[6535.42,-2000.54,26.5167,258.07,-43.2481],[6428.33,-1901.34,25.95,257.145,-42.341],[6316.84,-1801.38,25.3667,256.24,-41.39],[6200.84,-1700.87,24.7667,255.364,-40.3936],[6080.21,-1600.05,24.15,254.525,-39.3504],[5958.13,-1501.77,23.5333,253.753,-38.2881],[5827.88,-1400.97,22.8833,253.016,-37.1478],[5692.59,-1300.61,22.2167,252.349,-35.9568],[5552.11,-1200.96,21.5333,251.763,-34.714],[5406.3,-1102.29,20.8333,251.274,-33.4185],[5247.9,-1000.48,20.0833,250.883,-32.0061],[5083.63,-900.642,19.3167,250.634,-30.5376],[4909.64,-801.091,18.5167,250.547,-28.9801],[4721.86,-700.579,17.6667,250.662,-27.2993],[4519.69,-600.159,16.7667,251.03,-25.4932],[4302.51,-500.974,15.8167,251.711,-23.5609],[4061.76,-401.174,14.7833,252.817,-21.4341],[3788.16,-300.203,13.6333,254.524,-19.0435],[3475.58,-200.346,12.35,257.06,-16.3572],[3095.94,-100.187,10.8333,260.98,-13.1746],[2590.75,-0.661478,8.88333,267.602,-9.1047],[1339.65,96.9256,4.36667,290.641,-0.0132069]]], - [9,121.506,[[6646.2,-2002.72,27.1667,257.171,-43.783],[6540.42,-1902.88,26.6,256.187,-42.8806],[6430.31,-1802.25,26.0167,255.22,-41.934],[6315.75,-1701.06,25.4167,254.278,-40.9418],[6199.85,-1602.24,24.8167,253.391,-39.9309],[6076.06,-1500.55,24.1833,252.522,-38.8435],[5950.76,-1401.57,23.55,251.724,-37.7355],[5817.22,-1300.36,22.8833,250.969,-36.5474],[5681.97,-1202.24,22.2167,250.306,-35.3373],[5534.66,-1100.26,21.5,249.702,-34.0125],[5385.34,-1001.97,20.7833,249.22,-32.6638],[5223.34,-900.947,20.0167,248.847,-31.1955],[5051.79,-800.155,19.2167,248.626,-29.6369],[4870.31,-700.262,18.3833,248.591,-27.9863],[4674.81,-600.146,17.5,248.786,-26.2093],[4464.67,-500.923,16.5667,249.267,-24.3044],[4231.51,-400.644,15.55,250.135,-22.202],[3970.18,-300.053,14.4333,251.528,-19.8668],[3675.01,-200.812,13.2,253.64,-17.2653],[3318.9,-100.42,11.75,256.946,-14.1924],[2858.28,-0.158686,9.93333,262.44,-10.3497],[2073.67,99.8343,6.98333,274.883,-4.22205],[1485.13,121.504,4.88333,286.661,-0.0187983]]], - [10,148.572,[[6750.45,-2000.82,27.8,256.294,-44.3018],[6645.96,-1900.37,27.2333,255.254,-43.404],[6540.31,-1801.99,26.6667,254.255,-42.489],[6427.18,-1700.09,26.0667,253.246,-41.5015],[6312.74,-1600.56,25.4667,252.292,-40.4948],[6193.75,-1500.77,24.85,251.371,-39.4402],[6070.07,-1400.96,24.2167,250.494,-38.3363],[5941.59,-1301.38,23.5667,249.672,-37.1815],[5808.16,-1202.3,22.9,248.916,-35.9748],[5666.24,-1101.64,22.2,248.225,-34.6837],[5518.99,-1002.22,21.4833,247.632,-33.3372],[5362.75,-902.152,20.7333,247.146,-31.9023],[5197.21,-802.062,19.95,246.795,-30.3768],[5018.42,-700.618,19.1167,246.608,-28.7254],[4829.49,-600.709,18.25,246.632,-26.9793],[4626.31,-501.345,17.3333,246.916,-25.1037],[4400.65,-400.47,16.3333,247.549,-23.0281],[4151.35,-300.21,15.25,248.642,-20.751],[3869.19,-200.321,14.05,250.379,-18.2027],[3535.85,-100.058,12.6667,253.119,-15.2449],[3118.08,-0.109434,10.9833,257.597,-11.6409],[2493.68,99.6218,8.56667,266.417,-6.51889],[1623.01,148.571,5.38333,282.801,-0.00517259]]], - [11,178.041,[[6854.24,-2000.89,28.45,255.499,-44.8566],[6754.11,-1902.7,27.9,254.434,-43.9909],[6646.74,-1800.68,27.3167,253.344,-43.0547],[6538.17,-1700.87,26.7333,252.3,-42.0999],[6425.22,-1600.53,26.1333,251.276,-41.0986],[6310.97,-1502.6,25.5333,250.308,-40.0776],[6188.96,-1401.86,24.9,249.351,-38.9789],[6062.21,-1301.32,24.25,248.443,-37.8288],[5930.58,-1201.25,23.5833,247.596,-36.6261],[5793.95,-1101.92,22.9,246.822,-35.3695],[5648.76,-1001.33,22.1833,246.121,-34.0261],[5494.72,-900.034,21.4333,245.517,-32.5933],[5335.02,-800.763,20.6667,245.046,-31.1012],[5165.94,-701.848,19.8667,244.722,-29.5163],[4979.91,-600.16,19,244.579,-27.7691],[4783.54,-500.679,18.1,244.675,-25.9244],[4568.93,-400.89,17.1333,245.074,-23.9124],[4331.42,-300.932,16.0833,245.878,-21.6964],[4062,-200.364,14.9167,247.255,-19.2048],[3750.78,-100.42,13.6,249.465,-16.3676],[3370.21,-0.674845,12.0333,253.067,-12.9772],[2837.49,99.9912,9.91667,259.753,-8.4165],[1758.06,178.041,5.88333,278.955,-0.00489332]]], - [12,209.831,[[6954.44,-2000.05,29.1,254.758,-45.4207],[6855.58,-1901.18,28.55,253.638,-44.5609],[6752.63,-1801.33,27.9833,252.521,-43.6575],[6645.48,-1700.71,27.4,251.413,-42.7088],[6537.13,-1602.32,26.8167,250.351,-41.7413],[6421.28,-1500.78,26.2,249.283,-40.6979],[6304.07,-1401.79,25.5833,248.275,-39.6335],[6179.04,-1300.26,24.9333,247.283,-38.4889],[6052.48,-1201.66,24.2833,246.368,-37.3212],[5917.77,-1101.19,23.6,245.496,-36.0693],[5777.98,-1001.73,22.9,244.705,-34.7614],[5629.57,-901.318,22.1667,243.996,-33.3642],[5472.24,-800.557,21.4,243.394,-31.8752],[5305.69,-700.076,20.6,242.928,-30.2918],[5129.57,-600.547,19.7667,242.632,-28.6121],[4939.91,-500.864,18.8833,242.544,-26.8004],[4732.47,-400.45,17.9333,242.726,-24.8196],[4506.42,-300.922,16.9167,243.261,-22.6672],[4253.2,-201.232,15.8,244.281,-20.2715],[3959.55,-100.599,14.5333,246.027,-17.5241],[3610.74,-0.98476,13.0667,248.885,-14.3205],[3148.43,99.5865,11.1833,253.981,-10.2058],[2274.24,199.846,7.8,267.577,-2.9522],[1890.2,209.83,6.38333,275.123,-0.0183062]]], - [13,243.862,[[7053.93,-2001.43,29.7667,254.106,-46.0193],[6956.38,-1901.79,29.2167,252.932,-45.1663],[6854.79,-1801.14,28.65,251.757,-44.2696],[6752.1,-1702.57,28.0833,250.62,-43.3548],[6642.15,-1600.49,27.4833,249.46,-42.3664],[6530.95,-1500.79,26.8833,248.351,-41.3576],[6415.35,-1400.84,26.2667,247.267,-40.2995],[6295.22,-1300.89,25.6333,246.219,-39.1905],[6170.44,-1201.19,24.9833,245.216,-38.0289],[6040.89,-1102,24.3167,244.269,-36.8132],[5903.13,-1001.25,23.6167,243.372,-35.5107],[5760.24,-901.753,22.9,242.565,-34.1502],[5608.66,-801.646,22.15,241.848,-32.6979],[5448.11,-701.541,21.3667,241.25,-31.1512],[5274.77,-600.118,20.5333,240.794,-29.4738],[5091.67,-500.269,19.6667,240.531,-27.6967],[4894.84,-401.012,18.75,240.505,-25.7839],[4676.33,-300.305,17.75,240.792,-23.6627],[4435.05,-200.287,16.6667,241.501,-21.3301],[4162.15,-100.737,15.4667,242.804,-18.7133],[3839.98,-0.956079,14.0833,245.03,-15.6681],[3428.48,99.9991,12.3667,248.956,-11.8736],[2809.02,199.721,9.88333,257.12,-6.4247],[2014.86,243.861,6.86667,271.4,-0.0112137]]], - [14,280.05,[[7149.62,-2002.13,30.4333,253.512,-46.6262],[7053.37,-1901.7,29.8833,252.285,-45.7804],[6953.14,-1800.23,29.3167,251.053,-44.891],[6851.83,-1700.84,28.75,249.856,-43.9832],[6746.39,-1600.71,28.1667,248.665,-43.0293],[6636.72,-1500.06,27.5667,247.486,-42.0278],[6525.82,-1401.82,26.9667,246.359,-41.0054],[6407.39,-1300.78,26.3333,245.229,-39.9036],[6287.57,-1202.5,25.7,244.165,-38.7788],[6159.91,-1102.07,25.0333,243.124,-37.57],[6024.16,-1000,24.3333,242.123,-36.2739],[5886.67,-901.449,23.6333,241.225,-34.9507],[5740.72,-802.032,22.9,240.401,-33.5361],[5582.65,-700.225,22.1167,239.664,-31.994],[5418.88,-601.002,21.3167,239.075,-30.3873],[5242.25,-500.92,20.4667,238.643,-28.6471],[5052.25,-401.046,19.5667,238.419,-26.7698],[4844.71,-300.873,18.6,238.467,-24.7177],[4615.12,-200.543,17.55,238.879,-22.4518],[4358.6,-100.979,16.4,239.794,-19.934],[4058.25,-0.512015,15.0833,241.479,-17.0173],[3691.29,99.775,13.5167,244.439,-13.5208],[3186.48,199.771,11.4333,250.118,-8.87424],[2136.62,280.049,7.35,267.687,-0.0175607]]], - [15,318.318,[[7241.46,-2002.22,31.1,252.975,-47.2408],[7146.52,-1900.99,30.55,251.696,-46.4027],[7050.57,-1801.67,30,250.446,-45.5472],[6950.66,-1701.36,29.4333,249.19,-44.6474],[6846.69,-1600.29,28.85,247.935,-43.7016],[6741.57,-1501.46,28.2667,246.722,-42.7357],[6632.25,-1402.18,27.6667,245.522,-41.7214],[6515.52,-1300.02,27.0333,244.313,-40.6276],[6397.41,-1200.61,26.4,243.166,-39.5102],[6274.76,-1101.49,25.75,242.061,-38.339],[6144.22,-1000.5,25.0667,240.983,-37.0812],[6008.81,-900.51,24.3667,239.975,-35.765],[5868.37,-801.822,23.65,239.052,-34.389],[5716.1,-700.435,22.8833,238.196,-32.8859],[5558.32,-601.379,22.1,237.472,-31.318],[5388.01,-501.112,21.2667,236.88,-29.6161],[5204.68,-400.672,20.3833,236.47,-27.7763],[5007.8,-301.188,19.45,236.298,-25.7955],[4789.55,-200.721,18.4333,236.436,-23.5994],[4545.21,-100.038,17.3167,237.009,-21.1479],[4269.57,-0.82904,16.0833,238.193,-18.4026],[3937.57,99.3505,14.6333,240.38,-15.1416],[3505.01,199.883,12.8,244.475,-11.0006],[2756.06,299.73,9.76667,254.835,-4.22537],[2251,318.318,7.81667,264.074,-0.00222673]]], - [16,358.585,[[7329.43,-2001.81,31.7667,252.496,-47.8627],[7238.63,-1902.81,31.2333,251.206,-47.0581],[7144.03,-1802.6,30.6833,249.902,-46.2111],[7045.52,-1701.37,30.1167,248.589,-45.3199],[6945.96,-1602.22,29.55,247.309,-44.4096],[6842.35,-1502.36,28.9667,246.03,-43.4526],[6734.61,-1402.01,28.3667,244.759,-42.447],[6622.61,-1301.39,27.75,243.505,-41.3908],[6506.25,-1200.76,27.1167,242.275,-40.2822],[6385.42,-1100.38,26.4667,241.081,-39.1194],[6259.98,-1000.5,25.8,239.932,-37.9005],[6129.82,-901.418,25.1167,238.843,-36.6239],[5991.58,-801.126,24.4,237.803,-35.2558],[5844.97,-700.203,23.65,236.836,-33.7927],[5693.06,-601.364,22.8833,235.985,-32.2648],[5528.92,-500.963,22.0667,235.244,-30.6028],[5352.11,-400.014,21.2,234.658,-28.8023],[5165.58,-301.38,20.3,234.285,-26.895],[4958.35,-200.955,19.3167,234.171,-24.7715],[4729.42,-100.842,18.25,234.42,-22.4269],[4470.32,-0.72549,17.0667,235.184,-19.7845],[4167.98,99.1347,15.7167,236.732,-16.7308],[3788.35,199.904,14.0667,239.677,-12.9673],[3243.82,299.552,11.7833,245.835,-7.76493],[2362.49,358.585,8.28333,260.469,-6.49897e-005]]], - [17,400.775,[[7413.46,-2000.98,32.4333,252.075,-48.4913],[7323.92,-1901.16,31.9,250.737,-47.6951],[7230.63,-1800.1,31.35,249.381,-46.8566],[7136.36,-1700.96,30.8,248.052,-46.0001],[7038.21,-1600.85,30.2333,246.713,-45.0987],[6936.08,-1500,29.65,245.371,-44.1504],[6832.84,-1401.4,29.0667,244.069,-43.1815],[6725.48,-1302.37,28.4667,242.776,-42.1631],[6610.86,-1200.5,27.8333,241.465,-41.0642],[6494.91,-1101.39,27.2,240.215,-39.9406],[6371.39,-1000.11,26.5333,238.971,-38.7312],[6246.38,-901.974,25.8667,237.807,-37.4948],[6110.31,-800.05,25.15,236.653,-36.1358],[5972.47,-701.877,24.4333,235.606,-34.7463],[5823.05,-601.069,23.6667,234.615,-33.2269],[5664.94,-500.59,22.8667,233.733,-31.6063],[5497.85,-401.124,22.0333,232.995,-29.8815],[5318.03,-301.572,21.15,232.427,-28.0149],[5121.48,-201.375,20.2,232.082,-25.9666],[4903.94,-100.609,19.1667,232.043,-23.6955],[4660.74,-0.125123,18.0333,232.435,-21.1604],[4383.13,99.5118,16.7667,233.451,-18.2836],[4046.21,199.819,15.2667,235.506,-14.8371],[3602.35,299.335,13.35,239.589,-10.411],[2573.35,399.938,9.15,254.916,-0.889868],[2471.02,400.774,8.75,256.872,-0.0114306]]], - [18,444.806,[[7496.22,-2003,33.1167,251.755,-49.1507],[7407.96,-1902.29,32.5833,250.37,-48.3638],[7316.01,-1800.29,32.0333,248.963,-47.5346],[7223.09,-1700.21,31.4833,247.581,-46.6874],[7129.22,-1602.08,30.9333,246.225,-45.8219],[7028.59,-1500.15,30.35,244.82,-44.8837],[6926.87,-1400.47,29.7667,243.453,-43.9244],[6821.1,-1300.32,29.1667,242.088,-42.9157],[6714.15,-1202.6,28.5667,240.771,-41.8844],[6599.98,-1102.14,27.9333,239.437,-40.7714],[6481.44,-1001.95,27.2833,238.133,-39.6028],[6358.4,-902.289,26.6167,236.869,-38.3768],[6227.62,-801.073,25.9167,235.63,-37.0598],[6092.01,-701.137,25.2,234.464,-35.6801],[5948.24,-600.611,24.45,233.361,-34.2032],[5796.03,-500.113,23.6667,232.349,-32.6253],[5635.09,-400.306,22.85,231.459,-30.943],[5461.75,-300.02,21.9833,230.713,-29.1184],[5275.53,-200.361,21.0667,230.163,-27.147],[5072.43,-100.907,20.0833,229.867,-24.9889],[4844.6,-0.427321,19,229.923,-22.5654],[4587.17,99.5365,17.8,230.485,-19.834],[4283.63,199.675,16.4167,231.84,-16.6396],[3904.16,299.191,14.7333,234.592,-12.7149],[3323.12,399.801,12.25,241.069,-6.92921],[2576.51,444.803,9.21667,253.283,-0.0367588]]], - [19,490.604,[[7572.14,-2001.63,33.7833,251.45,-49.7914],[7485.14,-1900.06,33.25,250.02,-49.0136],[7397.25,-1800.27,32.7167,248.608,-48.2189],[7308.48,-1702.27,32.1833,247.217,-47.4071],[7213.18,-1600.14,31.6167,245.764,-46.5255],[7116.87,-1500.09,31.05,244.341,-45.6241],[7019.54,-1402.16,30.4833,242.95,-44.7026],[6915.37,-1300.79,29.8833,241.515,-43.7048],[6810.06,-1201.85,29.2833,240.125,-42.6841],[6697.63,-1100.09,28.65,238.71,-41.5817],[6583.92,-1001.12,28.0167,237.353,-40.4537],[6465.85,-902.469,27.3667,236.028,-39.2691],[6340.24,-802.014,26.6833,234.713,-37.9947],[6206.85,-700.289,25.9667,233.429,-36.6263],[6068.6,-600.102,25.2333,232.223,-35.1928],[5925.34,-501.783,24.4833,231.114,-33.6925],[5770.45,-401.599,23.6833,230.079,-32.0551],[5603.49,-300.538,22.8333,229.162,-30.2751],[5427.35,-201.487,21.95,228.422,-28.3835],[5231.48,-100.182,20.9833,227.884,-26.2681],[5018.46,-0.227748,19.95,227.645,-23.9595],[4780.4,99.3122,18.8167,227.815,-21.3787],[4505.16,199.032,17.5333,228.596,-18.4068],[4168.15,299.676,16,230.416,-14.8083],[3714.78,399.85,14,234.368,-10.0838],[2670.61,490.604,9.65,249.861,-0.0014067]]], - [20,538.091,[[7643.98,-2000.12,34.45,251.202,-50.4376],[7560.92,-1900.86,33.9333,249.774,-49.6936],[7474.32,-1800.13,33.4,248.316,-48.9089],[7386.86,-1701.19,32.8667,246.876,-48.107],[7295.74,-1601.05,32.3167,245.413,-47.2617],[7203.68,-1502.86,31.7667,243.976,-46.3975],[7105.01,-1400.89,31.1833,242.481,-45.4602],[7005.28,-1301.17,30.6,241.021,-44.5011],[6901.59,-1200.99,30,239.56,-43.4917],[6793.83,-1100.58,29.3833,238.104,-42.4299],[6681.9,-1000.2,28.75,236.663,-41.3135],[6565.7,-900.089,28.1,235.247,-40.1404],[6445.11,-800.532,27.4333,233.866,-38.9084],[6320.02,-701.808,26.75,232.533,-37.6155],[6187.2,-601.934,26.0333,231.231,-36.2271],[6046.4,-501.491,25.2833,229.984,-34.7389],[5897.37,-401.103,24.5,228.819,-33.1471],[5739.82,-301.433,23.6833,227.765,-31.4478],[5570.18,-201.319,22.8167,226.841,-29.6021],[5384.63,-100.126,21.8833,226.089,-27.5683],[5185.92,-1.06552,20.9,225.591,-25.378],[4963.08,98.9363,19.8167,225.419,-22.9144],[4707.86,199.614,18.6,225.736,-20.0942],[4407.52,299.915,17.2,226.822,-16.7955],[4029.23,399.641,15.4833,229.299,-12.7039],[3438.19,499.869,12.9,235.627,-6.54229],[2765.92,538.09,10.1,246.363,-0.0167308]]], - [21,587.191,[[7714.29,-2001.81,35.1333,251.06,-51.1123],[7632.46,-1901.63,34.6167,249.59,-50.3784],[7549.84,-1803.1,34.1,248.134,-49.6285],[7460.99,-1700.05,33.55,246.6,-48.8125],[7373.97,-1601.95,33.0167,245.132,-48.0033],[7283.31,-1502.7,32.4667,243.64,-47.1502],[7188.94,-1402.5,31.9,242.129,-46.2511],[7090.76,-1301.56,31.3167,240.605,-45.3039],[6988.68,-1200.12,30.7167,239.074,-44.3065],[6885.49,-1101.12,30.1167,237.585,-43.2854],[6778.26,-1001.94,29.5,236.102,-42.211],[6663.94,-900.274,28.85,234.596,-41.051],[6548.3,-801.593,28.2,233.154,-39.8626],[6425.29,-701.116,27.5167,231.714,-38.5828],[6297.73,-601.707,26.8167,230.328,-37.2395],[6162.42,-501.441,26.0833,228.979,-35.7974],[6019.1,-400.919,25.3167,227.693,-34.2524],[5867.52,-300.788,24.5167,226.498,-32.6002],[5707.39,-201.733,23.6833,225.426,-30.8372],[5531.87,-100.866,22.7833,224.482,-28.8874],[5343.66,-1.39282,21.8333,223.748,-26.7809],[5135.46,98.505,20.8,223.279,-24.4381],[4899.44,199.326,19.65,223.196,-21.7752],[4627.04,299.9,18.35,223.702,-18.7074],[4297.93,399.841,16.8167,225.19,-15.0329],[3851.73,499.665,14.8,228.743,-10.158],[2854.12,587.19,10.5333,242.945,-0.00757558]]], - [22,637.828,[[7777.73,-2000.31,35.8,250.928,-51.7677],[7699.73,-1902.49,35.3,249.467,-51.0673],[7618.35,-1803.03,34.7833,247.969,-50.3279],[7533.51,-1702.1,34.25,246.436,-49.5476],[7447.83,-1602.95,33.7167,244.92,-48.7497],[7358.57,-1502.62,33.1667,243.375,-47.9081],[7265.65,-1401.29,32.6,241.808,-47.0207],[7171.77,-1302.07,32.0333,240.268,-46.1125],[7074.1,-1202.17,31.45,238.714,-45.1554],[6972.56,-1101.8,30.85,237.153,-44.1474],[6867.06,-1001.21,30.2333,235.592,-43.086],[6757.49,-900.647,29.6,234.041,-41.9691],[6643.75,-800.369,28.95,232.507,-40.7943],[6525.72,-700.65,28.2833,231.003,-39.5592],[6403.31,-601.773,27.6,229.54,-38.2617],[6273.36,-501.752,26.8833,228.099,-36.8666],[6135.62,-401.172,26.1333,226.703,-35.3695],[5989.86,-300.657,25.35,225.377,-33.7659],[5835.8,-200.875,24.5333,224.152,-32.0517],[5669.96,-100.665,23.6667,223.043,-30.187],[5491.88,-1.14121,22.75,222.102,-28.1662],[5294.45,99.7199,21.75,221.369,-25.9087],[5076.79,199.747,20.6667,220.952,-23.4069],[4831.04,299.117,19.4667,220.984,-20.577],[4538.02,399.552,18.0667,221.734,-17.2139],[4169.17,499.379,16.35,223.793,-13.0323],[3593.39,599.649,13.7667,229.489,-6.71728],[2939.32,637.827,10.9667,239.53,-0.0118923]]], - [23,689.927,[[7839.5,-2002.26,36.4833,250.903,-52.4499],[7760.12,-1900.26,35.9667,249.355,-51.7368],[7682.56,-1803.11,35.4667,247.866,-51.0315],[7599.02,-1701.19,34.9333,246.289,-50.2624],[7514.64,-1601.05,34.4,244.727,-49.4756],[7429.43,-1502.71,33.8667,243.181,-48.6708],[7337.96,-1400.24,33.3,241.559,-47.7957],[7248.28,-1302.79,32.75,240.007,-46.9262],[7152.17,-1201.62,32.1667,238.391,-45.9821],[7055.04,-1102.73,31.5833,236.806,-45.0151],[6951.25,-1000.71,30.9667,235.171,-43.9676],[6846.32,-901.309,30.35,233.581,-42.8939],[6737.35,-801.99,29.7167,231.999,-41.7637],[6621.32,-700.517,29.05,230.398,-40.5437],[6503.94,-602.239,28.3833,228.866,-39.2925],[6376.23,-500.206,27.6667,227.307,-37.9127],[6246.93,-401.974,26.95,225.846,-36.497],[6106.84,-301.158,26.1833,224.401,-34.9433],[5958.7,-200.735,25.3833,223.035,-33.2796],[5802.24,-101.394,24.55,221.781,-31.5016],[5630.79,-0.238602,23.65,220.636,-29.5319],[5446.99,99.5154,22.7,219.684,-27.4002],[5243.73,199.692,21.6667,218.975,-25.0248],[5016.76,299.404,20.5333,218.619,-22.3592],[4754.55,399.233,19.25,218.797,-19.2767],[4433.84,499.893,17.7167,219.887,-15.5275],[4003.01,599.926,15.7167,222.878,-10.58],[3021.48,689.925,11.4,236.117,-0.0300888]]], - [24,743.417,[[7894.37,-2001.14,37.15,250.885,-53.1127],[7818.73,-1901.53,36.65,249.352,-52.4331],[7739.81,-1800.2,36.1333,247.774,-51.7152],[7660.12,-1700.52,35.6167,246.206,-50.981],[7579.66,-1602.49,35.1,244.649,-50.2303],[7493.16,-1500,34.55,243.006,-49.4125],[7408.44,-1402.47,34.0167,241.43,-48.6009],[7317.51,-1300.86,33.45,239.776,-47.718],[7225.64,-1201.36,32.8833,238.147,-46.8138],[7130.08,-1101.18,32.3,236.498,-45.8602],[7030.74,-1000.54,31.7,234.837,-44.8549],[6930.34,-902.363,31.1,233.215,-43.8245],[6823.19,-801.45,30.4667,231.55,-42.7094],[6711.99,-700.821,29.8167,229.897,-41.5352],[6596.61,-600.751,29.15,228.267,-40.2995],[6476.96,-501.525,28.4667,226.67,-38.9997],[6349.95,-401.148,27.75,225.085,-37.6005],[6215.36,-300.209,27,223.534,-36.097],[6076.01,-201.431,26.2333,222.073,-34.5191],[5925.57,-101.183,25.4167,220.667,-32.7935],[5763.66,-0.493937,24.55,219.36,-30.9132],[5589.84,99.518,23.6333,218.205,-28.8719],[5400.44,199.268,22.65,217.247,-26.6257],[5188.19,299.973,21.5667,216.558,-24.0893],[4951.99,398.761,20.3833,216.284,-21.2539],[4670,499.103,19,216.652,-17.8696],[4314.56,599.534,17.3,218.212,-13.64],[3777,699.525,14.8167,222.903,-7.41523],[3096.65,743.415,11.8167,232.774,-0.0223359]]], - [25,798.219,[[7944.92,-2000.33,37.8167,250.924,-53.7787],[7872.93,-1903.17,37.3333,249.408,-53.1322],[7795.25,-1800.86,36.8167,247.793,-52.4258],[7716.82,-1700.18,36.3,246.186,-51.7031],[7637.62,-1601.16,35.7833,244.588,-50.9639],[7555.07,-1500.71,35.25,242.95,-50.1831],[7471.71,-1402.06,34.7167,241.326,-49.3839],[7384.88,-1302.26,34.1667,239.668,-48.5402],[7294.51,-1201.51,33.6,237.982,-47.6497],[7200.51,-1100.01,33.0167,236.272,-46.7101],[7105.52,-1000.81,32.4333,234.591,-45.747],[7006.79,-901.188,31.8333,232.898,-44.7313],[6904.22,-801.396,31.2167,231.198,-43.6606],[6797.72,-701.681,30.5833,229.502,-42.5325],[6687.19,-602.307,29.9333,227.817,-41.3443],[6569.64,-501.12,29.25,226.115,-40.0617],[6447.79,-401.006,28.55,224.451,-38.7123],[6318.57,-300.025,27.8167,222.804,-37.2599],[6184.75,-200.936,27.0667,221.231,-35.734],[6043.17,-102.032,26.2833,219.719,-34.0968],[5887.44,-0.0966514,25.4333,218.245,-32.2712],[5723.26,99.8033,24.55,216.914,-30.3217],[5547.18,198.569,23.6167,215.749,-28.2067],[5349.08,299.641,22.5833,214.776,-25.8031],[5131.21,398.915,21.4667,214.13,-23.1398],[4875.91,499.996,20.1833,213.957,-20.0062],[4574.11,599.123,18.7,214.582,-16.3091],[4166.11,699.814,16.75,216.877,-11.3754],[3168.8,798.217,12.2333,229.432,-0.028258]]], - [26,854.259,[[7993.51,-2003.34,38.5,251.071,-54.469],[7920.23,-1901.9,38,249.47,-53.8113],[7846.24,-1801.95,37.5,247.873,-53.1389],[7769.05,-1700.28,36.9833,246.228,-52.4281],[7691.12,-1600.24,36.4667,244.59,-51.7008],[7612.44,-1501.88,35.95,242.962,-50.9566],[7530.42,-1402.12,35.4167,241.292,-50.1704],[7445.01,-1301.15,34.8667,239.585,-49.3399],[7358.73,-1202.14,34.3167,237.895,-48.4892],[7268.94,-1102.23,33.75,236.176,-47.591],[7175.56,-1001.62,33.1667,234.432,-46.643],[7078.49,-900.538,32.5667,232.669,-45.6428],[6980.39,-801.932,31.9667,230.942,-44.6167],[6875.71,-700.569,31.3333,229.163,-43.505],[6769.88,-602.041,30.7,227.434,-42.3637],[6657.22,-501.432,30.0333,225.674,-41.13],[6540.4,-401.66,29.35,223.941,-39.8308],[6416.42,-300.72,28.6333,222.208,-38.4305],[6287.99,-201.41,27.9,220.535,-36.9575],[6152.04,-101.95,27.1333,218.902,-35.3746],[6005.3,-0.986723,26.3167,217.309,-33.6406],[5850.47,98.555,25.4667,215.825,-31.7849],[5681.05,199.467,24.55,214.442,-29.7272],[5499.65,298.527,23.5833,213.252,-27.4971],[5296.15,398.922,22.5167,212.287,-24.97],[5066.28,499.154,21.3333,211.682,-22.0937],[4798.64,598.906,19.9833,211.645,-18.7343],[4463.55,699.218,18.3333,212.635,-14.5457],[3970.62,799.883,15.9833,216.205,-8.50759],[3234.11,854.259,12.6333,226.153,-0.00686621]]], - [27,911.467,[[8032.81,-2000.04,39.15,251.166,-55.1183],[7963.08,-1901.12,38.6667,249.589,-54.4931],[7890.26,-1800.25,38.1667,247.959,-53.8318],[7816.76,-1700.9,37.6667,246.333,-53.1555],[7742.58,-1603.08,37.1667,244.711,-52.4638],[7662.68,-1500.45,36.6333,242.988,-51.7086],[7584.52,-1402.73,36.1167,241.328,-50.9595],[7500.51,-1300.57,35.5667,239.573,-50.1429],[7415.66,-1200.38,35.0167,237.833,-49.3059],[7329.96,-1102.16,34.4667,236.111,-48.4481],[7238.14,-1000.2,33.8833,234.306,-47.5153],[7145.36,-900.52,33.3,232.529,-46.5582],[7048.93,-800.422,32.7,230.732,-45.548],[6948.77,-700.141,32.0833,228.923,-44.4822],[6847.52,-602.531,31.4667,227.157,-43.3879],[6736.85,-500.053,30.8,225.303,-42.1726],[6624.92,-400.785,30.1333,223.511,-40.9232],[6506.01,-300.059,29.4333,221.704,-39.5746],[6382.82,-200.708,28.7167,219.942,-38.1546],[6252.31,-100.884,27.9667,218.204,-36.6261],[6114.27,-1.22091,27.1833,216.514,-34.9837],[5965.45,99.5687,26.35,214.872,-33.1856],[5808.52,198.576,25.4833,213.35,-31.2613],[5637.04,298.462,24.55,211.945,-29.1294],[5447.3,399.186,23.5333,210.714,-26.7409],[5235.31,499.934,22.4167,209.757,-24.0443],[4996.76,598.959,21.1833,209.225,-20.9879],[4706.93,699.632,19.7167,209.378,-17.267],[4331.59,799.503,17.8667,210.906,-12.4842],[3633.75,899.917,14.5667,217.744,-3.90917],[3300.13,911.464,13.05,222.808,-0.0409393]]], - [28,969.77,[[8070.06,-2000.73,39.8167,251.369,-55.7911],[8001.45,-1900.91,39.3333,249.763,-55.1769],[7932.21,-1802.48,38.85,248.158,-54.549],[7859.92,-1702.14,38.35,246.498,-53.8848],[7784.5,-1600.04,37.8333,244.786,-53.1823],[7710.83,-1502.81,37.3333,243.134,-52.4866],[7631.49,-1400.82,36.8,241.378,-51.7267],[7551.37,-1300.63,36.2667,239.633,-50.9483],[7470.47,-1202.27,35.7333,237.898,-50.1507],[7386.23,-1102.78,35.1833,236.124,-49.3078],[7298.56,-1002.36,34.6167,234.315,-48.4172],[7207.38,-901.23,34.0333,232.476,-47.4765],[7115.27,-802.412,33.45,230.663,-46.511],[7016.86,-700.494,32.8333,228.78,-45.4629],[6917.4,-601.229,32.2167,226.936,-44.3862],[6814.14,-502.082,31.5833,225.087,-43.25],[6704.23,-400.827,30.9167,223.197,-42.0205],[6590.29,-300.398,30.2333,221.326,-40.724],[6472.2,-201.095,29.5333,219.487,-39.3577],[6347,-101.001,28.8,217.653,-37.8847],[6214.49,-0.728224,28.0333,215.848,-36.2993],[6074.43,99.0678,27.2333,214.099,-34.5957],[5923.61,199.606,26.3833,212.408,-32.7315],[5761.65,299.79,25.4833,210.822,-30.6983],[5588.14,398.431,24.5333,209.398,-28.4889],[5393.31,498.819,23.4833,208.153,-25.9759],[5173.01,599.533,22.3167,207.214,-23.1041],[4919.48,699.241,21,206.767,-19.7766],[4607.59,799.117,19.4167,207.174,-15.681],[4168.02,899.413,17.25,209.575,-9.98122],[3355.66,969.769,13.4333,219.584,-0.00477867]]], - [29,1029.09,[[8102.79,-2002.1,40.4833,251.626,-56.4653],[8035.31,-1901.39,40,249.993,-55.8623],[7967.2,-1802.04,39.5167,248.359,-55.2458],[7896.09,-1700.74,39.0167,246.668,-54.5934],[7824.31,-1600.95,38.5167,244.978,-53.9258],[7751.86,-1502.69,38.0167,243.29,-53.2426],[7676.29,-1402.79,37.5,241.551,-52.5199],[7597.53,-1301.43,36.9667,239.763,-51.7555],[7518,-1201.88,36.4333,237.984,-50.9722],[7435.18,-1101.16,35.8833,236.161,-50.144],[7351.54,-1002.41,35.3333,234.354,-49.2946],[7264.51,-902.781,34.7667,232.509,-48.3969],[7174.01,-802.482,34.1833,230.634,-47.4484],[7079.95,-701.743,33.5833,228.733,-46.4463],[6982.26,-600.807,32.9667,226.814,-45.3879],[6883.52,-502.545,32.35,224.933,-44.3002],[6778.31,-401.906,31.7,223,-43.1213],[6669.2,-301.86,31.0333,221.073,-41.8774],[6553.32,-200.32,30.3333,219.121,-40.5329],[6433.27,-100.14,29.6167,217.205,-39.1152],[6308.96,-1.64477,28.8833,215.34,-37.6213],[6174.51,99.0139,28.1,213.467,-35.9774],[6032.52,198.874,27.2833,211.659,-34.2108],[5879.79,299.085,26.4167,209.917,-32.2785],[5715.93,398.518,25.5,208.293,-30.1719],[5534.45,499.173,24.5,206.804,-27.8034],[5334.62,598.851,23.4167,205.556,-25.1605],[5106.13,698.973,22.2,204.649,-22.1064],[4834.59,799.473,20.7833,204.32,-18.4541],[4487.5,899.998,19.0167,205.114,-13.7941],[3931.29,999.615,16.2833,209.265,-6.49052],[3411.82,1029.09,13.8333,216.295,-0.0250866]]], - [30,1089.36,[[8128.69,-2000.74,41.1333,251.879,-57.1203],[8064.6,-1902.63,40.6667,250.277,-56.5489],[7997.63,-1802.36,40.1833,248.616,-55.9439],[7927.7,-1700.09,39.6833,246.895,-55.3036],[7859.47,-1602.66,39.2,245.231,-54.6703],[7785.86,-1500.08,38.6833,243.452,-53.9774],[7713.95,-1402.38,38.1833,241.734,-53.2906],[7638.95,-1303.07,37.6667,239.963,-52.564],[7560.79,-1202.32,37.1333,238.142,-51.7953],[7479.39,-1100.35,36.5833,236.272,-50.9823],[7397.19,-1000.34,36.0333,234.415,-50.1481],[7314.18,-902.338,35.4833,232.573,-49.2923],[7225.26,-800.608,34.9,230.638,-48.3606],[7135.42,-701.19,34.3167,228.727,-47.4035],[7042.06,-601.376,33.7167,226.79,-46.392],[6945.11,-501.409,33.1,224.833,-45.3233],[6844.46,-401.545,32.4667,222.865,-44.1943],[6740.04,-302.047,31.8167,220.894,-43.0022],[6629.04,-200.767,31.1333,218.883,-41.7118],[6514.01,-100.594,30.4333,216.895,-40.35],[6394.87,-1.84289,29.7167,214.944,-38.9136],[6265.86,99.4716,28.95,212.962,-37.3295],[6132.39,198.3,28.1667,211.061,-35.6604],[5988.55,298.156,27.3333,209.191,-33.8292],[5831.06,399.789,26.4333,207.367,-31.7882],[5662.38,499.957,25.4833,205.684,-29.565],[5479.07,598.93,24.4667,204.186,-27.1112],[5271.3,699.061,23.3333,202.923,-24.2919],[5031.61,799.218,22.05,202.062,-21.0048],[4742.21,899.096,20.5333,201.903,-17.0147],[4350.15,999.418,18.5333,203.261,-11.6374],[3461.3,1089.36,14.2167,213.061,-0.0164218]]], - [31,1150.51,[[8150.05,-2000.18,41.7833,252.183,-57.7767],[8087.03,-1901.22,41.3167,250.558,-57.2162],[8021.16,-1800.07,40.8333,248.871,-56.6225],[7954.69,-1700.29,40.35,247.18,-56.0152],[7887.62,-1601.9,39.8667,245.487,-55.394],[7817.6,-1501.61,39.3667,243.734,-54.7362],[7746.92,-1402.84,38.8667,241.983,-54.0627],[7673.21,-1302.42,38.35,240.174,-53.3499],[7596.39,-1200.53,37.8167,238.312,-52.5955],[7518.82,-1100.45,37.2833,236.457,-51.8219],[7440.51,-1002.21,36.75,234.61,-51.0285],[7358.97,-902.855,36.2,232.718,-50.1891],[7274.13,-802.597,35.6333,230.783,-49.3013],[7185.91,-701.653,35.05,228.811,-48.3623],[7094.23,-600.253,34.45,226.807,-47.3694],[7001.6,-501.351,33.85,224.833,-46.3485],[6905.41,-402.34,33.2333,222.838,-45.2694],[6802.92,-300.914,32.5833,220.779,-44.0986],[6696.65,-200.063,31.9167,218.72,-42.8617],[6586.49,-100.077,31.2333,216.672,-41.5552],[6472.36,-1.25726,30.5333,214.648,-40.1759],[6351.38,98.2977,29.8,212.616,-38.686],[6223.37,197.97,29.0333,210.601,-37.0791],[6085.28,299.111,28.2167,208.59,-35.3122],[5939.65,398.784,27.3667,206.661,-33.4131],[5780.4,499.774,26.45,204.789,-31.2979],[5610,598.848,25.4833,203.074,-28.9944],[5419,699.173,24.4167,201.521,-26.3705],[5203.43,799.231,23.2333,200.258,-23.3671],[4949.61,899.788,21.8667,199.463,-19.7934],[4636.08,999.297,20.2167,199.548,-15.3619],[4169.15,1099.58,17.8333,201.913,-8.83416],[3507.72,1150.51,14.6,209.82,-0.0219798]]], - [32,1212.47,[[8166.83,-2000.52,42.4333,252.537,-58.434],[8104.87,-1900.71,41.9667,250.89,-57.8844],[8042.36,-1802.15,41.5,249.237,-57.3226],[7977.04,-1701.41,41.0167,247.521,-56.7274],[7911.11,-1602.06,40.5333,245.801,-56.1184],[7842.29,-1500.76,40.0333,244.018,-55.4735],[7772.83,-1400.98,39.5333,242.234,-54.8131],[7702.73,-1302.74,39.0333,240.451,-54.1366],[7629.61,-1202.87,38.5167,238.61,-53.4204],[7553.42,-1101.56,37.9833,236.714,-52.6622],[7476.49,-1002.07,37.45,234.824,-51.8844],[7396.39,-901.419,36.9,232.884,-51.0612],[7315.51,-802.765,36.35,230.956,-50.2161],[7228.88,-700.347,35.7667,228.926,-49.2952],[7141.36,-600.241,35.1833,226.917,-48.3483],[7052.96,-502.48,34.6,224.932,-47.3748],[6958.54,-401.717,33.9833,222.863,-46.3163],[6860.55,-301.035,33.35,220.775,-45.1969],[6758.89,-200.701,32.7,218.677,-44.0134],[6653.48,-100.993,32.0333,216.579,-42.7625],[6544.23,-2.20165,31.35,214.491,-41.4407],[6425.63,99.9218,30.6167,212.332,-39.977],[6305.62,197.953,29.8833,210.265,-38.4662],[6175.87,298.079,29.1,208.173,-36.8],[6036.06,399.314,28.2667,206.092,-34.9683],[5888.72,498.733,27.4,204.103,-32.9993],[5727.82,599.004,26.4667,202.184,-30.8074],[5552.86,698.489,25.4667,200.41,-28.3799],[5354.31,799.694,24.35,198.812,-25.5783],[5131.11,899.129,23.1167,197.566,-22.3829],[4863.36,999.127,21.6667,196.869,-18.5111],[4513.23,1099.57,19.8167,197.314,-13.4386],[3874.09,1199.9,16.5667,202.165,-4.39433],[3551.05,1212.46,14.9833,206.574,-0.0423133]]], - [33,1275.16,[[8178.98,-2001.86,43.0833,252.941,-59.0921],[8118.08,-1901.18,42.6167,251.273,-58.5536],[8056.65,-1801.74,42.15,249.598,-58.003],[7992.44,-1700.09,41.6667,247.858,-57.4197],[7929.89,-1603.24,41.2,246.172,-56.8436],[7862.27,-1500.92,40.7,244.361,-56.2118],[7794.02,-1400.11,40.2,242.547,-55.5645],[7725.13,-1300.83,39.7,240.732,-54.9015],[7655.62,-1203.11,39.2,238.916,-54.2222],[7580.77,-1100.6,38.6667,236.982,-53.4792],[7507.58,-1003.03,38.15,235.111,-52.7409],[7428.92,-901.068,37.6,233.126,-51.9343],[7349.49,-801.088,37.05,231.15,-51.1059],[7266.85,-700.183,36.4833,229.126,-50.229],[7183.4,-601.446,35.9167,227.118,-49.3276],[7096.63,-502.099,35.3333,225.07,-48.3736],[7006.48,-402.376,34.7333,222.988,-47.3641],[6912.87,-302.521,34.1167,220.879,-46.2958],[6813.14,-200.206,33.4667,218.696,-45.1355],[6712.34,-100.949,32.8167,216.558,-43.9392],[6607.82,-2.3682,32.15,214.419,-42.6742],[6494.2,99.915,31.4333,212.19,-41.2706],[6379.26,198.318,30.7167,210.042,-39.8211],[6254.84,299.227,29.95,207.844,-38.2192],[6123.4,399.646,29.15,205.675,-36.4909],[5984.73,498.872,28.3167,203.566,-34.6291],[5832.95,599.777,27.4167,201.48,-32.5488],[5670.45,699.123,26.4667,199.518,-30.2764],[5491.03,798.689,25.4333,197.692,-27.7191],[5288.07,898.909,24.2833,196.081,-24.7751],[5051.38,999.7,22.9667,194.839,-21.2912],[4763.69,1099.81,21.4,194.288,-17.016],[4367.5,1199.39,19.3,195.307,-11.1374],[3587.85,1275.16,15.35,203.374,-0.0320174]]], - [34,1338.51,[[8184.35,-2000.63,43.7167,253.333,-59.7316],[8126.65,-1902.72,43.2667,251.706,-59.223],[8066.28,-1802.4,42.8,250.011,-58.6839],[8005.38,-1703.34,42.3333,248.308,-58.1325],[7941.74,-1602.07,41.85,246.538,-57.5482],[7877.52,-1502.19,41.3667,244.762,-56.9501],[7810.48,-1400.34,40.8667,242.92,-56.3164],[7742.82,-1300.01,40.3667,241.074,-55.667],[7674.53,-1201.22,39.8667,239.227,-55.0015],[7603.32,-1100.78,39.35,237.317,-54.2966],[7531.44,-1002.04,38.8333,235.409,-53.5734],[7456.55,-901.906,38.3,233.443,-52.8075],[7378.57,-800.587,37.75,231.421,-51.9962],[7299.83,-701.267,37.2,229.408,-51.1627],[7217.92,-601.056,36.6333,227.347,-50.28],[7132.76,-500.177,36.05,225.24,-49.3453],[7046.74,-401.642,35.4667,223.154,-48.3835],[6954.88,-300.061,34.85,220.974,-47.3366],[6862.07,-201.174,34.2333,218.826,-46.2578],[6765.76,-102.458,33.6,216.657,-45.1161],[6663.29,-1.7046,32.9333,214.422,-43.8763],[6557.1,98.1584,32.25,212.189,-42.5645],[6444.47,199.131,31.5333,209.919,-41.1433],[6327.88,298.406,30.8,207.681,-39.6402],[6201.85,399.862,30.0167,205.399,-37.9795],[6071.54,498.511,29.2167,203.196,-36.2245],[5928.54,599.633,28.35,200.973,-34.2562],[5775.23,699.979,27.4333,198.829,-32.0994],[5608.39,799.947,26.45,196.791,-29.7024],[5424.63,899.252,25.3833,194.922,-27.0091],[5214.41,999.403,24.1833,193.291,-23.8718],[4967.44,1099.37,22.8,192.098,-20.131],[4653.96,1199.85,21.0833,191.756,-15.3426],[4173.6,1299.57,18.5333,193.849,-8.05963],[3621.6,1338.51,15.7167,200.166,-0.0363435]]], - [35,1402.46,[[8185.07,-2000.53,44.35,253.772,-60.3718],[8128.38,-1901.81,43.9,252.128,-59.8738],[8069.07,-1800.64,43.4333,250.413,-59.3459],[8009.23,-1700.71,42.9667,248.69,-58.8059],[7948.87,-1602.05,42.5,246.959,-58.2535],[7885.79,-1501.21,42.0167,245.159,-57.6679],[7822.14,-1401.76,41.5333,243.352,-57.0683],[7755.7,-1300.37,41.0333,241.478,-56.4328],[7688.65,-1200.51,40.5333,239.601,-55.7815],[7620.98,-1102.2,40.0333,237.721,-55.1138],[7550.42,-1002.26,39.5167,235.777,-54.4062],[7476.89,-900.893,38.9833,233.772,-53.6564],[7402.66,-801.363,38.45,231.77,-52.8865],[7325.38,-700.677,37.9,229.711,-52.0707],[7247.36,-602.003,37.35,227.661,-51.2322],[7166.2,-502.473,36.7833,225.561,-50.3439],[7081.82,-402.309,36.2,223.414,-49.4028],[6994.16,-301.744,35.6,221.227,-48.406],[6903.15,-201.025,34.9833,219.006,-47.3502],[6808.69,-100.407,34.35,216.758,-46.2319],[6710.72,-0.158153,33.7,214.49,-45.0475],[6609.16,99.4397,33.0333,212.214,-43.7935],[6503.92,198.094,32.35,209.94,-42.4659],[6392.32,297.771,31.6333,207.627,-41.0268],[6274.16,397.87,30.8833,205.298,-39.4688],[6146.6,499.821,30.0833,202.928,-37.7478],[6014.75,598.682,29.2667,200.645,-35.9276],[5870.29,699.593,28.3833,198.352,-33.8871],[5715.55,799.309,27.45,196.148,-31.6513],[5544.53,899.722,26.4333,194.036,-29.1251],[5353.72,999.979,25.3167,192.101,-26.247],[5136.41,1099.52,24.0667,190.466,-22.9072],[4873.4,1199.92,22.5833,189.336,-18.8049],[4528.22,1299.75,20.6833,189.324,-13.3848],[3786.13,1399.99,16.7667,195.079,-2.01472],[3648.97,1402.46,16.0667,196.998,-0.00831179]]], - [36,1466.93,[[8181.13,-2001.65,44.9833,254.258,-61.0122],[8125.45,-1902.11,44.5333,252.598,-60.525],[8067.2,-1800.08,44.0667,250.865,-60.0083],[8010.54,-1702.86,43.6167,249.184,-59.4989],[7951.26,-1603.27,43.15,247.433,-58.9586],[7889.33,-1501.47,42.6667,245.61,-58.3858],[7826.83,-1401.04,42.1833,243.78,-57.7991],[7763.77,-1302.02,41.7,241.943,-57.1982],[7697.94,-1201.07,41.2,240.037,-56.5612],[7631.52,-1101.67,40.7,238.127,-55.908],[7562.24,-1000.59,40.1833,236.15,-55.2157],[7492.32,-901.206,39.6667,234.172,-54.5051],[7419.48,-800.412,39.1333,232.131,-53.7519],[7345.94,-701.472,38.6,230.092,-52.9781],[7269.39,-601.406,38.05,227.996,-52.1579],[7189.75,-500.426,37.4833,225.845,-51.2887],[7109.34,-401.626,36.9167,223.705,-50.3942],[7025.75,-302.23,36.3333,221.519,-49.4462],[6938.91,-202.472,35.7333,219.291,-48.4415],[6848.75,-102.599,35.1167,217.027,-47.3768],[6752.73,-0.283065,34.4667,214.675,-46.2184],[6655.68,98.9551,33.8167,212.365,-45.022],[6552.56,199.916,33.1333,209.988,-43.7223],[6445.75,299.71,32.4333,207.616,-42.3454],[6335.17,398.018,31.7167,205.263,-40.887],[6215.51,498.797,30.95,202.841,-39.2716],[6089.13,599.048,30.15,200.432,-37.5243],[5953.15,699.987,29.3,198.023,-35.5986],[5810,798.7,28.4167,195.702,-33.5221],[5651.17,899.387,27.45,193.402,-31.1631],[5476.09,999.921,26.4,191.221,-28.5014],[5281.24,1099.29,25.25,189.255,-25.4743],[5054.18,1199.02,23.9333,187.61,-21.8779],[4772.47,1299.63,22.3333,186.582,-17.3503],[4377.62,1399.55,20.15,187.105,-10.9804],[3676.55,1466.93,16.4333,193.771,-0.0431271]]], - [37,1531.86,[[8170.44,-2000.33,45.6,254.727,-61.6355],[8117.79,-1903.69,45.1667,253.113,-61.1765],[8060.59,-1800.79,44.7,251.364,-60.6713],[8004.96,-1702.73,44.25,249.666,-60.173],[7946.76,-1602.26,43.7833,247.896,-59.6445],[7888.05,-1503.04,43.3167,246.115,-59.1037],[7826.71,-1401.63,42.8333,244.262,-58.5302],[7764.81,-1301.61,42.35,242.401,-57.9426],[7702.35,-1203,41.8667,240.533,-57.3406],[7637.17,-1102.49,41.3667,238.594,-56.7022],[7569.18,-1000.26,40.85,236.586,-56.0253],[7502.79,-902.92,40.35,234.64,-55.3532],[7431.32,-800.853,39.8167,232.562,-54.617],[7359.17,-700.624,39.2833,230.484,-53.8605],[7286.35,-602.259,38.75,228.409,-53.0831],[7210.54,-502.8,38.2,226.275,-52.2587],[7131.69,-402.459,37.6333,224.084,-51.3847],[7049.72,-301.459,37.05,221.841,-50.4579],[6964.56,-200.033,36.45,219.55,-49.4753],[6878.55,-101.137,35.85,217.281,-48.462],[6789.26,-2.16887,35.2333,214.975,-47.3876],[6694.17,99.173,34.5833,212.579,-46.2181],[6595.6,199.895,33.9167,210.165,-44.9781],[6493.47,299.702,33.2333,207.744,-43.6634],[6387.71,398.29,32.5333,205.328,-42.2698],[6273.1,499.754,31.7833,202.821,-40.723],[6154.58,598.955,31.0167,200.359,-39.0837],[6026.79,699.523,30.2,197.861,-37.2719],[5892.12,798.522,29.35,195.417,-35.314],[5744.98,898.698,28.4333,192.981,-33.1206],[5584.92,998.436,27.45,190.626,-30.6747],[5405.93,1098.91,26.3667,188.377,-27.8724],[5201.59,1199.77,25.15,186.337,-24.599],[4962.07,1299.87,23.75,184.699,-20.6847],[4658.94,1399.61,22.0167,183.851,-15.6614],[4174.98,1499.76,19.3333,185.443,-7.65713],[3697.8,1531.85,16.7833,190.582,-0.0454142]]], - [38,1597.16,[[8155.07,-2000.36,46.2167,255.241,-62.259],[8103.38,-1902.96,45.7833,253.613,-61.8102],[8049.24,-1802.91,45.3333,251.911,-61.334],[7992.6,-1700.35,44.8667,250.134,-60.8288],[7937.51,-1602.62,44.4167,248.409,-60.3305],[7879.89,-1502.5,43.95,246.61,-59.8018],[7819.67,-1400.14,43.4667,244.736,-59.2411],[7761.02,-1302.62,43,242.917,-58.6866],[7699.73,-1202.99,42.5167,241.025,-58.0983],[7635.77,-1101.41,42.0167,239.06,-57.4744],[7571.22,-1001.38,41.5167,237.088,-56.8343],[7506.08,-902.905,41.0167,235.112,-56.1776],[7438.17,-802.809,40.5,233.065,-55.481],[7367.41,-701.281,39.9667,230.95,-54.7421],[7295.98,-601.602,39.4333,228.836,-53.9826],[7221.63,-500.774,38.8833,226.657,-53.177],[7146.57,-401.97,38.3333,224.484,-52.3479],[7068.5,-302.317,37.7667,222.253,-51.4685],[6987.35,-202.04,37.1833,219.968,-50.5356],[6903.06,-101.375,36.5833,217.635,-49.5459],[6815.55,-0.567325,35.9667,215.259,-48.4961],[6727.15,97.5114,35.35,212.91,-47.4121],[6633.02,197.895,34.7,210.469,-46.2315],[6535.46,297.614,34.0333,208.009,-44.9789],[6431.91,398.735,33.3333,205.482,-43.6173],[6324.71,498.406,32.6167,202.963,-42.1727],[6211.26,598.472,31.8667,200.412,-40.605],[6091.38,698.286,31.0833,197.853,-38.9057],[5962.29,799.118,30.25,195.264,-37.0274],[5823.71,899.883,29.3667,192.691,-34.957],[5675.32,999.402,28.4333,190.188,-32.6808],[5511.4,1099.55,27.4167,187.745,-30.1],[5328.6,1199.46,26.3,185.443,-27.1479],[5117.75,1299.77,25.0333,183.375,-23.6611],[4866.06,1399.31,23.55,181.778,-19.4138],[4530.19,1499.35,21.6167,181.195,-13.6734],[3712.85,1597.16,17.1167,187.426,-0.0135972]]], - [39,1662.79,[[8134.96,-2001.81,46.8333,255.798,-62.8828],[8084.23,-1903.64,46.4,254.158,-62.4443],[8031.1,-1802.78,45.95,252.442,-61.9788],[7977.51,-1703.04,45.5,250.713,-61.503],[7921.45,-1600.81,45.0333,248.908,-60.9981],[7866.92,-1503.41,44.5833,247.156,-60.4999],[7807.84,-1400.09,44.1,245.262,-59.9521],[7750.29,-1301.63,43.6333,243.423,-59.4103],[7690.15,-1201.03,43.15,241.508,-58.8355],[7629.49,-1101.83,42.6667,239.585,-58.2462],[7566.17,-1000.7,42.1667,237.587,-57.621],[7502.28,-901.133,41.6667,235.581,-56.9795],[7437.81,-803.13,41.1667,233.57,-56.321],[7368.42,-700.349,40.6333,231.421,-55.5994],[7300.57,-602.531,40.1167,229.337,-54.881],[7227.67,-500.322,39.5667,227.117,-54.0943],[7154.07,-400.122,39.0167,224.9,-53.2846],[7079.79,-301.959,38.4667,222.687,-52.451],[7000.24,-200.103,37.8833,220.349,-51.5399],[6919.92,-100.603,37.3,218.023,-50.6002],[6836.49,-0.753531,36.7,215.646,-49.6028],[6749.88,99.1975,36.0833,213.226,-48.5442],[6660.03,198.99,35.45,210.768,-47.4206],[6566.87,298.353,34.8,208.282,-46.2278],[6467.89,399.425,34.1167,205.715,-44.9295],[6365.4,499.311,33.4167,203.142,-43.551],[6256.83,599.931,32.6833,200.519,-42.0531],[6144.54,698.519,31.9333,197.924,-40.4628],[6023.37,798.792,31.1333,195.268,-38.7005],[5893.04,899.721,30.2833,192.589,-36.7524],[5755.87,998.387,29.4,189.983,-34.645],[5603.75,1098.98,28.4333,187.365,-32.2426],[5436.13,1199.36,27.3833,184.834,-29.5215],[5246.98,1299.86,26.2167,182.451,-26.3677],[5029.8,1399.07,24.9,180.375,-22.6565],[4757.74,1499.85,23.2833,178.824,-17.9109],[4374.89,1599.44,21.0667,178.722,-11.1629],[3727.97,1662.79,17.4667,184.213,-0.0475394]]], - [40,1728.66,[[8108.15,-2000.98,47.4333,256.334,-63.4902],[8058.37,-1902.06,47,254.682,-63.0616],[8006.23,-1800.42,46.55,252.953,-62.6068],[7955.6,-1703.6,46.1167,251.275,-62.1591],[7900.6,-1600.5,45.65,249.455,-61.6659],[7847.11,-1502.25,45.2,247.686,-61.1793],[7791.15,-1401.58,44.7333,245.84,-60.6628],[7734.7,-1302.18,44.2667,243.983,-60.1339],[7675.73,-1200.59,43.7833,242.047,-59.5726],[7616.23,-1100.39,43.3,240.101,-58.9972],[7556.2,-1001.6,42.8167,238.145,-58.4072],[7493.54,-900.925,42.3167,236.113,-57.7809],[7430.33,-801.804,41.8167,234.074,-57.1381],[7364.42,-701.038,41.3,231.961,-56.4558],[7297.9,-601.982,40.7833,229.842,-55.7546],[7228.61,-501.551,40.25,227.653,-55.0103],[7158.67,-402.993,39.7167,225.463,-54.2446],[7083.67,-300.357,39.15,223.137,-53.4066],[7010.18,-202.821,38.6,220.885,-52.5686],[6931.49,-101.645,38.0167,218.504,-51.6523],[6849.76,-0.0521314,37.4167,216.067,-50.6794],[6767.22,98.9961,36.8167,213.647,-49.6744],[6681.54,198.106,36.2,211.182,-48.6072],[6590.32,299.58,35.55,208.613,-47.4434],[6498.15,397.937,34.9,206.08,-46.2385],[6400.25,497.93,34.2167,203.465,-44.9262],[6296.45,598.991,33.5,200.783,-43.4981],[6189.06,698.307,32.7667,198.113,-41.9807],[6073.03,799.75,31.9833,195.356,-40.2957],[5953.14,898.325,31.1833,192.657,-38.5051],[5821.67,999.295,30.3167,189.886,-36.485],[5680.81,1099.4,29.4,187.15,-34.2569],[5527.67,1199.02,28.4167,184.467,-31.7631],[5356.49,1299.31,27.3333,181.855,-28.8942],[5161.17,1399.9,26.1167,179.405,-25.5279],[4932.39,1499.61,24.7167,177.3,-21.4824],[4640.29,1599.57,22.9667,175.884,-16.2109],[4167.27,1699.78,20.2167,176.767,-7.62805],[3736.94,1728.66,17.8,181.031,-0.0471866]]], - [41,1794.71,[[8076.6,-2001.69,48.0333,256.911,-64.0979],[8027.77,-1902.03,47.6,255.249,-63.6794],[7978.53,-1803.38,47.1667,253.573,-63.2518],[7926.96,-1702.02,46.7167,251.818,-62.7979],[7874.95,-1601.77,46.2667,250.048,-62.3336],[7822.49,-1502.67,45.8167,248.266,-61.8586],[7767.61,-1401.1,45.35,246.403,-61.3545],[7712.26,-1300.8,44.8833,244.528,-60.8381],[7656.42,-1201.77,44.4167,242.64,-60.3092],[7598.08,-1100.56,43.9333,240.673,-59.7477],[7539.23,-1000.76,43.45,238.695,-59.1719],[7479.85,-902.379,42.9667,236.707,-58.5813],[7417.89,-802.129,42.4667,234.641,-57.9543],[7353.28,-700.184,41.95,232.498,-57.2887],[7290.19,-603.143,41.45,230.418,-56.6268],[7222.28,-501.41,40.9167,228.194,-55.901],[7153.75,-401.536,40.3833,225.966,-55.154],[7082.41,-300.517,39.8333,223.668,-54.3607],[7010.41,-201.532,39.2833,221.37,-53.5434],[6935.53,-101.704,38.7167,219.008,-52.6753],[6857.7,-1.26066,38.1333,216.584,-51.7532],[6776.87,99.5626,37.5333,214.103,-50.7735],[6695.25,197.825,36.9333,211.638,-49.7611],[6608.24,298.727,36.3,209.059,-48.6559],[6518.02,399.233,35.65,206.443,-47.4811],[6424.53,499.056,34.9833,203.798,-46.2322],[6327.71,597.899,34.3,201.136,-44.9046],[6225.07,697.731,33.5833,198.405,-43.459],[6116.46,797.94,32.8333,195.625,-41.8862],[5999.27,899.949,32.0333,192.762,-40.1395],[5878.22,998.807,31.2167,189.965,-38.2814],[5745.68,1099.64,30.3333,187.102,-36.1852],[5603.82,1199.2,29.4,184.286,-33.8724],[5447.18,1299.34,28.3833,181.496,-31.2394],[5272.58,1399.19,27.2667,178.81,-28.2145],[5071.31,1499.37,26,176.306,-24.6242],[4828.51,1599.67,24.5,174.186,-20.1766],[4505.6,1699.68,22.55,172.986,-14.1429],[3739.89,1794.71,18.1167,177.875,-0.0107448]]], - [42,1860.87,[[8038.43,-2000.2,48.6167,257.466,-64.6902],[7992.39,-1903.66,48.2,255.858,-64.2974],[7942.25,-1800.44,47.75,254.106,-63.8639],[7893.55,-1702.07,47.3167,252.405,-63.4371],[7842.55,-1601.02,46.8667,250.623,-62.984],[7791.1,-1501.09,46.4167,248.826,-62.5204],[7739.23,-1402.3,45.9667,247.016,-62.046],[7684.96,-1301.08,45.5,245.124,-61.5423],[7630.23,-1201.13,45.0333,243.219,-61.0263],[7575.02,-1102.45,44.5667,241.301,-60.4976],[7517.34,-1001.62,44.0833,239.303,-59.9362],[7459.15,-902.202,43.6,237.292,-59.3603],[7398.42,-800.865,43.1,235.202,-58.7487],[7337.15,-701.083,42.6,233.102,-58.1206],[7275.33,-602.878,42.1,230.993,-57.4754],[7210.88,-503.081,41.5833,228.807,-56.7901],[7143.74,-401.88,41.05,226.544,-56.0621],[7075.99,-302.55,40.5167,224.277,-55.3127],[7005.47,-202.104,39.9667,221.939,-54.5165],[6932.13,-100.755,39.4,219.53,-53.6705],[6858.1,-1.61051,38.8333,217.125,-52.7975],[6781.16,98.1157,38.25,214.657,-51.8697],[6701.26,198.185,37.65,212.13,-50.8836],[6618.33,298.348,37.0333,209.551,-49.8351],[6532.31,398.342,36.4,206.925,-48.7201],[6443.13,497.896,35.75,204.26,-47.5343],[6348.41,599.149,35.0667,201.499,-46.2409],[6250.35,699.199,34.3667,198.723,-44.8645],[6146.5,799.97,33.6333,195.88,-43.365],[6039.12,898.686,32.8833,193.053,-41.769],[5923.27,999.069,32.0833,190.143,-39.995],[5801.17,1098.16,31.25,187.245,-38.0673],[5667.66,1198.8,30.35,184.288,-35.8924],[5522.39,1299.41,29.3833,181.342,-33.4487],[5362.39,1399.76,28.3333,178.45,-30.6689],[5184.52,1498.81,27.1833,175.699,-27.4792],[4974.86,1599.2,25.85,173.132,-23.6029],[4715.68,1699.67,24.2333,171.035,-18.678],[4345.81,1799.83,21.9833,170.236,-11.5202],[3742.77,1860.86,18.45,174.664,-0.0434665]]], - [43,1927.07,[[7995.5,-2000.38,49.2,258.059,-65.2831],[7950.37,-1903.14,48.7833,256.443,-64.8998],[7903.04,-1802.99,48.35,254.747,-64.4926],[7853.47,-1700.06,47.9,252.969,-64.0603],[7805.32,-1601.97,47.4667,251.242,-63.6345],[7754.91,-1501.22,47.0167,249.433,-63.1824],[7704.06,-1401.59,46.5667,247.609,-62.7197],[7652.78,-1303.12,46.1167,245.77,-62.2461],[7599.15,-1202.23,45.65,243.849,-61.7431],[7545.05,-1102.61,45.1833,241.914,-61.2277],[7488.53,-1000.79,44.7,239.897,-60.6803],[7431.51,-900.37,44.2167,237.865,-60.1187],[7373.99,-801.376,43.7333,235.822,-59.5424],[7313.96,-700.485,43.2333,233.697,-58.9303],[7253.4,-601.16,42.7333,231.562,-58.3013],[7190.26,-500.191,42.2167,229.346,-57.6331],[7126.55,-400.941,41.7,227.122,-56.9457],[7060.19,-300.318,41.1667,224.821,-56.2153],[6993.22,-201.578,40.6333,222.515,-55.4629],[6923.52,-101.753,40.0833,220.135,-54.6632],[6851.04,-1.05833,39.5167,217.683,-53.8131],[6777.88,97.4185,38.95,215.236,-52.9355],[6699.68,199.236,38.35,212.651,-51.9752],[6620.71,298.495,37.75,210.079,-50.9818],[6538.76,397.808,37.1333,207.453,-49.925],[6451.52,499.479,36.4833,204.708,-48.7704],[6363.39,598.016,35.8333,201.995,-47.5725],[6269.79,698.178,35.15,199.184,-46.2651],[6170.59,799.396,34.4333,196.29,-44.839],[6067.97,898.848,33.7,193.396,-43.3197],[5959.51,998.3,32.9333,190.457,-41.6646],[5842.64,1099.08,32.1167,187.439,-39.8245],[5719.56,1198.23,31.2667,184.439,-37.8232],[5585.17,1298.5,30.35,181.39,-35.5652],[5436.62,1399.87,29.35,178.317,-32.9833],[5275.94,1498.63,28.2833,175.372,-30.0945],[5089.86,1599.27,27.0667,172.489,-26.6354],[4872.05,1698.96,25.6667,169.891,-22.4546],[4591.53,1799.62,23.9,167.864,-16.9182],[4136.58,1899.79,21.1167,167.935,-7.8101],[3739.7,1927.07,18.7667,171.476,-0.0398945]]], - [44,1993.24,[[7947.78,-2002.35,49.7833,258.692,-65.8764],[7901.78,-1900.51,49.35,257.003,-65.4875],[7857.18,-1803.52,48.9333,255.363,-65.1055],[7810.41,-1703.62,48.5,253.642,-64.6997],[7761.43,-1600.96,48.05,251.838,-64.2687],[7713.86,-1503.15,47.6167,250.085,-63.8442],[7664.05,-1402.68,47.1667,248.249,-63.3933],[7613.81,-1303.35,46.7167,246.398,-62.9317],[7561.27,-1201.56,46.25,244.462,-62.4414],[7508.27,-1101.03,45.7833,242.51,-61.9389],[7454.81,-1001.79,45.3167,240.545,-61.4239],[7398.96,-900.36,44.8333,238.495,-60.8768],[7342.62,-800.346,44.35,236.431,-60.3152],[7285.79,-701.762,43.8667,234.354,-59.7388],[7226.49,-601.306,43.3667,232.194,-59.1263],[7166.66,-502.424,42.8667,230.024,-58.4967],[7104.29,-401.924,42.35,227.771,-57.8277],[7041.36,-303.153,41.8333,225.509,-57.1391],[6975.81,-203.036,41.3,223.168,-56.4071],[6907.59,-101.774,40.75,220.749,-55.6288],[6838.74,-2.55717,40.2,218.328,-54.8259],[6767.15,97.4983,39.6333,215.833,-53.972],[6692.75,198.165,39.05,213.268,-53.0637],[6615.49,299.205,38.45,210.637,-52.0971],[6537.49,397.669,37.85,208.019,-51.0966],[6454.35,498.77,37.2167,205.272,-50.0024],[6368.17,599.462,36.5667,202.478,-48.8369],[6278.88,699.458,35.9,199.645,-47.5955],[6186.42,798.46,35.2167,196.784,-46.2727],[6088.43,898.435,34.5,193.838,-44.8289],[5984.77,998.77,33.75,190.827,-43.2538],[5875.29,1098.81,32.9667,187.774,-41.5366],[5757.48,1199.82,32.1333,184.646,-39.6267],[5633.5,1298.86,31.2667,181.546,-37.5476],[5498.31,1398.56,30.3333,178.408,-35.2013],[5349.1,1498.82,29.3167,175.26,-32.5184],[5182.87,1598.74,28.2,172.176,-29.4212],[4991.36,1698.94,26.9333,169.22,-25.7247],[4760.51,1799.18,25.4333,166.571,-21.1172],[4451.14,1899.7,23.4667,164.707,-14.7673],[3733.61,1993.24,19.0833,168.273,-0.0537348]]], - [45,2059.32,[[7893.48,-2002.24,50.35,259.299,-66.4553],[7850.16,-1903.63,49.9333,257.668,-66.0908],[7804.72,-1802.03,49.5,255.955,-65.7036],[7758.9,-1701.41,49.0667,254.225,-65.3078],[7712.69,-1601.81,48.6333,252.478,-64.9032],[7666.1,-1503.22,48.2,250.715,-64.4896],[7617.31,-1401.94,47.75,248.867,-64.0501],[7568.11,-1301.79,47.3,247.003,-63.6002],[7518.49,-1202.78,46.85,245.123,-63.1396],[7466.59,-1101.34,46.3833,243.157,-62.6502],[7414.24,-1001.17,45.9167,241.176,-62.1485],[7361.44,-902.278,45.45,239.179,-61.6341],[7306.29,-801.234,44.9667,237.097,-61.0875],[7250.65,-701.609,44.4833,235,-60.5262],[7192.59,-600.064,43.9833,232.817,-59.9298],[7134.01,-500.082,43.4833,230.621,-59.3167],[7074.92,-401.685,42.9833,228.414,-58.6862],[7013.32,-301.696,42.4667,226.123,-58.0159],[6949.16,-200.307,41.9333,223.749,-57.3032],[6884.41,-100.799,41.4,221.368,-56.5685],[6817.03,-0.179513,40.85,218.907,-55.7871],[6749.04,98.3821,40.3,216.443,-54.9806],[6678.34,197.748,39.7333,213.904,-54.1223],[6604.88,297.689,39.15,211.293,-53.2088],[6528.59,397.966,38.55,208.616,-52.2362],[6449.44,498.328,37.9333,205.876,-51.2004],[6367.34,598.512,37.3,203.079,-50.0968],[6282.25,698.242,36.65,200.235,-48.9207],[6191.89,799.662,35.9667,197.278,-47.6351],[6098.36,899.862,35.2667,194.295,-46.2636],[6001.6,998.52,34.55,191.298,-44.8005],[5896.97,1099.59,33.7833,188.168,-43.1667],[5788.87,1198.03,33,185.065,-41.422],[5670.23,1299.22,32.15,181.825,-39.4401],[5543.08,1399.89,31.25,178.564,-37.2387],[5407.18,1498.83,30.3,175.338,-34.7986],[5254.96,1599.27,29.25,172.072,-31.9621],[5083.37,1699.72,28.0833,168.865,-28.6416],[4884.11,1799.9,26.75,165.827,-24.6394],[4640.54,1899.11,25.15,163.197,-19.575],[4287.13,1999.53,22.8833,161.658,-12.0251]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 48.6501; -_maxRange = 6858.1; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg6.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg6.sqf deleted file mode 100644 index d01e32cf54..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg6.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg6 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[6597.83,-2002.54,21.95,286.306,-36.2745],[6458.45,-1901.98,21.35,286.596,-35.3198],[6313.31,-1800.95,20.7333,286.987,-34.3279],[6166.2,-1702.32,20.1167,287.477,-33.3256],[6008.98,-1600.98,19.4667,288.106,-32.2586],[5849.51,-1502.36,18.8167,288.855,-31.1816],[5679.41,-1401.65,18.1333,289.778,-30.0392],[5502.48,-1301.7,17.4333,290.876,-28.8593],[5314.17,-1200.52,16.7,292.198,-27.614],[5118.4,-1100.82,15.95,293.742,-26.3318],[4910.4,-1000.84,15.1667,295.571,-24.9851],[4689.63,-901.187,14.35,297.725,-23.5748],[4450.85,-800.627,13.4833,300.302,-22.0734],[4193.11,-700.184,12.5667,303.37,-20.4829],[3915.36,-600.968,11.6,307.008,-18.8063],[3606.49,-501.149,10.55,311.454,-16.9902],[3254.2,-400.149,9.38333,317.035,-14.9841],[2849.82,-300.184,8.08333,324.103,-12.7711],[2361.39,-200.773,6.56667,333.566,-10.2303],[1699.4,-100.43,4.6,347.975,-7.02147],[58.804,-0.0224213,0.133333,391.254,-0.21499],[6.54675,0.0972759,0,392.805,-0.0238405]]], - [1,2.40849,[[6754.32,-2000.42,22.6167,284.183,-36.6637],[6620.53,-1902.45,22.0333,284.378,-35.7332],[6477.26,-1801.2,21.4167,284.673,-34.7384],[6332.06,-1702.34,20.8,285.064,-33.7327],[6176.9,-1600.76,20.15,285.585,-32.6614],[6019.55,-1501.92,19.5,286.223,-31.5793],[5851.72,-1400.99,18.8167,287.026,-30.431],[5677.18,-1300.82,18.1167,287.997,-29.2442],[5495.7,-1201.69,17.4,289.153,-28.0192],[5302.71,-1101.7,16.65,290.548,-26.7279],[5097.7,-1001.43,15.8667,292.216,-25.3706],[4880.15,-901.488,15.05,294.196,-23.948],[4644.9,-800.64,14.1833,296.581,-22.4322],[4395.7,-701.689,13.2833,299.384,-20.8544],[4117.54,-600.42,12.3,302.845,-19.1296],[3813.5,-500.326,11.25,307.028,-17.2912],[3471.86,-400.424,10.1,312.221,-15.2874],[3074.29,-300.021,8.8,318.913,-13.0422],[2594.35,-200.143,7.28333,327.905,-10.4611],[1955.64,-100.687,5.35,341.39,-7.25107],[538.819,-0.0902538,1.38333,377.265,-1.04395],[272.161,2.4072,0.683333,384.911,-0.0115433]]], - [2,9.31902,[[6914.68,-2001.56,23.3167,282.124,-37.1211],[6778.86,-1900.49,22.7167,282.233,-36.1623],[6641.29,-1801.66,22.1167,282.427,-35.1922],[6498.04,-1702.46,21.5,282.718,-34.1838],[6344.98,-1600.54,20.85,283.13,-33.109],[6189.78,-1501.35,20.2,283.655,-32.0228],[6024.25,-1400.08,19.5167,284.337,-30.8692],[5856.27,-1301.91,18.8333,285.157,-29.7047],[5673.22,-1200.07,18.1,286.199,-28.4439],[5487.23,-1101.92,17.3667,287.417,-27.1729],[5285.25,-1001.19,16.5833,288.921,-25.8057],[5070.95,-900.796,15.7667,290.725,-24.3715],[4843.77,-801.374,14.9167,292.871,-22.8715],[4593.92,-700.051,14,295.508,-21.2485],[4329.51,-601.614,13.05,298.614,-19.564],[4030.57,-500.741,12,302.514,-17.7034],[3694.78,-400.005,10.85,307.381,-15.6731],[3314.36,-301.108,9.58333,313.51,-13.4533],[2848.77,-200.774,8.08333,321.887,-10.8586],[2233.94,-100.665,6.18333,334.391,-7.64512],[1037.88,-0.00879911,2.73333,363.262,-2.09452],[532.291,9.31688,1.36667,377.215,-0.0194469]]], - [3,20.647,[[7071.12,-2000.44,24.0167,280.143,-37.5936],[6940.86,-1901.77,23.4333,280.16,-36.6606],[6805.17,-1802.5,22.8333,280.258,-35.6893],[6660.06,-1700.2,22.2,280.454,-34.6516],[6512.99,-1600.46,21.5667,280.749,-33.6016],[6359.96,-1500.82,20.9167,281.161,-32.512],[6200.8,-1401.5,20.25,281.705,-31.3824],[6031.21,-1300.42,19.55,282.413,-30.1843],[5854.94,-1200.36,18.8333,283.291,-28.9458],[5671.74,-1101.63,18.1,284.359,-27.6674],[5472.82,-1000.3,17.3167,285.698,-26.2911],[5266.15,-901.291,16.5167,287.287,-24.8756],[5042.59,-801.126,15.6667,289.234,-23.3631],[4801.29,-700.814,14.7667,291.602,-21.7547],[4541.31,-601.449,13.8167,294.461,-20.0525],[4252.2,-501.112,12.7833,298.015,-18.2002],[3927.24,-400.531,11.65,302.474,-16.1734],[3553.91,-300.098,10.3833,308.2,-13.9216],[3107.58,-200.016,8.91667,315.877,-11.3433],[2527.11,-100.148,7.08333,327.188,-8.18377],[1517.84,-0.0403287,4.08333,350.315,-3.22352],[780.753,20.6446,2.03333,369.883,-0.0225321]]], - [4,36.2162,[[7227.26,-2000.03,24.7333,278.243,-38.1073],[7098.78,-1900.89,24.15,278.172,-37.1742],[6964.96,-1801.14,23.55,278.176,-36.2023],[6825.66,-1701,22.9333,278.265,-35.1907],[6680.69,-1600.69,22.3,278.452,-34.1391],[6529.88,-1500.47,21.65,278.75,-33.047],[6373.04,-1400.56,20.9833,279.171,-31.9141],[6209.96,-1301.24,20.3,279.732,-30.7403],[6036.37,-1200.48,19.5833,280.467,-29.4966],[5855.97,-1101.02,18.85,281.384,-28.2117],[5664.34,-1001.06,18.0833,282.528,-26.8567],[5460.99,-901.176,17.2833,283.936,-25.4318],[5241.06,-800.091,16.4333,285.683,-23.9076],[5008.18,-700.632,15.55,287.787,-22.3152],[4752.65,-600.134,14.6,290.397,-20.5963],[4473.21,-500.142,13.5833,293.611,-18.7537],[4163.65,-400.931,12.4833,297.607,-16.7619],[3807.3,-301.029,11.25,302.768,-14.5382],[3380.27,-200.357,9.81667,309.732,-11.9774],[2838.99,-100.611,8.06667,319.758,-8.90313],[1974.02,-0.100112,5.41667,338.478,-4.40334],[1017.88,36.2141,2.68333,362.888,-0.0196339]]], - [5,55.8579,[[7382.83,-2000.48,25.4667,276.432,-38.6618],[7256.16,-1900.77,24.8833,276.271,-37.7296],[7124.25,-1800.44,24.2833,276.18,-36.7579],[6990.68,-1702.39,23.6833,276.168,-35.7735],[6847.85,-1601.4,23.05,276.247,-34.7212],[6699.28,-1500.47,22.4,276.428,-33.6276],[6548.68,-1402.33,21.75,276.718,-32.5209],[6388.11,-1302.21,21.0667,277.146,-31.3441],[6217.23,-1200.6,20.35,277.737,-30.0962],[6039.67,-1100.28,19.6167,278.501,-28.8059],[5855.22,-1001.56,18.8667,279.457,-27.4737],[5655.21,-900.649,18.0667,280.681,-26.0403],[5443.21,-800.424,17.2333,282.193,-24.5357],[5218.69,-701.568,16.3667,284.036,-22.961],[4972.16,-601.345,15.4333,286.345,-21.257],[4702.42,-501.268,14.4333,289.213,-19.4258],[4398.79,-400.081,13.3333,292.867,-17.4103],[4058.98,-300.551,12.1333,297.486,-15.2173],[3655.66,-200.21,10.75,303.685,-12.7069],[3152.33,-100.378,9.08333,312.493,-9.72367],[2407.82,-0.207453,6.73333,327.646,-5.63096],[1244,55.8569,3.31667,356.206,-0.00958726]]], - [6,79.4105,[[7537.67,-2001.98,26.2167,274.716,-39.2567],[7412.85,-1901.6,25.6333,274.466,-38.3262],[7282.87,-1800.58,25.0333,274.28,-37.3558],[7151.26,-1701.84,24.4333,274.17,-36.372],[7010.55,-1600.13,23.8,274.141,-35.3198],[6867.97,-1501.03,23.1667,274.206,-34.2537],[6719.68,-1402.07,22.5167,274.376,-33.1457],[6561.6,-1301.09,21.8333,274.674,-31.9668],[6397.32,-1200.92,21.1333,275.111,-30.7448],[6226.62,-1101.86,20.4167,275.705,-29.4798],[6045.23,-1002.03,19.6667,276.494,-28.1422],[5852.7,-902.008,18.8833,277.511,-26.7318],[5644.36,-800.441,18.05,278.819,-25.2182],[5423.77,-700.188,17.1833,280.441,-23.6322],[5185.99,-600.215,16.2667,282.463,-21.9447],[4925.66,-500.024,15.2833,285.001,-20.1267],[4641.51,-401.252,14.2333,288.159,-18.1815],[4313.37,-300.309,13.05,292.304,-15.991],[3933.16,-200.045,11.7167,297.768,-13.5347],[3466.51,-100.028,10.1333,305.429,-10.6489],[2820.5,-0.372936,8.03333,317.73,-6.90319],[1465.22,79.4087,3.95,349.659,-0.0180306]]], - [7,106.719,[[7688.02,-2001.78,26.9667,273.091,-39.865],[7565.03,-1900.69,26.3833,272.754,-38.9369],[7440.54,-1801.74,25.8,272.482,-37.9954],[7310.92,-1702.21,25.2,272.273,-37.0134],[7176.02,-1602.33,24.5833,272.139,-35.99],[7035.67,-1502.32,23.95,272.091,-34.9247],[6889.71,-1402.43,23.3,272.141,-33.8167],[6734.14,-1300.47,22.6167,272.307,-32.6367],[6576.36,-1201.67,21.9333,272.597,-31.442],[6408.48,-1101.49,21.2167,273.04,-30.1741],[6230.09,-1000.49,20.4667,273.666,-28.8322],[6044.85,-901.347,19.7,274.486,-27.446],[5844.25,-800.384,18.8833,275.569,-25.9551],[5631.8,-700.463,18.0333,276.94,-24.3902],[5402.67,-600.499,17.1333,278.678,-22.7212],[5156.04,-501.602,16.1833,280.848,-20.9497],[4877.59,-400.353,15.1333,283.673,-18.9846],[4569.88,-300.752,14,287.252,-16.8615],[4212.15,-200.375,12.7167,292.013,-14.4635],[3780.92,-100.179,11.2167,298.599,-11.6821],[3213.19,-0.598022,9.31667,308.65,-8.21661],[2070.36,99.8903,5.73333,333.461,-1.95561],[1675.78,106.717,4.56667,343.393,-0.0179902]]], - [8,137.635,[[7837.31,-2002.94,27.7333,271.572,-40.5121],[7716.17,-1901.05,27.15,271.147,-39.5874],[7593.56,-1801.3,26.5667,270.784,-38.6488],[7465.91,-1700.94,25.9667,270.479,-37.6692],[7333.07,-1600.21,25.35,270.243,-36.6477],[7198.54,-1501.94,24.7333,270.089,-35.6117],[7054.88,-1401.08,24.0833,270.021,-34.5045],[6905.55,-1300.56,23.4167,270.056,-33.3534],[6750.34,-1200.65,22.7333,270.21,-32.1579],[6589.09,-1101.62,22.0333,270.498,-30.9178],[6417.65,-1001.54,21.3,270.947,-29.603],[6235.64,-900.962,20.5333,271.589,-28.2127],[6042.63,-800.504,19.7333,272.456,-26.7464],[5838.15,-700.812,18.9,273.585,-25.2043],[5617.51,-600.744,18.0167,275.047,-23.556],[5379.93,-501.385,17.0833,276.906,-21.8023],[5115.77,-400.739,16.0667,279.319,-19.8822],[4823.48,-300.925,14.9667,282.412,-17.799],[4487.47,-200.473,13.7333,286.514,-15.464],[4090.22,-100.403,12.3167,292.108,-12.7948],[3581.94,-0.0453561,10.5667,300.423,-9.53689],[2788.14,99.7025,7.96667,315.93,-4.82807],[1875.97,137.634,5.16667,337.387,-0.00832188]]], - [9,172.013,[[7981.94,-2002.69,28.5,270.147,-41.1714],[7866.05,-1902.88,27.9333,269.651,-40.2772],[7745.35,-1802.23,27.35,269.198,-39.3426],[7619.69,-1700.94,26.75,268.797,-38.3665],[7492.49,-1601.96,26.15,268.467,-37.3757],[7356.52,-1500.02,25.5167,268.199,-36.3143],[7218.78,-1400.72,24.8833,268.018,-35.2373],[7075.57,-1301.58,24.2333,267.93,-34.1164],[6922.97,-1200.44,23.55,267.948,-32.9215],[6764.42,-1100.15,22.85,268.091,-31.681],[6599.75,-1000.99,22.1333,268.375,-30.3945],[6424.83,-901.101,21.3833,268.831,-29.0317],[6239.26,-801.063,20.6,269.489,-27.5918],[6042.6,-701.511,19.7833,270.385,-26.0747],[5830.27,-601.241,18.9167,271.581,-24.4492],[5601.53,-501.314,18,273.139,-22.7156],[5351.27,-401.243,17.0167,275.162,-20.8437],[5073.94,-301.185,15.95,277.795,-18.8038],[4758.89,-200.737,14.7667,281.28,-16.5369],[4389.61,-100.007,13.4167,286.03,-13.9559],[3937.7,-0.272244,11.8167,292.806,-10.9211],[3299.48,99.6514,9.65,304.137,-6.88819],[2071.54,172.012,5.76667,331.485,-0.016129]]], - [10,209.715,[[8121.83,-2001.15,29.2667,268.818,-41.8418],[8007.71,-1900.5,28.7,268.24,-40.9523],[7892.26,-1801.85,28.1333,267.716,-40.0487],[7772.03,-1702.41,27.55,267.234,-39.1041],[7646.86,-1602.41,26.95,266.805,-38.1174],[7516.63,-1502.05,26.3333,266.438,-37.0877],[7381.18,-1401.58,25.7,266.143,-36.014],[7240.35,-1301.24,25.05,265.932,-34.8956],[7093.98,-1201.28,24.3833,265.819,-33.7318],[6941.9,-1101.98,23.7,265.817,-32.522],[6780.13,-1001.3,22.9833,265.945,-31.2358],[6612.17,-902.025,22.25,266.223,-29.9023],[6429.98,-800.215,21.4667,266.693,-28.4599],[6240.92,-700.822,20.6667,267.368,-26.9694],[6036.65,-600.372,19.8167,268.313,-25.3687],[5820.59,-501.702,18.9333,269.559,-23.6894],[5579.64,-400.518,17.9667,271.248,-21.8367],[5316.71,-300.349,16.9333,273.452,-19.8439],[5021.79,-200.17,15.8,276.372,-17.6498],[4683.77,-100.454,14.5333,280.297,-15.1963],[4276.18,-0.524311,13.05,285.842,-12.3354],[3739.38,99.3828,11.1667,294.476,-8.74772],[2705.38,199.995,7.75,315.214,-2.46804],[2257.03,209.714,6.35,325.818,-0.012979]]], - [11,250.606,[[8260.22,-2001.48,30.05,267.602,-42.549],[8151.2,-1902.86,29.5,266.963,-41.6912],[8034.24,-1800.31,28.9167,266.336,-40.7667],[7919.3,-1702.74,28.35,265.782,-39.854],[7796.16,-1601.67,27.75,265.256,-38.8723],[7668.04,-1500.21,27.1333,264.786,-37.847],[7538.32,-1401.25,26.5167,264.391,-36.8055],[7403.42,-1302.23,25.8833,264.069,-35.7194],[7259.55,-1200.91,25.2167,263.827,-34.5588],[7110.09,-1100.21,24.5333,263.687,-33.3511],[6954.85,-1000.39,23.8333,263.665,-32.0961],[6793.64,-901.757,23.1167,263.776,-30.7932],[6618.62,-800.281,22.35,264.055,-29.3807],[6436.99,-700.979,21.5667,264.518,-27.919],[6240.61,-600.274,20.7333,265.223,-26.3454],[6032.85,-501.022,19.8667,266.199,-24.6912],[5805.01,-400.491,18.9333,267.544,-22.8927],[5556.06,-300.222,17.9333,269.345,-20.9505],[5280.55,-200.45,16.85,271.739,-18.8343],[4968.12,-100.902,15.65,274.965,-16.4832],[4598.11,-0.779188,14.2667,279.481,-13.7757],[4132.95,99.3394,12.5833,286.213,-10.5049],[3434.6,199.877,10.1667,298.471,-5.90316],[2438.02,250.603,6.93333,320.24,-0.0269902]]], - [12,294.555,[[8393.68,-2000.82,30.8333,266.484,-43.2657],[8286.38,-1901.26,30.2833,265.769,-42.4141],[8174.58,-1800.65,29.7167,265.079,-41.5221],[8061.49,-1702.06,29.15,264.439,-40.6153],[7943.73,-1602.7,28.5667,263.836,-39.6666],[7817.73,-1500.04,27.95,263.264,-38.647],[7693.64,-1402.54,27.35,262.776,-37.6389],[7561.04,-1302.2,26.7167,262.339,-36.5577],[7423.21,-1202.02,26.0667,261.978,-35.4304],[7279.97,-1102.25,25.4,261.708,-34.2562],[7127.53,-1000.79,24.7,261.537,-33.0043],[6969.24,-900.45,23.9833,261.491,-31.7034],[6804.93,-801.546,23.25,261.586,-30.3531],[6626.76,-700.169,22.4667,261.856,-28.891],[6441.91,-601.255,21.6667,262.321,-27.3783],[6242.26,-501.356,20.8167,263.039,-25.7518],[6027.15,-401.511,19.9167,264.063,-24.0108],[5791.74,-301.18,18.95,265.485,-22.123],[5530.79,-200.456,17.9,267.43,-20.0567],[5238.54,-100.201,16.75,270.068,-17.7816],[4904.18,-1.00825,15.4667,273.681,-15.2379],[4492.81,99.5231,13.9333,278.986,-12.2079],[3940.48,199.618,11.95,287.574,-8.33448],[2609.21,294.552,7.5,314.874,-0.0287269]]], - [13,341.435,[[8525.37,-2002.37,31.6333,265.487,-44.0168],[8419.8,-1901.8,31.0833,264.698,-43.1724],[8309.8,-1800.14,30.5167,263.927,-42.2874],[8198.55,-1700.49,29.95,263.204,-41.3873],[8082.7,-1600.03,29.3667,262.513,-40.4449],[7965.51,-1501.76,28.7833,261.878,-39.4867],[7840.13,-1400.27,28.1667,261.272,-38.4567],[7713.21,-1301.3,27.55,260.739,-37.4096],[7581.23,-1202.28,26.9167,260.27,-36.3165],[7440.53,-1100.99,26.25,259.87,-35.1472],[7294.37,-1000.34,25.5667,259.564,-33.9293],[7142.59,-900.592,24.8667,259.368,-32.6621],[6985.02,-802.053,24.15,259.296,-31.3451],[6813.98,-700.71,23.3833,259.374,-29.9157],[6636.54,-601.573,22.6,259.627,-28.4345],[6444.75,-501.078,21.7667,260.101,-26.8379],[6237.98,-400.234,20.8833,260.849,-25.1247],[6015.54,-300.142,19.95,261.928,-23.2945],[5772.6,-200.395,18.95,263.436,-21.315],[5503.87,-101.249,17.8667,265.504,-19.155],[5195,-1.17886,16.65,268.4,-16.7179],[4825.57,99.9591,15.2333,272.589,-13.8784],[4363.15,199.728,13.5167,278.931,-10.4575],[3649.18,299.665,10.9833,291.06,-5.50629],[2770.82,341.434,8.05,309.706,-0.0170468]]], - [14,391.124,[[8648.77,-2000.13,32.4167,264.563,-44.7505],[8548.05,-1901.63,31.8833,263.728,-43.9391],[8443.04,-1801.89,31.3333,262.904,-43.0879],[8333.64,-1701.1,30.7667,262.099,-42.1956],[8223.01,-1602.33,30.2,261.341,-41.2877],[8107.81,-1502.79,29.6167,260.614,-40.3371],[7987.93,-1402.72,29.0167,259.925,-39.3424],[7863.23,-1302.32,28.4,259.284,-38.3024],[7733.58,-1201.85,27.7667,258.701,-37.216],[7598.84,-1101.54,27.1167,258.186,-36.0821],[7458.84,-1001.65,26.45,257.753,-34.8997],[7309.87,-900.086,25.75,257.408,-33.6377],[7158.85,-801.962,25.05,257.182,-32.3554],[6994.74,-700.704,24.3,257.08,-30.9602],[6824.49,-601.399,23.5333,257.135,-29.5125],[6640.31,-500.363,22.7167,257.382,-27.9481],[6445.47,-400.484,21.8667,257.857,-26.2978],[6235.61,-300.695,20.9667,258.618,-24.5287],[6006.04,-200.467,20,259.749,-22.6075],[5755.75,-101.432,18.9667,261.34,-20.5346],[5471.11,-1.25461,17.8167,263.603,-18.2116],[5141.37,98.9811,16.5167,266.828,-15.5755],[4741.11,199.026,14.9833,271.605,-12.4694],[4195.02,299.725,12.9667,279.623,-8.42366],[2928.13,391.122,8.6,304.603,-0.0215311]]], - [15,443.499,[[8770.2,-2000.42,33.2167,263.762,-45.5166],[8671.12,-1900.9,32.6833,262.859,-44.7134],[8567.83,-1800.08,32.1333,261.963,-43.8703],[8463.42,-1701.15,31.5833,261.105,-43.0123],[8354.63,-1601.2,31.0167,260.265,-42.1126],[8241.38,-1500.44,30.4333,259.449,-41.1699],[8126.81,-1401.89,29.85,258.687,-40.2105],[8004.27,-1300.11,29.2333,257.944,-39.1782],[7880.24,-1200.85,28.6167,257.268,-38.1277],[7751.29,-1101.57,27.9833,256.65,-37.03],[7613.83,-1000.01,27.3167,256.087,-35.8545],[7474.58,-901.511,26.65,255.621,-34.6588],[7326.42,-801.432,25.95,255.242,-33.3825],[7169.04,-700.315,25.2167,254.974,-32.0231],[7005.75,-600.901,24.4667,254.845,-30.6106],[6832.67,-501.453,23.6833,254.876,-29.1127],[6645.63,-400.652,22.85,255.108,-27.4957],[6447.89,-301.365,21.9833,255.579,-25.7908],[6231.19,-200.873,21.05,256.366,-23.9315],[5994.6,-100.731,20.05,257.55,-21.9171],[5733.04,-1.1981,18.9667,259.256,-19.7148],[5432.56,99.2592,17.75,261.733,-17.2249],[5077.7,199.69,16.35,265.366,-14.3518],[4633.12,299.244,14.65,270.988,-10.8743],[3945.66,399.907,12.1333,281.973,-5.80904],[3076.12,443.498,9.13333,299.681,-0.0112805]]], - [16,498.445,[[8886.4,-2000.28,34.0167,263.057,-46.2889],[8792.01,-1902.82,33.5,262.118,-45.5195],[8690.46,-1800.86,32.95,261.151,-44.6857],[8587.8,-1700.76,32.4,260.219,-43.8366],[8484.02,-1602.55,31.85,259.326,-42.9723],[8372.72,-1500.49,31.2667,258.424,-42.0388],[8260.14,-1400.61,30.6833,257.572,-41.0881],[8142.99,-1300.19,30.0833,256.751,-40.0925],[8024.47,-1202.13,29.4833,255.99,-39.079],[7897.86,-1101.24,28.85,255.257,-37.9899],[7766.3,-1000.51,28.2,254.585,-36.8519],[7629.63,-900.214,27.5333,253.986,-35.664],[7487.72,-800.617,26.85,253.472,-34.4249],[7340.39,-702.006,26.15,253.059,-33.134],[7180.34,-600.242,25.4,252.75,-31.7274],[7014.33,-500.437,24.6333,252.588,-30.2658],[6838.49,-400.912,23.8333,252.594,-28.7165],[6648.68,-300.416,22.9833,252.81,-27.0457],[6448.12,-201.802,22.1,253.277,-25.2849],[6224.71,-100.799,21.1333,254.089,-23.3333],[5981.25,-0.96493,20.1,255.328,-21.2235],[5708.56,98.6804,18.9667,257.156,-18.8884],[5392.41,198.811,17.6833,259.858,-16.2282],[5008.32,299.336,16.1667,263.979,-13.0792],[4497.01,399.393,14.2167,270.871,-9.05599],[3219.87,498.443,9.66667,294.814,-0.0168756]]], - [17,555.844,[[9000.31,-2003.04,34.8333,262.48,-47.091],[8904.51,-1901.33,34.3,261.447,-46.3064],[8807.69,-1801.35,33.7667,260.443,-45.5072],[8706.77,-1700.07,33.2167,259.44,-44.6678],[8604.76,-1600.68,32.6667,258.473,-43.8127],[8498.5,-1500.27,32.1,257.516,-42.9154],[8391.05,-1401.9,31.5333,256.603,-42.0015],[8275.99,-1300.01,30.9333,255.687,-41.0158],[8159.58,-1200.49,30.3333,254.827,-40.0116],[8038.52,-1100.69,29.7167,254.007,-38.9604],[7912.68,-1000.85,29.0833,253.236,-37.8608],[7781.94,-901.241,28.4333,252.525,-36.7116],[7646.14,-802.109,27.7667,251.886,-35.5116],[7501.67,-701.376,27.0667,251.32,-34.2289],[7351.76,-601.856,26.35,250.859,-32.8924],[7192.67,-501.676,25.6,250.514,-31.4694],[7024.07,-401.443,24.8167,250.313,-29.9581],[6845.61,-301.803,24,250.289,-28.3569],[6653.17,-201.572,23.1333,250.483,-26.6313],[6442.36,-100.081,22.2,250.962,-24.7461],[6216.17,-0.513953,21.2167,251.789,-22.7337],[5965.96,98.7954,20.15,253.084,-20.5262],[5678.27,199.487,18.95,255.07,-18.0205],[5342.4,299.625,17.5833,258.061,-15.1511],[4924.72,399.362,15.9333,262.784,-11.6869],[4310.04,499.578,13.6,271.72,-6.84126],[3354.52,555.844,10.1833,290.11,-0.00641565]]], - [18,615.587,[[9105.9,-2002.44,35.6333,261.966,-47.8731],[9014.66,-1902.83,35.1167,260.907,-47.1228],[8919.48,-1801.69,34.5833,259.839,-46.3338],[8823.31,-1702.29,34.05,258.799,-45.53],[8723.08,-1601.63,33.5,257.759,-44.6854],[8621.76,-1502.86,32.95,256.754,-43.8249],[8513.11,-1400.2,32.3667,255.729,-42.8948],[8406.38,-1302.57,31.8,254.778,-41.9741],[8292.08,-1201.48,31.2,253.821,-40.9808],[8173.24,-1100.06,30.5833,252.897,-39.9401],[8052.97,-1001.18,29.9667,252.037,-38.8796],[7927.98,-902.319,29.3333,251.225,-37.77],[7794.76,-801.234,28.6667,250.454,-36.5801],[7656.46,-700.838,27.9833,249.758,-35.3373],[7512.91,-601.417,27.2833,249.153,-34.0407],[7360.48,-501.032,26.55,248.643,-32.6577],[7198.85,-400.27,25.7833,248.254,-31.1859],[7031.28,-301.802,25,248.02,-29.656],[6846.64,-200.162,24.15,247.964,-27.9683],[6651.6,-100.372,23.2667,248.14,-26.1864],[6441.97,-1.50313,22.3333,248.602,-24.276],[6205.54,99.9463,21.3,249.465,-22.1328],[5944.78,199.933,20.1833,250.843,-19.79],[5646.25,299.732,18.9333,252.971,-17.1448],[5290.86,399.081,17.4833,256.269,-14.0619],[4822.62,499.528,15.6333,261.872,-10.1366],[3984.4,599.941,12.4833,275.376,-3.58551],[3485.01,615.586,10.7,285.453,-0.0115154]]], - [19,677.561,[[9206.13,-2001.78,36.4333,261.543,-48.659],[9116.43,-1901.09,35.9167,260.428,-47.9188],[9025.81,-1802,35.4,259.335,-47.1646],[8931.29,-1701.42,34.8667,258.231,-46.3714],[8835.78,-1602.58,34.3333,257.155,-45.563],[8736.23,-1502.51,33.7833,256.077,-44.7134],[8632.55,-1401.4,33.2167,255.003,-43.8211],[8527.75,-1302.35,32.65,253.969,-42.9114],[8418.64,-1202.55,32.0667,252.949,-41.9569],[8305.15,-1102.24,31.4667,251.952,-40.956],[8187.14,-1001.63,30.85,250.985,-39.9071],[8064.48,-900.978,30.2167,250.059,-38.8087],[7937.06,-800.526,29.5667,249.184,-37.6593],[7804.74,-700.54,28.9,248.371,-36.4576],[7667.38,-601.296,28.2167,247.634,-35.2022],[7521.41,-500.787,27.5,246.972,-33.8607],[7370,-401.785,26.7667,246.421,-32.4623],[7205.96,-300.391,25.9833,245.983,-30.9411],[7035.94,-201.559,25.1833,245.706,-29.3598],[6852.49,-101.854,24.3333,245.616,-27.6511],[6651.38,-0.554165,23.4167,245.768,-25.7781],[6435.54,99.1545,22.45,246.229,-23.773],[6196.63,199.033,21.4,247.101,-21.5656],[5925.62,299.521,20.2333,248.557,-19.0846],[5612.51,399.387,18.9167,250.859,-16.2609],[5225.44,499.998,17.3333,254.618,-12.8526],[4693.42,599.633,15.2333,261.416,-8.35467],[3611.29,677.558,11.2167,280.843,-0.0325526]]], - [20,741.663,[[9300.91,-2001.16,37.2333,261.211,-49.448],[9215.59,-1902.64,36.7333,260.08,-48.7421],[9126.54,-1802.4,36.2167,258.93,-47.9989],[9033.67,-1700.61,35.6833,257.765,-47.2168],[8939.82,-1600.56,35.15,256.625,-46.4194],[8844.99,-1502.27,34.6167,255.512,-45.6065],[8746.17,-1402.77,34.0667,254.396,-44.752],[8643.25,-1302.28,33.5,253.282,-43.8543],[8536.13,-1200.98,32.9167,252.177,-42.9116],[8427.82,-1101.91,32.3333,251.117,-41.9502],[8315.13,-1002.35,31.7333,250.078,-40.9417],[8197.98,-902.538,31.1167,249.068,-39.8845],[8073.01,-800.129,30.4667,248.073,-38.7477],[7946.5,-700.629,29.8167,247.155,-37.5879],[7815.13,-601.643,29.15,246.298,-36.375],[7675.43,-501.095,28.45,245.497,-35.0764],[7530.5,-401.798,27.7333,244.791,-33.7209],[7376.76,-301.89,26.9833,244.183,-32.2751],[7213.88,-201.983,26.2,243.701,-30.7366],[7038,-100.756,25.3667,243.373,-29.0696],[6852.2,-1.09833,24.5,243.247,-27.3053],[6648.75,99.7131,23.5667,243.373,-25.3733],[6430.58,198.494,22.5833,243.82,-23.3064],[6181.77,299.795,21.4833,244.73,-20.9621],[5904.5,399.006,20.2833,246.249,-18.3751],[5573.05,499.523,18.8833,248.766,-15.3325],[5154.49,599.815,17.1667,253.034,-11.5921],[4515.31,699.563,14.65,261.852,-6.16028],[3724.1,741.663,11.7,276.471,-0.00213206]]], - [21,807.783,[[9390.32,-2000.73,38.0333,260.967,-50.2393],[9306.46,-1901.13,37.5333,259.786,-49.5441],[9221.78,-1803.01,37.0333,258.621,-48.8356],[9130.53,-1700,36.5,257.398,-48.0652],[9041.22,-1601.86,35.9833,256.234,-47.3041],[8948.08,-1502.27,35.45,255.057,-46.5032],[8851.03,-1401.43,34.9,253.871,-45.6607],[8752.94,-1302.49,34.35,252.716,-44.8014],[8650.79,-1202.58,33.7833,251.562,-43.8983],[8544.48,-1101.91,33.2,250.414,-42.9498],[8433.9,-1000.69,32.6,249.282,-41.9541],[8322.05,-901.871,32,248.2,-40.938],[8202.61,-800.194,31.3667,247.12,-39.8435],[8081.75,-701.262,30.7333,246.107,-38.7265],[7952.97,-600.128,30.0667,245.118,-37.5267],[7822.59,-502.12,29.4,244.216,-36.3025],[7680.62,-400.296,28.6833,243.35,-34.9598],[7536.76,-302.187,27.9667,242.598,-33.5902],[7380.76,-201.408,27.2,241.931,-32.0961],[7215.61,-100.916,26.4,241.396,-30.5065],[7040.99,-1.38612,25.5667,241.026,-28.8195],[6852.97,98.288,24.6833,240.857,-26.9988],[6647.35,198.68,23.7333,240.951,-25.007],[6419.6,299.732,22.7,241.399,-22.8057],[6168.59,399.212,21.5833,242.318,-20.3931],[5877.55,499.581,20.3167,243.945,-17.6247],[5527.95,599.88,18.8333,246.702,-14.3577],[5069.84,699.697,16.95,251.629,-10.2058],[4173.13,799.961,13.45,265.479,-2.63441],[3837.45,807.781,12.2,272.039,-0.0207291]]], - [22,875.816,[[9474.21,-2000.59,38.8333,260.81,-51.0322],[9394.57,-1903.23,38.35,259.623,-50.3711],[9308.59,-1800.68,37.8333,258.367,-49.6507],[9224.56,-1702.95,37.3333,257.168,-48.9398],[9134.01,-1600.37,36.8,255.908,-48.1665],[9045.39,-1502.65,36.2833,254.708,-47.4024],[8950.09,-1400.43,35.7333,253.455,-46.5726],[8853.77,-1300.12,35.1833,252.23,-45.7258],[8756.43,-1201.72,34.6333,251.037,-44.8618],[8655.07,-1102.39,34.0667,249.842,-43.9535],[8549.58,-1002.31,33.4833,248.652,-42.9991],[8439.87,-901.73,32.8833,247.475,-41.997],[8325.81,-800.866,32.2667,246.319,-40.9454],[8210.44,-702.584,31.65,245.222,-39.8718],[8087.39,-601.825,31,244.135,-38.7165],[7959.63,-501.545,30.3333,243.098,-37.5066],[7827.04,-402.025,29.65,242.126,-36.2404],[7686.19,-301.252,28.9333,241.21,-34.8848],[7540.13,-202.008,28.2,240.393,-33.4691],[7381.95,-100.39,27.4167,239.664,-31.9258],[7218.06,-1.36222,26.6167,239.083,-30.318],[7041.3,98.5097,25.7667,238.66,-28.5766],[6847.6,199.944,24.85,238.446,-26.6632],[6639.84,299.742,23.8833,238.51,-24.6095],[6410.01,399.658,22.8333,238.943,-22.3422],[6153.22,498.759,21.6833,239.881,-19.8234],[5848.7,599.857,20.35,241.621,-16.8689],[5481.23,699.259,18.7833,244.629,-13.3723],[4963.33,799.934,16.65,250.541,-8.61671],[3942.14,875.814,12.6833,267.735,-0.020445]]], - [23,945.66,[[9552.58,-2000.86,39.6333,260.738,-51.8259],[9474.33,-1902.44,39.15,259.507,-51.1759],[9392.6,-1802.06,38.65,258.245,-50.4904],[9310.06,-1703.16,38.15,256.996,-49.7914],[9223.92,-1602.53,37.6333,255.721,-49.0547],[9134.09,-1500.35,37.1,254.424,-48.2788],[9046.19,-1403.03,36.5833,253.187,-47.5118],[8951.65,-1301.26,36.0333,251.895,-46.6786],[8856.11,-1201.4,35.4833,250.63,-45.8281],[8756.63,-1100.53,34.9167,249.359,-44.9334],[8656.08,-1001.75,34.35,248.123,-44.02],[8551.44,-902.255,33.7667,246.89,-43.0599],[8442.62,-802.284,33.1667,245.669,-42.0515],[8329.49,-702.065,32.55,244.467,-40.9928],[8211.96,-601.844,31.9167,243.294,-39.8821],[8089.9,-501.875,31.2667,242.159,-38.7177],[7963.18,-402.427,30.6,241.074,-37.4977],[7828.47,-301.416,29.9,240.027,-36.189],[7688.75,-201.668,29.1833,239.062,-34.8204],[7540.58,-101.316,28.4333,238.176,-33.3577],[7383.66,-0.973069,27.65,237.396,-31.7977],[7217.69,98.7021,26.8333,236.754,-30.1378],[7038.88,198.881,25.9667,236.276,-28.341],[6846.71,298.463,25.05,236.017,-26.4038],[6633.44,399.496,24.05,236.043,-24.2517],[6398.06,499.835,22.9667,236.463,-21.8807],[6131.93,599.701,21.7667,237.438,-19.2155],[5817.91,699.798,20.3833,239.276,-16.1074],[5425.01,799.36,18.7,242.629,-12.3005],[4826.76,899.709,16.2333,249.953,-6.74607],[4038.35,945.66,13.15,263.552,-3.74259e-005]]], - [24,1017.21,[[9625.39,-2001.66,40.4333,260.748,-52.6197],[9548.52,-1902.16,39.95,259.476,-51.9812],[9468.24,-1800.65,39.45,258.17,-51.3075],[9387.16,-1700.61,38.95,256.874,-50.6204],[9305.29,-1602.06,38.45,255.591,-49.9195],[9219.85,-1501.8,37.9333,254.28,-49.1806],[9130.76,-1400.01,37.4,252.946,-48.4021],[9043.57,-1303.08,36.8833,251.672,-47.6324],[8949.82,-1201.73,36.3333,250.34,-46.796],[8855.08,-1102.3,35.7833,249.035,-45.9419],[8756.44,-1001.9,35.2167,247.721,-45.0432],[8653.79,-900.72,34.6333,246.405,-44.0981],[8550.02,-801.792,34.05,245.129,-43.1325],[8442.11,-702.414,33.45,243.863,-42.1178],[8326.89,-600.164,32.8167,242.582,-41.0231],[8210.32,-500.673,32.1833,241.361,-39.9041],[8089.27,-401.473,31.5333,240.178,-38.7304],[7960.46,-300.407,30.85,239.016,-37.4692],[7826.85,-200.35,30.15,237.92,-36.1486],[7688.29,-101.603,29.4333,236.905,-34.7669],[7538.07,-0.165235,28.6667,235.947,-33.2564],[7382.45,98.929,27.8833,235.116,-31.6796],[7214.5,199.223,27.05,234.409,-29.9665],[7033.73,299.675,26.1667,233.874,-28.113],[6839.63,399.154,25.2333,233.566,-26.1154],[6624.51,499.594,24.2167,233.554,-23.8985],[6387.36,598.796,23.1167,233.949,-21.4583],[6112.19,699.339,21.8667,234.952,-18.6434],[5785.22,799.373,20.4167,236.912,-15.34],[5359.41,899.665,18.5833,240.713,-11.1392],[4610.17,999.925,15.5,250.776,-4.14293],[4134.88,1017.21,13.6333,259.308,-0.0304675]]], - [25,1090.38,[[9692.57,-2003.1,41.2333,260.839,-53.413],[9617.08,-1902.51,40.75,259.528,-52.7862],[9540.86,-1803.26,40.2667,258.225,-52.147],[9461.26,-1702.02,39.7667,256.885,-51.4726],[9380.88,-1602.25,39.2667,255.555,-50.7844],[9296.99,-1500.73,38.75,254.193,-50.0586],[9212.27,-1400.82,38.2333,252.847,-49.3177],[9126.71,-1302.55,37.7167,251.516,-48.5615],[9037.49,-1202.85,37.1833,250.163,-47.7645],[8944.54,-1101.91,36.6333,248.791,-46.9251],[8850.62,-1002.89,36.0833,247.445,-46.0676],[8749.94,-900.018,35.5,246.049,-45.1382],[8651.08,-802.216,34.9333,244.728,-44.2155],[8545.27,-700.986,34.3333,243.37,-43.2169],[8438.28,-602.179,33.7333,242.058,-42.1962],[8324.06,-500.548,33.1,240.728,-41.0944],[8208.51,-401.693,32.4667,239.458,-39.9678],[8085.44,-300.675,31.8,238.194,-38.755],[7957.75,-200.413,31.1167,236.98,-37.4835],[7825.3,-101.2,30.4167,235.832,-36.1515],[7684.76,-1.10988,29.6833,234.738,-34.7246],[7535.85,99.2583,28.9167,233.726,-33.199],[7378.3,199.265,28.1167,232.823,-31.5716],[7211.8,298.227,27.2833,232.062,-29.8393],[7029.22,399.039,26.3833,231.462,-27.9285],[6833.34,498.504,25.4333,231.098,-25.8699],[6613.02,599.991,24.3833,231.041,-23.55],[6370.62,699.395,23.25,231.42,-21.0011],[6090.25,798.993,21.9667,232.442,-18.0703],[5746.83,899.532,20.4333,234.555,-14.5277],[5284.57,999.632,18.4333,238.895,-9.88539],[4218.73,1090.38,14.0833,255.26,-0.0037937]]], - [26,1165.06,[[9751.55,-2001.77,42.0167,260.962,-54.184],[9677.4,-1900.13,41.5333,259.615,-53.5689],[9605.13,-1803.25,41.0667,258.32,-52.9632],[9526.97,-1700.85,40.5667,256.938,-52.3013],[9450.68,-1603.25,40.0833,255.61,-51.6485],[9368.34,-1500.45,39.5667,254.201,-50.9362],[9287.87,-1402.49,39.0667,252.848,-50.2326],[9203.9,-1302.87,38.55,251.464,-49.4903],[9116.35,-1201.75,38.0167,250.053,-48.7078],[9027.92,-1102.42,37.4833,248.661,-47.9084],[8935.78,-1001.86,36.9333,247.248,-47.0661],[8839.85,-900.288,36.3667,245.819,-46.179],[8742.91,-800.802,35.8,244.42,-45.2721],[8642.04,-700.6,35.2167,243.016,-44.3177],[8540.09,-602.671,34.6333,241.65,-43.3419],[8431.11,-501.65,34.0167,240.254,-42.2869],[8317.91,-400.616,33.3833,238.874,-41.1783],[8203.41,-302.374,32.75,237.555,-40.0442],[8081.46,-202.018,32.0833,236.238,-38.8228],[7951.83,-100.067,31.3833,234.94,-37.5101],[7820.58,-1.67269,30.6833,233.738,-36.1667],[7678.13,99.7451,29.9333,232.564,-34.6938],[7530.56,199.072,29.1667,231.496,-33.1531],[7371.17,299.971,28.35,230.517,-31.474],[7202.84,399.53,27.5,229.687,-29.6869],[7021.87,498.781,26.6,229.033,-27.753],[6820.88,599.852,25.6167,228.606,-25.595],[6602.45,699.13,24.5667,228.505,-23.2441],[6355.04,798.771,23.4,228.858,-20.5841],[6062.43,899.766,22.05,229.925,-17.4571],[5706.59,999.129,20.45,232.18,-13.7079],[5192.8,1099.85,18.2167,237.286,-8.45823],[4302.83,1165.06,14.55,251.152,-0.0288966]]], - [27,1241.16,[[9804.91,-2001.25,42.8,261.159,-54.9542],[9734.62,-1902.06,42.3333,259.826,-54.3719],[9661.12,-1800.62,41.85,258.448,-53.7568],[9586.93,-1700.53,41.3667,257.075,-53.1292],[9512.04,-1601.78,40.8833,255.707,-52.4888],[9433.82,-1501.08,40.3833,254.299,-51.8128],[9354.85,-1401.86,39.8833,252.901,-51.1226],[9272.44,-1300.92,39.3667,251.467,-50.3943],[9189.22,-1201.61,38.85,250.047,-49.6504],[9102.46,-1100.84,38.3167,248.596,-48.8659],[9014.81,-1001.85,37.7833,247.165,-48.0642],[8923.51,-901.659,37.2333,245.711,-47.2193],[8828.46,-800.475,36.6667,244.239,-46.329],[8732.4,-701.39,36.1,242.797,-45.4186],[8632.46,-601.612,35.5167,241.347,-44.4601],[8528.56,-501.367,34.9167,239.896,-43.4514],[8420.57,-400.891,34.3,238.451,-42.3905],[8308.41,-300.431,33.6667,237.021,-41.275],[8191.97,-200.246,33.0167,235.617,-40.1031],[8071.12,-100.607,32.35,234.248,-38.8725],[7945.76,-1.7965,31.6667,232.927,-37.5811],[7812.65,98.1722,30.95,231.639,-36.1944],[7671.54,198.717,30.2,230.406,-34.7084],[7522.18,299.217,29.4167,229.256,-33.1189],[7364.27,399.007,28.6,228.218,-31.4224],[7194.25,499.254,27.7333,227.311,-29.58],[7011.62,598.846,26.8167,226.588,-27.5868],[6809.09,699.818,25.8167,226.098,-25.3643],[6589.19,798.538,24.75,225.946,-22.9444],[6333.42,899.604,23.5333,226.279,-20.1315],[6036.05,999.267,22.15,227.364,-16.881],[5657.02,1099.84,20.4333,229.847,-12.8009],[5080.38,1199.54,17.9167,235.975,-6.81338],[4378.68,1241.15,15,247.145,-0.0322122]]], - [28,1318.57,[[9852.63,-2001.65,43.5833,261.43,-55.7226],[9783.61,-1901.42,43.1167,260.066,-55.152],[9713.96,-1802.41,42.65,258.703,-54.5701],[9641.14,-1701.17,42.1667,257.294,-53.9553],[9567.63,-1601.27,41.6833,255.888,-53.3277],[9493.43,-1502.73,41.2,254.488,-52.6873],[9415.94,-1402.25,40.7,253.046,-52.011],[9337.7,-1303.25,40.2,251.613,-51.3204],[9256.07,-1202.56,39.6833,250.142,-50.5914],[9170.96,-1100.33,39.15,248.638,-49.8223],[9087.68,-1002.98,38.6333,247.195,-49.0608],[8998.15,-901.211,38.0833,245.678,-48.2322],[8907.7,-801.372,37.5333,244.182,-47.3847],[8813.53,-700.558,36.9667,242.667,-46.4916],[8718.38,-601.853,36.4,241.181,-45.5778],[8619.4,-502.479,35.8167,239.684,-44.6154],[8516.49,-402.661,35.2167,238.185,-43.6022],[8409.54,-302.636,34.6,236.69,-42.5361],[8295.54,-200.061,33.95,235.17,-41.3849],[8180.2,-100.458,33.3,233.713,-40.2054],[8060.52,-1.43144,32.6333,232.29,-38.9663],[7933.33,99.0848,31.9333,230.88,-37.6334],[7801.49,198.268,31.2167,229.536,-36.2351],[7661.74,297.969,30.4667,228.244,-34.7358],[7510.67,399.63,29.6667,227.007,-33.0968],[7354.28,498.343,28.85,225.909,-31.3827],[7182.66,599.261,27.9667,224.922,-29.484],[6998.48,699.176,27.0333,224.126,-27.4301],[6797.89,798.441,26.0333,223.577,-25.1796],[6569.83,899.595,24.9167,223.366,-22.6121],[6312.89,999.205,23.6833,223.667,-19.7203],[6003.84,1099.71,22.2333,224.798,-16.2635],[5605.71,1199.65,20.4167,227.502,-11.8835],[4912.35,1299.88,17.3833,235.535,-4.589],[4446.45,1318.57,15.4333,243.232,-0.0124968]]], - [29,1397.21,[[9894.67,-2003.08,44.3667,261.77,-56.4888],[9826.92,-1901.8,43.9,260.378,-55.9301],[9758.55,-1801.74,43.4333,258.985,-55.3603],[9689.54,-1702.89,42.9667,257.592,-54.7789],[9617.41,-1601.83,42.4833,256.152,-54.1645],[9544.6,-1502.11,42,254.715,-53.5373],[9468.56,-1400.4,41.5,253.232,-52.8747],[9391.78,-1300.16,41,251.756,-52.1979],[9314.27,-1201.43,40.5,250.288,-51.5065],[9233.4,-1101.01,39.9833,248.781,-50.7765],[9151.74,-1002.23,39.4667,247.286,-50.0304],[9066.6,-902.024,38.9333,245.757,-49.2431],[8977.92,-800.572,38.3833,244.198,-48.4126],[8888.33,-701.063,37.8333,242.661,-47.5628],[8795.07,-600.599,37.2667,241.102,-46.6669],[8700.84,-502.255,36.7,239.571,-45.7501],[8600.01,-400.468,36.1,237.985,-44.756],[8498.08,-301.124,35.5,236.438,-43.7379],[8392.17,-201.599,34.8833,234.893,-42.666],[8282.17,-102.145,34.25,233.36,-41.5382],[8165.05,-0.520169,33.5833,231.81,-40.3213],[8046.55,97.9177,32.9167,230.332,-39.0739],[7920.64,197.799,32.2167,228.864,-37.7314],[7787.07,298.558,31.4833,227.428,-36.289],[7645.62,399.592,30.7167,226.047,-34.7425],[7499.16,498.209,29.9333,224.775,-33.1222],[7338,599.862,29.0833,223.568,-31.3196],[7168.05,699.5,28.2,222.519,-29.3992],[6982.43,799.72,27.25,221.647,-27.2834],[6780.47,898.873,26.2333,221.031,-24.9658],[6551.23,999.353,25.1,220.763,-22.3245],[6289.84,1098.87,23.8333,221.031,-19.3123],[5969.46,1199.89,22.3167,222.206,-15.6434],[5545.31,1299.97,20.3667,225.209,-10.8738],[4510.29,1397.21,15.8667,239.333,-0.00746923]]], - [30,1476.98,[[9928.56,-2001.96,45.1333,262.129,-57.233],[9864.45,-1903.31,44.6833,260.76,-56.7058],[9797.35,-1802.17,44.2167,259.339,-56.1481],[9729.63,-1702.25,43.75,257.917,-55.5791],[9658.85,-1600.06,43.2667,256.444,-54.9776],[9589.86,-1502.66,42.8,255.023,-54.3848],[9517.76,-1403.11,42.3167,253.553,-53.7581],[9442.46,-1301.58,41.8167,252.037,-53.0958],[9366.44,-1201.53,41.3167,250.526,-52.4191],[9289.69,-1102.99,40.8167,249.023,-51.7277],[9209.62,-1002.78,40.3,247.478,-50.9975],[9126.16,-901.063,39.7667,245.896,-50.2266],[9041.85,-801.138,39.2333,244.328,-49.4379],[8956.71,-703.024,38.7,242.776,-48.6312],[8865.33,-600.79,38.1333,241.148,-47.7539],[8772.99,-500.656,37.5667,239.544,-46.8555],[8679.7,-402.653,37,237.969,-45.9357],[8579.88,-301.239,36.4,236.334,-44.9381],[8478.98,-202.277,35.8,234.738,-43.9158],[8371.3,-100.518,35.1667,233.099,-42.8097],[8262.4,-1.56837,34.5333,231.514,-41.6756],[8146.46,99.5092,33.8667,229.909,-40.4513],[8026.22,199.789,33.1833,228.337,-39.1639],[7901.55,298.975,32.4833,226.813,-37.811],[7769.34,398.986,31.75,225.316,-36.3568],[7629.33,499.216,30.9833,223.873,-34.7967],[7481.28,599.015,30.1833,222.51,-33.126],[7321.77,699.611,29.3333,221.237,-31.3046],[7150.38,799.919,28.4333,220.103,-29.326],[6966.65,898.76,27.4833,219.165,-27.1849],[6760.18,999.45,26.4333,218.464,-24.7606],[6529.89,1099.23,25.2833,218.137,-22.0436],[6260.79,1199.74,23.9667,218.376,-18.8669],[5932.86,1299.79,22.4,219.588,-15.0203],[5479.63,1399.7,20.3,222.944,-9.80941],[4570.15,1476.98,16.3,235.448,-0.0175861]]], - [31,1557.79,[[9956.8,-2002.04,45.9,262.552,-57.9748],[9893.87,-1902.4,45.45,261.16,-57.459],[9828.02,-1800.23,44.9833,259.712,-56.9134],[9763.95,-1702.85,44.5333,258.314,-56.3766],[9696.91,-1603.07,44.0667,256.863,-55.8087],[9626.82,-1501.02,43.5833,255.359,-55.2081],[9556.07,-1400.31,43.1,253.856,-54.5948],[9484.67,-1300.96,42.6167,252.354,-53.9683],[9412.6,-1202.99,42.1333,250.856,-53.3284],[9337.35,-1103.11,41.6333,249.31,-52.6522],[9258.83,-1001.5,41.1167,247.72,-51.9376],[9179.56,-901.528,40.6,246.138,-51.2069],[9096.92,-800.074,40.0667,244.516,-50.4351],[9013.45,-700.415,39.5333,242.908,-49.6453],[8929.17,-602.576,39,241.316,-48.8372],[8838.71,-500.643,38.4333,239.644,-47.958],[8747.31,-400.821,37.8667,237.996,-47.0574],[8652.25,-300.298,37.2833,236.327,-46.1074],[8556.19,-202.074,36.7,234.691,-45.134],[8453.54,-100.771,36.0833,233,-44.079],[8349.78,-2.10895,35.4667,231.353,-42.997],[8239.18,98.9879,34.8167,229.671,-41.8272],[8124.44,199.543,34.15,228.01,-40.5957],[8005.45,299.271,33.4667,226.38,-39.3],[7882.1,397.875,32.7667,224.795,-37.9376],[7748.3,499.469,32.0167,223.201,-36.4388],[7609.76,598.923,31.25,221.694,-34.865],[7460.2,699.899,30.4333,220.236,-33.1433],[7302.37,799.472,29.5833,218.897,-31.3029],[7132.8,898.664,28.6833,217.693,-29.3025],[6944.63,999.584,27.7,216.653,-27.0596],[6740.32,1098.6,26.65,215.887,-24.6038],[6505.82,1199.17,25.4667,215.489,-21.7696],[6232.69,1299.35,24.1167,215.688,-18.465],[5894.07,1399.36,22.4833,216.946,-14.3943],[5401.53,1499.69,20.1833,220.787,-8.60435],[4622.15,1557.79,16.7167,231.644,-0.00308729]]], - [32,1639.55,[[9979.27,-2003.41,46.6667,263.038,-58.7137],[9917.53,-1902.78,46.2167,261.624,-58.2095],[9855.24,-1803.24,45.7667,260.205,-57.6952],[9790.06,-1701.18,45.3,258.73,-57.1511],[9724.28,-1600.33,44.8333,257.252,-56.5956],[9657.9,-1500.7,44.3667,255.771,-56.0285],[9590.91,-1402.32,43.9,254.289,-55.4496],[9520.89,-1301.74,43.4167,252.754,-54.8374],[9450.22,-1202.53,42.9333,251.22,-54.2119],[9376.43,-1101.36,42.4333,249.635,-53.5505],[9301.93,-1001.69,41.9333,248.055,-52.8744],[9224.21,-900.291,41.4167,246.428,-52.1598],[9145.74,-800.543,40.9,244.809,-51.4287],[9066.52,-702.465,40.3833,243.2,-50.6808],[8983.94,-602.998,39.85,241.551,-49.8907],[8897.93,-502.336,39.3,239.866,-49.0564],[8808.41,-400.685,38.7333,238.15,-48.1756],[8717.97,-301.153,38.1667,236.457,-47.273],[8623.9,-200.94,37.5833,234.74,-46.3205],[8526.13,-100.272,36.9833,233.008,-45.3158],[8427.31,-2.08189,36.3833,231.313,-44.2853],[8321.87,98.8392,35.75,229.568,-43.1693],[8212.44,199.466,35.1,227.832,-41.9933],[8098.92,299.523,34.4333,226.113,-40.7548],[7981.2,398.726,33.75,224.425,-39.451],[7856.27,499.065,33.0333,222.741,-38.0463],[7723.9,599.951,32.2833,221.083,-36.5354],[7586.85,698.659,31.5167,219.511,-34.9481],[7438.93,798.816,30.7,217.984,-33.2104],[7279.75,899.389,29.8333,216.547,-31.3148],[7108.91,999.257,28.9167,215.252,-29.2545],[6922.78,1098.83,27.9333,214.141,-26.9844],[6714.25,1199.31,26.85,213.282,-24.4175],[6478.97,1299.12,25.65,212.818,-21.5029],[6198.64,1399.99,24.25,212.982,-18.0248],[5849.61,1499.4,22.55,214.297,-13.7227],[5307.62,1599.63,20,218.8,-7.2109],[4670.22,1639.55,17.1333,227.848,-0.00361859]]], - [33,1722.17,[[9993.72,-2002.4,47.4167,263.533,-59.4313],[9933.15,-1900.81,46.9667,262.098,-58.9384],[9872.03,-1800.3,46.5167,260.658,-58.4356],[9810.37,-1700.89,46.0667,259.213,-57.9226],[9748.16,-1602.59,45.6167,257.763,-57.3993],[9683.07,-1501.84,45.15,256.256,-56.8455],[9617.38,-1402.32,44.6833,254.746,-56.2799],[9548.72,-1300.55,44.2,253.18,-55.6816],[9479.42,-1200.14,43.7167,251.613,-55.0702],[9409.47,-1101.1,43.2333,250.046,-54.4453],[9336.44,-1000.11,42.7333,248.428,-53.7845],[9262.72,-900.626,42.2333,246.812,-53.1088],[9188.31,-802.671,41.7333,245.202,-52.4177],[9110.68,-703.078,41.2167,243.545,-51.6871],[9029.77,-602.03,40.6833,241.843,-50.915],[8948.06,-502.793,40.15,240.154,-50.1244],[8862.97,-402.376,39.6,238.427,-49.2891],[8774.41,-300.987,39.0333,236.666,-48.407],[8684.94,-201.726,38.4667,234.927,-47.5026],[8591.89,-101.801,37.8833,233.163,-46.5479],[8495.18,-1.4408,37.2833,231.38,-45.5404],[8394.72,99.115,36.6667,229.586,-44.4774],[8290.41,199.615,36.0333,227.788,-43.3564],[8182.17,299.795,35.3833,225.996,-42.1746],[8069.89,399.38,34.7167,224.22,-40.9292],[7953.47,498.084,34.0333,222.471,-39.6175],[7829.93,597.882,33.3167,220.724,-38.2034],[7699.04,698.183,32.5667,218.999,-36.6815],[7560.59,798.357,31.7833,217.324,-35.0463],[7411.32,899.702,30.95,215.696,-33.2564],[7253.91,999.3,30.0833,214.189,-31.3411],[7081.9,1099.84,29.15,212.797,-29.2195],[6894.7,1199.7,28.15,211.596,-26.8823],[6685.29,1299.98,27.05,210.656,-24.2409],[6449.34,1399.02,25.8333,210.123,-21.2436],[6165.43,1499.35,24.4,210.242,-17.6293],[5799.59,1599.72,22.6,211.643,-13.0032],[5183.8,1699.78,19.6833,217.194,-5.45083],[4714.34,1722.16,17.55,224.06,-0.0197491]]], - [34,1805.55,[[10002.4,-2002.83,48.1667,264.085,-60.1459],[9943.02,-1900.27,47.7167,262.632,-59.6644],[9885.3,-1802.53,47.2833,261.226,-59.1916],[9824.84,-1702.09,46.8333,259.76,-58.6908],[9763.83,-1602.75,46.3833,258.289,-58.1797],[9700,-1500.91,45.9167,256.757,-57.6387],[9635.58,-1400.29,45.45,255.221,-57.0863],[9570.58,-1300.9,44.9833,253.681,-56.522],[9505,-1202.76,44.5167,252.139,-55.9457],[9436.45,-1102.45,44.0333,250.54,-55.3358],[9364.87,-1000.14,43.5333,248.886,-54.6907],[9295.04,-902.647,43.05,247.288,-54.053],[9222.13,-803.285,42.55,245.637,-53.3783],[9146.07,-702.222,42.0333,243.936,-52.6649],[9069.28,-602.82,41.5167,242.241,-51.9345],[8989.24,-501.977,40.9833,240.499,-51.1624],[8908.42,-402.951,40.45,238.769,-50.3714],[8824.26,-302.761,39.9,236.999,-49.5355],[8736.67,-201.613,39.3333,235.193,-48.6523],[8648.2,-102.604,38.7667,233.408,-47.7465],[8553.54,-0.132735,38.1667,231.544,-46.7621],[8457.88,99.8738,37.5667,229.712,-45.7513],[8361.22,197.381,36.9667,227.915,-44.7136],[8258.1,297.558,36.3333,226.062,-43.5887],[8148.33,399.914,35.6667,224.165,-42.3712],[8037.31,499.052,35,222.33,-41.1192],[7919.4,599.635,34.3,220.477,-39.7672],[7797.23,698.83,33.5833,218.668,-38.3429],[7667.82,798.482,32.8333,216.878,-36.8092],[7530.94,897.955,32.05,215.134,-35.1602],[7383.4,998.532,31.2167,213.433,-33.3539],[7224.81,1099.14,30.3333,211.821,-31.3821],[7054.79,1198.64,29.4,210.353,-29.237],[6866.68,1298.91,28.3833,209.054,-26.8322],[6656.55,1399.15,27.2667,208.023,-24.1155],[6416.9,1498.82,26.0167,207.406,-20.9922],[6126.33,1599.56,24.5333,207.482,-17.1944],[5747.49,1699.38,22.65,208.965,-12.2773],[4983.73,1799.88,19.0167,216.732,-2.75211],[4750.8,1805.55,17.95,220.342,-0.00956453]]], - [35,1889.61,[[10003.2,-2000.97,48.9,264.639,-60.84],[9947.09,-1901.29,48.4667,263.224,-60.3873],[9890.49,-1802.6,48.0333,261.801,-59.9257],[9831.2,-1701.17,47.5833,260.316,-59.4367],[9771.38,-1600.83,47.1333,258.824,-58.9377],[9711.03,-1501.6,46.6833,257.325,-58.4284],[9650.14,-1403.48,46.2333,255.821,-57.9086],[9586.44,-1302.93,45.7667,254.256,-57.3582],[9519.85,-1200.09,45.2833,252.631,-56.7756],[9454.98,-1102.08,44.8167,251.058,-56.2007],[9387.18,-1001.9,44.3333,249.428,-55.5921],[9318.75,-903.111,43.85,247.796,-54.9699],[9247.31,-802.385,43.35,246.108,-54.3115],[9175.2,-703.178,42.85,244.422,-53.6378],[9099.98,-602.282,42.3333,242.683,-52.925],[9024.04,-503.054,41.8167,240.95,-52.1951],[8944.9,-402.397,41.2833,239.168,-51.4233],[8862.48,-300.506,40.7333,237.342,-50.6072],[8779.24,-200.583,40.1833,235.529,-49.7703],[8695.17,-102.656,39.6333,233.732,-48.912],[8605.12,-1.00347,39.05,231.847,-47.978],[8514.13,98.3418,38.4667,229.986,-47.019],[8419.57,198.085,37.8667,228.103,-46.0059],[8321.36,297.985,37.25,226.203,-44.9362],[8219.41,397.787,36.6167,224.295,-43.8068],[8110.9,499.735,35.95,222.339,-42.5838],[8001.17,598.452,35.2833,220.445,-41.3255],[7884.62,698.577,34.5833,218.529,-39.9657],[7761.07,799.537,33.85,216.611,-38.4986],[7633.16,898.569,33.1,214.754,-36.9531],[7494.99,999.424,32.3,212.903,-35.2545],[7349.15,1099.16,31.4667,211.131,-33.4308],[7192.43,1198.85,30.5833,209.445,-31.4385],[7021.4,1299.03,29.6333,207.873,-29.2302],[6832.45,1399.58,28.6,206.477,-26.7552],[6621.66,1499.61,27.4667,205.357,-23.9602],[6378.44,1599.67,26.1833,204.66,-20.706],[6084.69,1699.46,24.6667,204.695,-16.762],[5686.59,1799.71,22.6667,206.306,-11.4559],[4783.36,1889.61,18.35,216.627,-0.0148744]]], - [36,1974.25,[[9998.22,-2000.69,49.6333,265.246,-61.5313],[9943.2,-1900.12,49.2,263.817,-61.0893],[9887.7,-1800.51,48.7667,262.378,-60.6387],[9831.72,-1701.9,48.3333,260.931,-60.1792],[9773.08,-1600.55,47.8833,259.421,-59.6922],[9713.92,-1500.29,47.4333,257.902,-59.1953],[9654.23,-1401.15,46.9833,256.377,-58.6879],[9594.02,-1303.12,46.5333,254.845,-58.1699],[9531.03,-1202.67,46.0667,253.252,-57.6214],[9467.46,-1103.47,45.6,251.653,-57.0608],[9401.03,-1002.04,45.1167,249.993,-56.4673],[9333.99,-901.985,44.6333,248.33,-55.8603],[9266.33,-803.315,44.15,246.665,-55.2396],[9195.7,-702.723,43.65,244.942,-54.5825],[9122.02,-600.38,43.1333,243.163,-53.8872],[9050.04,-502.91,42.6333,241.444,-53.1982],[8972.54,-400.67,42.1,239.616,-52.4453],[8894.28,-300.238,41.5667,237.794,-51.6734],[8815.26,-201.638,41.0333,235.982,-50.882],[8732.99,-101.903,40.4833,234.125,-50.045],[8647.37,-1.24146,39.9167,232.228,-49.16],[8560.9,97.2646,39.35,230.35,-48.2514],[8468.4,199.183,38.75,228.386,-47.2632],[8374.93,298.616,38.15,226.452,-46.2475],[8277.87,398.185,37.5333,224.499,-45.1744],[8177.11,497.636,36.9,222.535,-44.0409],[8069.88,599.203,36.2333,220.52,-42.8127],[7958.72,699.94,35.55,218.517,-41.5162],[7843.54,799.547,34.85,216.539,-40.148],[7721.44,899.948,34.1167,214.555,-38.6709],[7595.06,998.388,33.3667,212.63,-37.1138],[7458.55,1098.59,32.5667,210.706,-35.4012],[7311.59,1199.55,31.7167,208.823,-33.5237],[7156.76,1298.35,30.8333,207.06,-31.5108],[6984.84,1399.22,29.8667,205.381,-29.2382],[6798.18,1498.52,28.8333,203.904,-26.7324],[6583.82,1599.87,27.6667,202.672,-23.8159],[6340.4,1699.08,26.3667,201.895,-20.4706],[6037.3,1799.96,24.7833,201.886,-16.2875],[5620.45,1899.72,22.6667,203.649,-10.5794],[4812,1974.25,18.75,212.916,-0.03627]]], - [37,2059.4,[[9987.44,-2002.13,50.3667,265.906,-62.2193],[9933.51,-1900.64,49.9333,264.463,-61.7883],[9879.11,-1800.12,49.5,263.01,-61.3487],[9824.23,-1700.58,49.0667,261.548,-60.9004],[9768.88,-1602.02,48.6333,260.078,-60.4431],[9710.91,-1500.74,48.1833,258.541,-59.9584],[9652.41,-1400.56,47.7333,256.997,-59.4637],[9593.41,-1301.49,47.2833,255.445,-58.9585],[9533.88,-1203.55,46.8333,253.886,-58.4427],[9471.61,-1103.18,46.3667,252.263,-57.8961],[9406.52,-1000.55,45.8833,250.576,-57.3174],[9343.1,-902.738,45.4167,248.943,-56.7461],[9276.83,-802.784,44.9333,247.248,-56.1409],[9207.64,-700.849,44.4333,245.491,-55.5003],[9137.81,-600.424,43.9333,243.734,-54.8443],[9067.32,-501.53,43.4333,241.976,-54.1726],[8993.81,-400.971,42.9167,240.162,-53.4616],[8919.6,-302.091,42.4,238.352,-52.733],[8842.26,-201.809,41.8667,236.49,-51.9619],[8761.73,-100.319,41.3167,234.578,-51.146],[8680.41,-0.813379,40.7667,232.677,-50.3086],[8595.79,99.6039,40.2,230.734,-49.4228],[8510.34,197.857,39.6333,228.809,-48.513],[8418.93,299.496,39.0333,226.795,-47.523],[8326.58,398.641,38.4333,224.809,-46.505],[8230.67,497.904,37.8167,222.802,-45.4288],[8128.49,599.598,37.1667,220.73,-44.2611],[8025.19,698.237,36.5167,218.707,-43.0584],[7915.39,798.595,35.8333,216.641,-41.756],[7801.63,897.799,35.1333,214.598,-40.3806],[7678.29,999.986,34.3833,212.499,-38.8605],[7550.67,1099.99,33.6167,210.463,-37.2565],[7415.82,1199.47,32.8167,208.467,-35.5288],[7270.66,1299.63,31.9667,206.509,-33.6335],[7114.84,1399.37,31.0667,204.635,-31.5608],[6945.04,1499.15,30.1,202.877,-29.2615],[6757.73,1598.75,29.05,201.296,-26.6828],[6542.99,1699.86,27.8667,199.966,-23.6832],[6296.38,1799.36,26.5333,199.1,-20.1998],[5987.43,1899.98,24.9,199.049,-15.8142],[5545.85,1999.75,22.6333,201.02,-9.59933]]], - [38,2144.96,[[9968.78,-2001.42,51.0833,266.56,-62.8879],[9917.96,-1902.98,50.6667,265.161,-62.4838],[9864.65,-1801.53,50.2333,263.696,-62.0553],[9810.88,-1701.05,49.8,262.221,-61.6182],[9756.64,-1601.56,49.3667,260.735,-61.1724],[9701.94,-1503.05,48.9333,259.241,-60.7175],[9644.64,-1401.83,48.4833,257.679,-60.2354],[9586.83,-1301.7,48.0333,256.108,-59.7431],[9528.51,-1202.69,47.5833,254.529,-59.2403],[9467.5,-1101.21,47.1167,252.884,-58.7075],[9405.94,-1000.96,46.65,251.232,-58.1629],[9343.83,-901.967,46.1833,249.573,-57.6062],[9278.92,-800.77,45.7,247.85,-57.0164],[9213.41,-700.952,45.2167,246.122,-56.4129],[9147.32,-602.532,44.7333,244.391,-55.7953],[9078.32,-502.208,44.2333,242.598,-55.1412],[9006.35,-400.154,43.7167,240.745,-54.4486],[8936.05,-302.976,43.2167,238.953,-53.7618],[8860.36,-201.06,42.6833,237.044,-53.0108],[8783.94,-100.966,42.15,235.141,-52.2403],[8706.8,-2.71823,41.6167,233.245,-51.4497],[8624.03,99.618,41.05,231.242,-50.5872],[8540.43,199.811,40.4833,229.252,-49.7009],[8456,297.83,39.9167,227.28,-48.7902],[8365.71,399.214,39.3167,225.215,-47.7988],[8274.49,498.093,38.7167,223.177,-46.7788],[8177.19,599.709,38.0833,221.06,-45.6703],[8078.85,698.455,37.45,218.984,-44.5286],[7974.21,799.252,36.7833,216.849,-43.2901],[7865.76,899.173,36.1,214.721,-41.981],[7753.41,997.914,35.4,212.613,-40.5978],[7631.61,1099.59,34.65,210.445,-39.0678],[7505.6,1199.05,33.8833,208.336,-37.4523],[7369.68,1299.95,33.0667,206.224,-35.674],[7226.35,1399.35,32.2167,204.188,-33.7607],[7072.52,1498.26,31.3167,202.234,-31.6667],[6902.01,1598.75,30.3333,200.361,-29.301],[6714.15,1698.65,29.2667,198.67,-26.6476],[6499.16,1799.53,28.0667,197.239,-23.5627],[6249.57,1899.27,26.7,196.279,-19.937],[5935.09,1999.47,25.0167,196.183,-15.342]]], - [39,2230.86,[[9944.31,-2002.56,51.8,267.261,-63.5535],[9894.52,-1903.27,51.3833,265.853,-63.1596],[9842.29,-1800.93,50.95,264.377,-62.7419],[9791.63,-1703.44,50.5333,262.946,-62.3323],[9738.5,-1602.99,50.1,261.448,-61.898],[9684.92,-1503.53,49.6667,259.939,-61.4548],[9628.78,-1401.29,49.2167,258.362,-60.985],[9572.15,-1300.15,48.7667,256.774,-60.5052],[9515.02,-1200.11,48.3167,255.177,-60.0152],[9457.39,-1101.19,47.8667,253.571,-59.5146],[9399.26,-1003.41,47.4167,251.957,-59.0032],[9338.45,-903.219,46.95,250.276,-58.4612],[9274.89,-800.773,46.4667,248.527,-57.8869],[9212.98,-703.155,46,246.832,-57.3197],[9148.28,-603.409,45.5167,245.072,-56.7186],[9080.74,-501.7,45.0167,243.247,-56.0817],[9012.57,-401.511,44.5167,241.419,-55.4293],[8943.77,-302.864,44.0167,239.589,-54.7608],[8872.02,-202.572,43.5,237.699,-54.0527],[8797.26,-100.82,42.9667,235.75,-53.3029],[8721.77,-0.895594,42.4333,233.806,-52.5332],[8645.57,97.1745,41.9,231.868,-51.7432],[8563.82,199.314,41.3333,229.818,-50.881],[8481.26,299.303,40.7667,227.782,-49.9946],[8395.43,399.953,40.1833,225.704,-49.0562],[8308.73,498.259,39.6,223.646,-48.0909],[8216.14,599.598,38.9833,221.498,-47.0404],[8122.59,698.242,38.3667,219.382,-45.9584],[8022.93,799.261,37.7167,217.192,-44.7829],[7919.61,899.671,37.05,214.997,-43.5393],[7812.53,999.181,36.3667,212.806,-42.2239],[7698.96,1099.78,35.65,210.582,-40.7994],[7581.39,1198.68,34.9167,208.393,-39.2936],[7454.29,1299.73,34.1333,206.165,-37.6308],[7320.11,1399.95,33.3167,203.977,-35.8373],[7178.65,1498.63,32.4667,201.863,-33.9061],[7024.01,1598.5,31.55,199.79,-31.7507],[6852.85,1699.57,30.55,197.802,-29.3159],[6664.52,1799.64,29.4667,196.004,-26.5847],[6452.32,1898.82,28.2667,194.491,-23.4549],[6196.94,1999.83,26.85,193.425,-19.6368]]], - [40,2316.98,[[9912.04,-2001.66,52.5,267.953,-64.2005],[9863.25,-1901.55,52.0833,266.536,-63.8166],[9814.05,-1802.31,51.6667,265.106,-63.4252],[9762.44,-1700.02,51.2333,263.608,-63.0102],[9712.39,-1602.58,50.8167,262.156,-62.6031],[9659.9,-1502.19,50.3833,260.634,-62.1714],[9606.96,-1402.78,49.95,259.102,-61.7308],[9551.5,-1300.62,49.5,257.499,-61.2636],[9497.64,-1203.26,49.0667,255.946,-60.8042],[9441.22,-1103.26,48.6167,254.322,-60.3171],[9382.19,-1000.73,48.15,252.629,-59.8007],[9324.77,-903.029,47.7,250.987,-59.2918],[9264.7,-802.927,47.2333,249.277,-58.7521],[9201.92,-700.577,46.75,247.496,-58.1803],[9140.77,-603.055,46.2833,245.771,-57.6152],[9074.66,-500.003,45.7833,243.916,-56.9954],[9010.16,-401.817,45.3,242.118,-56.3816],[8942.84,-301.747,44.8,240.255,-55.7311],[8874.9,-203.225,44.3,238.389,-55.0644],[8804.05,-103.067,43.7833,236.461,-54.358],[8730.22,-1.45943,43.25,234.471,-53.6096],[8655.69,98.313,42.7167,232.485,-52.8412],[8578.09,199.254,42.1667,230.443,-52.0271],[8499.74,298.189,41.6167,228.409,-51.1905],[8418.23,397.994,41.05,226.326,-50.3044],[8333.5,498.447,40.4667,224.198,-49.3658],[8245.46,599.315,39.8667,222.029,-48.3718],[8156.53,697.658,39.2667,219.886,-47.3481],[8061.69,798.687,38.6333,217.656,-46.2343],[7963.32,899.366,37.9833,215.408,-45.0551],[7861.33,999.414,37.3167,213.151,-43.8067],[7755.65,1098.54,36.6333,210.896,-42.4854],[7643.57,1198.72,35.9167,208.603,-41.0534],[7524.91,1299.36,35.1667,206.294,-39.5035],[7399.47,1399.82,34.3833,203.992,-37.8282],[7267.07,1499.41,33.5667,201.727,-36.0196],[7124.75,1599.26,32.7,199.492,-34.0316],[6969.38,1699.97,31.7667,197.3,-31.8125],[6800.48,1799.89,30.7667,195.229,-29.3475],[6614.67,1898.67,29.6833,193.345,-26.5799],[6399.5,1998.92,28.45,191.705,-23.3157]]], - [41,2403.27,[[9873.92,-2002.75,53.2,268.689,-64.8448],[9826.14,-1901.82,52.7833,267.264,-64.4709],[9777.96,-1801.75,52.3667,265.826,-64.0896],[9729.36,-1702.54,51.95,264.376,-63.701],[9678.4,-1600.29,51.5167,262.855,-63.2888],[9628.97,-1502.88,51.1,261.382,-62.8845],[9577.13,-1402.54,50.6667,259.837,-62.4555],[9524.85,-1303.18,50.2333,258.281,-62.0176],[9470.08,-1201.07,49.7833,256.653,-61.5533],[9414.84,-1100.05,49.3333,255.013,-61.0789],[9359.11,-1000.14,48.8833,253.363,-60.5941],[9302.89,-901.365,48.4333,251.703,-60.0987],[9244.09,-800.134,47.9667,249.972,-59.5734],[9184.76,-700.15,47.5,248.231,-59.036],[9124.91,-601.43,47.0333,246.482,-58.4862],[9062.36,-500.533,46.55,244.663,-57.9033],[8999.26,-401.03,46.0667,242.837,-57.3063],[8935.59,-302.939,45.5833,241.006,-56.6949],[8869.13,-202.971,45.0833,239.107,-56.0467],[8799.81,-101.303,44.5667,237.141,-55.3597],[8729.86,-1.31639,44.05,235.174,-54.6547],[8659.25,96.9654,43.5333,233.207,-53.9311],[8583.38,199.688,42.9833,231.116,-53.14],[8509.1,297.402,42.45,229.093,-52.3516],[8429.43,399.147,41.8833,226.952,-51.4903],[8348.97,498.724,41.3167,224.821,-50.6041],[8265.34,598.934,40.7333,222.643,-49.665],[8178.45,699.542,40.1333,220.423,-48.6699],[8090.68,797.616,39.5333,218.227,-47.6444],[7997.09,898.349,38.9,215.939,-46.5282],[7900.02,998.713,38.25,213.631,-45.3456],[7799.4,1098.43,37.5833,211.312,-44.0928],[7692.58,1199.56,36.8833,208.936,-42.733],[7581.99,1299.26,36.1667,206.576,-41.2928],[7464.91,1399.38,35.4167,204.196,-39.7327],[7341.17,1499.28,34.6333,201.819,-38.045],[7210.58,1598.26,33.8167,199.475,-36.2216],[7067.5,1699.29,32.9333,197.113,-34.176],[6914.25,1799.13,32,194.836,-31.9329],[6744.9,1899.66,30.9833,192.642,-29.3963],[6558.81,1998.62,29.8833,190.642,-26.5475]]], - [42,2489.61,[[9828.11,-2001.89,53.8833,269.411,-65.4716],[9781.32,-1900.17,53.4667,267.979,-65.1073],[9736.02,-1803.32,53.0667,266.592,-64.751],[9688.45,-1703.26,52.65,265.134,-64.3727],[9638.55,-1600.13,52.2167,263.604,-63.9714],[9590.16,-1501.86,51.8,262.121,-63.5778],[9539.41,-1400.6,51.3667,260.565,-63.1601],[9488.22,-1300.33,50.9333,258.997,-62.7338],[9436.59,-1201.04,50.5,257.416,-62.2986],[9384.52,-1102.77,50.0667,255.824,-61.8542],[9329.99,-1001.79,49.6167,254.159,-61.3829],[9274.98,-901.933,49.1667,252.483,-60.9011],[9219.49,-803.203,48.7167,250.796,-60.4086],[9161.45,-702.027,48.25,249.035,-59.8863],[9102.9,-602.102,47.7833,247.265,-59.3518],[9043.83,-503.444,47.3167,245.486,-58.8049],[8982.1,-402.616,46.8333,243.635,-58.2249],[8919.83,-303.187,46.35,241.776,-57.6307],[8854.82,-201.819,45.85,239.847,-57.0007],[8789.22,-101.989,45.35,237.912,-56.3545],[8720.81,-0.468476,44.8333,235.908,-55.6695],[8651.76,99.3641,44.3167,233.902,-54.9662],[8582.08,197.485,43.8,231.896,-54.2442],[8509.48,296.952,43.2667,229.826,-53.4786],[8433.9,397.564,42.7167,227.696,-52.6669],[8355.28,499.11,42.15,225.507,-51.8064],[8275.9,598.481,41.5833,223.329,-50.9205],[8193.38,698.469,41,221.101,-49.9813],[8107.66,798.84,40.4,218.828,-48.9855],[8018.66,899.347,39.7833,216.516,-47.9298],[7926.31,999.733,39.15,214.172,-46.8106],[7830.55,1099.73,38.5,211.804,-45.624],[7731.28,1199.05,37.8333,209.423,-44.3662],[7625.91,1299.76,37.1333,206.981,-43],[7516.83,1399.01,36.4167,204.552,-41.5519],[7401.37,1498.64,35.6667,202.099,-39.9821],[7279.35,1598,34.8833,199.646,-38.2823],[7147.95,1698.36,34.05,197.173,-36.4059],[7006.86,1798.63,33.1667,194.728,-34.3404],[6853.06,1899.33,32.2167,192.324,-32.0318],[6686.09,1998.79,31.2,190.041,-29.4635]]], - [43,2575.95,[[9776.41,-2003.19,54.5667,270.174,-66.096],[9730.61,-1900.67,54.15,268.736,-65.7414],[9686.27,-1803.04,53.75,267.343,-65.3946],[9639.7,-1702.17,53.3333,265.878,-65.0264],[9592.74,-1602.16,52.9167,264.4,-64.6509],[9545.39,-1503.02,52.5,262.908,-64.268],[9495.72,-1400.85,52.0667,261.343,-63.8617],[9447.55,-1303.52,51.65,259.826,-63.4631],[9397.05,-1203.27,51.2167,258.234,-63.04],[9344.14,-1100.21,50.7667,256.568,-62.5912],[9292.75,-1002,50.3333,254.952,-62.1496],[9238.93,-901.095,49.8833,253.26,-61.6812],[9184.64,-801.309,49.4333,251.557,-61.2022],[9129.88,-702.657,48.9833,249.842,-60.7126],[9072.6,-601.566,48.5167,248.053,-60.1931],[9014.82,-501.73,48.05,246.253,-59.6614],[8956.53,-403.165,47.5833,244.443,-59.1172],[8895.62,-302.439,47.1,242.56,-58.5399],[8834.18,-203.116,46.6167,240.668,-57.9483],[8770.04,-101.863,46.1167,238.703,-57.3208],[8705.31,-2.15362,45.6167,236.732,-56.677],[8637.82,99.2363,45.1,234.69,-55.9943],[8569.7,198.932,44.5833,232.645,-55.2931],[8500.96,296.911,44.0667,230.599,-54.5729],[8427.1,399.297,43.5167,228.421,-53.7848],[8352.52,499.682,42.9667,226.246,-52.9739],[8277.25,598.038,42.4167,224.077,-52.1394],[8198.96,697.222,41.85,221.851,-51.2542],[8115.24,799.826,41.25,219.507,-50.288],[8030.68,899.912,40.65,217.181,-49.2911],[7945.29,997.443,40.05,214.878,-48.2627],[7854.23,1097.58,39.4167,212.475,-47.1418],[7757.38,1199.83,38.75,209.984,-45.9217],[7659.5,1298.78,38.0833,207.539,-44.6593],[7555.6,1399.09,37.3833,205.03,-43.2871],[7448.06,1497.92,36.6667,202.532,-41.8315],[7331.7,1599.24,35.9,199.95,-40.2165],[7211.4,1698,35.1167,197.42,-38.5036],[7079.26,1799.64,34.2667,194.818,-36.5723],[6940.17,1899.06,33.3833,192.291,-34.4853],[6788.57,1998.83,32.4333,189.8,-32.1502]]], - [44,2662.18,[[9717.06,-2002.62,55.2333,270.92,-66.7039],[9674.03,-1903.45,54.8333,269.535,-66.3728],[9628.84,-1800.96,54.4167,268.079,-66.0212],[9585.09,-1703.35,54.0167,266.667,-65.6773],[9539.14,-1602.52,53.6,265.182,-65.3121],[9492.8,-1502.54,53.1833,263.683,-64.9396],[9446.08,-1403.43,52.7667,262.17,-64.5598],[9397.07,-1301.31,52.3333,260.583,-64.1566],[9347.65,-1200.15,51.9,258.981,-63.745],[9299.73,-1103.81,51.4833,257.428,-63.341],[9247.53,-1000.8,51.0333,255.738,-62.8954],[9196.83,-902.645,50.6,254.096,-62.4569],[9143.74,-801.796,50.15,252.379,-61.9916],[9090.18,-702.07,49.7,250.649,-61.5157],[9036.17,-603.483,49.25,248.907,-61.0291],[8979.67,-502.463,48.7833,247.088,-60.5128],[8922.67,-402.701,48.3167,245.258,-59.9842],[8863.12,-300.721,47.8333,243.352,-59.4234],[8803.03,-200.13,47.35,241.435,-58.8486],[8742.4,-100.945,46.8667,239.51,-58.2594],[8681.25,-3.18825,46.3833,237.576,-57.6553],[8615.28,99.7108,45.8667,235.502,-56.9926],[8550.86,197.694,45.3667,233.489,-56.3342],[8483.69,297.272,44.85,231.405,-55.6355],[8413.71,398.253,44.3167,229.251,-54.8941],[8343.08,497.372,43.7833,227.097,-54.1317],[8269.56,597.611,43.2333,224.877,-53.3226],[8193.09,698.757,42.6667,222.595,-52.4639],[8115.88,797.711,42.1,220.32,-51.5791],[8035.63,897.252,41.5167,217.991,-50.6401],[7949.96,999.883,40.9,215.545,-49.6153],[7863.42,1099.81,40.2833,213.122,-48.5565],[7773.63,1199.57,39.65,210.662,-47.4326],[7680.54,1298.9,39,208.172,-46.2395],[7581.63,1399.94,38.3167,205.602,-44.9407],[7479.22,1499.78,37.6167,203.026,-43.5617],[7373.21,1598.13,36.9,200.458,-42.0978],[7258.53,1698.91,36.1333,197.8,-40.4721],[7137.45,1799.14,35.3333,195.14,-38.7089],[7009.79,1898.1,34.5,192.508,-36.7987],[6870.16,1998.63,33.6,189.846,-34.651]]], - [45,2748.22,[[9650.08,-2000.2,55.8833,271.647,-67.2965],[9607.97,-1900.32,55.4833,270.258,-66.9742],[9565.52,-1801.19,55.0833,268.855,-66.6458],[9522.73,-1702.83,54.6833,267.438,-66.3113],[9477.78,-1601.19,54.2667,265.948,-65.9561],[9432.44,-1500.41,53.85,264.442,-65.5938],[9386.73,-1400.49,53.4333,262.922,-65.2243],[9340.64,-1301.44,53.0167,261.388,-64.8473],[9294.17,-1203.29,52.6,259.84,-64.4627],[9245.43,-1102.16,52.1667,258.216,-64.0544],[9196.27,-1002.02,51.7333,256.577,-63.6374],[9146.7,-902.884,51.3,254.925,-63.2115],[9094.78,-801.009,50.85,253.195,-62.7594],[9042.41,-700.246,50.4,251.451,-62.2971],[8989.59,-600.609,49.95,249.693,-61.8243],[8936.32,-502.114,49.5,247.923,-61.3406],[8880.6,-401.194,49.0333,246.075,-60.8273],[8824.39,-301.537,48.5667,244.215,-60.3015],[8767.69,-203.161,48.1,242.343,-59.7631],[8708.45,-102.64,47.6167,240.394,-59.1916],[8646.62,-0.137941,47.1167,238.367,-58.5852],[8586.31,97.4903,46.6333,236.399,-57.9837],[8523.38,196.957,46.1333,234.356,-57.3452],[8457.75,298.084,45.6167,232.237,-56.6676],[8391.53,397.505,45.1,230.113,-55.9712],[8322.54,498.319,44.5667,227.918,-55.2319],[8252.91,597.264,44.0333,225.72,-54.4712],[8180.44,697.315,43.4833,223.455,-53.6637],[8105.06,798.26,42.9167,221.126,-52.8063],[8026.72,899.874,42.3333,218.734,-51.8959],[7947.61,999.123,41.75,216.354,-50.9565],[7865.45,1098.7,41.15,213.921,-49.9588],[7780.17,1198.37,40.5333,211.441,-48.8991],[7691.7,1297.86,39.9,208.921,-47.7735],[7597.61,1399.39,39.2333,206.305,-46.5466],[7502.54,1497.61,38.5667,203.732,-45.2753],[7399.24,1599.44,37.85,201.025,-43.8577],[7292.36,1699.55,37.1167,198.326,-42.351],[7179.36,1799.73,36.35,195.594,-40.7137],[7060.07,1899.3,35.55,192.856,-38.9361],[6931.78,1999.46,34.7,190.09,-36.969]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 58.804; -_maxRange = 8730.22; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg7.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg7.sqf deleted file mode 100644 index 0287a76984..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg7.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg7 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[7960.36,-2001.8,22.2667,310.832,-32.2818],[7797.16,-1900.52,21.65,312.181,-31.3364],[7631.55,-1801.51,21.0333,313.656,-30.3858],[7458.92,-1702.21,20.4,315.309,-29.4046],[7274.36,-1600.33,19.7333,317.206,-28.3673],[7086.82,-1501.2,19.0667,319.27,-27.3264],[6886.61,-1400.11,18.3667,321.626,-26.2304],[6682.96,-1302.13,17.6667,324.185,-25.1325],[6460.84,-1200.64,16.9167,327.16,-23.9552],[6229.47,-1100.68,16.15,330.463,-22.7521],[5983.25,-1000.52,15.35,334.207,-21.4988],[5721.42,-900.744,14.5167,338.444,-20.1974],[5437.68,-800.148,13.6333,343.332,-18.8246],[5136.26,-701.469,12.7167,348.861,-17.4097],[4798.99,-600.576,11.7167,355.453,-15.8805],[4429.06,-500.882,10.65,363.172,-14.2692],[4005.75,-400.068,9.46667,372.625,-12.5103],[3517.77,-300.296,8.15,384.336,-10.5941],[2918.75,-200.091,6.6,399.888,-8.40187],[2109.83,-100.143,4.61667,422.928,-5.71045],[73.8695,-0.0223799,0.133333,491.241,-0.171143],[8.2282,0.0972759,0,493.692,-0.0189686]]], - [1,3.73637,[[8181.64,-2000.87,23.1,307.289,-32.8288],[8025.65,-1901.96,22.5,308.45,-31.9037],[7863.04,-1802.55,21.8833,309.764,-30.947],[7689.06,-1700.26,21.2333,311.286,-29.9328],[7512.39,-1600.57,20.5833,312.954,-28.9134],[7328.35,-1501.05,19.9167,314.825,-27.8634],[7136.63,-1401.94,19.2333,316.918,-26.7833],[6932.15,-1301.2,18.5167,319.311,-25.6474],[6719.22,-1201.56,17.7833,321.98,-24.4832],[6492.49,-1101.15,17.0167,325.02,-23.2652],[6251.29,-1000.54,16.2167,328.476,-21.9951],[5994.87,-900.324,15.3833,332.4,-20.6749],[5722.42,-801.151,14.5167,336.851,-19.3069],[5422.19,-700.2,13.5833,342.09,-17.8421],[5097.91,-600.523,12.6,348.136,-16.3112],[4736.49,-500.306,11.5333,355.346,-14.6685],[4329.1,-400.319,10.3667,364.063,-12.8978],[3859.41,-301.046,9.06667,374.879,-10.9625],[3282.58,-200.89,7.53333,389.27,-8.73924],[2503.3,-100.285,5.56667,410.628,-5.99606],[836.961,-0.137538,1.73333,463.613,-1.05643],[421.136,3.73607,0.85,478.392,-0.00211653]]], - [2,14.4821,[[8405.54,-2002.33,23.9667,303.86,-33.4478],[8248.1,-1900.16,23.35,304.899,-32.4926],[8088.41,-1800.27,22.7333,306.056,-31.5307],[7922,-1700.1,22.1,307.37,-30.5363],[7753.12,-1602.4,21.4667,308.819,-29.5363],[7572.62,-1502.27,20.8,310.494,-28.4781],[7380.03,-1400.15,20.1,312.428,-27.3621],[7184.21,-1301.17,19.4,314.548,-26.242],[6975.53,-1200.89,18.6667,316.977,-25.0655],[6758.28,-1101.99,17.9167,319.693,-23.8603],[6522.14,-1000.64,17.1167,322.86,-22.5742],[6276.26,-901.646,16.3,326.394,-21.2625],[6009.84,-801.612,15.4333,330.496,-19.874],[5721.68,-701.523,14.5167,335.247,-18.4118],[5405,-600.806,13.5333,340.845,-16.8536],[5057.83,-501.008,12.4833,347.428,-15.2053],[4666.42,-401.082,11.3333,355.405,-13.4229],[4209.08,-300.214,10.0333,365.461,-11.4429],[3660.46,-200.232,8.53333,378.556,-9.21254],[2937.2,-100.49,6.65,397.515,-6.50841],[1594.11,-0.0526085,3.41667,437.759,-2.1581],[821.135,14.4799,1.7,463.875,-0.016354]]], - [3,31.9109,[[8623.28,-2000.84,24.8333,300.609,-34.0873],[8472.91,-1900.8,24.2333,301.473,-33.1546],[8316.19,-1800.25,23.6167,302.471,-32.1885],[8157.25,-1702.02,23,303.586,-31.2156],[7987.25,-1601.03,22.35,304.892,-30.1832],[7810.21,-1500.2,21.6833,306.379,-29.1179],[7630.42,-1402.19,21.0167,308.02,-28.0469],[7433.99,-1300.02,20.3,309.966,-26.8905],[7234.23,-1201.19,19.5833,312.106,-25.7297],[7021.51,-1101.39,18.8333,314.566,-24.5118],[6795.24,-1001.18,18.05,317.385,-23.2377],[6554.75,-901.144,17.2333,320.611,-21.9091],[6294.26,-800.019,16.3667,324.369,-20.501],[6017.81,-700.582,15.4667,328.657,-19.0431],[5713.89,-600.219,14.5,333.724,-17.4852],[5380.69,-500.451,13.4667,339.7,-15.8327],[5004.88,-400.146,12.3333,346.962,-14.0399],[4577.18,-300.836,11.0833,355.892,-12.0921],[4062.59,-200.921,9.63333,367.562,-9.87979],[3394.08,-100.504,7.83333,384.208,-7.21669],[2301.89,-0.111598,5.08333,414.951,-3.35845],[1193.62,31.9082,2.51667,450.592,-0.0203945]]], - [4,55.637,[[8842.99,-2002.25,25.7333,297.496,-34.7981],[8695.44,-1901.44,25.1333,298.213,-33.8633],[8541.7,-1800.09,24.5167,299.055,-32.8943],[8385.79,-1701.07,23.9,300.008,-31.9175],[8223.37,-1601.83,23.2667,301.108,-30.9069],[8049.85,-1500.09,22.6,302.404,-29.8357],[7873.66,-1401.17,21.9333,303.848,-28.7578],[7685.72,-1300.39,21.2333,305.532,-27.6199],[7490.12,-1200.52,20.5167,307.441,-26.4494],[7286.57,-1101.85,19.7833,309.597,-25.2472],[7065.22,-1000.44,19,312.137,-23.9596],[6834.9,-901.175,18.2,314.996,-22.6427],[6585.3,-800.558,17.35,318.343,-21.2434],[6320.43,-701.373,16.4667,322.174,-19.7915],[6029.12,-600.926,15.5167,326.72,-18.2356],[5709.68,-500.706,14.5,332.1,-16.5804],[5354.71,-400.916,13.4,338.558,-14.8052],[4950.22,-301.244,12.1833,346.525,-12.8666],[4468.48,-200.823,10.7833,356.848,-10.6757],[3858.38,-100.065,9.08333,371.202,-8.08488],[2958.57,-0.155575,6.71667,394.929,-4.62991],[1540.24,55.6356,3.3,438.405,-0.010978]]], - [5,85.3066,[[9056.17,-2001.2,26.6333,294.569,-35.5281],[8915.44,-1902.34,26.05,295.126,-34.6182],[8764.66,-1800.07,25.4333,295.814,-33.6474],[8611.77,-1700.14,24.8167,296.608,-32.6679],[8456.75,-1602.56,24.2,297.513,-31.6805],[8291,-1502.3,23.55,298.592,-30.6317],[8118.45,-1402.26,22.8833,299.839,-29.5484],[7934.44,-1300.3,22.1833,301.307,-28.4034],[7747.45,-1201.54,21.4833,302.946,-27.2519],[7548.31,-1101.56,20.75,304.855,-26.0399],[7336.48,-1000.9,19.9833,307.07,-24.7678],[7111.37,-900.128,19.1833,309.632,-23.4369],[6877.17,-801.825,18.3667,312.525,-22.0763],[6618.69,-700.773,17.4833,315.986,-20.6048],[6339.56,-600.059,16.55,320.036,-19.053],[6038.57,-500.806,15.5667,324.766,-17.4249],[5703.72,-401.25,14.5,330.465,-15.6707],[5321.6,-300.893,13.3167,337.524,-13.7444],[4876.95,-200.841,11.9833,346.475,-11.6062],[4328.23,-100.484,10.4,358.594,-9.12221],[3569.13,-0.122608,8.31667,377.276,-5.96491],[1869.53,85.3058,4.06667,426.962,-0.00686956]]], - [6,120.596,[[9266.77,-2000.75,27.55,291.813,-36.3019],[9128.72,-1900.96,26.9667,292.234,-35.392],[8984.85,-1800.48,26.3667,292.757,-34.4468],[8839.06,-1702.2,25.7667,293.375,-33.4926],[8683.04,-1600.88,25.1333,294.137,-32.4763],[8524.79,-1502.09,24.5,295.015,-31.4513],[8355.79,-1400.85,23.8333,296.071,-30.3637],[8179.91,-1300.06,23.15,297.3,-29.2405],[8001.3,-1202.32,22.4667,298.684,-28.1099],[7806.52,-1100.87,21.7333,300.35,-26.8894],[7603.93,-1000.84,20.9833,302.257,-25.6349],[7388.57,-900.462,20.2,304.478,-24.3195],[7159.87,-800.329,19.3833,307.056,-22.9443],[6917.16,-701.083,18.5333,310.036,-21.5111],[6654.84,-601.62,17.6333,313.541,-19.994],[6366.77,-501.341,16.6667,317.726,-18.3682],[6046.16,-400.251,15.6167,322.795,-16.6107],[5690.72,-300.485,14.4833,328.915,-14.7284],[5281.39,-200.73,13.2167,336.606,-12.6494],[4784.89,-100.105,11.7333,346.846,-10.2577],[4143.76,-0.686811,9.9,361.514,-7.38134],[3015.3,99.8208,6.88333,391.194,-2.88605],[2182.27,120.595,4.81667,416.195,-0.00665221]]], - [7,161.204,[[9474.5,-2001.19,28.4833,289.233,-37.1187],[9339.13,-1900.37,27.9,289.52,-36.21],[9202.01,-1801.6,27.3167,289.889,-35.2917],[9059.13,-1702.19,26.7167,290.358,-34.3375],[8910.3,-1602.34,26.1,290.939,-33.3472],[8755.32,-1502.28,25.4667,291.645,-32.3206],[8593.99,-1402.24,24.8167,292.49,-31.2575],[8421.87,-1300.01,24.1333,293.516,-30.1305],[8247.1,-1200.82,23.45,294.691,-28.9948],[8060.92,-1100.12,22.7333,296.089,-27.7954],[7867.29,-1000.64,22,297.704,-26.5606],[7661.4,-900.546,21.2333,299.602,-25.263],[7442.7,-800.431,20.4333,301.822,-23.9034],[7210.58,-700.914,19.6,304.407,-22.4831],[6959.62,-600.828,18.7167,307.467,-20.9757],[6688.77,-501.218,17.7833,311.077,-19.3837],[6386.87,-400.025,16.7667,315.473,-17.6541],[6056.99,-300.755,15.6833,320.723,-15.821],[5675.99,-200.023,14.4667,327.358,-13.7805],[5234.06,-100.785,13.1,335.811,-11.5198],[4673.83,-0.284927,11.4333,347.675,-8.82087],[3858.92,99.876,9.13333,367.17,-5.22802],[2479.13,161.203,5.55,406.042,-0.00894455]]], - [8,206.853,[[9679.17,-2002.8,29.4333,286.837,-37.9769],[9546.46,-1900.83,28.85,286.993,-37.0708],[9412.06,-1800.92,28.2667,287.226,-36.1543],[9272.02,-1700.32,27.6667,287.55,-35.2013],[9130.14,-1601.96,27.0667,287.965,-34.2381],[8978.35,-1500.57,26.4333,288.505,-33.2112],[8824.43,-1401.74,25.8,289.156,-32.1741],[8660.1,-1300.49,25.1333,289.965,-31.0724],[8493.33,-1202.14,24.4667,290.908,-29.9612],[8315.57,-1102.02,23.7667,292.049,-28.7851],[8126.37,-1000.66,23.0333,293.418,-27.544],[7929.64,-900.776,22.2833,295.011,-26.2665],[7720.62,-800.586,21.5,296.893,-24.9249],[7498.75,-700.7,20.6833,299.104,-23.5203],[7263.41,-601.769,19.8333,301.69,-22.0542],[7004.43,-500.923,18.9167,304.82,-20.471],[6725.31,-401.265,17.95,308.526,-18.8024],[6414.89,-300.94,16.9,313.048,-16.9954],[6065.91,-200.726,15.75,318.633,-15.0282],[5664.83,-101.102,14.4667,325.696,-12.855],[5174.12,-0.41868,12.95,335.261,-10.3276],[4526.22,99.4897,11.0333,349.413,-7.21604],[3221.61,199.869,7.45,383.001,-1.71921],[2760.74,206.852,6.26667,396.451,-0.0123617]]], - [9,257.282,[[9876.82,-2002.91,30.3833,284.63,-38.8494],[9750.46,-1902.66,29.8167,284.657,-37.9728],[9618.76,-1801.5,29.2333,284.757,-37.0596],[9485.39,-1702.4,28.65,284.935,-36.1356],[9346.44,-1602.68,28.05,285.201,-35.1746],[9201.75,-1502.52,27.4333,285.567,-34.176],[9051.11,-1402.17,26.8,286.046,-33.1394],[8894.35,-1301.85,26.15,286.652,-32.0648],[8731.26,-1201.81,25.4833,287.398,-30.952],[8561.6,-1102.32,24.8,288.301,-29.8011],[8380.93,-1001.31,24.0833,289.406,-28.5839],[8193.09,-901.558,23.35,290.712,-27.3289],[7993.44,-801.218,22.5833,292.275,-26.008],[7781.46,-700.883,21.7833,294.134,-24.6219],[7556.59,-601.183,20.95,296.329,-23.1715],[7313.58,-500.952,20.0667,298.96,-21.6294],[7051.48,-401.247,19.1333,302.097,-19.9979],[6759.52,-300.02,18.1167,305.956,-18.222],[6440.74,-200.79,17.0333,310.605,-16.336],[6072.89,-100.202,15.8167,316.527,-14.2322],[5641.37,-0.129107,14.4333,324.225,-11.8677],[5101.56,99.6343,12.7667,334.975,-9.07202],[4306.16,199.584,10.4333,353.026,-5.28633],[3027.67,257.281,6.96667,387.373,-0.0155644]]], - [10,312.248,[[10067.5,-2001.69,31.3333,282.606,-39.7349],[9943.58,-1900.25,30.7667,282.515,-38.8628],[9818.19,-1800.74,30.2,282.49,-37.9797],[9687.5,-1700.35,29.6167,282.535,-37.0594],[9555.18,-1602.05,29.0333,282.656,-36.128],[9413.49,-1500.44,28.4167,282.87,-35.1319],[9269.91,-1401.23,27.8,283.178,-34.1244],[9120.45,-1301.87,27.1667,283.596,-33.0783],[8960.92,-1200.09,26.5,284.154,-31.9655],[8799.07,-1101.23,25.8333,284.837,-30.8416],[8626.61,-1000.61,25.1333,285.698,-29.6503],[8447.32,-901.023,24.4167,286.737,-28.4201],[8256.66,-800.563,23.6667,288.005,-27.1223],[8058.52,-701.906,22.9,289.501,-25.7865],[7843.75,-601.37,22.0833,291.328,-24.355],[7616.07,-501.798,21.2333,293.499,-22.858],[7365.65,-400.306,20.3167,296.164,-21.2384],[7095.92,-300.016,19.35,299.359,-19.528],[6800.98,-200.599,18.3167,303.235,-17.7013],[6469.32,-101.007,17.1833,308.065,-15.7051],[6083.01,-0.433712,15.9,314.316,-13.4618],[5621.49,99.2427,14.4167,322.649,-10.9025],[5010.8,199.358,12.5333,335.093,-7.72481],[3866.78,299.828,9.23333,362.606,-2.41856],[3280.44,312.246,7.65,378.764,-0.0172065]]], - [11,371.519,[[10254.6,-2002.41,32.3,280.767,-40.6573],[10136.8,-1902.67,31.75,280.567,-39.8167],[10014,-1801.8,31.1833,280.421,-38.9392],[9889.66,-1702.88,30.6167,280.339,-38.0503],[9756.38,-1600.28,30.0167,280.325,-37.097],[9625.16,-1502.68,29.4333,280.387,-36.1586],[9484.66,-1401.83,28.8167,280.539,-35.1547],[9338.44,-1300.78,28.1833,280.791,-34.1113],[9190.23,-1202.32,27.55,281.145,-33.056],[9032.05,-1101.5,26.8833,281.634,-31.9331],[8867.55,-1001.23,26.2,282.265,-30.7699],[8696.53,-901.759,25.5,283.055,-29.5668],[8514.59,-801.133,24.7667,284.045,-28.2947],[8325.52,-702.062,24.0167,285.239,-26.983],[8120.44,-600.733,23.2167,286.725,-25.5734],[7902.98,-500.027,22.3833,288.518,-24.0956],[7672.58,-400.62,21.5167,290.662,-22.5511],[7424.04,-301.488,20.6,293.257,-20.9119],[7147.08,-200.517,19.6,296.49,-19.1211],[6844.7,-101.222,18.5333,300.431,-17.2125],[6495.62,-0.10777,17.3333,305.508,-15.074],[6091.11,99.9175,15.9833,312.088,-12.6884],[5594.64,199.113,14.3833,321.17,-9.90254],[4879.47,299.971,12.1833,336.153,-6.17476],[3519.53,371.517,8.31667,370.587,-0.0159726]]], - [12,434.878,[[10434.6,-2002.26,33.2667,279.109,-41.5896],[10319.1,-1901.22,32.7167,278.802,-40.7556],[10202.3,-1802,32.1667,278.548,-39.9102],[10080.6,-1701.67,31.6,278.346,-39.0274],[9953.66,-1600.44,31.0167,278.204,-38.1063],[9825.2,-1501.32,30.4333,278.132,-37.1731],[9691.41,-1401.59,29.8333,278.134,-36.201],[9552.12,-1301.46,29.2167,278.223,-35.1893],[9407.18,-1201.18,28.5833,278.409,-34.1375],[9256.39,-1100.97,27.9333,278.706,-33.0452],[9099.56,-1001.09,27.2667,279.126,-31.9121],[8936.51,-901.792,26.5833,279.686,-30.738],[8762.94,-801.051,25.8667,280.42,-29.4941],[8582.57,-701.622,25.1333,281.335,-28.209],[8390.97,-601.681,24.3667,282.478,-26.8537],[8187.66,-501.83,23.5667,283.884,-25.4285],[7967.76,-400.777,22.7167,285.63,-23.9039],[7734.91,-301.352,21.8333,287.733,-22.3112],[7479.43,-200.891,20.8833,290.342,-20.5919],[7200.04,-100.942,19.8667,293.554,-18.7489],[6885.78,-0.346871,18.75,297.612,-16.7266],[6529.36,99.337,17.5167,302.78,-14.5025],[6102.24,199.748,16.0833,309.754,-11.9415],[5555.58,299.985,14.3167,319.898,-8.83822],[4690.06,399.576,11.6667,338.668,-4.34009],[3745.39,434.877,8.96667,362.806,-0.0105601]]], - [13,502.12,[[10607.4,-2001.42,34.2333,277.624,-42.5303],[10497.7,-1902.14,33.7,277.227,-41.7291],[10383.3,-1801.53,33.15,276.867,-40.8911],[10267.5,-1702.73,32.6,276.558,-40.0414],[10146.8,-1602.86,32.0333,276.298,-39.1537],[10021.1,-1502.11,31.45,276.095,-38.2273],[9890.18,-1400.7,30.85,275.958,-37.2614],[9757.6,-1301.56,30.25,275.899,-36.2826],[9619.58,-1202.07,29.6333,275.922,-35.2636],[9475.98,-1102.45,29,276.039,-34.2038],[9322.74,-1000.43,28.3333,276.271,-33.0743],[9167.34,-901.361,27.6667,276.62,-31.9314],[9001.83,-800.567,26.9667,277.119,-30.7178],[8829.83,-700.842,26.25,277.777,-29.4618],[8647.03,-600.29,25.5,278.634,-28.1342],[8457.14,-501.592,24.7333,279.697,-26.7646],[8251.45,-401.073,23.9167,281.048,-25.2937],[8033.53,-301.586,23.0667,282.708,-23.7518],[7794.02,-200.264,22.15,284.802,-22.0795],[7536.26,-100.24,21.1833,287.371,-20.309],[7254.65,-1.21096,20.15,290.552,-18.4128],[6933.62,99.2175,19,294.649,-16.3044],[6565.48,198.851,17.7167,299.961,-13.9622],[6116.3,299.242,16.2,307.315,-11.2219],[5514.89,399.786,14.25,318.631,-7.76649],[4193.19,499.9,10.2667,349.178,-1.06326],[3964.34,502.117,9.61667,355.231,-0.0260243]]], - [14,573.047,[[10773,-2000.09,35.2,276.309,-43.478],[10668.9,-1902.61,34.6833,275.832,-42.71],[10556.8,-1800.58,34.1333,275.369,-41.8805],[10443.4,-1700.35,33.5833,274.955,-41.0387],[10328.7,-1601.95,33.0333,274.591,-40.1848],[10209.1,-1502.51,32.4667,274.274,-39.2925],[10084.6,-1402.22,31.8833,274.01,-38.361],[9954.88,-1301.29,31.2833,273.81,-37.3893],[9823.55,-1202.64,30.6833,273.685,-36.4043],[9683.15,-1101.04,30.05,273.64,-35.3505],[9540.89,-1002.05,29.4167,273.689,-34.2829],[9389.11,-900.709,28.75,273.848,-33.1446],[9235.21,-802.348,28.0833,274.122,-31.9922],[9071.31,-702.318,27.3833,274.541,-30.768],[8897.02,-601.143,26.65,275.13,-29.471],[8715.99,-501.553,25.9,275.902,-28.1305],[8523.85,-401.794,25.1167,276.9,-26.7168],[8315.96,-300.514,24.2833,278.189,-25.1996],[8095.84,-200.569,23.4167,279.79,-23.6098],[7858.57,-100.932,22.5,281.79,-21.918],[7598.83,-1.1148,21.5167,284.304,-20.0952],[7310.77,98.7364,20.45,287.489,-18.1138],[6983.27,199.038,19.2667,291.612,-15.9173],[6599.02,299.705,17.9167,297.125,-13.4236],[6128.19,399.501,16.3167,304.857,-10.5001],[5462.1,499.718,14.15,317.589,-6.6287],[4164.81,573.046,10.2333,348.158,-0.00889279]]], - [15,647.473,[[10934.7,-2001.64,36.1833,275.177,-44.4554],[10832.7,-1902.82,35.6667,274.612,-43.6966],[10726.2,-1802.45,35.1333,274.068,-42.9016],[10615.2,-1700.71,34.5833,273.55,-42.0691],[10502.9,-1600.78,34.0333,273.08,-41.2241],[10389.3,-1502.7,33.4833,272.66,-40.3666],[10267.4,-1400.71,32.9,272.273,-39.4437],[10144,-1300.84,32.3167,271.948,-38.5072],[10015.6,-1200.36,31.7167,271.684,-37.53],[9885.5,-1102.18,31.1167,271.495,-36.5389],[9746.47,-1001.08,30.4833,271.381,-35.4783],[9601.88,-900.058,29.8333,271.359,-34.3747],[9455.35,-801.847,29.1833,271.441,-33.2565],[9299.17,-701.673,28.5,271.643,-32.066],[9133,-600.042,27.7833,271.992,-30.8018],[8964.35,-501.974,27.0667,272.487,-29.5227],[8781.15,-401.064,26.3,273.187,-28.1394],[8586.86,-300.24,25.5,274.116,-26.6809],[8381.01,-200.151,24.6667,275.311,-25.1475],[8163.09,-101.484,23.8,276.814,-23.5401],[7923.94,-1.51975,22.8667,278.745,-21.7976],[7658,99.8128,21.85,281.238,-19.8904],[7368.2,198.951,20.7667,284.369,-17.8532],[7034.57,299.19,19.55,288.504,-15.5666],[6639.49,399.652,18.15,294.126,-12.9485],[6142.84,499.627,16.45,302.293,-9.80659],[5391.99,599.607,14,316.897,-5.39446],[4358.87,647.472,10.85,341.247,-0.0111625]]], - [16,725.219,[[11089,-2003.12,37.1667,274.209,-45.4363],[10989.1,-1902.92,36.65,273.56,-44.6876],[10884.8,-1801.13,36.1167,272.926,-43.9025],[10779.3,-1701.01,35.5833,272.33,-43.1051],[10672.7,-1602.58,35.05,271.775,-42.2955],[10561.6,-1502.88,34.5,271.248,-41.4479],[10445.7,-1402.09,33.9333,270.756,-40.5611],[10325,-1300.42,33.35,270.308,-39.6342],[10202.9,-1200.88,32.7667,269.921,-38.6933],[10075.7,-1100.75,32.1667,269.591,-37.7111],[9943.36,-1000.26,31.55,269.329,-36.6867],[9809.36,-902.241,30.9333,269.148,-35.6477],[9666.27,-801.648,30.2833,269.052,-34.537],[9517.53,-701.415,29.6167,269.057,-33.3821],[9362.96,-601.807,28.9333,269.18,-32.1825],[9198.52,-500.793,28.2167,269.443,-30.908],[9027.73,-401.141,27.4833,269.862,-29.5878],[8846.43,-301.032,26.7167,270.471,-28.1916],[8654.18,-201.074,25.9167,271.304,-26.7188],[8450.53,-101.92,25.0833,272.396,-25.1697],[8226.61,-0.618846,24.1833,273.849,-23.4822],[7985.66,99.6805,23.2333,275.708,-21.6882],[7722.45,199.34,22.2167,278.088,-19.7582],[7426.78,299.475,21.1,281.196,-17.6322],[7087.33,399.735,19.85,285.327,-15.2534],[6681.89,499.997,18.4,291.042,-12.5077],[6160.15,599.782,16.6,299.622,-9.14209],[5283.57,699.874,13.7333,317.045,-3.94475],[4540.96,725.218,11.45,334.635,-0.00516184]]], - [17,806.11,[[11232.8,-2001.4,38.1333,273.376,-46.3955],[11138.1,-1903.11,37.6333,272.671,-45.6811],[11039.1,-1803.07,37.1167,271.974,-44.9313],[10935.9,-1701.43,36.5833,271.288,-44.1448],[10831.5,-1601.48,36.05,270.639,-43.3458],[10722.7,-1500.19,35.5,270.012,-42.5086],[10612.6,-1400.74,34.95,269.43,-41.6582],[10497.9,-1300.22,34.3833,268.88,-40.7682],[10381.8,-1201.7,33.8167,268.384,-39.8644],[10261,-1102.4,33.2333,267.934,-38.9197],[10135.2,-1002.52,32.6333,267.536,-37.9331],[10004.2,-902.307,32.0167,267.203,-36.9037],[9868.07,-801.976,31.3833,266.944,-35.8307],[9726.49,-701.776,30.7333,266.772,-34.7132],[9579.33,-601.964,30.0667,266.699,-33.5506],[9422.67,-500.426,29.3667,266.741,-32.3127],[9263.77,-402.281,28.6667,266.913,-31.0582],[9091,-300.944,27.9167,267.249,-29.6968],[8911.66,-201.498,27.15,267.763,-28.2881],[8717.53,-100.242,26.3333,268.512,-26.7703],[8512.01,-0.0573885,25.4833,269.524,-25.1739],[8294.62,98.3402,24.6,270.841,-23.4998],[8052.16,199.231,23.6333,272.611,-21.6537],[7787.57,299.09,22.6,274.905,-19.6687],[7490.73,398.934,21.4667,277.928,-17.4843],[7145.93,499.5,20.1833,282.03,-15.0109],[6730.73,599.808,18.6833,287.805,-12.1342],[6184.87,699.375,16.7833,296.759,-8.53869],[5078.25,799.844,13.1667,319.474,-1.95635],[4716.87,806.108,12.05,328.162,-0.0181861]]], - [18,889.982,[[11372.4,-2003.2,39.1167,272.717,-47.3795],[11276.5,-1900.25,38.6,271.914,-46.6525],[11182.7,-1802.08,38.1,271.164,-45.9376],[11084.8,-1702.16,37.5833,270.417,-45.1869],[10982.6,-1600.66,37.05,269.681,-44.3993],[10879.3,-1500.85,36.5167,268.98,-43.5988],[10774.9,-1402.76,35.9833,268.317,-42.7855],[10662.7,-1300.43,35.4167,267.659,-41.9073],[10549.1,-1200.09,34.85,267.049,-41.0147],[10434.3,-1101.76,34.2833,266.492,-40.1079],[10314.7,-1002.67,33.7,265.977,-39.1596],[10186.8,-900.285,33.0833,265.501,-38.1412],[10057.2,-800.377,32.4667,265.099,-37.1067],[9922.51,-700.379,31.8333,264.768,-36.0278],[9782.44,-600.535,31.1833,264.52,-34.9036],[9636.87,-501.104,30.5167,264.368,-33.7336],[9485.63,-402.354,29.8333,264.325,-32.517],[9324.77,-302.278,29.1167,264.411,-31.2233],[9153.93,-201.431,28.3667,264.652,-29.851],[8972.73,-100.405,27.5833,265.078,-28.3991],[8784.71,-1.8372,26.7833,265.708,-26.8985],[8577.58,99.6088,25.9167,266.626,-25.2549],[8358.6,198.987,25.0167,267.852,-23.5312],[8118.9,298.834,24.05,269.498,-21.6644],[7853.11,399.053,23,271.695,-19.6236],[7555.33,498.782,21.85,274.619,-17.3797],[7205.52,599.798,20.5333,278.676,-14.8095],[6785.68,699.271,19,284.422,-11.8305],[6211.87,799.392,16.9833,293.791,-7.9668],[4881.21,889.98,12.6333,321.953,-0.0215074]]], - [19,976.673,[[11501.6,-2002.05,40.0833,272.176,-48.3396],[11410.7,-1901.06,39.5833,271.332,-47.6477],[11318.9,-1801.49,39.0833,270.51,-46.9444],[11223,-1700.11,38.5667,269.687,-46.2055],[11126,-1600.29,38.05,268.892,-45.4542],[11028.1,-1502.04,37.5333,268.129,-44.6906],[10925.9,-1402.3,37,267.374,-43.8894],[10819.3,-1301.24,36.45,266.636,-43.0493],[10711.6,-1202.04,35.9,265.939,-42.1952],[10599.3,-1101.79,35.3333,265.269,-41.3007],[10482.4,-1000.7,34.75,264.632,-40.3646],[10364.1,-901.784,34.1667,264.053,-39.4132],[10241,-802.328,33.5667,263.522,-38.4187],[10112.9,-702.562,32.95,263.047,-37.3801],[9976.17,-600.13,32.3,262.63,-36.2676],[9837.66,-500.533,31.65,262.304,-35.1375],[9693.73,-401.37,30.9833,262.07,-33.9607],[9540.54,-300.549,30.2833,261.94,-32.7063],[9381.48,-200.879,29.5667,261.937,-31.4032],[9212.57,-100.477,28.8167,262.083,-30.0202],[9037.29,-2.03189,28.05,262.399,-28.5875],[8847.62,98.1068,27.2333,262.933,-27.0421],[8642.93,198.959,26.3667,263.734,-25.3827],[8422.53,299.46,25.45,264.859,-23.609],[8185.67,398.452,24.4833,266.375,-21.7216],[7918.89,499.202,23.4167,268.464,-19.6242],[7620.38,599.006,22.25,271.278,-17.3197],[7270.34,699.476,20.9167,275.218,-14.6833],[6841.79,799.468,19.3333,280.97,-11.5665],[6240.97,899.943,17.2,290.721,-7.4274],[5034.28,976.671,13.2,315.988,-0.013854]]], - [20,1066.03,[[11623.5,-2001.4,41.05,271.774,-49.2986],[11537.5,-1902.45,40.5667,270.896,-48.6415],[11447.5,-1801.46,40.0667,270.007,-47.9503],[11356.7,-1701.91,39.5667,269.14,-47.2475],[11261.8,-1600.55,39.05,268.269,-46.5089],[11165.9,-1500.75,38.5333,267.426,-45.7577],[11069,-1402.54,38.0167,266.612,-44.9939],[10967.9,-1302.83,37.4833,265.804,-44.1922],[10862.5,-1201.82,36.9333,265.01,-43.3513],[10756,-1102.67,36.3833,264.256,-42.4961],[10645,-1002.49,35.8167,263.525,-41.6],[10529.4,-901.474,35.2333,262.824,-40.6619],[10412.4,-802.637,34.65,262.18,-39.7079],[10287.3,-700.549,34.0333,261.563,-38.6823],[10160.6,-600.958,33.4167,261.018,-37.6395],[10028.9,-501.309,32.7833,260.536,-36.5509],[9892.01,-401.85,32.1333,260.13,-35.4156],[9746.19,-300.404,31.45,259.805,-34.2028],[9598.39,-202.195,30.7667,259.591,-32.971],[9437.55,-100.45,30.0333,259.492,-31.6289],[9270.64,-0.359061,29.2833,259.54,-30.2359],[9093.66,99.8342,28.5,259.76,-28.7603],[8906.21,199.491,27.6833,260.186,-27.2013],[8703.97,299.805,26.8167,260.87,-25.5262],[8486.24,399.705,25.9,261.869,-23.7345],[8248.23,499.661,24.9167,263.276,-21.7938],[7984.72,599.495,23.85,265.218,-19.672],[7685.69,699.573,22.6667,267.91,-17.3058],[7335.65,799.731,21.3167,271.719,-14.6019],[6903.43,899.503,19.7,277.389,-11.3766],[6281.55,999.962,17.4667,287.382,-6.98621],[5181.54,1066.02,13.7667,310.128,-0.0241849]]], - [21,1157.9,[[11738.1,-2001.4,42.0167,271.504,-50.255],[11653.8,-1901.13,41.5333,270.568,-49.61],[11568.7,-1802.16,41.05,269.648,-48.954],[11479.7,-1701.16,40.55,268.716,-48.2639],[11389.8,-1601.59,40.05,267.804,-47.5618],[11296,-1500.23,39.5333,266.886,-46.8239],[11201.2,-1400.43,39.0167,265.993,-46.0731],[11105.3,-1302.22,38.5,265.129,-45.3094],[11005.4,-1202.53,37.9667,264.269,-44.5075],[10901.2,-1101.54,37.4167,263.419,-43.6661],[10795.8,-1002.42,36.8667,262.608,-42.81],[10686,-902.269,36.3,261.816,-41.9126],[10571.7,-801.3,35.7167,261.052,-40.9727],[10456.1,-702.516,35.1333,260.342,-40.0165],[10332.4,-600.493,34.5167,259.655,-38.9881],[10207.2,-500.977,33.9,259.037,-37.9419],[10077.1,-401.415,33.2667,258.479,-36.8492],[9941.79,-302.057,32.6167,257.992,-35.7089],[9797.7,-200.73,31.9333,257.581,-34.4902],[9648.09,-100.3,31.2333,257.273,-33.2213],[9492.79,-1.06311,30.5167,257.083,-31.9014],[9327.92,98.8517,29.7667,257.029,-30.499],[9153.14,198.843,28.9833,257.14,-29.0125],[8968.05,298.27,28.1667,257.45,-27.4408],[8768.38,398.318,27.3,258.008,-25.751],[8549.53,499.663,26.3667,258.889,-23.9091],[8314.58,599.133,25.3833,260.152,-21.9479],[8050.39,699.882,24.3,261.964,-19.7685],[7755.26,799.132,23.1167,264.482,-17.3734],[7405.55,899.412,21.75,268.136,-14.6005],[6970.18,999.456,20.1,273.69,-11.2637],[6333.09,1099.78,17.7833,283.783,-6.64678],[5317.88,1157.89,14.3167,304.487,-0.0220725]]], - [22,1252.13,[[11845.4,-2002.22,42.9833,271.362,-51.2077],[11762.8,-1900.61,42.5,270.372,-50.5752],[11679.5,-1800.3,42.0167,269.396,-49.9317],[11595.2,-1701.28,41.5333,268.435,-49.2772],[11507.2,-1600.25,41.0333,267.459,-48.5883],[11418.3,-1500.65,40.5333,266.503,-47.8874],[11328.6,-1402.51,40.0333,265.568,-47.1743],[11234.8,-1302.64,39.5167,264.627,-46.4246],[11137,-1201.22,38.9833,263.683,-45.6369],[11038.2,-1101.51,38.45,262.77,-44.8351],[10935.1,-1000.52,37.9,261.864,-43.9935],[10831,-901.392,37.35,260.996,-43.1369],[10722.5,-801.25,36.7833,260.144,-42.2386],[10609.5,-700.296,36.2,259.317,-41.2973],[10495.2,-601.534,35.6167,258.541,-40.3392],[10376.3,-502.268,35.0167,257.803,-39.3364],[10249.2,-400.069,34.3833,257.093,-38.259],[10120.6,-300.56,33.75,256.459,-37.1625],[9986.95,-201.266,33.1,255.893,-36.0177],[9844.6,-100.019,32.4167,255.395,-34.7934],[9700.35,-2.03313,31.7333,255.004,-33.5485],[9543.42,99.4423,31,254.711,-32.1904],[9380.6,199.226,30.25,254.556,-30.7789],[9208.01,299.064,29.4667,254.558,-29.2817],[9025.28,398.312,28.65,254.752,-27.6977],[8828.18,498.149,27.7833,255.184,-25.9933],[8612.19,599.243,26.85,255.926,-24.1341],[8380.35,698.422,25.8667,257.038,-22.1529],[8119.75,798.817,24.7833,258.681,-19.9493],[7824.53,898.951,23.5833,261.045,-17.4912],[7475.4,999.618,22.2,264.529,-14.6481],[7041.66,1099.35,20.5333,269.885,-11.2309],[6395.04,1199.62,18.15,279.94,-6.41318],[5443.57,1252.13,14.85,299.047,-0.00633122]]], - [23,1348.59,[[11942.6,-2000.43,43.9333,271.306,-52.1345],[11864.5,-1901.05,43.4667,270.302,-51.5362],[11785.7,-1802.85,43,269.308,-50.9275],[11703.2,-1702.43,42.5167,268.292,-50.2863],[11620,-1603.31,42.0333,267.29,-49.6338],[11533,-1502.17,41.5333,266.271,-48.9469],[11445.1,-1402.47,41.0333,265.27,-48.2477],[11353.4,-1300.98,40.5167,264.256,-47.5123],[11260.7,-1201.07,40,263.267,-46.7635],[11167,-1102.75,39.4833,262.303,-46.0013],[11069.4,-1002.95,38.95,261.337,-45.2004],[10967.5,-901.862,38.4,260.374,-44.3594],[10864.6,-802.654,37.85,259.448,-43.503],[10757.4,-702.431,37.2833,258.535,-42.6046],[10645.8,-601.4,36.7,257.643,-41.6627],[10532.9,-502.567,36.1167,256.801,-40.7036],[10412.1,-400.509,35.5,255.971,-39.6711],[10289.9,-300.975,34.8833,255.207,-38.6196],[10162.9,-201.413,34.25,254.495,-37.5202],[10030.9,-102.074,33.6,253.846,-36.3717],[9890.29,-0.7889,32.9167,253.26,-35.1427],[9744.37,99.573,32.2167,252.768,-33.8615],[9592.93,198.716,31.5,252.385,-32.5272],[9432.21,298.504,30.75,252.125,-31.1075],[9261.87,398.331,29.9667,252.015,-29.6005],[9077.83,499.525,29.1333,252.092,-27.9721],[8883.3,599.206,28.2667,252.398,-26.2534],[8674.01,698.366,27.35,252.988,-24.4108],[8441.45,799.06,26.35,253.963,-22.3759],[8184.4,899.174,25.2667,255.437,-20.1481],[7893.3,998.96,24.0667,257.608,-17.6608],[7549.15,1099.18,22.6833,260.863,-14.7809],[7117.44,1199.17,21,265.991,-11.2813],[6466.79,1299.64,18.5667,275.87,-6.28965],[5563.73,1348.59,15.3833,293.686,-0.00747347]]], - [24,1447.14,[[12035.1,-2003.27,44.9,271.402,-53.0771],[11958.6,-1902.58,44.4333,270.352,-52.4916],[11881.4,-1803.07,43.9667,269.312,-51.8958],[11800.7,-1701.26,43.4833,268.245,-51.2679],[11719.2,-1600.75,43,267.189,-50.6287],[11636.9,-1501.55,42.5167,266.147,-49.9782],[11550.9,-1400.34,42.0167,265.085,-49.2931],[11464.1,-1300.56,41.5167,264.04,-48.5956],[11376.3,-1202.25,41.0167,263.014,-47.8855],[11284.8,-1102.21,40.5,261.976,-47.1384],[11189.2,-1000.62,39.9667,260.93,-46.3529],[11092.7,-900.766,39.4333,259.912,-45.5528],[10995.1,-802.657,38.9,258.925,-44.738],[10890.3,-700.358,38.3333,257.912,-43.856],[10784.4,-600.087,37.7667,256.94,-42.9574],[10677.3,-501.869,37.2,256.01,-42.042],[10562.5,-400.142,36.6,255.078,-41.0546],[10446.5,-300.779,36,254.201,-40.0485],[10325.8,-201.152,35.3833,253.363,-38.9952],[10200.3,-101.503,34.75,252.573,-37.8933],[10070,-2.08355,34.1,251.842,-36.7415],[9931.19,99.2768,33.4167,251.167,-35.5083],[9787.13,199.706,32.7167,250.582,-34.2218],[9637.65,298.906,32,250.102,-32.8811],[9479.03,398.743,31.25,249.737,-31.4536],[9310.93,498.607,30.4667,249.515,-29.9372],[9129.34,599.825,29.6333,249.469,-28.2974],[8937.43,699.514,28.7667,249.645,-26.5652],[8731,798.663,27.85,250.093,-24.7064],[8501.67,899.323,26.85,250.91,-22.6518],[8248.25,999.373,25.7667,252.207,-20.4004],[7961.34,1099.06,24.5667,254.177,-17.8839],[7622.25,1199.12,23.1833,257.194,-14.9671],[7192.81,1299.74,21.4833,262.076,-11.3834],[6547.71,1399.89,19.0333,271.594,-6.28105],[5678.35,1447.14,15.9167,288.4,-0.0259894]]], - [25,1547.64,[[12114.9,-2000.03,45.8333,271.531,-53.9724],[12042.7,-1901.73,45.3833,270.48,-53.42],[11967.2,-1800.93,44.9167,269.396,-52.8371],[11890.9,-1701.32,44.45,268.32,-52.2438],[11813.8,-1602.9,43.9833,267.253,-51.6401],[11733.3,-1502.24,43.5,266.159,-51.0037],[11652,-1402.9,43.0167,265.076,-50.3558],[11567,-1301.53,42.5167,263.971,-49.6732],[11481.2,-1201.61,42.0167,262.882,-48.9781],[11394.5,-1103.16,41.5167,261.811,-48.2701],[11304,-1002.98,41,260.725,-47.5251],[11209.6,-901.247,40.4667,259.627,-46.7415],[11114.2,-801.248,39.9333,258.557,-45.9429],[11017.8,-703.001,39.4,257.516,-45.1293],[10914.3,-600.561,38.8333,256.444,-44.2484],[10809.7,-500.153,38.2667,255.411,-43.3504],[10703.9,-401.804,37.7,254.419,-42.4352],[10593.7,-302.741,37.1167,253.446,-41.4752],[10476,-200.453,36.5,252.472,-40.4407],[10356.8,-100.702,35.8833,251.56,-39.386],[10232.9,-0.932758,35.25,250.693,-38.2821],[10104.2,98.6029,34.6,249.881,-37.1275],[9970.61,197.64,33.9333,249.135,-35.9209],[9828.46,298.259,33.2333,248.455,-34.6301],[9677.53,399.911,32.5,247.862,-33.2525],[9520.99,499.839,31.75,247.392,-31.8176],[9355.14,599.787,30.9667,247.058,-30.2922],[9179.61,699.105,30.15,246.891,-28.6746],[8990.38,798.966,29.2833,246.931,-26.9298],[8786.86,898.281,28.3667,247.233,-25.0557],[8560.81,999.103,27.3667,247.886,-22.9821],[8311.08,1099.31,26.2833,249,-20.7075],[8028.44,1199.14,25.0833,250.762,-18.1623],[7694.5,1299.33,23.7,253.531,-15.2086],[7275.96,1399.21,22.0167,258.047,-11.6101],[6641.54,1499.83,19.5667,267.067,-6.42738],[5782.68,1547.64,16.4333,283.288,-0.0292565]]], - [26,1649.96,[[12190.1,-2001.72,46.7833,271.803,-54.8817],[12119.4,-1902.19,46.3333,270.715,-54.3418],[12045.4,-1800.1,45.8667,269.592,-53.772],[11973.4,-1702.76,45.4167,268.513,-53.2128],[11898,-1602.98,44.95,267.402,-52.6228],[11819.2,-1500.9,44.4667,266.259,-52.0005],[11739.6,-1400.12,43.9833,265.127,-51.3667],[11659.2,-1300.66,43.5,264.005,-50.7212],[11578.1,-1202.53,43.0167,262.896,-50.064],[11493.3,-1102.44,42.5167,261.763,-49.3715],[11404.8,-1000.56,42,260.61,-48.6423],[11315.4,-900.266,41.4833,259.477,-47.8991],[11225,-801.577,40.9667,258.365,-47.1419],[11130.8,-701.412,40.4333,257.242,-46.3453],[11035.6,-603.003,39.9,256.148,-45.5333],[10933.4,-500.395,39.3333,255.017,-44.6538],[10833.1,-402.752,38.7833,253.955,-43.7834],[10725.6,-301.315,38.2,252.87,-42.8422],[10616.9,-202.094,37.6167,251.831,-41.8824],[10503.7,-102.379,37.0167,250.814,-40.8758],[10386.1,-2.40356,36.4,249.827,-39.8207],[10263.9,97.5916,35.7667,248.881,-38.7158],[10133.6,199.872,35.1,247.963,-37.5294],[10001.7,299.056,34.4333,247.131,-36.3196],[9861.45,399.819,33.7333,246.358,-35.0245],[9715.92,499.344,33.0167,245.68,-33.673],[9561.52,599.498,32.2667,245.103,-32.2319],[9397.95,699.673,31.4833,244.653,-30.6986],[9224.87,799.215,30.6667,244.362,-29.0711],[9038.31,899.301,29.8,244.268,-27.3141],[8837.69,998.84,28.8833,244.422,-25.4252],[8614.92,1099.89,27.8833,244.911,-23.3331],[8372.69,1198.85,26.8167,245.825,-21.0711],[8094.36,1299.07,25.6167,247.371,-18.4976],[7765.64,1399.69,24.2333,249.884,-15.5071],[7357.96,1499.18,22.5667,254.028,-11.8946],[6742.99,1599.81,20.15,262.398,-6.70057],[5876.93,1649.96,16.9333,278.337,-0.0159754]]], - [27,1753.97,[[12255.4,-2001.09,47.7167,272.133,-55.764],[12186.2,-1900.36,47.2667,271.012,-55.2366],[12116.3,-1800.68,46.8167,269.893,-54.6999],[12045.9,-1702.08,46.3667,268.778,-54.1537],[11972.1,-1600.98,45.9,267.626,-53.5771],[11897.6,-1501.05,45.4333,266.48,-52.99],[11822.4,-1402.33,44.9667,265.341,-52.3923],[11743.7,-1301.36,44.4833,264.17,-51.7618],[11664.3,-1201.72,44,263.008,-51.1195],[11581.4,-1100.04,43.5,261.819,-50.4425],[11500.4,-1003.13,43.0167,260.683,-49.7758],[11413,-901.059,42.5,259.484,-49.0495],[11324.7,-800.574,41.9833,258.303,-48.309],[11235.5,-701.699,41.4667,257.143,-47.5543],[11142.5,-601.344,40.9333,255.969,-46.7599],[11048.5,-502.75,40.4,254.821,-45.95],[10950.6,-402.942,39.85,253.666,-45.0983],[10848.6,-302.119,39.2833,252.512,-44.2033],[10742.4,-200.49,38.7,251.364,-43.2631],[10635,-101.081,38.1167,250.259,-42.3039],[10523.4,-1.17945,37.5167,249.173,-41.2974],[10407.3,98.9837,36.9,248.113,-40.2419],[10286.6,199.165,36.2667,247.09,-39.1359],[10161.3,299.111,35.6167,246.113,-37.9776],[10031.2,398.555,34.95,245.193,-36.7657],[9892.82,499.585,34.25,244.325,-35.4674],[9749.28,599.375,33.5333,243.547,-34.1116],[9597.02,699.799,32.7833,242.862,-32.6646],[9439.19,798.155,32.0167,242.307,-31.157],[9268.6,898.073,31.2,241.889,-29.521],[9084.75,998.547,30.3333,241.655,-27.7529],[8887.09,1098.49,29.4167,241.659,-25.8502],[8667.64,1199.96,28.4167,241.977,-23.7404],[8429.08,1299.35,27.35,242.705,-21.4567],[8158.89,1398.73,26.1667,244.013,-18.8916],[7839.38,1498.94,24.8,246.228,-15.9012],[7438.54,1599.51,23.1333,250.028,-12.2389],[6851.32,1699.59,20.7833,257.618,-7.1067],[5965.89,1753.97,17.4333,273.44,-0.0190485]]], - [28,1859.54,[[12313.4,-2001.96,48.65,272.557,-56.6391],[12245.7,-1900.02,48.2,271.405,-56.1243],[12179.8,-1802.85,47.7667,270.296,-55.6199],[12110.8,-1702.98,47.3167,269.147,-55.0869],[12038.6,-1600.54,46.85,267.958,-54.5241],[11968.3,-1502.87,46.4,266.815,-53.9715],[11894.8,-1402.75,45.9333,265.635,-53.3881],[11817.8,-1300.31,45.45,264.418,-52.7725],[11742.8,-1202.65,44.9833,263.251,-52.167],[11664.4,-1102.8,44.5,262.051,-51.5282],[11582.5,-1000.91,44,260.82,-50.8546],[11499.8,-900.477,43.5,259.602,-50.168],[11416.3,-801.513,43,258.398,-49.4681],[11329.1,-700.817,42.4833,257.17,-48.7306],[11241,-601.732,41.9667,255.962,-47.9786],[11149.2,-501.164,41.4333,254.736,-47.187],[11056.4,-402.359,40.9,253.535,-46.3794],[10959.7,-302.336,40.35,252.325,-45.5299],[10859,-201.297,39.7833,251.111,-44.6367],[10757.2,-102.327,39.2167,249.934,-43.7252],[10651.3,-2.63862,38.6333,248.763,-42.7676],[10541.1,97.5474,38.0333,247.607,-41.7622],[10426.6,197.999,37.4167,246.473,-40.7074],[10307.5,298.471,36.7833,245.371,-39.6013],[10183.9,398.711,36.1333,244.311,-38.4423],[10055.6,498.452,35.4667,243.304,-37.2288],[9919.11,599.786,34.7667,242.341,-35.9279],[9777.57,699.881,34.05,241.464,-34.5683],[9630.8,798.423,33.3167,240.687,-33.1488],[9471.84,899.283,32.5333,240.003,-31.602],[9303.68,999.523,31.7167,239.462,-29.9572],[9125.99,1098.44,30.8667,239.098,-28.2127],[8931.27,1198.84,29.95,238.95,-26.2967],[8718.76,1299.16,28.9667,239.093,-24.2057],[8483.92,1399.2,27.9,239.628,-21.9012],[8218.02,1499.28,26.7167,240.716,-19.3093],[7907.56,1599.16,25.3667,242.64,-16.3204],[7521.48,1699.13,23.7333,246.016,-12.6824],[6957.42,1799.93,21.4333,252.884,-7.57879],[6045.05,1859.54,17.9167,268.687,-0.00413991]]], - [29,1966.55,[[12361.6,-2000.63,49.5667,273.025,-57.4875],[12297.7,-1901.32,49.1333,271.889,-57.004],[12233.3,-1802.96,48.7,270.753,-56.512],[12165.8,-1701.86,48.25,269.573,-55.992],[12097.6,-1601.81,47.8,268.393,-55.4626],[12028.9,-1502.84,47.35,267.216,-54.9236],[11956.9,-1401.35,46.8833,265.998,-54.3543],[11884.2,-1301.05,46.4167,264.784,-53.7744],[11810.8,-1201.96,45.95,263.574,-53.1837],[11734.1,-1100.6,45.4667,262.328,-52.5602],[11656.7,-1000.57,44.9833,261.09,-51.9248],[11578.5,-901.882,44.5,259.861,-51.2771],[11496.9,-801.219,44,258.6,-50.5941],[11414.4,-702.028,43.5,257.352,-49.8976],[11328.3,-601.098,42.9833,256.078,-49.1635],[11241.4,-501.781,42.4667,254.822,-48.4147],[11150.7,-400.976,41.9333,253.546,-47.6261],[11059.1,-301.936,41.4,252.292,-46.8214],[10963.7,-201.675,40.85,251.027,-45.9744],[10864.3,-100.392,40.2833,249.754,-45.0835],[10763.9,-1.18249,39.7167,248.515,-44.1739],[10659.3,98.7496,39.1333,247.28,-43.2178],[10550.6,199.182,38.5333,246.056,-42.2136],[10437.6,299.882,37.9167,244.85,-41.1593],[10323.3,397.991,37.3,243.701,-40.0825],[10201.4,498.558,36.65,242.558,-38.9233],[10074.8,598.63,35.9833,241.464,-37.7088],[9943.5,697.926,35.3,240.431,-36.4373],[9804.01,798.452,34.5833,239.452,-35.0752],[9656.04,899.633,33.8333,238.549,-33.6193],[9502.71,998.749,33.0667,237.765,-32.0997],[9337.03,1099.46,32.25,237.096,-30.4477],[9161.98,1198.86,31.4,236.596,-28.6935],[8970.2,1299.77,30.4833,236.297,-26.7651],[8764.5,1398.98,29.5167,236.271,-24.6939],[8533.36,1499.74,28.45,236.613,-22.3694],[8275.43,1599.26,27.2833,237.466,-19.7884],[7973.94,1699.06,25.95,239.097,-16.8024],[7598.46,1799.63,24.3333,242.088,-13.1538],[7069.23,1899.43,22.1333,248.099,-8.19423],[6119.01,1966.55,18.4,263.978,-0.00537117]]], - [30,2074.88,[[12402.6,-2000.96,50.4833,273.575,-58.3282],[12340.1,-1900.52,50.05,272.416,-57.8568],[12277,-1801.02,49.6167,271.254,-57.377],[12213.4,-1702.49,49.1833,270.091,-56.8888],[12146.7,-1601.19,48.7333,268.882,-56.3726],[12079.4,-1500.95,48.2833,267.674,-55.8471],[12011.4,-1401.79,47.8333,266.466,-55.3119],[11940.4,-1300.11,47.3667,265.216,-54.7465],[11871.2,-1203.19,46.9167,264.012,-54.1911],[11796.2,-1100.33,46.4333,262.724,-53.5833],[11723,-1002.26,45.9667,261.485,-52.9851],[11646.6,-901.982,45.4833,260.209,-52.3537],[11569.4,-803.05,45,258.941,-51.71],[11488.8,-702.137,44.5,257.638,-51.0309],[11407.4,-602.697,44,256.348,-50.3382],[11322.5,-501.512,43.4833,255.028,-49.6079],[11236.7,-401.942,42.9667,253.724,-48.8627],[11147.2,-300.876,42.4333,252.397,-48.0775],[11056.8,-201.579,41.9,251.092,-47.2759],[10962.7,-101.054,41.35,249.771,-46.4319],[10867.5,-2.45831,40.8,248.478,-45.5702],[10765.5,99.9751,40.2167,247.141,-44.6365],[10665.3,197.347,39.65,245.878,-43.71],[10558.1,298.122,39.05,244.584,-42.7079],[10446.7,399.171,38.4333,243.305,-41.6553],[10333.9,497.625,37.8167,242.081,-40.5796],[10213.7,598.553,37.1667,240.856,-39.4209],[10089,698.99,36.5,239.675,-38.206],[9959.48,798.657,35.8167,238.55,-36.9331],[9821.95,899.566,35.1,237.471,-35.5686],[9679.39,998.929,34.3667,236.482,-34.1417],[9528.34,1098.54,33.6,235.582,-32.6175],[9365.11,1199.77,32.7833,234.787,-30.9588],[9192.71,1299.7,31.9333,234.15,-29.1958],[9007.29,1399.39,31.0333,233.706,-27.2911],[8804.83,1499.32,30.0667,233.511,-25.2055],[8580.94,1599.34,29.0167,233.655,-22.8986],[8327.25,1699.88,27.85,234.283,-20.2929],[8034.55,1799.65,26.5333,235.629,-17.3114],[7673.32,1899.96,24.95,238.212,-13.6917],[7173.97,1999.53,22.8333,243.451,-8.84562]]], - [31,2184.4,[[12436.3,-2003.1,51.4,274.205,-59.1606],[12375.1,-1901.52,50.9667,273.024,-58.7013],[12313.4,-1800.88,50.5333,271.839,-58.2339],[12251.1,-1701.19,50.1,270.652,-57.7581],[12188.2,-1602.45,49.6667,269.463,-57.2738],[12122.4,-1500.95,49.2167,268.226,-56.7618],[12056,-1400.51,48.7667,266.988,-56.2402],[11988.9,-1301.14,48.3167,265.751,-55.709],[11921.2,-1202.87,47.8667,264.514,-55.168],[11850.4,-1102.12,47.4,263.234,-54.5963],[11778.9,-1002.58,46.9333,261.956,-54.0136],[11704.2,-900.763,46.45,260.637,-53.3983],[11628.7,-800.273,45.9667,259.323,-52.7709],[11552.5,-701.126,45.4833,258.016,-52.1309],[11475.6,-603.339,45,256.717,-51.4784],[11392.6,-500.333,44.4833,255.34,-50.7666],[11311.5,-402.168,43.9833,254.019,-50.0636],[11226.8,-302.322,43.4667,252.668,-49.3223],[11138.6,-200.974,42.9333,251.292,-48.5409],[11049.4,-101.395,42.4,249.935,-47.743],[10956.5,-0.581112,41.85,248.559,-46.9024],[10862.6,98.3005,41.3,247.21,-46.0437],[10764.9,198.131,40.7333,245.85,-45.1399],[10663.2,298.697,40.15,244.486,-44.189],[10557.4,399.776,39.55,243.125,-43.189],[10450.5,498.429,38.95,241.81,-42.1667],[10336.3,599.894,38.3167,240.476,-41.0633],[10220.9,698.581,37.6833,239.204,-39.935],[10097.9,799.418,37.0167,237.936,-38.7203],[9970.25,899.491,36.3333,236.72,-37.4468],[9837.88,998.507,35.6333,235.568,-36.1126],[9697.43,1098.39,34.9,234.472,-34.6834],[9548.62,1198.53,34.1333,233.457,-33.1553],[9391.18,1298.29,33.3333,232.551,-31.5252],[9221.45,1398.92,32.4833,231.775,-29.7549],[9038.95,1499.33,31.5833,231.177,-27.8401],[8843.15,1598.37,30.6333,230.817,-25.7774],[8622.93,1699.37,29.5833,230.766,-23.4529],[8377.04,1799.61,28.4333,231.161,-20.8613],[8093.04,1899.59,27.1333,232.219,-17.8864],[7745.82,1999.89,25.5833,234.397,-14.2986]]], - [32,2295,[[12460.3,-2003.21,52.3,274.863,-59.9671],[12400.5,-1900.54,51.8667,273.663,-59.5197],[12342.4,-1802.68,51.45,272.504,-59.082],[12281.4,-1701.82,51.0167,271.295,-58.6187],[12220,-1601.92,50.5833,270.083,-58.1471],[12157.9,-1502.97,50.15,268.868,-57.667],[12092.9,-1401.24,49.7,267.604,-57.1593],[12027.3,-1300.58,49.25,266.338,-56.642],[11961.2,-1201,48.8,265.071,-56.1151],[11894.4,-1102.5,48.35,263.804,-55.5782],[11824.5,-1001.52,47.8833,262.491,-55.0108],[11753.9,-901.752,47.4167,261.18,-54.4324],[11682.7,-803.198,46.95,259.871,-53.8427],[11608.2,-702.428,46.4667,258.521,-53.2199],[11533.1,-603.001,45.9833,257.176,-52.5845],[11454.6,-501.577,45.4833,255.792,-51.9138],[11375.3,-401.629,44.9833,254.416,-51.2293],[11295.3,-303.176,44.4833,253.052,-50.5306],[11211.8,-203.032,43.9667,251.655,-49.7936],[11124.7,-101.378,43.4333,250.229,-49.0165],[11036.8,-1.49441,42.9,248.821,-48.2225],[10945.1,99.6318,42.35,247.391,-47.3858],[10852.5,198.824,41.8,245.986,-46.5307],[10756.2,298.973,41.2333,244.567,-45.6302],[10655.9,399.865,40.65,243.14,-44.6823],[10554.5,498.493,40.0667,241.751,-43.7129],[10449.1,597.543,39.4667,240.365,-42.6934],[10336.6,699.426,38.8333,238.954,-41.5923],[10222.8,798.527,38.2,237.603,-40.4656],[10101.5,899.798,37.5333,236.249,-39.2518],[9978.86,997.9,36.8667,234.972,-38.0098],[9845.35,1099.78,36.15,233.693,-36.6432],[9710.13,1197.88,35.4333,232.519,-35.2445],[9563.58,1298.6,34.6667,231.388,-33.7134],[9408.54,1398.97,33.8667,230.359,-32.0784],[9244.72,1498.29,33.0333,229.462,-30.3363],[9065.11,1599.48,32.1333,228.712,-28.4123],[8872.46,1699.34,31.1833,228.186,-26.3371],[8659.27,1799.69,30.15,227.946,-24.0329],[8421.04,1899.67,29.0167,228.114,-21.4569],[8145.57,1999.91,27.7333,228.892,-18.4903]]], - [33,2406.56,[[12474.9,-2001.31,53.1833,275.544,-60.7485],[12418.5,-1901.54,52.7667,274.374,-60.3297],[12361.7,-1802.61,52.35,273.198,-59.9036],[12302.1,-1700.63,51.9167,271.97,-59.4526],[12244.3,-1603.45,51.5,270.785,-59.0112],[12183.6,-1503.32,51.0667,269.548,-58.544],[12120,-1400.35,50.6167,268.26,-58.0498],[12058.2,-1302.18,50.1833,267.016,-57.5651],[11993.5,-1201.28,49.7333,265.722,-57.0524],[11928.2,-1101.46,49.2833,264.426,-56.5299],[11862.3,-1002.73,48.8333,263.129,-55.9975],[11793.3,-901.505,48.3667,261.784,-55.4346],[11723.7,-801.487,47.9,260.44,-54.8607],[11653.4,-702.688,47.4333,259.098,-54.2755],[11579.9,-601.665,46.95,257.711,-53.6572],[11505.8,-501.985,46.4667,256.328,-53.0263],[11428.3,-400.301,45.9667,254.904,-52.3601],[11350.2,-300.093,45.4667,253.488,-51.6799],[11271.2,-201.381,44.9667,252.081,-50.9854],[11188.8,-100.972,44.45,250.639,-50.2526],[11105.6,-2.20292,43.9333,249.21,-49.504],[11018.9,98.0084,43.4,247.752,-48.7144],[10928.5,199.471,42.85,246.268,-47.8821],[10837.2,298.999,42.3,244.808,-47.031],[10742.2,399.492,41.7333,243.329,-46.1343],[10646.2,497.875,41.1667,241.882,-45.2172],[10543.4,599.714,40.5667,240.385,-44.2237],[10439.5,699.122,39.9667,238.931,-43.2068],[10331.5,798.725,39.35,237.484,-42.1373],[10219.3,898.273,38.7167,236.053,-41.0128],[10102.9,997.506,38.0667,234.649,-39.8313],[9979.04,1098.58,37.3833,233.248,-38.5593],[9850.6,1198.61,36.6833,231.901,-37.2246],[9714.33,1299.55,35.95,230.595,-35.7923],[9573.14,1398.64,35.2,229.378,-34.292],[9420.5,1499.64,34.4,228.225,-32.653],[9259.24,1599.63,33.5667,227.195,-30.9047],[9085.75,1699.71,32.6833,226.311,-29.008],[8899.57,1798.73,31.75,225.628,-26.9582],[8693.34,1898.6,30.7333,225.2,-24.6766],[8459.21,1999.93,29.6,225.144,-22.0802]]], - [34,2518.96,[[12482.2,-2001.43,54.0667,276.29,-61.5221],[12427.1,-1900.63,53.65,275.105,-61.1145],[12371.5,-1800.67,53.2333,273.914,-60.6998],[12315.4,-1701.54,52.8167,272.717,-60.2778],[12258.8,-1603.27,52.4,271.515,-59.8484],[12199.5,-1501.98,51.9667,270.259,-59.3938],[12139.6,-1401.64,51.5333,268.998,-58.9308],[12079.2,-1302.26,51.1,267.732,-58.4594],[12015.9,-1200.09,50.65,266.414,-57.9606],[11954.4,-1102.7,50.2167,265.141,-57.4712],[11889.9,-1002.63,49.7667,263.817,-56.9535],[11824.9,-903.644,49.3167,262.491,-56.4257],[11756.9,-802.16,48.85,261.114,-55.8677],[11688.2,-701.879,48.3833,259.738,-55.2986],[11618.9,-602.819,47.9167,258.362,-54.7181],[11546.4,-501.524,47.4333,256.939,-54.1046],[11473.3,-401.573,46.95,255.52,-53.4785],[11399.5,-302.984,46.4667,254.105,-52.8393],[11322.3,-202.447,45.9667,252.648,-52.1643],[11241.9,-100.131,45.45,251.15,-51.4517],[11163.3,-2.65675,44.95,249.711,-50.7472],[11078.6,99.6212,44.4167,248.188,-49.9792],[10995.7,197.013,43.9,246.728,-49.2188],[10906.7,298.836,43.35,245.191,-48.3912],[10816.7,398.724,42.8,243.675,-47.5446],[10723,499.586,42.2333,242.138,-46.6522],[10628.3,598.337,41.6667,240.63,-45.7391],[10529.9,697.758,41.0833,239.11,-44.7772],[10427.5,797.621,40.4833,237.586,-43.7643],[10321.1,897.689,39.8667,236.065,-42.6982],[10210.6,997.714,39.2333,234.556,-41.5767],[10093,1099.95,38.5667,233.031,-40.3669],[9973.91,1199.02,37.9,231.577,-39.127],[9847.4,1299.57,37.2,230.135,-37.7927],[9716.27,1398.79,36.4833,228.756,-36.3927],[9577.29,1498.52,35.7333,227.427,-34.8911],[9430.19,1598.15,34.95,226.175,-33.2837],[9271.53,1698.95,34.1167,225.009,-31.5311],[9100.86,1799.9,33.2333,223.975,-29.6274],[8917.72,1899.83,32.3,223.128,-27.5674],[8718.28,1999.1,31.3,222.524,-25.3092]]], - [35,2632.09,[[12482.3,-2003.71,54.95,277.097,-62.2874],[12428.4,-1901.89,54.5333,275.9,-61.891],[12374,-1800.88,54.1167,274.696,-61.4877],[12319.1,-1700.71,53.7,273.485,-61.0772],[12263.8,-1601.38,53.2833,272.268,-60.6595],[12208,-1502.89,52.8667,271.044,-60.2344],[12149.4,-1401.39,52.4333,269.764,-59.7842],[12090.3,-1300.83,52,268.48,-59.3257],[12030.7,-1201.23,51.5667,267.189,-58.8587],[11970.6,-1102.6,51.1333,265.895,-58.383],[11907.6,-1001.22,50.6833,264.546,-57.8796],[11844,-900.92,50.2333,263.194,-57.3665],[11779.9,-801.707,49.7833,261.839,-56.8433],[11715.1,-703.599,49.3333,260.482,-56.31],[11647.4,-603.04,48.8667,259.073,-55.7459],[11576.6,-500.175,48.3833,257.614,-55.1497],[11507.6,-402.115,47.9167,256.207,-54.5621],[11435.5,-301.875,47.4333,254.751,-53.941],[11362.7,-202.996,46.95,253.298,-53.3069],[11286.7,-102.16,46.45,251.801,-52.6369],[11209.9,-2.82035,45.95,250.31,-51.9524],[11129.8,98.2371,45.4333,248.778,-51.2296],[11048.9,197.653,44.9167,247.257,-50.4907],[10964.6,298.531,44.3833,245.7,-49.7108],[10879.5,397.613,43.85,244.159,-48.9131],[10790.8,497.884,43.3,242.588,-48.0715],[10698.5,599.141,42.7333,240.994,-47.1839],[10605.2,698.285,42.1667,239.425,-46.2753],[10508.2,798.109,41.5833,237.842,-45.3176],[10407.3,898.387,40.9833,236.25,-44.3086],[10302.5,998.88,40.3667,234.657,-43.2459],[10193.6,1099.34,39.7333,233.071,-42.1273],[10080.6,1199.5,39.0833,231.502,-40.9504],[9963.41,1299.1,38.4167,229.961,-39.7127],[9841.83,1397.84,37.7333,228.459,-38.4119],[9709.74,1499.99,37,226.943,-36.9799],[9575.97,1598.14,36.2667,225.535,-35.5109],[9431.21,1698.47,35.4833,224.162,-33.9015],[9278.23,1798.06,34.6667,222.888,-32.1804],[9110.37,1899.91,33.7833,221.704,-30.2708],[8933.52,1999.07,32.8667,220.71,-28.2391]]], - [36,2745.83,[[12470.8,-2000.02,55.8,277.866,-63.0135],[12420.2,-1901.33,55.4,276.707,-62.6433],[12369.1,-1803.38,55,275.541,-62.2669],[12315.5,-1702.16,54.5833,274.318,-61.8679],[12261.4,-1601.76,54.1667,273.087,-61.4619],[12206.8,-1502.21,53.75,271.849,-61.0487],[12151.7,-1403.5,53.3333,270.604,-60.628],[12094,-1301.76,52.9,269.302,-60.1825],[12035.7,-1200.97,52.4667,267.994,-59.7287],[11976.9,-1101.14,52.0333,266.679,-59.2664],[11917.6,-1002.28,51.6,265.36,-58.7953],[11855.5,-900.655,51.15,263.984,-58.2968],[11792.8,-800.109,50.7,262.605,-57.7885],[11729.5,-700.652,50.25,261.221,-57.2701],[11665.7,-602.3,49.8,259.835,-56.7416],[11598.9,-501.488,49.3333,258.395,-56.1824],[11531.5,-401.896,48.8667,256.954,-55.6118],[11461,-300.05,48.3833,255.461,-55.0085],[11392.3,-202.992,47.9167,254.021,-54.4138],[11318.1,-100.409,47.4167,252.48,-53.7631],[11245.6,-2.65051,46.9333,250.994,-53.1204],[11170,97.0076,46.4333,249.462,-52.4412],[11091,198.394,45.9167,247.886,-51.7238],[11011.3,298.139,45.4,246.32,-50.9901],[10928.2,399.356,44.8667,244.714,-50.2153],[10844.3,498.776,44.3333,243.123,-49.4226],[10756.9,599.394,43.7833,241.5,-48.5859],[10668.6,698.05,43.2333,239.897,-47.7293],[10576.7,797.613,42.6667,238.269,-46.8257],[10481.1,897.868,42.0833,236.622,-45.8728],[10381.8,998.587,41.4833,234.963,-44.8683],[10278.5,1099.53,40.8667,233.298,-43.8097],[10174.1,1197.84,40.25,231.68,-42.7244],[10062.9,1298.55,39.6,230.028,-41.5512],[9947.49,1398.71,38.9333,228.399,-40.3165],[9827.8,1498.03,38.25,226.804,-39.0178],[9700.75,1598.51,37.5333,225.221,-37.6199],[9566.12,1699.56,36.7833,223.671,-36.1177],[9426.71,1798.45,36.0167,222.211,-34.5411],[9276.22,1898.82,35.2,220.806,-32.817],[9114.25,1999.64,34.3333,219.5,-30.9384]]], - [37,2860.09,[[12454.3,-2002.73,56.6667,278.738,-63.7472],[12404.8,-1903.09,56.2667,277.571,-63.3875],[12352.8,-1800.07,55.85,276.346,-63.0063],[12302.4,-1701.93,55.45,275.162,-62.6339],[12249.5,-1600.51,55.0333,273.92,-62.2393],[12198.2,-1503.92,54.6333,272.719,-61.8538],[12142.2,-1400.15,54.2,271.411,-61.4287],[12087.9,-1301.25,53.7833,270.145,-61.0124],[12033.2,-1203.2,53.3667,268.872,-60.5885],[11975.7,-1102.16,52.9333,267.541,-60.1396],[11917.7,-1002.08,52.5,266.203,-59.6821],[11859.3,-902.974,52.0667,264.859,-59.216],[11798,-801.094,51.6167,263.457,-58.7225],[11736.2,-700.289,51.1667,262.05,-58.2192],[11673.8,-600.573,50.7167,260.639,-57.706],[11610.9,-501.962,50.2667,259.224,-57.1825],[11545,-400.881,49.8,257.753,-56.6285],[11478.6,-301.019,49.3333,256.28,-56.0631],[11411.5,-202.394,48.8667,254.805,-55.4859],[11341.4,-101.567,48.3833,253.278,-54.8755],[11270.7,-2.10113,47.9,251.752,-54.2518],[11196.8,99.3418,47.4,250.176,-53.5925],[11122.2,199.288,46.9,248.604,-52.9186],[11046.9,297.717,46.4,247.037,-52.2295],[10968.4,397.811,45.8833,245.426,-51.5014],[10886.5,499.388,45.35,243.773,-50.7323],[10803.8,599.169,44.8167,242.132,-49.945],[10720.3,697.128,44.2833,240.506,-49.1391],[10630.7,799.185,43.7167,238.798,-48.2622],[10540.2,899.13,43.15,237.112,-47.3635],[10446,999.776,42.5667,235.404,-46.4154],[10350.8,1098.12,41.9833,233.726,-45.4434],[10249.2,1199.55,41.3667,231.99,-44.3896],[10146.4,1298.33,40.75,230.297,-43.3084],[10036.9,1399.55,40.1,228.566,-42.1389],[9926.11,1497.75,39.45,226.893,-40.9384],[9808.31,1597.68,38.7667,225.206,-39.6427],[9683.29,1698.8,38.05,223.522,-38.2467],[9553.77,1798.3,37.3167,221.9,-36.779],[9416.65,1897.97,36.55,220.322,-35.2026],[9268.64,1999.17,35.7333,218.787,-33.4766]]], - [38,2974.73,[[12428.5,-2003.71,57.5167,279.612,-64.4582],[12380,-1903.14,57.1167,278.438,-64.1086],[12331.2,-1803.3,56.7167,277.255,-63.7531],[12279.9,-1700.07,56.3,276.013,-63.3763],[12230.2,-1601.73,55.9,274.811,-63.0082],[12178.1,-1500.09,55.4833,273.551,-62.618],[12127.5,-1403.29,55.0833,272.332,-62.2369],[12074.5,-1303.29,54.6667,271.054,-61.8327],[12018.8,-1200.19,54.2333,269.717,-61.4047],[11964.8,-1101.93,53.8167,268.422,-60.9854],[11908.1,-1000.67,53.3833,267.069,-60.5412],[11851,-900.362,52.95,265.707,-60.0885],[11793.3,-801.028,52.5167,264.339,-59.6271],[11735.1,-702.678,52.0833,262.965,-59.1568],[11674.2,-601.599,51.6333,261.531,-58.6589],[11612.7,-501.609,51.1833,260.092,-58.1509],[11550.7,-402.723,50.7333,258.649,-57.6327],[11485.8,-301.356,50.2667,257.147,-57.0843],[11420.3,-201.208,49.8,255.643,-56.5243],[11354.2,-102.296,49.3333,254.136,-55.9525],[11285.1,-1.17224,48.85,252.574,-55.3476],[11215.4,98.5904,48.3667,251.012,-54.7295],[11145,196.973,47.8833,249.451,-54.0979],[11071.6,297.277,47.3833,247.839,-53.43],[10994.9,399.33,46.8667,246.177,-52.7239],[10917.5,499.741,46.35,244.522,-52.0013],[10839.4,598.489,45.8333,242.875,-51.2618],[10757.9,698.652,45.3,241.186,-50.4803],[10675.7,796.993,44.7667,239.509,-49.6802],[10587.4,899.457,44.2,237.745,-48.809],[10498.3,999.807,43.6333,236.002,-47.9159],[10408.2,1098.02,43.0667,234.282,-47.0003],[10311.8,1199.63,42.4667,232.49,-46.0059],[10214.4,1298.78,41.8667,230.733,-44.9855],[10113.3,1398.07,41.25,228.967,-43.9093],[10005.5,1499.83,40.6,227.155,-42.7442],[9896.44,1598.57,39.95,225.4,-41.5474],[9780.51,1699.06,39.2667,223.623,-40.2547],[9660.35,1798.44,38.5667,221.882,-38.8936],[9532.95,1898.64,37.8333,220.153,-37.4276],[9398.07,1999.03,37.0667,218.46,-35.8514]]], - [39,3089.67,[[12393.4,-2002.95,58.35,280.486,-65.1475],[12346,-1901.49,57.95,279.306,-64.8078],[12298.3,-1800.74,57.55,278.117,-64.4623],[12250.1,-1700.71,57.15,276.918,-64.1109],[12201.6,-1601.41,56.75,275.709,-63.7535],[12152.6,-1502.85,56.35,274.49,-63.3898],[12101.1,-1400.99,55.9333,273.211,-63.0043],[12051.3,-1303.98,55.5333,271.975,-62.6275],[11999,-1203.75,55.1167,270.677,-62.2281],[11944.1,-1100.41,54.6833,269.319,-61.8049],[11890.9,-1001.92,54.2667,268.004,-61.3904],[11835.1,-900.425,53.8333,266.628,-60.9511],[11780.9,-803.731,53.4167,265.297,-60.5208],[11721.9,-700.309,52.9667,263.852,-60.047],[11664.6,-601.72,52.5333,262.453,-59.5817],[11604.5,-500.392,52.0833,260.993,-59.089],[11543.9,-400.153,51.6333,259.527,-58.5862],[11482.8,-301.018,51.1833,258.055,-58.0732],[11421.1,-203,50.7333,256.579,-57.5497],[11356.6,-102.55,50.2667,255.043,-56.9954],[11291.5,-3.3345,49.8,253.505,-56.4294],[11223.4,98.1046,49.3167,251.908,-55.8305],[11154.7,198.183,48.8333,250.311,-55.2182],[11085.4,296.881,48.35,248.713,-54.5924],[11013,397.511,47.85,247.062,-53.9304],[10937.5,499.903,47.3333,245.358,-53.2303],[10863.8,597.428,46.8333,243.714,-52.5369],[10784.3,699.737,46.3,241.967,-51.7798],[10706.6,797.135,45.7833,240.284,-51.0287],[10623.1,898.937,45.2333,238.504,-50.2096],[10538.7,998.776,44.6833,236.738,-49.3699],[10451,1099.56,44.1167,234.938,-48.4828],[10362.3,1198.19,43.55,233.158,-47.5729],[10270.1,1297.46,42.9667,231.353,-46.6121],[10171.5,1399.87,42.35,229.477,-45.5691],[10072,1499.63,41.7333,227.64,-44.4977],[9968.57,1599.29,41.1,225.798,-43.3672],[9861.3,1698.6,40.45,223.961,-42.175],[9747.24,1799.69,39.7667,222.093,-40.8861],[9629.03,1899.68,39.0667,220.257,-39.5279],[9506.56,1998.26,38.35,218.465,-38.0974]]], - [40,3204.78,[[12349.2,-2000.47,59.1667,281.356,-65.816],[12304.8,-1902.39,58.7833,280.221,-65.4998],[12258.1,-1800.73,58.3833,279.027,-65.1643],[12213,-1703.98,58,277.872,-64.8373],[12165.6,-1603.72,57.6,276.658,-64.4904],[12115.7,-1500.07,57.1833,275.382,-64.1226],[12067.5,-1401.32,56.7833,274.146,-63.7633],[12018.8,-1303.32,56.3833,272.902,-63.3976],[11967.7,-1202.05,55.9667,271.595,-63.0099],[11916.1,-1101.61,55.55,270.278,-62.6151],[11864.1,-1002.02,55.1333,268.952,-62.2129],[11811.6,-903.298,54.7167,267.617,-61.8033],[11756.6,-801.548,54.2833,266.219,-61.3692],[11701.1,-700.754,53.85,264.813,-60.9266],[11645.1,-600.928,53.4167,263.398,-60.4754],[11588.6,-502.085,52.9833,261.975,-60.0154],[11529.4,-400.494,52.5333,260.489,-59.5281],[11472,-303.694,52.1,259.052,-59.0493],[11409.5,-200.591,51.6333,257.497,-58.5231],[11348.7,-102.309,51.1833,255.992,-58.0051],[11285.2,-1.58282,50.7167,254.426,-57.4565],[11221,97.9082,50.25,252.856,-56.896],[11154,199.633,49.7667,251.225,-56.3028],[11086.3,299.997,49.2833,249.593,-55.6963],[11018,398.981,48.8,247.959,-55.0762],[10946.7,499.907,48.3,246.269,-54.42],[10874.8,599.316,47.8,244.58,-53.7484],[10802.1,697.188,47.3,242.895,-53.0612],[10723.9,799.867,46.7667,241.102,-52.3105],[10647.4,897.623,46.25,239.373,-51.5654],[10565.1,999.807,45.7,237.542,-50.7526],[10484.6,1097.02,45.1667,235.779,-49.9445],[10398.2,1198.25,44.6,233.921,-49.064],[10310.9,1297.35,44.0333,232.084,-48.1605],[10217.6,1399.9,43.4333,230.163,-47.1781],[10123.2,1499.99,42.8333,228.271,-46.1689],[10027.9,1597.56,42.2333,226.414,-45.1322],[9926.21,1697.81,41.6,224.495,-44.0077],[9820.69,1797.71,40.95,222.575,-42.8208],[9708.5,1899.43,40.2667,220.619,-41.5367],[9595.03,1997.71,39.5833,218.732,-40.215]]], - [41,3319.97,[[12297.8,-2000.59,59.9833,282.268,-66.478],[12254.4,-1901.68,59.6,281.131,-66.1709],[12210.7,-1803.4,59.2167,279.983,-65.8588],[12164.7,-1701.54,58.8167,278.774,-65.5276],[12118.3,-1600.39,58.4167,277.554,-65.1907],[12073.5,-1504.13,58.0333,276.375,-64.8623],[12024.4,-1400.27,57.6167,275.083,-64.4992],[11976.8,-1301.31,57.2167,273.831,-64.1443],[11928.9,-1203.1,56.8167,272.569,-63.7832],[11878.5,-1101.61,56.4,271.244,-63.4002],[11827.7,-1000.96,55.9833,269.909,-63.0101],[11776.4,-901.157,55.5667,268.563,-62.6127],[11724.7,-802.213,55.15,267.208,-62.2079],[11670.5,-700.234,54.7167,265.789,-61.7789],[11617.9,-603.08,54.3,264.415,-61.3583],[11562.8,-502.988,53.8667,262.977,-60.9126],[11505,-400.086,53.4167,261.474,-60.4403],[11448.9,-302.008,52.9833,260.019,-59.9763],[11390.1,-201.226,52.5333,258.501,-59.4846],[11330.8,-101.545,52.0833,256.974,-58.9828],[11270.9,-2.98225,51.6333,255.441,-58.4704],[11208.3,98.0355,51.1667,253.845,-57.9277],[11145.1,197.819,50.7,252.244,-57.3732],[11079.1,299.848,50.2167,250.58,-56.7861],[11014.8,397.067,49.75,248.971,-56.2066],[10945.2,499.804,49.25,247.244,-55.5716],[10877.4,597.694,48.7667,245.573,-54.9434],[10806.5,697.469,48.2667,243.845,-54.2785],[10732.6,798.955,47.75,242.061,-53.5748],[10658,898.777,47.2333,240.28,-52.8539],[10582.7,996.913,46.7167,238.505,-52.1154],[10501.8,1099.5,46.1667,236.624,-51.3093],[10422.5,1197.11,45.6333,234.81,-50.5076],[10337.5,1298.76,45.0667,232.898,-49.6336],[10251.6,1398.27,44.5,231.002,-48.7363],[10162.3,1498.43,43.9167,229.073,-47.7877],[10069.5,1599.03,43.3167,227.115,-46.785],[9973.08,1699.8,42.7,225.136,-45.7255],[9875.67,1797.9,42.0833,223.195,-44.6359],[9771.88,1898.35,41.4333,221.195,-43.4543],[9664.25,1998.19,40.7667,219.2,-42.2067]]], - [42,3435.11,[[12239.1,-2003.45,60.8,283.221,-67.1333],[12196.8,-1903.71,60.4167,282.082,-66.8353],[12152.2,-1800.3,60.0167,280.882,-66.5192],[12109.1,-1701.85,59.6333,279.72,-66.211],[12065.7,-1604.05,59.25,278.548,-65.8978],[12020,-1502.68,58.85,277.314,-65.5654],[11974,-1402.04,58.45,276.069,-65.2272],[11927.5,-1302.12,58.05,274.812,-64.883],[11880.7,-1202.95,57.65,273.544,-64.5328],[11831.5,-1100.44,57.2333,272.212,-64.1613],[11783.8,-1002.81,56.8333,270.923,-63.7982],[11733.8,-901.926,56.4167,269.569,-63.413],[11683.3,-801.891,56,268.205,-63.0206],[11632.4,-702.715,55.5833,266.83,-62.6209],[11579,-600.496,55.15,265.389,-62.197],[11527.2,-503.108,54.7333,263.994,-61.7816],[11472.9,-402.774,54.3,262.534,-61.3411],[11418.1,-303.42,53.8667,261.064,-60.8918],[11360.7,-201.297,53.4167,259.528,-60.4157],[11302.8,-100.261,52.9667,257.983,-59.9297],[11244.4,-0.325993,52.5167,256.43,-59.4334],[11185.5,98.4921,52.0667,254.869,-58.9266],[11123.8,199.775,51.6,253.243,-58.3897],[11061.6,299.823,51.1333,251.611,-57.841],[10998.8,398.62,50.6667,249.973,-57.2801],[10933.2,499.61,50.1833,248.272,-56.6861],[10867,599.22,49.7,246.567,-56.0783],[10800.2,697.434,49.2167,244.86,-55.4565],[10730.5,797.543,48.7167,243.093,-54.7981],[10657.8,899.374,48.2,241.267,-54.1011],[10584.3,999.542,47.6833,239.443,-53.3867],[10510.2,1098.02,47.1667,237.624,-52.6546],[10433,1197.89,46.6333,235.752,-51.8797],[10352.6,1298.94,46.0833,233.83,-51.0597],[10271.3,1398,45.5333,231.92,-50.218],[10186.8,1497.95,44.9667,229.968,-49.3276],[10099,1598.57,44.3833,227.978,-48.3857],[10007.7,1699.63,43.7833,225.955,-47.3895],[9915.44,1798.19,43.1833,223.961,-46.3651],[9817.05,1899.46,42.55,221.893,-45.2523],[9717.61,1997.86,41.9167,219.868,-44.1066]]], - [43,3550.11,[[12169.7,-2000.4,61.5833,284.114,-67.7569],[12130.1,-1904.24,61.2167,283.023,-67.4802],[12088.4,-1804.32,60.8333,281.872,-67.1862],[12044.5,-1700.72,60.4333,280.658,-66.8743],[12002.1,-1602.08,60.05,279.484,-66.5703],[11959.3,-1504.09,59.6667,278.298,-66.2613],[11914.3,-1402.53,59.2667,277.049,-65.9333],[11868.9,-1301.69,58.8667,275.789,-65.5995],[11823.2,-1201.58,58.4667,274.517,-65.2599],[11777,-1102.2,58.0667,273.233,-64.9141],[11730.5,-1003.58,57.6667,271.938,-64.5622],[11681.6,-901.655,57.25,270.577,-64.1889],[11632.3,-800.565,56.8333,269.205,-63.8086],[11582.6,-700.321,56.4167,267.821,-63.4211],[11532.5,-600.936,56,266.427,-63.0262],[11481.9,-502.421,55.5833,265.022,-62.6238],[11428.9,-400.9,55.15,263.549,-62.1971],[11375.4,-300.347,54.7167,262.066,-61.7618],[11321.5,-200.774,54.2833,260.573,-61.3177],[11267.1,-102.194,53.85,259.07,-60.8647],[11210.1,-0.888812,53.4,257.5,-60.3844],[11152.6,99.3156,52.95,255.92,-59.894],[11094.5,198.404,52.5,254.332,-59.3931],[11033.8,299.967,52.0333,252.677,-58.8623],[10974.8,396.735,51.5833,251.074,-58.3392],[10910.8,499.376,51.1,249.345,-57.7648],[10848.5,597.188,50.6333,247.67,-57.1976],[10783.4,697.139,50.15,245.931,-56.5965],[10715.4,799.066,49.65,244.128,-55.9599],[10646.7,899.478,49.15,242.322,-55.3079],[10577.5,998.352,48.65,240.515,-54.6399],[10505.2,1098.89,48.1333,238.649,-53.9326],[10432.3,1197.73,47.6167,236.785,-53.2073],[10356.3,1297.98,47.0833,234.865,-52.4394],[10277.2,1399.42,46.5333,232.893,-51.6264],[10197.3,1498.87,45.9833,230.931,-50.7915],[10114.2,1599.22,45.4167,228.922,-49.9078],[10030.2,1697.4,44.85,226.93,-48.9996],[9940.46,1798.96,44.25,224.843,-48.0107],[9849.76,1898,43.65,222.783,-46.993],[9753.02,1999.8,43.0167,220.641,-45.8869]]], - [44,3664.87,[[12093.1,-2000.19,62.3667,285.042,-68.3749],[12054.4,-1903.29,62,283.952,-68.1063],[12013.6,-1802.58,61.6167,282.8,-67.8211],[11972.6,-1702.5,61.2333,281.636,-67.5312],[11931.1,-1603.03,60.85,280.46,-67.2364],[11889.4,-1504.2,60.4667,279.273,-66.9367],[11845.4,-1401.75,60.0667,278.022,-66.6186],[11801.1,-1300.02,59.6667,276.758,-66.2949],[11758.3,-1203.2,59.2833,275.536,-65.9793],[11713.3,-1102.88,58.8833,274.249,-65.6443],[11667.8,-1003.3,58.4833,272.949,-65.3033],[11620.1,-900.361,58.0667,271.583,-64.9415],[11573.9,-802.318,57.6667,270.26,-64.5878],[11525.4,-701.008,57.25,268.87,-64.2125],[11476.5,-600.543,56.8333,267.468,-63.83],[11427.1,-500.936,56.4167,266.054,-63.4402],[11377.4,-402.198,56,264.629,-63.043],[11325.2,-300.446,55.5667,263.135,-62.6216],[11274.5,-203.518,55.15,261.688,-62.2084],[11221.4,-103.674,54.7167,260.172,-61.7702],[11165.8,-1.03937,54.2667,258.587,-61.3056],[11111.8,96.7678,53.8333,257.051,-60.8488],[11055.2,197.257,53.3833,255.445,-60.3644],[10998.1,296.631,52.9333,253.83,-59.8697],[10938.4,398.491,52.4667,252.146,-59.3453],[10878.2,499.119,52,250.454,-58.809],[10817.4,598.496,51.5333,248.754,-58.2606],[10756.1,696.607,51.0667,247.047,-57.6998],[10692,796.868,50.5833,245.273,-57.1053],[10625.1,899.117,50.0833,243.434,-56.4756],[10557.5,999.85,49.5833,241.59,-55.8303],[10489.4,1099.05,49.0833,239.744,-55.169],[10418.3,1199.91,48.5667,237.835,-54.4685],[10346.6,1299.09,48.05,235.927,-53.75],[10271.9,1399.68,47.5167,233.961,-52.9889],[10196.4,1498.42,46.9833,232,-52.2076],[10117.8,1598.28,46.4333,229.986,-51.3801],[10036.1,1699.06,45.8667,227.922,-50.5038],[9953.57,1797.67,45.3,225.872,-49.6027],[9865.3,1899.67,44.7,223.722,-48.6209],[9776.12,1999.17,44.1,221.596,-47.61]]], - [45,3779.27,[[12009.2,-2002.96,63.15,286.005,-68.9874],[11969.7,-1900.9,62.7667,284.866,-68.715],[11931.6,-1803.83,62.4,283.764,-68.4504],[11891.5,-1702.95,62.0167,282.601,-68.1692],[11851.1,-1602.69,61.6333,281.425,-67.8834],[11810.3,-1503.04,61.25,280.237,-67.5928],[11769.2,-1404.03,60.8667,279.037,-67.2973],[11725.9,-1301.4,60.4667,277.772,-66.9836],[11684.1,-1203.71,60.0833,276.548,-66.6778],[11640.2,-1102.48,59.6833,275.258,-66.3531],[11595.8,-1001.97,59.2833,273.955,-66.0227],[11551.1,-902.199,58.8833,272.64,-65.6862],[11506,-803.176,58.4833,271.313,-65.3437],[11458.7,-700.832,58.0667,269.917,-64.9803],[11412.8,-603.366,57.6667,268.565,-64.6248],[11364.7,-502.668,57.25,267.145,-64.2476],[11316.1,-402.826,56.8333,265.712,-63.8631],[11267.2,-303.853,56.4167,264.268,-63.4712],[11215.8,-201.854,55.9833,262.753,-63.0554],[11164,-100.821,55.55,261.226,-62.6312],[11111.7,-0.766507,55.1167,259.687,-62.1983],[11059,98.2954,54.6833,258.137,-61.7564],[11005.9,196.352,54.25,256.577,-61.3054],[10950.2,297.1,53.8,254.946,-60.8271],[10894.1,396.733,53.35,253.304,-60.3383],[10835.3,498.864,52.8833,251.592,-59.8202],[10776,599.761,52.4167,249.869,-59.2902],[10716.2,699.41,51.95,248.139,-58.7481],[10655.9,797.791,51.4833,246.4,-58.1935],[10592.9,898.333,51,244.593,-57.6056],[10529.3,997.478,50.5167,242.779,-57.0036],[10462.9,1098.55,50.0167,240.898,-56.3655],[10395.8,1198.09,49.5167,239.013,-55.7114],[10326,1299.31,49,237.062,-55.0182],[10255.4,1398.84,48.4833,235.112,-54.3069],[10181.9,1499.8,47.95,233.099,-53.5532],[10107.7,1598.9,47.4167,231.09,-52.7791],[10030.5,1699.14,46.8667,229.025,-51.9588],[9952.51,1797.36,46.3167,226.968,-51.1157],[9868.99,1899.3,45.7333,224.8,-50.1957],[9784.64,1998.9,45.15,222.648,-49.2485]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 73.8695; -_maxRange = 11291.5; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg8.sqf b/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg8.sqf deleted file mode 100644 index 1adc3558b7..0000000000 --- a/TO_MERGE/ace/arty_ammunition/105mm/tables/ace_arty_105mm_genericBtab_LA_chg8.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_105mm_m1_m782_pd_chg8 -// Ammo: ace_arty_105mm_m1_m782_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [0,0.0972759,[[9469.66,-2001.17,22.6167,335.292,-29.0078],[9287.44,-1901.96,22,337.695,-28.1031],[9097.28,-1802.34,21.3667,340.332,-27.173],[8898.86,-1702.51,20.7167,343.225,-26.2181],[8686.61,-1600.24,20.0333,346.478,-25.2148],[8470.51,-1500.73,19.35,349.958,-24.213],[8245.05,-1401.7,18.65,353.769,-23.1892],[8004.26,-1301.15,17.9167,358.041,-22.1206],[7752.99,-1201.73,17.1667,362.721,-21.0329],[7484.96,-1101.63,16.3833,367.962,-19.9039],[7199.21,-1001.4,15.5667,373.829,-18.736],[6894.69,-901.613,14.7167,380.399,-17.532],[6564.02,-801.08,13.8167,387.902,-16.272],[6205.33,-700.774,12.8667,396.472,-14.9607],[5809.96,-600.162,11.85,406.436,-13.581],[5374.78,-500.766,10.7667,418.027,-12.1407],[4874.95,-400.294,9.56667,432.146,-10.5847],[4296,-300.845,8.23333,449.575,-8.90864],[3581.13,-200.919,6.66667,472.692,-7.0162],[2599.42,-100.382,4.65,507.343,-4.71202],[92.042,-0.02233,0.133333,611.714,-0.137354],[10.2587,0.0972759,0,615.521,-0.0152142]]], - [1,5.70975,[[9769.06,-2000.39,23.6333,329.77,-29.7266],[9591.13,-1900.61,23.0167,331.931,-28.8129],[9405.49,-1800.43,22.3833,334.31,-27.8725],[9211.85,-1700.05,21.7333,336.928,-26.9061],[9014.96,-1602.16,21.0833,339.732,-25.9392],[8804.39,-1501.98,20.4,342.89,-24.923],[8584.76,-1402.29,19.7,346.356,-23.8835],[8350.31,-1301.07,18.9667,350.251,-22.797],[8105.76,-1201,18.2167,354.528,-21.6899],[7845.02,-1100.26,17.4333,359.326,-20.5392],[7572.93,-1001.41,16.6333,364.595,-19.3716],[7277.15,-900.918,15.7833,370.623,-18.141],[6962.2,-801.512,14.9,377.384,-16.8749],[6614.47,-700.418,13.95,385.257,-15.5301],[6237.85,-600.63,12.95,394.263,-14.136],[5816.93,-500.351,11.8667,404.915,-12.6534],[5340.85,-400.324,10.6833,417.705,-11.0705],[4789.7,-301.001,9.36667,433.492,-9.35859],[4109.46,-200.756,7.81667,454.427,-7.41607],[3192.1,-100.603,5.85,485.208,-5.07451],[1261.36,-0.0184732,2.13333,559.78,-1.06046],[650.646,5.70743,1.06667,586.233,-0.0136017]]], - [2,22.0154,[[10068.6,-2001.07,24.6833,324.49,-30.5242],[9894.92,-1900.5,24.0667,326.412,-29.6026],[9718.59,-1802.15,23.45,328.48,-28.6782],[9529.78,-1700.91,22.8,330.823,-27.7015],[9337.87,-1602.17,22.15,333.343,-26.7232],[9132.68,-1501.12,21.4667,336.189,-25.694],[8918.76,-1400.55,20.7667,339.323,-24.6398],[8695.71,-1300.72,20.05,342.773,-23.5618],[8463.13,-1201.89,19.3167,346.566,-22.4612],[8209.69,-1100.08,18.5333,350.927,-21.2897],[7945.35,-1000.16,17.7333,355.726,-20.0993],[7663.86,-900.521,16.9,361.116,-18.8673],[7364.21,-801.762,16.0333,367.169,-17.5967],[7033.33,-701.052,15.1,374.229,-16.2428],[6675.1,-601.393,14.1167,382.312,-14.835],[6274.78,-500.913,13.05,391.883,-13.3325],[5822.14,-400.3,11.8833,403.385,-11.7224],[5305.19,-301.114,10.6,417.397,-9.99573],[4673.68,-200.901,9.1,435.778,-8.04283],[3842.6,-100.766,7.23333,462.085,-5.72043],[2377.25,-0.0563873,4.21667,514.387,-2.2453],[1232.81,22.0137,2.08333,560.633,-0.0106146]]], - [3,48.088,[[10363,-2000.92,25.75,319.517,-31.3753],[10198.2,-1902.12,25.15,321.161,-30.4723],[10021.5,-1800.12,24.5167,323.037,-29.5153],[9842.13,-1700.48,23.8833,325.065,-28.555],[9655.08,-1600.72,23.2333,327.309,-27.5667],[9460.07,-1501.06,22.5667,329.79,-26.5512],[9256.79,-1401.72,21.8833,332.531,-25.5092],[9039.79,-1300.65,21.1667,335.628,-24.4162],[8813.61,-1200.57,20.4333,339.046,-23.2989],[8577.83,-1101.75,19.6833,342.813,-22.1586],[8321.22,-1000.34,18.8833,347.149,-20.9464],[8053.63,-901.136,18.0667,351.931,-19.715],[7763.21,-800.703,17.2,357.42,-18.4169],[7454.3,-701.774,16.3,363.597,-17.0805],[7107.91,-600.043,15.3167,370.936,-15.6364],[6733.43,-500.431,14.2833,379.356,-14.1401],[6316.02,-401.365,13.1667,389.334,-12.551],[5825.56,-300.04,11.9,401.846,-10.788],[5254.09,-201.019,10.4833,417.495,-8.87218],[4511.69,-100.294,8.73333,439.533,-6.59603],[3380.31,-0.390862,6.25,476.836,-3.55615],[1771.37,48.0853,3.06667,537.749,-0.0174009]]], - [4,83.1357,[[10652.2,-2000.35,26.8333,314.855,-32.2787],[10491.3,-1900.48,26.2333,316.281,-31.3708],[10323.6,-1800.04,25.6167,317.876,-30.4331],[10153.4,-1701.85,25,319.605,-29.4911],[9971.14,-1600.82,24.35,321.58,-28.4945],[9786,-1502.35,23.7,323.717,-27.4948],[9588.16,-1401.63,23.0167,326.148,-26.4415],[9382,-1301.46,22.3167,328.841,-25.3609],[9167.17,-1202.11,21.6,331.82,-24.2541],[8938.16,-1101.64,20.85,335.191,-23.0967],[8694.26,-1000.59,20.0667,339,-21.89],[8440.05,-901.546,19.2667,343.21,-20.6617],[8164.09,-800.98,18.4167,348.055,-19.3629],[7870.67,-701.648,17.5333,353.519,-18.0222],[7547.25,-600.81,16.5833,359.911,-16.5931],[7197.63,-501.495,15.5833,367.254,-15.1059],[6801.62,-400.505,14.4833,376.109,-13.4938],[6355.19,-300.422,13.2833,386.77,-11.7681],[5833.78,-200.745,11.9333,400.125,-9.87324],[5187.44,-100.883,10.3333,418.018,-7.69952],[4280.12,-0.527314,8.21667,445.622,-4.95816],[2261.45,83.1339,4,517.523,-0.0118991]]], - [5,126.471,[[10940.2,-2002.62,27.95,310.471,-33.2584],[10783.4,-1901.48,27.35,311.685,-32.3473],[10624.3,-1802.45,26.75,313.014,-31.4308],[10453.9,-1700.23,26.1167,314.548,-30.4579],[10280.9,-1600.43,25.4833,316.221,-29.4803],[10100.6,-1500.53,24.8333,318.089,-28.4727],[9912.69,-1400.77,24.1667,320.171,-27.4357],[9716.94,-1301.39,23.4833,322.488,-26.3699],[9508.08,-1200.33,22.7667,325.124,-25.2502],[9290.52,-1100.31,22.0333,328.051,-24.1035],[9063.86,-1001.62,21.2833,331.296,-22.9312],[8817.35,-900.422,20.4833,335.05,-21.6826],[8560.47,-801.515,19.6667,339.211,-20.412],[8281.9,-701.488,18.8,344.007,-19.0698],[7980.32,-601.314,17.8833,349.531,-17.6597],[7648.56,-500.393,16.9,356.002,-16.1607],[7284.43,-400.249,15.85,363.577,-14.5789],[6879.39,-301.175,14.7167,372.577,-12.8976],[6404.79,-200.568,13.4333,383.883,-11.0316],[5833.63,-100.047,11.95,398.569,-8.932],[5091.25,-0.0151736,10.1167,419.399,-6.43331],[3839,99.8138,7.25,458.972,-2.76825],[2715.42,126.469,4.9,499.245,-0.00704179]]], - [6,177.49,[[11218.1,-2002.51,29.0667,306.438,-34.2622],[11065.1,-1900.01,28.4667,307.45,-33.3494],[10914.3,-1802.39,27.8833,308.537,-32.4557],[10752.6,-1701.39,27.2667,309.803,-31.505],[10584.1,-1600.03,26.6333,311.232,-30.5226],[10413.1,-1501.12,26,312.798,-29.535],[10234.9,-1402.16,25.35,314.553,-28.5167],[10044.5,-1300.97,24.6667,316.567,-27.442],[9846.19,-1200.36,23.9667,318.819,-26.3376],[9639.67,-1100.6,23.25,321.329,-25.2045],[9424.59,-1001.96,22.5167,324.122,-24.0436],[9190.51,-900.493,21.7333,327.37,-22.8035],[8946.72,-801.087,20.9333,330.981,-21.5385],[8682.26,-700.208,20.0833,335.16,-20.1983],[8401.31,-600.632,19.2,339.896,-18.8118],[8097.43,-501.341,18.2667,345.361,-17.3564],[7757.84,-400.236,17.25,351.884,-15.7853],[7385.7,-300.757,16.1667,359.533,-14.1313],[6960.44,-200.732,14.9667,368.906,-12.3284],[6458.37,-100.17,13.6,380.831,-10.3187],[5838.24,-0.15384,11.9833,396.829,-8.01052],[4965.11,99.7191,9.83333,421.702,-5.07405],[3143.97,177.487,5.78333,482.364,-0.0185719]]], - [7,235.66,[[11486,-2000.33,30.1833,302.742,-35.2877],[11345.1,-1902.13,29.6167,303.513,-34.4256],[11193.9,-1800.21,29.0167,304.428,-33.5056],[11040.5,-1700.42,28.4167,305.449,-32.5787],[10880.7,-1600.11,27.8,306.614,-31.6194],[10718.6,-1502.11,27.1833,307.9,-30.654],[10545.1,-1401.34,26.5333,309.393,-29.6306],[10364.5,-1300.71,25.8667,311.077,-28.5754],[10176.3,-1200.48,25.1833,312.971,-27.4891],[9980.37,-1100.89,24.4833,315.095,-26.3722],[9776.34,-1002.21,23.7667,317.471,-25.2257],[9554.16,-900.369,23,320.249,-23.9972],[9322.83,-800.351,22.2167,323.352,-22.7414],[9076.87,-700.482,21.4,326.884,-21.4333],[8815.54,-601.389,20.55,330.9,-20.075],[8527.38,-500.16,19.6333,335.64,-18.6163],[8221.57,-401.53,18.6833,341.026,-17.1142],[7874.71,-300.096,17.6333,347.573,-15.4689],[7495.13,-201.136,16.5167,355.265,-13.7404],[7050.5,-100.268,15.25,364.969,-11.8121],[6521.97,-0.0691228,13.8,377.465,-9.6544],[5847.56,99.2306,12.0333,394.903,-7.10919],[4751.79,199.806,9.35,426.759,-3.44749],[3533.06,235.66,6.61667,467.275,-0.00472434]]], - [8,300.503,[[11752.1,-2002.3,31.3333,299.334,-36.3833],[11614.7,-1902.59,30.7667,299.928,-35.523],[11471.3,-1801.9,30.1833,300.627,-34.6295],[11321.9,-1700.44,29.5833,301.445,-33.7028],[11170.5,-1601.13,28.9833,302.365,-32.7686],[11012.6,-1501.33,28.3667,303.424,-31.8014],[10848.1,-1401.27,27.7333,304.635,-30.8011],[10676.8,-1301.15,27.0833,306.014,-29.768],[10498.3,-1201.23,26.4167,307.577,-28.7024],[10312.5,-1101.75,25.7333,309.344,-27.6047],[10114.5,-1000.65,25.0167,311.384,-26.4488],[9908.27,-900.665,24.2833,313.678,-25.2621],[9693.64,-802.096,23.5333,316.25,-24.0458],[9460.39,-701.123,22.7333,319.257,-22.7472],[9212.58,-600.584,21.9,322.695,-21.395],[8949.45,-501.128,21.0333,326.616,-19.9914],[8664.92,-401.692,20.1167,331.169,-18.5125],[8346.95,-300.089,19.1167,336.637,-16.909],[8004.24,-201.275,18.0667,342.977,-15.24],[7612.29,-101.139,16.9,350.787,-13.4083],[7155.08,-0.640908,15.5833,360.644,-11.3759],[6601.42,99.1856,14.05,373.64,-9.06501],[5848.5,199.812,12.0667,393.145,-6.181],[4043.25,299.983,7.75,448.354,-0.396303],[3900.55,300.502,7.43333,453.224,-0.00147559]]], - [9,371.585,[[12007.9,-2002.97,32.4833,296.252,-37.4959],[11873.9,-1901.68,31.9167,296.678,-36.6388],[11738.1,-1802.27,31.35,297.183,-35.7734],[11596.6,-1701.91,30.7667,297.788,-34.8744],[11449,-1600.79,30.1667,298.506,-33.9413],[11299.4,-1501.85,29.5667,299.325,-33.0004],[11143.6,-1402.45,28.95,300.276,-32.0256],[10976.9,-1300.23,28.3,301.404,-30.9904],[10807.7,-1200.65,27.65,302.667,-29.9481],[10631.6,-1101.3,26.9833,304.108,-28.8723],[10443.7,-1000.05,26.2833,305.788,-27.7365],[10252.7,-901.992,25.5833,307.646,-26.5955],[10044.6,-800.517,24.8333,309.843,-25.3683],[9828.08,-700.677,24.0667,312.321,-24.1104],[9597.88,-600.749,23.2667,315.168,-22.7957],[9353.37,-501.347,22.4333,318.432,-21.426],[9088.76,-401.289,21.55,322.241,-19.9762],[8802.89,-301.605,20.6167,326.677,-18.4495],[8483.88,-200.207,19.6,332.018,-16.7959],[8134.85,-100.573,18.5167,338.329,-15.0488],[7736.72,-0.567533,17.3167,346.117,-13.1371],[7267.73,99.7297,15.95,356.084,-10.9972],[6690.1,199.106,14.3333,369.521,-8.52798],[5860.56,299.434,12.1333,391.02,-5.29695],[4247.52,371.584,8.23333,440.102,-0.00726053]]], - [10,448.514,[[12253.6,-2002.63,33.6333,293.483,-38.6229],[12126.7,-1902.72,33.0833,293.741,-37.7957],[11994.4,-1801.61,32.5167,294.079,-36.9346],[11860.4,-1702.39,31.95,294.493,-36.0647],[11720.6,-1602.25,31.3667,295.004,-35.1606],[11575,-1501.37,30.7667,295.621,-34.2218],[11427.3,-1402.69,30.1667,296.337,-33.2745],[11269.3,-1300.92,29.5333,297.204,-32.2661],[11109.1,-1201.66,28.9,298.189,-31.2496],[10942.2,-1102.42,28.25,299.331,-30.1985],[10764,-1000.99,27.5667,300.678,-29.086],[10578.7,-900.233,26.8667,302.223,-27.9393],[10385.8,-800.404,26.15,303.986,-26.7591],[10185.1,-701.792,25.4167,305.987,-25.5462],[9966.87,-600.464,24.6333,308.356,-24.2462],[9739.87,-501.318,23.8333,311.034,-22.9156],[9493.94,-400.851,22.9833,314.18,-21.5008],[9228.05,-300.039,22.0833,317.866,-20.004],[8946.16,-201.644,21.15,322.095,-18.4561],[8626.47,-100.146,20.1167,327.288,-16.7511],[8277.03,-0.86594,19.0167,333.442,-14.9507],[7873.48,99.4552,17.7833,341.161,-12.956],[7393.76,199.973,16.3667,351.18,-10.7042],[6793.62,299.164,14.6667,364.978,-8.07049],[5870.68,399.687,12.2,388.884,-4.40985],[4574.99,448.512,9.01667,427.819,-0.0205649]]], - [11,530.93,[[12489.3,-2001.55,34.7833,291.012,-39.7617],[12365.5,-1900.02,34.2333,291.125,-38.9406],[12240.3,-1800.23,33.6833,291.301,-38.1103],[12113.4,-1702.21,33.1333,291.544,-37.271],[11977.3,-1600.2,32.55,291.878,-36.3714],[11839.3,-1500.22,31.9667,292.295,-35.4625],[11699.6,-1402.3,31.3833,292.797,-34.5446],[11549.8,-1301.06,30.7667,293.427,-33.5651],[11398,-1202.17,30.15,294.162,-32.5767],[11235.8,-1100.51,29.5,295.056,-31.5258],[11071.1,-1001.55,28.85,296.077,-30.4664],[10895.4,-900.436,28.1667,297.296,-29.3444],[10712.6,-800.018,27.4667,298.705,-28.1872],[10522.4,-700.567,26.75,300.323,-26.9955],[10320,-600.177,26,302.217,-25.742],[10109.5,-501.51,25.2333,304.373,-24.4555],[9881.15,-400.871,24.4167,306.929,-23.0813],[9638.8,-301.088,23.5667,309.886,-21.6488],[9376.86,-201.046,22.6667,313.364,-20.1323],[9089.2,-100.132,21.7,317.518,-18.5069],[8779.35,-1.44312,20.6833,322.384,-16.8051],[8424.74,99.3902,19.55,328.442,-14.922],[8021.83,199.122,18.3,335.954,-12.8688],[7538.07,299.319,16.85,345.842,-10.5272],[6911.3,399.795,15.05,360.036,-7.69558],[5891.69,499.736,12.3,386.381,-3.56799],[4876.9,530.928,9.76667,416.51,-0.0174145]]], - [12,618.501,[[12718.7,-2003.15,35.95,288.829,-40.9344],[12601.7,-1903.01,35.4167,288.801,-40.1457],[12479.5,-1801.44,34.8667,288.831,-39.3228],[12355.9,-1701.63,34.3167,288.922,-38.4902],[12227,-1600.65,33.75,289.084,-37.6226],[12096.5,-1501.58,33.1833,289.318,-36.7453],[11960.4,-1401.61,32.6,289.638,-35.8326],[11818.6,-1300.94,32,290.054,-34.8838],[11674.9,-1202.49,31.4,290.562,-33.9256],[11521.2,-1101.01,30.7667,291.204,-32.9043],[11365.3,-1002.06,30.1333,291.959,-31.8736],[11198.8,-900.67,29.4667,292.881,-30.7791],[11029.8,-802.162,28.8,293.94,-29.6759],[10849.7,-701.87,28.1,295.207,-28.5089],[10657.9,-600.3,27.3667,296.712,-27.2782],[10458.5,-500.174,26.6167,298.448,-26.0123],[10251.1,-401.805,25.85,300.438,-24.7121],[10026.1,-301.512,25.0333,302.811,-23.3222],[9782.76,-200.227,24.1667,305.627,-21.8438],[9524.81,-100.749,23.2667,308.894,-20.3077],[9241.62,-0.488767,22.3,312.813,-18.66],[8931.63,99.0008,21.2667,317.497,-16.9052],[8582.66,198.799,20.1333,323.261,-14.9934],[8175.6,299.764,18.85,330.63,-12.8517],[7694.04,399.068,17.3833,340.233,-10.4443],[7054.11,499.813,15.5167,354.448,-7.459],[5929.73,599.815,12.45,383.331,-2.7967],[5161.33,618.499,10.5,405.864,-0.0176072]]], - [13,710.919,[[12934.5,-2001.42,37.1,286.919,-42.089],[12823.9,-1902.78,36.5833,286.77,-41.3334],[12708.4,-1802.56,36.05,286.666,-40.5437],[12587.9,-1700.92,35.5,286.615,-39.7193],[12465.9,-1601.04,34.95,286.624,-38.8849],[12338.7,-1500.01,34.3833,286.698,-38.0149],[12210,-1400.88,33.8167,286.842,-37.1348],[12075.8,-1300.87,33.2333,287.066,-36.2186],[11935.9,-1200.18,32.6333,287.381,-35.2658],[11794.2,-1101.71,32.0333,287.785,-34.3029],[11642.6,-1000.22,31.4,288.314,-33.276],[11489,-901.281,30.7667,288.953,-32.239],[11329,-802.418,30.1167,289.729,-31.1649],[11158.3,-701.453,29.4333,290.68,-30.0259],[10980.8,-601.221,28.7333,291.807,-28.8496],[10796.2,-502.001,28.0167,293.128,-27.6365],[10599.9,-401.898,27.2667,294.701,-26.3587],[10391.2,-301.481,26.4833,296.56,-25.0168],[10169.8,-201.357,25.6667,298.747,-23.6116],[9930.22,-100.281,24.8,301.36,-22.1158],[9676.39,-1.05568,23.9,304.407,-20.5603],[9397.82,98.8947,22.9333,308.079,-18.8903],[9088.02,199.54,21.8833,312.564,-17.0815],[8744.86,298.726,20.75,318.02,-15.1404],[8344.78,398.923,19.4667,325.019,-12.9639],[7860.81,499.288,17.9667,334.391,-10.4595],[7220.66,599.625,16.0667,348.275,-7.36714],[6003.3,699.965,12.7,379.215,-2.17173],[5429.01,710.917,11.2167,395.82,-0.0197137]]], - [14,807.897,[[13144,-2002.97,38.2667,285.279,-43.2718],[13036.1,-1902.66,37.75,285.014,-42.5259],[12923.4,-1800.69,37.2167,284.786,-41.7458],[12809.5,-1700.35,36.6833,284.608,-40.9555],[12694.2,-1601.66,36.15,284.48,-40.1552],[12573.9,-1501.62,35.6,284.405,-39.3196],[12448.5,-1400.43,35.0333,284.391,-38.448],[12321.5,-1301.16,34.4667,284.444,-37.5659],[12189.2,-1201.01,33.8833,284.572,-36.647],[12051.3,-1100.17,33.2833,284.785,-35.6908],[11911.7,-1001.58,32.6833,285.085,-34.724],[11766.2,-902.608,32.0667,285.488,-33.7196],[11610.8,-800.912,31.4167,286.023,-32.6498],[11453.2,-701.947,30.7667,286.674,-31.5693],[11285.1,-600.888,30.0833,287.492,-30.4226],[11110.3,-500.577,29.3833,288.478,-29.2377],[10928.5,-401.292,28.6667,289.651,-28.0147],[10735.1,-301.14,27.9167,291.062,-26.7256],[10529.7,-200.693,27.1333,292.748,-25.3707],[10311.8,-100.561,26.3167,294.748,-23.9507],[10080.7,-1.39651,25.4667,297.106,-22.4671],[9826.42,99.6732,24.55,299.98,-20.8633],[9552.5,199.538,23.5833,303.404,-19.1713],[9252.86,298.521,22.55,307.536,-17.3658],[8910.8,399.046,21.4,312.742,-15.3661],[8517.88,498.969,20.1167,319.358,-13.154],[8037.48,599.943,18.6,328.355,-10.5775],[7409.41,699.395,16.7,341.592,-7.42729],[6160.92,799.831,13.1833,372.702,-1.89853],[5680.55,807.894,11.9167,386.324,-0.0223141]]], - [15,909.161,[[13340.1,-2001.57,39.4167,283.88,-44.4322],[13238.3,-1902.87,38.9167,283.519,-43.7207],[13131.8,-1802.36,38.4,283.185,-42.9756],[13020.7,-1700.19,37.8667,282.885,-42.1959],[12911.8,-1602.76,37.35,282.638,-41.4306],[12794.6,-1500.75,36.8,282.426,-40.6053],[12676,-1400.52,36.25,282.269,-39.769],[12556,-1302.08,35.7,282.17,-38.9221],[12430.9,-1202.56,35.1333,282.131,-38.0386],[12300.5,-1102.16,34.55,282.163,-37.1178],[12164.6,-1001.08,33.95,282.274,-36.1591],[12027,-902.251,33.35,282.468,-35.1891],[11879.8,-800.397,32.7167,282.77,-34.1534],[11730.7,-701.111,32.0833,283.174,-33.1062],[11575.4,-601.918,31.4333,283.701,-32.0201],[11409.9,-500.633,30.75,284.385,-30.8666],[11237.7,-400.102,30.05,285.228,-29.6738],[11058.8,-300.607,29.3333,286.25,-28.4417],[10868.5,-200.251,28.5833,287.5,-27.142],[10670.7,-101.706,27.8167,288.976,-25.8039],[10456.4,-1.29334,27,290.782,-24.37],[10229.1,98.1431,26.15,292.931,-22.8703],[9979.24,199.482,25.2333,295.571,-21.2477],[9710.08,299.604,24.2667,298.738,-19.5339],[9415.76,398.831,23.2333,302.583,-17.7033],[9079.9,499.591,22.0833,307.454,-15.6734],[8694.28,599.732,20.8,313.673,-13.4252],[8228.39,699.896,19.3,322.069,-10.8316],[7613.15,799.784,17.4,334.6,-7.61979],[6422.29,899.793,13.9667,363.367,-2.0985],[5916.55,909.159,12.6,377.328,-0.0240483]]], - [16,1014.46,[[13526.6,-2000.65,40.5667,282.716,-45.5921],[13427.2,-1900.33,40.0667,282.259,-44.8918],[13326.7,-1801.4,39.5667,281.835,-44.1817],[13221.7,-1700.64,39.05,281.433,-43.4377],[13115.5,-1601.4,38.5333,281.072,-42.6835],[13004.7,-1500.57,38,280.742,-41.8942],[12892.7,-1401.39,37.4667,280.46,-41.0942],[12775.7,-1300.87,36.9167,280.221,-40.258],[12657.5,-1202.15,36.3667,280.038,-39.4108],[12534.1,-1102.35,35.8,279.91,-38.5265],[12405.6,-1001.66,35.2167,279.846,-37.6044],[12271.8,-900.286,34.6167,279.857,-36.6438],[12136.2,-801.17,34.0167,279.948,-35.6712],[11995.1,-701.679,33.4,280.131,-34.6595],[11848.2,-602.043,32.7667,280.417,-33.6085],[11695.4,-502.498,32.1167,280.819,-32.5176],[11532.4,-400.854,31.4333,281.367,-31.3583],[11367,-302.329,30.75,282.049,-30.187],[11186.9,-200.116,30.0167,282.938,-28.918],[11003.8,-101.598,29.2833,283.997,-27.6377],[10805.1,-0.50543,28.5,285.328,-26.2592],[10598.7,98.2562,27.7,286.908,-24.8415],[10375.3,198.15,26.85,288.846,-23.3265],[10129.8,299.963,25.9333,291.25,-21.6856],[9870,398.888,24.9833,294.105,-19.9806],[9581.11,498.733,23.95,297.654,-18.1252],[9256.42,598.758,22.8167,302.109,-16.0951],[8878.42,699.777,21.5333,307.91,-13.8102],[8427.15,799.911,20.05,315.689,-11.1993],[7835.94,899.772,18.1833,327.256,-7.97999],[6755.76,999.841,14.9833,352.281,-2.70038],[6137.54,1014.46,13.2667,368.79,-0.0235024]]], - [17,1123.56,[[13703.4,-2000.44,41.7167,281.777,-46.7494],[13609.6,-1901.86,41.2333,281.247,-46.0842],[13511.6,-1801.22,40.7333,280.728,-45.3862],[13412.5,-1701.98,40.2333,280.24,-44.6783],[13309,-1600.9,39.7167,279.771,-43.9363],[13204.4,-1501.34,39.2,279.34,-43.1837],[13095.1,-1400.18,38.6667,278.937,-42.3958],[12984.7,-1300.69,38.1333,278.579,-41.5967],[12873,-1202.87,37.6,278.268,-40.7867],[12752.9,-1100.79,37.0333,277.993,-39.9141],[12631.3,-1000.66,36.4667,277.777,-39.0296],[12508.3,-902.498,35.9,277.624,-38.1332],[12376.5,-800.729,35.3,277.534,-37.1715],[12243,-701.221,34.7,277.522,-36.1972],[12104,-601.334,34.0833,277.595,-35.1831],[11959.4,-501.297,33.45,277.764,-34.1288],[11808.9,-401.35,32.8,278.044,-33.0338],[11652.5,-301.742,32.1333,278.446,-31.8978],[11485.8,-200.359,31.4333,279.003,-30.6918],[11312.6,-100.012,30.7167,279.721,-29.4442],[11132.6,-0.995541,29.9833,280.62,-28.1552],[10941.4,98.5019,29.2167,281.746,-26.7958],[10734.2,199.9,28.4,283.165,-25.3361],[10519,298.414,27.5667,284.86,-23.8366],[10282.3,399.095,26.6667,286.985,-22.2085],[10027.3,498.824,25.7167,289.578,-20.4835],[9743.81,599.526,24.6833,292.83,-18.604],[9430.07,699.062,23.5667,296.879,-16.575],[9069.38,798.784,22.3167,302.112,-14.3137],[8632.76,899.638,20.85,309.263,-11.6858],[8070.67,999.626,19.0333,319.758,-8.48834],[7114.35,1099.84,16.1167,340.841,-3.54603],[6344.01,1123.56,13.9167,360.672,-0.0193185]]], - [18,1236.23,[[13870.6,-2001.14,42.8667,281.05,-47.9017],[13779.1,-1900.95,42.3833,280.439,-47.249],[13686.6,-1802.04,41.9,279.852,-46.5868],[13589.9,-1701.06,41.4,279.273,-45.8917],[13492.3,-1601.47,40.9,278.723,-45.1863],[13390.2,-1500.04,40.3833,278.188,-44.4466],[13287.1,-1400.13,39.8667,277.689,-43.6961],[13182.8,-1301.77,39.35,277.228,-42.9347],[13073.9,-1201.86,38.8167,276.795,-42.1375],[12960.4,-1100.59,38.2667,276.394,-41.3035],[12845.6,-1001.14,37.7167,276.045,-40.4575],[12725.9,-900.582,37.15,275.741,-39.5735],[12604.7,-801.998,36.5833,275.497,-38.6772],[12478.5,-702.598,36,275.313,-37.742],[12347.1,-602.591,35.4,275.197,-36.767],[12210.3,-502.196,34.7833,275.159,-35.7515],[12068,-401.642,34.15,275.212,-34.695],[11919.9,-301.17,33.5,275.368,-33.5969],[11766,-201.029,32.8333,275.641,-32.4568],[11605.9,-101.483,32.15,276.044,-31.2745],[11435.6,-0.497105,31.4333,276.609,-30.0206],[11258.6,99.1661,30.7,277.346,-28.724],[11070.7,199.331,29.9333,278.297,-27.3552],[10871.3,299.395,29.1333,279.497,-25.9142],[10660,398.715,28.3,280.983,-24.4016],[10431.8,498.431,27.4167,282.837,-22.7878],[10181.6,599.175,26.4667,285.168,-21.0437],[9908.07,699.395,25.45,288.07,-19.1716],[9605.18,798.812,24.35,291.715,-17.1452],[9256.7,898.895,23.1167,296.463,-14.8795],[8839.36,999.713,21.6833,302.921,-12.2661],[8310.8,1099.55,19.9333,312.282,-9.12313],[7472.72,1199.61,17.3,329.755,-4.54081],[6536.41,1236.22,14.55,352.939,-0.0101566]]], - [19,1352.24,[[14028.2,-2002.95,44.0167,280.525,-49.0472],[13938.9,-1901.14,43.5333,279.838,-48.4078],[13848.6,-1800.6,43.05,279.173,-47.7586],[13757.5,-1701.32,42.5667,278.531,-47.0997],[13665.4,-1603.32,42.0833,277.914,-46.431],[13565.9,-1500.01,41.5667,277.283,-45.7053],[13468.6,-1401.46,41.0667,276.702,-44.9925],[13367,-1301.12,40.55,276.135,-44.2448],[13264.2,-1202.33,40.0333,275.605,-43.486],[13157,-1101.98,39.5,275.097,-42.6911],[13045.2,-1000.26,38.95,274.618,-41.8591],[12932,-900.355,38.4,274.187,-41.0147],[12817.6,-802.284,37.85,273.808,-40.1581],[12694.8,-700.299,37.2667,273.465,-39.2363],[12570.5,-600.432,36.6833,273.186,-38.3012],[12444.8,-502.708,36.1,272.975,-37.3531],[12310.1,-401.76,35.4833,272.83,-36.3369],[12170,-300.643,34.85,272.768,-35.2789],[12028.1,-202.153,34.2167,272.801,-34.2068],[11876.7,-101.355,33.55,272.942,-33.0637],[11719.3,-1.13927,32.8667,273.207,-31.8773],[11555.7,98.219,32.1667,273.611,-30.6474],[11381.8,198.674,31.4333,274.186,-29.3444],[11197.1,299.662,30.6667,274.961,-27.9675],[11005.4,398.523,29.8833,275.948,-26.5468],[10797.9,498.825,29.05,277.225,-25.0221],[10574,599.575,28.1667,278.849,-23.3936],[10332.8,699.697,27.2333,280.883,-21.6623],[10068.9,799.621,26.2333,283.446,-19.7995],[9776.69,899.128,25.15,286.697,-17.7775],[9440.14,999.813,23.9333,290.973,-15.5091],[9046.33,1099.72,22.55,296.69,-12.9439],[8550.28,1199.8,20.8667,304.969,-9.86021],[7813.9,1299.6,18.4833,319.415,-5.60533],[6720.91,1352.24,15.1833,345.408,-0.0217724]]], - [20,1471.4,[[14173.2,-2002.47,45.15,280.163,-50.1625],[14089.1,-1902.63,44.6833,279.434,-49.5583],[14001,-1800.44,44.2,278.697,-48.9229],[13915.2,-1702.97,43.7333,278.004,-48.3],[13825.3,-1603.26,43.25,277.307,-47.6451],[13731.5,-1501.46,42.75,276.61,-46.9571],[13636.6,-1401.06,42.25,275.94,-46.2584],[13540.7,-1302.06,41.75,275.298,-45.5491],[13440.6,-1201.27,41.2333,274.665,-44.8048],[13339.4,-1102.01,40.7167,274.066,-44.049],[13233.7,-1001.19,40.1833,273.486,-43.257],[13126.9,-902.06,39.65,272.946,-42.4528],[13015.6,-801.615,39.1,272.435,-41.611],[12899.5,-700.046,38.5333,271.959,-40.7304],[12782,-600.451,37.9667,271.538,-39.8365],[12659.7,-500.016,37.3833,271.165,-38.9026],[12535.9,-401.726,36.8,270.856,-37.955],[12403.4,-300.184,36.1833,270.605,-36.9388],[12269.1,-201.102,35.5667,270.435,-35.9081],[12129.5,-101.937,34.9333,270.35,-34.8348],[11980.6,-0.431074,34.2667,270.363,-33.6895],[11829.6,98.0821,33.6,270.487,-32.5291],[11668.9,198.256,32.9,270.744,-31.2952],[11498,299.562,32.1667,271.159,-29.9866],[11320.5,399.266,31.4167,271.748,-28.6327],[11132.2,499.121,30.6333,272.549,-27.2034],[10932.6,598.499,29.8167,273.597,-25.6986],[10717,698.601,28.95,274.961,-24.0878],[10484.7,798.372,28.0333,276.702,-22.3715],[10226.2,899.928,27.0333,278.969,-20.4885],[9944.3,999.718,25.9667,281.837,-18.4729],[9623.99,1099.9,24.7833,285.595,-16.2354],[9253.09,1199.21,23.45,290.603,-13.7225],[8788.48,1299.82,21.8333,297.854,-10.7036],[8138.52,1399.45,19.6667,309.78,-6.73955],[6891.92,1471.4,15.8,338.217,-0.0268527]]], - [21,1593.51,[[14308.8,-2003.39,46.2833,279.978,-51.2685],[14226.7,-1902.01,45.8167,279.187,-50.6779],[14143.8,-1801.77,45.35,278.411,-50.078],[14060,-1702.69,44.8833,277.652,-49.4689],[13972.3,-1601.3,44.4,276.883,-48.8282],[13883.8,-1501.18,43.9167,276.134,-48.1773],[13794.4,-1402.34,43.4333,275.406,-47.5163],[13700.9,-1301.47,42.9333,274.677,-46.8218],[13606.4,-1202,42.4333,273.974,-46.1164],[13507.8,-1100.71,41.9167,273.277,-45.3759],[13408.1,-1000.97,41.4,272.611,-44.6238],[13307.3,-902.792,40.8833,271.98,-43.8599],[13198.9,-800.014,40.3333,271.347,-43.0339],[13092.5,-702.084,39.8,270.775,-42.2204],[12981.7,-602.902,39.25,270.231,-41.3686],[12866.1,-502.66,38.6833,269.722,-40.4773],[12745.7,-401.558,38.1,269.255,-39.5457],[12623.9,-302.603,37.5167,268.85,-38.5998],[12493.5,-200.357,36.9,268.493,-37.5847],[12361.5,-100.573,36.2833,268.214,-36.5544],[12224.2,-0.6881,35.65,268.012,-35.4807],[12081.4,99.0528,35,267.901,-34.363],[11933,198.395,34.3333,267.892,-33.2007],[11775,299.437,33.6333,268.005,-31.9636],[11610.9,399.37,32.9167,268.256,-30.6805],[11440.5,497.893,32.1833,268.665,-29.3514],[11255.6,598.9,31.4,269.279,-27.9149],[11059.7,699.477,30.5833,270.126,-26.4008],[10852.3,798.955,29.7333,271.244,-24.8093],[10628.6,898.403,28.8333,272.706,-23.1098],[10383.8,998.362,27.8667,274.612,-21.2717],[10112.2,1098.75,26.8167,277.101,-19.2649],[9807.71,1198.71,25.6667,280.357,-17.0615],[9454.46,1298.86,24.3667,284.748,-14.5734],[9024.85,1399.02,22.8333,290.963,-11.6572],[8442.14,1499.5,20.8333,300.898,-7.91242],[7049.81,1593.51,16.4,331.335,-0.0240721]]], - [22,1718.37,[[14432.3,-2002.18,47.4,279.927,-52.3429],[14355,-1902.95,46.95,279.112,-51.7868],[14274,-1801.16,46.4833,278.278,-51.2009],[14192.2,-1700.5,46.0167,277.457,-50.6057],[14109.7,-1601,45.55,276.651,-50.0012],[14026.3,-1502.66,45.0833,275.86,-49.3871],[13939.1,-1402.06,44.6,275.059,-48.7411],[13851,-1302.74,44.1167,274.278,-48.0847],[13758.9,-1201.37,43.6167,273.492,-47.3948],[13665.9,-1101.4,43.1167,272.73,-46.6938],[13571.9,-1002.86,42.6167,271.994,-45.9815],[13473.7,-902.555,42.1,271.263,-45.2338],[13371.3,-800.648,41.5667,270.541,-44.4493],[13267.7,-700.425,41.0333,269.856,-43.6521],[13163.1,-601.907,40.5,269.209,-42.8422],[13053.9,-502.12,39.95,268.585,-41.9937],[12940.1,-401.254,39.3833,267.991,-41.1054],[12825.1,-302.388,38.8167,267.449,-40.203],[12705.2,-202.73,38.2333,266.949,-39.2596],[12580.5,-102.492,37.6333,266.5,-38.2739],[12450.7,-1.89758,37.0167,266.112,-37.2452],[12315.7,98.8195,36.3833,265.795,-36.1724],[12175.3,199.415,35.7333,265.561,-35.0546],[12029.4,299.633,35.0667,265.422,-33.8914],[11877.9,399.207,34.3833,265.392,-32.6819],[11720.4,497.857,33.6833,265.487,-31.4259],[11549.3,599.734,32.9333,265.738,-30.0621],[11371.6,699.733,32.1667,266.162,-28.6502],[11183.2,799.546,31.3667,266.797,-27.1592],[10983.8,898.52,30.5333,267.677,-25.5891],[10764.5,999.589,29.6333,268.894,-23.8768],[10528.7,1099.6,28.6833,270.496,-22.054],[10271.2,1198.91,27.6667,272.593,-20.0905],[9982.04,1298.6,26.55,275.38,-17.9248],[9645.77,1399.54,25.2833,279.192,-15.4655],[9244.95,1499.9,23.8167,284.531,-12.628],[8725.73,1599.67,21.9833,292.71,-9.12098],[7813.32,1699.72,18.9333,310.419,-3.46359],[7194.94,1718.36,16.9833,324.74,-0.0121129]]], - [23,1845.8,[[14546.4,-2002.6,48.5167,280.029,-53.4059],[14471,-1901.92,48.0667,279.165,-52.8632],[14394.8,-1802.27,47.6167,278.31,-52.3121],[14315,-1700.04,47.15,277.434,-51.7313],[14237.3,-1602.53,46.7,276.6,-51.1624],[14156,-1502.54,46.2333,275.748,-50.5631],[14070.9,-1400.22,45.75,274.881,-49.9322],[13987.9,-1302.62,45.2833,274.059,-49.3133],[13901.2,-1202.8,44.8,273.226,-48.6619],[13810.5,-1100.9,44.3,272.384,-47.9771],[13718.9,-1000.41,43.8,271.565,-47.2808],[13626.3,-901.342,43.3,270.77,-46.5732],[13529.6,-800.49,42.7833,269.975,-45.83],[13431.9,-701.197,42.2667,269.211,-45.0745],[13330,-600.358,41.7333,268.455,-44.2818],[13227,-501.224,41.2,267.735,-43.476],[13119.5,-400.799,40.65,267.033,-42.6314],[13010.9,-302.234,40.1,266.375,-41.7729],[12897.7,-202.651,39.5333,265.746,-40.8741],[12779.8,-102.254,38.95,265.154,-39.9337],[12657.1,-1.25472,38.35,264.606,-38.9507],[12532.9,97.4151,37.75,264.126,-37.9519],[12400.2,199.006,37.1167,263.695,-36.8808],[12265.8,297.933,36.4833,263.349,-35.7929],[12122.4,399.148,35.8167,263.08,-34.63],[11973.5,499.746,35.1333,262.913,-33.4199],[11818.9,599.446,34.4333,262.862,-32.162],[11658.3,697.957,33.7167,262.943,-30.856],[11483.9,799.292,32.95,263.188,-29.4398],[11303,898.442,32.1667,263.618,-27.974],[11107.4,998.978,31.3333,264.285,-26.3957],[10896.4,1099.89,30.45,265.242,-24.7041],[10673.5,1198.36,29.5333,266.523,-22.9315],[10421.4,1300,28.5167,268.308,-20.9496],[10147,1399.35,27.4333,270.656,-18.825],[9831.44,1499.72,26.2167,273.878,-16.4313],[9462.81,1599.07,24.8333,278.343,-13.7121],[8990.11,1699.91,23.1167,285.157,-10.3622],[8279.28,1799.71,20.65,297.648,-5.64767],[7332.93,1845.8,17.5667,318.281,-0.0190373]]], - [24,1975.62,[[14648.6,-2001.03,49.6167,280.241,-54.4367],[14577.7,-1902.7,49.1833,279.367,-53.9274],[14503.3,-1801.58,48.7333,278.465,-53.3901],[14428.3,-1701.49,48.2833,277.572,-52.8442],[14352.5,-1602.44,47.8333,276.687,-52.2896],[14273.1,-1500.84,47.3667,275.78,-51.7051],[14193,-1400.39,46.9,274.884,-51.111],[14112.1,-1301.11,46.4333,274.001,-50.5071],[14030.4,-1203,45.9667,273.133,-49.8935],[13944.9,-1102.65,45.4833,272.249,-49.2476],[13855.6,-1000.21,44.9833,271.353,-48.5682],[13768.4,-902.514,44.5,270.507,-47.9004],[13677.3,-802.849,44,269.653,-47.1982],[13582.1,-701.376,43.4833,268.796,-46.4604],[13486,-601.46,42.9667,267.967,-45.7101],[13388.8,-503.123,42.45,267.167,-44.9472],[13284.2,-400.196,41.9,266.351,-44.1213],[13181.7,-302.14,41.3667,265.596,-43.3069],[13074.9,-202.849,40.8167,264.858,-42.453],[12963.5,-102.516,40.25,264.144,-41.5584],[12847.6,-1.34443,39.6667,263.462,-40.6219],[12730.2,97.6557,39.0833,262.835,-39.6697],[12604.7,199.921,38.4667,262.238,-38.6462],[12477.7,299.695,37.85,261.712,-37.6056],[12345.6,399.538,37.2167,261.251,-36.5195],[12208.2,499.202,36.5667,260.866,-35.3869],[12065.5,598.428,35.9,260.57,-34.2069],[11913.7,699.308,35.2,260.373,-32.9487],[11756,799.03,34.4833,260.299,-31.641],[11588.6,899.479,33.7333,260.37,-30.2526],[11414.9,997.963,32.9667,260.607,-28.8135],[11226.9,1098.13,32.15,261.053,-27.2604],[11024.1,1199.01,31.2833,261.759,-25.5919],[10805.7,1299.51,30.3667,262.782,-23.8074],[10571.1,1398.5,29.4,264.185,-21.9074],[10306.9,1499.22,28.3333,266.146,-19.7947],[10011.3,1598.98,27.1667,268.817,-17.4718],[9664.75,1699.37,25.8333,272.586,-14.8125],[9240.63,1799.22,24.25,278.126,-11.6661],[8646.24,1899.46,22.1167,287.573,-7.48422],[7458.59,1975.62,18.1333,312.075,-0.0153016]]], - [25,2107.66,[[14741.7,-2001.33,50.7167,280.585,-55.4548],[14672.4,-1901.63,50.2833,279.672,-54.9587],[14602.6,-1802.85,49.85,278.764,-54.4548],[14529.3,-1701.27,49.4,277.827,-53.9232],[14455.3,-1600.72,48.95,276.896,-53.3828],[14380.7,-1501.22,48.5,275.973,-52.8337],[14305.3,-1402.76,48.05,275.059,-52.2757],[14226.4,-1301.79,47.5833,274.12,-51.6874],[14146.7,-1201.98,47.1167,273.193,-51.0894],[14066.3,-1103.34,46.65,272.279,-50.4815],[13982.1,-1002.44,46.1667,271.346,-49.8414],[13897.2,-902.839,45.6833,270.429,-49.1904],[13808.3,-801.178,45.1833,269.499,-48.5056],[13718.6,-700.937,44.6833,268.589,-47.8089],[13628,-602.136,44.1833,267.701,-47.1004],[13533.4,-501.572,43.6667,266.809,-46.3557],[13437.7,-402.582,43.15,265.945,-45.5983],[13338,-302.074,42.6167,265.083,-44.8029],[13234,-200.228,42.0667,264.23,-43.9683],[13128.8,-100.236,41.5167,263.416,-43.1192],[13022.5,-2.12401,40.9667,262.643,-42.2555],[12908.5,99.8547,40.3833,261.872,-41.3236],[12793.1,199.665,39.8,261.154,-40.3754],[12676.4,297.277,39.2167,260.493,-39.4111],[12551.5,398.047,38.6,259.86,-38.3745],[12421.7,498.916,37.9667,259.284,-37.2916],[12286.8,599.637,37.3167,258.778,-36.1614],[12146.6,699.951,36.65,258.353,-34.9829],[12001,799.587,35.9667,258.023,-33.7552],[11849.9,898.263,35.2667,257.802,-32.4778],[11689.3,997.905,34.5333,257.705,-31.119],[11518.9,1097.93,33.7667,257.76,-29.6772],[11334.5,1199.75,32.95,258.006,-28.1191],[11143.4,1298.55,32.1167,258.468,-26.5077],[10933.4,1399.35,31.2167,259.221,-24.7459],[10707.7,1499.01,30.2667,260.319,-22.8655],[10457.3,1599.41,29.2333,261.89,-20.8009],[10176.8,1699.74,28.1,264.091,-18.5201],[9855.54,1799.51,26.8333,267.183,-15.9605],[9468.76,1899.35,25.35,271.71,-12.9641],[8955.7,1999.68,23.45,279.051,-9.1572]]], - [26,2241.75,[[14825.7,-2003.67,51.8167,281.052,-56.459],[14758.1,-1902.6,51.3833,280.105,-55.9765],[14689.9,-1802.44,50.95,279.161,-55.4861],[14621,-1703.21,50.5167,278.221,-54.9879],[14548.8,-1601.16,50.0667,277.25,-54.4621],[14476,-1500.13,49.6167,276.283,-53.9276],[14402.5,-1400.14,49.1667,275.323,-53.3842],[14328.2,-1301.2,48.7167,274.37,-52.8319],[14253.3,-1203.33,48.2667,273.426,-52.2705],[14174.9,-1102.98,47.8,272.455,-51.6787],[14092.8,-1000.27,47.3167,271.462,-51.0551],[14012.8,-902.321,46.85,270.516,-50.4428],[13929.2,-802.141,46.3667,269.55,-49.7979],[13844.7,-703.269,45.8833,268.599,-49.142],[13756.4,-602.382,45.3833,267.635,-48.4517],[13667.2,-502.93,44.8833,266.69,-47.7493],[13574.1,-401.691,44.3667,265.737,-47.0108],[13480,-302.025,43.85,264.809,-46.2593],[13381.8,-200.814,43.3167,263.88,-45.4698],[13282.6,-101.323,42.7833,262.982,-44.6663],[13179.2,-0.545698,42.2333,262.092,-43.823],[13074.6,98.3555,41.6833,261.241,-42.9647],[12965.7,198.266,41.1167,260.407,-42.0648],[12852.3,298.982,40.5333,259.599,-41.1219],[12737.6,397.503,39.95,258.844,-40.1624],[12614.9,499.238,39.3333,258.108,-39.1301],[12490.7,598.455,38.7167,257.44,-38.0795],[12361.6,697.698,38.0833,256.831,-36.9819],[12223.9,799.218,37.4167,256.277,-35.8065],[12084.5,897.674,36.75,255.821,-34.6111],[11936.1,997.709,36.05,255.452,-33.335],[11778.5,1098.78,35.3167,255.195,-31.9761],[11615,1198.15,34.5667,255.077,-30.5641],[11438,1299.62,33.7667,255.124,-29.0348],[11254.4,1398.3,32.95,255.367,-27.4508],[11052.5,1499.39,32.0667,255.865,-25.7141],[10835.4,1599.71,31.1333,256.673,-23.8558],[10598.4,1699.67,30.1333,257.881,-21.8428],[10336.4,1799,29.05,259.615,-19.6423],[10035.4,1899.23,27.8333,262.124,-17.155],[9679.82,1999.39,26.4333,265.796,-14.2854]]], - [27,2377.74,[[14895.5,-2000.27,52.8833,281.559,-57.4128],[14832,-1901.82,52.4667,280.62,-56.9615],[14765.4,-1800.31,52.0333,279.644,-56.4845],[14700.8,-1703.57,51.6167,278.708,-56.0186],[14630.4,-1600.06,51.1667,277.7,-55.5072],[14561.9,-1501.33,50.7333,276.732,-55.0066],[14492.9,-1403.55,50.3,275.768,-54.4978],[14420.5,-1303.02,49.85,274.772,-53.9609],[14347.4,-1203.55,49.4,273.781,-53.4149],[14270.9,-1101.51,48.9333,272.762,-52.8391],[14193.6,-1000.63,48.4667,271.751,-52.2533],[14115.6,-900.915,48,270.749,-51.6575],[14036.9,-802.392,47.5333,269.758,-51.0515],[13954.6,-701.616,47.05,268.744,-50.413],[13871.4,-602.146,46.5667,267.745,-49.7634],[13784.5,-500.637,46.0667,266.727,-49.0795],[13696.7,-400.56,45.5667,265.727,-48.3834],[13608,-301.935,45.0667,264.748,-47.675],[13515.4,-201.566,44.55,263.759,-46.9299],[13421.9,-102.787,44.0333,262.795,-46.1715],[13324.4,-2.51006,43.5,261.828,-45.3746],[13222.7,99.0809,42.95,260.864,-44.5377],[13119.8,198.8,42.4,259.937,-43.6856],[13012.8,299.557,41.8333,259.022,-42.7915],[12904.5,398.275,41.2667,258.151,-41.8813],[12791.7,497.737,40.6833,257.304,-40.9273],[12674.4,597.728,40.0833,256.49,-39.9282],[12552.4,698.017,39.4667,255.717,-38.8827],[12425.6,798.366,38.8333,254.994,-37.7895],[12293.8,898.526,38.1833,254.334,-36.6473],[12156.9,998.234,37.5167,253.747,-35.455],[12011.3,1099.59,36.8167,253.237,-34.1811],[11860.1,1199.77,36.1,252.834,-32.8542],[11703.3,1298.46,35.3667,252.554,-31.4737],[11533.3,1399.55,34.5833,252.414,-29.9749],[11357.1,1498.11,33.7833,252.451,-28.4202],[11163.1,1599.46,32.9167,252.708,-26.7108],[10958.2,1698.64,32.0167,253.23,-24.9109],[10730.2,1799.81,31.0333,254.116,-22.9194],[10482,1899.41,29.9833,255.451,-20.7696],[10200.2,1999.65,28.8167,257.433,-18.3603]]], - [28,2515.45,[[14958.8,-2003.02,53.9667,282.208,-58.3707],[14896.9,-1903.29,53.55,281.244,-57.9321],[14831.9,-1800.44,53.1167,280.241,-57.4686],[14768.8,-1702.39,52.7,279.276,-57.0158],[14702.6,-1601.32,52.2667,278.274,-56.5372],[14635.9,-1501.17,51.8333,277.273,-56.0507],[14568.5,-1401.95,51.4,276.274,-55.5562],[14500.5,-1303.68,50.9667,275.278,-55.0536],[14429.2,-1202.64,50.5167,274.247,-54.5229],[14357.2,-1102.64,50.0667,273.221,-53.9832],[14281.9,-1000.06,49.6,272.163,-53.4139],[14208.6,-902.241,49.15,271.149,-52.8554],[14131.8,-801.942,48.6833,270.106,-52.2663],[14054.3,-702.827,48.2167,269.072,-51.667],[13973.3,-601.435,47.7333,268.012,-51.0353],[13891.4,-501.345,47.25,266.965,-50.3924],[13808.8,-402.574,46.7667,265.931,-49.7381],[13722.4,-301.802,46.2667,264.878,-49.049],[13635.2,-202.477,45.7667,263.843,-48.3475],[13544.1,-101.382,45.25,262.794,-47.6094],[13452.1,-1.87253,44.7333,261.768,-46.8578],[13356.2,99.1622,44.2,260.735,-46.0676],[13259.2,198.463,43.6667,259.732,-45.2628],[13158.1,299.028,43.1167,258.73,-44.4174],[13056,397.701,42.5667,257.764,-43.5563],[12949.5,497.358,42,256.81,-42.6527],[12838.7,597.794,41.4167,255.874,-41.7051],[12723.5,698.79,40.8167,254.965,-40.712],[12606.9,797.412,40.2167,254.113,-39.7003],[12482.3,898.905,39.5833,253.28,-38.6125],[12356.2,997.681,38.95,252.522,-37.5045],[12221.8,1098.68,38.2833,251.808,-36.3166],[12082.3,1199,37.6,251.174,-35.0766],[11937.5,1298.34,36.9,250.632,-33.7835],[11783.7,1398.65,36.1667,250.191,-32.4048],[11620.6,1499.34,35.4,249.876,-30.9384],[11447.8,1599.79,34.6,249.717,-29.3822],[11265.1,1699.33,33.7667,249.75,-27.7351],[11068.2,1799.07,32.8833,250.017,-25.9627],[10852.8,1899.61,31.9333,250.591,-24.0295],[10617.9,1999.32,30.9167,251.555,-21.9345]]], - [29,2654.74,[[15008.3,-2000.03,55.0167,282.878,-59.2795],[14950.2,-1903.11,54.6167,281.931,-58.8705],[14889.2,-1802.94,54.2,280.942,-58.4377],[14827.7,-1703.6,53.7833,279.953,-57.998],[14763.1,-1601.15,53.35,278.923,-57.5332],[14700.5,-1503.5,52.9333,277.932,-57.0789],[14634.7,-1402.85,52.5,276.903,-56.5988],[14568.4,-1303.12,52.0667,275.874,-56.1106],[14498.9,-1200.56,51.6167,274.807,-55.5951],[14431.3,-1102.77,51.1833,273.783,-55.0903],[14360.5,-1002.24,50.7333,272.722,-54.5572],[14289,-902.77,50.2833,271.666,-54.0148],[14214.1,-800.742,49.8167,270.577,-53.4426],[14141.3,-703.461,49.3667,269.532,-52.8812],[14062.3,-600.196,48.8833,268.418,-52.2675],[13985.3,-501.708,48.4167,267.352,-51.6644],[13904.8,-400.978,47.9333,266.258,-51.0285],[13823.4,-301.563,47.45,265.177,-50.3812],[13738.5,-200.122,46.95,264.072,-49.6993],[13652.7,-100.124,46.45,262.983,-49.0048],[13566,-1.58906,45.95,261.913,-48.2975],[13475.5,98.6747,45.4333,260.827,-47.5531],[13384.1,197.336,44.9167,259.764,-46.7949],[13288.8,297.479,44.3833,258.693,-45.9976],[13189.4,398.916,43.8333,257.619,-45.1596],[13089,498.466,43.2833,256.578,-44.3056],[12984.4,599.032,42.7167,255.544,-43.4089],[12878.6,697.542,42.15,254.551,-42.4951],[12765.4,799.575,41.55,253.549,-41.5089],[12650.8,899.241,40.95,252.601,-40.5035],[12531.7,999.174,40.3333,251.687,-39.4504],[12407.9,1099.13,39.7,250.817,-38.348],[12279.3,1198.87,39.05,250.002,-37.195],[12145.7,1298.11,38.3833,249.253,-35.99],[12003.6,1398.95,37.6833,248.569,-34.701],[11856.2,1498.57,36.9667,247.984,-33.3567],[11699.7,1598.83,36.2167,247.506,-31.9242],[11534,1699.13,35.4333,247.163,-30.4012],[11358.6,1798.83,34.6167,246.986,-28.786],[11169.5,1899.1,33.75,247.014,-27.0436],[10966.1,1998.85,32.8333,247.302,-25.172]]], - [30,2795.45,[[15051.3,-2003.5,56.0833,283.676,-60.1912],[14992.3,-1901.32,55.6667,282.671,-59.7776],[14935.2,-1803.97,55.2667,281.702,-59.3742],[14875.1,-1703.35,54.85,280.691,-58.9474],[14814.5,-1603.55,54.4333,279.678,-58.5136],[14751,-1500.63,54,278.622,-58.055],[14689.3,-1402.52,53.5833,277.606,-57.6068],[14624.5,-1301.39,53.15,276.549,-57.1329],[14559.2,-1201.18,52.7167,275.491,-56.651],[14493.3,-1101.91,52.2833,274.435,-56.161],[14426.8,-1003.6,51.85,273.379,-55.6627],[14357.1,-902.515,51.4,272.286,-55.1364],[14286.7,-802.488,50.95,271.195,-54.6009],[14215.7,-703.526,50.5,270.108,-54.056],[14141.4,-602.038,50.0333,268.987,-53.481],[14066.4,-501.726,49.5667,267.871,-52.8957],[13990.6,-402.605,49.1,266.763,-52.2998],[13911.4,-301.216,48.6167,265.625,-51.6714],[13831.4,-201.138,48.1333,264.497,-51.0315],[13750.6,-102.387,47.65,263.381,-50.3798],[13666.2,-1.64616,47.15,262.24,-49.6931],[13581,97.6369,46.65,261.115,-48.9935],[13492,198.678,46.1333,259.971,-48.257],[13402.2,298.122,45.6167,258.848,-47.5063],[13308.4,399.076,45.0833,257.712,-46.7166],[13213.7,498.283,44.55,256.603,-45.9117],[13115,598.737,44,255.49,-45.0654],[13015.3,697.284,43.45,254.41,-44.2028],[12908.3,799.693,42.8667,253.304,-43.2698],[12800.1,899.898,42.2833,252.243,-42.3182],[12690.7,997.872,41.7,251.229,-41.348],[12573.7,1098.99,41.0833,250.214,-40.3021],[12455.4,1197.54,40.4667,249.26,-39.2356],[12329.1,1298.6,39.8167,248.327,-38.0893],[12198,1399.22,39.15,247.453,-36.8901],[12062,1499.12,38.4667,246.65,-35.6369],[11920.7,1598.01,37.7667,245.933,-34.3284],[11770.8,1697.81,37.0333,245.303,-32.9314],[11611.8,1797.93,36.2667,244.787,-31.4435],[11440,1899.77,35.45,244.409,-29.829],[11262,1998.49,34.6167,244.217,-28.1524]]], - [31,2937.45,[[15080.7,-2001.22,57.1167,284.477,-61.056],[15025.4,-1901.99,56.7167,283.495,-60.6706],[14969.7,-1803.47,56.3167,282.51,-60.2791],[14911,-1701.63,55.9,281.48,-59.8649],[14851.9,-1600.58,55.4833,280.447,-59.4439],[14792.3,-1500.34,55.0667,279.411,-59.016],[14732.1,-1400.93,54.65,278.372,-58.581],[14671.3,-1302.35,54.2333,277.332,-58.139],[14607.6,-1200.72,53.8,276.248,-57.6715],[14543.3,-1100.01,53.3667,275.163,-57.1961],[14478.5,-1000.24,52.9333,274.078,-56.7126],[14413,-901.421,52.5,272.993,-56.2208],[14346.9,-803.558,52.0667,271.909,-55.7206],[14277.7,-702.959,51.6167,270.785,-55.1922],[14207.8,-603.422,51.1667,269.664,-54.6544],[14134.7,-501.335,50.7,268.505,-54.0867],[14060.9,-400.419,50.2333,267.352,-53.5086],[13986.3,-300.691,49.7667,266.204,-52.92],[13911.1,-202.164,49.3,265.063,-52.3207],[13832.4,-101.403,48.8167,263.89,-51.6885],[13753,-1.96473,48.3333,262.727,-51.0445],[13670,99.4916,47.8333,261.536,-50.3656],[13586.2,199.495,47.3333,260.36,-49.6738],[13501.5,298.025,46.8333,259.198,-48.9688],[13413.2,398.274,46.3167,258.017,-48.2264],[13323.9,496.909,45.8,256.856,-47.4695],[13230.9,597.012,45.2667,255.681,-46.673],[13133.9,698.395,44.7167,254.497,-45.8352],[13035.8,797.878,44.1667,253.344,-44.9807],[12933.8,898.36,43.6,252.19,-44.0827],[12827.5,999.633,43.0167,251.044,-43.1394],[12720.1,1098.68,42.4333,249.941,-42.1771],[12608.3,1198.21,41.8333,248.858,-41.1672],[12492.2,1297.98,41.2167,247.801,-40.1083],[12371.4,1397.75,40.5833,246.782,-38.9987],[12242.8,1499.78,39.9167,245.785,-37.8066],[12112.6,1598.7,39.25,244.874,-36.5903],[11974,1699.17,38.55,244.015,-35.2874],[11830.4,1798.38,37.8333,243.247,-33.9269],[11678,1898.18,37.0833,242.574,-32.4751],[11516.5,1997.97,36.3,242.022,-30.9294]]], - [32,3080.57,[[15101.5,-2001.48,58.15,285.353,-61.907],[15047.5,-1901.13,57.75,284.358,-61.5332],[14993.1,-1801.48,57.35,283.359,-61.1534],[14938.2,-1702.54,56.95,282.355,-60.7677],[14880.5,-1600.26,56.5333,281.305,-60.3594],[14824.6,-1502.81,56.1333,280.293,-59.961],[14765.9,-1402.1,55.7167,279.235,-59.5394],[14706.6,-1302.21,55.3,278.173,-59.1108],[14646.9,-1203.14,54.8833,277.109,-58.6751],[14584.2,-1101,54.45,276,-58.2143],[14523.4,-1003.66,54.0333,274.931,-57.7638],[14459.5,-903.335,53.6,273.819,-57.2873],[14392.6,-800.152,53.15,272.663,-56.7837],[14327.6,-701.765,52.7167,271.549,-56.2903],[14259.5,-600.619,52.2667,270.394,-55.7688],[14190.8,-500.531,51.8167,269.24,-55.238],[14121.4,-401.515,51.3667,268.088,-54.6977],[14051.3,-303.584,50.9167,266.94,-54.1478],[13978.1,-203.187,50.45,265.753,-53.5671],[13901.4,-100.468,49.9667,264.53,-52.9543],[13826.7,-2.52524,49.5,263.356,-52.3516],[13748.6,97.6193,49.0167,262.148,-51.7157],[13667,199.811,48.5167,260.909,-51.0451],[13587.3,297.22,48.0333,259.723,-50.3845],[13501.4,399.831,47.5167,258.469,-49.6646],[13417.3,497.621,47.0167,257.271,-48.9542],[13329.6,597.088,46.5,256.051,-48.2058],[13238.1,698.056,45.9667,254.813,-47.4179],[13145.7,797.265,45.4333,253.599,-46.6141],[13049.4,897.708,44.8833,252.375,-45.7684],[12949.1,999.186,44.3167,251.145,-44.8791],[12847.8,1098.6,43.75,249.951,-43.9714],[12742.3,1198.75,43.1667,248.763,-43.0178],[12632.5,1299.42,42.5667,247.587,-42.0164],[12521.6,1397.67,41.9667,246.463,-40.9943],[12403,1498.73,41.3333,245.337,-39.8928],[12280,1599.59,40.6833,244.25,-38.7384],[12152.2,1699.96,40.0167,243.214,-37.5294],[12019.6,1799.59,39.3333,242.242,-36.2643],[11882,1898.16,38.6333,241.348,-34.9416],[11732.6,1999.82,37.8833,240.511,-33.4951]]], - [33,3224.68,[[15111.2,-2000.18,59.1667,286.257,-62.7293],[15060.7,-1902.95,58.7833,285.293,-62.3818],[15007.6,-1802.17,58.3833,284.282,-62.0137],[14954,-1702.09,57.9833,283.266,-61.6397],[14899.9,-1602.73,57.5833,282.244,-61.2598],[14845.4,-1504.08,57.1833,281.217,-60.8738],[14788.1,-1402.11,56.7667,280.143,-60.4652],[14730.4,-1300.94,56.35,279.064,-60.0497],[14672.1,-1200.58,55.9333,277.981,-59.6273],[14613.2,-1101.05,55.5167,276.894,-59.1979],[14553.9,-1002.35,55.1,275.804,-58.7612],[14491.7,-900.61,54.6667,274.668,-58.2994],[14431.3,-803.653,54.25,273.573,-57.8477],[14367.9,-703.739,53.8167,272.432,-57.3698],[14301.5,-600.99,53.3667,271.247,-56.8648],[14237,-503.03,52.9333,270.105,-56.3698],[14169.4,-402.336,52.4833,268.919,-55.8466],[14101.1,-302.709,52.0333,267.734,-55.3139],[14029.7,-200.534,51.5667,266.508,-54.7513],[13960.2,-103.123,51.1167,265.328,-54.1987],[13887.4,-3.27731,50.65,264.108,-53.6151],[13811.4,98.8605,50.1667,262.851,-52.9992],[13734.5,199.684,49.6833,261.6,-52.3713],[13657,299.177,49.2,260.357,-51.7313],[13578.7,397.322,48.7167,259.124,-51.079],[13496.9,497.413,48.2167,257.86,-50.3911],[13411.5,599.285,47.7,256.567,-49.666],[13325.3,699.554,47.1833,255.291,-48.9261],[13238.2,798.2,46.6667,254.033,-48.1714],[13147.4,898.303,46.1333,252.756,-47.3766],[13052.8,999.673,45.5833,251.463,-46.5398],[12957.2,1099.13,45.0333,250.199,-45.6856],[12857.6,1199.57,44.4667,248.928,-44.7871],[12757,1297.93,43.9,247.693,-43.8698],[12649.3,1399.76,43.3,246.427,-42.8778],[12540.3,1499.2,42.7,245.21,-41.8645],[12427.1,1598.86,42.0833,244.012,-40.8008],[12309.4,1698.49,41.45,242.844,-39.6848],[12187.3,1797.85,40.8,241.716,-38.5149],[12057.2,1899.09,40.1167,240.613,-37.2582],[11922.3,1999.34,39.4167,239.578,-35.943]]], - [34,3369.65,[[15112.1,-2001.57,60.1833,287.225,-63.5382],[15062.9,-1903.3,59.8,286.253,-63.2015],[15011,-1801.43,59.4,285.232,-62.8446],[14958.7,-1700.24,59,284.205,-62.482],[14908.2,-1603.93,58.6167,283.215,-62.1292],[14855,-1504.13,58.2167,282.177,-61.7552],[14799.1,-1400.93,57.8,281.089,-61.3592],[14745,-1302.6,57.4,280.039,-60.9728],[14688.2,-1200.96,56.9833,278.94,-60.5637],[14630.8,-1100.13,56.5667,277.836,-60.1477],[14572.9,-1000.12,56.15,276.728,-59.7247],[14514.6,-900.946,55.7333,275.615,-59.2945],[14455.7,-802.613,55.3167,274.499,-58.8571],[14393.9,-701.252,54.8833,273.335,-58.3942],[14331.6,-600.827,54.45,272.169,-57.9232],[14268.7,-501.35,54.0167,271,-57.4439],[14205.2,-402.833,53.5833,269.829,-56.9561],[14138.7,-301.557,53.1333,268.613,-56.4404],[14071.6,-201.344,52.6833,267.397,-55.9152],[14003.8,-102.208,52.2333,266.181,-55.3803],[13932.9,-0.552004,51.7667,264.922,-54.8153],[13861.4,99.9151,51.3,263.665,-54.2395],[13789.2,199.178,50.8333,262.413,-53.6528],[13716.2,297.221,50.3667,261.165,-53.0549],[13640,397.462,49.8833,259.879,-52.4237],[13560.4,499.747,49.3833,258.556,-51.7577],[13482.7,597.237,48.9,257.288,-51.1012],[13398.8,699.926,48.3833,255.943,-50.3852],[13316.8,797.783,47.8833,254.655,-49.6783],[13231.3,897.31,47.3667,253.34,-48.933],[13142.1,998.329,46.8333,252.001,-48.1476],[13052,1097.58,46.3,250.683,-47.3459],[12958.1,1198.05,45.75,249.349,-46.5016],[12860.3,1299.55,45.1833,248.003,-45.613],[12761.5,1398.96,44.6167,246.69,-44.7052],[12658.7,1499.11,44.0333,245.376,-43.7505],[12551.8,1599.75,43.4333,244.068,-42.747],[12443.6,1697.96,42.8333,242.808,-41.7215],[12328.2,1798.96,42.2,241.535,-40.6153],[12208.3,1899.73,41.55,240.294,-39.4545],[12083.9,2000,40.8833,239.096,-38.2372]]], - [35,3515.33,[[15102.3,-2001.5,61.1833,288.21,-64.3195],[15054.2,-1902.22,60.8,287.231,-63.9931],[15005.7,-1803.56,60.4167,286.246,-63.6617],[14954.7,-1701.28,60.0167,285.211,-63.3105],[14905.4,-1603.9,59.6333,284.213,-62.9686],[14853.5,-1502.97,59.2333,283.164,-62.6063],[14801.2,-1402.74,58.8333,282.109,-62.2381],[14748.4,-1303.23,58.4333,281.047,-61.864],[14693,-1200.35,58.0167,279.936,-61.4678],[14639.3,-1102.32,57.6167,278.862,-61.0812],[14582.9,-1001.01,57.2,277.739,-60.6717],[14525.9,-900.511,56.7833,276.61,-60.2552],[14468.5,-800.842,56.3667,275.476,-59.8317],[14410.6,-702.012,55.95,274.338,-59.4009],[14349.8,-600.13,55.5167,273.15,-58.945],[14290.9,-503.046,55.1,272.004,-58.4991],[14229,-403.003,54.6667,270.809,-58.0271],[14164.2,-300.125,54.2167,269.565,-57.5281],[14101.2,-202.044,53.7833,268.366,-57.0387],[14035.2,-101.229,53.3333,267.119,-56.5213],[13968.6,-1.48713,52.8833,265.872,-55.9942],[13901.4,97.1687,52.4333,264.625,-55.4574],[13831.1,198.316,51.9667,263.332,-54.8901],[13760.1,298.264,51.5,262.043,-54.3118],[13688.4,396.997,51.0333,260.756,-53.7223],[13613.5,497.959,50.55,259.429,-53.0999],[13537.9,597.583,50.0667,258.107,-52.4651],[13458.9,699.216,49.5667,256.747,-51.7951],[13379.1,799.379,49.0667,255.397,-51.1113],[13298.5,898.052,48.5667,254.058,-50.4137],[13214.5,998.429,48.05,252.688,-49.6778],[13129.6,1097.17,47.5333,251.334,-48.9266],[13041.1,1197.37,47,249.954,-48.1348],[12948.9,1298.82,46.45,248.553,-47.3006],[12855.7,1398.35,45.9,247.178,-46.4482],[12758.7,1498.86,45.3333,245.79,-45.5508],[12660.7,1597.26,44.7667,244.434,-44.6336],[12555.7,1699.14,44.1667,243.038,-43.6409],[12449.7,1798.59,43.5667,241.686,-42.6257],[12339.4,1898.26,42.95,240.347,-41.5587],[12224.8,1997.88,42.3167,239.03,-40.4381]]], - [36,3661.57,[[15083.7,-2004.34,62.1833,289.249,-65.0879],[15036.8,-1904.07,61.8,288.266,-64.7718],[14987.5,-1800.08,61.4,287.232,-64.4368],[14939.8,-1701.04,61.0167,286.234,-64.1106],[14891.7,-1602.63,60.6333,285.229,-63.7795],[14841.1,-1500.61,60.2333,284.172,-63.4285],[14792.1,-1403.49,59.85,283.153,-63.0867],[14740.7,-1302.83,59.45,282.082,-62.7245],[14688.7,-1202.88,59.05,281.005,-62.3563],[14636.4,-1103.66,58.65,279.92,-61.9822],[14581.4,-1001.08,58.2333,278.784,-61.5859],[14528.1,-903.355,57.8333,277.688,-61.1991],[14472.1,-802.356,57.4167,276.539,-60.7894],[14415.6,-702.182,57,275.385,-60.3726],[14358.7,-602.843,56.5833,274.225,-59.9487],[14298.9,-500.427,56.15,273.014,-59.5],[14240.9,-402.825,55.7333,271.845,-59.0609],[14180.1,-302.24,55.3,270.626,-58.5962],[14118.7,-202.607,54.8667,269.402,-58.1232],[14054.4,-100.162,54.4167,268.129,-57.6228],[13992,-2.50779,53.9833,266.9,-57.1321],[13926.5,97.8549,53.5333,265.622,-56.6131],[13860.4,197.136,53.0833,264.343,-56.0843],[13791.3,298.937,52.6167,263.017,-55.5253],[13721.5,399.544,52.15,261.692,-54.9554],[13651.1,498.94,51.6833,260.368,-54.3744],[13580,597.111,51.2167,259.048,-53.782],[13505.6,697.479,50.7333,257.685,-53.1562],[13428,799.886,50.2333,256.28,-52.4956],[13352.3,897.489,49.75,254.93,-51.8439],[13273.1,996.998,49.25,253.542,-51.1559],[13190.6,1098.25,48.7333,252.119,-50.43],[13107.2,1197.87,48.2167,250.709,-49.6887],[13020.3,1298.97,47.6833,249.27,-48.9069],[12932.5,1398.3,47.15,247.85,-48.1081],[12841,1498.84,46.6,246.407,-47.2662],[12748.6,1597.44,46.05,244.989,-46.4057],[12649.5,1699.86,45.4667,243.516,-45.4724],[12552.3,1797.2,44.9,242.118,-44.5452],[12448.2,1897.93,44.3,240.678,-43.5413],[12340,1998.91,43.6833,239.243,-42.4854]]], - [37,3808.25,[[15052.5,-2001.39,63.15,290.252,-65.817],[15006.7,-1900.18,62.7667,289.266,-65.5106],[14962.6,-1803.91,62.4,288.315,-65.2132],[14916,-1703.86,62.0167,287.312,-64.8975],[14867.1,-1600.11,61.6167,286.258,-64.5629],[14819.8,-1501.31,61.2333,285.24,-64.2371],[14772.1,-1403.14,60.85,284.215,-63.9063],[14721.8,-1301.37,60.45,283.137,-63.5556],[14671.2,-1200.3,60.05,282.051,-63.1992],[14622.3,-1104.11,59.6667,281.004,-62.8521],[14568.6,-1000.3,59.25,279.857,-62.4686],[14516.7,-901.384,58.85,278.75,-62.0943],[14464.3,-803.204,58.45,277.636,-61.7138],[14409.2,-701.726,58.0333,276.468,-61.3107],[14353.7,-601.068,57.6167,275.295,-60.9006],[14297.7,-501.242,57.2,274.115,-60.4834],[14241.2,-402.257,56.7833,272.929,-60.0589],[14181.9,-300.217,56.35,271.69,-59.6095],[14124.4,-202.985,55.9333,270.494,-59.1697],[14064,-102.791,55.5,269.246,-58.7041],[14003.2,-3.55801,55.0667,267.994,-58.23],[13939.4,98.4628,54.6167,266.69,-57.7285],[13875,199.421,54.1667,265.383,-57.2174],[13810.1,299.302,53.7167,264.074,-56.6966],[13744.6,398.092,53.2667,262.764,-56.1658],[13676,499.374,52.8,261.404,-55.6046],[13606.8,599.45,52.3333,260.045,-55.0323],[13536.9,698.306,51.8667,258.688,-54.4486],[13463.9,799.388,51.3833,257.284,-53.8319],[13390.1,899.125,50.9,255.885,-53.2025],[13315.7,997.5,50.4167,254.491,-52.5602],[13238,1097.82,49.9167,253.056,-51.882],[13156.9,1199.9,49.4,251.582,-51.166],[13077.7,1297.15,48.9,250.167,-50.4584],[12992.3,1399.19,48.3667,248.67,-49.6872],[12906.1,1499.46,47.8333,247.19,-48.8988],[12819,1597.93,47.3,245.728,-48.093],[12728.3,1697.57,46.75,244.243,-47.2434],[12633.8,1798.17,46.1833,242.738,-46.3482],[12535.6,1899.54,45.6,241.221,-45.4051],[12436.3,1998.63,45.0167,239.738,-44.4399]]], - [38,3955.24,[[15012.6,-2001.46,64.1167,291.3,-66.5347],[14969.9,-1903.73,63.75,290.355,-66.2509],[14924.9,-1802.14,63.3667,289.359,-65.9498],[14879.5,-1701.13,62.9833,288.354,-65.644],[14833.8,-1600.72,62.6,287.341,-65.3335],[14787.6,-1500.91,62.2167,286.319,-65.0182],[14741.1,-1401.72,61.8333,285.289,-64.6979],[14694.2,-1303.15,61.45,284.25,-64.3727],[14644.8,-1200.96,61.05,283.159,-64.0278],[14597.1,-1103.69,60.6667,282.105,-63.6921],[14546.8,-1002.87,60.2667,280.997,-63.336],[14496.2,-902.77,59.8667,279.882,-62.9741],[14445.1,-803.39,59.4667,278.759,-62.6061],[14391.5,-700.648,59.05,277.581,-62.2163],[14339.5,-602.774,58.65,276.443,-61.8356],[14284.9,-501.621,58.2333,275.25,-61.4324],[14229.8,-401.295,57.8167,274.051,-61.022],[14174.3,-301.807,57.4,272.845,-60.6045],[14118.2,-203.168,56.9833,271.633,-60.1795],[14059.5,-101.495,56.55,270.366,-59.7296],[14000.1,-0.765794,56.1167,269.094,-59.2715],[13940.3,99.0083,55.6833,267.817,-58.8048],[13879.9,197.814,55.25,266.535,-58.3295],[13816.7,299.382,54.8,265.201,-57.8266],[13752.9,399.878,54.35,263.863,-57.314],[13688.5,499.288,53.9,262.522,-56.7914],[13623.5,597.597,53.45,261.179,-56.2587],[13555.5,698.369,52.9833,259.786,-55.6955],[13486.9,797.926,52.5167,258.393,-55.1208],[13415.1,899.74,52.0333,256.951,-54.5135],[13345.2,996.773,51.5667,255.561,-53.9151],[13269.6,1099.33,51.0667,254.076,-53.2606],[13195.8,1197.08,50.5833,252.645,-52.6145],[13118.7,1296.72,50.0833,251.171,-51.932],[13038.3,1398.11,49.5667,249.658,-51.2114],[12957.2,1497.86,49.05,248.155,-50.4749],[12872.5,1599.08,48.5167,246.617,-49.6976],[12787,1698.52,47.9833,245.095,-48.9027],[12698,1799.17,47.4333,243.544,-48.0642],[12608,1897.86,46.8833,242.016,-47.2064],[12514.4,1997.47,46.3167,240.467,-46.302]]], - [39,4102.4,[[14962.3,-2000.17,65.0667,292.346,-67.2284],[14920.7,-1901.58,64.7,291.401,-66.9535],[14878.7,-1803.51,64.3333,290.448,-66.6746],[14834.4,-1701.55,63.95,289.442,-66.3787],[14789.8,-1600.18,63.5667,288.427,-66.0782],[14746.7,-1503.76,63.2,287.448,-65.7863],[14701.3,-1403.56,62.8167,286.415,-65.4765],[14655.6,-1303.96,62.4333,285.374,-65.1618],[14607.4,-1200.7,62.0333,284.278,-64.8282],[14560.9,-1102.37,61.65,283.219,-64.5033],[14511.9,-1000.45,61.25,282.106,-64.1589],[14464.6,-903.433,60.8667,281.031,-63.8234],[14414.8,-802.892,60.4667,279.901,-63.4676],[14364.6,-703.069,60.0667,278.762,-63.1059],[14314,-603.975,59.6667,277.616,-62.7381],[14260.8,-501.536,59.25,276.413,-62.3484],[14209.2,-403.959,58.85,275.251,-61.9678],[14155.1,-303.123,58.4333,274.033,-61.5645],[14100.5,-203.12,58.0167,272.808,-61.154],[14043.2,-100.013,57.5833,271.526,-60.7194],[13987.7,-1.74441,57.1667,270.287,-60.2939],[13929.4,99.5342,56.7333,268.992,-59.8433],[13870.6,199.862,56.3,267.691,-59.3843],[13811.3,299.226,55.8667,266.385,-58.9167],[13751.4,397.614,55.4333,265.074,-58.4403],[13688.7,498.739,54.9833,263.708,-57.9361],[13625.4,598.782,54.5333,262.338,-57.4221],[13561.6,697.73,54.0833,260.965,-56.898],[13494.8,799.17,53.6167,259.539,-56.3437],[13427.4,899.4,53.15,258.112,-55.778],[13359.3,998.404,52.6833,256.684,-55.2008],[13288.2,1099.63,52.2,255.206,-54.5905],[13216.4,1199.51,51.7167,253.73,-53.9674],[13143.9,1298.02,51.2333,252.257,-53.3311],[13068.3,1398.47,50.7333,250.738,-52.6586],[12991.9,1497.41,50.2333,249.226,-51.9716],[12912.2,1598.05,49.7167,247.672,-51.2458],[12831.7,1697.04,49.2,246.128,-50.5038],[12747.8,1797.47,48.6667,244.548,-49.7205],[12660.4,1899.14,48.1167,242.935,-48.8937],[12572.1,1998.87,47.5667,241.341,-48.0475]]], - [40,4249.61,[[14903.4,-2002.08,66.0167,293.431,-67.9113],[14862.8,-1902.63,65.65,292.487,-67.6453],[14821.8,-1803.69,65.2833,291.534,-67.3753],[14778.7,-1700.81,64.9,290.529,-67.0889],[14737,-1602.94,64.5333,289.558,-66.8107],[14693.2,-1501.19,64.15,288.533,-66.5154],[14648.9,-1400.03,63.7667,287.499,-66.2155],[14606.2,-1303.83,63.4,286.501,-65.9243],[14561.2,-1203.85,63.0167,285.449,-65.6152],[14513.9,-1100.18,62.6167,284.341,-65.2873],[14468.2,-1001.46,62.2333,283.27,-64.968],[14422,-903.377,61.85,282.191,-64.6437],[14373.5,-801.71,61.45,281.056,-64.2997],[14324.5,-700.749,61.05,279.911,-63.95],[14275.2,-600.503,60.65,278.758,-63.5944],[14225.4,-500.982,60.25,277.596,-63.2327],[14175.2,-402.195,59.85,276.426,-62.8649],[14122.4,-300.085,59.4333,275.198,-62.4752],[14071.4,-202.828,59.0333,274.012,-62.0945],[14017.7,-102.332,58.6167,272.768,-61.691],[13963.6,-2.67688,58.2,271.516,-61.2803],[13909,96.1269,57.7833,270.257,-60.8622],[13851.7,197.967,57.35,268.941,-60.4194],[13793.9,298.862,56.9167,267.617,-59.9682],[13735.7,398.797,56.4833,266.287,-59.5085],[13676.9,497.761,56.05,264.951,-59.0401],[13615.3,599.488,55.6,263.559,-58.5443],[13555.4,696.432,55.1667,262.213,-58.0576],[13490.4,799.701,54.7,260.759,-57.523],[13427.1,898.157,54.25,259.353,-56.9971],[13360.9,999.076,53.7833,257.893,-56.4407],[13294.1,1098.77,53.3167,256.431,-55.8728],[13226.6,1197.24,52.85,254.968,-55.2931],[13156.2,1297.89,52.3667,253.454,-54.6801],[13085,1397.19,51.8833,251.94,-54.0539],[13010.7,1498.45,51.3833,250.378,-53.392],[12935.7,1598.21,50.8833,248.82,-52.7155],[12857.5,1699.71,50.3667,247.216,-52.0005],[12778.5,1799.56,49.85,245.621,-51.2693],[12698.7,1897.75,49.3333,244.037,-50.5213],[12615.6,1997.34,48.8,242.414,-49.7314]]], - [41,4396.74,[[14834.1,-2002.77,66.95,294.508,-68.5717],[14794.5,-1902.49,66.5833,293.566,-68.3142],[14754.6,-1802.71,66.2167,292.615,-68.0529],[14714.3,-1703.44,65.85,291.654,-67.7878],[14671.9,-1600.2,65.4667,290.64,-67.5064],[14630.9,-1501.99,65.1,289.66,-67.2331],[14589.7,-1404.31,64.7333,288.672,-66.9557],[14546.2,-1302.77,64.35,287.628,-66.6613],[14502.3,-1201.82,63.9667,286.575,-66.3622],[14458.1,-1101.47,63.5833,285.512,-66.0584],[14413.5,-1001.74,63.2,284.44,-65.7498],[14368.6,-902.62,62.8167,283.358,-65.4362],[14323.2,-804.131,62.4333,282.266,-65.1176],[14275.5,-702.038,62.0333,281.118,-64.7798],[14227.4,-600.648,61.6333,279.961,-64.4362],[14180.9,-504.149,61.25,278.842,-64.1015],[14130,-400.011,60.8333,277.617,-63.7315],[14080.6,-300.783,60.4333,276.432,-63.3701],[14030.9,-202.297,60.0333,275.237,-63.0025],[13978.6,-100.505,59.6167,273.984,-62.6128],[13928,-3.56039,59.2167,272.773,-62.2322],[13874.8,96.6036,58.8,271.503,-61.8287],[13819,199.875,58.3667,270.173,-61.4013],[13764.9,298.299,57.95,268.887,-60.9826],[13708.1,399.735,57.5167,267.542,-60.5392],[13653.1,496.371,57.1,266.241,-60.1048],[13593.1,599.733,56.65,264.829,-59.6267],[13534.9,698.269,56.2167,263.463,-59.1574],[13473.8,799.542,55.7667,262.039,-58.6604],[13412.2,899.73,55.3167,260.609,-58.1534],[13350.1,998.818,54.8667,259.174,-57.6363],[13287.4,1096.79,54.4167,257.736,-57.1088],[13221.8,1197.2,53.95,256.241,-56.5505],[13153.2,1299.9,53.4667,254.691,-55.9599],[13086.4,1397.78,53,253.192,-55.3775],[13016.5,1497.83,52.5167,251.64,-54.7614],[12943.6,1599.88,52.0167,250.036,-54.1099],[12872.4,1697.11,51.5333,248.487,-53.4662],[12795.7,1799.48,51.0167,246.836,-52.7626],[12720.6,1896.99,50.5167,245.245,-52.0661],[12639.8,1999.3,49.9833,243.555,-51.3058]]], - [42,4543.64,[[14754.5,-2002.25,67.8667,295.574,-69.2108],[14715.8,-1901.16,67.5,294.635,-68.9616],[14676.9,-1800.57,67.1333,293.686,-68.7086],[14637.6,-1700.47,66.7667,292.727,-68.452],[14598.1,-1600.88,66.4,291.759,-68.1915],[14558.2,-1501.81,66.0333,290.781,-67.9271],[14518,-1403.25,65.6667,289.794,-67.6589],[14475.6,-1300.78,65.2833,288.751,-67.374],[14434.7,-1203.31,64.9167,287.744,-67.0974],[14391.6,-1101.98,64.5333,286.681,-66.8038],[14348.1,-1001.26,64.15,285.609,-66.5054],[14304.3,-901.146,63.7667,284.526,-66.2023],[14260.1,-801.647,63.3833,283.433,-65.8943],[14215.6,-702.773,63,282.33,-65.5814],[14168.7,-600.274,62.6,281.17,-65.2495],[14123.4,-502.701,62.2167,280.048,-64.9261],[14075.7,-401.579,61.8167,278.868,-64.583],[14027.6,-301.174,61.4167,277.678,-64.2341],[13979.2,-201.496,61.0167,276.478,-63.8792],[13930.3,-102.554,60.6167,275.268,-63.5182],[13878.9,-0.284022,60.2,273.999,-63.1355],[13829.2,97.123,59.8,272.771,-62.7615],[13777,197.773,59.3833,271.483,-62.3651],[13724.3,297.58,58.9667,270.186,-61.9614],[13671.1,396.533,58.55,268.881,-61.5503],[13615.4,498.525,58.1167,267.515,-61.1148],[13559.2,599.567,57.6833,266.14,-60.6708],[13502.4,699.647,57.25,264.758,-60.2183],[13445.2,798.751,56.8167,263.368,-59.7571],[13387.5,896.867,56.3833,261.972,-59.2869],[13327,997.697,55.9333,260.515,-58.7889],[13266,1097.43,55.4833,259.053,-58.2808],[13202.2,1199.69,55.0167,257.531,-57.743],[13140.1,1297.15,54.5667,256.059,-57.2136],[13075.1,1397.01,54.1,254.529,-56.6531],[13007.1,1499.13,53.6167,252.941,-56.0601],[12938.6,1599.9,53.1333,251.352,-55.454],[12869.4,1699.3,52.65,249.762,-54.8345],[12799.5,1797.32,52.1667,248.173,-54.2012],[12726.6,1897.23,51.6667,246.531,-53.5314],[12650.6,1998.87,51.15,244.839,-52.8232]]], - [43,4690.22,[[14664.6,-2000.54,68.7667,296.627,-69.8296],[14628.6,-1903.29,68.4167,295.734,-69.5993],[14590.7,-1801.89,68.05,294.789,-69.3546],[14552.4,-1700.98,67.6833,293.834,-69.1064],[14513.9,-1600.56,67.3167,292.869,-68.8544],[14475,-1500.65,66.95,291.893,-68.5987],[14435.8,-1401.25,66.5833,290.908,-68.3391],[14396.2,-1302.36,66.2167,289.913,-68.0757],[14356.4,-1204,65.85,288.907,-67.8083],[14314.4,-1101.73,65.4667,287.846,-67.5244],[14272,-1000.05,65.0833,286.774,-67.2361],[14231.2,-903.356,64.7167,285.739,-66.9559],[14188.2,-802.853,64.3333,284.646,-66.6584],[14144.8,-702.963,63.95,283.543,-66.3561],[14101,-603.694,63.5667,282.43,-66.0489],[14054.9,-500.78,63.1667,281.257,-65.7231],[14010.4,-402.805,62.7833,280.124,-65.4056],[13963.6,-301.26,62.3833,278.931,-65.0688],[13916.4,-200.428,61.9833,277.727,-64.7262],[13868.8,-100.319,61.5833,276.513,-64.3776],[13820.8,-0.943139,61.1833,275.289,-64.023],[13772.3,97.6901,60.7833,274.056,-63.6623],[13721.5,199.633,60.3667,272.76,-63.2798],[13672.2,296.719,59.9667,271.508,-62.906],[13620.5,397.028,59.55,270.193,-62.5096],[13568.3,496.486,59.1333,268.869,-62.1059],[13513.5,599.009,58.7,267.483,-61.6781],[13460.5,696.698,58.2833,266.141,-61.2589],[13404.8,797.355,57.85,264.737,-60.8147],[13348.6,897.042,57.4167,263.325,-60.3618],[13289.7,999.521,56.9667,261.85,-59.8821],[13232.6,1097.19,56.5333,260.422,-59.4109],[13172.7,1197.54,56.0833,258.933,-58.9117],[13112.3,1296.79,55.6333,257.437,-58.4022],[13049,1398.54,55.1667,255.881,-57.8628],[12985.2,1499.06,54.7,254.319,-57.3118],[12920.9,1598.35,54.2333,252.753,-56.7489],[12853.6,1699.86,53.75,251.128,-56.1531],[12788,1796.57,53.2833,249.556,-55.5652],[12717.1,1898.77,52.7833,247.872,-54.9212],[12645.6,1999.47,52.2833,246.188,-54.2623]]], - [44,4836.31,[[14566.2,-2002.36,69.6667,297.707,-70.4396],[14531.2,-1904.38,69.3167,296.819,-70.2168],[14494.2,-1802.2,68.95,295.878,-69.9801],[14456.9,-1700.5,68.5833,294.927,-69.7399],[14421.1,-1603.87,68.2333,294.009,-69.5073],[14383.2,-1503.13,67.8667,293.038,-69.2601],[14345,-1402.88,67.5,292.056,-69.0092],[14306.5,-1303.15,67.1333,291.064,-68.7546],[14267.6,-1203.92,66.7667,290.061,-68.4961],[14226.7,-1100.74,66.3833,289.002,-68.2217],[14187.2,-1002.59,66.0167,287.979,-67.9551],[14145.6,-900.554,65.6333,286.898,-67.6721],[14105.5,-803.505,65.2667,285.854,-67.3972],[14063.2,-702.633,64.8833,284.752,-67.1052],[14020.6,-602.37,64.5,283.639,-66.8085],[13977.6,-502.725,64.1167,282.515,-66.5069],[13934.3,-403.705,63.7333,281.381,-66.2005],[13888.7,-301.056,63.3333,280.186,-65.8753],[13844.6,-203.341,62.95,279.031,-65.5585],[13798.2,-102.072,62.55,277.815,-65.2223],[13751.5,-1.52292,62.15,276.588,-64.8803],[13704.3,98.2977,61.75,275.35,-64.5323],[13656.8,197.379,61.35,274.102,-64.1782],[13606.8,299.793,60.9333,272.791,-63.8027],[13558.5,397.336,60.5333,271.522,-63.4357],[13507.7,498.124,60.1167,270.19,-63.0465],[13456.4,598.066,59.7,268.849,-62.65],[13404.7,697.151,59.2833,267.497,-62.2462],[13350.5,799.277,58.85,266.081,-61.8181],[13298,896.576,58.4333,264.711,-61.3986],[13242.8,996.82,58,263.277,-60.9539],[13185.1,1099.88,57.55,261.778,-60.4828],[13128.9,1198.12,57.1167,260.327,-60.02],[13070.1,1299.07,56.6667,258.812,-59.5296],[13010.8,1398.92,56.2167,257.289,-59.029],[12951,1497.65,55.7667,255.76,-58.5179],[12888.4,1598.85,55.3,254.167,-57.9767],[12825.2,1698.81,54.8333,252.57,-57.4237],[12761.5,1797.53,54.3667,250.967,-56.8585],[12694.9,1898.44,53.8833,249.304,-56.2602],[12627.7,1997.97,53.4,247.638,-55.6482]]], - [45,4981.82,[[14457.7,-2003.16,70.55,298.77,-71.0307],[14423.6,-1904.46,70.2,297.887,-70.8152],[14387.5,-1801.53,69.8333,296.951,-70.5863],[14352.8,-1703.71,69.4833,296.048,-70.3645],[14316.2,-1601.7,69.1167,295.091,-70.1289],[14279.3,-1500.17,68.75,294.124,-69.8898],[14243.8,-1403.72,68.4,293.191,-69.6582],[14206.3,-1303.16,68.0333,292.202,-69.412],[14168.4,-1203.1,67.6667,291.203,-69.1622],[14130.3,-1103.56,67.3,290.194,-68.9086],[14090.1,-1000.04,66.9167,289.127,-68.6393],[14051.4,-901.563,66.55,288.096,-68.3777],[14012.3,-803.616,66.1833,287.054,-68.1121],[13971.1,-701.794,65.8,285.954,-67.8301],[13929.6,-600.57,65.4167,284.842,-67.5435],[13889.5,-504.313,65.05,283.769,-67.265],[13847.3,-404.282,64.6667,282.635,-66.9692],[13802.9,-300.565,64.2667,281.441,-66.6554],[13760,-201.815,63.8833,280.285,-66.3495],[13716.7,-103.704,63.5,279.118,-66.0387],[13671.2,-2.01782,63.1,277.889,-65.7088],[13625.3,98.9525,62.7,276.65,-65.3731],[13579,199.198,62.3,275.398,-65.0316],[13532.3,298.708,61.9,274.136,-64.684],[13485.2,397.473,61.5,272.863,-64.3303],[13435.8,499.549,61.0833,271.526,-63.9551],[13387.9,596.762,60.6833,270.232,-63.5884],[13337.6,697.2,60.2667,268.873,-63.1994],[13286.9,796.784,59.85,267.503,-62.803],[13233.7,899.434,59.4167,266.068,-62.3829],[13182.1,997.242,59,264.678,-61.9711],[13127.9,1098.02,58.5667,263.223,-61.5344],[13073.4,1197.82,58.1333,261.758,-61.0891],[13018.3,1296.64,57.7,260.284,-60.6349],[12960.6,1398.19,57.25,258.744,-60.1535],[12902.4,1498.65,56.8,257.195,-59.662],[12843.7,1598.01,56.35,255.639,-59.1602],[12782.3,1699.85,55.8833,254.017,-58.6286],[12722.5,1796.9,55.4333,252.447,-58.1048],[12657.8,1899.84,54.95,250.754,-57.5299],[12594.7,1997.96,54.4833,249.115,-56.9622]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 92.042; -_maxRange = 14003.2; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/CfgAmmo.hpp b/TO_MERGE/ace/arty_ammunition/120mm/CfgAmmo.hpp deleted file mode 100644 index 75b0f147ad..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/CfgAmmo.hpp +++ /dev/null @@ -1,85 +0,0 @@ -class ace_arty_howitzer_120mm_base : ace_arty_howitzer_base { - whistleDist = 1500; -}; -// DM11A5 Spreng Aufschlagznder DM111A1 -class ace_arty_120mm_dm11a5_dm111a1_pd: ace_arty_howitzer_120mm_base { - hit = 290; - indirectHit = 50; - indirectHitRange = 20; - typicalSpeed = 800; - timeToLive = 500; - explosive = 0.8; - cost = 200; - model = QPATHTO_M(120mm\ace_arty_dm11_shell); - airFriction = -0.0000758; - CraterEffects = "ArtyShellCrater"; - ExplosionEffects = "ArtyShellExplosion"; - muzzleEffect = "BIS_Effects_Cannon"; - caliber = 6; -}; -//DM61 Spreng Annherungsznder PPD324-B3 -class ace_arty_120mm_dm61_ppd_prox: ace_arty_120mm_dm11a5_dm111a1_pd { - CraterEffects = ""; - ExplosionEffects = ""; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m734\fuze_prox.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_120mm_dm11dm61_explosion"; -}; - -class ace_arty_120mm_dm11dm61_explosion : ace_arty_howitzer_120mm_base { - hit = 290; - indirectHit = 50; - indirectHitRange = 20; - explosionTime = 0.0001; - model = QPATHTO_M(120mm\ace_arty_dm11_shell); - CraterEffects = "ArtyShellCrater"; - ExplosionEffects = "ArtyShellExplosion"; -}; - -class ace_arty_120mm_dm26_dm93_time: ace_arty_howitzer_120mm_base { - hit = 5; - indirecthit = 0; - indirecthitrange = 0; - typicalSpeed = 300; - timeToLive = 500; - explosive = 0.01; - cost = 300; - model = QPATHTO_M(120mm\ace_arty_dm26_shell.p3d); - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "GrenadeExplosion"; - caliber = 6; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 500; - ACE_ARTY_BASEEJECT_COMPENSATE = 0; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.25; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m772\fuze_time.sqf"; - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\120mm\eject_illum.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; -class ace_arty_120mm_dm35_dm93_time : ace_arty_howitzer_120mm_base { - hit = 0; - indirecthit = 0; - indirecthitrange = 0; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - model = QPATHTO_M(120mm\ace_arty_dm35_shell.p3d); - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "WPExplosion"; - caliber = 6; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m782\fuze_time.sqf"; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 150; - ACE_ARTY_BASEEJECT_COMPENSATE = 1; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.125; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\120mm\eject_smoke_m84.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; - -class ace_arty_120mm_dm26_dm93_flare: FlareBase { - model="\ca\Weapons\granat"; - lightColor[] = {0.8, 0.8, 0.8, 0}; - deflecting=65; -}; diff --git a/TO_MERGE/ace/arty_ammunition/120mm/CfgMagazines.hpp b/TO_MERGE/ace/arty_ammunition/120mm/CfgMagazines.hpp deleted file mode 100644 index e8ed0d5fca..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/CfgMagazines.hpp +++ /dev/null @@ -1,139 +0,0 @@ -/* -#define __MV_C0 initSpeed = 102 -#define __MV_C1 initSpeed = 168 -#define __MV_C2 initSpeed = 224 -#define __MV_C3 initSpeed = 274 -#define __MV_C4 initSpeed = 322 -*/ -#define __MV_C0 initSpeed = 102 -#define __MV_C1 initSpeed = 168 -#define __MV_C2 initSpeed = 224 -#define __MV_C3 initSpeed = 274 -#define __MV_C4 initSpeed = 346 - -class ace_arty_120mm_default : ace_arty_howitzer_default { - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\120mm\tables\ace_arty_120mm_genericBtab_%1_chg%2.sqf"; // 1 = angle (LA/HA) 2 = chg# - ACE_ARTY_BTABS_KEY = "ace_arty_120mm_genericBtab_%1_chg%2"; - scope = 2; - ACE_Weight = 14.15; -}; - -// DM11A5 Spreng Aufschlagznder DM111A1 -class ace_arty_120mm_dm11a5: ace_arty_120mm_default { - scope = 1; - type = 0; - displayName = "120mm DM 11A5 HE"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_120mm_dm11a5_dm111a1_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_dm11_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd"}; - ACE_ARTY_FUZE_DESC[] = {"Impact Burst"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_120mm_dm11a5_dm111a1_pd"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "HE"; - ACE_Weight = 14.15; -}; -//IMP DM11A5 Spreng Aufschlagznder DM111A1 -class ace_arty_120mm_dm11a5_dm111a1_pd_chg0: ace_arty_howitzer_mag { - displayName = "120mm DM11A5 IMP 0"; - ammo = "ace_arty_120mm_dm11a5_dm111a1_pd"; - __MV_C0; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_120mm_dm11a5"; - ACE_Weight = 14.15; -}; -class ace_arty_120mm_dm11a5_dm111a1_pd_chg1: ace_arty_120mm_dm11a5_dm111a1_pd_chg0 { __MV_C1; displayName = "120mm DM11A5 IMP +1"; }; -class ace_arty_120mm_dm11a5_dm111a1_pd_chg2: ace_arty_120mm_dm11a5_dm111a1_pd_chg0 { __MV_C2; displayName = "120mm DM11A5 IMP +2"; }; -class ace_arty_120mm_dm11a5_dm111a1_pd_chg3: ace_arty_120mm_dm11a5_dm111a1_pd_chg0 { __MV_C3; displayName = "120mm DM11A5 IMP +3"; }; -class ace_arty_120mm_dm11a5_dm111a1_pd_chg4: ace_arty_120mm_dm11a5_dm111a1_pd_chg0 { __MV_C4; displayName = "120mm DM11A5 IMP +4"; }; - -//DM61 Spreng Annherungsznder PPD324-B3 -class ace_arty_120mm_dm61: ace_arty_120mm_default { - scope = 1; - type = 0; - displayName = "120mm DM61 HE"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_120mm_dm61_ppd_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_dm61_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"prox"}; - ACE_ARTY_FUZE_DESC[] = {"Proximity Burst"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_120mm_dm61_ppd_prox"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "HE"; - ACE_Weight = 14.15; -}; - -//PRX DM61 Spreng Annherungsznder PPD324-B3 -class ace_arty_120mm_dm61_ppd_prox_chg0: ace_arty_howitzer_mag { - displayName = "120mm DM61 PRX 0"; - ammo = "ace_arty_120mm_dm61_ppd_prox"; - __MV_C0; - ACE_Weight = 14.15; -}; -class ace_arty_120mm_dm61_ppd_prox_chg1: ace_arty_120mm_dm61_ppd_prox_chg0 { __MV_C1; displayName = "120mm DM61 PRX +1"; }; -class ace_arty_120mm_dm61_ppd_prox_chg2: ace_arty_120mm_dm61_ppd_prox_chg0 { __MV_C2; displayName = "120mm DM61 PRX +2"; }; -class ace_arty_120mm_dm61_ppd_prox_chg3: ace_arty_120mm_dm61_ppd_prox_chg0 { __MV_C3; displayName = "120mm DM61 PRX +3"; }; -class ace_arty_120mm_dm61_ppd_prox_chg4: ace_arty_120mm_dm61_ppd_prox_chg0 { __MV_C4; displayName = "120mm DM61 PRX +4"; }; - -//DM26 Leucht PT Doppelznder DM93 (DM93 == M776) -class ace_arty_120mm_dm26: ace_arty_120mm_default { - scope = 1; - type = 0; - displayName = "120mm DM26 Illumination"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_120mm_dm26_dm93_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_dm26_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_120mm_dm26_dm93_time"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "ILLUM"; - ACE_Weight = 14.15; -}; - -class ace_arty_120mm_dm26_dm93_time_chg0: ace_arty_howitzer_mag { - displayName = "120mm DM26 DM93 TIME 0"; - ammo = "ace_arty_120mm_dm26_dm93_time"; - __MV_C0; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_120mm_m853a1"; - ACE_Weight = 14.15; -}; -class ace_arty_120mm_dm26_dm93_time_chg1: ace_arty_120mm_dm26_dm93_time_chg0 { __MV_C1; displayName = "120mm DM26 TIME +1"; }; -class ace_arty_120mm_dm26_dm93_time_chg2: ace_arty_120mm_dm26_dm93_time_chg0 { __MV_C2; displayName = "120mm DM26 TIME +2"; }; -class ace_arty_120mm_dm26_dm93_time_chg3: ace_arty_120mm_dm26_dm93_time_chg0 { __MV_C3; displayName = "120mm DM26 TIME +3"; }; -class ace_arty_120mm_dm26_dm93_time_chg4: ace_arty_120mm_dm26_dm93_time_chg0 { __MV_C4; displayName = "120mm DM26 TIME +4"; }; - -// DM35 Nebel HC Doppelznder DM93 -class ace_arty_120mm_dm35: ace_arty_120mm_default { - scope = 1; - type = 0; - displayName = "120mm DM35 HC"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_120mm_dm35_dm93_%1_chg%2"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_dm35_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_120mm_dm35_dm93_time"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "SMOKE"; - ACE_Weight = 14.15; -}; - -class ace_arty_120mm_dm35_dm93_time_chg0: ace_arty_howitzer_mag { - displayName = "120mm DM35 DM93 TIME 0"; - ammo = "ace_arty_120mm_dm35_dm93_time"; - __MV_C0; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_120mm_dm35"; - ACE_Weight = 14.15; -}; -class ace_arty_120mm_dm35_dm93_time_chg1: ace_arty_120mm_dm35_dm93_time_chg0 { __MV_C1; displayName = "120mm DM35 TIME +1"; }; -class ace_arty_120mm_dm35_dm93_time_chg2: ace_arty_120mm_dm35_dm93_time_chg0 { __MV_C2; displayName = "120mm DM35 TIME +2"; }; -class ace_arty_120mm_dm35_dm93_time_chg3: ace_arty_120mm_dm35_dm93_time_chg0 { __MV_C3; displayName = "120mm DM35 TIME +3"; }; -class ace_arty_120mm_dm35_dm93_time_chg4: ace_arty_120mm_dm35_dm93_time_chg0 { __MV_C4; displayName = "120mm DM35 TIME +4"; }; diff --git a/TO_MERGE/ace/arty_ammunition/120mm/CfgVehicles.hpp b/TO_MERGE/ace/arty_ammunition/120mm/CfgVehicles.hpp deleted file mode 100644 index 0ecab8e6d0..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/CfgVehicles.hpp +++ /dev/null @@ -1,110 +0,0 @@ -/* -DM11 Spreng Aufschlagznder DM111 -DM11A1 Spreng Aufschlagznder DM111A1 -DM11A2 Spreng Aufschlagznder DM111A1 -DM11A3 Spreng Aufschlagznder DM111A1 -DM11A4 Spreng Aufschlagznder DM111A1 oder DM111A2 -*DM11A5 Spreng Aufschlagznder DM111A1 oder DM111A2 -DM51 Spreng Annherungsznder NVT224A1 -DM51A1 Spreng Annherungsznder NVT224A1 -DM61 Spreng Annherungsznder PPD324-B3 -DM81 Spreng Aufschlagznder DM111A5 -DM25A1 Nebel Aufschlagznder DM111A1 oder DM111A2 -DM25A2 Nebel Aufschlagznder DM111A3 -DM35 Nebel HC Doppelznder DM93 -DM16 Leucht PT Doppelznder DM93 -DM26 Leucht PT Doppelznder DM93 -DM18 bung Doppelznder DM111 -DM18A1 bung Doppelznder DM111A1 -DM18A2 bung Doppelznder DM111A1 -DM18A3 bung Doppelznder DM111A1 -DM18A4 bung Doppelznder DM111A1 oder DM111A2 -DM28 bung Doppelznder DM111A1 oder DM111A3 -DM18 bung Doppelznder DM93 - - -M929 120mm Smoke WP -0: 101 m/s (102) -1: 165 m/s (168) -2: 220 m/s (224) -3: 270 m/s (274) -4: 318 m/s (322) - -multioption type (PRX/NSB/IMP/DLY) -PRX PROXIMITY BURST -NSB NEAR SURFACE BURST -IMP IMPACT BURST -DLY DELAY BURST (1/2 sec) - -*/ -// DM11A5 Spreng Aufschlagznder DM111A1 -class ace_arty_dm11_cartridge: ACE_Arty_ShellHolder { // HE - scope = 1; - icon = QPATHTO_C(120mm\data\icon_120mm_ca.paa); - mapSize = 0; // iconsize on map... small object such as a tree is 0.7 - displayName = "DM 11A5 HE Cartridge"; - vehicleClass = "Objects"; - nameSound = "obj_object"; - picture = "pictureThing"; - class Library {libTextDesc = "";}; - descriptionShort = ""; - destrType = "DestructTree"; - weight = 1000; - simulation = "house"; - type = 1; - model = QPATHTO_M(120mm\ace_arty_dm11_cartridge.p3d); - animated = 1; - reversed = 0; - class EventHandlers { - killed = "_this call ace_sys_arty_ammunition_fnc_onShellDestroyed"; - }; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_120mm_dm11a5"; - ACE_Weight = 4.5; - class AnimationSources { - class hide_inc1 { - source = "user"; - initPhase = 1; - animPeriod = 0.1; - }; - class hide_inc2: hide_inc1 {}; - class hide_inc3: hide_inc1 {}; - class hide_inc4: hide_inc1 {}; - class hide_inc5: hide_inc1 {}; - class hide_inc6: hide_inc1 {}; - class hide_inc7: hide_inc1 {}; - class hide_inc8: hide_inc1 {}; - class hide_inc9: hide_inc1 {}; - class hide_inc10: hide_inc1 {}; - }; -}; - -//DM61 Spreng Annherungsznder PPD324-B3 -class ace_arty_dm61_cartridge : ace_arty_dm11_cartridge { // ILLUM - displayName = "DM 61 HE Cartridge"; - model = QPATHTO_M(120mm\ace_arty_dm61_cartridge.p3d); - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_120mm_dm61"; - ACE_Weight = 4.1; -}; - -//DM26 Leucht PT Doppelznder DM93 -class ace_arty_dm26_cartridge : ace_arty_dm11_cartridge { // ILLUM - displayName = "DM 26 Illum Cartridge"; - model = QPATHTO_M(120mm\ace_arty_dm26_cartridge.p3d); - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_120mm_dm26"; - ACE_Weight = 4.1; -}; - -// DM35 Nebel HC Doppelznder DM93 -class ace_arty_dm35_cartridge : ace_arty_dm11_cartridge { // SMOKE (WP) - displayName = "DM 35 Smoke Cartridge"; - model = QPATHTO_M(120mm\ace_arty_dm35_cartridge.p3d); - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_120mm_dm35"; - ACE_Weight = 4.24; -}; - -class ace_arty_120mm_dm26_dm93_parachute : ACE_HuntIR { - class EventHandlers { - EXTENDED_EVENTHANDLERS - }; - SLX_XEH_DISABLED = 0; -}; diff --git a/TO_MERGE/ace/arty_ammunition/120mm/XEH_illum_init.sqf b/TO_MERGE/ace/arty_ammunition/120mm/XEH_illum_init.sqf deleted file mode 100644 index cea0e827cb..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/XEH_illum_init.sqf +++ /dev/null @@ -1,71 +0,0 @@ -//XEH_illum_init.sqf -#define MAX_ILL 2.1 - -private["_flareChute", "_pos", "_light", "_sm", "_sp"]; - -_flareChute = _this select 0; -_pos = getPos (_flareChute); - -_light = "#lightpoint" createVehicleLocal _pos; -_light setPos _pos; -_light setLightBrightness MAX_ILL; -_light setLightAmbient[238/255, 233/255, 183/255]; -_light setLightColor[241/255, 226/255, 62/255]; -_light lightAttachObject [_flareChute, [0,0,-0.8]]; - -_sm = "#particlesource" createVehicleLocal getPos (_flareChute); -_sm setParticleRandom [0.5, [0, 0, 0], [0, 0, 0], 0, 0.3, [0, 0, 0, 0], 0, 0, 360]; -_sm setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 30, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.3,4], - [[0.9,0.9,0.9,0.6], [1,1,1,0.3], [1,1,1,0]],[1],0.1,0.1,"","",_light]; -_sm setDropInterval 0.02; - -_sp = "#particlesource" createVehicleLocal getPos (_flareChute); -_sp setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -_sp setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -_sp setDropInterval 0.001; - -// _sp2 = "#particlesource" createVehicleLocal getPos (_flareChute); -// _sp2 setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -// _sp2 setParticleParams ["\ca\Data\Flare12", - // "", "Billboard", 1, 0.1, [0, 0, 0], - // [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - // [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -// _sp2 setDropInterval 0.001; - - -//_flareChute setVectorDir _chuteVel; - -[_flareChute, _light, _sp, _sm] spawn { - private["_shell", "_light", "_sp", "_sm", "_start", "_b", "_s"]; - _shell = _this select 0; - _light = _this select 1; - _sp = _this select 2; - _sm = _this select 3; - - - _start = time; - _b = MAX_ILL; - _s = 0; - waitUntil { - if((_start + 50) < time) then { - _b = (_b - random (0.1)) max 0; - _light setLightBrightness _b; - }; - if((_start + 60) < time) then { - deleteVehicle _light; - deleteVehicle _sp; -// deleteVehicle _sp2; - deleteVehicle _sm; - }; - sleep 0.1; - (!alive _shell && (_start + 60) < time); - }; - deleteVehicle _light; - deleteVehicle _sp; - deleteVehicle _sm; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm11_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm11_cartridge.p3d deleted file mode 100644 index ae125b36c1..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm11_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm11_shell.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm11_shell.p3d deleted file mode 100644 index e23bc6c9ee..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm11_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm26_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm26_cartridge.p3d deleted file mode 100644 index 9bf1396f23..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm26_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm26_shell.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm26_shell.p3d deleted file mode 100644 index abc87c3df1..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm26_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm35_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm35_cartridge.p3d deleted file mode 100644 index 6f3d0e76e2..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm35_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm35_shell.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm35_shell.p3d deleted file mode 100644 index 9b000e98b1..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm35_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm61_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm61_cartridge.p3d deleted file mode 100644 index 9c8109a666..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm61_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm61_shell.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm61_shell.p3d deleted file mode 100644 index 15c292131e..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_arty_dm61_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm11.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm11.p3d deleted file mode 100644 index 6401134986..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm11.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm26.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm26.p3d deleted file mode 100644 index 3ca536adf3..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm26.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm35.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm35.p3d deleted file mode 100644 index 65e5217e2f..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm35.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm61.p3d b/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm61.p3d deleted file mode 100644 index 23a54cd1db..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/ace_box_dm61.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1.rvmat b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1.rvmat deleted file mode 100644 index 00e9288553..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1.rvmat +++ /dev/null @@ -1,91 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -//specular[]={1,1,1,1.000000}; -specular[] = {0.273158,0.3,0.27,1}; -//specularPower=40.000000; -specularPower = 100; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 { - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_120mm_1_2_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 { - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform { - aside[]={20.0000,0.000000,0.000000}; - up[]={0.000000,20.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 { - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_120mm_1_2_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture = "#(ai,32,128,1)fresnel(0.45,0.35)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_co.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_co.paa deleted file mode 100644 index 456c9836e9..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_nohq.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_nohq.paa deleted file mode 100644 index b66443b888..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_smdi.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_smdi.paa deleted file mode 100644 index 56e62da192..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_1_2_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2.rvmat b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2.rvmat deleted file mode 100644 index e12e04ab3f..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2.rvmat +++ /dev/null @@ -1,91 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -//specular[]={1,1,1,1.000000}; -specular[] = {0.273158,0.3,0.27,1}; -//specularPower=40.000000; -specularPower = 100; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 { - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_120mm_2_2_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 { - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform { - aside[]={20.0000,0.000000,0.000000}; - up[]={0.000000,20.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 { - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_120mm_2_2_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture = "#(ai,32,128,1)fresnel(0.45,0.35)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_co.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_co.paa deleted file mode 100644 index 799adddb33..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_nohq.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_nohq.paa deleted file mode 100644 index 95cb3a56de..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_smdi.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_smdi.paa deleted file mode 100644 index 5b91baf7cc..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_120mm_2_2_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box.rvmat b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box.rvmat deleted file mode 100644 index aef2f59143..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box.rvmat +++ /dev/null @@ -1,98 +0,0 @@ -class StageTI -{ - texture="ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; -ambient[] = {1.0,1.0,1.0,1.0}; -diffuse[] = {1.0,1.0,1.0,1.0}; -forcedDiffuse[] = {0.0,0.0,0.0,0.0}; -emmisive[] = {0.0,0.0,0.0,1.0}; -specular[] = {1.0,1.0,1.0,1.0}; -specularPower = 3.0; -PixelShaderID = "Super"; -VertexShaderID = "Super"; -class Stage1 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm11_box_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="CA\Data\detail_maps\wood_512_dt.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={6,0,0}; - up[]={0,6,0}; - dir[]={0,-1,-1}; - pos[]={0,0,0}; - }; -}; - -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm11_box_smdi.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture = "#(ai,32,128,1)fresnel(1.23,0.01)"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -class Stage7 -{ - texture = "ca\data\env_land_co.paa"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; - diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_co.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_co.paa deleted file mode 100644 index 73cfe3f3b5..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_nohq.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_nohq.paa deleted file mode 100644 index ee69f14f12..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_smdi.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_smdi.paa deleted file mode 100644 index 747cb48cc4..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm11_box_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box.rvmat b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box.rvmat deleted file mode 100644 index 9727bc908e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box.rvmat +++ /dev/null @@ -1,98 +0,0 @@ -class StageTI -{ - texture="ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; -ambient[] = {1.0,1.0,1.0,1.0}; -diffuse[] = {1.0,1.0,1.0,1.0}; -forcedDiffuse[] = {0.0,0.0,0.0,0.0}; -emmisive[] = {0.0,0.0,0.0,1.0}; -specular[] = {1.0,1.0,1.0,1.0}; -specularPower = 3.0; -PixelShaderID = "Super"; -VertexShaderID = "Super"; -class Stage1 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm26_box_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="CA\Data\detail_maps\wood_512_dt.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={6,0,0}; - up[]={0,6,0}; - dir[]={0,-1,-1}; - pos[]={0,0,0}; - }; -}; - -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm26_box_smdi.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture = "#(ai,32,128,1)fresnel(1.23,0.01)"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -class Stage7 -{ - texture = "ca\data\env_land_co.paa"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; - diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_co.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_co.paa deleted file mode 100644 index e901c43906..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_nohq.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_nohq.paa deleted file mode 100644 index 35c3ec8624..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_smdi.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_smdi.paa deleted file mode 100644 index dec3c9f877..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm26_box_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box.rvmat b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box.rvmat deleted file mode 100644 index bfd570c6ef..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box.rvmat +++ /dev/null @@ -1,98 +0,0 @@ -class StageTI -{ - texture="ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; -ambient[] = {1.0,1.0,1.0,1.0}; -diffuse[] = {1.0,1.0,1.0,1.0}; -forcedDiffuse[] = {0.0,0.0,0.0,0.0}; -emmisive[] = {0.0,0.0,0.0,1.0}; -specular[] = {1.0,1.0,1.0,1.0}; -specularPower = 3.0; -PixelShaderID = "Super"; -VertexShaderID = "Super"; -class Stage1 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm35_box_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="CA\Data\detail_maps\wood_512_dt.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={6,0,0}; - up[]={0,6,0}; - dir[]={0,-1,-1}; - pos[]={0,0,0}; - }; -}; - -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm35_box_smdi.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture = "#(ai,32,128,1)fresnel(1.23,0.01)"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -class Stage7 -{ - texture = "ca\data\env_land_co.paa"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; - diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_co.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_co.paa deleted file mode 100644 index 36ce813e11..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_nohq.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_nohq.paa deleted file mode 100644 index 856478a650..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_smdi.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_smdi.paa deleted file mode 100644 index 2c6268d465..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm35_box_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box.rvmat b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box.rvmat deleted file mode 100644 index ec7973794b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box.rvmat +++ /dev/null @@ -1,98 +0,0 @@ -class StageTI -{ - texture="ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; -ambient[] = {1.0,1.0,1.0,1.0}; -diffuse[] = {1.0,1.0,1.0,1.0}; -forcedDiffuse[] = {0.0,0.0,0.0,0.0}; -emmisive[] = {0.0,0.0,0.0,1.0}; -specular[] = {1.0,1.0,1.0,1.0}; -specularPower = 3.0; -PixelShaderID = "Super"; -VertexShaderID = "Super"; -class Stage1 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm61_box_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="CA\Data\detail_maps\wood_512_dt.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={6,0,0}; - up[]={0,6,0}; - dir[]={0,-1,-1}; - pos[]={0,0,0}; - }; -}; - -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\120mm\data\ace_dm61_box_smdi.paa"; - uvSource="tex1"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture = "#(ai,32,128,1)fresnel(1.23,0.01)"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; -class Stage7 -{ - texture = "ca\data\env_land_co.paa"; - uvSource = "tex"; - class uvTransform - { - aside[] = {1.0,0.0,0.0}; - up[] = {0.0,1.0,0.0}; - dir[] = {0.0,0.0,0.0}; - pos[] = {0.0,0.0,0.0}; - }; -}; - diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_co.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_co.paa deleted file mode 100644 index 9ed0677e7d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_nohq.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_nohq.paa deleted file mode 100644 index acf331189b..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_smdi.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_smdi.paa deleted file mode 100644 index c22471653a..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_dm61_box_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_explo_ca.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/ace_explo_ca.paa deleted file mode 100644 index 6cc34e10b4..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/ace_explo_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm11_ca.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm11_ca.paa deleted file mode 100644 index 71654ae36d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm11_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm26_ca.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm26_ca.paa deleted file mode 100644 index b644ac30d1..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm26_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm35_ca.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm35_ca.paa deleted file mode 100644 index 61c2812317..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm35_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm61_ca.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm61_ca.paa deleted file mode 100644 index 49483a8ec2..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/icomap_dm61_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/data/icon_120mm_ca.paa b/TO_MERGE/ace/arty_ammunition/120mm/data/icon_120mm_ca.paa deleted file mode 100644 index 61f7f6022d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/120mm/data/icon_120mm_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/120mm/eject_illum.sqf b/TO_MERGE/ace/arty_ammunition/120mm/eject_illum.sqf deleted file mode 100644 index f0e90c87d1..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/eject_illum.sqf +++ /dev/null @@ -1,15 +0,0 @@ -//eject_illum.sqf -private["_shell", "_velocity", "_pos", "_flareChute", "_chuteVel"]; - -_shell = _this select 6; - -_velocity = velocity _shell; - -_pos = getPos _shell; - -_flareChute = "ace_arty_120mm_dm26_dm93_parachute" createVehicle _pos; -_flareChute setPos _pos; -_chuteVel = [_velocity,0.25] call ACE_fnc_vectorMultiply; -_flareChute setVelocity _chuteVel; - -false diff --git a/TO_MERGE/ace/arty_ammunition/120mm/eject_smoke_m84.sqf b/TO_MERGE/ace/arty_ammunition/120mm/eject_smoke_m84.sqf deleted file mode 100644 index aba44fca05..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/eject_smoke_m84.sqf +++ /dev/null @@ -1,78 +0,0 @@ -//eject_dpicm.sqf -#define PRNG(number) (random (number)) -#define SMOKE_SPREAD 40 - -private["_roundSettings", "_roundData", "_seed", "_seedSeq", "_velocity", "_gVel", "_rv", "_pos"]; -private["_p", "_vP", "_vH", "_vA", "_sMin", "_sMax", "_az", "_el", "_g", "_grenades", "_v"]; - -_shell = _this select 6; - -_roundSettings = []; -_roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; // ERRRRROORR: _fireEHParams is not defined !!!!!! -{ - if((_x select 0) == _shell) exitWith { - _roundSettings = _x; - }; -} forEach _roundData; - -_seed = 101; -if((count _roundSettings) > 0) then { - _seed = _roundSettings select 3; -}; - -_seedSeq = _seed call ace_sys_arty_fnc_randomSequence; - -_velocity = velocity _shell; -_pos = getPos _shell; -_p = [0,0,0]; -if (!((_velocity select 0) == 0 && {(_velocity select 1) == 0} && {(_velocity select 2) == 0})) then { // velocity not 0 - _gVel = [_velocity,0.125] call ACE_fnc_vectorMultiply; - _p = (_gVel call CBA_fnc_vect2Polar); -}; -//setAccTime 0.25; -_vP = (abs(_p select 2)/90); -_vH = ((abs(_p select 2)/45) min 1); -_vA = 360*_vH*_vP; -_vA = (SMOKE_SPREAD + _vA) mod 360; - -_sMin = ((_vA)/2)*-1; -_sMax = (_vA); -////player sideChat format["p: %4 va: %1 vP: %2 vH: %3", _sMax, _vP, _vH, (_p select 2)]; -_grenades = []; -for "_i" from 1 to 3 do { - _az = (_p select 1); - - _az = _az + (_sMin + (PRNG(_sMax))); - - if(_az < 0) then { - _az = _az + 360; - } else { - if(_az >= 360) then { - _az = _az - 360; - }; - }; - - _el = (_p select 2); - - _el = _el + (-20*1.5 + (PRNG(40))); - - if(_el > 90) then { - _el = abs(_el - 180); - _az = (_az + 180) mod 360; - }; - - if(_el < -90) then { - _el = (_el + 180)*-1; - _az = (_az + 180) mod 360; - }; - - _v = [(_p select 0) + (-5 + (PRNG(10))), _az, _el] call CBA_fnc_polar2vect; - - _g = "ace_arty_105mm_m84a1_m782_smokeCanisterHC" createVehicle [((_pos select 0) + PRNG(0.5)), ((_pos select 1) + PRNG(0.5)), ((_pos select 2) + PRNG(0.5))]; - //_g setVelocity _v; - _grenades set[(count _grenades), [_g, _v]]; -}; - -["ace_arty_ammo_105mmSmokeEvent", [_grenades]] call CBA_fnc_globalEvent; - -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/120mm/model.cfg b/TO_MERGE/ace/arty_ammunition/120mm/model.cfg deleted file mode 100644 index fb54f37f4f..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/model.cfg +++ /dev/null @@ -1,59 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - - class ace_mortar_shell: Default { - isDiscrete = 1; - skeletonInherit = "Default"; - skeletonBones[] = { - "inc1","", - "inc2","", - "inc3","", - "inc4","", - "inc5","", - "inc6","", - "inc7","", - "inc8","", - "inc9","", - "inc10","" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - skeletonName = ""; - }; - class ace_arty_dm11_cartridge: Default { - skeletonName="ace_mortar_shell"; - sections[]= {}; - class animations { - #define HIDE_INC(x) class hide_inc##x { \ - type = "hide"; \ - source = "user"; \ - selection = inc##x; \ - minValue = 0; \ - maxValue = 1; \ - hideValue = 1; \ - }; - HIDE_INC(1); - HIDE_INC(2); - HIDE_INC(3); - HIDE_INC(4); - HIDE_INC(5); - HIDE_INC(6); - HIDE_INC(7); - HIDE_INC(8); - HIDE_INC(9); - HIDE_INC(10); - }; - }; - class ace_arty_dm26_cartridge: ace_arty_dm11_cartridge {}; - class ace_arty_dm35_cartridge: ace_arty_dm11_cartridge {}; - class ace_arty_dm61_cartridge: ace_arty_dm11_cartridge {}; -}; diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg0.sqf deleted file mode 100644 index d14996c8d6..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg0.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_120mm_dm11a5_dm111a1_pd_chg0 -// Ammo: ace_arty_120mm_dm11a5_dm111a1_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,256.159,[[1914.92,-2002.79,29.3667,200.3,-73.8057],[1885.01,-1901.16,28.8333,196.876,-73.3795],[1854.86,-1801.51,28.3,193.409,-72.9345],[1823.52,-1700.87,27.75,189.79,-72.4547],[1791.94,-1602.4,27.2,186.126,-71.9522],[1758.17,-1500.38,26.6167,182.195,-71.3926],[1724.12,-1400.89,26.0333,178.218,-70.8034],[1688.82,-1301.23,25.4333,174.083,-70.164],[1652.25,-1201.67,24.8167,169.788,-69.4686],[1614.39,-1102.49,24.1833,165.334,-68.7107],[1574.21,-1001.51,23.5167,160.601,-67.8603],[1532.68,-901.684,22.8333,155.71,-66.9271],[1488.77,-801.065,22.1167,150.542,-65.8744],[1442.43,-700.298,21.3667,145.103,-64.6822],[1393.62,-600.076,20.5833,139.399,-63.326],[1342.3,-501.137,19.7667,133.442,-61.7755],[1286.32,-400.594,18.8833,127.011,-59.919],[1225.57,-300.084,17.9333,120.139,-57.6814],[1159.98,-201.403,16.9167,112.885,-54.9627],[1085.1,-101.017,15.7667,104.885,-51.4067],[998.517,-0.957532,14.45,96.1404,-46.5768],[891.077,99.8345,12.8333,86.339,-39.2849],[738.534,199.499,10.5667,75.3877,-26.0008],[506.016,256.158,7.16667,69.0085,-0.0103475]]], - [46,264.999,[[1892.46,-2003.21,29.5333,200.386,-74.1047],[1863.07,-1901.38,29,196.956,-73.6863],[1833.45,-1801.53,28.4667,193.483,-73.2495],[1802.66,-1700.67,27.9167,189.855,-72.7784],[1771.63,-1602,27.3667,186.184,-72.285],[1739.4,-1502.64,26.8,182.356,-71.7516],[1705,-1400.03,26.2,178.255,-71.1569],[1670.32,-1300.13,25.6,174.108,-70.529],[1634.39,-1200.33,24.9833,169.8,-69.846],[1597.2,-1100.89,24.35,165.331,-69.1013],[1558.71,-1002.13,23.7,160.701,-68.2873],[1517.92,-901.935,23.0167,155.792,-67.3717],[1474.79,-800.924,22.3,150.603,-66.3386],[1430.28,-701.94,21.5667,145.261,-65.1954],[1382.35,-601.171,20.7833,139.529,-63.8663],[1331.95,-501.657,19.9667,133.539,-62.346],[1276.96,-400.486,19.0833,127.066,-60.5248],[1218.35,-301,18.15,120.263,-58.3692],[1153.94,-201.43,17.1333,112.943,-55.7036],[1080.41,-100.03,15.9833,104.853,-52.2125],[997.556,-1.16286,14.7,96.2001,-47.5921],[894.265,99.7163,13.1167,86.3751,-40.5907],[750.085,199.954,10.9333,75.3104,-28.0391],[506.194,264.997,7.3,67.7678,-0.101048]]], - [47,273.826,[[1868.13,-2000.87,29.6833,200.382,-74.3966],[1840.18,-1902.04,29.1667,197.052,-73.9987],[1811.09,-1801.99,28.6333,193.572,-73.5702],[1780.86,-1700.91,28.0833,189.937,-73.1082],[1750.39,-1602.01,27.5333,186.257,-72.6241],[1718.75,-1502.43,26.9667,182.42,-72.1008],[1685.92,-1402.4,26.3833,178.424,-71.5339],[1651.88,-1302.18,25.7833,174.267,-70.9186],[1616.61,-1202.04,25.1667,169.947,-70.2494],[1580.09,-1102.26,24.5333,165.465,-69.5197],[1541.34,-1000.63,23.8667,160.7,-68.7006],[1501.29,-900.147,23.1833,155.772,-67.8016],[1459.93,-801.137,22.4833,150.684,-66.8113],[1416.24,-701.734,21.75,145.318,-65.6901],[1369.18,-600.515,20.9667,139.557,-64.3861],[1319.71,-500.526,20.15,133.534,-62.894],[1266.75,-400.693,19.2833,127.143,-61.141],[1209.23,-300.519,18.35,120.29,-59.027],[1146.01,-200.193,17.3333,112.906,-56.4106],[1075.94,-100.724,16.2167,104.963,-53.0863],[994.636,-0.491882,14.9333,96.1831,-48.5568],[896.499,99.2096,13.4,86.4574,-41.9114],[760.502,199.737,11.3,75.3258,-30.0966],[504.778,273.825,7.41667,66.5141,-0.0728469]]], - [48,282.629,[[1843.76,-2002.21,29.85,200.499,-74.7065],[1815.44,-1900.01,29.3167,197.056,-74.3037],[1787.8,-1802.9,28.8,193.677,-73.8966],[1758.14,-1701.6,28.25,190.035,-73.4437],[1728.24,-1602.48,27.7,186.348,-72.9693],[1697.19,-1502.65,27.1333,182.502,-72.4562],[1664.98,-1402.37,26.55,178.496,-71.9004],[1631.57,-1301.9,25.95,174.327,-71.2972],[1596.97,-1201.49,25.3333,169.995,-70.6409],[1561.14,-1101.43,24.7,165.499,-69.9252],[1524.07,-1002.02,24.05,160.838,-69.1426],[1484.78,-901.141,23.3667,155.893,-68.262],[1444.2,-801.722,22.6667,150.785,-67.292],[1401.34,-701.888,21.9333,145.396,-66.1933],[1355.18,-600.203,21.15,139.607,-64.9152],[1307.63,-501.718,20.35,133.675,-63.4834],[1255.69,-401.236,19.4833,127.244,-61.7671],[1199.26,-300.355,18.55,120.342,-59.6961],[1138.27,-200.835,17.55,113.015,-57.1754],[1069.55,-100.338,16.4333,104.987,-53.919],[990.851,-0.130643,15.1667,96.1983,-49.5366],[896.718,99.2807,13.6667,86.4856,-43.1665],[768.708,199.49,11.65,75.3568,-32.0629],[502.918,282.628,7.53333,65.2425,-0.0626778]]], - [49,291.398,[[1817.57,-2000.82,30,200.526,-75.0095],[1790.67,-1901.63,29.4833,197.185,-74.6272],[1762.68,-1801.2,28.95,193.69,-74.2154],[1734.48,-1702.77,28.4167,190.151,-73.785],[1704.27,-1600.43,27.85,186.343,-73.3059],[1673.82,-1500.42,27.2833,182.487,-72.8027],[1643.13,-1402.79,26.7167,178.586,-72.2734],[1610.37,-1302.05,26.1167,174.407,-71.6825],[1576.44,-1201.37,25.5,170.062,-71.0395],[1541.31,-1101.02,24.8667,165.552,-70.3382],[1504.96,-1001.31,24.2167,160.876,-69.5713],[1466.43,-900.117,23.5333,155.913,-68.7081],[1426.64,-800.372,22.8333,150.784,-67.757],[1384.61,-700.194,22.1,145.372,-66.6795],[1340.31,-600.257,21.3333,139.68,-65.4535],[1293.7,-501.277,20.5333,133.716,-64.0509],[1242.78,-400.253,19.6667,127.246,-62.3688],[1188.45,-300.53,18.75,120.419,-60.3761],[1128.66,-200.226,17.75,113.03,-57.9072],[1062.31,-100.274,16.65,105.039,-54.7651],[986.194,-0.100545,15.4,96.2472,-50.5311],[894.973,99.9775,13.9167,86.4536,-44.3598],[774.752,199.299,11.9833,75.3917,-33.9404],[500.607,291.396,7.65,63.9528,-0.0719349]]], - [50,300.122,[[1791.3,-2003.17,30.1667,200.677,-75.33],[1764.09,-1900.58,29.6333,197.222,-74.9436],[1737.52,-1803.08,29.1167,193.83,-74.553],[1709.01,-1701.37,28.5667,190.173,-74.1184],[1680.28,-1601.82,28.0167,186.469,-73.6631],[1650.44,-1501.56,27.45,182.605,-73.1707],[1619.48,-1400.83,26.8667,178.579,-72.6371],[1588.28,-1302.65,26.2833,174.505,-72.0744],[1555.03,-1201.68,25.6667,170.149,-71.445],[1520.6,-1101.04,25.0333,165.625,-70.7585],[1484.98,-1001.02,24.3833,160.934,-70.0075],[1448.15,-901.929,23.7167,156.075,-69.1836],[1409.17,-801.75,23.0167,150.928,-68.2537],[1368,-701.113,22.2833,145.494,-67.2],[1324.6,-600.69,21.5167,139.775,-66.0006],[1278.93,-501.2,20.7167,133.78,-64.6281],[1230,-401.51,19.8667,127.396,-63.0147],[1176.79,-301.057,18.95,120.522,-61.0667],[1119.2,-201.561,17.9667,113.196,-58.6942],[1054.21,-100.551,16.8667,105.122,-55.6237],[980.657,-0.41954,15.6333,96.3313,-51.5393],[893.339,99.2842,14.1833,86.5706,-45.6461],[777.669,199.978,12.2833,75.3311,-35.631],[507.235,299.981,7.91667,62.621,-1.44755],[497.842,300.12,7.76667,62.6457,-0.10195]]], - [51,308.79,[[1763.23,-2002.81,30.3167,200.738,-75.6438],[1736.58,-1900.04,29.7833,197.276,-75.2656],[1710.56,-1802.37,29.2667,193.878,-74.8833],[1682.65,-1700.47,28.7167,190.213,-74.4579],[1654.51,-1600.73,28.1667,186.501,-74.0121],[1625.28,-1500.28,27.6,182.628,-73.53],[1595.83,-1402.19,27.0333,178.707,-73.0228],[1564.4,-1300.96,26.4333,174.506,-72.4564],[1532.72,-1202.46,25.8333,170.256,-71.8572],[1499.01,-1101.51,25.2,165.719,-71.1858],[1464.13,-1001.17,24.55,161.013,-70.4512],[1428.07,-901.744,23.8833,156.138,-69.6452],[1389.91,-801.214,23.1833,150.971,-68.7353],[1349.59,-700.204,22.45,145.514,-67.704],[1308.02,-601.528,21.7,139.894,-66.5563],[1263.31,-501.511,20.9,133.868,-65.2147],[1215.41,-401.257,20.05,127.448,-63.6368],[1163.31,-300.189,19.1333,120.527,-61.7306],[1106.93,-200.028,18.15,113.144,-59.4069],[1045.24,-101.191,17.0833,105.238,-56.4944],[974.231,-1.11121,15.8667,96.4524,-52.5605],[889.765,99.218,14.4333,86.6262,-46.8713],[780.572,199.394,12.6,75.4297,-37.4407],[575.108,299.979,9.2,62.3241,-12.0747],[493.597,308.79,7.86667,61.3258,-0.00187349]]], - [52,317.394,[[1734.24,-2002.99,30.4667,200.817,-75.9629],[1708.16,-1900.03,29.9333,197.348,-75.5931],[1682.7,-1802.18,29.4167,193.944,-75.2192],[1655.38,-1700.08,28.8667,190.271,-74.8032],[1627.84,-1600.14,28.3167,186.551,-74.3672],[1600.09,-1502.41,27.7667,182.784,-73.9098],[1570.42,-1401.18,27.1833,178.739,-73.3995],[1540.52,-1302.51,26.6,174.644,-72.8612],[1508.66,-1201.01,25.9833,170.264,-72.259],[1476.54,-1102.44,25.3667,165.834,-71.6198],[1442.42,-1001.76,24.7167,161.114,-70.9021],[1407.14,-901.998,24.05,156.223,-70.1143],[1369.79,-801.102,23.35,151.037,-69.2249],[1331.25,-701.962,22.6333,145.683,-68.2404],[1289.67,-600.632,21.8667,139.912,-67.0942],[1245.93,-500.186,21.0667,133.856,-65.7816],[1199.98,-401.387,20.2333,127.526,-64.2689],[1149.94,-301.47,19.3333,120.686,-62.4416],[1094.8,-200.478,18.35,113.244,-60.1738],[1034.46,-100.731,17.2833,105.263,-57.3282],[965.955,-0.89684,16.0833,96.4921,-53.5359],[884.311,99.8268,14.6667,86.615,-48.039],[780.459,199.819,12.8833,75.4137,-39.0703],[602.418,299.749,9.86667,62.2686,-17.2525],[489.937,317.393,7.98333,59.9842,-0.0753117]]], - [53,325.922,[[1703.54,-2000.47,30.6,200.805,-76.2761],[1678.83,-1900.57,30.0833,197.439,-75.9259],[1653.93,-1802.52,29.5667,194.028,-75.5606],[1627.22,-1700.22,29.0167,190.349,-75.1541],[1600.29,-1600.07,28.4667,186.621,-74.7282],[1573.15,-1502.13,27.9167,182.845,-74.2812],[1544.15,-1400.68,27.3333,178.791,-73.7825],[1514.91,-1301.78,26.75,174.686,-73.2564],[1483.75,-1200.03,26.1333,170.294,-72.6679],[1452.34,-1101.22,25.5167,165.851,-72.043],[1418.98,-1000.29,24.8667,161.115,-71.3413],[1384.48,-900.253,24.2,156.207,-70.5709],[1348.83,-801.437,23.5167,151.126,-69.7224],[1311.15,-701.905,22.8,145.751,-68.7609],[1270.5,-600.153,22.0333,139.955,-67.6412],[1228.63,-501.309,21.25,133.996,-66.3864],[1183.72,-401.923,20.4167,127.63,-64.9106],[1134.81,-301.366,19.5167,120.747,-63.1268],[1081.82,-201.321,18.55,113.375,-60.9514],[1022.84,-100.641,17.4833,105.32,-58.1749],[956.822,-1.05778,16.3,96.5684,-54.5252],[878.921,98.9578,14.9167,86.7608,-49.2939],[779.359,199.757,13.1667,75.462,-40.7187],[618.987,299.849,10.3833,62.2157,-21.1551],[484.835,325.921,8.08333,58.6302,-0.0151399]]], - [54,334.364,[[1672.72,-2001.77,30.75,200.92,-76.6057],[1648.58,-1901.67,30.2333,197.548,-76.2639],[1623.46,-1800.29,29.7,194.021,-75.8957],[1598.15,-1700.91,29.1667,190.446,-75.5107],[1571.84,-1600.55,28.6167,186.711,-75.095],[1545.33,-1502.38,28.0667,182.927,-74.6587],[1516.99,-1400.7,27.4833,178.863,-74.1719],[1488.42,-1301.56,26.9,174.748,-73.6583],[1458.81,-1202.28,26.3,170.464,-73.0996],[1427.3,-1100.49,25.6667,165.889,-72.4734],[1395.54,-1001.84,25.0333,161.261,-71.8062],[1361.84,-901.435,24.3667,156.337,-71.0551],[1327.02,-802.235,23.6833,151.24,-70.2275],[1289.35,-700.024,22.95,145.717,-69.2669],[1250.5,-600.109,22.2,140.023,-68.197],[1209.6,-500.814,21.4167,134.035,-66.9723],[1165.73,-400.944,20.5833,127.635,-65.5311],[1118.84,-301.667,19.7,120.837,-63.8223],[1067.09,-200.907,18.7333,113.411,-61.6999],[1010.39,-100.939,17.6833,105.411,-59.0339],[945.914,-0.285423,16.5,96.5597,-55.4726],[870.758,99.879,15.1333,86.7224,-50.4234],[777.263,199.185,13.45,75.5772,-42.383],[630.165,299.912,10.8333,62.1952,-24.5179],[480.267,334.361,8.2,57.2557,-0.139283]]], - [55,342.71,[[1640.22,-2000.4,30.8833,200.945,-76.9296],[1616.65,-1900.16,30.3667,197.567,-76.596],[1592.9,-1801.76,29.85,194.143,-76.248],[1568.19,-1702.16,29.3167,190.563,-75.8727],[1542.51,-1601.57,28.7667,186.82,-75.4673],[1515.84,-1500.23,28.2,182.914,-75.0288],[1488.96,-1401.25,27.6333,178.957,-74.5673],[1461.08,-1301.86,27.05,174.832,-74.0664],[1432.17,-1202.33,26.45,170.538,-73.5216],[1401.41,-1100.27,25.8167,165.95,-72.9108],[1370.41,-1001.34,25.1833,161.308,-72.26],[1337.51,-900.639,24.5167,156.368,-71.5271],[1303.52,-801.135,23.8333,151.252,-70.7195],[1267.59,-700.877,23.1167,145.835,-69.804],[1229.68,-600.518,22.3667,140.117,-68.7614],[1189.76,-500.755,21.5833,134.102,-67.5674],[1146.94,-400.384,20.75,127.667,-66.1619],[1101.17,-300.57,19.8667,120.828,-64.4945],[1051.54,-200.896,18.9167,113.478,-62.4599],[996.205,-100.122,17.8667,105.409,-59.8598],[935.07,-1.23781,16.7167,96.712,-56.4882],[862.645,99.2815,15.3667,86.8446,-51.6375],[772.346,199.833,13.7,75.5487,-43.8818],[638.063,299.618,11.25,62.2457,-27.625],[474.299,342.708,8.3,55.869,-0.126338]]], - [56,350.951,[[1607.57,-2002.89,31.0333,201.097,-77.269],[1584.59,-1902.43,30.5167,197.715,-76.9442],[1560.68,-1800.67,29.9833,194.175,-76.5942],[1536.57,-1700.9,29.45,190.587,-76.2282],[1511.53,-1600.15,28.9,186.837,-75.8328],[1486.28,-1501.58,28.35,183.037,-75.4179],[1460.07,-1402.35,27.7833,179.072,-74.9685],[1432.87,-1302.71,27.2,174.938,-74.4807],[1403.89,-1200.17,26.5833,170.513,-73.9347],[1374.68,-1100.55,25.9667,166.033,-73.3549],[1344.45,-1001.34,25.3333,161.379,-72.7208],[1312.36,-900.333,24.6667,156.423,-72.0065],[1279.22,-800.513,23.9833,151.29,-71.2194],[1244.99,-702.211,23.2833,145.979,-70.3485],[1208.02,-601.394,22.5333,140.238,-69.3337],[1169.1,-501.149,21.75,134.195,-68.1713],[1127.34,-400.259,20.9167,127.728,-66.8024],[1083.56,-301.721,20.05,120.978,-65.2101],[1035.17,-201.304,19.1,113.577,-63.2307],[982.085,-101.236,18.0667,105.569,-60.7421],[922.488,-1.26173,16.9167,96.779,-57.4627],[852.76,99.397,15.5833,86.8941,-52.799],[767.396,199.13,13.9667,75.6877,-45.4871],[641.915,299.766,11.6167,62.2451,-30.3509],[467.906,350.949,8.4,54.4664,-0.138091]]], - [57,359.075,[[1573.29,-2002.74,31.1667,201.161,-77.603],[1550.89,-1902.12,30.65,197.773,-77.2866],[1527.59,-1800.18,30.1167,194.227,-76.9457],[1504.11,-1700.24,29.5833,190.632,-76.5892],[1480.44,-1602.33,29.05,186.989,-76.2161],[1455.09,-1500.56,28.4833,183.066,-75.8],[1429.55,-1401.14,27.9167,179.092,-75.3622],[1403.05,-1301.3,27.3333,174.948,-74.8868],[1375.57,-1201.29,26.7333,170.632,-74.3697],[1347.11,-1101.39,26.1167,166.141,-73.8055],[1317.66,-1001.87,25.4833,161.474,-73.1884],[1286.4,-900.546,24.8167,156.503,-72.4933],[1254.1,-800.395,24.1333,151.353,-71.7271],[1220.75,-701.752,23.4333,146.023,-70.8792],[1184.73,-600.565,22.6833,140.259,-69.891],[1147.62,-502.018,21.9167,134.318,-68.7838],[1106.95,-400.591,21.0833,127.819,-67.4524],[1064.3,-301.49,20.2167,121.03,-65.903],[1017.16,-200.451,19.2667,113.579,-63.9757],[966.278,-101.248,18.25,105.636,-61.5923],[908.229,-0.332061,17.1,96.7583,-58.3995],[842.018,99.0855,15.8,86.9893,-53.9753],[759.75,199.752,14.2,75.6685,-46.936],[643.669,299.586,11.9667,62.3032,-32.9671],[460.203,359.075,8.48333,53.0516,-0.000486065]]], - [58,367.077,[[1538.14,-2003.21,31.3,201.243,-77.9419],[1516.33,-1902.42,30.7833,197.85,-77.6342],[1493.65,-1800.3,30.25,194.298,-77.3025],[1470.79,-1700.18,29.7167,190.697,-76.9558],[1447.75,-1602.09,29.1833,187.047,-76.5927],[1423.07,-1500.11,28.6167,183.117,-76.1879],[1398.21,-1400.5,28.05,179.134,-75.7619],[1372.41,-1300.45,27.4667,174.98,-75.2994],[1345.66,-1200.23,26.8667,170.653,-74.7961],[1317.96,-1100.1,26.25,166.15,-74.2469],[1289.28,-1000.36,25.6167,161.469,-73.6462],[1259.61,-901.284,24.9667,156.609,-72.987],[1228.18,-800.789,24.2833,151.442,-72.2422],[1195.72,-701.79,23.5833,146.093,-71.4178],[1160.66,-600.219,22.8333,140.307,-70.4567],[1124.54,-501.275,22.0667,134.34,-69.3797],[1085.74,-401.392,21.25,127.94,-68.1113],[1044.24,-301.709,20.3833,121.113,-66.6059],[998.363,-200.026,19.4333,113.614,-64.7322],[948.851,-100.128,18.4167,105.609,-62.4129],[894.003,-1.19754,17.3,96.9043,-59.4001],[829.584,99.5245,16,87.0072,-55.1033],[751.218,199.927,14.4333,75.7061,-48.4041],[642.539,299.778,12.2833,62.3142,-35.351],[452.981,367.076,8.58333,51.618,-0.0638634]]], - [59,374.942,[[1501.43,-2001.05,31.4167,201.238,-78.2761],[1480.22,-1900.13,30.9,197.839,-77.9768],[1458.85,-1801.05,30.3833,194.392,-77.6645],[1436.61,-1700.74,29.85,190.785,-77.3276],[1414.21,-1602.45,29.3167,187.128,-76.9749],[1390.22,-1500.27,28.75,183.19,-76.5816],[1366.04,-1400.45,28.1833,179.199,-76.1676],[1340.95,-1300.18,27.6,175.037,-75.7181],[1315.67,-1202.49,27.0167,170.82,-75.243],[1288.73,-1102.05,26.4,166.307,-74.7101],[1260.85,-1001.98,25.7667,161.615,-74.1272],[1231.26,-900.065,25.1,156.615,-73.4703],[1201.44,-801.717,24.4333,151.558,-72.7644],[1169.13,-700.031,23.7167,146.063,-71.9441],[1135.8,-600.377,22.9833,140.383,-71.0307],[1100.68,-501.02,22.2167,134.392,-69.9845],[1062.96,-400.693,21.4,127.961,-68.752],[1022.61,-300.536,20.5333,121.097,-67.2885],[978.791,-200.052,19.6,113.683,-65.4996],[931.451,-101.011,18.6,105.75,-63.2864],[878.139,-1.11531,17.4833,96.9623,-60.3638],[816.33,99.5341,16.2,87.0703,-56.2468],[741.794,199.631,14.6667,75.8025,-49.8892],[639.482,299.895,12.5833,62.3426,-37.6345],[445.33,374.939,8.68333,50.1697,-0.159507]]], - [60,382.663,[[1464.55,-2002.83,31.55,201.362,-78.6246],[1443.95,-1901.72,31.0333,197.958,-78.3342],[1423.19,-1802.45,30.5167,194.507,-78.0313],[1401.6,-1701.94,29.9833,190.894,-77.7044],[1379.15,-1600.4,29.4333,187.116,-77.3513],[1356.53,-1501.05,28.8833,183.287,-76.9806],[1333.05,-1401.01,28.3167,179.288,-76.579],[1308.68,-1300.51,27.7333,175.116,-76.1428],[1284.12,-1202.59,27.15,170.891,-75.6817],[1257.96,-1101.9,26.5333,166.367,-75.1646],[1230.88,-1001.58,25.9,161.661,-74.5987],[1202.86,-901.906,25.25,156.774,-73.9775],[1173.18,-800.774,24.5667,151.575,-73.2755],[1142.53,-701.116,23.8667,146.19,-72.4982],[1110.16,-601.056,23.1333,140.489,-71.6126],[1076.05,-501.27,22.3667,134.474,-70.5979],[1039.42,-400.482,21.55,128.013,-69.4022],[1000.99,-301.704,20.7,121.246,-68.0106],[958.44,-200.547,19.7667,113.787,-66.2774],[912.472,-100.777,18.7667,105.796,-64.1313],[860.706,-0.0597649,17.65,96.9298,-61.2937],[802.254,99.0957,16.4,87.1805,-57.4043],[730.685,199.832,14.8833,75.8397,-51.3115],[635.364,299.343,12.8833,62.4757,-39.9358],[436.44,382.661,8.76667,48.7096,-0.098314]]], - [61,390.23,[[1426.17,-2002,31.6667,201.398,-78.9686],[1406.18,-1900.74,31.15,197.989,-78.687],[1386.04,-1801.33,30.6333,194.531,-78.3931],[1365.09,-1700.67,30.1,190.912,-78.076],[1343.97,-1602.03,29.5667,187.242,-77.744],[1322.03,-1502.46,29.0167,183.406,-77.3849],[1299.24,-1402.19,28.45,179.4,-76.9958],[1275.6,-1301.45,27.8667,175.221,-76.5732],[1251.1,-1200.52,27.2667,170.864,-76.1132],[1226.4,-1102.35,26.6667,166.452,-75.6252],[1200.13,-1001.75,26.0333,161.735,-75.0768],[1172.95,-901.805,25.3833,156.833,-74.4747],[1144.15,-800.38,24.7,151.619,-73.7941],[1114.42,-700.419,24,146.216,-73.0403],[1083.02,-600.038,23.2667,140.495,-72.1814],[1050.65,-502.039,22.5167,134.586,-71.2194],[1015.12,-400.772,21.7,128.097,-70.0613],[977.841,-301.491,20.85,121.296,-68.713],[937.311,-201.525,19.9333,113.927,-67.0647],[892.73,-101.003,18.9333,105.88,-64.9876],[843.277,-0.870971,17.8333,97.0698,-62.283],[786.595,99.4338,16.5833,87.2094,-58.5182],[718.725,199.566,15.1,75.9345,-52.7504],[628.629,299.5,13.15,62.5067,-42.025],[427.168,390.229,8.85,47.2351,-0.0641946]]], - [62,397.636,[[1386.97,-2001.84,31.7833,201.455,-79.3174],[1367.6,-1900.44,31.2667,198.041,-79.0446],[1348.09,-1800.88,30.75,194.577,-78.7599],[1327.78,-1700.06,30.2167,190.952,-78.4528],[1307.32,-1601.27,29.6833,187.276,-78.1312],[1286.06,-1501.53,29.1333,183.432,-77.7834],[1263.98,-1401.08,28.5667,179.418,-77.4064],[1241.07,-1300.17,27.9833,175.23,-76.9969],[1217.98,-1201.83,27.4,170.985,-76.5639],[1193.39,-1100.7,26.7833,166.439,-76.0783],[1168.6,-1002.52,26.1667,161.835,-75.5611],[1142.27,-902.282,25.5167,156.921,-74.9785],[1114.37,-800.55,24.8333,151.691,-74.3198],[1085.56,-700.271,24.1333,146.271,-73.5901],[1055.83,-601.794,23.4167,140.661,-72.7782],[1023.78,-501.209,22.65,134.598,-71.8268],[990.061,-401.579,21.85,128.214,-70.7288],[953.949,-301.776,21,121.38,-69.4248],[914.687,-201.242,20.0833,113.969,-67.8298],[871.501,-100.096,19.0833,105.868,-65.8182],[824.325,-0.715429,18,97.1193,-63.2392],[770.157,99.3205,16.7667,87.285,-59.6466],[705.168,199.839,15.3,75.964,-54.1314],[620.168,299.792,13.4,62.5203,-44.0253],[417.517,397.635,8.93333,45.7464,-0.0600616]]], - [63,404.869,[[1346.96,-2002.39,31.9,201.534,-79.6707],[1328.22,-1900.83,31.3833,198.115,-79.4069],[1309.33,-1801.11,30.8667,194.646,-79.1317],[1289.69,-1700.13,30.3333,191.015,-78.8347],[1269.89,-1601.17,29.8,187.333,-78.5237],[1249.31,-1501.25,29.25,183.483,-78.1873],[1227.94,-1400.63,28.6833,179.461,-77.8227],[1206.41,-1302.38,28.1167,175.384,-77.4382],[1183.44,-1201,27.5167,171.01,-77.0077],[1160.28,-1102.36,26.9167,166.577,-76.551],[1135.65,-1001.28,26.2833,161.837,-76.0375],[1110.17,-900.824,25.6333,156.909,-75.4736],[1083.83,-801.304,24.9667,151.793,-74.8522],[1055.96,-700.694,24.2667,146.356,-74.1472],[1027.2,-601.873,23.55,140.728,-73.3624],[996.183,-500.917,22.7833,134.642,-72.4427],[963.562,-400.897,21.9833,128.231,-71.3809],[928.623,-300.676,21.1333,121.364,-70.1192],[891.331,-201.457,20.2333,114.048,-68.6051],[850.253,-101.285,19.25,106.03,-66.696],[804.621,-1.03142,18.1667,97.2115,-64.2076],[752.938,98.7363,16.95,87.4091,-60.7882],[690.801,199.642,15.5,76.0506,-55.5292],[610.774,299.525,13.65,62.6194,-46.046],[450.919,399.984,10,45.151,-12.401],[407.486,404.868,9.01667,44.2442,-0.0894189]]], - [64,411.923,[[1305.57,-2000.34,32,201.525,-80.0204],[1288.04,-1901.93,31.5,198.211,-79.7738],[1269.79,-1802.04,30.9833,194.738,-79.5081],[1250.81,-1700.88,30.45,191.102,-79.2214],[1231.68,-1601.74,29.9167,187.414,-78.9212],[1211.79,-1501.64,29.3667,183.557,-78.5964],[1191.15,-1400.82,28.8,179.529,-78.2444],[1170.35,-1302.39,28.2333,175.444,-77.8732],[1148.15,-1200.79,27.6333,171.061,-77.4575],[1125.77,-1101.95,27.0333,166.618,-77.0164],[1101.97,-1000.65,26.4,161.866,-76.5205],[1077.99,-902.501,25.7667,157.053,-75.9903],[1051.9,-800.203,25.0833,151.795,-75.3755],[1025.62,-701.696,24.4,146.472,-74.711],[997.181,-600.26,23.6667,140.693,-73.9357],[967.869,-501.173,22.9167,134.719,-73.0666],[936.354,-400.745,22.1167,128.282,-72.0419],[902.601,-300.087,21.2667,121.383,-70.8237],[866.573,-200.401,20.3667,114.028,-69.3609],[827.564,-101.349,19.4,106.097,-67.5488],[783.486,-0.360696,18.3167,97.211,-65.1467],[734.251,98.9534,17.1167,87.4484,-61.8908],[675.622,198.959,15.7,76.1959,-56.9412],[599.743,299.455,13.8833,62.69,-47.9811],[463.134,399.855,10.65,45.1723,-19.7673],[397.075,411.921,9.1,42.7285,-0.155927]]], - [65,418.789,[[1263.98,-2002.33,32.1167,201.648,-80.3825],[1246.51,-1900.49,31.6,198.219,-80.1368],[1228.9,-1800.48,31.0833,194.74,-79.8805],[1211.16,-1702.33,30.5667,191.212,-79.6127],[1192.7,-1603.01,30.0333,187.519,-79.3235],[1173.52,-1502.72,29.4833,183.657,-79.0105],[1153.61,-1401.69,28.9167,179.622,-78.6712],[1132.95,-1300.19,28.3333,175.409,-78.3027],[1112.12,-1201.24,27.75,171.138,-77.9129],[1090.54,-1102.18,27.15,166.686,-77.4877],[1067.58,-1000.64,26.5167,161.924,-77.0097],[1044.44,-902.255,25.8833,157.099,-76.4985],[1019.89,-802.156,25.2167,151.956,-75.9207],[993.918,-700.932,24.5167,146.488,-75.265],[967.113,-601.477,23.8,140.823,-74.5348],[938.841,-501.995,23.05,134.828,-73.698],[908.444,-401.141,22.25,128.367,-72.7111],[875.888,-300.026,21.4,121.437,-71.5374],[841.784,-201.642,20.5167,114.183,-70.1552],[803.512,-100.272,19.5333,106.066,-68.3793],[761.654,-0.169363,18.4667,97.2533,-66.0986],[714.17,99.9947,17.2667,87.4002,-62.9583],[658.296,199.933,15.8667,76.1386,-58.2356],[587.148,299.635,14.1,62.7238,-49.8365],[465.693,399.971,11.1167,45.1751,-24.9961],[385.599,418.788,9.16667,41.2019,-0.0369308]]], - [66,425.457,[[1221.06,-2001.74,32.2167,201.683,-80.7412],[1204.78,-1903.03,31.7167,198.361,-80.5124],[1187.82,-1802.84,31.2,194.879,-80.2659],[1170.18,-1701.37,30.6667,191.232,-79.9999],[1152.4,-1601.91,30.1333,187.533,-79.7213],[1133.93,-1501.48,29.5833,183.664,-79.4199],[1114.75,-1400.31,29.0167,179.621,-79.0931],[1095.42,-1301.53,28.45,175.521,-78.7486],[1075.36,-1202.35,27.8667,171.243,-78.3736],[1054,-1100.34,27.25,166.658,-77.953],[1032.47,-1001.27,26.6333,162.011,-77.5048],[1009.6,-900.086,25.9833,157.047,-76.9997],[986.548,-802.274,25.3333,152.019,-76.4572],[961.532,-700.768,24.6333,146.536,-75.8261],[935.718,-601.023,23.9167,140.853,-75.1233],[908.491,-501.233,23.1667,134.838,-74.3177],[879.218,-400.049,22.3667,128.351,-73.3672],[848.482,-300.51,21.5333,121.529,-72.2599],[815.645,-201.627,20.65,114.239,-70.9307],[779.42,-101.351,19.6833,106.214,-69.2529],[739.121,-0.473296,18.6167,97.34,-67.0622],[694.042,99.2584,17.4333,87.5365,-64.0884],[640.897,199.354,16.05,76.2693,-59.6115],[573.71,299.29,14.3167,62.836,-51.7109],[464.041,399.85,11.5167,45.2417,-29.4945],[374.459,425.455,9.25,39.6607,-0.183593]]], - [67,431.921,[[1177.4,-2001.9,32.3167,201.742,-81.1041],[1161.75,-1903.06,31.8167,198.416,-80.8842],[1145.45,-1802.73,31.3,194.929,-80.6474],[1128.49,-1701.12,30.7667,191.277,-80.3918],[1111.4,-1601.51,30.2333,187.572,-80.124],[1093.64,-1500.94,29.6833,183.697,-79.8344],[1075.74,-1402.56,29.1333,179.767,-79.5298],[1056.61,-1300.68,28.55,175.539,-79.1891],[1037.33,-1201.34,27.9667,171.253,-78.8287],[1017.35,-1101.88,27.3667,166.783,-78.4356],[996.654,-1002.56,26.75,162.126,-78.0054],[974.669,-901.102,26.1,157.152,-77.5206],[951.943,-800.547,25.4333,151.982,-76.9859],[928.467,-701.214,24.75,146.615,-76.3938],[903.654,-601.163,24.0333,140.916,-75.7189],[877.482,-501.049,23.2833,134.881,-74.9452],[849.933,-401.577,22.5,128.508,-74.052],[820.393,-301.552,21.6667,121.658,-72.9902],[788.234,-200.339,20.7667,114.196,-71.6894],[754.017,-101.298,19.8167,106.266,-70.1048],[715.892,-1.28772,18.7667,97.4721,-68.0362],[672.572,99.3408,17.5833,87.5854,-65.1839],[622.117,199.382,16.2167,76.3247,-60.9396],[558.803,299.246,14.5167,62.9026,-53.5104],[459.114,399.678,11.8667,45.3272,-33.469],[362.308,431.919,9.31667,38.1089,-0.136885]]], - [68,438.171,[[1133.02,-2002.82,32.4167,201.824,-81.471],[1117.5,-1900.57,31.9,198.382,-81.2531],[1101.86,-1800.16,31.3833,194.889,-81.0257],[1086.09,-1701.6,30.8667,191.346,-80.7881],[1069.69,-1601.85,30.3333,187.636,-80.5315],[1052.65,-1501.11,29.7833,183.755,-80.2537],[1035.48,-1402.58,29.2333,179.819,-79.9617],[1017.13,-1300.52,28.65,175.585,-79.635],[998.631,-1201.01,28.0667,171.29,-79.2894],[979.458,-1101.37,27.4667,166.811,-78.9123],[959.601,-1001.86,26.85,162.145,-78.4997],[938.507,-900.208,26.2,157.159,-78.0346],[917.25,-801.924,25.55,152.107,-77.5349],[894.729,-702.287,24.8667,146.727,-76.9678],[870.926,-601.914,24.15,141.012,-76.3213],[845.819,-501.46,23.4,134.959,-75.58],[819.391,-401.629,22.6167,128.564,-74.724],[791.053,-301.219,21.7833,121.688,-73.7061],[760.777,-201.404,20.9,114.331,-72.4832],[727.378,-100.1,19.9333,106.219,-70.9377],[691.387,-1.10982,18.9,97.5103,-68.9848],[650.423,98.9256,17.7333,87.6845,-66.2919],[602.625,198.919,16.3833,76.4381,-62.2819],[542.505,299.545,14.7,62.9167,-55.2416],[451.142,399.833,12.1667,45.3489,-36.9493],[349.834,438.17,9.38333,36.5452,-0.12891]]], - [69,444.201,[[1087.45,-2001.19,32.5,201.819,-81.8352],[1073.06,-1902.12,32,198.484,-81.6334],[1058.09,-1801.55,31.4833,194.988,-81.416],[1042.99,-1702.84,30.9667,191.441,-81.1888],[1027.3,-1602.92,30.4333,187.726,-80.9433],[1010.98,-1502.01,29.8833,183.84,-80.6776],[994.042,-1400.35,29.3167,179.778,-80.3896],[976.971,-1301.07,28.75,175.658,-80.0858],[959.262,-1201.38,28.1667,171.356,-79.7552],[940.908,-1101.54,27.5667,166.869,-79.3945],[921.898,-1001.84,26.95,162.194,-78.9998],[902.223,-902.54,26.3167,157.326,-78.5665],[881.352,-801.473,25.65,152.133,-78.0765],[859.792,-701.611,24.9667,146.739,-77.5337],[837.004,-600.998,24.25,141.009,-76.9148],[812.968,-500.292,23.5,134.937,-76.205],[787.666,-400.196,22.7167,128.52,-75.3851],[761.081,-301.456,21.9,121.755,-74.4304],[732.1,-201.209,21.0167,114.367,-73.2608],[700.684,-101.112,20.0667,106.356,-71.8094],[666.238,-1.45123,19.0333,97.5943,-69.9444],[627.031,99.3481,17.8667,87.6939,-67.3696],[581.851,199.092,16.5333,76.4723,-63.5817],[525.461,299.345,14.8833,63.0041,-56.9922],[441.509,399.65,12.45,45.4438,-40.2892],[337.04,444.199,9.45,34.9699,-0.165386]]], - [70,450.003,[[1041.21,-2000.33,32.5833,201.837,-82.2037],[1027.47,-1901.16,32.0833,198.498,-82.0109],[1013.16,-1800.49,31.5667,194.998,-81.8032],[998.742,-1701.67,31.05,191.446,-81.5862],[983.746,-1601.65,30.5167,187.726,-81.3517],[968.162,-1500.63,29.9667,183.833,-81.0979],[952.458,-1401.81,29.4167,179.885,-80.831],[936.154,-1302.33,28.85,175.759,-80.5413],[919.242,-1202.45,28.2667,171.451,-80.2259],[901.712,-1102.41,27.6667,166.957,-79.8817],[883.557,-1002.49,27.05,162.273,-79.5051],[864.27,-900.4,26.4,157.267,-79.0804],[844.833,-801.676,25.75,152.192,-78.6241],[824.242,-701.573,25.0667,146.785,-78.1061],[802.478,-600.705,24.35,141.04,-77.5154],[780.034,-501.922,23.6167,135.086,-76.8534],[755.873,-401.431,22.8333,128.65,-76.0722],[729.967,-300.313,22,121.723,-75.1425],[702.813,-201.576,21.1333,114.444,-74.0471],[672.813,-100.986,20.1833,106.395,-72.6626],[639.919,-0.785199,19.15,97.583,-70.8821],[603.017,99.2682,18,87.7536,-68.46],[559.878,199.926,16.6667,76.4237,-64.8437],[507.128,299.529,15.05,63.0324,-58.6802],[429.741,399.735,12.7,45.4838,-43.3377],[323.928,450.001,9.51667,33.3834,-0.25262]]], - [71,455.571,[[994.313,-2000.27,32.6667,201.88,-82.576],[981.222,-1900.99,32.1667,198.538,-82.3925],[967.591,-1800.21,31.65,195.033,-82.1946],[953.856,-1701.27,31.1333,191.476,-81.9879],[939.569,-1601.13,30.6,187.751,-81.7646],[925.173,-1503.02,30.0667,183.973,-81.5304],[909.76,-1401.04,29.5,179.899,-81.2687],[894.227,-1301.44,28.9333,175.766,-80.9926],[878.115,-1201.42,28.35,171.451,-80.6921],[861.414,-1101.24,27.75,166.949,-80.3643],[844.116,-1001.18,27.1333,162.256,-80.0054],[826.214,-901.513,26.5,157.368,-79.6114],[807.224,-800.054,25.8333,152.152,-79.1657],[788.086,-702.188,25.1667,146.865,-78.6845],[767.355,-601.049,24.45,141.106,-78.1223],[745.976,-501.987,23.7167,135.137,-77.4923],[722.962,-401.194,22.9333,128.68,-76.7486],[698.78,-301.723,22.1167,121.869,-75.8821],[672.419,-200.676,21.2333,114.422,-74.8198],[644.345,-101.414,20.3,106.478,-73.5249],[613.017,-0.647305,19.2667,97.6181,-71.8311],[578.381,98.6691,18.1333,87.8652,-69.5616],[537.815,199.109,16.8167,76.5739,-66.1721],[488.104,299.213,15.2167,63.1333,-60.3857],[416.519,399.695,12.9333,45.5495,-46.2622],[309.972,455.57,9.56667,31.7871,-0.104383]]], - [72,460.896,[[946.779,-2001,32.75,201.947,-82.952],[934.343,-1901.61,32.25,198.602,-82.7778],[921.395,-1800.7,31.7333,195.093,-82.59],[908.347,-1701.65,31.2167,191.533,-82.3937],[894.776,-1601.37,30.6833,187.804,-82.1817],[880.672,-1500.1,30.1333,183.901,-81.9523],[866.459,-1401.02,29.5833,179.941,-81.7109],[851.704,-1301.27,29.0167,175.802,-81.4487],[836.398,-1201.11,28.4333,171.48,-81.1634],[820.533,-1100.78,27.8333,166.97,-80.8521],[804.101,-1000.56,27.2167,162.269,-80.5113],[787.095,-900.73,26.5833,157.372,-80.137],[769.508,-801.596,25.9333,152.276,-79.7246],[750.876,-701.059,25.25,146.846,-79.2564],[731.642,-602.04,24.55,141.207,-78.7351],[710.873,-500.476,23.8,135.086,-78.1233],[689.478,-401.57,23.0333,128.749,-77.4321],[666.511,-301.762,22.2167,121.916,-76.6098],[641.473,-200.349,21.3333,114.441,-75.6014],[614.809,-100.696,20.4,106.463,-74.3716],[585.535,-1.04869,19.3833,97.7008,-72.79],[552.643,98.9227,18.25,87.8853,-70.6371],[514.607,198.951,16.95,76.6416,-67.4629],[467.897,299.316,15.3667,63.1693,-62.0346],[401.921,399.596,13.15,45.6267,-49.0677],[296.259,460.894,9.63333,30.1797,-0.304032]]], - [73,465.973,[[898.616,-2002.56,32.8333,202.039,-83.3315],[886.842,-1903.04,32.3333,198.691,-83.1667],[874.582,-1802,31.8167,195.18,-82.989],[862.227,-1702.81,31.3,191.616,-82.8034],[849.377,-1602.4,30.7667,187.883,-82.6028],[836.023,-1500.98,30.2167,183.976,-82.3857],[822.565,-1401.75,29.6667,180.012,-82.1573],[808.594,-1301.86,29.1,175.868,-81.9093],[794.101,-1201.53,28.5167,171.54,-81.6393],[779.08,-1101.04,27.9167,167.023,-81.3447],[763.521,-1000.65,27.3,162.314,-81.0222],[747.419,-900.645,26.6667,157.409,-80.6681],[730.766,-801.329,26.0167,152.303,-80.2777],[713.123,-700.599,25.3333,146.861,-79.8345],[694.911,-601.38,24.6333,141.21,-79.341],[675.685,-501.811,23.9,135.21,-78.7751],[654.988,-400.472,23.1167,128.717,-78.1069],[633.241,-300.426,22.3,121.863,-77.3278],[609.982,-200.609,21.4333,114.503,-76.3911],[584.739,-100.541,20.5,106.492,-75.2277],[557.024,-0.439718,19.4833,97.6873,-73.7307],[526.344,98.6505,18.3667,87.9577,-71.724],[490.338,199.47,17.0667,76.6242,-68.7211],[446.588,299.865,15.5,63.136,-63.634],[386.025,399.493,13.35,45.7029,-51.7608],[281.76,465.971,9.68333,28.5628,-0.255416]]], - [74,470.796,[[849.472,-2001.59,32.9,202.045,-83.709],[838.361,-1901.99,32.4,198.693,-83.5535],[826.792,-1800.87,31.8833,195.178,-83.3858],[815.134,-1701.6,31.3667,191.61,-83.2107],[803.007,-1601.1,30.8333,187.872,-83.0213],[790.789,-1502.63,30.3,184.079,-82.8228],[777.706,-1400.27,29.7333,179.99,-82.6009],[764.523,-1300.28,29.1667,175.84,-82.3668],[751.239,-1202.7,28.6,171.629,-82.1194],[737.066,-1102.03,28,167.107,-81.8417],[722.388,-1001.45,27.3833,162.391,-81.5378],[707.196,-901.263,26.75,157.478,-81.2039],[691.485,-801.751,26.1,152.364,-80.836],[674.84,-700.812,25.4167,146.911,-80.4181],[657.657,-601.378,24.7167,141.248,-79.9528],[639.518,-501.582,23.9833,135.235,-79.4192],[620.408,-402.105,23.2167,128.864,-78.803],[599.894,-301.684,22.4,121.991,-78.0697],[577.954,-201.464,21.5333,114.608,-77.1879],[554.14,-100.96,20.6,106.567,-76.0922],[527.997,-0.377978,19.5833,97.7219,-74.6814],[499.054,99.2444,18.4667,87.9371,-72.7887],[465.526,199.488,17.1833,76.6652,-69.9935],[424.7,299.931,15.6333,63.1723,-65.2525],[368.914,399.441,13.5333,45.7665,-54.3493],[267.008,470.794,9.73333,26.9364,-0.261513]]], - [75,475.357,[[799.772,-2001.44,32.9667,202.077,-84.09],[789.33,-1901.76,32.4667,198.722,-83.9439],[778.457,-1800.55,31.95,195.203,-83.7863],[767.501,-1701.19,31.4333,191.631,-83.6218],[756.105,-1600.59,30.9,187.889,-83.4439],[744.621,-1502.03,30.3667,184.092,-83.2573],[732.689,-1402.55,29.8167,180.119,-83.0551],[720.302,-1302.38,29.25,175.965,-82.8355],[707.452,-1201.78,28.6667,171.625,-82.5964],[694.133,-1101,28.0667,167.096,-82.3354],[680.338,-1000.31,27.45,162.373,-82.0496],[666.06,-900,26.8167,157.451,-81.7358],[651.295,-800.364,26.1667,152.327,-81.3898],[636.035,-701.714,25.5,146.998,-81.0069],[619.889,-602.05,24.8,141.324,-80.5702],[602.845,-502.009,24.0667,135.297,-80.0692],[584.497,-400.161,23.2833,128.772,-79.4775],[565.612,-301.576,22.4833,122.02,-78.8021],[544.996,-201.059,21.6167,114.613,-77.9737],[522.621,-100.233,20.6833,106.543,-76.944],[498.459,-0.876903,19.6833,97.8059,-75.6411],[471.267,99.3068,18.5667,87.9693,-73.8651],[440.177,198.989,17.3,76.7661,-71.2776],[402.238,299.498,15.7667,63.2805,-66.8857],[350.669,399.483,13.7,45.8075,-56.8423],[252.008,475.355,9.78333,25.301,-0.33359]]], - [76,479.653,[[749.533,-2002.14,33.0333,202.133,-84.4742],[739.765,-1902.36,32.5333,198.776,-84.3376],[729.594,-1801.05,32.0167,195.254,-84.1903],[719.344,-1701.59,31.5,191.679,-84.0364],[708.684,-1600.88,30.9667,187.934,-83.87],[697.941,-1502.21,30.4333,184.133,-83.6956],[686.779,-1402.62,29.8833,180.156,-83.5065],[675.191,-1302.34,29.3167,175.997,-83.3011],[663.17,-1201.62,28.7333,171.652,-83.0775],[650.71,-1100.72,28.1333,167.117,-82.8334],[638.155,-1002.59,27.5333,162.515,-82.5737],[624.801,-902.057,26.9,157.588,-82.2807],[610.991,-802.196,26.25,152.457,-81.9576],[596.36,-700.888,25.5667,146.986,-81.5908],[581.257,-601.072,24.8667,141.3,-81.1821],[565.312,-500.872,24.1333,135.261,-80.7133],[548.514,-400.97,23.3667,128.859,-80.1717],[530.482,-300.093,22.55,121.949,-79.5269],[511.568,-201.26,21.7,114.663,-78.7668],[490.64,-100.088,20.7667,106.566,-77.8044],[468.04,-0.358547,19.7667,97.7931,-76.5858],[442.988,98.8277,18.6667,88.0554,-74.9509],[413.912,199.186,17.4,76.7798,-72.5339],[378.817,299.538,15.8833,63.315,-68.4749],[331.373,399.663,13.85,45.8169,-59.2491],[236.368,479.653,9.81667,23.6569,-0.0899633]]], - [77,483.677,[[698.469,-2000.33,33.0833,202.105,-84.8571],[689.377,-1900.5,32.5833,198.743,-84.7299],[680.217,-1802.38,32.0833,195.332,-84.5973],[670.679,-1702.8,31.5667,191.755,-84.4542],[660.759,-1601.99,31.0333,188.007,-84.2995],[650.449,-1500.15,30.4833,184.083,-84.1321],[640.06,-1400.5,29.9333,180.101,-83.9561],[629.274,-1300.17,29.3667,175.936,-83.7647],[618.406,-1202.23,28.8,171.71,-83.5626],[606.812,-1101.19,28.2,167.17,-83.3356],[594.803,-1000.23,27.5833,162.434,-83.0871],[582.703,-902.243,26.9667,157.628,-82.8215],[569.851,-802.23,26.3167,152.49,-82.521],[556.236,-700.76,25.6333,147.01,-82.1798],[542.182,-600.778,24.9333,141.314,-81.7996],[527.344,-500.402,24.2,135.263,-81.3634],[511.713,-400.314,23.4333,128.847,-80.8594],[495.276,-301.242,22.6333,122.062,-80.2721],[477.333,-200.196,21.7667,114.613,-79.5514],[458.206,-100.536,20.85,106.635,-78.672],[437.179,-0.407939,19.85,97.8301,-77.5394],[413.869,99.2207,18.75,88.0476,-76.0187],[387.173,198.862,17.5,76.8538,-73.8016],[354.883,299.078,16,63.4211,-70.0772],[311.474,399.342,14,45.9279,-61.6766],[220.908,483.675,9.86667,22.0045,-0.311078]]], - [78,487.423,[[647.225,-2002.73,33.15,202.213,-85.247],[638.816,-1902.79,32.65,198.851,-85.1295],[630.061,-1801.3,32.1333,195.323,-85.0028],[621.238,-1701.67,31.6167,191.743,-84.8705],[612.06,-1600.79,31.0833,187.991,-84.7273],[602.813,-1501.94,30.55,184.183,-84.5773],[593.204,-1402.16,30,180.197,-84.4146],[583.229,-1301.69,29.4333,176.029,-84.2379],[572.881,-1200.76,28.85,171.675,-84.0454],[562.454,-1102.42,28.2667,167.255,-83.8414],[551.347,-1001.31,27.65,162.514,-83.6117],[539.851,-900.556,27.0167,157.573,-83.3594],[527.962,-800.463,26.3667,152.426,-83.0813],[515.676,-701.34,25.7,147.071,-82.7733],[502.676,-601.175,25,141.366,-82.422],[488.953,-500.606,24.2667,135.304,-82.0188],[474.495,-400.315,23.5,128.876,-81.5529],[459.293,-301.029,22.7,122.075,-81.0099],[443.017,-201.633,21.85,114.752,-80.357],[425.329,-101.588,20.9333,106.752,-79.5457],[405.884,-1.03537,19.9333,97.9179,-78.5003],[384.327,99.0647,18.8333,88.0944,-77.096],[359.638,199.247,17.5833,76.839,-75.0464],[330.109,299.112,16.1,63.4504,-71.6419],[290.304,399.886,14.1167,45.8545,-63.9343],[204.872,487.422,9.9,20.3443,-0.190731]]], - [79,490.888,[[595.232,-2002.63,33.2,202.236,-85.6357],[587.509,-1902.62,32.7,198.872,-85.5278],[579.467,-1801.07,32.1833,195.342,-85.4114],[571.363,-1701.36,31.6667,191.758,-85.2899],[562.934,-1600.41,31.1333,188.003,-85.1585],[554.44,-1501.49,30.6,184.191,-85.0206],[545.614,-1401.64,30.05,180.202,-84.8712],[536.451,-1301.08,29.4833,176.03,-84.7089],[526.947,-1200.08,28.9,171.671,-84.5321],[517.369,-1101.65,28.3167,167.246,-84.3447],[507.168,-1000.45,27.7,162.499,-84.1337],[496.888,-902.218,27.0833,157.682,-83.9083],[485.971,-801.945,26.4333,152.53,-83.6532],[474.405,-700.199,25.75,147.034,-83.3634],[462.75,-602.271,25.0667,141.457,-83.0485],[450.147,-501.491,24.3333,135.385,-82.6788],[436.87,-400.978,23.5667,128.946,-82.2514],[422.91,-301.458,22.7667,122.132,-81.7532],[407.963,-201.812,21.9167,114.793,-81.1541],[391.719,-101.495,21,106.771,-80.4094],[373.861,-0.641726,20,97.9086,-79.4496],[354.065,99.7908,18.9,88.0464,-78.1591],[331.696,199.108,17.6667,76.8849,-76.3022],[304.581,299.661,16.1833,63.3999,-73.1757],[268.647,399.963,14.2333,45.8755,-66.2191],[188.659,490.888,9.93333,18.6768,-0.13928]]], - [80,494.068,[[542.582,-2000.03,33.2333,202.175,-86.0237],[535.546,-1900,32.7333,198.806,-85.9254],[528.457,-1801.68,32.2333,195.387,-85.8228],[521.077,-1701.9,31.7167,191.802,-85.7122],[513.4,-1600.86,31.1833,188.044,-85.5925],[505.664,-1501.85,30.65,184.23,-85.467],[497.627,-1401.91,30.1,180.238,-85.331],[489.282,-1301.27,29.5333,176.062,-85.1832],[480.625,-1200.17,28.95,171.699,-85.0223],[471.903,-1101.65,28.3667,167.27,-84.8516],[462.612,-1000.35,27.75,162.519,-84.6596],[453.25,-902.014,27.1333,157.696,-84.4543],[443.307,-801.632,26.4833,152.538,-84.222],[433.031,-702.211,25.8167,147.169,-83.9648],[422.159,-601.729,25.1167,141.449,-83.6713],[410.681,-500.824,24.3833,135.368,-83.3344],[398.589,-400.179,23.6167,128.917,-82.945],[385.874,-300.521,22.8167,122.09,-82.4911],[372.261,-200.727,21.9667,114.733,-81.9451],[357.468,-100.249,21.05,106.691,-81.266],[341.477,-0.830692,20.0667,97.9507,-80.4061],[323.449,99.9634,18.9667,88.0536,-79.2317],[303.079,199.689,17.7333,76.8405,-77.54],[278.667,299.717,16.2667,63.4198,-74.7245],[246.509,399.561,14.35,45.9934,-68.52],[172.273,494.067,9.96667,17.0025,-0.177507]]], - [81,496.957,[[489.782,-2001.67,33.2833,202.251,-86.4174],[483.44,-1901.56,32.7833,198.881,-86.3289],[477.049,-1803.15,32.2833,195.461,-86.2365],[470.181,-1700.09,31.75,191.757,-86.1335],[463.476,-1602.15,31.2333,188.115,-86.029],[456.502,-1503.05,30.7,184.299,-85.916],[449.036,-1400.01,30.1333,180.182,-85.7896],[441.734,-1302.26,29.5833,176.126,-85.6603],[433.931,-1201.06,29,171.76,-85.5154],[426.068,-1102.43,28.4167,167.328,-85.3616],[417.692,-1001.01,27.8,162.572,-85.1887],[409.253,-902.566,27.1833,157.745,-85.0037],[400.289,-802.062,26.5333,152.582,-84.7944],[390.793,-700.07,25.85,147.072,-84.5567],[381.225,-601.896,25.1667,141.48,-84.2982],[370.878,-500.849,24.4333,135.391,-83.9947],[359.977,-400.054,23.6667,128.931,-83.6438],[348.515,-300.238,22.8667,122.091,-83.2346],[336.243,-200.275,22.0167,114.72,-82.7423],[323.151,-101.377,21.1167,106.807,-82.1419],[308.737,-1.61213,20.1333,98.0449,-81.3684],[292.487,99.5729,19.0333,88.1168,-80.3116],[274.127,199.741,17.8,76.8576,-78.7882],[252.373,299.271,16.35,63.5118,-76.2838],[223.642,399.393,14.45,46.0584,-70.7585],[155.718,496.956,10,15.3219,-0.335719]]], - [82,499.552,[[436.409,-2000.82,33.3167,202.242,-86.8106],[430.762,-1900.67,32.8167,198.87,-86.7316],[425.073,-1802.23,32.3167,195.448,-86.6493],[419.149,-1702.32,31.8,191.858,-86.5607],[412.987,-1601.15,31.2667,188.096,-86.4647],[406.779,-1502.01,30.7333,184.277,-86.364],[400.327,-1401.93,30.1833,180.279,-86.2549],[393.63,-1301.14,29.6167,176.098,-86.1363],[386.881,-1202.74,29.05,171.853,-86.0109],[379.681,-1101.21,28.45,167.291,-85.8702],[372.426,-1002.45,27.85,162.66,-85.7204],[364.709,-901.254,27.2167,157.699,-85.5514],[356.729,-800.699,26.5667,152.529,-85.365],[348.481,-701.099,25.9,147.148,-85.1584],[339.755,-600.427,25.2,141.413,-84.9228],[330.752,-501.57,24.4833,135.455,-84.6587],[321.049,-400.607,23.7167,128.986,-84.3466],[310.845,-300.613,22.9167,122.137,-83.9827],[299.921,-200.46,22.0667,114.754,-83.5447],[288.266,-101.359,21.1667,106.825,-83.0104],[275.434,-1.37043,20.1833,98.042,-82.322],[261.189,98.6129,19.1,88.2368,-81.3968],[244.846,199.257,17.8667,76.937,-80.0441],[225.483,299.352,16.4167,63.522,-77.8176],[200.134,399.486,14.5333,46.0656,-72.946],[139,499.549,10.0333,13.6359,-0.659043]]], - [83,501.85,[[382.718,-2000.85,33.35,202.26,-87.2058],[377.77,-1900.66,32.85,198.887,-87.1367],[372.785,-1802.17,32.35,195.463,-87.0646],[367.594,-1702.21,31.8333,191.872,-86.9868],[362.194,-1600.99,31.3,188.107,-86.9027],[356.754,-1501.8,30.7667,184.286,-86.8145],[351.101,-1401.67,30.2167,180.286,-86.7189],[345.232,-1300.82,29.65,176.101,-86.615],[339.318,-1202.37,29.0833,171.854,-86.5052],[333.009,-1100.78,28.4833,167.288,-86.3819],[326.652,-1001.96,27.8833,162.654,-86.2506],[319.89,-900.703,27.25,157.688,-86.1025],[312.897,-800.083,26.6,152.514,-85.939],[305.669,-700.415,25.9333,147.127,-85.758],[298.206,-602.024,25.25,141.523,-85.5567],[290.135,-500.744,24.5167,135.42,-85.32],[281.817,-401.845,23.7667,129.085,-85.0527],[272.877,-301.655,22.9667,122.227,-84.7342],[263.306,-201.29,22.1167,114.834,-84.351],[252.905,-100.191,21.2,106.744,-83.8743],[241.661,-0.100597,20.2167,97.9414,-83.2699],[229.179,99.9949,19.1333,88.1099,-82.4572],[215.053,199.499,17.9167,76.9256,-81.2862],[198.088,299.971,16.4667,63.4489,-79.3331],[176.077,399.857,14.6,46.0112,-75.0942],[129.089,499.981,10.65,13.3474,-26.5827],[121.925,501.849,10.05,11.9436,-0.434312]]], - [84,503.848,[[328.732,-2001.77,33.3833,202.306,-87.6027],[324.486,-1901.52,32.8833,198.932,-87.5435],[320.207,-1802.98,32.3833,195.507,-87.4817],[315.752,-1702.96,31.8667,191.914,-87.4149],[311.119,-1601.68,31.3333,188.148,-87.3429],[306.45,-1502.43,30.8,184.326,-87.2671],[301.598,-1402.23,30.25,180.324,-87.1851],[296.561,-1301.32,29.6833,176.137,-87.096],[291.486,-1202.81,29.1167,171.888,-87.0019],[286.071,-1101.15,28.5167,167.32,-86.8961],[280.615,-1002.26,27.9167,162.682,-86.7834],[274.812,-900.918,27.2833,157.713,-86.6563],[268.81,-800.219,26.6333,152.535,-86.516],[262.608,-700.469,25.9667,147.144,-86.3608],[256.202,-601.994,25.2833,141.536,-86.1879],[249.275,-500.621,24.55,135.426,-85.9849],[242.137,-401.627,23.8,129.084,-85.7554],[234.465,-301.335,23,122.219,-85.4822],[226.251,-200.862,22.15,114.815,-85.1532],[217.488,-101.418,21.25,106.861,-84.7519],[207.839,-1.05277,20.2667,98.0439,-84.2345],[197.128,99.3491,19.1833,88.192,-83.5384],[185.007,199.201,17.9667,76.9771,-82.5352],[170.616,299.044,16.5333,63.6037,-80.8837],[151.729,399.77,14.6667,46.0489,-77.2592],[113.801,499.902,10.95,13.4448,-40.3991],[104.753,503.847,10.0667,10.2468,-0.304986]]], - [85,505.544,[[274.355,-2000.21,33.4,202.266,-87.9996],[270.93,-1903.27,32.9167,199.004,-87.9517],[267.242,-1801.4,32.4,195.463,-87.8986],[263.525,-1701.37,31.8833,191.868,-87.8429],[259.659,-1600.09,31.35,188.101,-87.7826],[255.763,-1500.83,30.8167,184.275,-87.7195],[251.715,-1400.63,30.2667,180.271,-87.6509],[247.636,-1302.64,29.7167,176.206,-87.5788],[243.278,-1201.19,29.1333,171.829,-87.4979],[238.886,-1102.31,28.55,167.385,-87.4121],[234.207,-1000.62,27.9333,162.616,-87.3155],[229.493,-901.902,27.3167,157.775,-87.2123],[224.487,-801.109,26.6667,152.594,-87.0954],[219.313,-701.262,26,147.2,-86.9659],[213.838,-600.33,25.3,141.45,-86.8183],[208.191,-501.204,24.5833,135.475,-86.6526],[202.236,-402.098,23.8333,129.128,-86.4613],[195.836,-301.684,23.0333,122.256,-86.2335],[188.984,-201.081,22.1833,114.844,-85.9593],[181.673,-101.498,21.2833,106.88,-85.6246],[173.624,-0.979127,20.3,98.0493,-85.193],[164.689,99.593,19.2167,88.179,-84.6124],[154.577,199.637,18,76.937,-83.7749],[142.573,299.709,16.5667,63.5185,-82.3947],[126.958,399.978,14.7167,46.022,-79.3931],[96.6018,499.826,11.15,13.5371,-50.894],[87.4899,505.543,10.0833,8.54592,-0.327361]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 173.624; -_maxRange = 998.517; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg1.sqf deleted file mode 100644 index 1dc71f8b37..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg1.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_120mm_dm11a5_dm111a1_pd_chg1 -// Ammo: ace_arty_120mm_dm11a5_dm111a1_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,660.133,[[3575.7,-2002.72,35.75,219.589,-68.571],[3535.43,-1901.29,35.25,216.837,-68.0956],[3494.82,-1801.49,34.75,214.054,-67.6039],[3452.51,-1700.09,34.2333,211.148,-67.0779],[3409.85,-1600.48,33.7167,208.212,-66.5325],[3366.85,-1502.68,33.2,205.247,-65.9669],[3320.68,-1400.6,32.65,202.062,-65.3413],[3274.13,-1300.63,32.1,198.847,-64.6902],[3227.18,-1202.81,31.55,195.606,-64.0119],[3176.98,-1101.44,30.9667,192.142,-63.2612],[3126.34,-1002.55,30.3833,188.653,-62.4761],[3072.35,-900.764,29.7667,184.942,-61.6064],[3017.89,-801.835,29.15,181.211,-60.6932],[2959.98,-700.703,28.5,177.263,-59.6801],[2900.07,-600.38,27.8333,173.202,-58.5833],[2838.1,-501.177,27.15,169.035,-57.394],[2772.53,-401.139,26.4333,164.671,-56.0701],[2703.28,-300.906,25.6833,160.12,-54.594],[2630.28,-201.156,24.9,155.4,-52.945],[2551.87,-100.662,24.0667,150.435,-51.0599],[2467.95,-0.56442,23.1833,145.263,-48.9012],[2376.77,99.5954,22.2333,139.839,-46.3781],[2276.55,199.588,21.2,134.156,-43.3747],[2163.77,299.73,20.05,128.174,-39.6865],[2033.09,399.743,18.7333,121.895,-34.9813],[1872.14,499.881,17.1333,115.328,-28.5346],[1643.7,599.662,14.9,108.718,-18.2428],[1275.39,660.132,11.3833,106.229,-0.0175163]]], - [46,682.501,[[3541.2,-2001.1,36.0333,219.753,-68.9907],[3502.98,-1902.67,35.55,217.082,-68.5403],[3463.11,-1802.45,35.05,214.289,-68.0586],[3421.57,-1700.6,34.5333,211.371,-67.5433],[3379.69,-1600.54,34.0167,208.422,-67.009],[3337.46,-1502.29,33.5,205.444,-66.4548],[3293.52,-1402.8,32.9667,202.34,-65.8606],[3247.82,-1302.27,32.4167,199.11,-65.2232],[3200.34,-1200.93,31.85,195.752,-64.5386],[3152.46,-1101.91,31.2833,192.367,-63.8239],[3102.75,-1002.41,30.7,188.856,-63.055],[3051.19,-902.701,30.1,185.22,-62.2267],[2996.3,-800.382,29.4667,181.36,-61.3082],[2940.92,-701.12,28.8333,177.482,-60.3414],[2883.59,-602.47,28.1833,173.488,-59.2951],[2822.79,-502.335,27.5,169.282,-58.1316],[2758.45,-401.31,26.7833,164.871,-56.8361],[2690.5,-300.033,26.0333,160.267,-55.3909],[2620.4,-201.275,25.2667,155.587,-53.8108],[2545.02,-101.46,24.45,150.648,-52.0033],[2464.26,-1.70016,23.5833,145.485,-49.9321],[2376.42,98.5249,22.65,140.046,-47.5086],[2279.74,199.061,21.6333,134.313,-44.6191],[2172.39,298.945,20.5167,128.318,-41.117],[2047.58,399.891,19.2333,121.936,-36.6299],[1898.15,499.779,17.7167,115.301,-30.6471],[1696.38,599.436,15.7,108.484,-21.5458],[1274.09,682.499,11.5833,104.27,-0.0717994]]], - [47,704.826,[[3504.71,-2000.32,36.3167,219.94,-69.4166],[3467.19,-1901.53,35.8333,217.26,-68.9753],[3428.06,-1800.92,35.3333,214.456,-68.5033],[3388.62,-1701.94,34.8333,211.621,-68.0149],[3347.52,-1601.42,34.3167,208.66,-67.4918],[3306.09,-1502.7,33.8,205.669,-66.9492],[3262.96,-1402.72,33.2667,202.55,-66.3675],[3218.12,-1301.69,32.7167,199.303,-65.7432],[3172.91,-1202.79,32.1667,196.027,-65.0928],[3124.55,-1100.27,31.5833,192.522,-64.3727],[3075.78,-1000.22,31,188.988,-63.6193],[3026.59,-902.681,30.4167,185.43,-62.8306],[2974.16,-802.342,29.8,181.645,-61.9558],[2919.84,-702.299,29.1667,177.737,-61.0103],[2862.17,-600.334,28.5,173.607,-59.9598],[2803.98,-501.848,27.8333,169.465,-58.8483],[2742.35,-402.237,27.1333,165.113,-57.6104],[2677.2,-302.121,26.4,160.56,-56.2293],[2606.96,-200.04,25.6167,155.718,-54.6505],[2534.56,-101.049,24.8167,150.811,-52.9176],[2456.9,-1.78464,23.9667,145.663,-50.9306],[2372.33,98.333,23.05,140.218,-48.6032],[2279.13,199.222,22.05,134.448,-45.824],[2177.08,298.558,20.9667,128.461,-42.502],[2059.59,398.839,19.7333,122.083,-38.2886],[1919.74,499.006,18.2833,115.365,-32.7003],[1735.44,599.997,16.4,108.3,-24.3829],[1370.13,699.918,12.75,101.988,-5.46045],[1269.92,704.824,11.7667,102.301,-0.0552121]]], - [48,727.081,[[3466.21,-2000.42,36.6,220.153,-69.8486],[3429.41,-1901.24,36.1167,217.463,-69.4166],[3391.03,-1800.24,35.6167,214.648,-68.9546],[3352.34,-1700.87,35.1167,211.802,-68.4763],[3313.33,-1603.16,34.6167,208.925,-67.9809],[3271.39,-1500.79,34.0833,205.824,-67.4327],[3229.09,-1400.37,33.55,202.69,-66.8629],[3186.45,-1301.93,33.0167,199.526,-66.2703],[3142.11,-1202.5,32.4667,196.232,-65.6339],[3096.04,-1102.33,31.9,192.808,-64.9497],[3048.22,-1001.64,31.3167,189.255,-64.2132],[2998.62,-900.692,30.7167,185.571,-63.4194],[2948.59,-802.432,30.1167,181.863,-62.5864],[2895.34,-701.674,29.4833,177.925,-61.6615],[2840.21,-601.474,28.8333,173.865,-60.6599],[2783.17,-502.133,28.1667,169.687,-59.5735],[2722.75,-401.615,27.4667,165.292,-58.3629],[2658.89,-300.539,26.7333,160.69,-57.0116],[2592.98,-201.708,25.9833,155.998,-55.5339],[2522.03,-101.427,25.1833,151.023,-53.8413],[2445.93,-0.777069,24.3333,145.795,-51.8987],[2364.57,99.0672,23.4333,140.351,-49.6638],[2276.32,198.484,22.4667,134.65,-47.0386],[2177.92,298.637,21.4,128.594,-43.8436],[2065.99,399.147,20.2,122.168,-39.8369],[1933.83,499.868,18.8,115.354,-34.5599],[1767.95,599.465,17.0667,108.268,-27.0759],[1498.28,699.736,14.3,101.167,-13.1062],[1264.66,727.079,11.95,100.308,-0.0570766]]], - [49,749.239,[[3425.68,-2001.42,36.8833,220.391,-70.2866],[3389.61,-1901.86,36.4,217.692,-69.8641],[3351.99,-1800.45,35.9,214.867,-69.4121],[3314.07,-1700.67,35.4,212.01,-68.9442],[3275.83,-1602.55,34.9,209.122,-68.4595],[3236.01,-1502.92,34.3833,206.105,-67.9402],[3194.56,-1401.99,33.85,202.958,-67.3833],[3152.77,-1303.03,33.3167,199.778,-66.8041],[3107.99,-1200.07,32.75,196.368,-66.1626],[3064.17,-1102.33,32.2,193.026,-65.5129],[3017.31,-1001.07,31.6167,189.452,-64.7927],[2970.05,-902.296,31.0333,185.848,-64.0384],[2919.67,-800.64,30.4167,182.011,-63.2014],[2868.85,-701.861,29.8,178.15,-62.3207],[2814.84,-600.904,29.15,174.058,-61.3417],[2758.95,-500.777,28.4833,169.843,-60.2792],[2701.16,-401.795,27.8,165.513,-59.124],[2640.02,-302.011,27.0833,160.969,-57.8343],[2575.47,-202.066,26.3333,156.221,-56.3916],[2505.97,-100.583,25.5333,151.182,-54.7378],[2432.9,-0.584851,24.7,145.979,-52.8769],[2354.71,98.9531,23.8167,140.543,-50.7346],[2269.79,198.471,22.8667,134.824,-48.2154],[2174.97,299.242,21.8167,128.711,-45.1435],[2068.46,399.674,20.65,122.261,-41.3377],[1945.33,499.349,19.3167,115.472,-36.431],[1792.53,599.123,17.6833,108.282,-29.548],[1565.89,699.771,15.3,100.816,-17.8015],[1258.29,749.237,12.1333,98.2924,-0.0788074]]], - [50,771.276,[[3383.13,-2003.37,37.1667,220.654,-70.7303],[3347.8,-1903.42,36.6833,217.947,-70.3174],[3310.95,-1801.59,36.1833,215.113,-69.8757],[3273.79,-1701.39,35.6833,212.246,-69.4184],[3236.34,-1602.84,35.1833,209.346,-68.9447],[3197.33,-1502.77,34.6667,206.317,-68.437],[3156.73,-1401.38,34.1333,203.156,-67.8926],[3115.79,-1301.95,33.6,199.962,-67.3263],[3073.22,-1201.51,33.05,196.635,-66.7179],[3029,-1100.27,32.4833,193.174,-66.0636],[2984.41,-1001.35,31.9167,189.682,-65.3797],[2938.13,-901.979,31.3333,186.057,-64.6427],[2890.12,-802.408,30.7333,182.299,-63.8473],[2839.02,-700.253,30.1,178.305,-62.9637],[2787.47,-601.17,29.4667,174.288,-62.0316],[2732.75,-500.241,28.8,170.039,-60.9938],[2676.17,-400.429,28.1167,165.669,-59.865],[2617.7,-302.059,27.4167,161.186,-58.6345],[2554.49,-201.082,26.6667,156.386,-57.2254],[2487.88,-100.571,25.8833,151.39,-55.6441],[2417.79,-1.25337,25.0667,146.218,-53.8644],[2341.26,99.7889,24.1833,140.692,-51.7735],[2259.62,199.234,23.25,134.965,-49.3566],[2169.79,298.873,22.2333,128.905,-46.4541],[2068.6,399.106,21.1,122.446,-42.8492],[1951.22,499.781,19.8,115.551,-38.1822],[1809.5,599.521,18.25,108.29,-31.8056],[1613.06,699.427,16.1333,100.668,-21.628],[1249.2,771.276,12.3,96.265,-0.0245947]]], - [51,793.168,[[3337.34,-2002.84,37.4333,220.852,-71.1658],[3302.74,-1902.53,36.95,218.135,-70.7623],[3266.66,-1800.33,36.45,215.291,-70.3305],[3231.51,-1703.08,35.9667,212.51,-69.8986],[3193.62,-1600.82,35.45,209.502,-69.4204],[3155.42,-1500.36,34.9333,206.46,-68.924],[3116.91,-1401.7,34.4167,203.385,-68.4086],[3076.84,-1301.8,33.8833,200.176,-67.8555],[3035.17,-1200.85,33.3333,196.833,-67.2612],[2993.16,-1102.06,32.7833,193.457,-66.6411],[2949.52,-1002.54,32.2167,189.946,-65.9737],[2904.22,-902.555,31.6333,186.3,-65.2543],[2857.24,-802.343,31.0333,182.519,-64.4778],[2808.54,-702.173,30.4167,178.605,-63.6384],[2758.11,-602.319,29.7833,174.558,-62.7292],[2704.56,-500.57,29.1167,170.275,-61.7167],[2650.55,-402.32,28.45,165.974,-60.6427],[2591.98,-300.661,27.7333,161.34,-59.4135],[2531.51,-200.948,27,156.597,-58.0686],[2467.73,-101.436,26.2333,151.648,-56.5592],[2399.17,-0.834302,25.4167,146.406,-54.8236],[2325.73,99.74,24.55,140.899,-52.8226],[2247.32,199.08,23.6333,135.17,-50.5082],[2160.93,299.073,22.6333,129.075,-47.7246],[2064.92,398.815,21.5333,122.63,-44.3142],[1954.62,498.916,20.2833,115.746,-39.9434],[1822.15,599.129,18.8,108.396,-34.0005],[1645.56,699.666,16.85,100.58,-24.8611],[1240.62,793.165,12.4833,94.2031,-0.0884861]]], - [52,814.89,[[3289.55,-2003.31,37.7,221.075,-71.6075],[3255.71,-1902.63,37.2167,218.351,-71.2134],[3220.41,-1800.04,36.7167,215.497,-70.7918],[3186.01,-1702.42,36.2333,212.706,-70.3701],[3150.14,-1603.05,35.7333,209.785,-69.9184],[3112.78,-1502.11,35.2167,206.731,-69.4342],[3075.11,-1402.99,34.7,203.644,-68.9313],[3035.91,-1302.59,34.1667,200.422,-68.3916],[2995.15,-1201.14,33.6167,197.063,-67.8116],[2954.06,-1101.82,33.0667,193.67,-67.2065],[2911.37,-1001.77,32.5,190.141,-66.555],[2867.06,-901.223,31.9167,186.474,-65.8527],[2821.1,-800.431,31.3167,182.67,-65.0945],[2774.76,-702.343,30.7167,178.835,-64.2973],[2725.43,-601.783,30.0833,174.76,-63.4103],[2674.38,-501.804,29.4333,170.552,-62.4476],[2620.24,-400.275,28.75,166.107,-61.3737],[2564.29,-300.129,28.05,161.538,-60.202],[2506.52,-201.706,27.3333,156.855,-58.9206],[2444.16,-101.085,26.5667,151.85,-57.4493],[2378.51,-1.31269,25.7667,146.648,-55.7923],[2308.11,98.7627,24.9167,141.166,-53.8809],[2231.47,199.732,24,135.336,-51.626],[2148.45,299.898,23.0167,129.218,-48.9574],[2057.48,398.872,21.95,122.805,-45.7347],[1952.62,499.271,20.7333,115.875,-41.5904],[1829.11,599.131,19.3167,108.505,-36.0619],[1668.61,699.895,17.5,100.564,-27.7686],[1388.09,799.865,14.3833,92.5981,-10.5892],[1229.37,814.888,12.65,92.1295,-0.0753711]]], - [53,836.416,[[3238.62,-2001.32,37.95,221.232,-72.0418],[3205.52,-1900.31,37.4667,218.499,-71.657],[3172.16,-1800.79,36.9833,215.731,-71.2593],[3138.53,-1702.78,36.5,212.931,-70.8478],[3103.47,-1603.01,36,209.999,-70.4071],[3066.94,-1501.65,35.4833,206.934,-69.9347],[3030.11,-1402.11,34.9667,203.834,-69.4441],[2991.79,-1301.27,34.4333,200.598,-68.9174],[2953.16,-1202.4,33.9,197.327,-68.3688],[2912.99,-1102.56,33.35,193.918,-67.7789],[2871.26,-1001.96,32.7833,190.371,-67.1437],[2827.95,-900.834,32.2,186.684,-66.4589],[2784.29,-802.225,31.6167,182.963,-65.7404],[2737.74,-700.754,31,178.998,-64.9416],[2690.8,-602.176,30.3833,175.002,-64.0995],[2640.9,-501.447,29.7333,170.763,-63.1612],[2589.29,-401.574,29.0667,166.391,-62.1403],[2534.63,-300.512,28.3667,161.782,-60.9991],[2478.17,-201.141,27.65,157.053,-59.7505],[2418.58,-101.653,26.9,152.102,-58.3485],[2354.44,-0.689517,26.1,146.836,-56.7344],[2287.02,98.7362,25.2667,141.385,-54.9092],[2213.52,199.432,24.3667,135.566,-52.754],[2133.83,299.737,23.4,129.433,-50.2008],[2046.4,399.335,22.35,122.967,-47.1127],[1946.84,499.727,21.1667,116.014,-43.1882],[1830.56,599.79,19.8,108.59,-37.995],[1685.54,699.253,18.1167,100.673,-30.5204],[1459.37,799.871,15.5333,92.2655,-16.7075],[1217.05,836.414,12.8167,90.0332,-0.084234]]], - [54,857.721,[[3185.72,-2000.39,38.2,221.416,-72.4825],[3154.5,-1902.52,37.7333,218.77,-72.1203],[3121.91,-1802.61,37.25,215.994,-71.7327],[3087.93,-1700.83,36.75,213.088,-71.3177],[3053.67,-1600.7,36.25,210.145,-70.8877],[3019.13,-1502.23,35.75,207.168,-70.4419],[2983.16,-1402.24,35.2333,204.056,-69.9637],[2945.72,-1300.94,34.7,200.806,-69.4502],[2907.98,-1201.62,34.1667,197.521,-68.9155],[2868.75,-1101.3,33.6167,194.096,-68.3403],[2827.99,-1000.2,33.05,190.53,-67.7209],[2786.89,-901.427,32.4833,186.929,-67.0725],[2744.24,-802.223,31.9,183.188,-66.3725],[2698.78,-700.117,31.2833,179.198,-65.5942],[2652.93,-600.898,30.6667,175.176,-64.7735],[2605.46,-502.045,30.0333,171.016,-63.8828],[2555.06,-401.378,29.3667,166.61,-62.8888],[2502.96,-301.853,28.6833,162.072,-61.8045],[2447.84,-201.514,27.9667,157.298,-60.5896],[2389.66,-101.003,27.2167,152.296,-59.2246],[2328.35,-1.00854,26.4333,147.078,-57.6863],[2262.54,99.695,25.6,141.554,-55.9096],[2192.13,199.958,24.7167,135.754,-53.8503],[2117.04,298.536,23.7833,129.722,-51.4535],[2033.1,398.722,22.75,123.211,-48.501],[1938.72,498.984,21.6,116.255,-44.7961],[1829.49,599.016,20.2833,108.809,-39.9383],[1693.75,699.932,18.6667,100.715,-32.9612],[1502.03,799.472,16.4167,92.1859,-21.2798],[1202.19,857.721,12.9667,87.9242,-0.0103166]]], - [55,878.781,[[3130.84,-2000.56,38.45,221.628,-72.9292],[3100.37,-1902.35,37.9833,218.974,-72.5762],[3068.55,-1802.09,37.5,216.19,-72.1985],[3036.49,-1703.33,37.0167,213.372,-71.8079],[3003.05,-1602.77,36.5167,210.42,-71.3893],[2968.21,-1500.6,36,207.333,-70.9406],[2933.1,-1400.22,35.4833,204.208,-70.4745],[2897.7,-1301.67,34.9667,201.048,-69.9899],[2860.86,-1201.88,34.4333,197.748,-69.4692],[2822.57,-1101.06,33.8833,194.308,-68.9091],[2783.96,-1002.4,33.3333,190.831,-68.3239],[2742.67,-900.158,32.75,187.105,-67.6741],[2701.05,-800.416,32.1667,183.343,-66.9922],[2657.88,-700.473,31.5667,179.438,-66.2548],[2613.14,-600.596,30.95,175.39,-65.4559],[2566.81,-501.061,30.3167,171.201,-64.5888],[2518.86,-402.16,29.6667,166.873,-63.6456],[2468.03,-301.794,28.9833,162.298,-62.5908],[2414.26,-200.563,28.2667,157.481,-61.4085],[2358.76,-101.314,27.5333,152.54,-60.1101],[2298.95,-0.216799,26.75,147.264,-58.6138],[2236.04,99.6916,25.9333,141.781,-56.9203],[2168.67,199.493,25.0667,136.005,-54.9566],[2095.44,299.696,24.1333,129.868,-52.6262],[2016.24,398.557,23.1333,123.434,-49.8486],[1925.57,499.804,22,116.395,-46.3002],[1823.16,599.18,20.7333,108.973,-41.7588],[1697.75,699.694,19.2,100.866,-35.3349],[1527.79,799.647,17.15,92.1654,-25.0075],[1187.75,878.78,13.1333,85.7829,-0.0661465]]], - [56,899.574,[[3074.01,-2001.88,38.7,221.868,-73.3817],[3044.28,-1903.32,38.2333,219.207,-73.0382],[3013.25,-1802.69,37.75,216.415,-72.6706],[2980.9,-1700.18,37.25,213.49,-72.277],[2949.36,-1602.63,36.7667,210.627,-71.8829],[2915.39,-1500.06,36.25,207.529,-71.4461],[2882.25,-1402.5,35.75,204.495,-71.0072],[2846.61,-1300.32,35.2167,201.219,-70.5205],[2810.68,-1200.1,34.6833,197.906,-70.0135],[2774.47,-1101.88,34.15,194.555,-69.4849],[2736.82,-1002.71,33.6,191.062,-68.9157],[2697.72,-902.821,33.0333,187.426,-68.302],[2657.13,-802.454,32.45,183.644,-67.6394],[2615.04,-701.862,31.85,179.717,-66.9227],[2571.43,-601.31,31.2333,175.645,-66.1462],[2526.26,-501.075,30.6,171.428,-65.3032],[2479.51,-401.449,29.95,167.069,-64.3859],[2429.95,-300.313,29.2667,162.458,-63.3597],[2378.75,-200.592,28.5667,157.711,-62.2366],[2324.64,-100.401,27.8333,152.724,-60.9743],[2267.59,-0.406053,27.0667,147.504,-59.5509],[2207.53,98.6812,26.2667,142.067,-57.9401],[2141.88,199.877,25.4,136.21,-56.0333],[2071.8,299.848,24.4833,130.083,-53.8101],[1995.91,398.893,23.5,123.631,-51.1578],[1910.19,499.481,22.4,116.628,-47.8154],[1813.09,599.244,21.1667,109.161,-43.5257],[1696.32,699.682,19.7,101.025,-37.5658],[1543.11,799.901,17.8,92.2063,-28.2843],[1170.83,899.573,13.2833,83.6291,-0.0379081]]], - [57,920.072,[[3014.15,-2000.82,38.9333,222.043,-73.8281],[2985.18,-1901.95,38.4667,219.374,-73.4939],[2954.94,-1801.01,37.9833,216.573,-73.1362],[2924.45,-1701.56,37.5,213.737,-72.7661],[2892.67,-1600.28,37,210.766,-72.3695],[2860.63,-1500.64,36.5,207.758,-71.9583],[2828.33,-1402.69,36,204.713,-71.5316],[2793.61,-1300.07,35.4667,201.425,-71.0583],[2759.7,-1202.53,34.95,198.203,-70.5809],[2723.31,-1100.75,34.4,194.733,-70.0511],[2686.62,-1001.12,33.85,191.224,-69.4975],[2648.52,-900.757,33.2833,187.569,-68.9005],[2610.11,-802.74,32.7167,183.876,-68.2746],[2569.11,-701.557,32.1167,179.928,-67.5781],[2526.61,-600.391,31.5,175.831,-66.8232],[2483.77,-502.135,30.8833,171.699,-66.0257],[2438.23,-401.765,30.2333,167.31,-65.1349],[2391.14,-302.281,29.5667,162.778,-64.1632],[2341.27,-201.65,28.8667,157.992,-63.0735],[2288.58,-100.494,28.1333,152.958,-61.8482],[2234.23,-1.62476,27.3833,147.799,-60.497],[2175.75,98.6479,26.5833,142.299,-58.9342],[2113.05,199.231,25.7333,136.478,-57.1199],[2046.07,298.941,24.8333,130.368,-55.0039],[1972.2,399.776,23.85,123.796,-52.4311],[1891.3,499.438,22.7833,116.849,-49.2868],[1799.37,599.281,21.5833,109.363,-45.2412],[1690.96,699.078,20.1833,101.255,-39.7319],[1551.17,799.744,18.4,92.3325,-31.3012],[1316.13,899.95,15.45,82.8192,-13.7625],[1152.9,920.071,13.4333,81.453,-0.0342206]]], - [58,940.256,[[2952.35,-2000.95,39.1667,222.246,-74.2806],[2924.14,-1901.76,38.7,219.57,-73.9558],[2894.7,-1800.49,38.2167,216.762,-73.6081],[2865.02,-1700.7,37.7333,213.917,-73.2484],[2835.11,-1602.43,37.25,211.036,-72.876],[2803.92,-1502.39,36.75,208.019,-72.4767],[2771.43,-1400.77,36.2333,204.861,-72.0483],[2738.68,-1300.96,35.7167,201.665,-71.6028],[2705.67,-1202.98,35.2,198.43,-71.1392],[2670.25,-1100.73,34.65,194.946,-70.6246],[2634.54,-1000.63,34.1,191.422,-70.0868],[2598.54,-902.704,33.55,187.859,-69.5243],[2560.06,-801.256,32.9667,184.039,-68.8987],[2521.26,-702.33,32.3833,180.179,-68.2411],[2479.9,-600.534,31.7667,176.06,-67.5084],[2438.2,-501.642,31.15,171.902,-66.7341],[2393.89,-400.595,30.5,167.484,-65.8691],[2348.05,-300.41,29.8333,162.918,-64.9251],[2300.68,-201.402,29.15,158.208,-63.8922],[2250.58,-101.631,28.4333,153.246,-62.7308],[2197.69,-1.74353,27.6833,148.036,-61.4208],[2140.79,99.6264,26.8833,142.475,-59.9047],[2081,199.451,26.05,136.696,-58.1791],[2017.05,298.741,25.1667,130.611,-56.1659],[1946.43,399.587,24.2,124.037,-53.7156],[1868.98,499.735,23.15,117.052,-50.7169],[1782.09,599.365,21.9833,109.572,-46.9071],[1680.48,699.111,20.6333,101.448,-41.7644],[1552.31,799.751,18.95,92.4796,-34.0655],[1359.18,899.733,16.45,82.7478,-19.7387],[1133.94,940.254,13.5833,79.2551,-0.0573675]]], - [59,960.098,[[2888.63,-2002.31,39.4,222.478,-74.739],[2861.2,-1902.8,38.9333,219.796,-74.4237],[2832.56,-1801.18,38.45,216.981,-74.0862],[2803.7,-1701.05,37.9667,214.128,-73.7371],[2774.61,-1602.43,37.4833,211.239,-73.3756],[2744.27,-1502.02,36.9833,208.212,-72.988],[2712.67,-1400.02,36.4667,205.044,-72.5721],[2681.85,-1303.02,35.9667,201.94,-72.1537],[2648.72,-1201.46,35.4333,198.589,-71.6894],[2615.31,-1101.87,34.9,195.197,-71.2051],[2580.59,-1001.28,34.35,191.658,-70.6835],[2545.58,-902.859,33.8,188.079,-70.1377],[2508.16,-800.883,33.2167,184.241,-69.5308],[2470.43,-701.424,32.6333,180.361,-68.8926],[2431.3,-601.788,32.0333,176.331,-68.2013],[2390.76,-502.242,31.4167,172.149,-67.4508],[2347.67,-400.499,30.7667,167.702,-66.612],[2304.23,-302.073,30.1167,163.22,-65.7201],[2258.18,-202.228,29.4333,158.475,-64.7196],[2209.48,-101.57,28.7167,153.47,-63.5943],[2158.07,-0.744785,27.9667,148.212,-62.3242],[2103.92,99.5571,27.1833,142.71,-60.8853],[2046.97,198.6,26.3667,136.978,-59.248],[1984.82,299.281,25.4833,130.809,-57.2987],[1917.38,399.969,24.5333,124.242,-54.9661],[1844.53,498.874,23.5167,117.342,-52.1572],[1761.34,599.553,22.3667,109.779,-48.5257],[1666.33,698.831,21.0667,101.681,-43.7377],[1548.08,799.504,19.4667,92.677,-36.6699],[1380.82,899.647,17.2333,82.7957,-24.3287],[1113.97,960.096,13.7333,77.036,-0.109953]]], - [60,979.578,[[2822.03,-2001.36,39.6167,222.646,-75.1922],[2795.38,-1901.56,39.15,219.957,-74.8863],[2768.51,-1803.13,38.6833,217.232,-74.5703],[2740.47,-1702.64,38.2,214.372,-74.2319],[2711.23,-1600.27,37.7,211.374,-73.8692],[2682.74,-1502.87,37.2167,208.439,-73.5058],[2652.04,-1400.47,36.7,205.261,-73.1026],[2622.1,-1303.09,36.2,202.146,-72.697],[2589.91,-1201.11,35.6667,198.783,-72.2468],[2557.45,-1101.1,35.1333,195.378,-71.7772],[2523.72,-1000.07,34.5833,191.825,-71.2713],[2489.71,-901.213,34.0333,188.229,-70.7421],[2454.4,-801.657,33.4667,184.484,-70.1705],[2417.75,-701.649,32.8833,180.585,-69.5523],[2379.74,-601.442,32.2833,176.534,-68.8823],[2340.37,-501.304,31.6667,172.328,-68.1549],[2299.59,-401.515,31.0333,167.968,-67.3633],[2257.4,-302.366,30.3833,163.456,-66.4997],[2212.68,-201.756,29.7,158.676,-65.5307],[2165.38,-100.286,28.9833,153.631,-64.4404],[2116.57,-0.812377,28.25,148.444,-63.2376],[2065.11,98.4008,27.4833,143.004,-61.8752],[2009.82,198.627,26.6667,137.208,-60.2916],[1950.63,298.738,25.8,131.075,-58.4418],[1886.32,399.242,24.8667,124.523,-56.2271],[1815.62,499.964,23.85,117.495,-53.5106],[1737.22,599.911,22.7333,109.979,-50.0995],[1647.4,699.535,21.4667,101.839,-45.5891],[1538.71,799.294,19.95,92.8912,-39.1195],[1389.95,899.74,17.9,82.8953,-28.2002],[1091.73,979.576,13.8667,74.8029,-0.069778]]], - [61,998.673,[[2753.55,-2001.69,39.8333,222.844,-75.6514],[2727.68,-1901.59,39.3667,220.148,-75.355],[2701.6,-1802.86,38.9,217.416,-75.0489],[2674.39,-1702.05,38.4167,214.549,-74.721],[2646.96,-1602.74,37.9333,211.643,-74.3815],[2618.36,-1501.62,37.4333,208.598,-74.0174],[2589.53,-1402.16,36.9333,205.513,-73.6395],[2559.51,-1301.16,36.4167,202.284,-73.2336],[2529.24,-1201.97,35.9,199.014,-72.8111],[2497.75,-1101.53,35.3667,195.597,-72.3565],[2465.02,-1000.05,34.8167,192.029,-71.8667],[2432.02,-900.737,34.2667,188.419,-71.3542],[2397.75,-800.707,33.7,184.656,-70.8007],[2362.19,-700.206,33.1167,180.739,-70.2019],[2326.34,-602.248,32.5333,176.78,-69.5713],[2288.14,-501.501,31.9167,172.551,-68.8675],[2248.58,-401.079,31.2833,168.166,-68.1014],[2207.65,-301.276,30.6333,163.624,-67.2655],[2165.32,-202.396,29.9667,158.928,-66.3508],[2119.44,-100.093,29.25,153.845,-65.2963],[2073.18,-1.98985,28.5333,148.732,-64.16],[2023.27,98.2388,27.7667,143.241,-62.8434],[1969.65,199.557,26.95,137.381,-61.312],[1913.35,298.952,26.1,131.292,-59.5579],[1852.1,399.113,25.1833,124.764,-57.4563],[1784.68,499.931,24.1833,117.729,-54.8761],[1710.96,599.05,23.1,110.277,-51.6837],[1626.21,698.91,21.8667,102.118,-47.4514],[1524.38,799.385,20.4,93.0918,-41.4217],[1390.9,899.535,18.5,83.0707,-31.6775],[1068.54,998.672,14,72.5486,-0.0575678]]], - [62,1017.36,[[2683.18,-2003.35,40.05,223.072,-76.1164],[2658.1,-1902.94,39.5833,220.371,-75.8297],[2631.93,-1800.37,39.1,217.534,-75.5228],[2606.46,-1702.75,38.6333,214.758,-75.2164],[2579.87,-1603.11,38.15,211.845,-74.888],[2552.15,-1501.65,37.65,208.791,-74.5358],[2524.21,-1401.83,37.15,205.697,-74.1701],[2495.11,-1300.46,36.6333,202.457,-73.7774],[2465.77,-1200.91,36.1167,199.176,-73.3685],[2435.25,-1100.08,35.5833,195.746,-72.9286],[2404.49,-1001.26,35.05,192.274,-72.4692],[2372.51,-901.472,34.5,188.649,-71.9738],[2339.3,-800.953,33.9333,184.871,-71.4387],[2305.82,-702.793,33.3667,181.049,-70.8766],[2270.09,-601.47,32.7667,176.957,-70.2499],[2233.07,-500.174,32.15,172.705,-69.5691],[2195.75,-401.802,31.5333,168.411,-68.848],[2156.09,-301.324,30.8833,163.841,-68.0402],[2115.08,-201.746,30.2167,159.114,-67.1562],[2071.66,-101.034,29.5167,154.112,-66.1612],[2026.84,-2.06739,28.8,148.957,-65.064],[1978.49,99.0941,28.0333,143.416,-63.7921],[1927.61,199.384,27.2333,137.618,-62.3432],[1873.08,299.956,26.3833,131.457,-60.6492],[1814.84,399.618,25.4833,124.96,-58.6564],[1751.73,498.725,24.5167,118.048,-56.2516],[1680.35,599.873,23.4333,110.444,-53.1738],[1600.52,699.489,22.2333,102.298,-49.2008],[1506.46,798.941,20.8333,93.3534,-43.6577],[1384.14,899.848,19.0333,83.221,-34.7772],[1176.08,999.696,16.0167,71.9773,-14.8686],[1044.4,1017.36,14.1333,70.2733,-0.0764771]]], - [63,1035.62,[[2610.07,-2002.74,40.25,223.236,-76.5772],[2585.8,-1902.06,39.7833,220.528,-76.3001],[2561.33,-1802.73,39.3167,217.783,-76.0138],[2535.79,-1701.3,38.8333,214.901,-75.7071],[2510.05,-1601.38,38.35,211.979,-75.3896],[2484.11,-1502.97,37.8667,209.019,-75.0605],[2457.07,-1402.8,37.3667,205.916,-74.7074],[2428.9,-1301.04,36.85,202.667,-74.328],[2400.5,-1201.11,36.3333,199.376,-73.9331],[2371.89,-1103.02,35.8167,196.042,-73.5217],[2341.18,-1000.66,35.2667,192.449,-73.0643],[2310.23,-900.452,34.7167,188.81,-72.5856],[2279.03,-802.432,34.1667,185.127,-72.084],[2245.68,-700.896,33.5833,181.175,-71.5252],[2212.06,-601.894,33,177.178,-70.9366],[2176.23,-500.032,32.3833,172.905,-70.2793],[2140.11,-401.087,31.7667,168.587,-69.583],[2101.73,-300.001,31.1167,163.99,-68.8028],[2063.04,-202.255,30.4667,159.351,-67.9707],[2021.03,-100.781,29.7667,154.314,-67.0107],[1977.66,-1.0265,29.05,149.119,-65.9516],[1931.9,98.8202,28.3,143.652,-64.751],[1883.7,198.064,27.5167,137.919,-63.3839],[1830.95,299.839,26.6667,131.69,-61.7517],[1775.66,398.984,25.7833,125.231,-59.8674],[1714.62,499.629,24.8167,118.213,-57.5498],[1647.72,599.511,23.7667,110.704,-54.676],[1572.69,698.786,22.6,102.589,-50.9613],[1483.93,799.165,21.2333,93.5585,-45.7583],[1372.33,899.68,19.5333,83.4425,-37.6998],[1200.45,999.843,16.95,71.9957,-21.4102],[1019.32,1035.61,14.2667,67.9774,-0.129875]]], - [64,1053.42,[[2535.15,-2003.5,40.45,223.431,-77.0439],[2511.69,-1902.53,39.9833,220.717,-76.7765],[2488.04,-1802.92,39.5167,217.966,-76.5002],[2463.35,-1701.19,39.0333,215.077,-76.2042],[2438.47,-1600.96,38.55,212.148,-75.8977],[2413.39,-1502.25,38.0667,209.18,-75.5801],[2387.24,-1401.76,37.5667,206.068,-75.2393],[2360.89,-1302.94,37.0667,202.915,-74.8851],[2333.45,-1202.61,36.55,199.613,-74.5044],[2304.9,-1100.97,36.0167,196.161,-74.0946],[2276.12,-1001.33,35.4833,192.664,-73.6666],[2246.2,-900.686,34.9333,189.012,-73.2049],[2216.05,-802.228,34.3833,185.314,-72.7212],[2183.81,-700.222,33.8,181.346,-72.1821],[2151.32,-600.746,33.2167,177.33,-71.6142],[2117.63,-501.107,32.6167,173.152,-70.9976],[2082.73,-401.572,32,168.812,-70.3266],[2046.59,-302.425,31.3667,164.308,-69.5945],[2008.24,-201.478,30.7,159.521,-68.7723],[1968.62,-101.701,30.0167,154.571,-67.8692],[1926.72,-1.13632,29.3,149.338,-66.8491],[1882.5,99.5666,28.55,143.825,-65.6922],[1835.93,199.713,27.7667,138.04,-64.3741],[1786.98,298.565,26.95,131.992,-62.8639],[1733.57,399.002,26.0667,125.454,-61.0513],[1675.63,499.387,25.1167,118.458,-58.86],[1612.05,599.458,24.0833,110.939,-56.1403],[1540.63,699.484,22.9333,102.762,-52.6183],[1458.08,799.106,21.6167,93.7948,-47.8004],[1355.67,899.327,20,83.698,-40.4508],[1207.09,999.757,17.6833,72.1374,-26.4895],[992.194,1053.42,14.3833,65.6669,-0.0791323]]], - [65,1070.75,[[2457.62,-2002.04,40.6333,223.562,-77.5071],[2434.97,-1900.82,40.1667,220.842,-77.2493],[2412.14,-1800.96,39.7,218.084,-76.9828],[2389.13,-1702.47,39.2333,215.288,-76.7074],[2365.11,-1601.92,38.75,212.353,-76.4122],[2340.91,-1502.89,38.2667,209.377,-76.1063],[2315.67,-1402.07,37.7667,206.257,-75.7779],[2290.24,-1302.91,37.2667,203.094,-75.4367],[2263.75,-1202.23,36.75,199.783,-75.0698],[2236.2,-1100.23,36.2167,196.319,-74.6749],[2208.42,-1000.22,35.6833,192.81,-74.2625],[2180.42,-902.222,35.15,189.256,-73.8313],[2150.44,-800.347,34.5833,185.432,-73.3512],[2120.22,-700.819,34.0167,181.561,-72.8468],[2088.86,-600.852,33.4333,177.527,-72.3001],[2056.35,-500.702,32.8333,173.33,-71.7063],[2022.67,-400.639,32.2167,168.968,-71.06],[1987.8,-300.942,31.5833,164.439,-70.3548],[1951.72,-201.908,30.9333,159.744,-69.583],[1913.49,-101.437,30.25,154.762,-68.7139],[1873.06,-0.136512,29.5333,149.492,-67.7319],[1831.35,99.1391,28.8,144.06,-66.6436],[1787.39,198.118,28.0333,138.348,-65.4039],[1740.17,298.064,27.2167,132.24,-63.9533],[1688.66,399.697,26.3333,125.628,-62.2107],[1633.76,499.664,25.4,118.662,-60.1408],[1573.43,599.751,24.3833,111.144,-57.5696],[1506.57,698.939,23.2667,103.039,-54.2874],[1429.01,798.828,21.9833,94.0533,-49.7861],[1334.39,899.046,20.4333,83.9541,-43.038],[1202.64,999.831,18.3,72.3064,-30.7521],[964.204,1070.75,14.5,63.3361,-0.0612717]]], - [66,1087.6,[[2378.35,-2001.99,40.8167,223.725,-77.9764],[2356.51,-1900.52,40.35,221,-77.7282],[2334.51,-1800.4,39.8833,218.236,-77.4719],[2312.34,-1701.64,39.4167,215.433,-77.2068],[2289.19,-1600.82,38.9333,212.49,-76.9227],[2265.87,-1501.52,38.45,209.506,-76.6282],[2241.55,-1400.4,37.95,206.377,-76.3121],[2217.04,-1300.95,37.45,203.206,-75.9836],[2192.34,-1203.2,36.95,199.992,-75.6421],[2165.79,-1100.82,36.4167,196.518,-75.2624],[2139.02,-1000.42,35.8833,192.997,-74.8658],[2112.04,-902.042,35.35,189.431,-74.4512],[2084.01,-802.728,34.8,185.706,-74.0033],[2054.9,-702.711,34.2333,181.821,-73.5188],[2024.69,-602.237,33.65,177.772,-72.9936],[1993.37,-501.56,33.05,173.556,-72.4231],[1960.93,-400.949,32.4333,169.173,-71.8021],[1927.33,-300.686,31.8,164.621,-71.1243],[1892.58,-201.063,31.15,159.9,-70.3823],[1856.65,-102.389,30.4833,155.009,-69.5677],[1817.71,-0.330545,29.7667,149.704,-68.6247],[1777.54,99.7284,29.0333,144.231,-67.5791],[1735.19,199.534,28.2667,138.472,-66.3876],[1690.64,298.368,27.4667,132.432,-65.0222],[1641.97,399.223,26.6,125.875,-63.3814],[1590.05,498.757,25.6833,118.947,-61.4325],[1532.92,598.841,24.6833,111.438,-59.0101],[1468.56,699.961,23.5667,103.18,-55.8632],[1395.84,799.632,22.3167,94.2083,-51.6562],[1308.71,899.083,20.8333,84.1808,-45.4713],[1190.93,999.619,18.85,72.5379,-34.5697],[935.352,1087.59,14.6167,60.9855,-0.0801795]]], - [67,1103.92,[[2297.32,-2003.4,41,223.921,-78.4515],[2276.32,-1901.66,40.5333,221.191,-78.2132],[2255.16,-1801.27,40.0667,218.421,-77.967],[2233.83,-1702.24,39.6,215.613,-77.7125],[2211.56,-1601.14,39.1167,212.664,-77.4396],[2189.13,-1501.54,38.6333,209.673,-77.1568],[2165.73,-1400.12,38.1333,206.536,-76.8532],[2142.16,-1300.37,37.6333,203.356,-76.5378],[2118.4,-1202.31,37.1333,200.132,-76.2097],[2093.66,-1102.78,36.6167,196.757,-75.8566],[2067.92,-1001.99,36.0833,193.226,-75.4761],[2041.16,-900.149,35.5333,189.536,-75.0655],[2014.19,-800.483,34.9833,185.798,-74.6352],[1986.19,-700.102,34.4167,181.897,-74.1695],[1957.97,-602.094,33.85,177.947,-73.6795],[1927.84,-500.949,33.25,173.713,-73.1319],[1897.49,-402.545,32.65,169.429,-72.5522],[1865.18,-301.694,32.0167,164.855,-71.9024],[1831.77,-201.463,31.3667,160.109,-71.1909],[1797.22,-102.159,30.7,155.19,-70.4095],[1760.65,-1.75831,30,149.975,-69.5266],[1722.03,99.1081,29.2667,144.464,-68.5247],[1681.31,199.766,28.5,138.659,-67.3826],[1638.48,299.498,27.7,132.566,-66.073],[1592.59,399.438,26.85,126.069,-64.5299],[1543.59,498.389,25.95,119.187,-62.6972],[1488.69,599.923,24.95,111.572,-60.3764],[1428.68,699.775,23.8667,103.419,-57.4529],[1360.67,799.145,22.65,94.4832,-53.5395],[1278.85,899.653,21.2,84.3514,-47.7618],[1172.41,999.888,19.3333,72.7246,-37.9663],[957.311,1099.9,15.6167,59.043,-8.56116],[905.638,1103.92,14.7333,58.6153,-0.140921]]], - [68,1119.72,[[2213.85,-2002.64,41.1667,224.054,-78.9239],[2193.69,-1900.67,40.7,221.318,-78.6954],[2173.37,-1800.04,40.2333,218.542,-78.4592],[2152.89,-1700.78,39.7667,215.728,-78.2151],[2132.25,-1602.9,39.3,212.874,-77.9626],[2110.71,-1503,38.8167,209.877,-77.6916],[2088.25,-1401.27,38.3167,206.733,-77.4008],[2065.62,-1301.2,37.8167,203.545,-77.0985],[2042.82,-1202.81,37.3167,200.313,-76.7841],[2019.06,-1102.95,36.8,196.929,-76.4458],[1994.36,-1001.81,36.2667,193.387,-76.0812],[1969.45,-902.674,35.7333,189.798,-75.6999],[1943.57,-802.575,35.1833,186.048,-75.288],[1916.69,-701.743,34.6167,182.134,-74.8422],[1888.8,-600.42,34.0333,178.052,-74.3589],[1860.69,-501.647,33.45,173.919,-73.8488],[1830.74,-400.044,32.8333,169.497,-73.2778],[1800.55,-301.377,32.2167,165.021,-72.6713],[1768.48,-200.603,31.5667,160.25,-71.9897],[1735.32,-100.737,30.9,155.303,-71.2409],[1701.05,-2.09928,30.2167,150.182,-70.4154],[1663.99,99.4975,29.4833,144.634,-69.4565],[1625.77,198.774,28.7333,138.913,-68.3875],[1584.67,299.431,27.9333,132.769,-67.1352],[1541.51,398.445,27.1,126.338,-65.689],[1494.5,498.588,26.2,119.379,-63.9374],[1442.71,599.819,25.2167,111.792,-61.756],[1386.03,699.816,24.15,103.634,-59.0062],[1321.7,799.919,22.95,94.6342,-55.3181],[1245.95,899.863,21.55,84.559,-49.9919],[1149.4,999.687,19.7833,72.9783,-41.1669],[986.107,1099.83,16.8333,59.0934,-19.3798],[874.132,1119.71,14.8333,56.23,-0.0824925]]], - [69,1134.95,[[2128.73,-2003.37,41.3333,224.22,-79.4021],[2109.42,-1901.16,40.8667,221.479,-79.1835],[2089.95,-1800.29,40.4,218.699,-78.9576],[2070.33,-1700.78,39.9333,215.878,-78.724],[2050.55,-1602.65,39.4667,213.018,-78.4824],[2029.92,-1502.5,38.9833,210.015,-78.2232],[2008.4,-1400.49,38.4833,206.863,-77.9449],[1986.72,-1300.15,37.9833,203.667,-77.6556],[1964.87,-1201.49,37.4833,200.426,-77.3548],[1942.11,-1101.33,36.9667,197.032,-77.0309],[1919.18,-1003.03,36.45,193.591,-76.6931],[1894.58,-900.453,35.9,189.878,-76.317],[1869.78,-800.038,35.35,186.115,-75.9226],[1844.79,-701.819,34.8,182.302,-75.5087],[1818.08,-600.083,34.2167,178.206,-75.0466],[1791.15,-500.893,33.6333,174.056,-74.5588],[1763.24,-401.565,33.0333,169.735,-74.0278],[1734.33,-302.368,32.4167,165.24,-73.4485],[1703.61,-201.031,31.7667,160.447,-72.7974],[1671.85,-100.581,31.1,155.474,-72.082],[1639.04,-1.33996,30.4167,150.322,-71.293],[1604.35,98.636,29.7,144.866,-70.3978],[1567.75,198.692,28.95,139.105,-69.3773],[1529.22,298.129,28.1667,133.041,-68.2072],[1487.89,398.145,27.3333,126.553,-66.8278],[1442.89,499.382,26.4333,119.522,-65.1556],[1394.98,598.487,25.4833,112.101,-63.1461],[1341.58,698.615,24.4333,103.947,-60.5704],[1280.88,799.437,23.25,94.8987,-57.1103],[1210.12,899.78,21.8833,84.7945,-52.1638],[1122.11,999.283,20.2,73.2601,-44.1791],[984.596,1099.84,17.6,59.2628,-26.0896],[841.855,1134.95,14.9333,53.8257,-0.063616]]], - [70,1149.63,[[2041.31,-2001.96,41.4833,224.323,-79.8784],[2023.51,-1903.17,41.0333,221.675,-79.6772],[2004.9,-1802.05,40.5667,218.891,-79.4617],[1986.15,-1702.28,40.1,216.066,-79.2388],[1966.57,-1600.4,39.6167,213.097,-78.9999],[1946.85,-1500.03,39.1333,210.086,-78.7523],[1926.97,-1401.18,38.65,207.032,-78.4955],[1906.24,-1300.54,38.15,203.829,-78.2194],[1885.36,-1201.59,37.65,200.58,-77.9324],[1863.61,-1101.14,37.1333,197.177,-77.6233],[1841.69,-1002.53,36.6167,193.727,-77.3009],[1818.89,-902.708,36.0833,190.116,-76.953],[1795.2,-801.896,35.5333,186.343,-76.5771],[1770.59,-700.321,34.9667,182.401,-76.1703],[1745.79,-601.109,34.4,178.408,-75.742],[1720.06,-501.484,33.8167,174.243,-75.2769],[1693.39,-401.704,33.2167,169.905,-74.7706],[1665.76,-302.04,32.6,165.391,-74.218],[1636.41,-200.204,31.95,160.575,-73.5969],[1606.82,-101.72,31.3,155.702,-72.9319],[1575.47,-1.85264,30.6167,150.523,-72.1802],[1542.33,98.7861,29.9,145.033,-71.327],[1507.36,199.542,29.15,139.234,-70.354],[1470.55,299.717,28.3667,133.125,-69.2379],[1431.85,398.568,27.55,126.712,-67.9488],[1389.66,498.97,26.6667,119.744,-66.386],[1343.9,599.274,25.7167,112.238,-64.4725],[1293.71,699.208,24.6833,104.101,-62.058],[1237.37,799.019,23.5333,95.1505,-58.8604],[1171.46,899.47,22.2,85.0494,-54.2797],[1089.96,999.823,20.5667,73.4229,-46.9267],[971.404,1099.64,18.2167,59.5047,-31.4996],[808.813,1149.63,15.0333,51.4029,-0.0900986]]], - [71,1163.71,[[1952.32,-2002.09,41.6333,224.46,-80.3605],[1935.34,-1903.1,41.1833,221.809,-80.1689],[1917.6,-1801.76,40.7167,219.019,-79.9637],[1899.72,-1701.77,40.25,216.188,-79.7515],[1881.71,-1603.16,39.7833,213.317,-79.5319],[1862.91,-1502.5,39.3,210.301,-79.2964],[1843.96,-1403.36,38.8167,207.242,-79.052],[1824.2,-1302.43,38.3167,204.032,-78.7895],[1804.3,-1203.18,37.8167,200.777,-78.5164],[1783.57,-1102.4,37.3,197.366,-78.2224],[1762,-1000.31,36.7667,193.794,-77.9055],[1740.26,-900.225,36.2333,190.173,-77.574],[1718.35,-802.162,35.7,186.502,-77.2269],[1694.9,-700.227,35.1333,182.549,-76.8397],[1671.26,-600.65,34.5667,178.541,-76.4321],[1646.73,-500.647,33.9833,174.362,-75.9894],[1621.31,-400.473,33.3833,170.007,-75.5074],[1594.97,-300.401,32.7667,165.473,-74.9812],[1567.71,-200.712,32.1333,160.76,-74.4053],[1539.51,-101.704,31.4833,155.864,-73.7729],[1509.63,-1.28054,30.8,150.657,-73.0579],[1478.04,99.9468,30.0833,145.136,-72.246],[1445.46,199.123,29.35,139.429,-71.3413],[1411.13,297.97,28.5833,133.409,-70.3041],[1373.5,399.72,27.75,126.814,-69.0544],[1334.06,499.153,26.8833,119.914,-67.5965],[1291.23,598.842,25.95,112.46,-65.8116],[1244.19,698.574,24.9333,104.351,-63.5586],[1191.3,798.699,23.8,95.3847,-60.5717],[1130.1,898.979,22.5,85.3162,-56.3426],[1054.87,999.761,20.9167,73.6567,-49.6015],[950.054,1099.64,18.7333,59.729,-36.094],[775.013,1163.7,15.1333,48.9621,-0.169523]]], - [72,1177.18,[[1861.18,-2000.1,41.7667,224.535,-80.8414],[1845.04,-1900.94,41.3167,221.878,-80.6593],[1828.78,-1803.02,40.8667,219.184,-80.4714],[1811.78,-1702.8,40.4,216.349,-80.27],[1794.04,-1600.45,39.9167,213.369,-80.054],[1776.78,-1503.05,39.45,210.451,-79.838],[1758.15,-1400.27,38.95,207.279,-79.5979],[1739.99,-1302.48,38.4667,204.169,-79.3568],[1721.07,-1202.96,37.9667,200.906,-79.0975],[1701.36,-1101.92,37.45,197.487,-78.8183],[1681.5,-1002.72,36.9333,194.019,-78.5271],[1660.84,-902.28,36.4,190.389,-78.2128],[1639.36,-800.824,35.85,186.593,-77.8731],[1617.72,-701.553,35.3,182.744,-77.5164],[1595.26,-601.595,34.7333,178.725,-77.1298],[1571.94,-501.195,34.15,174.532,-76.7098],[1547.78,-400.61,33.55,170.161,-76.2526],[1522.75,-300.11,32.9333,165.61,-75.7534],[1497.52,-202.573,32.3167,161.002,-75.2217],[1470.03,-100.512,31.65,155.958,-74.6066],[1442.33,-2.0181,30.9833,150.853,-73.9448],[1412.31,99.822,30.2667,145.303,-73.1752],[1381.35,199.631,29.5333,139.562,-72.3172],[1348.72,299.146,28.7667,133.502,-71.3332],[1313.69,399.637,27.95,126.989,-70.1718],[1276.2,499.964,27.0833,120.03,-68.7899],[1236.24,598.895,26.1667,112.637,-67.1286],[1191.54,699.847,25.15,104.43,-64.9931],[1142.04,799.936,24.0333,95.4634,-62.2018],[1085.4,899.584,22.7667,85.4578,-58.298],[1016.97,999.179,21.25,73.9498,-52.2033],[922.806,1099.75,19.1833,59.9441,-40.1826],[739.685,1177.18,15.2167,46.5064,-0.109083]]], - [73,1190.03,[[1769.14,-2003.41,41.9167,224.743,-81.3344],[1753.28,-1900.37,41.45,221.984,-81.1556],[1737.87,-1802.26,41,219.285,-80.9777],[1721.76,-1701.85,40.5333,216.445,-80.787],[1705.53,-1602.81,40.0667,213.563,-80.5896],[1688.59,-1501.7,39.5833,210.535,-80.3779],[1671.52,-1402.11,39.1,207.464,-80.1582],[1653.72,-1300.7,38.6,204.24,-79.9222],[1635.78,-1200.97,38.1,200.969,-79.6766],[1617.71,-1102.94,37.6,197.652,-79.4209],[1598.28,-1000.27,37.0667,194.063,-79.1362],[1579.31,-902.713,36.55,190.537,-78.848],[1558.97,-800.944,36,186.731,-78.5266],[1538.46,-701.358,35.45,182.872,-78.1891],[1517.17,-601.072,34.8833,178.841,-77.8233],[1495.08,-500.331,34.3,174.634,-77.4258],[1472.82,-402.159,33.7167,170.37,-77.0054],[1449.11,-301.213,33.1,165.803,-76.5336],[1424.56,-200.618,32.4667,161.051,-76.017],[1399.17,-100.671,31.8167,156.112,-75.4494],[1372.92,-1.68089,31.15,150.984,-74.8237],[1345.14,98.3652,30.45,145.535,-74.1134],[1315.81,198.832,29.7167,139.763,-73.3031],[1284.91,299.042,28.95,133.665,-72.3734],[1252.4,398.272,28.15,127.241,-71.2993],[1216.9,499.525,27.2833,120.227,-69.9952],[1179.05,599.444,26.3667,112.764,-68.4261],[1137.41,699.905,25.3667,104.602,-66.4424],[1091.23,799.959,24.2667,95.6467,-63.848],[1039.02,898.92,23.0333,85.7251,-60.2677],[975.668,999.143,21.55,74.1653,-54.6606],[890.867,1099.87,19.5833,60.1534,-43.9203],[703.692,1190.03,15.3,44.0332,-0.0989234]]], - [74,1202.24,[[1674.53,-2000.92,42.0333,224.791,-81.8201],[1660.08,-1901.39,41.5833,222.127,-81.6575],[1645.53,-1803.09,41.1333,219.424,-81.4897],[1630.32,-1702.47,40.6667,216.579,-81.3098],[1614.99,-1603.22,40.2,213.693,-81.1237],[1598.99,-1501.9,39.7167,210.66,-80.924],[1582.87,-1402.09,39.2333,207.583,-80.7168],[1566.07,-1300.46,38.7333,204.352,-80.4941],[1549.13,-1200.5,38.2333,201.075,-80.2625],[1532.06,-1102.23,37.7333,197.751,-80.0212],[1514.29,-1002.5,37.2167,194.267,-79.7613],[1495.8,-901.509,36.6833,190.619,-79.4807],[1477.17,-802.538,36.15,186.919,-79.1869],[1457.82,-702.62,35.6,183.05,-78.8689],[1437.71,-601.989,35.0333,179.008,-78.5242],[1416.86,-500.889,34.45,174.788,-78.1497],[1395.84,-402.355,33.8667,170.511,-77.7533],[1373.45,-301.023,33.25,165.928,-77.3086],[1350.28,-200.028,32.6167,161.159,-76.8216],[1326.92,-102.197,31.9833,156.327,-76.3006],[1301.52,-0.246049,31.3,151.048,-75.6962],[1275.92,97.9086,30.6167,145.703,-75.0426],[1248.24,198.958,29.8833,139.901,-74.2793],[1219.06,299.782,29.1167,133.767,-73.4033],[1188.38,399.658,28.3167,127.301,-72.3906],[1155.51,499.718,27.4667,120.37,-71.1853],[1120.43,598.759,26.5667,112.979,-69.7358],[1081.8,698.728,25.5833,104.87,-67.9032],[1038.89,798.745,24.5,95.9374,-65.5059],[989.621,899.501,23.2667,85.8502,-62.1432],[931.195,999.828,21.8167,74.2818,-56.9889],[855.284,1099.68,19.95,60.4058,-47.4413],[694.711,1199.93,16.05,41.9839,-9.0976],[667.045,1202.24,15.3833,41.5433,-0.148318]]], - [75,1213.79,[[1578.55,-2000.07,42.15,224.876,-82.3114],[1564.96,-1900.37,41.7,222.207,-82.1586],[1551.27,-1801.91,41.25,219.5,-82.0008],[1536.96,-1701.13,40.7833,216.65,-81.8317],[1522.54,-1601.72,40.3167,213.759,-81.6568],[1507.5,-1500.22,39.8333,210.72,-81.469],[1492.33,-1400.23,39.35,207.637,-81.2743],[1477.05,-1301.78,38.8667,204.508,-81.072],[1461.12,-1201.57,38.3667,201.225,-80.8545],[1445.07,-1103.06,37.8667,197.894,-80.628],[1428.36,-1003.07,37.35,194.403,-80.3839],[1410.97,-901.817,36.8167,190.747,-80.1204],[1393.45,-802.576,36.2833,187.039,-79.8444],[1375.25,-702.377,35.7333,183.16,-79.5458],[1356.34,-601.454,35.1667,179.106,-79.2219],[1336.73,-500.051,34.5833,174.875,-78.87],[1316.96,-401.21,34,170.584,-78.4977],[1296.48,-302.26,33.4,166.111,-78.0914],[1274.69,-200.844,32.7667,161.325,-77.6344],[1252.14,-100.046,32.1167,156.347,-77.1321],[1228.84,-0.17482,31.45,151.175,-76.5781],[1204.77,98.447,30.7667,145.806,-75.9645],[1179.33,197.744,30.05,140.108,-75.2648],[1151.91,299.209,29.2833,133.941,-74.4434],[1123.06,399.76,28.4833,127.436,-73.4936],[1092.77,498.629,27.65,120.594,-72.386],[1059.79,598.577,26.75,113.144,-71.0279],[1023.48,699.544,25.7667,104.958,-69.3092],[983.758,799.197,24.7,96.0595,-67.0952],[938.707,898.84,23.5,86.096,-64.0332],[885.069,999.223,22.0833,74.5481,-59.3327],[816.303,1099.4,20.2833,60.6636,-50.7589],[694.65,1199.75,17.1333,42.1937,-22.9988],[629.102,1213.79,15.45,39.0389,-0.0293924]]], - [76,1224.68,[[1481.24,-2000.87,42.2667,224.997,-82.808],[1468.51,-1901,41.8167,222.325,-82.6651],[1455.69,-1802.37,41.3667,219.614,-82.5175],[1442.3,-1701.41,40.9,216.761,-82.3594],[1428.8,-1601.82,40.4333,213.865,-82.1957],[1414.71,-1500.13,39.95,210.822,-82.0201],[1401,-1403.38,39.4833,207.84,-81.8443],[1386.2,-1301.31,38.9833,204.599,-81.6488],[1371.29,-1200.91,38.4833,201.309,-81.4453],[1356.26,-1102.19,37.9833,197.972,-81.2333],[1340.62,-1001.99,37.4667,194.473,-81.0049],[1324.34,-900.516,36.9333,190.809,-80.7584],[1307.93,-801.053,36.4,187.091,-80.5002],[1290.89,-700.624,35.85,183.202,-80.2207],[1273.71,-602.403,35.3,179.258,-79.9267],[1255.35,-500.679,34.7167,175.015,-79.5978],[1236.85,-401.514,34.1333,170.713,-79.2499],[1217.67,-302.228,33.5333,166.226,-78.8701],[1197.27,-200.453,32.9,161.424,-78.4428],[1176.71,-101.835,32.2667,156.557,-77.9857],[1154.9,-1.49001,31.6,151.366,-77.4685],[1131.82,99.992,30.9,145.844,-76.881],[1108.01,199.709,30.1833,140.118,-76.2262],[1082.89,299.465,29.4333,134.054,-75.4748],[1056.45,398.556,28.65,127.649,-74.6066],[1028.11,498.166,27.8167,120.763,-73.5732],[997.248,598.922,26.9167,113.258,-72.3054],[963.839,699.126,25.95,105.14,-70.7286],[926.674,799.915,24.8833,96.146,-68.6624],[885.106,899.537,23.7,86.186,-65.8428],[836.106,999.488,22.3167,74.694,-61.5625],[774.171,1099.22,20.5833,60.8938,-53.8902],[672.507,1199.78,17.7667,42.4129,-31.197],[591.213,1224.68,15.5333,36.5172,-0.221263]]], - [77,1234.88,[[1382.62,-2003.34,42.3833,225.155,-83.3094],[1370.77,-1903.3,41.9333,222.481,-83.1764],[1358.39,-1800.85,41.4667,219.666,-83.034],[1346.36,-1703.34,41.0167,216.911,-82.8921],[1333.33,-1600.01,40.5333,213.908,-82.7344],[1320.66,-1501.66,40.0667,210.965,-82.5766],[1307.44,-1401.28,39.5833,207.872,-82.4072],[1294.11,-1302.44,39.1,204.733,-82.2312],[1280.22,-1201.82,38.6,201.439,-82.0419],[1266.23,-1102.89,38.1,198.096,-81.8448],[1251.66,-1002.47,37.5833,194.591,-81.6324],[1236.5,-900.755,37.05,190.919,-81.403],[1221.22,-801.055,36.5167,187.194,-81.1628],[1205.34,-700.38,35.9667,183.296,-80.9028],[1189.34,-601.91,35.4167,179.342,-80.6293],[1172.73,-502.798,34.85,175.211,-80.3322],[1155.01,-400.486,34.25,170.774,-79.9994],[1137.15,-300.92,33.65,166.274,-79.6459],[1118.65,-201.495,33.0333,161.584,-79.259],[1099.51,-102.494,32.4,156.702,-78.8342],[1079.2,-1.74205,31.7333,151.492,-78.3534],[1058.23,97.7913,31.05,146.082,-77.8208],[1036.05,198.053,30.3333,140.333,-77.213],[1012.67,298.384,29.5833,134.241,-76.5155],[988.054,398.082,28.8,127.803,-75.7093],[961.663,498.344,27.9667,120.876,-74.7492],[932.933,599.81,27.0667,113.32,-73.5705],[902.365,699.114,26.1167,105.276,-72.1306],[868.31,799.409,25.0667,96.3365,-70.2436],[830.165,899.019,23.9,86.3936,-67.6676],[785.111,999.624,22.5333,74.8439,-63.7498],[729.14,1099.32,20.85,61.0681,-56.8538],[641.859,1199.93,18.25,42.6069,-37.6591],[552.131,1234.87,15.6,33.9818,-0.242818]]], - [78,1244.38,[[1281.91,-2000.05,42.4667,225.154,-83.806],[1271.35,-1903.6,42.0333,222.576,-83.6875],[1259.89,-1801,41.5667,219.757,-83.5558],[1248.75,-1703.34,41.1167,216.999,-83.4245],[1237.11,-1603.4,40.65,214.096,-83.2837],[1224.96,-1501.35,40.1667,211.045,-83.1326],[1212.72,-1400.81,39.6833,207.947,-82.9759],[1200.38,-1301.8,39.2,204.803,-82.8131],[1187.52,-1201.01,38.7,201.503,-82.6379],[1174.57,-1101.91,38.2,198.154,-82.4556],[1161.07,-1001.3,37.6833,194.642,-82.259],[1147.48,-902.558,37.1667,191.079,-82.0536],[1133.34,-802.606,36.6333,187.347,-81.8316],[1118.64,-701.668,36.0833,183.442,-81.5913],[1103.83,-602.933,35.5333,179.481,-81.3385],[1088,-500.659,34.95,175.218,-81.0557],[1072.05,-400.938,34.3667,170.893,-80.7563],[1055.52,-301.075,33.7667,166.381,-80.4296],[1038.4,-201.34,33.15,161.678,-80.0719],[1020.68,-102.02,32.5167,156.78,-79.679],[1001.88,-0.927516,31.85,151.553,-79.2345],[982.464,98.9574,31.1667,146.122,-78.7417],[961.94,199.591,30.45,140.35,-78.1794],[940.777,298.128,29.7167,134.367,-77.5488],[917.996,398.35,28.9333,127.897,-76.8039],[893.57,499.175,28.1,120.933,-75.9164],[867.474,599.428,27.2167,113.469,-74.8477],[839.188,699.526,26.2667,105.366,-73.5182],[808.175,799.178,25.2333,96.4896,-71.804],[772.879,899.959,24.0667,86.4342,-69.4255],[732.212,999.667,22.7333,74.9926,-65.8983],[681.462,1099.86,21.0833,61.1619,-59.6703],[606.45,1199.54,18.6667,42.9138,-43.4023],[511.992,1244.38,15.65,31.4327,-0.0531283]]], - [79,1253.17,[[1180.47,-2002.19,42.5667,225.29,-84.312],[1170.39,-1901.89,42.1167,222.609,-84.1989],[1160.22,-1802.83,41.6667,219.888,-84.0823],[1149.6,-1701.41,41.2,217.024,-83.9572],[1138.9,-1601.36,40.7333,214.117,-83.8278],[1128.12,-1502.68,40.2667,211.167,-83.6938],[1116.87,-1401.97,39.7833,208.066,-83.5499],[1105.53,-1302.78,39.3,204.918,-83.4004],[1093.71,-1201.81,38.8,201.613,-83.2396],[1081.8,-1102.52,38.3,198.259,-83.0722],[1069.4,-1001.73,37.7833,194.742,-82.8916],[1056.9,-902.785,37.2667,191.173,-82.703],[1043.9,-802.629,36.7333,187.435,-82.4991],[1030.39,-701.479,36.1833,183.522,-82.2784],[1016.78,-602.53,35.6333,179.552,-82.0463],[1002.23,-500.026,35.05,175.28,-81.7865],[987.572,-400.074,34.4667,170.944,-81.5116],[972.799,-302.714,33.8833,166.547,-81.22],[957.063,-202.651,33.2667,161.833,-80.8919],[940.347,-100.409,32.6167,156.792,-80.5217],[923.502,-1.53425,31.9667,151.68,-80.1237],[905.657,98.7258,31.2833,146.231,-79.6715],[886.795,199.756,30.5667,140.439,-79.1554],[867.345,298.703,29.8333,134.432,-78.5765],[846.408,399.367,29.05,127.932,-77.8924],[824.41,498.699,28.2333,121.072,-77.0943],[800.431,599.588,27.35,113.566,-76.1143],[774.895,698.676,26.4167,105.552,-74.9172],[746.401,799.241,25.3833,96.6035,-73.3469],[714.436,899.695,24.2333,86.5905,-71.1993],[677.543,999.648,22.9167,75.1357,-68.0117],[632.341,1099.14,21.3167,61.4351,-62.5021],[566.311,1199.78,19,43.067,-48.3425],[471.898,1253.17,15.7167,28.8688,-0.246084]]], - [80,1261.24,[[1077.55,-2002.32,42.65,225.365,-84.8182],[1068.36,-1901.9,42.2,222.682,-84.7152],[1059.09,-1802.72,41.75,219.958,-84.6089],[1049.41,-1701.17,41.2833,217.091,-84.495],[1039.66,-1600.99,40.8167,214.18,-84.3771],[1029.83,-1502.19,40.35,211.226,-84.255],[1019.57,-1401.34,39.8667,208.121,-84.1238],[1009.24,-1302.02,39.3833,204.969,-83.9877],[998.461,-1200.91,38.8833,201.659,-83.8411],[987.604,-1101.48,38.3833,198.3,-83.6886],[976.299,-1000.53,37.8667,194.777,-83.5241],[964.907,-901.441,37.35,191.202,-83.3522],[953.057,-801.129,36.8167,187.456,-83.1664],[941.118,-702.854,36.2833,183.656,-82.9715],[928.335,-600.703,35.7167,179.558,-82.7537],[915.453,-500.923,35.15,175.399,-82.5238],[902.09,-400.722,34.5667,171.055,-82.2735],[888.24,-300.359,33.9667,166.521,-82.0003],[873.896,-200.107,33.35,161.794,-81.7011],[859.05,-100.25,32.7167,156.869,-81.3724],[843.697,-1.08676,32.0667,151.742,-81.0099],[827.432,99.4793,31.3833,146.277,-80.5982],[810.643,198.525,30.6833,140.6,-80.1394],[792.919,297.908,29.95,134.572,-79.6131],[773.84,399.043,29.1667,128.047,-78.9909],[753.794,498.87,28.35,121.156,-78.2648],[732.357,598.449,27.4833,113.753,-77.3907],[708.673,699.964,26.5333,105.546,-76.2822],[683.127,799.616,25.5167,96.6768,-74.8753],[654.426,899.585,24.3833,86.7183,-72.9514],[621.241,999.598,23.0833,75.2695,-70.0938],[580.493,1099.93,21.5,61.4604,-65.1394],[523.387,1199.55,19.3,43.3093,-52.9996],[430.856,1261.24,15.7667,26.2925,-0.222603]]], - [81,1268.57,[[973.289,-2000.43,42.7167,225.38,-85.3251],[965.301,-1903.64,42.2833,222.794,-85.2357],[956.633,-1800.66,41.8167,219.966,-85.1363],[948.21,-1702.64,41.3667,217.199,-85.0372],[939.409,-1602.32,40.9,214.286,-84.9309],[930.541,-1503.38,40.4333,211.329,-84.8209],[921.286,-1402.38,39.95,208.221,-84.7027],[911.961,-1302.91,39.4667,205.065,-84.58],[902.24,-1201.64,38.9667,201.752,-84.4479],[892.444,-1102.06,38.4667,198.389,-84.3104],[882.244,-1000.95,37.95,194.861,-84.1621],[871.966,-901.697,37.4333,191.281,-84.0071],[861.275,-801.214,36.9,187.53,-83.8396],[850.503,-702.767,36.3667,183.723,-83.6639],[838.97,-600.431,35.8,179.618,-83.4675],[827.347,-500.464,35.2333,175.452,-83.2603],[815.291,-400.068,34.65,171.099,-83.0346],[803.143,-302.261,34.0667,166.683,-82.7952],[790.203,-201.72,33.45,161.946,-82.5258],[776.811,-101.563,32.8167,157.011,-82.2299],[762.962,-2.08892,32.1667,151.872,-81.9035],[748.29,98.8068,31.4833,146.392,-81.5327],[733.144,198.193,30.7833,140.699,-81.1195],[717.156,297.937,30.05,134.651,-80.6452],[699.944,399.46,29.2667,128.102,-80.0846],[681.861,499.696,28.45,121.182,-79.43],[662.522,599.712,27.5833,113.743,-78.6415],[641.533,699.99,26.65,105.636,-77.6599],[618.87,798.747,25.65,96.8549,-76.4152],[592.985,899.646,24.5167,86.8153,-74.6853],[563.441,999.539,23.2333,75.3904,-72.1484],[527.471,1099.54,21.6833,61.6513,-67.7966],[477.548,1199.65,19.55,43.459,-57.2725],[389.402,1268.57,15.8167,23.7038,-0.307139]]], - [82,1275.17,[[868.103,-2000.29,42.7833,225.434,-85.8364],[860.985,-1903.4,42.35,222.845,-85.7567],[853.262,-1800.33,41.8833,220.016,-85.6682],[845.756,-1702.21,41.4333,217.246,-85.58],[837.914,-1601.79,40.9667,214.33,-85.4853],[830.012,-1502.74,40.5,211.37,-85.3873],[821.766,-1401.64,40.0167,208.258,-85.282],[813.456,-1302.07,39.5333,205.099,-85.1727],[804.794,-1200.69,39.0333,201.781,-85.0551],[796.065,-1100.99,38.5333,198.414,-84.9325],[787.271,-1003,38.0333,194.996,-84.8048],[777.818,-900.389,37.5,191.295,-84.6624],[768.591,-802.896,36.9833,187.657,-84.5179],[758.693,-701.211,36.4333,183.725,-84.3566],[748.72,-601.722,35.8833,179.735,-84.1868],[738.365,-501.551,35.3167,175.562,-84.0024],[727.625,-400.943,34.7333,171.203,-83.8017],[716.492,-300.158,34.1333,166.652,-83.5824],[705.275,-202.151,33.5333,162.034,-83.3489],[693.344,-101.757,32.9,157.088,-83.0855],[681.006,-2.03723,32.25,151.938,-82.7951],[667.935,99.1192,31.5667,146.444,-82.4649],[654.442,198.775,30.8667,140.735,-82.097],[640.198,298.803,30.1333,134.669,-81.6747],[625.192,398.521,29.3667,128.239,-81.1865],[609.084,499.196,28.55,121.293,-80.6045],[591.858,599.683,27.6833,113.824,-79.9034],[573.497,698.741,26.7667,105.823,-79.0468],[552.975,799.782,25.75,96.844,-77.9216],[530.257,899.905,24.6333,86.88,-76.4044],[504.287,999.507,23.3667,75.4959,-74.1792],[472.598,1099.9,21.8333,61.7132,-70.3554],[429.535,1199.71,19.7667,43.6005,-61.3294],[347.196,1275.17,15.85,21.1035,-0.0976131]]], - [83,1281.01,[[762.042,-2001.91,42.85,225.527,-86.3513],[755.56,-1901.21,42.4,222.837,-86.2788],[749.028,-1801.74,41.95,220.106,-86.204],[742.447,-1703.51,41.5,217.335,-86.1267],[735.571,-1602.98,41.0333,214.417,-86.0437],[728.393,-1500.31,40.55,211.348,-85.9547],[721.411,-1402.6,40.0833,208.341,-85.8656],[714.124,-1302.91,39.6,205.179,-85.7698],[706.528,-1201.4,39.1,201.859,-85.6667],[698.874,-1101.58,38.6,198.488,-85.5594],[690.904,-1000.22,38.0833,194.952,-85.4436],[682.873,-900.714,37.5667,191.362,-85.3227],[674.782,-803.087,37.05,187.719,-85.196],[666.103,-701.258,36.5,183.783,-85.0547],[657.357,-601.623,35.95,179.787,-84.906],[648.277,-501.3,35.3833,175.608,-84.7444],[638.859,-400.536,34.8,171.242,-84.5683],[629.369,-302.355,34.2167,166.81,-84.3816],[619.26,-201.416,33.6,162.056,-84.1715],[608.798,-100.847,32.9667,157.101,-83.9406],[597.979,-0.945993,32.3167,151.94,-83.6859],[586.797,97.9757,31.65,146.568,-83.4037],[574.968,197.926,30.95,140.847,-83.0817],[562.479,298.265,30.2167,134.765,-82.712],[549.323,398.311,29.45,128.316,-82.2845],[535.2,499.34,28.6333,121.349,-81.7748],[520.388,598.328,27.7833,113.997,-81.1731],[503.998,699.666,26.85,105.816,-80.4096],[486.301,799.569,25.85,96.9383,-79.4402],[466.684,898.941,24.75,87.0616,-78.1341],[443.919,999.505,23.4833,75.5836,-76.19],[416.748,1099.1,21.9833,61.9371,-72.9276],[379.617,1199.85,19.95,43.7037,-65.1998],[305,1281.01,15.9,18.4927,-0.483908]]], - [84,1286.09,[[654.952,-2001.54,42.9,225.561,-86.8671],[649.384,-1900.77,42.45,222.869,-86.8048],[643.773,-1801.23,42,220.136,-86.7406],[638.121,-1702.93,41.55,217.362,-86.6741],[632.214,-1602.33,41.0833,214.442,-86.6029],[626.263,-1503.1,40.6167,211.478,-86.5292],[620.052,-1401.8,40.1333,208.361,-86.4499],[613.793,-1302.02,39.65,205.196,-86.3677],[607.269,-1200.43,39.15,201.872,-86.2792],[600.694,-1100.53,38.65,198.498,-86.187],[594.07,-1002.33,38.15,195.073,-86.0908],[587.174,-902.674,37.6333,191.481,-85.9871],[580.001,-801.776,37.1,187.716,-85.875],[572.773,-702.909,36.5667,183.895,-85.7573],[565.034,-600.123,36,179.773,-85.6257],[557.465,-502.621,35.45,175.713,-85.4911],[549.377,-401.681,34.8667,171.341,-85.3402],[540.994,-300.551,34.2667,166.777,-85.1753],[532.547,-202.195,33.6667,162.144,-84.9997],[523.562,-101.43,33.0333,157.181,-84.8016],[514.271,-1.32593,32.3833,152.011,-84.5831],[504.669,97.806,31.7167,146.63,-84.341],[494.509,197.979,31.0167,140.896,-84.0647],[483.785,298.554,30.2833,134.801,-83.7474],[472.486,398.848,29.5167,128.336,-83.3804],[460.607,498.134,28.7167,121.491,-82.9522],[447.638,599.411,27.85,113.971,-82.4259],[433.815,699.311,26.9333,105.906,-81.7824],[418.62,799.699,25.9333,96.9898,-80.9512],[401.775,899.608,24.8333,87.0591,-79.8302],[382.486,999.561,23.5833,75.6517,-78.1845],[359.417,1099.14,22.1,62.0186,-75.4213],[328.327,1199.5,20.1167,43.8943,-68.9932],[262.167,1286.09,15.9333,15.8719,-0.581684]]], - [85,1290.4,[[547.159,-2002.95,42.95,225.635,-87.3859],[542.511,-1902.11,42.5,222.943,-87.334],[537.828,-1802.48,42.05,220.209,-87.2803],[532.934,-1700.48,41.5833,217.33,-87.2229],[528.179,-1603.41,41.1333,214.512,-87.1656],[523.032,-1500.57,40.65,211.439,-87.1019],[518.025,-1402.71,40.1833,208.427,-87.038],[512.8,-1302.84,39.7,205.261,-86.9693],[507.354,-1201.16,39.2,201.935,-86.8955],[501.866,-1101.15,38.7,198.558,-86.8186],[496.336,-1002.86,38.2,195.131,-86.7384],[490.579,-903.1,37.6833,191.536,-86.6517],[484.59,-802.096,37.15,187.768,-86.5582],[478.367,-700.062,36.6,183.823,-86.4569],[472.096,-600.221,36.05,179.818,-86.3503],[465.778,-502.607,35.5,175.752,-86.2379],[459.026,-401.547,34.9167,171.376,-86.112],[452.027,-300.293,34.3167,166.806,-85.9743],[444.975,-201.811,33.7167,162.167,-85.8279],[437.475,-100.912,33.0833,157.197,-85.6626],[429.718,-0.669403,32.4333,152.019,-85.4802],[421.702,98.6059,31.7667,146.628,-85.2781],[413.221,198.93,31.0667,140.884,-85.0474],[404.268,299.665,30.3333,134.777,-84.7824],[395.042,397.997,29.5833,128.438,-84.4829],[384.919,499.591,28.7667,121.434,-84.1182],[374.301,599.171,27.9167,114.038,-83.6874],[362.763,699.412,27,105.948,-83.1508],[350.292,798.569,26.0167,97.1486,-82.4699],[336.234,899.061,24.9167,87.1737,-81.5372],[320.135,999.684,23.6667,75.6989,-80.1664],[301.099,1099.05,22.2,62.1043,-77.891],[275.59,1199.41,20.25,44.0097,-72.6417],[218.842,1290.4,15.95,13.2416,-0.222174]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 429.718; -_maxRange = 2467.95; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg2.sqf deleted file mode 100644 index bc9b6f6a3e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg2.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_120mm_dm11a5_dm111a1_pd_chg2 -// Ammo: ace_arty_120mm_dm11a5_dm111a1_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1107.79,[[5111.13,-2000.46,41.1667,235.496,-66.6857],[5067.46,-1900.16,40.7,233.243,-66.2389],[5023.43,-1801.18,40.2333,230.967,-65.7795],[4977.44,-1700.06,39.75,228.587,-65.29],[4931.07,-1600.4,39.2667,226.183,-64.7859],[4884.31,-1502.21,38.7833,223.758,-64.2667],[4835.54,-1402.2,38.2833,221.227,-63.713],[4784.71,-1300.56,37.7667,218.589,-63.1222],[4733.44,-1200.68,37.25,215.93,-62.5117],[4681.73,-1102.57,36.7333,213.251,-61.8807],[4626.22,-1000.13,36.1833,210.38,-61.1852],[4571.91,-902.766,35.65,207.578,-60.4864],[4513.72,-801.493,35.0833,204.584,-59.7162],[4455.01,-702.489,34.5167,201.575,-58.9161],[4392.29,-600.171,33.9167,198.378,-58.0346],[4329,-500.472,33.3167,195.172,-57.1159],[4263.36,-400.773,32.7,191.871,-56.1309],[4195.34,-301.345,32.0667,188.482,-55.0738],[4124.88,-202.469,31.4167,185.01,-53.9382],[4050.11,-102.035,30.7333,181.374,-52.686],[3970.94,-0.627857,30.0167,177.585,-51.3045],[3889.13,98.9158,29.2833,173.745,-49.8143],[3802.76,198.35,28.5167,169.785,-48.1687],[3709.81,298.98,27.7,165.645,-46.311],[3610.12,399.713,26.8333,161.362,-44.2146],[3503.52,499.365,25.9167,156.986,-41.8491],[3385.9,599.87,24.9167,152.432,-39.0859],[3256.94,698.932,23.8333,147.815,-35.8678],[3108.2,799.08,22.6,143.043,-31.9118],[2930.78,899.323,21.15,138.231,-26.863],[2698.37,999.998,19.2833,133.581,-19.7726],[2257.16,1099.85,15.8333,130.687,-5.42145],[2091.33,1107.79,14.5667,131.751,-0.00107571]]], - [46,1144.62,[[5068.85,-2001.47,41.5667,235.869,-67.1916],[5026,-1900.62,41.1,233.606,-66.7546],[4982.81,-1801.09,40.6333,231.319,-66.3054],[4939.26,-1702.89,40.1667,229.01,-65.8433],[4893.78,-1602.59,39.6833,226.594,-65.3508],[4846.33,-1500.38,39.1833,224.071,-64.8255],[4800.08,-1403.09,38.7,221.609,-64.3021],[4750.22,-1300.75,38.1833,218.954,-63.7246],[4699.93,-1200.16,37.6667,216.277,-63.1278],[4649.22,-1101.35,37.15,213.578,-62.5108],[4596.42,-1001.23,36.6167,210.772,-61.8516],[4541.5,-900.027,36.0667,207.858,-61.1471],[4486.1,-800.919,35.5167,204.926,-60.4161],[4428.53,-701.036,34.95,201.889,-59.634],[4368.73,-600.609,34.3667,198.748,-58.7966],[4308.41,-502.649,33.7833,195.596,-57.9245],[4244.08,-401.81,33.1667,192.256,-56.963],[4177.4,-301.198,32.5333,188.822,-55.9307],[4108.33,-201.095,31.8833,185.3,-54.8214],[4036.84,-101.796,31.2167,181.697,-53.628],[3961.06,-1.2592,30.5167,177.931,-52.3106],[3880.9,99.9082,29.7833,174.017,-50.8556],[3798.11,198.91,29.0333,170.059,-49.2834],[3708.92,299.461,28.2333,165.902,-47.5065],[3615.05,398.573,27.4,161.665,-45.5393],[3512.6,499.066,26.5,157.221,-43.2734],[3401.32,599.311,25.5333,152.638,-40.6666],[3279.03,699.031,24.4833,147.932,-37.6218],[3139.48,799.786,23.3,143.043,-33.9132],[2978.07,899.432,21.95,138.118,-29.3175],[2775.64,999.552,20.2833,133.209,-23.1228],[2471.82,1099.81,17.8333,128.887,-13.1291],[2087.59,1144.61,14.8167,129.262,-0.055139]]], - [47,1181.35,[[5022.02,-2000.07,41.95,236.193,-67.6869],[4981.51,-1902.32,41.5,234.001,-67.275],[4939.16,-1802.23,41.0333,231.704,-66.836],[4896.45,-1703.46,40.5667,229.384,-66.3844],[4851.86,-1602.57,40.0833,226.956,-65.903],[4806.89,-1503.14,39.6,224.504,-65.407],[4759.99,-1401.84,39.1,221.942,-64.8779],[4712.68,-1302.15,38.6,219.358,-64.3319],[4663.39,-1200.84,38.0833,216.663,-63.7489],[4613.67,-1101.3,37.5667,213.946,-63.1462],[4561.91,-1000.43,37.0333,211.118,-62.5022],[4509.71,-901.5,36.5,208.27,-61.8349],[4455.41,-801.533,35.95,205.313,-61.1213],[4398.98,-700.754,35.3833,202.248,-60.3576],[4342.06,-602.259,34.8167,199.167,-59.5634],[4281.26,-500.496,34.2167,195.891,-58.6876],[4219.91,-401.369,33.6167,192.604,-57.7738],[4156.3,-302.274,33,189.219,-56.7928],[4088.64,-200.926,32.35,185.649,-55.7103],[4018.59,-100.336,31.6833,181.992,-54.5452],[3946.12,-0.81137,31,178.256,-53.2897],[3869.4,99.6163,30.2833,174.361,-51.9023],[3790.13,198.13,29.55,170.411,-50.403],[3704.63,298.541,28.7667,166.246,-48.7067],[3612.74,399.814,27.9333,161.895,-46.7877],[3516.17,498.98,27.0667,157.484,-44.6587],[3411.05,598.644,26.1333,152.893,-42.2046],[3295.25,698.662,25.1167,148.125,-39.3298],[3164.58,799.489,23.9833,143.162,-35.8653],[3014.68,899.856,22.7,138.091,-31.6003],[2834.91,999.241,21.1833,133.017,-26.0923],[2587.52,1099.81,19.1333,128.112,-17.9073],[2079.89,1181.35,15.05,126.771,-0.0560781]]], - [48,1217.95,[[4973.64,-2003.6,42.35,236.628,-68.2018],[4932.47,-1901.68,41.8833,234.347,-67.7846],[4890.95,-1801.07,41.4167,232.039,-67.3555],[4849.1,-1701.77,40.95,229.708,-66.9142],[4805.39,-1600.33,40.4667,227.267,-66.4436],[4761.31,-1500.34,39.9833,224.802,-65.9587],[4716.87,-1401.83,39.5,222.312,-65.459],[4670.51,-1301.49,39,219.712,-64.9256],[4623.77,-1202.78,38.5,217.088,-64.3748],[4575.06,-1102.5,37.9833,214.353,-63.7866],[4524.35,-1000.86,37.45,211.506,-63.158],[4473.21,-901.151,36.9167,208.636,-62.5066],[4420.01,-800.375,36.3667,205.655,-61.8098],[4366.36,-701.71,35.8167,202.654,-61.0863],[4310.6,-602.296,35.25,199.545,-60.3114],[4252.7,-502.369,34.6667,196.327,-59.4808],[4192.62,-402.174,34.0667,193.005,-58.5897],[4130.32,-301.971,33.45,189.58,-57.6328],[4065.76,-202.031,32.8167,186.057,-56.6042],[3997.18,-100.132,32.15,182.348,-55.4681],[3927.96,-1.66841,31.4833,178.647,-54.2739],[3854.6,97.9665,30.7833,174.777,-52.9535],[3777.02,198.163,30.05,170.751,-51.4924],[3695.12,298.268,29.2833,166.586,-49.8742],[3607,399.6,28.4667,162.217,-48.0414],[3514.34,499.172,27.6167,157.766,-46.0064],[3413.36,599.709,26.7,153.105,-43.6562],[3303.83,699.541,25.7167,148.305,-40.9445],[3181.75,799.765,24.6333,143.314,-37.7151],[3042.92,899.929,23.4167,138.165,-33.7722],[2879.03,999.755,22,132.92,-28.7512],[2669.38,1099.24,20.2167,127.733,-21.7955],[2304.4,1199.89,17.1833,123.476,-8.67871],[2068.35,1217.95,15.2667,124.275,-0.000838607]]], - [49,1254.38,[[4919.28,-2001.14,42.7167,236.933,-68.6922],[4880.38,-1902.38,42.2667,234.724,-68.2991],[4839.72,-1801.23,41.8,232.407,-67.8802],[4798.72,-1701.39,41.3333,230.065,-67.4492],[4757.38,-1602.88,40.8667,227.698,-67.0057],[4714.22,-1502.27,40.3833,225.221,-66.5327],[4670.7,-1403.13,39.9,222.719,-66.0451],[4625.3,-1302.13,39.4,220.104,-65.5246],[4579.52,-1202.76,38.9,217.465,-64.9871],[4531.82,-1101.79,38.3833,214.712,-64.4129],[4483.71,-1002.6,37.8667,211.935,-63.8188],[4433.64,-902.095,37.3333,209.045,-63.1835],[4381.55,-800.495,36.7833,206.041,-62.5039],[4329.01,-700.998,36.2333,203.016,-61.798],[4274.41,-600.717,35.6667,199.878,-61.0419],[4219.35,-502.735,35.1,196.723,-60.2548],[4160.53,-401.53,34.5,193.366,-59.3859],[4099.54,-300.278,33.8833,189.903,-58.4524],[4038.01,-201.869,33.2667,186.43,-57.4756],[3972.56,-101.264,32.6167,182.767,-56.3962],[3904.83,-1.45786,31.95,179.011,-55.2326],[3833.04,99.6015,31.25,175.079,-53.9454],[3758.85,199.042,30.5333,171.074,-52.5533],[3680.47,298.683,29.7833,166.918,-51.0106],[3596.04,399.902,28.9833,162.54,-49.2615],[3507.2,499.697,28.15,158.061,-47.3179],[3412.06,599.098,27.2667,153.429,-45.1127],[3308.64,698.559,26.3167,148.616,-42.563],[3193.04,799.378,25.2667,143.551,-39.5167],[3063.04,899.998,24.1,138.31,-35.8348],[2914.41,998.902,22.7833,133.001,-31.2897],[2727.27,1099.62,21.15,127.523,-25.0777],[2456.74,1199.9,18.8333,122.391,-15.291],[2057.14,1254.38,15.5,121.735,-0.040033]]], - [50,1290.6,[[4861.92,-2000.02,43.0833,237.269,-69.1876],[4823.84,-1900.78,42.6333,235.051,-68.8038],[4785.45,-1802.74,42.1833,232.809,-68.4095],[4745.31,-1702.35,41.7167,230.457,-67.9891],[4704.85,-1603.29,41.25,228.079,-67.5564],[4662.59,-1502.1,40.7667,225.59,-67.0949],[4619.98,-1402.37,40.2833,223.075,-66.619],[4575.54,-1300.76,39.7833,220.447,-66.1111],[4530.72,-1200.76,39.2833,217.792,-65.5865],[4485.54,-1102.4,38.7833,215.112,-65.0444],[4438.45,-1002.49,38.2667,212.317,-64.4651],[4389.44,-901.247,37.7333,209.407,-63.8455],[4340.01,-801.943,37.2,206.472,-63.203],[4288.6,-701.599,36.65,203.423,-62.5151],[4235.17,-600.437,36.0833,200.259,-61.7781],[4181.29,-501.563,35.5167,197.075,-61.0107],[4125.33,-402.207,34.9333,193.78,-60.1873],[4067.28,-302.617,34.3333,190.374,-59.303],[4005.46,-200.402,33.7,186.767,-58.3258],[3943.08,-101.218,33.0667,183.152,-57.3009],[3876.82,-0.136732,32.4,179.345,-56.1672],[3808.28,99.8823,31.7167,175.448,-54.943],[3737.42,198.517,31.0167,171.471,-53.6193],[3660.77,299.84,30.2667,167.236,-52.1172],[3581.67,398.685,29.5,162.951,-50.4857],[3496.58,498.64,28.6833,158.453,-48.6335],[3405.37,598.6,27.8167,153.778,-46.5293],[3306.1,699.103,26.8833,148.889,-44.0922],[3198.58,798.432,25.8833,143.862,-41.2701],[3077.11,898.978,24.7667,138.572,-37.8442],[2937.6,999.568,23.5,133.085,-33.5894],[2770.08,1099.86,22,127.47,-28.0317],[2546.73,1199.85,20.0333,121.926,-19.9301],[2042.15,1290.6,15.7167,119.189,-0.0225921]]], - [51,1326.56,[[4801.54,-2000.32,43.45,237.637,-69.688],[4764.27,-1900.6,43,235.411,-69.3136],[4726.71,-1802.07,42.55,233.16,-68.929],[4687.43,-1701.17,42.0833,230.798,-68.5188],[4647.84,-1601.58,41.6167,228.41,-68.0967],[4607.92,-1503.33,41.15,225.996,-67.6621],[4566.24,-1403,40.6667,223.469,-67.1982],[4522.76,-1300.77,40.1667,220.827,-66.7031],[4478.91,-1200.14,39.6667,218.158,-66.1916],[4434.71,-1101.13,39.1667,215.462,-65.663],[4388.64,-1000.56,38.65,212.65,-65.098],[4342.19,-901.772,38.1333,209.812,-64.5129],[4293.85,-801.703,37.6,206.857,-63.8868],[4243.56,-700.561,37.05,203.785,-63.2164],[4192.85,-601.535,36.5,200.689,-62.5195],[4140.15,-501.754,35.9333,197.478,-61.7723],[4085.44,-401.455,35.35,194.151,-60.9703],[4028.66,-300.885,34.75,190.712,-60.1086],[3969.8,-200.303,34.1333,187.161,-59.1818],[3910.42,-102.583,33.5167,183.6,-58.2106],[3845.65,-0.207141,32.85,179.743,-57.1076],[3780.29,98.7245,32.1833,175.887,-55.9457],[3711.03,198.841,31.4833,171.846,-54.6579],[3637.8,299.529,30.75,167.633,-53.2291],[3562.19,398,30,163.357,-51.6774],[3479.05,499.964,29.1833,158.757,-49.8757],[3393.38,598.271,28.35,154.144,-47.9079],[3298.17,699.611,27.4333,149.193,-45.5807],[3196.69,798.648,26.4667,144.151,-42.9281],[3081.69,899.934,25.3833,138.777,-39.6959],[2952.76,999.964,24.1833,133.253,-35.7751],[2802.18,1099.15,22.8,127.583,-30.792],[2608.8,1199.44,21.05,121.76,-23.7795],[2294.75,1299.74,18.2667,116.481,-11.2384],[2025.44,1326.56,15.9333,116.62,-0.0254478]]], - [52,1362.24,[[4738.1,-2002.1,43.8167,238.036,-70.1934],[4701.66,-1901.88,43.3667,235.803,-69.8285],[4664.93,-1802.85,42.9167,233.544,-69.4536],[4626.53,-1701.42,42.45,231.174,-69.0539],[4587.81,-1601.31,41.9833,228.776,-68.6424],[4548.78,-1502.52,41.5167,226.351,-68.2188],[4508.02,-1401.63,41.0333,223.812,-67.7666],[4466.93,-1302.21,40.55,221.246,-67.3002],[4424.06,-1200.93,40.05,218.563,-66.8021],[4380.85,-1101.27,39.55,215.852,-66.2872],[4335.81,-1000.02,39.0333,213.023,-65.7368],[4290.4,-900.546,38.5167,210.168,-65.1668],[4244.62,-802.878,38,207.286,-64.5761],[4195.47,-700.924,37.45,204.192,-63.9235],[4145.9,-601.077,36.9,201.073,-63.245],[4094.39,-500.442,36.3333,197.835,-62.5173],[4042.44,-402.11,35.7667,194.575,-61.7589],[3986.96,-300.543,35.1667,191.102,-60.9204],[3931,-201.634,34.5667,187.612,-60.0432],[3871.41,-100.158,33.9333,183.913,-59.0726],[3811.29,-1.73388,33.3,180.205,-58.0531],[3747.44,98.5259,32.6333,176.296,-56.9236],[3681.4,197.679,31.95,172.293,-55.7017],[3609.87,299.958,31.2167,168.01,-54.313],[3537.67,397.898,30.4833,163.752,-52.8381],[3458.15,499.719,29.6833,159.151,-51.1232],[3376.19,598.173,28.8667,154.52,-49.2497],[3286.64,698.329,27.9833,149.612,-47.0725],[3189.33,798.583,27.0333,144.487,-44.5421],[3082.33,898.716,26,139.142,-41.5499],[2961.87,999.06,24.85,133.55,-37.9047],[2822.22,1099.36,23.5333,127.729,-33.2996],[2650.12,1199.93,21.9333,121.713,-27.0668],[2407.46,1299.85,19.7167,115.832,-17.3494],[2006.99,1362.23,16.15,114.025,-0.0500754]]], - [53,1397.58,[[4670.3,-2001.65,44.1667,238.385,-70.6901],[4634.69,-1900.97,43.7167,236.145,-70.3345],[4598.79,-1801.48,43.2667,233.878,-69.9692],[4562.6,-1703.18,42.8167,231.584,-69.5937],[4524.77,-1602.52,42.35,229.177,-69.1931],[4486.63,-1503.19,41.8833,226.743,-68.7806],[4446.81,-1401.72,41.4,224.193,-68.3403],[4406.65,-1301.73,40.9167,221.614,-67.8861],[4366.17,-1203.21,40.4333,219.008,-67.4174],[4323.95,-1102.89,39.9333,216.284,-66.9165],[4279.96,-1000.94,39.4167,213.44,-66.3809],[4235.6,-900.762,38.9,210.567,-65.8262],[4190.87,-802.384,38.3833,207.667,-65.2513],[4144.32,-702.748,37.85,204.646,-64.6357],[4095.9,-602.065,37.3,201.505,-63.9758],[4045.59,-500.56,36.7333,198.242,-63.2681],[3994.85,-401.348,36.1667,194.954,-62.5302],[3942.18,-301.651,35.5833,191.548,-61.7375],[3887.53,-201.717,34.9833,188.023,-60.8847],[3830.87,-101.809,34.3667,184.384,-59.9663],[3772.17,-2.19831,33.7333,180.632,-58.9758],[3709.83,99.3229,33.0667,176.674,-57.878],[3645.35,199.783,32.3833,172.615,-56.6897],[3578.7,298.859,31.6833,168.464,-55.4016],[3508.23,398.428,30.95,164.131,-53.9693],[3432.25,499.942,30.1667,159.538,-52.3384],[3353.9,598.37,29.3667,154.9,-50.5564],[3268.19,698.931,28.5,149.96,-48.4824],[3176.61,798.32,27.5833,144.861,-46.1127],[3075.65,898.442,26.5833,139.492,-43.3039],[2961.64,999.845,25.4667,133.799,-39.8693],[2834.21,1098.89,24.2333,127.986,-35.6842],[2678.93,1199.69,22.75,121.831,-30.0793],[2475.11,1299.77,20.8333,115.615,-21.9215],[1984.94,1397.58,16.35,111.423,-0.0140635]]], - [54,1432.55,[[4599.47,-2002.77,44.5167,238.767,-71.192],[4564.69,-1901.62,44.0667,236.52,-70.8459],[4529.63,-1801.65,43.6167,234.245,-70.4902],[4494.3,-1702.87,43.1667,231.943,-70.1247],[4457.35,-1601.7,42.7,229.527,-69.7347],[4420.11,-1501.86,42.2333,227.083,-69.3331],[4382.56,-1403.36,41.7667,224.611,-68.9193],[4343.36,-1302.77,41.2833,222.021,-68.4775],[4302.47,-1200.27,40.7833,219.312,-68.0056],[4262.61,-1102.71,40.3,216.665,-67.5342],[4219.66,-1000.11,39.7833,213.805,-67.0131],[4177.75,-902.497,39.2833,211.01,-66.491],[4132.67,-800.229,38.75,207.998,-65.9138],[4088.64,-703.005,38.2333,205.053,-65.3336],[4041.38,-601.535,37.6833,201.889,-64.692],[3993.72,-502.187,37.1333,198.699,-64.0243],[3944.2,-402.08,36.5667,195.385,-63.3075],[3892.79,-301.451,35.9833,191.95,-62.5371],[3839.45,-200.549,35.3833,188.393,-61.7082],[3785.65,-102.324,34.7833,184.816,-60.8398],[3728.38,-1.58986,34.15,181.023,-59.8777],[3669.07,98.601,33.5,177.118,-58.8382],[3607.7,197.95,32.8333,173.106,-57.7133],[3542.69,298.493,32.1333,168.894,-56.4636],[3473.95,399.616,31.4,164.491,-55.0731],[3403,498.519,30.65,160.013,-53.558],[3326.6,598.9,29.85,155.278,-51.8298],[3244.64,699.686,29,150.317,-49.8561],[3156.98,799.706,28.1,145.171,-47.5982],[3061.86,899.349,27.1333,139.804,-44.9635],[2955.77,999.797,26.0667,134.134,-41.7827],[2836.71,1099.38,24.8833,128.238,-37.8905],[2695.8,1199.73,23.5,122.021,-32.8236],[2518.41,1299.77,21.7833,115.606,-25.7397],[2239.31,1399.85,19.1333,109.416,-13.244],[1963.05,1432.55,16.5667,108.781,-0.0856847]]], - [55,1467.12,[[4524.34,-2001.72,44.85,239.098,-71.6863],[4490.4,-1900.14,44.4,236.844,-71.3494],[4457.46,-1803.42,43.9667,234.646,-71.0163],[4421.69,-1700.49,43.5,232.251,-70.6475],[4386.93,-1602.47,43.05,229.913,-70.2815],[4350.58,-1502.1,42.5833,227.46,-69.891],[4313.95,-1403.07,42.1167,224.978,-69.4886],[4275.7,-1301.93,41.6333,222.377,-69.0589],[4237.13,-1202.26,41.15,219.747,-68.6154],[4196.91,-1100.73,40.65,216.995,-68.1413],[4156.35,-1000.82,40.15,214.213,-67.651],[4115.46,-902.56,39.65,211.402,-67.1435],[4072.87,-802.78,39.1333,208.468,-66.6004],[4028.53,-701.68,38.6,205.41,-66.0185],[3983.83,-602.538,38.0667,202.322,-65.4139],[3937.34,-502.379,37.5167,199.109,-64.7654],[3889.04,-401.428,36.95,195.77,-64.069],[3840.33,-302.787,36.3833,192.406,-63.3423],[3788.32,-200.899,35.7833,188.818,-62.5377],[3735.85,-101.678,35.1833,185.207,-61.6946],[3681.47,-2.52026,34.5667,181.476,-60.7853],[3623.65,98.8561,33.9167,177.527,-59.7766],[3563.81,199.434,33.25,173.465,-58.6846],[3501.94,298.901,32.5667,169.297,-57.5005],[3436.46,399.219,31.85,164.929,-56.1825],[3367.3,499.751,31.1,160.375,-54.7131],[3294.39,599.817,30.3167,155.649,-53.0716],[3217.66,698.692,29.5,150.777,-51.2339],[3133.86,799.282,28.6167,145.594,-49.0881],[3042.81,899.978,27.6667,140.156,-46.5801],[2944.36,999.016,26.65,134.543,-43.6449],[2831.76,1100,25.5,128.527,-39.9833],[2702.94,1199.81,24.2,122.277,-35.3725],[2545.63,1299.53,22.6333,115.748,-29.1148],[2324.5,1399.7,20.4667,109.086,-19.2257],[1935.87,1467.12,16.75,106.143,-0.00827332]]], - [56,1501.24,[[4446.22,-2002.32,45.1833,239.462,-72.1859],[4413.13,-1900.29,44.7333,237.201,-71.8584],[4381,-1803.13,44.3,234.997,-71.5345],[4347.38,-1703.4,43.85,232.68,-71.1889],[4312.23,-1601.24,43.3833,230.248,-70.8202],[4276.79,-1500.39,42.9167,227.785,-70.4404],[4241.07,-1400.87,42.45,225.293,-70.0492],[4205.05,-1302.69,41.9833,222.771,-69.6459],[4167.46,-1202.46,41.5,220.13,-69.215],[4128.24,-1100.33,41,217.366,-68.7544],[4090.03,-1003.14,40.5167,214.664,-68.2941],[4048.84,-900.948,40,211.745,-67.7849],[4007.31,-800.533,39.4833,208.794,-67.257],[3965.44,-701.921,38.9667,205.813,-66.7094],[3921.87,-602.049,38.4333,202.706,-66.1224],[3876.55,-501.128,37.8833,199.471,-65.4926],[3830.86,-402.344,37.3333,196.207,-64.8365],[3783.39,-302.834,36.7667,192.817,-64.1314],[3732.7,-200.016,36.1667,189.198,-63.3505],[3683,-102.6,35.5833,185.656,-62.5552],[3630.01,-2.38954,34.9667,181.889,-61.6734],[3575.12,97.5214,34.3333,178,-60.7206],[3516.83,199.348,33.6667,173.891,-59.6622],[3458.02,297.696,33,169.772,-58.5428],[3394.24,399.482,32.2833,165.343,-57.2659],[3328.39,499.348,31.55,160.818,-55.8739],[3258.9,599.047,30.7833,156.111,-54.3185],[3184.19,699.876,29.9667,151.138,-52.5387],[3105.68,798.846,29.1167,146.031,-50.5394],[3020.19,898.647,28.2,140.634,-48.1994],[2925.96,999.191,27.2,134.921,-45.4078],[2821.2,1099.59,26.1,128.913,-42.0211],[2702.39,1199.26,24.8667,122.626,-37.7941],[2559.32,1299.74,23.4,115.954,-32.1313],[2372.9,1399.49,21.5167,109.072,-23.8201],[1960.45,1499.94,17.45,103.182,-2.76086],[1908.82,1501.24,16.95,103.467,-0.0422232]]], - [57,1534.88,[[4363.91,-2000.81,45.5,239.775,-72.6789],[4332.86,-1902.14,45.0667,237.592,-72.3726],[4300.35,-1800.8,44.6167,235.297,-72.0458],[4267.59,-1700.64,44.1667,232.972,-71.7099],[4234.56,-1601.68,43.7167,230.618,-71.3644],[4200.04,-1500.33,43.25,228.148,-70.9956],[4165.23,-1400.31,42.7833,225.646,-70.6157],[4130.15,-1301.63,42.3167,223.115,-70.224],[4093.52,-1200.86,41.8333,220.462,-69.8055],[4056.59,-1101.57,41.35,217.778,-69.3732],[4018.08,-1000.44,40.85,214.97,-68.9109],[3979.25,-900.952,40.35,212.13,-68.4324],[3940.11,-803.119,39.85,209.26,-67.9368],[3898.02,-700.618,39.3167,206.166,-67.3885],[3855.57,-600.061,38.7833,203.04,-66.8186],[3812.77,-501.476,38.25,199.883,-66.226],[3768.28,-401.906,37.7,196.597,-65.5896],[3722.05,-301.578,37.1333,193.181,-64.9056],[3674.06,-200.729,36.55,189.635,-64.1694],[3625.66,-102.383,35.9667,186.063,-63.3986],[3574.07,-1.17689,35.35,182.261,-62.5436],[3520.62,99.7667,34.7167,178.333,-61.6194],[3466.71,197.628,34.0833,174.386,-60.6452],[3408.04,299.706,33.4,170.113,-59.5337],[3348.85,398.088,32.7167,165.833,-58.3546],[3284.76,499.495,31.9833,161.241,-57.0075],[3218.62,598.672,31.2333,156.559,-55.535],[3147.41,699.328,30.4333,151.595,-53.8487],[3072.54,798.461,29.6,146.478,-51.9536],[2990.9,898.872,28.7,141.042,-49.7324],[2902.33,998.909,27.7333,135.346,-47.1243],[2803.58,1099.76,26.6667,129.293,-43.9516],[2692.81,1199.75,25.4833,122.95,-40.033],[2563.36,1299.42,24.1167,116.267,-34.9378],[2400.14,1399.34,22.4167,109.22,-27.6968],[2144.43,1499.98,19.8,102.086,-14.7004],[1878.42,1534.88,17.1333,100.779,-0.010746]]], - [58,1567.99,[[4278.62,-2001.04,45.8167,240.121,-73.1774],[4248.4,-1901.95,45.3833,237.933,-72.8801],[4216.75,-1800.18,44.9333,235.631,-72.5629],[4186.04,-1703.29,44.5,233.386,-72.249],[4152.71,-1600.19,44.0333,230.938,-71.9014],[4120.3,-1501.99,43.5833,228.547,-71.5564],[4086.43,-1401.45,43.1167,226.038,-71.1878],[4052.28,-1302.25,42.65,223.497,-70.808],[4016.63,-1200.94,42.1667,220.834,-70.402],[3980.69,-1101.1,41.6833,218.139,-69.9827],[3944.46,-1002.76,41.2,215.413,-69.5494],[3906.68,-902.635,40.7,212.56,-69.0857],[3867.32,-800.906,40.1833,209.58,-68.5891],[3827.63,-700.967,39.6667,206.566,-68.0739],[3787.62,-602.844,39.15,203.52,-67.5391],[3744.68,-500.418,38.6,200.245,-66.947],[3701.38,-400.111,38.05,196.937,-66.3299],[3657.72,-301.956,37.5,193.599,-65.6863],[3611.03,-200.24,36.9167,190.027,-64.9731],[3563.95,-101.015,36.3333,186.425,-64.2262],[3515.11,-1.59562,35.7333,182.693,-63.4203],[3464.49,97.7555,35.1167,178.832,-62.5496],[3410.68,199.325,34.4667,174.739,-61.5818],[3356.4,297.611,33.8167,170.629,-60.5587],[3297.44,399.732,33.1167,166.19,-59.3901],[3237.95,497.93,32.4167,161.745,-58.1463],[3173.64,598.725,31.6667,156.99,-56.7231],[3105.86,699.047,30.8833,152.043,-55.1271],[3034.54,798.17,30.0667,146.927,-53.3328],[2956.67,899.005,29.1833,141.465,-51.2269],[2872.09,999.937,28.2333,135.71,-48.7505],[2780.66,1099.2,27.2167,129.738,-45.8311],[2677.65,1199.01,26.0833,123.386,-42.2128],[2558.15,1299.2,24.7833,116.623,-37.5411],[2412.3,1399.32,23.2167,109.462,-31.1081],[2207.46,1499.95,21.05,101.966,-20.7406],[1846.42,1567.99,17.3167,98.0653,-0.00431915]]], - [59,1600.55,[[4190.38,-2003.05,46.1333,240.501,-73.6812],[4160.98,-1903.54,45.7,238.308,-73.393],[4130.21,-1801.34,45.25,236,-73.0855],[4099.2,-1700.29,44.8,233.662,-72.7694],[4067.93,-1600.44,44.35,231.294,-72.4442],[4036.42,-1501.79,43.9,228.896,-72.1097],[4003.47,-1400.77,43.4333,226.378,-71.7524],[3970.27,-1301.08,42.9667,223.828,-71.3841],[3936.8,-1202.75,42.5,221.247,-71.0042],[3901.85,-1102.35,42.0167,218.542,-70.5981],[3865.41,-1000.06,41.5167,215.71,-70.1636],[3829.89,-902.725,41.0333,212.939,-69.7291],[3791.62,-800.375,40.5167,209.944,-69.248],[3754.29,-703.025,40.0167,207.013,-68.7652],[3714.14,-601.053,39.4833,203.852,-68.2305],[3673.65,-501.038,38.95,200.658,-67.6743],[3632.84,-403.009,38.4167,197.431,-67.0953],[3589.12,-301.063,37.85,193.969,-66.4537],[3545.03,-201.425,37.2833,190.474,-65.7831],[3499.27,-101.306,36.7,186.845,-65.0604],[3451.81,-0.955516,36.1,183.082,-64.2807],[3402.61,99.3621,35.4833,179.186,-63.4379],[3351.65,199.371,34.85,175.159,-62.5254],[3298.9,298.781,34.2,171.004,-61.5358],[3242.97,399.71,33.5167,166.62,-60.4326],[3185.17,499.237,32.8167,162.118,-59.23],[3124.08,599.25,32.0833,157.4,-57.8846],[3059.65,699.083,31.3167,152.479,-56.3757],[2991.8,798.031,30.5167,147.373,-54.6786],[2917.6,899.109,29.65,141.897,-52.6845],[2838.38,998.994,28.7333,136.2,-50.3802],[2751.09,1099.6,27.7333,130.14,-47.6119],[2655.55,1198.58,26.65,123.825,-44.2785],[2544.1,1299.67,25.4,116.971,-39.9508],[2413.27,1399.03,23.95,109.798,-34.2173],[2239.44,1499.6,22.05,102.112,-25.4722],[1844.56,1599.97,17.8333,95.1554,-1.99161],[1812.83,1600.55,17.5,95.3271,-0.0251785]]], - [60,1632.51,[[4098.05,-2003.07,46.4333,240.831,-74.1794],[4069.5,-1903.17,46,238.633,-73.9002],[4039.6,-1800.55,45.55,236.319,-73.6022],[4010.58,-1702.83,45.1167,234.062,-73.3074],[3980.21,-1602.52,44.6667,231.688,-72.9926],[3949.6,-1503.39,44.2167,229.283,-72.6688],[3917.6,-1401.89,43.75,226.757,-72.3229],[3885.35,-1301.71,43.2833,224.199,-71.9663],[3852.83,-1202.87,42.8167,221.609,-71.5985],[3818.89,-1101.95,42.3333,218.893,-71.2053],[3784.67,-1002.52,41.85,216.145,-70.7988],[3748.99,-901.24,41.35,213.267,-70.3637],[3713.01,-801.604,40.85,210.355,-69.9131],[3675.54,-700.396,40.3333,207.311,-69.4301],[3637.76,-600.991,39.8167,204.233,-68.9287],[3598.44,-500.3,39.2833,201.021,-68.3904],[3558.8,-401.587,38.75,197.774,-67.8301],[3517.59,-301.894,38.2,194.393,-67.2277],[3474.78,-201.447,37.6333,190.874,-66.5793],[3430.34,-100.486,37.05,187.219,-65.8804],[3385.53,-2.03564,36.4667,183.531,-65.1476],[3337.77,99.2683,35.85,179.602,-64.3333],[3289.6,197.681,35.2333,175.645,-63.4752],[3238.4,298.238,34.5833,171.449,-62.5197],[3185.44,397.935,33.9167,167.124,-61.4809],[3129.34,498.817,33.2167,162.567,-60.3205],[3071.41,598.005,32.5,157.894,-59.0521],[3008.88,699.458,31.7333,152.897,-57.5964],[2944.41,798.07,30.95,147.811,-55.9933],[2873.82,899.219,30.1,142.333,-54.1073],[2798.36,999.573,29.2,136.607,-51.9261],[2716.53,1099.52,28.2333,130.583,-49.3475],[2626.76,1198.73,27.1833,124.244,-46.2366],[2524.51,1298.69,26,117.449,-42.2964],[2403.62,1399.37,24.6167,110.137,-37.0376],[2251.65,1499.67,22.9,102.355,-29.441],[2013.08,1599.88,20.25,94.2992,-15.4155],[1777.64,1632.51,17.6833,92.5644,-0.0763725]]], - [61,1663.84,[[4001.74,-2001.07,46.7167,241.11,-74.6728],[3974.01,-1900.81,46.2833,238.906,-74.4023],[3946.07,-1801.61,45.85,236.673,-74.1246],[3917.91,-1703.48,45.4167,234.41,-73.8393],[3888.44,-1602.73,44.9667,232.03,-73.5348],[3858.73,-1503.18,44.5167,229.618,-73.2214],[3827.68,-1401.21,44.05,227.084,-72.8867],[3796.37,-1300.57,43.5833,224.518,-72.5416],[3764.82,-1201.28,43.1167,221.918,-72.1857],[3733.02,-1103.34,42.65,219.287,-71.8184],[3699.82,-1003.36,42.1667,216.528,-71.4255],[3665.2,-901.519,41.6667,213.638,-71.0048],[3630.29,-801.31,41.1667,210.714,-70.5691],[3595.11,-702.759,40.6667,207.755,-70.1174],[3558.46,-602.691,40.15,204.662,-69.633],[3520.32,-501.307,39.6167,201.434,-69.1131],[3481.86,-401.896,39.0833,198.169,-68.5717],[3441.89,-301.474,38.5333,194.767,-67.9896],[3400.36,-200.268,37.9667,191.226,-67.3629],[3358.48,-101.39,37.4,187.65,-66.7072],[3315.02,-2.07107,36.8167,183.936,-65.9995],[3269.95,97.4359,36.2167,180.082,-65.2349],[3221.98,199.512,35.5833,175.983,-64.3841],[3173.59,298.504,34.95,171.855,-63.4851],[3122.23,399.324,34.2833,167.485,-62.4822],[3069.13,499.011,33.6,162.985,-61.389],[3012.96,599.528,32.8833,158.252,-60.1651],[2954.97,698.043,32.15,153.405,-58.8228],[2892.49,798.355,31.3667,148.236,-57.2786],[2825.41,899.407,30.5333,142.766,-55.4971],[2755,998.213,29.6667,137.132,-53.4758],[2677.1,1099.04,28.7167,131.058,-51.0392],[2591.52,1199.7,27.6833,124.621,-48.0935],[2496.69,1299.14,26.55,117.847,-44.463],[2386.74,1398.84,25.25,110.578,-39.7164],[2251.2,1499.22,23.6667,102.721,-32.9963],[2060.09,1599.62,21.4667,94.3527,-21.8481],[1739.36,1663.84,17.85,89.7874,-0.0562652]]], - [62,1694.5,[[3902.53,-2000.99,47,241.425,-75.1721],[3875.66,-1900.36,46.5667,239.216,-74.9106],[3848.57,-1800.78,46.1333,236.977,-74.642],[3821.27,-1702.28,45.7,234.708,-74.3662],[3792.7,-1601.13,45.25,232.321,-74.0717],[3763.9,-1501.18,44.8,229.902,-73.7687],[3734.87,-1402.43,44.35,227.452,-73.4567],[3704.53,-1301.32,43.8833,224.877,-73.1233],[3673.95,-1201.54,43.4167,222.27,-72.7794],[3643.12,-1103.12,42.95,219.629,-72.4246],[3610.94,-1002.64,42.4667,216.86,-72.0449],[3577.39,-900.272,41.9667,213.959,-71.6384],[3544.69,-802.862,41.4833,211.12,-71.2316],[3509.45,-700.442,40.9667,208.049,-70.7807],[3475.08,-603.03,40.4667,205.041,-70.3279],[3438.12,-500.999,39.9333,201.796,-69.8259],[3400.85,-400.934,39.4,198.514,-69.3031],[3363.29,-302.864,38.8667,195.197,-68.7583],[3323.05,-200.882,38.3,191.634,-68.1538],[3282.48,-101.219,37.7333,188.035,-67.5211],[3240.38,-1.08334,37.15,184.294,-66.8382],[3196.71,99.2717,36.55,180.411,-66.1001],[3151.45,199.582,35.9333,176.386,-65.3008],[3104.58,299.569,35.3,172.221,-64.4337],[3056.07,398.942,34.65,167.918,-63.4911],[3004.64,499.815,33.9667,163.37,-62.4375],[2951.5,599.269,33.2667,158.691,-61.2856],[2895.35,699.183,32.5333,153.779,-59.9925],[2836.13,798.893,31.7667,148.645,-58.5366],[2772.49,899.687,30.95,143.192,-56.856],[2705.65,998.57,30.1,137.557,-54.9487],[2631.57,1099.96,29.1667,131.449,-52.6458],[2552.77,1198.52,28.1833,125.147,-49.9531],[2463.75,1298.57,27.0833,118.329,-46.5732],[2361.51,1398.99,25.8333,110.993,-42.1952],[2238.8,1499.53,24.35,103.078,-36.1576],[2076.73,1599.71,22.4167,94.5763,-26.775],[1699.57,1694.5,18.0167,86.9853,-0.0666527]]], - [63,1724.47,[[3800.46,-2002.85,47.2833,241.773,-75.677],[3774.44,-1901.84,46.85,239.56,-75.4246],[3748.22,-1801.88,46.4167,237.316,-75.1653],[3721.79,-1702.99,45.9833,235.043,-74.8991],[3694.13,-1601.44,45.5333,232.65,-74.6148],[3666.25,-1501.07,45.0833,230.224,-74.3222],[3638.15,-1401.9,44.6333,227.767,-74.021],[3608.77,-1300.36,44.1667,225.185,-73.6992],[3579.16,-1200.14,43.7,222.569,-73.3671],[3549.32,-1101.28,43.2333,219.919,-73.0245],[3518.17,-1000.33,42.75,217.139,-72.6578],[3486.76,-900.872,42.2667,214.323,-72.2786],[3455.11,-802.933,41.7833,211.474,-71.8861],[3422.11,-703.237,41.2833,208.489,-71.4655],[3387.74,-601.972,40.7667,205.368,-71.0143],[3353.08,-502.518,40.25,202.21,-70.5453],[3317.02,-401.783,39.7167,198.911,-70.0415],[3280.67,-303.036,39.1833,195.576,-69.5163],[3241.73,-200.328,38.6167,191.992,-68.9335],[3203.63,-102.851,38.0667,188.478,-68.3417],[3162.88,-1.88099,37.4833,184.712,-67.6841],[3120.63,99.3416,36.8833,180.801,-66.973],[3078.03,197.855,36.2833,176.855,-66.2243],[3032.69,298.858,35.65,172.655,-65.3898],[2985.76,399.285,35,168.312,-64.4823],[2937.22,498.834,34.3333,163.829,-63.4931],[2885.82,599.54,33.6333,159.099,-62.3849],[2832.74,698.528,32.9167,154.239,-61.1694],[2775.48,799.743,32.15,149.032,-59.7692],[2716.45,898.088,31.3667,143.719,-58.2203],[2651.82,998.917,30.5167,137.98,-56.3886],[2582.76,1098.9,29.6167,131.963,-54.257],[2507.9,1198.4,28.65,125.606,-51.7181],[2424.48,1298.58,27.5833,118.779,-48.5748],[2329.68,1399.03,26.3833,111.433,-44.547],[2217.87,1499.56,24.9833,103.493,-39.0909],[2076.36,1599.58,23.2333,94.9206,-30.9707],[1843.5,1699.95,20.4,85.7738,-14.6855],[1658.28,1724.47,18.1833,84.1585,-0.110201]]], - [64,1753.69,[[3694.54,-2002.83,47.55,242.072,-76.1781],[3669.39,-1901.47,47.1167,239.854,-75.9346],[3644.03,-1801.15,46.6833,237.606,-75.6845],[3618.48,-1701.9,46.25,235.327,-75.4277],[3592.72,-1603.73,45.8167,233.017,-75.1637],[3565.77,-1502.94,45.3667,230.586,-74.8818],[3538.61,-1403.35,44.9167,228.123,-74.5916],[3510.21,-1301.35,44.45,225.534,-74.2814],[3481.59,-1200.68,43.9833,222.91,-73.9614],[3452.74,-1101.36,43.5167,220.252,-73.6312],[3423.66,-1003.4,43.05,217.559,-73.2902],[3393.31,-903.41,42.5667,214.735,-72.925],[3361.66,-801.56,42.0667,211.776,-72.5339],[3329.76,-701.351,41.5667,208.779,-72.1284],[3297.6,-602.808,41.0667,205.745,-71.7077],[3264.11,-502.756,40.55,202.573,-71.256],[3229.25,-401.397,40.0167,199.258,-70.7707],[3194.12,-302.019,39.4833,195.905,-70.2649],[3157.59,-201.642,38.9333,192.408,-69.7203],[3119.65,-100.493,38.3667,188.765,-69.1332],[3081.4,-1.68276,37.8,185.083,-68.5179],[3041.7,97.5548,37.2167,181.255,-67.853],[2999.39,199.687,36.6,177.17,-67.1126],[2956.73,298.925,35.9833,173.047,-66.3306],[2912.56,397.785,35.35,168.779,-65.4806],[2865.67,498.449,34.6833,164.254,-64.5301],[2817.2,597.959,34,159.588,-63.491],[2765.94,698.268,33.2833,154.671,-62.3239],[2711.83,798.732,32.5333,149.511,-61.0089],[2654.82,898.662,31.75,144.12,-59.522],[2593.63,999.276,30.9167,138.399,-57.798],[2528.19,1099.42,30.0333,132.376,-55.7903],[2457.16,1199.54,29.0833,125.982,-53.3962],[2379.17,1299.38,28.05,119.177,-50.4759],[2291.51,1399.22,26.9,111.872,-46.7789],[2188.8,1499.87,25.5667,103.908,-41.8082],[2062.82,1599.8,23.95,95.2931,-34.6409],[1881.05,1699.5,21.65,85.9424,-22.0719],[1614.13,1753.69,18.3333,81.3155,-0.0762987]]], - [65,1782.14,[[3584.87,-2000.93,47.8,242.321,-76.6759],[3561.51,-1903.14,47.3833,240.185,-76.4504],[3537.04,-1802.46,46.95,237.932,-76.2097],[3512.37,-1702.84,46.5167,235.649,-75.9624],[3486.55,-1600.52,46.0667,233.244,-75.6984],[3461.49,-1503.11,45.6333,230.898,-75.4369],[3435.26,-1403.12,45.1833,228.428,-75.1574],[3407.85,-1300.71,44.7167,225.831,-74.8588],[3381.21,-1203.21,44.2667,223.294,-74.5619],[3353.36,-1103.41,43.8,220.629,-74.2442],[3324.29,-1001.49,43.3167,217.831,-73.9043],[3294.99,-901.055,42.8333,214.996,-73.5526],[3265.46,-802.123,42.35,212.125,-73.1887],[3234.66,-701.388,41.85,209.117,-72.7986],[3203.62,-602.313,41.35,206.071,-72.3938],[3171.29,-501.705,40.8333,202.884,-71.9592],[3138.71,-402.923,40.3167,199.659,-71.507],[3104.8,-302.898,39.7833,196.29,-71.0208],[3069.55,-201.846,39.2333,192.774,-70.4973],[3034.02,-102.958,38.6833,189.219,-69.9499],[2996.02,-0.475278,38.1,185.406,-69.3412],[2957.71,99.4999,37.5167,181.553,-68.7016],[2917.99,199.676,36.9167,177.549,-68.0091],[2876.82,299.788,36.3,173.396,-67.2577],[2834.2,399.555,35.6667,169.092,-66.4407],[2790.09,498.685,35.0167,164.64,-65.5503],[2743.33,599.284,34.3333,159.928,-64.5524],[2695.03,698.435,33.6333,155.073,-63.4579],[2644,798.01,32.9,149.966,-62.2247],[2589.02,899.444,32.1167,144.501,-60.7989],[2531.2,999.69,31.3,138.806,-59.1787],[2469.29,1099.83,30.4333,132.79,-57.2909],[2403.22,1198.65,29.5167,126.487,-55.0799],[2329.26,1299.59,28.5,119.615,-52.332],[2247.24,1399.8,27.3833,112.284,-48.8984],[2153.25,1499.74,26.1167,104.371,-44.3875],[2039.47,1599.91,24.6,95.7121,-37.9748],[1886.25,1699.64,22.5833,86.2362,-27.487],[1568.57,1782.14,18.4833,78.4472,-0.0759868]]], - [66,1809.79,[[3472.44,-2001.08,48.05,242.606,-77.18],[3449.92,-1902.97,47.6333,240.466,-76.9631],[3426.33,-1801.96,47.2,238.209,-76.7315],[3402.55,-1702,46.7667,235.92,-76.4937],[3378.58,-1603.11,46.3333,233.6,-76.2494],[3353.5,-1501.58,45.8833,231.158,-75.9883],[3328.22,-1401.22,45.4333,228.681,-75.7195],[3302.74,-1302.08,44.9833,226.171,-75.4426],[3276.11,-1200.56,44.5167,223.532,-75.1466],[3249.27,-1100.38,44.05,220.858,-74.841],[3222.21,-1001.56,43.5833,218.148,-74.5255],[3193.97,-900.662,43.1,215.304,-74.1875],[3165.51,-801.264,42.6167,212.422,-73.8378],[3135.83,-700.043,42.1167,209.403,-73.4628],[3105.91,-600.476,41.6167,206.344,-73.0737],[3075.76,-502.59,41.1167,203.247,-72.6697],[3043.34,-400.056,40.5833,199.903,-72.2213],[3011.69,-302.604,40.0667,196.623,-71.7687],[2977.72,-200.925,39.5167,193.09,-71.2659],[2943.48,-101.403,38.9667,189.515,-70.74],[2907.92,-1.15524,38.4,185.79,-70.1724],[2871.01,99.5773,37.8167,181.913,-69.5587],[2833.81,197.773,37.2333,177.996,-68.913],[2794.16,298.78,36.6167,173.813,-68.1927],[2753.1,399.476,35.9833,169.476,-67.4094],[2710.61,499.57,35.3333,164.986,-66.5555],[2666.67,598.758,34.6667,160.346,-65.6221],[2620.15,699.062,33.9667,155.442,-64.5733],[2571,799.857,33.2333,150.277,-63.3909],[2520.31,898.34,32.4833,144.977,-62.0833],[2465.78,998.179,31.6833,139.318,-60.5659],[2407.33,1098.28,30.8333,133.318,-58.7973],[2343.74,1199.22,29.9167,126.89,-56.6844],[2274.89,1299.29,28.9333,120.085,-54.1447],[2198.33,1399.55,27.85,112.759,-50.9658],[2111.49,1499.47,26.6333,104.853,-46.8355],[2008.12,1599.69,25.2,96.1818,-41.0663],[1874.32,1699.88,23.3667,86.604,-32.0041],[1626.97,1799.88,20.0333,76.2136,-10.4499],[1521.62,1809.79,18.6333,75.554,-0.113391]]], - [67,1836.6,[[3357.27,-2003.38,48.3,242.928,-77.6898],[3334.74,-1901.03,47.8667,240.698,-77.4732],[3312.91,-1803.59,47.45,238.524,-77.2595],[3290.03,-1703.28,47.0167,236.231,-77.0313],[3266.08,-1600.25,46.5667,233.816,-76.7876],[3242.83,-1502.13,46.1333,231.459,-76.5462],[3218.51,-1401.41,45.6833,228.976,-76.2883],[3193.99,-1301.89,45.2333,226.46,-76.0226],[3169.29,-1203.59,44.7833,223.909,-75.7487],[3143.47,-1102.96,44.3167,221.228,-75.4558],[3116.51,-1000.16,43.8333,218.413,-75.1423],[3090.28,-902.312,43.3667,215.659,-74.8293],[3062.89,-802.435,42.8833,212.769,-74.4939],[3034.34,-700.712,42.3833,209.739,-74.1343],[3005.56,-600.639,41.8833,206.669,-73.7612],[2976.56,-502.241,41.3833,203.56,-73.3737],[2946.35,-402.348,40.8667,200.307,-72.9574],[2914.92,-301.164,40.3333,196.906,-72.5095],[2883.23,-201.973,39.8,193.464,-72.0421],[2850.3,-101.799,39.25,189.871,-71.5382],[2816.09,-0.872591,38.6833,186.126,-70.9943],[2781.61,97.7021,38.1167,182.338,-70.4233],[2744.8,199.474,37.5167,178.284,-69.787],[2707.7,298.529,36.9167,174.186,-69.1156],[2669.26,397.462,36.3,169.933,-68.3857],[2628.41,498.544,35.65,165.408,-67.569],[2586.16,598.754,34.9833,160.727,-66.6759],[2542.5,697.776,34.3,155.894,-65.6967],[2495.25,799.82,33.5667,150.675,-64.5663],[2446.52,899.593,32.8167,145.312,-63.3155],[2395.18,998.769,32.0333,139.696,-61.8943],[2340.11,1098.55,31.2,133.723,-60.2373],[2280.1,1199.57,30.3,127.298,-58.256],[2216.19,1298.51,29.35,120.581,-55.9158],[2144.91,1398.52,28.3,113.288,-52.9824],[2063.8,1499.29,27.1167,105.326,-49.1602],[1969.18,1599.69,25.75,96.6427,-43.9296],[1851.32,1699.41,24.0667,87.0854,-36.0371],[1669.12,1799.7,21.5,76.3556,-20.4532],[1472.06,1836.6,18.7667,72.6431,-0.0649725]]], - [68,1862.54,[[3238.52,-2003.88,48.5333,243.201,-78.1973],[3216.88,-1901.21,48.1,240.967,-77.9898],[3195.91,-1803.47,47.6833,238.789,-77.785],[3173.93,-1702.84,47.25,236.492,-77.5663],[3151.79,-1603.28,46.8167,234.162,-77.3415],[3128.61,-1501.03,46.3667,231.709,-77.1014],[3106.11,-1403.69,45.9333,229.313,-76.8635],[3081.7,-1300.1,45.4667,226.697,-76.5995],[3057.97,-1201.46,45.0167,224.14,-76.3371],[3033.16,-1100.46,44.55,221.451,-76.0562],[3008.17,-1000.82,44.0833,218.725,-75.7662],[2982.98,-902.545,43.6167,215.962,-75.4665],[2956.68,-802.228,43.1333,213.063,-75.1453],[2929.26,-700.044,42.6333,210.023,-74.801],[2902.55,-602.829,42.15,207.045,-74.4558],[2873.77,-500.636,41.6333,203.82,-74.0725],[2844.76,-400.251,41.1167,200.553,-73.6737],[2815.52,-301.704,40.6,197.245,-73.2583],[2785.1,-201.932,40.0667,193.787,-72.811],[2753.48,-101.155,39.5167,190.177,-72.3288],[2721.61,-2.55332,38.9667,186.524,-71.8239],[2687.53,99.61,38.3833,182.603,-71.2617],[2653.18,199.251,37.8,178.637,-70.6698],[2617.56,299.068,37.2,174.513,-70.0278],[2580.66,398.792,36.5833,170.23,-69.3297],[2542.45,498.142,35.95,165.788,-68.5689],[2501.9,599.312,35.2833,161.07,-67.7155],[2460,699.328,34.6,156.193,-66.7795],[2416.72,797.857,33.9,151.161,-65.7493],[2369.96,898.949,33.15,145.739,-64.5565],[2320.71,999.517,32.3667,140.053,-63.2005],[2268.92,1098.82,31.55,134.116,-61.651],[2212.42,1199.77,30.6667,127.705,-59.797],[2152.2,1299.03,29.7333,120.976,-57.606],[2084.92,1399.9,28.7,113.627,-54.8547],[2010.44,1499.47,27.5667,105.766,-51.3703],[1924.18,1599.21,26.2667,97.1486,-46.6475],[1817.99,1699.48,24.6833,87.5354,-39.6145],[1668.61,1799.46,22.4833,76.7347,-27.0198],[1421.22,1862.54,18.9,69.7071,-0.0542518]]], - [69,1887.58,[[3116.29,-2002.62,48.75,243.425,-78.7032],[3096.35,-1903.61,48.3333,241.274,-78.5124],[3075.45,-1801.65,47.9,239.005,-78.3087],[3054.39,-1700.74,47.4667,236.703,-78.0994],[3033.16,-1600.89,47.0333,234.368,-77.8843],[3011.76,-1502.11,46.6,232,-77.6632],[2989.37,-1400.69,46.15,229.507,-77.4269],[2966.8,-1300.47,45.7,226.978,-77.1834],[2944.06,-1201.46,45.25,224.414,-76.9325],[2920.29,-1100.09,44.7833,221.719,-76.664],[2896.34,-1000.06,44.3167,218.985,-76.3867],[2872.19,-901.401,43.85,216.214,-76.1001],[2846.99,-800.679,43.3667,213.306,-75.7931],[2821.59,-701.468,42.8833,210.357,-75.4749],[2795.11,-600.447,42.3833,207.266,-75.1336],[2768.43,-501.092,41.8833,204.134,-74.7791],[2740.63,-400.2,41.3667,200.855,-74.3981],[2712.61,-301.139,40.85,197.533,-74.0013],[2683.46,-200.833,40.3167,194.06,-73.574],[2654.09,-102.537,39.7833,190.544,-73.1275],[2622.62,-0.334409,39.2167,186.761,-72.6306],[2590.91,99.53,38.65,182.932,-72.1089],[2558,199.852,38.0667,178.944,-71.5439],[2524.82,297.62,37.4833,174.91,-70.9483],[2489.48,398.157,36.8667,170.6,-70.2826],[2452.88,498.352,36.2333,166.127,-69.5569],[2415.01,597.91,35.5833,161.491,-68.7637],[2374.88,698.946,34.9,156.573,-67.8718],[2333.43,798.531,34.2,151.495,-66.8897],[2289.65,898.544,33.4667,146.138,-65.7784],[2243.49,998.313,32.7,140.509,-64.5152],[2193.91,1099.12,31.8833,134.493,-63.0406],[2140.84,1199.83,31.0167,128.108,-61.3095],[2084.22,1299.24,30.1,121.38,-59.263],[2021.91,1399.19,29.1,114.111,-56.7342],[1952.74,1498.77,28,106.269,-53.5276],[1872.33,1599.75,26.7333,97.5577,-49.1655],[1777.21,1699.11,25.25,88.0372,-42.9307],[1648.56,1799.58,23.2667,77.1471,-32.2274],[1369.09,1887.57,19.0333,66.7466,-0.0872855]]], - [70,1911.68,[[2991.48,-2003.59,48.9667,243.686,-79.2154],[2971.65,-1900.34,48.5333,241.445,-79.0259],[2952.42,-1802.04,48.1167,239.259,-78.8389],[2932.28,-1700.82,47.6833,236.953,-78.6392],[2911.98,-1600.67,47.25,234.614,-78.434],[2891.52,-1501.58,46.8167,232.242,-78.2229],[2870.9,-1403.59,46.3833,229.836,-78.0059],[2849.33,-1303,45.9333,227.303,-77.7738],[2827.59,-1203.62,45.4833,224.734,-77.5346],[2804.86,-1101.86,45.0167,222.032,-77.2786],[2781.96,-1001.43,44.55,219.293,-77.0143],[2758.88,-902.375,44.0833,216.515,-76.7411],[2734.78,-801.235,43.6,213.598,-76.4483],[2710.5,-701.601,43.1167,210.641,-76.145],[2685.18,-600.14,42.6167,207.54,-75.8195],[2659.67,-500.338,42.1167,204.397,-75.4814],[2633.95,-402.222,41.6167,201.212,-75.13],[2607.17,-302.632,41.1,197.878,-74.752],[2579.31,-201.774,40.5667,194.392,-74.345],[2551.22,-102.92,40.0333,190.86,-73.9196],[2521.15,-0.118068,39.4667,187.06,-73.4462],[2491.72,97.43,38.9167,183.326,-72.964],[2460.27,198.453,38.3333,179.317,-72.4263],[2427.66,299.706,37.7333,175.145,-71.8427],[2394.78,398.224,37.1333,170.925,-71.2256],[2359.81,499.204,36.5,166.422,-70.5346],[2323.61,599.576,35.85,161.752,-69.7791],[2286.2,699.034,35.1833,156.916,-68.9506],[2246.58,799.607,34.4833,151.793,-68.016],[2205.7,898.418,33.7667,146.508,-66.9829],[2161.6,999.397,33,140.818,-65.7816],[2115.2,1099.48,32.2,134.853,-64.4083],[2065.47,1199.81,31.35,128.502,-62.7958],[2012.38,1299.2,30.45,121.787,-60.8889],[1953.86,1399.61,29.4667,114.498,-58.5302],[1889.82,1498.73,28.4,106.705,-55.5835],[1816.09,1599.16,27.1833,98.0615,-51.6214],[1728.38,1699.91,25.75,88.4202,-45.9286],[1616.01,1799.9,23.9333,77.5693,-36.6839],[1413.09,1899.77,20.7,65.081,-13.4789],[1314.62,1911.68,19.15,63.767,-0.0234317]]], - [71,1934.83,[[2863.37,-2002.83,49.1667,243.9,-79.7265],[2845.18,-1903.29,48.75,241.742,-79.5531],[2826.11,-1800.76,48.3167,239.466,-79.368],[2807.63,-1703.16,47.9,237.245,-79.1852],[2788.27,-1602.69,47.4667,234.902,-78.99],[2768.76,-1503.29,47.0333,232.526,-78.7892],[2748.34,-1401.22,46.5833,230.023,-78.5746],[2727.76,-1300.33,46.1333,227.483,-78.3536],[2707.01,-1200.66,45.6833,224.908,-78.1257],[2686.11,-1102.21,45.2333,222.296,-77.8908],[2664.27,-1001.43,44.7667,219.549,-77.6392],[2642.25,-902.005,44.3,216.764,-77.3792],[2619.27,-800.485,43.8167,213.839,-77.1006],[2596.11,-700.466,43.3333,210.873,-76.812],[2572.77,-601.972,42.85,207.867,-76.5127],[2548.44,-501.709,42.35,204.714,-76.1914],[2523.92,-403.126,41.85,201.519,-75.8573],[2498.38,-303.05,41.3333,198.173,-75.498],[2471.81,-201.684,40.8,194.673,-75.1109],[2445.03,-102.317,40.2667,191.127,-74.7065],[2417.2,-1.97185,39.7167,187.423,-74.2698],[2388.3,99.1224,39.15,183.558,-73.7976],[2359.16,197.855,38.5833,179.644,-73.3011],[2328.07,299.783,37.9833,175.449,-72.7467],[2296.72,398.983,37.3833,171.205,-72.1603],[2264.26,498.053,36.7667,166.793,-71.5213],[2229.76,599.263,36.1167,162.092,-70.8042],[2194.08,699.591,35.45,157.22,-70.0176],[2157.23,798.714,34.7667,152.179,-69.1519],[2118.26,898.576,34.05,146.846,-68.1719],[2077.14,998.523,33.3,141.224,-67.0578],[2032.92,1099.92,32.5,135.191,-65.7561],[1986.47,1199.72,31.6667,128.884,-64.2579],[1936.82,1298.93,30.7833,122.194,-62.486],[1882.01,1399.63,29.8167,114.899,-60.2921],[1821.96,1499.54,28.7667,107.058,-57.5478],[1754.63,1598.82,27.6,98.5292,-53.9592],[1675.02,1699.16,26.2333,88.9536,-48.8487],[1574.96,1799.56,24.5333,78.0771,-40.728],[1420.02,1899.88,21.9333,65.3907,-23.4191],[1258.99,1934.83,19.2667,60.7631,-0.00326621]]], - [72,1956.99,[[2732.07,-2000.37,49.35,244.066,-80.2374],[2714.76,-1900.6,48.9333,241.905,-80.0726],[2697.32,-1801.77,48.5167,239.712,-79.9036],[2679.04,-1700,48.0833,237.398,-79.7231],[2661.33,-1603.14,47.6667,235.141,-79.5448],[2642.77,-1503.46,47.2333,232.761,-79.3542],[2623.35,-1401.08,46.7833,230.253,-79.1505],[2604.5,-1303.62,46.35,227.803,-78.9485],[2584.77,-1203.59,45.9,225.223,-78.7325],[2564.16,-1101.15,45.4333,222.509,-78.5013],[2543.38,-1000.05,44.9667,219.756,-78.2625],[2522.44,-900.294,44.5,216.963,-78.0157],[2501.34,-801.918,44.0333,214.131,-77.7604],[2479.31,-701.501,43.55,211.158,-77.4866],[2457.12,-602.603,43.0667,208.143,-77.2028],[2433.98,-501.919,42.5667,204.981,-76.898],[2410.66,-402.911,42.0667,201.775,-76.5812],[2386.37,-302.39,41.55,198.418,-76.2403],[2361.11,-200.56,41.0167,194.905,-75.8731],[2335.64,-100.726,40.4833,191.344,-75.4893],[2309.97,-2.91718,39.95,187.737,-75.0878],[2282.49,98.7527,39.3833,183.855,-74.6403],[2254.79,198.067,38.8167,179.923,-74.1697],[2226.05,297.805,38.2333,175.825,-73.6592],[2196.25,397.709,37.6333,171.558,-73.1041],[2165.39,497.51,37.0167,167.121,-72.4991],[2132.59,599.499,36.3667,162.39,-71.8199],[2099.53,698.147,35.7167,157.607,-71.094],[2064.49,798.198,35.0333,152.528,-70.2751],[2027.45,899.042,34.3167,147.151,-69.3476],[1989.24,997.833,33.5833,141.602,-68.3171],[1948.09,1098.37,32.8,135.634,-67.1131],[1903.95,1199.59,31.9667,129.252,-65.6981],[1857.66,1298.48,31.1,122.597,-64.0564],[1806.49,1399.29,30.15,115.31,-62.022],[1750.35,1499.81,29.1167,107.437,-59.4747],[1688.23,1598.94,27.9833,98.9396,-56.1893],[1615.4,1699.27,26.6667,89.386,-51.5571],[1526.02,1799.4,25.0667,78.5623,-44.3879],[1397.96,1899.65,22.8,65.8629,-30.3454],[1202.21,1956.99,19.3833,57.7353,-0.0341046]]], - [73,1978.12,[[2598.37,-2000.25,49.5333,244.271,-80.7547],[2581.95,-1900.24,49.1167,242.106,-80.5987],[2565.41,-1801.17,48.7,239.91,-80.4387],[2548.75,-1703.06,48.2833,237.682,-80.2745],[2531.29,-1602.05,47.85,235.332,-80.099],[2513.69,-1502.11,47.4167,232.947,-79.9185],[2495.95,-1403.24,46.9833,230.528,-79.7329],[2477.39,-1301.74,46.5333,227.979,-79.5345],[2458.69,-1201.44,46.0833,225.393,-79.3299],[2439.84,-1102.36,45.6333,222.77,-79.1189],[2420.14,-1000.91,45.1667,220.011,-78.8931],[2400.29,-900.817,44.7,217.212,-78.6596],[2380.28,-802.095,44.2333,214.374,-78.4181],[2359.4,-701.316,43.75,211.392,-78.1592],[2338.36,-602.053,43.2667,208.369,-77.8907],[2316.42,-500.987,42.7667,205.197,-77.6023],[2294.31,-401.593,42.2667,201.981,-77.3025],[2271.28,-300.67,41.75,198.612,-76.9799],[2248.08,-201.587,41.2333,195.197,-76.6436],[2223.93,-101.266,40.7,191.624,-76.2809],[2199.61,-2.96616,40.1667,188.003,-75.9014],[2173.55,99.2307,39.6,184.105,-75.4783],[2147.3,199.077,39.0333,180.155,-75.0334],[2120.05,299.368,38.45,176.036,-74.5506],[2091.81,399.847,37.85,171.747,-74.0256],[2063.34,497.569,37.25,167.405,-73.4693],[2033.05,597.685,36.6167,162.769,-72.8447],[2000.92,699.651,35.95,157.832,-72.1417],[1968.53,798.059,35.2833,152.841,-71.3872],[1933.43,899.816,34.5667,147.421,-70.5117],[1897.22,999.552,33.8333,141.824,-69.5385],[1859.06,1099,33.0667,135.926,-68.426],[1818.07,1199.44,32.25,129.602,-67.1186],[1774.22,1299.73,31.3833,122.863,-65.5709],[1727.45,1398.63,30.4667,115.726,-63.7222],[1675.14,1499.58,29.45,107.839,-61.3661],[1617.18,1599.7,28.3333,99.2744,-58.3227],[1550.84,1699.41,27.0667,89.7991,-54.1381],[1470.66,1799.14,25.55,79.0481,-47.779],[1360.25,1899.97,23.4833,66.2871,-35.8556],[1144.28,1978.12,19.5,54.6842,-0.125392]]], - [74,1998.21,[[2462.29,-2002.5,49.7167,244.515,-81.2781],[2446.79,-1902.25,49.3,242.348,-81.1311],[2431.16,-1802.93,48.8833,240.149,-80.9802],[2414.78,-1700.65,48.45,237.829,-80.819],[2398.92,-1603.29,48.0333,235.565,-80.6599],[2382.29,-1503.08,47.6,233.177,-80.4897],[2364.88,-1400.15,47.15,230.66,-80.3079],[2348,-1302.16,46.7167,228.201,-80.1276],[2330.32,-1201.57,46.2667,225.61,-79.9346],[2312.51,-1102.19,45.8167,222.982,-79.7356],[2293.9,-1000.44,45.35,220.217,-79.5226],[2275.14,-900.044,44.8833,217.411,-79.3025],[2256.24,-801.012,44.4167,214.566,-79.0747],[2237.19,-703.37,43.95,211.68,-78.8391],[2216.63,-600.318,43.45,208.544,-78.5772],[2196.59,-502.263,42.9667,205.47,-78.3145],[2175.7,-402.468,42.4667,202.245,-78.032],[2153.95,-301.125,41.95,198.866,-77.728],[2132.03,-201.619,41.4333,195.44,-77.4111],[2109.23,-100.857,40.9,191.854,-77.0693],[2086.24,-2.11072,40.3667,188.22,-76.7116],[2062.36,97.578,39.8167,184.421,-76.3249],[2037.56,197.977,39.25,180.456,-75.9061],[2011.83,298.843,38.6667,176.319,-75.4516],[1985.15,399.918,38.0667,172.009,-74.9573],[1958.26,498.244,37.4667,167.645,-74.4333],[1929.66,599.002,36.8333,162.982,-73.845],[1900.07,699.129,36.1833,158.139,-73.1999],[1869.48,798.315,35.5167,153.116,-72.4899],[1837.1,898.579,34.8167,147.784,-71.6859],[1802.91,999.29,34.0833,142.142,-70.7713],[1766.88,1099.77,33.3167,136.191,-69.7253],[1728.98,1199.3,32.5167,129.933,-68.5215],[1688.37,1299,31.6667,123.246,-67.0966],[1644.22,1399.45,30.75,116.012,-65.3612],[1596.47,1498.9,29.7667,108.258,-63.2241],[1542.59,1599.81,28.6667,99.6471,-60.4165],[1481.64,1699.79,27.4333,90.1693,-56.6027],[1409.33,1799.23,25.9833,79.4762,-50.9246],[1313.64,1899.48,24.0833,66.8269,-40.7493],[1084.36,1998.21,19.6,51.6137,-0.106724]]], - [75,2017.23,[[2323.29,-2003.14,49.8833,244.712,-81.8017],[2308.69,-1902.66,49.4667,242.543,-81.6635],[2293.99,-1803.13,49.05,240.341,-81.5217],[2278.57,-1700.61,48.6167,238.018,-81.3703],[2263.64,-1603.03,48.2,235.751,-81.2207],[2247.99,-1502.58,47.7667,233.358,-81.0608],[2232.22,-1403.2,47.3333,230.931,-80.8963],[2215.71,-1301.16,46.8833,228.373,-80.7205],[2199.08,-1200.32,46.4333,225.777,-80.5392],[2182.32,-1100.69,45.9833,223.144,-80.3522],[2165.43,-1002.29,45.5333,220.472,-80.1592],[2147.78,-901.569,45.0667,217.661,-79.9525],[2129.99,-802.213,44.6,214.81,-79.7387],[2111.42,-700.771,44.1167,211.814,-79.5094],[2092.72,-600.838,43.6333,208.775,-79.2717],[2073.86,-502.437,43.15,205.693,-79.0249],[2054.21,-402.28,42.65,202.459,-78.7597],[2033.74,-300.56,42.1333,199.07,-78.4743],[2013.11,-200.672,41.6167,195.633,-78.1766],[1992.32,-102.644,41.1,192.148,-77.8659],[1970.02,-0.366177,40.55,188.387,-77.5197],[1947.55,99.74,40,184.574,-77.1564],[1924.9,197.642,39.45,180.71,-76.7748],[1900.69,299.031,38.8667,176.556,-76.3484],[1876.29,397.864,38.2833,172.348,-75.8977],[1850.29,499.525,37.6667,167.841,-75.3927],[1824.09,598.242,37.05,163.277,-74.8554],[1796.26,699.06,36.4,158.407,-74.2507],[1767.48,798.963,35.7333,153.352,-73.585],[1737.03,899.987,35.0333,147.984,-72.8308],[1705.6,999.244,34.3167,142.429,-71.9929],[1672.45,1098.53,33.5667,136.559,-71.0351],[1636.8,1199.18,32.7667,130.243,-69.9088],[1599.37,1298.17,31.9333,123.617,-68.6022],[1558.61,1398.26,31.0333,116.426,-67.0108],[1513.71,1499.42,30.05,108.557,-65.0142],[1464.6,1599.32,28.9833,100.053,-62.4724],[1408.86,1699.27,27.7833,90.6071,-59.0161],[1343.26,1798.99,26.3833,79.9225,-53.9198],[1258.9,1899.27,24.6,67.317,-45.0758],[1113.69,1999.79,21.5667,51.5647,-20.8694]]], - [76,2035.15,[[2181.49,-2002.18,50.0333,244.864,-82.326],[2167.82,-1901.51,49.6167,242.692,-82.1967],[2154.04,-1801.78,49.2,240.487,-82.064],[2140.15,-1702.99,48.7833,238.25,-81.9278],[2125.6,-1601.28,48.35,235.889,-81.7823],[2110.93,-1500.62,47.9167,233.492,-81.6327],[2096.16,-1401.04,47.4833,231.061,-81.4787],[2081.27,-1302.54,47.05,228.593,-81.3203],[2065.68,-1201.43,46.6,225.994,-81.1508],[2049.98,-1101.53,46.15,223.356,-80.9759],[2034.16,-1002.86,45.7,220.679,-80.7955],[2017.62,-901.853,45.2333,217.863,-80.6022],[2000.96,-802.208,44.7667,215.006,-80.4023],[1983.57,-700.464,44.2833,212.003,-80.1879],[1966.04,-600.226,43.8,208.957,-79.9655],[1948.38,-501.517,43.3167,205.867,-79.7347],[1929.97,-401.038,42.8167,202.624,-79.4867],[1911.41,-302.246,42.3167,199.336,-79.2285],[1892.09,-201.959,41.8,195.889,-78.9505],[1871.99,-100.385,41.2667,192.281,-78.6506],[1851.73,-0.817551,40.7333,188.622,-78.3367],[1830.68,99.726,40.1833,184.796,-77.9973],[1809.47,198.069,39.6333,180.917,-77.6407],[1786.79,299.931,39.05,176.746,-77.2422],[1763.94,399.243,38.4667,172.52,-76.821],[1740.25,498.69,37.8667,168.115,-76.3619],[1715.71,598.001,37.25,163.529,-75.8604],[1689.64,699.452,36.6,158.633,-75.2957],[1663.37,797.54,35.95,153.677,-74.6901],[1634.86,899.354,35.25,148.276,-73.9869],[1605.43,999.427,34.5333,142.683,-73.2052],[1574.39,1099.57,33.7833,136.768,-72.3113],[1541.71,1199.09,33,130.53,-71.2826],[1506.66,1299.18,32.1667,123.839,-70.0642],[1469.21,1398.66,31.2833,116.701,-68.608],[1427.9,1499.61,30.3167,108.861,-66.7803],[1382.64,1599.76,29.2667,100.351,-64.452],[1331.94,1699.24,28.1,90.9714,-61.3297],[1272.02,1799.74,26.7333,80.2302,-56.7125],[1197.54,1899.38,25.05,67.7405,-48.9904],[1082.02,1999.59,22.4667,52.065,-30.2621]]], - [77,2051.95,[[2037.56,-2003.68,50.1833,245.056,-82.8564],[2024.82,-1902.81,49.7667,242.882,-82.7361],[2011.97,-1802.87,49.35,240.675,-82.6126],[1999.03,-1703.88,48.9333,238.435,-82.4858],[1985.47,-1601.95,48.5,236.071,-82.3504],[1971.8,-1501.07,48.0667,233.672,-82.2112],[1958.03,-1401.26,47.6333,231.237,-82.0679],[1944.15,-1302.55,47.2,228.766,-81.9205],[1929.63,-1201.2,46.75,226.162,-81.7627],[1914.99,-1101.06,46.3,223.519,-81.6],[1900.24,-1002.15,45.85,220.837,-81.4321],[1884.83,-900.892,45.3833,218.016,-81.2522],[1869.3,-800.994,44.9167,215.153,-81.0661],[1853.65,-702.477,44.45,212.248,-80.8735],[1837.32,-601.919,43.9667,209.195,-80.6668],[1820.86,-502.887,43.4833,206.099,-80.4523],[1803.7,-402.07,42.9833,202.849,-80.2216],[1786.41,-302.937,42.4833,199.553,-79.9816],[1768.41,-202.294,41.9667,196.097,-79.7231],[1749.68,-100.348,41.4333,192.479,-79.4442],[1730.8,-0.405643,40.9,188.808,-79.1523],[1711.78,97.5022,40.3667,185.086,-78.8464],[1691.42,199.266,39.8,181.077,-78.5049],[1670.89,298.664,39.2333,177.011,-78.1451],[1649.6,398.475,38.65,172.768,-77.7538],[1627.53,498.441,38.05,168.345,-77.3273],[1604.67,598.291,37.4333,163.739,-76.8612],[1581,697.741,36.8,158.946,-76.3503],[1555.9,798.982,36.1333,153.836,-75.7734],[1529.97,899.032,35.45,148.533,-75.1356],[1502.55,999.853,34.7333,142.904,-74.4098],[1474.28,1098.6,34,137.08,-73.5988],[1443.84,1199.06,33.2167,130.793,-72.6448],[1411.85,1298.2,32.4,124.177,-71.538],[1376.98,1398.9,31.5167,116.966,-70.1886],[1339.17,1499.5,30.5667,109.167,-68.5243],[1297.7,1599.74,29.5333,100.667,-66.4036],[1251.16,1699.86,28.3833,91.2465,-63.5559],[1197.43,1799.48,27.0667,80.6284,-59.4489],[1130.86,1899.54,25.45,68.1336,-52.6255],[1033.83,1999.97,23.1167,52.4735,-37.1955]]], - [78,2067.61,[[1891.07,-2003.63,50.3167,245.203,-83.3879],[1879.26,-1902.58,49.9,243.026,-83.2766],[1867.36,-1802.47,49.4833,240.817,-83.1623],[1855.37,-1703.3,49.0667,238.574,-83.045],[1842.8,-1601.18,48.6333,236.207,-82.9197],[1830.14,-1500.11,48.2,233.804,-82.7908],[1817.38,-1400.11,47.7667,231.365,-82.6582],[1804.52,-1301.2,47.3333,228.89,-82.5218],[1791.57,-1203.39,46.9,226.379,-82.3813],[1778.01,-1103,46.45,223.733,-82.2308],[1763.84,-1000.19,45.9833,220.948,-82.0698],[1750.07,-902.316,45.5333,218.222,-81.9093],[1735.69,-802.151,45.0667,215.354,-81.7373],[1721.19,-703.363,44.6,212.444,-81.5592],[1706.06,-602.522,44.1167,209.386,-81.3681],[1690.82,-503.205,43.6333,206.283,-81.1697],[1674.93,-402.09,43.1333,203.026,-80.9564],[1658.91,-302.655,42.6333,199.721,-80.7345],[1642.23,-201.698,42.1167,196.257,-80.4953],[1625.43,-102.59,41.6,192.743,-80.2457],[1607.94,-2.25345,41.0667,189.063,-79.9761],[1589.78,99.0914,40.5167,185.214,-79.6845],[1571.47,198.244,39.9667,181.309,-79.3781],[1552.46,298.073,39.4,177.23,-79.0456],[1532.74,398.332,38.8167,172.972,-78.6842],[1512.3,498.765,38.2167,168.532,-78.2901],[1491.12,599.098,37.6,163.906,-77.8594],[1469.21,699.05,36.9667,159.091,-77.3871],[1446.54,798.322,36.3167,154.085,-76.8675],[1422.53,899.016,35.6333,148.754,-76.2787],[1397.73,998.206,34.9333,143.225,-75.6248],[1370.96,1099.97,34.1833,137.229,-74.8593],[1343.37,1199.09,33.4167,131.032,-73.9972],[1313.76,1299.14,32.6,124.362,-72.9758],[1282.08,1398.98,31.7333,117.219,-71.7546],[1247.69,1499.09,30.8,109.472,-70.2485],[1209.92,1599.27,29.7833,100.998,-68.329],[1167.48,1699.86,28.65,91.5579,-65.7491],[1119.01,1799.45,27.3667,80.9727,-62.0736],[1059.97,1899.15,25.8167,68.5715,-56.0888],[977.298,1999.57,23.6667,53.0041,-43.2042]]], - [79,2082.09,[[1742.17,-2002.03,50.4333,245.305,-83.9211],[1731.3,-1900.84,50.0167,243.125,-83.8187],[1720.35,-1800.57,49.6,240.913,-83.7137],[1709.32,-1701.25,49.1833,238.667,-83.6059],[1698.21,-1602.89,48.7667,236.389,-83.4951],[1686.56,-1501.62,48.3333,233.983,-83.3768],[1674.82,-1401.42,47.9,231.542,-83.255],[1662.99,-1302.3,47.4667,229.064,-83.1296],[1650.62,-1200.54,47.0167,226.452,-82.9956],[1638.61,-1103.68,46.5833,223.9,-82.8625],[1625.58,-1000.64,46.1167,221.11,-82.7145],[1612.91,-902.544,45.6667,218.38,-82.5671],[1599.68,-802.147,45.2,215.507,-82.4091],[1586.35,-703.125,44.7333,212.592,-82.2455],[1572.43,-602.038,44.25,209.528,-82.07],[1558.41,-502.473,43.7667,206.419,-81.8878],[1543.79,-401.099,43.2667,203.155,-81.6918],[1529.05,-301.403,42.7667,199.842,-81.4879],[1513.71,-200.173,42.25,196.369,-81.2682],[1498.26,-100.79,41.7333,192.845,-81.0388],[1482.18,-0.166644,41.2,189.155,-80.7911],[1465.97,98.4285,40.6667,185.411,-80.5314],[1449.13,197.949,40.1167,181.496,-80.2502],[1431.65,298.16,39.55,177.404,-79.9451],[1413.51,398.818,38.9667,173.132,-79.6132],[1394.71,499.663,38.3667,168.676,-79.2515],[1375.77,597.741,37.7667,164.158,-78.867],[1355.62,698.219,37.1333,159.324,-78.434],[1334.78,798.038,36.4833,154.295,-77.9576],[1312.69,899.311,35.8,148.938,-77.4176],[1289.89,999.101,35.1,143.379,-76.8176],[1265.82,1099.29,34.3667,137.483,-76.1315],[1240.46,1199.18,33.6,131.245,-75.3416],[1213.79,1298.07,32.8,124.662,-74.4255],[1184.67,1398.93,31.9333,117.46,-73.3079],[1153.62,1498.42,31.0167,109.776,-71.9548],[1118.91,1599.97,30,101.201,-70.1988],[1081.04,1699.27,28.9,91.9009,-67.9107],[1037.09,1799.8,27.6333,81.2452,-64.6011],[984.588,1899.42,26.1333,68.8886,-59.3239],[913.368,1999.65,24.1167,53.4175,-48.3864]]], - [80,2095.4,[[1591.43,-2002.97,50.55,245.449,-84.4601],[1581.52,-1901.62,50.1333,243.267,-84.3668],[1571.54,-1801.19,49.7167,241.053,-84.271],[1561.47,-1701.71,49.3,238.805,-84.1728],[1551.34,-1603.18,48.8833,236.524,-84.0719],[1540.71,-1501.75,48.45,234.116,-83.9641],[1530.01,-1401.37,48.0167,231.672,-83.8531],[1519.22,-1302.08,47.5833,229.191,-83.7389],[1507.93,-1200.13,47.1333,226.575,-83.6167],[1496.97,-1103.1,46.7,224.02,-83.4955],[1485.51,-1003.53,46.25,221.326,-83.3656],[1473.53,-901.582,45.7833,218.491,-83.2263],[1461.46,-800.987,45.3167,215.613,-83.0823],[1449.3,-701.765,44.85,212.693,-82.9333],[1436.6,-600.47,44.3667,209.623,-82.7732],[1423.81,-500.695,43.8833,206.507,-82.6072],[1410.92,-402.461,43.4,203.345,-82.4347],[1397.48,-302.487,42.9,200.027,-82.2491],[1383.49,-200.967,42.3833,196.547,-82.049],[1369.39,-101.291,41.8667,193.015,-81.8402],[1354.73,-0.36242,41.3333,189.316,-81.6146],[1339.95,98.5411,40.8,185.564,-81.3782],[1324.59,198.382,40.25,181.637,-81.1222],[1308.65,298.928,39.6833,177.534,-80.8443],[1292.11,399.933,39.1,173.248,-80.5421],[1275.44,498.364,38.5167,168.902,-80.222],[1257.68,599.579,37.9,164.242,-79.8623],[1239.79,697.831,37.2833,159.517,-79.4785],[1220.78,798.137,36.6333,154.468,-79.0451],[1200.65,899.927,35.95,149.087,-78.5537],[1180.35,997.91,35.2667,143.634,-78.0211],[1158.41,1098.76,34.5333,137.707,-77.3977],[1135.28,1199.36,33.7667,131.432,-76.6797],[1110.97,1298.99,32.9667,124.805,-75.8466],[1084.93,1398.77,32.1167,117.687,-74.8504],[1056.62,1499.26,31.2,109.934,-73.621],[1026.02,1598.71,30.2167,101.552,-72.0804],[991.509,1699.57,29.1167,92.1291,-70.0075],[952.502,1799.41,27.8833,81.5734,-67.09],[905.729,1899.62,26.4167,69.1846,-62.4288],[844.07,1999.8,24.5,53.7845,-53.0796]]], - [81,2107.5,[[1438.56,-2002.4,50.65,245.548,-85.0008],[1429.61,-1900.92,50.2333,243.365,-84.9166],[1420.59,-1800.36,49.8167,241.148,-84.8303],[1411.51,-1700.75,49.4,238.898,-84.7417],[1402.35,-1602.09,48.9833,236.614,-84.6506],[1392.75,-1500.51,48.55,234.204,-84.5533],[1383.46,-1403.84,48.1333,231.851,-84.4571],[1373.34,-1300.56,47.6833,229.272,-84.3502],[1363.53,-1202.22,47.25,226.75,-84.244],[1353.26,-1101.28,46.8,224.093,-84.1304],[1342.91,-1001.55,46.35,221.395,-84.0132],[1332.48,-903.067,45.9,218.658,-83.8921],[1321.58,-802.261,45.4333,215.776,-83.7623],[1310.6,-702.826,44.9667,212.852,-83.6279],[1299.14,-601.308,44.4833,209.777,-83.4837],[1287.59,-501.307,44,206.656,-83.334],[1275.95,-402.846,43.5167,203.49,-83.1785],[1263.82,-302.634,43.0167,200.165,-83.0111],[1251.19,-200.865,42.5,196.678,-82.8308],[1238.46,-100.938,41.9833,193.139,-82.6425],[1225.63,-2.88013,41.4667,189.549,-82.4456],[1211.88,99.4191,40.9167,185.67,-82.2259],[1198.01,199.535,40.3667,181.734,-81.995],[1184.04,297.435,39.8167,177.741,-81.7519],[1169.11,398.809,39.2333,173.444,-81.4798],[1154.07,497.613,38.65,169.085,-81.1915],[1138.04,599.227,38.0333,164.411,-80.8675],[1121.89,697.881,37.4167,159.67,-80.5217],[1104.73,798.615,36.7667,154.602,-80.1312],[1087,898.411,36.1,149.332,-79.6996],[1068.24,999.3,35.4,143.722,-79.2083],[1048.88,1098.39,34.6833,137.901,-78.6594],[1028.01,1199.63,33.9167,131.592,-78.0132],[1006.06,1299.92,33.1167,124.926,-77.2629],[983.02,1398.51,32.2833,117.899,-76.3839],[957.477,1499.9,31.3667,110.085,-75.2779],[930.329,1598.71,30.4,101.766,-73.9162],[899.664,1699.38,29.3167,92.3786,-72.0831],[864.947,1799.58,28.1,81.8078,-69.5012],[823.713,1899.89,26.6667,69.4386,-65.4197],[770.523,1999.79,24.8333,54.1418,-57.4468]]], - [82,2118.37,[[1283.73,-2000.35,50.7333,245.604,-85.5438],[1276.07,-1902.81,50.3333,243.506,-85.4719],[1268.03,-1802.11,49.9167,241.289,-85.395],[1259.93,-1702.35,49.5,239.037,-85.316],[1251.77,-1603.55,49.0833,236.752,-85.2349],[1243.21,-1501.81,48.65,234.339,-85.1483],[1234.59,-1401.15,48.2167,231.89,-85.0591],[1225.9,-1301.55,47.7833,229.403,-84.9674],[1217.15,-1203.06,47.35,226.879,-84.8729],[1208,-1101.95,46.9,224.219,-84.7717],[1198.77,-1002.06,46.45,221.519,-84.6673],[1189.47,-903.408,46,218.778,-84.5595],[1179.75,-802.426,45.5333,215.893,-84.4438],[1169.96,-702.813,45.0667,212.964,-84.3242],[1159.74,-601.109,44.5833,209.885,-84.1957],[1149.45,-500.92,44.1,206.76,-84.0623],[1139.07,-402.268,43.6167,203.588,-83.9238],[1128.26,-301.858,43.1167,200.257,-83.7747],[1117.36,-203.144,42.6167,196.877,-83.6194],[1106.01,-102.948,42.1,193.333,-83.4519],[1094.21,-1.47814,41.5667,189.62,-83.271],[1082.32,97.9724,41.0333,185.851,-83.0813],[1069.96,198.383,40.4833,181.906,-82.8759],[1057.12,299.522,39.9167,177.782,-82.6529],[1044.19,398.274,39.35,173.598,-82.4174],[1030.78,497.401,38.7667,169.227,-82.1609],[1016.49,599.358,38.15,164.54,-81.8725],[1002.1,698.36,37.5333,159.784,-81.5648],[986.803,799.463,36.8833,154.699,-81.2171],[970.996,899.641,36.2167,149.409,-80.8328],[954.669,998.571,35.5333,143.911,-80.4061],[937.415,1098.18,34.8167,138.066,-79.9181],[918.814,1199.98,34.05,131.727,-79.3434],[899.661,1298.81,33.2667,125.165,-78.6906],[879.128,1398.14,32.4333,118.096,-77.91],[856.781,1498.56,31.5333,110.371,-76.9466],[832.59,1598.38,30.5667,101.984,-75.7389],[805.686,1698.72,29.5,92.6474,-74.1388],[775.179,1799.11,28.3,82.0848,-71.8843],[739.3,1899.26,26.9,69.7793,-68.363],[693.217,1999.94,25.1167,54.4305,-61.5313]]], - [83,2128.01,[[1127.42,-2000.91,50.8167,245.703,-86.0921],[1120.7,-1903.26,50.4167,243.604,-86.029],[1113.64,-1802.44,50,241.385,-85.9615],[1106.53,-1702.57,49.5833,239.132,-85.8923],[1099.37,-1603.65,49.1667,236.845,-85.8212],[1091.86,-1501.79,48.7333,234.43,-85.7452],[1084.3,-1401,48.3,231.978,-85.6671],[1076.68,-1301.28,47.8667,229.489,-85.5866],[1069,-1202.66,47.4333,226.963,-85.5037],[1060.96,-1101.42,46.9833,224.3,-85.415],[1052.86,-1001.4,46.5333,221.596,-85.3235],[1044.7,-902.608,46.0833,218.852,-85.2289],[1036.17,-801.484,45.6167,215.963,-85.1275],[1027.58,-701.729,45.15,213.031,-85.0226],[1018.93,-603.362,44.6833,210.055,-84.9138],[1009.89,-502.97,44.2,206.926,-84.797],[1000.47,-400.732,43.7,203.64,-84.6714],[990.983,-300.163,43.2,200.304,-84.5407],[981.42,-201.289,42.7,196.918,-84.4044],[971.462,-100.926,42.1833,193.366,-84.2574],[961.429,-2.42886,41.6667,189.762,-84.1038],[950.994,97.2602,41.1333,185.987,-83.9376],[940.15,197.92,40.5833,182.035,-83.7576],[928.892,299.316,40.0167,177.903,-83.5622],[917.547,398.33,39.45,173.709,-83.3559],[905.779,497.728,38.8667,169.329,-83.1311],[893.243,599.975,38.25,164.629,-82.8784],[880.61,699.268,37.6333,159.86,-82.6086],[867.537,798.124,37,154.891,-82.312],[853.671,898.713,36.3333,149.585,-81.9756],[839.349,998.068,35.65,144.069,-81.6022],[824.213,1098.13,34.9333,138.202,-81.175],[808.25,1198.24,34.1833,131.975,-80.6833],[791.091,1299.75,33.3833,125.242,-80.0999],[773.079,1399.61,32.55,118.135,-79.4158],[753.838,1498.81,31.6667,110.506,-78.5876],[732.619,1599.42,30.7,102.058,-77.5303],[709.391,1699.12,29.65,92.7855,-76.1519],[683.007,1799.36,28.4667,82.2522,-74.2092],[651.919,1900,27.0833,69.9034,-71.1701],[613.025,1999.7,25.3667,54.7476,-65.4517]]], - [84,2136.4,[[969.703,-2004.06,50.9,245.846,-86.6447],[963.685,-1902.24,50.4833,243.659,-86.5883],[957.621,-1801.34,50.0667,241.438,-86.5303],[951.511,-1701.38,49.65,239.183,-86.4708],[945.354,-1602.37,49.2333,236.893,-86.4098],[938.901,-1500.42,48.8,234.476,-86.3445],[932.65,-1403.39,48.3833,232.117,-86.2799],[926.1,-1303.54,47.95,229.627,-86.2109],[919.246,-1201,47.5,227.002,-86.1369],[912.595,-1103.4,47.0667,224.435,-86.0636],[905.636,-1003.23,46.6167,221.73,-85.985],[898.364,-900.648,46.15,218.881,-85.9008],[891.297,-803.01,45.7,216.092,-85.8168],[883.914,-703.098,45.2333,213.157,-85.7268],[876.209,-601.081,44.75,210.071,-85.63],[868.443,-500.575,44.2667,206.937,-85.5296],[860.619,-401.604,43.7833,203.757,-85.4254],[852.463,-300.861,43.2833,200.417,-85.3131],[844.245,-201.81,42.7833,197.026,-85.1961],[835.689,-101.263,42.2667,193.47,-85.0701],[827.067,-2.57958,41.75,189.861,-84.938],[818.099,97.3034,41.2167,186.079,-84.7954],[808.781,198.165,40.6667,182.121,-84.6409],[799.106,299.771,40.1,177.981,-84.4732],[789.356,398.997,39.5333,173.779,-84.296],[779.244,498.615,38.95,169.389,-84.103],[768.764,598.366,38.35,164.806,-83.8921],[757.911,697.977,37.7333,160.027,-83.6607],[746.382,799.728,37.0833,154.915,-83.3994],[734.765,898.1,36.4333,149.727,-83.118],[722.459,997.817,35.75,144.194,-82.7976],[709.454,1098.26,35.0333,138.308,-82.4312],[695.739,1198.78,34.2833,132.059,-82.0093],[681.304,1298.65,33.5,125.44,-81.5196],[665.83,1399.09,32.6667,118.301,-80.9337],[649.3,1498.92,31.7833,110.631,-80.224],[631.386,1598.53,30.8333,102.278,-79.3343],[611.433,1699.14,29.7833,92.9365,-78.1548],[589.09,1799.08,28.6167,82.4525,-76.5163],[563.033,1898.9,27.2667,70.2432,-73.9878],[530.282,1999.23,25.5833,55.0673,-69.2261]]], - [85,2143.52,[[810.279,-2001.69,50.95,245.859,-87.1971],[805.454,-1903.87,50.55,243.758,-87.1519],[800.388,-1802.87,50.1333,241.536,-87.1036],[795.284,-1702.81,49.7167,239.281,-87.0539],[790.141,-1603.7,49.3,236.991,-87.0029],[784.752,-1501.65,48.8667,234.572,-86.9485],[779.32,-1400.66,48.4333,232.117,-86.8923],[773.848,-1300.74,48,229.624,-86.8347],[768.334,-1201.92,47.5667,227.094,-86.7752],[762.565,-1100.47,47.1167,224.426,-86.7116],[756.751,-1000.23,46.6667,221.717,-86.6459],[750.892,-901.225,46.2167,218.967,-86.5782],[744.989,-803.471,45.7667,216.177,-86.5081],[738.823,-703.438,45.3,213.239,-86.4328],[732.386,-601.294,44.8167,210.15,-86.3521],[725.899,-500.66,44.3333,207.013,-86.2683],[719.364,-401.56,43.85,203.829,-86.1814],[712.551,-300.681,43.35,200.485,-86.0876],[705.686,-201.494,42.85,197.091,-85.9899],[698.538,-100.805,42.3333,193.53,-85.8847],[691.337,-1.97799,41.8167,189.916,-85.7746],[683.846,98.0546,41.2833,186.129,-85.6555],[676.062,199.072,40.7333,182.164,-85.5264],[668.218,297.881,40.1833,178.14,-85.3906],[660.076,397.34,39.6167,173.932,-85.2429],[651.631,497.201,39.0333,169.535,-85.082],[642.634,599.943,38.4167,164.817,-84.901],[633.567,699.736,37.8,160.027,-84.7079],[624.184,799.109,37.1667,155.034,-84.4954],[614.482,897.762,36.5167,149.835,-84.2606],[604.205,997.779,35.8333,144.289,-83.9935],[593.343,1098.54,35.1167,138.386,-83.6879],[581.889,1199.39,34.3667,132.117,-83.3358],[569.833,1299.62,33.5833,125.475,-82.9272],[557.168,1398.48,32.7667,118.451,-82.4483],[543.365,1498.84,31.8833,110.749,-81.857],[528.405,1599.03,30.9333,102.352,-81.1155],[512.008,1698.76,29.9,93.1006,-80.1486],[493.352,1799.59,28.7333,82.5333,-78.7843],[471.864,1899.33,27.4,70.3444,-76.7045],[445.063,1999.5,25.75,55.2174,-72.8255]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 691.337; -_maxRange = 3970.94; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg3.sqf deleted file mode 100644 index 5fd9f37dd1..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg3.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_120mm_dm11a5_dm111a1_pd_chg3 -// Ammo: ace_arty_120mm_dm11a5_dm111a1_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1562.37,[[6504.26,-2003.35,45.85,248.189,-66.2409],[6459.08,-1901.67,45.4,246.241,-65.8254],[6413.52,-1801.13,44.95,244.273,-65.3997],[6367.58,-1701.74,44.5,242.286,-64.9634],[6321.25,-1603.52,44.05,240.28,-64.5162],[6272.81,-1502.92,43.5833,238.181,-64.0405],[6222.21,-1400.09,43.1,235.987,-63.5345],[6172.93,-1302.14,42.6333,233.851,-63.0326],[6121.46,-1202.09,42.15,231.621,-62.4986],[6067.76,-1100.12,41.65,229.295,-61.9303],[6015.4,-1003.04,41.1667,227.031,-61.365],[5958.94,-900.918,40.65,224.594,-60.7427],[5901.99,-800.52,40.1333,222.14,-60.1012],[5844.54,-701.875,39.6167,219.673,-59.4395],[5784.71,-601.912,39.0833,217.114,-58.7345],[5722.46,-500.837,38.5333,214.463,-57.9832],[5659.66,-401.834,37.9833,211.802,-57.2061],[5594.37,-302.029,37.4167,209.054,-56.3774],[5526.54,-201.653,36.8333,206.221,-55.4931],[5456.12,-100.948,36.2333,203.306,-54.5493],[5383.07,-0.166647,35.6167,200.314,-53.5411],[5309.33,97.8156,35,197.33,-52.4927],[5230.87,198.021,34.35,194.2,-51.3419],[5147.57,299.913,33.6667,190.934,-50.0793],[5063.45,398.216,32.9833,187.7,-48.76],[4972.26,499.66,32.25,184.276,-47.2781],[4878.01,599.007,31.5,180.836,-45.6885],[4776.41,699.995,30.7,177.25,-43.9069],[4669.41,799.64,29.8667,173.627,-41.9526],[4554.7,898.984,28.9833,169.933,-39.7672],[4429.87,998.504,28.0333,166.162,-37.282],[4290.15,1099.53,26.9833,162.279,-34.3688],[4135.04,1199.19,25.8333,158.428,-30.9764],[3954.8,1298.95,24.5167,154.626,-26.8382],[3732.01,1399.18,22.9167,151.029,-21.4691],[3414.13,1499.72,20.6833,148.224,-13.4636],[2887.1,1562.37,17.1,150.082,-0.0256168]]], - [46,1613.35,[[6451.98,-2000.14,46.3167,248.613,-66.7737],[6409.33,-1901.64,45.8833,246.728,-66.3829],[6364.67,-1800.45,45.4333,244.75,-65.9673],[6319.63,-1700.42,44.9833,242.753,-65.5413],[6274.22,-1601.55,44.5333,240.736,-65.1046],[6226.74,-1500.26,44.0667,238.624,-64.6399],[6178.85,-1400.25,43.6,236.493,-64.163],[6130.56,-1301.55,43.1333,234.342,-63.6733],[6080.12,-1200.72,42.65,232.096,-63.1521],[6029.25,-1101.33,42.1667,229.831,-62.6161],[5976.17,-1000.06,41.6667,227.469,-62.0455],[5922.63,-900.362,41.1667,225.09,-61.4579],[5868.63,-802.276,40.6667,222.694,-60.8524],[5812.36,-702.634,40.15,220.203,-60.2075],[5753.75,-601.63,39.6167,217.617,-59.5201],[5694.63,-502.537,39.0833,215.017,-58.81],[5633.12,-402.375,38.5333,212.324,-58.0528],[5569.18,-301.363,37.9667,209.54,-57.245],[5504.66,-202.601,37.4,206.749,-56.408],[5435.71,-100.518,36.8,203.79,-55.4883],[5366.12,-1.03191,36.2,200.83,-54.5327],[5293.93,98.4732,35.5833,197.792,-53.5114],[5219.09,197.729,34.95,194.682,-52.4191],[5139.55,298.946,34.2833,191.426,-51.2197],[5057.23,399.169,33.6,188.114,-49.9348],[4972.06,498.081,32.9,184.757,-48.5576],[4879.87,599.78,32.15,181.212,-47.0101],[4784.66,699.096,31.3833,177.658,-45.3477],[4682.14,799.647,30.5667,173.965,-43.4833],[4574.26,898.474,29.7167,170.244,-41.4359],[4456.59,998.286,28.8,166.4,-39.1009],[4326.66,1099.04,27.8,162.443,-36.3986],[4181.88,1199.91,26.7,158.427,-33.2355],[4019.5,1299.12,25.4833,154.469,-29.5041],[3825.21,1399.04,24.05,150.574,-24.8048],[3572.03,1499.61,22.2167,147.023,-18.3647],[3117.56,1599.93,19.0167,145.443,-6.33313],[2876.88,1613.35,17.3667,147.223,-0.00313973]]], - [47,1664.18,[[6397.4,-2002.32,46.8,249.144,-67.3244],[6355.61,-1903.2,46.3667,247.251,-66.9431],[6311.86,-1801.37,45.9167,245.265,-66.5376],[6267.74,-1700.68,45.4667,243.258,-66.122],[6223.25,-1601.14,45.0167,241.23,-65.696],[6178.4,-1502.77,44.5667,239.183,-65.259],[6131.49,-1402.02,44.1,237.04,-64.7941],[6084.19,-1302.56,43.6333,234.876,-64.3166],[6034.79,-1200.94,43.15,232.615,-63.8084],[5984.96,-1100.74,42.6667,230.334,-63.2857],[5934.71,-1002,42.1833,228.034,-62.748],[5882.28,-901.407,41.6833,225.636,-62.1754],[5829.4,-802.41,41.1833,223.22,-61.5853],[5774.29,-701.815,40.6667,220.705,-60.9566],[5718.7,-602.977,40.15,218.175,-60.3078],[5660.82,-502.819,39.6167,215.548,-59.616],[5600.59,-401.548,39.0667,212.825,-58.8782],[5539.83,-302.353,38.5167,210.09,-58.1145],[5476.67,-202.358,37.95,207.262,-57.2993],[5411.06,-101.791,37.3667,204.344,-56.4287],[5342.96,-0.896436,36.7667,201.339,-55.4984],[5274.23,97.3796,36.1667,198.334,-54.5311],[5201,198.233,35.5333,195.167,-53.4679],[5125.13,298.618,34.8833,191.928,-52.3296],[5046.57,398.243,34.2167,188.624,-51.11],[4963.27,499.162,33.5167,185.185,-49.7697],[4877.13,598.512,32.8,181.704,-48.331],[4786.08,698.118,32.05,178.117,-46.7497],[4687.93,799.368,31.25,174.368,-44.9734],[4584.58,899.271,30.4167,170.569,-43.0203],[4473.81,998.871,29.5333,166.683,-40.8302],[4353.29,1098.65,28.5833,162.698,-38.332],[4218.43,1199.93,27.5333,158.572,-35.3932],[4068.77,1299.84,26.3833,154.45,-31.9571],[3894.92,1399.86,25.0667,150.335,-27.7459],[3682.39,1499.42,23.4833,146.398,-22.3111],[3380.82,1599.43,21.2833,143.112,-14.1956],[2866.73,1664.18,17.65,144.315,-0.0633067]]], - [48,1714.81,[[6337.22,-2002.34,47.2667,249.637,-67.8634],[6296.3,-1902.63,46.8333,247.737,-67.4915],[6253.45,-1800.18,46.3833,245.742,-67.0959],[6211.84,-1702.59,45.95,243.8,-66.7056],[6168.28,-1602.38,45.5,241.764,-66.2903],[6124.37,-1503.34,45.05,239.706,-65.8643],[6078.44,-1401.87,44.5833,237.551,-65.411],[6032.12,-1301.69,44.1167,235.375,-64.9455],[5985.42,-1202.81,43.65,233.178,-64.4673],[5936.64,-1101.81,43.1667,230.882,-63.958],[5887.45,-1002.24,42.6833,228.566,-63.4341],[5836.13,-900.788,42.1833,226.15,-62.8761],[5784.37,-800.92,41.6833,223.714,-62.3011],[5732.16,-702.664,41.1833,221.26,-61.7083],[5677.75,-602.851,40.6667,218.707,-61.0764],[5621.1,-501.676,40.1333,216.054,-60.4025],[5563.95,-402.414,39.6,213.385,-59.7058],[5504.49,-302.085,39.05,210.619,-58.9623],[5442.69,-200.907,38.4833,207.756,-58.1685],[5380.32,-101.984,37.9167,204.884,-57.3451],[5315.55,-2.54379,37.3333,201.92,-56.4652],[5246.45,99.9034,36.7167,198.783,-55.4976],[5176.7,199.56,36.1,195.647,-54.4897],[5104.4,298.963,35.4667,192.433,-53.4104],[5029.5,397.832,34.8167,189.146,-52.2539],[4950,498.28,34.1333,185.712,-50.9819],[4865.79,599.726,33.4167,182.143,-49.5829],[4778.77,699.335,32.6833,178.536,-48.0788],[4686.86,798.866,31.9167,174.828,-46.4238],[4587.92,899.632,31.1,170.965,-44.5632],[4483.82,998.665,30.25,167.062,-42.5146],[4370.3,1098.68,29.3333,163.014,-40.1714],[4244.99,1199.63,28.3333,158.828,-37.4505],[4107.52,1299.24,27.25,154.616,-34.3031],[3951.03,1398.8,26.0333,150.36,-30.5178],[3763.88,1499.11,24.6,146.115,-25.7252],[3522.37,1599.33,22.7833,142.158,-19.1774],[3092.27,1699.97,19.6333,139.871,-6.92935],[2849.39,1714.81,17.9,141.436,-0.0126804]]], - [49,1765.18,[[6271.6,-2000.21,47.7167,250.092,-68.3916],[6233.07,-1903.78,47.3,248.258,-68.0429],[6191.14,-1800.7,46.85,246.256,-67.6574],[6150.42,-1702.51,46.4167,244.306,-67.2769],[6107.78,-1601.65,45.9667,242.26,-66.872],[6064.79,-1501.96,45.5167,240.193,-66.4568],[6021.44,-1403.44,45.0667,238.104,-66.0308],[5976.12,-1302.52,44.6,235.916,-65.5774],[5930.42,-1202.91,44.1333,233.707,-65.1115],[5882.68,-1101.13,43.65,231.397,-64.6154],[5834.54,-1000.78,43.1667,229.065,-64.105],[5785.99,-901.889,42.6833,226.713,-63.5796],[5735.34,-801.139,42.1833,224.259,-63.0197],[5684.26,-701.992,41.6833,221.785,-62.4425],[5631.03,-601.247,41.1667,219.209,-61.8271],[5577.33,-502.263,40.65,216.615,-61.1916],[5521.43,-401.96,40.1167,213.92,-60.5135],[5463.26,-300.544,39.5667,211.124,-59.7898],[5404.59,-201.211,39.0167,208.314,-59.04],[5343.6,-101.079,38.45,205.406,-58.2389],[5280.25,-0.37839,37.8667,202.403,-57.3825],[5216.33,97.8749,37.2833,199.393,-56.4924],[5148.14,199.044,36.6667,196.207,-55.5129],[5079.33,297.398,36.05,193.023,-54.4917],[5006.12,397.977,35.4,189.674,-53.3679],[4930.32,497.792,34.7333,186.253,-52.162],[4849.96,598.899,34.0333,182.686,-50.8347],[4766.87,698.431,33.3167,179.069,-49.4072],[4679.05,798.213,32.5667,175.334,-47.8351],[4584.41,899.636,31.7667,171.422,-46.0653],[4484.77,999.703,30.9333,167.446,-44.1141],[4377.99,1099.46,30.05,163.367,-41.92],[4261.85,1199.38,29.1,159.166,-39.4091],[4134,1299.26,28.0667,154.862,-36.493],[3989.87,1399.45,26.9167,150.461,-33.0151],[3822.53,1499.75,25.6,146.023,-28.7309],[3618.04,1599.62,24.0167,141.702,-23.1688],[3328.09,1699.97,21.8167,137.918,-14.8022],[2832.07,1765.18,18.1667,138.51,-0.047306]]], - [50,1815.23,[[6203.54,-2003.74,48.1833,250.654,-68.9367],[6164.35,-1902.87,47.75,248.741,-68.5834],[6124.84,-1803.02,47.3167,246.806,-68.2217],[6083.47,-1700.42,46.8667,244.773,-67.8368],[6043.3,-1602.7,46.4333,242.795,-67.4569],[6001.24,-1502.35,45.9833,240.718,-67.0525],[5958.84,-1403.16,45.5333,238.62,-66.6376],[5914.51,-1301.55,45.0667,236.421,-66.1959],[5869.8,-1201.23,44.6,234.199,-65.7421],[5824.71,-1102.22,44.1333,231.956,-65.2757],[5777.63,-1001.08,43.65,229.61,-64.7789],[5730.15,-901.384,43.1667,227.242,-64.2674],[5682.27,-803.155,42.6833,224.853,-63.7408],[5632.33,-703.104,42.1833,222.361,-63.1794],[5580.27,-601.415,41.6667,219.765,-62.5807],[5527.77,-501.477,41.15,217.148,-61.9624],[5473.1,-400.177,40.6167,214.428,-61.3025],[5417.95,-300.798,40.0833,211.69,-60.6198],[5360.59,-200.352,39.5333,208.849,-59.8906],[5302.72,-102.008,38.9833,205.995,-59.1346],[5240.8,-0.0329413,38.4,202.954,-58.3023],[5178.33,99.5092,37.8167,199.903,-57.4368],[5113.48,199.32,37.2167,196.758,-56.5103],[5046.24,299.143,36.6,193.523,-55.5177],[4976.53,398.708,35.9667,190.202,-54.4535],[4904.33,497.733,35.3167,186.803,-53.3114],[4827.71,598.334,34.6333,183.246,-52.0534],[4746.56,699.93,33.9167,179.543,-50.6672],[4662.7,799.679,33.1833,175.794,-49.174],[4574.15,899.342,32.4167,171.932,-47.5273],[4480.8,998.227,31.6167,167.98,-45.7106],[4378.6,1099.37,30.75,163.811,-43.6228],[4269.29,1199.49,29.8333,159.558,-41.2721],[4150.68,1298.9,28.85,155.213,-38.5797],[4018.42,1398.73,27.7667,150.739,-35.4012],[3865.83,1499.78,26.5333,146.126,-31.5054],[3687.97,1599.02,25.1167,141.587,-26.669],[3455.91,1699.43,23.3,137.199,-19.9408],[3047.46,1799.73,20.1833,134.273,-7.38206],[2810.1,1815.23,18.4167,135.585,-0.0347111]]], - [51,1864.93,[[6128.53,-2001.3,48.6167,251.104,-69.4581],[6091.68,-1903.77,48.2,249.258,-69.1272],[6053.04,-1803.34,47.7667,247.317,-68.775],[6012.59,-1700.13,47.3167,245.277,-68.4002],[5973.31,-1601.81,46.8833,243.291,-68.0302],[5932.19,-1500.84,46.4333,241.205,-67.6364],[5890.72,-1401.02,45.9833,239.097,-67.2323],[5848.92,-1302.38,45.5333,236.966,-66.8177],[5805.21,-1201.34,45.0667,234.734,-66.3761],[5761.14,-1101.61,44.6,232.478,-65.9221],[5716.7,-1003.2,44.1333,230.2,-65.4555],[5670.3,-902.691,43.65,227.818,-64.9582],[5621.88,-800.247,43.15,225.33,-64.4281],[5574.68,-702.724,42.6667,222.904,-63.9],[5523.8,-600.135,42.15,220.288,-63.3176],[5474.14,-502.512,41.65,217.735,-62.7358],[5420.72,-400.203,41.1167,214.992,-62.0944],[5368.52,-302.911,40.6,212.314,-61.4517],[5312.48,-201.339,40.05,209.446,-60.7434],[5255.94,-101.856,39.5,206.561,-60.0089],[5197.18,-1.57514,38.9333,203.572,-59.2236],[5136.15,99.2712,38.35,200.483,-58.3832],[5074.58,197.664,37.7667,197.384,-57.5088],[5008.9,298.971,37.15,194.101,-56.5453],[4942.63,397.455,36.5333,190.816,-55.5397],[4872.13,498.163,35.8833,187.356,-54.4314],[4799.14,598.098,35.2167,183.817,-53.2403],[4721.77,699.32,34.5167,180.121,-51.927],[4641.78,798.956,33.8,176.368,-50.512],[4557.26,898.833,33.05,172.484,-48.9503],[4468.08,998.281,32.2667,168.492,-47.2257],[4372.23,1098.53,31.4333,164.336,-45.28],[4269.54,1198.47,30.55,160.058,-43.0855],[4157.87,1298.55,29.6,155.637,-40.5654],[4034.96,1398.59,28.5667,151.086,-37.627],[3896.47,1498.93,27.4167,146.403,-34.1062],[3735.72,1599.36,26.1,141.639,-29.7458],[3539.38,1699.33,24.5167,136.932,-24.0479],[3261.17,1799.74,22.3167,132.653,-15.4089],[2785.81,1864.93,18.6667,132.636,-0.0423404]]], - [52,1914.21,[[6049.61,-2000.73,49.05,251.588,-69.9833],[6013.59,-1902.68,48.6333,249.737,-69.6611],[5975.83,-1801.7,48.2,247.789,-69.3181],[5937.75,-1701.74,47.7667,245.818,-68.9668],[5899.38,-1602.81,47.3333,243.825,-68.6069],[5859.19,-1501.2,46.8833,241.732,-68.2238],[5818.68,-1400.74,46.4333,239.615,-67.8307],[5777.83,-1301.45,45.9833,237.474,-67.4272],[5736.65,-1203.35,45.5333,235.311,-67.013],[5693.59,-1102.89,45.0667,233.044,-66.5718],[5648.62,-1000.22,44.5833,230.672,-66.1016],[5604.84,-902.445,44.1167,228.358,-65.6345],[5559.12,-802.606,43.6333,225.939,-65.1365],[5511.43,-700.872,43.1333,223.413,-64.6055],[5463.33,-600.735,42.6333,220.863,-64.0576],[5414.82,-502.218,42.1333,218.291,-63.4922],[5364.28,-402.144,41.6167,215.612,-62.8886],[5311.65,-300.71,41.0833,212.824,-62.2441],[5258.57,-201.201,40.55,210.017,-61.5767],[5203.36,-100.628,40,207.102,-60.8632],[5147.66,-2.16232,39.45,204.17,-60.123],[5088.08,99.9344,38.8667,201.045,-59.3072],[5027.96,199.591,38.2833,197.906,-58.458],[4965.57,299.511,37.6833,194.668,-57.5479],[4900.87,399.438,37.0667,191.333,-56.5716],[4833.81,499.099,36.4333,187.906,-55.5235],[4764.36,598.214,35.7833,184.394,-54.397],[4690.67,698.897,35.1,180.713,-53.1541],[4614.46,798.248,34.4,176.965,-51.8148],[4533.85,898.155,33.6667,173.072,-50.3355],[4448.74,997.97,32.9,169.053,-48.7006],[4357.16,1099,32.0833,164.846,-46.8535],[4260.84,1198.28,31.2333,160.57,-44.8081],[4155.84,1298.51,30.3167,156.107,-42.4535],[4040,1399.65,29.3167,151.454,-39.699],[3912.99,1499.4,28.2333,146.721,-36.4854],[3768.51,1599.06,27.0167,141.872,-32.5822],[3595.87,1699.39,25.5833,136.93,-27.582],[3373.34,1799.5,23.7667,132.126,-20.6536],[2975.67,1899.97,20.6,128.614,-7.38623],[2759.21,1914.2,18.9167,129.664,-0.0718819]]], - [53,1963.01,[[5966.73,-2002.12,49.4833,252.107,-70.512],[5931.55,-1903.54,49.0667,250.251,-70.1986],[5894.67,-1801.99,48.6333,248.297,-69.865],[5857.49,-1701.46,48.2,246.32,-69.5233],[5820,-1601.97,47.7667,244.32,-69.1732],[5782.22,-1503.52,47.3333,242.297,-68.8145],[5742.65,-1402.41,46.8833,240.172,-68.4324],[5702.77,-1302.46,46.4333,238.023,-68.0403],[5661.06,-1200.06,45.9667,235.77,-67.6226],[5620.51,-1102.53,45.5167,233.573,-67.2088],[5578.12,-1002.67,45.05,231.271,-66.7677],[5533.85,-900.641,44.5667,228.862,-66.2976],[5489.2,-800.055,44.0833,226.429,-65.8134],[5444.18,-700.931,43.6,223.971,-65.3145],[5398.79,-603.291,43.1167,221.49,-64.8003],[5349.87,-500.582,42.6,218.814,-64.2329],[5302.11,-402.848,42.1,216.201,-63.6656],[5250.75,-300.425,41.5667,213.391,-63.0399],[5200.56,-203.028,41.05,210.648,-62.4124],[5146.68,-101.351,40.5,207.706,-61.7203],[5092.33,-1.76836,39.95,204.745,-61.002],[5035.84,98.6082,39.3833,201.675,-60.2333],[4977.18,199.545,38.8,198.5,-59.4098],[4918.01,298.02,38.2167,195.311,-58.5519],[4854.89,399.406,37.6,191.93,-57.6057],[4791.21,497.959,36.9833,188.543,-56.6166],[4723.47,598.729,36.3333,184.971,-55.5251],[4653.35,698.716,35.6667,181.314,-54.3501],[4579.03,799.979,34.9667,177.489,-53.0522],[4502.22,899.644,34.25,173.597,-51.651],[4421.05,999.536,33.5,169.564,-50.1012],[4335.43,1098.98,32.7167,165.409,-48.3855],[4243.42,1199.21,31.8833,161.074,-46.4444],[4144.87,1299.1,31,156.599,-44.2482],[4037.71,1399.11,30.05,151.958,-41.7169],[3919.82,1499.04,29.0167,147.162,-38.7531],[3787.01,1599.22,27.8667,142.2,-35.1844],[3632.93,1699.42,26.55,137.115,-30.7391],[3442.83,1799.98,24.95,131.985,-24.826],[3176.43,1899.49,22.75,127.255,-15.8776],[2728.15,1963.01,19.15,126.688,-0.0511617]]], - [54,2011.3,[[5878.51,-2001.56,49.9,252.585,-71.0319],[5844.17,-1902.47,49.4833,250.724,-70.7271],[5808.17,-1800.39,49.05,248.765,-70.4027],[5773.27,-1703.19,48.6333,246.859,-70.0833],[5736.69,-1603.11,48.2,244.853,-69.7432],[5698.39,-1500.29,47.75,242.744,-69.381],[5661.2,-1402.35,47.3167,240.691,-69.0233],[5622.27,-1301.77,46.8667,238.533,-68.6422],[5583.03,-1202.37,46.4167,236.352,-68.251],[5542,-1100.55,45.95,234.063,-67.8341],[5500.62,-1000.02,45.4833,231.75,-67.4054],[5458.9,-900.808,45.0167,229.412,-66.9645],[5416.85,-802.933,44.55,227.05,-66.5107],[5372.93,-702.991,44.0667,224.578,-66.0266],[5327.12,-601.156,43.5667,221.996,-65.5102],[5280.92,-500.921,43.0667,219.389,-64.9771],[5234.34,-402.312,42.5667,216.758,-64.4266],[5185.79,-302.148,42.05,214.015,-63.8385],[5135.26,-200.627,41.5167,211.16,-63.21],[5084.29,-101.036,40.9833,208.282,-62.5587],[5031.28,-0.385992,40.4333,205.292,-61.8619],[4977.81,98.1501,39.8833,202.283,-61.1383],[4922.25,197.429,39.3167,199.164,-60.3632],[4864.55,297.214,38.7333,195.938,-59.5323],[4804.68,397.26,38.1333,192.606,-58.6408],[4740.92,499.971,37.5,189.078,-57.6567],[4676.57,599.667,36.8667,185.544,-56.6259],[4609.93,698.805,36.2167,181.918,-55.5164],[4539.23,799.5,35.5333,178.112,-54.29],[4466.12,898.849,34.8333,174.231,-52.966],[4388.8,998.74,34.1,170.194,-51.5006],[4307.19,1098.52,33.3333,166.017,-49.8772],[4219.38,1199.5,32.5167,161.637,-48.0379],[4127.04,1298.69,31.6667,157.174,-45.9951],[4026.42,1398.82,30.75,152.502,-43.6352],[3915.42,1499.81,29.75,147.613,-40.8633],[3793.77,1599.36,28.6667,142.618,-37.6143],[3655.43,1698.76,27.45,137.471,-33.6462],[3488.27,1799.78,26,132.123,-28.4674],[3273.41,1899.85,24.1667,126.878,-21.2463],[2881.11,1999.78,20.9,122.853,-6.95738]]], - [55,2059.02,[[5786.36,-2003.05,50.3167,253.097,-71.5555],[5752.86,-1903.45,49.9,251.233,-71.2595],[5717.75,-1800.83,49.4667,249.269,-70.9443],[5683.71,-1703.11,49.05,247.357,-70.6341],[5648.03,-1602.48,48.6167,245.345,-70.3036],[5612.06,-1502.88,48.1833,243.309,-69.965],[5574.4,-1400.56,47.7333,241.169,-69.6043],[5537.84,-1303.12,47.3,239.084,-69.2479],[5499.57,-1203.08,46.85,236.894,-68.8681],[5459.55,-1100.58,46.3833,234.596,-68.4634],[5420.65,-1002.96,45.9333,232.356,-68.0623],[5379.98,-903.016,45.4667,230.008,-67.6347],[5337.5,-800.9,44.9833,227.549,-67.1786],[5294.68,-700.229,44.5,225.063,-66.7085],[5251.49,-601.025,44.0167,222.552,-66.224],[5207.95,-503.31,43.5333,220.016,-65.7243],[5161.02,-400.525,43.0167,217.279,-65.1726],[5115.23,-302.722,42.5167,214.606,-64.6206],[5065.96,-200.233,41.9833,211.729,-64.0113],[5017.84,-102.778,41.4667,208.918,-63.3998],[4966.17,-1.04499,40.9167,205.903,-62.7248],[4914.06,98.5859,40.3667,202.865,-62.0237],[4859.9,199.005,39.8,199.714,-61.2725],[4803.67,299.977,39.2167,196.452,-60.4669],[4746.94,398.478,38.6333,193.173,-59.6269],[4686.45,499.882,38.0167,189.692,-58.699],[4625.41,598.443,37.4,186.202,-57.7279],[4560.5,699.209,36.75,182.519,-56.6545],[4493.32,799.18,36.0833,178.742,-55.4971],[4423.82,898.048,35.4,174.88,-54.2476],[4350.25,997.762,34.6833,170.848,-52.8638],[4270.79,1099.86,33.9167,166.57,-51.2946],[4188.81,1199.22,33.1333,162.251,-49.5896],[4100.72,1299.33,32.3,157.734,-47.655],[4006.39,1399.08,31.4167,153.06,-45.4586],[3903.84,1498.91,30.4667,148.198,-42.9174],[3791.06,1598.61,29.4333,143.152,-39.9286],[3662.2,1699.86,28.2667,137.834,-36.2561],[3514.87,1799.47,26.95,132.432,-31.716],[3333.2,1899.26,25.35,126.93,-25.6318],[3071.02,1999.86,23.0833,121.643,-16.0463]]], - [56,2106.11,[[5688.95,-2002.67,50.7167,253.57,-72.0714],[5656.3,-1902.58,50.3,251.701,-71.7839],[5623.39,-1803.4,49.8833,249.808,-71.4897],[5588.89,-1701.23,49.45,247.815,-71.1765],[5554.1,-1600.08,49.0167,245.797,-70.8556],[5520.39,-1503.79,48.6,243.833,-70.5394],[5483.69,-1400.88,48.15,241.687,-70.1894],[5448.06,-1302.86,47.7167,239.595,-69.8436],[5410.76,-1202.2,47.2667,237.396,-69.475],[5373.16,-1102.72,46.8167,235.173,-69.0965],[5333.84,-1000.82,46.35,232.84,-68.693],[5294.2,-900.221,45.8833,230.48,-68.2779],[5254.24,-800.942,45.4167,228.094,-67.8506],[5213.95,-703.002,44.95,225.683,-67.4108],[5171.88,-602.998,44.4667,223.159,-66.9413],[5128,-501.102,43.9667,220.52,-66.4402],[5083.75,-400.814,43.4667,217.855,-65.9225],[5039.14,-302.156,42.9667,215.164,-65.3876],[4992.65,-201.947,42.45,212.357,-64.8158],[4944.25,-100.385,41.9167,209.433,-64.2043],[4895.45,-0.761505,41.3833,206.484,-63.57],[4844.69,99.9159,40.8333,203.419,-62.8908],[4793.5,198.471,40.2833,200.332,-62.1849],[4740.31,297.762,39.7167,197.13,-61.4279],[4685.08,397.551,39.1333,193.814,-60.6155],[4627.77,497.59,38.5333,190.387,-59.7427],[4568.36,597.62,37.9167,186.851,-58.8041],[4505.17,699.951,37.2667,183.114,-57.7662],[4441.41,799.047,36.6167,179.372,-56.6752],[4373.77,899.685,35.9333,175.442,-55.4672],[4303.83,998.96,35.2333,171.426,-54.1604],[4229.89,1098.76,34.5,167.243,-52.7108],[4151.84,1198.42,33.7333,162.908,-51.1008],[4067.88,1299.25,32.9167,158.352,-49.2716],[3979.63,1398.28,32.0667,153.7,-47.2333],[3881.7,1499.94,31.1333,148.728,-44.8253],[3777.41,1598.91,30.15,143.686,-42.0819],[3659.42,1699.59,29.05,138.347,-38.7446],[3525.5,1799.67,27.8167,132.833,-34.646],[3365.91,1899.71,26.3667,127.147,-29.3289],[3157.17,1999.95,24.5,121.426,-21.7093]]], - [57,2152.53,[[5586.35,-2000.43,51.1,254.002,-72.5802],[5555.82,-1903.89,50.7,252.204,-72.3124],[5522.48,-1800.24,50.2667,250.231,-72.0155],[5490.17,-1701.52,49.85,248.31,-71.7232],[5457.6,-1603.72,49.4333,246.365,-71.424],[5423.46,-1503.02,49,244.317,-71.1052],[5389.04,-1403.36,48.5667,242.244,-70.7784],[5353.01,-1300.97,48.1167,240.065,-70.4302],[5318.03,-1203.47,47.6833,237.941,-70.086],[5281.42,-1103.36,47.2333,235.709,-69.7191],[5243.14,-1000.8,46.7667,233.367,-69.328],[5205.92,-903.132,46.3167,231.083,-68.9401],[5167.02,-803.133,45.85,228.687,-68.5264],[5126.4,-700.966,45.3667,226.177,-68.085],[5085.43,-600.251,44.8833,223.64,-67.6298],[5044.13,-501.007,44.4,221.075,-67.1604],[5002.49,-403.256,43.9167,218.484,-66.6759],[4957.61,-300.44,43.4,215.685,-66.1407],[4913.82,-202.612,42.9,212.951,-65.6048],[4866.71,-100.103,42.3667,210.006,-65.0128],[4820.7,-2.63535,41.85,207.128,-64.4183],[4771.3,99.1042,41.3,204.038,-63.7614],[4721.48,198.734,40.75,200.923,-63.0785],[4669.72,299.142,40.1833,197.69,-62.3461],[4617.51,397.245,39.6167,194.435,-61.5827],[4561.76,498.568,39.0167,190.969,-60.7389],[4503.94,599.93,38.4,187.389,-59.831],[4445.62,698.439,37.7833,183.796,-58.8793],[4383.61,799.137,37.1333,179.999,-57.8258],[4319.43,899.026,36.4667,176.101,-56.6879],[4253.05,997.794,35.7833,172.11,-55.457],[4181.15,1099.66,35.05,167.842,-54.0582],[4106.92,1199.34,34.3,163.504,-52.538],[4028.65,1298.53,33.5167,159.019,-50.846],[3944.57,1398.44,32.6833,154.318,-48.9202],[3852.84,1499.76,31.7833,149.35,-46.683],[3754.99,1599.16,30.8333,144.265,-44.1301],[3645.65,1699.89,29.7833,138.888,-41.0623],[3524.51,1799.01,28.6333,133.367,-37.3848],[3382.29,1899.04,27.3,127.574,-32.6824],[3205.55,1999.41,25.6667,121.6,-26.2674]]], - [58,2198.22,[[5479.86,-2000.42,51.4833,254.467,-73.0936],[5450.15,-1903.43,51.0833,252.666,-72.8339],[5418.96,-1803.27,50.6667,250.765,-72.5572],[5386.26,-1700.08,50.2333,248.763,-72.2626],[5354.56,-1601.8,49.8167,246.813,-71.9724],[5321.33,-1500.59,49.3833,244.76,-71.6633],[5287.84,-1400.42,48.95,242.68,-71.3463],[5254.07,-1301.28,48.5167,240.575,-71.0213],[5220.04,-1203.21,48.0833,238.445,-70.6879],[5184.42,-1102.51,47.6333,236.205,-70.3324],[5148.5,-1002.99,47.1833,233.939,-69.9671],[5110.96,-901.052,46.7167,231.56,-69.5776],[5073.1,-800.415,46.25,229.154,-69.1766],[5034.94,-701.104,45.7833,226.72,-68.7638],[4996.47,-603.138,45.3167,224.258,-68.3385],[4956.3,-503.111,44.8333,221.681,-67.8844],[4914.4,-401.197,44.3333,218.986,-67.3994],[4872.15,-300.896,43.8333,216.262,-66.898],[4829.56,-202.231,43.3333,213.51,-66.3796],[4785.18,-102.022,42.8167,210.638,-65.825],[4738.98,-0.467226,42.2833,207.646,-65.2314],[4692.4,99.1425,41.75,204.626,-64.6153],[4643.95,199.798,41.2,201.484,-63.9549],[4595.1,298.322,40.65,198.318,-63.2678],[4544.34,397.573,40.0833,195.032,-62.5302],[4491.64,497.311,39.5,191.627,-61.7378],[4436.97,597.287,38.9,188.104,-60.8854],[4378.75,699.902,38.2667,184.367,-59.942],[4320.01,799.478,37.6333,180.617,-58.9507],[4259.2,898.468,36.9833,176.759,-57.8802],[4194.69,998.98,36.3,172.702,-56.6926],[4128.01,1098.11,35.6,168.551,-55.4052],[4055.9,1199.95,34.85,164.122,-53.9402],[3981.5,1299.31,34.0833,159.628,-52.3439],[3901.47,1399.8,33.2667,154.896,-50.5248],[3817.36,1498.44,32.4167,150.052,-48.4908],[3724.07,1599.65,31.4833,144.863,-46.0782],[3623.04,1699.71,30.4833,139.498,-43.2678],[3510.67,1799.62,29.3833,133.893,-39.8852],[3383.18,1898.77,28.15,128.079,-35.7041],[3227.82,1999.7,26.6667,121.923,-30.1048]]], - [59,2243.14,[[5369.49,-2002.7,51.8667,254.967,-73.6111],[5339.4,-1901.2,51.45,253.087,-73.3491],[5309.07,-1800.6,51.0333,251.183,-73.0809],[5278.5,-1700.91,50.6167,249.254,-72.8064],[5247.68,-1602.14,50.2,247.299,-72.5255],[5215.38,-1500.41,49.7667,245.241,-72.2261],[5184.07,-1403.56,49.35,243.237,-71.9311],[5149.98,-1300.05,48.9,241.045,-71.6044],[5116.89,-1201.44,48.4667,238.907,-71.2814],[5082.26,-1100.18,48.0167,236.66,-70.9371],[5047.34,-1000.09,47.5667,234.385,-70.5834],[5012.14,-901.193,47.1167,232.083,-70.2197],[4976.66,-803.502,46.6667,229.754,-69.8458],[4939.58,-703.487,46.2,227.31,-69.4467],[4900.85,-601.309,45.7167,224.749,-69.0206],[4861.8,-500.588,45.2333,222.159,-68.5811],[4822.44,-401.344,44.75,219.54,-68.1275],[4781.38,-300.255,44.25,216.801,-67.6427],[4739.98,-200.794,43.75,214.032,-67.1413],[4698.25,-102.984,43.25,211.236,-66.6226],[4653.36,-0.50097,42.7167,208.223,-66.049],[4609.52,96.9344,42.2,205.277,-65.4725],[4562.45,198.631,41.65,202.111,-64.835],[4514.99,298.21,41.1,198.919,-64.1716],[4465.68,398.557,40.5333,195.603,-63.4593],[4414.48,499.436,39.95,192.164,-62.6938],[4362.85,597.824,39.3667,188.702,-61.8936],[4307.79,699.087,38.75,185.021,-61.0074],[4252.26,797.484,38.1333,181.323,-60.0771],[4193.21,898.051,37.4833,177.412,-59.0455],[4132.11,997.791,36.8167,173.392,-57.9293],[4067.38,1098.75,36.1167,169.171,-56.689],[4000.5,1198.05,35.4,164.858,-55.3413],[3928.29,1299.67,34.6333,160.266,-53.8053],[3853.81,1398.5,33.85,155.613,-52.1268],[3772.21,1499.94,33,150.631,-50.1701],[3686.57,1598.85,32.1167,145.552,-47.9745],[3591.88,1699.4,31.15,140.149,-45.3653],[3487.93,1799.34,30.1,134.518,-42.2653],[3371.12,1898.9,28.9333,128.633,-38.469],[3232.58,1999.89,27.5667,122.38,-33.5179]]], - [60,2287.24,[[5254.02,-2003.26,52.2333,255.427,-74.1228],[5224.79,-1901.31,51.8167,253.544,-73.8691],[5195.32,-1800.26,51.4,251.636,-73.6096],[5165.63,-1700.11,50.9833,249.703,-73.3439],[5135.69,-1600.87,50.5667,247.745,-73.072],[5105.52,-1502.57,50.15,245.761,-72.7935],[5073.9,-1401.33,49.7167,243.672,-72.4967],[5042.02,-1301.13,49.2833,241.555,-72.1923],[5009.88,-1201.98,48.85,239.412,-71.88],[4976.24,-1100.14,48.4,237.158,-71.547],[4943.59,-1003.18,47.9667,234.961,-71.2177],[4909.42,-903.649,47.5167,232.652,-70.8663],[4873.69,-801.702,47.05,230.227,-70.4915],[4837.67,-701.065,46.5833,227.773,-70.1054],[4801.36,-601.759,46.1167,225.29,-69.7077],[4763.45,-500.33,45.6333,222.688,-69.283],[4725.22,-400.37,45.15,220.056,-68.8446],[4686.69,-301.901,44.6667,217.395,-68.3919],[4646.5,-201.629,44.1667,214.611,-67.9078],[4605.98,-103,43.6667,211.798,-67.4069],[4563.77,-2.83439,43.15,208.861,-66.8706],[4519.84,98.6678,42.6167,205.799,-66.2962],[4475.54,198.217,42.0833,202.707,-65.6994],[4429.47,298.801,41.5333,199.489,-65.0591],[4383.02,397.245,40.9833,196.244,-64.3923],[4333.33,499.285,40.4,192.773,-63.6542],[4283.22,598.846,39.8167,189.277,-62.8824],[4231.24,698.628,39.2167,185.657,-62.051],[4177.35,798.369,38.6,181.916,-61.1544],[4121.53,897.794,37.9667,178.055,-60.1859],[4062.26,999.104,37.3,173.978,-59.1106],[4000.96,1099.33,36.6167,169.792,-57.9443],[3937.6,1198.15,35.9167,165.506,-56.6772],[3869.1,1299.64,35.1667,160.925,-55.2317],[3798.42,1398.63,34.4,156.269,-53.6522],[3722.43,1498.68,33.5833,151.357,-51.8464],[3641,1598.71,32.7167,146.222,-49.7783],[3552.43,1699.23,31.7833,140.814,-47.3603],[3456.55,1798.52,30.7833,135.207,-44.5292],[3348.31,1898.94,29.6667,129.244,-41.0467],[3224.1,1999.3,28.4,122.972,-36.6508]]], - [61,2330.47,[[5133.56,-2002.11,52.5833,255.846,-74.6292],[5106.33,-1903.82,52.1833,254.036,-74.3937],[5077.75,-1802.3,51.7667,252.126,-74.1429],[5048.94,-1701.68,51.35,250.19,-73.8861],[5019.89,-1601.97,50.9333,248.228,-73.6233],[4990.62,-1503.19,50.5167,246.24,-73.3541],[4959.94,-1401.44,50.0833,244.146,-73.0673],[4929.01,-1300.73,49.65,242.024,-72.7731],[4897.83,-1201.06,49.2167,239.875,-72.4713],[4866.4,-1102.46,48.7833,237.699,-72.1615],[4833.51,-1001.2,48.3333,235.411,-71.8311],[4800.35,-901.113,47.8833,233.093,-71.4915],[4766.92,-802.225,47.4333,230.747,-71.1422],[4731.98,-700.955,46.9667,228.284,-70.7694],[4696.75,-601.009,46.5,225.79,-70.3853],[4661.25,-502.405,46.0333,223.268,-69.9895],[4624.17,-401.716,45.55,220.624,-69.5665],[4586.8,-302.51,45.0667,217.95,-69.1297],[4547.82,-201.468,44.5667,215.152,-68.6625],[4508.53,-102.059,44.0667,212.324,-68.1791],[4467.59,-1.08014,43.55,209.369,-67.6615],[4426.31,98.1018,43.0333,206.383,-67.1246],[4383.35,198.57,42.5,203.27,-66.5491],[4340.03,297.066,41.9667,200.127,-65.9507],[4293.63,399.526,41.4,196.756,-65.2884],[4246.83,499.692,40.8333,193.356,-64.597],[4199.63,597.532,40.2667,189.928,-63.8748],[4149.24,698.553,39.6667,186.272,-63.0744],[4097.01,799.581,39.05,182.489,-62.2108],[4044.33,897.73,38.4333,178.686,-61.3028],[3988.32,998.02,37.7833,174.658,-60.2943],[3928.91,1099.9,37.1,170.412,-59.1726],[3868.98,1198.08,36.4167,166.159,-57.9832],[3804.09,1299.28,35.6833,161.599,-56.625],[3737.12,1398.24,34.9333,156.951,-55.141],[3665.03,1498.66,34.1333,152.027,-53.4427],[3587.69,1599.47,33.2833,146.853,-51.4958],[3505.01,1699.49,32.3833,141.471,-49.2587],[3415.3,1799.11,31.4167,135.838,-46.6347],[3315.28,1899.5,30.35,129.859,-43.4468],[3203.08,1998.97,29.1667,123.608,-39.516]]], - [62,2372.77,[[5009.28,-2003.44,52.9333,256.3,-75.1404],[4981.78,-1900.64,52.5167,254.412,-74.9034],[4955.18,-1802.78,52.1167,252.574,-74.6707],[4927.25,-1701.71,51.7,250.635,-74.4228],[4899.1,-1601.56,51.2833,248.669,-74.1689],[4870.73,-1502.32,50.8667,246.678,-73.909],[4840.99,-1400.1,50.4333,244.579,-73.6319],[4812.16,-1302.78,50.0167,242.534,-73.3588],[4781.95,-1202.58,49.5833,240.38,-73.0676],[4751.5,-1103.44,49.15,238.199,-72.7687],[4719.62,-1001.63,48.7,235.904,-72.4498],[4687.48,-900.977,48.25,233.579,-72.1221],[4655.09,-801.517,47.8,231.225,-71.785],[4622.44,-703.263,47.35,228.842,-71.4382],[4588.32,-602.663,46.8833,226.34,-71.0679],[4553.92,-503.399,46.4167,223.808,-70.6863],[4518,-402.019,45.9333,221.153,-70.2784],[4481.79,-302.114,45.45,218.467,-69.8572],[4444.02,-200.34,44.95,215.655,-69.4067],[4405.94,-100.193,44.45,212.811,-68.9404],[4367.56,-1.69613,43.95,209.936,-68.4576],[4327.57,98.3241,43.4333,206.932,-67.9403],[4285.96,199.667,42.9,203.799,-67.3857],[4243.99,299.047,42.3667,200.633,-66.809],[4200.36,399.447,41.8167,197.337,-66.1897],[4156.37,497.697,41.2667,194.011,-65.5439],[4109.32,599.519,40.6833,190.452,-64.8283],[4061.88,698.85,40.1,186.863,-64.0791],[4012.67,798.383,39.5,183.146,-63.271],[3961.66,897.853,38.8833,179.3,-62.398],[3907.43,999.552,38.2333,175.223,-61.428],[3852.73,1097.97,37.5833,171.13,-60.4028],[3794.73,1197.85,36.9,166.814,-59.2609],[3733.35,1298.59,36.1833,162.284,-57.9868],[3668.54,1399.55,35.4333,157.549,-56.5622],[3601.69,1497.96,34.6667,152.73,-55.0007],[3528.34,1599.36,33.8333,147.533,-53.1713],[3451.34,1698.57,32.9667,142.2,-51.1082],[3366.1,1799.87,32.0167,136.472,-48.6392],[3273.95,1899.54,31,130.528,-45.731],[3170.13,1999.82,29.8667,124.206,-42.1301]]], - [63,2414.11,[[4880.09,-2003.15,53.2667,256.714,-75.6474],[4854.54,-1904.05,52.8667,254.899,-75.4279],[4827.72,-1801.68,52.45,252.983,-75.1941],[4800.68,-1700.2,52.0333,251.04,-74.9548],[4774.52,-1603.63,51.6333,249.15,-74.7197],[4747.06,-1503.93,51.2167,247.155,-74.4691],[4718.27,-1401.22,50.7833,245.052,-74.2019],[4690.37,-1303.43,50.3667,243.003,-73.9386],[4661.12,-1202.74,49.9333,240.845,-73.6578],[4631.64,-1103.09,49.5,238.657,-73.3695],[4600.79,-1000.75,49.05,236.356,-73.0621],[4570.84,-903.29,48.6167,234.111,-72.7579],[4539.49,-803.246,48.1667,231.75,-72.4332],[4506.72,-700.765,47.7,229.271,-72.0866],[4474.87,-603.184,47.25,226.849,-71.7424],[4441.57,-503.294,46.7833,224.308,-71.3746],[4406.81,-401.259,46.3,221.642,-70.9817],[4371.76,-300.692,45.8167,218.944,-70.5758],[4336.43,-201.616,45.3333,216.213,-70.1563],[4299.59,-100.714,44.8333,213.356,-69.7075],[4262.45,-1.45535,44.3333,210.465,-69.2426],[4223.76,99.3611,43.8167,207.444,-68.7446],[4184.75,198.371,43.3,204.391,-68.2276],[4144.16,298.653,42.7667,201.205,-67.6728],[4101.94,399.992,42.2167,197.886,-67.077],[4059.38,499.192,41.6667,194.534,-66.4557],[4015.17,599.127,41.1,191.049,-65.7871],[3969.28,699.558,40.5167,187.429,-65.0668],[3923,797.474,39.9333,183.78,-64.3118],[3873.67,898.21,39.3167,179.895,-63.4733],[3822.57,998.654,38.6833,175.878,-62.5657],[3769.68,1098.52,38.0333,171.734,-61.5816],[3713.59,1199.94,37.35,167.359,-60.4848],[3655.63,1299.97,36.65,162.867,-59.2897],[3595.76,1398.29,35.9333,158.265,-57.9845],[3531.15,1498.8,35.1667,153.352,-56.4883],[3463.11,1598.47,34.3667,148.253,-54.8063],[3390.15,1698.44,33.5167,142.887,-52.8703],[3310.7,1799.31,32.6,137.189,-50.5923],[3224.64,1899.39,31.6167,131.224,-47.9048],[3128.84,1999.74,30.5333,124.89,-44.6184]]], - [64,2454.44,[[4746.1,-2001.26,53.5833,257.087,-76.1506],[4721.4,-1901.79,53.1833,255.269,-75.939],[4696.5,-1803.13,52.7833,253.427,-75.7227],[4670.36,-1701.22,52.3667,251.482,-75.4922],[4644.01,-1600.21,51.95,249.509,-75.2562],[4617.45,-1500.11,51.5333,247.51,-75.0145],[4590.68,-1400.94,51.1167,245.484,-74.7669],[4563.71,-1302.7,50.7,243.431,-74.5132],[4535.43,-1201.54,50.2667,241.267,-74.2426],[4506.93,-1101.42,49.8333,239.074,-73.9649],[4478.21,-1002.37,49.4,236.852,-73.6798],[4448.14,-900.638,48.95,234.515,-73.3756],[4417.83,-800.087,48.5,232.146,-73.0627],[4387.28,-700.731,48.05,229.747,-72.7408],[4356.49,-602.586,47.6,227.318,-72.4094],[4324.31,-502.106,47.1333,224.766,-72.0555],[4291.87,-402.967,46.6667,222.183,-71.6904],[4258,-301.725,46.1833,219.475,-71.3],[4223.86,-201.965,45.7,216.732,-70.8966],[4188.26,-100.349,45.2,213.861,-70.4649],[4152.36,-0.36729,44.7,210.956,-70.0178],[4116.18,97.9551,44.2,208.018,-69.5544],[4078.49,197.786,43.6833,204.947,-69.0575],[4039.26,298.924,43.15,201.742,-68.5243],[3999.71,398.09,42.6167,198.503,-67.9694],[3958.6,498.257,42.0667,195.128,-67.3728],[3915.88,599.2,41.5,191.616,-66.7308],[3872.82,697.814,40.9333,188.071,-66.0592],[3826.84,799.655,40.3333,184.285,-65.3136],[3780.47,898.807,39.7333,180.468,-64.5301],[3732.42,997.871,39.1167,176.516,-63.6824],[3681.33,1099.12,38.4667,172.324,-62.7386],[3628.49,1199.55,37.8,168.002,-61.7128],[3573.86,1298.82,37.1167,163.555,-60.5954],[3516.06,1398.91,36.4,158.881,-59.3454],[3455.04,1499.17,35.65,153.991,-57.9438],[3390.73,1598.9,34.8667,148.897,-56.3675],[3321.69,1699.33,34.0333,143.514,-54.5517],[3247.82,1799.32,33.15,137.874,-52.4534],[3167.62,1899.31,32.2,131.92,-49.9747],[3079.51,1999.05,31.1667,125.628,-46.9858]]], - [65,2493.7,[[4608.39,-2001.98,53.9,257.495,-76.6594],[4584.54,-1902.14,53.5,255.676,-76.4558],[4560.5,-1803.1,53.1,253.831,-76.2476],[4535.26,-1700.8,52.6833,251.883,-76.0257],[4510.84,-1603.42,52.2833,249.987,-75.8078],[4485.2,-1502.87,51.8667,247.985,-75.5754],[4459.37,-1403.25,51.45,245.956,-75.3373],[4432.28,-1300.62,51.0167,243.817,-75.0835],[4406.04,-1202.91,50.6,241.732,-74.8332],[4378.53,-1102.31,50.1667,239.534,-74.5661],[4350.8,-1002.77,49.7333,237.308,-74.292],[4321.77,-900.527,49.2833,234.964,-73.9995],[4293.6,-803.179,48.85,232.677,-73.7099],[4264.12,-703.252,48.4,230.272,-73.4006],[4233.3,-600.899,47.9333,227.745,-73.0703],[4203.35,-503.448,47.4833,225.276,-72.7422],[4170.92,-400.161,47,222.591,-72.3787],[4139.35,-301.817,46.5333,219.965,-72.0164],[4106.4,-201.411,46.05,217.212,-71.6288],[4073.19,-102.502,45.5667,214.425,-71.228],[4038.55,-1.78311,45.0667,211.507,-70.7988],[4003.63,97.285,44.5667,208.554,-70.354],[3967.26,197.895,44.05,205.467,-69.877],[3929.41,299.846,43.5167,202.243,-69.365],[3891.25,399.833,42.9833,198.984,-68.8321],[3852.78,497.827,42.45,195.689,-68.2769],[3811.57,599.728,41.8833,192.153,-67.661],[3770.02,699.313,41.3167,188.581,-67.0166],[3726.89,799.369,40.7333,184.869,-66.3214],[3682.16,899.644,40.1333,181.017,-65.5702],[3635.81,999.875,39.5167,177.027,-64.7572],[3587.8,1099.78,38.8833,172.898,-63.8758],[3538.11,1199.08,38.2333,168.635,-62.918],[3485.42,1299.87,37.55,164.13,-61.8483],[3430.99,1399.25,36.85,159.499,-60.6797],[3373.46,1499.08,36.1167,154.641,-59.3691],[3312.8,1598.71,35.35,149.564,-57.8949],[3247.59,1699.43,34.5333,144.178,-56.1953],[3179.1,1798.24,33.6833,138.617,-54.2692],[3103.18,1899.55,32.75,132.595,-51.9476],[3021.06,1999.64,31.75,126.288,-49.1906]]], - [66,2531.85,[[4465.99,-2001.21,54.2,257.864,-77.1654],[4443,-1901.02,53.8,256.043,-76.9697],[4419.82,-1801.62,53.4,254.195,-76.7695],[4396.46,-1703.03,53,252.323,-76.5648],[4371.94,-1601.2,52.5833,250.345,-76.3467],[4347.23,-1500.28,52.1667,248.339,-76.1232],[4322.32,-1400.26,51.75,246.306,-75.8943],[4297.21,-1301.18,51.3333,244.245,-75.6598],[4271.91,-1203.03,50.9167,242.156,-75.4194],[4245.39,-1101.98,50.4833,239.954,-75.1629],[4218.67,-1001.97,50.05,237.722,-74.8996],[4191.73,-903.031,49.6167,235.46,-74.6291],[4163.54,-801.428,49.1667,233.079,-74.3404],[4135.12,-701.008,48.7167,230.666,-74.0433],[4106.47,-601.789,48.2667,228.222,-73.7375],[4076.53,-500.181,47.8,225.654,-73.4108],[4047.43,-403.462,47.35,223.145,-73.086],[4015.93,-300.977,46.8667,220.416,-72.7261],[3985.27,-203.419,46.4,217.748,-72.3671],[3952.16,-100.436,45.9,214.852,-71.9693],[3919.9,-2.42454,45.4167,212.019,-71.5712],[3886.25,97.3501,44.9167,209.052,-71.1447],[3851.21,198.698,44.4,205.95,-70.6872],[3815.88,298.238,43.8833,202.81,-70.2119],[3779.12,399.065,43.35,199.532,-69.7013],[3742.06,497.908,42.8167,196.218,-69.1693],[3703.53,597.73,42.2667,192.763,-68.5969],[3663.51,698.304,41.7,189.166,-67.9801],[3621.97,799.39,41.1167,185.425,-67.3145],[3580.08,897.957,40.5333,181.65,-66.6157],[3535.44,999.377,39.9167,177.623,-65.8382],[3490.43,1097.9,39.3,173.564,-65.0176],[3442.58,1198.56,38.65,169.255,-64.1023],[3393.1,1298.35,37.9833,164.808,-63.1053],[3340.69,1399.32,37.2833,160.116,-61.9892],[3286.57,1498.59,36.5667,155.297,-60.7661],[3229.44,1597.96,35.8167,150.248,-59.3902],[3167.97,1698.78,35.0167,144.871,-57.8029],[3102.06,1799.97,34.1667,139.187,-55.9657],[3032.93,1898.56,33.2833,133.339,-53.8723],[2956.58,1998.64,32.3167,127.047,-51.3387]]], - [67,2568.86,[[4319.93,-2003.17,54.5,258.269,-77.677],[4297.8,-1902.62,54.1,256.446,-77.4892],[4275.49,-1802.85,53.7,254.597,-77.2972],[4253.02,-1703.89,53.3,252.722,-77.1009],[4229.42,-1601.68,52.8833,250.742,-76.8916],[4205.63,-1500.36,52.4667,248.734,-76.6773],[4182.63,-1403.94,52.0667,246.779,-76.4666],[4157.5,-1300.46,51.6333,244.632,-76.2327],[4133.16,-1201.91,51.2167,242.539,-76.0021],[4107.64,-1100.43,50.7833,240.332,-75.756],[4082.91,-1003.83,50.3667,238.181,-75.5132],[4055.99,-900.612,49.9167,235.826,-75.2439],[4029.86,-802.311,49.4833,233.528,-74.9773],[4002.52,-701.385,49.0333,231.109,-74.6926],[3974.96,-601.653,48.5833,228.658,-74.3995],[3947.19,-503.135,48.1333,226.174,-74.0976],[3918.16,-402.268,47.6667,223.565,-73.775],[3888.89,-302.744,47.2,220.921,-73.442],[3858.34,-201.103,46.7167,218.147,-73.0857],[3827.55,-100.947,46.2333,215.337,-72.7173],[3796.51,-2.29712,45.75,212.492,-72.3361],[3764.15,98.1448,45.25,209.512,-71.9276],[3731.53,196.926,44.75,206.496,-71.5038],[3697.55,297.229,44.2333,203.341,-71.049],[3662.19,398.852,43.7,200.045,-70.5605],[3626.54,498.498,43.1667,196.712,-70.0514],[3589.48,599.159,42.6167,193.235,-69.5035],[3552.12,697.655,42.0667,189.72,-68.9308],[3512.18,799.721,41.4833,185.953,-68.2945],[3471.9,899.277,40.9,182.147,-67.6262],[3430.13,999.023,40.3,178.196,-66.9031],[3386.85,1098.69,39.6833,174.1,-66.119],[3342.03,1198,39.05,169.859,-65.2673],[3294.46,1299.15,38.3833,165.362,-64.3155],[3245.28,1399.17,37.7,160.726,-63.2756],[3194.48,1497.72,37,155.955,-62.1366],[3139.58,1598.86,36.25,150.829,-60.8249],[3081.73,1699.52,35.4667,145.473,-59.3433],[3020.89,1798.95,34.65,139.903,-57.6631],[2955.74,1898.23,33.7833,134.031,-55.7105],[2883.67,1999.56,32.8333,127.674,-53.3432]]], - [68,2604.67,[[4169.31,-2003.69,54.7833,258.634,-78.1866],[4148.05,-1902.8,54.3833,256.81,-78.0066],[4126.63,-1802.7,53.9833,254.959,-77.8227],[4105.04,-1703.39,53.5833,253.082,-77.6347],[4082.37,-1600.81,53.1667,251.099,-77.4342],[4060.44,-1503.18,52.7667,249.168,-77.2372],[4037.41,-1402.36,52.35,247.129,-77.027],[4014.21,-1302.46,51.9333,245.061,-76.8117],[3990.83,-1203.49,51.5167,242.965,-76.591],[3966.32,-1101.58,51.0833,240.754,-76.3555],[3941.61,-1000.7,50.65,238.512,-76.1137],[3916.72,-900.871,50.2167,236.239,-75.8654],[3891.62,-802.117,49.7833,233.936,-75.6102],[3865.36,-700.716,49.3333,231.511,-75.3377],[3838.89,-600.505,48.8833,229.053,-75.0571],[3812.21,-501.501,48.4333,226.561,-74.7682],[3784.33,-400.125,47.9667,223.943,-74.4593],[3756.22,-300.088,47.5,221.29,-74.1406],[3727.9,-201.408,47.0333,218.602,-73.8115],[3698.33,-100.657,46.55,215.782,-73.4592],[3668.52,-1.4062,46.0667,212.926,-73.0946],[3637.44,99.6642,45.5667,209.933,-72.7038],[3606.11,199.081,45.0667,206.902,-72.2985],[3574.54,296.818,44.5667,203.834,-71.8778],[3540.59,399.193,44.0333,200.522,-71.411],[3506.37,499.601,43.5,197.17,-70.9245],[3471.87,598.012,42.9667,193.779,-70.4171],[3436,697.375,42.4167,190.242,-69.8704],[3398.76,797.461,41.85,186.558,-69.2806],[3360.1,898.029,41.2667,182.726,-68.6433],[3320.02,998.826,40.6667,178.744,-67.9536],[3278.47,1099.59,40.05,174.612,-67.2056],[3236.59,1197.43,39.4333,170.444,-66.4148],[3190.94,1299.87,38.7667,165.902,-65.5074],[3144.9,1398.79,38.1,161.327,-64.5407],[3096.15,1498.83,37.4,156.497,-63.4557],[3044.65,1599.34,36.6667,151.414,-62.2342],[2990.34,1699.67,35.9,146.089,-60.8545],[2933.18,1799.1,35.1,140.534,-59.2896],[2871.9,1898.77,34.25,134.654,-57.4697],[2805.23,1999.25,33.3333,128.367,-55.3016]]], - [69,2639.24,[[4014.26,-2002.84,55.05,258.961,-78.6946],[3993.88,-1901.63,54.65,257.134,-78.5226],[3973.33,-1801.22,54.25,255.281,-78.3467],[3952.63,-1701.59,53.85,253.402,-78.1668],[3931.77,-1602.77,53.45,251.495,-77.9829],[3909.87,-1500.71,53.0333,249.482,-77.7867],[3888.68,-1403.57,52.6333,247.521,-77.5939],[3866.44,-1303.29,52.2167,245.45,-77.3881],[3844.03,-1203.93,51.8,243.351,-77.1772],[3820.53,-1101.6,51.3667,241.136,-76.9522],[3796.85,-1000.31,50.9333,238.89,-76.7212],[3772.99,-900.067,50.5,236.612,-76.4839],[3748.93,-800.89,50.0667,234.303,-76.24],[3724.69,-702.796,49.6333,231.962,-75.9894],[3699.33,-602.091,49.1833,229.499,-75.7215],[3673.76,-502.589,48.7333,227.001,-75.4457],[3647.04,-400.69,48.2667,224.376,-75.1509],[3620.1,-300.124,47.8,221.715,-74.8465],[3592.95,-200.91,47.3333,219.018,-74.5323],[3565.59,-103.069,46.8667,216.286,-74.2077],[3537.03,-3.20136,46.3833,213.42,-73.86],[3507.25,98.5142,45.8833,210.415,-73.4873],[3477.23,198.583,45.3833,207.372,-73.1007],[3446.98,296.979,44.8833,204.291,-72.6994],[3415.47,396.873,44.3667,201.067,-72.2683],[3382.68,498.061,43.8333,197.699,-71.8047],[3349.63,597.26,43.3,194.289,-71.3212],[3315.27,697.444,42.75,190.732,-70.8001],[3279.59,798.386,42.1833,187.025,-70.2379],[3242.55,899.844,41.6,183.166,-69.6303],[3205.22,998.776,41.0167,179.266,-68.9913],[3166.51,1097.86,40.4167,175.214,-68.2987],[3125.31,1199.46,39.7833,170.896,-67.5254],[3083.77,1297.95,39.15,166.539,-66.7052],[3039.69,1398.21,38.4833,161.918,-65.7865],[2993.01,1499.66,37.7833,157.031,-64.7548],[2944.81,1599.41,37.0667,152.001,-63.62],[2893.95,1699.26,36.3167,146.716,-62.3382],[2840.36,1798.53,35.5333,141.187,-60.8845],[2782.87,1898.41,34.7,135.312,-59.1931],[2720.22,1999.57,33.8,129.002,-57.1758]]], - [70,2672.53,[[3854.88,-2000.6,55.3,259.249,-79.202],[3836.2,-1903.32,54.9167,257.496,-79.0447],[3816.55,-1802.58,54.5167,255.642,-78.8769],[3796.75,-1702.62,54.1167,253.76,-78.7054],[3776.8,-1603.47,53.7167,251.852,-78.5299],[3755.85,-1501.05,53.3,249.836,-78.3428],[3735.58,-1403.58,52.9,247.873,-78.1589],[3714.31,-1302.94,52.4833,245.799,-77.9626],[3692.87,-1203.22,52.0667,243.696,-77.7615],[3670.4,-1100.51,51.6333,241.477,-77.5469],[3648.62,-1002.72,51.2167,239.313,-77.3351],[3625.8,-902.046,50.7833,237.032,-77.109],[3602.8,-802.434,50.35,234.719,-76.8766],[3578.73,-700.132,49.9,232.282,-76.6285],[3555.36,-602.733,49.4667,229.904,-76.3826],[3530.91,-502.764,49.0167,227.4,-76.1198],[3505.36,-400.377,48.55,224.767,-75.8388],[3480.52,-302.902,48.1,222.194,-75.5593],[3454.56,-203.14,47.6333,219.49,-75.2602],[3427.47,-101.255,47.15,216.651,-74.9399],[3400.16,-0.85936,46.6667,213.774,-74.6085],[3372.63,98.0261,46.1833,210.859,-74.2653],[3343.93,198.708,45.6833,207.804,-73.8972],[3315,297.724,45.1833,204.71,-73.515],[3284.87,398.266,44.6667,201.471,-73.1045],[3254.5,496.975,44.15,198.192,-72.6771],[3222.91,596.919,43.6167,194.765,-72.2171],[3190.06,697.879,43.0667,191.188,-71.7214],[3155.95,799.629,42.5,187.459,-71.1865],[3121.56,899.039,41.9333,183.686,-70.6252],[3085.87,998.893,41.35,179.759,-70.0178],[3048.87,1098.94,40.75,175.677,-69.3593],[3010.53,1198.9,40.1333,171.438,-68.6439],[2970.83,1298.5,39.5,167.044,-67.8649],[2928.7,1399.95,38.8333,162.377,-66.992],[2886.22,1497.85,38.1667,157.674,-66.0596],[2840.17,1599.09,37.45,152.584,-64.9841],[2792.66,1698.32,36.7167,147.348,-63.7966],[2741.48,1799.37,35.9333,141.736,-62.4193],[2687.66,1899.19,35.1167,135.881,-60.8487],[2630.05,1998.86,34.25,129.682,-59.0112]]], - [71,2704.5,[[3692.05,-2001.29,55.55,259.574,-79.7157],[3674.22,-1903.73,55.1667,257.82,-79.566],[3655.47,-1802.68,54.7667,255.964,-79.4064],[3636.58,-1702.42,54.3667,254.081,-79.2431],[3617.54,-1602.96,53.9667,252.17,-79.0761],[3597.55,-1500.21,53.55,250.151,-78.898],[3578.21,-1402.42,53.15,248.185,-78.7229],[3557.92,-1301.45,52.7333,246.108,-78.5362],[3537.46,-1201.39,52.3167,244.001,-78.3447],[3516.84,-1102.27,51.9,241.864,-78.1484],[3495.24,-1000.2,51.4667,239.61,-77.9388],[3474.3,-903.027,51.05,237.412,-77.732],[3452.36,-803.009,50.6167,235.094,-77.511],[3429.39,-700.28,50.1667,232.652,-77.2751],[3407.1,-602.467,49.7333,230.268,-77.0412],[3383.78,-502.062,49.2833,227.759,-76.7913],[3360.27,-402.869,48.8333,225.214,-76.5337],[3335.7,-301.299,48.3667,222.538,-76.2582],[3310.94,-201.07,47.9,219.825,-75.9737],[3285.98,-102.203,47.4333,217.076,-75.6798],[3259.94,-1.26284,46.95,214.189,-75.3649],[3233.68,98.173,46.4667,211.264,-75.0389],[3206.31,199.43,45.9667,208.198,-74.6891],[3178.72,299.028,45.4667,205.09,-74.3259],[3150.91,396.942,44.9667,201.943,-73.9486],[3121.01,499.499,44.4333,198.542,-73.5295],[3091.82,596.969,43.9167,195.206,-73.1062],[3060.5,698.661,43.3667,191.611,-72.6356],[3028.92,798.19,42.8167,187.971,-72.143],[2996.13,898.439,42.25,184.176,-71.6107],[2962.11,999.165,41.6667,180.224,-71.0346],[2927.81,1097.35,41.0833,176.228,-70.4277],[2891.26,1198.33,40.4667,171.958,-69.7499],[2853.41,1298.99,39.8333,167.528,-69.0116],[2814.25,1399.04,39.1833,162.937,-68.2054],[2773.76,1498.17,38.5167,158.187,-67.3226],[2730.9,1598.41,37.8167,153.162,-66.3283],[2685.61,1699.12,37.0833,147.862,-65.2047],[2637.88,1799.63,36.3167,142.295,-63.9296],[2587.64,1899.23,35.5167,136.469,-62.4757],[2533.8,1999.05,34.6667,130.279,-60.7739]]], - [72,2735.11,[[3525.07,-2000.71,55.7833,259.861,-80.2294],[3508.1,-1902.87,55.4,258.106,-80.0872],[3490.26,-1801.55,55,256.247,-79.9356],[3472.28,-1701,54.6,254.362,-79.7806],[3454.16,-1601.26,54.2,252.449,-79.622],[3435.91,-1502.32,53.8,250.509,-79.4597],[3416.74,-1400.13,53.3833,248.458,-79.2867],[3398.2,-1302.88,52.9833,246.461,-79.1165],[3378.74,-1202.48,52.5667,244.351,-78.9349],[3359.13,-1103.01,52.15,242.211,-78.7486],[3338.57,-1000.56,51.7167,239.953,-78.5499],[3318.65,-903.032,51.3,237.751,-78.3536],[3297.77,-802.636,50.8667,235.429,-78.144],[3276.73,-703.31,50.4333,233.074,-77.9285],[3254.72,-601.313,49.9833,230.593,-77.6983],[3232.52,-500.503,49.5333,228.077,-77.4611],[3210.16,-400.901,49.0833,225.525,-77.2168],[3187.62,-302.522,48.6333,222.938,-76.9648],[3164.06,-201.813,48.1667,220.219,-76.6952],[3140.33,-102.46,47.7,217.461,-76.4166],[3115.55,-1.01025,47.2167,214.566,-76.1181],[3090.57,98.9399,46.7333,211.631,-75.809],[3065.4,197.368,46.25,208.656,-75.4887],[3039.16,297.565,45.75,205.538,-75.1448],[3011.83,399.338,45.2333,202.272,-74.7754],[2984.28,499.293,44.7167,198.963,-74.3907],[2956.51,597.402,44.2,195.612,-73.9898],[2926.72,699.781,43.65,191.999,-73.544],[2897.61,796.999,43.1167,188.451,-73.0918],[2866.43,898.038,42.55,184.635,-72.5882],[2834.07,999.588,41.9667,180.66,-72.043],[2801.46,1098.6,41.3833,176.637,-71.4687],[2767.64,1197.76,40.7833,172.454,-70.8448],[2731.66,1299.42,40.15,167.99,-70.1468],[2695.39,1397.96,39.5167,163.48,-69.4046],[2656.89,1498.26,38.85,158.687,-68.5708],[2616.15,1599.73,38.15,153.611,-67.6313],[2574.08,1699.48,37.4333,148.374,-66.5942],[2529.69,1799.32,36.6833,142.859,-65.4174],[2482.95,1898.55,35.9,137.073,-64.0759],[2432.8,1998.36,35.0667,130.906,-62.5052]]], - [73,2764.31,[[3354.76,-2003.14,56.0167,260.187,-80.7493],[3337.97,-1900.79,55.6167,258.353,-80.6088],[3321.75,-1803.42,55.2333,256.571,-80.4713],[3304.69,-1702.58,54.8333,254.684,-80.3247],[3287.51,-1602.54,54.4333,252.77,-80.1746],[3270.19,-1503.3,54.0333,250.827,-80.0211],[3252.01,-1400.8,53.6167,248.774,-79.8574],[3234.43,-1303.25,53.2167,246.775,-79.6964],[3215.97,-1202.52,52.8,244.662,-79.5245],[3197.36,-1102.73,52.3833,242.519,-79.3484],[3178.62,-1003.87,51.9667,240.345,-79.1676],[3158.97,-902.078,51.5333,238.052,-78.9746],[3139.17,-801.334,51.1,235.725,-78.7763],[3119.21,-701.655,50.6667,233.364,-78.5724],[3099.1,-603.058,50.2333,230.971,-78.3627],[3078.06,-501.83,49.7833,228.449,-78.1385],[3056.85,-401.805,49.3333,225.892,-77.9076],[3035.47,-302.999,48.8833,223.299,-77.6694],[3013.14,-201.842,48.4167,220.573,-77.4145],[2990.62,-102.037,47.95,217.807,-77.1512],[2967.12,-0.113536,47.4667,214.903,-76.869],[2944.25,96.8773,47,212.061,-76.587],[2919.56,199.227,46.5,208.973,-76.2739],[2894.68,299.929,46,205.843,-75.9487],[2869.59,398.958,45.5,202.671,-75.6109],[2843.47,499.505,44.9833,199.349,-75.2475],[2817.15,598.212,44.4667,195.983,-74.8688],[2789.76,698.143,43.9333,192.463,-74.4607],[2761.29,799.082,43.3833,188.787,-74.0204],[2732.6,897.84,42.8333,185.064,-73.5589],[2702.8,997.275,42.2667,181.18,-73.0595],[2671,1099.96,41.6667,177.018,-72.5023],[2638.94,1199.93,41.0667,172.807,-71.9133],[2605.73,1299.8,40.45,168.429,-71.2721],[2571.34,1399.3,39.8167,163.884,-70.5721],[2535.77,1498.13,39.1667,159.171,-69.8058],[2498.08,1598.38,38.4833,154.171,-68.9425],[2458.22,1699.44,37.7667,148.88,-67.9666],[2417.09,1798.47,37.0333,143.426,-66.8844],[2372.81,1899.27,36.25,137.566,-65.6229],[2326.25,1998.81,35.4333,131.432,-64.1756]]], - [74,2792.08,[[3179.82,-2000.08,56.2167,260.399,-81.2641],[3164.61,-1901.76,55.8333,258.64,-81.1372],[3149.28,-1804.13,55.45,256.856,-81.0075],[3133.16,-1703.03,55.05,254.968,-80.8691],[3116.92,-1602.71,54.65,253.052,-80.7276],[3100.55,-1503.2,54.25,251.107,-80.5828],[3083.36,-1400.41,53.8333,249.052,-80.4284],[3066.74,-1302.58,53.4333,247.05,-80.2765],[3049.29,-1201.56,53.0167,244.934,-80.1145],[3031.7,-1101.46,52.6,242.788,-79.9482],[3013.98,-1002.31,52.1833,240.61,-79.7777],[2995.4,-900.194,51.75,238.312,-79.5957],[2977.41,-802.997,51.3333,236.071,-79.4159],[2958.55,-702.953,50.9,233.707,-79.2238],[2938.81,-600.202,50.45,231.216,-79.0185],[2919.65,-502.372,50.0167,228.783,-78.815],[2899.61,-401.955,49.5667,226.22,-78.5973],[2879.41,-302.754,49.1167,223.621,-78.3729],[2858.29,-201.182,48.65,220.887,-78.1327],[2837.02,-100.958,48.1833,218.114,-77.8845],[2815.57,-2.10096,47.7167,215.303,-77.6279],[2793.19,98.8227,47.2333,212.35,-77.3527],[2770.64,198.235,46.75,209.356,-77.0676],[2747.12,299.46,46.25,206.216,-76.7615],[2723.42,399.017,45.75,203.032,-76.4433],[2699.54,496.883,45.25,199.806,-76.1125],[2673.86,599.38,44.7167,196.318,-75.7446],[2647.98,699.893,44.1833,192.783,-75.3603],[2621.89,798.392,43.65,189.201,-74.9584],[2594.78,897.828,43.1,185.46,-74.5242],[2566.63,997.969,42.5333,181.556,-74.0544],[2537.43,1098.57,41.95,177.487,-73.545],[2507.14,1199.38,41.35,173.251,-72.9916],[2476.62,1297.44,40.75,168.964,-72.4056],[2444.15,1397.93,40.1167,164.387,-71.7486],[2410.55,1497.78,39.4667,159.639,-71.0292],[2374.95,1599.11,38.7833,154.595,-70.2185],[2338.18,1698.99,38.0833,149.379,-69.3237],[2299.34,1799.31,37.35,143.868,-68.3082],[2258.41,1899.39,36.5833,138.064,-67.1502],[2215.35,1998.5,35.7833,131.974,-65.8219]]], - [75,2818.37,[[3001.76,-2000.12,56.4167,260.65,-81.7858],[2987.43,-1901.56,56.0333,258.89,-81.6665],[2973,-1803.71,55.65,257.105,-81.5445],[2957.82,-1702.36,55.25,255.215,-81.4145],[2942.52,-1601.79,54.85,253.296,-81.2816],[2927.11,-1502.03,54.45,251.35,-81.1455],[2911.57,-1403.08,54.05,249.374,-81.0062],[2895.27,-1300.88,53.6333,247.287,-80.8576],[2879.5,-1203.63,53.2333,245.253,-80.7114],[2862.94,-1103.22,52.8167,243.104,-80.5554],[2846.26,-1003.75,52.4,240.924,-80.3953],[2828.77,-901.314,51.9667,238.623,-80.2244],[2811.83,-803.796,51.55,236.378,-80.0556],[2794.07,-703.416,51.1167,234.01,-79.8752],[2775.49,-600.312,50.6667,231.515,-79.6824],[2757.46,-502.138,50.2333,229.077,-79.4913],[2738.59,-401.361,49.7833,226.509,-79.2869],[2719.57,-301.795,49.3333,223.904,-79.0761],[2700.4,-203.459,48.8833,221.262,-78.8587],[2680.38,-102.801,48.4167,218.483,-78.6259],[2660.19,-3.50486,47.95,215.665,-78.3852],[2639.13,97.8783,47.4667,212.704,-78.1271],[2617.9,197.755,46.9833,209.702,-77.8596],[2595.76,299.465,46.4833,206.552,-77.5724],[2573.45,399.514,45.9833,203.357,-77.2739],[2550.97,497.875,45.4833,200.119,-76.9634],[2527.56,597.716,44.9667,196.728,-76.6292],[2503.2,698.831,44.4333,193.179,-76.2691],[2478.66,797.938,43.9,189.583,-75.8924],[2453.14,898.007,43.35,185.825,-75.4854],[2426.65,998.808,42.7833,181.902,-75.045],[2399.95,1097.24,42.2167,177.929,-74.5813],[2371.45,1198.83,41.6167,173.669,-74.0631],[2342.73,1297.69,41.0167,169.356,-73.5144],[2312.18,1399.03,40.3833,164.749,-72.8989],[2280.56,1499.76,39.7333,159.966,-72.2248],[2247.88,1599.58,39.0667,155.006,-71.4841],[2214.11,1698.16,38.3833,149.87,-70.6672],[2177.58,1799.71,37.65,144.305,-69.718],[2139.92,1898.92,36.9,138.567,-68.6595],[2099.41,1999.51,36.1,132.403,-67.4188]]], - [76,2843.16,[[2820.61,-2003.3,56.6167,260.941,-82.3138],[2806.59,-1900.23,56.2167,259.103,-82.1972],[2793.06,-1802.16,55.8333,257.316,-82.0832],[2778.83,-1700.59,55.4333,255.424,-81.9615],[2765.09,-1603.98,55.05,253.584,-81.8423],[2750.64,-1503.96,54.65,251.636,-81.715],[2735.48,-1400.63,54.2333,249.576,-81.5793],[2720.8,-1302.27,53.8333,247.57,-81.4458],[2705.4,-1200.7,53.4167,245.449,-81.3034],[2689.88,-1100.05,53,243.296,-81.1573],[2674.24,-1000.33,52.5833,241.111,-81.0075],[2658.48,-901.56,52.1667,238.895,-80.8537],[2642.6,-803.749,51.75,236.647,-80.6958],[2625.96,-703.061,51.3167,234.275,-80.5271],[2609.19,-603.444,50.8833,231.868,-80.3536],[2591.64,-501.146,50.4333,229.332,-80.1681],[2573.95,-400.038,49.9833,226.759,-79.977],[2556.13,-300.139,49.5333,224.148,-79.7798],[2538.16,-201.466,49.0833,221.499,-79.5765],[2519.39,-100.455,48.6167,218.713,-79.3587],[2500.47,-0.802758,48.15,215.887,-79.1336],[2481.41,97.4693,47.6833,213.021,-78.9006],[2461.52,197.774,47.2,210.01,-78.6507],[2440.77,299.933,46.7,206.851,-78.3823],[2420.56,397.111,46.2167,203.754,-78.1129],[2398.8,499.253,45.7,200.397,-77.8133],[2376.86,599.572,45.1833,196.993,-77.501],[2354.75,698.039,44.6667,193.543,-77.1751],[2331.75,797.712,44.1333,189.932,-76.8235],[2307.84,898.371,43.5833,186.158,-76.4436],[2283.02,999.786,43.0167,182.217,-76.0323],[2258,1098.84,42.45,178.224,-75.5994],[2232.05,1198.29,41.8667,174.06,-75.1292],[2205.14,1297.9,41.2667,169.723,-74.6174],[2177.28,1397.38,40.65,165.211,-74.0589],[2147.67,1499.02,40,160.397,-73.4309],[2117.05,1599.78,39.3333,155.401,-72.7408],[2085.42,1699.34,38.65,150.224,-71.9794],[2051.99,1799.66,37.9333,144.738,-71.1152],[2017.5,1897.89,37.2,139.072,-70.1524],[1979.57,1999.89,36.4,132.84,-68.9986]]], - [77,2866.4,[[2635.31,-2001.08,56.7833,261.12,-82.8386],[2622.79,-1902.09,56.4,259.358,-82.7347],[2610.17,-1803.81,56.0167,257.57,-82.6285],[2596.9,-1702,55.6167,255.676,-82.5153],[2583.53,-1600.98,55.2167,253.754,-82.3994],[2570.05,-1500.75,54.8167,251.804,-82.2809],[2556.47,-1401.33,54.4167,249.824,-82.1596],[2542.79,-1302.73,54.0167,247.815,-82.0354],[2528.43,-1200.91,53.6,245.692,-81.9028],[2514.54,-1104.02,53.2,243.624,-81.7724],[2499.37,-1000.02,52.7667,241.349,-81.6275],[2484.68,-900.984,52.35,239.13,-81.4843],[2469.87,-802.907,51.9333,236.878,-81.3374],[2454.35,-701.939,51.5,234.502,-81.1804],[2438.71,-602.039,51.0667,232.091,-81.0189],[2422.96,-503.223,50.6333,229.645,-80.8528],[2406.47,-401.771,50.1833,227.067,-80.675],[2389.85,-301.524,49.7333,224.452,-80.4918],[2373.1,-202.5,49.2833,221.798,-80.3027],[2355.6,-101.12,48.8167,219.007,-80.1003],[2337.97,-1.0962,48.35,216.174,-79.8909],[2320.19,97.5519,47.8833,213.301,-79.6743],[2301.64,198.251,47.4,210.282,-79.4419],[2282.95,297.428,46.9167,207.22,-79.2008],[2263.47,398.401,46.4167,204.008,-78.9418],[2243.83,497.695,45.9167,200.749,-78.6723],[2223.38,598.511,45.4,197.335,-78.3822],[2202.77,697.481,44.8833,193.873,-78.0794],[2181.33,797.678,44.35,190.249,-77.7528],[2159.05,898.883,43.8,186.46,-77.3998],[2136.59,997.9,43.25,182.619,-77.0292],[2113.28,1097.59,42.6833,178.609,-76.6275],[2089.09,1197.72,42.1,174.426,-76.1912],[2064.01,1298.02,41.5,170.067,-75.7162],[2038.04,1398.22,40.8833,165.528,-75.1976],[2011.15,1498.05,40.25,160.809,-74.63],[1982.63,1599.69,39.5833,155.781,-73.9901],[1953.87,1697.77,38.9167,150.693,-73.3018],[1922.72,1799.15,38.2,145.164,-72.5015],[1890.59,1898.49,37.4667,139.447,-71.6095],[1855.99,1999.61,36.6833,133.283,-70.5633]]], - [78,2888.06,[[2447.18,-2002.08,56.95,261.34,-83.3701],[2435.57,-1902.9,56.5667,259.576,-83.274],[2423.37,-1800.15,56.1667,257.709,-83.1714],[2411.58,-1702.4,55.7833,255.892,-83.0709],[2399.19,-1601.17,55.3833,253.969,-82.9637],[2386.69,-1500.73,54.9833,252.016,-82.854],[2374.11,-1401.09,54.5833,250.035,-82.7418],[2361.43,-1302.27,54.1833,248.024,-82.6268],[2348.11,-1200.22,53.7667,245.898,-82.5042],[2335.24,-1103.11,53.3667,243.827,-82.3835],[2321.72,-1002.85,52.95,241.638,-82.2545],[2308.1,-903.544,52.5333,239.417,-82.1222],[2293.83,-801.275,52.1,237.072,-81.9809],[2279.45,-700.056,51.6667,234.692,-81.8356],[2265.51,-603.734,51.25,232.37,-81.692],[2250.34,-500.829,50.8,229.825,-81.5324],[2235.62,-402.854,50.3667,227.339,-81.3741],[2220.22,-302.291,49.9167,224.719,-81.2046],[2204.7,-202.947,49.4667,222.06,-81.0298],[2188.48,-101.231,49,219.263,-80.8426],[2172.14,-0.868055,48.5333,216.424,-80.6491],[2155.67,98.1226,48.0667,213.544,-80.4488],[2138.48,199.18,47.5833,210.518,-80.2339],[2121.15,298.719,47.1,207.448,-80.0109],[2103.7,396.718,46.6167,204.334,-79.7795],[2084.89,499.747,46.1,200.958,-79.5221],[2066.55,597.725,45.6,197.643,-79.2626],[2047.46,697.157,45.0833,194.17,-78.983],[2027.59,797.836,44.55,190.534,-78.6813],[2006.95,899.543,44,186.731,-78.3551],[1986.14,999.067,43.45,182.875,-78.0127],[1964.53,1099.29,42.8833,178.847,-77.6415],[1942.12,1199.96,42.3,174.644,-77.2382],[1919.53,1298.07,41.7167,170.385,-76.8116],[1895.47,1398.94,41.1,165.823,-76.333],[1870.56,1499.46,40.4667,161.077,-75.8089],[1844.79,1599.33,39.8167,156.144,-75.2332],[1818.16,1698.24,39.15,151.023,-74.5985],[1789.97,1798.21,38.45,145.583,-73.8782],[1760.21,1898.59,37.7167,139.82,-73.0566],[1728.85,1998.7,36.95,133.732,-72.114]]], - [79,2908.12,[[2255.8,-2002,57.1,261.524,-83.9039],[2245.12,-1902.65,56.7167,259.76,-83.8155],[2234.35,-1803.99,56.3333,257.969,-83.7252],[2223.03,-1701.79,55.9333,256.073,-83.6289],[2211.62,-1600.36,55.5333,254.148,-83.5304],[2200.61,-1503.91,55.15,252.275,-83.4338],[2189.02,-1404.05,54.75,250.293,-83.3307],[2176.87,-1300.89,54.3333,248.197,-83.2207],[2165.11,-1202.71,53.9333,246.154,-83.1125],[2152.76,-1101.32,53.5167,243.994,-82.997],[2140.32,-1000.86,53.1,241.802,-82.8785],[2127.78,-901.341,52.6833,239.577,-82.7568],[2115.15,-802.774,52.2667,237.32,-82.632],[2101.91,-701.29,51.8333,234.937,-82.4986],[2088.57,-600.869,51.4,232.518,-82.3613],[2075.13,-501.527,50.9667,230.064,-82.2201],[2061.59,-403.279,50.5333,227.573,-82.0747],[2047.41,-302.43,50.0833,224.949,-81.9191],[2033.13,-202.797,49.6333,222.286,-81.7586],[2018.21,-100.778,49.1667,219.483,-81.5866],[2003.16,-0.109013,48.7,216.638,-81.4088],[1988.01,99.1908,48.2333,213.752,-81.2249],[1972.73,197.1,47.7667,210.824,-81.0344],[1956.79,297.019,47.2833,207.747,-80.8299],[1940.18,398.766,46.7833,204.518,-80.6101],[1923.43,498.844,46.2833,201.242,-80.3815],[1906.56,597.227,45.7833,197.918,-80.1433],[1888.99,697.082,45.2667,194.435,-79.8868],[1870.71,798.201,44.7333,190.787,-79.6099],[1852.29,897.304,44.2,187.088,-79.3199],[1833.15,997.358,43.65,183.219,-79.006],[1813.27,1098.13,43.0833,179.177,-78.6658],[1792.65,1199.38,42.5,174.957,-78.2962],[1771.87,1298.06,41.9167,170.679,-77.9051],[1749.73,1399.56,41.3,166.096,-77.4662],[1727.42,1498.1,40.6833,161.451,-76.9987],[1703.72,1598.72,40.0333,156.491,-76.4716],[1679.23,1698.41,39.3667,151.339,-75.8903],[1653.3,1799.2,38.6667,145.863,-75.2303],[1626.55,1898.2,37.95,140.189,-74.4951],[1597.7,1999.35,37.1833,134.051,-73.6326]]], - [80,2926.54,[[2061.37,-2000.9,57.2333,261.674,-84.4403],[2051.61,-1901.39,56.85,259.908,-84.3598],[2041.79,-1802.57,56.4667,258.116,-84.2775],[2031.45,-1700.21,56.0667,256.218,-84.1896],[2021.47,-1602.84,55.6833,254.372,-84.1036],[2010.98,-1502.01,55.2833,252.416,-84.0117],[2000.41,-1401.98,54.8833,250.432,-83.9178],[1989.76,-1302.76,54.4833,248.417,-83.8215],[1978.58,-1200.29,54.0667,246.287,-83.7188],[1967.76,-1102.77,53.6667,244.212,-83.6177],[1956.41,-1002.09,53.25,242.018,-83.5097],[1944.97,-902.345,52.8333,239.791,-83.3989],[1933.44,-803.553,52.4167,237.531,-83.2852],[1921.36,-701.834,51.9833,235.145,-83.1636],[1909.18,-601.174,51.55,232.724,-83.0386],[1896.92,-501.591,51.1167,230.266,-82.91],[1884.56,-403.1,50.6833,227.772,-82.7775],[1871.62,-301.995,50.2333,225.143,-82.6358],[1858.59,-202.104,49.7833,222.475,-82.4895],[1845.45,-103.445,49.3333,219.768,-82.3386],[1831.73,-2.45455,48.8667,216.919,-82.1768],[1817.9,97.1703,48.4,214.028,-82.0094],[1803.47,198.891,47.9167,210.989,-81.8297],[1788.92,299.101,47.4333,207.905,-81.6434],[1774.26,397.778,46.95,204.776,-81.4499],[1758.98,498.219,46.45,201.492,-81.2418],[1743.59,596.968,45.95,198.16,-81.025],[1727.55,697.206,45.4333,194.668,-80.7915],[1710.88,798.725,44.9,191.009,-80.5394],[1694.07,898.231,44.3667,187.298,-80.2754],[1676.6,998.705,43.8167,183.416,-79.9897],[1658.47,1099.92,43.25,179.359,-79.6799],[1640.19,1198.75,42.6833,175.244,-79.3531],[1621.23,1297.97,42.1,170.95,-78.9975],[1601.58,1397.31,41.5,166.472,-78.6095],[1580.68,1499.14,40.8667,161.68,-78.1731],[1559.62,1597.82,40.2333,156.823,-77.7062],[1537.27,1698.23,39.5667,151.643,-77.1782],[1513.62,1799.79,38.8667,146.133,-76.5785],[1489.22,1899.58,38.15,140.421,-75.9102],[1463.48,1999.42,37.4,134.372,-75.1438]]], - [81,2943.29,[[1864.46,-2003.14,57.3667,261.866,-84.983],[1855.64,-1903.47,56.9833,260.1,-84.9103],[1846.38,-1800.2,56.5833,258.229,-84.8327],[1837.43,-1701.95,56.2,256.408,-84.7569],[1828.03,-1600.19,55.8,254.48,-84.6758],[1818.94,-1503.41,55.4167,252.605,-84.5963],[1809.39,-1403.2,55.0167,250.619,-84.5116],[1799.77,-1303.8,54.6167,248.603,-84.4248],[1789.67,-1201.14,54.2,246.472,-84.3321],[1779.89,-1103.44,53.8,244.395,-84.241],[1769.64,-1002.56,53.3833,242.199,-84.1435],[1759.3,-902.624,52.9667,239.969,-84.0436],[1748.89,-803.635,52.55,237.707,-83.941],[1737.98,-701.707,52.1167,235.318,-83.8314],[1726.98,-600.838,51.6833,232.894,-83.7186],[1715.9,-501.042,51.25,230.432,-83.6025],[1704.73,-402.337,50.8167,227.935,-83.483],[1693.05,-301.007,50.3667,225.302,-83.3552],[1681.27,-200.888,49.9167,222.63,-83.2232],[1669.4,-102,49.4667,219.918,-83.087],[1657.01,-0.769047,49,217.063,-82.9411],[1644.51,99.0985,48.5333,214.166,-82.79],[1631.92,197.582,48.0667,211.227,-82.6336],[1618.78,298.101,47.5833,208.137,-82.4657],[1605.54,397.089,47.1,205.002,-82.2913],[1591.74,497.856,46.6,201.711,-82.1038],[1577.84,596.935,46.1,198.371,-81.9084],[1563.36,697.517,45.5833,194.87,-81.6979],[1548.29,799.394,45.05,191.202,-81.4707],[1533.11,899.262,44.5167,187.48,-81.2327],[1517.82,997.089,43.9833,183.704,-80.9831],[1501.44,1098.76,43.4167,179.635,-80.7042],[1484.93,1198.06,42.85,175.507,-80.41],[1467.81,1297.76,42.2667,171.197,-80.0899],[1450.07,1397.61,41.6667,166.702,-79.7404],[1431.19,1499.98,41.0333,161.889,-79.3474],[1412.17,1599.2,40.4,157.01,-78.9268],[1392.49,1697.71,39.75,151.934,-78.4633],[1371.14,1799.97,39.05,146.395,-77.9238],[1349.62,1898.2,38.35,140.783,-77.3371],[1326.39,1998.91,37.6,134.694,-76.6485]]], - [82,2958.36,[[1664.47,-2000.02,57.4667,261.948,-85.5255],[1656.61,-1900.24,57.0833,260.18,-85.4606],[1648.69,-1801.15,56.7,258.385,-85.3944],[1640.7,-1702.76,56.3167,256.564,-85.3268],[1632.31,-1600.85,55.9167,254.635,-85.2546],[1624.21,-1503.92,55.5333,252.759,-85.1838],[1615.69,-1403.55,55.1333,250.771,-85.1082],[1607.1,-1304,54.7333,248.754,-85.0309],[1598.09,-1201.17,54.3167,246.621,-84.9483],[1589.37,-1103.31,53.9167,244.542,-84.8671],[1580.22,-1002.27,53.5,242.344,-84.7803],[1571,-902.162,53.0833,240.112,-84.6913],[1561.71,-803.001,52.6667,237.847,-84.5998],[1551.98,-700.894,52.2333,235.456,-84.5021],[1542.54,-603.709,51.8167,233.122,-84.4056],[1532.66,-503.689,51.3833,230.659,-84.3023],[1522.32,-400.973,50.9333,228.062,-84.1917],[1512.28,-303.187,50.5,225.524,-84.0821],[1501.78,-202.827,50.05,222.849,-83.9646],[1490.8,-100.048,49.5833,220.032,-83.8388],[1480.14,-2.20838,49.1333,217.276,-83.7134],[1468.99,97.9176,48.6667,214.375,-83.579],[1457.76,196.662,48.2,211.43,-83.4398],[1446.04,297.454,47.7167,208.336,-83.2902],[1434.24,396.719,47.2333,205.195,-83.135],[1421.93,497.774,46.7333,201.897,-82.968],[1409.52,597.145,46.2333,198.55,-82.7941],[1396.61,698.031,45.7167,195.041,-82.6067],[1383.59,797.062,45.2,191.48,-82.4109],[1370.05,897.313,44.6667,187.749,-82.1992],[1355.98,998.564,44.1167,183.846,-81.9702],[1341.81,1097.62,43.5667,179.885,-81.7293],[1327.09,1197.34,43,175.745,-81.4676],[1311.82,1297.47,42.4167,171.422,-81.1828],[1296,1397.77,41.8167,166.911,-80.872],[1279.61,1497.96,41.2,162.208,-80.5318],[1262.64,1597.76,40.5667,157.31,-80.1583],[1244.65,1699.35,39.9,152.081,-79.7356],[1226.06,1799.76,39.2167,146.647,-79.2673],[1206.87,1898.65,38.5167,141.005,-78.7458],[1186.62,1997.86,37.7833,135.018,-78.1479]]], - [83,2971.71,[[1462.36,-2000.29,57.5667,262.072,-86.074],[1455.46,-1900.39,57.1833,260.304,-86.0171],[1448.5,-1801.18,56.8,258.508,-85.9591],[1441.5,-1702.67,56.4167,256.686,-85.8997],[1434.13,-1600.63,56.0167,254.756,-85.8364],[1427.01,-1503.58,55.6333,252.878,-85.7743],[1419.53,-1403.08,55.2333,250.89,-85.708],[1411.99,-1303.4,54.8333,248.871,-85.6401],[1404.08,-1200.43,54.4167,246.736,-85.5677],[1396.43,-1102.43,54.0167,244.655,-85.4964],[1388.39,-1001.25,53.6,242.455,-85.4203],[1380.3,-901.001,53.1833,240.221,-85.3423],[1372.14,-801.696,52.7667,237.954,-85.262],[1363.92,-703.351,52.35,235.652,-85.1796],[1355.31,-602.105,51.9167,233.223,-85.0916],[1346.63,-501.93,51.4833,230.756,-85.0009],[1337.88,-402.84,51.05,228.253,-84.9076],[1328.73,-301.108,50.6,225.614,-84.8077],[1319.51,-200.583,50.15,222.935,-84.7047],[1310.22,-101.284,49.7,220.215,-84.5983],[1300.85,-3.22919,49.25,217.455,-84.4885],[1291.07,97.1222,48.7833,214.55,-84.3706],[1280.86,199.603,48.3,211.496,-84.2441],[1270.93,297.125,47.8333,208.502,-84.1176],[1260.56,396.63,47.35,205.356,-83.9815],[1249.75,497.937,46.85,202.053,-83.8351],[1238.86,597.561,46.35,198.699,-83.6827],[1227.53,698.712,45.8333,195.183,-83.5184],[1216.1,798.011,45.3167,191.613,-83.3467],[1204.22,898.542,44.7833,187.874,-83.1612],[1192.24,997.039,44.25,184.08,-82.9666],[1179.42,1099.43,43.6833,179.989,-82.7491],[1166.5,1199.45,43.1167,175.837,-82.5197],[1153.09,1299.91,42.5333,171.5,-82.2699],[1139.59,1397.78,41.95,167.1,-82.0051],[1125.2,1498.39,41.3333,162.381,-81.7071],[1110.31,1598.62,40.7,157.465,-81.3799],[1094.91,1698.17,40.05,152.347,-81.0192],[1078.6,1799.15,39.3667,146.891,-80.6096],[1061.76,1898.62,38.6667,141.224,-80.1534],[1043.98,1998.47,37.9333,135.205,-79.6302]]], - [84,2983.33,[[1258.24,-2003.98,57.6667,262.241,-86.6278],[1252.31,-1903.95,57.2833,260.472,-86.5789],[1246.07,-1800.31,56.8833,258.598,-86.5268],[1240.04,-1701.7,56.5,256.775,-86.4757],[1233.97,-1603.8,56.1167,254.924,-86.4237],[1227.58,-1502.4,55.7167,252.964,-86.368],[1221.15,-1401.8,55.3167,250.974,-86.3111],[1214.67,-1302.01,54.9167,248.954,-86.2528],[1208.14,-1203.03,54.5167,246.903,-86.193],[1201.28,-1100.82,54.1,244.734,-86.1293],[1194.65,-1003.56,53.7,242.62,-86.0665],[1187.69,-903.152,53.2833,240.386,-85.9995],[1180.68,-803.691,52.8667,238.117,-85.9306],[1173.33,-701.268,52.4333,235.722,-85.857],[1166.2,-603.777,52.0167,233.384,-85.7842],[1158.74,-503.434,51.5833,230.915,-85.7064],[1150.93,-400.38,51.1333,228.313,-85.6231],[1143.36,-302.265,50.7,225.769,-85.5406],[1135.43,-201.56,50.25,223.087,-85.4521],[1127.44,-102.08,49.8,220.365,-85.3607],[1119.09,-0.22751,49.3333,217.498,-85.2629],[1110.98,96.7017,48.8833,214.693,-85.1652],[1102.2,199.384,48.4,211.635,-85.0566],[1093.66,297.101,47.9333,208.637,-84.9479],[1084.74,396.812,47.45,205.486,-84.8311],[1075.45,498.333,46.95,202.178,-84.7054],[1066.09,598.174,46.45,198.819,-84.5745],[1056.34,699.551,45.9333,195.295,-84.4334],[1046.52,799.078,45.4167,191.719,-84.286],[1036.3,899.846,44.8833,187.972,-84.1266],[1026,998.583,44.35,184.169,-83.9595],[1015.3,1098.24,43.8,180.19,-83.7783],[1004.2,1198.6,43.2333,176.028,-83.5815],[992.675,1299.4,42.65,171.681,-83.3672],[981.065,1397.61,42.0667,167.269,-83.1401],[968.698,1498.59,41.45,162.537,-82.8845],[955.899,1599.2,40.8167,157.606,-82.6037],[942.661,1699.15,40.1667,152.47,-82.2941],[928.981,1798.13,39.5,147.128,-81.9514],[914.507,1898.13,38.8,141.438,-81.5606],[899.227,1998.54,38.0667,135.393,-81.1122]]], - [85,2993.2,[[1051.82,-2002.36,57.7333,262.3,-87.1822],[1046.86,-1902.26,57.35,260.53,-87.1414],[1041.86,-1802.85,56.9667,258.734,-87.0996],[1036.82,-1704.13,56.5833,256.91,-87.0572],[1031.53,-1601.87,56.1833,254.978,-87.0117],[1026.19,-1500.39,55.7833,253.017,-86.9653],[1021.04,-1403.89,55.4,251.109,-86.9196],[1015.62,-1303.98,55,249.088,-86.871],[1009.94,-1200.77,54.5833,246.95,-86.819],[1004.43,-1102.55,54.1833,244.867,-86.7678],[998.661,-1001.12,53.7667,242.664,-86.7132],[992.842,-900.626,53.35,240.427,-86.6572],[986.98,-801.074,52.9333,238.156,-86.5996],[981.073,-702.479,52.5167,235.851,-86.5406],[974.883,-600.971,52.0833,233.417,-86.4773],[968.645,-500.531,51.65,230.946,-86.4123],[962.36,-401.174,51.2167,228.437,-86.3454],[956.028,-302.918,50.7833,225.891,-86.2764],[949.402,-202.065,50.3333,223.207,-86.2025],[942.725,-102.434,49.8833,220.482,-86.1263],[935.748,-0.424563,49.4167,217.613,-86.0446],[928.969,96.6579,48.9667,214.805,-85.9631],[921.633,199.506,48.4833,211.743,-85.8724],[914.495,297.386,48.0167,208.741,-85.7817],[907.046,397.266,47.5333,205.586,-85.6841],[899.281,498.965,47.0333,202.273,-85.5792],[891.457,598.985,46.5333,198.909,-85.4699],[883.573,697.301,46.0333,195.495,-85.356],[875.365,797.076,45.5167,191.914,-85.233],[866.827,898.103,44.9833,188.162,-85.1002],[858.224,997.102,44.45,184.353,-84.9608],[849.285,1097.04,43.9,180.367,-84.8097],[840.004,1197.67,43.3333,176.198,-84.6456],[830.376,1298.77,42.75,171.842,-84.4669],[820.675,1397.28,42.1667,167.42,-84.2774],[810.342,1498.58,41.55,162.677,-84.0642],[799.647,1599.52,40.9167,157.732,-83.83],[788.586,1699.81,40.2667,152.582,-83.5717],[777.155,1799.14,39.6,147.222,-83.2858],[765.061,1899.53,38.9,141.512,-82.9596],[752.584,1998.09,38.1833,135.582,-82.5942]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 935.748; -_maxRange = 5383.07; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg4.sqf deleted file mode 100644 index 4f04a144b7..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_HA_chg4.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_120mm_dm11a5_dm111a1_pd_chg4 -// Ammo: ace_arty_120mm_dm11a5_dm111a1_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,2269.99,[[8449.25,-2001.62,52.1167,263.39,-66.6669],[8405.61,-1901.27,51.7,261.821,-66.3112],[8361.6,-1801.79,51.2833,260.236,-65.9483],[8317.24,-1703.2,50.8667,258.635,-65.5778],[8270.71,-1601.62,50.4333,256.955,-65.1843],[8223.78,-1501.04,50,255.258,-64.7822],[8176.47,-1401.45,49.5667,253.545,-64.3713],[8128.75,-1302.88,49.1333,251.817,-63.9513],[8078.78,-1201.61,48.6833,250.007,-63.5052],[8028.39,-1101.47,48.2333,248.182,-63.0487],[7977.56,-1002.47,47.7833,246.341,-62.5815],[7924.41,-901.03,47.3167,244.418,-62.0853],[7870.78,-800.853,46.85,242.479,-61.5768],[7816.7,-701.957,46.3833,240.527,-61.0556],[7760.2,-600.9,45.9,238.492,-60.502],[7703.2,-501.257,45.4167,236.443,-59.9339],[7645.71,-403.049,44.9333,234.383,-59.3508],[7585.71,-302.984,44.4333,232.241,-58.7314],[7523.15,-201.241,43.9167,230.017,-58.0732],[7460.03,-101.208,43.4,227.784,-57.3961],[7396.34,-2.90788,42.8833,225.544,-56.6994],[7327.93,99.8025,42.3333,223.154,-55.9354],[7260.97,197.471,41.8,220.833,-55.1718],[7189.17,299.133,41.2333,218.365,-54.3351],[7116.7,398.589,40.6667,215.899,-53.4711],[7041.39,498.633,40.0833,213.367,-52.5523],[6963.18,599.026,39.4833,210.771,-51.5749],[6882.01,699.519,38.8667,208.117,-50.5349],[6797.83,799.849,38.2333,205.412,-49.4282],[6710.56,899.742,37.5833,202.664,-48.25],[6620.15,998.912,36.9167,199.881,-46.9956],[6524.22,1099.41,36.2167,197.006,-45.6265],[6424.97,1198.39,35.5,194.122,-44.1678],[6317.63,1299.82,34.7333,191.115,-42.5416],[6206.71,1398.65,33.95,188.141,-40.8078],[6087.35,1498.36,33.1167,185.104,-38.8813],[5956.87,1599.66,32.2167,181.992,-36.7039],[5817.36,1699.29,31.2667,178.925,-34.2955],[5663.56,1799.01,30.2333,175.88,-31.5479],[5489.89,1899.22,29.0833,172.899,-28.3368],[5287.82,1999.75,27.7667,170.087,-24.4722]]], - [46,2342.08,[[8384.93,-2000.29,52.7,264.034,-67.2432],[8343.92,-1903.28,52.3,262.522,-66.9106],[8300.85,-1803.08,51.8833,260.932,-66.5573],[8257.43,-1703.75,51.4667,259.325,-66.1966],[8211.89,-1601.4,51.0333,257.637,-65.8135],[8165.96,-1500.04,50.6,255.931,-65.422],[8121.43,-1403.5,50.1833,254.276,-65.0375],[8072.94,-1300.29,49.7333,252.472,-64.6129],[8025.85,-1201.95,49.3,250.718,-64.1948],[7976.53,-1100.92,48.85,248.881,-63.7506],[7926.8,-1001.02,48.4,247.027,-63.2959],[7876.64,-902.267,47.95,245.159,-62.8305],[7824.18,-801.09,47.4833,243.205,-62.336],[7771.27,-701.185,47.0167,241.236,-61.8291],[7717.9,-602.568,46.55,239.253,-61.3094],[7662.15,-501.807,46.0667,237.184,-60.7572],[7605.91,-402.467,45.5833,235.103,-60.1904],[7547.23,-301.219,45.0833,232.936,-59.5881],[7488.02,-201.536,44.5833,230.758,-58.969],[7426.29,-100.197,44.0667,228.496,-58.3111],[7364,-0.577747,43.55,226.224,-57.6339],[7301.17,97.299,43.0333,223.945,-56.9368],[7233.66,199.548,42.4833,221.512,-56.172],[7165.54,299.765,41.9333,219.075,-55.383],[7096.78,397.921,41.3833,216.636,-54.5688],[7023.18,499.742,40.8,214.05,-53.6768],[6948.88,599.179,40.2167,211.47,-52.7543],[6871.73,698.933,39.6167,208.825,-51.7724],[6791.67,798.753,39,206.12,-50.7269],[6708.63,898.376,38.3667,203.362,-49.6136],[6622.57,997.526,37.7167,200.558,-48.4277],[6531.17,1098.33,37.0333,197.648,-47.1317],[6436.56,1197.9,36.3333,194.715,-45.7501],[6336.4,1298.13,35.6,191.704,-44.242],[6230.53,1398.4,34.8333,188.637,-42.5966],[6118.82,1498.03,34.0333,185.539,-40.8025],[5998.75,1598.2,33.1833,182.382,-38.8079],[5867.66,1699.56,32.2667,179.156,-36.5527],[5727.64,1798.85,31.3,175.986,-34.0562],[5571.03,1899.19,30.2333,172.805,-31.1609],[5394.72,1999,29.05,169.723,-27.7805]]], - [47,2413.92,[[8315.48,-2001.07,53.2833,264.714,-67.8195],[8275.35,-1903.4,52.8833,263.198,-67.4958],[8233.21,-1802.5,52.4667,261.602,-67.1518],[8190.72,-1702.47,52.05,259.989,-66.8007],[8147.87,-1603.33,51.6333,258.36,-66.4422],[8102.95,-1501.17,51.2,256.647,-66.0614],[8057.64,-1400,50.7667,254.918,-65.6721],[8013.71,-1303.66,50.35,253.239,-65.2897],[7965.87,-1200.67,49.9,251.408,-64.8674],[7919.42,-1102.54,49.4667,249.628,-64.4514],[7870.78,-1001.73,49.0167,247.764,-64.0094],[7821.72,-902.063,48.5667,245.882,-63.5568],[7772.25,-803.551,48.1167,243.985,-63.0933],[7720.51,-702.627,47.65,242.001,-62.6008],[7668.32,-602.981,47.1833,240.001,-62.0958],[7613.8,-501.142,46.7,237.915,-61.5592],[7558.81,-400.712,46.2167,235.813,-61.0083],[7503.33,-301.711,45.7333,233.697,-60.4425],[7445.45,-200.823,45.2333,231.494,-59.8412],[7387.05,-101.508,44.7333,229.279,-59.2228],[7326.17,-0.559017,44.2167,226.979,-58.5653],[7264.75,98.6616,43.7,224.668,-57.8884],[7200.77,199.244,43.1667,222.274,-57.1684],[7136.22,297.933,42.6333,219.873,-56.4261],[7069.05,397.693,42.0833,217.392,-55.6362],[6999.2,498.309,41.5167,214.833,-54.7957],[6926.62,599.554,40.9333,212.2,-53.9009],[6853.36,698.4,40.35,209.571,-52.975],[6777.29,797.533,39.75,206.876,-51.9889],[6696.21,899.341,39.1167,204.044,-50.9095],[6614.34,998.198,38.4833,201.233,-49.7889],[6527.3,1099.02,37.8167,198.301,-48.563],[6437.17,1198.88,37.1333,195.334,-47.2553],[6341.67,1299.75,36.4167,192.272,-45.826],[6242.9,1398.82,35.6833,189.203,-44.3001],[6136.25,1499.94,34.9,186.009,-42.5968],[6026.1,1598.13,34.1,182.852,-40.7765],[5905.39,1698.61,33.2333,179.574,-38.71],[5773.79,1799.86,32.3,176.234,-36.3725],[5633.36,1898.61,31.3167,172.962,-33.7825],[5474.1,1999.28,30.2167,169.648,-30.731]]], - [48,2485.42,[[8240.84,-2004.08,53.8667,265.43,-68.3958],[8199.95,-1901.66,53.45,263.847,-68.0677],[8158.72,-1800.09,53.0333,262.246,-67.7328],[8118.82,-1703.4,52.6333,260.693,-67.4048],[8076.92,-1603.54,52.2167,259.058,-67.0561],[8032.98,-1500.63,51.7833,257.339,-66.6856],[7990.38,-1402.59,51.3667,255.67,-66.3217],[7945.71,-1301.61,50.9333,253.916,-65.935],[7900.66,-1201.62,50.5,252.144,-65.5395],[7855.24,-1102.66,50.0667,250.355,-65.1351],[7807.67,-1000.98,49.6167,248.48,-64.7054],[7759.7,-900.432,49.1667,246.587,-64.2654],[7711.32,-801.028,48.7167,244.677,-63.8147],[7662.54,-702.785,48.2667,242.75,-63.3531],[7611.52,-602.147,47.8,240.736,-62.8625],[7560.07,-502.793,47.3333,238.704,-62.3592],[7506.32,-401.264,46.85,236.584,-61.8243],[7452.1,-301.153,46.3667,234.449,-61.2749],[7397.42,-202.478,45.8833,232.298,-60.7106],[7340.35,-101.935,45.3833,230.06,-60.1105],[7282.79,-2.97392,44.8833,227.808,-59.4932],[7222.78,97.6003,44.3667,225.468,-58.8366],[7160.28,199.596,43.8333,223.042,-58.1381],[7097.21,299.713,43.3,220.606,-57.4177],[7033.58,397.926,42.7667,218.162,-56.6746],[6967.36,497.183,42.2167,215.637,-55.8836],[6898.52,597.269,41.65,213.032,-55.0414],[6826.99,697.955,41.0667,210.35,-54.1443],[6752.72,799.001,40.4667,207.596,-53.1884],[6677.75,897.458,39.8667,204.849,-52.1975],[6597.85,998.537,39.2333,201.963,-51.1121],[6515.03,1099.19,38.5833,199.022,-49.9542],[6429.25,1199.12,37.9167,196.034,-48.7184],[6340.43,1298.05,37.2333,193.009,-47.3991],[6246.32,1397.92,36.5167,189.886,-45.956],[6146.79,1498.12,35.7667,186.684,-44.3779],[6041.71,1597.99,34.9833,183.427,-42.653],[5928.65,1698.8,34.15,180.077,-40.7291],[5807.4,1799.43,33.2667,176.677,-38.5868],[5677.71,1898.69,32.3333,173.282,-36.2056],[5532.27,1999.99,31.3,169.799,-33.4265]]], - [49,2556.5,[[8157.77,-2001.17,54.4167,266.057,-68.9467],[8119.39,-1902.22,54.0167,264.533,-68.6402],[8080.7,-1804.05,53.6167,262.993,-68.3276],[8040.07,-1702.63,53.2,261.371,-67.9954],[7999.11,-1602.07,52.7833,259.731,-67.6563],[7957.8,-1502.4,52.3667,258.073,-67.3099],[7916.16,-1403.63,51.95,256.397,-66.9562],[7872.5,-1301.86,51.5167,254.636,-66.5803],[7828.46,-1201.09,51.0833,252.857,-66.196],[7784.06,-1101.33,50.65,251.06,-65.8029],[7739.29,-1002.58,50.2167,249.245,-65.4008],[7692.41,-901.146,49.7667,247.342,-64.9734],[7645.14,-800.841,49.3167,245.42,-64.5357],[7597.46,-701.688,48.8667,243.481,-64.0873],[7547.6,-600.095,48.4,241.453,-63.6106],[7499.12,-503.337,47.95,239.48,-63.1393],[7446.6,-400.748,47.4667,237.343,-62.62],[7395.45,-303.031,47,235.263,-62.1053],[7342.03,-203.223,46.5167,233.094,-61.5578],[7286.29,-101.495,46.0167,230.833,-60.9755],[7230.05,-1.33542,45.5167,228.557,-60.3764],[7173.33,97.2332,45.0167,226.267,-59.76],[7114.2,197.392,44.5,223.888,-59.104],[7052.62,298.949,43.9667,221.42,-58.4058],[6990.48,398.617,43.4333,218.942,-57.6855],[6925.83,499.393,42.8833,216.377,-56.9184],[6860.59,598.101,42.3333,213.807,-56.1259],[6792.76,697.609,41.7667,211.155,-55.2814],[6722.29,797.685,41.1833,208.424,-54.3815],[6649.12,898.089,40.5833,205.618,-53.422],[6573.21,998.569,39.9667,202.742,-52.3986],[6494.49,1098.86,39.3333,199.802,-51.3064],[6412.91,1198.68,38.6833,196.804,-50.1405],[6328.42,1297.75,38.0167,193.758,-48.8951],[6238.8,1398.11,37.3167,190.598,-47.5313],[6143.94,1499.16,36.5833,187.341,-46.0382],[6045.9,1598.11,35.8333,184.078,-44.4403],[5940.18,1698.7,35.0333,180.689,-42.6538],[5826.58,1799.87,34.1833,177.21,-40.6596],[5707.15,1898.69,33.3,173.752,-38.4791],[5574.84,1999.33,32.3333,170.183,-35.9638]]], - [50,2627.11,[[8069.57,-2000.55,54.9667,266.718,-69.4984],[8032.06,-1900.99,54.5667,265.191,-69.2004],[7994.24,-1802.2,54.1667,263.648,-68.8964],[7954.53,-1700.12,53.75,262.021,-68.5733],[7916.1,-1602.94,53.35,260.442,-68.2568],[7875.74,-1502.56,52.9333,258.78,-67.9202],[7835.05,-1403.07,52.5167,257.099,-67.5765],[7792.38,-1300.56,52.0833,255.332,-67.2112],[7751.01,-1202.91,51.6667,253.614,-66.8521],[7707.64,-1102.34,51.2333,251.81,-66.4704],[7663.9,-1002.79,50.8,249.987,-66.0799],[7618.1,-900.492,50.35,248.074,-65.6648],[7573.63,-803.049,49.9167,246.215,-65.2556],[7527.07,-702.977,49.4667,244.265,-64.8205],[7478.37,-600.421,49,242.224,-64.3579],[7431.01,-502.723,48.55,240.237,-63.9005],[7381.49,-402.664,48.0833,238.16,-63.414],[7329.75,-300.4,47.6,235.989,-62.8967],[7279.38,-203.004,47.1333,233.877,-62.3838],[7224.94,-100.133,46.6333,231.596,-61.8189],[7171.86,-2.16903,46.15,229.375,-61.2573],[7116.48,97.6213,45.65,227.061,-60.6597],[7058.74,199.057,45.1333,224.656,-60.0236],[7000.5,298.76,44.6167,222.236,-59.368],[6939.85,399.834,44.0833,219.726,-58.6699],[6878.65,499.009,43.55,217.204,-57.9493],[6814.98,599.264,43,214.595,-57.1815],[6750.74,697.44,42.45,211.978,-56.3878],[6681.97,799.262,41.8667,209.198,-55.5163],[6612.57,898.677,41.2833,206.418,-54.6131],[6540.52,998.386,40.6833,203.56,-53.6494],[6465.78,1098.13,40.0667,200.63,-52.6208],[6388.28,1197.66,39.4333,197.634,-51.5223],[6305.9,1299.17,38.7667,194.501,-50.3179],[6220.61,1399.72,38.0833,191.319,-49.0298],[6132.37,1498.98,37.3833,188.099,-47.6517],[6038.98,1598.86,36.65,184.779,-46.1414],[5940.31,1698.71,35.8833,181.381,-44.4867],[5834.05,1799.87,35.0667,177.858,-42.6354],[5722.21,1899.35,34.2167,174.317,-40.6077],[5600.18,1999.91,33.3,170.67,-38.302]]], - [51,2697.16,[[7976.22,-2002.37,55.5167,267.413,-70.051],[7939.58,-1902.19,55.1167,265.885,-69.7614],[7902.65,-1802.77,54.7167,264.338,-69.4661],[7863.86,-1700.03,54.3,262.709,-69.1521],[7826.32,-1602.21,53.9,261.126,-68.8446],[7786.9,-1501.15,53.4833,259.459,-68.5175],[7747.15,-1400.98,53.0667,257.773,-68.1835],[7707.08,-1301.7,52.65,256.069,-67.8423],[7666.68,-1203.32,52.2333,254.346,-67.4937],[7624.32,-1101.97,51.8,252.535,-67.1231],[7581.61,-1001.63,51.3667,250.704,-66.7439],[7538.55,-902.314,50.9333,248.855,-66.356],[7493.45,-800.27,50.4833,246.914,-65.9435],[7449.67,-703.074,50.05,245.027,-65.5368],[7403.82,-603.265,49.6,243.048,-65.1041],[7355.88,-500.989,49.1333,240.976,-64.644],[7309.26,-403.568,48.6833,238.959,-64.189],[7258.76,-300.263,48.2,236.774,-63.6873],[7209.58,-201.85,47.7333,234.645,-63.1898],[7158.21,-101.319,47.25,232.422,-62.6605],[7106.41,-2.22832,46.7667,230.182,-62.1163],[7052.36,98.7407,46.2667,227.847,-61.5371],[6997.84,198.123,45.7667,225.495,-60.9407],[6941.01,299.127,45.25,223.049,-60.3057],[6883.68,398.388,44.7333,220.589,-59.6508],[6823.98,498.996,44.2,218.035,-58.9532],[6763.75,597.693,43.6667,215.47,-58.2327],[6701.08,697.444,43.1167,212.815,-57.4647],[6635.94,798.03,42.55,210.071,-56.6457],[6568.26,899.223,41.9667,207.241,-55.7721],[6499.96,997.994,41.3833,204.41,-54.8659],[6427.08,1099.74,40.7667,201.419,-53.8711],[6353.51,1198.7,40.15,198.434,-52.8366],[6275.23,1299.95,39.5,195.302,-51.7013],[6196.18,1398.02,38.85,192.189,-50.5177],[6112.28,1497.63,38.1667,188.946,-49.2191],[6023.38,1598.21,37.45,185.585,-47.7944],[5929.39,1699.14,36.7,182.126,-46.2315],[5830.18,1799.75,35.9167,178.589,-44.5171],[5725.63,1899.34,35.1,175.002,-42.6367],[5613.42,1999.03,34.2333,171.329,-40.5331]]], - [52,2766.6,[[7876.17,-2002.51,56.05,268.079,-70.5925],[7840.4,-1901.73,55.65,266.549,-70.3112],[7804.34,-1801.71,55.25,265,-70.0242],[7767.99,-1702.45,54.85,263.433,-69.7316],[7731.34,-1603.98,54.45,261.848,-69.433],[7692.86,-1502.24,54.0333,260.178,-69.1156],[7654.06,-1401.38,53.6167,258.488,-68.7913],[7614.95,-1301.4,53.2,256.779,-68.4601],[7575.51,-1202.31,52.7833,255.051,-68.1217],[7534.16,-1100.22,52.35,253.234,-67.7618],[7494.08,-1003,51.9333,251.467,-67.4081],[7452.05,-902.881,51.5,249.61,-67.0317],[7409.67,-803.787,51.0667,247.734,-66.6466],[7365.3,-701.982,50.6167,245.765,-66.237],[7320.56,-601.314,50.1667,243.776,-65.8173],[7275.44,-501.8,49.7167,241.767,-65.387],[7229.95,-403.456,49.2667,239.739,-64.9459],[7182.38,-302.723,48.8,237.616,-64.4766],[7134.41,-203.284,48.3333,235.473,-63.9947],[7084.3,-101.678,47.85,233.234,-63.4819],[7033.76,-1.50178,47.3667,230.976,-62.9547],[6982.79,97.2255,46.8833,228.699,-62.4124],[6929.61,197.81,46.3833,226.326,-61.835],[6875.98,296.799,45.8833,223.936,-61.2402],[6820.07,397.387,45.3667,221.45,-60.6067],[6761.85,499.38,44.8333,218.867,-59.9316],[6703.12,599.478,44.3,216.27,-59.2342],[6643.87,697.653,43.7667,213.66,-58.5135],[6580.35,799.827,43.2,210.876,-57.7212],[6516.25,899.766,42.6333,208.083,-56.9003],[6451.58,997.441,42.0667,205.285,-56.0494],[6382.48,1098.35,41.4667,202.32,-55.1144],[6310.79,1199.35,40.85,199.273,-54.1151],[6238.44,1297.54,40.2333,196.233,-53.0752],[6161.45,1397.96,39.5833,193.042,-51.933],[6081.72,1497.63,38.9167,189.789,-50.71],[5997.18,1598.6,38.2167,186.403,-49.3669],[5909.75,1698.01,37.5,182.98,-47.9263],[5815.26,1799.85,36.7333,179.377,-46.3083],[5717.7,1899.03,35.95,175.775,-44.569],[5612.78,1999.03,35.1167,172.049,-42.619]]], - [53,2835.36,[[7769.46,-2000.95,56.5667,268.715,-71.1239],[7736.02,-1903.81,56.1833,267.247,-70.8621],[7700.83,-1803.18,55.7833,265.697,-70.5836],[7665.36,-1703.31,55.3833,264.128,-70.2996],[7628.12,-1600.1,54.9667,262.474,-69.9976],[7592.06,-1501.82,54.5667,260.867,-69.7017],[7554.21,-1400.3,54.15,259.174,-69.387],[7517.57,-1303.65,53.75,257.529,-69.0785],[7479.11,-1203.85,53.3333,255.797,-68.7503],[7438.77,-1101.01,52.9,253.975,-68.4013],[7399.67,-1003.06,52.4833,252.203,-68.0582],[7358.67,-902.172,52.05,250.34,-67.6932],[7317.33,-802.301,51.6167,248.456,-67.3197],[7275.65,-703.46,51.1833,246.552,-66.9373],[7232.02,-601.925,50.7333,244.554,-66.5306],[7188.01,-501.533,50.2833,242.536,-66.1136],[7143.64,-402.301,49.8333,240.497,-65.6861],[7097.24,-300.637,49.3667,238.361,-65.2312],[7050.45,-200.257,48.9,236.204,-64.7641],[7003.26,-101.18,48.4333,234.028,-64.2843],[6955.69,-3.42314,47.9667,231.832,-63.7915],[6904.28,99.8289,47.4667,229.459,-63.2484],[6854.15,198.156,46.9833,227.146,-62.7079],[6801.86,298.317,46.4833,224.734,-62.1321],[6749.12,396.873,45.9833,222.304,-61.5389],[6694.15,497.003,45.4667,219.776,-60.9065],[6636.91,598.513,44.9333,217.15,-60.2325],[6579.17,698.116,44.4,214.508,-59.5358],[6519.1,798.805,43.85,211.77,-58.7926],[6458.5,897.408,43.3,209.021,-58.023],[6393.64,999.673,42.7167,206.095,-57.1769],[6328.19,1099.52,42.1333,203.162,-56.2983],[6260.25,1199.67,41.5333,200.143,-55.3592],[6189.77,1299.85,40.9167,197.041,-54.3549],[6116.71,1399.81,40.2833,193.861,-53.28],[6041.02,1499.25,39.6333,190.61,-52.1288],[5962.65,1597.9,38.9667,187.296,-50.895],[5879.55,1697.78,38.2667,183.847,-49.5387],[5791.63,1798.28,37.5333,180.278,-48.0477],[5698.76,1898.77,36.7667,176.609,-46.4083],[5600.83,1998.55,35.9667,172.862,-44.6054]]], - [54,2903.36,[[7657.6,-2002.01,57.0833,269.384,-71.6568],[7623.55,-1900.09,56.6833,267.851,-71.3916],[7590.67,-1803.11,56.3,266.363,-71.1326],[7556.08,-1702.65,55.9,264.793,-70.8569],[7521.21,-1602.96,55.5,263.203,-70.5758],[7486.06,-1504.04,55.1,261.594,-70.2889],[7449.15,-1401.85,54.6833,259.898,-69.9837],[7411.94,-1300.51,54.2667,258.181,-69.6721],[7374.43,-1200.06,53.85,256.445,-69.3536],[7336.61,-1100.5,53.4333,254.688,-69.0281],[7298.49,-1001.85,53.0167,252.91,-68.6954],[7258.51,-900.226,52.5833,251.041,-68.3415],[7219.76,-803.46,52.1667,249.224,-67.9934],[7177.56,-700.014,51.7167,247.239,-67.6085],[7136.58,-601.455,51.2833,245.307,-67.2289],[7093.68,-500.22,50.8333,243.28,-66.8249],[7050.43,-400.135,50.3833,241.23,-66.4106],[7006.82,-301.217,49.9333,239.16,-65.9857],[6962.85,-203.483,49.4833,237.07,-65.5499],[6916.88,-103.397,49.0167,234.881,-65.0858],[6868.86,-1.11788,48.5333,232.592,-64.5918],[6820.43,99.7359,48.05,230.281,-64.0836],[6771.59,199.143,47.5667,227.95,-63.5607],[6722.34,297.084,47.0833,225.6,-63.0224],[6670.96,396.836,46.5833,223.149,-62.4488],[6617.41,498.216,46.0667,220.596,-61.8374],[6563.39,597.847,45.55,218.026,-61.2061],[6507.15,698.83,45.0167,215.355,-60.5329],[6450.4,797.894,44.4833,212.668,-59.8366],[6391.38,898.015,43.9333,209.883,-59.0934],[6330.03,998.974,43.3667,207,-58.2998],[6268.12,1097.67,42.8,204.108,-57.4763],[6201.98,1199.67,42.2,201.037,-56.5704],[6135.24,1299.06,41.6,197.963,-55.6279],[6066.01,1398.46,40.9833,194.804,-54.6189],[5994.25,1497.58,40.35,191.565,-53.5382],[5917.99,1598.65,39.6833,188.168,-52.3493],[5839.08,1698.69,39,184.708,-51.0732],[5755.5,1799.71,38.2833,181.112,-49.669],[5669.12,1898.87,37.55,177.477,-48.1587],[5577.89,1997.92,36.7833,173.74,-46.4959]]], - [55,2970.53,[[7539.21,-2001.54,57.5833,270.022,-72.1805],[7507.42,-1903.32,57.2,268.552,-71.9341],[7473.97,-1801.55,56.8,266.999,-71.6719],[7440.26,-1700.53,56.4,265.427,-71.4046],[7406.27,-1600.26,56,263.835,-71.1318],[7372.01,-1500.77,55.6,262.224,-70.8535],[7337.48,-1402.06,55.2,260.593,-70.5695],[7301.21,-1300.08,54.7833,258.873,-70.2673],[7266.12,-1203,54.3833,257.203,-69.9711],[7229.27,-1102.74,53.9667,255.442,-69.6559],[7192.13,-1003.38,53.55,253.661,-69.3337],[7153.18,-901.004,53.1167,251.787,-68.9909],[7115.42,-803.512,52.7,249.965,-68.6538],[7075.84,-703.115,52.2667,248.048,-68.295],[7035.93,-603.745,51.8333,246.109,-67.9276],[6994.15,-501.657,51.3833,244.074,-67.5366],[6952.01,-400.709,50.9333,242.016,-67.1357],[6909.53,-300.919,50.4833,239.936,-66.7245],[6866.69,-202.303,50.0333,237.835,-66.3027],[6821.91,-101.292,49.5667,235.634,-65.8535],[6776.74,-1.58086,49.1,233.41,-65.392],[6731.21,96.8127,48.6333,231.166,-64.9177],[6683.65,197.311,48.15,228.819,-64.4124],[6634.03,299.744,47.65,226.369,-63.874],[6585.66,397.261,47.1667,223.981,-63.3378],[6533.51,499.847,46.65,221.406,-62.7468],[6482.61,597.472,46.15,218.895,-62.1566],[6427.85,699.787,45.6167,216.197,-61.5062],[6374.34,797.09,45.1,213.566,-60.8549],[6316.89,898.678,44.55,210.747,-60.1375],[6258.93,998.184,44,207.914,-59.3941],[6198.68,1098.49,43.4333,204.981,-58.5997],[6136.11,1199.38,42.85,201.95,-57.7502],[6072.98,1297.81,42.2667,198.911,-56.8669],[6005.63,1399.17,41.65,195.694,-55.8946],[5937.66,1497.72,41.0333,192.477,-54.8805],[5865.36,1598.5,40.3833,189.092,-53.7639],[5790.5,1698.52,39.7167,185.633,-52.5653],[5711.13,1799.84,39.0167,182.022,-51.2452],[5629.08,1899.59,38.3,178.359,-49.8248],[5542.35,1999.6,37.55,174.574,-48.2594]]], - [56,3036.8,[[7415.64,-2003.83,58.0833,270.693,-72.7061],[7383.32,-1900.79,57.6833,269.158,-72.4568],[7352.1,-1802.74,57.3,267.669,-72.2133],[7319.27,-1701.14,56.9,266.096,-71.9542],[7286.17,-1600.3,56.5,264.503,-71.6898],[7252.8,-1500.23,56.1,262.89,-71.4202],[7219.17,-1400.92,55.7,261.256,-71.1449],[7185.27,-1302.41,55.3,259.603,-70.864],[7149.67,-1200.63,54.8833,257.861,-70.5651],[7115.22,-1103.76,54.4833,256.167,-70.272],[7079.05,-1003.71,54.0667,254.382,-69.9601],[7041.13,-900.627,53.6333,252.504,-69.6282],[7004.36,-802.44,53.2167,250.676,-69.3018],[6965.82,-701.31,52.7833,248.753,-68.9543],[6926.96,-601.2,52.35,246.808,-68.5986],[6887.78,-502.124,51.9167,244.841,-68.2342],[6846.76,-400.348,51.4667,242.776,-67.8463],[6806.93,-303.426,51.0333,240.765,-67.4634],[6763.69,-200.256,50.5667,238.576,-67.0404],[6721.65,-101.973,50.1167,236.442,-66.6215],[6677.69,-1.31643,49.65,234.207,-66.1753],[6633.37,98.0332,49.1833,231.949,-65.7168],[6587.07,199.533,48.7,229.588,-65.2282],[6540.39,299.589,48.2167,227.203,-64.7252],[6493.31,398.181,47.7333,224.797,-64.2072],[6444.2,498.61,47.2333,222.286,-63.6549],[6394.68,597.426,46.7333,219.754,-63.0851],[6343.07,697.818,46.2167,217.116,-62.4772],[6289.34,799.589,45.6833,214.373,-61.8283],[6235.13,899.445,45.15,211.61,-61.1568],[6180.46,997.356,44.6167,208.83,-60.4615],[6121.87,1099.23,44.05,205.86,-59.6955],[6062.75,1198.84,43.4833,202.875,-58.9],[6001.36,1298.99,42.9,199.791,-58.0487],[5937.64,1399.43,42.3,196.609,-57.1371],[5871.56,1499.9,41.6833,193.334,-56.16],[5804.88,1597.54,41.0667,190.058,-55.1401],[5732.12,1699.87,40.4,186.522,-53.9866],[5658.67,1798.78,39.7333,182.999,-52.7773],[5580.81,1898.91,39.0333,179.322,-51.444],[5498.45,1999.66,38.3,175.505,-49.9732]]], - [57,3102.12,[[7284.23,-2000.35,58.55,271.268,-73.2136],[7254.08,-1901.11,58.1667,269.797,-72.9821],[7223.7,-1802.54,57.7833,268.308,-72.7461],[7191.74,-1700.4,57.3833,266.734,-72.4952],[7160.87,-1603.21,57,265.206,-72.2499],[7128.41,-1502.55,56.6,263.592,-71.9889],[7095.68,-1402.65,56.2,261.958,-71.7225],[7062.69,-1303.52,55.8,260.303,-71.4506],[7028.05,-1201.11,55.3833,258.558,-71.1614],[6994.53,-1103.62,54.9833,256.862,-70.8777],[6959.33,-1002.92,54.5667,255.074,-70.5757],[6923.85,-903.121,54.15,253.264,-70.2671],[6886.65,-800.293,53.7167,251.359,-69.9386],[6850.59,-702.359,53.3,249.505,-69.6154],[6812.78,-601.499,52.8667,247.554,-69.2714],[6774.66,-501.665,52.4333,245.581,-68.919],[6736.24,-402.872,52,243.585,-68.558],[6696.01,-301.396,51.55,241.489,-68.1736],[6655.44,-201.074,51.1,239.37,-67.7792],[6614.55,-101.925,50.65,237.227,-67.3745],[6571.79,-0.35823,50.1833,234.981,-66.9433],[6528.67,99.9113,49.7167,232.711,-66.5002],[6485.19,198.865,49.25,230.417,-66.0445],[6439.79,299.946,48.7667,228.018,-65.5588],[6394.01,399.573,48.2833,225.596,-65.0586],[6347.84,497.728,47.8,223.151,-64.5432],[6299.69,597.693,47.3,220.599,-63.9935],[6249.5,699.286,46.7833,217.939,-63.4068],[6198.89,799.121,46.2667,215.258,-62.8005],[6147.85,897.172,45.75,212.555,-62.1735],[6093.04,999.56,45.2,209.658,-61.4823],[6037.75,1099.87,44.65,206.741,-60.7655],[5981.99,1198.06,44.1,203.808,-60.0217],[5922.32,1299.87,43.5167,200.681,-59.2018],[5862.13,1399.23,42.9333,197.542,-58.3485],[5799.66,1498.84,42.3333,194.303,-57.4338],[5734.88,1598.45,41.7167,190.969,-56.4527],[5667.74,1697.78,41.0833,187.543,-55.3992],[5596.42,1799.04,40.4167,183.942,-54.2372],[5522.62,1899.26,39.7333,180.264,-52.9863],[5446.3,1998.13,39.0333,176.519,-51.6384]]], - [58,3166.4,[[7149,-2004.09,59.0333,271.939,-73.7334],[7118.41,-1900.01,58.6333,270.405,-73.4996],[7088.86,-1800.94,58.25,268.915,-73.2711],[7059.08,-1702.54,57.8667,267.406,-73.0383],[7027.75,-1600.59,57.4667,265.811,-72.7906],[6997.5,-1503.59,57.0833,264.263,-72.5485],[6965.67,-1403.12,56.6833,262.628,-72.2908],[6933.6,-1303.42,56.2833,260.971,-72.0278],[6899.91,-1200.39,55.8667,259.224,-71.7479],[6867.31,-1102.3,55.4667,257.525,-71.4735],[6833.09,-1000.98,55.05,255.734,-71.1814],[6798.58,-900.553,54.6333,253.92,-70.8827],[6763.8,-801.022,54.2167,252.084,-70.5773],[6728.74,-702.405,53.8,250.226,-70.2649],[6691.98,-600.827,53.3667,248.271,-69.9324],[6654.92,-500.266,52.9333,246.292,-69.5917],[6617.56,-400.737,52.5,244.289,-69.2427],[6579.9,-302.256,52.0667,242.264,-68.8851],[6540.47,-201.111,51.6167,240.136,-68.5042],[6500.71,-101.128,51.1667,237.985,-68.1132],[6460.63,-2.3245,50.7167,235.81,-67.7119],[6418.73,98.8751,50.25,233.529,-67.2842],[6376.48,198.77,49.7833,231.224,-66.8444],[6333.88,297.34,49.3167,228.895,-66.3921],[6289.4,398.014,48.8333,226.459,-65.9098],[6244.54,497.227,48.35,223.998,-65.4128],[6197.75,598.3,47.85,221.428,-64.8826],[6150.56,697.763,47.35,218.835,-64.3353],[6101.39,798.825,46.8333,216.131,-63.7511],[6051.8,898.117,46.3167,213.404,-63.1468],[6000.18,998.728,45.7833,210.568,-62.5011],[5948.11,1097.4,45.25,207.71,-61.8321],[5893.96,1197.09,44.7,204.744,-61.1165],[5837.67,1297.58,44.1333,201.669,-60.3504],[5779.23,1398.63,43.55,198.488,-59.5298],[5720.26,1497.22,42.9667,195.292,-58.6749],[5657.38,1598.73,42.35,191.904,-57.7319],[5593.92,1697.41,41.7333,188.509,-56.7461],[5526.43,1798.32,41.0833,184.928,-55.658],[5456.56,1898.44,40.4167,181.262,-54.4867],[5382.51,1999.85,39.7167,177.425,-53.1926]]], - [59,3229.58,[[7006.1,-2002.15,59.4833,272.515,-74.2366],[6977.61,-1901.92,59.1,271.045,-74.0198],[6948.9,-1802.35,58.7167,269.555,-73.7989],[6919.96,-1703.44,58.3333,268.046,-73.5738],[6889.52,-1600.95,57.9333,266.451,-73.3342],[6860.12,-1503.43,57.55,264.903,-73.1001],[6829.2,-1402.41,57.15,263.266,-72.8509],[6798.03,-1302.16,56.75,261.608,-72.5965],[6766.61,-1202.68,56.35,259.929,-72.3369],[6734.95,-1103.99,55.95,258.229,-72.0717],[6701.69,-1002.03,55.5333,256.436,-71.7895],[6668.17,-900.963,55.1167,254.619,-71.501],[6634.38,-800.784,54.7,252.78,-71.2059],[6600.32,-701.512,54.2833,250.918,-70.9041],[6565.99,-603.16,53.8667,249.034,-70.5953],[6529.99,-501.863,53.4333,247.05,-70.2664],[6493.71,-401.59,53,245.042,-69.9296],[6457.12,-302.355,52.5667,243.011,-69.5843],[6418.83,-200.419,52.1167,240.876,-69.2166],[6381.65,-103.348,51.6833,238.797,-68.8533],[6341.28,-0.0232694,51.2167,236.532,-68.4517],[6302.04,98.4026,50.7667,234.323,-68.0537],[6261,199.202,50.3,232.008,-67.6295],[6219.63,298.687,49.8333,229.667,-67.1932],[6177.93,396.84,49.3667,227.301,-66.7442],[6134.37,497.072,48.8833,224.826,-66.2652],[6088.94,599.212,48.3833,222.24,-65.7542],[6043.13,699.754,47.8833,219.627,-65.2266],[5996.92,798.674,47.3833,216.991,-64.6818],[5948.78,899.163,46.8667,214.242,-64.0998],[5900.24,997.87,46.35,211.47,-63.4976],[5849.7,1097.86,45.8167,208.585,-62.8537],[5797.14,1198.94,45.2667,205.588,-62.1648],[5744.12,1297.9,44.7167,202.57,-61.4494],[5689.03,1397.62,44.15,199.441,-60.683],[5631.82,1497.87,43.5667,196.203,-59.8614],[5572.46,1598.4,42.9667,192.858,-58.9797],[5510.9,1698.94,42.35,189.408,-58.0326],[5447.11,1799.24,41.7167,185.858,-57.0142],[5381.04,1899,41.0667,182.213,-55.9179],[5312.67,1997.93,40.4,178.479,-54.7363]]], - [60,3291.59,[[6858.09,-2003.26,59.9333,273.123,-74.7429],[6830.44,-1902.56,59.55,271.654,-74.5334],[6802.56,-1802.51,59.1667,270.164,-74.3199],[6774.47,-1703.12,58.7833,268.655,-74.1023],[6744.92,-1600.12,58.3833,267.059,-73.8708],[6716.37,-1502.1,58,265.51,-73.6445],[6686.35,-1400.55,57.6,263.872,-73.4037],[6657.35,-1303.95,57.2167,262.283,-73.1682],[6626.86,-1203.9,56.8167,260.603,-72.9175],[6594.83,-1100.52,56.4,258.83,-72.6506],[6563.85,-1002.08,56,257.105,-72.3889],[6531.31,-900.394,55.5833,255.286,-72.1103],[6499.82,-803.61,55.1833,253.518,-71.8369],[6466.77,-703.674,54.7667,251.654,-71.5457],[6432.11,-600.709,54.3333,249.69,-71.2357],[6398.52,-502.647,53.9167,247.778,-70.9305],[6363.3,-401.66,53.4833,245.765,-70.6055],[6327.8,-301.703,53.05,243.728,-70.2724],[6292.01,-202.791,52.6167,241.667,-69.9309],[6254.55,-101.198,52.1667,239.5,-69.5671],[6216.77,-0.765403,51.7167,237.308,-69.1936],[6178.69,98.4894,51.2667,235.091,-68.81],[6140.31,196.549,50.8167,232.849,-68.4159],[6100.17,296.961,50.35,230.497,-67.9956],[6058.26,399.564,49.8667,228.035,-67.5475],[6017.46,497.264,49.4,225.632,-67.1018],[5974.86,597.017,48.9167,223.117,-66.6262],[5930.42,698.65,48.4167,220.489,-66.1186],[5885.61,798.674,47.9167,217.835,-65.5942],[5840.42,897.066,47.4167,215.155,-65.0524],[5793.35,996.997,46.9,212.361,-64.4733],[5744.34,1098.27,46.3667,209.451,-63.8541],[5694.91,1197.6,45.8333,206.517,-63.2119],[5643.51,1297.98,45.2833,203.468,-62.5244],[5590.08,1399.17,44.7167,200.305,-61.7877],[5536.2,1498.08,44.15,197.121,-61.0208],[5480.26,1597.47,43.5667,193.825,-60.1978],[5420.59,1699.82,42.95,190.326,-59.2889],[5360.39,1799.34,42.3333,186.814,-58.3373],[5298.02,1898.56,41.7,183.199,-57.313],[5231.76,1999.69,41.0333,179.392,-56.1801]]], - [61,3352.37,[[6703.76,-2003.11,60.3667,273.699,-75.2436],[6676.94,-1901.96,59.9833,272.23,-75.0412],[6649.9,-1801.45,59.6,270.741,-74.835],[6622.65,-1701.59,59.2167,269.232,-74.6248],[6595.18,-1602.4,58.8333,267.702,-74.4106],[6567.5,-1503.88,58.45,266.153,-74.1922],[6538.39,-1401.8,58.05,264.515,-73.9598],[6509.04,-1300.48,57.65,262.855,-73.7226],[6480.69,-1204.09,57.2667,261.244,-73.4906],[6449.64,-1100.13,56.85,259.469,-73.2331],[6419.59,-1001.14,56.45,257.743,-72.9805],[6389.3,-902.939,56.05,255.995,-72.7225],[6357.49,-801.512,55.6333,254.151,-72.4478],[6325.44,-700.976,55.2167,252.283,-72.1668],[6293.12,-601.346,54.8,250.391,-71.8792],[6260.55,-502.634,54.3833,248.475,-71.585],[6226.4,-400.962,53.95,246.458,-71.2716],[6191.98,-300.312,53.5167,244.416,-70.9504],[6157.27,-200.7,53.0833,242.348,-70.6212],[6122.3,-102.141,52.65,240.256,-70.2835],[6085.68,-0.921785,52.2,238.057,-69.9237],[6048.76,99.1287,51.75,235.831,-69.5541],[6011.55,197.993,51.3,233.58,-69.1744],[5972.64,299.249,50.8333,231.218,-68.7696],[5933.41,399.191,50.3667,228.83,-68.3529],[5893.86,497.802,49.9,226.415,-67.9239],[5852.57,598.509,49.4167,223.886,-67.4661],[5810.94,697.745,48.9333,221.331,-66.9939],[5767.51,798.832,48.4333,218.659,-66.4896],[5723.72,898.299,47.9333,215.961,-65.9684],[5678.1,999.354,47.4167,213.146,-65.4114],[5632.09,1098.63,46.9,210.305,-64.8346],[5584.2,1199.21,46.3667,207.345,-64.2173],[5535.9,1297.83,45.8333,204.361,-63.5768],[5485.68,1397.46,45.2833,201.26,-62.8905],[5433.49,1497.87,44.7167,198.041,-62.1547],[5379.31,1598.82,44.1333,194.706,-61.3649],[5324.65,1697.3,43.55,191.352,-60.5404],[5266.36,1798.67,42.9333,187.789,-59.6289],[5205.97,1899.81,42.3,184.117,-58.6472],[5145.04,1997.89,41.6667,180.436,-57.6164]]], - [62,3411.87,[[6543.25,-2001.7,60.7833,274.243,-75.739],[6517.25,-1900.12,60.4,272.774,-75.5436],[6492.19,-1803.55,60.0333,271.351,-75.3533],[6465.79,-1703.22,59.65,269.842,-75.1507],[6439.19,-1603.55,59.2667,268.313,-74.9441],[6411.2,-1500.26,58.8667,266.696,-74.7242],[6384.16,-1401.97,58.4833,265.126,-74.5093],[6355.73,-1300.13,58.0833,263.465,-74.2805],[6328.27,-1203.25,57.7,261.853,-74.0568],[6299.39,-1102.9,57.3,260.148,-73.8185],[6270.28,-1003.34,56.9,258.421,-73.5752],[6239.71,-900.476,56.4833,256.599,-73.3161],[6210.14,-802.544,56.0833,254.826,-73.0619],[6179.08,-701.4,55.6667,252.955,-72.7911],[6147.78,-601.154,55.25,251.06,-72.5141],[6116.23,-501.818,54.8333,249.141,-72.2306],[6084.43,-403.408,54.4167,247.198,-71.9404],[6051.09,-302.056,53.9833,245.152,-71.6312],[6017.48,-201.734,53.55,243.079,-71.3143],[5983.61,-102.457,53.1167,240.981,-70.9892],[5948.14,-0.482982,52.6667,238.776,-70.6428],[5913.72,96.6177,52.2333,236.626,-70.3004],[5876.34,199.967,51.7667,234.283,-69.9215],[5840.01,298.409,51.3167,231.997,-69.5458],[5802.03,399.217,50.85,229.598,-69.1451],[5763.73,498.702,50.3833,227.172,-68.7324],[5725.13,596.846,49.9167,224.719,-68.3075],[5684.83,697.06,49.4333,222.15,-67.8537],[5642.78,799.17,48.9333,219.464,-67.3691],[5600.39,899.672,48.4333,216.749,-66.8682],[5557.65,998.54,47.9333,214.006,-66.3503],[5513.11,1098.96,47.4167,211.144,-65.7964],[5468.21,1197.59,46.9,208.255,-65.2225],[5421.47,1297.49,46.3667,205.245,-64.608],[5372.86,1398.45,45.8167,202.115,-63.9495],[5323.85,1497.29,45.2667,198.959,-63.2644],[5271.41,1599.75,44.6833,195.588,-62.5072],[5218.52,1699.76,44.1,192.193,-61.7164],[5165.18,1797.27,43.5167,188.779,-60.8902],[5108.3,1897.59,42.9,185.153,-59.9757],[5049.38,1997.64,42.2667,181.414,-58.9898]]], - [63,3469.99,[[6377.68,-2003.61,61.2,274.819,-76.2382],[6352.52,-1901.59,60.8167,273.352,-76.05],[6327.16,-1800.2,60.4333,271.864,-75.8582],[6302.72,-1703.82,60.0667,270.421,-75.6713],[6276.97,-1603.69,59.6833,268.892,-75.4723],[6251.02,-1504.23,59.3,267.343,-75.2693],[6223.72,-1401.16,58.9,265.704,-75.0533],[6197.35,-1303.08,58.5167,264.113,-74.8421],[6169.62,-1201.47,58.1167,262.43,-74.6173],[6141.67,-1100.63,57.7167,260.724,-74.3877],[6113.5,-1000.56,57.3167,258.995,-74.1532],[6085.1,-901.28,56.9167,257.244,-73.9136],[6056.48,-802.795,56.5167,255.469,-73.6689],[6026.44,-701.069,56.1,253.596,-73.4082],[5996.15,-600.233,55.6833,251.699,-73.1415],[5965.62,-500.302,55.2667,249.776,-72.8686],[5934.84,-401.289,54.85,247.829,-72.5892],[5903.83,-303.207,54.4333,245.857,-72.3031],[5871.32,-202.205,54,243.78,-71.9982],[5838.55,-102.239,53.5667,241.677,-71.6856],[5805.51,-3.32514,53.1333,239.548,-71.3649],[5770.93,98.2629,52.6833,237.309,-71.023],[5736.07,198.683,52.2333,235.043,-70.6718],[5700.93,297.917,51.7833,232.749,-70.3107],[5664.19,399.555,51.3167,230.341,-69.9256],[5627.15,499.881,50.85,227.905,-69.529],[5589.81,598.875,50.3833,225.44,-69.1206],[5550.82,699.979,49.9,222.858,-68.6845],[5511.51,799.611,49.4167,220.247,-68.2344],[5471.88,897.75,48.9333,217.608,-67.7697],[5430.55,997.679,48.4333,214.848,-67.2729],[5387.49,1099.21,47.9167,211.967,-66.7415],[5344.07,1198.96,47.4,209.057,-66.1908],[5300.3,1296.9,46.8833,206.119,-65.6199],[5253.31,1399.14,46.3333,202.962,-64.9886],[5205.92,1499.28,45.7833,199.777,-64.3318],[5158.13,1597.27,45.2333,196.566,-63.6479],[5107.02,1698.82,44.65,193.135,-62.8913],[5055.47,1797.9,44.0667,189.681,-62.1004],[5000.5,1899.9,43.45,186.006,-61.2249],[4945.05,1999.04,42.8333,182.314,-60.306]]], - [64,3526.69,[[6205.93,-2004.41,61.6,275.364,-76.7332],[6181.62,-1901.97,61.2167,273.897,-76.552],[6157.11,-1800.16,60.8333,272.41,-76.3674],[6133.48,-1703.37,60.4667,270.967,-76.1875],[6108.59,-1602.81,60.0833,269.439,-75.9958],[6083.5,-1502.91,59.7,267.89,-75.8005],[6058.22,-1403.68,59.3167,266.32,-75.6013],[6031.63,-1300.85,58.9167,264.658,-75.3892],[6005.94,-1203.01,58.5333,263.045,-75.1818],[5978.93,-1101.66,58.1333,261.339,-74.961],[5951.7,-1001.07,57.7333,259.609,-74.7354],[5924.26,-901.266,57.3333,257.856,-74.505],[5896.6,-802.254,56.9333,256.08,-74.2696],[5868.72,-704.045,56.5333,254.281,-74.029],[5839.46,-602.611,56.1167,252.381,-73.7727],[5809.96,-502.075,55.7,250.457,-73.5104],[5780.23,-402.449,55.2833,248.507,-73.242],[5750.26,-303.748,54.8667,246.531,-72.9671],[5718.84,-202.094,54.4333,244.451,-72.6741],[5687.18,-101.469,54,242.343,-72.3736],[5655.26,-1.88937,53.5667,240.208,-72.0655],[5623.08,96.6306,53.1333,238.046,-71.7492],[5589.4,197.801,52.6833,235.773,-71.412],[5555.45,297.795,52.2333,233.472,-71.0653],[5521.23,396.595,51.7833,231.143,-70.7089],[5485.45,497.773,51.3167,228.698,-70.3286],[5449.39,597.629,50.85,226.223,-69.9368],[5411.73,699.636,50.3667,223.63,-69.5184],[5375.07,796.74,49.9,221.097,-69.1018],[5335.48,899.245,49.4,218.353,-68.6408],[5296.89,996.804,48.9167,215.67,-68.1804],[5255.31,1099.4,48.4,212.772,-67.671],[5214.73,1197.01,47.9,209.937,-67.1605],[5171.09,1299.26,47.3667,206.882,-66.5959],[5127.09,1399.58,46.8333,203.797,-66.0093],[5082.72,1497.92,46.3,200.683,-65.3996],[5036.58,1597.24,45.75,197.443,-64.7453],[4988.66,1697.31,45.1833,194.077,-64.0423],[4938.9,1797.9,44.6,190.585,-63.2863],[4887.28,1898.75,44,186.968,-62.4722],[4833.76,1999.61,43.3833,183.228,-61.5943]]], - [65,3581.91,[[6028.15,-2004.14,61.9833,275.877,-77.2248],[6004.67,-1901.3,61.6,274.411,-77.0505],[5982.04,-1803.51,61.2333,272.989,-76.8807],[5958.2,-1701.9,60.85,271.482,-76.6999],[5934.17,-1600.94,60.4667,269.954,-76.5156],[5909.95,-1500.62,60.0833,268.405,-76.3277],[5885.54,-1400.96,59.7,266.834,-76.1361],[5860.94,-1301.98,59.3167,265.241,-75.9407],[5836.15,-1203.68,58.9333,263.628,-75.7415],[5810.07,-1101.84,58.5333,261.921,-75.5293],[5783.79,-1000.76,58.1333,260.19,-75.3125],[5757.31,-900.458,57.7333,258.436,-75.0911],[5730.61,-800.942,57.3333,256.659,-74.8649],[5703.71,-702.224,56.9333,254.857,-74.6337],[5675.46,-600.253,56.5167,252.955,-74.3875],[5648.13,-503.2,56.1167,251.105,-74.1456],[5619.44,-402.989,55.7,249.152,-73.8879],[5590.52,-303.696,55.2833,247.174,-73.624],[5560.2,-201.419,54.85,245.089,-73.3427],[5529.64,-100.165,54.4167,242.977,-73.0543],[5500.02,-3.78282,54,240.919,-72.7699],[5467.78,99.2164,53.55,238.669,-72.4548],[5436.49,197.312,53.1167,236.474,-72.1432],[5403.73,298.033,52.6667,234.166,-71.8107],[5370.71,397.569,52.2167,231.829,-71.4688],[5336.19,499.519,51.75,229.375,-71.104],[5302.64,596.584,51.3,226.98,-70.7418],[5266.31,699.458,50.8167,224.376,-70.3409],[5230.95,797.408,50.35,221.832,-69.9416],[5194.03,897.409,49.8667,219.167,-69.5149],[5155.52,999.286,49.3667,216.377,-69.0586],[5116.7,1099.54,48.8667,213.556,-68.5864],[5077.57,1198.15,48.3667,210.703,-68.0976],[5036.79,1298.28,47.85,207.725,-67.5741],[4994.36,1399.75,47.3167,204.618,-67.013],[4951.57,1499.26,46.7833,201.479,-66.4297],[4907.08,1599.8,46.2333,198.212,-65.8036],[4862.22,1698.2,45.6833,194.915,-65.1511],[4815.62,1797.3,45.1167,191.49,-64.4494],[4765.85,1899.67,44.5167,187.834,-63.6718],[4715.66,1999.38,43.9167,184.151,-62.8563]]], - [66,3635.56,[[5844.41,-2002.89,62.35,276.359,-77.7136],[5822.77,-1904.15,61.9833,274.958,-77.5535],[5799.96,-1801.52,61.6,273.473,-77.383],[5777.98,-1703.94,61.2333,272.032,-77.2169],[5754.82,-1602.56,60.85,270.505,-77.04],[5731.48,-1501.81,60.4667,268.956,-76.8597],[5707.95,-1401.73,60.0833,267.385,-76.6758],[5684.24,-1302.31,59.7,265.793,-76.4882],[5660.35,-1203.57,59.3167,264.179,-76.297],[5635.22,-1101.26,58.9167,262.472,-76.0933],[5610.95,-1003.93,58.5333,260.813,-75.894],[5585.43,-903.125,58.1333,259.059,-75.6817],[5559.7,-803.097,57.7333,257.28,-75.4648],[5533.78,-703.86,57.3333,255.477,-75.2431],[5506.56,-601.343,56.9167,253.574,-75.007],[5480.22,-503.759,56.5167,251.722,-74.7751],[5452.58,-402.989,56.1,249.767,-74.5279],[5424.71,-303.131,55.6833,247.785,-74.2748],[5395.49,-200.259,55.25,245.697,-74.0051],[5367.18,-102.302,54.8333,243.662,-73.7393],[5337.5,-1.43643,54.4,241.518,-73.4559],[5307.58,98.3834,53.9667,239.346,-73.165],[5277.43,197.142,53.5333,237.146,-72.8665],[5245.87,298.56,53.0833,234.831,-72.548],[5214.06,398.8,52.6333,232.487,-72.2205],[5181.99,497.844,52.1833,230.113,-71.8836],[5148.47,599.274,51.7167,227.621,-71.5239],[5114.67,699.38,51.25,225.097,-71.1532],[5080.61,798.142,50.7833,222.542,-70.771],[5045.05,898.993,50.3,219.864,-70.3626],[5009.19,998.36,49.8167,217.155,-69.9405],[4971.8,1099.57,49.3167,214.319,-69.489],[4934.11,1199.14,48.8167,211.451,-69.0216],[4896.11,1297.05,48.3167,208.551,-68.5373],[4855.25,1399.63,47.7833,205.424,-68.0013],[4815.34,1497.15,47.2667,202.362,-67.4617],[4772.5,1598.93,46.7167,199.071,-66.8641],[4729.31,1698.57,46.1667,195.746,-66.2412],[4684.44,1798.97,45.6,192.29,-65.5712],[4637.86,1899.9,45.0167,188.7,-64.8498],[4590.89,1998.31,44.4333,185.082,-64.094]]], - [67,3687.61,[[5654.78,-2000.67,62.7,276.811,-78.2002],[5633.94,-1901.59,62.3333,275.41,-78.0466],[5612.95,-1803.06,61.9667,273.99,-77.8902],[5590.83,-1700.67,61.5833,272.484,-77.7237],[5569.51,-1603.32,61.2167,271.023,-77.5614],[5547.05,-1502.18,60.8333,269.475,-77.3885],[5524.41,-1401.68,60.45,267.905,-77.2122],[5501.6,-1301.85,60.0667,266.313,-77.0325],[5478.6,-1202.69,59.6833,264.698,-76.8492],[5455.43,-1104.21,59.3,263.062,-76.6621],[5431.07,-1002.19,58.9,261.33,-76.4629],[5406.51,-900.927,58.5,259.575,-76.2594],[5381.75,-800.442,58.1,257.795,-76.0515],[5356.8,-700.744,57.7,255.99,-75.839],[5331.66,-601.844,57.3,254.161,-75.6218],[5306.32,-503.754,56.9,252.307,-75.3997],[5279.72,-402.452,56.4833,250.349,-75.163],[5252.9,-302.054,56.0667,248.365,-74.9207],[5225.88,-202.575,55.65,246.354,-74.6724],[5197.55,-100.107,55.2167,244.234,-74.4078],[5170.1,-2.54387,54.8,242.168,-74.1469],[5141.32,97.9027,54.3667,239.992,-73.8687],[5112.32,197.295,53.9333,237.787,-73.583],[5081.96,299.379,53.4833,235.466,-73.2783],[5052.49,396.575,53.05,233.203,-72.9767],[5021.65,496.344,52.6,230.823,-72.6547],[4989.41,598.534,52.1333,228.322,-72.3109],[4956.91,699.409,51.6667,225.79,-71.9566],[4924.15,798.949,51.2,223.225,-71.5912],[4891.13,897.134,50.7333,220.63,-71.2144],[4856.65,997.375,50.25,217.909,-70.8114],[4820.7,1099.5,49.75,215.059,-70.3803],[4784.45,1200,49.25,212.176,-69.9338],[4747.91,1298.84,48.75,209.26,-69.4713],[4709.84,1399.22,48.2333,206.212,-68.9756],[4671.47,1497.79,47.7167,203.131,-68.4607],[4631.54,1597.61,47.1833,199.916,-67.9081],[4590.02,1698.46,46.6333,196.567,-67.3143],[4548.16,1797.16,46.0833,193.185,-66.6948],[4503.39,1899.46,45.5,189.563,-66.0078],[4458.24,1999.27,44.9167,185.909,-65.2878]]], - [68,3737.98,[[5460.27,-2002.06,63.05,277.294,-78.6918],[5440.26,-1902.62,62.6833,275.895,-78.5448],[5420.1,-1803.74,62.3167,274.476,-78.3952],[5398.85,-1700.97,61.9333,272.971,-78.2358],[5378.37,-1603.26,61.5667,271.511,-78.0804],[5356.8,-1501.74,61.1833,269.963,-77.9149],[5335.05,-1400.85,60.8,268.393,-77.7462],[5313.13,-1300.63,60.4167,266.8,-77.5742],[5291.04,-1201.07,60.0333,265.186,-77.3987],[5268.78,-1102.19,59.65,263.548,-77.2197],[5246.35,-1004,59.2667,261.889,-77.037],[5222.76,-902.278,58.8667,260.133,-76.8424],[5198.99,-801.327,58.4667,258.352,-76.6436],[5175.03,-701.158,58.0667,256.546,-76.4404],[5150.88,-601.781,57.6667,254.715,-76.2327],[5126.54,-503.21,57.2667,252.86,-76.0203],[5100.99,-401.4,56.85,250.9,-75.794],[5075.24,-300.489,56.4333,248.913,-75.5622],[5049.29,-200.491,56.0167,246.898,-75.3249],[5023.13,-101.42,55.6,244.857,-75.0817],[4996.76,-3.28875,55.1833,242.788,-74.8324],[4969.13,97.7559,54.75,240.607,-74.5666],[4941.28,197.753,54.3167,238.397,-74.2937],[4913.21,296.688,53.8833,236.158,-74.0135],[4883.82,398.287,53.4333,233.802,-73.7144],[4854.21,498.705,52.9833,231.415,-73.4068],[4824.36,597.925,52.5333,228.996,-73.0902],[4793.15,699.536,52.0667,226.455,-72.752],[4761.7,799.82,51.6,223.882,-72.4033],[4729.99,898.756,51.1333,221.276,-72.0436],[4696.89,999.786,50.65,218.543,-71.6589],[4663.52,1099.33,50.1667,215.776,-71.2613],[4629.89,1197.36,49.6833,212.976,-70.85],[4594.82,1297.16,49.1833,210.046,-70.4094],[4558.29,1398.53,48.6667,206.981,-69.9371],[4521.46,1498.11,48.15,203.882,-69.4467],[4483.13,1598.97,47.6167,200.646,-68.9201],[4444.49,1697.86,47.0833,197.376,-68.3718],[4404.32,1797.73,46.5333,193.968,-67.7821],[4362.59,1898.36,45.9667,190.421,-67.1472],[4319.28,1999.52,45.3833,186.735,-66.4626]]], - [69,3786.61,[[5260.02,-2002.63,63.3833,277.748,-79.1822],[5240.83,-1902.86,63.0167,276.349,-79.0417],[5221.5,-1803.65,62.65,274.931,-78.8987],[5201.13,-1700.52,62.2667,273.427,-78.7463],[5181.5,-1602.47,61.9,271.967,-78.5979],[5160.81,-1500.58,61.5167,270.42,-78.4398],[5140.87,-1403.72,61.15,268.918,-78.2856],[5119.86,-1303.09,60.7667,267.327,-78.1214],[5098.69,-1203.13,60.3833,265.712,-77.9539],[5077.35,-1103.84,60,264.075,-77.7829],[5054.91,-1000.96,59.6,262.343,-77.6009],[5033.24,-903.072,59.2167,260.659,-77.4228],[5010.45,-801.679,58.8167,258.877,-77.2329],[4987.48,-701.062,58.4167,257.071,-77.039],[4964.33,-601.233,58.0167,255.239,-76.8407],[4941,-502.204,57.6167,253.381,-76.6379],[4917.49,-403.986,57.2167,251.498,-76.4306],[4892.81,-302.551,56.8,249.509,-76.2095],[4867.94,-202.023,56.3833,247.493,-75.9831],[4842.87,-102.416,55.9667,245.449,-75.7512],[4817.6,-3.74245,55.55,243.377,-75.5135],[4791.12,97.8723,55.1167,241.192,-75.2599],[4764.42,198.446,54.6833,238.978,-74.9996],[4737.52,297.964,54.25,236.734,-74.7323],[4710.4,396.41,53.8167,234.459,-74.4578],[4682.02,497.491,53.3667,232.066,-74.1647],[4653.42,597.382,52.9167,229.641,-73.863],[4623.52,699.696,52.45,227.093,-73.5408],[4594.46,797.107,52,224.604,-73.2205],[4564.08,896.81,51.5333,221.99,-72.8781],[4532.37,998.643,51.05,219.247,-72.512],[4500.4,1099,50.5667,216.469,-72.1334],[4468.18,1197.85,50.0833,213.657,-71.7419],[4434.58,1298.51,49.5833,210.712,-71.3224],[4400.71,1397.51,49.0833,207.731,-70.8876],[4365.43,1498.05,48.5667,204.615,-70.4211],[4328.71,1599.92,48.0333,201.36,-69.9203],[4291.7,1699.83,47.5,198.068,-69.3987],[4254.38,1797.74,46.9667,194.739,-68.8551],[4214.42,1899.54,46.4,191.166,-68.2517],[4174.12,1999.03,45.8333,187.555,-67.6201]]], - [70,3833.45,[[5054.11,-2002.43,63.7,278.172,-79.6717],[5035.75,-1902.34,63.3333,276.774,-79.5377],[5017.25,-1802.81,62.9667,275.357,-79.4013],[4998.61,-1703.84,62.6,273.919,-79.2624],[4978.98,-1600.97,62.2167,272.394,-79.1144],[4960.05,-1503.17,61.85,270.914,-78.9702],[4940.1,-1401.54,61.4667,269.345,-78.8166],[4920,-1300.57,61.0833,267.753,-78.66],[4899.75,-1200.25,60.7,266.138,-78.5002],[4879.33,-1100.6,60.3167,264.5,-78.3372],[4858.76,-1001.63,59.9333,262.839,-78.1708],[4838.03,-903.342,59.55,261.154,-78.0011],[4816.23,-801.529,59.15,259.372,-77.8202],[4794.26,-700.487,58.75,257.564,-77.6354],[4772.12,-600.228,58.35,255.73,-77.4464],[4749.8,-500.764,57.95,253.871,-77.2532],[4727.31,-402.107,57.55,251.986,-77.0556],[4703.7,-300.21,57.1333,249.994,-76.845],[4680.86,-203.236,56.7333,248.056,-76.638],[4656.89,-103.118,56.3167,246.01,-76.4172],[4632.72,-3.92928,55.9,243.935,-76.1909],[4607.39,98.228,55.4667,241.747,-75.9495],[4581.86,199.351,55.0333,239.528,-75.7017],[4556.13,299.424,54.6,237.279,-75.4473],[4530.2,398.431,54.1667,234.999,-75.1859],[4504.07,496.356,53.7333,232.689,-74.9173],[4476.72,596.886,53.2833,230.258,-74.6304],[4448.12,699.871,52.8167,227.703,-74.3239],[4420.33,797.936,52.3667,225.206,-74.0193],[4391.29,898.326,51.9,222.583,-73.6937],[4362.01,997.365,51.4333,219.925,-73.3576],[4331.45,1098.5,50.95,217.137,-72.9979],[4300.65,1198.13,50.4667,214.314,-72.6259],[4268.52,1299.61,49.9667,211.355,-72.2273],[4236.14,1399.45,49.4667,208.36,-71.8141],[4203.5,1497.61,48.9667,205.329,-71.3853],[4169.51,1597.27,48.45,202.159,-70.9251],[4134.13,1698.22,47.9167,198.848,-70.4305],[4098.47,1797.18,47.3833,195.499,-69.915],[4061.4,1897.12,46.8333,192.006,-69.36],[4022.9,1997.81,46.2667,188.369,-68.7617]]], - [71,3878.45,[[4842.65,-2001.45,64,278.566,-80.161],[4825.13,-1901.07,63.6333,277.169,-80.0334],[4807.47,-1801.24,63.2667,275.752,-79.9036],[4789.68,-1701.96,62.9,274.314,-79.7714],[4771.76,-1603.25,62.5333,272.856,-79.6368],[4752.87,-1500.66,62.15,271.309,-79.4934],[4734.67,-1403.13,61.7833,269.808,-79.3536],[4715.49,-1301.79,61.4,268.217,-79.2046],[4696.16,-1201.11,61.0167,266.602,-79.0527],[4676.68,-1101.09,60.6333,264.964,-78.8977],[4657.05,-1001.75,60.25,263.303,-78.7395],[4637.27,-903.086,59.8667,261.618,-78.5781],[4616.46,-800.875,59.4667,259.835,-78.4061],[4596.37,-703.642,59.0833,258.102,-78.2378],[4575.25,-602.944,58.6833,256.268,-78.0583],[4553.96,-503.036,58.2833,254.408,-77.8747],[4532.51,-403.929,57.8833,252.521,-77.687],[4509.98,-301.558,57.4667,250.529,-77.487],[4487.28,-200.083,57.05,248.507,-77.282],[4465.32,-103.523,56.65,246.539,-77.0805],[4442.26,-3.8436,56.2333,244.462,-76.8655],[4418.1,98.8289,55.8,242.27,-76.6362],[4394.68,196.583,55.3833,240.134,-76.41],[4370.14,297.223,54.95,237.881,-76.1685],[4345.4,396.804,54.5167,235.597,-75.9205],[4319.51,499.076,54.0667,233.193,-75.6556],[4294.38,596.449,53.6333,230.846,-75.3933],[4268.09,696.394,53.1833,228.376,-75.113],[4240.6,798.761,52.7167,225.78,-74.8134],[4212.89,899.804,52.25,223.149,-74.5043],[4184.97,999.504,51.7833,220.482,-74.1853],[4156.82,1097.84,51.3167,217.78,-73.8559],[4127.44,1198.23,50.8333,214.946,-73.5031],[4097.83,1297.11,50.35,212.075,-73.138],[4066.95,1397.8,49.85,209.068,-72.7467],[4035.83,1496.82,49.35,206.022,-72.3406],[4003.41,1597.37,48.8333,202.836,-71.9046],[3969.67,1699.25,48.3,199.507,-71.4361],[3935.67,1799.16,47.7667,196.137,-70.9478],[3901.39,1897.06,47.2333,192.729,-70.4381],[3864.68,1998.85,46.6667,189.066,-69.8719]]], - [72,3921.54,[[4626.54,-2004.39,64.3,278.994,-80.6561],[4609.87,-1903.71,63.9333,277.599,-80.5352],[4593.07,-1803.57,63.5667,276.183,-80.412],[4576.14,-1703.98,63.2,274.746,-80.2866],[4558.3,-1600.46,62.8167,273.222,-80.153],[4541.11,-1502.03,62.45,271.743,-80.0229],[4523.78,-1404.18,62.0833,270.243,-79.8902],[4505.53,-1302.5,61.7,268.651,-79.7489],[4487.14,-1201.47,61.3167,267.037,-79.6048],[4468.6,-1101.11,60.9333,265.399,-79.4577],[4449.91,-1001.41,60.55,263.737,-79.3077],[4431.09,-902.391,60.1667,262.052,-79.1546],[4412.12,-804.064,59.7833,260.342,-78.9983],[4392.17,-702.208,59.3833,258.533,-78.8317],[4372.06,-601.125,58.9833,256.698,-78.6615],[4351.8,-500.828,58.5833,254.836,-78.4874],[4331.38,-401.329,58.1833,252.947,-78.3093],[4310.81,-302.638,57.7833,251.032,-78.1272],[4289.2,-200.709,57.3667,249.009,-77.933],[4268.31,-103.708,56.9667,247.039,-77.742],[4246.37,-3.56444,56.55,244.959,-77.5383],[4223.38,99.5965,56.1167,242.764,-77.321],[4201.09,197.825,55.7,240.623,-77.1066],[4177.74,298.965,55.2667,238.367,-76.8778],[4154.2,399.051,54.8333,236.078,-76.6427],[4130.48,498.067,54.4,233.758,-76.4011],[4105.65,599.742,53.95,231.315,-76.143],[4081.56,696.529,53.5167,228.93,-75.8873],[4055.41,799.51,53.05,226.327,-75.6037],[4029.99,897.567,52.6,223.782,-75.3216],[4003.43,997.943,52.1333,221.108,-75.0199],[3976.65,1096.96,51.6667,218.398,-74.7084],[3948.71,1198.07,51.1833,215.554,-74.3747],[3920.54,1297.68,50.7,212.672,-74.0294],[3891.17,1399.12,50.2,209.652,-73.6592],[3861.56,1498.9,49.7,206.593,-73.275],[3831.72,1597.02,49.2,203.495,-72.8762],[3799.64,1699.79,48.6667,200.148,-72.4335],[3768.31,1797.48,48.15,196.866,-71.9866],[3734.7,1899.42,47.6,193.331,-71.4903],[3700.81,1999.2,47.05,189.753,-70.9711]]], - [73,3962.66,[[4404.33,-2002.12,64.5667,279.33,-81.1465],[4388.51,-1901.18,64.2,277.935,-81.0319],[4372.57,-1800.77,63.8333,276.519,-80.9154],[4356.5,-1700.92,63.4667,275.083,-80.7966],[4340.31,-1601.62,63.1,273.625,-80.6757],[4323.99,-1502.89,62.7333,272.147,-80.5526],[4306.81,-1400.28,62.35,270.578,-80.4213],[4290.24,-1302.73,61.9833,269.056,-80.2934],[4272.78,-1201.38,61.6,267.441,-80.1571],[4255.19,-1100.69,61.2167,265.803,-80.018],[4237.47,-1000.66,60.8333,264.141,-79.876],[4219.6,-901.305,60.45,262.455,-79.7312],[4201.6,-802.638,60.0667,260.745,-79.5834],[4182.67,-700.424,59.6667,258.934,-79.4258],[4164.39,-603.192,59.2833,257.174,-79.2715],[4145.17,-502.496,58.8833,255.312,-79.107],[4125.8,-402.593,58.4833,253.422,-78.9387],[4106.28,-303.495,58.0833,251.506,-78.7666],[4085.79,-201.136,57.6667,249.481,-78.583],[4065.96,-103.718,57.2667,247.509,-78.4026],[4045.15,-3.13512,56.85,245.425,-78.2101],[4024.18,96.5211,56.4333,243.313,-78.0127],[4002.2,199.166,56,241.084,-77.802],[3980.9,296.889,55.5833,238.91,-77.5942],[3958.57,397.493,55.15,236.618,-77.3722],[3936.07,497.033,54.7167,234.294,-77.1441],[3912.52,599.259,54.2667,231.846,-76.9005],[3889.67,696.581,53.8333,229.456,-76.6591],[3865.75,796.47,53.3833,226.94,-76.401],[3840.76,898.771,52.9167,224.295,-76.125],[3815.56,999.744,52.45,221.612,-75.8401],[3790.17,1099.37,51.9833,218.893,-75.5459],[3764.57,1197.62,51.5167,216.138,-75.2419],[3737.86,1297.92,51.0333,213.246,-74.9161],[3710.94,1396.7,50.55,210.316,-74.5788],[3682.87,1497.27,50.05,207.245,-74.2168],[3653.63,1599.45,49.5333,204.029,-73.8282],[3624.16,1699.81,49.0167,200.772,-73.4239],[3594.45,1798.34,48.5,197.473,-73.0028],[3563.55,1898.09,47.9667,194.026,-72.5495],[3531.42,1998.85,47.4167,190.427,-72.0608]]], - [74,4001.76,[[4177.64,-2003.88,64.8333,279.702,-81.6433],[4162.68,-1902.66,64.4667,278.308,-81.5353],[4147.61,-1801.99,64.1,276.893,-81.4253],[4132.41,-1701.86,63.7333,275.457,-81.3133],[4117.1,-1602.28,63.3667,274,-81.1993],[4101.68,-1503.27,63,272.522,-81.0831],[4085.42,-1400.36,62.6167,270.954,-80.9594],[4069.76,-1302.53,62.25,269.432,-80.8388],[4053.25,-1200.87,61.8667,267.817,-80.7102],[4037.35,-1104.25,61.5,266.25,-80.5848],[4020.59,-1003.88,61.1167,264.589,-80.4511],[4003.71,-904.179,60.7333,262.903,-80.3146],[3985.95,-800.875,60.3333,261.117,-80.1693],[3968.79,-702.582,59.95,259.382,-80.0269],[3950.76,-600.766,59.55,257.544,-79.8752],[3933.34,-503.921,59.1667,255.758,-79.7266],[3915.02,-403.638,58.7667,253.868,-79.568],[3895.8,-300.027,58.35,251.869,-79.399],[3877.2,-201.391,57.95,249.923,-79.2329],[3858.46,-103.579,57.55,247.949,-79.0629],[3838.78,-2.58149,57.1333,245.863,-78.8815],[3818.95,97.4938,56.7167,243.747,-78.6956],[3798.97,196.633,56.3,241.601,-78.5049],[3778.02,298.731,55.8667,239.337,-78.3013],[3756.91,399.785,55.4333,237.041,-78.0922],[3735.64,499.781,55,234.711,-77.8773],[3714.2,598.702,54.5667,232.349,-77.6564],[3692.59,696.532,54.1333,229.954,-77.4291],[3669.99,796.953,53.6833,227.433,-77.1862],[3646.36,899.813,53.2167,224.78,-76.9264],[3623.39,997.747,52.7667,222.187,-76.668],[3599.39,1097.99,52.3,219.461,-76.3914],[3575.21,1196.87,51.8333,216.698,-76.1056],[3549.96,1297.82,51.35,213.796,-75.7993],[3524.51,1397.27,50.8667,210.856,-75.4821],[3497.98,1498.53,50.3667,207.773,-75.1417],[3471.24,1598.14,49.8667,204.648,-74.7883],[3443.39,1699.29,49.35,201.377,-74.4085],[3415.32,1798.62,48.8333,198.063,-74.013],[3386.11,1899.21,48.3,194.598,-73.5871],[3356.68,1997.79,47.7667,191.09,-73.1423]]], - [75,4038.82,[[3945.23,-2000.48,65.0667,279.983,-82.1369],[3931.77,-1903.63,64.7167,278.652,-82.04],[3917.57,-1802.7,64.35,277.238,-81.9366],[3903.26,-1702.31,63.9833,275.803,-81.8314],[3888.84,-1602.48,63.6167,274.346,-81.7243],[3874.31,-1503.2,63.25,272.868,-81.6152],[3859,-1400.02,62.8667,271.3,-81.4989],[3844.24,-1301.91,62.5,269.778,-81.3856],[3829.37,-1204.39,62.1333,268.234,-81.2701],[3813.7,-1103.07,61.75,266.596,-81.147],[3797.92,-1002.41,61.3667,264.934,-81.0213],[3782.01,-902.413,60.9833,263.247,-80.8931],[3765.98,-803.1,60.6,261.536,-80.7622],[3749.12,-700.204,60.2,259.724,-80.6227],[3732.84,-602.31,59.8167,257.962,-80.4862],[3715.72,-500.917,59.4167,256.097,-80.3405],[3698.47,-400.308,59.0167,254.204,-80.1916],[3681.08,-300.497,58.6167,252.284,-80.0392],[3663.56,-201.494,58.2167,250.336,-79.8833],[3645.91,-103.312,57.8167,248.36,-79.7237],[3627.38,-1.92478,57.4,246.271,-79.5535],[3608.71,98.5447,56.9833,244.153,-79.3789],[3589.89,198.083,56.5667,242.004,-79.1999],[3570.92,296.675,56.15,239.824,-79.0163],[3551.05,398.194,55.7167,237.524,-78.8202],[3531.02,498.659,55.2833,235.191,-78.6187],[3510.83,598.054,54.85,232.825,-78.4115],[3490.49,696.363,54.4167,230.425,-78.1984],[3469.2,797.288,53.9667,227.898,-77.9705],[3447.75,897.006,53.5167,225.335,-77.7358],[3425.32,999.125,53.05,222.64,-77.4846],[3402.72,1099.91,52.5833,219.906,-77.2251],[3379.95,1199.33,52.1167,217.134,-76.957],[3356.99,1297.38,51.65,214.323,-76.6799],[3333.04,1397.45,51.1667,211.373,-76.3827],[3308.06,1499.38,50.6667,208.279,-76.0638],[3282.88,1599.65,50.1667,205.142,-75.7327],[3257.51,1698.24,49.6667,201.964,-75.3885],[3231.08,1798.33,49.15,198.636,-75.0183],[3203.59,1899.71,48.6167,195.155,-74.6198],[3175.88,1999.09,48.0833,191.628,-74.2033]]], - [76,4073.74,[[3708.54,-2001.22,65.3,280.299,-82.6373],[3695.93,-1904.15,64.95,278.969,-82.5466],[3682.61,-1802.98,64.5833,277.555,-82.4499],[3669.19,-1702.35,64.2167,276.121,-82.3515],[3655.66,-1602.27,63.85,274.664,-82.2513],[3642.03,-1502.75,63.4833,273.187,-82.1491],[3628.3,-1403.79,63.1167,271.687,-82.0452],[3613.83,-1300.95,62.7333,270.096,-81.9343],[3599.89,-1203.17,62.3667,268.552,-81.8263],[3585.2,-1101.58,61.9833,266.914,-81.7111],[3570.39,-1000.65,61.6,265.251,-81.5936],[3555.47,-900.381,61.2167,263.563,-81.4736],[3540.44,-800.79,60.8333,261.851,-81.3511],[3525.29,-701.885,60.45,260.113,-81.2261],[3510.03,-603.677,60.0667,258.351,-81.0985],[3493.97,-501.951,59.6667,256.485,-80.9623],[3477.8,-401.007,59.2667,254.591,-80.8231],[3461.5,-300.856,58.8667,252.669,-80.6806],[3445.07,-201.51,58.4667,250.72,-80.5349],[3428.52,-102.981,58.0667,248.742,-80.3857],[3411.14,-1.22861,57.65,246.651,-80.2266],[3393.63,99.6105,57.2333,244.53,-80.0634],[3375.99,199.522,56.8167,242.378,-79.8961],[3358.2,298.492,56.4,240.194,-79.7244],[3340.29,396.507,55.9833,237.98,-79.5482],[3321.51,497.414,55.55,235.644,-79.36],[3302.58,597.256,55.1167,233.274,-79.1666],[3282.78,699.794,54.6667,230.777,-78.9598],[3263.56,797.417,54.2333,228.338,-78.7548],[3243.45,897.615,53.7833,225.769,-78.5355],[3223.18,996.594,53.3333,223.164,-78.3095],[3202,1097.93,52.8667,220.424,-78.0675],[3180.65,1197.92,52.4,217.645,-77.8174],[3159.13,1296.54,51.9333,214.828,-77.5588],[3136.68,1397.21,51.45,211.869,-77.2815],[3113.27,1499.75,50.95,208.764,-76.9841],[3090.46,1597.32,50.4667,205.722,-76.6856],[3065.88,1699.88,49.95,202.425,-76.354],[3041.92,1797.41,49.45,199.191,-76.0199],[3016.15,1899.55,48.9167,195.696,-75.6484],[2990.18,1999.69,48.3833,192.153,-75.2603]]], - [77,4106.49,[[3467.09,-2001.53,65.5167,280.588,-83.1401],[3455.32,-1904.25,65.1667,279.259,-83.0556],[3442.89,-1802.86,64.8,277.846,-82.9656],[3430.37,-1702.01,64.4333,276.411,-82.874],[3417.75,-1601.71,64.0667,274.955,-82.7806],[3405.03,-1501.95,63.7,273.478,-82.6856],[3392.22,-1402.77,63.3333,271.978,-82.5888],[3379.31,-1304.15,62.9667,270.457,-82.4901],[3365.71,-1201.67,62.5833,268.842,-82.385],[3352.6,-1104.24,62.2167,267.275,-82.2824],[3338.79,-1003.03,61.8333,265.612,-82.1731],[3324.87,-902.478,61.45,263.925,-82.0615],[3310.85,-802.6,61.0667,262.212,-81.9475],[3296.72,-703.404,60.6833,260.474,-81.8313],[3281.86,-600.635,60.2833,258.634,-81.7073],[3267.51,-502.867,59.9,256.845,-81.5859],[3252.42,-401.61,59.5,254.95,-81.4564],[3237.21,-301.142,59.1,253.027,-81.3239],[3221.89,-201.475,58.7,251.076,-81.1883],[3206.44,-102.622,58.3,249.096,-81.0496],[3190.24,-0.528072,57.8833,247.003,-80.9015],[3174.56,96.6264,57.4833,244.965,-80.7559],[3158.1,196.924,57.0667,242.811,-80.6003],[3141.52,296.285,56.65,240.626,-80.4408],[3124.13,398.611,56.2167,238.319,-80.2705],[3106.62,499.892,55.7833,235.979,-80.0954],[3089.64,596.278,55.3667,233.696,-79.9224],[3071.17,699.257,54.9167,231.195,-79.7303],[3053.24,797.309,54.4833,228.752,-79.5398],[3034.48,897.958,54.0333,226.178,-79.336],[3015.58,997.392,53.5833,223.567,-79.1259],[2995.82,1099.21,53.1167,220.82,-78.901],[2975.91,1199.68,52.65,218.034,-78.6685],[2955.85,1298.78,52.1833,215.208,-78.4282],[2934.9,1399.96,51.7,212.239,-78.1705],[2913.79,1499.63,51.2167,209.229,-77.9034],[2892.52,1597.77,50.7333,206.177,-77.6263],[2870.35,1697.66,50.2333,202.976,-77.3285],[2847.26,1799.1,49.7167,199.622,-77.0082],[2823.98,1898.7,49.2,196.222,-76.6743],[2799.77,1999.57,48.6667,192.664,-76.3143]]], - [78,4137.04,[[3221.04,-2001.44,65.7167,280.851,-83.6457],[3210.12,-1903.97,65.3667,279.522,-83.5675],[3198.59,-1802.38,65,278.109,-83.4841],[3186.98,-1701.32,64.6333,276.675,-83.3993],[3175.27,-1600.8,64.2667,275.219,-83.3129],[3163.48,-1500.84,63.9,273.741,-83.2249],[3151.59,-1401.44,63.5333,272.242,-83.1353],[3139.62,-1302.61,63.1667,270.72,-83.044],[3127.56,-1204.35,62.8,269.175,-82.9509],[3114.85,-1102.25,62.4167,267.537,-82.8516],[3102.04,-1000.81,62.0333,265.873,-82.7505],[3089.13,-900.02,61.65,264.185,-82.6471],[3076.69,-804.243,61.2833,262.546,-82.5464],[3063.01,-700.469,60.8833,260.732,-82.434],[3049.8,-601.724,60.5,258.967,-82.3241],[3036.5,-503.679,60.1167,257.177,-82.2118],[3022.5,-402.13,59.7167,255.281,-82.092],[3008.4,-301.367,59.3167,253.357,-81.9695],[2994.19,-201.403,58.9167,251.404,-81.8441],[2979.88,-102.248,58.5167,249.423,-81.7157],[2965.45,-3.91641,58.1167,247.412,-81.5843],[2950.3,97.6251,57.7,245.287,-81.4441],[2935.04,198.247,57.2833,243.131,-81.3003],[2919.66,297.936,56.8667,240.942,-81.1527],[2904.17,396.676,56.45,238.722,-81.0013],[2887.93,498.346,56.0167,236.378,-80.8395],[2871.56,598.96,55.5833,234,-80.6732],[2855.06,698.502,55.15,231.588,-80.5022],[2838.44,796.955,54.7167,229.14,-80.3261],[2821.05,898.025,54.2667,226.562,-80.1378],[2803.52,997.885,53.8167,223.945,-79.9437],[2785.86,1096.52,53.3667,221.291,-79.7434],[2767.41,1197.49,52.9,218.5,-79.5289],[2748.8,1297.1,52.4333,215.667,-79.3071],[2729.39,1398.81,51.95,212.692,-79.0692],[2709.82,1499.01,51.4667,209.673,-78.8226],[2690.11,1597.69,50.9833,206.612,-78.5668],[2669.55,1698.14,50.4833,203.401,-78.2919],[2648.84,1796.91,49.9833,200.144,-78.006],[2627.27,1897.17,49.4667,196.733,-77.6981],[2604.82,1998.72,48.9333,193.161,-77.3663]]], - [79,4165.31,[[2970.58,-2001.03,65.9,281.088,-84.1543],[2960.53,-1903.38,65.55,279.759,-84.0825],[2949.91,-1801.6,65.1833,278.347,-84.0058],[2939.21,-1700.36,64.8167,276.913,-83.9278],[2928.93,-1604.22,64.4667,275.523,-83.8521],[2918.07,-1504.04,64.1,274.046,-83.7712],[2907.12,-1404.41,63.7333,272.547,-83.6889],[2895.6,-1300.87,63.35,270.956,-83.6011],[2884.48,-1202.41,62.9833,269.411,-83.5155],[2872.78,-1100.1,62.6,267.772,-83.4243],[2861.49,-1002.85,62.2333,266.181,-83.3354],[2849.61,-901.822,61.85,264.492,-83.2404],[2837.63,-801.458,61.4667,262.778,-83.1436],[2825.56,-701.773,61.0833,261.039,-83.0447],[2813.4,-602.775,60.7,259.273,-82.9437],[2800.61,-500.217,60.3,257.404,-82.836],[2788.26,-402.657,59.9167,255.586,-82.7305],[2775.28,-301.622,59.5167,253.66,-82.6179],[2762.19,-201.381,59.1167,251.706,-82.5027],[2749.01,-101.948,58.7167,249.723,-82.3848],[2735.72,-3.33479,58.3167,247.711,-82.2641],[2721.78,98.5033,57.9,245.583,-82.1353],[2707.72,199.425,57.4833,243.424,-82.0032],[2693.56,299.417,57.0667,241.233,-81.8676],[2679.29,398.464,56.65,239.009,-81.7285],[2664.91,496.553,56.2333,236.753,-81.5857],[2649.84,597.533,55.8,234.372,-81.4331],[2634.66,697.444,55.3667,231.956,-81.2761],[2619.36,796.272,54.9333,229.505,-81.1146],[2603.34,897.735,54.4833,226.922,-80.9417],[2587.21,997.993,54.0333,224.301,-80.7636],[2570.95,1097.03,53.5833,221.641,-80.5798],[2553.95,1198.42,53.1167,218.843,-80.3829],[2536.83,1298.45,52.65,216.004,-80.1793],[2519.57,1397.11,52.1833,213.124,-79.9686],[2501.56,1497.82,51.7,210.098,-79.7425],[2483.41,1597,51.2167,207.029,-79.508],[2464.49,1697.98,50.7167,203.809,-79.256],[2445.42,1797.29,50.2167,200.542,-78.9939],[2425.57,1898.11,49.7,197.118,-78.7116],[2405.56,1997.09,49.1833,193.647,-78.417]]], - [80,4191.31,[[2715.93,-2000.28,66.0667,281.3,-84.6665],[2706.75,-1902.47,65.7167,279.971,-84.6009],[2697.06,-1800.52,65.35,278.559,-84.5311],[2687.73,-1703.7,65,277.19,-84.4632],[2677.89,-1602.8,64.6333,275.735,-84.3908],[2667.97,-1502.44,64.2667,274.258,-84.3171],[2657.98,-1402.64,63.9,272.758,-84.242],[2647.91,-1303.41,63.5333,271.236,-84.1654],[2637.3,-1200.27,63.15,269.621,-84.0839],[2627.07,-1102.22,62.7833,268.053,-84.0044],[2616.3,-1000.34,62.4,266.389,-83.9196],[2605.92,-903.497,62.0333,264.773,-83.8368],[2594.98,-802.907,61.65,263.059,-83.7486],[2583.96,-702.991,61.2667,261.319,-83.6585],[2572.85,-603.761,60.8833,259.553,-83.5665],[2561.18,-500.958,60.4833,257.683,-83.4684],[2549.9,-403.16,60.1,255.864,-83.3722],[2538.04,-301.875,59.7,253.938,-83.2696],[2526.09,-201.381,59.3,251.982,-83.1647],[2514.05,-101.692,58.9,249.997,-83.0573],[2501.92,-2.81977,58.5,247.983,-82.9473],[2489.19,99.2908,58.0833,245.854,-82.8299],[2476.87,196.458,57.6833,243.779,-82.7144],[2463.94,296.765,57.2667,241.586,-82.591],[2450.91,396.132,56.85,239.361,-82.4644],[2437.26,498.46,56.4167,237.012,-82.3291],[2423.5,599.739,55.9833,234.627,-82.19],[2409.63,699.952,55.55,232.207,-82.047],[2395.66,799.085,55.1167,229.751,-81.8998],[2381.58,897.12,54.6833,227.259,-81.7482],[2366.85,997.746,54.2333,224.633,-81.5861],[2352,1097.15,53.7833,221.969,-81.4188],[2336.49,1198.93,53.3167,219.165,-81.2395],[2320.85,1299.36,52.85,216.32,-81.0542],[2305.1,1398.42,52.3833,213.433,-80.8624],[2288.65,1499.54,51.9,210.4,-80.6566],[2272.08,1599.15,51.4167,207.322,-80.4431],[2255.38,1697.22,50.9333,204.2,-80.2214],[2237.98,1797.02,50.4333,200.924,-79.983],[2219.85,1898.37,49.9167,197.49,-79.7263],[2201.59,1997.87,49.4,194.007,-79.4584]]], - [81,4214.95,[[2457.71,-2003.94,66.2333,281.549,-85.1852],[2449.02,-1901.32,65.8667,280.158,-85.1232],[2440.65,-1803.85,65.5167,278.81,-85.063],[2431.82,-1702.25,65.15,277.376,-84.9989],[2422.92,-1601.19,64.7833,275.921,-84.9335],[2413.95,-1500.68,64.4167,274.443,-84.8669],[2404.92,-1400.72,64.05,272.944,-84.7991],[2395.81,-1301.32,63.6833,271.421,-84.73],[2386.64,-1202.49,63.3167,269.876,-84.6597],[2377.4,-1104.25,62.95,268.308,-84.5879],[2367.66,-1002.16,62.5667,266.644,-84.5114],[2357.85,-900.731,62.1833,264.954,-84.4333],[2348.39,-804.33,61.8167,263.314,-84.3572],[2338.43,-704.206,61.4333,261.574,-84.2758],[2327.95,-600.456,61.0333,259.73,-84.1891],[2317.84,-501.738,60.65,257.936,-84.1042],[2307.64,-403.724,60.2667,256.116,-84.0175],[2296.93,-302.21,59.8667,254.189,-83.925],[2286.13,-201.486,59.4667,252.232,-83.8304],[2275.24,-101.563,59.0667,250.246,-83.7335],[2264.28,-2.45501,58.6667,248.23,-83.6343],[2252.77,99.9039,58.25,246.099,-83.5283],[2241.63,197.312,57.85,244.022,-83.4242],[2229.94,297.873,57.4333,241.827,-83.3128],[2218.17,397.496,57.0167,239.598,-83.1986],[2206.3,496.167,56.6,237.337,-83.0813],[2193.87,597.759,56.1667,234.95,-82.956],[2181.34,698.289,55.7333,232.528,-82.8271],[2168.71,797.742,55.3,230.069,-82.6944],[2155.49,899.861,54.85,227.477,-82.5525],[2142.67,997.066,54.4167,224.944,-82.4117],[2129.25,1096.82,53.9667,222.276,-82.2609],[2115.23,1198.96,53.5,219.467,-82.0994],[2101.1,1299.75,53.0333,216.616,-81.9323],[2086.86,1399.17,52.5667,213.723,-81.7595],[2072.51,1497.21,52.1,210.788,-81.5805],[2057.54,1597.26,51.6167,207.704,-81.3883],[2041.93,1699.14,51.1167,204.466,-81.1817],[2026.2,1799.35,50.6167,201.181,-80.9668],[2010.35,1897.87,50.1167,197.848,-80.743],[1993.84,1997.87,49.6,194.355,-80.5017]]], - [82,4236.22,[[2195.32,-2002.7,66.3667,281.711,-85.7048],[2187.91,-1904.6,66.0167,280.384,-85.6521],[2180.09,-1802.34,65.65,278.972,-85.5958],[2172.2,-1700.61,65.2833,277.538,-85.5386],[2164.62,-1604,64.9333,276.149,-85.4829],[2156.62,-1503.32,64.5667,274.672,-85.4237],[2148.55,-1403.19,64.2,273.173,-85.3633],[2140.43,-1303.62,63.8333,271.651,-85.3017],[2131.86,-1200.14,63.45,270.035,-85.2361],[2123.61,-1101.75,63.0833,268.466,-85.1721],[2115.3,-1003.94,62.7167,266.874,-85.1069],[2106.54,-902.323,62.3333,265.184,-85.0373],[2097.71,-801.368,61.95,263.469,-84.9663],[2088.82,-701.083,61.5667,261.727,-84.8939],[2079.86,-601.48,61.1833,259.959,-84.8198],[2070.83,-502.568,60.8,258.165,-84.7441],[2061.33,-400.105,60.4,256.264,-84.6635],[2052.16,-302.638,60.0167,254.416,-84.5844],[2042.52,-201.706,59.6167,252.458,-84.5001],[2032.81,-101.573,59.2167,250.471,-84.4137],[2023.02,-2.25116,58.8167,248.453,-84.3253],[2013.16,96.2463,58.4167,246.406,-84.2348],[2002.81,197.958,58,244.241,-84.1381],[1992.37,298.749,57.5833,242.044,-84.0389],[1981.86,398.603,57.1667,239.813,-83.9372],[1971.27,497.508,56.75,237.549,-83.8327],[1960.17,599.346,56.3167,235.159,-83.721],[1949.42,696.269,55.9,232.826,-83.6106],[1937.71,799.829,55.45,230.27,-83.4879],[1926.35,898.441,55.0167,227.77,-83.3662],[1914.47,999.673,54.5667,225.136,-83.2359],[1902.49,1099.69,54.1167,222.463,-83.1016],[1890.42,1198.48,53.6667,219.749,-82.9628],[1877.81,1299.6,53.2,216.893,-82.8141],[1865.11,1399.36,52.7333,213.995,-82.6602],[1852.3,1497.74,52.2667,211.054,-82.5009],[1838.94,1598.14,51.7833,207.963,-82.3298],[1825.47,1697.02,51.3,204.827,-82.1522],[1811.44,1797.66,50.8,201.535,-81.9611],[1796.82,1899.89,50.2833,198.082,-81.7553],[1782.56,1997.07,49.7833,194.692,-81.5476]]], - [83,4255.08,[[1929.48,-2001.25,66.4833,281.85,-86.2284],[1922.97,-1903.04,66.1333,280.522,-86.1821],[1916.09,-1800.66,65.7667,279.11,-86.1328],[1909.48,-1703.43,65.4167,277.741,-86.0849],[1902.5,-1602.08,65.05,276.286,-86.0337],[1895.47,-1501.28,64.6833,274.809,-85.9817],[1888.38,-1401.03,64.3167,273.309,-85.9286],[1881.24,-1301.34,63.95,271.786,-85.8745],[1874.05,-1202.21,63.5833,270.24,-85.8195],[1866.8,-1103.66,63.2167,268.672,-85.7634],[1859.16,-1001.26,62.8333,267.007,-85.7036],[1851.8,-903.92,62.4667,265.39,-85.6452],[1844.05,-802.798,62.0833,263.674,-85.5829],[1836.24,-702.345,61.7,261.932,-85.5193],[1828.36,-602.571,61.3167,260.164,-85.4543],[1820.43,-503.486,60.9333,258.369,-85.388],[1812.09,-400.84,60.5333,256.468,-85.3173],[1804.03,-303.197,60.15,254.619,-85.2479],[1795.57,-202.078,59.75,252.66,-85.174],[1787.03,-101.757,59.35,250.671,-85.0982],[1778.43,-2.24511,58.95,248.653,-85.0207],[1769.77,96.4447,58.55,246.604,-84.9413],[1760.67,198.359,58.1333,244.437,-84.8565],[1751.51,299.354,57.7167,242.238,-84.7695],[1742.28,399.416,57.3,240.005,-84.6802],[1732.97,498.53,56.8833,237.738,-84.5886],[1723.59,596.682,56.4667,235.438,-84.4945],[1713.77,697.724,56.0333,233.01,-84.3938],[1703.87,797.694,55.6,230.545,-84.2902],[1693.89,896.575,55.1667,228.044,-84.1836],[1683.46,998.09,54.7167,225.407,-84.0694],[1672.94,1098.39,54.2667,222.73,-83.9517],[1662.34,1197.47,53.8167,220.013,-83.8302],[1651.26,1298.9,53.35,217.153,-83.6999],[1640.1,1398.96,52.8833,214.25,-83.565],[1628.85,1497.65,52.4167,211.304,-83.4254],[1617.12,1598.38,51.9333,208.208,-83.2755],[1605.29,1697.58,51.45,205.065,-83.1198],[1592.96,1798.56,50.95,201.766,-82.9523],[1580.54,1897.86,50.45,198.417,-82.778],[1567.6,1998.68,49.9333,194.906,-82.59]]], - [84,4271.49,[[1660.73,-2004.33,66.6,282.027,-86.7582],[1654.86,-1901.33,66.2333,280.636,-86.7165],[1649.22,-1803.49,65.8833,279.288,-86.676],[1643.26,-1701.51,65.5167,277.855,-86.6327],[1637.25,-1600.06,65.15,276.399,-86.5888],[1631.48,-1503.73,64.8,274.989,-86.5461],[1625.38,-1403.35,64.4333,273.489,-86.5004],[1619.24,-1303.52,64.0667,271.967,-86.4541],[1613.05,-1204.26,63.7,270.422,-86.4067],[1606.52,-1101.11,63.3167,268.781,-86.3564],[1600.24,-1003.03,62.95,267.188,-86.3071],[1593.62,-901.134,62.5667,265.497,-86.2547],[1587.24,-804.282,62.2,263.856,-86.2035],[1580.52,-703.68,61.8167,262.114,-86.1488],[1573.74,-603.755,61.4333,260.345,-86.093],[1566.62,-500.22,61.0333,258.471,-86.0336],[1559.74,-401.713,60.65,256.648,-85.9753],[1552.81,-303.915,60.2667,254.798,-85.9157],[1545.53,-202.632,59.8667,252.838,-85.8522],[1538.18,-102.145,59.4667,250.849,-85.7871],[1530.79,-2.46524,59.0667,248.829,-85.7205],[1523.33,96.3938,58.6667,246.779,-85.6523],[1515.51,198.487,58.25,244.611,-85.5795],[1507.62,299.662,57.8333,242.41,-85.5047],[1499.68,399.906,57.4167,240.175,-85.428],[1491.67,499.204,57,237.906,-85.3493],[1483.6,597.541,56.5833,235.603,-85.2684],[1475.15,698.779,56.15,233.173,-85.1819],[1466.63,798.946,55.7167,230.705,-85.0929],[1458.05,898.027,55.2833,228.2,-85.0013],[1449.07,999.751,54.8333,225.56,-84.9032],[1440.36,1096.57,54.4,222.979,-84.8058],[1430.9,1199.56,53.9333,220.158,-84.6975],[1421.71,1297.6,53.4833,217.396,-84.5897],[1412.11,1397.94,53.0167,214.489,-84.474],[1402.44,1496.9,52.55,211.539,-84.3541],[1392.34,1597.92,52.0667,208.438,-84.2254],[1382.17,1697.41,51.5833,205.29,-84.0919],[1371.56,1798.71,51.0833,201.984,-83.9481],[1360.87,1898.32,50.5833,198.629,-83.7984],[1349.75,1999.46,50.0667,195.11,-83.637]]], - [85,4285.43,[[1388.83,-2002.56,66.6833,282.118,-87.2897],[1384.14,-1904.15,66.3333,280.791,-87.2565],[1379.2,-1801.56,65.9667,279.379,-87.221],[1374.44,-1704.12,65.6167,278.011,-87.1867],[1369.42,-1602.56,65.25,276.556,-87.1498],[1364.36,-1501.54,64.8833,275.078,-87.1125],[1359.26,-1401.07,64.5167,273.578,-87.0744],[1354.12,-1301.15,64.15,272.055,-87.0356],[1348.94,-1201.81,63.7833,270.509,-86.9961],[1343.73,-1103.03,63.4167,268.939,-86.9558],[1338.23,-1000.39,63.0333,267.274,-86.9127],[1332.93,-902.815,62.6667,265.656,-86.8708],[1327.35,-801.447,62.2833,263.939,-86.8261],[1321.73,-700.746,61.9,262.196,-86.7805],[1316.07,-600.721,61.5167,260.426,-86.7338],[1310.36,-501.384,61.1333,258.629,-86.6861],[1304.6,-402.744,60.75,256.805,-86.6375],[1298.56,-300.57,60.35,254.874,-86.5856],[1292.72,-203.387,59.9667,252.995,-86.5347],[1286.58,-102.757,59.5667,251.004,-86.4803],[1280.39,-2.93294,59.1667,248.984,-86.4247],[1274.16,96.0724,58.7667,246.932,-86.3677],[1267.61,198.319,58.35,244.763,-86.3069],[1261.02,299.65,57.9333,242.56,-86.2445],[1254.64,396.053,57.5333,240.414,-86.183],[1247.68,499.508,57.1,238.053,-86.1147],[1240.94,598.007,56.6833,235.749,-86.0471],[1233.87,699.413,56.25,233.316,-85.9748],[1226.74,799.751,55.8167,230.846,-85.9006],[1219.57,899.004,55.3833,228.338,-85.824],[1212.34,997.156,54.95,225.793,-85.7452],[1204.77,1097.9,54.5,223.111,-85.6608],[1197.15,1197.42,54.05,220.387,-85.5737],[1189.18,1299.31,53.5833,217.52,-85.4803],[1181.15,1399.85,53.1167,214.609,-85.3836],[1173.06,1499.01,52.65,211.654,-85.2835],[1164.91,1596.77,52.1833,208.655,-85.1798],[1156.11,1699.93,51.6833,205.394,-85.0644],[1147.54,1798.09,51.2,202.193,-84.9484],[1138.6,1897.97,50.7,198.832,-84.8234],[1129.3,1999.4,50.1833,195.307,-84.6888]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 1280.39; -_maxRange = 7396.34; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg0.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg0.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg1.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg1.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg2.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg2.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg3.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg3.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg4.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/120mm/tables/ace_arty_120mm_genericBtab_LA_chg4.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/155mm/CfgAmmo.hpp b/TO_MERGE/ace/arty_ammunition/155mm/CfgAmmo.hpp deleted file mode 100644 index 72e57f7cc8..0000000000 --- a/TO_MERGE/ace/arty_ammunition/155mm/CfgAmmo.hpp +++ /dev/null @@ -1,10 +0,0 @@ - -class Sh_125_SABOT; -class ace_arty_155mm_bonus_EFP : Sh_125_SABOT { - hit = 1000; - indirectHit = 11; - indirectHitRange = 2; - typicalSpeed = 2000; - deflecting = 0; - airFriction = -4e-005; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/155mm/CfgVehicles.hpp b/TO_MERGE/ace/arty_ammunition/155mm/CfgVehicles.hpp deleted file mode 100644 index 35539059ad..0000000000 --- a/TO_MERGE/ace/arty_ammunition/155mm/CfgVehicles.hpp +++ /dev/null @@ -1,8 +0,0 @@ - -class ace_arty_155mm_bonus_parachute : ACE_HuntIR { - class EventHandlers { - EXTENDED_EVENTHANDLERS - }; - SLX_XEH_DISABLED = 0; - model = QPATHTO_M(155mm\data\bonus.p3d); -}; diff --git a/TO_MERGE/ace/arty_ammunition/155mm/data/bonus.p3d b/TO_MERGE/ace/arty_ammunition/155mm/data/bonus.p3d deleted file mode 100644 index 021c6f9c64..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/155mm/data/bonus.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/CfgAmmo.hpp b/TO_MERGE/ace/arty_ammunition/60mm/CfgAmmo.hpp deleted file mode 100644 index b5549e6a58..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/CfgAmmo.hpp +++ /dev/null @@ -1,96 +0,0 @@ -class GrenadeBase; -class ace_arty_howitzer_60mm_base: GrenadeBase { - whistleDist = 1500; - deflecting = 0; -}; - -class ace_arty_60mm_m720a1_m734_pd: ace_arty_howitzer_60mm_base { - hit = 110; - indirecthit = 20; - indirecthitrange = 9; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m720a1_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = "GrenadeCrater"; - ExplosionEffects = "GrenadeExplosion"; - caliber = 6; -}; - -class ace_arty_60mm_m720a1_m734_prox: ace_arty_60mm_m720a1_m734_pd { - CraterEffects = ""; - ExplosionEffects = ""; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m734\fuze_prox.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_60mm_m720a1_explosion"; -}; - -class ace_arty_60mm_m720a1_m734_delay: ace_arty_60mm_m720a1_m734_prox { - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m734\fuze_delay.sqf"; - soundHit[] = {"",0,1,0}; - ACE_FRAG_SKIP = 1; -}; -class ace_arty_60mm_m720a1_m734_nsb: ace_arty_60mm_m720a1_m734_prox { - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m734\fuze_nsb.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_60mm_m720a1_explosion"; -}; - -class ace_arty_60mm_m720a1_explosion : ace_arty_howitzer_60mm_base { - hit = 110; - indirecthit = 20; - indirecthitrange = 9; - explosionTime = 0.0001; - model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m720a1_shell.p3d"; // Add model or : No shape for ammo type ace_arty_105mm_m1_explosion - CraterEffects = "GrenadeCrater"; - ExplosionEffects = "GrenadeExplosion"; -}; - -class ace_arty_60mm_m720a1_delay_action: ace_arty_60mm_m720a1_m734_pd { - explosionTime = 0.05; - deflecting=65; -}; - -class ace_arty_60mm_m721_m776_time: ace_arty_howitzer_60mm_base { - hit = 0; - indirecthit = 0; - indirecthitrange = 0; - typicalSpeed = 300; - timeToLive = 500; - explosive = 0.01; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m721_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "GrenadeExplosion"; - caliber = 6; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 500; - ACE_ARTY_BASEEJECT_COMPENSATE = 0; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.25; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m776\fuze_time.sqf"; - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\60mm\eject_illum.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; -//TODO: Adjust WP effect, currently its the same for all smoke shells -class ace_arty_60mm_m722a1_m745_pd : ace_arty_howitzer_60mm_base { - hit = 110; - indirecthit = 15; - indirecthitrange = 5; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m722a1_shell.p3d"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "ace_arty_WPExplosion"; - caliber = 6; -}; - -class FlareBase; -class ace_arty_60mm_m721_m766_flare :FlareBase { - model="\ca\Weapons\granat"; - lightColor[] = {0.8, 0.8, 0.8, 0}; - deflecting=65; -}; diff --git a/TO_MERGE/ace/arty_ammunition/60mm/CfgMagazines.hpp b/TO_MERGE/ace/arty_ammunition/60mm/CfgMagazines.hpp deleted file mode 100644 index 016c7185f3..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/CfgMagazines.hpp +++ /dev/null @@ -1,143 +0,0 @@ -class ace_arty_60mm_default: ace_arty_howitzer_default { - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\60mm\tables\ace_arty_60mm_genericBtab_%1_chg%2.sqf"; // 1 = angle (LA/HA) 2 = chg# - ACE_ARTY_BTABS_KEY = "ace_arty_60mm_genericBtab_%1_chg%2"; - scope = 2; - ACE_Weight = 1.66; -}; - -class ace_arty_60mm_m720a1: ace_arty_60mm_default { - scope = 1; - type = 0; - displayName = "60mm M720A1 HE"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_60mm_m720a1_m734_%1_chg%2"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\60mm\data\images\m720_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\60mm\data\images\m720.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m720a1_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd", "prox", "nsb", "delay"}; - ACE_ARTY_FUZE_DESC[] = {"Impact Burst", "Proximity Burst", "Near-Surface Burst", "Delay"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_60mm_m720a1_m734_pd", "ace_arty_60mm_m720a1_m734_prox", "ace_arty_60mm_m720a1_m734_nsb", "ace_arty_60mm_m720a1_m734_delay"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "HE"; - ACE_Weight = 1.66; -}; -//IMP -class ace_arty_60mm_m720a1_m734_pd_chg0: ace_arty_howitzer_mag { - displayName = "60mm M720A1 IMP Chg. 0"; - ammo = "ace_arty_60mm_m720a1_m734_pd"; - initSpeed = 64; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_60mm_m720a1"; - ACE_Weight = 1.66; -}; - -/* -0- 64 -1- 126.492 -2- 170.688 -3- 207.264 -4- 246.888 -*/ -class ace_arty_60mm_m720a1_m734_pd_chg1: ace_arty_60mm_m720a1_m734_pd_chg0 { initSpeed = 124; displayName = "60mm M720A1 IMP Chg. 1"; }; -class ace_arty_60mm_m720a1_m734_pd_chg2: ace_arty_60mm_m720a1_m734_pd_chg0 { initSpeed = 160.16; displayName = "60mm M720A1 IMP Chg. 2"; }; -class ace_arty_60mm_m720a1_m734_pd_chg3: ace_arty_60mm_m720a1_m734_pd_chg0 { initSpeed = 180.92; displayName = "60mm M720A1 IMP Chg. 3"; }; -class ace_arty_60mm_m720a1_m734_pd_chg4: ace_arty_60mm_m720a1_m734_pd_chg0 { initSpeed = 207.264; displayName = "60mm M720A1 IMP Chg. 4"; }; -//PRX (3 - 13 feet / 1 - 4 m) -class ace_arty_60mm_m720a1_m734_prox_chg0: ace_arty_howitzer_mag { - displayName = "60mm M720A1 PRX Chg. 0"; - ammo = "ace_arty_60mm_m720a1_m734_prox"; - initSpeed = 64; - ACE_Weight = 1.66; -}; -class ace_arty_60mm_m720a1_m734_prox_chg1: ace_arty_60mm_m720a1_m734_prox_chg0 { initSpeed = 124; displayName = "60mm M720A1 PRX Chg. 1"; }; -class ace_arty_60mm_m720a1_m734_prox_chg2: ace_arty_60mm_m720a1_m734_prox_chg0 { initSpeed = 160.16; displayName = "60mm M720A1 PRX Chg. 2"; }; -class ace_arty_60mm_m720a1_m734_prox_chg3: ace_arty_60mm_m720a1_m734_prox_chg0 { initSpeed = 180.92; displayName = "60mm M720A1 PRX Chg. 3"; }; -class ace_arty_60mm_m720a1_m734_prox_chg4: ace_arty_60mm_m720a1_m734_prox_chg0 { initSpeed = 207.264; displayName = "60mm M720A1 PRX Chg. 4"; }; -// DLY -class ace_arty_60mm_m720a1_m734_delay_chg0: ace_arty_howitzer_mag { - displayName = "60mm M720A1 DLY Chg. 0"; - ammo = "ace_arty_60mm_m720a1_m734_delay"; - initSpeed = 64; - ACE_Weight = 1.66; -}; -class ace_arty_60mm_m720a1_m734_delay_chg1: ace_arty_60mm_m720a1_m734_delay_chg0 { initSpeed = 124; displayName = "60mm M720A1 DLY Chg. 1"; }; -class ace_arty_60mm_m720a1_m734_delay_chg2: ace_arty_60mm_m720a1_m734_delay_chg0 { initSpeed = 160.16; displayName = "60mm M720A1 DLY Chg. 2"; }; -class ace_arty_60mm_m720a1_m734_delay_chg3: ace_arty_60mm_m720a1_m734_delay_chg0 { initSpeed = 180.92; displayName = "60mm M720A1 DLY Chg. 3"; }; -class ace_arty_60mm_m720a1_m734_delay_chg4: ace_arty_60mm_m720a1_m734_delay_chg0 { initSpeed = 207.264; displayName = "60mm M720A1 DLY Chg. 4"; }; -// NSB (0-3 feet / 0 - 1 m) -class ace_arty_60mm_m720a1_m734_nsb_chg0: ace_arty_howitzer_mag { - displayName = "60mm M720A1 NSB Chg. 0"; - ammo = "ace_arty_60mm_m720a1_m734_nsb"; - initSpeed = 64; - ACE_Weight = 1.66; -}; -class ace_arty_60mm_m720a1_m734_nsb_chg1: ace_arty_60mm_m720a1_m734_nsb_chg0 { initSpeed = 124; displayName = "60mm M720A1 NSB Chg. 1"; }; -class ace_arty_60mm_m720a1_m734_nsb_chg2: ace_arty_60mm_m720a1_m734_nsb_chg0 { initSpeed = 160.16; displayName = "60mm M720A1 NSB Chg. 2"; }; -class ace_arty_60mm_m720a1_m734_nsb_chg3: ace_arty_60mm_m720a1_m734_nsb_chg0 { initSpeed = 180.92; displayName = "60mm M720A1 NSB Chg. 3"; }; -class ace_arty_60mm_m720a1_m734_nsb_chg4: ace_arty_60mm_m720a1_m734_nsb_chg0 { initSpeed = 207.264; displayName = "60mm M720A1 NSB Chg. 4"; }; - -// ILLUM -class ace_arty_60mm_m721: ace_arty_60mm_default { - scope = 1; - type = 0; - displayName = "60mm M721 Illumination"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_60mm_m721_m776_%1_chg%2"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\60mm\data\images\m14_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\60mm\data\images\M721.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m721_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_60mm_m721_m776_time"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "ILLUM"; - ACE_Weight = 1.71; -}; - -class ace_arty_60mm_m721_m776_time_chg0: ace_arty_howitzer_mag { - displayName = "60mm M721 M776 TIME Chg. 0"; - ammo = "ace_arty_60mm_m721_m776_time"; - initSpeed = 64; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_60mm_m721"; - ACE_Weight = 1.71; -}; -class ace_arty_60mm_m721_m776_time_chg1: ace_arty_60mm_m721_m776_time_chg0 { initSpeed = 124; displayName = "60mm M721 M776 TIME Chg. 1"; }; -class ace_arty_60mm_m721_m776_time_chg2: ace_arty_60mm_m721_m776_time_chg0 { initSpeed = 160.16; displayName = "60mm M721 M776 TIME Chg. 2"; }; -class ace_arty_60mm_m721_m776_time_chg3: ace_arty_60mm_m721_m776_time_chg0 { initSpeed = 180.92; displayName = "60mm M721 M776 TIME Chg. 3"; }; -class ace_arty_60mm_m721_m776_time_chg4: ace_arty_60mm_m721_m776_time_chg0 { initSpeed = 207.264; displayName = "60mm M721 M776 TIME Chg. 4"; }; - -// WP -class ace_arty_60mm_m722a1: ace_arty_60mm_default { - scope = 1; - type = 0; - displayName = "60mm M722A1 WP"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_60mm_m722a1_m745_%1_chg%2"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\60mm\data\images\m14_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\60mm\data\images\M722A1.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m722a1_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd"}; - ACE_ARTY_FUZE_DESC[] = {"Point Detonate"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_60mm_m722a1_m745_pd"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "WP"; - ACE_Weight = 1.68; -}; - -class ace_arty_60mm_m722a1_m745_pd_chg0: ace_arty_howitzer_mag { - displayName = "60mm M722A1 M745 PD Chg. 0"; - ammo = "ace_arty_60mm_m722a1_m745_pd"; - initSpeed = 64; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_60mm_m722a1_m745"; - ACE_Weight = 1.68; -}; -class ace_arty_60mm_m722a1_m745_pd_chg1: ace_arty_60mm_m722a1_m745_pd_chg0 { initSpeed = 124; displayName = "60mm M722A1 M745 PD Chg. 1"; }; -class ace_arty_60mm_m722a1_m745_pd_chg2: ace_arty_60mm_m722a1_m745_pd_chg0 { initSpeed = 160.16; displayName = "60mm M722A1 M745 PD Chg. 2"; }; -class ace_arty_60mm_m722a1_m745_pd_chg3: ace_arty_60mm_m722a1_m745_pd_chg0 { initSpeed = 180.92; displayName = "60mm M722A1 M745 PD Chg. 3"; }; -class ace_arty_60mm_m722a1_m745_pd_chg4: ace_arty_60mm_m722a1_m745_pd_chg0 { initSpeed = 207.264; displayName = "60mm M722A1 M745 PD Chg. 4"; }; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/60mm/CfgVehicles.hpp b/TO_MERGE/ace/arty_ammunition/60mm/CfgVehicles.hpp deleted file mode 100644 index d752661f75..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/CfgVehicles.hpp +++ /dev/null @@ -1,77 +0,0 @@ -/* -"60mm M720a1 HE"; 1.66kg M734A1 Multi-option fuze -"60mm M721 ILLUM"; 1.71kg M776 MTSQ Fuze 8mechanical time superquick9 -"60mm M722a1 WP"; 1.68kg M745 point detonating fuze - -multioption type (PRX/NSB/IMP/DLY) -PRX PROXIMITY BURST - 1 - 4 meter // random in CfgEffect -NSB NEAR SURFACE BURST - 1 meter -IMP IMPACT BURST -DLY DELAY BURST (1/2 sec) - -*/ - -class ace_arty_m720a1_cartridge : ACE_Arty_ShellHolder { - scope = 1; - icon = "iconThing"; - mapSize = 0; // iconsize on map... small object such as a tree is 0.7 - displayName = "M720A1 HE Cartridge"; - vehicleClass = "Objects"; - nameSound = "obj_object"; - picture = "pictureThing"; - class Library {libTextDesc = "";}; - descriptionShort = ""; - destrType = "DestructTree"; - weight = 1000; - simulation = "house"; - type = 1; - model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m720a1_cartridge.p3d"; - animated = 1; - reversed = 0; - class EventHandlers { - killed = "_this call ace_sys_arty_ammunition_fnc_onShellDestroyed"; - }; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_60mm_m720a1"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_60mm_m720a1_m734_pd_chg0",{0},"fnord",0,"pd"}; - ACE_Weight = 1.66; - class AnimationSources { - class hide_inc1 { - source = "user"; - initPhase = 1; - animPeriod = 0.1; - }; - class hide_inc2: hide_inc1 {}; - class hide_inc3: hide_inc1 {}; - class hide_inc4: hide_inc1 {}; - class hide_inc5: hide_inc1 {}; - class hide_inc6: hide_inc1 {}; - class hide_inc7: hide_inc1 {}; - class hide_inc8: hide_inc1 {}; - class hide_inc9: hide_inc1 {}; - class hide_inc10: hide_inc1 {}; - }; -}; - -class ace_arty_m721_cartridge : ace_arty_m720a1_cartridge { - displayName = "M721 Illum Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m721_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_60mm_m721"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_60mm_m721_m776_time_chg1",{10},"fnord",1,"time"}; - ACE_Weight = 1.71; -}; - -class ace_arty_m722a1_cartridge : ace_arty_m720a1_cartridge { - displayName = "M722A1 WP Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m722a1_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_60mm_m722a1"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_60mm_m722a1_m745_pd_chg0",{0},"fnord",0,"pd"}; - ACE_Weight = 1.68; -}; - -class ACE_HuntIR; -class ace_arty_60mm_m721_m766_parachute : ACE_HuntIR { - class EventHandlers { - EXTENDED_EVENTHANDLERS - }; - SLX_XEH_DISABLED = 0; -}; diff --git a/TO_MERGE/ace/arty_ammunition/60mm/XEH_illum_init.sqf b/TO_MERGE/ace/arty_ammunition/60mm/XEH_illum_init.sqf deleted file mode 100644 index afde231220..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/XEH_illum_init.sqf +++ /dev/null @@ -1,71 +0,0 @@ -//XEH_illum_init.sqf -#define MAX_ILL 0.8 - -private["_flareChute", "_pos", "_light", "_sm", "_sp"]; - -_flareChute = _this select 0; -_pos = getPos (_flareChute); - -_light = "#lightpoint" createVehicleLocal _pos; -_light setPos _pos; -_light setLightBrightness MAX_ILL; -_light setLightAmbient[238/255, 233/255, 183/255]; -_light setLightColor[241/255, 226/255, 62/255]; -_light lightAttachObject [_flareChute, [0,0,-0.8]]; - -_sm = "#particlesource" createVehicleLocal getPos (_flareChute); -_sm setParticleRandom [0.5, [0, 0, 0], [0, 0, 0], 0, 0.3, [0, 0, 0, 0], 0, 0, 360]; -_sm setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 30, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.3,4], - [[0.9,0.9,0.9,0.6], [1,1,1,0.3], [1,1,1,0]],[1],0.1,0.1,"","",_light]; -_sm setDropInterval 0.02; - -_sp = "#particlesource" createVehicleLocal getPos (_flareChute); -_sp setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -_sp setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -_sp setDropInterval 0.001; - -// _sp2 = "#particlesource" createVehicleLocal getPos (_flareChute); -// _sp2 setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -// _sp2 setParticleParams ["\ca\Data\Flare12", - // "", "Billboard", 1, 0.1, [0, 0, 0], - // [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - // [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -// _sp2 setDropInterval 0.001; - - -//_flareChute setVectorDir _chuteVel; - -[_flareChute, _light, _sp, _sm] spawn { - private["_shell", "_light", "_sp", "_sm", "_start", "_b", "_s"]; - _shell = _this select 0; - _light = _this select 1; - _sp = _this select 2; - _sm = _this select 3; - - - _start = time; - _b = MAX_ILL; - _s = 0; - waitUntil { - if((_start + 30) < time) then { - _b = (_b - random (0.1)) max 0; - _light setLightBrightness _b; - }; - if((_start + 40) < time) then { - deleteVehicle _light; - deleteVehicle _sp; -// deleteVehicle _sp2; - deleteVehicle _sm; - }; - sleep 0.1; - (!alive _shell && (_start + 40) < time); - }; - deleteVehicle _light; - deleteVehicle _sp; - deleteVehicle _sm; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m720a1_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m720a1_cartridge.p3d deleted file mode 100644 index 533e9252f6..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m720a1_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m720a1_shell.p3d b/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m720a1_shell.p3d deleted file mode 100644 index e6fd3b01f6..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m720a1_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m721_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m721_cartridge.p3d deleted file mode 100644 index c541e63038..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m721_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m721_shell.p3d b/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m721_shell.p3d deleted file mode 100644 index 1cfe73e19d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m721_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m722a1_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m722a1_cartridge.p3d deleted file mode 100644 index bdb4e6580a..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m722a1_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m722a1_shell.p3d b/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m722a1_shell.p3d deleted file mode 100644 index 81ea9678fb..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/ace_arty_m722a1_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm.rvmat b/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm.rvmat deleted file mode 100644 index c4e3d6560b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm.rvmat +++ /dev/null @@ -1,89 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={1,1,1,1.000000}; -specularPower=40.000000; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 { - texture="x\ace\addons\sys_arty_ammunition\60mm\data\ace_60mm_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 { - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform { - aside[]={8.0000,0.000000,0.000000}; - up[]={0.000000,8.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 { - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\60mm\data\ace_60mm_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,16,2,2)fresnel(0.45,0.35)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; diff --git a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_co.paa b/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_co.paa deleted file mode 100644 index a446ba8600..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_nohq.paa b/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_nohq.paa deleted file mode 100644 index ce3ea43cfe..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_smdi.paa b/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_smdi.paa deleted file mode 100644 index f381cfc388..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/data/ace_60mm_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/default_60mm_crtg.p3d b/TO_MERGE/ace/arty_ammunition/60mm/default_60mm_crtg.p3d deleted file mode 100644 index b0c4fcdc3d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/default_60mm_crtg.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/default_60mm_shell.p3d b/TO_MERGE/ace/arty_ammunition/60mm/default_60mm_shell.p3d deleted file mode 100644 index 5f521c46d4..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/60mm/default_60mm_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/60mm/eject_illum.sqf b/TO_MERGE/ace/arty_ammunition/60mm/eject_illum.sqf deleted file mode 100644 index ed77c55c11..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/eject_illum.sqf +++ /dev/null @@ -1,15 +0,0 @@ -//eject_illum.sqf -private["_shell", "_velocity", "_pos", "_flareChute", "_chuteVel"]; - -_shell = _this select 6; - -_velocity = velocity _shell; - -_pos = getPos _shell; - -_flareChute = "ace_arty_60mm_m721_m766_parachute" createVehicle _pos; -_flareChute setPos _pos; -_chuteVel = [_velocity,0.25] call ACE_fnc_vectorMultiply; -_flareChute setVelocity _chuteVel; - -false diff --git a/TO_MERGE/ace/arty_ammunition/60mm/model.cfg b/TO_MERGE/ace/arty_ammunition/60mm/model.cfg deleted file mode 100644 index 2a744a3967..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/model.cfg +++ /dev/null @@ -1,59 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - - class ace_mortar_shell: Default { - isDiscrete = 1; - skeletonInherit = "Default"; - skeletonBones[] = { - "inc1","", - "inc2","", - "inc3","", - "inc4","", - "inc5","", - "inc6","", - "inc7","", - "inc8","", - "inc9","", - "inc10","" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - skeletonName = ""; - }; - class ace_arty_60mm_cartridge: Default { - skeletonName="ace_mortar_shell"; - sections[]= {}; - class animations { - #define HIDE_INC(x) class hide_inc##x { \ - type = "hide"; \ - source = "user"; \ - selection = inc##x; \ - minValue = 0; \ - maxValue = 1; \ - hideValue = 1; \ - }; - HIDE_INC(1); - HIDE_INC(2); - HIDE_INC(3); - HIDE_INC(4); - HIDE_INC(5); - HIDE_INC(6); - HIDE_INC(7); - HIDE_INC(8); - HIDE_INC(9); - HIDE_INC(10); - }; - }; - class ace_arty_m721_cartridge: ace_arty_60mm_cartridge {}; - class ace_arty_m722a1_cartridge: ace_arty_60mm_cartridge {}; - class ace_arty_m720a1_cartridge:ace_arty_60mm_cartridge {}; -}; diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg0.sqf deleted file mode 100644 index 9d4609546b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg0.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_60mm_m720a1_m734_pd_chg0 -// Ammo: ace_arty_60mm_m720a1_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,102.774,[[1091.06,-2000.04,25.8667,190.963,-78.7781],[1071.17,-1901.12,25.3333,187.281,-78.4655],[1050.49,-1801.26,24.7833,183.431,-78.1273],[1029.03,-1700.68,24.2167,179.41,-77.7607],[1007.39,-1602.49,23.65,175.334,-77.3742],[984.311,-1501.16,23.05,170.96,-76.9415],[961.047,-1402.58,22.45,166.528,-76.4823],[936.299,-1301.56,21.8167,161.789,-75.966],[910.7,-1201.17,21.1667,156.863,-75.3992],[884.237,-1101.71,20.5,151.748,-74.7745],[856.232,-1001.17,19.8,146.313,-74.0657],[826.659,-900.174,19.0667,140.555,-73.2576],[796.175,-801.541,18.3167,134.604,-72.3521],[763.4,-701.602,17.5167,128.196,-71.2848],[728.297,-601.469,16.6667,121.333,-70.0165],[690.133,-500.575,15.75,113.887,-68.4644],[648.856,-400.652,14.7667,105.876,-66.5405],[603.004,-300.677,13.6833,97.0676,-64.0328],[551.072,-201.226,12.4667,87.281,-60.5867],[488.637,-100.703,11.0167,75.9493,-55.2875],[407.499,-0.567578,9.15,62.4594,-45.6336],[238.003,99.9874,5.3,44.9396,-9.35551],[205.446,102.772,4.56667,44.4521,-0.158363]]], - [46,106.346,[[1076.27,-2000.82,25.9667,191.017,-78.9802],[1056.73,-1901.8,25.4333,187.332,-78.6732],[1036.41,-1801.84,24.8833,183.479,-78.3411],[1015.32,-1701.15,24.3167,179.454,-77.9812],[994.068,-1602.85,23.75,175.374,-77.6017],[971.389,-1501.41,23.15,170.996,-77.1767],[947.895,-1400.01,22.5333,166.435,-76.7127],[924.217,-1301.57,21.9167,161.814,-76.2187],[899.065,-1201.05,21.2667,156.881,-75.6619],[873.065,-1101.46,20.6,151.758,-75.0482],[845.55,-1000.78,19.9,146.315,-74.3519],[817.158,-901.885,19.1833,140.678,-73.5767],[786.544,-800.851,18.4167,134.584,-72.6681],[754.343,-700.748,17.6167,128.162,-71.619],[719.854,-600.439,16.7667,121.282,-70.3721],[683.042,-501.127,15.8667,113.95,-68.8751],[642.494,-400.853,14.8833,105.913,-66.9869],[597.451,-300.487,13.8,97.0688,-64.5244],[546.435,-200.593,12.5833,87.2319,-61.1373],[485.81,-100.587,11.15,75.9499,-55.9893],[406.827,-0.221905,9.3,62.4166,-46.5877],[254.141,99.9569,5.76667,44.894,-14.3138],[204.748,106.346,4.63333,43.6652,-0.00765876]]], - [47,109.914,[[1061,-2001.87,26.0667,191.082,-79.1862],[1041.8,-1902.75,25.5333,187.394,-78.885],[1021.86,-1802.68,24.9833,183.538,-78.5591],[1001.15,-1701.89,24.4167,179.51,-78.2059],[979.666,-1600.61,23.8333,175.305,-77.8222],[958.014,-1501.9,23.25,171.043,-77.4164],[934.946,-1400.38,22.6333,166.477,-76.9612],[911.697,-1301.81,22.0167,161.85,-76.4763],[887.001,-1201.16,21.3667,156.911,-75.9298],[861.472,-1101.43,20.7,151.781,-75.3275],[834.456,-1000.6,20,146.329,-74.6439],[806.578,-901.551,19.2833,140.682,-73.8829],[776.519,-800.352,18.5167,134.576,-72.9907],[744.901,-700.076,17.7167,128.14,-71.9604],[711.704,-601.491,16.8833,121.378,-70.7609],[674.892,-500.071,15.9667,113.89,-69.2644],[635.756,-401.211,15,105.963,-67.4419],[591.535,-300.44,13.9167,97.0836,-65.0258],[541.451,-200.087,12.7,87.1966,-61.6998],[482.628,-100.595,11.2833,75.9662,-56.7042],[406.498,-0.765611,9.46667,62.5087,-47.6606],[265.178,99.8788,6.13333,44.8789,-18.0778],[204.597,109.913,4.71667,42.8633,-0.0883026]]], - [48,113.473,[[1044.65,-2000.08,26.15,191.042,-79.3869],[1025.82,-1900.91,25.6167,187.351,-79.0911],[1006.24,-1800.79,25.0667,183.49,-78.7711],[986.518,-1702.88,24.5167,179.576,-78.4347],[965.436,-1601.49,23.9333,175.367,-78.0585],[944.19,-1502.66,23.35,171.101,-77.6606],[921.555,-1401,22.7333,166.53,-77.2142],[898.742,-1302.3,22.1167,161.898,-76.7387],[874.509,-1201.5,21.4667,156.952,-76.2028],[849.461,-1101.62,20.8,151.815,-75.6121],[822.951,-1000.64,20.1,146.355,-74.9416],[795.596,-901.427,19.3833,140.698,-74.1951],[766.101,-800.053,18.6167,134.58,-73.3197],[735.725,-701.63,17.8333,128.265,-72.3308],[702.501,-600.817,16.9833,121.352,-71.1313],[667.039,-500.965,16.0833,113.98,-69.6906],[627.978,-400.096,15.1,105.89,-67.8717],[585.258,-300.544,14.0333,97.1128,-65.5368],[536.796,-201.005,12.8333,87.3109,-62.3237],[479.089,-100.734,11.4167,75.9991,-57.4319],[405.094,-0.67878,9.61667,62.5071,-48.6474],[273.445,99.7796,6.45,44.8793,-21.2652],[204.25,113.471,4.8,42.0492,-0.191165]]], - [49,117.019,[[1028.43,-2001.71,26.25,191.127,-79.6004],[1009.96,-1902.43,25.7167,187.433,-79.3106],[990.763,-1802.19,25.1667,183.57,-78.9972],[970.834,-1701.22,24.6,179.533,-78.6573],[950.751,-1602.63,24.0333,175.441,-78.299],[929.32,-1500.88,23.4333,171.048,-77.8977],[907.722,-1401.87,22.8333,166.595,-77.4718],[884.746,-1300.4,22.2,161.832,-76.9929],[861.591,-1202.08,21.5667,157.006,-76.4808],[837.029,-1102.05,20.9,151.862,-75.9018],[811.034,-1000.9,20.2,146.393,-75.2448],[784.211,-901.518,19.4833,140.727,-74.5131],[755.919,-802.115,18.7333,134.731,-73.6746],[725.502,-701.349,17.9333,128.269,-72.6855],[692.924,-600.328,17.0833,121.34,-71.5092],[658.151,-500.256,16.1833,113.947,-70.0959],[620.501,-400.786,15.2167,105.968,-68.3435],[578.615,-300.807,14.15,97.1569,-66.057],[531.101,-200.784,12.95,87.3062,-62.9082],[475.191,-101.013,11.55,76.0496,-58.1718],[403.325,-0.728255,9.76667,62.5269,-49.6504],[279.057,99.9974,6.71667,44.8208,-23.8921],[203.017,117.018,4.86667,41.2245,-0.0907568]]], - [50,120.546,[[1011.16,-2000.49,26.3333,191.109,-79.8088],[993.059,-1901.16,25.8,187.411,-79.5247],[974.248,-1800.86,25.25,183.544,-79.2174],[955.293,-1702.77,24.7,179.622,-78.8943],[935.033,-1601.18,24.1167,175.405,-78.5329],[914.615,-1502.16,23.5333,171.129,-78.1507],[892.862,-1400.29,22.9167,166.547,-77.7218],[870.938,-1301.38,22.3,161.903,-77.2649],[847.65,-1200.36,21.65,156.944,-76.7499],[823.577,-1100.26,20.9833,151.791,-76.182],[798.709,-1001.39,20.3,146.444,-75.5533],[772.425,-901.834,19.5833,140.769,-74.8369],[744.084,-800.083,18.8167,134.628,-73.9965],[714.898,-701.273,18.0333,128.287,-73.0468],[682.975,-600.035,17.1833,121.341,-71.8944],[649.535,-501.522,16.3,114.066,-70.5366],[612.008,-400.009,15.3167,105.924,-68.7911],[571.609,-301.237,14.2667,97.2167,-66.5863],[525.057,-200.713,13.0667,87.3176,-63.5035],[470.279,-100.353,11.6667,75.986,-58.8599],[400.528,-0.115633,9.9,62.4481,-50.5737],[284.141,99.8074,6.98333,44.8532,-26.5415],[201.611,120.546,4.93333,40.388,-0.00670949]]], - [51,124.053,[[993.991,-2002.73,26.4333,191.216,-80.0295],[975.711,-1900.19,25.8833,187.4,-79.7428],[957.849,-1802.84,25.35,183.646,-79.4511],[938.725,-1701.67,24.7833,179.602,-79.1253],[918.883,-1600.02,24.2,175.38,-78.7713],[898.887,-1500.92,23.6167,171.1,-78.3968],[878.161,-1401.7,23.0167,166.636,-77.9883],[856.695,-1302.63,22.4,161.988,-77.5414],[833.892,-1201.45,21.75,157.023,-77.0376],[810.321,-1101.17,21.0833,151.863,-76.4821],[785.972,-1002.13,20.4,146.508,-75.8672],[759.635,-900.114,19.6667,140.691,-75.1492],[732.486,-800.43,18.9167,134.673,-74.344],[703.907,-701.411,18.1333,128.318,-73.4146],[673.265,-601.873,17.3,121.494,-72.3101],[639.906,-501.191,16.4,114.062,-70.9573],[603.787,-401.062,15.4333,106.033,-69.279],[563.605,-300.348,14.3667,97.1543,-67.0868],[518.658,-200.801,13.1833,87.3457,-64.1095],[465.669,-100.925,11.8,76.0733,-59.6245],[398.034,-0.45059,10.05,62.5126,-51.6088],[287.379,99.9248,7.21667,44.8252,-28.8383],[200.691,124.051,5.01667,39.5377,-0.17718]]], - [52,127.533,[[975.808,-2002.14,26.5167,191.22,-80.2453],[958.464,-1902.61,25.9833,187.517,-79.9734],[940.441,-1802.11,25.4333,183.643,-79.6793],[921.726,-1700.87,24.8667,179.595,-79.3604],[902.866,-1602.01,24.3,175.49,-79.0241],[883.302,-1502.76,23.7167,171.205,-78.6582],[862.459,-1400.67,23.1,166.613,-78.2476],[841.453,-1301.52,22.4833,161.958,-77.8101],[819.138,-1200.24,21.8333,156.986,-77.3169],[796.65,-1102.34,21.1833,151.949,-76.7871],[772.244,-1000.74,20.4833,146.455,-76.1708],[747.059,-900.9,19.7667,140.761,-75.4843],[720.497,-801.008,19.0167,134.731,-74.6973],[692.535,-701.77,18.2333,128.365,-73.7887],[661.952,-600.063,17.3833,121.387,-72.6857],[629.916,-501.059,16.5,114.073,-71.3856],[594.576,-400.652,15.5333,106.02,-69.7434],[555.878,-301.128,14.4833,97.2468,-67.634],[511.907,-201.055,13.3,87.3915,-64.7256],[460.068,-100.558,11.9167,76.0461,-60.3389],[394.534,-0.117859,10.1833,62.4772,-52.5665],[290.132,99.7251,7.45,44.8676,-31.1564],[198.923,127.531,5.08333,38.6776,-0.135098]]], - [53,130.982,[[957.179,-2001.87,26.6,191.235,-80.4647],[940.221,-1902.27,26.0667,187.529,-80.1989],[922.597,-1801.69,25.5167,183.651,-79.9113],[904.298,-1700.37,24.95,179.599,-79.5996],[885.857,-1601.43,24.3833,175.49,-79.2708],[866.728,-1502.1,23.8,171.201,-78.9129],[846.9,-1402.64,23.2,166.728,-78.5226],[825.808,-1300.67,22.5667,161.942,-78.0836],[804.55,-1201.86,21.9333,157.092,-77.614],[782,-1101.31,21.2667,151.918,-77.0831],[758.706,-1001.98,20.5833,146.547,-76.4951],[734.086,-901.934,19.8667,140.844,-75.8248],[708.117,-801.825,19.1167,134.805,-75.0562],[680.198,-700.299,18.3167,128.29,-74.149],[650.883,-600.4,17.4833,121.433,-73.0915],[619.563,-501.133,16.6,114.101,-71.8212],[585.014,-400.435,15.6333,106.022,-70.2162],[547.182,-300.593,14.5833,97.2172,-68.1534],[504.194,-200.158,13.4,87.3166,-65.3069],[454.129,-100.345,12.0333,76.0379,-61.0664],[391.305,-0.771994,10.3333,62.591,-53.6302],[291.768,99.6099,7.66667,44.8951,-33.3148],[196.979,130.981,5.15,37.8061,-0.113916]]], - [54,134.398,[[938.105,-2001.93,26.6833,191.262,-80.6877],[921.537,-1902.25,26.15,187.553,-80.4281],[904.32,-1801.59,25.6,183.672,-80.1472],[886.442,-1700.18,25.0333,179.616,-79.8427],[868.426,-1601.16,24.4667,175.503,-79.5215],[849.737,-1501.73,23.8833,171.209,-79.172],[830.366,-1402.18,23.2833,166.731,-78.7906],[809.76,-1300.12,22.65,161.939,-78.3618],[788.992,-1201.21,22.0167,157.082,-77.903],[766.962,-1100.55,21.35,151.901,-77.3841],[744.204,-1001.11,20.6667,146.522,-76.8096],[720.151,-900.944,19.95,140.809,-76.1544],[694.78,-800.714,19.2,134.758,-75.4031],[668.075,-701.118,18.4167,128.366,-74.5355],[639.44,-600.962,17.5833,121.495,-73.5038],[608.847,-501.42,16.7,114.144,-72.264],[575.099,-400.418,15.7333,106.042,-70.6972],[538.144,-300.242,14.6833,97.2048,-68.6823],[496.748,-200.76,13.5167,87.399,-65.9434],[447.848,-100.294,12.15,76.0498,-61.8065],[387.093,-0.751752,10.4667,62.6038,-54.6189],[292.326,99.6404,7.86667,44.8942,-35.3203],[194.857,134.396,5.21667,36.9235,-0.115417]]], - [55,137.774,[[918.592,-2002.33,26.7667,191.301,-80.9141],[902.42,-1902.56,26.2333,187.589,-80.6608],[885.614,-1801.81,25.6833,183.705,-80.3868],[868.164,-1700.31,25.1167,179.646,-80.0896],[850.578,-1601.19,24.55,175.528,-79.7762],[832.336,-1501.67,23.9667,171.23,-79.4352],[813.428,-1402.02,23.3667,166.748,-79.063],[793.845,-1302.5,22.75,162.077,-78.6559],[773.042,-1200.83,22.1,157.087,-78.1967],[751.539,-1100.06,21.4333,151.899,-77.6902],[729.325,-1000.5,20.75,146.511,-77.1293],[705.847,-900.212,20.0333,140.789,-76.4897],[681.635,-802.028,19.3,134.862,-75.7732],[655.015,-700.115,18.5,128.322,-74.9088],[627.627,-601.758,17.6833,121.573,-73.9222],[597.204,-500.111,16.7833,114.064,-72.6893],[564.833,-400.609,15.8333,106.078,-71.1859],[528.767,-300.085,14.7833,97.2102,-69.2203],[488.366,-200.212,13.6167,87.3608,-66.5463],[441.228,-100.412,12.2667,76.0824,-62.5586],[381.939,-0.0332593,10.5833,62.5117,-55.5381],[291.847,99.8707,8.05,44.8529,-37.1802],[192.558,137.773,5.28333,36.03,-0.14155]]], - [56,141.108,[[898.64,-2003.08,26.85,191.353,-81.1439],[882.375,-1900.13,26.3,187.521,-80.8892],[866.481,-1802.37,25.7667,183.751,-80.63],[849.464,-1700.78,25.2,179.689,-80.3403],[832.315,-1601.55,24.6333,175.567,-80.0349],[814.526,-1501.93,24.05,171.265,-79.7024],[796.087,-1402.17,23.45,166.778,-79.3396],[776.99,-1302.54,22.8333,162.102,-78.9427],[756.704,-1200.75,22.1833,157.106,-78.495],[736.26,-1102.33,21.5333,152.041,-78.0141],[714.071,-1000.17,20.8333,146.515,-77.4544],[691.71,-902.032,20.1333,140.918,-76.8457],[667.565,-801.422,19.3833,134.847,-76.1317],[642.148,-701.427,18.6,128.43,-75.307],[614.896,-600.843,17.7667,121.529,-74.3258],[585.78,-500.843,16.8833,114.142,-73.1463],[554.217,-401.015,15.9333,106.133,-71.6821],[519.051,-300.129,14.8833,97.2342,-69.767],[480.223,-201.193,13.7333,87.4829,-67.2015],[434.266,-100.707,12.3833,76.1368,-63.322],[377.038,-0.336763,10.7167,62.574,-56.5582],[290.951,99.877,8.23333,44.8608,-39.0647],[190.08,141.106,5.35,35.126,-0.19459]]], - [57,144.396,[[877.776,-2001.02,26.9167,191.302,-81.3697],[862.409,-1901.12,26.3833,187.583,-81.129],[846.439,-1800.24,25.8333,183.691,-80.8685],[830.346,-1701.57,25.2833,179.744,-80.5946],[813.639,-1602.24,24.7167,175.62,-80.2972],[796.309,-1502.51,24.1333,171.314,-79.9735],[778.345,-1402.63,23.5333,166.822,-79.6203],[759.236,-1300.22,22.9,162.014,-79.2229],[739.977,-1200.96,22.2667,157.139,-78.7978],[720.06,-1102.42,21.6167,152.068,-78.3295],[698.444,-1000.11,20.9167,146.535,-77.7844],[676.658,-901.837,20.2167,140.929,-77.1915],[653.136,-801.076,19.4667,134.847,-76.496],[628.374,-700.922,18.6833,128.418,-75.6924],[601.824,-600.166,17.85,121.502,-74.7362],[573.996,-501.81,16.9833,114.237,-73.6095],[543.251,-401.643,16.0333,106.206,-72.1855],[508.996,-300.379,14.9833,97.2771,-70.3221],[471.173,-201.025,13.8333,87.4844,-67.8242],[426.406,-100.045,12.4833,76.0739,-64.0423],[371.78,-0.819671,10.85,62.6635,-57.5913],[289.634,99.6493,8.41667,44.9199,-40.9694],[186.853,144.396,5.4,34.2126,-0.00318078]]], - [58,147.633,[[856.975,-2002.47,27,191.378,-81.6061],[842.019,-1902.47,26.4667,187.657,-81.372],[826.477,-1801.49,25.9167,183.763,-81.1187],[810.816,-1702.7,25.3667,179.814,-80.8524],[794.076,-1600.37,24.7833,175.564,-80.5544],[777.206,-1500.6,24.2,171.252,-80.2391],[759.72,-1400.67,23.6,166.755,-79.895],[741.61,-1300.87,22.9833,162.068,-79.5184],[722.867,-1201.48,22.35,157.188,-79.105],[702.985,-1100.31,21.6833,151.98,-78.6373],[682.446,-1000.35,21,146.569,-78.1191],[661.244,-901.922,20.3,140.955,-77.5425],[638.351,-800.999,19.55,134.863,-76.8657],[614.252,-700.675,18.7667,128.423,-76.0839],[588.932,-601.696,17.95,121.631,-75.1729],[561.33,-501.189,17.0667,114.209,-74.0563],[531.408,-400.811,16.1167,106.156,-72.6694],[498.602,-300.844,15.0833,97.3397,-70.8852],[461.797,-201.055,13.9333,87.5064,-68.4567],[418.774,-100.708,12.6,76.1732,-64.828],[365.622,-0.597068,10.9667,62.6468,-58.5584],[287.344,99.6879,8.58333,44.9236,-42.7369],[184.031,147.632,5.46667,33.2879,-0.110115]]], - [59,150.815,[[835.293,-2001.14,27.0667,191.352,-81.8386],[820.751,-1901.09,26.5333,187.628,-81.611],[805.638,-1800.06,25.9833,183.73,-81.3646],[790.41,-1701.23,25.4333,179.776,-81.1055],[774.6,-1601.73,24.8667,175.644,-80.8241],[758.2,-1501.83,24.2833,171.329,-80.5179],[741.201,-1401.78,23.6833,166.828,-80.1837],[723.596,-1301.84,23.0667,162.137,-79.8179],[705.375,-1202.31,22.4333,157.251,-79.4163],[686.046,-1101,21.7667,152.037,-78.962],[666.079,-1000.88,21.0833,146.62,-78.4586],[645.467,-902.294,20.3833,140.998,-77.8984],[623.211,-801.199,19.6333,134.897,-77.2409],[599.784,-700.693,18.85,128.445,-76.4811],[575.169,-601.524,18.0333,121.639,-75.5957],[548.335,-500.809,17.15,114.2,-74.5102],[519.246,-400.206,16.2,106.125,-73.1614],[487.869,-301.532,15.1833,97.4227,-71.4559],[452.094,-201.29,14.0333,87.5497,-69.0986],[410.274,-100.414,12.7,76.1553,-65.5723],[359.137,-0.549451,11.0833,62.6565,-59.5408],[284.657,99.5094,8.75,44.9743,-44.5253],[181.029,150.812,5.53333,32.3534,-0.25185]]], - [60,153.939,[[813.218,-2000.18,27.1333,191.34,-82.0744],[799.094,-1900.08,26.6,187.612,-81.8533],[784.863,-1802.02,26.0667,183.83,-81.6214],[769.626,-1700.1,25.5,179.753,-81.3623],[754.272,-1600.56,24.9333,175.616,-81.089],[738.344,-1500.59,24.35,171.297,-80.7914],[721.834,-1400.48,23.75,166.79,-80.4667],[704.735,-1300.48,23.1333,162.093,-80.1113],[687.039,-1200.89,22.5,157.201,-79.721],[668.737,-1102,21.85,152.111,-79.2909],[649.349,-1001.71,21.1667,146.688,-78.8026],[628.856,-900.658,20.45,140.923,-78.2455],[607.723,-801.682,19.7167,134.947,-77.6211],[584.974,-700.984,18.9333,128.484,-76.8838],[561.072,-601.613,18.1167,121.666,-76.0245],[535.015,-500.677,17.2333,114.21,-74.9708],[507.266,-401.534,16.3,106.255,-73.6858],[476.3,-300.902,15.2667,97.3832,-72.0041],[441.561,-200.367,14.1167,87.4713,-69.712],[401.462,-100.311,12.8,76.1605,-66.3282],[352.326,-0.683786,11.2,62.6937,-60.5373],[281.054,99.648,8.9,44.9584,-46.1864],[177.323,153.938,5.58333,31.4101,-0.133712]]], - [61,157,[[791.18,-2002.75,27.2167,191.456,-82.32],[777.483,-1902.54,26.6833,187.727,-82.1058],[763.249,-1801.32,26.1333,183.824,-81.874],[748.905,-1702.3,25.5833,179.864,-81.6302],[734.013,-1602.62,25.0167,175.726,-81.3655],[718.566,-1502.52,24.4333,171.403,-81.0773],[702.555,-1402.26,23.8333,166.894,-80.7627],[685.972,-1302.12,23.2167,162.193,-80.4185],[668.81,-1202.37,22.5833,157.297,-80.0404],[650.603,-1100.82,21.9167,152.07,-79.6127],[631.796,-1000.45,21.2333,146.639,-79.1388],[612.382,-901.619,20.5333,141,-78.6112],[591.419,-800.254,19.7833,134.879,-77.9917],[569.823,-701.554,19.0167,128.542,-77.2918],[546.641,-601.969,18.2,121.711,-76.4591],[521.37,-500.8,17.3167,114.238,-75.4378],[494.458,-401.408,16.3833,106.264,-74.1919],[464.426,-300.499,15.35,97.3641,-72.5607],[431.224,-201.027,14.2167,87.5585,-70.3719],[392.338,-100.407,12.9,76.1897,-67.0952],[344.688,-0.088763,11.3,62.6207,-61.4756],[277.082,99.5836,9.05,44.9862,-47.8696],[173.467,157,5.63333,30.4574,-0.039413]]], - [62,159.996,[[768.314,-2002.56,27.2833,191.471,-82.562],[755.045,-1902.28,26.75,187.739,-82.3545],[741.256,-1800.99,26.2,183.833,-82.13],[727.36,-1701.91,25.65,179.87,-81.8939],[712.934,-1602.16,25.0833,175.727,-81.6373],[697.97,-1501.99,24.5,171.401,-81.3581],[682.459,-1401.65,23.9,166.887,-81.0534],[666.395,-1301.42,23.2833,162.18,-80.7199],[649.769,-1201.59,22.65,157.278,-80.3536],[632.574,-1102.45,22,152.177,-79.9499],[614.358,-1001.91,21.3167,146.74,-79.4915],[595.104,-900.58,20.6,140.959,-78.9684],[575.25,-801.321,19.8667,134.965,-78.3819],[553.876,-700.316,19.0833,128.479,-77.6893],[531.419,-600.623,18.2667,121.634,-76.8818],[507.402,-501.184,17.4,114.286,-75.9109],[481.335,-401.529,16.4667,106.292,-74.705],[452.246,-300.327,15.4333,97.3662,-73.1255],[420.087,-200.53,14.3,87.5241,-71.0047],[382.901,-100.709,13,76.2437,-67.8724],[337.235,-0.600669,11.4167,62.7145,-62.4993],[272.252,99.8791,9.18333,44.9377,-49.4362],[169.954,159.993,5.7,29.4948,-0.288825]]], - [63,162.922,[[745.071,-2002.75,27.35,191.499,-82.8069],[732.235,-1902.4,26.8167,187.764,-82.6063],[718.895,-1801.04,26.2667,183.856,-82.3891],[705.453,-1701.89,25.7167,179.889,-82.1607],[691.497,-1602.06,25.15,175.743,-81.9127],[677.02,-1501.8,24.5667,171.413,-81.6426],[662.015,-1401.39,23.9667,166.895,-81.3478],[646.474,-1301.07,23.35,162.184,-81.0252],[630.391,-1201.15,22.7167,157.276,-80.6709],[613.757,-1101.92,22.0667,152.169,-80.2803],[596.135,-1001.28,21.3833,146.724,-79.8368],[577.943,-902.159,20.6833,141.071,-79.3429],[558.301,-800.482,19.9333,134.932,-78.763],[538.067,-701.46,19.1667,128.574,-78.1076],[516.345,-601.529,18.35,121.717,-77.3277],[493.115,-501.836,17.4833,114.355,-76.3898],[467.45,-400.191,16.5333,106.198,-75.2022],[439.766,-300.393,15.5167,97.3899,-73.698],[408.66,-200.255,14.3833,87.5124,-71.6469],[372.692,-100.038,13.0833,76.1785,-68.6142],[328.989,-0.380139,11.5167,62.6975,-63.467],[267.083,99.9828,9.31667,44.9303,-51.0269],[165.784,162.92,5.75,28.524,-0.260789]]], - [64,165.775,[[721.068,-2000.18,27.4,191.425,-83.0488],[709.055,-1902.92,26.8833,187.804,-82.861],[696.17,-1801.49,26.3333,183.893,-82.6513],[683.185,-1702.25,25.7833,179.924,-82.4308],[669.705,-1602.33,25.2167,175.775,-82.1912],[655.721,-1501.99,24.6333,171.441,-81.9305],[641.227,-1401.48,24.0333,166.919,-81.6458],[626.215,-1301.08,23.4167,162.203,-81.3343],[610.679,-1201.06,22.7833,157.291,-80.992],[594.612,-1101.73,22.1333,152.177,-80.6148],[577.59,-1000.98,21.45,146.726,-80.1865],[560.018,-901.745,20.75,141.065,-79.7094],[541.468,-802.159,20.0167,135.054,-79.1622],[521.499,-700.804,19.2333,128.549,-78.5159],[500.517,-600.741,18.4167,121.679,-77.7621],[478.078,-500.907,17.55,114.301,-76.8555],[453.723,-400.824,16.6167,106.268,-75.7288],[426.986,-300.705,15.6,97.4361,-74.2777],[396.943,-200.207,14.4667,87.5241,-72.2979],[362.652,-100.764,13.1833,76.2837,-69.4111],[320.447,-0.353621,11.6167,62.7095,-64.4486],[261.572,99.8866,9.45,44.9657,-52.6383],[161.466,165.773,5.8,27.5446,-0.266195]]], - [65,168.552,[[697.096,-2001.18,27.4667,191.481,-83.2995],[685.136,-1900.73,26.9333,187.741,-83.1125],[673.084,-1802.32,26.4,183.945,-82.9163],[660.181,-1700.01,25.8333,179.852,-82.6972],[647.178,-1600.08,25.2667,175.699,-82.466],[634.076,-1502.55,24.7,171.485,-82.2216],[620.098,-1401.94,24.1,166.959,-81.9472],[605.621,-1301.43,23.4833,162.239,-81.6469],[590.638,-1201.31,22.85,157.322,-81.317],[575.142,-1101.87,22.2,152.203,-80.9533],[558.726,-1001,21.5167,146.746,-80.5403],[541.78,-901.648,20.8167,141.078,-80.0804],[523.89,-801.936,20.0833,135.059,-79.5528],[504.632,-700.443,19.3,128.543,-78.9294],[484.397,-600.237,18.4833,121.661,-78.2023],[462.757,-500.25,17.6167,114.268,-77.3276],[439.691,-401.722,16.7,106.361,-76.2611],[413.908,-301.268,15.6833,97.505,-74.864],[384.939,-200.392,14.55,87.5598,-72.9572],[351.872,-100.517,13.2667,76.2696,-70.1742],[311.61,-0.527409,11.7167,62.7514,-65.4428],[255.72,99.5825,9.58333,45.0454,-54.2668],[156.999,168.55,5.85,26.5569,-0.309026]]], - [66,171.249,[[672.763,-2002.6,27.5333,191.552,-83.5528],[661.249,-1902.06,27,187.81,-83.3729],[649.283,-1800.5,26.45,183.893,-83.1782],[637.224,-1701.15,25.9,179.918,-82.9734],[624.706,-1601.12,25.3333,175.762,-82.7509],[611.72,-1500.65,24.75,171.42,-82.5087],[598.26,-1400.01,24.15,166.889,-82.2443],[584.698,-1302.15,23.55,162.292,-81.963],[570.273,-1201.92,22.9167,157.371,-81.6455],[555.354,-1102.35,22.2667,152.247,-81.2956],[539.55,-1001.36,21.5833,146.784,-80.8983],[523.235,-901.88,20.8833,141.109,-80.4556],[506.012,-802.03,20.15,135.082,-79.9479],[487.472,-700.389,19.3667,128.556,-79.3479],[467.991,-600.027,18.55,121.663,-78.648],[447.558,-501.736,17.7,114.399,-77.8231],[424.949,-401.167,16.7667,106.33,-76.7786],[400.127,-300.515,15.75,97.451,-75.4325],[372.649,-200.817,14.6333,87.6202,-73.624],[340.818,-100.49,13.35,76.2817,-70.9474],[302.479,-0.90913,11.8167,62.8242,-66.4484],[249.104,99.6851,9.7,45.0382,-55.7921],[151.959,171.249,5.88333,25.5615,-0.0277193]]], - [67,173.863,[[647.728,-2001.25,27.5833,191.522,-83.8033],[636.661,-1900.68,27.05,187.776,-83.6303],[625.509,-1802.14,26.5167,183.976,-83.4489],[613.922,-1702.68,25.9667,179.999,-83.2523],[601.893,-1602.55,25.4,175.84,-83.0387],[589.414,-1501.97,24.8167,171.496,-82.8062],[576.48,-1401.22,24.2167,166.962,-82.5523],[563.084,-1300.56,23.6,162.234,-82.2744],[549.22,-1200.28,22.9667,157.306,-81.9691],[534.882,-1100.68,22.3167,152.176,-81.6326],[520.064,-1002.07,21.65,146.84,-81.2599],[504.011,-900.121,20.9333,141.023,-80.8243],[487.458,-800.225,20.2,134.986,-80.3357],[470.019,-700.645,19.4333,128.59,-79.7711],[451.298,-600.114,18.6167,121.685,-79.0988],[431.664,-501.647,17.7667,114.408,-78.3063],[409.937,-400.882,16.8333,106.322,-77.3026],[386.085,-300.016,15.8167,97.42,-76.0085],[359.679,-200.081,14.7,87.5581,-74.2689],[329.49,-100.688,13.4333,76.3208,-71.7299],[292.652,-0.536367,11.9,62.7827,-67.4068],[242.177,99.5892,9.81667,45.0731,-57.3369],[147.215,173.862,5.93333,24.5577,-0.145571]]], - [68,176.39,[[622.373,-2000.33,27.6333,191.506,-84.0565],[612.091,-1902.83,27.1167,187.876,-83.8959],[601.061,-1801.14,26.5667,183.954,-83.7165],[589.947,-1701.64,26.0167,179.974,-83.5279],[578.409,-1601.46,25.45,175.812,-83.323],[566.439,-1500.84,24.8667,171.464,-83.0998],[554.033,-1400.05,24.2667,166.926,-82.8562],[541.532,-1302.03,23.6667,162.321,-82.597],[528.236,-1201.61,23.0333,157.39,-82.3045],[514.485,-1101.88,22.3833,152.256,-81.982],[499.918,-1000.7,21.7,146.781,-81.6158],[484.88,-901.02,21,141.092,-81.2077],[469.005,-800.965,20.2667,135.048,-80.7396],[452.281,-701.217,19.5,128.643,-80.1986],[434.327,-600.506,18.6833,121.729,-79.5544],[415.497,-501.849,17.8333,114.439,-78.7948],[394.661,-400.875,16.9,106.337,-77.8326],[372.162,-301.359,15.9,97.5597,-76.6139],[346.841,-200.999,14.7833,87.669,-74.9503],[317.892,-101.117,13.5167,76.3877,-72.5209],[282.566,-0.369633,11.9833,62.7718,-68.3785],[234.553,99.9311,9.91667,45.0143,-58.7902],[142.324,176.387,5.98333,23.5466,-0.31632]]], - [69,178.827,[[597.02,-2003.02,27.7,191.621,-84.3172],[586.862,-1902.29,27.1667,187.872,-84.1586],[576.306,-1800.55,26.6167,183.948,-83.987],[565.668,-1701.01,26.0667,179.965,-83.8064],[554.625,-1600.78,25.5,175.8,-83.6102],[543.169,-1500.11,24.9167,171.448,-83.3966],[531.626,-1402.02,24.3333,167.033,-83.1701],[519.33,-1301.18,23.7167,162.297,-82.9152],[506.605,-1200.72,23.0833,157.361,-82.6352],[493.445,-1100.92,22.4333,152.221,-82.3265],[479.844,-1002.1,21.7667,146.874,-81.9846],[465.454,-902.264,21.0667,141.18,-81.5947],[450.263,-802.039,20.3333,135.131,-81.1472],[434.259,-702.112,19.5667,128.718,-80.6302],[417.079,-601.208,18.75,121.794,-80.0144],[398.705,-500.474,17.8833,114.348,-79.273],[379.121,-401.149,16.9667,106.374,-78.3683],[357.591,-301.391,15.9667,97.5769,-77.2027],[333.36,-200.757,14.85,87.6576,-75.6108],[305.658,-100.563,13.5833,76.3337,-73.2841],[272.223,-0.414124,12.0667,62.7922,-69.3622],[227.026,99.4274,10.0333,45.1355,-60.3684],[136.912,178.826,6.01667,22.5283,-0.132019]]], - [70,181.172,[[571.029,-2002.95,27.75,191.636,-84.5753],[561.331,-1902.18,27.2167,187.885,-84.4239],[551.252,-1800.39,26.6667,183.958,-84.26],[541.095,-1700.79,26.1167,179.972,-84.0876],[530.551,-1600.5,25.55,175.804,-83.9003],[519.927,-1502.61,24.9833,171.574,-83.7024],[508.592,-1401.62,24.3833,167.03,-83.4801],[496.852,-1300.72,23.7667,162.29,-83.2367],[484.702,-1200.19,23.1333,157.35,-82.9694],[472.136,-1100.32,22.4833,152.205,-82.6745],[459.15,-1001.44,21.8167,146.853,-82.348],[445.411,-901.524,21.1167,141.152,-81.9756],[430.906,-801.221,20.3833,135.095,-81.5482],[415.626,-701.212,19.6167,128.673,-81.0542],[399.223,-600.221,18.8,121.738,-80.4658],[382.018,-501.27,17.95,114.423,-79.7717],[363.322,-401.71,17.0333,106.435,-78.9091],[342.425,-300.103,16.0167,97.4709,-77.7772],[319.637,-200.768,14.9167,87.6722,-76.2787],[293.191,-100.241,13.65,76.3074,-74.0572],[261.624,-0.675871,12.15,62.8448,-70.3565],[218.835,99.3694,10.1333,45.1611,-61.8575],[131.748,181.17,6.06667,21.5032,-0.413176]]], - [71,183.422,[[544.452,-2000.15,27.7833,191.549,-84.8313],[535.504,-1902.5,27.2667,187.912,-84.6915],[525.906,-1800.65,26.7167,183.983,-84.5355],[516.234,-1700.98,26.1667,179.995,-84.3714],[506.193,-1600.63,25.6,175.825,-84.1931],[496.076,-1502.68,25.0333,171.593,-84.0046],[485.282,-1401.62,24.4333,167.045,-83.793],[474.102,-1300.65,23.8167,162.302,-83.5613],[462.532,-1200.04,23.1833,157.357,-83.3067],[450.566,-1100.1,22.5333,152.208,-83.026],[438.199,-1001.13,21.8667,146.85,-82.7151],[425.116,-901.135,21.1667,141.143,-82.3603],[411.303,-800.743,20.4333,135.079,-81.9533],[396.752,-700.641,19.6667,128.649,-81.4827],[381.452,-601.555,18.8667,121.846,-80.9342],[364.748,-500.494,18,114.377,-80.2607],[346.944,-400.82,17.0833,106.374,-79.4384],[327.372,-300.679,16.0833,97.5373,-78.3784],[305.674,-201.038,14.9833,87.7132,-76.9533],[280.493,-100.156,13.7167,76.3096,-74.8391],[250.436,-0.167592,12.2167,62.7806,-71.3123],[210.033,99.7795,10.2167,45.0865,-63.2687],[126.099,183.421,6.1,20.4712,-0.315729]]], - [72,185.574,[[517.886,-2000.97,27.8333,191.594,-85.094],[509.114,-1900.14,27.3,187.838,-84.9571],[500.276,-1801.33,26.7667,184.025,-84.8134],[491.092,-1701.6,26.2167,180.035,-84.6576],[481.558,-1601.18,25.65,175.863,-84.4884],[471.668,-1500.31,25.0667,171.503,-84.3041],[461.702,-1402.02,24.4833,167.078,-84.1087],[451.087,-1300.96,23.8667,162.331,-83.8887],[440.101,-1200.27,23.2333,157.383,-83.647],[428.739,-1100.25,22.5833,152.23,-83.3806],[416.996,-1001.19,21.9167,146.867,-83.0854],[404.573,-901.099,21.2167,141.155,-82.7487],[391.458,-800.608,20.4833,135.084,-82.3622],[377.641,-700.4,19.7167,128.646,-81.9154],[363.113,-601.204,18.9167,121.834,-81.3945],[347.252,-500.022,18.05,114.353,-80.7548],[330.347,-400.22,17.1333,106.336,-79.9736],[312.073,-301.536,16.15,97.6291,-78.9845],[291.161,-200.142,15.0333,87.6312,-77.6109],[267.567,-100.313,13.7833,76.3407,-75.6291],[239.348,-0.874218,12.3,62.899,-72.3258],[200.992,99.9961,10.3,45.0525,-64.7008],[120.342,185.573,6.13333,19.4328,-0.261268]]], - [73,187.626,[[491.035,-2002.23,27.8833,191.654,-85.3589],[482.733,-1901.33,27.35,187.897,-85.2293],[474.368,-1802.45,26.8167,184.083,-85.0934],[465.676,-1702.65,26.2667,180.092,-84.946],[456.652,-1602.14,25.7,175.917,-84.7859],[447.292,-1501.19,25.1167,171.555,-84.6117],[437.589,-1400.05,24.5167,167.001,-84.4213],[427.813,-1301.68,23.9167,162.379,-84.2188],[417.415,-1200.89,23.2833,157.428,-83.9902],[406.661,-1100.77,22.6333,152.271,-83.7381],[395.547,-1001.62,21.9667,146.904,-83.4589],[383.789,-901.422,21.2667,141.187,-83.1403],[371.376,-800.82,20.5333,135.11,-82.7747],[358.298,-700.496,19.7667,128.665,-82.3519],[344.548,-601.176,18.9667,121.844,-81.859],[329.826,-501.747,18.1167,114.498,-81.2661],[313.828,-401.667,17.2,106.469,-80.5286],[296.241,-301.077,16.2,97.5982,-79.5776],[276.744,-200.939,15.1,87.7262,-78.298],[254.415,-100.718,13.85,76.4014,-76.426],[227.71,-0.809021,12.3667,62.9004,-73.3026],[192.018,99.3236,10.4,45.2074,-66.2346],[114.477,187.624,6.16667,18.3884,-0.257488]]], - [74,189.573,[[463.665,-2000.77,27.9167,191.614,-85.6217],[456.08,-1902.97,27.4,187.972,-85.5034],[447.944,-1800.96,26.85,184.038,-85.3712],[439.745,-1701.13,26.3,180.043,-85.2321],[431.233,-1600.62,25.7333,175.866,-85.0811],[422.657,-1502.5,25.1667,171.626,-84.9214],[413.507,-1401.26,24.5667,167.069,-84.7421],[404.03,-1300.1,23.95,162.316,-84.5457],[394.481,-1201.91,23.3333,157.491,-84.3358],[384.339,-1101.68,22.6833,152.331,-84.0982],[373.859,-1002.42,22.0167,146.961,-83.8352],[362.77,-902.109,21.3167,141.239,-83.5349],[351.063,-801.386,20.5833,135.157,-83.1903],[338.73,-700.934,19.8167,128.706,-82.792],[325.762,-601.479,19.0167,121.877,-82.3274],[311.606,-500.016,18.15,114.376,-81.7568],[296.791,-401.667,17.25,106.48,-81.0732],[280.205,-300.904,16.25,97.5929,-80.1763],[261.818,-200.574,15.15,87.6985,-78.9692],[240.76,-100.132,13.9,76.3403,-77.2017],[215.859,-0.971194,12.4333,62.9352,-74.2889],[182.202,99.8245,10.4667,45.1116,-67.6152],[108.508,189.572,6.2,17.3382,-0.314083]]], - [75,191.416,[[436.286,-2002.94,27.9667,191.706,-85.8902],[428.931,-1901.94,27.4333,187.946,-85.7756],[421.521,-1802.96,26.9,184.129,-85.6552],[413.586,-1700.06,26.3333,180.012,-85.5207],[405.826,-1602.44,25.7833,175.955,-85.383],[397.533,-1501.37,25.2,171.588,-85.2287],[388.937,-1400.11,24.6,167.029,-85.0601],[380.275,-1301.62,24,162.401,-84.8807],[371.063,-1200.71,23.3667,157.443,-84.6783],[361.536,-1100.45,22.7167,152.278,-84.4549],[351.69,-1001.16,22.05,146.903,-84.2076],[341.272,-900.822,21.35,141.175,-83.9253],[330.275,-800.069,20.6167,135.086,-83.6012],[318.942,-701.716,19.8667,128.769,-83.2351],[306.507,-600.098,19.05,121.79,-82.7896],[293.464,-500.489,18.2,114.423,-82.2637],[279.291,-400.214,17.2833,106.369,-81.6093],[263.97,-301.018,16.3,97.6137,-80.7802],[246.7,-200.477,15.2,87.6984,-79.6466],[227.186,-101.041,13.9667,76.4613,-78.0113],[203.532,-0.348489,12.4833,62.8512,-75.2452],[172.457,99.4259,10.55,45.2068,-69.0902],[102.435,191.414,6.23333,16.2826,-0.442817]]], - [76,193.15,[[408.435,-2002.39,28,191.698,-86.1571],[401.557,-1901.35,27.4667,187.936,-86.0498],[394.627,-1802.35,26.9333,184.117,-85.9373],[387.426,-1702.41,26.3833,180.119,-85.8153],[379.95,-1601.76,25.8167,175.938,-85.6827],[372.195,-1500.66,25.2333,171.569,-85.5382],[364.38,-1402.15,24.65,167.134,-85.3851],[356.057,-1300.84,24.0333,162.375,-85.2128],[347.67,-1202.52,23.4167,157.545,-85.0285],[338.762,-1102.14,22.7667,152.378,-84.82],[329.325,-1000.28,22.0833,146.864,-84.583],[319.817,-902.247,21.4,141.269,-84.3255],[309.535,-801.35,20.6667,135.176,-84.023],[298.702,-700.714,19.9,128.712,-83.6731],[287.312,-601.067,19.1,121.869,-83.2651],[275.118,-501.286,18.25,114.494,-82.774],[261.866,-400.825,17.3333,106.43,-82.1629],[247.541,-301.425,16.35,97.661,-81.3885],[231.394,-200.655,15.25,87.7263,-80.3295],[213.148,-100.96,14.0167,76.4605,-78.801],[191.282,-0.972431,12.55,62.9544,-76.2481],[162.229,99.5229,10.6167,45.1956,-70.5032],[96.0047,193.15,6.25,15.2214,-0.0443312]]], - [77,194.775,[[380.364,-2002.3,28.0333,191.705,-86.4257],[373.966,-1901.23,27.5,187.942,-86.3259],[367.519,-1802.19,26.9667,184.121,-86.2212],[360.821,-1702.21,26.4167,180.122,-86.1077],[353.866,-1601.53,25.85,175.939,-85.9844],[346.652,-1500.39,25.2667,171.567,-85.8501],[339.383,-1401.83,24.6833,167.13,-85.7076],[331.64,-1300.49,24.0667,162.368,-85.5473],[323.838,-1202.11,23.45,157.535,-85.3759],[315.552,-1101.69,22.8,152.365,-85.182],[306.989,-1002.23,22.1333,146.983,-84.967],[297.928,-901.703,21.4333,141.247,-84.7218],[288.364,-800.753,20.7,135.149,-84.4402],[278.287,-700.063,19.9333,128.679,-84.1147],[267.692,-600.358,19.1333,121.828,-83.7348],[256.348,-500.516,18.2833,114.444,-83.2777],[244.246,-401.748,17.3833,106.516,-82.7198],[230.696,-300.516,16.3833,97.5854,-81.9873],[215.904,-201.111,15.3,87.7828,-81.0171],[198.933,-101.135,14.0667,76.4904,-79.5969],[178.595,-0.811413,12.6,62.9385,-77.2229],[151.807,99.414,10.6833,45.2276,-71.9295],[89.7454,194.773,6.28333,14.1556,-0.322965]]], - [78,196.287,[[352.082,-2002.68,28.0667,191.729,-86.696],[346.167,-1901.56,27.5333,187.965,-86.6037],[340.206,-1802.48,27,184.143,-86.5069],[334.013,-1702.46,26.45,180.142,-86.402],[327.583,-1601.73,25.8833,175.957,-86.288],[320.912,-1500.54,25.3,171.584,-86.1639],[314.192,-1401.94,24.7167,167.144,-86.0322],[307.033,-1300.54,24.1,162.38,-85.884],[299.819,-1202.12,23.4833,157.545,-85.7255],[292.158,-1101.64,22.8333,152.371,-85.5461],[284.24,-1002.12,22.1667,146.986,-85.3475],[275.863,-901.534,21.4667,141.246,-85.1207],[267.019,-800.521,20.7333,135.143,-84.8604],[257.906,-701.901,19.9833,128.81,-84.5662],[248.111,-602.01,19.1833,121.954,-84.2159],[237.418,-500.071,18.3167,114.419,-83.7853],[226.228,-401.224,17.4167,106.48,-83.2692],[213.91,-301.517,16.4333,97.6865,-82.6037],[200.023,-200.401,15.3333,87.7162,-81.6931],[184.333,-100.314,14.1,76.3977,-80.3775],[165.743,-0.885423,12.65,62.9574,-78.2057],[140.977,99.8177,10.7333,45.1497,-73.306],[83.1688,196.287,6.3,13.085,-0.0136016]]], - [79,197.685,[[323.43,-2000.33,28.0833,191.653,-86.9652],[318.169,-1902.36,27.5667,188.004,-86.8831],[312.525,-1800.16,27.0167,184.061,-86.7915],[306.838,-1700.16,26.4667,180.057,-86.6949],[301.108,-1602.37,25.9167,175.994,-86.5934],[294.984,-1501.13,25.3333,171.619,-86.4794],[288.814,-1402.47,24.75,167.178,-86.3586],[282.242,-1301.02,24.1333,162.412,-86.2225],[275.619,-1202.53,23.5167,157.574,-86.0771],[268.586,-1101.99,22.8667,152.398,-85.9126],[261.317,-1002.4,22.2,147.01,-85.7302],[253.627,-901.745,21.5,141.267,-85.5222],[245.508,-800.657,20.7667,135.16,-85.2832],[237.141,-701.959,20.0167,128.822,-85.0132],[228.149,-601.986,19.2167,121.96,-84.6916],[218.522,-501.856,18.3667,114.564,-84.3044],[208.06,-401.014,17.45,106.47,-83.8224],[196.751,-301.203,16.4667,97.6647,-83.2113],[184.196,-201.421,15.3833,87.8304,-82.3889],[169.793,-101.011,14.15,76.4899,-81.1843],[152.532,-0.166529,12.6833,62.8559,-79.167],[130.193,99.2894,10.8,45.2695,-74.753],[76.7304,197.684,6.33333,12.0106,-0.518528]]], - [80,198.968,[[294.771,-2001.65,28.1167,191.71,-87.2384],[289.826,-1900.49,27.5833,187.942,-87.1613],[284.844,-1801.37,27.05,184.117,-87.0803],[279.667,-1701.3,26.5,180.113,-86.9925],[274.292,-1600.53,25.9333,175.924,-86.8973],[268.877,-1502.16,25.3667,171.672,-86.7965],[263.099,-1400.65,24.7667,167.102,-86.6834],[257.277,-1301.91,24.1667,162.463,-86.5628],[251.085,-1200.73,23.5333,157.492,-86.4269],[244.681,-1100.2,22.8833,152.312,-86.2768],[238.063,-1000.63,22.2167,146.919,-86.1106],[231.228,-902.336,21.5333,141.31,-85.9257],[223.837,-801.163,20.8,135.199,-85.7083],[216.051,-700.236,20.0333,128.715,-85.4568],[207.864,-600.283,19.2333,121.847,-85.1634],[199.098,-500.174,18.3833,114.441,-84.8102],[189.747,-401.122,17.4833,106.486,-84.379],[179.452,-301.191,16.5,97.6702,-83.8228],[168.023,-201.274,15.4167,87.8215,-83.0741],[154.911,-100.711,14.1833,76.4597,-81.977],[139.377,-0.716556,12.7333,62.9453,-80.1634],[119.043,99.2772,10.85,45.2787,-76.1527],[70.0142,198.967,6.35,10.9317,-0.365738]]], - [81,200.134,[[265.793,-2000.25,28.1333,191.666,-87.5106],[261.476,-1902.23,27.6167,188.015,-87.4433],[256.987,-1803.04,27.0833,184.19,-87.3704],[252.322,-1702.91,26.5333,180.186,-87.2914],[247.479,-1602.07,25.9667,175.997,-87.2057],[242.455,-1500.76,25.3833,171.618,-87.1122],[237.393,-1402.04,24.8,167.174,-87.013],[232,-1300.52,24.1833,162.403,-86.9014],[226.567,-1201.97,23.5667,157.561,-86.782],[220.796,-1101.36,22.9167,152.38,-86.647],[214.833,-1001.7,22.25,146.986,-86.4974],[208.523,-900.963,21.55,141.236,-86.3266],[202.014,-802.044,20.8333,135.261,-86.1351],[194.998,-701.014,20.0667,128.773,-85.9087],[187.62,-600.952,19.2667,121.901,-85.6447],[179.722,-500.728,18.4167,114.49,-85.3266],[171.295,-401.552,17.5167,106.529,-84.9384],[162.018,-301.483,16.5333,97.7034,-84.4376],[151.719,-201.414,15.45,87.8421,-83.7633],[139.904,-100.675,14.2167,76.461,-82.7749],[125.905,-0.473471,12.7667,62.9143,-81.1399],[107.582,99.7914,10.8833,45.1751,-77.5163],[64.8813,199.975,6.53333,9.99082,-9.70463],[63.2399,200.133,6.36667,9.84921,-0.289694]]], - [82,201.181,[[236.796,-2002.52,28.1667,191.756,-87.7861],[232.831,-1901.3,27.6333,187.987,-87.7244],[228.835,-1802.1,27.1,184.16,-87.6594],[224.683,-1701.97,26.55,180.154,-87.5891],[220.373,-1601.12,25.9833,175.963,-87.5126],[216.03,-1502.67,25.4167,171.709,-87.4319],[211.396,-1401.08,24.8167,167.136,-87.3411],[206.727,-1302.26,24.2167,162.494,-87.2446],[201.761,-1201,23.5833,157.519,-87.1356],[196.625,-1100.38,22.9333,152.335,-87.0153],[191.318,-1000.71,22.2667,146.937,-86.882],[185.836,-902.327,21.5833,141.322,-86.7337],[179.909,-801.05,20.85,135.205,-86.5594],[173.665,-700.015,20.0833,128.712,-86.3578],[167.236,-601.975,19.3,121.979,-86.1276],[160.208,-501.621,18.45,114.564,-85.8451],[152.57,-400.535,17.5333,106.449,-85.4931],[144.313,-300.46,16.55,97.6136,-85.0467],[135.148,-200.385,15.4667,87.7392,-84.4453],[124.775,-100.907,14.25,76.4944,-83.577],[112.318,-0.471998,12.8,62.919,-82.1228],[96.1576,99.3582,10.9333,45.2725,-78.9345],[60.6444,199.971,6.86667,9.98351,-28.6588],[56.4095,201.18,6.38333,8.76351,-0.31998]]], - [83,202.108,[[207.532,-2002.07,28.1833,191.746,-88.0607],[204.059,-1900.84,27.65,187.976,-88.0066],[200.558,-1801.63,27.1167,184.148,-87.9497],[196.921,-1701.48,26.5667,180.141,-87.8881],[193.146,-1600.62,26,175.948,-87.8211],[189.341,-1502.16,25.4333,171.693,-87.7504],[185.282,-1400.56,24.8333,167.118,-87.6709],[181.193,-1301.72,24.2333,162.474,-87.5863],[176.842,-1200.45,23.6,157.497,-87.4907],[172.459,-1102.35,22.9667,152.444,-87.3881],[167.694,-1000.13,22.2833,146.91,-87.2686],[162.893,-901.728,21.6,141.292,-87.1386],[157.701,-800.434,20.8667,135.172,-86.9858],[152.35,-701.524,20.1167,128.818,-86.8132],[146.6,-601.322,19.3167,121.938,-86.6075],[140.443,-500.948,18.4667,114.518,-86.3598],[133.875,-401.612,17.5667,106.544,-86.0572],[126.643,-301.367,16.5833,97.7026,-85.6669],[118.616,-201.102,15.5,87.819,-85.1411],[109.406,-100.139,14.2667,76.4048,-84.37],[98.6207,-0.713834,12.8333,62.9598,-83.1103],[84.466,99.4537,10.9667,45.2567,-80.319],[54.5128,199.938,7.05,10.0164,-40.0131],[49.5253,202.106,6.4,7.67501,-0.501733]]], - [84,202.913,[[178.149,-2002.11,28.2,191.753,-88.3363],[175.169,-1900.86,27.6667,187.982,-88.2899],[172.166,-1801.63,27.1333,184.153,-88.2412],[169.045,-1701.46,26.5833,180.145,-88.1882],[165.806,-1600.58,26.0167,175.952,-88.1307],[162.542,-1502.1,25.45,171.695,-88.07],[159.06,-1400.47,24.85,167.119,-88.0019],[155.551,-1301.62,24.25,162.473,-87.9293],[151.819,-1200.32,23.6167,157.495,-87.8473],[148.058,-1102.2,22.9833,152.441,-87.7593],[144.07,-1002.4,22.3167,147.041,-87.6593],[139.85,-901.519,21.6167,141.285,-87.5452],[135.396,-800.197,20.8833,135.162,-87.4141],[130.805,-701.257,20.1333,128.804,-87.2659],[125.872,-601.024,19.3333,121.921,-87.0894],[120.589,-500.616,18.4833,114.496,-86.8768],[114.954,-401.244,17.5833,106.517,-86.6171],[108.75,-300.96,16.6,97.6688,-86.2821],[101.863,-200.652,15.5167,87.7757,-85.8306],[94.0684,-100.91,14.3,76.503,-85.1785],[84.708,-0.157604,12.85,62.8796,-84.0853],[72.6731,99.3367,11,45.2855,-81.7107],[47.6353,199.887,7.18333,10.069,-49.1918],[42.5891,202.911,6.41667,6.58423,-0.911152]]], - [85,203.596,[[148.658,-2002.63,28.2167,191.777,-88.6129],[146.172,-1901.35,27.6833,188.005,-88.574],[143.668,-1802.1,27.15,184.176,-88.5334],[141.066,-1701.91,26.6,180.167,-88.4893],[138.364,-1601,26.0333,175.974,-88.4414],[135.642,-1502.49,25.4667,171.716,-88.3909],[132.737,-1400.83,24.8667,167.14,-88.3339],[129.811,-1301.94,24.2667,162.493,-88.2734],[126.698,-1200.61,23.6333,157.514,-88.2051],[123.562,-1102.45,23,152.459,-88.1316],[120.153,-1000.17,22.3167,146.921,-88.0462],[116.717,-901.703,21.6333,141.299,-87.953],[113.002,-800.341,20.9,135.174,-87.8439],[109.174,-701.36,20.15,128.815,-87.7204],[105.059,-601.082,19.35,121.929,-87.573],[100.654,-500.626,18.5,114.501,-87.3958],[95.9537,-401.204,17.6,106.517,-87.1792],[90.7795,-300.864,16.6167,97.6632,-86.8997],[85.0355,-200.494,15.5333,87.7623,-86.5232],[78.5352,-100.682,14.3167,76.4782,-85.979],[70.8187,-0.891516,12.8833,62.9934,-85.0792],[60.6917,99.7559,11.0167,45.1993,-83.081],[40.1769,199.986,7.26667,9.97626,-56.6304],[35.603,203.593,6.43333,5.49216,-1.68453]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 70.8187; -_maxRange = 407.499; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg1.sqf deleted file mode 100644 index 434c18e5d9..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg1.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_60mm_m720a1_m734_pd_chg1 -// Ammo: ace_arty_60mm_m720a1_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,373.038,[[2441.17,-2002.72,31.4667,206.524,-71.6102],[2407.38,-1902.34,30.95,203.367,-71.158],[2372.21,-1800.64,30.4167,200.069,-70.6723],[2336.75,-1700.91,29.8833,196.732,-70.1661],[2299.9,-1600.16,29.3333,193.251,-69.6212],[2262.74,-1501.58,28.7833,189.733,-69.0518],[2224.15,-1402.31,28.2167,186.07,-68.4375],[2184.1,-1302.59,27.6333,182.261,-67.7738],[2142.57,-1202.67,27.0333,178.306,-67.0556],[2098.36,-1100.17,26.4,174.093,-66.2553],[2053.79,-1000.75,25.7667,169.846,-65.4081],[2007.66,-901.986,25.1167,165.455,-64.4856],[1958.76,-801.767,24.4333,160.811,-63.4527],[1907.03,-700.7,23.7167,155.918,-62.2933],[1853.64,-601.63,22.9833,150.896,-61.0182],[1796.12,-500.734,22.2,145.528,-59.546],[1735.62,-401.049,21.3833,139.943,-57.8764],[1670.84,-301.498,20.5167,134.054,-55.9356],[1600.44,-201.582,19.5833,127.787,-53.6255],[1523.02,-101.481,18.5667,121.097,-50.8132],[1435.87,-0.79562,17.4333,113.885,-47.2599],[1336.15,99.1207,16.15,106.165,-42.6205],[1214.33,199.518,14.6,97.7382,-36.0095],[1047.05,299.534,12.5,88.601,-25.0914],[732.904,373.036,8.63333,82.2422,-0.0861465]]], - [46,385.843,[[2414.19,-2001.46,31.6667,206.596,-71.9508],[2380.99,-1900.85,31.15,203.431,-71.5068],[2347.52,-1802.06,30.6333,200.227,-71.0451],[2312.7,-1702.02,30.1,196.881,-70.5487],[2276.5,-1600.95,29.55,193.39,-70.0143],[2240,-1502.05,29,189.861,-69.4557],[2202.1,-1402.44,28.4333,186.185,-68.8531],[2162.76,-1302.36,27.85,182.363,-68.202],[2121.97,-1202.08,27.25,178.392,-67.4973],[2079.69,-1101.86,26.6333,174.273,-66.7332],[2035.92,-1001.97,26,170.007,-65.9028],[1989.45,-900.211,25.3333,165.482,-64.9746],[1942.59,-801.973,24.6667,160.928,-63.9858],[1891.8,-700.354,23.95,156.006,-62.8487],[1839.37,-600.712,23.2167,150.952,-61.5976],[1784.09,-501.308,22.45,145.66,-60.1846],[1724.68,-400.861,21.6333,140.03,-58.5478],[1661.08,-300.493,20.7667,134.087,-56.6438],[1593.19,-201.422,19.85,127.866,-54.4182],[1517.19,-100.194,18.8333,121.09,-51.6589],[1434.15,-1.07382,17.7333,113.978,-48.2764],[1337.56,99.4589,16.4667,106.193,-43.7876],[1221.9,199.375,14.9667,97.7772,-37.5163],[1065.68,299.773,12.9667,88.533,-27.324],[732.217,385.84,8.78333,80.7551,-0.113734]]], - [47,398.627,[[2385.95,-2000.78,31.8667,206.687,-72.2975],[2354.41,-1903.15,31.3667,203.616,-71.8763],[2320.49,-1800.89,30.8333,200.3,-71.409],[2286.3,-1700.59,30.3,196.944,-70.9219],[2251.84,-1602.3,29.7667,193.55,-70.4138],[2214.92,-1500.08,29.2,189.902,-69.8494],[2177.71,-1400.19,28.6333,186.213,-69.2579],[2140.19,-1302.66,28.0667,182.486,-68.6375],[2100.15,-1202,27.4667,178.5,-67.9466],[2058.65,-1101.39,26.85,174.365,-67.1973],[2015.68,-1001.1,26.2167,170.08,-66.383],[1971.21,-901.418,25.5667,165.647,-65.496],[1924.07,-800.233,24.8833,160.954,-64.5023],[1875.37,-700.47,24.1833,156.119,-63.4131],[1823.91,-600.243,23.45,151.033,-62.1868],[1769.65,-500.22,22.6833,145.704,-60.8012],[1712.55,-401.114,21.8833,140.146,-59.2294],[1651.33,-301.795,21.0333,134.264,-57.401],[1584.73,-201.698,20.1167,127.977,-55.2222],[1511.39,-100.925,19.1167,121.228,-52.5649],[1429.93,-0.383051,18.0167,114.004,-49.2513],[1337.68,99.3024,16.7833,106.27,-44.9688],[1226.78,199.614,15.3167,97.7952,-38.9621],[1081.32,299.62,13.4167,88.5281,-29.4796],[729.544,398.626,8.91667,79.2551,-0.0427388]]], - [48,411.373,[[2356.43,-2000.7,32.0667,206.796,-72.6504],[2325.48,-1902.82,31.5667,203.717,-72.2375],[2292.2,-1800.29,31.0333,200.393,-71.7794],[2259.71,-1702.84,30.5167,197.133,-71.3171],[2224.84,-1601.17,29.9667,193.622,-70.8037],[2189.68,-1501.65,29.4167,190.071,-70.267],[2153.18,-1401.4,28.85,186.371,-69.6878],[2115.29,-1300.66,28.2667,182.52,-69.0618],[2077.09,-1202.46,27.6833,178.631,-68.4034],[2036.38,-1101.44,27.0667,174.479,-67.6694],[1994.22,-1000.73,26.4333,170.175,-66.8715],[1950.6,-900.616,25.7833,165.721,-66.0022],[1905.48,-801.407,25.1167,161.12,-65.0527],[1857.72,-701.075,24.4167,156.258,-63.9864],[1807.25,-600.246,23.6833,151.141,-62.7855],[1755.19,-501.724,22.9333,145.892,-61.4587],[1699.19,-401.836,22.1333,140.292,-59.9209],[1639.16,-301.678,21.2833,134.358,-58.131],[1573.84,-200.667,20.3667,128.007,-55.9963],[1503.12,-100.511,19.3833,121.291,-53.436],[1424.47,-0.148618,18.3,114.071,-50.2399],[1335.25,99.8992,17.0833,106.293,-46.1019],[1230.27,199.241,15.6667,97.8781,-40.4228],[1092.77,299.955,13.8333,88.4968,-31.4679],[844.898,399.779,10.5833,78.4717,-10.9856],[727.544,411.371,9.06667,77.7265,-0.108629]]], - [49,424.069,[[2325.64,-2001.23,32.2667,206.925,-73.0091],[2295.3,-1903.1,31.7667,203.839,-72.6047],[2262.66,-1800.3,31.2333,200.506,-72.156],[2230.8,-1702.58,30.7167,197.237,-71.7032],[2196.61,-1600.62,30.1667,193.716,-71.2003],[2162.14,-1500.81,29.6167,190.154,-70.6744],[2126.34,-1400.25,29.05,186.441,-70.1069],[2090.25,-1302.06,28.4833,182.688,-69.5115],[2051.73,-1200.69,27.8833,178.673,-68.8483],[2012.9,-1102.03,27.2833,174.617,-68.1488],[1971.57,-1000.89,26.65,170.295,-67.3677],[1928.8,-900.333,26,165.821,-66.5166],[1884.57,-800.661,25.3333,161.196,-65.5866],[1838.86,-702.194,24.65,156.424,-64.5679],[1789.39,-600.746,23.9167,151.277,-63.393],[1738.37,-501.586,23.1667,145.993,-62.0947],[1683.47,-401.011,22.3667,140.351,-60.589],[1624.63,-300.116,21.5167,134.367,-58.8354],[1561.77,-200.089,20.6167,128.07,-56.7823],[1493.64,-100.564,19.65,121.39,-54.319],[1417.76,-0.397727,18.5833,114.178,-51.2412],[1331.55,99.994,17.3833,106.364,-47.2494],[1231.14,199.316,16,97.9316,-41.8248],[1102.63,299.38,14.25,88.573,-33.4716],[891.39,399.68,11.4167,78.2763,-16.0916],[723.598,424.068,9.2,76.1854,-0.0740305]]], - [50,436.699,[[2293.58,-2002.41,32.4667,207.074,-73.3736],[2262.84,-1900.76,31.95,203.877,-72.9645],[2231.86,-1800.93,31.4333,200.64,-72.5389],[2200.64,-1702.94,30.9167,197.363,-72.0957],[2167.14,-1600.67,30.3667,193.832,-71.6036],[2133.36,-1500.56,29.8167,190.258,-71.0888],[2099.32,-1402.63,29.2667,186.644,-70.5501],[2062.92,-1301.18,28.6833,182.768,-69.9504],[2026.22,-1202.27,28.1,178.85,-69.3196],[1987.11,-1100.48,27.4833,174.665,-68.6161],[1947.69,-1001.61,26.8667,170.44,-67.8718],[1905.79,-900.592,26.2167,165.945,-67.0392],[1862.45,-800.444,25.55,161.298,-66.1295],[1817.67,-701.484,24.8667,156.501,-65.1325],[1770.31,-601.771,24.15,151.441,-64.0095],[1720.33,-501.956,23.4,146.123,-62.7402],[1666.56,-400.676,22.6,140.44,-61.2676],[1610.06,-300.958,21.7667,134.525,-59.5868],[1549.64,-201.798,20.8833,128.285,-57.6191],[1482.92,-101.112,19.9167,121.528,-55.2138],[1409.78,-1.15934,18.8667,114.329,-52.2545],[1326.55,99.5568,17.6833,106.484,-48.4102],[1229.44,199.899,16.3167,97.9484,-43.1713],[1108.47,299.572,14.6333,88.5892,-35.314],[921.403,399.825,12.0667,78.155,-19.9532],[719.019,436.698,9.33333,74.6237,-0.0584285]]], - [51,449.248,[[2259.26,-2000.94,32.65,207.14,-73.731],[2230.13,-1902.33,32.15,204.039,-73.3437],[2199.8,-1802.21,31.6333,200.795,-72.9277],[2168.24,-1700.79,31.1,197.403,-72.4802],[2136.42,-1601.36,30.5667,193.969,-72.0132],[2103.35,-1500.94,30.0167,190.386,-71.5099],[2070.01,-1402.7,29.4667,186.76,-70.983],[2034.37,-1300.91,28.8833,182.871,-70.3966],[1998.44,-1201.65,28.3,178.939,-69.7795],[1961.19,-1102.23,27.7,174.852,-69.1104],[1921.54,-1000.27,27.0667,170.495,-68.363],[1881.57,-901.42,26.4333,166.097,-67.5697],[1839.15,-800.781,25.7667,161.428,-66.6806],[1795.3,-701.313,25.0833,156.605,-65.706],[1748.94,-601.063,24.3667,151.516,-64.6079],[1700,-500.68,23.6167,146.165,-63.3662],[1648.46,-400.856,22.8333,140.56,-61.9562],[1593.15,-300.378,22,134.597,-60.3133],[1534.01,-200.403,21.1167,128.3,-58.3884],[1469.84,-100.5,20.1667,121.588,-56.0762],[1399.4,-0.932618,19.1333,114.41,-53.2297],[1319.11,99.9108,17.9667,106.545,-49.526],[1226.42,199.899,16.6333,98.025,-44.5331],[1111.62,299.842,15,88.6114,-37.0869],[943.06,399.856,12.6333,78.1006,-23.2708],[713.804,449.247,9.46667,73.0424,-0.0633163]]], - [52,461.702,[[2223.69,-2000.15,32.8333,207.228,-74.0945],[2195.19,-1901.31,32.3333,204.119,-73.7158],[2165.5,-1800.96,31.8167,200.866,-73.3089],[2135.59,-1702.45,31.3,197.572,-72.8852],[2104.46,-1602.71,30.7667,194.129,-72.429],[2072.1,-1501.96,30.2167,190.536,-71.9374],[2038.49,-1400.44,29.65,186.789,-71.4067],[2004.61,-1301.26,29.0833,182.999,-70.8497],[1969.45,-1201.65,28.5,179.053,-70.2467],[1933,-1101.86,27.9,174.951,-69.5928],[1895.23,-1002.17,27.2833,170.692,-68.882],[1855.1,-900.272,26.6333,166.158,-68.0868],[1814.63,-801.699,25.9833,161.585,-67.2398],[1771.74,-701.708,25.3,156.739,-66.2881],[1726.38,-600.904,24.5833,151.621,-65.2155],[1679.58,-502.129,23.85,146.356,-64.0302],[1629.17,-401.579,23.0667,140.713,-62.6545],[1575.07,-300.32,22.2333,134.704,-61.0505],[1518.32,-201.349,21.3667,128.47,-59.2074],[1455.56,-100.4,20.4167,121.686,-56.951],[1387.79,-1.23235,19.4,114.533,-54.2174],[1310.4,99.7225,18.25,106.655,-50.6556],[1222.05,199.283,16.95,98.1634,-45.9088],[1113.3,299.337,15.3667,88.7221,-38.8751],[959.099,399.623,13.15,78.1128,-26.2746],[707.947,461.7,9.6,71.4416,-0.0903045]]], - [53,474.044,[[2186.89,-2000.07,33.0167,207.336,-74.4638],[2159.02,-1901,32.5167,204.22,-74.0939],[2129.99,-1800.4,32,200.959,-73.6964],[2100.73,-1701.64,31.4833,197.656,-73.2824],[2070.29,-1601.64,30.95,194.205,-72.8367],[2038.65,-1500.63,30.4,190.601,-72.3563],[2006.75,-1401.79,29.85,186.953,-71.8533],[1973.63,-1302.26,29.2833,183.151,-71.3096],[1939.26,-1202.29,28.7,179.192,-70.7211],[1903.62,-1102.12,28.1,175.075,-70.0827],[1866.7,-1002.03,27.4833,170.8,-69.3888],[1828.47,-902.304,26.85,166.365,-68.6327],[1787.89,-800.728,26.1833,161.653,-67.7848],[1745.96,-700.291,25.5,156.782,-66.855],[1702.65,-601.322,24.8,151.756,-65.832],[1656.9,-501.958,24.0667,146.46,-64.6753],[1607.62,-400.773,23.2833,140.779,-63.3321],[1555.8,-300.813,22.4667,134.845,-61.798],[1500.33,-201.002,21.6,128.557,-59.9997],[1440.08,-100.842,20.6667,121.824,-57.8372],[1373.85,-0.518371,19.65,114.584,-55.1702],[1300.42,98.961,18.5333,106.816,-51.7975],[1215.22,199.224,17.25,98.2581,-47.2315],[1111.23,299.951,15.7,88.7312,-40.5147],[969.759,399.639,13.6167,78.1249,-28.9717],[700.283,474.044,9.71667,69.8276,-0.00718586]]], - [54,486.262,[[2148.85,-2000.71,33.2,207.466,-74.8387],[2121.62,-1901.4,32.7,204.343,-74.4777],[2093.25,-1800.55,32.1833,201.075,-74.0898],[2064.67,-1701.53,31.6667,197.764,-73.6858],[2034.92,-1601.26,31.1333,194.303,-73.2508],[2004.95,-1503.01,30.6,190.799,-72.7964],[1972.84,-1400.85,30.0333,187.03,-72.2908],[1940.48,-1301.03,29.4667,183.216,-71.76],[1906.89,-1200.75,28.8833,179.243,-71.1853],[1872.07,-1100.27,28.2833,175.111,-70.5619],[1836.97,-1002.54,27.6833,170.935,-69.9029],[1799.63,-902.385,27.05,166.482,-69.1654],[1759.99,-800.363,26.3833,161.749,-68.3382],[1720.03,-701.879,25.7167,156.974,-67.4538],[1676.72,-600.017,25,151.802,-66.4323],[1632.02,-500.149,24.2667,146.474,-65.3027],[1584.91,-400.531,23.5,140.878,-64.0196],[1535.34,-301.88,22.7,135.022,-62.5549],[1481.17,-201.208,21.8333,128.681,-60.8029],[1422.32,-100.111,20.9,121.883,-58.694],[1358.71,-0.345333,19.9,114.677,-56.1358],[1288.1,99.0225,18.8,106.913,-52.8977],[1206,199.775,17.5333,98.3032,-48.5044],[1107.78,299.862,16.0333,88.8189,-42.171],[976.388,399.671,14.05,78.1563,-31.4758],[693.162,486.26,9.85,68.1887,-0.0808804]]], - [55,498.341,[[2109.56,-2002.1,33.3833,207.618,-75.2193],[2082.97,-1902.54,32.8833,204.489,-74.8674],[2055.28,-1801.42,32.3667,201.214,-74.4892],[2027.38,-1702.14,31.85,197.895,-74.0954],[1998.34,-1601.6,31.3167,194.425,-73.6713],[1968.16,-1500.02,30.7667,190.802,-73.214],[1937.74,-1400.6,30.2167,187.132,-72.7352],[1906.14,-1300.48,29.65,183.306,-72.2176],[1874.3,-1202.73,29.0833,179.435,-71.6735],[1840.31,-1101.84,28.4833,175.29,-71.0663],[1805.1,-1001.01,27.8667,170.981,-70.406],[1768.64,-900.507,27.2333,166.51,-69.6864],[1730.92,-800.628,26.5833,161.875,-68.8999],[1691.92,-701.68,25.9167,157.078,-68.0378],[1650.63,-601.645,25.2167,151.999,-67.0661],[1607.02,-501.154,24.4833,146.642,-65.9665],[1561.04,-400.879,23.7167,141.011,-64.717],[1512.66,-301.536,22.9167,135.114,-63.2899],[1459.8,-200.106,22.05,128.721,-61.5818],[1404.43,-101.694,21.15,122.103,-59.6019],[1342.37,-0.741737,20.15,114.815,-57.1136],[1273.48,99.9443,19.05,106.942,-53.9593],[1195.5,199.727,17.8167,98.4061,-49.7924],[1102.91,299.039,16.3667,88.9876,-43.841],[979.137,399.977,14.45,78.1732,-33.7936],[684.281,498.34,9.96667,66.5369,-0.0418253]]], - [56,510.267,[[2068.15,-2000.92,33.55,207.689,-75.594],[2042.22,-1901.15,33.05,204.553,-75.2509],[2016.09,-1803.06,32.55,201.376,-74.8943],[1987.99,-1700.32,32.0167,197.943,-74.4982],[1960.55,-1602.67,31.5,194.573,-74.0979],[1931.11,-1500.79,30.95,190.94,-73.6526],[1901.44,-1401.07,30.4,187.261,-73.1862],[1870.63,-1300.63,29.8333,183.423,-72.6821],[1839.57,-1202.56,29.2667,179.54,-72.1521],[1806.42,-1101.33,28.6667,175.38,-71.5605],[1772.08,-1000.15,28.05,171.056,-70.9171],[1737.46,-901.895,27.4333,166.685,-70.2348],[1700.68,-801.551,26.7833,162.031,-69.4694],[1662.64,-702.122,26.1167,157.212,-68.6303],[1622.38,-601.577,25.4167,152.109,-67.6842],[1579.85,-500.547,24.6833,146.722,-66.6133],[1536,-401.843,23.9333,141.179,-65.4235],[1488.83,-301.787,23.1333,135.241,-64.0351],[1438.29,-201.483,22.2833,128.922,-62.406],[1383.31,-100.35,21.3667,122.121,-60.4434],[1323.81,-0.107705,20.3833,114.877,-58.0596],[1258.69,98.8333,19.3167,107.14,-55.0854],[1183.73,199.05,18.1,98.5688,-51.0938],[1094.55,299.566,16.6667,89.0267,-45.3739],[980.27,399.247,14.85,78.3222,-36.1265],[768.518,499.821,11.5333,65.9502,-12.4327],[674.8,510.267,10.0833,64.8664,-0.0260835]]], - [57,522.026,[[2025.56,-2000.52,33.7167,207.783,-75.9744],[2000.29,-1900.53,33.2167,204.641,-75.6404],[1974.82,-1802.22,32.7167,201.456,-75.2931],[1948.29,-1702.44,32.2,198.122,-74.9197],[1920.69,-1601.37,31.6667,194.635,-74.5175],[1892.88,-1502.31,31.1333,191.103,-74.0972],[1863.97,-1402.27,30.5833,187.415,-73.6435],[1833.94,-1301.51,30.0167,183.567,-73.1531],[1802.79,-1200.24,29.4333,179.556,-72.6219],[1771.38,-1101.53,28.85,175.498,-72.0618],[1738.83,-1002.68,28.25,171.277,-71.4532],[1704.19,-901.35,27.6167,166.771,-70.7717],[1668.35,-800.613,26.9667,162.098,-70.0266],[1631.29,-700.776,26.3,157.257,-69.2096],[1592.99,-602.158,25.6167,152.251,-68.3108],[1551.56,-500.572,24.8833,146.835,-67.2693],[1508.84,-401.293,24.1333,141.259,-66.1117],[1462.88,-300.619,23.3333,135.282,-64.7603],[1414.61,-201.572,22.5,129.04,-63.2063],[1362.04,-101.373,21.6,122.303,-61.334],[1304.09,-0.0595922,20.6167,114.984,-59.0181],[1241.67,98.5691,19.5667,107.27,-56.1731],[1169.68,199.02,18.3667,98.6761,-52.3486],[1084.86,299.417,16.9667,89.1386,-46.923],[976.698,399.882,15.2,78.3253,-38.1854],[797.761,499.876,12.3167,65.8668,-18.3079],[664.719,522.026,10.2,63.178,-0.0357024]]], - [58,533.603,[[1981.77,-2000.93,33.8833,207.9,-76.3603],[1957.16,-1900.71,33.3833,204.752,-76.0355],[1932.36,-1802.18,32.8833,201.56,-75.6978],[1906.54,-1702.15,32.3667,198.219,-75.3345],[1879.67,-1600.84,31.8333,194.723,-74.9434],[1852.59,-1501.53,31.3,191.182,-74.5346],[1824.44,-1401.24,30.75,187.483,-74.0933],[1795.21,-1300.2,30.1833,183.624,-73.6161],[1765.75,-1201.52,29.6167,179.716,-73.1143],[1735.18,-1102.45,29.0333,175.646,-72.5702],[1702.61,-1000.51,28.4167,171.292,-71.9618],[1669.77,-901.507,27.8,166.888,-71.3163],[1634.89,-800.361,27.15,162.196,-70.592],[1598.81,-700.101,26.4833,157.334,-69.7975],[1561.54,-601.046,25.8,152.304,-68.9234],[1522.13,-501.256,25.0833,146.983,-67.9341],[1480.55,-401.384,24.3333,141.376,-66.8096],[1435.83,-300.072,23.5333,135.36,-65.4962],[1388.85,-200.354,22.7,129.072,-63.9851],[1338.63,-101.229,21.8167,122.404,-62.1988],[1283.21,-0.626239,20.85,115.137,-59.9883],[1222.47,99.1846,19.8,107.328,-57.2255],[1153.4,199.676,18.6167,98.7237,-53.5603],[1072.87,299.674,17.25,89.2133,-48.416],[971.656,399.653,15.55,78.4365,-40.2626],[813.894,499.749,12.9333,65.8786,-22.8465],[654.036,533.601,10.3167,61.4718,-0.0732138]]], - [59,544.985,[[1936.78,-2002.16,34.05,208.042,-76.7517],[1912.85,-1901.71,33.55,204.887,-76.4362],[1888.73,-1802.94,33.05,201.689,-76.1082],[1863.62,-1702.67,32.5333,198.341,-75.7554],[1837.49,-1601.1,32,194.837,-75.3754],[1811.15,-1501.52,31.4667,191.288,-74.9783],[1783.78,-1400.96,30.9167,187.579,-74.5496],[1756.19,-1302.59,30.3667,183.823,-74.1],[1726.7,-1200.68,29.7833,179.789,-73.5985],[1696.97,-1101.31,29.2,175.705,-73.0696],[1666.15,-1001.79,28.6,171.455,-72.4947],[1634.23,-902.382,27.9833,167.036,-71.8683],[1600.3,-800.814,27.3333,162.326,-71.1652],[1565.23,-700.115,26.6667,157.443,-70.3939],[1528.99,-600.607,25.9833,152.39,-69.545],[1490.67,-500.337,25.2667,147.043,-68.584],[1451.14,-402.138,24.5333,141.529,-67.5166],[1407.66,-300.168,23.7333,135.476,-66.2423],[1362.91,-201.707,22.9167,129.27,-64.8061],[1314.09,-101.713,22.0333,122.548,-63.0744],[1260.22,-0.150132,21.0667,115.211,-60.9297],[1202.12,99.19,20.0333,107.438,-58.2915],[1135.94,199.712,18.8667,98.8281,-54.7871],[1059.59,299.251,17.5333,89.3596,-49.924],[964.164,399.412,15.8833,78.5562,-42.2637],[821.737,499.882,13.45,65.8925,-26.6142],[642.749,544.983,10.4333,59.7482,-0.141201]]], - [60,556.16,[[1889.83,-2000.87,34.2,208.102,-77.1382],[1866.58,-1900.23,33.7,204.941,-76.8318],[1843.14,-1801.27,33.2,201.736,-76.5133],[1818.74,-1700.8,32.6833,198.379,-76.1706],[1794.15,-1602.17,32.1667,194.978,-75.8133],[1768.57,-1502.32,31.6333,191.42,-75.4281],[1741.98,-1401.48,31.0833,187.702,-75.0122],[1715.18,-1302.82,30.5333,183.936,-74.576],[1686.53,-1200.61,29.95,179.891,-74.0895],[1657.65,-1100.93,29.3667,175.794,-73.5763],[1627.72,-1001.08,28.7667,171.53,-73.0184],[1596.7,-901.346,28.15,167.095,-72.4103],[1564.6,-801.996,27.5167,162.488,-71.7458],[1530.53,-700.844,26.85,157.587,-70.9982],[1495.33,-600.865,26.1667,152.511,-70.1751],[1458.11,-500.098,25.45,147.138,-69.2431],[1419.72,-401.385,24.7167,141.594,-68.2075],[1378.38,-300.931,23.9333,135.631,-66.9977],[1334.92,-201.771,23.1167,129.383,-65.6059],[1287.52,-101.014,22.2333,122.609,-63.9266],[1236.11,-0.303698,21.2833,115.332,-61.8832],[1180.61,98.5568,20.2667,107.599,-59.3695],[1117.28,199.1,19.1167,98.9916,-56.0269],[1044.1,299.282,17.8,89.4619,-51.3791],[954.299,399.229,16.2,78.6744,-44.1919],[824.673,499.765,13.9167,65.9645,-30.0172],[629.891,556.158,10.5333,58.0117,-0.0813135]]], - [61,567.111,[[1841.73,-2000.43,34.35,208.187,-77.5301],[1819.93,-1902.93,33.8667,205.126,-77.2432],[1796.43,-1800.44,33.35,201.808,-76.9242],[1773.52,-1702.97,32.85,198.553,-76.6029],[1748.89,-1600.91,32.3167,195.034,-76.2454],[1724.07,-1500.85,31.7833,191.467,-75.8718],[1699.05,-1402.81,31.25,187.853,-75.4809],[1672.26,-1300.89,30.6833,183.963,-75.0452],[1645.25,-1201.32,30.1167,180.022,-74.587],[1617.23,-1101.32,29.5333,175.914,-74.0898],[1588.19,-1001.14,28.9333,171.636,-73.5492],[1558.1,-901.06,28.3167,167.186,-72.9599],[1526.95,-801.351,27.6833,162.562,-72.3159],[1494.73,-702.313,27.0333,157.764,-71.6098],[1460.58,-601.848,26.35,152.667,-70.8131],[1424.48,-500.566,25.6333,147.269,-69.9108],[1387.24,-401.321,24.9,141.697,-68.9079],[1347.13,-300.293,24.1167,135.699,-67.7357],[1304.97,-200.53,23.3,129.41,-66.3866],[1259.86,-100.966,22.4333,122.714,-64.7901],[1210.87,-1.11471,21.5,115.502,-62.8476],[1157.05,98.8196,20.4833,107.686,-60.4155],[1096.53,199.2,19.35,99.0909,-57.227],[1026.48,299.814,18.05,89.515,-52.785],[942.14,399.17,16.5,78.7821,-46.0508],[822.955,499.876,14.3333,66.0214,-33.0681],[616.486,567.111,10.6333,56.2582,-0.0486555]]], - [62,577.829,[[1792.5,-2000.88,34.5,208.298,-77.9276],[1771.36,-1903.18,34.0167,205.231,-77.6497],[1748.6,-1800.47,33.5,201.907,-77.341],[1726.39,-1702.79,33,198.645,-77.0298],[1702.52,-1600.5,32.4667,195.118,-76.6837],[1678.46,-1500.21,31.9333,191.543,-76.3219],[1654.21,-1401.93,31.4,187.92,-75.9433],[1629.02,-1302.74,30.85,184.135,-75.5341],[1602.85,-1202.85,30.2833,180.184,-75.0909],[1575.7,-1102.51,29.7,176.065,-74.61],[1547.56,-1001.99,29.1,171.774,-74.0871],[1518.41,-901.543,28.4833,167.309,-73.517],[1488.22,-801.461,27.85,162.67,-72.8938],[1457,-702.035,27.2,157.853,-72.2105],[1423.92,-601.16,26.5167,152.735,-71.4393],[1389.75,-501.76,25.8167,147.438,-70.5867],[1353.67,-401.966,25.0833,141.838,-69.6172],[1314.82,-300.344,24.3,135.808,-68.4837],[1274.81,-201.948,23.5,129.608,-67.2064],[1231.11,-101.589,22.6333,122.863,-65.6642],[1183.66,-0.874848,21.7,115.591,-63.7864],[1132.39,98.43,20.7,107.825,-61.4741],[1074.64,198.641,19.5833,99.2491,-58.4404],[1007.66,299.678,18.3,89.6359,-54.2069],[927.764,399.299,16.7833,78.8706,-47.8441],[817.733,499.982,14.7167,66.0906,-35.9001],[602.534,577.828,10.7333,54.488,-0.045895]]], - [63,588.3,[[1742.14,-2002.24,34.65,208.433,-78.33],[1720.98,-1900.97,34.15,205.255,-78.0521],[1699.65,-1801.38,33.65,202.032,-77.763],[1677.44,-1700.25,33.1333,198.654,-77.452],[1655.06,-1600.96,32.6167,195.23,-77.1277],[1631.78,-1500.42,32.0833,191.647,-76.778],[1608.31,-1401.9,31.55,188.016,-76.412],[1583.92,-1302.45,31,184.221,-76.0163],[1558.6,-1202.29,30.4333,180.259,-75.5878],[1532.33,-1101.68,29.85,176.128,-75.1228],[1505.09,-1000.88,29.25,171.824,-74.617],[1476.88,-900.135,28.6333,167.345,-74.0655],[1448.44,-802.348,28.0167,162.811,-73.479],[1417.45,-700.005,27.35,157.853,-72.8014],[1386.21,-601.218,26.6833,152.839,-72.0738],[1353.15,-501.377,25.9833,147.519,-71.2498],[1318.24,-401.115,25.25,141.891,-70.3125],[1281.45,-301.109,24.4833,135.957,-69.2407],[1241.93,-200.076,23.6667,129.59,-67.9803],[1200.47,-101.03,22.8167,122.929,-66.5175],[1155.38,-1.30835,21.9,115.728,-64.7364],[1105.78,98.9579,20.9,107.888,-62.5037],[1050.75,198.824,19.8,99.3394,-59.6175],[987.665,298.846,18.55,89.8268,-55.642],[911.254,399.672,17.05,78.9323,-49.5759],[810.038,499.626,15.0833,66.2324,-38.6335],[588.037,588.298,10.8333,52.7017,-0.0764778]]], - [64,598.509,[[1689.98,-2001.11,34.7833,208.49,-78.7286],[1670.21,-1903.03,34.3,205.412,-78.4692],[1649.6,-1803.2,33.8,202.184,-78.1903],[1628.14,-1701.83,33.2833,198.801,-77.8903],[1606.51,-1602.3,32.7667,195.37,-77.5773],[1584.01,-1501.51,32.2333,191.78,-77.2398],[1561.33,-1402.73,31.7,188.141,-76.8867],[1537.05,-1300.02,31.1333,184.221,-76.4929],[1513.3,-1202.58,30.5833,180.366,-76.0912],[1487.91,-1101.68,30,176.224,-75.6423],[1461.59,-1000.58,29.4,171.907,-75.1541],[1435.06,-902.219,28.8,167.536,-74.6364],[1406.84,-801.427,28.1667,162.865,-74.0552],[1377.65,-701.266,27.5167,158.014,-73.4177],[1347.47,-602.046,26.85,152.98,-72.7161],[1315.52,-501.745,26.15,147.638,-71.9214],[1281.79,-400.998,25.4167,141.984,-71.0171],[1246.24,-300.479,24.65,136.019,-69.9827],[1208.85,-200.911,23.85,129.746,-68.7918],[1168.79,-101.164,23,123.04,-67.3817],[1125.23,-0.679148,22.0833,115.784,-65.6635],[1078.12,98.8155,21.1,108.004,-63.5459],[1024.97,199.78,20,99.3586,-60.7617],[964.844,299.806,18.7667,89.8361,-56.9745],[893.517,399.311,17.3167,79.08,-51.3245],[799.121,499.632,15.4167,66.3294,-41.1617],[572.995,598.507,10.9333,50.8997,-0.144381]]], - [65,608.446,[[1636.74,-2000.91,34.9167,208.572,-79.1324],[1617.67,-1902.65,34.4333,205.489,-78.8823],[1597.78,-1802.65,33.9333,202.255,-78.6134],[1577.07,-1701.08,33.4167,198.865,-78.324],[1556.2,-1601.35,32.9,195.428,-78.0222],[1534.49,-1500.36,32.3667,191.829,-77.6967],[1512.6,-1401.38,31.8333,188.182,-77.3561],[1489.86,-1301.45,31.2833,184.369,-76.9877],[1466.25,-1200.8,30.7167,180.387,-76.5887],[1442.45,-1102.53,30.15,176.352,-76.1683],[1417.06,-1001.11,29.55,172.024,-75.6979],[1391.46,-902.438,28.95,167.64,-75.1992],[1364.24,-801.31,28.3167,162.954,-74.639],[1336.07,-700.801,27.6667,158.085,-74.0246],[1306.95,-601.22,27,153.033,-73.3482],[1276.13,-500.538,26.3,147.668,-72.5819],[1244.33,-401.636,25.5833,142.118,-71.7303],[1210.04,-300.585,24.8167,136.123,-70.7341],[1173.96,-200.457,24.0167,129.815,-69.5869],[1135.32,-100.108,23.1667,123.066,-68.2276],[1094.07,-0.742315,22.2667,115.889,-66.6021],[1048.63,99.6058,21.2833,108.041,-64.5624],[998.921,198.607,20.2167,99.5673,-61.965],[941.733,298.822,19,90.0399,-58.3786],[873.754,399.242,17.5667,79.1933,-53.0145],[785.955,499.429,15.7333,66.4591,-43.601],[620.244,599.996,12.3167,50.4882,-14.6531],[556.59,608.445,11.0167,49.085,-0.0632478]]], - [66,618.1,[[1582.45,-2001.66,35.05,208.681,-79.5413],[1564.07,-1903.22,34.5667,205.593,-79.3006],[1544.91,-1803.02,34.0667,202.354,-79.0418],[1524.96,-1701.25,33.55,198.958,-78.7633],[1504.86,-1601.32,33.0333,195.514,-78.4728],[1483.94,-1500.11,32.5,191.908,-78.1595],[1462.86,-1400.92,31.9667,188.253,-77.8316],[1440.95,-1300.76,31.4167,184.431,-77.477],[1418.88,-1202.81,30.8667,180.557,-77.1045],[1395.28,-1101.38,30.2833,176.393,-76.6881],[1371.5,-1002.49,29.7,172.174,-76.2481],[1346.16,-900.779,29.0833,167.655,-75.7548],[1320.62,-802.01,28.4667,163.078,-75.2299],[1293.5,-701.138,27.8167,158.194,-74.639],[1265.45,-601.18,27.15,153.123,-73.9883],[1235.77,-500.099,26.45,147.737,-73.251],[1205.14,-400.785,25.7333,142.163,-72.4315],[1172.83,-301.443,24.9833,136.27,-71.4943],[1138.09,-200.733,24.1833,129.928,-70.3916],[1101.61,-101.68,23.35,123.272,-69.1117],[1061.89,-1.51511,22.45,116.045,-67.5513],[1018.14,99.7141,21.4667,108.132,-65.5916],[970.275,199.679,20.4,99.5717,-63.0929],[915.968,299.709,19.2,90.0532,-59.688],[852.048,399.517,17.8,79.2659,-54.6504],[769.853,499.894,16.0167,66.4974,-45.8557],[629.96,599.95,13.0167,50.5289,-21.7719],[539.704,618.1,11.1,47.255,-0.0141688]]], - [67,627.457,[[1527.1,-2003.39,35.1833,208.817,-79.9549],[1508.82,-1901.37,34.6833,205.618,-79.7156],[1490.4,-1801.03,34.1833,202.372,-79.4668],[1471.83,-1702.37,33.6833,199.08,-79.2078],[1452.5,-1602.22,33.1667,195.63,-78.9288],[1432.39,-1500.79,32.6333,192.018,-78.6279],[1412.12,-1401.37,32.1,188.355,-78.313],[1391.06,-1300.98,31.55,184.525,-77.9724],[1369.83,-1202.79,31,180.642,-77.6145],[1347.14,-1101.09,30.4167,176.468,-77.2145],[1324.27,-1001.95,29.8333,172.238,-76.7918],[1300.57,-902.685,29.2333,167.829,-76.331],[1275.36,-800.921,28.6,163.115,-75.8134],[1249.94,-702.307,27.9667,158.34,-75.2604],[1222.98,-601.956,27.3,153.253,-74.636],[1194.45,-500.458,26.6,147.847,-73.9283],[1165,-400.713,25.8833,142.249,-73.1415],[1133.94,-300.917,25.1333,136.33,-72.2415],[1101.24,-201.769,24.35,130.088,-71.2053],[1065.47,-100.149,23.5,123.259,-69.9516],[1027.99,-1.22494,22.6167,116.118,-68.4802],[986.651,99.1102,21.65,108.277,-66.6322],[941.371,198.573,20.6,99.7692,-64.2764],[889.182,299.916,19.4,90.1325,-61.0137],[829.224,399.071,18.0333,79.4203,-56.3025],[752.474,499.527,16.3,66.6526,-48.1297],[629.362,599.873,13.55,50.6128,-27.1701],[522.339,627.457,11.1833,45.4101,-0.00168265]]], - [68,636.507,[[1470.13,-2002.67,35.3,208.875,-80.3654],[1452.59,-1900.5,34.8,205.67,-80.1359],[1435.5,-1803.32,34.3167,202.527,-79.9053],[1417.09,-1701.17,33.8,199.12,-79.6487],[1398.53,-1600.86,33.2833,195.663,-79.3811],[1379.83,-1502.4,32.7667,192.158,-79.1016],[1360.38,-1402.74,32.2333,188.488,-78.7998],[1340.17,-1302.11,31.6833,184.651,-78.4735],[1319.18,-1200.72,31.1167,180.642,-78.1198],[1298.03,-1101.71,30.55,176.577,-77.7472],[1276.09,-1002.29,29.9667,172.336,-77.342],[1252.71,-900.018,29.35,167.792,-76.8876],[1229.15,-800.681,28.7333,163.188,-76.4041],[1204.76,-701.765,28.1,158.399,-75.8738],[1178.89,-601.093,27.4333,153.294,-75.2751],[1152.16,-501.633,26.75,147.997,-74.6131],[1123.91,-401.439,26.0333,142.378,-73.8596],[1094.11,-301.168,25.2833,136.433,-72.9975],[1062.73,-201.519,24.5,130.16,-72.0047],[1029.09,-101.295,23.6667,123.429,-70.8279],[993.144,-1.66669,22.7833,116.242,-69.4199],[953.483,99.4457,21.8167,108.342,-67.65],[910.045,199.76,20.7667,99.7572,-65.3912],[861.376,299.422,19.6,90.2796,-62.3534],[804.575,399.006,18.25,79.5282,-57.904],[733.104,499.158,16.5667,66.8074,-50.3249],[622.983,599.702,14,50.7315,-31.7534],[504.498,636.507,11.2667,43.5507,-0.0306546]]], - [69,645.24,[[1412.19,-2002.95,35.4167,208.96,-80.7808],[1395.38,-1900.62,34.9167,205.75,-80.5612],[1379.02,-1803.27,34.4333,202.603,-80.3405],[1361.39,-1700.95,33.9167,199.19,-80.095],[1343.62,-1600.46,33.4,195.727,-79.8388],[1325.71,-1501.82,32.8833,192.215,-79.5714],[1307.08,-1401.98,32.35,188.538,-79.2825],[1287.73,-1301.14,31.8,184.693,-78.9701],[1268.22,-1202.51,31.25,180.793,-78.6418],[1247.37,-1100.34,30.6667,176.6,-78.2748],[1226.36,-1000.72,30.0833,172.348,-77.8869],[1204.57,-900.949,29.4833,167.915,-77.4639],[1182.01,-801.305,28.8667,163.299,-77.0015],[1158.66,-702.071,28.2333,158.495,-76.4945],[1133.89,-601.062,27.5667,153.374,-75.9219],[1108.3,-501.253,26.8833,148.06,-75.2886],[1081.25,-400.69,26.1667,142.419,-74.5677],[1052.71,-300.028,25.4167,136.448,-73.7426],[1023.32,-202.043,24.65,130.28,-72.8132],[991.107,-101.259,23.8167,123.513,-71.6884],[956.692,-1.03168,22.9333,116.283,-70.3418],[919.38,99.0581,21.9833,108.463,-68.6793],[878.463,198.727,20.95,99.9416,-66.5578],[831.882,299.556,19.7833,90.3602,-63.6584],[778.19,399.362,18.45,79.5845,-59.4598],[711.152,499.732,16.8,66.8286,-52.3606],[611.974,599.793,14.3833,50.8106,-35.7234],[486.183,645.239,11.35,41.6773,-0.10705]]], - [70,653.643,[[1352.74,-2000.81,35.5167,208.967,-81.1939],[1337.22,-1901.74,35.0333,205.86,-80.9912],[1321.04,-1800.89,34.5333,202.599,-80.7732],[1304.73,-1701.71,34.0333,199.29,-80.5463],[1287.76,-1601.03,33.5167,195.822,-80.3018],[1270.65,-1502.21,33,192.304,-80.0465],[1252.86,-1402.16,32.4667,188.62,-79.7708],[1234.37,-1301.13,31.9167,184.768,-79.4726],[1215.73,-1202.29,31.3667,180.86,-79.1592],[1196.38,-1102.78,30.8,176.778,-78.8191],[1175.73,-1000.04,30.2,172.395,-78.4384],[1154.92,-900.042,29.6,167.952,-78.0345],[1133.37,-800.157,28.9833,163.322,-77.593],[1111.06,-700.672,28.35,158.505,-77.1087],[1087.99,-601.886,27.7,153.496,-76.5758],[1063.55,-501.71,27.0167,148.164,-75.9718],[1037.71,-400.759,26.3,142.503,-75.2841],[1011.06,-301.882,25.5667,136.642,-74.515],[982.37,-201.279,24.7833,130.312,-73.6096],[951.605,-100.031,23.95,123.51,-72.5355],[919.355,-1.14598,23.0833,116.375,-71.2745],[883.719,99.6213,22.1333,108.503,-69.6886],[845.274,198.49,21.1167,100.051,-67.6982],[801.429,298.977,19.9667,90.5091,-64.9768],[750.805,399.008,18.65,79.7199,-61.0317],[688.1,499.559,17.0333,66.9522,-54.4169],[598.019,599.622,14.7333,50.9425,-39.4119],[466.734,653.642,11.4167,39.7923,-0.002882]]], - [71,661.706,[[1292.89,-2003.13,35.6333,209.108,-81.6185],[1277.59,-1900.49,35.1333,205.89,-81.4188],[1262.69,-1802.84,34.65,202.733,-81.2181],[1246.63,-1700.2,34.1333,199.309,-80.9948],[1230.98,-1602.6,33.6333,195.948,-80.7696],[1214.15,-1500.41,33.1,192.31,-80.5186],[1197.19,-1400.22,32.5667,188.619,-80.2559],[1180.1,-1302.06,32.0333,184.876,-79.9805],[1161.81,-1200.03,31.4667,180.842,-79.6729],[1143.37,-1100.37,30.9,176.75,-79.3488],[1124.24,-1000.29,30.3167,172.479,-78.9961],[1104.41,-900.038,29.7167,168.025,-78.6116],[1084.43,-802.564,29.1167,163.51,-78.203],[1062.62,-700.146,28.4667,158.553,-77.7302],[1040.63,-601.084,27.8167,153.529,-77.2227],[1017.34,-500.617,27.1333,148.18,-76.6473],[993.296,-401.663,26.4333,142.631,-76.008],[967.33,-300.162,25.6833,136.613,-75.2592],[940.578,-201.31,24.9167,130.392,-74.4152],[911.857,-101.552,24.1,123.695,-73.4145],[880.544,-0.179808,23.2167,116.383,-72.1922],[847.193,99.4432,22.2833,108.599,-70.7093],[810.571,199.074,21.2667,100.082,-68.8157],[769.414,299.047,20.1333,90.5886,-66.2641],[721.81,399.104,18.8333,79.7992,-62.5617],[663.327,499.544,17.25,67.0503,-56.4095],[580.676,599.998,15.0333,50.9737,-42.6963],[447.513,661.704,11.5,37.8923,-0.185528]]], - [72,669.419,[[1231.62,-2003.06,35.7333,209.172,-82.0408],[1217.08,-1900.27,35.2333,205.95,-81.8511],[1202.92,-1802.48,34.75,202.788,-81.6606],[1188.16,-1702.98,34.25,199.471,-81.4555],[1172.79,-1601.95,33.7333,195.992,-81.2346],[1157.3,-1502.77,33.2167,192.463,-81.0038],[1141.19,-1402.36,32.6833,188.767,-80.7546],[1124.45,-1300.94,32.1333,184.901,-80.485],[1107.57,-1201.71,31.5833,180.978,-80.2016],[1090.05,-1101.81,31.0167,176.879,-79.8941],[1071.88,-1001.47,30.4333,172.6,-79.5596],[1053.04,-900.957,29.8333,168.136,-79.1948],[1033.53,-800.544,29.2167,163.485,-78.7959],[1013.34,-700.512,28.5833,158.641,-78.3584],[992.451,-601.158,27.9333,153.604,-77.8767],[970.322,-500.382,27.25,148.238,-77.3306],[947.477,-401.108,26.55,142.671,-76.7236],[923.358,-301.473,25.8167,136.766,-76.029],[897.391,-200.053,25.0333,130.384,-75.2107],[870.664,-101.898,24.2333,123.793,-74.2801],[841.482,-1.83991,23.3667,116.583,-73.1439],[809.805,98.503,22.4333,108.754,-71.7398],[775.021,198.925,21.4167,100.175,-69.9455],[735.93,299.789,20.2833,90.5962,-67.5246],[691.298,399.68,19,79.8187,-64.0547],[636.931,499.731,17.45,67.1164,-58.3439],[562.007,599.387,15.3333,51.1875,-45.9991],[427.229,669.417,11.5667,35.9811,-0.180768]]], - [73,676.775,[[1169.02,-2000.58,35.8167,209.158,-82.4615],[1155.7,-1901.1,35.3333,206.039,-82.2879],[1142.29,-1803.16,34.85,202.874,-82.1076],[1127.84,-1700.21,34.3333,199.44,-81.9069],[1113.75,-1602.31,33.8333,196.069,-81.7044],[1099.08,-1502.97,33.3167,192.534,-81.486],[1083.82,-1402.39,32.7833,188.833,-81.2501],[1067.96,-1300.79,32.2333,184.96,-80.9949],[1051.98,-1201.38,31.6833,181.03,-80.7267],[1035.39,-1101.29,31.1167,176.923,-80.4356],[1018.18,-1000.76,30.5333,172.635,-80.1189],[1000.34,-900.051,29.9333,168.161,-79.7735],[982.356,-802.11,29.3333,163.625,-79.4063],[963.232,-701.781,28.7,158.771,-78.9926],[943.453,-602.119,28.05,153.721,-78.5372],[922.497,-501.015,27.3667,148.341,-78.0208],[900.863,-401.403,26.6667,142.756,-77.4467],[878.022,-301.41,25.9333,136.831,-76.7896],[853.957,-201.716,25.1667,130.562,-76.0327],[828.12,-101.052,24.35,123.805,-75.1345],[800.485,-0.560835,23.4833,116.559,-74.0583],[771.025,98.5204,22.5667,108.825,-72.7531],[738.089,199.612,21.55,100.189,-71.0555],[701.621,299.818,20.4333,90.6714,-68.7994],[659.915,399.553,19.1667,79.9155,-65.5639],[609.559,499.19,17.65,67.2805,-60.2949],[540.325,599.707,15.5833,51.2262,-48.9375],[406.55,676.773,11.6333,34.0575,-0.232066]]], - [74,683.761,[[1106.04,-2002.63,35.9167,209.281,-82.8924],[1093.48,-1902.99,35.4333,206.159,-82.7288],[1080.38,-1801.54,34.9333,202.881,-82.5528],[1067.19,-1701.77,34.4333,199.554,-82.3696],[1053.44,-1600.47,33.9167,196.065,-82.1723],[1039.6,-1501.01,33.4,192.524,-81.9661],[1025.19,-1400.31,32.8667,188.816,-81.7434],[1010.68,-1301.64,32.3333,185.054,-81.5099],[995.595,-1202.04,31.7833,181.118,-81.257],[979.936,-1101.75,31.2167,177.004,-80.9826],[963.691,-1001.02,30.6333,172.708,-80.6839],[946.853,-900.091,30.0333,168.225,-80.3582],[929.885,-801.934,29.4333,163.679,-80.012],[911.837,-701.374,28.8,158.814,-79.6218],[893.171,-601.474,28.15,153.751,-79.1922],[873.394,-500.117,27.4667,148.355,-78.705],[852.976,-400.243,26.7667,142.754,-78.1633],[831.912,-302.203,26.05,136.945,-77.5578],[809.205,-202.111,25.2833,130.653,-76.8446],[784.826,-101.018,24.4667,123.869,-75.9981],[758.749,-0.0675519,23.6,116.59,-74.9834],[730.95,99.5032,22.6833,108.814,-73.7521],[700.384,199.551,21.6833,100.265,-72.1777],[666.493,299.11,20.5833,90.8163,-70.0859],[627.149,399.928,19.3167,79.9496,-67.04],[580.168,499.881,17.8167,67.2675,-62.1263],[516.977,599.853,15.8167,51.2934,-51.7831],[384.945,683.761,11.6833,32.123,-0.0590509]]], - [75,690.372,[[1041.82,-2002.29,36,209.326,-83.3217],[1030.01,-1902.54,35.5167,206.2,-83.1679],[1017.7,-1800.97,35.0167,202.918,-83.0026],[1005.29,-1701.08,34.5167,199.587,-82.8304],[992.792,-1602.9,34.0167,196.206,-82.651],[979.355,-1500.07,33.4833,192.547,-82.4512],[966.239,-1402.36,32.9667,188.95,-82.2486],[952.169,-1300.44,32.4167,185.064,-82.0224],[937.99,-1200.71,31.8667,181.122,-81.7847],[923.269,-1100.28,31.3,177,-81.5267],[908.435,-1002.24,30.7333,172.819,-81.2542],[892.609,-901.083,30.1333,168.329,-80.9484],[876.216,-800.003,29.5167,163.647,-80.614],[859.698,-701.889,28.9,158.898,-80.257],[842.153,-601.734,28.25,153.824,-79.8536],[823.565,-500.106,27.5667,148.415,-79.3961],[804.833,-402.291,26.8833,142.932,-78.8999],[784.576,-301.624,26.15,136.97,-78.3185],[763.233,-201.22,25.3833,130.656,-77.6483],[740.788,-101.805,24.5833,123.986,-76.8697],[716.282,-0.370577,23.7167,116.676,-75.9178],[690.158,99.7167,22.8,108.862,-74.762],[661.913,198.729,21.8167,100.405,-73.3098],[630.066,299.087,20.7167,90.8876,-71.3486],[593.584,399.589,19.4667,80.0616,-68.5306],[549.935,499.876,17.9833,67.3471,-63.9778],[492.057,599.887,16.0333,51.3773,-54.5396],[363.523,690.37,11.75,30.1762,-0.239108]]], - [76,696.597,[[976.828,-2003.04,36.0833,209.402,-83.755],[965.777,-1903.17,35.6,206.273,-83.6112],[954.257,-1801.48,35.1,202.987,-83.4566],[942.649,-1701.46,34.6,199.652,-83.2956],[930.952,-1603.14,34.1,196.268,-83.1278],[918.379,-1500.17,33.5667,192.604,-82.9409],[906.105,-1402.33,33.05,189.002,-82.7514],[892.939,-1300.26,32.5,185.111,-82.5399],[879.671,-1200.37,31.95,181.162,-82.3176],[866.302,-1102.71,31.4,177.156,-82.0835],[852.015,-1001.59,30.8167,172.845,-81.8213],[837.206,-900.272,30.2167,168.346,-81.5353],[822.282,-801.715,29.6167,163.782,-81.2311],[806.409,-700.73,28.9833,158.896,-80.8884],[789.992,-600.389,28.3333,153.809,-80.5109],[773.023,-501.003,27.6667,148.519,-80.0935],[755.069,-400.551,26.9667,142.887,-79.6181],[736.546,-301.914,26.25,137.044,-79.0865],[716.578,-201.177,25.4833,130.711,-78.4601],[695.579,-101.411,24.6833,124.017,-77.7321],[673.094,-1.49011,23.8333,116.818,-76.86],[648.655,99.1409,22.9167,108.969,-75.7812],[622.233,198.742,21.9333,100.466,-74.4249],[592.441,299.763,20.8333,90.8836,-72.5913],[558.77,399.773,19.6,80.108,-69.992],[518.863,499.151,18.15,67.5219,-65.8434],[465.664,599.856,16.2333,51.4679,-57.2122],[341.25,696.596,11.8,28.2192,-0.182434]]], - [77,702.429,[[910.733,-2001.43,36.15,209.401,-84.1872],[900.445,-1901.48,35.6667,206.268,-84.0533],[890.079,-1803.07,35.1833,203.088,-83.9143],[879.274,-1702.91,34.6833,199.75,-83.7646],[868.022,-1601.2,34.1667,196.249,-83.6033],[856.683,-1501.33,33.65,192.695,-83.4348],[844.889,-1400.21,33.1167,188.972,-83.2528],[833.004,-1301.11,32.5833,185.193,-83.0619],[820.654,-1201.06,32.0333,181.239,-82.8552],[807.832,-1100.3,31.4667,177.105,-82.6307],[794.913,-1001.94,30.9,172.91,-82.3936],[781.128,-900.437,30.3,168.404,-82.1276],[767.237,-801.698,29.7,163.832,-81.8446],[752.462,-700.516,29.0667,158.936,-81.5258],[737.573,-602.509,28.4333,153.97,-81.1839],[721.386,-500.378,27.75,148.536,-80.7861],[705.073,-402.055,27.0667,143.026,-80.3546],[687.432,-300.838,26.3333,137.031,-79.8488],[669.251,-201.997,25.5833,130.817,-79.2789],[649.708,-101.858,24.7833,124.101,-78.6025],[628.781,-1.53622,23.9333,116.876,-77.7917],[606.037,99.5306,23.0167,108.992,-76.7884],[581.447,199.603,22.0333,100.446,-75.5262],[554.142,299.7,20.95,90.9494,-73.8466],[523.234,399.232,19.7333,80.2334,-71.4661],[486.102,499.774,18.2833,67.5034,-67.6115],[437.898,599.81,16.4167,51.5559,-59.8072],[337.031,699.907,12.55,27.1199,-14.8454],[318.668,702.427,11.85,26.2517,-0.193511]]], - [78,707.859,[[843.965,-2000.93,36.2167,209.43,-84.6234],[834.445,-1900.89,35.7333,206.294,-84.4995],[824.853,-1802.38,35.25,203.111,-84.3709],[814.855,-1702.13,34.75,199.769,-84.2324],[804.443,-1600.32,34.2333,196.264,-84.0832],[793.951,-1500.36,33.7167,192.706,-83.9273],[783.38,-1402.26,33.2,189.095,-83.7642],[772.385,-1302.99,32.6667,185.312,-83.5879],[760.96,-1202.77,32.1167,181.354,-83.3969],[749.099,-1101.83,31.55,177.215,-83.1895],[736.793,-1000.43,30.9667,172.891,-82.9638],[724.393,-901.588,30.3833,168.503,-82.7246],[711.542,-802.649,29.7833,163.924,-82.4631],[697.873,-701.257,29.15,159.02,-82.1684],[683.736,-600.494,28.5,153.913,-81.8439],[669.124,-500.672,27.8333,148.6,-81.4849],[654.032,-402.114,27.15,143.077,-81.086],[637.712,-300.644,26.4167,137.067,-80.6183],[620.891,-201.541,25.6667,130.836,-80.0913],[602.81,-101.12,24.8667,124.099,-79.4655],[583.451,-0.496571,24.0167,116.849,-78.7153],[562.793,99.121,23.1167,109.077,-77.8045],[540.046,199.695,22.1333,100.49,-76.6384],[515.179,298.881,21.0667,91.0861,-75.1117],[486.592,399.231,19.85,80.291,-72.9149],[452.643,499.703,18.4167,67.5761,-69.3975],[408.861,599.79,16.5833,51.6329,-62.3313],[326.089,699.947,13.15,27.1907,-27.0508],[295.782,707.857,11.9,24.2745,-0.289203]]], - [79,712.884,[[776.546,-2001.54,36.2833,209.49,-85.063],[767.8,-1901.4,35.8,206.351,-84.9493],[758.987,-1802.8,35.3167,203.166,-84.8312],[749.802,-1702.44,34.8167,199.821,-84.704],[740.236,-1600.52,34.3,196.312,-84.567],[730.597,-1500.45,33.7833,192.751,-84.4238],[720.885,-1402.24,33.2667,189.136,-84.2741],[710.784,-1302.86,32.7333,185.349,-84.1122],[700.288,-1202.52,32.1833,181.386,-83.9367],[689.39,-1101.45,31.6167,177.242,-83.7462],[678.409,-1002.78,31.05,173.036,-83.545],[666.693,-900.944,30.45,168.516,-83.3192],[654.886,-801.87,29.85,163.93,-83.0791],[642.328,-700.332,29.2167,159.017,-82.8084],[629.674,-601.965,28.5833,154.032,-82.518],[616.252,-501.899,27.9167,148.71,-82.1887],[602.05,-400.726,27.2167,143.041,-81.8135],[587.398,-301.344,26.5,137.154,-81.3939],[571.947,-201.957,25.75,130.907,-80.9103],[555.339,-101.232,24.95,124.152,-80.3361],[537.556,-0.281683,24.1,116.878,-79.6474],[518.58,99.6846,23.2,109.077,-78.811],[498.041,199.004,22.2333,100.6,-77.7592],[475.202,298.772,21.1667,91.1468,-76.3596],[448.945,399.791,19.95,80.2789,-74.3431],[418.128,499.992,18.5333,67.5934,-71.1508],[378.655,599.838,16.7333,51.6918,-64.7917],[308.209,699.904,13.55,27.3007,-35.5122],[272.228,712.884,11.9333,22.288,-0.0724213]]], - [80,717.493,[[708.498,-2003.29,36.35,209.581,-85.5057],[700.531,-1903.04,35.8667,206.441,-85.4022],[692.226,-1800.96,35.3667,203.143,-85.291],[683.856,-1700.54,34.8667,199.795,-85.175],[675.423,-1601.82,34.3667,196.396,-85.0543],[666.643,-1501.62,33.85,192.831,-84.924],[657.509,-1400.15,33.3167,189.096,-84.7832],[648.305,-1300.7,32.7833,185.304,-84.6356],[638.742,-1200.3,32.2333,181.335,-84.4756],[629.105,-1102.1,31.6833,177.307,-84.3072],[618.807,-1000.42,31.1,172.972,-84.1185],[608.429,-901.307,30.5167,168.571,-83.9186],[597.674,-802.082,29.9167,163.978,-83.6999],[586.234,-700.384,29.2833,159.058,-83.4534],[574.707,-601.855,28.65,154.066,-83.1891],[562.48,-501.616,27.9833,148.734,-82.8892],[549.543,-400.26,27.2833,143.053,-82.5476],[536.195,-300.689,26.5667,137.154,-82.1653],[522.121,-201.105,25.8167,130.892,-81.7247],[506.991,-100.166,25.0167,124.119,-81.2014],[491.111,-0.910382,24.1833,116.966,-80.5867],[473.827,99.4319,23.2833,109.14,-79.8259],[455.12,199.159,22.3167,100.629,-78.8688],[434.317,299.38,21.25,91.1306,-77.5941],[410.731,399.622,20.05,80.3458,-75.7839],[382.997,499.577,18.65,67.7031,-72.9183],[347.383,599.98,16.8667,51.7264,-67.1965],[286.946,699.714,13.8667,27.4583,-42.5559],[248.789,717.491,11.9833,20.2927,-0.375264]]], - [81,721.684,[[639.602,-2002.7,36.4,209.597,-85.9479],[632.417,-1902.38,35.9167,206.454,-85.8546],[624.927,-1800.23,35.4167,203.153,-85.7543],[617.631,-1703.06,34.9333,199.914,-85.6533],[609.773,-1600.95,34.4167,196.399,-85.5408],[601.855,-1500.68,33.9,192.831,-85.4233],[593.876,-1402.28,33.3833,189.21,-85.3004],[585.578,-1302.69,32.85,185.415,-85.1675],[576.955,-1202.14,32.3,181.444,-85.0235],[568.002,-1100.85,31.7333,177.289,-84.8671],[558.981,-1001.96,31.1667,173.073,-84.7018],[549.624,-902.681,30.5833,168.668,-84.5217],[539.656,-800.568,29.9667,163.942,-84.3192],[529.612,-701.414,29.35,159.144,-84.1028],[518.944,-600.152,28.7,154.012,-83.8582],[508.194,-502.277,28.05,148.805,-83.5946],[496.529,-400.72,27.35,143.115,-83.2868],[484.494,-300.941,26.6333,137.205,-82.9424],[471.803,-201.137,25.8833,130.93,-82.5454],[458.447,-102.013,25.1,124.283,-82.0842],[443.842,-0.457544,24.25,116.969,-81.5197],[428.548,98.3572,23.3667,109.265,-80.8472],[411.682,198.521,22.4,100.725,-79.9861],[392.927,299.23,21.3333,91.1859,-78.8387],[371.959,398.716,20.15,80.493,-77.2334],[346.957,499.539,18.75,67.7548,-74.657],[315.455,599.441,17,51.8809,-69.6164],[263.106,699.681,14.1167,27.5548,-48.5896],[224.761,721.682,12.0167,18.2892,-0.344356]]], - [82,725.448,[[570.186,-2003.25,36.45,209.644,-86.3931],[563.788,-1902.86,35.9667,206.499,-86.31],[557.118,-1800.62,35.4667,203.196,-86.2206],[550.396,-1700.05,34.9667,199.842,-86.1276],[543.624,-1601.19,34.4667,196.438,-86.0307],[536.572,-1500.83,33.95,192.867,-85.926],[529.467,-1402.34,33.4333,189.242,-85.8167],[522.077,-1302.66,32.9,185.445,-85.6983],[514.398,-1202.02,32.35,181.47,-85.5701],[506.426,-1100.64,31.7833,177.311,-85.4309],[498.392,-1001.65,31.2167,173.09,-85.2838],[490.06,-902.274,30.6333,168.681,-85.1234],[481.183,-800.055,30.0167,163.948,-84.943],[472.238,-700.793,29.4,159.144,-84.7504],[462.982,-601.974,28.7667,154.138,-84.5384],[453.165,-501.427,28.1,148.79,-84.2978],[443.026,-402.12,27.4167,143.227,-84.0305],[432.31,-302.113,26.7,137.308,-83.7242],[421.011,-202.067,25.95,131.022,-83.3713],[408.865,-100.632,25.15,124.22,-82.952],[396.115,-0.855363,24.3167,117.032,-82.4591],[382.497,98.2514,23.4333,109.307,-81.861],[367.481,198.738,22.4667,100.739,-81.0947],[350.782,299.805,21.4,91.1635,-80.0729],[332.112,399.692,20.2167,80.4177,-78.642],[310.117,499.894,18.8333,67.7462,-76.3732],[282.339,599.851,17.1,51.8535,-71.9269],[237.36,699.819,14.3167,27.5822,-53.9788],[200.523,725.446,12.05,16.2782,-0.432532]]], - [83,728.78,[[500.087,-2001.47,36.4833,209.615,-86.8382],[494.478,-1901.04,36,206.468,-86.7653],[488.827,-1802.15,35.5167,203.273,-86.6896],[482.936,-1701.5,35.0167,199.918,-86.6082],[477.001,-1602.54,34.5167,196.512,-86.5233],[470.821,-1502.09,34,192.939,-86.4317],[464.392,-1400.35,33.4667,189.195,-86.3327],[457.914,-1300.64,32.9333,185.393,-86.2289],[451.388,-1202.97,32.4,181.535,-86.1199],[444.4,-1101.49,31.8333,177.373,-85.998],[437.36,-1002.38,31.2667,173.149,-85.8691],[429.848,-900.089,30.6667,168.608,-85.7246],[422.278,-800.553,30.0667,163.999,-85.5707],[414.439,-701.168,29.45,159.19,-85.402],[406.327,-602.221,28.8167,154.178,-85.2163],[397.723,-501.538,28.15,148.823,-85.0055],[388.836,-402.091,27.4667,143.253,-84.7713],[379.445,-301.935,26.75,137.324,-84.503],[369.542,-201.733,26,131.028,-84.1938],[358.897,-100.13,25.2,124.213,-83.8263],[347.723,-0.176208,24.3667,117.009,-83.3942],[335.788,99.1192,23.4833,109.265,-82.8697],[322.627,199.813,22.5167,100.673,-82.1974],[308.221,299.608,21.4667,91.2139,-81.3159],[291.861,399.934,20.2833,80.422,-80.0627],[272.82,499.548,18.9167,67.8299,-78.1013],[248.715,599.6,17.2,51.9417,-74.2552],[210.253,699.958,14.4833,27.6006,-59.0136],[175.846,728.78,12.0667,14.2599,-0.0352832]]], - [84,731.678,[[429.581,-2000.84,36.5167,209.619,-87.286],[424.766,-1900.37,36.0333,206.47,-87.2234],[419.914,-1801.44,35.55,203.273,-87.1584],[414.857,-1700.74,35.05,199.915,-87.0886],[409.761,-1601.73,34.55,196.507,-87.0156],[404.456,-1501.23,34.0333,192.932,-86.937],[399.11,-1402.6,33.5167,189.302,-86.8548],[393.55,-1302.78,32.9833,185.499,-86.7658],[387.772,-1201.98,32.4333,181.518,-86.6693],[381.774,-1100.44,31.8667,177.353,-86.5646],[375.729,-1001.28,31.3,173.125,-86.4539],[369.46,-901.736,30.7167,168.706,-86.3334],[362.963,-802.066,30.1167,164.094,-86.2015],[356.234,-702.542,29.5,159.281,-86.0568],[349.087,-600.886,28.85,154.132,-85.8932],[341.701,-500.14,28.1833,148.771,-85.7122],[334.072,-400.627,27.5,143.192,-85.511],[326.01,-300.402,26.7833,137.255,-85.2805],[317.508,-200.128,26.0333,130.948,-85.0146],[308.56,-100.509,25.25,124.263,-84.7057],[298.969,-0.354227,24.4167,117.047,-84.3351],[288.725,99.1567,23.5333,109.287,-83.8851],[277.624,198.419,22.5833,100.823,-83.319],[265.26,298.634,21.5333,91.338,-82.5646],[251.219,399.438,20.35,80.5072,-81.4917],[234.877,499.609,18.9833,67.8518,-79.8107],[214.39,599.523,17.2833,51.9918,-76.5467],[182.195,699.799,14.6333,27.7142,-63.8996],[151.245,731.677,12.1,12.2359,-0.442202]]], - [85,734.137,[[358.702,-2001.37,36.55,209.655,-87.7359],[354.684,-1900.85,36.0667,206.504,-87.6838],[350.635,-1801.87,35.5833,203.306,-87.6296],[346.415,-1701.11,35.0833,199.947,-87.5713],[342.163,-1602.05,34.5833,196.538,-87.5105],[337.736,-1501.5,34.0667,192.96,-87.4448],[333.275,-1402.81,33.55,189.329,-87.3762],[328.636,-1302.92,33.0167,185.524,-87.3019],[323.815,-1202.05,32.4667,181.54,-87.2215],[318.809,-1100.45,31.9,177.373,-87.1341],[313.765,-1001.23,31.3333,173.142,-87.042],[308.534,-901.613,30.75,168.72,-86.9412],[303.112,-801.871,30.15,164.104,-86.8313],[297.498,-702.273,29.5333,159.288,-86.7105],[291.534,-600.538,28.8833,154.134,-86.574],[285.525,-502.187,28.2333,148.902,-86.4269],[279.004,-400.113,27.5333,143.183,-86.255],[272.434,-302.084,26.8333,137.377,-86.0674],[265.341,-201.61,26.0833,131.064,-85.846],[257.876,-101.781,25.3,124.372,-85.5886],[249.874,-1.39981,24.4667,117.146,-85.28],[241.327,98.3533,23.5833,109.373,-84.9052],[231.901,199.553,22.6167,100.742,-84.4245],[221.585,299.901,21.5667,91.2326,-83.7938],[210.034,399.525,20.4,80.5202,-82.9103],[196.566,498.965,19.05,67.9666,-81.5276],[179.474,599.636,17.35,52.0008,-78.8101],[153.124,699.818,14.75,27.756,-68.5043],[126.287,734.137,12.1167,10.2058,-0.299425]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 249.874; -_maxRange = 1435.87; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg2.sqf deleted file mode 100644 index 329bb2bf18..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg2.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_60mm_m720a1_m734_pd_chg2 -// Ammo: ace_arty_60mm_m720a1_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,604.265,[[3367.12,-2002.66,34.9833,217.256,-68.9946],[3328.03,-1902.04,34.4833,214.451,-68.5231],[3288.62,-1803.05,33.9833,211.615,-68.035],[3247.56,-1702.52,33.4667,208.654,-67.5124],[3204.82,-1600.63,32.9333,205.564,-66.9524],[3161.73,-1500.7,32.4,202.444,-66.3704],[3118.28,-1402.75,31.8667,199.294,-65.7652],[3071.73,-1300.87,31.3,195.917,-65.0952],[3024.79,-1201.3,30.7333,192.51,-64.3957],[2976.06,-1101.24,30.15,188.976,-63.643],[2925.51,-1000.94,29.55,185.314,-62.8318],[2873.11,-900.66,28.9333,181.527,-61.9564],[2818.84,-800.683,28.3,177.617,-61.0103],[2762.64,-701.293,27.65,173.588,-59.9861],[2703.05,-600.373,26.9667,169.341,-58.8468],[2641.46,-500.839,26.2667,164.987,-57.6079],[2576.35,-400.804,25.5333,160.432,-56.2255],[2507.67,-300.929,24.7667,155.69,-54.68],[2435.33,-201.919,23.9667,150.781,-52.9481],[2356.21,-100.749,23.1,145.529,-50.9215],[2271.7,-0.74144,22.1833,140.082,-48.5914],[2180.13,98.4185,21.2,134.405,-45.8572],[2076.6,199.227,20.1,128.323,-42.4823],[1959.2,299.351,18.8667,121.946,-38.2628],[1819.46,399.331,17.4167,115.23,-32.666],[1636.95,499.326,15.55,108.225,-24.4144],[1265.22,599.966,11.8333,101.886,-5.11274],[1171.87,604.263,10.9167,102.202,-0.0685313]]], - [46,624.792,[[3333.78,-2000.73,35.25,217.391,-69.4],[3296.67,-1903.1,34.7667,214.67,-68.953],[3256.68,-1800.44,34.25,211.728,-68.4585],[3217.66,-1702.78,33.75,208.851,-67.9626],[3175.69,-1600.46,33.2167,205.749,-67.4137],[3133.38,-1500.09,32.6833,202.615,-66.8433],[3090.72,-1401.7,32.15,199.45,-66.25],[3046.36,-1302.33,31.6,196.156,-65.6128],[3000.28,-1202.22,31.0333,192.731,-64.9277],[2952.44,-1101.59,30.45,189.177,-64.1904],[2902.81,-1000.7,29.85,185.494,-63.3956],[2852.77,-902.503,29.25,181.785,-62.5616],[2799.49,-801.812,28.6167,177.848,-61.6355],[2744.34,-701.682,27.9667,173.788,-60.6326],[2687.28,-602.413,27.3,169.61,-59.5447],[2626.84,-501.973,26.6,165.216,-58.3326],[2562.95,-400.979,25.8667,160.614,-56.9795],[2495.54,-300.091,25.1,155.819,-55.4658],[2424.55,-200.013,24.3,150.847,-53.7682],[2349.91,-101.493,23.4667,145.723,-51.8597],[2268.52,-1.75527,22.5667,140.282,-49.6218],[2178.7,99.1857,21.5833,134.488,-46.9455],[2080.24,199.051,20.5167,128.441,-43.7411],[1968.26,299.232,19.3167,122.028,-39.7229],[1836.03,399.563,17.9167,115.234,-34.4317],[1668.46,499.487,16.1667,108.12,-26.8528],[1393.7,599.635,13.35,101.054,-12.5776],[1169.89,624.789,11.1,100.33,-0.0738738]]], - [47,645.279,[[3299.83,-2002.99,35.5333,217.642,-69.8266],[3262.16,-1901.62,35.0333,214.818,-69.3737],[3224.17,-1801.89,34.5333,211.962,-68.9049],[3184.6,-1700.58,34.0167,208.977,-68.4028],[3144.7,-1601.06,33.5,205.959,-67.8818],[3103.17,-1500.25,32.9667,202.812,-67.3231],[3061.31,-1401.4,32.4333,199.632,-66.7419],[3017.77,-1301.56,31.8833,196.322,-66.1177],[2972.55,-1200.96,31.3167,192.88,-65.4466],[2926.95,-1102.67,30.75,189.409,-64.7451],[2878.26,-1001.18,30.15,185.703,-63.9672],[2829.16,-902.378,29.55,181.971,-63.1506],[2776.89,-801.039,28.9167,178.007,-62.2437],[2722.77,-700.237,28.2667,173.917,-61.2614],[2666.79,-600.272,27.6,169.704,-60.1953],[2608.9,-501.458,26.9167,165.377,-59.0362],[2547.66,-401.852,26.2,160.836,-57.7422],[2482.99,-302.095,25.45,156.093,-56.2945],[2413.38,-200.817,24.65,151.059,-54.6352],[2340.18,-101.034,23.8167,145.863,-52.768],[2261.85,-1.72794,22.9333,140.435,-50.6188],[2175.29,99.2085,21.9667,134.628,-48.0451],[2080.29,199.542,20.9167,128.533,-44.9587],[1973.59,299.482,19.75,122.107,-41.1358],[1848.69,399.721,18.4,115.273,-36.1431],[1694.02,499.411,16.75,108.085,-29.1505],[1462.09,599.746,14.3167,100.667,-17.086],[1165.24,645.279,11.2667,98.4477,-0.00288454]]], - [48,665.702,[[3262.74,-2002.67,35.8,217.825,-70.2443],[3225.78,-1900.95,35.3,214.991,-69.8008],[3188.52,-1800.85,34.8,212.124,-69.3415],[3150.96,-1702.42,34.3,209.225,-68.8659],[3111.83,-1602.46,33.7833,206.196,-68.3561],[3071.1,-1501.18,33.25,203.036,-67.8095],[3030.04,-1401.88,32.7167,199.842,-67.2407],[2987.35,-1301.55,32.1667,196.517,-66.6298],[2943,-1200.45,31.6,193.057,-65.9728],[2898.28,-1101.66,31.0333,189.567,-65.286],[2851.86,-1002.42,30.45,185.944,-64.5459],[2802.37,-900.272,29.8333,182.085,-63.7245],[2752.45,-800.992,29.2167,178.199,-62.86],[2700.76,-702.064,28.5833,174.184,-61.924],[2645.87,-601.299,27.9167,169.94,-60.882],[2589.12,-501.657,27.2333,165.575,-59.7485],[2529.08,-401.174,26.5167,160.991,-58.4826],[2465.68,-300.491,25.7667,156.197,-57.0657],[2398.86,-200.291,24.9833,151.21,-55.4757],[2328.55,-101.302,24.1667,146.049,-53.6864],[2251.79,-0.618843,23.2833,140.537,-51.5842],[2169.89,98.4419,22.35,134.827,-49.1547],[2078.31,199.207,21.3167,128.691,-46.1873],[1976.79,298.791,20.1833,122.267,-42.5596],[1857.51,399.893,18.8667,115.336,-37.8012],[1713.79,499.421,17.3,108.088,-31.3095],[1510.41,599.793,15.1167,100.451,-20.7254],[1161.21,665.701,11.45,96.5294,-0.045282]]], - [49,686.039,[[3223.78,-2003.2,36.0667,218.031,-70.6681],[3187.55,-1901.11,35.5667,215.188,-70.2341],[3151.02,-1800.65,35.0667,212.311,-69.7847],[3114.2,-1701.83,34.5667,209.401,-69.3192],[3075.84,-1601.48,34.05,206.361,-68.8203],[3037.17,-1502.95,33.5333,203.287,-68.3023],[2995.66,-1400.08,32.9833,199.98,-67.7285],[2955.08,-1302.35,32.45,196.74,-67.1488],[2911.61,-1200.72,31.8833,193.264,-66.5063],[2867.77,-1101.42,31.3167,189.755,-65.8346],[2822.28,-1001.64,30.7333,186.112,-65.1106],[2775.09,-901.651,30.1333,182.334,-64.3291],[2726.18,-801.71,29.5167,178.424,-63.4842],[2675.52,-702.096,28.8833,174.382,-62.5692],[2621.73,-600.602,28.2167,170.104,-61.5502],[2566.12,-500.205,27.5333,165.703,-60.4414],[2508.66,-401.231,26.8333,161.184,-59.2323],[2447.93,-301.81,26.1,156.45,-57.8789],[2382.47,-200.502,25.3167,151.406,-56.3258],[2313.6,-100.347,24.5,146.178,-54.5769],[2239.83,-0.252472,23.6333,140.69,-52.5607],[2161.05,98.5737,22.7167,134.983,-50.2291],[2072.82,199.583,21.7,128.818,-47.3765],[1974.89,299.944,20.5833,122.32,-43.8822],[1864.07,398.94,19.3333,115.502,-39.4701],[1727.96,499.811,17.8167,108.099,-33.3334],[1547.43,599.326,15.8333,100.375,-23.943],[1154.56,686.039,11.6167,94.5997,-0.0101352]]], - [50,706.265,[[3181.75,-2001.19,36.3167,218.168,-71.0839],[3147.44,-1902.16,35.8333,215.411,-70.6735],[3111.65,-1801.32,35.3333,212.525,-70.2342],[3075.58,-1702.11,34.8333,209.605,-69.7791],[3038,-1601.36,34.3167,206.553,-69.2913],[3000.11,-1502.42,33.8,203.467,-68.7846],[2960.69,-1402.21,33.2667,200.247,-68.2408],[2919.69,-1300.95,32.7167,196.891,-67.6565],[2878.36,-1201.83,32.1667,193.501,-67.0469],[2835.43,-1101.99,31.6,189.975,-66.3905],[2790.86,-1001.66,31.0167,186.312,-65.6829],[2744.64,-901.096,30.4167,182.512,-64.919],[2696.74,-800.557,29.8,178.577,-64.093],[2647.12,-700.322,29.1667,174.507,-63.1982],[2595.76,-600.681,28.5167,170.306,-62.227],[2542.63,-501.935,27.85,165.977,-61.1708],[2486.37,-402.068,27.15,161.419,-59.9906],[2426.91,-301.702,26.4167,156.638,-58.6689],[2364.19,-201.499,25.65,151.647,-57.185],[2296.77,-100.156,24.8333,146.354,-55.4776],[2225.94,-0.675799,23.9833,140.894,-53.5471],[2148.84,99.6435,23.0667,135.092,-51.2702],[2065.32,199.103,22.0833,129.01,-48.5764],[1972.38,298.755,21,122.545,-45.271],[1865.42,399.342,19.7667,115.592,-41.0244],[1738.19,499.803,18.3167,108.17,-35.2975],[1573.66,599.571,16.4667,100.315,-26.7469],[1251.49,699.902,12.9167,92.5769,-6.86213],[1148.46,706.263,11.8,92.6363,-0.0950666]]], - [51,726.358,[[3137.88,-2000.08,36.5667,218.329,-71.506],[3104.27,-1900.73,36.0833,215.563,-71.1048],[3070.4,-1802.89,35.6,212.764,-70.6897],[3033.91,-1700,35.0833,209.737,-70.2301],[2998.3,-1602.12,34.5833,206.772,-69.7687],[2961.21,-1502.76,34.0667,203.675,-69.2737],[2922.61,-1402.11,33.5333,200.441,-68.7424],[2882.48,-1300.4,32.9833,197.071,-68.1715],[2842.02,-1200.82,32.4333,193.665,-67.5757],[2799.99,-1100.5,31.8667,190.121,-66.9341],[2757.61,-1002.52,31.3,186.544,-66.2626],[2712.37,-901.365,30.7,182.723,-65.5168],[2665.48,-800.212,30.0833,178.764,-64.71],[2618.2,-701.956,29.4667,174.775,-63.8595],[2567.94,-601.571,28.8167,170.544,-62.9119],[2515.95,-502.054,28.15,166.182,-61.881],[2460.89,-401.37,27.45,161.585,-60.7287],[2402.7,-300.139,26.7167,156.759,-59.4376],[2342.66,-201.17,25.9667,151.825,-58.0199],[2278.04,-100.765,25.1667,146.579,-56.388],[2208.75,-0.0124965,24.3167,141.045,-54.5044],[2134.7,99.9091,23.4167,135.258,-52.3226],[2054.4,199.372,22.45,129.165,-49.7389],[1964.91,299.533,21.3833,122.651,-46.563],[1863.17,399.996,20.1833,115.682,-42.5304],[1744.55,499.5,18.8,108.29,-37.2022],[1592.55,599.937,17.05,100.297,-29.3145],[1346.65,699.999,14.2667,92.0376,-14.1736],[1139.78,726.356,11.9667,90.6613,-0.101453]]], - [52,746.298,[[3093.27,-2003.38,36.8333,218.612,-71.9476],[3059.26,-1900.23,36.3333,215.742,-71.5424],[3026.13,-1802.05,35.85,212.934,-71.1369],[2991.57,-1702.1,35.35,209.994,-70.7026],[2955.57,-1600.56,34.8333,206.92,-70.237],[2919.28,-1500.83,34.3167,203.811,-69.7534],[2882.7,-1402.92,33.8,200.666,-69.2508],[2843.44,-1300.74,33.25,197.281,-68.6935],[2803.86,-1200.69,32.7,193.86,-68.1118],[2763.95,-1102.81,32.15,190.405,-67.5043],[2721.28,-1001.4,31.5667,186.704,-66.8297],[2678.26,-902.496,30.9833,182.969,-66.1219],[2632.4,-800.715,30.3667,178.986,-65.3349],[2586.15,-701.823,29.75,174.972,-64.505],[2536.99,-600.762,29.1,170.712,-63.5801],[2486.14,-500.545,28.4333,166.317,-62.5736],[2433.58,-401.488,27.75,161.792,-61.4758],[2377.97,-301.644,27.0333,157.033,-60.2458],[2319.27,-201.658,26.2833,152.049,-58.8641],[2256.09,-100.158,25.4833,146.743,-57.2727],[2189.68,-0.169359,24.65,141.247,-55.4719],[2118.63,99.3265,23.7667,135.48,-53.3852],[2041.5,198.762,22.8167,129.385,-50.9119],[1955.42,299.397,21.7667,122.83,-47.8666],[1858.78,399.625,20.6,115.86,-44.0479],[1747.11,498.997,19.2667,108.449,-39.0481],[1607.23,599.193,17.6167,100.413,-31.8116],[1399.19,699.638,15.2,91.8619,-19.0348],[1128.61,746.297,12.1167,88.6736,-0.0242986]]], - [53,766.056,[[3044.55,-2000.74,37.0667,218.73,-72.3686],[3012.41,-1900.7,36.5833,215.948,-71.9861],[2980.01,-1802.17,36.1,213.131,-71.5905],[2946.22,-1701.86,35.6,210.182,-71.1666],[2912.17,-1603.2,35.1,207.197,-70.7271],[2876.7,-1503.02,34.5833,204.077,-70.2557],[2839.78,-1401.52,34.05,200.818,-69.7495],[2802.56,-1302,33.5167,197.523,-69.2222],[2763.87,-1201.47,32.9667,194.087,-68.655],[2723.68,-1100.15,32.4,190.51,-68.0441],[2683.15,-1001.16,31.8333,186.896,-67.4045],[2641.1,-901.729,31.25,183.141,-66.714],[2597.48,-802.109,30.65,179.244,-65.9673],[2552.28,-702.567,30.0333,175.206,-65.1585],[2504.24,-600.812,29.3833,170.918,-64.2568],[2455.79,-502.358,28.7333,166.602,-63.3006],[2403.17,-400.077,28.0333,161.93,-62.2044],[2350.09,-301.739,27.3333,157.241,-61.0329],[2292.73,-200.819,26.5833,152.208,-59.686],[2232.28,-100.394,25.8,146.956,-58.1673],[2168.7,-1.19421,24.9833,141.502,-56.4488],[2099.3,99.6877,24.1,135.653,-54.4167],[2025.29,198.926,23.1667,129.562,-52.0496],[1942.55,299.848,22.1333,122.978,-49.1304],[1850.88,399.557,21,116.029,-45.5182],[1744.61,499.56,19.7,108.545,-40.7714],[1615.02,599.348,18.1333,100.488,-34.0807],[1431.84,699.958,15.95,91.7585,-22.848],[1117.95,766.054,12.2833,86.654,-0.0742736]]], - [54,785.613,[[2995.1,-2002.57,37.3167,218.97,-72.8086],[2963.7,-1902.18,36.8333,216.18,-72.4358],[2932.05,-1803.29,36.35,213.355,-72.0501],[2899.04,-1702.6,35.85,210.397,-71.6369],[2864.66,-1600.29,35.3333,207.302,-71.1939],[2831.12,-1502.99,34.8333,204.271,-70.7488],[2795.06,-1401.08,34.3,201.001,-70.2552],[2758.7,-1301.14,33.7667,197.692,-69.7409],[2720.9,-1200.17,33.2167,194.241,-69.1877],[2682.79,-1101.36,32.6667,190.753,-68.6098],[2643.21,-1001.85,32.1,187.123,-67.9866],[2602.14,-901.869,31.5167,183.349,-67.3137],[2559.53,-801.683,30.9167,179.43,-66.586],[2515.39,-701.552,30.3,175.368,-65.7976],[2469.67,-601.755,29.6667,171.163,-64.9416],[2421.14,-500.085,29,166.705,-63.9857],[2372.19,-401.931,28.3333,162.221,-62.9687],[2319.13,-300.398,27.6167,157.38,-61.8006],[2264.36,-200.837,26.8833,152.413,-60.5174],[2206.6,-101.509,26.1167,147.219,-59.0709],[2144.54,-1.1339,25.3,141.7,-57.3986],[2078.07,99.1671,24.4333,135.882,-55.4585],[2005.83,199.912,23.5,129.694,-53.1542],[1927.68,299.358,22.5,123.198,-50.405],[1839.56,399.858,21.3833,116.183,-46.9433],[1739.88,498.952,20.1333,108.748,-42.5059],[1617.55,599.866,18.6167,100.559,-36.2082],[1454.08,699.999,16.6167,91.757,-26.2038],[1104.86,785.612,12.4333,84.6217,-0.0392776]]], - [55,804.947,[[2942.72,-2001.95,37.55,219.141,-73.2419],[2912.06,-1901.25,37.0667,216.343,-72.8785],[2881.16,-1802.04,36.5833,213.51,-72.5025],[2848.94,-1701.02,36.0833,210.542,-72.0997],[2816.46,-1601.64,35.5833,207.537,-71.6819],[2782.62,-1500.72,35.0667,204.394,-71.2337],[2748.52,-1401.62,34.55,201.214,-70.7677],[2713.03,-1301.25,34.0167,197.892,-70.2668],[2677.26,-1202.87,33.4833,194.533,-69.7446],[2638.94,-1100.57,32.9167,190.924,-69.1647],[2600.3,-1000.59,32.35,187.277,-68.5575],[2560.21,-900.122,31.7667,183.483,-67.9018],[2519.79,-802.188,31.1833,179.653,-67.2126],[2476.7,-701.454,30.5667,175.567,-66.445],[2432.09,-601.031,29.9333,171.335,-65.6114],[2385.91,-501.21,29.2833,166.96,-64.7043],[2338.16,-402.296,28.6167,162.443,-63.7148],[2287.59,-302.269,27.9167,157.677,-62.6054],[2234.16,-201.755,27.1833,152.666,-61.358],[2177.81,-101.419,26.4167,147.419,-59.9511],[2118.5,-1.97401,25.6167,141.952,-58.3582],[2053.67,99.6127,24.75,136.058,-56.4715],[1984.47,199.999,23.8333,129.887,-54.2704],[1909.53,299.493,22.85,123.383,-51.642],[1826.18,399.135,21.7667,116.42,-48.3794],[1730.31,499.654,20.5333,108.862,-44.125],[1616.34,599.958,19.0833,100.689,-38.2731],[1469.11,699.418,17.2333,91.8671,-29.2936],[1173.11,799.933,13.5833,82.6373,-6.82119],[1090.81,804.946,12.5833,82.5672,-0.0267996]]], - [56,824.034,[[2888.51,-2002.4,37.7833,219.339,-73.6813],[2858.61,-1901.37,37.3,216.534,-73.3274],[2828.46,-1801.84,36.8167,213.693,-72.9614],[2797.03,-1700.47,36.3167,210.716,-72.5691],[2765.35,-1600.75,35.8167,207.701,-72.1623],[2733.42,-1502.71,35.3167,204.65,-71.7401],[2700.16,-1403.18,34.8,201.458,-71.2867],[2665.55,-1302.37,34.2667,198.125,-70.7995],[2629.57,-1200.49,33.7167,194.647,-70.2751],[2593.3,-1100.77,33.1667,191.129,-69.7272],[2555.62,-1000.3,32.6,187.465,-69.1362],[2517.64,-902.179,32.0333,183.762,-68.5166],[2477.1,-800.889,31.4333,179.802,-67.827],[2436.22,-702.311,30.8333,175.805,-67.1003],[2392.72,-601.244,30.2,171.548,-66.2897],[2347.7,-500.757,29.55,167.144,-65.4073],[2301.14,-401.152,28.8833,162.595,-64.4445],[2251.83,-300.393,28.1833,157.791,-63.3645],[2200.93,-201.357,27.4667,152.851,-62.1783],[2146,-100.098,26.7,147.555,-60.8096],[2089.39,-1.71761,25.9167,142.143,-59.2927],[2027.41,99.1406,25.0667,136.291,-57.4948],[1961.2,199.142,24.1667,130.144,-55.3967],[1889.43,298.655,23.2,123.638,-52.8893],[1809.47,398.826,22.1333,116.634,-49.7722],[1718.61,499.245,20.9333,109.074,-45.756],[1611.48,599.717,19.5333,100.865,-40.2759],[1475.94,699.626,17.7833,91.9445,-32.0364],[1253.01,799.748,14.95,82.3015,-15.2482],[1075.8,824.033,12.7333,80.4912,-0.0387871]]], - [57,842.852,[[2831.48,-2000.44,38,219.47,-74.1147],[2803.34,-1902.59,37.5333,216.754,-73.7823],[2773.97,-1802.72,37.05,213.905,-73.4263],[2743.34,-1701,36.55,210.919,-73.0448],[2712.47,-1600.92,36.05,207.896,-72.6491],[2681.35,-1502.52,35.55,204.834,-72.2384],[2648.94,-1402.61,35.0333,201.632,-71.7974],[2615.22,-1301.41,34.5,198.286,-71.3234],[2581.22,-1202.19,33.9667,194.901,-70.829],[2545.88,-1101.98,33.4167,191.369,-70.2965],[2509.17,-1001.02,32.85,187.689,-69.7222],[2472.17,-902.397,32.2833,183.969,-69.1199],[2432.67,-800.568,31.6833,179.989,-68.4495],[2392.84,-701.446,31.0833,175.97,-67.7429],[2351.58,-602.436,30.4667,171.802,-66.9758],[2307.72,-501.263,29.8167,167.37,-66.1187],[2262.36,-400.949,29.15,162.79,-65.1832],[2215.48,-301.809,28.4667,158.066,-64.1593],[2165.9,-201.899,27.75,153.085,-63.0078],[2113.57,-101.865,27,147.856,-61.7085],[2057.27,-0.338478,26.2,142.272,-60.2042],[1998.1,99.6492,25.3667,136.467,-58.4914],[1934.82,199.112,24.4833,130.351,-56.492],[1866.14,298.474,23.5333,123.853,-54.101],[1789.53,398.983,22.4833,116.821,-51.1241],[1703.56,499.016,21.3167,109.281,-47.3375],[1603.04,599.23,19.9667,101.077,-42.2176],[1477.51,699.585,18.3,92.0755,-34.6172],[1289.06,799.879,15.8333,82.2144,-20.4893],[1059.83,842.85,12.8833,78.3941,-0.0774559]]], - [58,861.379,[[2773.64,-2003.12,38.2333,219.724,-74.5658],[2745.27,-1901.46,37.75,216.905,-74.2312],[2716.67,-1801.29,37.2667,214.048,-73.885],[2687.84,-1702.64,36.7833,211.153,-73.5266],[2657.79,-1602.19,36.2833,208.121,-73.1423],[2626.48,-1500.15,35.7667,204.947,-72.7298],[2595.95,-1403.12,35.2667,201.838,-72.3149],[2563.12,-1301.51,34.7333,198.48,-71.8544],[2530.02,-1201.88,34.2,195.082,-71.374],[2495.62,-1101.25,33.65,191.536,-70.8566],[2460.94,-1002.79,33.1,187.949,-70.3152],[2423.86,-900.767,32.5167,184.103,-69.713],[2386.48,-801.264,31.9333,180.215,-69.0798],[2347.71,-701.584,31.3333,176.175,-68.3937],[2307.55,-601.993,30.7167,171.983,-67.6488],[2264.86,-500.203,30.0667,167.524,-66.8161],[2221.82,-401.73,29.4167,163.029,-65.9305],[2176.2,-301.837,28.7333,158.271,-64.9369],[2127.95,-201.128,28.0167,153.251,-63.819],[2077.03,-100.251,27.2667,147.975,-62.557],[2024.52,-1.9778,26.5,142.571,-61.1584],[1966.96,99.2011,25.6667,136.7,-59.4985],[1905.4,199.939,24.7833,130.505,-57.5591],[1839.77,298.988,23.85,124.024,-55.2799],[1766.43,399.654,22.8167,116.974,-52.4382],[1685.22,499.027,21.6833,109.475,-48.8725],[1589.91,599.752,20.3667,101.215,-44.0338],[1474.03,699.584,18.7833,92.2256,-37.0412],[1309.64,799.617,16.5667,82.2703,-24.776],[1041.63,861.379,13.0167,76.2833,-0.0227159]]], - [59,879.595,[[2713.02,-2003.44,38.45,219.911,-75.0112],[2685.42,-1901.47,37.9667,217.084,-74.6864],[2657.6,-1801,37.4833,214.22,-74.3502],[2629.57,-1702.03,37,211.318,-74.0021],[2600.34,-1601.26,36.5,208.276,-73.6289],[2570.87,-1502.15,36,205.196,-73.2414],[2540.18,-1401.51,35.4833,201.972,-72.8253],[2509.25,-1302.7,34.9667,198.708,-72.3921],[2477.07,-1202.65,34.4333,195.298,-71.9261],[2443.61,-1101.58,33.8833,191.739,-71.424],[2409.89,-1002.67,33.3333,188.137,-70.8986],[2373.83,-900.174,32.75,184.274,-70.3141],[2337.48,-800.19,32.1667,180.367,-69.6994],[2299.78,-700.01,31.5667,176.306,-69.0332],[2261.78,-602.568,30.9667,172.205,-68.3299],[2220.28,-500.142,30.3167,167.721,-67.5224],[2178.43,-401.027,29.6667,163.197,-66.6632],[2134.07,-300.453,28.9833,158.406,-65.6989],[2088.26,-201.334,28.2833,153.465,-64.6397],[2039.86,-101.802,27.55,148.263,-63.4443],[1987.71,-0.425726,26.7667,142.689,-62.0591],[1932.88,99.7478,25.95,136.875,-60.4812],[1874.17,199.801,25.0833,130.721,-58.6372],[1811.54,298.513,24.1667,124.262,-56.4698],[1741.43,399.311,23.15,117.204,-53.7639],[1663.69,499.339,22.0333,109.652,-50.3632],[1574.64,599.053,20.7667,101.466,-45.8613],[1465.68,699.894,19.2333,92.3643,-39.3147],[1319.39,799.499,17.2,82.3718,-28.4472],[1023.77,879.593,13.1667,74.1444,-0.119205]]], - [60,897.479,[[2649.7,-2001.38,38.65,220.03,-75.4517],[2623.81,-1902.65,38.1833,217.294,-75.1474],[2596.79,-1801.86,37.7,214.422,-74.8214],[2569.55,-1702.56,37.2167,211.513,-74.4839],[2541.15,-1601.46,36.7167,208.463,-74.1219],[2512.52,-1502.01,36.2167,205.373,-73.7462],[2482.71,-1401.01,35.7,202.139,-73.3425],[2452.66,-1301.85,35.1833,198.864,-72.9224],[2421.39,-1201.42,34.65,195.442,-72.4703],[2389.87,-1103,34.1167,191.977,-71.9983],[2356.12,-1000.66,33.55,188.252,-71.4734],[2322.09,-900.652,32.9833,184.483,-70.9227],[2286.78,-800.171,32.4,180.559,-70.327],[2251.18,-702.236,31.8167,176.592,-69.6996],[2213.25,-601.513,31.2,172.355,-68.9992],[2173.97,-501.118,30.5667,167.961,-68.2368],[2133.33,-401.342,29.9167,163.411,-67.4046],[2090.25,-300.067,29.2333,158.587,-66.4704],[2045.75,-200.224,28.5333,153.61,-65.4439],[1999.82,-102.155,27.8167,148.485,-64.3121],[1950.27,-1.96636,27.05,142.981,-63.0005],[1897.03,99.3079,26.2333,137.107,-61.4742],[1841.14,198.655,25.3833,131.001,-59.7252],[1780.33,298.761,24.4667,124.453,-57.6289],[1713.39,399.517,23.4667,117.396,-55.0537],[1640.2,498.566,22.3833,109.917,-51.865],[1554.93,599.594,21.1333,101.618,-47.5715],[1453.83,699.735,19.6667,92.5613,-41.5212],[1321.32,799.44,17.7667,82.5067,-31.7252],[1003.74,897.477,13.3,71.9921,-0.12063]]], - [61,915.007,[[2584.65,-2000.53,38.85,220.178,-75.8984],[2559.52,-1901.54,38.3833,217.435,-75.6034],[2533.29,-1800.46,37.9,214.556,-75.2874],[2506.85,-1700.89,37.4167,211.638,-74.9602],[2480.21,-1602.84,36.9333,208.682,-74.6212],[2452.44,-1503.04,36.4333,205.584,-74.2573],[2423.5,-1401.68,35.9167,202.34,-73.8665],[2394.34,-1302.14,35.4,199.055,-73.4596],[2364,-1201.33,34.8667,195.621,-73.0217],[2333.42,-1102.52,34.3333,192.144,-72.5645],[2301.63,-1002.75,33.7833,188.515,-72.0713],[2268.62,-902.246,33.2167,184.731,-71.5385],[2234.36,-801.254,32.6333,180.79,-70.9621],[2198.84,-700.026,32.0333,176.691,-70.3371],[2163.03,-601.526,31.4333,172.548,-69.677],[2124.92,-500.559,30.8,168.13,-68.9388],[2085.49,-400.19,30.15,163.552,-68.133],[2044.72,-300.726,29.4833,158.815,-67.2508],[2001.55,-200.137,28.7833,153.804,-66.2578],[1956.99,-101.299,28.0667,148.639,-65.1624],[1908.92,-0.277259,27.3,143.087,-63.8924],[1858.34,99.8634,26.5,137.277,-62.445],[1805.2,198.364,25.6667,131.224,-60.7871],[1746.23,299.759,24.75,124.592,-58.76],[1683.49,398.672,23.7833,117.664,-56.3545],[1612.54,499.599,22.7,110.042,-53.2738],[1533.19,598.963,21.5,101.875,-49.2936],[1438.57,699.185,20.0833,92.8054,-43.6616],[1316.99,799.411,18.2833,82.6655,-34.7219],[1103.28,899.854,15.1667,71.2614,-13.8885],[981.654,915.007,13.4167,69.8252,-0.0186862]]], - [62,932.163,[[2517.88,-2000.92,39.05,220.355,-76.351],[2493.52,-1901.65,38.5833,217.607,-76.0656],[2468.1,-1800.28,38.1,214.721,-75.7598],[2442.47,-1700.42,37.6167,211.795,-75.4431],[2416.65,-1602.07,37.1333,208.831,-75.1149],[2389.72,-1501.96,36.6333,205.724,-74.7627],[2361.68,-1400.28,36.1167,202.471,-74.3844],[2333.41,-1300.42,35.6,199.175,-73.9904],[2304.92,-1202.4,35.0833,195.836,-73.58],[2274.36,-1100.12,34.5333,192.238,-73.1237],[2244.48,-1002.99,34,188.705,-72.6609],[2212.49,-902.05,33.4333,184.907,-72.1456],[2179.29,-800.602,32.85,180.949,-71.5879],[2145.82,-701.689,32.2667,176.946,-71.0005],[2111.12,-602.636,31.6667,172.783,-70.3627],[2074.2,-501.078,31.0333,168.343,-69.6493],[2035.99,-400.097,30.3833,163.739,-68.8704],[1997.47,-302.459,29.7333,159.093,-68.0395],[1955.66,-201.104,29.0333,154.048,-67.0806],[1912.49,-101.473,28.3167,148.846,-66.0226],[1866.94,-1.75814,27.5667,143.37,-64.8231],[1817.94,99.3969,26.7667,137.506,-63.4263],[1766.46,198.964,25.9333,131.389,-61.825],[1710.39,299.745,25.0333,124.798,-59.9029],[1650.68,398.404,24.0833,117.89,-57.6217],[1583.03,499.582,23.0167,110.25,-54.6958],[1507.27,599.768,21.8333,102.011,-50.9082],[1418.91,699.445,20.4667,92.9795,-45.6669],[1306.73,799.911,18.75,82.7865,-37.4504],[1131.19,899.969,16.1,71.2456,-20.4865],[959.868,932.161,13.55,67.632,-0.0804496]]], - [63,948.922,[[2449.39,-2002.57,39.25,220.564,-76.8094],[2425.82,-1903.01,38.7833,217.809,-76.5336],[2401.21,-1801.34,38.3,214.917,-76.2381],[2376.4,-1701.18,37.8167,211.985,-75.9322],[2351.4,-1602.53,37.3333,209.013,-75.6151],[2325.34,-1502.1,36.8333,205.898,-75.2747],[2298.2,-1400.08,36.3167,202.635,-74.9091],[2271.72,-1303.08,35.8167,199.437,-74.5409],[2243.26,-1201.52,35.2833,195.98,-74.1317],[2214.57,-1101.95,34.75,192.479,-73.7043],[2184.75,-1001.39,34.2,188.823,-73.2432],[2153.78,-900.064,33.6333,185.009,-72.745],[2122.56,-801.092,33.0667,181.149,-72.2215],[2090.17,-701.704,32.4833,177.129,-71.6542],[2056.59,-602.156,31.8833,172.947,-71.0382],[2020.86,-500.071,31.25,168.483,-70.349],[1984.83,-401.107,30.6167,163.974,-69.6162],[1946.6,-300.356,29.95,159.18,-68.7932],[1907.1,-200.784,29.2667,154.223,-67.8889],[1865.33,-100.437,28.55,148.984,-66.8672],[1822.23,-2.14815,27.8167,143.587,-65.7351],[1774.83,99.9335,27.0167,137.672,-64.3874],[1726.03,198.523,26.2,131.617,-62.8738],[1672.79,298.673,25.3167,125.072,-61.0562],[1615.04,398.742,24.3667,118.07,-58.8581],[1550.63,499.994,23.3167,110.424,-56.0812],[1479.44,599.45,22.1667,102.245,-52.536],[1396.11,699.557,20.8333,93.1721,-47.6149],[1292.96,799.587,19.2,83.0099,-40.1003],[1141.63,899.625,16.8333,71.3839,-25.5998],[936.097,948.922,13.6667,65.4245,-0.0365503]]], - [64,965.267,[[2378.39,-2001.93,39.4333,220.705,-77.2638],[2355.59,-1902.13,38.9667,217.945,-76.9975],[2331.8,-1800.2,38.4833,215.046,-76.7122],[2308.65,-1703.21,38.0167,212.208,-76.4271],[2283.65,-1600.86,37.5167,209.126,-76.1106],[2258.46,-1500.15,37.0167,206.002,-75.7819],[2233.06,-1401.12,36.5167,202.836,-75.4403],[2206.62,-1300.57,36,199.52,-75.0731],[2179.96,-1201.85,35.4833,196.161,-74.6904],[2152.24,-1101.91,34.95,192.649,-74.278],[2123.41,-1000.97,34.4,188.98,-73.8331],[2094.36,-902.202,33.85,185.265,-73.3668],[2064.2,-802.757,33.2833,181.391,-72.8623],[2032,-700.06,32.6833,177.238,-72.2995],[1999.54,-600.078,32.0833,173.037,-71.7047],[1965.91,-500.188,31.4667,168.67,-71.0572],[1931.1,-400.674,30.8333,164.136,-70.3506],[1895.08,-301.829,30.1833,159.437,-69.5772],[1856.91,-201.561,29.5,154.45,-68.7061],[1816.55,-100.476,28.7833,149.175,-67.7217],[1774.92,-1.42498,28.05,143.738,-66.6304],[1730.07,99.4069,27.2667,137.897,-65.3589],[1682.92,198.978,26.45,131.785,-63.9008],[1632.47,298.352,25.5833,125.293,-62.1835],[1576.68,399.724,24.6333,118.2,-60.0663],[1516.45,499.322,23.6167,110.681,-57.4785],[1448.71,599.35,22.4833,102.459,-54.1199],[1370.26,699.588,21.1833,93.3748,-49.508],[1274.77,799.479,19.6167,83.219,-42.5867],[1140.12,899.939,17.4333,71.4885,-29.7661],[911.506,965.266,13.7833,63.1974,-0.0244325]]], - [65,981.177,[[2305.72,-2002.61,39.6167,220.877,-77.7241],[2283.72,-1902.54,39.15,218.111,-77.4674],[2260.76,-1800.34,38.6667,215.206,-77.1925],[2238.41,-1703.09,38.2,212.362,-76.9177],[2214.28,-1600.45,37.7,209.273,-76.6126],[2190.78,-1502.79,37.2167,206.246,-76.3066],[2165.45,-1400.13,36.7,202.966,-75.9666],[2140.75,-1302.5,36.2,199.748,-75.6242],[2114.2,-1200.25,35.6667,196.271,-75.2436],[2088.28,-1103.1,35.15,192.857,-74.8587],[2060.46,-1001.76,34.6,189.177,-74.4302],[2032.43,-902.587,34.05,185.449,-73.9812],[2003.32,-802.723,33.4833,181.56,-73.4953],[1973.11,-702.408,32.9,177.507,-72.9686],[1941.8,-601.898,32.3,173.289,-72.3965],[1909.35,-501.461,31.6833,168.902,-71.7735],[1875.76,-401.379,31.05,164.347,-71.0935],[1841.01,-301.945,30.4,159.622,-70.3491],[1804.19,-201.051,29.7167,154.606,-69.5105],[1766.15,-101.623,29.0167,149.42,-68.5853],[1725.99,-1.7874,28.2833,143.945,-67.5358],[1682.72,99.8911,27.5,138.057,-66.3124],[1638.17,198.36,26.7,132.015,-64.9386],[1589.5,298.814,25.8333,125.456,-63.2872],[1536.64,399.65,24.9,118.403,-61.2871],[1479.51,499.108,23.9,110.899,-58.8416],[1415.15,599.518,22.7833,102.649,-55.663],[1341.46,699.601,21.5167,93.5795,-51.3488],[1252.36,799.818,20,83.385,-44.9199],[1132.57,899.419,17.9833,71.7264,-33.5947],[886.096,981.177,13.9,60.9507,-0.047937]]], - [66,996.634,[[2230.65,-2001.02,39.7833,220.983,-78.1812],[2209.45,-1900.74,39.3167,218.211,-77.9341],[2188.09,-1801.82,38.85,215.4,-77.6786],[2165.78,-1700.83,38.3667,212.448,-77.4047],[2143.31,-1601.35,37.8833,209.454,-77.1209],[2119.88,-1500.05,37.3833,206.315,-76.8161],[2096.26,-1400.42,36.8833,203.131,-76.4994],[2072.46,-1302.49,36.3833,199.906,-76.1701],[2047.68,-1203.09,35.8667,196.528,-75.8156],[2021.9,-1102.43,35.3333,192.994,-75.4336],[1995.1,-1000.74,34.7833,189.301,-75.0213],[1968.08,-901.222,34.2333,185.56,-74.5891],[1940.03,-800.994,33.6667,181.656,-74.1215],[1910.93,-700.301,33.0833,177.587,-73.6145],[1881.6,-602.163,32.5,173.468,-73.0794],[1850.34,-501.24,31.8833,169.062,-72.4805],[1817.98,-400.653,31.25,164.485,-71.8265],[1784.5,-300.697,30.6,159.735,-71.1105],[1749.89,-201.679,29.9333,154.814,-70.324],[1713.26,-101.583,29.2333,149.597,-69.4351],[1674.57,-1.04032,28.5,144.084,-68.4264],[1633.79,99.2743,27.7333,138.277,-67.2761],[1590.88,198.642,26.9333,132.184,-65.9569],[1544.92,298.19,26.0833,125.688,-64.402],[1494.93,398.477,25.1667,118.682,-62.5186],[1439.92,499.387,24.1667,111.074,-60.1733],[1378.88,599.996,23.0667,102.809,-57.1684],[1309.82,699.651,21.8333,93.7793,-53.1403],[1226.9,799.785,20.3667,83.5937,-47.187],[1118.35,899.349,18.4667,71.9245,-36.9902],[859.872,996.632,14.0167,58.6853,-0.111484]]], - [67,1011.62,[[2154.01,-2000.8,39.95,221.121,-78.6442],[2133.61,-1900.28,39.4833,218.343,-78.4068],[2113.06,-1801.13,39.0167,215.526,-78.1614],[2092.35,-1703.36,38.55,212.67,-77.9074],[2069.99,-1600.17,38.05,209.567,-77.6255],[2048.2,-1501.97,37.5667,206.525,-77.3426],[2025.49,-1402.03,37.0667,203.335,-77.0386],[2001.83,-1300.52,36.55,199.993,-76.7117],[1977.99,-1200.85,36.0333,196.604,-76.371],[1953.97,-1103.03,35.5167,193.171,-76.0154],[1928.19,-1000.98,34.9667,189.467,-75.6197],[1902.21,-901.096,34.4167,185.714,-75.2048],[1875.24,-800.488,33.85,181.796,-74.7558],[1848.05,-702.252,33.2833,177.829,-74.2831],[1819.03,-600.863,32.6833,173.576,-73.7548],[1789.79,-502.215,32.0833,169.271,-73.1955],[1758.67,-401.105,31.45,164.673,-72.5681],[1726.48,-300.607,30.8,159.9,-71.8811],[1693.2,-201.028,30.1333,154.951,-71.1263],[1657.97,-100.337,29.4333,149.703,-70.2729],[1621.62,-1.41579,28.7167,144.28,-69.327],[1582.41,99.6692,27.95,138.432,-68.2238],[1541.15,199.848,27.15,132.289,-66.9579],[1497.83,298.357,26.3167,125.861,-65.4956],[1449.78,399.725,25.4,118.779,-63.689],[1398.67,498.566,24.4333,111.331,-61.5169],[1340.9,599.359,23.35,103.061,-58.6865],[1275.43,699.792,22.1333,93.9674,-54.8856],[1198.49,799.454,20.7167,83.8347,-49.3897],[1098.82,899.612,18.9,72.0899,-40.0836],[918.093,999.91,15.65,58.017,-15.0254],[831.892,1011.62,14.1167,56.4051,-0.0543658]]], - [68,1026.12,[[2075.79,-2001.96,40.1167,221.291,-79.1129],[2056.21,-1901.2,39.65,218.508,-78.8854],[2036.48,-1801.8,39.1833,215.686,-78.6501],[2015.89,-1700.31,38.7,212.722,-78.3978],[1995.13,-1600.32,38.2167,209.715,-78.1363],[1974.22,-1501.87,37.7333,206.666,-77.8651],[1952.41,-1401.65,37.2333,203.468,-77.5737],[1930.44,-1303.12,36.7333,200.226,-77.2706],[1907.56,-1203.1,36.2167,196.83,-76.9444],[1883.75,-1101.8,35.6833,193.276,-76.5927],[1859.76,-1002.51,35.15,189.674,-76.2249],[1834.83,-902.24,34.6,185.91,-75.8275],[1808.93,-801.237,34.0333,181.979,-75.3974],[1782.84,-702.601,33.4667,177.998,-74.9447],[1754.99,-600.785,32.8667,173.729,-74.4385],[1726.92,-501.706,32.2667,169.406,-73.9026],[1697.05,-400.137,31.6333,164.788,-73.3013],[1666.95,-301.71,31,160.115,-72.6602],[1635.01,-201.549,30.3333,155.142,-71.9377],[1601.2,-100.242,29.6333,149.865,-71.1206],[1566.31,-0.683417,28.9167,144.408,-70.2146],[1529.51,98.9295,28.1667,138.648,-69.1816],[1489.93,199.946,27.3667,132.458,-67.9704],[1448.35,299.336,26.5333,125.974,-66.5703],[1403.09,399.887,25.6333,118.95,-64.8725],[1354.05,499.912,24.6667,111.412,-62.7931],[1300.34,599.06,23.6167,103.278,-60.1692],[1239.28,698.761,22.4333,94.2634,-56.6426],[1166.37,799.988,21.0333,83.9799,-51.4608],[1075.2,899.8,19.3,72.2696,-42.9912],[927.03,999.997,16.5167,58.1105,-22.7574],[803.181,1026.12,14.2167,54.1065,-0.034808]]], - [69,1040.1,[[1995.35,-2000.91,40.2667,221.395,-79.5792],[1977.26,-1903.52,39.8167,218.708,-79.3693],[1957.69,-1800.34,39.3333,215.779,-79.1362],[1938.64,-1702.11,38.8667,212.911,-78.9032],[1918.76,-1601.86,38.3833,209.899,-78.6532],[1898.72,-1503.13,37.9,206.844,-78.3938],[1877.84,-1402.63,37.4,203.639,-78.1152],[1856.09,-1300.55,36.8833,200.281,-77.8155],[1834.16,-1200.29,36.3667,196.875,-77.503],[1812.07,-1101.88,35.85,193.422,-77.177],[1789.09,-1002.27,35.3167,189.81,-76.8252],[1765.21,-901.674,34.7667,186.034,-76.445],[1740.4,-800.327,34.2,182.091,-76.0336],[1715.4,-701.347,33.6333,178.096,-75.6004],[1689.47,-601.964,33.05,173.93,-75.1299],[1662.59,-502.436,32.45,169.591,-74.6177],[1633.98,-400.388,31.8167,164.954,-74.0431],[1605.15,-301.478,31.1833,160.26,-73.4303],[1574.56,-200.804,30.5167,155.262,-72.7394],[1542.96,-101.332,29.8333,150.083,-71.9773],[1509.55,-1.11343,29.1167,144.595,-71.1122],[1474.31,99.197,28.3667,138.797,-70.1253],[1437.2,198.9,27.5833,132.692,-68.9929],[1397.4,299.2,26.75,126.155,-67.6568],[1354.86,398.926,25.8667,119.195,-66.067],[1308.73,498.494,24.9167,111.703,-64.12],[1257.32,599.135,23.8667,103.457,-61.6194],[1199.7,699.196,22.7,94.4139,-58.3028],[1132.42,799.289,21.35,84.2548,-53.5454],[1048.56,899.276,19.6833,72.5407,-45.8138],[921.353,999.58,17.1833,58.3432,-28.6778],[773.743,1040.1,14.3167,51.7898,-0.0581917]]], - [70,1053.57,[[1913.42,-2001.28,40.4167,221.533,-80.0512],[1895.49,-1900.1,39.95,218.74,-79.8433],[1877.42,-1800.28,39.4833,215.907,-79.6282],[1859.22,-1701.84,39.0167,213.034,-79.4058],[1840.21,-1601.36,38.5333,210.015,-79.1671],[1821.07,-1502.4,38.05,206.954,-78.9195],[1801.1,-1401.66,37.55,203.742,-78.6535],[1780.99,-1302.59,37.05,200.484,-78.3767],[1760.04,-1202.02,36.5333,197.071,-78.0787],[1738.24,-1100.14,36,193.498,-77.7575],[1716.28,-1000.26,35.4667,189.874,-77.4215],[1694.14,-902.416,34.9333,186.202,-77.0697],[1670.44,-800.712,34.3667,182.247,-76.6772],[1646.55,-701.37,33.8,178.239,-76.2639],[1621.77,-601.612,33.2167,174.059,-75.815],[1596.08,-501.694,32.6167,169.704,-75.3263],[1569.47,-401.887,32,165.171,-74.7928],[1541.92,-302.475,31.3667,160.458,-74.2087],[1512.7,-201.267,30.7,155.437,-73.5502],[1482.5,-101.243,30.0167,150.231,-72.8236],[1450.58,-0.439168,29.3,144.713,-71.9985],[1417.66,98.2972,28.5667,139.009,-71.0788],[1382.21,198.762,27.7833,132.862,-70.0001],[1344.19,299.879,26.95,126.274,-68.7265],[1304.32,398.646,26.0833,119.384,-67.2404],[1260.27,499.303,25.1333,111.813,-65.3854],[1211.94,599.621,24.1,103.595,-63.0405],[1157.69,699.859,22.95,94.5366,-59.9268],[1095.04,799.643,21.6333,84.4107,-55.511],[1017.39,899.947,20.0167,72.6581,-48.3797],[905.741,999.759,17.7167,58.5062,-33.4593],[743.579,1053.57,14.4167,49.4556,-0.131115]]], - [71,1066.49,[[1830.02,-2003.12,40.5667,221.704,-80.5285],[1812.93,-1901.71,40.1,218.908,-80.3306],[1795.7,-1801.66,39.6333,216.07,-80.126],[1778.35,-1702.99,39.1667,213.192,-79.9142],[1760.24,-1602.27,38.6833,210.168,-79.6871],[1741.98,-1503.07,38.2,207.101,-79.4514],[1722.95,-1402.07,37.7,203.882,-79.1981],[1703.78,-1302.75,37.2,200.618,-78.9346],[1683.81,-1201.91,36.6833,197.196,-78.651],[1663.68,-1102.91,36.1667,193.727,-78.3549],[1642.75,-1002.69,35.6333,190.096,-78.0355],[1620.99,-901.461,35.0833,186.299,-77.6902],[1599.07,-802.419,34.5333,182.449,-77.3277],[1576.3,-702.7,33.9667,178.43,-76.9347],[1552.68,-602.549,33.3833,174.236,-76.5078],[1528.2,-502.224,32.7833,169.866,-76.0428],[1502.83,-401.994,32.1667,165.316,-75.5353],[1476.58,-302.144,31.5333,160.584,-74.9796],[1448.73,-200.47,30.8667,155.541,-74.3529],[1420.65,-102.37,30.2,150.438,-73.6787],[1390.24,-0.958928,29.4833,144.89,-72.8945],[1358.86,98.4055,28.75,139.154,-72.0201],[1325.08,199.547,27.9667,132.967,-70.994],[1289.58,299.413,27.15,126.463,-69.8075],[1251.59,399.068,26.2833,119.515,-68.3951],[1210.35,498.995,25.35,112.003,-66.6638],[1165.06,598.985,24.3333,103.821,-64.4745],[1114.14,699.395,23.2,94.7598,-61.5651],[1055.22,799.998,21.9,84.5601,-57.4303],[984.332,899.283,20.35,72.9411,-50.9596],[884.237,999.79,18.1833,58.7027,-37.7108],[711.915,1066.49,14.5,47.1069,-0.0625784]]], - [72,1078.85,[[1744.59,-2002.78,40.7,221.81,-81.0041],[1728.34,-1901.19,40.2333,219.009,-80.8162],[1711.97,-1800.95,39.7667,216.167,-80.6218],[1695.47,-1702.09,39.3,213.284,-80.4207],[1678.25,-1601.17,38.8167,210.254,-80.2049],[1660.9,-1501.76,38.3333,207.18,-79.981],[1642.81,-1400.55,37.8333,203.954,-79.7405],[1624.58,-1301.02,37.3333,200.682,-79.4901],[1606.21,-1203.19,36.8333,197.364,-79.2295],[1586.46,-1100.74,36.3,193.774,-78.9393],[1566.56,-1000.28,35.7667,190.132,-78.6357],[1546.5,-901.855,35.2333,186.44,-78.3178],[1525.66,-802.502,34.6833,182.58,-77.9738],[1504.02,-702.46,34.1167,178.549,-77.6007],[1481.57,-601.973,33.5333,174.342,-77.1954],[1458.3,-501.298,32.9333,169.957,-76.7541],[1434.19,-400.707,32.3167,165.39,-76.2721],[1409.24,-300.482,31.6833,160.638,-75.7443],[1383.43,-200.919,31.0333,155.7,-75.1644],[1356.75,-102.328,30.3667,150.574,-74.5249],[1327.85,-0.383849,29.65,144.999,-73.7809],[1298.03,99.5309,28.9167,139.231,-72.951],[1266.61,199.155,28.15,133.138,-71.9985],[1232.88,299.762,27.3333,126.589,-70.8737],[1197.48,398.34,26.4833,119.721,-69.5612],[1158.3,499.266,25.55,112.14,-67.9212],[1115.98,598.772,24.55,104.003,-65.8816],[1068.32,699.178,23.4333,94.9513,-63.1691],[1013.8,799.182,22.1667,84.8286,-59.3631],[947.934,899.201,20.65,73.1439,-53.3884],[858.038,999.687,18.6,58.9228,-41.5886],[679.618,1078.85,14.5833,44.7414,-0.0402033]]], - [73,1090.65,[[1657.23,-2000.29,40.8167,221.852,-81.4788],[1642.38,-1902.16,40.3667,219.146,-81.3072],[1626.87,-1801.72,39.9,216.3,-81.1232],[1611.23,-1702.65,39.4333,213.412,-80.9329],[1594.92,-1601.52,38.95,210.377,-80.7287],[1578.48,-1501.9,38.4667,207.298,-80.5168],[1561.33,-1400.47,37.9667,204.066,-80.289],[1544.06,-1300.71,37.4667,200.787,-80.0521],[1526.65,-1202.65,36.9667,197.462,-79.8054],[1508.53,-1103.14,36.45,193.977,-79.5394],[1489.67,-1002.37,35.9167,190.328,-79.2525],[1470.08,-900.576,35.3667,186.511,-78.9422],[1450.33,-800.964,34.8167,182.64,-78.6164],[1429.82,-700.651,34.25,178.596,-78.2632],[1409.16,-602.728,33.6833,174.497,-77.8906],[1387.11,-501.687,33.0833,170.098,-77.4731],[1364.27,-400.715,32.4667,165.516,-77.0173],[1340.63,-300.096,31.8333,160.747,-76.518],[1316.18,-200.125,31.1833,155.789,-75.9692],[1290.91,-101.111,30.5167,150.64,-75.364],[1264.16,-1.04183,29.8167,145.169,-74.6767],[1235.91,99.4476,29.0833,139.371,-73.8923],[1206.15,199.679,28.3167,133.243,-72.9917],[1174.85,298.928,27.5167,126.786,-71.9504],[1141.33,398.314,26.6667,119.868,-70.7109],[1104.89,498.385,25.75,112.359,-69.1902],[1064.81,599.009,24.75,104.138,-67.2651],[1020.35,699.24,23.65,95.1076,-64.7423],[969.406,799.64,22.4,84.9507,-61.1973],[908.421,899.86,20.9167,73.2447,-55.6823],[827.494,999.871,18.9667,59.0942,-45.1198],[646.694,1090.64,14.6667,42.3593,-0.072207]]], - [74,1101.85,[[1569.09,-2002.96,40.95,222.027,-81.965],[1554.55,-1901.01,40.4833,219.218,-81.7971],[1539.9,-1800.4,40.0167,216.367,-81.6236],[1525.14,-1701.18,39.55,213.474,-81.4439],[1510.26,-1603.34,39.0833,210.539,-81.2579],[1494.2,-1500.08,38.5833,207.348,-81.0511],[1478.55,-1401.83,38.1,204.218,-80.8435],[1462.25,-1301.83,37.6,200.933,-80.6201],[1445.26,-1200.29,37.0833,197.49,-80.3796],[1428.15,-1100.58,36.5667,193.996,-80.1285],[1410.9,-1002.74,36.05,190.453,-79.8662],[1392.4,-900.672,35.5,186.627,-79.5737],[1373.75,-800.784,34.95,182.747,-79.2664],[1354.39,-700.186,34.3833,178.692,-78.9333],[1334.88,-601.974,33.8167,174.581,-78.5818],[1314.07,-500.625,33.2167,170.169,-78.1881],[1293.09,-402.033,32.6167,165.696,-77.77],[1270.78,-301,31.9833,160.911,-77.2996],[1247.69,-200.6,31.3333,155.935,-76.7827],[1223.83,-101.142,30.6667,150.766,-76.2123],[1198.58,-0.602291,29.9667,145.27,-75.5645],[1172.53,98.1392,29.25,139.576,-74.8425],[1144.44,199.003,28.4833,133.416,-73.9949],[1114.9,298.918,27.6833,126.92,-73.0144],[1083.26,399.019,26.8333,119.954,-71.8465],[1048.86,499.867,25.9167,112.384,-70.4127],[1011.66,599.728,24.9333,104.223,-68.6279],[970.35,699.622,23.85,95.2249,-66.2882],[923.564,798.963,22.6333,85.1866,-63.046],[867.328,899.332,21.1833,73.4878,-57.9925],[793.613,999.973,19.3,59.2733,-48.442],[637.107,1099.96,15.35,40.3366,-8.5489],[613.153,1101.85,14.75,39.9614,-0.168639]]], - [75,1112.45,[[1479.14,-2003.5,41.0667,222.139,-82.4501],[1465.47,-1901.38,40.6,219.326,-82.2924],[1451.69,-1800.61,40.1333,216.471,-82.1293],[1437.8,-1701.2,39.6667,213.574,-81.9605],[1423.82,-1603.19,39.2,210.634,-81.7857],[1409.22,-1503.16,38.7167,207.545,-81.598],[1393.99,-1401.3,38.2167,204.302,-81.3963],[1378.66,-1301.11,37.7167,201.012,-81.1864],[1363.2,-1202.61,37.2167,197.673,-80.9678],[1347.11,-1102.64,36.7,194.174,-80.7321],[1330.36,-1001.4,36.1667,190.509,-80.4778],[1313.49,-902.18,35.6333,186.791,-80.2114],[1295.96,-802.002,35.0833,182.902,-79.923],[1277.76,-701.102,34.5167,178.838,-79.6103],[1259.42,-602.585,33.95,174.716,-79.2803],[1239.84,-500.91,33.35,170.291,-78.9106],[1220.12,-401.988,32.75,165.805,-78.518],[1199.13,-300.604,32.1167,161.004,-78.0763],[1177.99,-202.382,31.4833,156.139,-77.6036],[1154.99,-100.007,30.8,150.821,-77.0549],[1131.82,-1.4253,30.1167,145.434,-76.4612],[1107.32,97.8265,29.4,139.715,-75.7838],[1080.92,199.241,28.6333,133.523,-74.9883],[1053.14,299.737,27.8333,126.99,-74.0678],[1023.98,398.545,27,120.117,-72.9935],[992.234,498.422,26.1,112.629,-71.6749],[957.272,599.308,25.1167,104.397,-70.0039],[919.039,698.868,24.05,95.4408,-67.8473],[875.069,799.688,22.8333,85.2619,-64.8099],[823.437,899.709,21.4167,73.6068,-60.1827],[757.249,999.41,19.6167,59.5501,-51.6691],[637.693,1099.95,16.4,40.4833,-22.592],[578.375,1112.45,14.8167,37.5499,-0.0934824]]], - [76,1122.44,[[1387.48,-2001.93,41.1667,222.187,-82.9348],[1375.14,-1903.3,40.7167,219.471,-82.7925],[1362.24,-1802.34,40.25,216.613,-82.64],[1349.24,-1702.75,39.7833,213.712,-82.4822],[1335.68,-1601.07,39.3,210.663,-82.3129],[1322,-1500.9,38.8167,207.568,-82.1372],[1308.23,-1402.26,38.3333,204.428,-81.9548],[1293.87,-1301.86,37.8333,201.132,-81.7585],[1279.41,-1203.16,37.3333,197.788,-81.5541],[1264.34,-1102.97,36.8167,194.282,-81.3338],[1248.67,-1001.5,36.2833,190.61,-81.0959],[1232.88,-902.049,35.75,186.884,-80.8468],[1216.46,-801.633,35.2,182.986,-80.5771],[1199.42,-700.483,34.6333,178.912,-80.2846],[1182.25,-601.715,34.0667,174.78,-79.9759],[1164.44,-502.567,33.4833,170.467,-79.64],[1145.46,-400.58,32.8667,165.843,-79.2628],[1126.34,-301.543,32.25,161.155,-78.8606],[1106.02,-200.396,31.6,156.145,-78.407],[1085.02,-100.164,30.9333,150.937,-77.9063],[1063.33,-1.1719,30.25,145.529,-77.3514],[1040.41,98.5151,29.5333,139.785,-76.7181],[1016.23,198.237,28.7833,133.7,-75.9911],[990.234,299.341,27.9833,127.133,-75.1318],[962.944,398.789,27.15,120.218,-74.1283],[933.237,499.363,26.25,112.679,-72.896],[901.075,599.366,25.2833,104.519,-71.3613],[865.299,699.927,24.2167,95.4744,-69.3465],[825.288,799.288,23.0333,85.4478,-66.5897],[778.126,898.924,21.65,73.8616,-62.3876],[717.368,999.876,19.8833,59.6524,-54.6175],[617.786,1099.89,17.0167,40.6941,-30.9118],[543.076,1122.44,14.8833,35.1234,-0.0786634]]], - [77,1131.8,[[1294.67,-2001.91,41.2667,222.271,-83.4244],[1283.18,-1903.14,40.8167,219.552,-83.292],[1271.16,-1802.04,40.35,216.69,-83.1501],[1259.06,-1702.3,39.8833,213.785,-83.0033],[1246.42,-1600.46,39.4,210.731,-82.8457],[1233.69,-1500.14,38.9167,207.632,-82.6821],[1220.86,-1401.34,38.4333,204.486,-82.5123],[1207.49,-1300.78,37.9333,201.185,-82.3296],[1194.01,-1201.91,37.4333,197.834,-82.1393],[1179.98,-1101.55,36.9167,194.321,-81.9343],[1165.84,-1003.05,36.4,190.757,-81.7199],[1150.68,-900.265,35.85,186.908,-81.4808],[1135.85,-802.676,35.3167,183.12,-81.2374],[1119.99,-701.262,34.75,179.038,-80.9655],[1104,-602.227,34.1833,174.896,-80.6785],[1087.41,-502.8,33.6,170.573,-80.3661],[1069.74,-400.516,32.9833,165.936,-80.0152],[1051.93,-301.18,32.3667,161.234,-79.6412],[1033.5,-202.274,31.7333,156.339,-79.2303],[1013.95,-101.623,31.0667,151.115,-78.7653],[993.754,-2.19701,30.3833,145.688,-78.2498],[972.41,97.9493,29.6667,139.922,-77.6614],[949.899,198.157,28.9167,133.81,-76.9858],[925.698,299.783,28.1167,127.211,-76.1869],[900.29,399.779,27.2833,120.258,-75.2535],[873.146,499.143,26.4,112.811,-74.1292],[843.205,599.937,25.4333,104.59,-72.7031],[810.423,699.874,24.3833,95.6045,-70.8607],[773.706,799.075,23.2167,85.604,-68.3392],[730.342,899.19,21.85,73.9737,-64.489],[675.405,999.957,20.1333,59.8061,-57.496],[589.789,1099.99,17.4833,40.8709,-37.4182],[507.265,1131.8,14.95,32.6826,-0.137622]]], - [78,1140.52,[[1200.73,-2003.48,41.3667,222.391,-83.9187],[1189.69,-1900.92,40.9,219.568,-83.7916],[1178.97,-1803.3,40.45,216.805,-83.665],[1167.77,-1703.4,39.9833,213.897,-83.5293],[1156.07,-1601.4,39.5,210.84,-83.3835],[1144.28,-1500.9,39.0167,207.736,-83.2323],[1132.41,-1401.94,38.5333,204.587,-83.0752],[1120.03,-1301.2,38.0333,201.28,-82.9063],[1107.56,-1202.15,37.5333,197.925,-82.7303],[1094.57,-1101.6,37.0167,194.407,-82.5407],[1081.48,-1002.92,36.5,190.836,-82.3424],[1067.87,-903.023,35.9667,187.097,-82.1281],[1053.72,-802.147,35.4167,183.184,-81.8962],[1039.03,-700.521,34.85,179.093,-81.6446],[1024.23,-601.272,34.2833,174.942,-81.3791],[1008.88,-501.623,33.7,170.608,-81.09],[992.962,-401.835,33.1,166.086,-80.7744],[976.48,-302.18,32.4833,161.372,-80.4288],[958.973,-200.375,31.8333,156.333,-80.0388],[941.33,-101.942,31.1833,151.223,-79.6195],[922.64,-2.15219,30.5,145.779,-79.143],[902.886,98.3786,29.7833,139.991,-78.5991],[882.052,198.992,29.0333,133.855,-77.9743],[860.122,298.984,28.25,127.364,-77.2515],[836.609,399.56,27.4167,120.375,-76.3897],[811.491,499.542,26.5333,112.884,-75.3509],[784.264,599.342,25.5833,104.749,-74.057],[754.416,698.664,24.55,95.8335,-72.386],[720.447,799.062,23.3833,85.7275,-70.0622],[680.819,899.458,22.0333,74.0736,-66.5539],[631.484,999.691,20.3667,60.002,-60.306],[557.302,1099.65,17.8833,41.1464,-43.1782],[470.953,1140.51,15.0167,30.2285,-0.289555]]], - [79,1148.58,[[1105.33,-2002.95,41.45,222.448,-84.4129],[1095.19,-1900.28,40.9833,219.622,-84.2962],[1085.33,-1802.54,40.5333,216.855,-84.1799],[1075.03,-1702.52,40.0667,213.944,-84.0551],[1064.28,-1600.39,39.5833,210.882,-83.9212],[1053.82,-1503.22,39.1167,207.883,-83.7871],[1042.53,-1400.68,38.6167,204.62,-83.6379],[1031.53,-1303.14,38.1333,201.42,-83.488],[1019.68,-1200.63,37.6167,197.948,-83.321],[1008.13,-1103.16,37.1167,194.538,-83.1524],[995.713,-1001.11,36.5833,190.846,-82.9644],[983.199,-901.067,36.05,187.1,-82.7675],[970.195,-800.038,35.5,183.179,-82.5543],[957.092,-701.213,34.95,179.2,-82.3299],[943.488,-601.733,34.3833,175.041,-82.0862],[929.377,-501.845,33.8,170.698,-81.8208],[914.751,-401.809,33.2,166.165,-81.531],[899.604,-301.896,32.5833,161.44,-81.2137],[883.927,-202.392,31.95,156.518,-80.8651],[867.298,-101.107,31.2833,151.263,-80.4704],[850.121,-1.02438,30.6,145.8,-80.0327],[831.966,99.8164,29.8833,139.993,-79.5329],[813.245,198.565,29.15,133.97,-78.972],[793.094,299.013,28.3667,127.452,-78.3088],[771.922,398.115,27.55,120.572,-77.5346],[748.844,498.75,26.6667,113.042,-76.5831],[723.828,599.258,25.7167,104.856,-75.3971],[696.403,699.357,24.6833,95.8727,-73.8641],[665.639,799.281,23.5333,85.8159,-71.7627],[629.684,899.768,22.2,74.1572,-68.5868],[585.729,999.133,20.5833,60.2313,-63.05],[520.356,1099.97,18.2,41.2536,-48.1057],[433.684,1148.58,15.0667,27.7617,-0.222881]]], - [80,1155.98,[[1008.61,-2000.35,41.5167,222.443,-84.9077],[999.691,-1901.24,41.0667,219.714,-84.8051],[990.707,-1803.38,40.6167,216.945,-84.6992],[981.319,-1703.23,40.15,214.031,-84.5856],[971.521,-1600.97,39.6667,210.967,-84.4637],[961.647,-1500.21,39.1833,207.855,-84.3372],[951.698,-1400.98,38.7,204.698,-84.2057],[941.673,-1303.3,38.2167,201.493,-84.0691],[930.875,-1200.63,37.7,198.016,-83.917],[920.346,-1103.01,37.2,194.601,-83.7635],[909.028,-1000.8,36.6667,190.904,-83.5923],[897.623,-900.595,36.1333,187.152,-83.4129],[886.131,-802.432,35.6,183.344,-83.2246],[873.827,-700.403,35.0333,179.238,-83.0142],[861.428,-600.746,34.4667,175.071,-82.7922],[848.567,-500.675,33.8833,170.718,-82.5504],[835.237,-400.448,33.2833,166.176,-82.2863],[821.43,-300.339,32.6667,161.439,-81.9971],[807.142,-200.631,32.0333,156.503,-81.6793],[792.366,-101.623,31.3833,151.366,-81.3288],[776.713,-1.22436,30.7,145.889,-80.9305],[760.169,99.951,29.9833,140.063,-80.4755],[743.11,199.045,29.25,134.019,-79.9649],[724.746,299.865,28.4667,127.476,-79.3608],[705.453,399.358,27.65,120.566,-78.6554],[684.82,498.576,26.7833,113.141,-77.8054],[662.027,599.687,25.8333,104.909,-76.7264],[637.444,698.899,24.8167,96.0101,-75.3548],[609.417,799.741,23.6667,85.867,-73.4444],[577.482,898.966,22.3667,74.3685,-70.6335],[537.858,999.237,20.7667,60.3423,-65.6671],[480.824,1099.91,18.4833,41.435,-52.7469],[396.016,1155.98,15.1167,25.2827,-0.24518]]], - [81,1162.71,[[911.285,-2003.06,41.6,222.575,-85.4104],[902.942,-1900.17,41.1333,219.744,-85.3145],[894.836,-1802.22,40.6833,216.971,-85.219],[886.365,-1701.97,40.2167,214.054,-85.1165],[877.83,-1603.12,39.75,211.092,-85.0103],[868.923,-1502.2,39.2667,207.979,-84.8963],[859.948,-1402.82,38.7833,204.818,-84.7779],[850.592,-1301.64,38.2833,201.499,-84.6505],[841.164,-1202.15,37.7833,198.131,-84.5178],[831.348,-1101.14,37.2667,194.597,-84.3747],[821.456,-1001.99,36.75,191.011,-84.2252],[811.168,-901.607,36.2167,187.253,-84.0635],[800.476,-800.226,35.6667,183.32,-83.8885],[789.702,-701.046,35.1167,179.328,-83.7043],[778.517,-601.196,34.55,175.155,-83.5041],[766.915,-500.923,33.9667,170.795,-83.2862],[754.889,-400.488,33.3667,166.243,-83.0482],[742.435,-300.162,32.75,161.497,-82.7875],[729.545,-200.23,32.1167,156.55,-82.501],[716.216,-100.991,31.4667,151.4,-82.185],[702.095,-0.345814,30.7833,145.908,-81.8258],[687.518,98.779,30.0833,140.202,-81.4254],[672.132,198.244,29.35,134.141,-80.9656],[655.568,299.464,28.5667,127.576,-80.4218],[638.166,399.378,27.75,120.639,-79.7864],[619.556,499.046,26.8833,113.182,-79.0205],[599.359,598.942,25.95,105.053,-78.066],[577.188,698.845,24.9333,96.0998,-76.8319],[552.279,799.089,23.8,86.0273,-75.1388],[523.481,899.415,22.5,74.4114,-72.6105],[488.497,999.182,20.9333,60.466,-68.2382],[438.956,1099.66,18.7333,41.645,-57.1194],[357.959,1162.71,15.1667,22.7922,-0.38517]]], - [82,1168.76,[[812.513,-2000.01,41.65,222.545,-85.9103],[805.344,-1900.71,41.2,219.811,-85.8279],[798.122,-1802.66,40.75,217.037,-85.7428],[790.576,-1702.32,40.2833,214.117,-85.6516],[782.972,-1603.35,39.8167,211.153,-85.557],[775.036,-1502.33,39.3333,208.036,-85.4555],[767.04,-1402.84,38.85,204.873,-85.3501],[758.705,-1301.54,38.35,201.551,-85.2366],[750.306,-1201.93,37.85,198.178,-85.1185],[741.56,-1100.8,37.3333,194.64,-84.9911],[732.747,-1001.52,36.8167,191.049,-84.8579],[723.581,-901.017,36.2833,187.287,-84.7139],[714.345,-802.546,35.75,183.468,-84.5628],[704.456,-700.187,35.1833,179.35,-84.394],[694.491,-600.197,34.6167,175.169,-84.2157],[684.451,-502.614,34.05,170.927,-84.0273],[673.739,-401.952,33.45,166.369,-83.8156],[662.645,-301.39,32.8333,161.615,-83.5837],[651.163,-201.214,32.2,156.66,-83.3289],[639.29,-101.721,31.55,151.5,-83.0478],[626.711,-0.807394,30.8667,145.996,-82.7282],[613.727,98.5953,30.1667,140.275,-82.3719],[600.021,198.354,29.4333,134.197,-81.9628],[585.267,299.89,28.65,127.612,-81.4787],[570.083,398.149,27.85,120.794,-80.9252],[553.508,498.3,26.9833,113.309,-80.2446],[535.52,598.721,26.05,105.143,-79.3962],[515.773,699.201,25.0333,96.1409,-78.2985],[493.915,798.696,23.9167,86.1493,-76.8155],[468.268,899.973,22.6167,74.4291,-74.5678],[437.445,999.945,21.0667,60.4479,-70.7161],[394.673,1099.99,18.9333,41.7042,-61.1424],[319.187,1168.76,15.2,20.2907,-0.226605]]], - [83,1174.11,[[713.227,-2002.3,41.7167,222.653,-86.4168],[706.942,-1902.9,41.2667,219.918,-86.3447],[700.374,-1801.12,40.8,217.04,-86.2674],[693.756,-1700.71,40.3333,214.116,-86.1874],[687.088,-1601.68,39.8667,211.149,-86.1045],[680.129,-1500.59,39.3833,208.029,-86.0154],[673.116,-1401.03,38.9,204.862,-85.9229],[666.051,-1303.01,38.4167,201.647,-85.8268],[658.687,-1203.28,37.9167,198.272,-85.7233],[651.019,-1102.01,37.4,194.732,-85.6117],[643.291,-1002.59,36.8833,191.137,-85.4951],[635.255,-901.943,36.35,187.371,-85.3689],[626.903,-800.28,35.8,183.428,-85.2323],[618.487,-700.815,35.25,179.425,-85.0886],[609.75,-600.669,34.6833,175.24,-84.9325],[600.687,-500.09,34.1,170.866,-84.7624],[591.555,-402.097,33.5167,166.427,-84.582],[581.828,-301.36,32.9,161.665,-84.3788],[571.761,-201.003,32.2667,156.701,-84.1555],[561.351,-101.323,31.6167,151.531,-83.9091],[550.323,-0.210002,30.9333,146.015,-83.629],[538.938,99.3981,30.2333,140.282,-83.3167],[526.921,199.373,29.5,134.188,-82.958],[514.261,299.033,28.7333,127.726,-82.5429],[500.671,399.642,27.9167,120.744,-82.0478],[486.419,498.186,27.0667,113.377,-81.4627],[470.65,599.03,26.1333,105.178,-80.7197],[453.339,699.973,25.1167,96.1327,-79.7576],[434.177,799.981,24,86.0808,-78.4564],[412.272,899.445,22.7333,74.5714,-76.5389],[385.547,999.661,21.2,60.5808,-73.2138],[348.943,1099.84,19.1167,41.8578,-65.079],[280.134,1174.11,15.2333,17.7792,-0.171453]]], - [84,1178.77,[[612.977,-2002.53,41.7667,222.699,-86.9239],[607.579,-1903.06,41.3167,219.963,-86.862],[601.939,-1801.21,40.85,217.082,-86.7956],[596.255,-1700.72,40.3833,214.157,-86.7269],[590.528,-1601.62,39.9167,211.188,-86.6557],[584.552,-1500.44,39.4333,208.065,-86.5793],[578.529,-1400.8,38.95,204.896,-86.4999],[572.461,-1302.7,38.4667,201.678,-86.4174],[566.137,-1202.88,37.9667,198.3,-86.3285],[559.552,-1101.52,37.45,194.756,-86.2327],[552.916,-1002.01,36.9333,191.158,-86.1325],[546.014,-901.271,36.4,187.388,-86.0242],[539.059,-802.561,35.8667,183.561,-85.9106],[531.833,-702.93,35.3167,179.555,-85.7874],[524.331,-602.612,34.75,175.366,-85.6535],[516.549,-501.852,34.1667,170.988,-85.5076],[508.483,-400.911,33.5667,166.416,-85.3484],[500.129,-300.061,32.95,161.647,-85.1739],[491.712,-202.189,32.3333,156.806,-84.9873],[482.773,-102.299,31.6833,151.628,-84.776],[473.304,-0.96529,31,146.104,-84.5357],[463.528,98.8721,30.3,140.36,-84.2679],[453.209,199.09,29.5667,134.253,-83.9602],[442.339,299.005,28.8,127.776,-83.6041],[430.67,399.89,27.9833,120.776,-83.1792],[418.432,498.722,27.1333,113.386,-82.6771],[404.891,599.885,26.2,105.159,-82.0389],[390.271,699.593,25.2,96.2243,-81.2271],[374.066,798.743,24.1,86.2728,-80.1302],[355.261,899.042,22.8333,74.6873,-78.4903],[332.569,999.298,21.3167,60.7136,-75.6778],[301.65,1099.91,19.2667,41.9444,-68.8427],[240.813,1178.77,15.2667,15.2587,-0.270777]]], - [85,1182.73,[[511.912,-2000.73,41.8,222.684,-87.4319],[507.406,-1901.22,41.35,219.945,-87.3802],[502.865,-1802.95,40.9,217.166,-87.3269],[498.121,-1702.37,40.4333,214.24,-87.2695],[493.341,-1603.18,39.9667,211.269,-87.2101],[488.353,-1501.91,39.4833,208.146,-87.1464],[483.326,-1402.17,39,204.975,-87.0802],[478.086,-1300.62,38.5,201.644,-87.0089],[472.805,-1200.76,38,198.262,-86.9347],[467.485,-1102.6,37.5,194.83,-86.8573],[461.946,-1002.99,36.9833,191.229,-86.7737],[456.185,-902.135,36.45,187.456,-86.6834],[450.198,-800.26,35.9,183.506,-86.5856],[444.165,-700.581,35.35,179.495,-86.4826],[437.901,-600.214,34.7833,175.3,-86.3708],[431.591,-502.248,34.2167,171.042,-86.2526],[424.858,-401.179,33.6167,166.465,-86.1197],[417.885,-300.194,33,161.69,-85.9741],[410.859,-202.187,32.3833,156.843,-85.8184],[403.398,-102.155,31.7333,151.658,-85.6421],[395.493,-0.668607,31.05,146.125,-85.4417],[387.333,99.3258,30.35,140.372,-85.2182],[378.72,199.71,29.6167,134.254,-84.9614],[369.646,299.799,28.85,127.763,-84.6641],[360.105,398.866,28.05,120.891,-84.3169],[349.69,499.9,27.1833,113.337,-83.8898],[338.59,599.538,26.2667,105.232,-83.3669],[326.388,699.63,25.2667,96.267,-82.6901],[312.863,799.207,24.1667,86.2725,-81.775],[297.376,898.772,22.9167,74.7754,-80.426],[278.438,999.864,21.4,60.688,-78.081],[253.268,1099.61,19.4,42.0973,-72.5389],[201.236,1182.72,15.3,12.7303,-0.619743]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 395.493; -_maxRange = 2271.7; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg3.sqf deleted file mode 100644 index 66e4e561c4..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg3.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_60mm_m720a1_m734_pd_chg3 -// Ammo: ace_arty_60mm_m720a1_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,756.191,[[3922.95,-2000.24,37,223.335,-67.9582],[3882.28,-1900.9,36.5167,220.754,-67.4946],[3841.28,-1803.06,36.0333,218.147,-67.0161],[3797.09,-1700.14,35.5167,215.331,-66.4874],[3753.97,-1602.21,35.0167,212.578,-65.9579],[3709.04,-1502.77,34.5,209.706,-65.3916],[3662.28,-1402.03,33.9667,206.715,-64.7853],[3613.64,-1300.18,33.4167,203.602,-64.1359],[3564.59,-1200.44,32.8667,200.464,-63.4604],[3515.12,-1102.85,32.3167,197.302,-62.7576],[3462.22,-1001.72,31.7333,193.925,-61.9805],[3407.32,-900.282,31.1333,190.43,-61.1451],[3351.95,-801.511,30.5333,186.917,-60.2709],[3292.99,-700.185,29.9,183.193,-59.3032],[3233.51,-601.915,29.2667,179.458,-58.2864],[3170.34,-501.823,28.6,175.522,-57.1593],[3103.41,-400.48,27.9,171.391,-55.9089],[3034.25,-300.765,27.1833,167.174,-54.5524],[2961.2,-200.858,26.4333,162.785,-53.0437],[2884.18,-101.437,25.65,158.243,-51.3632],[2801.44,-1.27887,24.8167,153.479,-49.4484],[2712.86,98.4809,23.9333,148.53,-47.2643],[2614.91,199.978,22.9667,143.271,-44.6767],[2509.06,299.47,21.9333,137.883,-41.6643],[2389.91,399.08,20.7833,132.245,-37.9899],[2250.03,499.676,19.45,126.309,-33.2793],[2078.03,599.824,17.8333,120.207,-26.9006],[1830.76,699.724,15.55,114.226,-16.7289],[1453.39,756.191,12.15,112.613,-0.00765624]]], - [46,781.71,[[3887.11,-2000.41,37.3167,223.577,-68.406],[3847.18,-1900.65,36.8333,220.987,-67.9518],[3806.93,-1802.37,36.35,218.368,-67.483],[3764.95,-1702.29,35.85,215.631,-66.982],[3721.21,-1600.61,35.3333,212.774,-66.4462],[3677.1,-1500.7,34.8167,209.887,-65.8911],[3632.63,-1402.59,34.3,206.974,-65.3158],[3584.89,-1300.17,33.75,203.844,-64.6799],[3538.21,-1202.86,33.2167,200.783,-64.0389],[3488.19,-1101.67,32.65,197.505,-63.3301],[3437.75,-1002.78,32.0833,194.202,-62.591],[3383.89,-900.618,31.4833,190.682,-61.7735],[3329.55,-801.111,30.8833,187.141,-60.9177],[3273.22,-701.65,30.2667,183.484,-59.9957],[3214.86,-602.507,29.6333,179.715,-59.0011],[3152.88,-501.487,28.9667,175.739,-57.8983],[3088.78,-401.55,28.2833,171.662,-56.7042],[3020.94,-300.722,27.5667,167.393,-55.3773],[2950.88,-201.834,26.8333,163.043,-53.9346],[2875.34,-101.063,26.05,158.432,-52.2909],[2795.82,-1.4278,25.2333,153.681,-50.4553],[2710.6,98.1594,24.3667,148.727,-48.3597],[2616.23,199.938,23.4167,143.435,-45.873],[2515.84,298.602,22.4167,138.067,-43.0231],[2400.78,399.751,21.2833,132.304,-39.4813],[2270.63,499.17,20.0167,126.377,-35.1031],[2110.96,599.943,18.4833,120.13,-29.1829],[1895.77,699.897,16.45,113.864,-20.308],[1452.14,781.707,12.3667,110.521,-0.0834781]]], - [47,807.172,[[3849.01,-2001.51,37.6333,223.846,-68.8595],[3809.84,-1901.31,37.15,221.246,-68.4149],[3770.34,-1802.59,36.6667,218.617,-67.956],[3729.16,-1702.06,36.1667,215.868,-67.4655],[3687.63,-1603.16,35.6667,213.091,-66.9581],[3644.36,-1502.71,35.15,210.191,-66.4152],[3599.32,-1400.9,34.6167,207.169,-65.834],[3553.91,-1301.04,34.0833,204.117,-65.2304],[3506.68,-1200.13,33.5333,200.942,-64.5833],[3459.05,-1101.35,32.9833,197.74,-63.9096],[3409.57,-1001.83,32.4167,194.416,-63.1863],[3358.2,-901.821,31.8333,190.969,-62.4087],[3304.91,-801.564,31.2333,187.401,-61.5718],[3249.66,-701.324,30.6167,183.715,-60.6699],[3192.42,-601.373,29.9833,179.912,-59.6967],[3133.16,-501.999,29.3333,175.998,-58.6449],[3070.3,-401.084,28.65,171.878,-57.4772],[3005.33,-301.541,27.95,167.659,-56.21],[2936.64,-201.481,27.2167,163.253,-54.7997],[2864.16,-101.564,26.45,158.674,-53.2271],[2786.22,-0.484416,25.6333,153.844,-51.4325],[2704.3,98.7676,24.7833,148.893,-49.4224],[2615.07,198.895,23.8667,143.671,-47.0777],[2516.71,299.821,22.8667,138.157,-44.292],[2408.99,399.228,21.7833,132.46,-40.9823],[2284.92,499.628,20.55,126.425,-36.8155],[2137.16,599.986,19.1,120.118,-31.34],[1945.81,699.793,17.25,113.664,-23.4399],[1577.2,799.819,13.7667,108.015,-6.3188],[1445.94,807.171,12.55,108.435,-0.0081094]]], - [48,832.553,[[3807.34,-2000.09,37.9333,224.052,-69.3037],[3770.24,-1902.93,37.4667,221.532,-68.8837],[3730.18,-1800.38,36.9667,218.802,-68.4192],[3691.13,-1702.76,36.4833,216.134,-67.9551],[3649.04,-1600.11,35.9667,213.251,-67.4419],[3607.98,-1502.44,35.4667,210.431,-66.9277],[3563.82,-1400.12,34.9333,207.393,-66.359],[3520.68,-1302.85,34.4167,204.422,-65.7871],[3474.38,-1201.32,33.8667,201.23,-65.1546],[3427.69,-1101.93,33.3167,198.009,-64.496],[3379.17,-1001.77,32.75,194.663,-63.7887],[3328.81,-901.095,32.1667,191.193,-63.0282],[3276.56,-800.147,31.5667,187.599,-62.2095],[3223.87,-701.88,30.9667,183.984,-61.3515],[3167.76,-601.104,30.3333,180.149,-60.4002],[3109.67,-500.876,29.6833,176.198,-59.3718],[3049.57,-401.492,29.0167,172.137,-58.2581],[2985.9,-300.917,28.3167,167.871,-57.0198],[2920.12,-202.017,27.6,163.512,-55.673],[2849.1,-100.842,26.8333,158.869,-54.1365],[2774.29,-0.442213,26.0333,154.064,-52.4187],[2695.62,98.436,25.2,149.122,-50.494],[2609.82,198.587,24.3,143.885,-48.2462],[2516.72,298.364,23.3333,138.417,-45.6185],[2412.89,398.948,22.2667,132.628,-42.4387],[2294.74,499.986,21.0667,126.514,-38.4789],[2158.52,599.172,19.7,120.211,-33.4395],[1985.01,699.374,17.9833,113.589,-26.2807],[1712.1,799.668,15.3333,107.114,-13.5746],[1440.32,832.552,12.75,106.31,-0.0369781]]], - [49,857.823,[[3764.71,-2003.17,38.25,224.375,-69.7685],[3727.06,-1902.11,37.7667,221.756,-69.3433],[3689.1,-1802.54,37.2833,219.107,-68.9042],[3649.51,-1701.11,36.7833,216.335,-68.4348],[3609.6,-1601.3,36.2833,213.533,-67.9492],[3569.36,-1503.15,35.7833,210.702,-67.4465],[3526.08,-1400.29,35.25,207.649,-66.8906],[3483.8,-1302.5,34.7333,204.663,-66.3316],[3438.43,-1200.42,34.1833,201.453,-65.7131],[3392.67,-1100.46,33.6333,198.214,-65.0691],[3346.53,-1002.65,33.0833,194.946,-64.3981],[3297.19,-901.291,32.5,191.454,-63.6551],[3247.43,-802.425,31.9167,187.935,-62.8778],[3194.37,-700.656,31.3,184.191,-62.0164],[3140.85,-601.753,30.6833,180.426,-61.1114],[3083.95,-500.651,30.0333,176.44,-60.1068],[3025.07,-400.364,29.3667,172.339,-59.0187],[2964.19,-301.203,28.6833,168.13,-57.8378],[2899.76,-201.215,27.9667,163.719,-56.5224],[2831.72,-101.039,27.2167,159.117,-55.0545],[2760,-1.35544,26.4333,154.341,-53.4131],[2682.98,99.0598,25.6,149.314,-51.5346],[2600.53,199.066,24.7167,144.072,-49.3804],[2510.98,299.118,23.7667,138.572,-46.8589],[2412.55,398.982,22.7333,132.801,-43.8518],[2301.8,498.968,21.5833,126.717,-40.151],[2171.85,599.946,20.25,120.244,-35.3532],[2013.82,699.576,18.65,113.55,-28.8358],[1786.21,799.727,16.3833,106.716,-18.2216],[1433.42,857.821,12.95,104.161,-0.0867393]]], - [50,882.952,[[3717.26,-2000.27,38.5333,224.545,-70.2102],[3681.65,-1902.32,38.0667,222.007,-69.8087],[3644.47,-1802.33,37.5833,219.349,-69.3796],[3605.69,-1700.46,37.0833,216.566,-68.9208],[3566.59,-1600.21,36.5833,213.752,-68.4461],[3527.17,-1501.61,36.0833,210.908,-67.9547],[3486.11,-1401.47,35.5667,207.937,-67.4285],[3443.37,-1300,35.0333,204.839,-66.8646],[3400.27,-1200.5,34.5,201.71,-66.2784],[3356.82,-1102.97,33.9667,198.552,-65.6687],[3310.28,-1001.56,33.4,195.166,-64.9936],[3263.34,-902.462,32.8333,191.751,-64.2887],[3213.21,-800.086,32.2333,188.107,-63.5077],[3162.66,-700.376,31.6333,184.437,-62.6888],[3110.25,-600.715,31.0167,180.642,-61.8049],[3055.97,-501.38,30.3833,176.725,-60.8493],[2998.34,-400.171,29.7167,172.586,-59.7873],[2938.73,-300.056,29.0333,168.333,-58.6343],[2877.13,-201.358,28.3333,163.975,-57.3802],[2810.54,-100.011,27.5833,159.315,-55.9475],[2741.84,-1.18708,26.8167,154.574,-54.3796],[2667.97,98.6924,26,149.568,-52.5839],[2588.84,198.514,25.1333,144.328,-50.5234],[2502.77,298.799,24.2,138.803,-48.1085],[2408.06,399.391,23.1833,132.971,-45.2235],[2302.9,499.325,22.0667,126.861,-41.7184],[2182.25,599.099,20.8,120.421,-37.276],[2035.94,699.255,19.2833,113.607,-31.2557],[1836.78,799.913,17.25,106.509,-21.9674],[1423.52,882.95,13.1333,102.003,-0.0673266]]], - [51,907.914,[[3668.86,-2001.95,38.8333,224.833,-70.672],[3632.75,-1900.11,38.35,222.195,-70.2657],[3597.6,-1803.17,37.8833,219.619,-69.861],[3559.64,-1700.85,37.3833,216.826,-69.413],[3521.37,-1600.15,36.8833,214.001,-68.9494],[3482.79,-1501.09,36.3833,211.145,-68.4695],[3442.59,-1400.47,35.8667,208.161,-67.9555],[3402.07,-1301.66,35.35,205.145,-67.4222],[3359.89,-1201.59,34.8167,202.001,-66.8503],[3316.04,-1100.46,34.2667,198.726,-66.2363],[3271.81,-1001.47,33.7167,195.42,-65.5964],[3225.88,-901.746,33.15,191.985,-64.9082],[3178.19,-801.532,32.5667,188.419,-64.1674],[3128.72,-701.077,31.9667,184.723,-63.3687],[3077.45,-600.643,31.35,180.899,-62.5063],[3024.33,-500.505,30.7167,176.949,-61.5738],[2969.35,-400.953,30.0667,172.877,-60.5637],[2912.47,-302.286,29.4,168.688,-59.4676],[2850.78,-200.16,28.6833,164.177,-58.2157],[2788.54,-102.178,27.9667,159.67,-56.8814],[2721.35,-2.01753,27.2,154.865,-55.3544],[2649.12,99.3005,26.3833,149.781,-53.6041],[2573.22,198.776,25.5333,144.551,-51.6338],[2490.58,299.117,24.6167,139.011,-49.3219],[2401.03,398.629,23.6333,133.227,-46.6038],[2299.8,499.826,22.5333,127.018,-43.2404],[2186.58,599.111,21.3167,120.572,-39.0826],[2049.99,699.805,19.8667,113.654,-33.4732],[1873.24,799.956,18.0167,106.433,-25.2352],[1538.24,899.817,14.5833,99.6552,-7.19455],[1412.41,907.912,13.3167,99.8209,-0.0680091]]], - [52,932.679,[[3616.96,-2001.22,39.1167,225.058,-71.1258],[3582.86,-1902.49,38.65,222.504,-70.743],[3547.25,-1801.68,38.1667,219.826,-70.3338],[3511.35,-1702.34,37.6833,217.117,-69.9112],[3473.92,-1601.17,37.1833,214.281,-69.459],[3436.18,-1501.64,36.6833,211.413,-68.9907],[3396.86,-1400.53,36.1667,208.417,-68.4893],[3357.22,-1301.23,35.65,205.387,-67.9688],[3315.96,-1200.63,35.1167,202.227,-67.4106],[3274.37,-1102.02,34.5833,199.035,-66.8299],[3231.13,-1002.41,34.0333,195.712,-66.206],[3186.2,-902.058,33.4667,192.256,-65.535],[3139.56,-801.184,32.8833,188.667,-64.8124],[3091.19,-700.042,32.2833,184.946,-64.0333],[3042.4,-601.591,31.6833,181.198,-63.2151],[2990.47,-500.634,31.05,177.217,-62.3063],[2936.71,-400.231,30.4,173.11,-61.3214],[2881.09,-300.684,29.7333,168.881,-60.2523],[2823.59,-202.305,29.05,164.535,-59.0892],[2761.33,-100.908,28.3167,159.87,-57.7591],[2697.08,-1.75101,27.5667,155.108,-56.303],[2627.92,98.8762,26.7667,150.056,-54.633],[2553.75,199.89,25.9167,144.738,-52.7135],[2475.93,298.324,25.0333,139.295,-50.544],[2388.45,399.94,24.05,133.376,-47.897],[2294.07,499.042,23,127.275,-44.7712],[2186.56,598.906,21.8167,120.764,-40.8376],[2059.39,699.511,20.4333,113.801,-35.631],[1899.46,799.76,18.7167,106.459,-28.1931],[1648.23,899.976,16.0667,99.0063,-14.6768],[1400.06,932.676,13.5,97.6155,-0.0905558]]], - [53,957.22,[[3562.84,-2001.63,39.4,225.312,-71.5855],[3529.5,-1902.52,38.9333,222.749,-71.2121],[3494.69,-1801.3,38.45,220.063,-70.813],[3459.6,-1701.57,37.9667,217.344,-70.4007],[3424.22,-1603.33,37.4833,214.593,-69.9744],[3386.1,-1500.01,36.9667,211.618,-69.5026],[3348.91,-1401.7,36.4667,208.705,-69.0293],[3310.16,-1301.89,35.95,205.663,-68.5221],[3269.84,-1200.76,35.4167,202.488,-67.9779],[3229.19,-1101.61,34.8833,199.28,-67.4117],[3186.92,-1001.45,34.3333,195.938,-66.8033],[3143.01,-900.509,33.7667,192.462,-66.1489],[3098.73,-801.895,33.2,188.955,-65.4647],[3051.46,-700.051,32.6,185.21,-64.7055],[3003.78,-600.89,32,181.435,-63.9082],[2954.37,-501.814,31.3833,177.529,-63.0461],[2901.84,-400.543,30.7333,173.388,-62.0871],[2847.5,-300.096,30.0667,169.12,-61.0457],[2791.32,-200.786,29.3833,164.731,-59.9123],[2731.88,-100.66,28.6667,160.122,-58.6458],[2669.11,-0.357147,27.9167,155.302,-57.2274],[2602.97,99.4362,27.1333,150.286,-55.6346],[2531.95,199.944,26.3,144.99,-53.8027],[2457.4,298.194,25.4333,139.551,-51.7317],[2374.89,398.426,24.4833,133.705,-49.246],[2282.76,499.986,23.4333,127.439,-46.2065],[2180.79,599.932,22.2833,120.895,-42.4848],[2062.71,699.644,20.9667,113.951,-37.663],[1917.42,799.315,19.3667,106.567,-30.9246],[1706.81,899.955,17.0833,98.7817,-19.611],[1384.89,957.219,13.6667,95.3982,-0.0384212]]], - [54,981.508,[[3506.49,-2003.23,39.6833,225.595,-72.0508],[3472.75,-1900.19,39.2,222.932,-71.6738],[3439.92,-1802.09,38.7333,220.33,-71.2981],[3405.64,-1701.94,38.25,217.602,-70.8963],[3371.09,-1603.28,37.7667,214.841,-70.4809],[3335.05,-1502.83,37.2667,211.951,-70.0362],[3297.51,-1400.76,36.75,208.93,-69.5598],[3259.67,-1300.48,36.2333,205.874,-69.0653],[3221.51,-1202.02,35.7167,202.784,-68.5517],[3181.81,-1102.31,35.1833,199.561,-68.0003],[3140.53,-1001.58,34.6333,196.202,-67.4078],[3097.64,-900.042,34.0667,192.707,-66.7703],[3054.4,-800.825,33.5,189.179,-66.1037],[3009.52,-701.147,32.9167,185.514,-65.385],[2962.97,-601.261,32.3167,181.715,-64.609],[2914.72,-501.431,31.7,177.78,-63.7696],[2864.75,-401.935,31.0667,173.713,-62.8603],[2811.7,-300.569,30.4,169.408,-61.8472],[2756.84,-200.309,29.7167,164.977,-60.7442],[2700.17,-101.479,29.0167,160.428,-59.5407],[2638.9,-0.0101044,28.2667,155.551,-58.161],[2575.71,98.9184,27.5,150.577,-56.6449],[2507.8,198.885,26.6833,145.309,-54.9002],[2435.05,298.773,25.8167,139.775,-52.8871],[2355.95,399.096,24.8833,133.915,-50.5118],[2268.94,499.692,23.8667,127.696,-47.6514],[2172.38,599.587,22.75,121.138,-44.1416],[2061.64,699.259,21.4833,114.166,-39.6378],[1927.45,799.219,19.9667,106.699,-33.436],[1744.96,899.502,17.9333,98.7579,-23.6583],[1368.54,981.508,13.8333,93.1574,-0.00709141]]], - [55,1005.52,[[3446.76,-2002.47,39.95,225.815,-72.5093],[3414.96,-1902.61,39.4833,223.237,-72.1548],[3381.77,-1800.61,39,220.533,-71.7759],[3348.3,-1700.08,38.5167,217.796,-71.3843],[3314.57,-1601.04,38.0333,215.024,-70.9795],[3279.4,-1500.19,37.5333,212.123,-70.5461],[3243.93,-1400.98,37.0333,209.187,-70.0969],[3207,-1300.23,36.5167,206.119,-69.6155],[3169.76,-1201.28,36,203.015,-69.1153],[3131.01,-1101.07,35.4667,199.777,-68.5784],[3091.94,-1002.86,34.9333,196.504,-68.0191],[3050.09,-900.709,34.3667,192.99,-67.3989],[3007.89,-800.874,33.8,189.442,-66.7503],[2964.09,-700.554,33.2167,185.756,-66.0508],[2918.67,-600,32.6167,181.931,-65.2954],[2872.86,-502.156,32.0167,178.075,-64.5009],[2824.11,-401.86,31.3833,173.977,-63.6165],[2773.65,-302.158,30.7333,169.745,-62.6562],[2720.14,-200.927,30.05,165.274,-61.5844],[2664.86,-101.093,29.35,160.679,-60.4144],[2606.43,-0.76555,28.6167,155.857,-59.1032],[2544.8,99.3914,27.85,150.821,-57.6298],[2479.91,198.669,27.05,145.587,-55.969],[2410.34,298.207,26.2,140.071,-54.0515],[2334.61,398.584,25.2833,134.204,-51.787],[2251.18,499.713,24.2833,127.944,-49.0557],[2159.89,599.258,23.2,121.396,-45.751],[2054.84,699.711,21.9667,114.344,-41.4947],[1929.9,799.997,20.5167,106.801,-35.7363],[1768.35,899.522,18.6667,98.7957,-27.1017],[1447.61,999.867,15.0667,90.8284,-6.58774],[1352.54,1005.51,14.0167,90.883,-0.101463]]], - [56,1029.22,[[3384.83,-2002.97,40.2167,226.065,-72.9736],[3353.82,-1902.74,39.75,223.48,-72.6286],[3321.44,-1800.35,39.2667,220.768,-72.2598],[3289.93,-1702.89,38.8,218.116,-71.8921],[3255.9,-1600.01,38.3,215.24,-71.4847],[3222.74,-1502.09,37.8167,212.426,-71.0771],[3188.16,-1402.42,37.3167,209.479,-70.6403],[3152.14,-1301.17,36.8,206.399,-70.1722],[3115.83,-1201.73,36.2833,203.283,-69.6858],[3078.04,-1101.01,35.75,200.029,-69.1635],[3039.94,-1002.27,35.2167,196.741,-68.6195],[3000.34,-902.552,34.6667,193.314,-68.0343],[2959.2,-802.084,34.1,189.746,-67.404],[2916.5,-701.106,33.5167,186.038,-66.7241],[2873.44,-602.644,32.9333,182.297,-66.0107],[2827.55,-501.334,32.3167,178.308,-65.2172],[2780.02,-400.301,31.6833,174.179,-64.3571],[2732.09,-302.37,31.05,170.023,-63.4475],[2679.93,-200.239,30.3667,165.513,-62.4059],[2627.32,-101.827,29.6833,160.984,-61.2964],[2570.38,-0.414404,28.95,156.111,-60.023],[2511.62,98.738,28.2,151.126,-58.6234],[2448.4,199.336,27.4,145.821,-57.0109],[2381.94,298.37,26.5667,140.33,-55.1855],[2309.5,398.632,25.6667,134.466,-53.0277],[2230.95,498.457,24.7,128.283,-50.468],[2143.41,599.015,23.6333,121.661,-47.3147],[2043.9,699.92,22.4333,114.558,-43.2995],[1927.9,799.928,21.05,106.999,-37.9743],[1782.13,899.337,19.3333,98.918,-30.2124],[1547.62,999.692,16.6167,90.3591,-15.3053],[1332.32,1029.22,14.1667,88.6062,-0.0142881]]], - [57,1052.59,[[3319.62,-2001.13,40.4667,226.253,-73.4318],[3289.39,-1900.57,40,223.66,-73.0961],[3258.93,-1801.36,39.5333,221.034,-72.7498],[3227.13,-1700.04,39.05,218.279,-72.3793],[3195.07,-1600.21,38.5667,215.489,-71.9963],[3162.75,-1501.89,38.0833,212.665,-71.6],[3129.06,-1401.79,37.5833,209.707,-71.1754],[3093.96,-1300.1,37.0667,206.615,-70.7201],[3058.57,-1200.22,36.55,203.485,-70.2471],[3022.91,-1102.16,36.0333,200.32,-69.7553],[2985.79,-1002.88,35.5,197.016,-69.2269],[2947.21,-902.608,34.95,193.572,-68.6583],[2907.13,-801.561,34.3833,189.986,-68.0458],[2866.72,-702.848,33.8167,186.364,-67.4044],[2823.58,-600.91,33.2167,182.492,-66.6916],[2780.08,-501.668,32.6167,178.586,-65.9415],[2735,-402.52,32,174.538,-65.1288],[2687.09,-301.187,31.35,170.239,-64.2225],[2637.53,-200.693,30.6833,165.803,-63.2358],[2586.3,-101.352,30,161.232,-62.1588],[2532.1,-1.21045,29.2833,156.422,-60.9512],[2474.9,99.0859,28.5333,151.381,-59.5935],[2414.62,198.85,27.75,146.12,-58.0619],[2349.92,299.299,26.9167,140.549,-56.2912],[2280.7,399.283,26.0333,134.697,-54.2362],[2205.56,499.242,25.0833,128.499,-51.796],[2123.04,598.925,24.05,121.925,-48.835],[2028.92,699.968,22.8833,114.799,-45.0538],[1921.55,799.119,21.5667,107.28,-40.149],[1786.75,899.822,19.9333,99.0328,-33.0019],[1592.73,999.558,17.6167,90.2775,-20.7157],[1312.44,1052.58,14.3333,86.2965,-0.0568769]]], - [58,1075.59,[[3252.27,-2000.62,40.7167,226.471,-73.8962],[3223.9,-1903.3,40.2667,223.964,-73.5818],[3193.18,-1800.16,39.7833,221.237,-73.2334],[3163.29,-1701.97,39.3167,218.569,-72.886],[3132.08,-1601.72,38.8333,215.771,-72.5141],[3100.62,-1502.98,38.35,212.938,-72.1293],[3067.82,-1402.44,37.85,209.97,-71.7171],[3033.66,-1300.3,37.3333,206.866,-71.275],[3000.33,-1203.16,36.8333,203.826,-70.8307],[2964.49,-1101.42,36.3,200.545,-70.338],[2928.36,-1001.66,35.7667,197.227,-69.8247],[2890.8,-900.88,35.2167,193.766,-69.2723],[2852.93,-802.26,34.6667,190.267,-68.6951],[2812.44,-700.06,34.0833,186.518,-68.0539],[2771.62,-600.365,33.5,182.731,-67.3808],[2729.28,-500.473,32.9,178.8,-66.6525],[2685.41,-400.651,32.2833,174.724,-65.8633],[2639.97,-301.178,31.65,170.505,-65.0063],[2592.96,-202.344,31,166.145,-64.0735],[2543.11,-102.052,30.3167,161.535,-63.0298],[2490.38,-0.903635,29.6,156.678,-61.859],[2435.96,98.2551,28.8667,151.696,-60.5722],[2377.32,199.25,28.0833,146.372,-59.0881],[2315.65,299.046,27.2667,140.837,-57.4065],[2249.6,398.72,26.4,135.004,-55.4541],[2177.82,498.778,25.4667,128.8,-53.1337],[2098.88,599.043,24.45,122.183,-50.3139],[2010,699.922,23.3167,115.058,-46.7592],[1909.63,798.867,22.05,107.537,-42.1961],[1785.38,899.804,20.5,99.2266,-35.6398],[1616.11,999.951,18.4167,90.2879,-24.9631],[1289.97,1075.59,14.4833,83.9736,-0.0173583]]], - [59,1098.21,[[3182.76,-2001.45,40.9667,226.72,-74.3666],[3154.13,-1900.2,40.5,224.113,-74.05],[3125.28,-1800.29,40.0333,221.471,-73.7233],[3096.21,-1701.73,39.5667,218.796,-73.3861],[3065.85,-1601.11,39.0833,215.989,-73.0251],[3035.26,-1502,38.6,213.146,-72.6516],[3003.36,-1401.06,38.1,210.169,-72.2514],[2971.2,-1301.78,37.6,207.154,-71.8363],[2937.7,-1200.96,37.0833,204,-71.3909],[2903.94,-1101.96,36.5667,200.809,-70.9277],[2868.81,-1001.69,36.0333,197.476,-70.4298],[2832.28,-900.392,35.4833,193.999,-69.8939],[2795.46,-801.245,34.9333,190.483,-69.334],[2757.22,-701.383,34.3667,186.822,-68.73],[2717.52,-601.047,33.7833,183.015,-68.0776],[2676.36,-500.489,33.1833,179.06,-67.3717],[2634.86,-402.653,32.5833,175.069,-66.6278],[2590.7,-302.38,31.95,170.821,-65.7978],[2543.82,-200.206,31.2833,166.315,-64.8705],[2496.54,-101.546,30.6167,161.779,-63.883],[2446.48,-1.79244,29.9167,156.992,-62.7754],[2393.59,98.4297,29.1833,151.959,-61.5294],[2337.81,198.453,28.4167,146.689,-60.1232],[2277.87,299.572,27.6,141.082,-58.4955],[2214.93,398.782,26.75,135.275,-56.6419],[2146.44,498.768,25.8333,129.075,-54.4369],[2071.01,599.428,24.8333,122.429,-51.7539],[1987.23,699.854,23.7333,115.329,-48.4179],[1892.34,799.42,22.5,107.745,-44.1228],[1778.24,899.606,21.0333,99.4639,-38.1299],[1628.56,999.47,19.1333,90.459,-28.7414],[1266.39,1098.21,14.6333,81.6279,-0.00357084]]], - [60,1120.41,[[3110.09,-2000.04,41.2,226.907,-74.8318],[3083.27,-1902.08,40.75,224.387,-74.5357],[3055.25,-1801.8,40.2833,221.739,-74.2192],[3027,-1702.88,39.8167,219.057,-73.8923],[2997.51,-1601.87,39.3333,216.242,-73.5425],[2967.79,-1502.36,38.85,213.391,-73.1805],[2936.79,-1401.02,38.35,210.403,-72.7925],[2905.55,-1301.33,37.85,207.378,-72.3901],[2873.01,-1200.08,37.3333,204.212,-71.9583],[2840.21,-1100.64,36.8167,201.008,-71.5091],[2807.14,-1003.04,36.3,197.766,-71.0417],[2771.66,-901.204,35.75,194.274,-70.5228],[2735.9,-801.516,35.2,190.742,-69.9803],[2698.75,-701.09,34.6333,187.063,-69.3952],[2660.19,-600.168,34.05,183.234,-68.7631],[2621.33,-501.775,33.4667,179.367,-68.0985],[2579.9,-400.551,32.85,175.24,-67.3578],[2538.13,-302.239,32.2333,171.075,-66.5749],[2493.74,-201.813,31.5833,166.65,-65.6999],[2447.84,-102.274,30.9167,162.078,-64.7448],[2399.23,-1.58813,30.2167,157.249,-63.673],[2347.87,99.6207,29.4833,152.167,-62.4668],[2294.89,198.54,28.7333,146.956,-61.1355],[2237.89,298.862,27.9333,141.396,-59.5938],[2176.8,399.492,27.0833,135.507,-57.8016],[2111.52,499.245,26.1833,129.32,-55.7079],[2040.77,598.481,25.2167,122.768,-53.2028],[1960.71,699.816,24.1333,115.603,-50.0317],[1871.15,799.687,22.9333,107.986,-45.997],[1765.54,899.502,21.5333,99.7134,-40.4778],[1630.69,999.367,19.7667,90.6473,-32.065],[1403.18,1099.67,16.8333,80.801,-14.3349],[1241.7,1120.41,14.7833,79.2598,-0.0182856]]], - [61,1142.18,[[3035.31,-2000.02,41.4333,227.126,-75.3031],[3009.28,-1901.75,40.9833,224.599,-75.0164],[2982.08,-1801.15,40.5167,221.945,-74.7097],[2954.67,-1701.9,40.05,219.255,-74.393],[2926.04,-1600.54,39.5667,216.431,-74.0541],[2897.2,-1500.68,39.0833,213.571,-73.7033],[2868.12,-1402.34,38.6,210.674,-73.3402],[2837.81,-1302.23,38.1,207.638,-72.9507],[2806.23,-1200.53,37.5833,204.462,-72.5327],[2774.4,-1100.64,37.0667,201.246,-72.0979],[2742.31,-1002.59,36.55,197.99,-71.6454],[2707.89,-900.269,36,194.483,-71.1429],[2673.18,-800.089,35.45,190.935,-70.6177],[2638.19,-702.088,34.9,187.346,-70.068],[2600.79,-600.563,34.3167,183.499,-69.4566],[2563.08,-501.561,33.7333,179.61,-68.8135],[2523.98,-402.402,33.1333,175.571,-68.1167],[2482.37,-300.719,32.5,171.266,-67.339],[2440.41,-202.146,31.8667,166.924,-66.5142],[2395.88,-101.796,31.2,162.318,-65.5907],[2348.73,-0.249955,30.5,157.448,-64.5538],[2300.05,99.5969,29.7833,152.436,-63.4139],[2248.67,199.56,29.0333,147.171,-62.1268],[2194.54,298.947,28.25,141.663,-60.6678],[2136.46,398.964,27.4167,135.813,-58.9711],[2074.35,498.454,26.5333,129.646,-56.9885],[2005.75,599.513,25.5667,122.974,-54.5702],[1930.55,699.887,24.5167,115.873,-51.6031],[1846.17,799.759,23.35,108.251,-47.8204],[1747.52,899.775,22,99.9461,-42.6904],[1624.33,999.867,20.3333,90.8147,-35.0427],[1439.44,1099.74,17.8667,80.7813,-20.7363],[1215.9,1142.18,14.9333,76.8697,-0.0640557]]], - [62,1163.48,[[2958.43,-2001.48,41.6667,227.376,-75.7802],[2933.2,-1902.88,41.2167,224.844,-75.5029],[2906.84,-1801.94,40.75,222.183,-75.2063],[2880.26,-1702.34,40.2833,219.486,-74.9],[2852.52,-1600.63,39.8,216.655,-74.5722],[2824.55,-1500.41,39.3167,213.787,-74.2329],[2796.37,-1401.7,38.8333,210.88,-73.8815],[2766.98,-1301.21,38.3333,207.835,-73.5047],[2737.37,-1202.37,37.8333,204.75,-73.1136],[2706.52,-1102.03,37.3167,201.523,-72.6934],[2674.42,-1000.36,36.7833,198.15,-72.2417],[2642.06,-900.685,36.25,194.735,-71.7704],[2609.45,-803.019,35.7167,191.28,-71.2784],[2574.52,-701.487,35.15,187.566,-70.7312],[2539.32,-602.296,34.5833,183.81,-70.1573],[2502.78,-502.668,34,179.901,-69.5363],[2463.83,-400.126,33.3833,175.725,-68.844],[2424.57,-300.484,32.7667,171.508,-68.1119],[2383.91,-201.211,32.1333,167.137,-67.3148],[2340.77,-100.117,31.4667,162.496,-66.422],[2296.17,-0.172482,30.7833,157.705,-65.4441],[2250.11,98.2914,30.0833,152.766,-64.3696],[2200.34,199.322,29.3333,147.45,-63.1279],[2147.91,299.836,28.55,141.882,-61.7195],[2092.78,399.097,27.7333,136.077,-60.1147],[2033.76,498.168,26.8667,129.939,-58.2387],[1968.49,599.239,25.9167,123.269,-55.9482],[1897.99,698.55,24.9,116.248,-53.1828],[1817.49,799.684,23.75,108.531,-49.595],[1725.56,899.468,22.45,100.239,-44.8419],[1612.38,999.821,20.8667,91.059,-37.8575],[1453.06,1099.99,18.6667,80.8747,-25.6112],[1187.74,1163.48,15.0667,74.465,-0.0188592]]], - [63,1184.29,[[2878.56,-2000.74,41.8833,227.566,-76.2533],[2854.14,-1901.86,41.4333,225.028,-75.9852],[2828.61,-1800.61,40.9667,222.36,-75.6985],[2802.88,-1700.71,40.5,219.656,-75.4024],[2776.95,-1602.18,40.0333,216.915,-75.0966],[2749.88,-1501.58,39.55,214.039,-74.7689],[2722.6,-1402.49,39.0667,211.124,-74.4296],[2694.15,-1301.6,38.5667,208.07,-74.0657],[2665.48,-1202.37,38.0667,204.975,-73.688],[2635.62,-1101.61,37.55,201.736,-73.2821],[2605.52,-1002.67,37.0333,198.457,-72.8597],[2574.21,-902.492,36.5,195.029,-72.405],[2541.65,-801.285,35.95,191.451,-71.915],[2508.84,-702.245,35.4,187.83,-71.4022],[2474.76,-602.505,34.8333,184.056,-70.8483],[2439.4,-502.307,34.25,180.128,-70.2489],[2402.73,-401.907,33.65,176.043,-69.599],[2364.74,-301.57,33.0333,171.801,-68.8931],[2325.4,-201.577,32.4,167.403,-68.1244],[2284.7,-102.222,31.75,162.848,-67.2853],[2241.55,-1.39411,31.0667,158.02,-66.3431],[2196.99,97.9839,30.3667,153.04,-65.3075],[2149.91,197.787,29.6333,147.794,-64.1378],[2099.19,299.454,28.85,142.169,-62.7813],[2045.86,399.929,28.0333,136.295,-61.2345],[1989.88,498.432,27.1833,130.194,-59.4612],[1927.86,599.349,26.25,123.536,-57.2939],[1860.8,698.933,25.25,116.497,-54.6749],[1785.23,799.533,24.1333,108.821,-51.3232],[1698.65,899.895,22.8667,100.476,-46.8698],[1595.05,999.54,21.3667,91.3436,-40.5144],[1455.24,1099.47,19.3667,81.1182,-29.8529],[1158.55,1184.29,15.2,72.0383,-0.00388004]]], - [64,1204.6,[[2796.63,-2001.51,42.1,227.788,-76.7323],[2773.02,-1902.33,41.65,225.245,-76.4737],[2748.33,-1800.77,41.1833,222.571,-76.197],[2723.46,-1700.55,40.7167,219.86,-75.9113],[2698.39,-1601.7,40.25,217.112,-75.6161],[2672.22,-1500.77,39.7667,214.228,-75.3],[2645.85,-1401.34,39.2833,211.305,-74.9725],[2618.35,-1300.1,38.7833,208.24,-74.6213],[2590.63,-1200.51,38.2833,205.135,-74.2567],[2562.7,-1102.61,37.7833,201.99,-73.8778],[2532.67,-1000.07,37.25,198.592,-73.457],[2503.34,-902.61,36.7333,195.259,-73.032],[2471.88,-800.931,36.1833,191.666,-72.5595],[2440.16,-701.414,35.6333,188.029,-72.0649],[2407.22,-601.179,35.0667,184.238,-71.5306],[2373.04,-500.466,34.4833,180.29,-70.9523],[2338.58,-402.297,33.9,176.297,-70.3431],[2301.87,-301.327,33.2833,172.032,-69.6628],[2263.85,-200.678,32.65,167.606,-68.9218],[2224.51,-100.641,32,163.02,-68.1127],[2183.84,-1.52291,31.3333,158.276,-67.2268],[2140.78,98.6969,30.6333,153.257,-66.2292],[2095.29,199.391,29.9,147.964,-65.1019],[2047.33,299.888,29.1333,142.404,-63.8229],[1996.86,399.473,28.3333,136.587,-62.3647],[1942.78,499.281,27.4833,130.407,-60.6582],[1883.95,599.885,26.5667,123.771,-58.6095],[1820.27,699.569,25.5833,116.725,-56.1321],[1749.48,799.367,24.5,109.112,-53.0071],[1668.11,899.996,23.2667,100.744,-48.8441],[1572.57,999.299,21.8333,91.636,-43.0199],[1446.74,1099.72,19.9667,81.319,-33.489],[1195.42,1199.92,16.3,69.8821,-7.79909],[1128.33,1204.59,15.3333,69.5899,-0.022315]]], - [65,1224.36,[[2711.83,-2000.13,42.3,227.95,-77.2079],[2689.03,-1900.69,41.85,225.401,-76.9585],[2666.06,-1802.46,41.4,222.817,-76.7014],[2642.05,-1701.92,40.9333,220.1,-76.4263],[2617.85,-1602.73,40.4667,217.346,-76.142],[2592.59,-1501.46,39.9833,214.454,-75.8375],[2567.14,-1401.68,39.5,211.523,-75.5221],[2540.59,-1300.07,39,208.45,-75.1838],[2513.84,-1200.12,38.5,205.335,-74.8325],[2486.88,-1101.84,38,202.18,-74.4675],[2458.8,-1002.08,37.4833,198.877,-74.075],[2429.58,-901.046,36.95,195.424,-73.6526],[2400.13,-802.007,36.4167,191.926,-73.2114],[2369.53,-701.998,35.8667,188.275,-72.7354],[2337.74,-601.25,35.3,184.467,-72.221],[2304.75,-500.005,34.7167,180.5,-71.6642],[2271.5,-401.298,34.1333,176.488,-71.0777],[2237.03,-302.46,33.5333,172.315,-70.4406],[2200.35,-201.134,32.9,167.864,-69.728],[2162.39,-100.395,32.25,163.249,-68.9496],[2123.14,-0.550392,31.5833,158.472,-68.097],[2082.59,98.0816,30.9,153.535,-67.1603],[2038.7,199.691,30.1667,148.199,-66.0765],[1993.45,299.001,29.4167,142.709,-64.8739],[1944.77,399.717,28.6167,136.831,-63.4729],[1893.63,498.818,27.7833,130.7,-61.8658],[1837.92,599.087,26.8833,124.093,-59.9354],[1777.56,698.844,25.9167,117.05,-57.5997],[1710.36,799.234,24.85,109.398,-54.6493],[1634.04,899.835,23.65,101.037,-50.7667],[1545.19,999.345,22.2667,91.9074,-45.3828],[1431.56,1099.57,20.5167,81.5887,-36.8382],[1245.02,1199.97,17.6833,69.8186,-18.1127],[1097.08,1224.35,15.4667,67.1204,-0.0786137]]], - [66,1243.55,[[2625.05,-2000.33,42.5,228.146,-77.6896],[2603.07,-1900.61,42.05,225.591,-77.4497],[2580.93,-1802.11,41.6,223.001,-77.2024],[2557.79,-1701.27,41.1333,220.278,-76.9376],[2534.47,-1601.79,40.6667,217.517,-76.6641],[2510.13,-1500.21,40.1833,214.618,-76.371],[2485.6,-1400.13,39.7,211.678,-76.0675],[2460.87,-1301.56,39.2167,208.699,-75.753],[2435.09,-1201.22,38.7167,205.576,-75.4153],[2409.11,-1102.56,38.2167,202.411,-75.0644],[2382.05,-1002.4,37.7,199.097,-74.687],[2353.9,-900.943,37.1667,195.632,-74.2809],[2325.53,-801.479,36.6333,192.122,-73.8566],[2296.03,-701.028,36.0833,188.456,-73.3988],[2266.31,-602.763,35.5333,184.744,-72.919],[2234.53,-500.968,34.95,180.76,-72.3842],[2202.49,-401.706,34.3667,176.729,-71.8207],[2169.28,-302.291,33.7667,172.535,-71.2086],[2133.94,-200.349,33.1333,168.058,-70.5237],[2098.32,-101.531,32.5,163.535,-69.7952],[2060.51,-0.937927,31.8333,158.727,-68.9767],[2021.45,98.4688,31.15,153.755,-68.0772],[1980.14,198.638,30.4333,148.499,-67.0605],[1936.55,298.919,29.6833,142.961,-65.9067],[1890.65,398.616,28.9,137.148,-64.591],[1841.4,498.937,28.0667,130.948,-63.05],[1788.76,598.719,27.1833,124.379,-61.2333],[1731.65,698.384,26.2333,117.35,-59.0342],[1667.96,799.18,25.1833,109.674,-56.2527],[1596.55,899.47,24.0167,101.345,-52.6401],[1513.11,999.902,22.6667,92.1315,-47.6129],[1410.07,1099.54,21.0167,81.8596,-39.9135],[1255.14,1199.77,18.5667,69.9968,-24.541],[1063.74,1243.55,15.5833,64.6354,-0.0325472]]], - [67,1262.17,[[2536.3,-2002.13,42.7,228.375,-78.1771],[2515.16,-1902.12,42.25,225.817,-77.9468],[2493.86,-1803.33,41.8,223.222,-77.7093],[2471.6,-1702.2,41.3333,220.493,-77.4552],[2449.17,-1602.41,40.8667,217.726,-77.1926],[2425.75,-1500.51,40.3833,214.82,-76.9112],[2402.15,-1400.1,39.9,211.873,-76.6197],[2378.36,-1301.22,39.4167,208.885,-76.3177],[2353.56,-1200.54,38.9167,205.753,-75.9934],[2328.57,-1101.53,38.4167,202.578,-75.6564],[2302.54,-1001.01,37.9,199.254,-75.294],[2276.31,-902.333,37.3833,195.885,-74.9163],[2249.02,-802.429,36.85,192.363,-74.5093],[2220.65,-701.52,36.3,188.683,-74.0701],[2192.06,-602.793,35.75,184.957,-73.6097],[2161.5,-500.502,35.1667,180.956,-73.0965],[2130.69,-400.739,34.5833,176.906,-72.5556],[2098.74,-300.804,33.9833,172.69,-71.968],[2065.65,-200.966,33.3667,168.309,-71.3281],[2031.39,-101.507,32.7333,163.76,-70.6296],[1995.04,-0.231464,32.0667,158.922,-69.8446],[1957.47,99.8811,31.3833,153.915,-68.9815],[1918.67,198.499,30.6833,148.742,-68.0292],[1876.76,299.673,29.9333,143.159,-66.9232],[1833.57,398.224,29.1667,137.417,-65.6893],[1786.23,499.675,28.3333,131.151,-64.213],[1736.58,598.824,27.4667,124.627,-62.5057],[1681.68,699.942,26.5167,117.496,-60.3986],[1622.42,799.26,25.5,109.934,-57.8197],[1555.76,898.966,24.3667,101.661,-54.4665],[1478.58,998.825,23.0667,92.5136,-49.8508],[1383.64,1099.18,21.4833,82.1752,-42.8163],[1249.15,1199.77,19.2667,70.22,-29.6071],[1029.45,1262.17,15.7,62.1294,-0.0228028]]], - [68,1280.18,[[2444.85,-2001.84,42.8833,228.545,-78.6621],[2424.56,-1901.58,42.4333,225.981,-78.4412],[2404.1,-1802.54,41.9833,223.381,-78.2135],[2382.73,-1701.14,41.5167,220.646,-77.9698],[2361.19,-1601.08,41.05,217.872,-77.718],[2339.48,-1502.4,40.5833,215.06,-77.4576],[2316.82,-1401.66,40.1,212.106,-77.1784],[2293.99,-1302.43,39.6167,209.112,-76.8891],[2270.18,-1201.4,39.1167,205.971,-76.5784],[2246.18,-1102.04,38.6167,202.788,-76.2556],[2221.19,-1001.15,38.1,199.453,-75.9084],[2196.01,-902.089,37.5833,196.074,-75.5465],[2169.81,-801.793,37.05,192.54,-75.1564],[2142.57,-700.476,36.5,188.847,-74.7355],[2115.13,-601.336,35.95,185.106,-74.2942],[2086.62,-501.503,35.3833,181.203,-73.8167],[2057.05,-401.222,34.8,177.135,-73.2989],[2026.39,-300.749,34.2,172.9,-72.7363],[1994.62,-200.352,33.5833,168.496,-72.1235],[1961.74,-100.313,32.95,163.922,-71.4544],[1927.71,-0.925965,32.3,159.177,-70.7217],[1891.66,99.9154,31.6167,154.138,-69.8959],[1854.43,199.287,30.9167,148.928,-68.9844],[1815.1,299.06,30.1833,143.426,-67.9498],[1773.65,398.561,29.4167,137.633,-66.7699],[1729.14,499.062,28.6,131.431,-65.3869],[1681.5,599.429,27.7333,124.833,-63.755],[1630.68,698.435,26.8167,117.86,-61.8139],[1573.84,799.513,25.8,110.174,-59.3532],[1510.85,899.791,24.6833,101.857,-56.1975],[1438.73,999.716,23.4167,92.7024,-51.9024],[1351.54,1099.73,21.9,82.3933,-45.4754],[1233.36,1199.7,19.8667,70.4848,-33.9663],[994.235,1280.17,15.8167,59.6029,-0.0544325]]], - [69,1297.55,[[2351.51,-2003.21,43.0667,228.75,-79.1528],[2332.07,-1902.69,42.6167,226.182,-78.9416],[2312.47,-1803.38,42.1667,223.577,-78.7238],[2291.99,-1701.7,41.7,220.837,-78.4907],[2271.35,-1601.37,41.2333,218.057,-78.2498],[2250.55,-1502.41,40.7667,215.238,-78.0008],[2228.84,-1401.37,40.2833,212.278,-77.7337],[2206.96,-1301.84,39.8,209.276,-77.457],[2184.15,-1200.5,39.3,206.127,-77.1598],[2161.16,-1100.83,38.8,202.934,-76.8509],[2137.99,-1002.84,38.3,199.698,-76.5296],[2113.09,-900.217,37.7667,196.199,-76.1724],[2088.77,-802.69,37.25,192.763,-75.811],[2062.68,-700.948,36.7,189.058,-75.4087],[2036.39,-601.379,36.15,185.303,-74.9869],[2009.08,-501.101,35.5833,181.385,-74.5304],[1980.75,-400.356,35,177.3,-74.0353],[1952.2,-302.169,34.4167,173.164,-73.5127],[1921.77,-201.193,33.8,168.74,-72.9275],[1890.27,-100.554,33.1667,164.142,-72.2884],[1857.69,-0.545134,32.5167,159.37,-71.5884],[1824,98.5254,31.85,154.424,-70.8192],[1788.35,198.675,31.15,149.18,-69.9494],[1750.69,299.271,30.4167,143.637,-68.9618],[1710.99,399.64,29.65,137.796,-67.8349],[1669.24,499.062,28.85,131.664,-66.5414],[1624.5,598.664,28,125.123,-65.0154],[1575.85,699.007,27.0833,118.063,-63.1645],[1522.33,799.974,26.0833,110.39,-60.8561],[1463.83,899.196,25,102.169,-57.9407],[1396.64,999.097,23.7667,93.0317,-53.9656],[1315.98,1099.52,22.3,82.6944,-48.0643],[1210.39,1199.45,20.4,70.7905,-37.8775],[958.089,1297.55,15.9333,57.0563,-0.133633]]], - [70,1314.28,[[2255.62,-2002.52,43.2333,228.895,-79.6418],[2237.03,-1901.78,42.7833,226.322,-79.4401],[2218.3,-1802.24,42.3333,223.712,-79.2322],[2198.72,-1700.32,41.8667,220.966,-79.0096],[2179.69,-1603.32,41.4167,218.28,-78.7879],[2159.1,-1500.54,40.9333,215.355,-78.5417],[2139.06,-1402.71,40.4667,212.49,-78.2956],[2118.15,-1302.88,39.9833,209.481,-78.0315],[2096.35,-1201.21,39.4833,206.325,-77.7481],[2074.37,-1101.21,38.9833,203.123,-77.4534],[2052.23,-1002.89,38.4833,199.878,-77.1468],[2029.17,-903.097,37.9667,196.479,-76.8169],[2005.18,-802.033,37.4333,192.923,-76.4612],[1981,-702.978,36.9,189.318,-76.0891],[1955.87,-602.964,36.35,185.551,-75.6872],[1929.78,-502.222,35.7833,181.619,-75.252],[1902.7,-400.995,35.2,177.518,-74.7801],[1875.41,-302.321,34.6167,173.365,-74.2818],[1846.34,-200.827,34,168.92,-73.7239],[1817.03,-102.271,33.3833,164.422,-73.1309],[1785.9,-1.61876,32.7333,159.626,-72.4643],[1753.71,98.1185,32.0667,154.652,-71.7315],[1719.64,198.975,31.3667,149.374,-70.9027],[1684.48,298.065,30.65,143.919,-69.9836],[1646.56,399.33,29.8833,138.033,-68.9109],[1606.66,499.696,29.0833,131.847,-67.679],[1564.77,598.399,28.25,125.37,-66.2546],[1518.29,699.978,27.3333,118.227,-64.4925],[1468.87,799.04,26.3667,110.707,-62.3703],[1413.87,898.604,25.3,102.472,-59.6452],[1350.58,999.494,24.0833,93.2553,-55.9213],[1276.2,1099.68,22.6667,82.9492,-50.5109],[1180.75,1199.73,20.8667,71.0315,-41.3706],[1012.43,1299.85,17.7333,56.6272,-17.155],[920.117,1314.28,16.0333,54.4938,-0.0955294]]], - [71,1330.34,[[2157.93,-2003.55,43.4,229.077,-80.1366],[2140.21,-1902.56,42.95,226.5,-79.9446],[2122.34,-1802.79,42.5,223.885,-79.7466],[2103.68,-1700.62,42.0333,221.134,-79.5347],[2085.54,-1603.37,41.5833,218.443,-79.3236],[2065.9,-1500.32,41.1,215.511,-79.0892],[2046.79,-1402.24,40.6333,212.64,-78.8549],[2026.85,-1302.13,40.15,209.624,-78.6035],[2006.06,-1200.18,39.65,206.46,-78.3335],[1985.81,-1103.21,39.1667,203.358,-78.0624],[1963.99,-1001.29,38.65,199.996,-77.761],[1942.01,-901.191,38.1333,196.587,-77.4467],[1919.85,-802.952,37.6167,193.131,-77.1187],[1896.08,-700.443,37.0667,189.401,-76.7535],[1872.12,-600.099,36.5167,185.62,-76.3705],[1847.97,-501.954,35.9667,181.789,-75.9684],[1822.16,-400.3,35.3833,177.673,-75.5193],[1796.14,-301.194,34.8,173.503,-75.045],[1769.18,-201.956,34.2,169.159,-74.5287],[1740.49,-100.219,33.5667,164.517,-73.9493],[1711.57,-1.62374,32.9333,159.82,-73.3312],[1680.89,98.7139,32.2667,154.818,-72.6344],[1649.19,197.836,31.5833,149.636,-71.8655],[1614.9,299.954,30.85,144.017,-70.9713],[1579.54,399.765,30.1,138.216,-69.9732],[1542.32,498.938,29.3167,132.109,-68.8275],[1502.39,598.665,28.4833,125.571,-67.475],[1458.92,699.581,27.5833,118.482,-65.8329],[1411.83,799.997,26.6167,110.864,-63.8182],[1360.25,899.569,25.5667,102.631,-61.2702],[1301.62,999.746,24.3833,93.4845,-57.8344],[1233.29,1099.32,23.0167,83.2554,-52.8956],[1146.63,1199.53,21.3,71.3362,-44.6699],[1009.59,1299.77,18.6167,56.8566,-25.3277],[881.313,1330.34,16.1333,51.9117,-0.103707]]], - [72,1345.71,[[2057.84,-2002.55,43.55,229.199,-80.6301],[2040.99,-1901.36,43.1,226.618,-80.4478],[2024,-1801.38,42.65,223.998,-80.2597],[2006.89,-1702.63,42.2,221.341,-80.0657],[1989,-1601.54,41.7333,218.545,-79.8579],[1970.97,-1501.8,41.2667,215.709,-79.643],[1952.81,-1403.45,40.8,212.832,-79.4207],[1933.85,-1303.05,40.3167,209.81,-79.1821],[1914.09,-1200.81,39.8167,206.639,-78.9259],[1894.17,-1100.22,39.3167,203.422,-78.6596],[1874.09,-1001.31,38.8167,200.159,-78.3825],[1853.19,-900.899,38.3,196.741,-78.0841],[1832.12,-802.34,37.7833,193.275,-77.7728],[1810.21,-702.573,37.25,189.648,-77.4368],[1787.43,-601.818,36.7,185.856,-77.0737],[1763.78,-500.305,36.1333,181.896,-76.6805],[1739.95,-401.157,35.5667,177.882,-76.2666],[1715.22,-301.601,34.9833,173.696,-75.8168],[1689.59,-201.895,34.3833,169.335,-75.327],[1663.03,-102.31,33.7667,164.796,-74.7924],[1634.83,-0.56168,33.1167,159.952,-74.1909],[1606.39,97.832,32.4667,155.051,-73.5467],[1575.53,199.985,31.7667,149.711,-72.7996],[1544.42,298.129,31.0667,144.314,-71.9904],[1510.82,398.766,30.3167,138.475,-71.0457],[1475.45,498.811,29.5333,132.321,-69.9607],[1437.51,599.474,28.7,125.725,-68.6792],[1396.97,699.587,27.8167,118.697,-67.1524],[1353.01,799.57,26.8667,111.121,-65.2791],[1304.79,899.142,25.8333,102.9,-62.9088],[1249.88,999.889,24.6667,93.7137,-59.7077],[1186.57,1099.63,23.3333,83.4785,-55.1559],[1107.48,1199.98,21.6833,71.5524,-47.6966],[991.204,1299.59,19.2833,57.1489,-31.5105],[841.689,1345.71,16.2333,49.3105,-0.16605]]], - [73,1360.36,[[1956.07,-2003.32,43.7,229.359,-81.1295],[1940.1,-1901.91,43.25,226.773,-80.9569],[1924,-1801.72,42.8,224.15,-80.7789],[1907.77,-1702.75,42.35,221.488,-80.5953],[1890.82,-1601.42,41.8833,218.687,-80.3985],[1873.74,-1501.46,41.4167,215.845,-80.1951],[1856.52,-1402.87,40.95,212.963,-79.9846],[1838.55,-1302.23,40.4667,209.934,-79.7588],[1820.44,-1203.12,39.9833,206.862,-79.5244],[1801.57,-1102.22,39.4833,203.639,-79.2726],[1782.54,-1002.99,38.9833,200.369,-79.0106],[1762.73,-902.251,38.4667,196.943,-78.7285],[1742.13,-800.2,37.9333,193.355,-78.4244],[1721.35,-700.148,37.4,189.717,-78.1061],[1700.42,-602.126,36.8667,186.028,-77.7728],[1678.01,-500.236,36.3,182.055,-77.4009],[1655.42,-400.708,35.7333,178.028,-77.0093],[1631.99,-300.756,35.15,173.827,-76.5838],[1607.7,-200.64,34.55,169.448,-76.1203],[1582.54,-100.628,33.9333,164.889,-75.6142],[1556.49,-1.00603,33.3,160.148,-75.06],[1529.55,97.9311,32.65,155.222,-74.451],[1501.01,198.275,31.9667,149.983,-73.762],[1470.83,299.415,31.25,144.425,-72.9792],[1439.71,398.497,30.5167,138.678,-72.1059],[1406.2,499.332,29.7333,132.48,-71.0809],[1370.98,598.873,28.9167,125.964,-69.8949],[1333.31,698.176,28.05,119.003,-68.4825],[1291.67,799.424,27.1,111.343,-66.7164],[1246.74,898.834,26.0833,103.147,-64.5176],[1195.48,999.965,24.9333,93.938,-61.5442],[1137.04,1099.6,23.6333,83.7284,-57.3656],[1065.21,1199.57,22.05,71.8704,-50.644],[963.619,1299.44,19.8333,57.4508,-36.6863],[800.476,1360.36,16.3167,46.6934,-0.0918809]]], - [74,1374.29,[[1852.06,-2002.09,43.8333,229.46,-81.6283],[1836.97,-1900.5,43.3833,226.87,-81.4654],[1821.77,-1800.13,42.9333,224.242,-81.2974],[1806.44,-1700.97,42.4833,221.575,-81.1241],[1791,-1603.06,42.0333,218.87,-80.9452],[1774.87,-1502.85,41.5667,216.023,-80.7533],[1758.03,-1400.51,41.0833,213.032,-80.5477],[1741.64,-1303.12,40.6167,210.102,-80.342],[1723.95,-1200.35,40.1167,206.917,-80.1132],[1706.71,-1102.57,39.6333,203.794,-79.8836],[1688.75,-1003.07,39.1333,200.517,-79.6365],[1670.04,-902.048,38.6167,197.082,-79.3705],[1651.19,-802.867,38.1,193.598,-79.0928],[1631.58,-702.451,37.5667,189.951,-78.7931],[1611.2,-601.021,37.0167,186.137,-78.4691],[1590.65,-501.778,36.4667,182.27,-78.1289],[1569.33,-401.851,35.9,178.23,-77.76],[1547.2,-301.485,35.3167,174.015,-77.359],[1524.26,-200.938,34.7167,169.62,-76.9224],[1500.51,-100.48,34.1,165.044,-76.4454],[1475.91,-0.394273,33.4667,160.282,-75.923],[1450.48,99.0225,32.8167,155.334,-75.3489],[1423.53,199.876,32.1333,150.067,-74.6992],[1395.7,299.237,31.4333,144.609,-73.9786],[1366.32,398.977,30.7,138.827,-73.1561],[1335.36,498.415,29.9333,132.719,-72.2118],[1302.11,598.818,29.1167,126.154,-71.096],[1266.55,699.045,28.25,119.132,-69.7662],[1227.94,799.591,27.3167,111.53,-68.1331],[1186.23,898.682,26.3167,103.368,-66.0998],[1139.27,998.614,25.2,94.2873,-63.3914],[1084.83,1099.28,23.9167,83.9978,-59.527],[1019.22,1199.36,22.3833,72.1523,-53.4328],[929.191,1299.54,20.3,57.7134,-41.1962],[758.546,1374.29,16.4,44.0577,-0.0694983]]], - [75,1387.47,[[1746.48,-2002.66,43.9667,229.598,-82.1328],[1732.28,-1900.89,43.5167,227.005,-81.9797],[1717.98,-1800.32,43.0667,224.373,-81.8219],[1703.56,-1700.97,42.6167,221.702,-81.659],[1689.04,-1602.86,42.1667,218.993,-81.4909],[1673.86,-1502.44,41.7,216.141,-81.3107],[1658.56,-1403.4,41.2333,213.249,-81.1242],[1642.6,-1302.29,40.75,210.209,-80.924],[1626.51,-1202.7,40.2667,207.124,-80.7164],[1609.74,-1101.29,39.7667,203.887,-80.4932],[1592.84,-1001.56,39.2667,200.602,-80.261],[1575.25,-900.294,38.75,197.159,-80.0109],[1557.51,-800.869,38.2333,193.666,-79.7499],[1539.06,-700.2,37.7,190.008,-79.4681],[1520.47,-601.555,37.1667,186.299,-79.173],[1501.15,-501.979,36.6167,182.421,-78.8536],[1481.09,-401.705,36.05,178.369,-78.5071],[1460.28,-300.979,35.4667,174.14,-78.1306],[1438.71,-200.059,34.8667,169.73,-77.7204],[1416.97,-101.9,34.2667,165.261,-77.2849],[1393.84,-1.32975,33.6333,160.481,-76.7949],[1369.92,98.5892,32.9833,155.512,-76.2563],[1344.58,199.975,32.3,150.221,-75.6466],[1318.41,299.888,31.6,144.734,-74.9703],[1291.41,397.98,30.8833,139.052,-74.2163],[1262.3,498.141,30.1167,132.906,-73.3312],[1231.04,599.321,29.3,126.294,-72.2847],[1198.25,698.499,28.45,119.352,-71.0621],[1162.6,798.341,27.5333,111.815,-69.5609],[1123.39,898.708,26.5333,103.561,-67.6581],[1079.91,998.65,25.4333,94.4901,-65.1605],[1029.42,1099.95,24.1667,84.1458,-61.59],[969.766,1199.52,22.6833,72.3728,-56.0785],[889.939,1299.36,20.7167,58.0144,-45.3359],[715.909,1387.47,16.4833,41.4043,-0.109657]]], - [76,1399.89,[[1638.85,-2001.28,44.0833,229.68,-82.6372],[1626.05,-1903.1,43.65,227.179,-82.4994],[1612.66,-1802.32,43.2,224.544,-82.3518],[1599.16,-1702.77,42.75,221.87,-82.1995],[1585.06,-1600.83,42.2833,219.056,-82.0364],[1570.84,-1500.24,41.8167,216.199,-81.8677],[1556.51,-1401.03,41.35,213.301,-81.6931],[1542.08,-1303.21,40.8833,210.36,-81.5124],[1527.02,-1203.38,40.4,207.27,-81.3182],[1511.32,-1101.74,39.9,204.027,-81.1095],[1495.49,-1001.76,39.4,200.736,-80.8924],[1479.01,-900.237,38.8833,197.285,-80.6586],[1462.41,-800.554,38.3667,193.784,-80.4144],[1445.67,-702.739,37.85,190.233,-80.1593],[1427.72,-600.697,37.3,186.399,-79.8749],[1409.63,-500.838,36.75,182.51,-79.576],[1390.85,-400.27,36.1833,178.446,-79.2519],[1371.92,-302.089,35.6167,174.325,-78.91],[1351.73,-200.775,35.0167,169.901,-78.5268],[1331.37,-102.219,34.4167,165.417,-78.1198],[1309.72,-1.22534,33.7833,160.62,-77.6619],[1287.33,99.1323,33.1333,155.63,-77.1585],[1264.18,198.545,32.4667,150.446,-76.6029],[1239.69,299.034,31.7667,144.933,-75.9716],[1213.82,399.967,31.0333,139.088,-75.2507],[1187.16,498.526,30.2833,133.04,-74.4411],[1158.51,598.377,29.4833,126.521,-73.4843],[1127.81,698.406,28.6333,119.527,-72.3437],[1094.45,799.172,27.7167,111.924,-70.9422],[1058.37,898.942,26.7333,103.724,-69.1955],[1018.29,998.73,25.65,94.6756,-66.902],[972.292,1099.21,24.4167,84.4337,-63.667],[917.746,1199.19,22.9667,72.6431,-58.6644],[846.255,1299.32,21.0833,58.2805,-49.135],[672.576,1399.89,16.5667,38.7339,-0.226107]]], - [77,1411.53,[[1529.78,-2001.74,44.2,229.799,-83.1471],[1517.85,-1903.4,43.7667,227.296,-83.0188],[1505.38,-1802.46,43.3167,224.658,-82.8815],[1492.8,-1702.73,42.8667,221.98,-82.7397],[1479.66,-1600.61,42.4,219.161,-82.5879],[1466.89,-1503.42,41.95,216.403,-82.4366],[1453.07,-1400.45,41.4667,213.397,-82.2685],[1439.63,-1302.44,41,210.451,-82.1002],[1425.59,-1202.43,40.5167,207.356,-81.9195],[1410.97,-1100.58,40.0167,204.106,-81.7252],[1396.22,-1000.4,39.5167,200.808,-81.5231],[1381.37,-901.915,39.0167,197.462,-81.3126],[1365.9,-801.957,38.5,193.954,-81.0856],[1349.81,-700.732,37.9667,190.28,-80.8406],[1333.6,-601.526,37.4333,186.553,-80.5839],[1316.75,-501.367,36.8833,182.655,-80.306],[1299.25,-400.486,36.3167,178.58,-80.0046],[1281.62,-301.99,35.75,174.448,-79.6866],[1262.81,-200.338,35.15,170.011,-79.3301],[1243.86,-101.441,34.55,165.511,-78.9516],[1223.69,-0.0853095,33.9167,160.697,-78.5255],[1203.37,98.1069,33.2833,155.817,-78.0694],[1181.81,197.997,32.6167,150.612,-77.5533],[1159,298.994,31.9167,145.076,-76.9666],[1135.47,398.206,31.2,139.336,-76.3123],[1110.09,499.575,30.4333,133.121,-75.5435],[1083.96,597.984,29.65,126.698,-74.6728],[1055.38,698.773,28.8,119.656,-73.6135],[1024.88,798.586,27.9,112.132,-72.336],[991.285,899.399,26.9167,103.853,-70.7149],[954.552,998.874,25.85,94.8407,-68.6189],[912.309,1099.59,24.6333,84.5847,-65.659],[862.707,1199.48,23.2167,72.8185,-61.1299],[798.539,1299.78,21.4,58.4501,-52.6298],[682.517,1399.97,18.15,38.8852,-22.6148],[627.959,1411.53,16.6333,36.0484,-0.176987]]], - [78,1422.37,[[1418.85,-2000.26,44.3,229.862,-83.6574],[1407.81,-1901.8,43.8667,227.355,-83.5387],[1396.26,-1800.72,43.4167,224.713,-83.4116],[1384.61,-1700.85,42.9667,222.031,-83.2803],[1372.88,-1602.22,42.5167,219.31,-83.145],[1360.62,-1501.26,42.05,216.445,-82.9998],[1348.26,-1401.67,41.5833,213.538,-82.8495],[1335.81,-1303.47,41.1167,210.588,-82.694],[1322.82,-1203.24,40.6333,207.488,-82.5268],[1309.28,-1101.18,40.1333,204.233,-82.3472],[1295.63,-1000.78,39.6333,200.929,-82.1603],[1281.87,-902.078,39.1333,197.577,-81.9656],[1267.55,-801.891,38.6167,194.063,-81.7557],[1252.65,-700.428,38.0833,190.381,-81.5291],[1237.64,-600.981,37.55,186.646,-81.2917],[1222.04,-500.57,37,182.738,-81.0346],[1206.32,-402.369,36.45,178.773,-80.7642],[1189.52,-300.669,35.8667,174.508,-80.4616],[1172.59,-201.531,35.2833,170.183,-80.1412],[1155.04,-102.273,34.6833,165.67,-79.7914],[1136.37,-0.533066,34.05,160.841,-79.3977],[1117.56,98.0471,33.4167,155.944,-78.9762],[1097.6,198.35,32.75,150.719,-78.4992],[1076.49,299.783,32.05,145.16,-77.9568],[1054.7,399.446,31.3333,139.393,-77.3517],[1031.72,499.14,30.5833,133.283,-76.6566],[1007.53,598.163,29.8,126.825,-75.8525],[981.079,699.623,28.95,119.738,-74.8737],[953.372,798.357,28.0667,112.299,-73.7157],[922.813,898.454,27.1,104.09,-72.2466],[888.821,999.116,26.0333,94.9824,-70.3144],[850.268,1099.89,24.8333,84.7295,-67.6218],[805.457,1199.43,23.45,73.0212,-63.5493],[748.282,1299.44,21.7,58.7341,-56.039],[653.699,1399.67,18.8333,39.2355,-32.3209],[582.758,1422.37,16.7,33.3468,-0.203374]]], - [79,1432.4,[[1306.62,-2000.68,44.4,229.964,-84.1729],[1296.47,-1902.07,43.9667,227.454,-84.0639],[1285.84,-1800.84,43.5167,224.809,-83.9471],[1275.13,-1700.83,43.0667,222.124,-83.8266],[1264.35,-1602.05,42.6167,219.399,-83.7022],[1253.07,-1500.93,42.15,216.531,-83.5688],[1241.71,-1401.19,41.6833,213.62,-83.4308],[1230.27,-1302.82,41.2167,210.666,-83.2878],[1218.32,-1202.43,40.7333,207.56,-83.1343],[1205.87,-1100.19,40.2333,204.3,-82.9693],[1193.74,-1002.95,39.75,201.101,-82.8033],[1180.67,-900.741,39.2333,197.631,-82.6186],[1167.5,-800.369,38.7167,194.11,-82.4257],[1154.24,-701.86,38.2,190.536,-82.2241],[1140.44,-602.156,37.6667,186.794,-82.0062],[1126.1,-501.477,37.1167,182.878,-81.7703],[1111.21,-400.056,36.55,178.784,-81.5143],[1096.2,-301.015,35.9833,174.63,-81.2442],[1080.64,-201.584,35.4,170.293,-80.9501],[1064.5,-102.023,34.8,165.769,-80.629],[1047.8,-2.60496,34.1833,161.053,-80.2773],[1030.05,98.9475,33.5333,156.011,-79.8804],[1011.71,199.597,32.8667,150.768,-79.4421],[992.758,299.02,32.1833,145.32,-78.9561],[972.731,399.161,31.4667,139.53,-78.4012],[951.61,499.361,30.7167,133.392,-77.7635],[929.379,598.915,29.9333,126.9,-77.0255],[905.544,699.018,29.1,119.912,-76.1453],[880.082,798.493,28.2167,112.424,-75.0839],[851.998,899.407,27.25,104.151,-73.736],[821.248,999.471,26.2,95.099,-71.9914],[786.81,1098.81,25.0333,85.0092,-69.5972],[746.139,1199.08,23.6667,73.246,-65.925],[695.122,1299.2,21.9667,58.9838,-59.2765],[614.85,1399.93,19.3167,39.4444,-39.5122],[536.478,1432.4,16.75,30.6309,-0.0209221]]], - [80,1441.61,[[1193.11,-2002.99,44.5,230.105,-84.693],[1183.5,-1900.46,44.05,227.497,-84.5898],[1174.17,-1802.85,43.6167,224.947,-84.4874],[1164.41,-1702.68,43.1667,222.26,-84.3777],[1154.21,-1600.1,42.7,219.431,-84.2601],[1144.3,-1502.46,42.25,216.661,-84.143],[1133.94,-1402.54,41.7833,213.747,-84.0173],[1123.13,-1300.51,41.3,210.683,-83.8824],[1112.62,-1203.43,40.8333,207.681,-83.7474],[1101.26,-1101.01,40.3333,204.416,-83.5971],[1089.82,-1000.25,39.8333,201.101,-83.4407],[1078.3,-901.174,39.3333,197.738,-83.2777],[1066.29,-800.604,38.8167,194.21,-83.1021],[1054.2,-701.893,38.3,190.63,-82.9185],[1041.62,-601.978,37.7667,186.881,-82.72],[1028.54,-501.081,37.2167,182.957,-82.5051],[1015.37,-402.389,36.6667,178.976,-82.2791],[1001.29,-300.162,36.0833,174.691,-82.026],[987.1,-200.493,35.5,170.343,-81.758],[972.394,-100.685,34.9,165.806,-81.4655],[957.163,-1.01031,34.2833,161.076,-81.145],[941.401,98.2453,33.65,156.15,-80.7928],[924.68,199.265,32.9833,150.89,-80.3941],[907.41,299.072,32.3,145.424,-79.9517],[889.156,399.62,31.5833,139.612,-79.4465],[870.334,498.063,30.85,133.585,-78.8794],[850.074,598.181,30.0667,127.064,-78.2087],[828.353,698.888,29.2333,120.039,-77.4084],[805.148,799.009,28.35,112.506,-76.4429],[779.996,898.957,27.4,104.318,-75.2386],[751.976,999.962,26.35,95.1884,-73.6529],[721.044,1099.01,25.2,85.1344,-71.5078],[684.441,1199.61,23.85,73.3423,-68.2124],[639.333,1299.2,22.2,59.1738,-62.3635],[570.835,1399.89,19.7167,39.7096,-45.7618],[490.196,1441.61,16.8167,27.8994,-0.240374]]], - [81,1449.99,[[1078.05,-2003.41,44.5833,230.191,-85.2138],[1069.37,-1900.76,44.1333,227.58,-85.1207],[1060.96,-1803.03,43.7,225.028,-85.0284],[1052.15,-1702.74,43.25,222.338,-84.9294],[1042.94,-1600.03,42.7833,219.506,-84.8234],[1034,-1502.25,42.3333,216.734,-84.7177],[1024.65,-1402.2,41.8667,213.816,-84.6044],[1014.9,-1300.04,41.3833,210.748,-84.4827],[1005.41,-1202.82,40.9167,207.742,-84.3609],[995.163,-1100.25,40.4167,204.472,-84.2254],[985.183,-1002.68,39.9333,201.264,-84.0891],[974.434,-900.123,39.4167,197.783,-83.9373],[963.952,-802.617,38.9167,194.365,-83.7841],[952.685,-700.53,38.3833,190.664,-83.6132],[941.331,-600.452,37.85,186.907,-83.4342],[929.892,-502.416,37.3167,183.095,-83.2463],[917.644,-400.523,36.75,178.985,-83.0363],[905.301,-301.004,36.1833,174.814,-82.8147],[892.499,-201.078,35.6,170.457,-82.5732],[879.229,-101.002,35,165.91,-82.3095],[865.486,-1.05024,34.3833,161.169,-82.0207],[851.264,98.493,33.75,156.229,-81.7033],[836.178,199.819,33.0833,150.954,-81.3438],[820.594,299.941,32.4,145.47,-80.945],[804.508,398.525,31.7,139.774,-80.5005],[787.141,499.611,30.95,133.587,-79.9778],[769.251,598.016,30.1833,127.178,-79.3861],[749.654,699.242,29.35,120.12,-78.6653],[728.719,799.917,28.4667,112.544,-77.7951],[706.427,898.771,27.5333,104.449,-76.7294],[681.555,999.065,26.5,95.3957,-75.3267],[653.656,1099.21,25.35,85.2448,-73.3987],[621.05,1199.94,24.0167,73.4461,-70.4715],[581.193,1299.59,22.4,59.2828,-65.3222],[522.756,1399.81,20.05,39.9639,-51.3315],[442.951,1449.99,16.8667,25.1548,-0.249195]]], - [82,1457.51,[[961.591,-2001.96,44.65,230.222,-85.7356],[954.146,-1903,44.2167,227.705,-85.6559],[946.356,-1801.4,43.7667,225.053,-85.5704],[938.505,-1701.01,43.3167,222.36,-85.4822],[930.595,-1601.86,42.8667,219.626,-85.3912],[922.328,-1500.35,42.4,216.748,-85.2936],[913.998,-1400.2,41.9333,213.827,-85.1926],[905.605,-1301.44,41.4667,210.861,-85.0881],[896.846,-1200.63,40.9833,207.744,-84.9756],[888.02,-1101.34,40.5,204.579,-84.8589],[878.82,-1000.27,40,201.256,-84.7334],[869.549,-900.891,39.5,197.883,-84.6025],[860.209,-803.22,39,194.46,-84.4661],[850.169,-700.954,38.4667,190.754,-84.314],[840.052,-600.698,37.9333,186.991,-84.1547],[829.858,-502.48,37.4,183.174,-83.9874],[818.945,-400.393,36.8333,179.056,-83.8004],[807.946,-300.679,36.2667,174.878,-83.603],[796.538,-200.549,35.6833,170.512,-83.388],[784.714,-100.262,35.0833,165.955,-83.1532],[772.468,-0.0908992,34.4667,161.203,-82.896],[759.794,99.6791,33.8333,156.25,-82.6132],[746.688,198.75,33.1833,151.094,-82.3012],[732.804,299.214,32.5,145.595,-81.9466],[718.473,398.151,31.8,139.882,-81.5512],[702.999,499.618,31.05,133.675,-81.0861],[687.06,598.417,30.2833,127.241,-80.5596],[669.951,698.1,29.4667,120.295,-79.9314],[651.302,799.367,28.5833,112.684,-79.1583],[631.444,898.851,27.65,104.543,-78.2111],[609.286,999.85,26.6167,95.4283,-76.9631],[584.794,1099.4,25.4833,85.3391,-75.273],[556.48,1198.92,24.1833,73.704,-72.743],[521.351,1299.55,22.5833,59.4413,-68.234],[471.535,1399.61,20.3333,40.2204,-56.4487],[395.269,1457.51,16.9167,22.3975,-0.390915]]], - [83,1464.17,[[844.146,-2002.43,44.7167,230.292,-86.2618],[837.616,-1903.38,44.2833,227.775,-86.1919],[830.783,-1801.68,43.8333,225.12,-86.1169],[823.897,-1701.2,43.3833,222.425,-86.0397],[816.959,-1601.94,42.9333,219.689,-85.9598],[809.709,-1500.32,42.4667,216.809,-85.8743],[802.403,-1400.07,42,213.884,-85.7857],[795.041,-1301.2,41.5333,210.916,-85.6941],[787.359,-1200.27,41.05,207.795,-85.5955],[779.618,-1100.88,40.5667,204.627,-85.4932],[771.818,-1003.03,40.0833,201.411,-85.3868],[763.417,-900.181,39.5667,197.922,-85.2684],[755.224,-802.389,39.0667,194.494,-85.1489],[746.695,-703.162,38.55,190.9,-85.0197],[737.823,-602.71,38.0167,187.134,-84.8802],[728.604,-501.253,37.4667,183.191,-84.7291],[719.314,-401.996,36.9167,179.189,-84.57],[709.67,-302.068,36.35,175.004,-84.3972],[699.666,-201.715,35.7667,170.632,-84.2089],[689.297,-101.197,35.1667,166.068,-84.0033],[678.558,-0.786387,34.55,161.306,-83.778],[667.444,99.2325,33.9167,156.344,-83.5303],[655.951,198.561,33.2667,151.176,-83.2571],[643.776,299.299,32.5833,145.664,-82.9464],[631.208,398.518,31.8833,139.936,-82.6],[617.942,498.081,31.15,133.848,-82.2019],[603.661,599.406,30.3667,127.253,-81.7308],[588.658,699.427,29.55,120.281,-81.18],[572.613,799.208,28.6833,112.781,-80.5154],[555.201,899.223,27.75,104.599,-79.686],[536.088,999.253,26.7333,95.5788,-78.6117],[514.615,1099.64,25.6,85.4149,-77.1337],[490.111,1198.93,24.3167,73.8158,-74.9496],[459.959,1299.12,22.75,59.6428,-71.0993],[417.593,1399.6,20.5667,40.4056,-61.1765],[346.839,1464.17,16.95,19.6279,-0.243611]]], - [84,1469.97,[[725.557,-2001.04,44.7667,230.308,-86.7892],[719.947,-1901.92,44.3333,227.788,-86.7291],[714.077,-1800.16,43.8833,225.131,-86.6647],[708.381,-1703.31,43.45,222.534,-86.6009],[702.2,-1600.28,42.9833,219.695,-86.5299],[696.195,-1502.2,42.5333,216.915,-86.459],[689.92,-1401.83,42.0667,213.989,-86.383],[683.598,-1302.84,41.6,211.019,-86.3044],[676.999,-1201.79,41.1167,207.896,-86.2198],[670.35,-1102.26,40.6333,204.726,-86.132],[663.419,-1000.94,40.1333,201.396,-86.0375],[656.435,-901.299,39.6333,198.016,-85.9391],[649.163,-800.137,39.1167,194.47,-85.833],[641.835,-700.828,38.6,190.87,-85.722],[634.213,-600.291,38.0667,187.098,-85.6021],[626.534,-501.791,37.5333,183.269,-85.4762],[618.554,-402.379,36.9833,179.262,-85.3398],[610.27,-302.288,36.4167,175.072,-85.1914],[601.677,-201.767,35.8333,170.693,-85.0298],[592.771,-101.074,35.2333,166.121,-84.8533],[583.547,-0.481867,34.6167,161.352,-84.66],[574.001,99.7249,33.9833,156.38,-84.4473],[564.129,199.248,33.3333,151.202,-84.2127],[553.927,297.775,32.6667,145.813,-83.9527],[542.876,399.624,31.95,139.934,-83.6484],[531.481,499.412,31.2167,133.83,-83.3065],[519.476,598.871,30.45,127.357,-82.9106],[506.591,699.264,29.6333,120.362,-82.4383],[492.812,799.443,28.7667,112.835,-81.8682],[477.858,899.89,27.8333,104.618,-81.1564],[461.713,998.823,26.8333,95.6998,-80.2502],[443.275,1099.91,25.7,85.4715,-78.9836],[422.506,1198.81,24.4333,73.9269,-77.1366],[396.893,1299.29,22.8833,59.73,-73.8763],[361.633,1399.4,20.7667,40.6091,-65.6842],[298.095,1469.97,16.9833,16.8475,-0.22329]]], - [85,1474.9,[[606.171,-2001.61,44.8167,230.365,-87.3202],[601.486,-1902.42,44.3833,227.844,-87.2701],[596.585,-1800.58,43.9333,225.186,-87.2163],[591.829,-1703.66,43.5,222.588,-87.163],[586.668,-1600.55,43.0333,219.747,-87.1038],[581.654,-1502.4,42.5833,216.965,-87.0447],[576.414,-1401.94,42.1167,214.037,-86.9812],[571.135,-1302.86,41.65,211.065,-86.9156],[565.626,-1201.73,41.1667,207.94,-86.845],[560.074,-1102.11,40.6833,204.767,-86.7718],[554.287,-1000.7,40.1833,201.434,-86.6929],[548.455,-900.968,39.6833,198.051,-86.6107],[542.58,-802.947,39.1833,194.616,-86.5251],[536.264,-700.303,38.65,190.898,-86.4295],[530.1,-602.779,38.1333,187.24,-86.3326],[523.488,-501.063,37.5833,183.288,-86.2244],[516.825,-401.544,37.0333,179.276,-86.1104],[509.908,-301.344,36.4667,175.08,-85.9866],[502.734,-200.708,35.8833,170.695,-85.8516],[495.504,-102.66,35.3,166.245,-85.7085],[487.804,-1.86477,34.6833,161.469,-85.5473],[479.835,98.5523,34.05,156.491,-85.3701],[471.594,198.293,33.4,151.305,-85.1745],[462.863,299.469,32.7167,145.771,-84.952],[453.851,399.141,32.0167,140.017,-84.704],[444.338,499.182,31.2833,133.9,-84.4188],[434.317,598.909,30.5167,127.411,-84.0887],[423.56,699.589,29.7,120.397,-83.6947],[412.279,798.205,28.85,112.992,-83.2287],[399.797,899.125,27.9167,104.747,-82.6361],[386.321,998.568,26.9167,95.7908,-81.8814],[371.156,1098.83,25.8,85.6602,-80.843],[353.593,1199.8,24.5167,73.8818,-79.2836],[332.674,1299.15,23,59.8468,-76.6249],[303.712,1399.79,20.9167,40.6494,-69.9231],[249.054,1474.89,17.0167,14.0571,-0.406152]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 487.804; -_maxRange = 2801.44; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg4.sqf deleted file mode 100644 index 0b75f70886..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_HA_chg4.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_60mm_m720a1_m734_pd_chg4 -// Ammo: ace_arty_60mm_m720a1_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,965.991,[[4646.78,-2001.97,39.5667,230.931,-67.0685],[4604.63,-1903.36,39.1,228.59,-66.6197],[4560.61,-1802.65,38.6167,226.141,-66.1411],[4516.22,-1703.4,38.1333,223.667,-65.6478],[4469.92,-1602.28,37.6333,221.083,-65.1216],[4423.22,-1502.78,37.1333,218.475,-64.5783],[4374.57,-1401.68,36.6167,215.755,-63.9982],[4325.5,-1302.35,36.1,213.012,-63.3981],[4274.41,-1201.7,35.5667,210.158,-62.7568],[4222.89,-1103,35.0333,207.283,-62.0922],[4167.68,-1000.28,34.4667,204.206,-61.3591],[4113.62,-902.75,33.9167,201.202,-60.6197],[4055.8,-801.663,33.3333,197.998,-59.8038],[3995.78,-700.257,32.7333,194.688,-58.9289],[3935.24,-601.496,32.1333,191.366,-58.0156],[3870.75,-500.158,31.5,187.853,-57.0075],[3805.69,-401.855,30.8667,184.337,-55.9515],[3736.57,-301.702,30.2,180.639,-54.7849],[3663.31,-200.267,29.5,176.769,-53.4956],[3587.6,-100.429,28.7833,172.83,-52.1028],[3507.6,-0.35831,28.0333,168.745,-50.5611],[3423.22,99.2707,27.25,164.533,-48.8529],[3332.54,199.693,26.4167,160.134,-46.9185],[3235.42,299.779,25.5333,155.588,-44.7274],[3131.7,398.31,24.6,150.948,-42.2447],[3015.56,498.609,23.5667,146.056,-39.2832],[2884.74,599.201,22.4167,140.982,-35.7109],[2732.98,699.865,21.1,135.763,-31.2508],[2549.71,799.111,19.5333,130.564,-25.431],[2289.53,899.466,17.35,125.593,-16.4792],[1838.17,965.989,13.6667,124.687,-0.0584693]]], - [46,998.294,[[4606.86,-2002.32,39.9333,231.246,-67.5522],[4565.49,-1903.22,39.4667,228.895,-67.113],[4522.29,-1802,38.9833,226.434,-66.6446],[4478.73,-1702.23,38.5,223.948,-66.1618],[4433.29,-1600.58,38,221.35,-65.6466],[4387.46,-1500.53,37.5,218.727,-65.1147],[4341.26,-1402.11,37,216.08,-64.5652],[4293.12,-1302.15,36.4833,213.32,-63.9782],[4243,-1200.84,35.95,210.447,-63.3508],[4192.45,-1101.47,35.4167,207.551,-62.7004],[4139.87,-1001.05,34.8667,204.543,-62.0044],[4086.85,-902.745,34.3167,201.514,-61.2814],[4030.12,-800.836,33.7333,198.283,-60.4835],[3972.89,-701.381,33.15,195.035,-59.6519],[3913.51,-601.682,32.55,191.68,-58.7592],[3851.94,-502,31.9333,188.222,-57.8001],[3786.45,-400.032,31.2833,184.57,-56.7407],[3720.37,-301.295,30.6333,180.919,-55.6284],[3650.26,-201.03,29.95,177.088,-54.3985],[3577.76,-102.131,29.25,173.179,-53.0701],[3499.35,-0.513288,28.5,169.022,-51.5645],[3418.41,98.647,27.7333,164.818,-49.9316],[3331.34,198.951,26.9167,160.408,-48.0804],[3237.98,299.301,26.05,155.83,-45.9812],[3138.2,398.504,25.1333,151.131,-43.5994],[3028.14,498.468,24.1333,146.217,-40.7995],[2903.79,599.752,23.0167,141.052,-37.4095],[2762.83,699.971,21.7667,135.771,-33.2696],[2595.1,799.538,20.3,130.408,-27.9389],[2372.23,899.768,18.3833,125.086,-20.2386],[1832.91,998.294,13.8833,122.37,-0.0245169]]], - [47,1030.52,[[4562.76,-2000.21,40.2833,231.506,-68.026],[4522.17,-1900.66,39.8167,229.144,-67.596],[4481.26,-1802.45,39.35,226.758,-67.1535],[4438.53,-1702.15,38.8667,224.26,-66.6813],[4395.46,-1603.33,38.3833,221.736,-66.1944],[4350.53,-1502.67,37.8833,219.1,-65.6747],[4303.7,-1400.36,37.3667,216.349,-65.1195],[4258.01,-1303.02,36.8667,213.663,-64.564],[4208.86,-1201.04,36.3333,210.772,-63.9507],[4159.29,-1100.99,35.8,207.856,-63.3148],[4109.31,-1002.89,35.2667,204.918,-62.6552],[4055.74,-900.839,34.7,201.774,-61.9271],[4001.71,-801.062,34.1333,198.609,-61.1694],[3945.6,-700.761,33.55,195.332,-60.3566],[3887.39,-600.183,32.95,191.945,-59.484],[3828.66,-502.27,32.35,188.545,-58.572],[3766.12,-401.85,31.7167,184.948,-57.5641],[3701.36,-301.964,31.0667,181.252,-56.4783],[3632.65,-200.479,30.3833,177.368,-55.2772],[3561.6,-100.318,29.6833,173.402,-53.979],[3488.18,-1.81382,28.9667,169.364,-52.574],[3408.89,98.9667,28.2,165.081,-50.9801],[3325.34,198.988,27.4,160.67,-49.2096],[3235.67,299.422,26.55,156.07,-47.1996],[3139.74,399.106,25.65,151.324,-44.9164],[3035.59,498.429,24.6833,146.409,-42.2738],[2919.37,598.574,23.6167,141.257,-39.1142],[2787.02,699.191,22.4167,135.888,-35.2369],[2632.42,799.089,21.0333,130.393,-30.3278],[2435.7,899.5,19.3,124.819,-23.5201],[2122.79,999.861,16.6,119.822,-11.6809],[1826.12,1030.52,14.1,120.029,-0.00792255]]], - [48,1062.64,[[4517.37,-2002.83,40.65,231.879,-68.5201],[4477.59,-1902.77,40.1833,229.509,-68.1],[4436.05,-1800.54,39.7,227.026,-67.6519],[4395.61,-1703.2,39.2333,224.604,-67.2062],[4351.92,-1600.44,38.7333,221.981,-66.7137],[4309.34,-1502.61,38.25,219.419,-66.2224],[4264.93,-1403,37.75,216.743,-65.6976],[4218.65,-1301.79,37.2333,213.951,-65.1367],[4171.99,-1202.36,36.7167,211.133,-64.5561],[4123.41,-1101.61,36.1833,208.199,-63.9351],[4074.42,-1002.81,35.65,205.241,-63.2908],[4021.92,-900.007,35.0833,202.073,-62.5794],[3970.53,-802.393,34.5333,198.977,-61.8611],[3915.56,-701.231,33.95,195.673,-61.0676],[3860.11,-602.542,33.3667,192.35,-60.2396],[3800.97,-500.941,32.75,188.821,-59.3246],[3741.32,-402.186,32.1333,185.281,-58.3662],[3677.87,-301.218,31.4833,181.542,-57.3062],[3612.21,-201.042,30.8167,177.705,-56.1623],[3544.29,-101.968,30.1333,173.778,-54.9262],[3472.39,-2.04256,29.4167,169.676,-53.5559],[3396.44,98.1023,28.6667,165.413,-52.035],[3314.64,199.856,27.8667,160.914,-50.3077],[3230.3,298.252,27.05,156.393,-48.424],[3138.16,398.357,26.1667,151.609,-46.2396],[3038.01,498.57,25.2167,146.623,-43.7072],[2927.87,598.676,24.1833,141.436,-40.7213],[2803.86,699.009,23.0333,136.026,-37.0967],[2660.06,799.321,21.7167,130.418,-32.5369],[2482.78,899.935,20.1167,124.659,-26.398],[2232.72,999.978,17.9,119.104,-16.8913],[1817.77,1062.64,14.3167,117.663,-0.00978154]]], - [49,1094.61,[[4467.82,-2003.07,41,232.198,-69.0045],[4428.84,-1902.53,40.5333,229.819,-68.594],[4389.54,-1803.32,40.0667,227.413,-68.1714],[4348.51,-1701.99,39.5833,224.893,-67.7205],[4307.13,-1602.11,39.1,222.346,-67.2554],[4263.98,-1500.36,38.6,219.683,-66.7589],[4220.46,-1400.21,38.1,216.992,-66.2458],[4176.58,-1301.7,37.6,214.275,-65.7155],[4130.87,-1201.65,37.0833,211.441,-65.1484],[4083.28,-1100.26,36.55,208.488,-64.5417],[4035.28,-1000.81,36.0167,205.51,-63.9122],[3985.37,-900.312,35.4667,202.414,-63.2379],[3935.04,-801.946,34.9167,199.294,-62.5367],[3882.74,-702.857,34.35,196.058,-61.7844],[3826.88,-600.474,33.75,192.61,-60.9531],[3770.54,-500.736,33.15,189.145,-60.0839],[3712.11,-401.024,32.5333,185.568,-59.1485],[3651.58,-301.612,31.9,181.884,-58.1406],[3587.3,-200.296,31.2333,178,-57.0247],[3520.8,-100.041,30.55,174.021,-55.8181],[3452.05,-1.16895,29.85,169.955,-54.5118],[3379.37,98.1933,29.1167,165.718,-53.0614],[3300.98,199.492,28.3333,161.231,-51.4125],[3218.46,299.7,27.5167,156.613,-49.5756],[3130,399.92,26.65,151.805,-47.4843],[3035.48,498.957,25.7333,146.854,-45.101],[2931.26,598.707,24.7333,141.654,-42.2845],[2813.55,699.708,23.6167,136.161,-38.853],[2680.17,799.56,22.3667,130.506,-34.6314],[2519.74,899.644,20.8833,124.648,-29.0812],[2307.25,999.545,18.95,118.772,-20.9896],[1807.86,1094.61,14.5333,115.273,-0.0314493]]], - [50,1126.4,[[4414.17,-2000.91,41.3333,232.463,-69.4798],[4377.37,-1903.52,40.8833,230.159,-69.0932],[4337.51,-1800.29,40.4,227.657,-68.6656],[4298.71,-1701.98,39.9333,225.214,-68.2403],[4258.19,-1601.59,39.45,222.655,-67.7862],[4217.35,-1502.67,38.9667,220.069,-67.3177],[4174.74,-1401.93,38.4667,217.366,-66.8172],[4131.79,-1302.81,37.9667,214.635,-66.2998],[4087.03,-1202.13,37.45,211.785,-65.7465],[4040.44,-1100.08,36.9167,208.815,-65.1544],[3994.93,-1003.06,36.4,205.912,-64.5595],[3946.08,-901.806,35.85,202.795,-63.9021],[3896.81,-802.673,35.3,199.653,-63.2182],[3845.62,-702.786,34.7333,196.392,-62.4845],[3792.47,-602.38,34.15,193.013,-61.6965],[3737.33,-501.705,33.55,189.516,-60.8493],[3680.16,-401.021,32.9333,185.904,-59.9373],[3620.92,-300.6,32.3,182.181,-58.9544],[3559.59,-200.727,31.65,178.351,-57.8935],[3496.11,-101.702,30.9833,174.419,-56.7468],[3428.87,-1.49403,30.2833,170.296,-55.4744],[3357.76,99.2827,29.55,165.993,-54.0607],[3282.72,199.973,28.7833,161.524,-52.4876],[3203.65,299.878,27.9833,156.91,-50.7344],[3120.5,398.254,27.15,152.18,-48.7769],[3028.09,499.658,26.2333,147.093,-46.4566],[2929.62,598.747,25.2667,141.902,-43.8046],[2819.77,698.593,24.2,136.436,-40.6146],[2694.74,798.826,23,130.705,-36.6715],[2546.98,899.311,21.6,124.726,-31.5716],[2359.51,999.56,19.85,118.614,-24.433],[2055.24,1099.73,17.0667,112.943,-11.5641],[1796.37,1126.4,14.75,112.859,-0.0743676]]], - [51,1157.97,[[4357.83,-2000.02,41.6667,232.757,-69.9607],[4321.81,-1902.21,41.2167,230.445,-69.5832],[4284.14,-1802.06,40.75,228.02,-69.1804],[4246.18,-1703.24,40.2833,225.567,-68.7656],[4206.53,-1602.33,39.8,222.998,-68.3226],[4166.56,-1502.88,39.3167,220.401,-67.8656],[4124.87,-1401.58,38.8167,217.685,-67.3772],[4082.84,-1301.9,38.3167,214.94,-66.8723],[4039.04,-1200.63,37.8,212.075,-66.3324],[3994.88,-1101.14,37.2833,209.181,-65.7729],[3948.91,-1000.34,36.75,206.166,-65.1739],[3902.56,-901.499,36.2167,203.123,-64.5518],[3854.36,-801.65,35.6667,199.959,-63.8849],[3804.27,-701.017,35.1,196.674,-63.1691],[3753.76,-602.693,34.5333,193.364,-62.4227],[3699.82,-501.138,33.9333,189.837,-61.5969],[3645.42,-402.249,33.3333,186.291,-60.7323],[3587.49,-300.801,32.7,182.53,-59.7749],[3529.04,-202.41,32.0667,178.757,-58.7683],[3466.98,-102.194,31.4,174.779,-57.6519],[3401.23,-0.7221,30.7,170.601,-56.4125],[3333.28,99.1199,29.9833,166.333,-55.067],[3261.52,199.157,29.2333,161.889,-53.5692],[3185.86,298.71,28.45,157.286,-51.8992],[3104.59,399.004,27.6167,152.453,-49.9942],[3017.59,498.902,26.7333,147.428,-47.8184],[2923.06,598.861,25.7833,142.172,-45.2831],[2819.13,698.651,24.75,136.68,-42.2764],[2700.45,799.948,23.5833,130.84,-38.5445],[2564.85,899.55,22.2667,124.836,-33.8745],[2397.79,999.219,20.6667,118.609,-27.5217],[2156.99,1099.51,18.4,112.383,-17.3177],[1781.45,1157.96,14.95,110.437,-0.0554195]]], - [52,1189.28,[[4298.76,-2000.46,42,233.082,-70.4472],[4263.52,-1902.2,41.55,230.762,-70.079],[4226.69,-1801.59,41.0833,228.328,-69.6861],[4189.55,-1702.31,40.6167,225.866,-69.2814],[4150.78,-1600.9,40.1333,223.286,-68.8493],[4111.68,-1500.96,39.65,220.677,-68.4034],[4072.27,-1402.51,39.1667,218.039,-67.9431],[4031.17,-1302.26,38.6667,215.281,-67.4509],[3988.34,-1200.38,38.15,212.401,-66.9246],[3945.16,-1100.29,37.6333,209.492,-66.3792],[3901.61,-1002,37.1167,206.554,-65.8137],[3856.3,-902.454,36.5833,203.493,-65.2077],[3809.17,-801.874,36.0333,200.308,-64.558],[3760.21,-700.48,35.4667,196.999,-63.8606],[3710.83,-601.387,34.9,193.664,-63.1332],[3659.56,-501.818,34.3167,190.207,-62.3511],[3606.38,-402.023,33.7167,186.629,-61.5091],[3551.25,-302.265,33.1,182.932,-60.6016],[3492.63,-200.243,32.45,179.019,-59.5956],[3433.48,-101.478,31.8,175.096,-58.5352],[3370.75,-1.21361,31.1167,170.966,-57.3576],[3304.37,99.9574,30.4,166.639,-56.0479],[3235.81,199.195,29.6667,162.226,-54.6227],[3163.47,298.24,28.9,157.642,-53.0329],[3085.69,398.376,28.0833,152.81,-51.218],[3002.33,498.493,27.2167,147.764,-49.143],[2911.65,599.124,26.2833,142.456,-46.7215],[2813.48,698.543,25.2833,136.962,-43.8929],[2702.64,799.131,24.1667,131.128,-40.4228],[2575.42,899.696,22.9,125.008,-36.0574],[2422.78,999.869,21.4,118.637,-30.2643],[2219.52,1099.56,19.4333,112.153,-21.6484],[1765.02,1189.28,15.15,107.991,-0.0573617]]], - [53,1220.31,[[4236.98,-2002.27,42.3333,233.437,-70.9389],[4202.54,-1903.56,41.8833,231.111,-70.5801],[4166.54,-1802.48,41.4167,228.669,-70.1973],[4130.24,-1702.72,40.95,226.197,-69.8029],[4092.35,-1600.81,40.4667,223.608,-69.3818],[4054.14,-1500.36,39.9833,220.988,-68.9473],[4015.62,-1401.4,39.5,218.338,-68.4986],[3975.45,-1300.61,39,215.567,-68.0189],[3934.94,-1201.46,38.5,212.766,-67.5226],[3892.75,-1100.74,37.9833,209.841,-66.9914],[3850.2,-1001.83,37.4667,206.887,-66.4407],[3805.92,-901.63,36.9333,203.808,-65.8505],[3759.87,-800.368,36.3833,200.602,-65.2175],[3713.44,-701.235,35.8333,197.368,-64.5584],[3665.19,-601.357,35.2667,194.009,-63.8503],[3615.11,-500.972,34.6833,190.525,-63.0888],[3563.15,-400.329,34.0833,186.917,-62.2689],[3510.75,-302.373,33.4833,183.287,-61.4093],[3454.96,-201.932,32.85,179.437,-60.456],[3397.21,-102.053,32.2,175.47,-59.4251],[3335.95,-0.604354,31.5167,171.291,-58.2797],[3272.63,99.4864,30.8167,167.009,-57.0357],[3207.21,197.882,30.1,162.633,-55.6822],[3136.6,298.507,29.3333,157.973,-54.1374],[3062.21,398.321,28.5333,153.151,-52.4094],[2982.42,498.484,27.6833,148.094,-50.4321],[2895.52,599.596,26.7667,142.749,-48.1213],[2801.33,699.974,25.7833,137.18,-45.4174],[2698.06,799.243,24.7167,131.393,-42.1963],[2580.57,898.773,23.5167,125.292,-38.1826],[2440.13,999.447,22.1,118.808,-32.874],[2260.8,1099.82,20.3167,112.089,-25.285],[1959.88,1199.68,17.3833,105.717,-10.8659],[1747.07,1220.31,15.35,105.52,-0.0817579]]], - [54,1251.02,[[4171.2,-2001.82,42.65,233.738,-71.4227],[4137.56,-1902.7,42.2,231.404,-71.0732],[4102.4,-1801.18,41.7333,228.954,-70.7001],[4066.95,-1700.97,41.2667,226.473,-70.3159],[4031.21,-1602.11,40.8,223.963,-69.9199],[3993.9,-1501.15,40.3167,221.333,-69.4969],[3956.28,-1401.67,39.8333,218.673,-69.0601],[3917.05,-1300.33,39.3333,215.889,-68.5931],[3877.5,-1200.62,38.8333,213.075,-68.1098],[3837.62,-1102.57,38.3333,210.23,-67.6096],[3796.08,-1003.01,37.8167,207.261,-67.0738],[3752.85,-902.148,37.2833,204.164,-66.4996],[3707.89,-800.19,36.7333,200.939,-65.8836],[3662.55,-700.353,36.1833,197.684,-65.2422],[3616.83,-602.669,35.6333,194.401,-64.5737],[3567.94,-501.451,35.05,190.891,-63.8333],[3518.64,-402.727,34.4667,187.355,-63.0585],[3466.07,-301.113,33.85,183.592,-62.1996],[3413.05,-202.369,33.2333,179.808,-61.2969],[3356.67,-101.439,32.5833,175.8,-60.2947],[3298.35,-1.3333,31.9167,171.677,-59.2086],[3238.03,97.6371,31.2333,167.445,-58.0295],[3172.72,199.691,30.5,162.905,-56.6839],[3105.31,299.543,29.75,158.276,-55.2145],[3034.26,398.881,28.9667,153.472,-53.5705],[2957.95,498.919,28.1333,148.414,-51.6876],[2876.28,598.516,27.25,143.141,-49.5268],[2786.01,699.793,26.2833,137.51,-46.9487],[2688.5,799.002,25.25,131.706,-43.9218],[2577.2,899.59,24.0833,125.504,-40.1353],[2448.47,999.477,22.75,119.008,-35.2867],[2288.67,1099.56,21.1167,112.177,-28.5452],[2054.84,1199.7,18.7667,105.249,-17.3467],[1725.87,1251.02,15.5333,103.039,-0.0396783]]], - [55,1281.37,[[4102.73,-2002.82,42.9667,234.071,-71.912],[4069.9,-1903.27,42.5167,231.73,-71.5719],[4035.58,-1801.3,42.05,229.271,-71.2088],[4000.98,-1700.65,41.5833,226.783,-70.8349],[3966.1,-1601.33,41.1167,224.264,-70.4495],[3930.95,-1503.36,40.65,221.715,-70.0521],[3894.24,-1403.35,40.1667,219.044,-69.6274],[3855.96,-1301.45,39.6667,216.249,-69.1732],[3817.37,-1201.18,39.1667,213.422,-68.7032],[3778.46,-1102.56,38.6667,210.564,-68.2166],[3737.93,-1002.4,38.15,207.579,-67.6954],[3695.74,-900.916,37.6167,204.465,-67.1368],[3653.2,-801.389,37.0833,201.32,-66.556],[3608.97,-700.834,36.5333,198.045,-65.9326],[3564.37,-602.423,35.9833,194.74,-65.2827],[3516.67,-500.428,35.4,191.205,-64.5628],[3468.57,-400.918,34.8167,187.641,-63.8093],[3418.67,-301.196,34.2167,183.949,-62.9969],[3366.95,-201.526,33.6,180.13,-62.1197],[3313.38,-102.183,32.9667,176.188,-61.1711],[3256.5,-0.968931,32.3,172.02,-60.1163],[3197.68,99.1492,31.6167,167.738,-58.9707],[3136.89,197.846,30.9167,163.347,-57.7239],[3071.18,299.189,30.1667,158.651,-56.2988],[3003.39,398.005,29.4,153.871,-54.7381],[2929.01,499.851,28.5667,148.719,-52.9113],[2850.91,599.531,27.7,143.432,-50.8534],[2765.98,699.655,26.7667,137.854,-48.439],[2674.07,798.49,25.7667,132.057,-45.6005],[2568.77,899.783,24.6333,125.785,-42.0363],[2449.74,999.301,23.3667,119.267,-37.5734],[2305.42,1099.13,21.85,112.362,-31.5108],[2107.37,1199.99,19.8,105.107,-22.046],[1703.22,1281.37,15.7167,100.534,-0.0195782]]], - [56,1311.33,[[4030.35,-2001.62,43.2667,234.349,-72.3945],[3998.33,-1901.67,42.8167,232.001,-72.0635],[3966.06,-1802.93,42.3667,229.623,-71.723],[3932.32,-1701.81,41.9,227.127,-71.3595],[3898.32,-1602.02,41.4333,224.599,-70.9848],[3862.81,-1500.09,40.95,221.949,-70.5844],[3828.24,-1403.07,40.4833,219.36,-70.1855],[3790.92,-1300.66,39.9833,216.553,-69.7439],[3754.54,-1203.2,39.5,213.809,-69.3023],[3715.34,-1100.71,38.9833,210.842,-68.8136],[3675.81,-1000,38.4667,207.841,-68.3067],[3635.96,-901.103,37.95,204.809,-67.7806],[3594.49,-800.933,37.4167,201.646,-67.2162],[3552.68,-702.745,36.8833,198.451,-66.629],[3507.89,-600.622,36.3167,195.025,-65.9786],[3462.72,-500.802,35.75,191.567,-65.2991],[3415.83,-400.489,35.1667,187.977,-64.5674],[3368.55,-302.689,34.5833,184.359,-63.8007],[3318.15,-202.075,33.9667,180.508,-62.9495],[3265.94,-101.752,33.3333,176.528,-62.0287],[3211.89,-2.00997,32.6833,172.424,-61.0308],[3154.58,99.2774,32,168.094,-59.9195],[3095.35,199.184,31.3,163.649,-58.7095],[3032.74,299.606,30.5667,158.994,-57.3572],[2966.7,399.88,29.8,154.141,-55.8427],[2897.15,499.302,29,149.107,-54.1419],[2822.56,599.017,28.15,143.816,-52.1868],[2741.34,699.613,27.2333,138.206,-49.8901],[2653.34,799.396,26.25,132.34,-47.1856],[2555.39,899.434,25.1667,126.125,-43.8861],[2444.17,999.227,23.95,119.556,-39.7379],[2311.56,1099.47,22.5167,112.556,-34.1922],[2139.58,1199.9,20.6833,105.161,-26.0005],[1826.91,1299.91,17.4167,98.0361,-8.70084],[1679.11,1311.33,15.9,98.004,-0.023312]]], - [57,1340.87,[[3955.31,-2001.93,43.5667,234.659,-72.8827],[3924.11,-1901.58,43.1167,232.304,-72.561],[3892.66,-1802.43,42.6667,229.919,-72.2301],[3859.79,-1700.89,42.2,227.414,-71.8768],[3826.65,-1600.67,41.7333,224.878,-71.5126],[3793.24,-1501.79,41.2667,222.311,-71.137],[3758.37,-1400.82,40.7833,219.619,-70.7356],[3723.21,-1301.33,40.3,216.895,-70.3208],[3686.55,-1200,39.8,214.043,-69.8769],[3649.58,-1100.31,39.3,211.159,-69.4173],[3612.32,-1002.28,38.8,208.242,-68.9411],[3573.51,-902.746,38.2833,205.195,-68.4306],[3533.12,-801.919,37.75,202.015,-67.883],[3491.11,-700.01,37.2,198.702,-67.2949],[3448.76,-600.232,36.65,195.355,-66.6817],[3406.06,-502.617,36.1,191.977,-66.0419],[3360.4,-401.483,35.5167,188.362,-65.3323],[3313.04,-300.075,34.9167,184.613,-64.5668],[3265.27,-201.356,34.3167,180.835,-63.7628],[3214.43,-100.115,33.6833,176.82,-62.8692],[3163.15,-1.96204,33.05,172.782,-61.9259],[3108.71,97.9723,32.3833,168.513,-60.8752],[3051.05,199.111,31.6833,164.017,-59.7027],[2991.49,298.574,30.9667,159.408,-58.4226],[2928.61,398.171,30.2167,154.591,-56.9885],[2860.93,499.268,29.4167,149.475,-55.3423],[2789.77,598.851,28.5833,144.189,-53.4866],[2712.18,699.736,27.6833,138.558,-51.3038],[2629.49,798.606,26.7333,132.739,-48.7764],[2537.17,898.637,25.6833,126.514,-45.6858],[2432.01,999.552,24.5,119.847,-41.7855],[2310.65,1099.14,23.15,112.844,-36.7368],[2157.36,1199.73,21.4667,105.327,-29.4706],[1925.89,1299.9,18.9667,97.5946,-16.7147],[1653.54,1340.87,16.0833,95.45,-0.0529619]]], - [58,1369.95,[[3876.48,-2000.07,43.85,234.914,-73.3648],[3847.23,-1903.06,43.4167,232.64,-73.064],[3816.62,-1803.49,42.9667,230.249,-72.7429],[3784.62,-1701.51,42.5,227.737,-72.3999],[3752.36,-1600.85,42.0333,225.193,-72.0463],[3719.84,-1501.52,41.5667,222.617,-71.6818],[3685.89,-1400.09,41.0833,219.915,-71.2921],[3651.66,-1300.13,40.6,217.181,-70.8893],[3617.16,-1201.67,40.1167,214.413,-70.473],[3581.19,-1101.42,39.6167,211.517,-70.0272],[3544.92,-1002.83,39.1167,208.587,-69.5652],[3507.15,-902.713,38.6,205.525,-69.07],[3467.83,-801.276,38.0667,202.329,-68.5387],[3428.2,-701.807,37.5333,199.099,-67.9857],[3386.99,-601.322,36.9833,195.733,-67.3914],[3344.17,-500.046,36.4167,192.231,-66.752],[3301.01,-401.093,35.85,188.695,-66.0831],[3256.2,-301.691,35.2667,185.024,-65.3619],[3209.73,-202.093,34.6667,181.217,-64.5831],[3161.57,-102.565,34.05,177.275,-63.7406],[3110.37,-0.814289,33.4,173.093,-62.8029],[3058.74,97.6464,32.75,168.889,-61.8103],[3002.65,199.947,32.05,164.343,-60.6746],[2946.07,298.317,31.35,159.787,-59.4637],[2884.91,399.286,30.6,154.904,-58.0751],[2820.46,499.78,29.8167,149.817,-56.5143],[2752.65,599.069,29,144.546,-54.7544],[2680.02,698.226,28.1333,139.011,-52.7228],[2599.65,799.458,27.1833,133.05,-50.2801],[2512.77,899.019,26.1667,126.843,-47.3864],[2414.93,999.146,25.0333,120.21,-43.7782],[2301.45,1099.68,23.7333,113.107,-39.0832],[2164.49,1199.21,22.1833,105.593,-32.6262],[1973.19,1299.41,20.05,97.5956,-22.1389],[1624.96,1369.95,16.25,92.8833,-0.0102857]]], - [59,1398.54,[[3796.1,-2003.6,44.15,235.289,-73.8641],[3766.56,-1902.46,43.7,232.922,-73.5612],[3736.78,-1802.5,43.25,230.524,-73.2495],[3705.66,-1700.12,42.7833,228.004,-72.9167],[3675.4,-1602.63,42.3333,225.543,-72.586],[3643.78,-1502.85,41.8667,222.959,-72.2327],[3610.77,-1400.93,41.3833,220.249,-71.8548],[3577.49,-1300.49,40.9,217.505,-71.4644],[3543.94,-1201.54,40.4167,214.727,-71.0607],[3508.96,-1100.78,39.9167,211.818,-70.6284],[3473.69,-1001.67,39.4167,208.875,-70.1805],[3436.96,-901.009,38.9,205.799,-69.7002],[3399.92,-802.166,38.3833,202.687,-69.2013],[3361.39,-702.066,37.85,199.441,-68.6655],[3321.32,-600.922,37.3,196.056,-68.0896],[3280.92,-501.927,36.75,192.637,-67.4885],[3238.96,-402.213,36.1833,189.079,-66.8411],[3195.41,-302.019,35.6,185.383,-66.1428],[3150.24,-201.599,35,181.548,-65.3886],[3103.42,-101.217,34.3833,177.574,-64.5724],[3054.93,-1.14857,33.75,173.464,-63.6878],[3004.75,98.3153,33.1,169.22,-62.727],[2951.54,199.291,32.4167,164.736,-61.6543],[2896.55,298.857,31.7167,160.127,-60.4828],[2838.45,398.899,30.9833,155.291,-59.1696],[2777.17,498.752,30.2167,150.241,-57.6935],[2711.29,599.71,29.4,144.882,-55.9926],[2642.1,698.776,28.55,139.351,-54.0665],[2566.79,798.633,27.6333,133.47,-51.7904],[2483.83,899.185,26.6333,127.196,-49.0433],[2391.64,999.53,25.5333,120.537,-45.6627],[2287.17,1099.05,24.3,113.482,-41.3674],[2161.5,1199.25,22.8333,105.867,-35.4794],[1995.03,1299.96,20.9167,97.6755,-26.3967],[1596.5,1398.54,16.4333,90.2819,-0.09686]]], - [60,1426.61,[[3710.92,-2001.25,44.4167,235.523,-74.3468],[3683.28,-1903.49,43.9833,233.237,-74.064],[3654.35,-1803.14,43.5333,230.833,-73.762],[3624.11,-1700.34,43.0667,228.307,-73.4396],[3594.71,-1602.46,42.6167,225.839,-73.1192],[3563.99,-1502.25,42.15,223.246,-72.7767],[3533.03,-1403.4,41.6833,220.621,-72.4234],[3500.7,-1302.45,41.2,217.868,-72.0454],[3468.12,-1203,40.7167,215.08,-71.6546],[3434.13,-1101.71,40.2167,212.161,-71.2361],[3399.88,-1002.07,39.7167,209.206,-70.8023],[3364.2,-900.858,39.2,206.116,-70.3373],[3328.22,-801.454,38.6833,202.99,-69.8541],[3290.79,-700.769,38.15,199.726,-69.3352],[3253.05,-602.067,37.6167,196.427,-68.7946],[3213.82,-502.391,37.0667,192.988,-68.213],[3173.07,-401.968,36.5,189.409,-67.5864],[3130.77,-301.038,35.9167,185.689,-66.9106],[3088.12,-202.626,35.3333,181.934,-66.2011],[3042.66,-101.37,34.7167,177.93,-65.4119],[2995.58,-0.395964,34.0833,173.786,-64.5562],[2948.1,97.474,33.45,169.613,-63.651],[2896.44,199.537,32.7667,165.085,-62.6142],[2844.33,297.878,32.0833,160.537,-61.5093],[2787.93,399.211,31.35,155.643,-60.2407],[2729.74,498.278,30.6,150.635,-58.8459],[2667.12,598.781,29.8,145.305,-57.238],[2599.98,699.631,28.95,139.676,-55.3786],[2528.23,799.648,28.05,133.782,-53.2204],[2450.43,899.203,27.0833,127.567,-50.6579],[2363.74,999.453,26.0167,120.907,-47.4978],[2266.57,1098.69,24.8333,113.858,-43.5284],[2150.32,1199.59,23.4333,106.156,-38.1162],[2004.58,1299.27,21.7,97.9535,-30.2163],[1766.63,1399.84,18.9167,89.2605,-14.7405],[1563.64,1426.61,16.5833,87.6766,-0.00383935]]], - [61,1454.12,[[3623.15,-2000.58,44.6833,235.789,-74.8356],[3596.32,-1902.48,44.25,233.498,-74.5617],[3568.25,-1801.77,43.8,231.088,-74.2693],[3539.95,-1702.25,43.35,228.645,-73.9683],[3510.36,-1600.33,42.8833,226.078,-73.6466],[3481.61,-1503.31,42.4333,223.571,-73.3269],[3450.49,-1400.5,41.95,220.843,-72.9726],[3420.19,-1302.61,41.4833,218.175,-72.6193],[3388.57,-1202.7,41,215.378,-72.2411],[3355.6,-1100.93,40.5,212.447,-71.8361],[3322.35,-1000.79,40,209.48,-71.4163],[3288.85,-902.321,39.5,206.477,-70.9809],[3253.95,-802.342,38.9833,203.337,-70.5137],[3217.63,-701.056,38.45,200.058,-70.012],[3181.01,-601.748,37.9167,196.742,-69.4892],[3142.95,-501.44,37.3667,193.285,-68.9267],[3103.41,-400.36,36.8,189.684,-68.3206],[3063.55,-301.614,36.2333,186.047,-67.6858],[3022.18,-202.439,35.65,182.267,-67.0001],[2978.08,-100.369,35.0333,178.234,-66.2373],[2933.61,-1.1894,34.4167,174.167,-65.4323],[2887.56,97.6163,33.7833,169.959,-64.558],[2838.68,198.229,33.1167,165.5,-63.5815],[2788.16,297.691,32.4333,160.906,-62.5152],[2734.71,397.958,31.7167,156.069,-61.3192],[2678.3,498.385,30.9667,150.997,-59.9737],[2618.85,598.285,30.1833,145.703,-58.4552],[2555.05,698.877,29.35,140.093,-56.6983],[2486.79,799.011,28.4667,134.197,-54.6578],[2412.7,899.129,27.5167,127.948,-52.2323],[2331.33,998.982,26.4833,121.312,-49.2852],[2239.87,1098.85,25.3333,114.211,-45.5731],[2132.67,1199.57,24,106.499,-40.6151],[2001.15,1299.62,22.3833,98.2053,-33.5316],[1811.32,1399.53,20.0833,89.2917,-21.276],[1530.91,1454.12,16.75,85.0376,-0.0455138]]], - [62,1481.04,[[3532.82,-2001.64,44.95,236.09,-75.3302],[3506.81,-1903.19,44.5167,233.794,-75.0654],[3479.59,-1802.1,44.0667,231.377,-74.7826],[3452.16,-1702.21,43.6167,228.928,-74.4916],[3424.51,-1603.53,43.1667,226.447,-74.1918],[3395.61,-1502.49,42.7,223.84,-73.8714],[3366.48,-1402.8,42.2333,221.198,-73.5408],[3336.07,-1300.97,41.75,218.426,-73.187],[3305.42,-1200.63,41.2667,215.618,-72.8212],[3274.52,-1101.8,40.7833,212.775,-72.4428],[3242.3,-1001.16,40.2833,209.797,-72.0371],[3209.83,-902.177,39.7833,206.782,-71.6165],[3176,-801.666,39.2667,203.629,-71.165],[3141.91,-702.978,38.75,200.438,-70.6955],[3106.43,-603.048,38.2167,197.106,-70.1908],[3069.55,-502.092,37.6667,193.631,-69.6477],[3031.23,-400.336,37.1,190.011,-69.0625],[2992.6,-300.909,36.5333,186.352,-68.4494],[2952.51,-201.025,35.95,182.547,-67.7871],[2910.94,-100.939,35.35,178.596,-67.0705],[2867.86,-0.917068,34.7333,174.499,-66.2936],[2823.24,98.7632,34.1,170.256,-65.4497],[2777.08,197.81,33.45,165.87,-64.531],[2728.13,298.326,32.7667,161.231,-63.5025],[2676.36,399.709,32.05,156.342,-62.3483],[2622.93,499.108,31.3167,151.324,-61.079],[2566.58,598.26,30.55,146.073,-59.6465],[2506.03,698.439,29.7333,140.491,-57.9883],[2441.2,798.522,28.8667,134.602,-56.0614],[2370.74,899.02,27.9333,128.332,-53.7685],[2293.25,999.766,26.9167,121.637,-50.9782],[2207.31,1099.77,25.8,114.517,-47.509],[2108.81,1199.51,24.5333,106.865,-42.9817],[1989.53,1299.47,23.0167,98.5418,-36.6046],[1827.5,1399.61,20.9833,89.4648,-26.2224],[1495.42,1481.04,16.9,82.3834,-0.00773982]]], - [63,1507.36,[[3438.92,-2000.66,45.2,236.336,-75.8207],[3413.74,-1901.88,44.7667,234.035,-75.5648],[3387.38,-1800.46,44.3167,231.612,-75.2916],[3360.82,-1700.23,43.8667,229.157,-75.0103],[3334.05,-1601.2,43.4167,226.668,-74.7206],[3307.07,-1503.4,42.9667,224.147,-74.4222],[3278.87,-1403.29,42.5,221.498,-74.103],[3249.43,-1301.03,42.0167,218.717,-73.7615],[3219.76,-1200.25,41.5333,215.9,-73.4083],[3189.84,-1100.97,41.05,213.047,-73.0428],[3159.7,-1003.21,40.5667,210.157,-72.6645],[3127.22,-900.423,40.05,207.03,-72.2449],[3095.53,-802.654,39.55,203.966,-71.8232],[3061.46,-700.243,39.0167,200.657,-71.3553],[3028.19,-602.909,38.5,197.414,-70.8833],[2992.49,-501.353,37.95,193.921,-70.3593],[2956.5,-401.952,37.4,190.389,-69.8115],[2919.12,-301.825,36.8333,186.71,-69.2205],[2880.33,-201.214,36.25,182.882,-68.582],[2840.1,-100.373,35.65,178.905,-67.891],[2799.54,-2.25217,35.05,174.89,-67.1625],[2756.37,98.3235,34.4167,170.616,-66.3496],[2711.71,198.299,33.7667,166.193,-65.4643],[2664.35,299.8,33.0833,161.511,-64.4728],[2615.43,399.893,32.3833,156.687,-63.3864],[2564.92,498.235,31.6667,151.728,-62.1924],[2510.42,598.738,30.9,146.411,-60.8137],[2453.06,698.354,30.1,140.864,-59.2505],[2391.57,798.225,29.25,134.993,-57.4331],[2324.66,898.927,28.3333,128.715,-55.2687],[2252.21,998.755,27.35,122.086,-52.6773],[2171.63,1098.76,26.2667,114.972,-49.4498],[2078.97,1199.68,25.0333,107.225,-45.2224],[1970.11,1299.39,23.6,98.8997,-39.4447],[1827.87,1399.71,21.75,89.7264,-30.402],[1556.57,1499.81,18.2833,80.0259,-8.66095],[1458.64,1507.36,17.05,79.7052,-0.000272333]]], - [64,1533.02,[[3342.51,-2001.5,45.45,236.617,-76.3172],[3318.17,-1902.39,45.0167,234.311,-76.0704],[3292.69,-1800.62,44.5667,231.883,-75.8068],[3267.01,-1700.03,44.1167,229.422,-75.5355],[3241.12,-1600.65,43.6667,226.927,-75.2561],[3215.04,-1502.48,43.2167,224.398,-74.9682],[3187.77,-1401.99,42.75,221.741,-74.6603],[3160.29,-1302.85,42.2833,219.049,-74.3424],[3131.61,-1201.62,41.8,216.224,-74.002],[3102.7,-1101.89,41.3167,213.361,-73.6498],[3072.55,-1000.31,40.8167,210.361,-73.2723],[3042.16,-900.382,40.3167,207.323,-72.8807],[3011.53,-802.126,39.8167,204.246,-72.4742],[2979.63,-702.379,39.3,201.028,-72.0375],[2946.43,-601.344,38.7667,197.666,-71.5681],[2912.97,-502.3,38.2333,194.263,-71.0783],[2878.19,-402.276,37.6833,190.713,-70.5507],[2842.06,-301.501,37.1167,187.013,-69.9815],[2804.57,-200.216,36.5333,183.163,-69.3663],[2766.77,-101.458,35.95,179.273,-68.7194],[2727.58,-2.55459,35.35,175.231,-68.0183],[2685.87,98.8561,34.7167,170.925,-67.2357],[2642.7,199.697,34.0667,166.467,-66.3832],[2598.06,299.664,33.4,161.86,-65.4521],[2551.92,398.439,32.7167,157.106,-64.4325],[2503.13,497.96,32,152.094,-63.2849],[2450.48,599.737,31.2333,146.714,-61.9591],[2396.23,698.647,30.45,141.21,-60.4873],[2338.01,798.149,29.6167,135.366,-58.7755],[2274.57,898.886,28.7167,129.092,-56.7351],[2205.81,999.189,27.75,122.435,-54.2896],[2130.42,1098.73,26.7,115.355,-51.2888],[2044.62,1198.98,25.5167,107.661,-47.4041],[1943.27,1299.91,24.1333,99.2234,-42.0657],[1817.28,1399.53,22.4333,90.0663,-34.1191],[1619.24,1499.73,19.8,79.9529,-18.4766],[1420.56,1533.01,17.2,77.0033,-0.0269127]]], - [65,1558,[[3242.68,-2000.34,45.6833,236.845,-76.8103],[3219.17,-1900.93,45.25,234.533,-76.5725],[3195.48,-1802.6,44.8167,232.19,-76.328],[3170.69,-1701.65,44.3667,229.724,-76.0668],[3145.71,-1601.89,43.9167,227.223,-75.7978],[3120.53,-1503.36,43.4667,224.689,-75.5206],[3094.21,-1402.48,43,222.025,-75.2242],[3067.68,-1302.94,42.5333,219.325,-74.918],[3039.99,-1201.3,42.05,216.491,-74.5903],[3012.08,-1101.15,41.5667,213.619,-74.2511],[2983.95,-1002.51,41.0833,210.71,-73.8999],[2954.62,-902.085,40.5833,207.661,-73.5232],[2924.07,-800.066,40.0667,204.47,-73.1188],[2894.28,-703.059,39.5667,201.343,-72.7121],[2862.24,-601.479,39.0333,197.966,-72.2603],[2829.94,-501.883,38.5,194.548,-71.7891],[2796.37,-401.285,37.95,190.98,-71.2813],[2762.53,-302.862,37.4,187.371,-70.7499],[2726.36,-200.885,36.8167,183.5,-70.1586],[2689.88,-101.427,36.2333,179.587,-69.5366],[2652.06,-1.79704,35.6333,175.519,-68.8623],[2612.87,97.7389,35.0167,171.298,-68.1298],[2571.23,199.467,34.3667,166.807,-67.3108],[2529.24,297.875,33.7167,162.278,-66.439],[2484.73,397.694,33.0333,157.482,-65.4604],[2437.67,498.32,32.3167,152.42,-64.3584],[2387.99,599.106,31.5667,147.099,-63.1133],[2335.66,699.359,30.7833,141.526,-61.7006],[2280.63,798.344,29.9667,135.717,-60.0905],[2220.59,898.953,29.0833,129.456,-58.1698],[2155.44,999.552,28.1333,122.785,-55.8659],[2083.91,1099.89,27.1,115.65,-53.0343],[2004.72,1198.89,25.9667,108.051,-49.471],[1911.78,1299.17,24.65,99.6686,-44.6166],[1797.61,1399.35,23.05,90.439,-37.4817],[1633.73,1499.89,20.7833,80.1385,-24.6726],[1381.19,1558,17.35,74.2781,-0.0916735]]], - [66,1582.27,[[3140.37,-2001.07,45.9167,237.107,-77.3096],[3117.72,-1901.34,45.4833,234.792,-77.0809],[3094.89,-1802.7,45.05,232.444,-76.8458],[3070.99,-1701.41,44.6,229.972,-76.5945],[3046.91,-1601.32,44.15,227.465,-76.3358],[3022.64,-1502.45,43.7,224.924,-76.0692],[2997.27,-1401.21,43.2333,222.253,-75.784],[2971.7,-1301.32,42.7667,219.545,-75.4895],[2945.94,-1202.8,42.3,216.801,-75.1853],[2919.04,-1102.22,41.8167,213.921,-74.8594],[2891.93,-1003.14,41.3333,211.003,-74.5219],[2863.67,-902.263,40.8333,207.944,-74.1599],[2835.18,-803.047,40.3333,204.845,-73.784],[2805.51,-702.298,39.8167,201.602,-73.3802],[2774.64,-600.218,39.2833,198.211,-72.946],[2743.52,-500.118,38.75,194.777,-72.493],[2712.15,-402.027,38.2167,191.301,-72.0199],[2678.56,-300.04,37.65,187.564,-71.4937],[2644.69,-200.389,37.0833,183.783,-70.9416],[2609.55,-100.286,36.5,179.847,-70.344],[2574.12,-2.7336,35.9167,175.869,-69.7146],[2536.37,97.5778,35.3,171.62,-69.0117],[2497.28,197.543,34.6667,167.213,-68.2463],[2455.8,299.373,34,162.532,-67.3885],[2413.97,397.666,33.3333,157.813,-66.4722],[2368.64,499.327,32.6167,152.704,-65.4149],[2321.86,598.993,31.8833,147.447,-64.2473],[2272.54,698.402,31.1167,141.929,-62.9229],[2219.55,798.833,30.3,136.042,-61.3806],[2162.83,899.155,29.4333,129.805,-59.5755],[2101.21,999.88,28.5,123.131,-57.4084],[2034.59,1099.25,27.5,116.073,-54.7881],[1959.5,1199.61,26.3833,108.376,-51.432],[1873.48,1299.69,25.1167,100.007,-46.9684],[1769.41,1399.98,23.6,90.7524,-40.5118],[1629.34,1499.79,21.5833,80.4498,-29.6696],[1339.35,1582.27,17.4833,71.5363,-0.0683788]]], - [67,1605.81,[[3035.64,-2003.72,46.15,237.406,-77.8147],[3013.84,-1903.68,45.7167,235.086,-77.5952],[2991.03,-1800.92,45.2667,232.643,-77.3607],[2968.89,-1703.07,44.8333,230.258,-77.1285],[2945.72,-1602.64,44.3833,227.746,-76.8801],[2922.37,-1503.41,43.9333,225.2,-76.6243],[2897.97,-1401.81,43.4667,222.522,-76.3506],[2873.37,-1301.55,43,219.807,-76.0679],[2848.58,-1202.65,42.5333,217.056,-75.7759],[2822.7,-1101.68,42.05,214.167,-75.4631],[2796.62,-1002.21,41.5667,211.239,-75.1391],[2769.42,-900.915,41.0667,208.17,-74.7916],[2742.02,-801.281,40.5667,205.06,-74.4307],[2713.47,-700.096,40.05,201.804,-74.043],[2684.7,-600.736,39.5333,198.505,-73.6394],[2654.76,-500.114,39,195.058,-73.2048],[2624.58,-401.497,38.4667,191.567,-72.7511],[2593.22,-301.927,37.9167,187.923,-72.2615],[2560.65,-201.637,37.35,184.124,-71.7324],[2526.85,-100.869,36.7667,180.167,-71.1598],[2492.78,-2.64446,36.1833,176.165,-70.5566],[2456.48,98.3844,35.5667,171.89,-69.8828],[2418.88,199.094,34.9333,167.453,-69.1489],[2379.99,299.192,34.2833,162.855,-68.3473],[2339.77,398.373,33.6167,158.098,-67.4695],[2297.19,498.658,32.9167,153.064,-66.4807],[2252.21,599.42,32.1833,147.755,-65.3631],[2204.79,699.988,31.4167,142.177,-64.0946],[2154.89,799.646,30.6167,136.338,-62.6478],[2101.42,899.531,29.7667,130.134,-60.954],[2044.31,998.452,28.8667,123.59,-58.9583],[1980.29,1099.99,27.8667,116.388,-56.4567],[1910.3,1199.88,26.7833,108.733,-53.3474],[1830.95,1299.34,25.5667,100.423,-49.2605],[1736.52,1398.98,24.1333,91.234,-43.4597],[1612.14,1499.84,22.2667,80.7944,-33.9363],[1370.61,1599.87,18.7,69.2144,-8.88786],[1296.32,1605.81,17.6167,68.7711,-0.0832618]]], - [68,1628.58,[[2926.84,-2000.6,46.35,237.563,-78.3092],[2905.91,-1900.3,45.9167,235.238,-78.0986],[2884.81,-1801.08,45.4833,232.881,-77.8822],[2863.54,-1702.94,45.05,230.49,-77.6595],[2841.29,-1602.19,44.6,227.973,-77.4215],[2818.87,-1502.64,44.15,225.421,-77.1763],[2795.43,-1400.71,43.6833,222.736,-76.914],[2771.81,-1300.12,43.2167,220.014,-76.643],[2748,-1200.88,42.75,217.255,-76.3631],[2724.01,-1103.02,42.2833,214.458,-76.0737],[2698.97,-1003.14,41.8,211.522,-75.7635],[2672.85,-901.417,41.3,208.443,-75.4307],[2646.54,-801.351,40.8,205.323,-75.0851],[2620.02,-702.964,40.3,202.161,-74.726],[2592.4,-603.089,39.7833,198.852,-74.3398],[2563.66,-501.93,39.25,195.391,-73.9242],[2534.69,-402.769,38.7167,191.887,-73.49],[2504.58,-302.634,38.1667,188.227,-73.0215],[2473.31,-201.754,37.6,184.41,-72.5153],[2440.87,-100.373,37.0167,180.433,-71.9673],[2408.16,-1.52972,36.4333,176.409,-71.3898],[2374.25,97.4496,35.8333,172.224,-70.7626],[2338.17,198.926,35.2,167.76,-70.0608],[2300.83,299.819,34.55,163.13,-69.2941],[2262.23,399.823,33.8833,158.336,-68.4541],[2222.33,498.619,33.2,153.381,-67.5311],[2180.15,598.141,32.4833,148.145,-66.4879],[2134.65,699.895,31.7167,142.509,-65.2767],[2087.77,798.758,30.9333,136.726,-63.9246],[2037.48,898.18,30.1,130.563,-62.3413],[1982.7,998.798,29.2,123.917,-60.4383],[1923.34,1098.93,28.2333,116.827,-58.1337],[1857.25,1199.74,27.1667,109.114,-55.2192],[1783.25,1299.5,25.9833,100.789,-51.4356],[1695.9,1399.77,24.6,91.5441,-46.1083],[1586.33,1499.3,22.8833,81.2296,-37.8007],[1409.5,1599.86,20.15,69.3089,-19.8673],[1252.1,1628.58,17.75,65.9831,-0.141622]]], - [69,1650.56,[[2816.52,-2003.33,46.5667,237.845,-78.8179],[2796.46,-1902.73,46.1333,235.517,-78.6166],[2776.24,-1803.2,45.7,233.156,-78.4097],[2755.08,-1700.98,45.25,230.669,-78.1885],[2734.54,-1603.68,44.8167,228.24,-77.9694],[2712.26,-1500.13,44.35,225.587,-77.7261],[2690.6,-1401.53,43.9,222.992,-77.4841],[2667.96,-1300.59,43.4333,220.264,-77.2251],[2645.14,-1201,42.9667,217.497,-76.9574],[2622.15,-1102.78,42.5,214.693,-76.6807],[2598.16,-1002.53,42.0167,211.748,-76.3841],[2573.14,-900.423,41.5167,208.66,-76.0658],[2548.76,-803.287,41.0333,205.634,-75.7466],[2522.5,-701.183,40.5167,202.357,-75.3919],[2496.03,-600.895,40,199.035,-75.0226],[2469.36,-502.45,39.4833,195.669,-74.6376],[2441.6,-402.793,38.95,192.151,-74.2228],[2412.76,-302.14,38.4,188.475,-73.7751],[2382.8,-200.722,37.8333,184.64,-73.2914],[2352.6,-101.658,37.2667,180.758,-72.7829],[2321.27,-2.17706,36.6833,176.714,-72.2317],[2288.79,97.4653,36.0833,172.506,-71.6329],[2254.23,199.649,35.45,168.014,-70.9627],[2219.38,298.71,34.8167,163.474,-70.2498],[2182.41,399.562,34.15,158.647,-69.4486],[2144.2,499.235,33.4667,153.652,-68.5678],[2103.8,599.685,32.75,148.371,-67.5719],[2062.12,698.078,32.0167,142.929,-66.4675],[2017.24,798.196,31.2333,137.083,-65.18],[1969.08,898.968,30.4,130.844,-63.6713],[1917.6,999.231,29.5167,124.228,-61.8913],[1861.76,1099.42,28.5667,117.141,-59.7345],[1800.48,1199.26,27.5333,109.514,-57.0494],[1731.67,1299.02,26.3833,101.204,-53.5585],[1651.12,1399.47,25.05,91.9577,-48.6897],[1551.43,1499.91,23.4167,81.5491,-41.1998],[1406.25,1600,21.0667,69.5926,-26.6746],[1205.65,1650.56,17.8667,63.1774,-0.101369]]], - [70,1671.72,[[2702.37,-2000.3,46.75,237.986,-79.3175],[2683.92,-1903.33,46.3333,235.744,-79.1327],[2664.59,-1803.52,45.9,233.379,-78.9352],[2644.35,-1701.02,45.45,230.887,-78.7242],[2624.72,-1603.43,45.0167,228.453,-78.515],[2604.17,-1503.26,44.5667,225.89,-78.2912],[2582.7,-1400.68,44.1,223.194,-78.0518],[2561.83,-1303.01,43.65,220.557,-77.8136],[2540.02,-1203.06,43.1833,217.784,-77.5584],[2517.25,-1100.98,42.7,214.872,-77.285],[2494.31,-1000.4,42.2167,211.919,-77.0018],[2471.19,-901.333,41.7333,208.925,-76.7083],[2447.08,-800.468,41.2333,205.785,-76.3932],[2422.78,-701.276,40.7333,202.602,-76.0657],[2397.48,-600.56,40.2167,199.269,-75.7134],[2371.97,-501.682,39.7,195.892,-75.3463],[2345.44,-401.573,39.1667,192.359,-74.9506],[2317.87,-300.451,38.6167,188.668,-74.5236],[2290.07,-201.508,38.0667,184.93,-74.0759],[2261.21,-101.882,37.5,181.03,-73.5914],[2231.26,-1.81515,36.9167,176.966,-73.0661],[2200.22,98.4351,36.3167,172.736,-72.4953],[2168.05,198.6,35.7,168.337,-71.8737],[2134.75,298.399,35.0667,163.769,-71.1949],[2100.3,397.535,34.4167,159.031,-70.4516],[2063.8,498.111,33.7333,154.001,-69.6139],[2025.2,599.518,33.0167,148.677,-68.6665],[1985.37,698.899,32.2833,143.186,-67.6153],[1943.4,797.984,31.5167,137.407,-66.4164],[1898.32,898.038,30.7,131.222,-65.0112],[1849.14,999.782,29.8167,124.519,-63.3199],[1796.74,1099.86,28.8833,117.447,-61.3059],[1740.11,1198.49,27.8833,109.925,-58.8403],[1675.35,1299.36,26.75,101.538,-55.5787],[1601.34,1399.36,25.4667,92.3457,-51.1395],[1511.07,1499.7,23.9167,81.9609,-44.4232],[1387.39,1599.38,21.8167,70.0347,-32.2271],[1158.13,1671.72,17.9833,60.3489,-0.104257]]], - [71,1692.04,[[2586.7,-2003.23,46.95,238.254,-79.8306],[2568.4,-1902.11,46.5167,235.918,-79.6476],[2549.96,-1802.06,46.0833,233.548,-79.4595],[2531.38,-1703.08,45.65,231.145,-79.2661],[2511.93,-1601.46,45.2,228.612,-79.0592],[2492.33,-1501.04,44.75,226.043,-78.8461],[2472.58,-1401.83,44.3,223.438,-78.6264],[2451.94,-1300.25,43.8333,220.697,-78.3911],[2431.14,-1200.01,43.3667,217.917,-78.148],[2410.17,-1101.15,42.9,215.098,-77.8967],[2388.29,-1000.22,42.4167,212.137,-77.6272],[2366.24,-900.803,41.9333,209.135,-77.3478],[2344.02,-802.92,41.45,206.091,-77.058],[2320.08,-700.011,40.9333,202.793,-76.7361],[2296.73,-602.142,40.4333,199.557,-76.4119],[2272.41,-502.816,39.9167,196.168,-76.0628],[2247.12,-402.239,39.3833,192.623,-75.6866],[2220.82,-300.629,38.8333,188.918,-75.2805],[2194.32,-201.194,38.2833,185.165,-74.8548],[2166.8,-101.054,37.7167,181.248,-74.394],[2138.25,-0.455134,37.1333,177.164,-73.8942],[2109.47,97.5852,36.55,173.031,-73.3667],[2078.81,198.403,35.9333,168.608,-72.7761],[2047.07,298.879,35.3,164.014,-72.131],[2014.23,398.718,34.65,159.246,-71.4244],[1980.28,497.612,33.9833,154.304,-70.6479],[1943.48,599.905,33.2667,148.94,-69.7483],[1906.39,697.972,32.55,143.528,-68.7732],[1866.39,798.132,31.7833,137.695,-67.6358],[1823.43,899.341,30.9667,131.444,-66.3017],[1778.34,998.583,30.1167,124.915,-64.7584],[1729.3,1098.53,29.2,117.869,-62.8867],[1675.35,1199.06,28.2,110.216,-60.5525],[1615.49,1299.25,27.1,101.899,-57.556],[1546.84,1399.65,25.85,92.6848,-53.4684],[1464.59,1499.97,24.3667,82.3154,-47.4004],[1356.26,1599.55,22.4333,70.3985,-36.8387],[1109.54,1692.04,18.1,57.4981,-0.1576]]], - [72,1711.48,[[2467.44,-2000.42,47.1167,238.381,-80.3358],[2450.71,-1902.97,46.7,236.131,-80.1687],[2433.17,-1802.66,46.2667,233.758,-79.9902],[2415.5,-1703.43,45.8333,231.35,-79.8066],[2397.01,-1601.53,45.3833,228.814,-79.6102],[2378.37,-1500.83,44.9333,226.24,-79.4078],[2359.58,-1401.35,44.4833,223.629,-79.1992],[2340.66,-1303.09,44.0333,220.981,-78.9839],[2320.88,-1202.52,43.5667,218.195,-78.7534],[2300.95,-1103.31,43.1,215.371,-78.515],[2280.14,-1002.02,42.6167,212.403,-78.2594],[2259.17,-902.241,42.1333,209.394,-77.9944],[2237.31,-800.63,41.6333,206.236,-77.71],[2215.28,-700.684,41.1333,203.035,-77.4142],[2193.08,-602.426,40.6333,199.789,-77.1066],[2169.96,-502.695,40.1167,196.389,-76.7755],[2145.9,-401.696,39.5833,192.832,-76.4185],[2121.66,-302.706,39.05,189.227,-76.0452],[2096.47,-202.76,38.5,185.46,-75.6417],[2070.31,-102.09,37.9333,181.527,-75.205],[2043.16,-0.9377,37.35,177.426,-74.7314],[2015.8,97.6609,36.7667,173.273,-74.2313],[1986.65,199.075,36.15,168.828,-73.6713],[1957.27,297.549,35.5333,164.33,-73.0761],[1926.05,398.113,34.8833,159.534,-72.407],[1893.78,497.76,34.2167,154.561,-71.6715],[1859.62,598.519,33.5167,149.284,-70.8396],[1823.55,699.761,32.7833,143.703,-69.8946],[1786.35,798.666,32.0333,137.946,-68.8402],[1746.36,898.917,31.2333,131.762,-67.6035],[1703.51,999.409,30.3833,125.158,-66.1433],[1657.76,1098.94,29.4833,118.15,-64.4047],[1607.36,1199.49,28.5,110.505,-62.2349],[1552.21,1298.73,27.4333,102.28,-59.4923],[1488.75,1399.25,26.2167,93.0782,-55.7443],[1414.17,1499,24.8,82.7971,-50.2992],[1317.57,1599.26,22.9833,70.8267,-41.0045],[1141.57,1699.96,19.7167,56.2969,-15.3682],[1058.98,1711.48,18.2,54.6291,-0.0983375]]], - [73,1730.03,[[2346.71,-2003.65,47.3,238.635,-80.8538],[2330.21,-1902.06,46.8667,236.293,-80.6893],[2313.59,-1801.52,46.4333,233.915,-80.5202],[2296.83,-1702.06,46,231.503,-80.3463],[2279.95,-1603.69,45.5667,229.056,-80.1674],[2262.28,-1502.71,45.1167,226.478,-79.976],[2244.47,-1402.93,44.6667,223.863,-79.7786],[2225.86,-1300.76,44.2,221.111,-79.5673],[2207.78,-1203.51,43.75,218.42,-79.3569],[2188.21,-1100.47,43.2667,215.487,-79.1232],[2169.16,-1002.38,42.8,212.615,-78.8896],[2149.29,-902.275,42.3167,209.598,-78.6389],[2128.56,-800.324,41.8167,206.432,-78.3698],[2107.68,-700.034,41.3167,203.222,-78.0899],[2086.63,-601.43,40.8167,199.966,-77.7988],[2064.71,-501.336,40.3,196.556,-77.4855],[2042.62,-403.097,39.7833,193.098,-77.1584],[2018.93,-300.589,39.2333,189.367,-76.7943],[1995.04,-200.246,38.6833,185.585,-76.4123],[1970.97,-102.103,38.1333,181.753,-76.0113],[1945.25,-0.450202,37.55,177.635,-75.5635],[1919.32,98.6538,36.9667,173.463,-75.0905],[1892.43,197.89,36.3667,169.117,-74.5756],[1863.84,299.625,35.7333,164.474,-73.9978],[1835.01,398.218,35.1,159.774,-73.3814],[1804.43,498.553,34.4333,154.77,-72.6864],[1772.83,597.672,33.75,149.585,-71.9194],[1738.65,699.786,33.0167,143.963,-71.0275],[1703.41,799.592,32.2667,138.159,-70.0318],[1666.3,898.761,31.4833,132.048,-68.8888],[1626.51,998.483,30.65,125.506,-67.5394],[1583.18,1099.39,29.75,118.411,-65.9007],[1536.24,1199.8,28.7833,110.787,-63.8899],[1484.83,1299.36,27.7333,102.547,-61.3463],[1426.39,1399.53,26.55,93.3903,-57.9153],[1358.28,1499.09,25.1833,83.1483,-52.9814],[1271.9,1599.29,23.4667,71.2099,-44.7575],[1134.46,1699.89,20.7667,56.6318,-25.2402],[1007.47,1730.03,18.3,51.7383,-0.089489]]], - [74,1747.66,[[2222.65,-2001.15,47.45,238.749,-81.3653],[2207.66,-1903.26,47.0333,236.493,-81.216],[2191.95,-1802.5,46.6,234.113,-81.0566],[2176.12,-1702.8,46.1667,231.697,-80.8926],[2159.56,-1600.42,45.7167,229.151,-80.7172],[2143.48,-1502.95,45.2833,226.664,-80.5433],[2126.66,-1402.92,44.8333,224.044,-80.3571],[2109.08,-1300.48,44.3667,221.287,-80.1578],[2092,-1202.97,43.9167,218.59,-79.9594],[2074.14,-1103.19,43.45,215.753,-79.7466],[2055.51,-1001.29,42.9667,212.772,-79.5185],[2036.73,-900.895,42.4833,209.747,-79.282],[2017.81,-802.026,42,206.68,-79.0367],[1998.08,-701.378,41.5,203.461,-78.7731],[1978.2,-602.411,41,200.198,-78.4988],[1957.5,-501.939,40.4833,196.777,-78.2035],[1935.96,-400.168,39.95,193.197,-77.8851],[1914.26,-300.399,39.4167,189.567,-77.552],[1892.38,-202.663,38.8833,185.887,-77.2032],[1868.96,-101.079,38.3167,181.924,-76.8139],[1845.36,-1.86018,37.75,177.908,-76.4041],[1820.87,97.7698,37.1667,173.719,-75.9588],[1795.48,197.553,36.5667,169.355,-75.4739],[1768.47,299.87,35.9333,164.689,-74.9298],[1741.25,399.051,35.3,159.964,-74.3491],[1713.09,497.53,34.65,155.058,-73.7111],[1682.53,599.776,33.95,149.712,-72.9712],[1651.72,698.013,33.25,144.309,-72.1699],[1618.45,798.751,32.5,138.462,-71.2342],[1583.42,898.902,31.7167,132.299,-70.1595],[1545.85,999.68,30.8833,125.693,-68.8898],[1505.7,1099.91,30,118.652,-67.3769],[1462.93,1198.34,29.0667,111.193,-65.5549],[1414.41,1299.74,28.0167,102.818,-63.1695],[1360.81,1399.3,26.8667,93.7349,-60.0432],[1298.12,1499.44,25.5333,83.4561,-55.536],[1220.61,1599.38,23.9,71.5724,-48.2258],[1106.29,1699.59,21.5167,57.065,-32.3001],[955.014,1747.66,18.4,48.8263,-0.140422]]], - [75,1764.34,[[2096.59,-2000.84,47.6,238.903,-81.883],[2082.49,-1902.75,47.1833,236.643,-81.7428],[2067.7,-1801.78,46.75,234.259,-81.5929],[2052.81,-1701.87,46.3167,231.84,-81.4388],[2037.8,-1603.05,45.8833,229.385,-81.2802],[2022.09,-1501.6,45.4333,226.798,-81.1105],[2006.26,-1401.35,44.9833,224.173,-80.9355],[1990.31,-1302.32,44.5333,221.509,-80.755],[1973.64,-1200.94,44.0667,218.707,-80.5616],[1956.84,-1100.92,43.6,215.863,-80.3616],[1939.91,-1002.27,43.1333,212.979,-80.1547],[1922.24,-901.576,42.65,209.948,-79.9326],[1904.44,-802.402,42.1667,206.873,-79.7022],[1885.88,-701.435,41.6667,203.647,-79.4546],[1867.17,-602.147,41.1667,200.375,-79.197],[1847.7,-501.34,40.65,196.945,-78.9196],[1828.07,-402.38,40.1333,193.467,-78.6301],[1807.65,-302.196,39.6,189.827,-78.3177],[1786.43,-201.005,39.05,186.02,-77.9799],[1765.04,-102.005,38.5,182.16,-77.6253],[1742.84,-2.33017,37.9333,178.13,-77.2407],[1719.8,97.7734,37.35,173.924,-76.8229],[1695.92,198.048,36.75,169.541,-76.3678],[1671.18,298.223,36.1333,164.978,-75.8708],[1645.58,398.016,35.5,160.231,-75.3265],[1618.42,499.627,34.8333,155.171,-74.7125],[1591.04,597.662,34.1667,150.051,-74.0518],[1561.37,699.001,33.45,144.484,-73.2829],[1530.78,798.288,32.7167,138.726,-72.4251],[1497.83,899.344,31.9333,132.515,-71.418],[1463.21,999.117,31.1167,125.983,-70.2526],[1426.17,1098.67,30.25,119.003,-68.8642],[1385.96,1198.48,29.3167,111.454,-67.1603],[1341.07,1299.9,28.2833,103.091,-64.9645],[1291.42,1399.99,27.15,93.9729,-62.0835],[1234.71,1499.02,25.8667,83.8289,-58.0356],[1164.11,1599.96,24.2833,71.8569,-51.4365],[1066.53,1699.44,22.1167,57.4839,-38.0448],[900.87,1764.34,18.4833,45.896,-0.0596212]]], - [76,1780.06,[[1968.59,-2002.71,47.75,239.096,-82.4066],[1954.85,-1900.51,47.3167,236.743,-82.2702],[1941.53,-1803.24,46.9,234.447,-82.1354],[1927.58,-1703.11,46.4667,232.025,-81.9912],[1912.98,-1600.29,46.0167,229.471,-81.837],[1898.81,-1502.39,45.5833,226.976,-81.6842],[1883.98,-1401.9,45.1333,224.347,-81.5205],[1869.04,-1302.64,44.6833,221.679,-81.3517],[1853.42,-1201.02,44.2167,218.872,-81.1708],[1837.69,-1100.74,43.75,216.023,-80.9838],[1821.83,-1001.84,43.2833,213.132,-80.7902],[1805.28,-900.885,42.8,210.095,-80.5825],[1788.61,-801.445,42.3167,207.013,-80.367],[1771.22,-700.2,41.8167,203.779,-80.1354],[1753.7,-600.631,41.3167,200.498,-79.8944],[1736.04,-502.764,40.8167,197.171,-79.6434],[1717.07,-400.277,40.2833,193.57,-79.364],[1698.54,-302.894,39.7667,190.033,-79.081],[1678.67,-201.318,39.2167,186.215,-78.7653],[1658.64,-101.928,38.6667,182.343,-78.4339],[1637.84,-1.84762,38.1,178.298,-78.0744],[1616.27,98.6773,37.5167,174.077,-77.6838],[1593.9,199.389,36.9167,169.676,-77.2583],[1571.37,297.338,36.3167,165.217,-76.8065],[1547.39,397.684,35.6833,160.449,-76.2982],[1521.96,499.882,35.0167,155.364,-75.7249],[1496.32,598.511,34.35,150.216,-75.1076],[1469.19,698.17,33.65,144.746,-74.4064],[1440.55,798.224,32.9167,138.951,-73.6061],[1410.36,897.994,32.15,132.828,-72.6871],[1377.95,998.755,31.3333,126.242,-71.6009],[1343.28,1099.36,30.4667,119.197,-70.3061],[1306.31,1198.59,29.55,111.7,-68.7457],[1264.97,1299.87,28.5333,103.362,-66.7335],[1219.88,1398.89,27.4333,94.3628,-64.1346],[1167.51,1499.12,26.1667,84.1253,-60.4254],[1104.25,1599.41,24.65,72.268,-54.5694],[1018.62,1699.58,22.6167,57.845,-42.985],[845.909,1780.06,18.5667,42.9454,-0.0383483]]], - [77,1794.8,[[1838.18,-2002.86,47.8833,239.239,-82.9307],[1825.37,-1900.48,47.45,236.883,-82.8037],[1812.96,-1803.02,47.0333,234.584,-82.6782],[1799.96,-1702.71,46.6,232.159,-82.544],[1786.86,-1603.48,46.1667,229.697,-82.4059],[1773.14,-1501.6,45.7167,227.102,-82.2582],[1759.33,-1400.92,45.2667,224.469,-82.1059],[1745.4,-1301.45,44.8167,221.796,-81.9487],[1731.37,-1203.23,44.3667,219.085,-81.7864],[1716.71,-1102.69,43.9,216.231,-81.6125],[1701.41,-1000.01,43.4167,213.232,-81.426],[1686.52,-902.293,42.95,210.294,-81.2394],[1670.98,-802.573,42.4667,207.206,-81.0389],[1654.78,-701.035,41.9667,203.966,-80.8235],[1638.46,-601.17,41.4667,200.677,-80.5994],[1622.01,-503.004,40.9667,197.342,-80.366],[1604.33,-400.195,40.4333,193.733,-80.1061],[1587.07,-302.497,39.9167,190.186,-79.8428],[1568.55,-200.582,39.3667,186.356,-79.5492],[1549.89,-100.851,38.8167,182.472,-79.2408],[1530.51,-0.415376,38.25,178.414,-78.9063],[1510.99,97.6315,37.6833,174.299,-78.5535],[1490.15,198.803,37.0833,169.883,-78.1581],[1468.57,299.909,36.4667,165.281,-77.7262],[1446.82,398.055,35.85,160.617,-77.2658],[1423.72,498.254,35.2,155.638,-76.7465],[1399.24,599.937,34.5167,150.335,-76.1586],[1374.58,697.819,33.8333,144.966,-75.5225],[1347.9,798.568,33.1,139.135,-74.7792],[1319.78,899.072,32.3333,132.971,-73.9253],[1290.21,998.606,31.5333,126.47,-72.9372],[1258.55,1098.3,30.6833,119.5,-71.7597],[1224.12,1198.69,29.7667,111.928,-70.3133],[1186.26,1299.67,28.7667,103.627,-68.4789],[1144.91,1398.85,27.6833,94.6311,-66.1089],[1096.8,1499.89,26.4333,84.3283,-62.7196],[1039.86,1599.84,24.9667,72.5303,-57.4821],[964.766,1699.72,23.05,58.1899,-47.4359],[790.145,1794.8,18.65,39.975,-0.0907766]]], - [78,1808.53,[[1705.51,-2001.31,48,239.332,-83.4558],[1694.11,-1902.7,47.5833,237.065,-83.3428],[1682.15,-1801.17,47.15,234.672,-83.2221],[1670.11,-1700.7,46.7167,232.242,-83.0979],[1657.97,-1601.32,46.2833,229.776,-82.97],[1645.74,-1503.02,45.85,227.274,-82.8384],[1632.94,-1402.13,45.4,224.637,-82.6975],[1620.04,-1302.45,44.95,221.961,-82.5522],[1606.57,-1200.39,44.4833,219.144,-82.3965],[1593.47,-1103.25,44.0333,216.388,-82.2412],[1579.3,-1000.33,43.55,213.384,-82.0687],[1565.51,-902.378,43.0833,210.44,-81.8962],[1551.11,-802.416,42.6,207.347,-81.7108],[1536.11,-700.626,42.1,204.099,-81.5116],[1520.99,-600.506,41.6,200.804,-81.3042],[1505.76,-502.082,41.1,197.461,-81.0883],[1489.89,-402.186,40.5833,193.956,-80.8555],[1473.39,-301.026,40.05,190.286,-80.6042],[1456.76,-201.885,39.5167,186.562,-80.341],[1439.48,-101.792,38.9667,182.668,-80.056],[1421.54,-0.981316,38.4,178.598,-79.747],[1403.46,97.4447,37.8333,174.47,-79.4209],[1384.16,199.021,37.2333,170.039,-79.0554],[1364.72,297.843,36.6333,165.545,-78.6673],[1344.04,399.119,36,160.737,-78.2305],[1322.65,499.769,35.35,155.736,-77.7503],[1300.53,599.484,34.6833,150.538,-77.2202],[1277.69,697.942,34,145.142,-76.6328],[1252.99,799.316,33.2667,139.279,-75.9461],[1227.53,898.332,32.5167,133.211,-75.1749],[1200.15,998.674,31.7167,126.666,-74.2632],[1170.84,1099.23,30.8667,119.64,-73.1761],[1139.55,1198.79,29.9667,112.137,-71.8656],[1105.09,1299.33,28.9833,103.885,-70.2032],[1066.82,1399.97,27.9,94.7674,-68.0184],[1024.08,1498.88,26.7,84.7021,-65.0253],[972.596,1599.43,25.2667,72.8778,-60.3345],[906.158,1699.69,23.4333,58.5391,-51.5521],[781.588,1799.95,20.0333,39.0338,-19.2623],[733.596,1808.53,18.7333,36.9859,-0.236132]]], - [79,1821.25,[[1571.14,-2002.02,48.1167,239.467,-83.9867],[1560.65,-1903.25,47.7,237.197,-83.8829],[1549.66,-1801.55,47.2667,234.802,-83.7719],[1538.58,-1700.92,46.8333,232.369,-83.6578],[1527.42,-1601.36,46.4,229.9,-83.5404],[1516.17,-1502.9,45.9667,227.395,-83.4195],[1504.4,-1401.82,45.5167,224.755,-83.29],[1492.54,-1301.97,45.0667,222.075,-83.1564],[1480.59,-1203.34,44.6167,219.355,-83.0186],[1468.1,-1102.39,44.15,216.493,-82.8708],[1455.51,-1002.8,43.6833,213.587,-82.7178],[1442.38,-901.123,43.2,210.534,-82.5536],[1429.14,-800.958,42.7167,207.434,-82.3833],[1415.81,-702.327,42.2333,204.289,-82.2064],[1401.9,-601.937,41.7333,200.988,-82.0162],[1387.89,-503.24,41.2333,197.639,-81.8179],[1373.31,-403.058,40.7167,194.127,-81.6043],[1358.13,-301.6,40.1833,190.448,-81.3736],[1342.84,-202.159,39.65,186.716,-81.132],[1326.95,-101.753,39.1,182.812,-80.8703],[1310.45,-0.61657,38.5333,178.73,-80.5866],[1293.83,98.1381,37.9667,174.59,-80.2871],[1276.58,197.272,37.3833,170.269,-79.9611],[1258.21,299.242,36.7667,165.635,-79.595],[1239.69,398.26,36.15,160.936,-79.2047],[1220.02,499.388,35.5,155.916,-78.7642],[1199.69,599.597,34.8333,150.696,-78.278],[1178.69,698.566,34.15,145.275,-77.7389],[1156.5,798.226,33.4333,139.516,-77.1236],[1133.09,897.919,32.6833,133.414,-76.4169],[1107.93,998.989,31.8833,126.828,-75.5812],[1081.51,1098.4,31.05,119.891,-74.6048],[1052.75,1198.93,30.15,112.325,-73.4047],[1021.61,1298.88,29.1833,104.133,-71.9089],[986.983,1399.39,28.1167,95.047,-69.9425],[947.704,1499.99,26.9167,84.8246,-67.2042],[902.049,1599.32,25.5333,73.1624,-63.0675],[843.239,1699.87,23.7667,58.8283,-55.3687],[745.738,1799.9,20.8667,39.4397,-31.0482],[675.707,1821.24,18.8,33.9797,-0.223872]]], - [80,1832.91,[[1434.77,-2001.05,48.2167,239.553,-84.5188],[1425.2,-1902.15,47.8,237.281,-84.4242],[1415.18,-1800.32,47.3667,234.882,-84.3231],[1405.46,-1703.41,46.95,232.541,-84.2231],[1395.28,-1603.67,46.5167,230.07,-84.1162],[1384.63,-1501.25,46.0667,227.466,-84.0018],[1373.89,-1400.03,45.6167,224.821,-83.8838],[1363.07,-1300.03,45.1667,222.137,-83.7621],[1352.17,-1201.25,44.7167,219.413,-83.6364],[1340.78,-1100.14,44.25,216.545,-83.5016],[1329.3,-1000.4,43.7833,213.635,-83.3622],[1317.74,-902.046,43.3167,210.681,-83.2177],[1305.67,-801.662,42.8333,207.577,-83.0627],[1293.5,-702.812,42.35,204.427,-82.9016],[1280.82,-602.191,41.85,201.12,-82.7283],[1268.05,-503.261,41.35,197.764,-82.5478],[1254.75,-402.838,40.8333,194.245,-82.3531],[1240.91,-301.127,40.3,190.559,-82.1431],[1226.97,-201.43,39.7667,186.818,-81.923],[1212.47,-100.759,39.2167,182.904,-81.6846],[1197.87,-2.29549,38.6667,178.932,-81.4339],[1182.27,99.6867,38.0833,174.659,-81.1533],[1166.54,199.11,37.5,170.324,-80.8562],[1150.24,298.662,36.9,165.802,-80.5318],[1133.35,398.072,36.2833,161.088,-80.1766],[1115.42,499.616,35.6333,156.049,-79.7757],[1097.35,597.784,34.9833,150.941,-79.3446],[1077.74,699.671,34.2833,145.364,-78.8423],[1057.5,799.803,33.5667,139.577,-78.2818],[1036.16,899.993,32.8167,133.443,-77.6379],[1013.7,999.538,32.0333,126.956,-76.8928],[989.611,1099.63,31.2,119.973,-76.0042],[963.881,1199.1,30.3167,112.491,-74.9329],[935.502,1300,29.35,104.226,-73.5727],[904.925,1398.54,28.3167,95.3291,-71.8432],[869.629,1499.38,27.1333,85.1094,-69.3982],[828.53,1599.64,25.7667,73.3668,-65.6978],[776.975,1699.74,24.0667,59.1401,-59.0078],[696.88,1799.61,21.45,39.8928,-39.5728],[616.651,1832.91,18.85,30.957,-0.00989196]]], - [81,1843.52,[[1296.88,-2002.4,48.3167,239.681,-85.0562],[1288.24,-1903.36,47.9,237.407,-84.9709],[1279.19,-1801.39,47.4667,235.006,-84.8797],[1270.07,-1700.47,47.0333,232.569,-84.7859],[1260.87,-1600.63,46.6,230.095,-84.6894],[1251.61,-1501.87,46.1667,227.583,-84.59],[1241.92,-1400.49,45.7167,224.936,-84.4836],[1232.15,-1300.33,45.2667,222.249,-84.3738],[1222.31,-1201.39,44.8167,219.521,-84.2604],[1212.03,-1100.12,44.35,216.65,-84.1389],[1201.67,-1000.2,43.8833,213.735,-84.0132],[1191.23,-901.676,43.4167,210.778,-83.8829],[1180.33,-801.112,42.9333,207.669,-83.743],[1169.35,-702.08,42.45,204.513,-83.5977],[1157.91,-601.27,41.95,201.2,-83.4414],[1146.37,-502.149,41.45,197.838,-83.2786],[1134.37,-401.526,40.9333,194.312,-83.103],[1122.27,-302.762,40.4167,190.734,-82.9196],[1109.68,-202.792,39.8833,186.986,-82.7213],[1096.6,-101.836,39.3333,183.064,-82.5065],[1083.02,-0.127699,38.7667,178.963,-82.2736],[1069.34,99.2046,38.2,174.801,-82.0278],[1055.14,198.938,37.6167,170.455,-81.76],[1040.43,298.814,37.0167,165.92,-81.4677],[1025.19,398.559,36.4,161.192,-81.1476],[1009.42,497.888,35.7667,156.267,-80.7957],[992.695,598.986,35.1,151.009,-80.3975],[975.416,698.874,34.4167,145.544,-79.9557],[957.155,799.509,33.7,139.734,-79.451],[938.325,898.042,32.9667,133.709,-78.8847],[918.055,998.258,32.1833,127.19,-78.215],[896.324,1099.07,31.35,120.167,-77.416],[873.108,1199.31,30.4667,112.635,-76.4521],[847.944,1299.38,29.5167,104.449,-75.2501],[820.357,1399,28.4833,95.4661,-73.6954],[788.963,1499.73,27.3167,85.2678,-71.528],[752.795,1599.37,25.9833,73.621,-68.2893],[707.667,1699.46,24.3333,59.4456,-62.4867],[640.059,1799.93,21.8833,40.1703,-46.3757],[557.523,1843.52,18.9167,27.9166,-0.200276]]], - [82,1853.06,[[1157.23,-2002.1,48.4,239.761,-85.5952],[1149.53,-1902.95,47.9833,237.485,-85.5192],[1141.46,-1800.86,47.55,235.082,-85.4379],[1133.64,-1703.69,47.1333,232.737,-85.3576],[1125.44,-1603.68,46.7,230.261,-85.2717],[1116.87,-1500.99,46.25,227.651,-85.1798],[1108.55,-1403.22,45.8167,225.1,-85.0885],[1099.85,-1302.89,45.3667,222.411,-84.9908],[1090.75,-1200.13,44.9,219.579,-84.8861],[1081.91,-1102.32,44.45,216.807,-84.7818],[1072.67,-1002.22,43.9833,213.89,-84.6699],[1063.03,-900.008,43.5,210.823,-84.5498],[1053.66,-802.75,43.0333,207.817,-84.4294],[1043.53,-700.127,42.5333,204.548,-84.2956],[1033.67,-602.506,42.05,201.341,-84.161],[1023.39,-503.177,41.55,197.974,-84.0161],[1012.69,-402.338,41.0333,194.442,-83.8598],[1001.55,-300.194,40.5,190.742,-83.6911],[990.332,-200.06,39.9667,186.986,-83.5143],[979.027,-101.965,39.4333,183.174,-83.3288],[966.922,-0.0100608,38.8667,179.064,-83.1214],[954.725,99.5713,38.3,174.893,-82.9025],[942.072,199.564,37.7167,170.537,-82.6641],[928.958,299.708,37.1167,165.99,-82.4038],[915.377,399.731,36.5,161.248,-82.1187],[901.321,499.348,35.8667,156.308,-81.8053],[886.785,598.261,35.2167,151.165,-81.4596],[871.387,698.559,34.5333,145.682,-81.0667],[855.112,799.626,33.8167,139.851,-80.6178],[838.331,898.608,33.0833,133.801,-80.1138],[820.267,999.306,32.3,127.251,-79.5176],[801.288,1098.67,31.4833,120.332,-78.8212],[780.601,1199.59,30.6,112.756,-77.9644],[758.572,1298.7,29.6667,104.657,-76.9154],[733.993,1399.29,28.6333,95.5987,-75.5349],[706.422,1499.75,27.4833,85.4391,-73.638],[674.605,1599.71,26.1667,73.7725,-70.8007],[635.627,1699.19,24.5667,59.7199,-65.8244],[578.704,1799.79,22.25,40.5247,-52.4954],[497.362,1853.06,18.9667,24.861,-0.191053]]], - [83,1861.51,[[1015.99,-2000.15,48.4667,239.793,-86.136],[1009.23,-1900.92,48.05,237.515,-86.0694],[1002.43,-1802.66,47.6333,235.203,-86.0009],[995.292,-1701.49,47.2,232.761,-85.9277],[988.103,-1601.4,46.7667,230.283,-85.8522],[980.859,-1502.4,46.3333,227.767,-85.7746],[973.279,-1400.76,45.8833,225.115,-85.6916],[965.64,-1300.33,45.4333,222.422,-85.6058],[957.944,-1201.13,44.9833,219.689,-85.5173],[950.189,-1103.18,44.5333,216.914,-85.4258],[942.087,-1002.93,44.0667,213.994,-85.3277],[933.63,-900.565,43.5833,210.924,-85.2224],[925.402,-803.156,43.1167,207.915,-85.1171],[916.52,-700.371,42.6167,204.642,-84.9997],[907.868,-602.59,42.1333,201.43,-84.8817],[898.85,-503.096,41.6333,198.058,-84.7547],[889.46,-402.084,41.1167,194.522,-84.6177],[879.998,-302.926,40.6,190.932,-84.4745],[870.156,-202.546,40.0667,187.171,-84.3198],[859.929,-101.164,39.5167,183.234,-84.1522],[849.623,-1.98208,38.9667,179.238,-83.9759],[838.924,97.8686,38.4,175.06,-83.7843],[827.826,198.141,37.8167,170.695,-83.5756],[816.324,298.576,37.2167,166.139,-83.3476],[804.41,398.901,36.6,161.387,-83.0979],[792.082,498.832,35.9667,156.435,-82.8235],[779.331,598.07,35.3167,151.278,-82.5208],[765.824,698.712,34.6333,145.779,-82.1766],[751.882,797.834,33.9333,140.064,-81.7929],[736.829,899.502,33.1833,133.855,-81.3417],[721.322,998.508,32.4167,127.418,-80.8308],[704.677,1098.42,31.6,120.469,-80.2214],[686.533,1199.93,30.7167,112.852,-79.4715],[667.213,1299.67,29.7833,104.704,-78.5527],[646.005,1399.41,28.7667,95.7258,-77.3637],[622.179,1499.46,27.6333,85.6215,-75.7301],[594.633,1599.57,26.3333,73.9607,-73.2856],[560.815,1699.99,24.75,59.7948,-68.9857],[513.433,1799.71,22.55,40.8229,-58.0174],[436.705,1861.5,19.0167,21.7909,-0.330502]]], - [84,1868.86,[[873.597,-2000.56,48.5333,239.868,-86.6815],[867.791,-1901.24,48.1167,237.589,-86.6242],[861.94,-1802.88,47.7,235.275,-86.5654],[855.81,-1701.62,47.2667,232.832,-86.5025],[849.632,-1601.43,46.8333,230.352,-86.4377],[843.408,-1502.33,46.4,227.834,-86.3711],[836.894,-1400.59,45.95,225.18,-86.2997],[830.331,-1300.05,45.5,222.484,-86.2261],[823.717,-1200.75,45.05,219.748,-86.1501],[817.054,-1102.69,44.6,216.971,-86.0716],[810.091,-1002.33,44.1333,214.048,-85.9873],[803.076,-903.355,43.6667,211.081,-85.9],[795.754,-802.324,43.1833,207.962,-85.8063],[788.377,-702.819,42.7,204.795,-85.709],[780.687,-601.515,42.2,201.469,-85.6042],[772.937,-501.895,41.7,198.092,-85.4952],[764.869,-400.752,41.1833,194.55,-85.3775],[756.738,-301.463,40.6667,190.955,-85.2545],[748.281,-200.946,40.1333,187.188,-85.1215],[739.76,-102.466,39.6,183.364,-84.9819],[730.636,-0.0964174,39.0333,179.241,-84.826],[721.442,99.9032,38.4667,175.054,-84.6613],[712.179,197.497,37.9,170.806,-84.4872],[702.297,298.168,37.3,166.241,-84.2916],[692.062,398.739,36.6833,161.48,-84.0774],[681.47,498.925,36.05,156.516,-83.8419],[670.516,598.426,35.4,151.347,-83.582],[658.911,699.348,34.7167,145.833,-83.2866],[646.933,798.759,34.0167,140.102,-82.9572],[634.288,898.525,33.2833,134.011,-82.5787],[620.968,997.962,32.5167,127.553,-82.1408],[606.67,1098.33,31.7,120.576,-81.6184],[591.379,1198.49,30.8333,113.071,-80.9882],[574.785,1298.91,29.9,104.88,-80.2019],[556.569,1399.39,28.8833,95.8465,-79.1836],[536.407,1498.89,27.7667,85.813,-77.8062],[513.054,1598.96,26.4833,74.1822,-75.7446],[484.626,1699.17,24.9333,60.0975,-72.16],[445.178,1799.54,22.8,41.1046,-63.1545],[375.261,1868.86,19.05,18.7072,-0.191539]]], - [85,1875.1,[[730.118,-2003.35,48.6,239.987,-87.2307],[725.269,-1903.93,48.1833,237.707,-87.1829],[720.187,-1801.55,47.75,235.3,-87.1319],[715.066,-1700.23,47.3167,232.855,-87.0793],[710.105,-1603.81,46.9,230.469,-87.0273],[704.707,-1500.8,46.45,227.852,-86.9696],[699.468,-1402.74,46.0167,225.295,-86.9122],[693.987,-1302.09,45.5667,222.598,-86.8508],[688.464,-1202.66,45.1167,219.861,-86.7874],[682.693,-1100.87,44.65,216.979,-86.7194],[676.877,-1000.44,44.1833,214.053,-86.649],[671.016,-901.388,43.7167,211.082,-86.5762],[664.901,-800.277,43.2333,207.959,-86.4979],[658.738,-700.692,42.75,204.788,-86.4165],[652.529,-602.657,42.2667,201.569,-86.332],[646.058,-502.896,41.7667,198.19,-86.2409],[639.319,-401.606,41.25,194.645,-86.1427],[632.529,-302.169,40.7333,191.046,-86.0402],[625.467,-201.497,40.2,187.274,-85.9293],[618.351,-102.86,39.6667,183.446,-85.8129],[610.732,-0.32286,39.1,179.317,-85.6826],[603.054,99.8461,38.5333,175.124,-85.5453],[595.318,197.611,37.9667,170.87,-85.4],[587.065,298.465,37.3667,166.297,-85.2368],[578.518,399.226,36.75,161.527,-85.058],[569.672,499.607,36.1167,156.554,-84.8614],[560.523,599.312,35.4667,151.373,-84.6445],[551.07,698.028,34.8,145.982,-84.404],[541.068,797.758,34.1,140.238,-84.1295],[530.51,897.861,33.3667,134.132,-83.8141],[519.144,999.768,32.5833,127.513,-83.4407],[507.448,1098.41,31.7833,120.655,-83.0135],[494.68,1198.97,30.9167,113.121,-82.4879],[480.824,1299.84,29.9833,104.894,-81.8317],[465.864,1399.23,28.9833,95.9606,-80.9966],[449.03,1499.44,27.8667,85.8612,-79.8485],[429.787,1599.13,26.6,74.282,-78.1531],[406.31,1699.62,25.0667,60.1711,-75.2011],[374.414,1799.52,23,41.3098,-67.9748],[313.464,1875.1,19.0833,15.6111,-0.213053]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 610.732; -_maxRange = 3507.6; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg0.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg0.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg1.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg1.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg2.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg2.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg3.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg3.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg4.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/60mm/tables/ace_arty_60mm_genericBtab_LA_chg4.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/CfgAmmo.hpp b/TO_MERGE/ace/arty_ammunition/81mm/CfgAmmo.hpp deleted file mode 100644 index 0c040219ed..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/CfgAmmo.hpp +++ /dev/null @@ -1,96 +0,0 @@ -class ace_arty_howitzer_81mm_base : ace_arty_howitzer_base { - whistleDist = 1500; -}; - -class ace_arty_81mm_m821a2_m734_pd: ace_arty_howitzer_81mm_base { - hit = 160; - indirectHit = 30; - indirectHitRange = 15; // ~34m lethal diameter - typicalSpeed = 800; - timeToLive = 500; - explosive = 1; - cost = 200; - //model = "\x\ace\addons\sys_arty_ammunition\81mm\ace_arty_m821a2_shell.p3d"; - model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - airFriction = -0.0000758; - CraterEffects = "ArtyShellCrater"; - ExplosionEffects = "ArtyShellExplosion"; - muzzleEffect = "BIS_Effects_HeavyCaliber"; - caliber = 6; -}; - -class ace_arty_81mm_m821a2_m734_prox: ace_arty_81mm_m821a2_m734_pd { - CraterEffects = ""; - ExplosionEffects = ""; - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m734\fuze_prox.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_81mm_m821a2_explosion"; -}; -class ace_arty_81mm_m821a2_m734_nsb: ace_arty_81mm_m821a2_m734_prox { - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m734\fuze_nsb.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_81mm_m821a2_explosion"; -}; - -class ace_arty_81mm_m821a2_m734_delay: ace_arty_81mm_m821a2_m734_prox { - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m734\fuze_delay.sqf"; - soundHit[] = {"",0,1,0}; - ACE_FRAG_SKIP = 1; -}; -class ace_arty_81mm_m821a2_explosion : ace_arty_howitzer_81mm_base { - hit = 160; - indirectHit = 30; - indirectHitRange = 15; // Lethal bursting area ~17m radius (Arma=radius) - - explosionTime = 0.0001; - //model = "\x\ace\addons\sys_arty_ammunition\60mm\ace_arty_m821a2_shell.p3d"; // Add model or : No shape for ammo type ace_arty_105mm_m1_explosion - model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - CraterEffects = "ArtyShellCrater"; - ExplosionEffects = "ArtyShellExplosion"; -}; - -class ace_arty_81mm_m821a2_delay_action: ace_arty_81mm_m821a2_m734_pd { - explosionTime = 0.05; - deflecting=65; -}; -class ace_arty_81mm_m853a1_m772_time: ace_arty_howitzer_81mm_base { - hit = 5; - indirecthit = 0; - indirecthitrange = 0; - typicalSpeed = 300; - timeToLive = 500; - explosive = 0.01; - cost = 300; - //model = "\x\ace\addons\sys_arty_ammunition\81mm\ace_arty_m853a1_shell.p3d"; - model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "GrenadeExplosion"; - caliber = 6; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 500; - ACE_ARTY_BASEEJECT_COMPENSATE = 0; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.25; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\m772\fuze_time.sqf"; - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\81mm\eject_illum.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; -class ace_arty_81mm_m375a3_m524_pd : ace_arty_howitzer_81mm_base { - hit = 110; - indirecthit = 25; - indirecthitrange = 7; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - //model = "\x\ace\addons\sys_arty_ammunition\81mm\ace_arty_m375a3_shell.p3d"; - model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "ace_arty_WPExplosion"; - caliber = 6; -}; - -class ace_arty_81mm_m853a1_m772_flare :FlareBase { - model="\ca\Weapons\granat"; - lightColor[] = {0.8, 0.8, 0.8, 0}; - deflecting=65; -}; diff --git a/TO_MERGE/ace/arty_ammunition/81mm/CfgMagazines.hpp b/TO_MERGE/ace/arty_ammunition/81mm/CfgMagazines.hpp deleted file mode 100644 index cae7107596..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/CfgMagazines.hpp +++ /dev/null @@ -1,135 +0,0 @@ -class ace_arty_81mm_default : ace_arty_howitzer_default { - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\81mm\tables\ace_arty_81mm_genericBtab_%1_chg%2.sqf"; // 1 = angle (LA/HA) 2 = chg# - ACE_ARTY_BTABS_KEY = "ace_arty_81mm_genericBtab_%1_chg%2"; - scope = 2; - ACE_Weight = 4.5; -}; - -class ace_arty_81mm_m821a2: ace_arty_81mm_default { - scope = 1; - type = 0; - displayName = "81mm M821A2 HE"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_81mm_m821a2_m734_%1_chg%2"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\81mm\data\images\m821a2_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\81mm\data\images\m821a2.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m821a2_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd", "prox", "nsb","delay"}; - ACE_ARTY_FUZE_DESC[] = {"Impact Burst", "Proximity Burst", "Near-Surface Burst", "Delay"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_81mm_m821a2_m734_pd", "ace_arty_81mm_m821a2_m734_prox", "ace_arty_81mm_m821a2_m734_nsb" ,"ace_arty_81mm_m821a2_m734_delay"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "HE"; - ACE_Weight = 4.5; -}; -//IMP -class ace_arty_81mm_m821a2_m734_pd_chg0: ace_arty_howitzer_mag { - displayName = "81mm M821A2 IMP 0"; - ammo = "ace_arty_81mm_m821a2_m734_pd"; - initSpeed = 65.532; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_81mm_m821a2"; - ACE_Weight = 4.5; -}; -class ace_arty_81mm_m821a2_m734_pd_chg1: ace_arty_81mm_m821a2_m734_pd_chg0 { initSpeed = 133.5; displayName = "81mm M821A2 IMP +1"; }; -class ace_arty_81mm_m821a2_m734_pd_chg2: ace_arty_81mm_m821a2_m734_pd_chg0 { initSpeed = 185.3184; displayName = "81mm M821A2 IMP +2"; }; -class ace_arty_81mm_m821a2_m734_pd_chg3: ace_arty_81mm_m821a2_m734_pd_chg0 { initSpeed = 228.6; displayName = "81mm M821A2 IMP +3"; }; -class ace_arty_81mm_m821a2_m734_pd_chg4: ace_arty_81mm_m821a2_m734_pd_chg0 { initSpeed = 267.9192; displayName = "81mm M821A2 IMP +4"; }; -//PRX -class ace_arty_81mm_m821a2_m734_prox_chg0 : ace_arty_howitzer_mag { - displayName = "81mm M821A2 PRX 0"; - ammo = "ace_arty_81mm_m821a2_m734_prox"; - initSpeed = 65.532; - ACE_Weight = 4.5; -}; -class ace_arty_81mm_m821a2_m734_prox_chg1 : ace_arty_81mm_m821a2_m734_prox_chg0 { initSpeed = 133.5; displayName = "81mm M821A2 PRX +1"; }; -class ace_arty_81mm_m821a2_m734_prox_chg2 : ace_arty_81mm_m821a2_m734_prox_chg0 { initSpeed = 185.3184; displayName = "81mm M821A2 PRX +2"; }; -class ace_arty_81mm_m821a2_m734_prox_chg3 : ace_arty_81mm_m821a2_m734_prox_chg0 { initSpeed = 228.6; displayName = "81mm M821A2 PRX +3"; }; -class ace_arty_81mm_m821a2_m734_prox_chg4 : ace_arty_81mm_m821a2_m734_prox_chg0 { initSpeed = 267.9192; displayName = "81mm M821A2 PRX +4"; }; -//DLY -class ace_arty_81mm_m821a2_m734_delay_chg0 : ace_arty_howitzer_mag { - displayName = "81mm M821A2 DLY 0"; - ammo = "ace_arty_81mm_m821a2_m734_delay"; - initSpeed = 65.532; - ACE_Weight = 4.5; -}; -class ace_arty_81mm_m821a2_m734_delay_chg1 : ace_arty_81mm_m821a2_m734_delay_chg0 { initSpeed = 133.5; displayName = "81mm M821A2 DLY +1"; }; -class ace_arty_81mm_m821a2_m734_delay_chg2 : ace_arty_81mm_m821a2_m734_delay_chg0 { initSpeed = 185.3184; displayName = "81mm M821A2 DLY +2"; }; -class ace_arty_81mm_m821a2_m734_delay_chg3 : ace_arty_81mm_m821a2_m734_delay_chg0 { initSpeed = 228.6; displayName = "81mm M821A2 DLY +3"; }; -class ace_arty_81mm_m821a2_m734_delay_chg4 : ace_arty_81mm_m821a2_m734_delay_chg0 { initSpeed = 267.9192; displayName = "81mm M821A2 DLY +4"; }; -//NSB -class ace_arty_81mm_m821a2_m734_nsb_chg0 : ace_arty_howitzer_mag { - displayName = "81mm M821A2 NSB 0"; - ammo = "ace_arty_81mm_m821a2_m734_prox"; - initSpeed = 65.532; - ACE_Weight = 4.5; -}; -class ace_arty_81mm_m821a2_m734_nsb_chg1 : ace_arty_81mm_m821a2_m734_nsb_chg0 { initSpeed = 133.5; displayName = "81mm M821A2 NSB +1"; }; -class ace_arty_81mm_m821a2_m734_nsb_chg2 : ace_arty_81mm_m821a2_m734_nsb_chg0 { initSpeed = 185.3184; displayName = "81mm M821A2 NSB +2"; }; -class ace_arty_81mm_m821a2_m734_nsb_chg3 : ace_arty_81mm_m821a2_m734_nsb_chg0 { initSpeed = 228.6; displayName = "81mm M821A2 NSB +3"; }; -class ace_arty_81mm_m821a2_m734_nsb_chg4 : ace_arty_81mm_m821a2_m734_nsb_chg0 { initSpeed = 267.9192; displayName = "81mm M821A2 NSB +4"; }; - - -// ILLUM -class ace_arty_81mm_m853a1: ace_arty_81mm_default { - scope = 1; - type = 0; - displayName = "81mm M853A1 Illumination"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_81mm_m853a1_m772_%1_chg%2"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\81mm\data\images\m821a2_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\81mm\data\images\m821a2.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m853a1_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_81mm_m853a1_m772_time"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "ILLUM"; - ACE_Weight = 4.1; -}; - -class ace_arty_81mm_m853a1_m772_time_chg0 : ace_arty_howitzer_mag { - displayName = "81mm M853A1 M772 TIME Chg. 0"; - ammo = "ace_arty_81mm_m853a1_m772_time"; - initSpeed = 65.532; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_81mm_m853a1"; - ACE_Weight = 4.1; -}; -class ace_arty_81mm_m853a1_m772_time_chg1 : ace_arty_81mm_m853a1_m772_time_chg0 { initSpeed = 133.5; displayName = "81mm M853A1 M772 TIME Chg. 1"; }; -class ace_arty_81mm_m853a1_m772_time_chg2 : ace_arty_81mm_m853a1_m772_time_chg0 { initSpeed = 185.3184; displayName = "81mm M853A1 M772 TIME Chg. 2"; }; -class ace_arty_81mm_m853a1_m772_time_chg3 : ace_arty_81mm_m853a1_m772_time_chg0 { initSpeed = 228.6; displayName = "81mm M853A1 M772 TIME Chg. 3"; }; -class ace_arty_81mm_m853a1_m772_time_chg4 : ace_arty_81mm_m853a1_m772_time_chg0 { initSpeed = 267.9192; displayName = "81mm M853A1 M772 TIME Chg. 4"; }; - -// WP -class ace_arty_81mm_m375a3 : ace_arty_81mm_default { - scope = 1; - type = 0; - displayName = "81mm M375A3 WP"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_81mm_m375a3_m524_%1_chg%2"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\81mm\data\images\m821a2_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\81mm\data\images\m821a2.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_m375a3_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd"}; - ACE_ARTY_FUZE_DESC[] = {"Point Detonate"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_81mm_m375a3_m524_pd"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 4; - ACE_ARTY_INEFFECT = "WP"; - ACE_Weight = 4.24; -}; - -class ace_arty_81mm_m375a3_m524_pd_chg0 : ace_arty_howitzer_mag { - displayName = "81mm M375A3 M524 PD Chg. 0"; - ammo = "ace_arty_81mm_m375a3_m524_pd"; - initSpeed = 65.532; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_81mm_m375a3"; - ACE_Weight = 4.24; -}; -class ace_arty_81mm_m375a3_m524_pd_chg1 : ace_arty_81mm_m375a3_m524_pd_chg0 { initSpeed = 133.5; displayName = "81mm M375A3 M524 PD Chg. 1"; }; -class ace_arty_81mm_m375a3_m524_pd_chg2 : ace_arty_81mm_m375a3_m524_pd_chg0 { initSpeed = 185.3184; displayName = "81mm M375A3 M524 PD Chg. 2"; }; -class ace_arty_81mm_m375a3_m524_pd_chg3 : ace_arty_81mm_m375a3_m524_pd_chg0 { initSpeed = 228.6; displayName = "81mm M375A3 M524 PD Chg. 3"; }; -class ace_arty_81mm_m375a3_m524_pd_chg4 : ace_arty_81mm_m375a3_m524_pd_chg0 { initSpeed = 254; displayName = "81mm M375A3 M524 PD Chg. 4"; }; diff --git a/TO_MERGE/ace/arty_ammunition/81mm/CfgVehicles.hpp b/TO_MERGE/ace/arty_ammunition/81mm/CfgVehicles.hpp deleted file mode 100644 index c676f43504..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/CfgVehicles.hpp +++ /dev/null @@ -1,77 +0,0 @@ -/* -"81mm M821A2 HE"; 4.5kg; M734A1 multioption ; MC: 0 - MC: 4; Range: 5790 -"81mm M853A1 ILLUM"; 4.1kg; M772 MTSQ fuze ; MinCharge: 1 - MaxCharge: 4; Range 4900 -"81mm M375A3 WP"; 4.24kg; M524-series PD fuze; 4 Inc (215,438,608,750,879); Range: 4595 -"81mm M819 RP"; M772 PD MTSQ fuze; MC: 0 - MC: 4; Range 4950 - -multioption type (PRX/NSB/IMP/DLY) -PRX PROXIMITY BURST -NSB NEAR SURFACE BURST -IMP IMPACT BURST -DLY DELAY BURST (1/2 sec) - -*/ - -class ace_arty_m821a2_cartridge: ACE_Arty_ShellHolder { // HE - scope = 1; - icon = "iconThing"; - mapSize = 0; // iconsize on map... small object such as a tree is 0.7 - displayName = "M821A2 HE Cartridge"; - vehicleClass = "Objects"; - nameSound = "obj_object"; - picture = "pictureThing"; - class Library {libTextDesc = "";}; - descriptionShort = ""; - destrType = "DestructTree"; - weight = 1000; - simulation = "house"; - type = 1; - model = "\x\ace\addons\sys_arty_ammunition\81mm\ace_arty_m821a2_cartridge.p3d"; - animated = 0; - reversed = 0; - class EventHandlers { - killed = "_this call ace_sys_arty_ammunition_fnc_onShellDestroyed"; - }; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_81mm_m821a2"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_81mm_m821a2_m734_pd_chg0",{0},"fnord",0,"pd"}; - ACE_Weight = 4.5; - class AnimationSources { - class hide_inc1 { - source = "user"; - initPhase = 1; - animPeriod = 0.1; - }; - class hide_inc2: hide_inc1 {}; - class hide_inc3: hide_inc1 {}; - class hide_inc4: hide_inc1 {}; - class hide_inc5: hide_inc1 {}; - class hide_inc6: hide_inc1 {}; - class hide_inc7: hide_inc1 {}; - class hide_inc8: hide_inc1 {}; - class hide_inc9: hide_inc1 {}; - class hide_inc10: hide_inc1 {}; - }; -}; - -class ace_arty_m853a1_cartridge : ace_arty_m821a2_cartridge { // ILLUM - displayName = "M853A1 Illum Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\81mm\ace_arty_m853a1_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_81mm_m853a1"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_81mm_m853a1_m772_time_chg1",{10},"fnord",1,"time"}; - ACE_Weight = 4.1; -}; - -class ace_arty_m375a3_cartridge : ace_arty_m821a2_cartridge { // SMOKE (WP) - displayName = "M375A3 WP Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\81mm\ace_arty_m375a3_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_81mm_m375a3"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_81mm_m375a3_m524_pd_chg0",{0},"fnord",0,"pd"}; - ACE_Weight = 4.24; -}; - -class ace_arty_81mm_m853a1_m772_parachute : ACE_HuntIR { - class EventHandlers { - EXTENDED_EVENTHANDLERS - }; - SLX_XEH_DISABLED = 0; -}; diff --git a/TO_MERGE/ace/arty_ammunition/81mm/XEH_illum_init.sqf b/TO_MERGE/ace/arty_ammunition/81mm/XEH_illum_init.sqf deleted file mode 100644 index 554891c526..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/XEH_illum_init.sqf +++ /dev/null @@ -1,71 +0,0 @@ -//XEH_illum_init.sqf -#define MAX_ILL 1.5 - -private["_flareChute", "_pos", "_light", "_sm", "_sp"]; - -_flareChute = _this select 0; -_pos = getPos (_flareChute); - -_light = "#lightpoint" createVehicleLocal _pos; -_light setPos _pos; -_light setLightBrightness MAX_ILL; -_light setLightAmbient[238/255, 233/255, 183/255]; -_light setLightColor[241/255, 226/255, 62/255]; -_light lightAttachObject [_flareChute, [0,0,-0.8]]; - -_sm = "#particlesource" createVehicleLocal getPos (_flareChute); -_sm setParticleRandom [0.5, [0, 0, 0], [0, 0, 0], 0, 0.3, [0, 0, 0, 0], 0, 0, 360]; -_sm setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 30, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.3,4], - [[0.9,0.9,0.9,0.6], [1,1,1,0.3], [1,1,1,0]],[1],0.1,0.1,"","",_light]; -_sm setDropInterval 0.02; - -_sp = "#particlesource" createVehicleLocal getPos (_flareChute); -_sp setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -_sp setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -_sp setDropInterval 0.001; - -// _sp2 = "#particlesource" createVehicleLocal getPos (_flareChute); -// _sp2 setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -// _sp2 setParticleParams ["\ca\Data\Flare12", - // "", "Billboard", 1, 0.1, [0, 0, 0], - // [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - // [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -// _sp2 setDropInterval 0.001; - - -//_flareChute setVectorDir _chuteVel; - -[_flareChute, _light, _sp, _sm] spawn { - private["_shell", "_light", "_sp", "_sm", "_start", "_b", "_s"]; - _shell = _this select 0; - _light = _this select 1; - _sp = _this select 2; - _sm = _this select 3; - - - _start = time; - _b = MAX_ILL; - _s = 0; - waitUntil { - if((_start + 50) < time) then { - _b = (_b - random (0.1)) max 0; - _light setLightBrightness _b; - }; - if((_start + 60) < time) then { - deleteVehicle _light; - deleteVehicle _sp; -// deleteVehicle _sp2; - deleteVehicle _sm; - }; - sleep 0.1; - (!alive _shell && (_start + 60) < time); - }; - deleteVehicle _light; - deleteVehicle _sp; - deleteVehicle _sm; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m375a3_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m375a3_cartridge.p3d deleted file mode 100644 index 0d8bcd2e30..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m375a3_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m375a3_shell.p3d b/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m375a3_shell.p3d deleted file mode 100644 index e749814721..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m375a3_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m821a2_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m821a2_cartridge.p3d deleted file mode 100644 index b9ec85d51c..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m821a2_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m821a2_shell.p3d b/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m821a2_shell.p3d deleted file mode 100644 index 17feaf2874..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m821a2_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m853a1_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m853a1_cartridge.p3d deleted file mode 100644 index 8c3243353e..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m853a1_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m853a1_shell.p3d b/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m853a1_shell.p3d deleted file mode 100644 index 9a798aa9c5..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/ace_arty_m853a1_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm.rvmat b/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm.rvmat deleted file mode 100644 index 4ee96e4b55..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm.rvmat +++ /dev/null @@ -1,91 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -//specular[]={1,1,1,1.000000}; -specular[] = {0.273158,0.3,0.27,1}; -//specularPower=40.000000; -specularPower = 100; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 { - texture="x\ace\addons\sys_arty_ammunition\81mm\data\ace_81mm_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 { - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform { - aside[]={8.0000,0.000000,0.000000}; - up[]={0.000000,8.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 { - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\81mm\data\ace_81mm_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,16,2,2)fresnel(0.45,0.35)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_co.paa b/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_co.paa deleted file mode 100644 index 2936ce2b35..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_nohq.paa b/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_nohq.paa deleted file mode 100644 index 659d44a260..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_smdi.paa b/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_smdi.paa deleted file mode 100644 index 995e47a986..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/81mm/data/ace_81mm_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/81mm/eject_illum.sqf b/TO_MERGE/ace/arty_ammunition/81mm/eject_illum.sqf deleted file mode 100644 index b94e621e95..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/eject_illum.sqf +++ /dev/null @@ -1,15 +0,0 @@ -//eject_illum.sqf -private["_shell", "_velocity", "_pos", "_flareChute", "_chuteVel"]; - -_shell = _this select 6; - -_velocity = velocity _shell; - -_pos = getPos _shell; - -_flareChute = "ace_arty_81mm_m853a1_m772_parachute" createVehicle _pos; -_flareChute setPos _pos; -_chuteVel = [_velocity,0.25] call ACE_fnc_vectorMultiply; -_flareChute setVelocity _chuteVel; - -false diff --git a/TO_MERGE/ace/arty_ammunition/81mm/model.cfg b/TO_MERGE/ace/arty_ammunition/81mm/model.cfg deleted file mode 100644 index 85f1ad435e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/model.cfg +++ /dev/null @@ -1,58 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - - class ace_mortar_shell: Default { - isDiscrete = 1; - skeletonInherit = "Default"; - skeletonBones[] = { - "inc1","", - "inc2","", - "inc3","", - "inc4","", - "inc5","", - "inc6","", - "inc7","", - "inc8","", - "inc9","", - "inc10","" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - skeletonName = ""; - }; - class ace_arty_m821a2_cartridge: Default { - skeletonName="ace_mortar_shell"; - sections[]= {}; - class animations { - #define HIDE_INC(x) class hide_inc##x { \ - type = "hide"; \ - source = "user"; \ - selection = inc##x; \ - minValue = 0; \ - maxValue = 1; \ - hideValue = 1; \ - }; - HIDE_INC(1); - HIDE_INC(2); - HIDE_INC(3); - HIDE_INC(4); - HIDE_INC(5); - HIDE_INC(6); - HIDE_INC(7); - HIDE_INC(8); - HIDE_INC(9); - HIDE_INC(10); - }; - }; - class ace_arty_m853a1_cartridge: ace_arty_m821a2_cartridge {}; - class ace_arty_m375a3_cartridge: ace_arty_m821a2_cartridge {}; -}; diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg0.sqf deleted file mode 100644 index dcd15d37f2..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg0.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_m821a2_m734_prox_chg0 -// Ammo: ace_arty_81mm_m821a2_m734_prox -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,107.69,[[1122.43,-2002.69,26.0167,191.378,-78.5564],[1101.47,-1900.57,25.4667,187.591,-78.2282],[1080.34,-1800.62,24.9167,183.75,-77.8837],[1059.05,-1702.89,24.3667,179.858,-77.5217],[1036.29,-1601.68,23.7833,175.674,-77.1169],[1012.7,-1500.25,23.1833,171.311,-76.6764],[988.924,-1401.58,22.5833,166.891,-76.2091],[963.63,-1300.45,21.95,162.165,-75.6839],[938.139,-1202.48,21.3167,157.38,-75.1226],[910.418,-1100.37,20.6333,152.153,-74.472],[882.478,-1002.05,19.95,146.865,-73.7694],[852.257,-900.821,19.2167,141.126,-72.95],[821.102,-801.94,18.4667,135.196,-72.0325],[787.606,-701.731,17.6667,128.813,-70.9516],[751.729,-601.304,16.8167,121.976,-69.6683],[712.721,-500.087,15.9,114.561,-68.0995],[671.247,-401.437,14.9333,106.72,-66.193],[624.383,-300.899,13.85,97.9541,-63.6733],[571.301,-200.801,12.6333,88.2183,-60.2198],[508.213,-100.541,11.2,77.0786,-54.9999],[426.754,-0.591001,9.36667,63.8831,-45.6654],[271.582,99.8721,5.91667,46.9174,-15.1771],[214.859,107.689,4.66667,45.4785,-0.0648368]]], - [46,111.432,[[1107.21,-2002.97,26.1167,191.416,-78.7612],[1086.61,-1900.76,25.5667,187.625,-78.4389],[1065.85,-1800.72,25.0167,183.781,-78.1006],[1044.93,-1702.89,24.4667,179.885,-77.745],[1022.57,-1601.58,23.8833,175.696,-77.3474],[999.393,-1500.04,23.2833,171.329,-76.9147],[976.032,-1401.26,22.6833,166.903,-76.4556],[951.18,-1300.02,22.05,162.17,-75.9396],[926.134,-1201.93,21.4167,157.378,-75.3881],[899.564,-1102.14,20.75,152.271,-74.7651],[871.445,-1001.25,20.05,146.845,-74.0584],[842.429,-902.134,19.3333,141.227,-73.2722],[811.141,-800.857,18.5667,135.154,-72.351],[778.23,-700.497,17.7667,128.755,-71.2882],[743.674,-601.82,16.9333,122.035,-70.0523],[705.354,-500.292,16.0167,114.598,-68.5124],[664.611,-401.312,15.05,106.731,-66.6403],[618.573,-300.4,13.9667,97.9282,-64.1646],[567.144,-201.164,12.7667,88.2741,-60.82],[505.175,-100.179,11.3333,77.0507,-55.6944],[425.892,-0.0656848,9.51667,63.816,-46.5984],[282.382,99.9266,6.26667,46.8746,-18.5527],[214.808,111.431,4.75,44.6711,-0.102593]]], - [47,115.17,[[1090.88,-2000.41,26.2,191.349,-78.9606],[1071.26,-1901.23,25.6667,187.67,-78.6536],[1050.88,-1801.08,25.1167,183.823,-78.3216],[1029.71,-1700.22,24.55,179.804,-77.9617],[1008.38,-1601.73,23.9833,175.729,-77.5824],[985.624,-1500.08,23.3833,171.357,-77.1576],[962.685,-1401.18,22.7833,166.926,-76.7069],[938.927,-1302.44,22.1667,162.313,-76.2142],[913.689,-1201.61,21.5167,157.388,-75.659],[887.6,-1101.69,20.85,152.273,-75.0473],[859.99,-1000.66,20.15,146.838,-74.3533],[831.499,-901.402,19.4333,141.209,-73.5812],[801.447,-802.124,18.6833,135.256,-72.697],[769.137,-701.487,17.8833,128.844,-71.6551],[734.53,-600.602,17.0333,121.973,-70.4176],[697.589,-500.67,16.1333,114.65,-68.933],[657.59,-401.347,15.1667,106.755,-67.0964],[612.392,-300.047,14.0833,97.9163,-64.6661],[561.9,-200.378,12.8833,88.2118,-61.3798],[502.483,-101.014,11.4833,77.1673,-56.4697],[425.379,-0.447451,9.68333,63.8833,-47.6486],[291.068,99.824,6.58333,46.8733,-21.5702],[214.557,115.168,4.83333,43.8509,-0.160282]]], - [48,118.898,[[1074.67,-2001.26,26.3,191.408,-79.1734],[1055.43,-1901.98,25.7667,187.725,-78.8723],[1035.42,-1801.73,25.2167,183.875,-78.5467],[1014.66,-1700.75,24.65,179.852,-78.1938],[993.725,-1602.15,24.0833,175.774,-77.8217],[971.391,-1500.38,23.4833,171.396,-77.4051],[948.883,-1401.36,22.8833,166.96,-76.9631],[925.57,-1302.49,22.2667,162.341,-76.4798],[900.805,-1201.53,21.6167,157.409,-75.9352],[875.204,-1101.47,20.95,152.287,-75.335],[848.111,-1000.29,20.25,146.843,-74.6542],[820.153,-900.882,19.5333,141.204,-73.8965],[790.664,-801.444,18.7833,135.238,-73.0287],[758.959,-700.636,17.9833,128.811,-72.0059],[725.669,-601.488,17.15,122.058,-70.816],[689.426,-501.229,16.25,114.715,-69.3614],[650.182,-401.55,15.2833,106.794,-67.5611],[606.521,-301.332,14.2167,98.0549,-65.2177],[556.989,-201.03,13.0167,88.2984,-62.0017],[498.699,-100.919,11.6167,77.173,-57.1901],[423.763,-0.182748,9.83333,63.8568,-48.6158],[297.715,99.7814,6.86667,46.8676,-24.2356],[213.386,118.897,4.9,43.0199,-0.0216365]]], - [49,122.612,[[1057.98,-2002.42,26.4,191.477,-79.3899],[1039.1,-1903.02,25.8667,187.792,-79.095],[1019.49,-1802.66,25.3167,183.938,-78.7759],[999.124,-1701.56,24.75,179.912,-78.43],[978.6,-1602.84,24.1833,175.83,-78.0654],[956.699,-1500.95,23.5833,171.448,-77.6572],[934.627,-1401.8,22.9833,167.006,-77.224],[911.146,-1300.17,22.35,162.256,-76.737],[887.482,-1201.69,21.7167,157.443,-76.2165],[862.378,-1101.49,21.05,152.313,-75.6282],[835.81,-1000.15,20.35,146.86,-74.9608],[808.394,-900.584,19.6333,141.211,-74.2179],[779.478,-800.977,18.8833,135.234,-73.367],[749.038,-702.036,18.1,128.928,-72.3859],[715.743,-600.649,17.25,122.023,-71.1965],[680.203,-500.182,16.35,114.658,-69.769],[641.72,-400.279,15.3833,106.71,-68.0014],[599.579,-301.302,14.3333,98.0732,-65.7382],[551.014,-200.534,13.1333,88.2669,-62.5845],[494.546,-100.966,11.75,77.1962,-57.9234],[421.771,-0.0556027,9.98333,63.8515,-49.6],[302.399,99.9862,7.11667,46.818,-26.5595],[212.742,122.611,4.98333,42.1743,-0.119306]]], - [50,126.308,[[1040.21,-2000.74,26.4833,191.443,-79.6014],[1021.71,-1901.29,25.95,187.754,-79.3122],[1002.49,-1800.88,25.4,183.895,-78.9993],[983.118,-1702.67,24.85,179.983,-78.6704],[962.413,-1600.95,24.2667,175.776,-78.3026],[941.546,-1501.79,23.6833,171.511,-77.9136],[919.918,-1402.51,23.0833,167.065,-77.4894],[896.909,-1300.73,22.45,162.309,-77.0126],[873.72,-1202.11,21.8167,157.49,-76.5028],[849.121,-1101.75,21.15,152.353,-75.9267],[823.087,-1000.26,20.45,146.891,-75.2729],[796.222,-900.516,19.7333,141.232,-74.5453],[767.886,-800.73,18.9833,135.243,-73.7116],[738.058,-701.6,18.2,128.923,-72.7503],[705.432,-600.008,17.35,122.001,-71.5846],[671.253,-501.121,16.4667,114.752,-70.2126],[633.549,-400.836,15.5,106.779,-68.4833],[592.26,-301.441,14.45,98.1072,-66.2681],[544.677,-200.191,13.25,88.2514,-63.1787],[489.351,-100.063,11.8667,77.1059,-58.6059],[419.4,-0.0741862,10.1333,63.8686,-50.6004],[306.567,99.8436,7.36667,46.8425,-28.9058],[211.202,126.307,5.05,41.3185,-0.0147897]]], - [51,129.981,[[1022.54,-2002.51,26.5833,191.535,-79.8254],[1004.43,-1902.94,26.05,187.843,-79.5425],[985.609,-1802.41,25.5,183.982,-79.2364],[966.065,-1701.12,24.9333,179.947,-78.9046],[946.368,-1602.22,24.3667,175.856,-78.5549],[925.35,-1500.12,23.7667,171.464,-78.1632],[904.168,-1400.78,23.1667,167.012,-77.7474],[882.228,-1301.57,22.55,162.374,-77.2928],[858.922,-1200.24,21.9,157.422,-76.7805],[835.435,-1102.28,21.25,152.405,-76.2303],[809.943,-1000.6,20.55,146.935,-75.5906],[783.637,-900.686,19.8333,141.266,-74.8785],[755.891,-800.712,19.0833,135.266,-74.0625],[726.683,-701.384,18.3,128.932,-73.1214],[695.365,-601.511,17.4667,122.13,-72.0037],[661.269,-500.46,16.5667,114.725,-70.6362],[624.989,-401.588,15.6167,106.863,-68.9731],[583.92,-300.256,14.55,98.0197,-66.7696],[537.978,-200.011,13.3667,88.2529,-63.7842],[484.466,-100.409,12,77.166,-59.3651],[416.648,-0.247988,10.2833,63.9093,-51.6162],[309.542,99.7467,7.6,46.8616,-31.0963],[210.158,129.979,5.13333,40.4487,-0.158599]]], - [52,133.626,[[1003.84,-2001.47,26.6667,191.523,-80.0444],[986.115,-1901.84,26.1333,187.828,-79.7676],[967.695,-1801.24,25.5833,183.963,-79.468],[949.132,-1702.84,25.0333,180.043,-79.153],[929.292,-1600.91,24.45,175.827,-78.8008],[909.296,-1501.55,23.8667,171.553,-78.4283],[888.571,-1402.05,23.2667,167.096,-78.022],[866.523,-1300.05,22.6333,162.327,-77.5652],[844.302,-1201.19,22,157.495,-77.0768],[820.73,-1100.59,21.3333,152.342,-76.5247],[796.379,-1001.21,20.65,146.994,-75.9136],[770.641,-901.104,19.9333,141.316,-75.2174],[743.493,-800.932,19.1833,135.304,-74.4195],[714.915,-701.395,18.4,128.957,-73.4991],[684.272,-601.298,17.5667,122.139,-72.4058],[650.912,-500.003,16.6667,114.713,-71.0677],[615.414,-400.871,15.7167,106.826,-69.4398],[575.86,-300.755,14.6667,98.087,-67.3183],[530.915,-200.001,13.4833,88.2722,-64.4004],[479.204,-100.922,12.1333,77.2465,-60.1357],[413.51,-0.586019,10.4333,63.9749,-52.6465],[311.362,99.7615,7.81667,46.8614,-33.1366],[208.244,133.625,5.2,39.5688,-0.094157]]], - [53,137.24,[[984.677,-2000.75,26.75,191.524,-80.2673],[967.345,-1901.06,26.2167,187.825,-79.9966],[949.333,-1800.38,25.6667,183.956,-79.7036],[931.181,-1701.91,25.1167,180.032,-79.3956],[912.337,-1602.79,24.55,175.933,-79.0612],[892.228,-1500.47,23.95,171.531,-78.6868],[871.963,-1400.89,23.35,167.069,-78.2894],[850.973,-1301.45,22.7333,162.42,-77.8547],[829.249,-1202.43,22.1,157.582,-77.3777],[806.204,-1101.65,21.4333,152.423,-76.8386],[782.398,-1002.08,20.75,147.066,-76.2418],[757.235,-901.777,20.0333,141.379,-75.5617],[730.694,-801.396,19.2833,135.357,-74.7824],[702.755,-701.64,18.5,128.997,-73.8832],[672.796,-601.307,17.6667,122.162,-72.8148],[640.787,-501.572,16.7833,114.855,-71.5328],[605.476,-400.352,15.8167,106.805,-69.9151],[567.423,-301.448,14.7833,98.172,-67.8755],[523.487,-200.167,13.6,88.31,-65.0269],[472.938,-100.483,12.25,77.2129,-60.8582],[409.353,-0.236437,10.5667,63.94,-53.6035],[312.067,99.9472,8.01667,46.8292,-35.033],[206.15,137.239,5.26667,38.6774,-0.0495533]]], - [54,140.817,[[965.055,-2000.38,26.8333,191.536,-80.4939],[948.121,-1900.61,26.3,187.834,-80.2294],[931.058,-1802.87,25.7667,184.079,-79.9521],[912.789,-1701.3,25.2,180.033,-79.6423],[894.378,-1602.1,24.6333,175.929,-79.3157],[875.28,-1502.5,24.05,171.646,-78.9602],[854.932,-1400.03,23.4333,167.055,-78.5615],[834.425,-1300.5,22.8167,162.4,-78.1367],[813.202,-1201.38,22.1833,157.555,-77.6705],[790.686,-1100.5,21.5167,152.387,-77.1436],[767.428,-1000.83,20.8333,147.022,-76.5602],[742.844,-900.425,20.1167,141.325,-75.8953],[717.492,-802.114,19.3833,135.425,-75.151],[689.617,-700.058,18.5833,128.916,-74.2537],[660.936,-601.549,17.7667,122.203,-73.2306],[629.669,-501.55,16.8833,114.876,-71.979],[595.176,-400.039,15.9167,106.801,-70.399],[558.005,-300.821,14.8833,98.1358,-68.4059],[515.694,-200.521,13.7167,88.3671,-65.6634],[466.322,-100.211,12.3667,77.1995,-61.5939],[404.834,-0.0453694,10.7,63.929,-54.5773],[312.319,99.887,8.21667,46.8489,-36.9524],[203.872,140.817,5.33333,37.7745,-0.0264962]]], - [55,144.354,[[944.98,-2000.34,26.9167,191.561,-80.7241],[928.451,-1900.49,26.3833,187.855,-80.466],[911.795,-1802.68,25.85,184.097,-80.1953],[893.962,-1701.02,25.2833,180.047,-79.893],[875.99,-1601.73,24.7167,175.939,-79.5742],[857.348,-1502.04,24.1333,171.651,-79.2273],[838.025,-1402.21,23.5333,167.179,-78.8488],[818.012,-1302.5,22.9167,162.52,-78.4349],[796.751,-1200.63,22.2667,157.542,-77.9683],[775.325,-1102.12,21.6167,152.497,-77.4671],[752.626,-1002.25,20.9333,147.124,-76.8986],[728.633,-901.626,20.2167,141.418,-76.2506],[703.326,-800.905,19.4667,135.374,-75.5077],[676.686,-700.79,18.6833,128.988,-74.6504],[648.121,-600.073,17.85,122.121,-73.6314],[618.179,-501.754,16.9833,114.914,-72.4323],[585.097,-401.622,16.0333,106.955,-70.9197],[548.236,-300.391,14.9833,98.1177,-68.9457],[507.534,-201.067,13.8333,88.4442,-66.3094],[459.354,-100.111,12.4833,77.207,-62.3421],[399.953,-0.020817,10.8333,63.9428,-55.567],[312.115,99.57,8.41667,46.9227,-38.8904],[201.411,144.354,5.4,36.8605,-0.0268517]]], - [56,147.847,[[924.455,-2000.67,27,191.598,-80.9577],[908.335,-1900.73,26.4667,187.89,-80.7061],[892.092,-1802.83,25.9333,184.129,-80.4422],[874.702,-1701.08,25.3667,180.075,-80.1475],[857.176,-1601.7,24.8,175.963,-79.8366],[838.995,-1501.91,24.2167,171.67,-79.4984],[820.151,-1401.97,23.6167,167.193,-79.1295],[800.634,-1302.15,23,162.528,-78.7259],[779.9,-1200.17,22.35,157.543,-78.2708],[759.005,-1101.56,21.7,152.491,-77.7821],[736.868,-1001.56,21.0167,147.11,-77.2276],[713.47,-900.813,20.3,141.395,-76.5954],[689.341,-802.149,19.5667,135.474,-75.8876],[663.365,-701.783,18.7833,129.076,-75.0528],[635.512,-600.796,17.95,122.195,-74.0605],[605.753,-500.362,17.0667,114.83,-72.8686],[573.492,-400.058,16.1167,106.846,-71.391],[538.118,-300.168,15.0833,98.1183,-69.4947],[498.431,-200.458,13.9333,88.4017,-66.923],[452.034,-100.194,12.6,77.2365,-63.1024],[394.708,-0.1716,10.9667,63.9828,-56.5715],[310.856,99.4977,8.6,46.9485,-40.6913],[198.766,147.847,5.46667,35.9356,-0.0526829]]], - [57,151.291,[[903.485,-2001.35,27.0833,191.649,-81.1948],[887.78,-1901.32,26.55,187.937,-80.9498],[871.459,-1800.3,26,184.055,-80.6846],[855.012,-1701.48,25.45,180.116,-80.4058],[837.938,-1602,24.8833,176,-80.1031],[820.225,-1502.1,24.3,171.704,-79.7737],[801.866,-1402.06,23.7,167.222,-79.4144],[782.851,-1302.13,23.0833,162.551,-79.0213],[762.651,-1200.02,22.4333,157.56,-78.5781],[742.294,-1101.29,21.7833,152.501,-78.102],[720.727,-1001.17,21.1,147.112,-77.5618],[697.931,-900.279,20.3833,141.387,-76.9459],[674.423,-801.475,19.65,135.456,-76.2561],[649.116,-700.958,18.8667,129.045,-75.4426],[622.525,-601.774,18.05,122.286,-74.4956],[593.536,-501.038,17.1667,114.904,-73.3363],[562.109,-400.407,16.2167,106.897,-71.8985],[527.651,-300.158,15.1833,98.1384,-70.0525],[488.991,-200.044,14.0333,88.3792,-67.5473],[444.363,-100.466,12.7167,77.2887,-63.874],[389.098,-0.50611,11.1,64.05,-57.5898],[308.587,99.7171,8.76667,46.9164,-42.3637],[195.936,151.29,5.53333,35,-0.106404]]], - [58,154.682,[[882.072,-2002.41,27.1667,191.712,-81.4351],[866.788,-1902.28,26.6333,187.998,-81.1968],[850.904,-1801.16,26.0833,184.113,-80.9389],[834.897,-1702.23,25.5333,180.171,-80.6677],[818.279,-1602.64,24.9667,176.052,-80.3733],[801.041,-1502.63,24.3833,171.751,-80.0529],[783.173,-1402.47,23.7833,167.265,-79.7034],[764.666,-1302.42,23.1667,162.589,-79.321],[745.007,-1200.19,22.5167,157.592,-78.8898],[725.194,-1101.32,21.8667,152.526,-78.4266],[704.204,-1001.06,21.1833,147.13,-77.901],[682.017,-900.03,20.4667,141.396,-77.3017],[659.138,-801.076,19.7333,135.454,-76.6304],[634.508,-700.398,18.95,129.03,-75.8385],[608.628,-601.044,18.1333,122.257,-74.9166],[580.415,-500.124,17.25,114.856,-73.7875],[550.368,-400.992,16.3167,106.967,-72.4131],[516.836,-300.368,15.2833,98.1785,-70.6187],[479.762,-201.204,14.15,88.5195,-68.2212],[436.338,-100.936,12.8333,77.3646,-64.6563],[382.564,-0.119966,11.2167,64.0113,-58.5446],[305.911,99.7252,8.93333,46.9283,-44.0592],[192.921,154.68,5.6,34.0542,-0.190591]]], - [59,158.015,[[859.759,-2000.68,27.2333,191.673,-81.6715],[844.896,-1900.51,26.7,187.956,-81.4397],[829.92,-1802.38,26.1667,184.184,-81.1965],[813.886,-1700.37,25.6,180.119,-80.9249],[797.727,-1600.74,25.0333,175.995,-80.6385],[780.964,-1500.69,24.45,171.689,-80.3267],[763.59,-1400.47,23.85,167.197,-79.9866],[745.594,-1300.38,23.2333,162.515,-79.6144],[726.969,-1200.67,22.6,157.639,-79.2059],[707.708,-1101.67,21.95,152.567,-78.7558],[687.301,-1001.26,21.2667,147.163,-78.2451],[665.732,-900.076,20.55,141.421,-77.6627],[643.489,-800.961,19.8167,135.469,-77.0103],[619.544,-700.111,19.0333,129.033,-76.2405],[594.384,-600.575,18.2167,122.246,-75.3442],[567.475,-501.302,17.35,114.967,-74.2682],[537.744,-400.115,16.4,106.915,-72.909],[505.673,-300.807,15.3833,98.2392,-71.193],[469.635,-201.211,14.25,88.5401,-68.8644],[427.423,-100.436,12.9333,77.3238,-65.3982],[376.234,-0.835548,11.35,64.1348,-59.5894],[302.828,99.5117,9.1,46.9861,-45.7746],[189.168,158.015,5.65,33.0993,-0.0253942]]], - [60,161.288,[[837.488,-2002.5,27.3167,191.763,-81.9183],[823.056,-1902.22,26.7833,188.044,-81.6933],[808.058,-1800.94,26.2333,184.152,-81.4499],[792.944,-1701.85,25.6833,180.203,-81.194],[777.253,-1602.09,25.1167,176.076,-80.9161],[760.976,-1501.91,24.5333,171.766,-80.6136],[744.104,-1401.57,23.9333,167.27,-80.2837],[726.629,-1301.33,23.3167,162.584,-79.9226],[708.544,-1201.49,22.6833,157.703,-79.5262],[689.84,-1102.34,22.0333,152.625,-79.0895],[670.024,-1001.78,21.35,147.214,-78.5939],[649.079,-900.424,20.6333,141.463,-78.0287],[627.479,-801.139,19.9,135.502,-77.3955],[604.227,-700.104,19.1167,129.054,-76.6483],[579.794,-600.375,18.3,122.253,-75.7781],[553.664,-500.895,17.4333,114.956,-74.7332],[525.302,-401.19,16.5,107.025,-73.4378],[494.162,-301.482,15.4833,98.3214,-71.7748],[458.655,-200.053,14.3333,88.4399,-69.4798],[418.186,-100.135,13.0333,77.3066,-66.1524],[369.009,-0.82659,11.4667,64.1516,-60.5729],[298.803,99.6455,9.25,46.974,-47.3713],[185.797,161.286,5.71667,32.1334,-0.171598]]], - [61,164.495,[[814.354,-2001.55,27.3833,191.752,-82.1613],[800.354,-1901.21,26.85,188.029,-81.943],[786.247,-1802.91,26.3167,184.252,-81.7142],[771.143,-1700.73,25.75,180.18,-81.4585],[755.922,-1600.91,25.1833,176.049,-81.1889],[740.132,-1500.67,24.6,171.735,-80.8954],[723.766,-1400.26,24,167.233,-80.5751],[707.274,-1302.64,23.4,162.668,-80.2345],[689.27,-1200.05,22.75,157.653,-79.84],[671.126,-1100.83,22.1,152.568,-79.4161],[651.904,-1000.2,21.4167,147.149,-78.9349],[632.061,-901.08,20.7167,141.523,-78.3994],[611.112,-801.614,19.9833,135.552,-77.7858],[588.56,-700.384,19.2,129.094,-77.0616],[564.864,-600.45,18.3833,122.279,-76.2181],[539.52,-500.75,17.5167,114.966,-75.2049],[512.012,-400.806,16.5833,107.013,-73.9485],[481.81,-300.837,15.5667,98.2818,-72.3348],[447.874,-200.497,14.4333,88.5051,-70.1421],[408.629,-100.038,13.1333,77.3137,-66.9181],[360.938,-0.0725246,11.5667,64.0586,-61.5004],[294.398,99.5708,9.4,47.0047,-48.9894],[181.72,164.494,5.76667,31.159,-0.0574469]]], - [62,167.633,[[790.823,-2000.99,27.45,191.754,-82.4075],[777.26,-1900.59,26.9167,188.028,-82.1961],[763.594,-1802.23,26.3833,184.248,-81.9744],[749.393,-1702.95,25.8333,180.293,-81.7342],[734.215,-1600.1,25.25,176.037,-81.4654],[719.356,-1502.62,24.6833,171.842,-81.1894],[703.504,-1402.07,24.0833,167.338,-80.8796],[687.086,-1301.62,23.4667,162.642,-80.5406],[670.093,-1201.55,22.8333,157.75,-80.1684],[652.518,-1102.16,22.1833,152.659,-79.7583],[633.9,-1001.35,21.5,147.234,-79.2928],[614.679,-902.052,20.8,141.601,-78.7747],[593.925,-800.182,20.05,135.485,-78.1669],[572.544,-700.958,19.2833,129.152,-77.4802],[549.592,-600.807,18.4667,122.324,-76.6638],[525.043,-500.874,17.6,114.995,-75.6831],[498.399,-400.678,16.6667,107.022,-74.4665],[469.145,-300.431,15.65,98.2637,-72.9033],[436.759,-201.174,14.5333,88.5941,-70.8126],[398.75,-100.153,13.2333,77.346,-67.6946],[353.054,-0.452742,11.6833,64.1325,-62.5124],[289.112,99.8855,9.53333,46.9566,-50.4989],[177.992,167.631,5.83333,30.1743,-0.278624]]], - [63,170.699,[[766.901,-2000.83,27.5167,191.77,-82.6568],[753.78,-1900.37,26.9833,188.042,-82.4523],[740.559,-1801.94,26.45,184.258,-82.2379],[726.821,-1702.59,25.9,180.3,-82.0055],[712.558,-1602.57,25.3333,176.163,-81.7531],[697.762,-1502.11,24.75,171.842,-81.4785],[682.427,-1401.48,24.15,167.332,-81.1788],[666.543,-1300.95,23.5333,162.631,-80.8508],[650.103,-1200.8,22.9,157.733,-80.4907],[633.101,-1101.32,22.25,152.636,-80.0938],[615.089,-1000.42,21.5667,147.203,-79.6433],[596.495,-901.029,20.8667,141.561,-79.1419],[576.865,-801.272,20.1333,135.572,-78.5672],[556.184,-701.835,19.3667,129.23,-77.9038],[533.983,-601.454,18.55,122.39,-77.115],[510.238,-501.275,17.6833,115.045,-76.1674],[484.465,-400.812,16.75,107.052,-74.9914],[456.169,-300.271,15.7333,98.2679,-73.4799],[424.842,-200.69,14.6167,88.5624,-71.457],[388.551,-100.488,13.3333,77.4043,-68.4812],[344.355,-0.0859586,11.7833,64.096,-63.4704],[283.957,99.3822,9.68333,47.0752,-52.154],[173.59,170.697,5.88333,29.1813,-0.227765]]], - [64,173.687,[[742.593,-2001.09,27.5833,191.801,-82.9091],[729.918,-1900.55,27.05,188.07,-82.7116],[717.147,-1802.04,26.5167,184.284,-82.5046],[703.876,-1702.62,25.9667,180.323,-82.2801],[690.099,-1602.52,25.4,176.182,-82.0364],[675.807,-1501.98,24.8167,171.857,-81.7712],[660.993,-1401.26,24.2167,167.343,-81.4817],[645.649,-1300.64,23.6,162.637,-81.1649],[629.769,-1200.4,22.9667,157.734,-80.817],[613.346,-1100.83,22.3167,152.631,-80.4337],[596.372,-1002.24,21.65,147.324,-80.0095],[577.985,-900.327,20.9333,141.54,-79.514],[559.022,-800.46,20.2,135.542,-78.9586],[539.045,-700.907,19.4333,129.188,-78.3174],[517.599,-600.403,18.6167,122.335,-77.5549],[494.662,-500.092,17.75,114.974,-76.6385],[470.213,-401.214,16.8333,107.104,-75.5228],[442.884,-300.364,15.8167,98.2946,-74.064],[412.627,-200.44,14.7,88.5544,-72.1106],[378.032,-101.049,13.4333,77.4893,-69.2769],[335.812,-0.885959,11.9,64.231,-64.5059],[277.487,99.9117,9.8,46.9835,-53.5846],[169.036,173.686,5.93333,28.1794,-0.208704]]], - [65,176.596,[[717.908,-2001.76,27.65,191.847,-83.1642],[705.685,-1901.14,27.1167,188.113,-82.9739],[693.368,-1802.56,26.5833,184.325,-82.7742],[680.18,-1700.07,26.0167,180.24,-82.5512],[667.281,-1602.86,25.4667,176.217,-82.3229],[653.498,-1502.23,24.8833,171.888,-82.0672],[639.211,-1401.42,24.2833,167.371,-81.7882],[624.413,-1300.7,23.6667,162.66,-81.4827],[609.097,-1200.35,23.0333,157.752,-81.1473],[593.258,-1100.68,22.3833,152.643,-80.7777],[576.888,-1001.99,21.7167,147.329,-80.3686],[559.568,-902.281,21.0167,141.674,-79.9024],[541.284,-802.191,20.2833,135.668,-79.3678],[521.6,-700.289,19.5,129.166,-78.7366],[501.34,-601.644,18.7,122.441,-78.0167],[479.223,-501.061,17.8333,115.066,-77.1345],[455.216,-400.159,16.9,107.034,-76.0392],[429.293,-300.716,15.9,98.3448,-74.6552],[400.116,-200.431,14.7833,88.571,-72.7729],[366.756,-100.627,13.5167,77.4558,-70.0398],[326.488,-0.935404,12,64.2551,-65.4895],[271.146,99.6067,9.93333,47.0619,-55.1545],[164.329,176.595,5.98333,27.169,-0.22531]]], - [66,179.421,[[692.849,-2002.86,27.7167,191.907,-83.422],[681.081,-1902.15,27.1833,188.172,-83.2389],[668.85,-1800.43,26.6333,184.262,-83.0407],[656.526,-1700.9,26.0833,180.293,-82.8322],[643.73,-1600.69,25.5167,176.145,-82.6058],[630.457,-1500.03,24.9333,171.811,-82.3593],[617.082,-1401.96,24.35,167.415,-82.098],[602.835,-1301.13,23.7333,162.7,-81.8041],[588.09,-1200.68,23.1,157.787,-81.4813],[572.84,-1100.89,22.45,152.673,-81.1256],[557.08,-1002.08,21.7833,147.353,-80.732],[540.405,-902.25,21.0833,141.69,-80.2831],[522.801,-802.028,20.35,135.676,-79.7686],[504.254,-702.101,19.5833,129.304,-79.1745],[484.345,-601.194,18.7667,122.427,-78.4677],[463.05,-500.452,17.9,115.037,-77.6181],[440.352,-401.113,16.9833,107.131,-76.5831],[415.397,-301.335,15.9833,98.4187,-75.2531],[387.31,-200.671,14.8667,88.6126,-73.4433],[355.196,-100.433,13.6,77.449,-70.8133],[316.432,-0.217607,12.0833,64.1658,-66.4269],[264.021,99.7354,10.05,47.0516,-56.6287],[159.469,179.419,6.03333,26.1504,-0.282061]]], - [67,182.159,[[667.072,-2001.2,27.7667,191.866,-83.6771],[655.76,-1900.47,27.2333,188.128,-83.501],[644.362,-1801.77,26.7,184.333,-83.3163],[632.518,-1702.15,26.15,180.363,-83.1161],[620.222,-1601.83,25.5833,176.212,-82.8987],[607.467,-1501.07,25,171.876,-82.662],[594.245,-1400.12,24.4,167.35,-82.4037],[580.923,-1301.95,23.8,162.758,-82.1288],[566.753,-1201.37,23.1667,157.841,-81.8189],[552.099,-1101.46,22.5167,152.721,-81.4772],[536.573,-1000.1,21.8333,147.262,-81.0893],[520.546,-900.23,21.1333,141.591,-80.6574],[504.012,-802.197,20.4167,135.704,-80.1738],[486.189,-702.12,19.65,129.323,-79.6032],[467.056,-601.051,18.8333,122.434,-78.9241],[446.592,-500.137,17.9667,115.03,-78.1076],[424.78,-400.615,17.05,107.106,-77.1127],[400.798,-300.634,16.05,98.3708,-75.8337],[374.212,-201.164,14.95,88.68,-74.1211],[343.355,-100.471,13.6833,77.4697,-71.5967],[306.518,-0.695795,12.1833,64.2521,-67.4354],[256.576,99.6578,10.1667,47.083,-58.122],[154.04,182.159,6.06667,25.1241,-0.0114754]]], - [68,184.806,[[641.302,-2003.17,27.8333,191.957,-83.9401],[630.453,-1902.34,27.3,188.217,-83.7714],[619.179,-1800.48,26.75,184.301,-83.5888],[607.818,-1700.82,26.2,180.328,-83.3966],[596.024,-1600.46,25.6333,176.173,-83.188],[584.139,-1502.51,25.0667,171.957,-82.9675],[571.46,-1401.44,24.4667,167.428,-82.7201],[558.327,-1300.46,23.85,162.704,-82.4491],[545.094,-1202.45,23.2333,157.912,-82.1597],[531.04,-1102.41,22.5833,152.788,-81.8323],[516.15,-1000.9,21.9,147.324,-81.4607],[500.779,-900.886,21.2,141.646,-81.0468],[484.552,-800.472,20.4667,135.615,-80.5721],[467.456,-700.341,19.7,129.222,-80.0239],[449.479,-601.222,18.9,122.463,-79.3855],[429.854,-500.121,18.0333,115.046,-78.6027],[408.934,-400.401,17.1167,107.105,-77.6487],[385.934,-300.202,16.1167,98.347,-76.4218],[360.437,-200.491,15.0167,88.6259,-74.7779],[331.234,-100.75,13.7667,77.5185,-72.3889],[295.909,-0.405226,12.2667,64.2246,-68.3996],[248.812,99.3658,10.2833,47.1578,-59.6312],[148.895,184.805,6.11667,24.0897,-0.149294]]], - [69,187.36,[[614.854,-2002.39,27.8833,191.946,-84.2005],[604.471,-1901.51,27.35,188.204,-84.039],[594.009,-1802.67,26.8167,184.405,-83.8696],[583.137,-1702.9,26.2667,180.43,-83.686],[571.851,-1602.42,25.7,176.273,-83.4865],[560.142,-1501.5,25.1167,171.931,-83.2694],[548.007,-1400.39,24.5167,167.397,-83.0325],[535.778,-1302.04,23.9167,162.797,-82.7803],[522.771,-1201.29,23.2833,157.871,-82.4959],[509.32,-1101.2,22.6333,152.742,-82.1824],[495.418,-1002.07,21.9667,147.405,-81.8355],[480.708,-901.896,21.2667,141.722,-81.4398],[465.18,-801.317,20.5333,135.684,-80.986],[448.82,-701.014,19.7667,129.283,-80.462],[431.617,-601.712,18.9667,122.513,-79.8516],[412.836,-500.412,18.1,115.083,-79.1031],[392.817,-400.479,17.1833,107.127,-78.1906],[370.807,-300.046,16.1833,98.3478,-77.0167],[346.407,-200.075,15.0833,88.5976,-75.4431],[318.461,-100.036,13.8333,77.4474,-73.1543],[285.034,-0.334129,12.35,64.2289,-69.3763],[240.349,99.5426,10.3833,47.1367,-61.057],[143.6,187.357,6.16667,23.048,-0.344587]]], - [70,189.817,[[588.09,-2002.06,27.9333,191.952,-84.4635],[578.176,-1901.13,27.4,188.206,-84.3092],[568.186,-1802.24,26.8667,184.405,-84.1475],[557.806,-1702.41,26.3167,180.427,-83.9721],[547.029,-1601.89,25.75,176.268,-83.7817],[535.849,-1500.91,25.1667,171.922,-83.5744],[524.585,-1402.51,24.5833,167.511,-83.3547],[512.586,-1301.34,23.9667,162.78,-83.1074],[500.167,-1200.52,23.3333,157.849,-82.8357],[487.322,-1100.36,22.6833,152.714,-82.5363],[474.048,-1001.17,22.0167,147.372,-82.2049],[460.004,-900.927,21.3167,141.681,-81.8269],[445.177,-800.275,20.5833,135.635,-81.3933],[429.897,-702.024,19.8333,129.365,-80.904],[413.131,-600.514,19.0167,122.444,-80.3092],[395.544,-501.014,18.1667,115.144,-79.6083],[376.433,-400.853,17.25,107.173,-78.738],[355.421,-300.169,16.25,98.3737,-77.6181],[332.481,-201.356,15.1667,88.7447,-76.1415],[305.804,-100.805,13.9167,77.5541,-73.9633],[273.895,-0.489305,12.4333,64.2658,-70.3642],[231.602,99.5116,10.4833,47.1573,-62.5011],[137.79,189.816,6.2,21.9992,-0.180423]]], - [71,192.174,[[561.017,-2002.17,27.9833,191.972,-84.7288],[551.576,-1901.19,27.45,188.225,-84.582],[542.063,-1802.24,26.9167,184.422,-84.428],[532.177,-1702.36,26.3667,180.442,-84.2611],[521.914,-1601.77,25.8,176.279,-84.0797],[511.268,-1500.73,25.2167,171.93,-83.8823],[500.541,-1402.27,24.6333,167.516,-83.673],[489.114,-1301.03,24.0167,162.781,-83.4375],[477.287,-1200.14,23.3833,157.846,-83.1788],[465.37,-1102.43,22.75,152.839,-82.9013],[452.414,-1000.64,22.0667,147.358,-82.578],[439.039,-900.318,21.3667,141.661,-82.218],[425.241,-801.822,20.65,135.745,-81.8148],[410.368,-701.246,19.8833,129.328,-81.3387],[394.728,-601.657,19.0833,122.539,-80.7842],[377.654,-500.042,18.2167,115.085,-80.1038],[359.786,-401.53,17.3167,107.243,-79.2903],[339.779,-300.579,16.3167,98.4252,-78.2252],[317.598,-200.033,15.2167,88.6213,-76.7963],[292.535,-100.583,13.9833,77.5408,-74.7466],[262.494,-0.876127,12.5167,64.3361,-71.3616],[222.227,99.9739,10.5667,47.0769,-63.8728],[131.867,192.173,6.23333,20.9436,-0.0500532]]], - [72,194.428,[[533.645,-2002.75,28.0333,192.009,-84.9965],[524.68,-1901.7,27.5,188.26,-84.8571],[515.647,-1802.69,26.9667,184.455,-84.7109],[506.26,-1702.74,26.4167,180.473,-84.5524],[496.515,-1602.08,25.85,176.308,-84.3803],[486.406,-1500.97,25.2667,171.956,-84.193],[476.22,-1402.44,24.6833,167.539,-83.9943],[465.369,-1301.12,24.0667,162.801,-83.7707],[454.139,-1200.15,23.4333,157.861,-83.5251],[442.823,-1102.37,22.8,152.85,-83.2616],[430.52,-1000.49,22.1167,147.364,-82.9547],[417.82,-900.075,21.4167,141.661,-82.6128],[404.719,-801.486,20.7,135.739,-82.2299],[390.595,-700.809,19.9333,129.314,-81.7778],[375.745,-601.116,19.1333,122.515,-81.2511],[359.845,-501.281,18.2833,115.193,-80.618],[342.565,-400.755,17.3667,107.192,-79.8316],[323.885,-301.281,16.3833,98.5028,-78.8375],[302.827,-200.42,15.2833,88.6742,-77.4827],[279.031,-100.613,14.05,77.5571,-75.5383],[250.509,-0.478312,12.5833,64.2903,-72.3231],[212.935,99.5176,10.6667,47.183,-65.3483],[126.163,194.425,6.28333,19.8816,-0.430343]]], - [73,196.577,[[505.715,-2000.59,28.0667,191.945,-85.2621],[497.494,-1902.67,27.55,188.311,-85.1343],[488.676,-1800.52,27,184.385,-84.9916],[479.79,-1700.56,26.45,180.399,-84.8414],[470.837,-1602.83,25.9,176.354,-84.6833],[461.269,-1501.64,25.3167,171.999,-84.506],[451.351,-1400.25,24.7167,167.453,-84.3125],[441.358,-1301.62,24.1167,162.839,-84.1066],[430.728,-1200.57,23.4833,157.896,-83.8743],[419.735,-1100.16,22.8333,152.748,-83.6181],[408.374,-1000.71,22.1667,147.39,-83.3346],[396.353,-900.202,21.4667,141.682,-83.0111],[383.952,-801.509,20.75,135.754,-82.6488],[370.585,-700.721,19.9833,129.321,-82.2209],[356.529,-600.909,19.1833,122.513,-81.7224],[341.479,-500.948,18.3333,115.18,-81.1231],[325.124,-400.286,17.4167,107.165,-80.3785],[307.444,-300.664,16.4333,98.4585,-79.437],[287.815,-201.085,15.35,88.7553,-78.1748],[265.294,-100.899,14.1167,77.6036,-76.3374],[238.302,-0.311217,12.65,64.2777,-73.296],[203.052,99.5595,10.75,47.1869,-66.7539],[120,196.575,6.31667,18.8131,-0.412878]]], - [74,198.617,[[477.779,-2002.09,28.1167,192.014,-85.5341],[469.776,-1900.96,27.5833,188.261,-85.4096],[461.71,-1801.87,27.05,184.451,-85.2791],[453.33,-1701.83,26.5,180.464,-85.1376],[444.629,-1601.08,25.9333,176.294,-84.9839],[435.863,-1502.74,25.3667,172.061,-84.8215],[426.51,-1401.25,24.7667,167.513,-84.6392],[417.085,-1302.54,24.1667,162.896,-84.445],[407.06,-1201.39,23.5333,157.95,-84.2261],[396.693,-1100.88,22.8833,152.799,-83.9847],[385.978,-1001.33,22.2167,147.437,-83.7175],[374.642,-900.705,21.5167,141.724,-83.4126],[362.946,-801.897,20.8,135.79,-83.0711],[350.34,-700.985,20.0333,129.351,-82.6678],[337.083,-601.043,19.2333,122.535,-82.1978],[322.89,-500.942,18.3833,115.192,-81.6328],[307.466,-400.128,17.4667,107.164,-80.9306],[290.791,-300.342,16.4833,98.4404,-80.0424],[272.279,-200.58,15.4,88.7144,-78.8513],[251.04,-100.186,14.1667,77.5291,-77.1161],[225.874,-0.38059,12.7167,64.2992,-74.2788],[192.926,99.3861,10.8333,47.2339,-68.1738],[113.728,198.615,6.35,17.7388,-0.453843]]], - [75,200.547,[[449.335,-2000.86,28.15,191.983,-85.8041],[442.051,-1902.85,27.6333,188.346,-85.6909],[434.239,-1800.6,27.0833,184.415,-85.5645],[426.365,-1700.55,26.5333,180.425,-85.4316],[418.433,-1602.71,25.9833,176.375,-85.2915],[409.955,-1501.41,25.4,172.016,-85.1345],[401.413,-1402.69,24.8167,167.591,-84.9679],[392.314,-1301.17,24.2,162.843,-84.7806],[383.145,-1202.61,23.5833,158.024,-84.5804],[373.407,-1102,22.9333,152.87,-84.3539],[363.343,-1002.33,22.2667,147.505,-84.103],[352.695,-901.587,21.5667,141.788,-83.8169],[341.453,-800.404,20.8333,135.71,-83.4886],[329.868,-701.606,20.0833,129.403,-83.1179],[317.416,-601.521,19.2833,122.58,-82.6768],[304.084,-501.267,18.4333,115.228,-82.1464],[289.596,-400.286,17.5167,107.188,-81.4873],[273.934,-300.319,16.5333,98.4491,-80.6533],[256.546,-200.357,15.45,88.7019,-79.5344],[236.867,-100.998,14.2333,77.6372,-77.9287],[213.23,-0.691848,12.7833,64.3555,-75.27],[182.285,99.7305,10.9,47.1748,-69.5352],[112.623,199.975,6.7,16.9694,-11.1076],[107.072,200.547,6.36667,16.6585,-0.00335856]]], - [76,202.364,[[420.654,-2000.11,28.1833,191.968,-86.0763],[413.842,-1902.07,27.6667,188.329,-85.9704],[406.758,-1802.87,27.1333,184.516,-85.8559],[399.397,-1702.72,26.5833,180.525,-85.7317],[391.755,-1601.85,26.0167,176.351,-85.5968],[383.827,-1500.52,25.4333,171.989,-85.4499],[375.839,-1401.77,24.85,167.561,-85.2941],[367.33,-1300.22,24.2333,162.81,-85.1188],[358.755,-1201.63,23.6167,157.987,-84.9315],[349.649,-1100.98,22.9667,152.828,-84.7196],[340.237,-1001.28,22.3,147.458,-84.4849],[330.279,-900.502,21.6,141.736,-84.2172],[320.007,-801.532,20.8833,135.791,-83.9172],[308.933,-700.444,20.1167,129.338,-83.5629],[297.289,-600.318,19.3167,122.506,-83.15],[284.822,-500.021,18.4667,115.143,-82.6533],[271.521,-400.763,17.5667,107.238,-82.048],[256.876,-300.599,16.5833,98.4851,-81.2688],[240.618,-200.417,15.5,88.7181,-80.2233],[222.218,-100.809,14.2833,77.6244,-78.7219],[200.118,-0.205456,12.8333,64.2937,-76.2334],[171.441,99.8636,10.9667,47.1579,-70.9131],[111.242,199.989,7.08333,16.9581,-23.4272],[100.605,202.364,6.4,15.5731,-0.161236]]], - [77,204.066,[[391.95,-2003.03,28.2333,192.086,-86.3535],[385.41,-1901.76,27.7,188.329,-86.2518],[378.819,-1802.52,27.1667,184.514,-86.1453],[371.972,-1702.34,26.6167,180.522,-86.0297],[364.862,-1601.44,26.05,176.345,-85.9042],[357.488,-1500.07,25.4667,171.98,-85.7676],[350.056,-1401.28,24.8833,167.55,-85.6227],[342.355,-1302.39,24.2833,162.925,-85.4642],[334.164,-1201.06,23.65,157.969,-85.2853],[325.693,-1100.37,23,152.807,-85.0881],[316.938,-1000.62,22.3333,147.432,-84.8697],[307.896,-902.152,21.65,141.842,-84.6267],[298.118,-800.781,20.9167,135.755,-84.3414],[288.042,-701.788,20.1667,129.437,-84.0192],[277.211,-601.493,19.3667,122.599,-83.6356],[265.616,-501.015,18.5167,115.229,-83.1744],[253.244,-401.563,17.6167,107.314,-82.6122],[239.623,-301.185,16.6333,98.5483,-81.8885],[224.501,-200.765,15.55,88.7634,-80.9172],[207.387,-100.888,14.3333,77.6429,-79.5218],[187.068,-1.00689,12.9,64.4208,-77.239],[160.396,99.7804,11.0333,47.1843,-72.3043],[107.062,199.926,7.33333,16.9999,-31.6761],[94.0341,204.065,6.43333,14.4829,-0.41818]]], - [78,205.651,[[362.62,-2000.04,28.25,191.988,-86.6262],[356.762,-1901.93,27.7333,188.346,-86.5351],[350.668,-1802.65,27.2,184.53,-86.4366],[344.337,-1702.42,26.65,180.535,-86.3297],[337.763,-1601.48,26.0833,176.357,-86.2137],[330.944,-1500.06,25.5,171.991,-86.0874],[324.073,-1401.23,24.9167,167.558,-85.9534],[316.953,-1302.3,24.3167,162.93,-85.8068],[309.379,-1200.91,23.6833,157.972,-85.6415],[301.546,-1100.17,23.0333,152.806,-85.4591],[293.451,-1000.37,22.3667,147.428,-85.2572],[285.091,-901.84,21.6833,141.834,-85.0325],[276.05,-800.409,20.95,135.741,-84.7687],[266.733,-701.353,20.2,129.417,-84.4706],[256.719,-600.992,19.4,122.573,-84.1159],[245.998,-500.442,18.55,115.194,-83.6892],[234.559,-400.915,17.65,107.269,-83.1691],[221.965,-300.454,16.6667,98.4897,-82.4992],[208.199,-201.407,15.6,88.8383,-81.6152],[192.376,-101.238,14.3833,77.6933,-80.3271],[173.591,-1.01095,12.95,64.4296,-78.2184],[149.154,99.4752,11.1,47.2551,-73.7054],[101.41,199.961,7.51667,16.9876,-38.0806],[87.1379,205.65,6.45,13.3875,-0.0999958]]], - [79,207.116,[[333.287,-2000.73,28.2833,192.023,-86.9034],[327.908,-1902.57,27.7667,188.38,-86.8199],[322.139,-1800.17,27.2167,184.443,-86.7265],[316.502,-1702.96,26.6833,180.567,-86.6315],[310.467,-1601.97,26.1167,176.388,-86.525],[304.207,-1500.5,25.5333,172.019,-86.409],[297.899,-1401.61,24.95,167.585,-86.2861],[291.361,-1302.63,24.35,162.955,-86.1515],[284.408,-1201.18,23.7167,157.995,-85.9997],[277.217,-1100.38,23.0667,152.826,-85.8324],[269.785,-1000.51,22.4,147.445,-85.647],[262.11,-901.918,21.7167,141.847,-85.4409],[253.81,-800.415,20.9833,135.75,-85.1987],[245.256,-701.285,20.2333,129.421,-84.925],[236.063,-600.844,19.4333,122.571,-84.5994],[226.22,-500.21,18.5833,115.185,-84.2076],[215.718,-400.592,17.6833,107.251,-83.7299],[204.156,-300.031,16.7,98.4587,-83.1147],[191.518,-200.876,15.6333,88.791,-82.3024],[176.992,-100.583,14.4167,77.6221,-81.1182],[159.746,-0.208033,12.9833,64.319,-79.1773],[137.515,99.7075,11.15,47.2157,-75.0618],[95.1192,199.81,7.68333,17.083,-44.0785],[80.3827,207.114,6.48333,12.2885,-0.576696]]], - [80,208.46,[[303.756,-2001.9,28.3167,192.075,-87.1822],[298.701,-1900.56,27.7833,188.313,-87.1036],[293.608,-1801.24,27.25,184.494,-87.0211],[288.315,-1700.97,26.7,180.495,-86.9318],[282.982,-1602.92,26.15,176.437,-86.8378],[277.283,-1501.4,25.5667,172.067,-86.7322],[271.541,-1402.45,24.9833,167.632,-86.6204],[265.424,-1300.68,24.3667,162.871,-86.4945],[259.26,-1201.88,23.75,158.038,-86.3599],[252.714,-1101,23.1,152.867,-86.2076],[245.948,-1001.06,22.4333,147.484,-86.039],[238.79,-900.035,21.7333,141.745,-85.8466],[231.405,-800.807,21.0167,135.782,-85.6309],[223.618,-701.592,20.2667,129.449,-85.3821],[215.249,-601.058,19.4667,122.593,-85.0857],[206.288,-500.324,18.6167,115.201,-84.7292],[196.728,-400.6,17.7167,107.259,-84.2944],[186.381,-301.557,16.75,98.6061,-83.7447],[174.697,-200.64,15.6667,88.7736,-82.9947],[161.473,-100.201,14.45,77.5829,-81.9159],[145.957,-0.710131,13.0333,64.3997,-80.1709],[125.72,99.7203,11.2,47.2202,-76.4303],[87.8731,199.965,7.8,17.0032,-48.9347],[73.3424,208.458,6.5,11.1846,-0.409877]]], - [81,209.681,[[273.896,-2000.37,28.3333,192.027,-87.4597],[269.483,-1902.16,27.8167,188.382,-87.3912],[264.893,-1802.78,27.2833,184.562,-87.317],[260.124,-1702.45,26.7333,180.563,-87.2366],[255.173,-1601.4,26.1667,176.381,-87.1493],[250.183,-1502.74,25.6,172.134,-87.0568],[244.86,-1400.93,25,167.57,-86.9532],[239.497,-1301.88,24.4,162.936,-86.8428],[233.792,-1200.37,23.7667,157.97,-86.7182],[228.043,-1102.05,23.1333,152.93,-86.5845],[221.947,-1002.02,22.4667,147.544,-86.4327],[215.496,-900.905,21.7667,141.803,-86.2595],[208.842,-801.584,21.05,135.838,-86.0653],[201.668,-700.119,20.2833,129.359,-85.8359],[194.283,-601.633,19.5,122.641,-85.5744],[186.209,-500.786,18.65,115.243,-85.2533],[177.593,-400.941,17.75,107.293,-84.8618],[168.108,-300.13,16.7667,98.4814,-84.3574],[157.741,-200.701,15.7,88.7861,-83.6912],[145.824,-100.093,14.4833,77.5761,-82.7191],[131.842,-0.405503,13.0667,64.361,-81.1456],[113.773,99.5114,11.25,47.2691,-77.8075],[80.3412,199.881,7.91667,17.0594,-53.8496],[66.2421,209.68,6.51667,10.0771,-0.316841]]], - [82,210.777,[[244.017,-2002.53,28.3667,192.113,-87.7408],[239.963,-1901.12,27.8333,188.349,-87.6779],[235.878,-1801.73,27.3,184.528,-87.6118],[231.633,-1701.4,26.75,180.528,-87.5401],[227.226,-1600.34,26.1833,176.343,-87.4624],[222.786,-1501.68,25.6167,172.095,-87.3802],[218.18,-1402.65,25.0333,167.656,-87.2904],[213.274,-1300.81,24.4167,162.892,-87.1896],[208.331,-1201.93,23.8,158.055,-87.0816],[203.081,-1100.96,23.15,152.88,-86.9596],[197.654,-1000.94,22.4833,147.491,-86.8242],[192.051,-902.176,21.8,141.884,-86.6739],[185.991,-800.491,21.0667,135.776,-86.497],[179.746,-701.174,20.3167,129.435,-86.2974],[173.033,-600.532,19.5167,122.569,-86.0597],[165.988,-501.598,18.6833,115.311,-85.7796],[158.322,-401.617,17.7833,107.356,-85.4316],[149.881,-300.656,16.8,98.5354,-84.9832],[140.655,-201.062,15.7333,88.829,-84.3909],[130.051,-100.264,14.5167,77.6021,-83.5266],[117.608,-0.353681,13.1,64.3587,-82.1268],[101.529,99.8513,11.2833,47.2054,-79.1525],[72.3759,199.796,8.01667,17.1156,-58.4559],[59.084,210.777,6.53333,8.96635,-0.325719]]], - [83,211.748,[[213.862,-2001.98,28.3833,192.1,-88.021],[210.311,-1900.56,27.85,188.335,-87.9659],[206.732,-1801.16,27.3167,184.512,-87.9079],[203.014,-1700.82,26.7667,180.511,-87.8452],[199.268,-1602.69,26.2167,176.448,-87.7791],[195.264,-1501.07,25.6333,172.074,-87.7049],[191.229,-1402.03,25.05,167.634,-87.6264],[186.932,-1300.18,24.4333,162.868,-87.538],[182.602,-1201.28,23.8167,158.029,-87.4433],[178.002,-1100.31,23.1667,152.851,-87.3363],[173.249,-1000.27,22.5,147.459,-87.2179],[168.34,-901.489,21.8167,141.85,-87.0859],[163.153,-802.049,21.1,135.878,-86.9348],[157.561,-700.455,20.3333,129.393,-86.756],[151.805,-601.837,19.55,122.667,-86.5522],[145.51,-500.845,18.7,115.259,-86.3021],[138.795,-400.845,17.8,107.297,-85.997],[131.527,-301.503,16.8333,98.6183,-85.611],[123.319,-200.249,15.75,88.7497,-85.0841],[114.158,-100.716,14.55,77.6613,-84.3373],[103.26,-0.556879,13.1333,64.3933,-83.1129],[89.1762,99.9704,11.3167,47.186,-80.5084],[63.9038,199.998,8.08333,17.0073,-62.542],[51.8704,211.747,6.55,7.85267,-0.480276]]], - [84,212.593,[[183.584,-2001.93,28.4,192.103,-88.3022],[180.537,-1900.49,27.8667,188.337,-88.2548],[177.466,-1801.07,27.3333,184.514,-88.2051],[174.276,-1700.71,26.7833,180.512,-88.1514],[171.062,-1602.56,26.2333,176.448,-88.0947],[167.627,-1500.92,25.65,172.073,-88.0311],[164.165,-1401.86,25.0667,167.631,-87.9637],[160.578,-1302.7,24.4667,162.993,-87.8897],[156.763,-1201.07,23.8333,158.023,-87.8065],[152.817,-1100.07,23.1833,152.844,-87.7148],[148.739,-1000,22.5167,147.45,-87.6131],[144.527,-901.202,21.8333,141.838,-87.5],[140.077,-801.736,21.1167,135.864,-87.3701],[135.279,-700.114,20.35,129.375,-87.2167],[130.34,-601.467,19.5667,122.645,-87.0419],[124.94,-500.443,18.7167,115.232,-86.8272],[119.178,-400.41,17.8167,107.265,-86.5653],[112.942,-301.032,16.85,98.5793,-86.2339],[106.009,-201.215,15.7833,88.8539,-85.7891],[98.0408,-100.16,14.5667,77.5984,-85.1398],[88.8011,-1.01695,13.1667,64.465,-84.1021],[76.7189,99.8666,11.35,47.2113,-81.8716],[55.3745,199.753,8.16667,17.153,-66.91],[44.6031,212.591,6.56667,6.7366,-0.852757]]], - [85,213.308,[[153.194,-2002.37,28.4167,192.124,-88.5842],[150.653,-1900.91,27.8833,188.358,-88.5448],[148.092,-1801.47,27.35,184.534,-88.5033],[145.432,-1701.07,26.8,180.531,-88.4585],[142.751,-1602.9,26.25,176.467,-88.4112],[139.886,-1501.24,25.6667,172.091,-88.3583],[136.999,-1402.15,25.0833,167.649,-88.3019],[133.924,-1300.24,24.4667,162.88,-88.2385],[130.825,-1201.29,23.85,158.039,-88.1709],[127.534,-1100.26,23.2,152.858,-88.0944],[124.133,-1000.16,22.5333,147.463,-88.0097],[120.621,-901.322,21.85,141.849,-87.9154],[116.909,-801.819,21.1333,135.873,-87.807],[112.908,-700.156,20.3667,129.382,-87.6792],[108.788,-601.467,19.5833,122.649,-87.5334],[104.285,-500.397,18.7333,115.233,-87.3543],[99.4792,-400.315,17.8333,107.261,-87.1358],[94.2786,-300.884,16.8667,98.5693,-86.8594],[88.4964,-201.008,15.8,88.836,-86.4884],[81.9419,-101.179,14.6,77.7243,-85.955],[74.1445,-0.665638,13.1833,64.4166,-85.08],[64.1607,99.5362,11.3833,47.282,-83.2385],[46.4541,199.844,8.21667,17.1058,-70.8557],[37.2845,213.306,6.58333,5.61907,-1.57541]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 74.1445; -_maxRange = 426.754; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg1.sqf deleted file mode 100644 index 3005604ca0..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg1.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_m821a2_m734_prox_chg1 -// Ammo: ace_arty_81mm_m821a2_m734_prox -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,429.312,[[2677.73,-2002.32,32.3833,209.302,-70.8082],[2642.04,-1901.06,31.8667,206.214,-70.3435],[2606.06,-1801.6,31.35,203.089,-69.8607],[2568.62,-1700.86,30.8167,199.827,-69.3422],[2530.88,-1602.1,30.2833,196.529,-68.802],[2491.64,-1502.37,29.7333,193.092,-68.2209],[2450.88,-1401.89,29.1667,189.514,-67.5949],[2408.57,-1300.89,28.5833,185.795,-66.9197],[2365.92,-1202.42,28,182.041,-66.2109],[2320.45,-1101.09,27.3833,178.039,-65.4225],[2273.35,-1000.04,26.75,173.896,-64.5677],[2225.87,-902.102,26.1167,169.725,-63.6635],[2175.46,-802.406,25.45,165.309,-62.6539],[2122.08,-701.536,24.75,160.651,-61.5242],[2065.66,-600.114,24.0167,155.758,-60.2572],[2007.46,-500.954,23.2667,150.751,-58.8641],[1944.82,-400.351,22.4667,145.422,-57.2584],[1878.99,-301.313,21.6333,139.903,-55.4396],[1807.23,-201.051,20.7333,134.008,-53.2883],[1729.42,-101.227,19.7667,127.789,-50.7343],[1642.72,-0.675674,18.7,121.124,-47.585],[1545.54,98.9058,17.5167,114.066,-43.6294],[1430.66,199.105,16.1333,106.436,-38.3052],[1284.91,299.578,14.4,98.1893,-30.4448],[1052.7,399.862,11.6833,89.5211,-15.4327],[841.006,429.309,9.25,87.707,-0.100513]]], - [46,444.01,[[2648.98,-2000.73,32.6,209.384,-71.1665],[2615.06,-1902.46,32.1,206.387,-70.7253],[2579.72,-1802.68,31.5833,203.253,-70.2519],[2542.95,-1701.6,31.05,199.981,-69.7435],[2505.88,-1602.5,30.5167,196.673,-69.2138],[2467.34,-1502.42,29.9667,193.224,-68.6438],[2427.3,-1401.56,29.4,189.632,-68.0298],[2385.75,-1300.19,28.8167,185.898,-67.3674],[2343.85,-1201.32,28.2333,182.128,-66.672],[2300.41,-1102.3,27.6333,178.216,-65.9197],[2254.16,-1000.74,27,174.053,-65.0819],[2207.53,-902.289,26.3667,169.86,-64.1955],[2158.03,-802.047,25.7,165.418,-63.2055],[2105.61,-700.6,25,160.731,-62.0975],[2051.48,-600.837,24.2833,155.916,-60.8835],[1994.33,-500.943,23.5333,150.87,-59.5183],[1934.13,-401.606,22.75,145.606,-57.9779],[1869.5,-301.618,21.9167,140.032,-56.1964],[1799.06,-200.319,21.0167,134.069,-54.0876],[1724,-101.042,20.0667,127.876,-51.6267],[1640.24,-0.595736,19.0167,121.206,-48.5885],[1546.22,99.4058,17.85,114.102,-44.7655],[1436.23,199.634,16.5,106.44,-39.6704],[1300.18,299.198,14.85,98.2165,-32.3382],[1095.08,399.645,12.4,89.349,-19.0904],[839.252,444.009,9.4,86.121,-0.0621527]]], - [47,458.683,[[2619.93,-2003.08,32.8333,209.585,-71.5453],[2585.51,-1901.22,32.3167,206.48,-71.0984],[2550.82,-1801.17,31.8,203.337,-70.634],[2515.85,-1702.95,31.2833,200.157,-70.1511],[2478.32,-1600.43,30.7333,196.734,-69.6155],[2440.48,-1500.04,30.1833,193.272,-69.0562],[2402.34,-1401.82,29.6333,189.773,-68.4718],[2361.55,-1300.05,29.05,186.024,-67.8225],[2320.42,-1200.79,28.4667,182.238,-67.1407],[2277.78,-1101.35,27.8667,178.308,-66.4032],[2233.58,-1002,27.25,174.235,-65.6038],[2186.61,-900.454,26.6,169.909,-64.7121],[2139.24,-802.216,25.95,165.554,-63.7657],[2087.8,-700.176,25.25,160.837,-62.6799],[2035.91,-602.086,24.55,156.102,-61.5186],[1979.84,-501.441,23.8,151.018,-60.1819],[1920.76,-401.312,23.0167,145.71,-58.673],[1857.35,-300.473,22.1833,140.083,-56.9269],[1789.51,-200.075,21.3,134.166,-54.8983],[1717.18,-101.364,20.3667,128.001,-52.5307],[1636.32,-1.04397,19.3333,121.333,-49.604],[1545.43,99.3532,18.1833,114.187,-45.9152],[1440.26,199.52,16.8667,106.508,-41.0501],[1310.94,299.658,15.2667,98.1927,-34.0855],[1126.48,399.704,13.0167,89.2267,-22.1722],[836.77,458.682,9.55,84.5131,-0.0408989]]], - [48,473.313,[[2588.33,-2002.77,33.05,209.707,-71.9159],[2554.56,-1900.64,32.5333,206.593,-71.4779],[2520.52,-1800.3,32.0167,203.441,-71.0227],[2486.21,-1701.79,31.5,200.251,-70.5494],[2450.51,-1602.05,30.9667,196.921,-70.0405],[2413.39,-1501.28,30.4167,193.448,-69.493],[2375.97,-1402.68,29.8667,189.937,-68.9206],[2335.96,-1300.51,29.2833,186.174,-68.2847],[2295.62,-1200.84,28.7,182.372,-67.617],[2253.78,-1100.97,28.1,178.425,-66.8945],[2210.43,-1001.18,27.4833,174.333,-66.1112],[2165.54,-901.74,26.85,170.096,-65.2604],[2117.88,-800.452,26.1833,165.604,-64.3097],[2068.62,-700.292,25.5,160.972,-63.2713],[2017.73,-601.587,24.8,156.205,-62.1339],[1962.74,-500.277,24.05,151.084,-60.8243],[1906.03,-401.539,23.2833,145.846,-59.378],[1845.1,-301.805,22.4667,140.28,-57.7041],[1778.59,-200.349,21.5833,134.299,-55.7199],[1707.66,-100.508,20.65,128.057,-53.4019],[1629.67,-0.487324,19.6333,121.397,-50.5816],[1543.17,98.7146,18.5167,114.325,-47.0771],[1441.4,199.929,17.2167,106.546,-42.3775],[1319.99,299.253,15.6833,98.2624,-35.8478],[1151.47,399.45,13.5833,89.1847,-24.979],[833.553,473.312,9.7,82.8835,-0.0379805]]], - [49,487.884,[[2555.3,-2003.14,33.2667,209.85,-72.2926],[2522.19,-1900.72,32.75,206.727,-71.8637],[2488.81,-1800.09,32.2333,203.566,-71.4179],[2455.17,-1701.28,31.7167,200.367,-70.9544],[2420.16,-1601.23,31.1833,197.026,-70.456],[2383.77,-1500.15,30.6333,193.541,-69.9196],[2347.08,-1401.22,30.0833,190.017,-69.3589],[2308.97,-1301.59,29.5167,186.347,-68.7542],[2269.42,-1201.5,28.9333,182.531,-68.1008],[2228.41,-1101.2,28.3333,178.567,-67.3936],[2185.91,-1000.95,27.7167,174.456,-66.627],[2141.9,-901.036,27.0833,170.198,-65.794],[2096.36,-801.749,26.4333,165.794,-64.8869],[2048.07,-700.979,25.75,161.135,-63.8713],[1998.19,-601.644,25.05,156.338,-62.7586],[1945.49,-501.867,24.3167,151.295,-61.5065],[1888.71,-400.208,23.5333,145.9,-60.0607],[1830.21,-301.712,22.7333,140.398,-58.4556],[1766.27,-201.173,21.8667,134.469,-56.552],[1696.77,-100.179,20.9333,128.151,-54.2853],[1621.61,-0.476254,19.9333,121.504,-51.5719],[1538.13,98.8784,18.8333,114.411,-48.1956],[1441.02,199.688,17.5667,106.647,-43.7188],[1324.72,299.941,16.0667,98.2529,-37.4706],[1170.28,399.43,14.1,89.1593,-27.5157],[829.594,487.883,9.85,81.2327,-0.0546917]]], - [50,502.378,[[2519.81,-2000.88,33.4667,209.913,-72.6618],[2488.41,-1901.5,32.9667,206.883,-72.2555],[2455.7,-1800.56,32.45,203.713,-71.8194],[2422.74,-1701.45,31.9333,200.505,-71.3658],[2388.43,-1601.08,31.4,197.154,-70.8782],[2353.86,-1502.71,30.8667,193.764,-70.3695],[2316.82,-1400.4,30.3,190.121,-69.8045],[2279.48,-1300.43,29.7333,186.437,-69.2125],[2241.84,-1202.81,29.1667,182.716,-68.5915],[2201.67,-1102.05,28.5667,178.736,-67.9002],[2160.03,-1001.33,27.95,174.606,-67.1504],[2116.91,-900.935,27.3167,170.327,-66.3357],[2072.3,-801.144,26.6667,165.9,-65.4483],[2026.15,-702.266,26,161.329,-64.4795],[1977.3,-602.283,25.3,156.501,-63.3921],[1925.68,-501.822,24.5667,151.423,-62.1679],[1871.24,-401.55,23.8,146.102,-60.7852],[1812.75,-300.168,22.9833,140.437,-59.183],[1751.33,-200.685,22.1333,134.563,-57.3563],[1684.49,-100.406,21.2167,128.285,-55.18],[1612.13,-1.04149,20.2333,121.657,-52.5737],[1530.4,99.8915,19.1333,114.441,-49.2733],[1439.09,198.764,17.9167,106.812,-45.0723],[1327.82,299.845,16.45,98.3265,-39.1089],[1184.45,399.39,14.5833,89.1668,-29.8816],[879.142,499.946,10.6833,79.5268,-4.91647],[824.889,502.376,10,79.5613,-0.0925216]]], - [51,516.779,[[2483.94,-2002.69,33.6833,210.099,-73.0505],[2453.19,-1903,33.1833,207.062,-72.6533],[2421.17,-1801.76,32.6667,203.884,-72.227],[2388.89,-1702.33,32.15,200.667,-71.7836],[2355.3,-1601.63,31.6167,197.306,-71.3069],[2321.45,-1502.92,31.0833,193.905,-70.8096],[2285.19,-1400.26,30.5167,190.25,-70.2572],[2249.7,-1302.84,29.9667,186.662,-69.6956],[2211.77,-1201.93,29.3833,182.816,-69.0709],[2172.43,-1100.79,28.7833,178.819,-68.3946],[2132.77,-1002.36,28.1833,174.783,-67.6815],[2090.56,-901.466,27.55,170.484,-66.8855],[2046.88,-801.156,26.9,166.035,-66.0183],[2001.71,-701.741,26.2333,161.438,-65.0712],[1953.88,-601.19,25.5333,156.581,-64.0079],[1903.34,-500.128,24.8,151.468,-62.8105],[1851.22,-401.363,24.05,146.223,-61.4878],[1795.14,-301.212,23.25,140.626,-59.9551],[1735.03,-200.77,22.4,134.696,-58.1715],[1670.81,-101.224,21.5,128.462,-56.0856],[1600.01,-0.583815,20.5167,121.744,-53.5407],[1522.47,98.8484,19.45,114.629,-50.4171],[1433.15,199.701,18.2333,106.836,-46.3154],[1328.03,299.995,16.8167,98.3908,-40.6878],[1194.13,399.604,15.0333,89.1742,-32.0813],[961.415,499.824,11.9833,79.1232,-13.2151],[818.134,516.778,10.1333,77.8768,-0.0329149]]], - [52,531.069,[[2445.63,-2001.89,33.8833,210.206,-73.4319],[2415.55,-1901.95,33.3833,207.161,-73.0436],[2384.21,-1800.44,32.8667,203.974,-72.6268],[2352.62,-1700.75,32.35,200.747,-72.1933],[2320.78,-1602.89,31.8333,197.482,-71.7419],[2286.62,-1500.78,31.2833,193.963,-71.2407],[2252.18,-1400.81,30.7333,190.403,-70.7166],[2216.41,-1300.1,30.1667,186.694,-70.1511],[2180.34,-1201.74,29.6,182.943,-69.5577],[2141.85,-1100.19,29,178.93,-68.8969],[2103.04,-1001.36,28.4,174.876,-68.1999],[2061.75,-900.028,27.7667,170.557,-67.4218],[2020.11,-801.813,27.1333,166.199,-66.5963],[1975.92,-701.846,26.4667,161.577,-65.6716],[1929.13,-600.71,25.7667,156.691,-64.633],[1880.83,-501.29,25.05,151.661,-63.4906],[1829.84,-401.782,24.3,146.379,-62.2001],[1774.99,-300.831,23.5,140.736,-60.7037],[1717.36,-201.458,22.6667,134.867,-58.9971],[1654.56,-100.865,21.7667,128.565,-56.9615],[1586.49,-0.721935,20.8,121.877,-54.5197],[1511.87,98.6384,19.75,114.762,-51.5203],[1426.95,198.684,18.5667,107.025,-47.6323],[1326.64,299.358,17.1833,98.5357,-42.2801],[1200.71,399.489,15.4667,89.2342,-34.2074],[1000.98,499.983,12.7833,78.9562,-18.0697],[811.948,531.066,10.2833,76.1645,-0.115462]]], - [53,545.233,[[2405.94,-2001.87,34.0833,210.335,-73.8194],[2376.52,-1901.67,33.5833,207.283,-73.4401],[2346.87,-1803.14,33.0833,204.191,-73.0464],[2315.99,-1703.1,32.5667,200.957,-72.6235],[2283.85,-1601.77,32.0333,197.576,-72.1686],[2251.46,-1502.43,31.5,194.154,-71.6941],[2217.79,-1402.09,30.95,190.583,-71.1827],[2182.81,-1301,30.3833,186.861,-70.6308],[2147.56,-1202.25,29.8167,183.097,-70.0517],[2109.93,-1100.28,29.2167,179.068,-69.4067],[2071.99,-1001.03,28.6167,174.997,-68.7263],[2032.68,-901.893,28,170.773,-67.9872],[1990.9,-800.587,27.35,166.279,-67.1604],[1947.7,-700.141,26.6833,161.632,-66.257],[1903.05,-600.871,26,156.834,-65.2672],[1855.83,-500.829,25.2833,151.772,-64.1523],[1806,-400.664,24.5333,146.452,-62.8924],[1753.5,-301.068,23.75,140.882,-61.4625],[1697.17,-200.832,22.9167,134.96,-59.7975],[1636.94,-101.115,22.0333,128.711,-57.8486],[1571.58,-1.48737,21.0833,122.056,-55.51],[1498.67,99.3034,20.0333,114.833,-52.5857],[1416.87,199.634,18.8667,107.061,-48.8445],[1322.43,299.035,17.5333,98.6624,-43.8148],[1204.27,399.143,15.8833,89.3343,-36.2607],[1027.61,499.741,13.45,78.9208,-22.0391],[803.757,545.231,10.4167,74.4393,-0.0986445]]], - [54,559.252,[[2364.83,-2002.65,34.2833,210.488,-74.2127],[2336.08,-1902.17,33.7833,207.428,-73.8427],[2306.14,-1800.1,33.2667,204.225,-73.4455],[2276.94,-1703.05,32.7667,201.086,-73.0459],[2245.54,-1601.41,32.2333,197.696,-72.602],[2213.9,-1501.77,31.7,194.263,-72.1389],[2181,-1401.11,31.15,190.681,-71.6398],[2147.84,-1302.64,30.6,187.056,-71.1173],[2112.39,-1200.61,30.0167,183.167,-70.5358],[2076.65,-1101.1,29.4333,179.235,-69.924],[2039.58,-1001.41,28.8333,175.148,-69.2605],[2001.19,-901.823,28.2167,170.904,-68.5396],[1960.38,-800.04,27.5667,166.389,-67.7331],[1919.23,-701.579,26.9167,161.835,-66.8745],[1875.62,-601.705,26.2333,157.01,-65.91],[1829.51,-501.023,25.5167,151.917,-64.8234],[1780.83,-400.183,24.7667,146.56,-63.5949],[1730.66,-301.955,24,141.067,-62.231],[1675.65,-200.836,23.1667,135.093,-60.6088],[1616.83,-100.172,22.2833,128.781,-58.7085],[1554.13,-1.21549,21.35,122.166,-56.4684],[1484.07,99.3334,20.3167,114.956,-53.6642],[1405.36,199.931,19.1667,107.155,-50.0714],[1315.5,299.089,17.8667,98.7635,-45.2949],[1203.7,399.577,16.2667,89.3718,-38.16],[1044.43,499.966,14.0167,78.8875,-25.3637],[794.859,559.25,10.55,72.6941,-0.10453]]], - [55,573.114,[[2321.41,-2000.87,34.4667,210.563,-74.5998],[2293.34,-1900.16,33.9667,207.495,-74.2388],[2265.06,-1801.13,33.4667,204.387,-73.864],[2235.59,-1700.57,32.95,201.135,-73.4612],[2205.9,-1601.84,32.4333,197.841,-73.0418],[2175,-1501.87,31.9,194.398,-72.5904],[2142.89,-1400.9,31.35,190.805,-72.1038],[2110.51,-1302.09,30.8,187.168,-71.5944],[2076.9,-1202.59,30.2333,183.377,-71.0439],[2042.01,-1102.65,29.65,179.431,-70.4481],[2005.84,-1002.52,29.05,175.328,-69.802],[1968.36,-902.471,28.4333,171.067,-69.0998],[1928.53,-800.194,27.7833,166.531,-68.3141],[1888.38,-701.235,27.1333,161.953,-67.4773],[1845.81,-600.832,26.45,157.102,-66.5372],[1801.85,-501.898,25.75,152.097,-65.5033],[1754.35,-400.363,25,146.705,-64.307],[1705.39,-301.419,24.2333,141.171,-62.9784],[1652.79,-201.493,23.4167,135.267,-61.4303],[1596.48,-101.716,22.55,129.014,-59.6169],[1535.31,-1.58942,21.6167,122.322,-57.4383],[1468.07,98.7007,20.6,115.131,-54.7545],[1392.42,199.546,19.4667,107.308,-51.3114],[1305.9,299.582,18.1833,98.8328,-46.723],[1201.44,399.076,16.65,89.5137,-40.0741],[1055.46,499.995,14.5333,78.9116,-28.3833],[784.065,573.114,10.6667,70.9356,-0.00298628]]], - [56,586.797,[[2277.53,-2003.32,34.6667,210.763,-75.0045],[2250.16,-1902.32,34.1667,207.689,-74.6531],[2222.57,-1802.99,33.6667,204.574,-74.2882],[2193.84,-1702.12,33.15,201.314,-73.8961],[2164.88,-1603.08,32.6333,198.012,-73.4878],[2134.74,-1502.79,32.1,194.56,-73.0483],[2103.42,-1401.47,31.55,190.956,-72.5745],[2071.85,-1302.32,31,187.307,-72.0784],[2039.06,-1202.47,30.4333,183.504,-71.5423],[2005.04,-1102.16,29.85,179.543,-70.962],[1969.76,-1001.65,29.25,175.424,-70.3325],[1933.21,-901.194,28.6333,171.145,-69.6483],[1895.36,-801.085,28,166.705,-68.9028],[1856.2,-701.612,27.35,162.105,-68.0885],[1814.7,-600.664,26.6667,157.228,-67.1734],[1771.83,-501.166,25.9667,152.194,-66.1666],[1726.54,-401.241,25.2333,146.887,-65.0283],[1678.8,-301.56,24.4667,141.313,-63.7358],[1627.52,-200.843,23.65,135.362,-62.229],[1572.62,-100.218,22.7833,129.05,-60.4628],[1514.05,-0.906974,21.8667,122.407,-58.3788],[1449.58,98.958,20.8667,115.241,-55.81],[1376.93,199.863,19.75,107.409,-52.51],[1294.82,299.332,18.5,98.9733,-48.1657],[1195.26,399.594,17,89.5646,-41.8429],[1062.08,499.647,15.0167,79.0041,-31.2078],[773.769,586.796,10.8,69.1514,-0.0569679]]], - [57,600.289,[[2231.37,-2003.24,34.85,210.886,-75.4033],[2204.69,-1902,34.35,207.805,-75.0612],[2177.8,-1802.42,33.85,204.683,-74.706],[2149.8,-1701.28,33.3333,201.414,-74.3242],[2121.58,-1601.98,32.8167,198.103,-73.9267],[2092.21,-1501.42,32.2833,194.641,-73.4987],[2062.62,-1402.86,31.75,191.135,-73.0516],[2030.92,-1300.38,31.1833,187.364,-72.5542],[1998.96,-1200.23,30.6167,183.547,-72.032],[1966.75,-1102.44,30.05,179.686,-71.4832],[1932.38,-1001.53,29.45,175.55,-70.8708],[1896.76,-900.666,28.8333,171.253,-70.205],[1859.89,-800.129,28.2,166.794,-69.4795],[1821.73,-700.213,27.55,162.172,-68.6868],[1782.28,-601.223,26.8833,157.389,-67.8182],[1740.52,-501.144,26.1833,152.326,-66.8393],[1696.4,-400.604,25.45,146.986,-65.732],[1649.89,-300.276,24.6833,141.374,-64.4742],[1600.95,-200.874,23.8833,135.498,-63.0384],[1548.51,-101.269,23.0333,129.252,-61.3556],[1491.47,-0.894107,22.1167,122.539,-59.3314],[1429.74,98.5317,21.1333,115.404,-56.8777],[1360.05,199.481,20.0333,107.568,-53.7217],[1281.17,299.567,18.8,99.075,-49.5593],[1187.5,399.247,17.35,89.7091,-43.6271],[1063.36,499.957,15.45,79.0431,-33.743],[778.46,599.962,11.1667,67.3128,-2.08701],[761.633,600.289,10.9167,67.3541,-0.000967134]]], - [58,613.574,[[2182.99,-2000.65,35.0167,210.931,-75.7969],[2157.88,-1902.56,34.5333,207.946,-75.4752],[2131.71,-1802.72,34.0333,204.817,-75.1298],[2104.44,-1701.31,33.5167,201.54,-74.7586],[2076.96,-1601.73,33,198.22,-74.372],[2048.38,-1500.88,32.4667,194.748,-73.9558],[2019.56,-1402.04,31.9333,191.233,-73.521],[1989.61,-1302.24,31.3833,187.562,-73.0518],[1958.51,-1201.7,30.8167,183.733,-72.5445],[1926.23,-1100.69,30.2333,179.744,-71.9953],[1893.7,-1002.21,29.65,175.709,-71.4164],[1859.03,-900.918,29.0333,171.395,-70.7695],[1824.08,-802.555,28.4167,167.035,-70.0835],[1786.95,-702.093,27.7667,162.392,-69.3142],[1747.59,-600.096,27.0833,157.465,-68.4492],[1707.91,-501.862,26.4,152.496,-67.5206],[1664.98,-400.689,25.6667,147.124,-66.4452],[1620.7,-301.835,24.9167,141.596,-65.2509],[1573.08,-201.616,24.1167,135.676,-63.8578],[1522.05,-101.134,23.2667,129.377,-62.224],[1467.56,-1.58116,22.3667,122.72,-60.295],[1407.5,99.0238,21.3833,115.5,-57.9132],[1340.73,199.837,20.3,107.67,-54.8949],[1266.07,299.051,19.1,99.2472,-50.9664],[1177.07,399.067,17.6833,89.8439,-45.3495],[1061.69,499.768,15.8667,79.154,-36.1955],[857.61,599.913,12.7,66.9928,-14.0308],[749.929,613.572,11.05,65.5324,-0.111994]]], - [59,626.634,[[2134.15,-2002.37,35.2,211.104,-76.207],[2108.89,-1900.66,34.7,208.009,-75.8837],[2083.42,-1800.6,34.2,204.872,-75.5479],[2057.76,-1702.22,33.7,201.693,-75.1989],[2031.04,-1602.36,33.1833,198.365,-74.8236],[2003.24,-1501.21,32.65,194.884,-74.4194],[1975.21,-1402.07,32.1167,191.359,-73.9971],[1946.09,-1301.95,31.5667,187.677,-73.5413],[1915.84,-1201.09,31,183.836,-73.0486],[1885.35,-1102.6,30.4333,179.948,-72.5306],[1852.81,-1000.92,29.8333,175.783,-71.9525],[1820.01,-901.975,29.2333,171.569,-71.3413],[1785.11,-800.536,28.6,167.072,-70.6571],[1749.92,-702.229,27.9667,162.528,-69.9289],[1712.59,-602.183,27.3,157.699,-69.1104],[1673.07,-500.984,26.6,152.582,-68.1874],[1632.27,-401.522,25.8833,147.301,-67.1674],[1589.23,-301.995,25.1333,141.738,-66.0088],[1542.94,-201.051,24.3333,135.775,-64.6568],[1494.3,-101.717,23.5,129.547,-63.103],[1441.33,-1.20239,22.6,122.827,-61.232],[1383.94,98.812,21.6333,115.649,-58.9612],[1320.05,199.476,20.5667,107.83,-56.081],[1248.52,299.063,19.3833,99.3748,-52.3273],[1164.08,399.114,18,89.9609,-47.0132],[1057.16,499.178,16.2667,79.3227,-38.565],[883.177,599.943,13.4833,66.9484,-19.8307],[736.444,626.632,11.1667,63.6978,-0.110691]]], - [60,639.456,[[2083.14,-2001.61,35.3667,211.199,-76.6123],[2059.41,-1903.05,34.8833,208.202,-76.309],[2034.68,-1802.71,34.3833,205.059,-75.9835],[2008.92,-1700.79,33.8667,201.766,-75.6336],[1982.96,-1600.68,33.35,198.43,-75.2691],[1956.79,-1502.43,32.8333,195.049,-74.8891],[1929.57,-1402.97,32.3,191.514,-74.4796],[1901.27,-1302.53,31.75,187.822,-74.0376],[1871.89,-1201.34,31.1833,183.969,-73.5597],[1842.27,-1102.5,30.6167,180.069,-73.0572],[1810.66,-1000.46,30.0167,175.889,-72.4964],[1778.8,-901.144,29.4167,171.659,-71.9033],[1745.79,-801.953,28.8,167.263,-71.2573],[1710.72,-700.61,28.15,162.58,-70.5324],[1674.45,-600.144,27.4833,157.726,-69.7377],[1636.98,-500.875,26.8,152.705,-68.8634],[1597.36,-400.855,26.0833,147.394,-67.8741],[1555.55,-300.74,25.3333,141.796,-66.75],[1511.53,-201.223,24.55,135.916,-65.4663],[1464.3,-101.104,23.7167,129.639,-63.96],[1413.82,-1.54683,22.8333,122.983,-62.1805],[1358.1,99.5374,21.8667,115.727,-59.9799],[1297.03,199.881,20.8167,107.929,-57.2318],[1228.57,299.647,19.65,99.4527,-53.6455],[1148.59,399.449,18.3,90.0528,-48.6218],[1048.84,499.147,16.6333,79.437,-40.7631],[896.344,599.615,14.1167,67.0194,-24.4538],[722.297,639.454,11.2833,61.8449,-0.138757]]], - [61,652.023,[[2030.83,-2001.8,35.5333,211.321,-77.0231],[2007.81,-1903.01,35.05,208.318,-76.7292],[1983.81,-1802.43,34.55,205.168,-76.4136],[1958.81,-1700.27,34.0333,201.868,-76.0744],[1934.43,-1603.13,33.5333,198.631,-75.7327],[1908.22,-1501.42,33,195.133,-75.3526],[1881.81,-1401.7,32.4667,191.589,-74.9555],[1854.35,-1300.99,31.9167,187.885,-74.5269],[1826.68,-1202.46,31.3667,184.135,-74.0774],[1797.09,-1100.39,30.7833,180.107,-73.5761],[1767.27,-1000.85,30.2,176.029,-73.0475],[1736.36,-901.152,29.6,171.784,-72.473],[1704.33,-801.563,28.9833,167.371,-71.847],[1671.18,-702.367,28.35,162.788,-71.1632],[1636,-601.375,27.6833,157.914,-70.3941],[1599.65,-501.561,27,152.868,-69.5479],[1561.21,-400.966,26.2833,147.528,-68.5902],[1520.66,-300.242,25.5333,141.896,-67.5015],[1477.95,-200.084,24.75,135.976,-66.2576],[1433.06,-101.234,23.9333,129.778,-64.8279],[1384.1,-0.812037,23.05,123.063,-63.1048],[1330.98,99.5379,22.1,115.858,-61.0112],[1272.71,199.55,21.0667,108.087,-58.3954],[1207.27,299.485,19.9167,99.5981,-54.9781],[1131.66,398.97,18.6,90.2286,-50.2449],[1036.91,499.877,16.9667,79.4715,-42.8005],[900.938,599.551,14.65,67.0925,-28.3221],[706.489,652.022,11.3833,59.9788,-0.043247]]], - [62,664.32,[[1977.24,-2002.97,35.7,211.47,-77.4393],[1954.16,-1900.55,35.2,208.356,-77.1449],[1931.67,-1803.12,34.7167,205.304,-76.8494],[1907.44,-1700.69,34.2,201.997,-76.5211],[1883.02,-1600.09,33.6833,198.645,-76.1791],[1858.41,-1501.32,33.1667,195.247,-75.8225],[1832.81,-1401.33,32.6333,191.693,-75.4381],[1806.2,-1300.34,32.0833,187.979,-75.0231],[1779.38,-1201.52,31.5333,184.217,-74.5879],[1751.53,-1102.03,30.9667,180.293,-74.1167],[1722.64,-1002.12,30.3833,176.202,-73.6055],[1692.68,-902.02,29.7833,171.943,-73.0499],[1661.65,-802.02,29.1667,167.513,-72.4444],[1629.53,-702.397,28.5333,162.912,-71.7829],[1595.44,-600.952,27.8667,158.016,-71.0387],[1560.21,-500.669,27.1833,152.946,-70.2197],[1523.84,-401.88,26.4833,147.703,-69.3149],[1484.55,-300.527,25.7333,142.039,-68.2625],[1444.06,-201.798,24.9667,136.208,-67.0863],[1399.68,-100.16,24.1333,129.836,-65.6761],[1353.14,-0.823273,23.2667,123.192,-64.0408],[1302.6,98.7834,22.3333,116.044,-62.0538],[1247.07,198.453,21.3167,108.307,-59.5705],[1183.7,299.927,20.1667,99.6893,-56.2709],[1112.33,398.825,18.8833,90.3722,-51.8154],[1023.42,499.673,17.3,79.6175,-44.8557],[899.431,599.75,15.1167,67.153,-31.7137],[691.05,664.318,11.5,58.0906,-0.134875]]], - [63,676.336,[[1921.61,-2001.68,35.85,211.542,-77.8514],[1900.02,-1902.46,35.3667,208.526,-77.5762],[1877.5,-1801.44,34.8667,205.363,-77.2808],[1854.81,-1702.09,34.3667,202.156,-76.9736],[1831.17,-1601.21,33.85,198.796,-76.6431],[1807.36,-1502.17,33.3333,195.391,-76.2985],[1782.58,-1401.9,32.8,191.828,-75.927],[1756.83,-1300.61,32.25,188.105,-75.5259],[1730.87,-1201.5,31.7,184.332,-75.1052],[1703.92,-1101.7,31.1333,180.396,-74.6497],[1675.95,-1001.45,30.55,176.292,-74.1556],[1646.96,-901.023,29.95,172.018,-73.6183],[1616.93,-800.675,29.3333,167.571,-73.0328],[1585.84,-700.692,28.7,162.952,-72.393],[1553.67,-601.367,28.05,158.157,-71.6916],[1519.59,-500.597,27.3667,153.063,-70.9004],[1484.39,-401.305,26.6667,147.794,-70.0261],[1447.22,-301.621,25.9333,142.225,-69.0324],[1407.19,-200.117,25.15,136.23,-67.8714],[1365.98,-101.839,24.35,130.07,-66.5641],[1320.96,-1.60608,23.4833,123.373,-64.9874],[1272.07,98.9755,22.55,116.158,-63.07],[1218.35,199.718,21.5333,108.333,-60.6707],[1158.83,299.608,20.4167,99.8476,-57.5776],[1090.71,399.069,19.15,90.4777,-53.337],[1007.46,499.471,17.6167,79.7666,-46.8422],[894.037,599.578,15.55,67.2796,-34.8832],[674.014,676.334,11.6,56.1894,-0.0994391]]], - [64,688.051,[[1864.75,-2001.41,36,211.641,-78.2692],[1843.88,-1901.99,35.5167,208.62,-78.0035],[1822.11,-1800.76,35.0167,205.45,-77.7181],[1800.18,-1701.19,34.5167,202.236,-77.4214],[1777.34,-1600.09,34,198.868,-77.1022],[1754.32,-1500.83,33.4833,195.454,-76.7694],[1730.37,-1400.32,32.95,191.883,-76.4105],[1706.23,-1301.83,32.4167,188.263,-76.035],[1681.15,-1202.41,31.8667,184.481,-75.6292],[1655.1,-1102.29,31.3,180.533,-75.1897],[1628.08,-1001.71,30.7167,176.416,-74.7129],[1600.06,-900.927,30.1167,172.128,-74.1944],[1571.04,-800.216,29.5,167.666,-73.6292],[1541.79,-702.457,28.8833,163.152,-73.0283],[1509.91,-600.141,28.2167,158.214,-72.3344],[1477.78,-501.381,27.55,153.223,-71.5895],[1443.77,-401.566,26.85,147.928,-70.7464],[1407.86,-301.33,26.1167,142.328,-69.7878],[1370.01,-201.349,25.35,136.426,-68.6923],[1329.36,-100.339,24.5333,130.096,-67.4052],[1286.7,-1.31403,23.6833,123.477,-65.9128],[1240.31,98.3886,22.7667,116.327,-64.0978],[1189.28,198.638,21.7667,108.548,-61.8263],[1131.8,299.92,20.65,99.948,-58.8479],[1066.87,399.741,19.4,90.5396,-54.8135],[989.11,499.332,17.9167,79.9101,-48.7635],[884.05,599.991,15.9333,67.3362,-37.7272],[656.38,688.049,11.7,54.271,-0.0966951]]], - [65,699.455,[[1806.67,-2002.16,36.15,211.768,-78.6922],[1786.52,-1902.53,35.6667,208.741,-78.4361],[1765.52,-1801.07,35.1667,205.565,-78.161],[1744.36,-1701.29,34.6667,202.345,-77.875],[1723.03,-1603.19,34.1667,199.08,-77.5775],[1700.1,-1500.46,33.6333,195.549,-77.2465],[1677.71,-1402.82,33.1167,192.081,-76.9115],[1653.69,-1300.96,32.5667,188.339,-76.5385],[1629.49,-1201.28,32.0167,184.547,-76.1471],[1604.35,-1100.89,31.45,180.587,-75.7232],[1578.28,-1000.03,30.8667,176.458,-75.2633],[1551.99,-901.737,30.2833,172.275,-74.7775],[1523.99,-800.648,29.6667,167.798,-74.2331],[1495.77,-702.507,29.05,163.267,-73.6542],[1465.78,-602.301,28.4,158.435,-73.0028],[1434.01,-500.595,27.7167,153.297,-72.2676],[1401.2,-400.335,27.0167,147.977,-71.4548],[1367.34,-301.867,26.3,142.476,-70.5523],[1330.82,-201.282,25.5333,136.541,-69.4975],[1292.41,-101.641,24.7333,130.3,-68.2842],[1251.27,-1.81168,23.8833,123.632,-66.8488],[1206.53,98.7669,22.9667,116.421,-65.1018],[1157.3,199.981,21.9667,108.563,-62.9129],[1103.52,299.457,20.8833,100.115,-60.1314],[1041.75,399.632,19.65,90.6786,-56.3057],[968.464,499.323,18.2,80.0395,-50.6231],[871.462,599.905,16.3,67.4684,-40.4794],[638.151,699.453,11.8,52.3362,-0.13011]]], - [66,710.533,[[1746.7,-2000.5,36.2833,211.819,-79.1119],[1727.29,-1900.7,35.8,208.786,-78.8653],[1707.73,-1802.43,35.3167,205.711,-78.6093],[1687.34,-1702.41,34.8167,202.484,-78.3342],[1666.11,-1600.83,34.3,199.103,-78.0382],[1644.71,-1501.08,33.7833,195.675,-77.7295],[1622.44,-1400.07,33.25,192.086,-77.3966],[1600,-1301.08,32.7167,188.449,-77.0483],[1576.69,-1201.13,32.1667,184.646,-76.6717],[1552.47,-1100.45,31.6,180.676,-76.2638],[1528.07,-1002.16,31.0333,176.654,-75.8342],[1502.03,-900.711,30.4333,172.339,-75.3535],[1475.79,-802.01,29.8333,167.969,-74.844],[1447.86,-700.849,29.2,163.299,-74.2719],[1418.98,-600.306,28.55,158.447,-73.6446],[1389.12,-500.687,27.8833,153.413,-72.9543],[1358.27,-402.314,27.2,148.197,-72.1918],[1324.9,-301.016,26.4667,142.541,-71.3041],[1290.5,-202.058,25.7167,136.702,-70.312],[1253.51,-101.758,24.9167,130.424,-69.146],[1213.88,-1.22291,24.0667,123.709,-67.7658],[1171.58,98.3475,23.1667,116.572,-66.1173],[1124.98,198.926,22.1833,108.77,-64.0516],[1073.2,299.653,21.1,100.221,-61.3816],[1014.53,399.986,19.8833,90.7691,-57.7559],[945.61,499.494,18.4667,80.1478,-52.4253],[856.362,599.402,16.65,67.6618,-43.1394],[692.182,699.861,13.35,52.1208,-15.9917],[618.489,710.533,11.8833,50.3882,-0.0188724]]], - [67,721.272,[[1686.22,-2003.38,36.4333,212.003,-79.5452],[1667.56,-1903.35,35.95,208.966,-79.3084],[1648.1,-1801.48,35.45,205.779,-79.0541],[1628.49,-1701.27,34.95,202.546,-78.7897],[1608.73,-1602.75,34.45,199.268,-78.5145],[1588.15,-1502.74,33.9333,195.833,-78.2182],[1566.74,-1401.46,33.4,192.238,-77.8986],[1545.17,-1302.19,32.8667,188.592,-77.5642],[1522.75,-1201.96,32.3167,184.781,-77.2026],[1499.46,-1100.99,31.75,180.801,-76.811],[1476,-1002.4,31.1833,176.767,-76.3984],[1450.96,-900.634,30.5833,172.44,-75.9368],[1425.73,-801.612,29.9833,168.056,-75.4474],[1398.88,-700.109,29.35,163.37,-74.8979],[1371.82,-601.757,28.7167,158.625,-74.3111],[1343.11,-501.682,28.05,153.572,-73.6488],[1312.73,-400.475,27.35,148.205,-72.8987],[1281.37,-301.028,26.6333,142.651,-72.0652],[1248.3,-201.543,25.8833,136.782,-71.1127],[1212.73,-100.676,25.0833,130.466,-69.9928],[1175.39,-1.45512,24.25,123.839,-68.6938],[1134.73,98.8966,23.35,116.646,-67.1118],[1090.69,198.689,22.3833,108.907,-65.1636],[1041.69,299.051,21.3167,100.395,-62.6447],[986.09,399.537,20.1167,90.937,-59.2208],[920.641,499.893,18.7167,80.228,-54.1741],[838.051,599.376,16.9667,67.7915,-45.6115],[698.793,699.982,14.05,52.1585,-22.9039],[599.109,721.27,11.9833,48.4213,-0.132577]]], - [68,731.658,[[1623.31,-2000.4,36.55,212.007,-79.9675],[1605.39,-1900.23,36.0667,208.964,-79.7402],[1587.34,-1801.59,35.5833,205.877,-79.5043],[1568.52,-1701.18,35.0833,202.639,-79.2508],[1549.55,-1602.46,34.5833,199.354,-78.9869],[1529.8,-1502.24,34.0667,195.912,-78.7028],[1509.25,-1400.75,33.5333,192.309,-78.3963],[1488.54,-1301.25,33,188.655,-78.0755],[1467.02,-1200.79,32.45,184.834,-77.7287],[1445.34,-1102.53,31.9,180.961,-77.3643],[1422.16,-1000.75,31.3167,176.798,-76.9571],[1398.79,-901.523,30.7333,172.579,-76.5268],[1374.58,-802.164,30.1333,168.182,-76.058],[1348.81,-700.304,29.5,163.481,-75.5314],[1322.85,-601.59,28.8667,158.72,-74.969],[1295.3,-501.131,28.2,153.647,-74.3342],[1266.84,-401.889,27.5167,148.387,-73.6327],[1236.75,-301.924,26.8,142.809,-72.835],[1205.02,-201.89,26.05,136.91,-71.9229],[1170.9,-100.432,25.25,130.558,-70.8501],[1135.07,-0.590791,24.4167,123.889,-69.6051],[1096.78,98.6309,23.5333,116.778,-68.1178],[1054.53,199.299,22.5667,108.971,-66.2521],[1008.26,299.132,21.5167,100.505,-63.8775],[955.67,399.586,20.3333,91.052,-60.6468],[894.398,499.461,18.9667,80.4012,-55.9391],[817.473,599.169,17.2667,67.9464,-48.0032],[695.481,699.88,14.6,52.2724,-28.3284],[578.366,731.657,12.0667,46.4417,-0.0966186]]], - [69,741.681,[[1559.91,-2001.99,36.6833,212.145,-80.4028],[1542.76,-1901.62,36.2,209.097,-80.1854],[1525.46,-1802.78,35.7167,206.006,-79.9598],[1507.44,-1702.16,35.2167,202.762,-79.7172],[1489.28,-1603.23,34.7167,199.472,-79.4648],[1470.36,-1502.79,34.2,196.024,-79.193],[1450.68,-1401.06,33.6667,192.413,-78.8998],[1430.85,-1301.34,33.1333,188.752,-78.593],[1410.24,-1200.63,32.5833,184.922,-78.2611],[1389.47,-1102.12,32.0333,181.04,-77.9125],[1367.27,-1000.08,31.45,176.866,-77.5229],[1344.9,-900.59,30.8667,172.635,-77.1111],[1321.71,-800.957,30.2667,168.224,-76.6623],[1297.68,-701.452,29.65,163.633,-76.1719],[1272.82,-602.36,29.0167,158.856,-75.6344],[1246.44,-501.499,28.35,153.766,-75.0275],[1219.19,-401.842,27.6667,148.485,-74.3568],[1190.38,-301.437,26.95,142.882,-73.5938],[1160,-200.939,26.2,136.955,-72.7212],[1128.01,-101.049,25.4167,130.702,-71.717],[1093.7,-0.562983,24.5833,123.993,-70.5274],[1057.05,99.3487,23.7,116.832,-69.1053],[1017.3,199.1,22.75,109.097,-67.3529],[973.007,299.926,21.7,100.547,-65.0834],[924.089,398.823,20.55,91.2443,-62.0861],[866.166,499.302,19.2,80.5401,-57.6533],[794.002,599.722,17.5333,67.9959,-50.2298],[686.084,699.642,15.0667,52.4282,-32.9674],[557.105,741.68,12.15,44.447,-0.10227]]], - [70,751.324,[[1494.83,-2001.23,36.8,212.208,-80.8356],[1478.43,-1900.7,36.3167,209.156,-80.6279],[1461.91,-1801.7,35.8333,206.059,-80.4125],[1444.68,-1700.91,35.3333,202.809,-80.1809],[1427.33,-1601.81,34.8333,199.513,-79.9398],[1409.25,-1501.2,34.3167,196.057,-79.6801],[1391.04,-1402.45,33.8,192.553,-79.4089],[1372.09,-1302.48,33.2667,188.884,-79.1162],[1352.4,-1201.51,32.7167,185.047,-78.7996],[1332.56,-1102.75,32.1667,181.156,-78.467],[1311.35,-1000.43,31.5833,176.972,-78.0952],[1289.97,-900.661,31,172.73,-77.7022],[1267.82,-800.738,30.4,168.307,-77.2739],[1244.87,-700.932,29.7833,163.701,-76.8058],[1221.11,-601.528,29.15,158.909,-76.2926],[1195.91,-500.336,28.4833,153.801,-75.7132],[1169.87,-400.337,27.8,148.499,-75.0726],[1143,-301.865,27.1,143.003,-74.3614],[1113.97,-200.881,26.35,137.049,-73.5291],[1083.41,-100.479,25.5667,130.765,-72.5709],[1051.3,-1.40486,24.75,124.152,-71.4594],[1016.29,99.2236,23.8667,116.944,-70.1042],[978.328,199.753,22.9167,109.15,-68.4328],[936.698,299.91,21.8833,100.656,-66.3033],[889.981,399.941,20.7333,91.2446,-63.4441],[836.038,499.453,19.4167,80.6394,-59.3215],[769.213,599.373,17.8,68.1663,-52.4756],[671.798,699.615,15.4667,52.5539,-37.0156],[535.327,751.322,12.2333,42.4376,-0.156095]]], - [71,760.579,[[1428.69,-2001.59,36.9167,212.301,-81.2733],[1413.06,-1900.9,36.4333,209.244,-81.0756],[1397.31,-1801.73,35.95,206.143,-80.8704],[1380.9,-1700.77,35.45,202.888,-80.6498],[1364.36,-1601.49,34.95,199.586,-80.4202],[1347.13,-1500.69,34.4333,196.124,-80.1729],[1329.77,-1401.75,33.9167,192.612,-79.9147],[1311.72,-1301.59,33.3833,188.936,-79.6359],[1292.95,-1200.42,32.8333,185.09,-79.3343],[1274.04,-1101.45,32.2833,181.191,-79.0174],[1254.4,-1001.81,31.7167,177.116,-78.6736],[1234.04,-901.743,31.1333,172.864,-78.2997],[1212.92,-801.514,30.5333,168.431,-77.8922],[1191.05,-701.392,29.9167,163.812,-77.4468],[1168.42,-601.659,29.2833,159.006,-76.9585],[1144.41,-500.119,28.6167,153.88,-76.407],[1120.21,-402.161,27.95,148.689,-75.8126],[1093.99,-300.914,27.2333,143.041,-75.1198],[1066.94,-201.729,26.5,137.194,-74.3455],[1037.83,-100.792,25.7167,130.88,-73.4344],[1007.24,-1.15458,24.9,124.231,-72.377],[974.513,98.2415,24.0333,117.115,-71.113],[938.352,199.578,23.0833,109.264,-69.5249],[899.337,299.068,22.0667,100.834,-67.5348],[855.488,398.89,20.9333,91.4564,-64.8622],[804.113,499.958,19.6167,80.6939,-60.9479],[741.787,599.957,18.0333,68.2055,-54.573],[653.688,699.807,15.8167,52.6434,-40.655],[512.366,760.579,12.3,40.4157,-0.0336949]]], - [72,769.436,[[1361.51,-2003.11,37.0333,212.424,-81.7156],[1346.66,-1902.23,36.55,209.364,-81.5279],[1331.7,-1802.89,36.0667,206.259,-81.3332],[1316.1,-1701.74,35.5667,202.999,-81.1238],[1300.38,-1602.27,35.0667,199.692,-80.9059],[1284.01,-1501.28,34.55,196.225,-80.6711],[1267.52,-1402.14,34.0333,192.707,-80.426],[1250.36,-1301.76,33.5,189.024,-80.1613],[1232.53,-1200.38,32.95,185.171,-79.875],[1214.55,-1101.19,32.4,181.263,-79.5741],[1195.9,-1001.33,31.8333,177.179,-79.2476],[1176.54,-901.027,31.25,172.917,-78.8925],[1156.48,-800.555,30.65,168.471,-78.5055],[1135.7,-700.179,30.0333,163.84,-78.0825],[1114.19,-600.185,29.4,159.018,-77.6185],[1091.94,-500.869,28.75,154.005,-77.108],[1068.37,-400.129,28.0667,148.666,-76.5295],[1044.04,-300.892,27.3667,143.128,-75.8869],[1018.35,-201.292,26.6333,137.257,-75.152],[991.276,-102.01,25.8667,131.049,-74.3063],[962.214,-1.78568,25.05,124.366,-73.3042],[931.127,98.2396,24.1833,117.209,-72.1057],[897.379,198.552,23.25,109.443,-70.6273],[860.321,298.945,22.2333,100.944,-68.7422],[818.671,399.784,21.1,91.4699,-66.2068],[771.112,499.654,19.8167,80.8364,-62.5906],[713.175,599.694,18.2667,68.357,-56.6898],[632.685,699.967,16.1333,52.739,-44.0467],[489.605,769.434,12.3833,38.3784,-0.19544]]], - [73,777.878,[[1292.83,-2002.29,37.1333,212.474,-82.1562],[1278.76,-1901.28,36.65,209.409,-81.9785],[1264.58,-1801.8,36.1667,206.299,-81.7941],[1249.81,-1700.51,35.6667,203.034,-81.5958],[1234.91,-1600.9,35.1667,199.721,-81.3894],[1219.91,-1502.99,34.6667,196.36,-81.1743],[1203.78,-1400.46,34.1333,192.723,-80.9348],[1188.03,-1303.04,33.6167,189.149,-80.6921],[1171.14,-1201.43,33.0667,185.289,-80.4212],[1154.12,-1102.01,32.5167,181.373,-80.1366],[1136.45,-1001.91,31.95,177.282,-79.8278],[1118.11,-901.357,31.3667,173.01,-79.4919],[1099.11,-800.624,30.7667,168.554,-79.1256],[1079.96,-702.661,30.1667,164.036,-78.7364],[1059.59,-602.304,29.5333,159.203,-78.2981],[1037.98,-500.101,28.8667,154.046,-77.8029],[1016.2,-401.474,28.2,148.821,-77.2691],[993.158,-301.825,27.5,143.264,-76.6617],[968.827,-201.789,26.7667,137.371,-75.9669],[943.191,-102.047,26,131.136,-75.1673],[915.668,-1.32814,25.1833,124.421,-74.2193],[886.227,99.2264,24.3167,117.224,-73.085],[854.84,198.38,23.4,109.547,-71.7114],[819.749,299.557,22.3833,100.983,-69.9288],[780.891,399.866,21.2667,91.5585,-67.5667],[736.45,499.726,20,80.9302,-64.195],[682.784,599.526,18.4833,68.4898,-58.7476],[609.586,699.638,16.4333,52.9193,-47.3283],[465.737,777.876,12.45,36.3291,-0.17473]]], - [74,785.899,[[1223.19,-2002.65,37.2333,212.555,-82.6013],[1209.91,-1901.5,36.75,209.486,-82.4337],[1196.53,-1801.87,36.2667,206.372,-82.2597],[1182.58,-1700.43,35.7667,203.102,-82.0727],[1168.52,-1600.66,35.2667,199.784,-81.878],[1154.36,-1502.6,34.7667,196.418,-81.6752],[1139.61,-1403.08,34.25,192.89,-81.4564],[1124.27,-1302.32,33.7167,189.194,-81.2201],[1108.33,-1200.53,33.1667,185.327,-80.9646],[1092.26,-1100.93,32.6167,181.403,-80.696],[1075.58,-1000.64,32.05,177.303,-80.4046],[1058.77,-902.745,31.4833,173.144,-80.0969],[1040.83,-801.738,30.8833,168.679,-79.7518],[1022.26,-700.808,30.2667,164.024,-79.3745],[1003.03,-600.238,29.6333,159.177,-78.9606],[983.142,-500.327,28.9833,154.134,-78.5051],[962.588,-401.383,28.3167,148.893,-78.0018],[940.839,-301.397,27.6167,143.318,-77.4291],[917.876,-201.006,26.8833,137.402,-76.7738],[893.682,-100.89,26.1167,131.142,-76.0193],[868.238,-1.77464,25.3167,124.533,-75.1438],[840.456,99.336,24.45,117.299,-74.075],[810.839,199.083,23.5333,109.575,-72.7801],[778.271,299.329,22.5333,101.091,-71.1278],[742.157,399.116,21.4333,91.7244,-68.9389],[700.785,498.974,20.1833,81.1125,-65.813],[650.719,599.502,18.6833,68.5975,-60.7514],[583.93,699.585,16.7,53.0463,-50.3851],[441.44,785.897,12.5167,34.267,-0.212242]]], - [75,793.49,[[1152.2,-2000.69,37.3167,212.562,-83.0453],[1140.14,-1902.9,36.85,209.595,-82.8933],[1127.56,-1803.11,36.3667,206.477,-82.7299],[1114.45,-1701.51,35.8667,203.204,-82.5543],[1101.23,-1601.57,35.3667,199.882,-82.3714],[1087.47,-1500.1,34.85,196.398,-82.1744],[1073.6,-1400.47,34.3333,192.863,-81.9686],[1059.63,-1302.71,33.8167,189.277,-81.7536],[1044.64,-1200.74,33.2667,185.403,-81.5135],[1029.54,-1100.95,32.7167,181.472,-81.2612],[1013.86,-1000.46,32.15,177.364,-80.9874],[998.053,-902.357,31.5833,173.197,-80.6983],[981.193,-801.136,30.9833,168.722,-80.3741],[964.202,-702.679,30.3833,164.183,-80.0295],[946.13,-601.797,29.75,159.325,-79.6412],[927.438,-501.561,29.1,154.27,-79.2139],[908.118,-402.281,28.4333,149.014,-78.7416],[887.676,-301.939,27.7333,143.422,-78.2041],[866.092,-201.172,27,137.486,-77.589],[843.35,-100.659,26.2333,131.202,-76.8806],[819.435,-1.12552,25.4333,124.565,-76.0582],[793.826,98.5506,24.5833,117.435,-75.0744],[765.991,198.919,23.6667,109.668,-73.8599],[735.383,299.851,22.6667,101.126,-72.3089],[701.959,398.957,21.5833,91.8259,-70.2861],[663.08,499.878,20.3333,81.1001,-67.3516],[617.083,599.661,18.8667,68.6745,-62.7067],[555.921,699.97,16.9333,53.0896,-53.2406],[416.185,793.489,12.5667,32.1934,-0.0289032]]], - [76,800.636,[[1080.75,-2003.46,37.4167,212.706,-83.4989],[1069.06,-1902.04,36.9333,209.63,-83.3517],[1057.29,-1802.14,36.45,206.508,-83.1988],[1045.01,-1700.41,35.95,203.231,-83.0345],[1032.64,-1600.36,35.45,199.904,-82.8634],[1020.18,-1502.01,34.95,196.528,-82.6851],[1007.21,-1402.19,34.4333,192.988,-82.4928],[993.707,-1301.11,33.9,189.28,-82.2851],[980.105,-1202.06,33.3667,185.518,-82.0675],[965.971,-1102.07,32.8167,181.582,-81.8317],[951.296,-1001.37,32.25,177.466,-81.5758],[936.073,-900.199,31.6667,173.168,-81.2974],[920.732,-801.603,31.0833,168.808,-81.0025],[904.39,-700.212,30.4667,164.132,-80.671],[887.922,-601.785,29.85,159.391,-80.3173],[870.43,-501.293,29.2,154.323,-79.9176],[852.352,-401.749,28.5333,149.052,-79.476],[833.222,-301.127,27.8333,143.443,-78.9732],[813.025,-200.063,27.1,137.488,-78.3978],[792.208,-101.377,26.35,131.318,-77.7498],[769.832,-1.40161,25.55,124.655,-76.9817],[745.872,98.7488,24.7,117.492,-76.0623],[719.828,199.634,23.7833,109.685,-74.9267],[691.67,299.515,22.8,101.233,-73.5016],[660.402,399.405,21.7167,91.8611,-71.612],[624.517,499.976,20.4833,81.1734,-68.9071],[582.472,598.996,19.05,68.8574,-64.6772],[526.754,699.456,17.1667,53.2877,-56.1157],[401.617,799.968,12.9833,30.2897,-6.70571],[391.084,800.634,12.6333,30.1068,-0.201704]]], - [77,807.332,[[1007.66,-2000.39,37.4833,212.671,-83.9467],[997.155,-1902.38,37.0167,209.698,-83.8143],[986.194,-1802.35,36.5333,206.573,-83.6721],[974.767,-1700.49,36.0333,203.291,-83.5192],[963.251,-1600.31,35.5333,199.96,-83.36],[951.648,-1501.82,35.0333,196.58,-83.1941],[939.567,-1401.87,34.5167,193.035,-83.0151],[927,-1300.65,33.9833,189.322,-82.8219],[914.337,-1201.46,33.45,185.554,-82.6193],[901.178,-1101.31,32.9,181.611,-82.3999],[887.516,-1000.45,32.3333,177.488,-82.1617],[873.749,-901.98,31.7667,173.305,-81.9102],[859.06,-800.36,31.1667,168.812,-81.628],[844.258,-701.501,30.5667,164.254,-81.328],[828.513,-600.191,29.9333,159.373,-80.9901],[812.648,-502.051,29.3,154.423,-80.6278],[795.82,-402.224,28.6333,149.14,-80.2172],[778.013,-301.302,27.9333,143.516,-79.7497],[759.642,-202.175,27.2167,137.679,-79.2272],[739.836,-100.908,26.45,131.352,-78.6118],[719.007,-0.580008,25.65,124.664,-77.897],[696.704,99.9474,24.8,117.47,-77.0412],[672.904,199.467,23.9,109.767,-76.004],[646.697,299.937,22.9167,101.266,-74.6791],[618.044,399.017,21.85,91.9734,-72.9502],[585.102,499.253,20.6333,81.3342,-70.4753],[545.978,599.601,19.2,68.8603,-66.5477],[495.514,699.547,17.3667,53.3707,-58.8111],[399.141,799.896,13.9,30.3976,-23.2202],[365.107,807.331,12.6833,28.0096,-0.141835]]], - [78,813.57,[[934.165,-2002.08,37.5667,212.774,-84.4031],[924.097,-1900.46,37.0833,209.692,-84.2764],[913.952,-1800.35,36.6,206.563,-84.1447],[903.73,-1701.78,36.1167,203.387,-84.0079],[893.074,-1601.45,35.6167,200.052,-83.8608],[882.338,-1502.82,35.1167,196.669,-83.7074],[871.159,-1402.72,34.6,193.12,-83.542],[859.531,-1301.34,34.0667,189.402,-83.3634],[847.814,-1201.99,33.5333,185.629,-83.1761],[835.637,-1101.68,32.9833,181.68,-82.9732],[822.995,-1000.65,32.4167,177.552,-82.7529],[810.257,-902.006,31.85,173.362,-82.5204],[796.665,-800.202,31.25,168.861,-82.2595],[782.968,-701.157,30.65,164.294,-81.982],[768.784,-602.279,30.0333,159.533,-81.6779],[753.718,-501.309,29.3833,154.442,-81.3343],[738.147,-401.27,28.7167,149.146,-80.9544],[721.67,-300.123,28.0167,143.506,-80.5218],[704.67,-200.765,27.3,137.652,-80.0383],[686.743,-101.402,26.55,131.443,-79.4815],[667.473,-0.698024,25.75,124.732,-78.821],[647.245,98.3146,24.9167,117.653,-78.0464],[625.229,198.397,24.0167,109.916,-77.0897],[600.985,299.49,23.0333,101.371,-75.8671],[574.479,399.251,21.9667,92.0181,-74.2703],[544.425,498.978,20.7667,81.4376,-72.0163],[508.659,599.411,19.35,68.9651,-68.4362],[462.837,699.575,17.55,53.4579,-61.4372],[381.463,799.984,14.3833,30.4873,-32.1485],[338.797,813.568,12.7333,25.9016,-0.155417]]], - [79,819.34,[[859.567,-2001.49,37.6333,212.805,-84.859],[850.636,-1903.25,37.1667,209.826,-84.7466],[841.316,-1803,36.6833,206.695,-84.6258],[831.6,-1700.9,36.1833,203.407,-84.496],[821.809,-1600.48,35.6833,200.069,-84.3607],[811.943,-1501.75,35.1833,196.681,-84.2199],[801.671,-1401.55,34.6667,193.128,-84.0679],[790.986,-1300.06,34.1333,189.405,-83.9037],[780.218,-1200.6,33.6,185.626,-83.7316],[769.029,-1100.18,33.05,181.671,-83.5451],[757.755,-1001.98,32.5,177.657,-83.3488],[745.707,-900.275,31.9167,173.338,-83.129],[733.565,-801.141,31.3333,168.954,-82.896],[720.982,-701.894,30.7333,164.38,-82.6414],[707.597,-600.17,30.1,159.481,-82.3545],[694.109,-501.613,29.4667,154.51,-82.0469],[679.804,-401.343,28.8,149.203,-81.6982],[665.028,-302.319,28.1167,143.685,-81.3109],[649.047,-200.342,27.3833,137.68,-80.8569],[632.577,-100.712,26.6333,131.453,-80.3456],[615.243,-1.76919,25.85,124.861,-79.7521],[596.288,99.5919,25,117.614,-79.0268],[576.438,198.208,24.1167,109.989,-78.1645],[554.167,299.807,23.1333,101.402,-77.0425],[530.201,398.634,22.0833,92.1411,-75.601],[502.596,499.176,20.8833,81.4809,-73.5348],[470.133,599.494,19.4833,69.0261,-70.2902],[428.831,699.581,17.7167,53.5413,-64],[359.242,799.698,14.7667,30.6949,-39.486],[312.161,819.339,12.7833,23.7833,-0.261939]]], - [80,824.633,[[784.267,-2002.14,37.7,212.868,-85.3185],[775.838,-1900.32,37.2167,209.78,-85.2124],[767.344,-1800.02,36.7333,206.645,-85.1023],[758.786,-1701.25,36.25,203.463,-84.9879],[749.865,-1600.72,35.75,200.122,-84.8648],[740.876,-1501.88,35.25,196.73,-84.7365],[731.517,-1401.56,34.7333,193.173,-84.5981],[722.087,-1303.11,34.2167,189.563,-84.4533],[711.971,-1200.38,33.6667,185.662,-84.2919],[702.087,-1102.85,33.1333,181.823,-84.1272],[691.505,-1001.5,32.5667,177.683,-83.9432],[680.842,-902.541,32,173.482,-83.7488],[669.465,-800.397,31.4,168.967,-83.5307],[657.999,-701.009,30.8,164.385,-83.2988],[646.126,-601.776,30.1833,159.606,-83.0445],[633.515,-500.428,29.5333,154.496,-82.7571],[620.808,-402.464,28.8833,149.311,-82.4475],[607.017,-300.809,28.1833,143.647,-82.0862],[592.79,-200.924,27.4667,137.764,-81.6822],[577.786,-101.006,26.7167,131.521,-81.2169],[561.996,-1.75795,25.9333,124.91,-80.6768],[544.729,99.9367,25.0833,117.639,-80.0164],[526.645,198.902,24.2,109.985,-79.231],[506.703,299.237,23.2333,101.506,-78.2273],[484.873,398.645,22.1833,92.1958,-76.9165],[459.729,499.856,20.9833,81.4627,-75.0351],[430.512,599.867,19.6,69.0402,-72.1154],[393.609,699.598,17.8667,53.6146,-66.5061],[333.115,799.979,15.05,30.7172,-45.4092],[284.847,824.633,12.8167,21.6556,-0.0582101]]], - [81,829.445,[[708.033,-2000.52,37.75,212.86,-85.7778],[700.694,-1902.13,37.2833,209.876,-85.6855],[693.034,-1801.71,36.8,206.739,-85.5863],[685.316,-1702.83,36.3167,203.555,-85.4833],[677.271,-1602.18,35.8167,200.211,-85.3723],[669.165,-1503.22,35.3167,196.817,-85.2567],[660.725,-1402.77,34.8,193.257,-85.132],[651.945,-1301.04,34.2667,189.527,-84.9973],[643.098,-1201.33,33.7333,185.74,-84.8561],[633.905,-1100.64,33.1833,181.776,-84.703],[624.641,-1002.17,32.6333,177.753,-84.5419],[614.741,-900.187,32.05,173.422,-84.3615],[604.765,-800.766,31.4667,169.025,-84.1702],[594.426,-701.221,30.8667,164.437,-83.9611],[583.718,-601.826,30.25,159.651,-83.732],[572.345,-500.305,29.6,154.532,-83.4729],[560.885,-402.167,28.95,149.337,-83.1938],[548.449,-300.322,28.25,143.662,-82.8681],[535.619,-200.242,27.5333,137.766,-82.5038],[522.088,-100.117,26.7833,131.507,-82.0841],[507.847,-0.652985,26,124.878,-81.5969],[492.582,99.3405,25.1667,117.729,-81.0134],[476.276,198.684,24.2833,110.049,-80.3062],[458.294,299.436,23.3167,101.536,-79.4019],[438.61,399.301,22.2667,92.1807,-78.2201],[416.254,499.716,21.0833,81.5316,-76.5486],[390.231,599.446,19.7167,69.1558,-73.9548],[357.282,699.662,18,53.6719,-68.9619],[305.017,799.92,15.3,30.8374,-50.9358],[257.618,829.443,12.8667,19.5188,-0.402107]]], - [82,833.767,[[631.215,-2000.16,37.8,212.885,-86.2406],[624.678,-1901.7,37.3333,209.898,-86.1583],[617.856,-1801.22,36.85,206.759,-86.07],[610.981,-1702.26,36.3667,203.572,-85.9782],[603.815,-1601.54,35.8667,200.225,-85.8795],[596.595,-1502.51,35.3667,196.828,-85.7765],[589.078,-1401.98,34.85,193.265,-85.6655],[581.258,-1300.17,34.3167,189.531,-85.5454],[573.378,-1200.37,33.7833,185.739,-85.4197],[565.439,-1102.63,33.25,181.892,-85.2877],[556.939,-1001.05,32.6833,177.742,-85.1399],[548.374,-901.851,32.1167,173.53,-84.9838],[539.491,-802.264,31.5333,169.13,-84.8137],[530.283,-702.546,30.9333,164.536,-84.6278],[520.49,-600.322,30.3,159.614,-84.4183],[510.621,-501.26,29.6667,154.618,-84.1935],[500.153,-400.453,29,149.282,-83.9387],[489.341,-300.874,28.3167,143.731,-83.6555],[477.916,-200.578,27.6,137.825,-83.3314],[465.866,-100.225,26.85,131.553,-82.958],[453.185,-0.519108,26.0667,124.908,-82.5243],[439.591,99.733,25.2333,117.739,-82.0049],[425.071,199.352,24.35,110.036,-81.3751],[409.335,298.738,23.4,101.64,-80.5844],[391.808,399.096,22.35,92.2451,-79.5341],[372.183,498.739,21.1833,81.6895,-78.0707],[349.014,599.333,19.8167,69.2223,-75.7682],[319.965,699.797,18.1167,53.7082,-71.3747],[275.166,799.696,15.5167,30.9986,-56.085],[229.797,833.765,12.9,17.3736,-0.419179]]], - [83,837.598,[[553.843,-2001.08,37.85,212.943,-86.7062],[548.112,-1902.54,37.3833,209.956,-86.6342],[542.132,-1801.97,36.9,206.814,-86.5568],[536.107,-1702.94,36.4167,203.626,-86.4764],[529.826,-1602.13,35.9167,200.277,-86.3898],[523.498,-1503.01,35.4167,196.878,-86.2996],[516.908,-1402.4,34.9,193.312,-86.2023],[510.054,-1300.49,34.3667,189.575,-86.0973],[503.147,-1200.6,33.8333,185.78,-85.987],[496.188,-1102.76,33.3,181.929,-85.8714],[488.737,-1001.07,32.7333,177.776,-85.7418],[481.23,-901.775,32.1667,173.56,-85.6052],[473.443,-802.081,31.5833,169.154,-85.4561],[465.372,-702.252,30.9833,164.555,-85.2931],[457.014,-602.562,30.3667,159.757,-85.1144],[448.137,-500.727,29.7167,154.624,-84.9125],[439.192,-402.273,29.0667,149.414,-84.695],[429.485,-300.084,28.3667,143.719,-84.4409],[419.703,-201.936,27.6667,137.94,-84.1637],[409.143,-101.331,26.9167,131.658,-83.8369],[398.029,-1.36094,26.1333,125.001,-83.4574],[386.115,99.176,25.3,117.816,-83.0028],[373.389,199.1,24.4167,110.092,-82.4515],[359.598,298.816,23.4667,101.67,-81.7592],[344.237,399.542,22.4167,92.2392,-80.8388],[327.037,499.598,21.25,81.6327,-79.5553],[306.98,599.552,19.9,69.2374,-77.5612],[282.025,699.173,18.2333,53.8723,-73.8002],[243.529,799.915,15.6833,31.0108,-60.7491],[201.755,837.595,12.9333,15.221,-0.586775]]], - [84,840.927,[[475.953,-2003.29,37.9,213.036,-87.1742],[470.858,-1901.17,37.4167,209.94,-87.1102],[465.723,-1800.56,36.9333,206.797,-87.0438],[460.549,-1701.49,36.45,203.605,-86.9746],[455.156,-1600.63,35.95,200.254,-86.9003],[449.722,-1501.48,35.45,196.851,-86.8229],[444.064,-1400.82,34.9333,193.282,-86.7393],[438.364,-1302.02,34.4167,189.659,-86.6519],[432.434,-1202.03,33.8833,185.863,-86.5574],[426.273,-1101.05,33.3333,181.888,-86.455],[420.065,-1002.28,32.7833,177.853,-86.3471],[413.62,-902.859,32.2167,173.634,-86.2298],[406.743,-800.228,31.6167,169.098,-86.0983],[399.814,-700.349,31.0167,164.493,-85.9582],[392.638,-600.607,30.4,159.689,-85.8046],[385.211,-501.288,29.7667,154.681,-85.6357],[377.335,-400.208,29.1,149.33,-85.4441],[369.199,-300.348,28.4167,143.763,-85.2312],[360.802,-202.044,27.7167,137.976,-84.9933],[351.737,-101.271,26.9667,131.683,-84.713],[342.196,-1.12264,26.1833,125.014,-84.3872],[331.968,99.6048,25.35,117.814,-83.997],[321.043,199.732,24.4667,110.071,-83.5237],[309.204,299.669,23.5167,101.626,-82.9289],[296.227,399.116,22.4833,92.3142,-82.1517],[281.464,499.625,21.3167,81.6643,-81.0513],[264.461,598.972,19.9833,69.3544,-79.3645],[243.042,699.514,18.3167,53.8565,-76.1415],[210.868,799.81,15.8333,31.1122,-65.2952],[173.281,840.926,12.95,13.0605,-0.265009]]], - [85,843.751,[[397.436,-2003.24,37.9333,213.057,-87.6422],[393.183,-1901.07,37.45,209.96,-87.5889],[388.898,-1800.41,36.9667,206.815,-87.5334],[384.58,-1701.29,36.4833,203.622,-87.4757],[380.079,-1600.39,35.9833,200.269,-87.4137],[375.545,-1501.18,35.4833,196.864,-87.3491],[370.823,-1400.46,34.9667,193.293,-87.2794],[366.065,-1301.62,34.45,189.667,-87.2064],[361.117,-1201.56,33.9167,185.868,-87.1275],[355.974,-1100.52,33.3667,181.891,-87.042],[350.793,-1001.69,32.8167,177.853,-86.952],[345.415,-902.212,32.25,173.63,-86.8541],[339.836,-802.331,31.6667,169.217,-86.7474],[334.054,-702.308,31.0667,164.609,-86.6308],[328.066,-602.417,30.45,159.802,-86.5028],[321.706,-500.369,29.8,154.657,-86.3583],[315.297,-401.699,29.15,149.435,-86.2025],[308.509,-301.668,28.4667,143.863,-86.025],[301.335,-200.893,27.75,137.93,-85.8218],[293.77,-100.033,27,131.628,-85.5877],[285.978,-1.87301,26.2333,125.09,-85.3217],[277.443,99.0712,25.4,117.879,-84.9965],[268.327,199.431,24.5167,110.121,-84.6019],[258.448,299.619,23.5667,101.657,-84.106],[247.62,399.342,22.5333,92.319,-83.4577],[235.478,498.814,21.3833,81.7854,-82.5541],[221.114,599.874,20.0333,69.2634,-81.1294],[203.421,699.992,18.3833,53.8091,-78.4616],[177.119,799.915,15.95,31.1371,-69.6118],[144.675,843.75,12.9667,10.8942,-0.0219361]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 285.978; -_maxRange = 1642.72; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg2.sqf deleted file mode 100644 index d782979c3b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg2.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_m821a2_m734_prox_chg2 -// Ammo: ace_arty_81mm_m821a2_m734_prox -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,789.969,[[4042.98,-2001.17,37.4333,224.642,-67.7834],[4001.76,-1901.36,36.95,222.089,-67.3191],[3960.21,-1803.04,36.4667,219.509,-66.8401],[3916.87,-1702.91,35.9667,216.813,-66.3283],[3871.71,-1601.17,35.45,213.998,-65.7812],[3826.17,-1501.19,34.9333,211.157,-65.2149],[3780.25,-1403.02,34.4167,208.29,-64.6281],[3730.96,-1300.52,33.8667,205.211,-63.98],[3681.24,-1200.11,33.3167,202.107,-63.3063],[3631.1,-1101.84,32.7667,198.979,-62.6056],[3579.01,-1002.85,32.2,195.735,-61.8539],[3523.37,-900.57,31.6,192.278,-61.0231],[3467.24,-800.939,31,188.803,-60.1542],[3409.05,-701.34,30.3833,185.216,-59.219],[3348.76,-602.047,29.75,181.522,-58.2112],[3284.73,-500.859,29.0833,177.627,-57.0951],[3218.5,-400.738,28.4,173.637,-55.8882],[3150.03,-302.007,27.7,169.559,-54.5812],[3075.98,-200.592,26.95,165.213,-53.0957],[2999.57,-101.663,26.1833,160.808,-51.4792],[2917.38,-1.63169,25.3667,156.176,-49.6398],[2829.29,98.3962,24.5,151.353,-47.5451],[2733.44,198.955,23.5667,146.297,-45.1118],[2627.9,299.907,22.55,141,-42.2354],[2512.4,398.894,21.45,135.579,-38.8384],[2377.79,499.48,20.1833,129.842,-34.5373],[2216.19,599.733,18.6833,123.929,-28.8853],[2000.85,699.615,16.7167,118.016,-20.5835],[1516.74,789.967,12.4167,114.708,-0.0544003]]], - [46,816.588,[[4007.14,-2003.08,37.7667,224.94,-68.2452],[3966.68,-1902.81,37.2833,222.377,-67.7907],[3924.48,-1800.64,36.7833,219.696,-67.3052],[3881.93,-1700.08,36.2833,216.987,-66.8036],[3839.03,-1601.15,35.7833,214.251,-66.2849],[3794.33,-1500.66,35.2667,211.395,-65.7302],[3749.25,-1401.97,34.75,208.512,-65.1555],[3702.34,-1301.99,34.2167,205.51,-64.5403],[3653.55,-1200.96,33.6667,202.387,-63.881],[3604.34,-1102.05,33.1167,199.239,-63.1952],[3553.22,-1002.39,32.55,195.972,-62.4594],[3500.14,-902.23,31.9667,192.586,-61.669],[3445.07,-801.809,31.3667,189.083,-60.8191],[3387.98,-701.389,30.75,185.466,-59.9041],[3328.82,-601.244,30.1167,181.737,-58.9178],[3267.57,-501.66,29.4667,177.901,-57.8531],[3202.6,-400.513,28.7833,173.866,-56.6725],[3135.43,-300.719,28.0833,169.738,-55.3934],[3064.41,-200.383,27.35,165.43,-53.972],[2989.46,-100.161,26.5833,160.958,-52.3901],[2910.51,-0.753311,25.7833,156.342,-50.6266],[2825.79,98.9934,24.9333,151.517,-48.6164],[2733.5,199.678,24.0167,146.434,-46.2783],[2633.45,299.618,23.0333,141.164,-43.5574],[2522,399.906,21.95,135.635,-40.2846],[2397.09,498.787,20.75,129.941,-36.2989],[2245.95,599.804,19.3167,123.891,-31.016],[2053.25,699.836,17.5167,117.769,-23.574],[1717.78,799.945,14.45,112.285,-9.16942],[1512.97,816.587,12.6167,112.592,-0.0270467]]], - [47,843.149,[[3967.57,-2002.47,38.0833,225.176,-68.6971],[3927.88,-1901.78,37.6,222.603,-68.2521],[3887.85,-1802.56,37.1167,220.001,-67.7928],[3846.11,-1701.5,36.6167,217.281,-67.302],[3804.02,-1602.06,36.1167,214.532,-66.7946],[3760.17,-1501.04,35.6,211.663,-66.2518],[3715.95,-1401.81,35.0833,208.765,-65.6894],[3669.93,-1301.28,34.55,205.746,-65.0872],[3623.52,-1202.72,34.0167,202.7,-64.4618],[3573.79,-1100.17,33.45,199.436,-63.7705],[3525.12,-1002.82,32.9,196.244,-63.0716],[3473.06,-901.958,32.3167,192.834,-62.2985],[3419.04,-800.805,31.7167,189.304,-61.4669],[3364.56,-702.323,31.1167,185.755,-60.5962],[3306.55,-601.31,30.4833,181.993,-59.6318],[3246.49,-500.826,29.8333,178.119,-58.5905],[3184.33,-401.17,29.1667,174.14,-57.4643],[3118.48,-300.294,28.4667,169.963,-56.2139],[3050.44,-201.072,27.75,165.698,-54.8561],[2978.58,-101.693,27,161.258,-53.3446],[2901.2,-0.789115,26.2,156.565,-51.6219],[2819.8,98.6351,25.3667,151.744,-49.6963],[2731.02,199.4,24.4667,146.643,-47.4536],[2634.67,299.862,23.5,141.323,-44.84],[2528.87,399.729,22.45,135.787,-41.7404],[2409.97,499.21,21.2833,130.013,-37.9531],[2270.67,598.992,19.9333,123.963,-33.0908],[2094.5,699.972,18.25,117.632,-26.2861],[1833.33,799.527,15.8,111.546,-15.0309],[1507.91,843.149,12.8167,110.452,-0.0172469]]], - [48,869.624,[[3925.68,-2002.86,38.4,225.44,-69.155],[3886.76,-1901.73,37.9167,222.857,-68.7195],[3847.51,-1802.07,37.4333,220.245,-68.2701],[3806.57,-1700.55,36.9333,217.513,-67.7899],[3765.3,-1600.65,36.4333,214.751,-67.2933],[3723.69,-1502.4,35.9333,211.961,-66.7795],[3680.34,-1402.62,35.4167,209.05,-66.2297],[3635.21,-1301.53,34.8833,206.015,-65.6409],[3589.71,-1202.39,34.35,202.951,-65.0293],[3542.4,-1102.23,33.8,199.765,-64.3734],[3493.24,-1001.27,33.2333,196.454,-63.6694],[3443.66,-902.621,32.6667,193.119,-62.935],[3390.71,-800.721,32.0667,189.563,-62.1221],[3337.31,-701.484,31.4667,185.985,-61.2708],[3281.95,-602.307,30.85,182.29,-60.3532],[3223.08,-500.906,30.2,178.38,-59.3358],[3162.16,-400.298,29.5333,174.36,-58.2351],[3099.17,-300.795,28.85,170.236,-57.0423],[3032.5,-200.434,28.1333,165.917,-55.7157],[2963.65,-102.036,27.4,161.516,-54.2719],[2889.43,-1.80206,26.6167,156.848,-52.6252],[2809.7,99.2205,25.7833,151.94,-50.7449],[2724.35,199.895,24.9,146.828,-48.5945],[2633.26,298.991,23.9667,141.563,-46.131],[2531.34,399.849,22.9333,135.948,-43.1536],[2418.3,499.599,21.8,130.12,-39.5604],[2287.07,599.792,20.5,123.982,-34.9848],[2126.79,699.996,18.9333,117.584,-28.7949],[1904.91,799.667,16.8,111.155,-19.2123],[1501.55,869.623,13.0167,108.288,-0.0262506]]], - [49,895.98,[[3880.15,-2000.76,38.7,225.642,-69.6039],[3843.31,-1902.71,38.2333,223.139,-69.1927],[3804.85,-1802.61,37.75,220.517,-68.7534],[3764.74,-1700.61,37.25,217.774,-68.2839],[3724.29,-1600.24,36.75,215,-67.7984],[3683.5,-1501.51,36.25,212.197,-67.296],[3641.02,-1401.23,35.7333,209.271,-66.7583],[3598.18,-1302.76,35.2167,206.316,-66.2007],[3553.6,-1203.03,34.6833,203.236,-65.6032],[3507.24,-1102.26,34.1333,200.031,-64.9623],[3459.07,-1000.66,33.5667,196.7,-64.2743],[3410.49,-901.37,33,193.342,-63.5564],[3360.06,-801.595,32.4167,189.86,-62.7843],[3307.74,-701.588,31.8167,186.255,-61.9528],[3253.51,-601.612,31.2,182.528,-61.0563],[3197.32,-501.94,30.5667,178.684,-60.0882],[3137.66,-400.365,29.9,174.624,-59.0136],[3077.47,-302.266,29.2333,170.557,-57.8779],[3012.18,-200.747,28.5167,166.187,-56.5834],[2944.77,-101.151,27.7833,161.727,-55.1737],[2873.63,-1.73239,27.0167,157.09,-53.6001],[2797.14,98.8021,26.2,152.198,-51.8019],[2715.18,199.343,25.3333,147.084,-49.7439],[2627.62,298.691,24.4167,141.792,-47.384],[2531.11,398.743,23.4167,136.201,-44.5747],[2423.8,498.61,22.3167,130.338,-41.1758],[2300.43,598.929,21.0667,124.146,-36.8876],[2152.14,699.5,19.5833,117.637,-31.1727],[1955.91,799.941,17.65,110.936,-22.6932],[1493.87,895.979,13.2167,106.1,-0.0553719]]], - [50,922.19,[[3833.59,-2003.25,39.0167,225.961,-70.073],[3796.22,-1901.27,38.5333,223.359,-69.6569],[3758.54,-1800.76,38.05,220.727,-69.2274],[3720.56,-1701.73,37.5667,218.065,-68.7839],[3680.95,-1600.87,37.0667,215.28,-68.3096],[3641.01,-1501.65,36.5667,212.465,-67.8189],[3599.4,-1400.86,36.05,209.525,-67.2935],[3557.44,-1301.87,35.5333,206.555,-66.7488],[3513.78,-1201.6,35,203.458,-66.1649],[3468.37,-1100.27,34.45,200.234,-65.5385],[3422.59,-1001.06,33.9,196.982,-64.8861],[3375.02,-901.107,33.3333,193.602,-64.1851],[3325.64,-800.647,32.75,190.096,-63.431],[3275.84,-702.69,32.1667,186.565,-62.6419],[3222.74,-601.898,31.55,182.809,-61.767],[3167.74,-501.38,30.9167,178.931,-60.822],[3110.79,-401.423,30.2667,174.935,-59.7996],[3051.88,-302.328,29.6,170.826,-58.6916],[2989.47,-202.065,28.9,166.509,-57.4585],[2923.49,-101.251,28.1667,161.992,-56.0838],[2853.87,-0.545314,27.4,157.289,-54.5483],[2780.55,99.3501,26.6,152.42,-52.8294],[2701.9,199.594,25.75,147.311,-50.8605],[2617.81,299.016,24.85,142.002,-48.6008],[2524.99,399.621,23.8667,136.361,-45.9062],[2423.24,499.134,22.8,130.491,-42.6911],[2307.47,598.932,21.6,124.29,-38.6772],[2169.12,699.916,20.1833,117.683,-33.3545],[1994.13,799.866,18.4167,110.859,-25.7959],[1702.93,899.763,15.5333,104.265,-11.4938],[1483.14,922.19,13.4,103.902,-0.0159432]]], - [51,948.222,[[3783.43,-2003.33,39.3167,226.219,-70.5336],[3746.84,-1900.94,38.8333,223.609,-70.1271],[3709.96,-1800.01,38.35,220.967,-69.7076],[3672.77,-1700.55,37.8667,218.294,-69.2744],[3635.29,-1602.6,37.3833,215.591,-68.8267],[3596.2,-1502.87,36.8833,212.764,-68.3478],[3555.48,-1401.56,36.3667,209.811,-67.8351],[3514.42,-1302.04,35.85,206.827,-67.3034],[3471.69,-1201.22,35.3167,203.715,-66.7334],[3428.6,-1102.36,34.7833,200.572,-66.1407],[3383.8,-1002.51,34.2333,197.301,-65.5045],[3337.25,-901.885,33.6667,193.9,-64.8207],[3288.93,-800.725,33.0833,190.371,-64.085],[3240.2,-702.06,32.5,186.814,-63.315],[3188.24,-600.512,31.8833,183.029,-62.461],[3135.84,-501.837,31.2667,179.222,-61.5633],[3080.13,-400.985,30.6167,175.19,-60.5661],[3022.49,-300.961,29.95,171.04,-59.485],[2962.89,-202.079,29.2667,166.779,-58.3108],[2898.35,-100.125,28.5333,162.207,-56.9701],[2831.74,-0.379169,27.7833,157.545,-55.5053],[2761.54,98.8411,27,152.704,-53.8651],[2686.14,198.749,26.1667,147.606,-51.9851],[2605.46,298.201,25.2833,142.288,-49.8258],[2516.28,399.311,24.3167,136.606,-47.2466],[2418.39,499.852,23.2667,130.654,-44.1633],[2310.01,598.699,22.1167,124.479,-40.4159],[2181.27,699.461,20.7667,117.831,-35.478],[2021.81,799.833,19.1167,110.865,-28.6028],[1787.56,899.726,16.7333,103.819,-17.0911],[1472.84,948.219,13.6,101.668,-0.0880724]]], - [52,974.052,[[3729.7,-2000.98,39.6,226.415,-70.9864],[3695.14,-1901.73,39.1333,223.886,-70.6033],[3659.06,-1800.37,38.65,221.235,-70.1939],[3622.69,-1700.48,38.1667,218.553,-69.7711],[3586.02,-1602.09,37.6833,215.839,-69.3343],[3547.79,-1501.9,37.1833,213.001,-68.8668],[3507.95,-1400.11,36.6667,210.034,-68.3664],[3467.78,-1300.1,36.15,207.036,-67.8473],[3427.29,-1201.91,35.6333,204.006,-67.3085],[3385.15,-1102.49,35.1,200.846,-66.7305],[3341.33,-1002.04,34.55,197.557,-66.1099],[3295.81,-900.794,33.9833,194.136,-65.4428],[3249.9,-801.863,33.4167,190.685,-64.7459],[3202.25,-702.476,32.8333,187.105,-63.9954],[3151.45,-600.156,32.2167,183.291,-63.1629],[3100.21,-500.701,31.6,179.453,-62.2874],[3047.14,-401.585,30.9667,175.49,-61.3403],[2990.79,-300.615,30.3,171.301,-60.2868],[2932.52,-200.753,29.6167,166.996,-59.1421],[2870.86,-100.029,28.9,162.476,-57.865],[2807.2,-1.27637,28.1667,157.859,-56.4702],[2738.59,99.3184,27.3833,152.947,-54.873],[2666.39,198.733,26.5667,147.869,-53.0787],[2587.55,299.894,25.6833,142.449,-50.9748],[2503.42,399.477,24.75,136.839,-48.5489],[2410.85,499.283,23.7333,130.914,-45.644],[2306.56,599.72,22.6,124.613,-42.0492],[2187.11,699.459,21.3167,117.987,-37.4792],[2041,799.78,19.7667,110.937,-31.1946],[1840,899.907,17.6667,103.62,-21.3218],[1459.54,974.049,13.7833,99.4226,-0.0908523]]], - [53,999.647,[[3674.89,-2003.38,39.9,226.731,-71.4585],[3639.91,-1900.18,39.4167,224.103,-71.0715],[3605.85,-1801.91,38.95,221.535,-70.686],[3570.3,-1701.57,38.4667,218.843,-70.2738],[3534.46,-1602.73,37.9833,216.12,-69.848],[3497.08,-1502.07,37.4833,213.27,-69.3922],[3459.41,-1403.06,36.9833,210.388,-68.9203],[3420.15,-1302.5,36.4667,207.376,-68.4147],[3379.3,-1200.59,35.9333,204.234,-67.8726],[3338.11,-1100.64,35.4,201.058,-67.3088],[3296.58,-1002.68,34.8667,197.851,-66.7221],[3252.09,-900.799,34.3,194.41,-66.0721],[3207.23,-801.228,33.7333,190.938,-65.3929],[3160.66,-701.174,33.15,187.333,-64.6612],[3112.36,-600.89,32.55,183.597,-63.872],[3062.29,-500.638,31.9333,179.729,-63.0193],[3010.44,-400.695,31.3,175.733,-62.0966],[2956.76,-301.35,30.65,171.611,-61.0963],[2899.83,-200.488,29.9667,167.263,-59.9817],[2841,-101.025,29.2667,162.8,-58.7676],[2778.83,-1.07688,28.5333,158.126,-57.4103],[2713.24,98.6927,27.7667,153.253,-55.8892],[2642.73,199.58,26.95,148.095,-54.1431],[2568.65,298.593,26.1,142.785,-52.174],[2488,398.417,25.1833,137.156,-49.8591],[2399.13,498.959,24.1833,131.176,-47.0824],[2300.35,599.327,23.0833,124.859,-43.6915],[2188.37,698.919,21.85,118.21,-39.4244],[2053.59,799.253,20.3833,111.096,-33.6479],[1876.5,899.484,18.4833,103.606,-24.9707],[1443.36,999.647,13.95,97.166,-0.0199557]]], - [54,1024.98,[[3616.56,-2003.44,40.1833,226.985,-71.923],[3583.57,-1903.38,39.7167,224.441,-71.559],[3549.12,-1801.17,39.2333,221.773,-71.17],[3514.39,-1700.43,38.75,219.071,-70.7682],[3479.37,-1601.18,38.2667,216.337,-70.353],[3442.86,-1500.09,37.7667,213.476,-69.9087],[3406.05,-1400.65,37.2667,210.581,-69.4485],[3368.95,-1302.87,36.7667,207.654,-68.9716],[3329.05,-1200.43,36.2333,204.497,-68.4436],[3290.08,-1103.05,35.7167,201.406,-67.9118],[3248.25,-1001.43,35.1667,198.081,-67.3226],[3206.08,-901.952,34.6167,194.723,-66.7082],[3162.27,-801.724,34.05,191.231,-66.0471],[3116.8,-700.988,33.4667,187.603,-65.3347],[3070.95,-602.763,32.8833,183.946,-64.588],[3022.07,-501.698,32.2667,180.05,-63.7586],[2971.44,-400.911,31.6333,176.022,-62.8608],[2919.03,-300.69,30.9833,171.864,-61.8872],[2864.81,-201.337,30.3167,167.581,-60.8293],[2807.39,-100.818,29.6167,163.072,-59.6483],[2748.08,-2.0017,28.9,158.45,-58.3584],[2684.07,99.0529,28.1333,153.514,-56.8794],[2616.66,199.293,27.3333,148.386,-55.2163],[2544.37,299.88,26.4833,142.986,-53.3013],[2467.1,399.638,25.5833,137.351,-51.0899],[2383.3,498.94,24.6167,131.433,-48.4804],[2289.89,598.939,23.55,125.124,-45.2869],[2183.66,699.241,22.35,118.4,-41.2546],[2058.29,799.676,20.95,111.227,-35.8974],[1899.48,899.677,19.2,103.637,-28.1331],[1639.29,999.851,16.3833,95.9064,-13.2602],[1427.55,1024.97,14.1333,94.8738,-0.067645]]], - [55,1050.01,[[3554.79,-2001.14,40.45,227.179,-72.3807],[3522.57,-1900.74,39.9833,224.626,-72.0259],[3490.1,-1801.68,39.5167,222.041,-71.66],[3456.2,-1700.52,39.0333,219.331,-71.2688],[3422.03,-1600.84,38.55,216.588,-70.8645],[3387.58,-1502.67,38.0667,213.811,-70.4465],[3351.66,-1402.73,37.5667,210.906,-69.9988],[3314.24,-1301.19,37.05,207.869,-69.5191],[3276.51,-1201.46,36.5333,204.797,-69.0211],[3237.25,-1100.42,36,201.59,-68.4866],[3197.67,-1001.36,35.4667,198.35,-67.9303],[3156.52,-901.297,34.9167,194.974,-67.3323],[3113.76,-800.466,34.35,191.461,-66.6886],[3070.66,-701.964,33.7833,187.916,-66.0153],[3024.64,-600.245,33.1833,184.129,-65.2678],[2978.23,-501.215,32.5833,180.311,-64.4823],[2930.13,-402.28,31.9667,176.359,-63.6323],[2879.01,-301.165,31.3167,172.167,-62.686],[2826.12,-200.885,30.65,167.845,-61.6574],[2771.44,-101.755,29.9667,163.398,-60.537],[2713.59,-1.82519,29.25,158.726,-59.2835],[2652.52,98.2609,28.5,153.836,-57.8779],[2586.78,199.88,27.7,148.637,-56.2621],[2519.06,298.061,26.8833,143.365,-54.476],[2443.74,399.662,25.9833,137.624,-52.3301],[2363.46,499.287,25.0333,131.678,-49.8399],[2275.26,598.628,24,125.398,-46.8373],[2174.65,699.311,22.8333,118.628,-43.0338],[2058.36,799.238,21.5,111.455,-38.0856],[1914.12,899.275,19.8667,103.78,-31.0613],[1701.82,999.709,17.5,95.6911,-18.9615],[1408.92,1050.01,14.3,92.5698,-0.0407245]]], - [56,1074.73,[[3490.76,-2000.12,40.7167,227.402,-72.8447],[3460.47,-1902.93,40.2667,224.933,-72.5118],[3428.8,-1803.46,39.8,222.341,-72.156],[3395.74,-1701.88,39.3167,219.623,-71.7755],[3362.42,-1601.77,38.8333,216.87,-71.3822],[3328.82,-1503.16,38.35,214.085,-70.9756],[3293.79,-1402.76,37.85,211.168,-70.5401],[3257.3,-1300.74,37.3333,208.118,-70.0735],[3220.51,-1200.53,36.8167,205.033,-69.5889],[3183.42,-1102.13,36.3,201.913,-69.0855],[3144.83,-1002.5,35.7667,198.657,-68.5447],[3104.7,-901.841,35.2167,195.264,-67.9634],[3063.02,-800.392,34.65,191.732,-67.3377],[3020.99,-701.265,34.0833,188.166,-66.683],[2977.37,-601.686,33.5,184.461,-65.9767],[2932.13,-501.907,32.9,180.617,-65.2136],[2885.24,-402.193,32.2833,176.636,-64.3877],[2835.4,-300.249,31.6333,172.41,-63.468],[2785.14,-201.596,30.9833,168.16,-62.4936],[2731.84,-101.487,30.3,163.671,-61.4054],[2675.46,-0.519196,29.5833,158.949,-60.1874],[2617.26,98.4657,28.85,154.112,-58.8522],[2554.54,199.288,28.0667,148.953,-57.3167],[2488.56,298.918,27.25,143.602,-55.583],[2417.89,398.433,26.3833,137.976,-53.5784],[2341.07,498.339,25.45,132.012,-51.2077],[2256.57,598.461,24.4333,125.675,-48.3445],[2161.41,699.21,23.3,118.886,-44.7632],[2052.47,799.249,22.0167,111.676,-40.1478],[1919.32,899.861,20.4667,103.894,-33.6859],[1737.78,999.641,18.3833,95.6661,-23.3687],[1389.08,1074.73,14.4667,90.2423,-0.0373026]]], - [57,1099.1,[[3424.47,-2000.41,40.9833,227.655,-73.3146],[3394.95,-1902.87,40.5333,225.18,-72.9909],[3364.09,-1803.03,40.0667,222.58,-72.6449],[3331.87,-1701.05,39.5833,219.853,-72.2749],[3299.4,-1600.55,39.1,217.091,-71.8925],[3266.66,-1501.55,38.6167,214.295,-71.497],[3232.52,-1400.73,38.1167,211.367,-71.0734],[3198.11,-1301.56,37.6167,208.404,-70.6344],[3162.27,-1200.85,37.1,205.306,-70.1636],[3126.13,-1101.95,36.5833,202.172,-69.6743],[3088.53,-1001.8,36.05,198.901,-69.1488],[3049.43,-900.598,35.5,195.491,-68.5838],[3010.02,-801.55,34.95,192.045,-67.9938],[2969.08,-701.783,34.3833,188.458,-67.3581],[2926.59,-601.538,33.8,184.731,-66.6721],[2882.52,-501.068,33.2,180.862,-65.9309],[2836.84,-400.636,32.5833,176.852,-65.1284],[2789.54,-300.52,31.95,172.703,-64.258],[2740.59,-201.011,31.3,168.417,-63.3121],[2689.95,-102.411,30.6333,163.998,-62.2819],[2635.05,-0.384005,29.9167,159.228,-61.1003],[2578.38,99.6963,29.1833,154.338,-59.8043],[2518.6,199.584,28.4167,149.226,-58.3458],[2455.68,298.568,27.6167,143.909,-56.6989],[2386.89,399.664,26.75,138.19,-54.7547],[2313.45,499.541,25.8333,132.221,-52.4954],[2233.91,598.501,24.85,125.949,-49.8107],[2144.05,699.013,23.75,119.165,-46.4444],[2040.85,799.966,22.5,111.865,-42.0901],[1919.76,899.107,21.05,104.154,-36.2406],[1759,999.314,19.15,95.7704,-27.1472],[1368.02,1099.1,14.6333,87.8919,-0.0595731]]], - [58,1123.1,[[3355.91,-2002.09,41.25,227.939,-73.7902],[3326.1,-1900.58,40.7833,225.365,-73.4641],[3296.05,-1800.41,40.3167,222.757,-73.1277],[3265.77,-1701.58,39.85,220.116,-72.7806],[3234.15,-1600.68,39.3667,217.345,-72.4091],[3202.28,-1501.26,38.8833,214.54,-72.025],[3169.05,-1400.02,38.3833,211.601,-71.6136],[3135.55,-1300.42,37.8833,208.627,-71.1871],[3101.78,-1202.49,37.3833,205.617,-70.7447],[3066.61,-1103.07,36.8667,202.47,-70.27],[3030.01,-1002.38,36.3333,199.185,-69.76],[2991.96,-900.625,35.7833,195.759,-69.2115],[2953.6,-801.013,35.2333,192.295,-68.6388],[2913.75,-700.659,34.6667,188.688,-68.0216],[2873.57,-602.65,34.1,185.046,-67.375],[2830.69,-501.47,33.5,181.153,-66.656],[2786.24,-400.302,32.8833,177.117,-65.8775],[2741.42,-302.038,32.2667,173.047,-65.0557],[2693.79,-201.653,31.6167,168.727,-64.1389],[2644.52,-102.145,30.95,164.27,-63.14],[2592.35,-1.48096,30.25,159.566,-62.0214],[2537.22,99.7179,29.5167,154.624,-60.7656],[2480.34,198.641,28.7667,149.563,-59.3834],[2419.13,298.983,27.9667,144.175,-57.7881],[2353.51,399.652,27.1167,138.48,-55.9409],[2283.4,499.468,26.2167,132.512,-53.7931],[2207.37,598.796,25.25,126.213,-51.238],[2122.67,698.781,24.1833,119.456,-48.0794],[2026.39,799.015,22.9833,112.197,-44.0398],[1912.83,899.303,21.5833,104.366,-38.5821],[1767.72,999.838,19.8167,95.8698,-30.4062],[1529.72,1099.65,16.9667,86.9611,-14.152],[1344.31,1123.1,14.7833,85.528,-0.000671256]]], - [59,1146.68,[[3284.05,-2001.51,41.5,228.163,-74.2602],[3256.09,-1903.28,41.05,225.675,-73.955],[3226.87,-1802.71,40.5833,223.06,-73.6288],[3197.42,-1703.49,40.1167,220.412,-73.2922],[3166.68,-1602.16,39.6333,217.634,-72.9319],[3135.68,-1502.33,39.15,214.819,-72.5594],[3103.37,-1400.64,38.65,211.871,-72.1603],[3070.79,-1300.6,38.15,208.886,-71.7466],[3037.95,-1202.22,37.65,205.864,-71.3174],[3003.74,-1102.34,37.1333,202.705,-70.8568],[2968.15,-1001.16,36.6,199.405,-70.3619],[2932.27,-901.959,36.0667,196.067,-69.8462],[2894.97,-801.768,35.5167,192.587,-69.291],[2856.22,-700.81,34.95,188.962,-68.6926],[2817.16,-602.192,34.3833,185.299,-68.0657],[2775.46,-500.361,33.7833,181.382,-67.3684],[2733.42,-401.232,33.1833,177.429,-66.6343],[2689.85,-302.206,32.5667,173.332,-65.8381],[2643.54,-201.01,31.9167,168.979,-64.9496],[2595.65,-100.663,31.25,164.484,-63.9812],[2546.14,-1.47996,30.5667,159.851,-62.923],[2493.77,98.4858,29.85,154.971,-61.7351],[2438.5,198.589,29.1,149.854,-60.3975],[2380.26,298.139,28.3167,144.511,-58.8861],[2317.76,398.349,27.4833,138.846,-57.1353],[2249.63,499.883,26.5833,132.776,-55.0583],[2177.06,599.4,25.6333,126.462,-52.6287],[2097.36,698.582,24.6,119.754,-49.6702],[2006.47,799.034,23.4333,112.468,-45.8757],[1900.18,899.772,22.0833,104.578,-40.7911],[1768.71,999.943,20.4333,96.0536,-33.4175],[1574.68,1099.77,18.0333,86.8771,-20.2388],[1320.85,1146.68,14.95,83.1321,-0.0790145]]], - [60,1169.84,[[3209.97,-2002.36,41.75,228.418,-74.7361],[3181.8,-1900.16,41.2833,225.831,-74.4291],[3154.42,-1802.86,40.8333,223.303,-74.124],[3125.81,-1703.28,40.3667,220.647,-73.7976],[3095.93,-1601.58,39.8833,217.86,-73.4483],[3065.82,-1501.36,39.4,215.037,-73.0871],[3035.47,-1402.66,38.9167,212.178,-72.7132],[3003.82,-1302.16,38.4167,209.182,-72.3125],[2970.86,-1200.05,37.9,206.049,-71.8827],[2938.7,-1102.95,37.4,202.979,-71.4506],[2904.12,-1001.27,36.8667,199.665,-70.9711],[2869.27,-901.563,36.3333,196.312,-70.4714],[2833.03,-800.842,35.7833,192.815,-69.9334],[2796.5,-702.287,35.2333,189.279,-69.3709],[2757.45,-600.16,34.65,185.488,-68.7457],[2718.07,-500.543,34.0667,181.658,-68.089],[2677.23,-400.738,33.4667,177.681,-67.378],[2634.92,-301.011,32.85,173.555,-66.6068],[2591.1,-201.641,32.2167,169.283,-65.7687],[2544.59,-100.433,31.55,164.752,-64.8315],[2496.51,-0.359604,30.8667,160.079,-63.8071],[2446.85,98.2506,30.1667,155.267,-62.6841],[2393.18,199.454,29.4167,150.095,-61.39],[2337.84,298.076,28.65,144.803,-59.9591],[2277.17,399.651,27.8167,139.06,-58.2655],[2213.5,498.983,26.95,133.123,-56.3324],[2144.3,598.655,26.0167,126.802,-54.0283],[2068.22,698.479,25,120.05,-51.2188],[1982.58,798.844,23.8667,112.765,-47.6616],[1883.31,899.576,22.5667,104.861,-42.9395],[1763.62,999.257,21.0167,96.3429,-36.2676],[1596.66,1099.5,18.8833,86.9856,-25.003],[1294.82,1169.84,15.1,80.7226,-0.0751407]]], - [61,1192.54,[[3132.69,-2001,41.9833,228.613,-75.2072],[3106.33,-1902.12,41.5333,226.112,-74.9206],[3078.77,-1800.88,41.0667,223.484,-74.6141],[3050.99,-1700.97,40.6,220.82,-74.2977],[3023,-1602.43,40.1333,218.121,-73.9711],[2993.78,-1501.82,39.65,215.29,-73.6214],[2964.32,-1402.72,39.1667,212.421,-73.2594],[2933.61,-1301.8,38.6667,209.416,-72.8714],[2902.65,-1202.54,38.1667,206.373,-72.4689],[2870.41,-1101.74,37.65,203.189,-72.0367],[2837.91,-1002.76,37.1333,199.966,-71.5872],[2804.09,-902.536,36.6,196.6,-71.1038],[2768.94,-801.271,36.05,193.087,-70.5833],[2733.49,-702.166,35.5,189.534,-70.039],[2696.68,-602.35,34.9333,185.833,-69.4517],[2658.48,-502.067,34.35,181.982,-68.8169],[2618.87,-401.568,33.75,177.981,-68.1296],[2577.82,-301.121,33.1333,173.83,-67.384],[2535.32,-201.005,32.5,169.528,-66.5734],[2491.33,-101.51,31.85,165.077,-65.69],[2444.7,-0.524242,31.1667,160.365,-64.7001],[2396.53,99.0301,30.4667,155.509,-63.6146],[2345.64,199.034,29.7333,150.401,-62.3918],[2291.98,298.817,28.9667,145.048,-61.0094],[2234.31,399.668,28.15,139.348,-59.4061],[2173.77,498.586,27.3,133.439,-57.576],[2106.69,599.986,26.3667,127.007,-55.3512],[2035.36,698.522,25.3833,120.339,-52.7277],[1953.57,799.94,24.2667,112.971,-49.3456],[1862.34,898.8,23.0333,105.204,-45.028],[1751.42,999.121,21.55,96.6084,-38.8844],[1603.77,1099.62,19.6,87.1386,-28.9815],[1267.65,1192.54,15.25,78.2906,-0.101407]]], - [62,1214.76,[[3053.26,-2001.15,42.2167,228.841,-75.6844],[3027.71,-1901.95,41.7667,226.334,-75.407],[3000.99,-1800.37,41.3,223.699,-75.1105],[2974.07,-1700.13,40.8333,221.028,-74.8044],[2946.93,-1601.25,40.3667,218.321,-74.4884],[2918.6,-1500.29,39.8833,215.481,-74.1499],[2890.04,-1400.83,39.4,212.603,-73.7997],[2861.27,-1302.89,38.9167,209.688,-73.4369],[2831.27,-1203.2,38.4167,206.635,-73.0477],[2800.01,-1101.95,37.9,203.44,-72.63],[2768.51,-1002.51,37.3833,200.204,-72.1953],[2735.74,-901.81,36.85,196.824,-71.7278],[2701.66,-800.049,36.3,193.295,-71.2245],[2667.31,-700.445,35.75,189.725,-70.6981],[2631.63,-600.11,35.1833,186.005,-70.13],[2595.67,-502.131,34.6167,182.244,-69.5337],[2557.28,-400.997,34.0167,178.22,-68.8695],[2518.58,-302.585,33.4167,174.156,-68.1689],[2477.4,-201.702,32.7833,169.826,-67.3863],[2434.78,-101.413,32.1333,165.343,-66.5334],[2390.71,-2.02259,31.4667,160.71,-65.6013],[2344.05,98.4987,30.7667,155.813,-64.5541],[2294.75,199.525,30.0333,150.655,-63.3739],[2243.9,298.249,29.2833,145.363,-62.069],[2189.2,398.35,28.4833,139.711,-60.5552],[2130.56,498.732,27.6333,133.719,-58.7913],[2066.76,599.983,26.7167,127.298,-56.6847],[1998.87,698.763,25.75,120.615,-54.1992],[1922.07,799.563,24.6667,113.292,-51.0394],[1836.16,898.815,23.4667,105.49,-46.997],[1733.68,998.942,22.05,96.8957,-41.3545],[1600.7,1099.89,20.2333,87.3278,-32.4899],[1368.87,1199.84,17.1167,76.9815,-12.7301],[1238.07,1214.75,15.3833,75.8438,-0.0377235]]], - [63,1236.46,[[2971.66,-2002.82,42.45,229.101,-76.1674],[2946.92,-1903.3,42,226.589,-75.8996],[2921.06,-1801.38,41.5333,223.948,-75.6132],[2895,-1700.79,41.0667,221.27,-75.3175],[2868.73,-1601.56,40.6,218.557,-75.0122],[2841.3,-1500.23,40.1167,215.708,-74.6853],[2813.66,-1400.4,39.6333,212.822,-74.3469],[2785.8,-1302.09,39.15,209.898,-73.9964],[2756.76,-1202.01,38.65,206.834,-73.6204],[2726.5,-1100.35,38.1333,203.627,-73.2168],[2696.01,-1000.51,37.6167,200.379,-72.7967],[2665.27,-902.507,37.1,197.091,-72.3593],[2632.29,-800.237,36.55,193.548,-71.8735],[2599.04,-700.116,36,189.962,-71.3653],[2565.53,-602.178,35.45,186.334,-70.8332],[2529.7,-500.725,34.8667,182.443,-70.2409],[2493.58,-401.8,34.2833,178.509,-69.6176],[2455.08,-300.014,33.6667,174.307,-68.9224],[2416.28,-201.14,33.05,170.064,-68.1867],[2375.03,-100.121,32.4,165.55,-67.3635],[2333.45,-2.43562,31.75,160.998,-66.4868],[2288.31,98.9811,31.05,156.061,-65.4769],[2241.69,198.687,30.3333,150.975,-64.3652],[2192.5,298.492,29.5833,145.628,-63.1079],[2139.58,399.759,28.7833,139.912,-61.6482],[2083.97,499.459,27.95,133.96,-59.9808],[2024.52,598.598,27.0667,127.679,-58.027],[1958.87,699.254,26.1,120.873,-55.6359],[1886.9,799.169,25.05,113.616,-52.6898],[1805,899.837,23.8667,105.699,-48.8552],[1710.63,998.995,22.5167,97.1746,-43.6855],[1590.45,1099.69,20.8167,87.5966,-35.7278],[1406.45,1199.78,18.25,76.9934,-20.2133],[1207.43,1236.46,15.5167,73.3741,-0.00284051]]], - [64,1257.63,[[2887.01,-2002.35,42.6667,229.302,-76.6466],[2863.09,-1902.54,42.2167,226.784,-76.3881],[2838.09,-1800.31,41.75,224.136,-76.1117],[2813.79,-1703,41.3,221.548,-75.8366],[2788.4,-1603.41,40.8333,218.828,-75.5423],[2761.89,-1501.7,40.35,215.973,-75.2271],[2735.17,-1401.49,39.8667,213.079,-74.9008],[2708.24,-1302.79,39.3833,210.146,-74.5628],[2680.16,-1202.31,38.8833,207.073,-74.2002],[2650.92,-1100.23,38.3667,203.855,-73.8109],[2622.4,-1003.17,37.8667,200.701,-73.419],[2591.73,-901.532,37.3333,197.294,-72.9838],[2560.82,-801.883,36.8,193.845,-72.5296],[2528.69,-701.231,36.25,190.244,-72.0399],[2496.3,-602.757,35.7,186.6,-71.5272],[2461.67,-500.728,35.1167,182.69,-70.9564],[2426.76,-401.223,34.5333,178.736,-70.3556],[2390.57,-301.548,33.9333,174.625,-69.7039],[2353.07,-201.968,33.3167,170.356,-68.9955],[2313.22,-100.199,32.6667,165.813,-68.2026],[2273.04,-1.75509,32.0167,161.228,-67.358],[2230.45,98.0976,31.3333,156.371,-66.4088],[2185.42,198.753,30.6167,151.241,-65.3387],[2137.89,299.562,29.8667,145.843,-64.1278],[2087.83,399.833,29.0833,140.185,-62.7517],[2035.19,498.828,28.2667,134.28,-61.1802],[1977.77,599.439,27.3833,127.909,-59.301],[1916.55,698.332,26.45,121.226,-57.0821],[1848.16,798.803,25.4167,113.936,-54.2988],[1771.34,899.304,24.2667,106.037,-50.7233],[1682.5,999.509,22.95,97.4187,-45.8855],[1573.39,1099.58,21.35,87.8788,-38.7058],[1416.82,1199.91,19.0833,77.1346,-25.6173],[1175.73,1257.63,15.65,70.8826,-0.000141299]]], - [65,1278.24,[[2800.26,-2003.48,42.8833,229.536,-77.1317],[2777.17,-1903.36,42.4333,227.013,-76.8827],[2753.04,-1800.82,41.9667,224.36,-76.6164],[2729.58,-1703.2,41.5167,221.766,-76.3514],[2705.07,-1603.28,41.05,219.039,-76.0678],[2679.49,-1501.24,40.5667,216.176,-75.7641],[2653.69,-1400.69,40.0833,213.274,-75.4497],[2627.7,-1301.64,39.6,210.332,-75.1241],[2600.6,-1200.8,39.1,207.249,-74.7746],[2573.28,-1101.62,38.6,204.125,-74.4117],[2544.83,-1000.91,38.0833,200.854,-74.0218],[2516.16,-902.039,37.5667,197.542,-73.6156],[2486.32,-801.927,37.0333,194.079,-73.1783],[2455.31,-700.794,36.4833,190.463,-72.7068],[2424.05,-601.834,35.9333,186.803,-72.2131],[2391.59,-502.18,35.3667,182.987,-71.6794],[2357.9,-402.077,34.7833,179.014,-71.1015],[2322.98,-301.779,34.1833,174.881,-70.4746],[2286.79,-201.555,33.5667,170.587,-69.7929],[2249.33,-101.684,32.9333,166.133,-69.05],[2210.56,-2.46119,32.2833,161.518,-68.2381],[2169.48,98.2189,31.6,156.624,-67.3255],[2126.03,199.751,30.8833,151.452,-66.2961],[2081.2,299.276,30.15,146.126,-65.1577],[2033.94,398.53,29.3833,140.532,-63.8644],[1983.17,498.785,28.5667,134.559,-62.3556],[1928.83,598.91,27.7,128.225,-60.5855],[1869.8,699.408,26.7667,121.437,-58.4546],[1805.98,798.524,25.7667,114.247,-55.8691],[1732.99,899.984,24.6333,106.275,-52.4891],[1650.62,999.501,23.3667,97.7141,-48.0277],[1550.97,1099.08,21.85,88.2144,-41.5188],[1413.57,1199.86,19.7833,77.3638,-30.1336],[1142.97,1278.24,15.7833,68.3694,-0.0334902]]], - [66,1298.26,[[2710.62,-2002.51,43.0833,229.712,-77.6138],[2688.36,-1902.12,42.6333,227.183,-77.3741],[2665.93,-1802.95,42.1833,224.619,-77.127],[2642.49,-1701.4,41.7167,221.923,-76.8627],[2618.86,-1601.2,41.25,219.189,-76.5897],[2595.05,-1502.36,40.7833,216.418,-76.3076],[2570.19,-1401.45,40.3,213.508,-76.0053],[2545.14,-1302.05,39.8167,210.558,-75.6922],[2519.02,-1200.83,39.3167,207.466,-75.3562],[2492.7,-1101.28,38.8167,204.332,-75.0072],[2465.28,-1000.18,38.3,201.05,-74.6321],[2437.65,-900.905,37.7833,197.726,-74.2415],[2408.9,-800.378,37.25,194.249,-73.8208],[2379.92,-701.859,36.7167,190.729,-73.3813],[2349.81,-602.396,36.1667,187.054,-72.9069],[2318.53,-502.219,35.6,183.222,-72.394],[2286.08,-401.572,35.0167,179.229,-71.8386],[2252.43,-300.71,34.4167,175.075,-71.236],[2218.51,-202.586,33.8167,170.874,-70.5988],[2182.41,-102.026,33.1833,166.394,-69.8854],[2145.07,-2.08826,32.5333,161.749,-69.1057],[2105.49,99.3506,31.85,156.82,-68.2288],[2064.61,199.354,31.15,151.729,-67.2634],[2021.43,299.81,30.4167,146.357,-66.1706],[1976.91,397.92,29.6667,140.832,-64.9566],[1928.02,499.348,28.85,134.794,-63.5092],[1876.69,598.84,28,128.504,-61.844],[1820.87,699.087,27.0833,121.739,-59.8384],[1759.43,799.977,26.0833,114.423,-57.3593],[1692.27,899.148,25,106.634,-54.2648],[1615.09,999.034,23.7667,98.0509,-50.1136],[1522.39,1099.49,22.3,88.4652,-44.098],[1400.95,1199.55,20.4,77.6593,-34.1169],[1109.17,1298.26,15.9167,65.835,-0.107699]]], - [67,1317.68,[[2618.92,-2003.18,43.2833,229.921,-78.1019],[2597.51,-1902.51,42.8333,227.388,-77.8717],[2575.93,-1803.06,42.3833,224.818,-77.6344],[2553.38,-1701.22,41.9167,222.116,-77.3806],[2530.65,-1600.72,41.45,219.376,-77.1184],[2507.74,-1501.58,40.9833,216.597,-76.8475],[2483.83,-1400.35,40.5,213.68,-76.5571],[2459.73,-1300.63,40.0167,210.722,-76.2563],[2435.44,-1202.44,39.5333,207.724,-75.9445],[2410.12,-1102.5,39.0333,204.581,-75.6096],[2383.75,-1000.99,38.5167,201.29,-75.2498],[2357.17,-901.301,38,197.954,-74.8749],[2329.52,-800.343,37.4667,194.466,-74.4712],[2301.64,-701.39,36.9333,190.932,-74.0493],[2272.67,-601.474,36.3833,187.242,-73.5939],[2242.59,-500.827,35.8167,183.393,-73.1015],[2212.27,-402.546,35.25,179.496,-72.5839],[2179.9,-301.1,34.65,175.322,-72.006],[2147.28,-202.387,34.05,171.099,-71.3949],[2112.57,-101.199,33.4167,166.593,-70.7105],[2076.66,-0.610923,32.7667,161.919,-69.9623],[2039.53,99.0719,32.1,157.078,-69.1419],[2000.22,199.883,31.4,151.949,-68.2164],[1959.64,298.942,30.6833,146.657,-67.1932],[1916.84,398.04,29.9333,141.082,-66.0306],[1870.79,498.518,29.1333,135.107,-64.6731],[1821.46,599.274,28.2833,128.743,-63.0791],[1768.78,699.116,27.3833,122.011,-61.1941],[1711.7,798.394,26.4167,114.822,-58.9042],[1647.17,899.711,25.3333,106.874,-55.9479],[1575.02,999.482,24.1333,98.303,-52.0864],[1490.03,1099.07,22.7333,88.8031,-46.608],[1380.61,1199.3,20.95,77.9698,-37.6941],[1192.94,1299.71,17.9333,65.4151,-16.551],[1073.26,1317.67,16.0333,63.2846,-0.0797387]]], - [68,1336.46,[[2524.47,-2001.78,43.4667,230.072,-78.5876],[2503.9,-1900.87,43.0167,227.533,-78.3669],[2483.18,-1801.17,42.5667,224.958,-78.1393],[2462.3,-1702.7,42.1167,222.347,-77.9046],[2440.47,-1601.88,41.65,219.601,-77.6534],[2418.48,-1502.43,41.1833,216.817,-77.3938],[2395.52,-1400.88,40.7,213.892,-77.1156],[2372.38,-1300.83,40.2167,210.927,-76.8274],[2349.06,-1202.31,39.7333,207.921,-76.5285],[2324.75,-1102.01,39.2333,204.769,-76.2076],[2299.43,-1000.14,38.7167,201.467,-75.8627],[2273.91,-900.083,38.2,198.12,-75.5034],[2248.19,-801.879,37.6833,194.729,-75.1287],[2221.43,-702.475,37.15,191.184,-74.7249],[2193.62,-602.09,36.6,187.48,-74.2888],[2164.74,-500.955,36.0333,183.615,-73.8174],[2135.64,-402.181,35.4667,179.702,-73.3216],[2104.57,-300.208,34.8667,175.507,-72.7681],[2073.25,-200.963,34.2667,171.263,-72.1825],[2040.81,-101.846,33.65,166.851,-71.5446],[2006.34,-0.585437,33,162.15,-70.8286],[1970.7,99.7939,32.3333,157.278,-70.0433],[1933.88,198.972,31.65,152.237,-69.1789],[1894.94,298.892,30.9333,146.904,-68.2006],[1853.86,398.9,30.1833,141.281,-67.0882],[1810.6,498.3,29.4,135.374,-65.8171],[1764.19,598.29,28.5667,129.066,-64.3245],[1713.65,699.517,27.6667,122.248,-62.5241],[1659.84,798.63,26.7167,115.076,-60.3743],[1599.85,898.793,25.6667,107.23,-57.6414],[1531.62,999.682,24.4833,98.5729,-54.0121],[1453.05,1099.02,23.1333,89.103,-48.9793],[1353.09,1199.85,21.4333,78.1992,-40.8926],[1200.28,1299.94,18.8667,65.5635,-23.9036],[1036.39,1336.46,16.15,60.7132,-0.0917505]]], - [69,1354.58,[[2428.07,-2002.11,43.65,230.259,-79.0794],[2408.36,-1900.94,43.2,227.715,-78.8682],[2388.51,-1800.98,42.75,225.135,-78.6505],[2368.49,-1702.24,42.3,222.518,-78.426],[2347.58,-1601.16,41.8333,219.766,-78.1857],[2326.51,-1501.43,41.3667,216.975,-77.9373],[2305.27,-1403.08,40.9,214.145,-77.6804],[2283.1,-1302.69,40.4167,211.173,-77.4049],[2259.99,-1200.43,39.9167,208.055,-77.1093],[2237.47,-1103.15,39.4333,205,-76.8126],[2213.21,-1000.9,38.9167,201.689,-76.4829],[2188.76,-900.465,38.4,198.332,-76.1394],[2164.12,-801.874,37.8833,194.93,-75.7812],[2138.49,-702.068,37.35,191.372,-75.3951],[2111.85,-601.264,36.8,187.655,-74.9781],[2085,-502.647,36.25,183.889,-74.5409],[2056.29,-400.478,35.6667,179.844,-74.053],[2027.36,-300.844,35.0833,175.748,-73.5386],[1997.36,-201.047,34.4833,171.483,-72.9793],[1966.29,-101.358,33.8667,167.049,-72.3697],[1934.12,-2.05886,33.2333,162.443,-71.7035],[1899.99,99.0395,32.5667,157.542,-70.954],[1864.72,198.962,31.8833,152.468,-70.1289],[1827.43,299.67,31.1667,147.096,-69.1945],[1788.96,398.321,30.4333,141.554,-68.1563],[1747.54,498.709,29.65,135.593,-66.9435],[1703.1,599.761,28.8167,129.22,-65.5182],[1656.5,698.479,27.95,122.577,-63.8647],[1604.99,799.106,27,115.304,-61.8163],[1548.47,899.418,25.9667,107.45,-59.2521],[1485.01,999.683,24.8167,98.8538,-55.8932],[1411.68,1099.54,23.5,89.341,-51.223],[1321.69,1199.09,21.9,78.5829,-44.0028],[1190.85,1299.6,19.6,65.8628,-29.6527],[998.563,1354.58,16.2667,58.1214,-0.149598]]], - [70,1372.03,[[2329.04,-2000.39,43.8167,230.387,-79.5697],[2310.9,-1902.74,43.3833,227.933,-79.3755],[2291.92,-1802.51,42.9333,225.349,-79.1679],[2272.79,-1703.5,42.4833,222.728,-78.9537],[2252.8,-1602.13,42.0167,219.97,-78.7244],[2232.65,-1502.12,41.55,217.174,-78.4874],[2212.35,-1403.47,41.0833,214.337,-78.2422],[2191.16,-1302.77,40.6,211.358,-77.9793],[2169.07,-1200.2,40.1,208.233,-77.6972],[2147.54,-1102.61,39.6167,205.169,-77.4141],[2124.36,-1000.03,39.1,201.848,-77.0994],[2101.74,-902.475,38.6,198.591,-76.7823],[2077.43,-800.321,38.0667,195.068,-76.4297],[2052.92,-700.159,37.5333,191.498,-76.061],[2028.23,-602.018,37,187.88,-75.6753],[2002.57,-502.96,36.45,184.101,-75.2583],[1975.13,-400.32,35.8667,180.039,-74.7932],[1947.48,-300.21,35.2833,175.926,-74.3025],[1919.61,-202.667,34.7,171.761,-73.7842],[1889.91,-102.386,34.0833,167.306,-73.2035],[1859.18,-2.47224,33.45,162.676,-72.5689],[1826.56,99.2793,32.7833,157.748,-71.8546],[1792.86,199.878,32.1,152.641,-71.068],[1758.05,298.991,31.4,147.358,-70.1985],[1721.3,398.483,30.6667,141.774,-69.2099],[1681.72,499.778,29.8833,135.763,-68.0544],[1640.12,599.822,29.0667,129.457,-66.724],[1595.6,699.687,28.2,122.739,-65.1495],[1547.26,799.865,27.2667,115.501,-63.2329],[1495.02,898.59,26.2667,107.781,-60.8744],[1435.3,999.546,25.1333,99.1389,-57.7325],[1367.06,1099.63,23.85,89.6166,-53.413],[1284.75,1199.07,22.3167,78.8804,-46.857],[1169.9,1299.74,20.2,66.1268,-34.3901],[958.868,1372.03,16.3667,55.513,-0.0911291]]], - [71,1388.78,[[2228.16,-2000.45,43.9833,230.551,-80.066],[2210.86,-1902.57,43.55,228.093,-79.8811],[2192.76,-1802.11,43.1,225.504,-79.6834],[2174.52,-1702.86,42.65,222.878,-79.4794],[2155.46,-1601.24,42.1833,220.115,-79.261],[2136.25,-1500.98,41.7167,217.312,-79.0353],[2116.89,-1402.08,41.25,214.469,-78.8018],[2096.68,-1301.12,40.7667,211.483,-78.5515],[2076.32,-1201.67,40.2833,208.454,-78.2919],[2055.08,-1100.41,39.7833,205.276,-78.013],[2033.69,-1000.82,39.2833,202.054,-77.7231],[2012.13,-902.927,38.7833,198.788,-77.4214],[1988.95,-800.405,38.25,195.255,-77.0858],[1966.32,-702.982,37.7333,191.786,-76.7462],[1942.04,-601.355,37.1833,188.043,-76.3679],[1917.57,-501.907,36.6333,184.25,-75.971],[1892.17,-401.758,36.0667,180.29,-75.5412],[1865.81,-301.153,35.4833,176.16,-75.0748],[1838.48,-200.348,34.8833,171.858,-74.5675],[1810.94,-102.296,34.2833,167.503,-74.0298],[1781.63,-1.82873,33.65,162.85,-73.4262],[1751.32,97.9954,33,158.018,-72.7643],[1719.2,199.294,32.3167,152.882,-72.0171],[1686.03,299.131,31.6167,147.565,-71.1908],[1651,399.389,30.8833,141.941,-70.251],[1614.09,499.391,30.1167,136.01,-69.1764],[1575.25,598.416,29.3167,129.778,-67.94],[1532.83,699.463,28.45,122.991,-66.4465],[1487.6,799.182,27.5333,115.796,-64.6613],[1437.83,899.444,26.5333,107.963,-62.4239],[1382.62,999.307,25.4333,99.4231,-59.5324],[1319.32,1099.33,24.1833,89.9222,-55.5511],[1243.5,1199.15,22.7,79.1607,-49.5563],[1141.95,1299.41,20.7333,66.4667,-38.6483],[918.32,1388.78,16.4667,52.8845,-0.0771837]]], - [72,1404.81,[[2125.45,-2002.29,44.15,230.752,-80.568],[2108.37,-1900.43,43.7,228.195,-80.3857],[2091.8,-1803.47,43.2667,225.698,-80.2049],[2073.81,-1700.32,42.8,222.969,-80.004],[2056.33,-1602.1,42.35,220.299,-79.804],[2038.06,-1501.57,41.8833,217.491,-79.5897],[2019.65,-1402.41,41.4167,214.643,-79.3681],[2000.44,-1301.17,40.9333,211.65,-79.1304],[1981.08,-1201.44,40.45,208.614,-78.884],[1961.57,-1103.24,39.9667,205.536,-78.6282],[1940.55,-1000,39.45,202.198,-78.344],[1920.05,-901.81,38.95,198.922,-78.0576],[1898.7,-802.15,38.4333,195.491,-77.7491],[1876.49,-701.229,37.9,191.899,-77.4164],[1854.11,-602.322,37.3667,188.258,-77.0682],[1830.85,-502.466,36.8167,184.452,-76.6918],[1806.7,-401.893,36.25,180.478,-76.2841],[1781.64,-300.846,35.6667,176.333,-75.8416],[1756.38,-202.359,35.0833,172.134,-75.374],[1729.48,-101.07,34.4667,167.638,-74.85],[1701.62,-0.110442,33.8333,162.962,-74.277],[1673.55,97.6927,33.2,158.23,-73.6651],[1643.02,199.624,32.5167,153.065,-72.9567],[1612.24,297.769,31.8333,147.844,-72.1926],[1578.96,398.819,31.1,142.182,-71.3027],[1543.87,499.658,30.3333,136.207,-70.2846],[1506.97,599.565,29.5333,129.922,-69.1126],[1467.43,699.675,28.6833,123.201,-67.7246],[1425.23,798.789,27.7833,116.058,-66.0659],[1378.74,898.86,26.8,108.252,-63.9862],[1327.09,999.019,25.7167,99.7011,-61.296],[1267.77,1099.97,24.4833,90.1224,-57.5839],[1198.2,1199.54,23.05,79.3966,-52.1132],[1107.52,1299.38,21.2,66.7674,-42.4588],[926.233,1399.89,17.55,50.9839,-10.9972],[876.928,1404.81,16.5667,50.2363,-0.114923]]], - [73,1420.09,[[2020.34,-2002.18,44.3,230.896,-81.069],[2004.15,-1900.11,43.85,228.335,-80.8965],[1988.44,-1802.95,43.4167,225.833,-80.7252],[1972,-1703.24,42.9667,223.198,-80.5419],[1954.81,-1601.14,42.5,220.425,-80.3457],[1937.5,-1500.38,42.0333,217.611,-80.1428],[1920.05,-1400.99,41.5667,214.756,-79.9329],[1902.47,-1302.98,41.1,211.861,-79.7158],[1884.12,-1202.96,40.6167,208.819,-79.4827],[1864.99,-1101.1,40.1167,205.627,-79.2323],[1845.71,-1000.91,39.6167,202.389,-78.9719],[1826.28,-902.404,39.1167,199.105,-78.7009],[1806.04,-802.418,38.6,195.665,-78.4091],[1785,-701.156,38.0667,192.063,-78.0943],[1763.79,-601.905,37.5333,188.411,-77.7649],[1741.74,-501.691,36.9833,184.593,-77.4087],[1718.85,-400.745,36.4167,180.605,-77.0229],[1695.78,-302.175,35.85,176.564,-76.6164],[1671.17,-200.434,35.25,172.227,-76.1615],[1646.36,-101.438,34.65,167.835,-75.6791],[1620.66,-2.59525,34.0333,163.262,-75.1521],[1593.36,98.357,33.3833,158.383,-74.5588],[1565.14,198.398,32.7167,153.318,-73.9057],[1535.27,299.568,32.0167,147.938,-73.1657],[1504.44,398.975,31.3,142.37,-72.3433],[1471.93,498.416,30.55,136.485,-71.403],[1436.97,599.236,29.75,130.15,-70.297],[1400.26,698.403,28.9167,123.503,-69.0135],[1360.29,798.695,28.0167,116.285,-67.4494],[1317,898.42,27.05,108.516,-65.5215],[1268.84,998.704,25.9833,99.9687,-63.0261],[1214.19,1099.1,24.7833,90.4633,-59.6287],[1149.86,1199.34,23.3833,79.6901,-54.6091],[1067.92,1299.48,21.6167,67.0456,-45.9602],[930.277,1399.68,18.6833,51.2301,-22.8326],[833.908,1420.09,16.65,47.5719,-0.0171674]]], - [74,1434.62,[[1912.93,-2000.1,44.4333,230.983,-81.5698],[1898.2,-1901.62,44,228.513,-81.413],[1882.79,-1800.51,43.55,225.911,-81.2452],[1867.26,-1700.63,43.1,223.27,-81.0721],[1851.61,-1601.97,42.65,220.592,-80.8935],[1835.25,-1500.97,42.1833,217.773,-80.7022],[1818.77,-1401.34,41.7167,214.913,-80.5043],[1802.17,-1303.09,41.25,212.012,-80.2995],[1784.84,-1202.82,40.7667,208.964,-80.0797],[1766.77,-1100.69,40.2667,205.765,-79.8435],[1748.56,-1000.23,39.7667,202.519,-79.5979],[1730.21,-901.453,39.2667,199.227,-79.3423],[1711.1,-801.184,38.75,195.777,-79.067],[1691.84,-702.771,38.2333,192.279,-78.7795],[1671.19,-600.08,37.6833,188.502,-78.4592],[1651,-502.571,37.15,184.788,-78.1336],[1629.38,-401.235,36.5833,180.788,-77.7699],[1607.6,-302.27,36.0167,176.733,-77.3868],[1584.35,-200.108,35.4167,172.381,-76.958],[1560.93,-100.687,34.8167,167.97,-76.5033],[1536.66,-1.40252,34.2,163.379,-76.0064],[1511.54,97.4603,33.5667,158.603,-75.4617],[1484.9,198.076,32.9,153.513,-74.8467],[1456.7,299.856,32.2,148.105,-74.1497],[1427.59,399.893,31.4833,142.503,-73.3748],[1396.9,499.999,30.7333,136.578,-72.4885],[1364.58,599.475,29.95,130.33,-71.4682],[1329.92,699.515,29.1167,123.627,-70.2595],[1292.89,798.947,28.2333,116.474,-68.8142],[1252.03,899.845,27.2667,108.617,-66.9992],[1207.28,999.927,26.2167,100.086,-64.6856],[1157.14,1099.33,25.05,90.6803,-61.58],[1097.9,1199.74,23.6833,79.9025,-56.9811],[1024.26,1299.26,22,67.3585,-49.271],[909.294,1399.71,19.4,51.5072,-30.3173],[790.898,1434.62,16.75,44.886,-0.17686]]], - [75,1448.38,[[1804.41,-2003.69,44.5833,231.202,-82.082],[1790.03,-1901.21,44.1333,228.634,-81.929],[1776.07,-1803.65,43.7,226.125,-81.7773],[1761.46,-1703.53,43.25,223.482,-81.6148],[1746.19,-1600.99,42.7833,220.7,-81.4409],[1731.36,-1503.39,42.3333,217.977,-81.2676],[1715.86,-1403.5,41.8667,215.113,-81.0818],[1699.68,-1301.51,41.3833,212.103,-80.8825],[1683.37,-1201.02,40.9,209.049,-80.6758],[1666.94,-1102.05,40.4167,205.95,-80.4613],[1649.81,-1001.31,39.9167,202.697,-80.2308],[1632.55,-902.245,39.4167,199.398,-79.9908],[1614.58,-801.679,38.9,195.94,-79.7322],[1596.47,-702.965,38.3833,192.433,-79.4623],[1577.63,-603.041,37.85,188.762,-79.1708],[1558.05,-502.126,37.3,184.922,-78.8556],[1537.72,-400.451,36.7333,180.909,-78.514],[1517.23,-301.144,36.1667,176.841,-78.1541],[1495.97,-201.427,35.5833,172.595,-77.7627],[1473.94,-101.56,34.9833,168.169,-77.3361],[1451.12,-1.81318,34.3667,163.56,-76.8699],[1427.49,97.5293,33.7333,158.764,-76.3587],[1402.43,198.655,33.0667,153.651,-75.7815],[1376.55,298.585,32.3833,148.344,-75.1432],[1349.18,399.278,31.6667,142.713,-74.4168],[1320.96,497.89,30.9333,136.885,-73.605],[1290.57,598.208,30.15,130.595,-72.6499],[1257.99,699.153,29.3167,123.84,-71.5177],[1223.17,799.554,28.4333,116.624,-70.1629],[1185.42,899.835,27.4833,108.821,-68.4913],[1144.03,999.715,26.45,100.318,-66.3601],[1097.57,1099.43,25.3,90.8966,-63.4965],[1043.25,1199.73,23.9667,80.1478,-59.3036],[976.116,1299.84,22.3333,67.5487,-52.3194],[877.856,1399.69,19.9667,51.809,-36.3434],[746.368,1448.37,16.8333,42.1844,-0.200551]]], - [76,1461.33,[[1693.24,-2001.56,44.7,231.27,-82.5884],[1680.26,-1902.7,44.2667,228.795,-82.4506],[1666.69,-1801.21,43.8167,226.185,-82.3032],[1653,-1700.93,43.3667,223.537,-82.1511],[1639.22,-1601.88,42.9167,220.85,-81.9941],[1624.81,-1500.47,42.45,218.022,-81.826],[1610.29,-1400.42,41.9833,215.152,-81.652],[1595.66,-1301.74,41.5167,212.24,-81.472],[1580.39,-1201.02,41.0333,209.179,-81.2787],[1565,-1101.83,40.55,206.074,-81.0781],[1548.96,-1000.84,40.05,202.815,-80.8624],[1532.8,-901.541,39.55,199.509,-80.6379],[1515.97,-800.721,39.0333,196.043,-80.396],[1499,-701.752,38.5167,192.527,-80.1435],[1481.36,-601.561,37.9833,188.845,-79.8708],[1463.03,-500.369,37.4333,184.994,-79.5759],[1444.55,-401.371,36.8833,181.088,-79.2659],[1425.36,-301.703,36.3167,177.008,-78.9296],[1405.46,-201.612,35.7333,172.749,-78.5638],[1384.83,-101.355,35.1333,168.308,-78.1651],[1363.46,-1.20411,34.5167,163.681,-77.7292],[1341.35,98.557,33.8833,158.866,-77.2512],[1318.47,197.631,33.2333,153.859,-76.7254],[1294.24,298.114,32.55,148.529,-76.1295],[1268.62,399.392,31.8333,142.868,-75.4511],[1242.2,498.608,31.1,137.007,-74.6926],[1213.76,599.577,30.3167,130.677,-73.7998],[1183.87,699.247,29.5,124.009,-72.7632],[1151.9,798.676,28.6333,116.871,-71.5236],[1117.19,898.339,27.7,109.132,-69.9943],[1078.45,999.573,26.6667,100.53,-68.0099],[1035.61,1099.43,25.5333,91.1081,-65.381],[986.062,1199.36,24.2333,80.4192,-61.5785],[925.183,1299.65,22.65,67.8285,-55.296],[839.135,1399.91,20.4333,52.0611,-41.4757],[700.466,1461.33,16.9,39.4668,-0.0610085]]], - [77,1473.47,[[1580.55,-2001.32,44.8167,231.378,-83.1006],[1568.47,-1902.31,44.3833,228.899,-82.9723],[1555.82,-1800.65,43.9333,226.286,-82.8351],[1543.07,-1700.2,43.4833,223.634,-82.6935],[1530.22,-1600.98,43.0333,220.942,-82.5474],[1517.28,-1503,42.5833,218.211,-82.3965],[1503.76,-1402.72,42.1167,215.338,-82.2347],[1489.64,-1300.31,41.6333,212.317,-82.0613],[1475.91,-1202.85,41.1667,209.357,-81.8876],[1461.08,-1100.01,40.6667,206.139,-81.6945],[1446.63,-1002.18,40.1833,202.983,-81.5005],[1431.58,-902.615,39.6833,199.67,-81.2917],[1415.9,-801.526,39.1667,196.197,-81.0668],[1400.1,-702.286,38.65,192.674,-80.8319],[1383.66,-601.813,38.1167,188.984,-80.5783],[1366.58,-500.326,37.5667,185.123,-80.304],[1349.37,-401.031,37.0167,181.207,-80.0156],[1331.5,-301.055,36.45,177.115,-79.7027],[1312.96,-200.643,35.8667,172.843,-79.3624],[1293.75,-100.053,35.2667,168.387,-78.9913],[1274.38,-2.2337,34.6667,163.869,-78.597],[1253.79,97.9684,34.0333,159.037,-78.1528],[1232.48,197.499,33.3833,154.01,-77.6641],[1209.91,298.467,32.7,148.656,-77.1101],[1186.61,397.939,32,143.102,-76.4945],[1162.01,497.787,31.2667,137.211,-75.7905],[1135.52,599.438,30.4833,130.844,-74.9614],[1107.69,699.825,29.6667,124.132,-73.9984],[1078.49,798.158,28.8167,117.079,-72.8694],[1046.17,898.793,27.8833,109.271,-71.4499],[1010.69,999.54,26.8667,100.718,-69.6379],[971.396,1099.37,25.75,91.3109,-67.2365],[925.863,1199.89,24.4667,80.5721,-63.7572],[870.995,1299.75,22.9333,68.0541,-58.1265],[795.76,1399.56,20.85,52.4052,-46.1912],[654.562,1473.47,16.9833,36.7304,-0.232472]]], - [78,1484.78,[[1466.4,-2003.01,44.9333,231.524,-83.6179],[1454.77,-1900.04,44.4833,228.947,-83.4946],[1443.49,-1802,44.05,226.427,-83.3724],[1431.69,-1701.37,43.6,223.772,-83.2414],[1419.79,-1601.96,43.15,221.078,-83.1063],[1407.36,-1500.19,42.6833,218.241,-82.9615],[1395.29,-1403.33,42.2333,215.466,-82.8172],[1382.22,-1300.72,41.75,212.44,-82.6567],[1369.5,-1203.07,41.2833,209.476,-82.4961],[1355.77,-1100.02,40.7833,206.253,-82.3175],[1342.4,-1001.98,40.3,203.09,-82.138],[1328.45,-902.201,39.8,199.772,-81.9449],[1313.94,-800.889,39.2833,196.291,-81.7368],[1299.31,-701.422,38.7667,192.76,-81.5196],[1284.09,-600.713,38.2333,189.062,-81.2849],[1268.75,-502.032,37.7,185.309,-81.0389],[1252.82,-402.422,37.15,181.384,-80.7725],[1236.28,-302.118,36.5833,177.282,-80.4834],[1219.11,-201.366,36,172.999,-80.169],[1201.32,-100.423,35.4,168.53,-79.826],[1183.4,-2.24683,34.8,163.999,-79.4615],[1164.33,98.3354,34.1667,159.149,-79.051],[1144.6,198.26,33.5167,154.104,-78.5991],[1123.71,299.645,32.8333,148.728,-78.0867],[1102.13,399.55,32.1333,143.148,-77.5173],[1079.36,499.853,31.4,137.227,-76.8657],[1055.36,599.876,30.6333,130.961,-76.1153],[1030.12,698.892,29.8333,124.346,-75.2444],[1002.57,799.894,28.9667,117.104,-74.181],[973.188,899.522,28.05,109.373,-72.8921],[940.886,999.638,27.05,100.879,-71.2468],[905.067,1099.28,25.95,91.5016,-69.066],[864.032,1198.96,24.7,80.8753,-65.949],[814.378,1299.28,23.2,68.34,-60.8952],[747.58,1399.76,21.2,52.6344,-50.4059],[607.4,1484.78,17.05,33.979,-0.239597]]], - [79,1495.25,[[1350.42,-2002.83,45.0333,231.616,-84.1358],[1340.12,-1903.51,44.6,229.131,-84.0268],[1329.35,-1801.54,44.15,226.513,-83.9102],[1318.5,-1700.76,43.7,223.854,-83.7899],[1307.56,-1601.21,43.25,221.156,-83.6657],[1296.54,-1502.9,42.8,218.418,-83.5375],[1285.03,-1402.27,42.3333,215.536,-83.4],[1273.43,-1303.02,41.8667,212.611,-83.2577],[1261.32,-1201.7,41.3833,209.536,-83.1049],[1249.11,-1101.89,40.9,206.416,-82.9464],[1236.39,-1000.27,40.4,203.139,-82.7759],[1223.57,-900.318,39.9,199.814,-82.5984],[1210.65,-802.07,39.4,196.439,-82.4134],[1197.2,-702.361,38.8833,192.902,-82.214],[1183.21,-601.4,38.35,189.196,-81.9986],[1169.12,-502.464,37.8167,185.436,-81.7727],[1154.47,-402.589,37.2667,181.502,-81.5281],[1139.26,-302.009,36.7,177.39,-81.2627],[1123.48,-200.97,36.1167,173.096,-80.9739],[1107.58,-102.504,35.5333,168.74,-80.668],[1090.64,-1.25297,34.9167,164.069,-80.3242],[1073.11,99.649,34.2833,159.204,-79.947],[1054.98,199.905,33.6333,154.14,-79.5318],[1036.24,299.205,32.9667,148.875,-79.0729],[1016.41,399.567,32.2667,143.273,-78.5505],[995.951,498.115,31.55,137.461,-77.9667],[973.895,598.757,30.7833,131.166,-77.2793],[950.7,698.426,29.9833,124.515,-76.4813],[925.864,798.247,29.1333,117.368,-75.5262],[898.868,898.773,28.2167,109.581,-74.3467],[869.183,999.876,27.2167,101.013,-72.8397],[836.768,1099.17,26.1333,91.6779,-70.8726],[799.567,1199.05,24.9,81.0452,-68.0584],[754.964,1299.32,23.4333,68.5379,-63.5425],[696.169,1399.55,21.5167,52.9169,-54.3978],[559.131,1495.25,17.1,31.2126,-0.0404664]]], - [80,1504.85,[[1232.76,-2000.77,45.1167,231.652,-84.6547],[1223.37,-1901.34,44.6833,229.165,-84.5553],[1213.91,-1803.02,44.25,226.64,-84.453],[1204.02,-1702.09,43.8,223.979,-84.3434],[1194.05,-1602.38,43.35,221.278,-84.2303],[1183.63,-1500.29,42.8833,218.435,-84.1092],[1173.5,-1403.12,42.4333,215.652,-83.9884],[1162.55,-1300.17,41.95,212.618,-83.8541],[1151.89,-1202.2,41.4833,209.645,-83.7197],[1140.76,-1102.21,41,206.52,-83.5753],[1129.16,-1000.4,40.5,203.238,-83.42],[1117.47,-900.266,40,199.908,-83.2583],[1105.7,-801.828,39.5,196.528,-83.0898],[1093.44,-701.923,38.9833,192.984,-82.9081],[1080.68,-600.756,38.45,189.271,-82.7119],[1067.83,-501.612,37.9167,185.503,-82.5062],[1054.47,-401.521,37.3667,181.56,-82.2834],[1040.6,-300.717,36.8,177.439,-82.0415],[1026.63,-202.303,36.2333,173.257,-81.7861],[1011.72,-100.744,35.6333,168.765,-81.4995],[996.7,-1.94677,35.0333,164.208,-81.1949],[980.72,99.2974,34.4,159.329,-80.8516],[964.192,199.908,33.75,154.25,-80.4737],[947.109,299.574,33.0833,148.967,-80.0559],[929.465,397.973,32.4,143.478,-79.592],[910.383,499.275,31.6667,137.508,-79.0486],[890.717,598.206,30.9167,131.321,-78.4366],[869.577,698.445,30.1167,124.637,-77.7108],[846.941,798.877,29.2667,117.449,-76.8418],[822.786,898.294,28.3667,109.753,-75.7888],[796.186,998.653,27.3833,101.262,-74.4439],[766.649,1099.07,26.3,91.8369,-72.659],[733.212,1198.98,25.0833,81.2162,-70.1394],[693.036,1299.98,23.6333,68.6305,-66.0866],[641.342,1399.89,21.7833,53.0801,-58.0897],[538.782,1499.92,18.15,29.997,-18.9645],[510.857,1504.85,17.1667,28.4303,-0.233402]]], - [81,1513.59,[[1113.89,-2000.69,45.2,231.729,-85.1785],[1105.42,-1901.15,44.7667,229.239,-85.0889],[1096.89,-1802.71,44.3333,226.712,-84.9966],[1087.95,-1701.66,43.8833,224.048,-84.8978],[1078.96,-1601.83,43.4333,221.344,-84.7958],[1069.89,-1503.23,42.9833,218.6,-84.6905],[1060.41,-1402.31,42.5167,215.711,-84.5775],[1050.87,-1302.76,42.05,212.779,-84.4606],[1040.9,-1201.12,41.5667,209.696,-84.3351],[1030.86,-1101,41.0833,206.566,-84.2049],[1020.74,-1002.42,40.6,203.39,-84.0695],[1010.19,-902.078,40.1,200.055,-83.9239],[999.213,-800.178,39.5833,196.557,-83.7669],[988.146,-700.12,39.0667,193.006,-83.603],[976.995,-601.929,38.55,189.403,-83.4315],[965.397,-502.561,38.0167,185.629,-83.2462],[953.345,-402.237,37.4667,181.68,-83.0453],[940.832,-301.189,36.9,177.55,-82.8274],[928.224,-202.53,36.3333,173.36,-82.5972],[914.771,-100.709,35.7333,168.857,-82.3389],[901.214,-1.64671,35.1333,164.289,-82.0643],[886.794,99.8794,34.5,159.397,-81.7549],[872.263,198.237,33.8667,154.435,-81.4231],[856.851,298.295,33.2,149.137,-81.0471],[840.542,399.462,32.5,143.495,-80.6189],[823.716,498.84,31.7833,137.639,-80.1402],[805.973,598.225,31.0333,131.427,-79.589],[786.9,698.952,30.2333,124.713,-78.9351],[766.477,799.907,29.3833,117.487,-78.1518],[744.683,899.884,28.4833,109.744,-77.202],[721.092,999.219,27.5167,101.337,-76.01],[694.858,1099.01,26.45,91.9772,-74.4283],[665.111,1198.77,25.25,81.3859,-72.195],[629.711,1299.25,23.8333,68.8968,-68.6459],[584.359,1399.46,22.0333,53.3579,-61.699],[503.821,1499.96,18.8667,30.2774,-32.46],[461.595,1513.59,17.2167,25.6343,-0.218087]]], - [82,1521.44,[[993.868,-2002.62,45.2833,231.847,-85.7068],[986.319,-1902.96,44.85,229.356,-85.627],[978.42,-1800.62,44.4,226.729,-85.5416],[970.755,-1703.2,43.9667,224.161,-85.4569],[962.736,-1603.24,43.5167,221.455,-85.3661],[954.355,-1500.87,43.05,218.606,-85.2688],[946.212,-1403.44,42.6,215.818,-85.1718],[937.398,-1300.21,42.1167,212.777,-85.0639],[928.824,-1201.96,41.65,209.796,-84.956],[919.875,-1101.69,41.1667,206.663,-84.84],[910.859,-1002.95,40.6833,203.483,-84.7195],[901.461,-902.451,40.1833,200.144,-84.5898],[891.674,-800.385,39.6667,196.642,-84.4501],[881.811,-700.157,39.15,193.086,-84.304],[871.874,-601.797,38.6333,189.477,-84.1515],[861.539,-502.251,38.1,185.697,-83.9863],[850.799,-401.742,37.55,181.74,-83.8075],[839.648,-300.503,36.9833,177.603,-83.6134],[828.412,-201.65,36.4167,173.404,-83.4083],[816.757,-102.42,35.8333,169.018,-83.1849],[804.342,-0.352353,35.2167,164.313,-82.9336],[791.83,98.7582,34.6,159.538,-82.6654],[778.542,199.976,33.95,154.432,-82.3623],[765.151,297.808,33.3,149.252,-82.0359],[750.62,399.321,32.6,143.594,-81.6549],[735.629,499.057,31.8833,137.718,-81.2289],[719.82,598.82,31.1333,131.483,-80.7383],[702.825,699.954,30.3333,124.741,-80.156],[684.986,799.417,29.5,117.625,-79.4728],[665.57,899.991,28.6,109.841,-78.6283],[644.553,999.974,27.6333,101.381,-77.5678],[621.548,1098.99,26.5833,92.0969,-76.1832],[595.05,1199.76,25.3833,81.4025,-74.1969],[564.26,1299.25,24,69.0422,-71.1176],[524.619,1399.95,22.2333,53.4492,-65.0722],[459.343,1499.74,19.35,30.6229,-42.0686],[411.883,1521.44,17.2667,22.825,-0.328666]]], - [83,1528.4,[[872.496,-2002.7,45.35,231.91,-86.2361],[865.875,-1902.94,44.9167,229.417,-86.1661],[858.946,-1800.5,44.4667,226.789,-86.0912],[852.223,-1702.99,44.0333,224.219,-86.0169],[845.188,-1602.93,43.5833,221.511,-85.9373],[837.837,-1500.46,43.1167,218.659,-85.852],[830.694,-1402.93,42.6667,215.867,-85.767],[823.231,-1303.13,42.2,212.929,-85.6757],[815.442,-1201.23,41.7167,209.839,-85.5778],[807.593,-1100.84,41.2333,206.703,-85.4761],[799.684,-1001.99,40.75,203.519,-85.3704],[791.44,-901.376,40.25,200.175,-85.2567],[783.133,-802.455,39.75,196.782,-85.1382],[774.484,-702.043,39.2333,193.222,-85.0104],[765.488,-600.35,38.7,189.492,-84.8722],[756.422,-500.674,38.1667,185.706,-84.7274],[747.001,-400.03,37.6167,181.742,-84.5706],[737.508,-301.599,37.0667,177.72,-84.4054],[727.654,-202.533,36.5,173.514,-84.2259],[717.14,-100.279,35.9,168.994,-84.0244],[706.545,-0.77967,35.3,164.407,-83.8101],[695.572,98.5686,34.6833,159.622,-83.5751],[684.218,197.48,34.05,154.637,-83.3166],[672.175,298.126,33.3833,149.312,-83.0236],[659.431,399.916,32.6833,143.638,-82.6897],[646.283,499.939,31.9667,137.745,-82.3162],[632.727,597.832,31.2333,131.63,-81.8961],[617.826,699.405,30.4333,124.864,-81.3866],[602.183,799.33,29.6,117.719,-80.7886],[585.474,898.6,28.7167,110.045,-80.0638],[567.047,999.272,27.75,101.54,-79.1372],[546.877,1099.05,26.7,92.1947,-77.9264],[523.968,1199.36,25.5167,81.5599,-76.2144],[497.301,1298.98,24.15,69.2066,-73.5592],[463.209,1399.88,22.4167,53.6174,-68.3912],[409.315,1499.87,19.7,30.8302,-49.7591],[361.404,1528.4,17.3,20.0032,-0.151067]]], - [84,1534.45,[[749.94,-2000.95,45.4,231.921,-86.7667],[744.251,-1901.13,44.9667,229.425,-86.7066],[738.519,-1802.4,44.5333,226.892,-86.6447],[732.521,-1701.06,44.0833,224.222,-86.5785],[726.477,-1600.93,43.6333,221.511,-86.5101],[720.387,-1502.03,43.1833,218.758,-86.4395],[714.024,-1400.79,42.7167,215.861,-86.3637],[707.611,-1300.92,42.25,212.919,-86.2853],[701.15,-1202.44,41.7833,209.933,-86.2041],[694.408,-1101.93,41.3,206.794,-86.1168],[687.615,-1002.95,40.8167,203.608,-86.0262],[680.533,-902.205,40.3167,200.261,-85.9285],[673.398,-803.15,39.8167,196.864,-85.8268],[665.969,-702.6,39.3,193.301,-85.7171],[658.241,-600.761,38.7667,189.567,-85.5986],[650.453,-500.938,38.2333,185.776,-85.4743],[642.361,-400.142,37.6833,181.807,-85.3397],[634.207,-301.556,37.1333,177.779,-85.1979],[625.742,-202.33,36.5667,173.567,-85.0438],[616.962,-102.712,35.9833,169.167,-84.8757],[607.609,-0.231573,35.3667,164.444,-84.6868],[598.184,99.296,34.75,159.651,-84.485],[588.431,198.393,34.1167,154.655,-84.263],[578.085,299.237,33.45,149.318,-84.0113],[567.4,398.854,32.7667,143.767,-83.7316],[556.108,499.191,32.05,137.86,-83.4114],[544.2,599.588,31.3,131.588,-83.0426],[531.667,699.339,30.5167,124.942,-82.6142],[518.231,799.64,29.6833,117.772,-82.1011],[503.881,899.312,28.8,110.066,-81.4791],[488.328,998.755,27.85,101.669,-80.6981],[471.007,1099.18,26.8,92.27,-79.6606],[451.611,1198.89,25.6333,81.7096,-78.215],[428.713,1299.57,24.2667,69.2345,-75.9403],[400.286,1399.29,22.5833,53.8559,-71.6537],[356.012,1499.77,19.9833,31.0743,-56.6278],[310.603,1534.45,17.3333,17.1701,-0.0906963]]], - [85,1539.58,[[626.549,-2001.23,45.45,231.972,-87.3011],[621.799,-1901.34,45.0167,229.476,-87.2511],[617.012,-1802.54,44.5833,226.941,-87.1994],[612.004,-1701.12,44.1333,224.269,-87.144],[606.957,-1600.91,43.6833,221.556,-87.087],[601.872,-1501.94,43.2333,218.802,-87.028],[596.558,-1400.62,42.7667,215.903,-86.9649],[591.204,-1300.67,42.3,212.959,-86.8994],[585.809,-1202.11,41.8333,209.97,-86.8316],[580.179,-1101.51,41.35,206.829,-86.7588],[574.506,-1002.45,40.8667,203.639,-86.6831],[568.593,-901.606,40.3667,200.29,-86.6015],[562.635,-802.46,39.8667,196.889,-86.5166],[556.431,-701.814,39.35,193.322,-86.4251],[550.181,-603.031,38.8333,189.702,-86.3293],[543.679,-503.046,38.3,185.908,-86.2257],[536.923,-402.079,37.75,181.936,-86.1134],[529.909,-300.363,37.1833,177.781,-85.9916],[522.841,-201.029,36.6167,173.563,-85.8628],[515.51,-101.299,36.0333,169.156,-85.7225],[507.911,-1.43252,35.4333,164.554,-85.5692],[500.043,98.2962,34.8167,159.754,-85.4009],[491.9,197.602,34.1833,154.751,-85.2159],[483.263,298.667,33.5167,149.405,-85.0059],[474.342,398.513,32.8333,143.843,-84.7727],[464.915,499.093,32.1167,137.924,-84.5057],[454.973,599.747,31.3667,131.637,-84.198],[444.51,699.768,30.5833,124.973,-83.8405],[433.518,798.407,29.7667,117.926,-83.4214],[421.538,898.518,28.8833,110.196,-82.9034],[408.556,998.439,27.9333,101.766,-82.2529],[394.097,1099.39,26.8833,92.3222,-81.3881],[377.906,1199.71,25.7167,81.6974,-80.1819],[359.025,1299.96,24.3667,69.2727,-78.3073],[335.532,1399.95,22.7,53.85,-74.7673],[300.007,1499.89,20.2,31.218,-62.8149],[259.494,1539.58,17.3667,14.3265,-0.218654]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 507.911; -_maxRange = 2917.38; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg3.sqf deleted file mode 100644 index b9d3f56d9e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg3.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_m821a2_m734_prox_chg3 -// Ammo: ace_arty_81mm_m821a2_m734_prox -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1147.79,[[5240.41,-2002.97,41.6167,236.785,-66.6158],[5196.38,-1902.17,41.15,234.555,-66.1702],[5151.97,-1802.67,40.6833,232.303,-65.7123],[5105.6,-1701.02,40.2,229.948,-65.2244],[5058.84,-1600.81,39.7167,227.57,-64.7221],[5011.68,-1502.06,39.2333,225.17,-64.2049],[4962.49,-1401.46,38.7333,222.665,-63.6535],[4912.88,-1302.47,38.2333,220.14,-63.0847],[4861.18,-1201.9,37.7167,217.509,-62.4778],[4809.03,-1103.1,37.2,214.858,-61.8508],[4754.74,-1003,36.6667,212.103,-61.1813],[4698.27,-901.792,36.1167,209.243,-60.4661],[4641.3,-802.682,35.5667,206.367,-59.7247],[4582.09,-702.789,35,203.39,-58.9319],[4520.6,-602.347,34.4167,200.313,-58.0836],[4456.78,-501.599,33.8167,197.139,-57.1753],[4390.58,-400.804,33.2,193.871,-56.202],[4321.97,-300.229,32.5667,190.514,-55.158],[4250.9,-200.156,31.9167,187.074,-54.0373],[4177.33,-100.879,31.25,183.557,-52.8331],[4099.33,-0.35614,30.55,179.887,-51.5056],[4018.71,98.5565,29.8333,176.162,-50.0757],[3931.6,199.818,29.0667,172.227,-48.462],[3841.69,298.35,28.2833,168.275,-46.7184],[3743.11,399.542,27.4333,164.085,-44.7115],[3639.55,498.293,26.55,159.865,-42.4925],[3524.95,598.758,25.5833,155.44,-39.8999],[3398.98,698.742,24.5333,150.91,-36.8807],[3255.2,799.826,23.35,146.221,-33.2165],[3088.84,899.886,22,141.523,-28.6943],[2882.22,999.688,20.35,136.92,-22.6915],[2575.31,1099.74,17.95,132.953,-13.1744],[2163.27,1147.79,14.8167,133.599,-0.0224256]]], - [46,1185.89,[[5196.61,-2002.2,42.0167,237.131,-67.1189],[5153.41,-1900.87,41.55,234.891,-66.683],[5109.85,-1800.83,41.0833,232.628,-66.2349],[5065.93,-1702.12,40.6167,230.342,-65.7742],[5020.06,-1601.29,40.1333,227.952,-65.2833],[4973.81,-1501.91,39.65,225.538,-64.7776],[4925.55,-1400.66,39.15,223.018,-64.2385],[4876.89,-1301.01,38.65,220.475,-63.6823],[4827.82,-1202.99,38.15,217.912,-63.1082],[4775.03,-1100.25,37.6167,215.155,-62.4754],[4723.45,-1002.54,37.1,212.465,-61.8413],[4668.07,-900.515,36.55,209.581,-61.1423],[4612.2,-800.575,36,206.679,-60.4174],[4555.85,-702.75,35.45,203.761,-59.6654],[4495.55,-601.341,34.8667,200.652,-58.8366],[4434.72,-502.379,34.2833,197.531,-57.9741],[4369.84,-400.464,33.6667,194.224,-57.0236],[4304.36,-301.365,33.05,190.912,-56.0312],[4234.71,-200.005,32.4,187.422,-54.9371],[4164.41,-101.866,31.75,183.939,-53.7911],[4089.81,-2.22078,31.0667,180.293,-52.527],[4010.83,98.3464,30.35,176.496,-51.1319],[3927.36,199.208,29.6,172.563,-49.5916],[3839.29,299.694,28.8167,168.514,-47.8895],[3746.54,399.092,28,164.375,-46.0074],[3647.08,498.495,27.1333,160.098,-43.8828],[3538.78,598.436,26.2,155.656,-41.44],[3419.45,698.781,25.1833,151.055,-38.5869],[3286.78,798.595,24.0667,146.348,-35.2123],[3132.26,899.637,22.7833,141.482,-31.015],[2946.89,999.871,21.2667,136.64,-25.6188],[2697.96,1099.66,19.2667,132.094,-17.8453],[2158.76,1185.88,15.0667,131.075,-0.0610342]]], - [47,1223.88,[[5149.71,-2002.69,42.4167,237.509,-67.6265],[5107.35,-1900.81,41.95,235.259,-67.2004],[5064.64,-1800.23,41.4833,232.986,-66.7625],[5021.57,-1700.96,41.0167,230.688,-66.3121],[4978.15,-1603.02,40.55,228.368,-65.8489],[4932.81,-1503.01,40.0667,225.942,-65.355],[4885.5,-1401.09,39.5667,223.407,-64.8283],[4837.8,-1300.77,39.0667,220.849,-64.2849],[4789.69,-1202.07,38.5667,218.268,-63.7241],[4739.56,-1101.8,38.05,215.579,-63.1253],[4687.37,-1000.17,37.5167,212.781,-62.4859],[4634.73,-900.455,36.9833,209.962,-61.8236],[4581.63,-802.695,36.45,207.124,-61.1375],[4524.74,-700.994,35.8833,204.09,-60.381],[4467.33,-601.561,35.3167,201.04,-59.5948],[4407.73,-501.606,34.7333,197.886,-58.7527],[4345.87,-401.377,34.1333,194.631,-57.8501],[4281.72,-301.13,33.5167,191.278,-56.8816],[4215.23,-201.136,32.8833,187.831,-55.8417],[4146.37,-101.679,32.2333,184.297,-54.7237],[4073.3,-0.631385,31.55,180.591,-53.4899],[3997.74,99.0944,30.85,176.815,-52.16],[3917.82,199.398,30.1167,172.891,-50.6906],[3833.44,299.63,29.35,168.838,-49.0659],[3744.5,399.096,28.55,164.677,-47.2679],[3649.02,498.959,27.7,160.355,-45.2357],[3544.95,599.832,26.7833,155.838,-42.8946],[3433.97,698.419,25.8167,151.273,-40.2482],[3308.13,799.254,24.7333,146.453,-37.0546],[3166.96,898.85,23.5333,141.561,-33.2253],[2997.95,999.781,22.1167,136.523,-28.3052],[2783.69,1099.92,20.35,131.607,-21.589],[2430.01,1199.91,17.5,127.653,-9.67426],[2150.22,1223.88,15.3,128.548,-0.0470188]]], - [48,1261.74,[[5098.21,-2000.82,42.8,237.838,-68.1239],[5058.17,-1902.07,42.35,235.66,-67.7224],[5016.31,-1800.93,41.8833,233.376,-67.2947],[4974.11,-1701.1,41.4167,231.068,-66.8548],[4931.56,-1602.58,40.95,228.737,-66.4023],[4887.12,-1501.97,40.4667,226.297,-65.9199],[4842.32,-1402.82,39.9833,223.834,-65.4228],[4795.58,-1301.82,39.4833,221.261,-64.8923],[4748.44,-1202.42,38.9833,218.664,-64.3448],[4699.33,-1101.43,38.4667,215.957,-63.7603],[4649.79,-1002.21,37.95,213.227,-63.1558],[4598.23,-901.681,37.4167,210.387,-62.5097],[4544.59,-800.04,36.8667,207.436,-61.819],[4490.48,-700.496,36.3167,204.466,-61.1021],[4434.25,-600.161,35.75,201.387,-60.3346],[4377.54,-502.117,35.1833,198.292,-59.5364],[4316.95,-400.839,34.5833,195.002,-58.6558],[4255.83,-302.205,33.9833,191.701,-57.7369],[4190.73,-201.002,33.35,188.21,-56.7229],[4123.3,-100.29,32.7,184.626,-55.6324],[4053.51,-0.363739,32.0333,180.955,-54.4582],[3981.3,98.4688,31.35,177.206,-53.1927],[3904.86,198.158,30.6333,173.298,-51.7938],[3824.08,298.074,29.8833,169.247,-50.246],[3737.07,399.604,29.0833,164.985,-48.4944],[3645.49,499.742,28.25,160.63,-46.5522],[3547.4,599.527,27.3667,156.134,-44.3538],[3440.76,699.426,26.4167,151.471,-41.819],[3323.44,799.224,25.3833,146.65,-38.8496],[3191.28,899.256,24.2333,141.66,-35.2723],[3037.94,999.278,22.9167,136.544,-30.8134],[2848.79,1099.61,21.3167,131.38,-24.8777],[2579.68,1199.94,19.0833,126.563,-15.7453],[2139.88,1261.73,15.5333,125.998,-0.0516463]]], - [49,1299.41,[[5043.61,-2000.29,43.1833,238.198,-68.6261],[5004.39,-1901.05,42.7333,236.012,-68.234],[4964.85,-1802.99,42.2833,233.801,-67.8314],[4923.52,-1702.58,41.8167,231.483,-67.4021],[4881.85,-1603.48,41.35,229.141,-66.9606],[4838.33,-1502.26,40.8667,226.689,-66.4897],[4794.45,-1402.5,40.3833,224.213,-66.0045],[4748.67,-1300.85,39.8833,221.625,-65.4867],[4702.51,-1200.8,39.3833,219.012,-64.9522],[4655.96,-1102.39,38.8833,216.376,-64.4002],[4607.46,-1002.43,38.3667,213.628,-63.8105],[4556.96,-901.116,37.8333,210.767,-63.1802],[4506.04,-801.74,37.3,207.884,-62.527],[4453.07,-701.315,36.75,204.889,-61.8281],[4398.02,-600.062,36.1833,201.782,-61.0798],[4342.49,-501.091,35.6167,198.658,-60.3013],[4284.83,-401.626,35.0333,195.426,-59.4667],[4225.01,-301.917,34.4333,192.088,-58.571],[4162.97,-202.221,33.8167,188.648,-57.6088],[4096.99,-100.236,33.1667,185.016,-56.5464],[4030.4,-1.47905,32.5167,181.385,-55.4313],[3959.75,98.8094,31.8333,177.576,-54.1986],[3886.7,197.734,31.1333,173.691,-52.8675],[3807.69,299.383,30.3833,169.56,-51.3597],[3726.13,398.579,29.6167,165.384,-49.7249],[3638.38,498.925,28.8,161.005,-47.8727],[3544.29,599.322,27.9333,156.46,-45.7735],[3443.73,698.581,27.0167,151.799,-43.3933],[3332.8,798.613,26.0167,146.925,-40.5973],[3207.47,899.978,24.9,141.808,-37.215],[3067.28,999.053,23.6667,136.646,-33.1463],[2896.3,1099.99,22.1833,131.279,-27.7824],[2673.57,1199.68,20.2833,126.068,-20.1983],[2125.67,1299.41,15.75,123.444,-0.000218818]]], - [50,1336.87,[[4985.88,-2001.18,43.5667,238.591,-69.1331],[4947.48,-1901.42,43.1167,236.396,-68.7505],[4908.78,-1802.85,42.6667,234.176,-68.3576],[4868.31,-1701.9,42.2,231.849,-67.9387],[4827.52,-1602.26,41.7333,229.496,-67.5078],[4784.91,-1500.47,41.25,227.032,-67.0482],[4741.95,-1400.12,40.7667,224.542,-66.5746],[4698.63,-1301.25,40.2833,222.027,-66.0862],[4653.45,-1200.55,39.7833,219.4,-65.5649],[4607.89,-1101.46,39.2833,216.747,-65.0265],[4560.41,-1000.8,38.7667,213.981,-64.4512],[4512.54,-901.919,38.25,211.19,-63.8559],[4462.7,-801.745,37.7167,208.286,-63.2191],[4410.87,-700.489,37.1667,205.267,-62.5378],[4358.59,-601.341,36.6167,202.227,-61.83],[4304.26,-501.427,36.05,199.074,-61.0716],[4247.85,-400.983,35.4667,195.81,-60.2583],[4189.31,-300.254,34.8667,192.437,-59.3853],[4130.26,-202.186,34.2667,189.051,-58.4731],[4067.38,-101.598,33.6333,185.469,-57.4651],[4002.26,-1.53653,32.9833,181.788,-56.3796],[3934.86,97.7018,32.3167,178.016,-55.2091],[3863.43,198.154,31.6167,174.066,-53.9136],[3787.89,299.211,30.8833,169.952,-52.4785],[3709.89,398.075,30.1333,165.781,-50.9226],[3625.88,498.452,29.3333,161.389,-49.1577],[3535.71,599.27,28.4833,156.808,-47.155],[3439.24,699.371,27.5833,152.082,-44.8812],[3334.51,799.154,26.6167,147.187,-42.251],[3217.62,899.817,25.55,142.056,-39.1079],[3086.37,999.713,24.3667,136.777,-35.3092],[2932.77,1099.42,23,131.35,-30.4994],[2738.77,1199.57,21.3,125.847,-23.8902],[2439.88,1299.61,18.7333,120.844,-12.7775],[2111.71,1336.87,15.9833,120.845,-0.0445363]]], - [51,1374.07,[[4925,-2003.53,43.95,239.015,-69.6446],[4887.44,-1903.25,43.5,236.813,-69.2716],[4848.17,-1800.51,43.0333,234.503,-68.8742],[4809.99,-1702.65,42.5833,232.249,-68.4802],[4770.08,-1602.46,42.1167,229.886,-68.06],[4728.39,-1500.09,41.6333,227.411,-67.6119],[4687.82,-1402.61,41.1667,224.996,-67.1662],[4645.45,-1303.1,40.6833,222.469,-66.6905],[4601.25,-1201.71,40.1833,219.827,-66.1826],[4556.69,-1101.94,39.6833,217.16,-65.658],[4510.25,-1000.57,39.1667,214.376,-65.0974],[4463.42,-900.97,38.65,211.567,-64.5171],[4414.68,-800.045,38.1167,208.642,-63.8965],[4365.52,-701.067,37.5833,205.693,-63.2527],[4314.39,-601.064,37.0333,202.628,-62.5633],[4261.26,-500.26,36.4667,199.448,-61.8245],[4207.67,-401.752,35.9,196.248,-61.0551],[4152.04,-302.778,35.3167,192.936,-60.2293],[4092.7,-200.872,34.7,189.418,-59.3168],[4032.84,-101.805,34.0833,185.889,-58.3614],[3969.18,-0.503006,33.4333,182.161,-57.3048],[3904.94,97.5503,32.7833,178.431,-56.194],[3835.13,199.459,32.0833,174.42,-54.9334],[3762.98,299.774,31.3667,170.329,-53.5685],[3688.46,398.148,30.6333,166.171,-52.0888],[3608.1,498.384,29.85,161.775,-50.4086],[3521.75,599.44,29.0167,157.17,-48.4999],[3431.04,698.347,28.15,152.483,-46.3724],[3330.56,799.399,27.2,147.5,-43.8609],[3221.84,898.879,26.1833,142.392,-40.9507],[3099.22,999.048,25.05,137.043,-37.4176],[2956.79,1099.8,23.75,131.464,-32.9707],[2784.55,1199.82,22.2,125.787,-27.1076],[2547.1,1299.77,20.1,120.227,-18.2502],[2093.94,1374.06,16.2,118.241,-0.0325201]]], - [52,1410.96,[[4859.61,-2003.66,44.3167,239.391,-70.147],[4822.89,-1902.9,43.8667,237.181,-69.7835],[4785.86,-1803.31,43.4167,234.946,-69.41],[4747.15,-1701.3,42.95,232.6,-69.0119],[4708.11,-1600.58,42.4833,230.227,-68.6023],[4668.76,-1501.19,42.0167,227.827,-68.1806],[4629.09,-1403.14,41.55,225.401,-67.7464],[4587.67,-1303.02,41.0667,222.861,-67.283],[4544.46,-1201,40.5667,220.206,-66.7882],[4500.89,-1100.59,40.0667,217.523,-66.277],[4456.96,-1001.81,39.5667,214.814,-65.7486],[4411.19,-901.475,39.05,211.988,-65.1837],[4365.03,-802.934,38.5333,209.135,-64.5987],[4315.49,-700.034,37.9833,206.073,-63.9525],[4267.03,-602.249,37.45,203.078,-63.3018],[4215.11,-500.538,36.8833,199.872,-62.5829],[4162.74,-401.114,36.3167,196.644,-61.8341],[4108.36,-301.188,35.7333,193.3,-61.0302],[4051.95,-201.009,35.1333,189.842,-60.1662],[3993.46,-100.837,34.5167,186.273,-59.2366],[3932.86,-0.945821,33.8833,182.597,-58.2352],[3870.1,98.3804,33.2333,178.817,-57.1551],[3803.53,199.26,32.55,174.844,-55.9585],[3734.71,298.781,31.85,170.783,-54.6632],[3661.94,398.835,31.1167,166.55,-53.2253],[3585.13,498.765,30.35,162.16,-51.627],[3502.52,599.882,29.5333,157.541,-49.8095],[3415.68,699.196,28.6833,152.819,-47.782],[3321.06,799.419,27.7667,147.855,-45.4281],[3218.48,898.869,26.7833,142.719,-42.6952],[3104.19,998.623,25.7,137.348,-39.4172],[2972.51,1099.47,24.4667,131.693,-35.3227],[2817.42,1199.37,23.0333,125.894,-30.059],[2615.94,1299.54,21.2,120.008,-22.5443],[2244.77,1399.97,17.9,115.047,-7.25903],[2074.4,1410.96,16.4167,115.612,-0.0416175]]], - [53,1447.51,[[4789.77,-2001.58,44.6667,239.717,-70.6413],[4753.87,-1900.36,44.2167,237.5,-70.2869],[4717.68,-1800.32,43.7667,235.256,-69.9229],[4681.2,-1701.46,43.3167,232.985,-69.5488],[4643.06,-1600.22,42.85,230.603,-69.1498],[4604.61,-1500.29,42.3833,228.193,-68.7391],[4565.84,-1401.69,41.9167,225.756,-68.3162],[4525.36,-1301,41.4333,223.204,-67.8648],[4484.56,-1201.79,40.95,220.625,-67.399],[4441.99,-1100.72,40.45,217.928,-66.9015],[4399.07,-1001.28,39.95,215.203,-66.3872],[4354.35,-900.259,39.4333,212.36,-65.8372],[4309.26,-801.021,38.9167,209.489,-65.2676],[4262.33,-700.482,38.3833,206.499,-64.6578],[4215,-601.901,37.85,203.483,-64.0248],[4165.78,-502.32,37.3,200.347,-63.3463],[4114.64,-401.964,36.7333,197.092,-62.6184],[4061.54,-301.07,36.15,193.718,-61.8368],[4007.98,-202.659,35.5667,190.324,-61.0205],[3950.87,-101.364,34.95,186.717,-60.1173],[3891.7,-0.30709,34.3167,182.998,-59.144],[3832,97.6907,33.6833,179.27,-58.1214],[3767.02,199.943,33,175.242,-56.9588],[3701.44,298.528,32.3167,171.218,-55.7305],[3632.03,397.922,31.6,167.01,-54.3664],[3557.08,499.651,30.8333,162.536,-52.8146],[3479.77,598.607,30.05,158.009,-51.1227],[3396.72,698.263,29.2167,153.262,-49.1951],[3306.12,799.293,28.3167,148.244,-46.9537],[3209.49,898.385,27.3667,143.105,-44.3933],[3101.53,998.747,26.3167,137.667,-41.3122],[2980.17,1098.8,25.15,132.002,-37.5569],[2837.97,1199.28,23.8,126.076,-32.7499],[2661.66,1299.4,22.15,119.994,-26.1872],[2400.47,1399.6,19.75,114.086,-15.4035],[2053.08,1447.51,16.6333,112.96,-0.0735028]]], - [54,1483.68,[[4716.86,-2001.09,45.0167,240.076,-71.1407],[4683.1,-1903.16,44.5833,237.935,-70.8086],[4647.77,-1802.6,44.1333,235.684,-70.4545],[4612.15,-1703.23,43.6833,233.406,-70.0905],[4574.91,-1601.44,43.2167,231.015,-69.7024],[4537.36,-1500.96,42.75,228.596,-69.3028],[4499.51,-1401.81,42.2833,226.149,-68.8913],[4459.99,-1300.54,41.8,223.586,-68.4521],[4420.14,-1200.74,41.3167,220.994,-67.9988],[4379.97,-1102.43,40.8333,218.374,-67.531],[4338.07,-1002.31,40.3333,215.635,-67.031],[4294.42,-900.587,39.8167,212.776,-66.4963],[4250.4,-800.638,39.3,209.888,-65.9423],[4206.02,-702.493,38.7833,206.973,-65.3681],[4158.38,-600.027,38.2333,203.841,-64.7335],[4111.79,-502.676,37.7,200.777,-64.0938],[4061.87,-401.44,37.1333,197.497,-63.3863],[4011.53,-302.505,36.5667,194.191,-62.6487],[3957.77,-200.294,35.9667,190.668,-61.8326],[3903.54,-100.739,35.3667,187.124,-60.9784],[3847.32,-1.22731,34.75,183.463,-60.0581],[3789.08,97.9674,34.1167,179.691,-59.0652],[3727.23,199.043,33.45,175.71,-57.9643],[3663.25,299.036,32.7667,171.628,-56.7721],[3595.55,399.924,32.05,167.354,-55.4474],[3525.63,498.874,31.3167,162.998,-54.0068],[3450.24,599.712,30.5333,158.38,-52.3655],[3370.88,699.417,29.7167,153.622,-50.5323],[3285.84,799.078,28.85,148.659,-48.4391],[3193.32,899.219,27.9167,143.448,-46.0004],[3091.46,999.689,26.9,137.976,-43.1073],[2978.34,1099.53,25.7833,132.28,-39.6223],[2848.48,1199.25,24.5167,126.328,-35.2512],[2690.9,1299.41,23,120.107,-29.4057],[2478,1399.51,20.9833,113.808,-20.6198],[2028.14,1483.68,16.8333,110.298,-0.0451503]]], - [55,1519.42,[[4640.84,-2002.25,45.3667,240.467,-71.6451],[4606.63,-1900.09,44.9167,238.237,-71.3095],[4573.43,-1802.82,44.4833,236.062,-70.9777],[4538.67,-1702.97,44.0333,233.777,-70.6237],[4502.33,-1600.67,43.5667,231.377,-70.2461],[4467.01,-1503.27,43.1167,229.036,-69.8715],[4428.76,-1400.02,42.6333,226.492,-69.4571],[4391.52,-1301.69,42.1667,224.006,-69.0447],[4352.65,-1201.29,41.6833,221.403,-68.6041],[4313.46,-1102.37,41.2,218.771,-68.1494],[4272.58,-1001.63,40.7,216.018,-67.6633],[4231.37,-902.518,40.2,213.236,-67.1605],[4188.44,-801.844,39.6833,210.332,-66.6225],[4145.14,-702.966,39.1667,207.399,-66.0648],[4100.09,-602.811,38.6333,204.343,-65.4673],[4053.23,-501.59,38.0833,201.162,-64.8267],[4005.98,-402.495,37.5333,197.954,-64.1598],[3956.88,-302.654,36.9667,194.622,-63.4436],[3905.91,-202.305,36.3833,191.167,-62.6737],[3853.04,-101.697,35.7833,187.589,-61.8451],[3798.22,-1.09095,35.1667,183.892,-60.952],[3741.43,99.2393,34.5333,180.077,-59.9882],[3682.63,199.007,33.8833,176.149,-58.9465],[3621.8,297.913,33.2167,172.113,-57.8188],[3557.34,397.982,32.5167,167.876,-56.5651],[3489.21,498.599,31.7833,163.447,-55.1695],[3417.3,599.105,31.0167,158.843,-53.613],[3341.57,698.8,30.2167,154.081,-51.8738],[3260.32,798.84,29.3667,149.093,-49.8858],[3171.81,899.827,28.45,143.825,-47.5659],[3077.52,998.447,27.4833,138.436,-44.9037],[2970.71,1099.21,26.4,132.659,-41.6336],[2849.36,1199.89,25.1833,126.597,-37.5699],[2707.96,1299.13,23.7833,120.338,-32.3473],[2525.22,1399.33,22,113.802,-24.828],[2213.2,1499.93,19.0167,107.645,-10.3652],[2001.5,1519.42,17.0333,107.611,-0.0393024]]], - [56,1554.71,[[4560.47,-2001.29,45.7,240.81,-72.1424],[4528.35,-1902.48,45.2667,238.656,-71.8283],[4494.73,-1801,44.8167,236.391,-71.4934],[4460.83,-1700.69,44.3667,234.097,-71.1491],[4426.66,-1601.57,43.9167,231.776,-70.7952],[4390.94,-1500.06,43.45,229.339,-70.4175],[4356.22,-1403.42,43,226.961,-70.0426],[4318.63,-1301,42.5167,224.377,-69.6277],[4280.73,-1200.04,42.0333,221.762,-69.1997],[4242.51,-1100.56,41.55,219.118,-68.7577],[4203.99,-1002.57,41.0667,216.444,-68.3012],[4163.82,-902.811,40.5667,213.648,-67.813],[4121.97,-801.457,40.05,210.728,-67.2906],[4079.77,-701.892,39.5333,207.777,-66.7489],[4035.85,-601.019,39,204.701,-66.1685],[3991.56,-502.109,38.4667,201.596,-65.5654],[3945.51,-402.194,37.9167,198.365,-64.9182],[3897.66,-301.499,37.35,195.007,-64.2231],[3847.99,-200.262,36.7667,191.523,-63.4756],[3797.89,-101.515,36.1833,188.014,-62.6938],[3745.92,-2.58324,35.5833,184.382,-61.8513],[3690.6,98.9017,34.95,180.527,-60.9172],[3633.31,199.867,34.3,176.554,-59.9072],[3575.53,297.554,33.65,172.569,-58.8413],[3512.75,399.033,32.95,168.273,-57.6263],[3447.89,498.869,32.2333,163.879,-56.3045],[3379.4,598.887,31.4833,159.296,-54.8299],[3307.19,698.404,30.7,154.541,-53.1814],[3229.65,798.642,29.8667,149.539,-51.2954],[3146.65,898.46,28.9833,144.326,-49.1338],[3054.89,999.991,28.0167,138.763,-46.5584],[2955.78,1099.48,26.9833,133.035,-43.5398],[2844.25,1199.05,25.8333,127.004,-39.8281],[2713.39,1299.54,24.5,120.598,-35.0216],[2552.57,1399.49,22.8833,113.93,-28.4305],[2319.9,1499.54,20.5833,107.187,-17.6623],[1973.14,1554.71,17.2333,104.9,-0.0579321]]], - [57,1589.49,[[4477.04,-2002.07,46.0333,241.185,-72.6449],[4445.74,-1902.82,45.6,239.025,-72.3398],[4412.98,-1800.89,45.15,236.754,-72.0145],[4379.96,-1700.12,44.7,234.453,-71.6801],[4346.67,-1600.54,44.25,232.124,-71.3364],[4313.11,-1502.16,43.8,229.767,-70.9828],[4278.04,-1401.42,43.3333,227.292,-70.6053],[4242.68,-1302.01,42.8667,224.787,-70.2163],[4205.76,-1200.48,42.3833,222.162,-69.8009],[4168.54,-1100.42,41.9,219.506,-69.3719],[4131.01,-1001.85,41.4167,216.82,-68.9288],[4091.88,-901.479,40.9167,214.01,-68.4549],[4052.43,-802.75,40.4167,211.169,-67.9643],[4011.34,-702.482,39.9,208.203,-67.4389],[3968.56,-600.877,39.3667,205.108,-66.876],[3925.43,-501.226,38.8333,201.983,-66.2909],[3880.58,-400.54,38.2833,198.73,-65.6629],[3835.35,-301.995,37.7333,195.447,-65.0086],[3788.37,-202.736,37.1667,192.037,-64.3051],[3738.2,-100.189,36.5667,188.397,-63.5258],[3687.6,-0.306258,35.9667,184.731,-62.7087],[3635.15,99.5347,35.35,180.94,-61.8268],[3580.82,199.058,34.7167,177.027,-60.8736],[3524.57,297.976,34.0667,172.995,-59.8414],[3464.92,398.391,33.3833,168.746,-58.6931],[3401.8,499.71,32.6667,164.288,-57.4136],[3336.63,599.088,31.9333,159.734,-56.0178],[3267.87,698.265,31.1667,154.996,-54.457],[3193.95,798.527,30.35,149.99,-52.6698],[3114.74,898.762,29.4833,144.751,-50.6192],[3028.6,999.498,28.55,139.223,-48.2164],[2935.35,1099.01,27.55,133.48,-45.3958],[2830.11,1199.67,26.4333,127.356,-41.9148],[2710.96,1299.05,25.1833,120.973,-37.5646],[2566.16,1399.46,23.6833,114.176,-31.6636],[2373.45,1499.4,21.7167,107.149,-22.7777],[1941.37,1589.49,17.4167,102.177,-0.0116222]]], - [58,1623.74,[[4389.34,-2000.8,46.35,241.511,-73.1412],[4358.88,-1901.14,45.9167,239.345,-72.845],[4328.17,-1802.56,45.4833,237.152,-72.5409],[4296.03,-1701.32,45.0333,234.845,-72.2166],[4263.63,-1601.26,44.5833,232.509,-71.883],[4230.97,-1502.39,44.1333,230.144,-71.54],[4196.82,-1401.15,43.6667,227.661,-71.1738],[4162.41,-1301.24,43.2,225.147,-70.7965],[4127.72,-1202.67,42.7333,222.602,-70.4074],[4091.5,-1102.01,42.25,219.936,-69.9917],[4054.98,-1002.85,41.7667,217.238,-69.5621],[4016.9,-901.851,41.2667,214.416,-69.1027],[3978.51,-802.491,40.7667,211.561,-68.6271],[3938.52,-701.565,40.25,208.578,-68.1177],[3898.2,-602.44,39.7333,205.564,-67.5892],[3856.23,-502.034,39.2,202.421,-67.0224],[3812.59,-400.56,38.65,199.146,-66.414],[3768.59,-301.219,38.1,195.841,-65.78],[3722.88,-201.132,37.5333,192.404,-65.0982],[3675.43,-100.536,36.95,188.837,-64.3642],[3627.57,-2.44892,36.3667,185.243,-63.5954],[3576.56,98.4766,35.75,181.417,-62.7423],[3523.72,199.126,35.1167,177.464,-61.8199],[3469.01,299.211,34.4667,173.387,-60.8208],[3412.42,398.431,33.8,169.191,-59.7365],[3352.47,498.818,33.1,164.777,-58.5281],[3289.1,599.752,32.3667,160.155,-57.1787],[3223.71,698.435,31.6167,155.44,-55.7024],[3153.32,798.553,30.8167,150.442,-54.0105],[3077.82,899.023,29.9667,145.187,-52.0677],[2997.11,998.671,29.0667,139.715,-49.8312],[2908.04,1099.51,28.0833,133.886,-47.1546],[2810.41,1199.26,27.0167,127.799,-43.9467],[2699.37,1299.3,25.8167,121.34,-39.9198],[2568.27,1399.46,24.4167,114.492,-34.6097],[2400.55,1499.97,22.65,107.255,-26.9126],[2124.9,1600,19.8,100.104,-12.332],[1909.63,1623.73,17.6167,99.4159,-0.0835619]]], - [59,1657.4,[[4298.63,-2001.36,46.6667,241.87,-73.6429],[4269,-1901.3,46.2333,239.7,-73.3557],[4239.13,-1802.29,45.8,237.501,-73.0609],[4207.87,-1700.61,45.35,235.188,-72.7464],[4176.36,-1600.11,44.9,232.844,-72.423],[4144.6,-1500.8,44.45,230.471,-72.0903],[4112.58,-1402.7,44,228.069,-71.748],[4079.12,-1302.26,43.5333,225.547,-71.3824],[4045.39,-1203.16,43.0667,222.993,-71.0055],[4010.17,-1101.96,42.5833,220.316,-70.6026],[3974.67,-1002.23,42.1,217.607,-70.1864],[3937.64,-900.653,41.6,214.771,-69.7411],[3900.31,-800.703,41.1,211.903,-69.2802],[3862.68,-702.408,40.6,209.002,-68.8027],[3823.48,-602.602,40.0833,205.972,-68.2909],[3782.68,-501.487,39.55,202.81,-67.742],[3741.55,-402.339,39.0167,199.615,-67.171],[3698.78,-302.186,38.4667,196.289,-66.5576],[3654.35,-201.253,37.9,192.828,-65.8979],[3609.55,-102.643,37.3333,189.337,-65.2083],[3561.72,-0.801204,36.7333,185.61,-64.4434],[3513.48,98.3582,36.1333,181.854,-63.6402],[3463.48,197.436,35.5167,177.968,-62.772],[3410.33,298.71,34.8667,173.849,-61.8065],[3355.34,399.162,34.2,169.605,-60.7585],[3298.48,498.481,33.5167,165.241,-59.6183],[3238.33,598.619,32.8,160.66,-58.3449],[3174.81,698.937,32.05,155.871,-56.9195],[3107.87,798.75,31.2667,150.889,-55.3197],[3035.99,899.283,30.4333,145.631,-53.4813],[2959.08,999.39,29.55,140.13,-51.3628],[2875.55,1099.52,28.6,134.335,-48.8686],[2783.77,1199.44,27.5667,128.226,-45.8732],[2680.54,1299.45,26.4167,121.746,-42.155],[2561.01,1399.24,25.1,114.878,-37.3469],[2412.35,1499.93,23.4833,107.52,-30.5689],[2200.63,1599.84,21.2167,99.9255,-19.4272],[1874.56,1657.39,17.8,96.6428,-0.0907094]]], - [60,1690.45,[[4204.85,-2003.79,46.9833,242.263,-74.1498],[4176.07,-1903.3,46.55,240.088,-73.8717],[4145.94,-1800.06,46.1,237.799,-73.5751],[4116.69,-1701.74,45.6667,235.566,-73.2817],[4086.08,-1600.78,45.2167,233.216,-72.9685],[4055.22,-1501.01,44.7667,230.836,-72.6464],[4024.12,-1402.45,44.3167,228.426,-72.3149],[3991.61,-1301.52,43.85,225.895,-71.9608],[3958.84,-1201.93,43.3833,223.332,-71.5957],[3924.63,-1100.22,42.9,220.645,-71.2055],[3891.33,-1003.41,42.4333,218.019,-70.8165],[3855.37,-901.227,41.9333,215.171,-70.3857],[3819.11,-800.674,41.4333,212.29,-69.9396],[3782.56,-701.77,40.9333,209.375,-69.4774],[3744.49,-601.328,40.4167,206.329,-68.9821],[3706.1,-502.699,39.9,203.249,-68.4678],[3666.16,-402.819,39.3667,200.036,-67.9156],[3624.63,-301.902,38.8167,196.689,-67.3224],[3581.48,-200.174,38.25,193.205,-66.6843],[3537.97,-100.761,37.6833,189.689,-66.0172],[3492.82,-0.877139,37.1,186.036,-65.298],[3445.98,99.225,36.5,182.249,-64.5217],[3397.43,199.281,35.8833,178.328,-63.6822],[3347.15,299.015,35.25,174.274,-62.773],[3295.11,398.137,34.6,170.091,-61.7864],[3239.93,498.755,33.9167,165.676,-60.6859],[3182.91,597.956,33.2167,161.142,-59.4856],[3121.27,699.832,32.4667,156.282,-58.1101],[3057.69,799.184,31.7,151.325,-56.5992],[2989.35,899.611,30.8833,146.074,-54.8616],[2916.15,999.997,30.0167,140.557,-52.8576],[2837.98,1099.13,29.1,134.818,-50.539],[2751.88,1198.9,28.1,128.714,-47.7495],[2654.73,1299.81,26.9833,122.162,-44.2755],[2544.78,1399.42,25.7333,115.275,-39.8841],[2412.74,1499.04,24.25,107.929,-33.9103],[2235.21,1599.48,22.2833,100.077,-24.6352],[1836.29,1690.45,17.9667,93.8556,-0.0271267]]], - [61,1722.85,[[4105.87,-2000.38,47.2667,242.525,-74.6413],[4079.01,-1903.4,46.85,240.428,-74.3824],[4050.85,-1803.57,46.4167,238.219,-74.1061],[4021.38,-1701.02,45.9667,235.894,-73.8114],[3992.78,-1603.38,45.5333,233.626,-73.5197],[3962.84,-1503.14,45.0833,231.24,-73.2082],[3931.54,-1400.45,44.6167,228.733,-72.8756],[3901.12,-1302.67,44.1667,226.285,-72.5453],[3869.32,-1202.58,43.7,223.714,-72.1923],[3836.13,-1100.33,43.2167,221.017,-71.815],[3803.82,-1003.01,42.75,218.38,-71.4387],[3768.92,-900.273,42.25,215.521,-71.022],[3734.91,-802.5,41.7667,212.724,-70.6052],[3699.46,-702.972,41.2667,209.796,-70.1587],[3662.52,-601.878,40.75,206.735,-69.6801],[3625.28,-502.59,40.2333,203.64,-69.183],[3586.53,-402.024,39.7,200.409,-68.6494],[3546.24,-300.391,39.15,197.042,-68.076],[3505.62,-200.899,38.6,193.639,-67.4776],[3463.42,-100.664,38.0333,190.098,-66.8333],[3420.87,-2.76917,37.4667,186.525,-66.159],[3375.45,98.2954,36.8667,182.708,-65.41],[3328.37,199.351,36.25,178.753,-64.5999],[3280.9,297.51,35.6333,174.769,-63.7459],[3230.43,397.792,34.9833,170.544,-62.7944],[3176.93,499.642,34.3,166.08,-61.7328],[3122.96,597.773,33.6167,161.599,-60.6026],[3064.53,698.885,32.8833,156.781,-59.3067],[3002.91,799.874,32.1167,151.747,-57.8509],[2939.38,898.003,31.3333,146.621,-56.2462],[2869.81,998.613,30.4833,141.1,-54.3563],[2795.47,1098.38,29.5833,135.328,-52.1677],[2713.45,1199.32,28.6,129.15,-49.5297],[2623.58,1299.14,27.5333,122.662,-46.3404],[2521.41,1399.22,26.3333,115.727,-42.2928],[2400.85,1499.36,24.9333,108.299,-36.8798],[2246.73,1599.76,23.1667,100.325,-28.8841],[1992.25,1699.81,20.3,92.1317,-13.223],[1797.99,1722.85,18.15,91.0319,-0.0926429]]], - [62,1754.56,[[4005.01,-2002.83,47.5667,242.903,-75.1487],[3977.93,-1901.59,47.1333,240.718,-74.8884],[3950.63,-1801.39,46.7,238.504,-74.6212],[3923.12,-1702.25,46.2667,236.26,-74.3468],[3894.32,-1600.44,45.8167,233.898,-74.0539],[3866.37,-1503.51,45.3833,231.594,-73.7639],[3836.03,-1400.37,44.9167,229.08,-73.4426],[3806.55,-1302.14,44.4667,226.624,-73.1233],[3775.73,-1201.58,44,224.044,-72.7822],[3744.66,-1102.37,43.5333,221.431,-72.4303],[3712.22,-1001.04,43.05,218.691,-72.0538],[3679.53,-901.206,42.5667,215.916,-71.6647],[3646.58,-802.876,42.0833,213.107,-71.2622],[3612.21,-702.765,41.5833,210.167,-70.831],[3576.42,-601.062,41.0667,207.092,-70.3688],[3540.33,-501.159,40.55,203.981,-69.8887],[3503.95,-403.084,40.0333,200.834,-69.3896],[3464.91,-300.718,39.4833,197.448,-68.8364],[3425.55,-200.486,38.9333,194.025,-68.2589],[3385.87,-102.418,38.3833,190.566,-67.6558],[3343.43,-0.806843,37.8,186.862,-66.9861],[3300.65,98.2962,37.2167,183.123,-66.2834],[3256.28,197.576,36.6167,179.244,-65.5238],[3209.05,299.405,35.9833,175.117,-64.6781],[3161.42,398.145,35.35,170.961,-63.7841],[3110.86,498.692,34.6833,166.559,-62.7863],[3058.59,598.092,34,162.026,-61.6978],[3003.3,698.299,33.2833,157.258,-60.4784],[2944.93,798.67,32.5333,152.262,-59.1084],[2883.43,898.518,31.75,147.052,-57.5646],[2817.41,999.063,30.9167,141.538,-55.7817],[2746.78,1099.16,30.0333,135.749,-53.7155],[2670.1,1199.24,29.0833,129.624,-51.266],[2585.88,1299.07,28.05,123.133,-48.2996],[2491.19,1398.94,26.9,116.204,-44.5784],[2380.2,1499.66,25.5667,108.706,-39.6353],[2243.98,1599.75,23.95,100.682,-32.625],[2047.3,1699.76,21.65,92.1333,-20.6252],[1756.6,1754.56,18.3167,88.1938,-0.0876778]]], - [63,1785.54,[[3900.14,-2003.38,47.85,243.234,-75.6517],[3873.92,-1901.77,47.4167,241.045,-75.4003],[3847.49,-1801.19,46.9833,238.825,-75.1423],[3820.85,-1701.67,46.55,236.576,-74.8773],[3794,-1603.22,46.1167,234.296,-74.6052],[3765.91,-1502.14,45.6667,231.897,-74.3145],[3737.59,-1402.25,45.2167,229.466,-74.0154],[3709.04,-1303.56,44.7667,227.004,-73.7074],[3679.21,-1202.52,44.3,224.416,-73.3783],[3649.14,-1102.82,43.8333,221.795,-73.0388],[3617.74,-1000.99,43.35,219.045,-72.6756],[3586.09,-900.639,42.8667,216.26,-72.3001],[3554.19,-801.79,42.3833,213.44,-71.9117],[3520.93,-701.136,41.8833,210.487,-71.4956],[3487.4,-602.138,41.3833,207.498,-71.0641],[3452.47,-501.605,40.8667,204.373,-70.6013],[3417.27,-402.892,40.35,201.211,-70.1201],[3380.63,-302.933,39.8167,197.91,-69.6031],[3342.54,-201.943,39.2667,194.467,-69.0469],[3302.98,-100.149,38.7,190.882,-68.4479],[3263.08,-0.678612,38.1333,187.26,-67.8207],[3221.68,99.2534,37.55,183.494,-67.1436],[3178.75,199.394,36.95,179.585,-66.4113],[3134.25,299.478,36.3333,175.533,-65.6181],[3088.17,399.226,35.7,171.339,-64.757],[3040.48,498.349,35.05,167.005,-63.8204],[2989.92,598.951,34.3667,162.423,-62.773],[2937.69,698.12,33.6667,157.709,-61.627],[2881.23,799.941,32.9167,152.646,-60.3091],[2823.02,899.214,32.15,147.47,-58.8557],[2760.45,999.533,31.3333,141.972,-57.1762],[2693.46,1099.78,30.4667,136.178,-55.2285],[2621.94,1198.73,29.55,130.126,-52.96],[2541.86,1299.84,28.5333,123.554,-50.1601],[2454.35,1398.85,27.4333,116.679,-46.7473],[2352.53,1499.29,26.1667,109.19,-42.252],[2230.57,1599.12,24.6667,101.146,-36.0351],[2065.78,1699.46,22.6667,92.4063,-26.0791],[1712.24,1785.54,18.4667,85.3394,-0.00541811]]], - [64,1815.75,[[3791.33,-2002.07,48.1167,243.515,-76.151],[3765.98,-1900.11,47.6833,241.321,-75.9085],[3741.41,-1803.04,47.2667,239.183,-75.6693],[3715.65,-1703.13,46.8333,236.929,-75.4139],[3688.7,-1600.51,46.3833,234.556,-75.1413],[3662.54,-1502.79,45.95,232.24,-74.8714],[3635.16,-1402.48,45.5,229.803,-74.5831],[3607.57,-1303.37,45.05,227.333,-74.2862],[3578.72,-1201.88,44.5833,224.738,-73.9689],[3549.65,-1101.73,44.1167,222.109,-73.6416],[3520.35,-1002.93,43.65,219.445,-73.3037],[3489.76,-902.055,43.1667,216.651,-72.9421],[3458.92,-802.673,42.6833,213.821,-72.568],[3426.77,-701.462,42.1833,210.856,-72.1672],[3394.36,-601.901,41.6833,207.854,-71.7516],[3360.6,-500.78,41.1667,204.714,-71.3057],[3326.57,-401.473,40.65,201.537,-70.8421],[3291.15,-300.895,40.1167,198.218,-70.344],[3255.45,-202.308,39.5833,194.862,-69.8246],[3218.35,-102.757,39.0333,191.363,-69.2653],[3179.8,-2.47152,38.4667,187.718,-68.6623],[3139.8,98.3089,37.8833,183.928,-68.0112],[3098.31,199.331,37.2833,179.991,-67.3069],[3056.48,297.639,36.6833,176.018,-66.5649],[3011.96,398.419,36.05,171.788,-65.7376],[2965.89,498.612,35.4,167.414,-64.8373],[2918.24,597.914,34.7333,162.899,-63.8554],[2867.79,698.353,34.0333,158.132,-62.7546],[2814.47,799.305,33.3,153.12,-61.5172],[2759.47,897.966,32.55,147.985,-60.1531],[2700.3,998.016,31.75,142.512,-58.5761],[2636.86,1098.36,30.9,136.724,-56.7463],[2567.82,1199.59,29.9833,130.54,-54.572],[2494.33,1298.38,29.0167,124.125,-52.0226],[2411.18,1399.21,27.9333,117.128,-48.807],[2316.83,1499.82,26.7167,109.618,-44.6746],[2205.78,1599.86,25.3,101.53,-39.0588],[2062.92,1699.98,23.5,92.7178,-30.5009],[1814.04,1799.9,20.4167,83.3885,-12.1038],[1667.82,1815.75,18.6333,82.4504,-0.0655422]]], - [65,1845.18,[[3679.64,-2002.82,48.3833,243.832,-76.6563],[3655.17,-1900.5,47.95,241.634,-76.4228],[3631.44,-1803.1,47.5333,239.492,-76.1924],[3606.58,-1702.82,47.1,237.233,-75.9464],[3581.52,-1603.61,46.6667,234.943,-75.6938],[3555.3,-1501.73,46.2167,232.533,-75.424],[3528.86,-1401.03,45.7667,230.089,-75.1463],[3502.22,-1301.53,45.3167,227.612,-74.8604],[3475.37,-1203.25,44.8667,225.103,-74.5659],[3447.31,-1102.64,44.4,222.466,-74.2509],[3419.02,-1003.37,43.9333,219.794,-73.9258],[3389.49,-902.003,43.45,216.99,-73.5778],[3359.73,-802.127,42.9667,214.15,-73.2179],[3328.69,-700.399,42.4667,211.174,-72.8322],[3297.41,-600.316,41.9667,208.159,-72.4322],[3265.87,-501.901,41.4667,205.108,-72.0171],[3233.03,-401.985,40.95,201.916,-71.5714],[3198.85,-300.771,40.4167,198.582,-71.0924],[3164.4,-201.542,39.8833,195.208,-70.5929],[3128.58,-101.322,39.3333,191.688,-70.055],[3091.38,-0.339254,38.7667,188.022,-69.475],[3053.88,98.3001,38.2,184.316,-68.8668],[3014.96,197.357,37.6167,180.463,-68.2093],[2973.48,299.293,37,176.349,-67.4768],[2931.66,398.328,36.3833,172.197,-66.7028],[2887.21,499.528,35.7333,167.785,-65.8382],[2841.24,599.874,35.0667,163.226,-64.8949],[2793.73,699.049,34.3833,158.523,-63.8629],[2743.47,798.999,33.6667,153.567,-62.7027],[2690.43,899.077,32.9167,148.365,-61.3943],[2634.55,998.592,32.1333,142.928,-59.9133],[2574.57,1098.76,31.3,137.156,-58.194],[2510.44,1198.41,30.4167,131.078,-56.1888],[2439.6,1299.66,29.45,124.509,-53.7491],[2363.16,1398.74,28.4167,117.638,-50.8154],[2276.01,1499.05,27.25,110.155,-47.0336],[2174.1,1599.61,25.9,102.02,-41.9317],[2048.1,1699.52,24.25,93.1825,-34.4638],[1859.62,1799.9,21.8167,83.4834,-20.7207],[1620.55,1845.18,18.7833,79.5446,-0.047987]]], - [66,1873.77,[[3564.17,-2001.77,48.6333,244.101,-77.1587],[3541.48,-1903.06,48.2167,241.984,-76.9428],[3517.7,-1801.41,47.7833,239.752,-76.7124],[3493.73,-1700.8,47.35,237.488,-76.4758],[3469.58,-1601.26,46.9167,235.193,-76.2328],[3445.23,-1502.79,46.4833,232.866,-75.983],[3419.75,-1401.69,46.0333,230.417,-75.7161],[3394.08,-1301.79,45.5833,227.934,-75.4413],[3368.2,-1203.1,45.1333,225.417,-75.1582],[3341.15,-1102.05,44.6667,222.772,-74.8555],[3313.88,-1002.36,44.2,220.092,-74.543],[3285.42,-900.536,43.7167,217.279,-74.2085],[3256.73,-800.203,43.2333,214.428,-73.8624],[3227.82,-701.378,42.75,211.541,-73.5042],[3197.67,-600.757,42.25,208.515,-73.1201],[3167.28,-501.799,41.75,205.452,-72.7214],[3135.63,-401.316,41.2333,202.246,-72.2933],[3103.73,-302.662,40.7167,199.001,-71.8479],[3070.53,-202.773,40.1833,195.611,-71.3687],[3036.03,-101.866,39.6333,192.074,-70.8525],[3000.18,-0.167962,39.0667,188.387,-70.2958],[2964.05,99.1945,38.5,184.659,-69.7121],[2926.55,199.003,37.9167,180.779,-69.0808],[2887.68,299.003,37.3167,176.749,-68.397],[2847.39,398.928,36.7,172.566,-67.6547],[2805.67,498.498,36.0667,168.231,-66.8471],[2761.39,599.913,35.4,163.631,-65.9431],[2716.74,697.794,34.7333,158.998,-64.9788],[2668.35,799.014,34.0167,153.988,-63.8679],[2618.4,898.232,33.2833,148.84,-62.6433],[2564.6,999.274,32.5,143.327,-61.2258],[2508.01,1099.1,31.6833,137.582,-59.6131],[2447.43,1198.79,30.8167,131.509,-57.7313],[2381.61,1298.83,29.8833,125.029,-55.4811],[2309.24,1399.05,28.8667,118.088,-52.7258],[2227.79,1499.84,27.7333,110.573,-49.2184],[2134.62,1599.85,26.45,102.478,-44.5935],[2022.08,1699.36,24.9167,93.6551,-37.9908],[1865.97,1799.73,22.8167,83.8266,-26.7477],[1571.84,1873.77,18.9333,76.6136,-0.0672271]]], - [67,1901.5,[[3445.89,-2002.89,48.8833,244.406,-77.6671],[3424.06,-1903.85,48.4667,242.286,-77.4599],[3401.18,-1801.86,48.0333,240.049,-77.2387],[3378.11,-1700.92,47.6,237.781,-77.0117],[3354.87,-1601.02,47.1667,235.481,-76.7783],[3331.44,-1502.21,46.7333,233.149,-76.5385],[3306.93,-1400.74,46.2833,230.694,-76.2823],[3282.21,-1300.47,45.8333,228.204,-76.0185],[3257.31,-1201.4,45.3833,225.681,-75.7468],[3232.21,-1103.57,44.9333,223.124,-75.4667],[3205.99,-1003.42,44.4667,220.436,-75.167],[3178.6,-901.137,43.9833,217.615,-74.8462],[3151,-800.332,43.5,214.755,-74.5143],[3123.18,-701.032,43.0167,211.857,-74.1706],[3095.15,-603.258,42.5333,208.923,-73.8147],[3064.94,-500.454,42.0167,205.744,-73.4197],[3035.47,-402.676,41.5167,202.629,-73.0225],[3003.79,-300.263,40.9833,199.265,-72.5816],[2972.86,-202.93,40.4667,195.965,-72.1364],[2939.67,-101.383,39.9167,192.41,-71.6416],[2906.21,-1.99609,39.3667,188.813,-71.124],[2871.46,98.1085,38.8,185.064,-70.5651],[2835.39,198.689,38.2167,181.162,-69.9607],[2798,299.491,37.6167,177.104,-69.3057],[2760.3,397.564,37.0167,173.006,-68.6143],[2720.19,498.08,36.3833,168.638,-67.8416],[2678.68,597.983,35.7333,164.115,-66.9987],[2634.67,699.398,35.05,159.323,-66.053],[2589.22,799.389,34.35,154.379,-65.0145],[2541.2,899.847,33.6167,149.172,-63.8427],[2491.68,997.977,32.8667,143.826,-62.5456],[2437.29,1099.44,32.05,137.997,-61.0056],[2380.19,1199,31.2,131.942,-59.243],[2318.07,1299.34,30.2833,125.451,-57.1333],[2250.82,1398.74,29.3,118.576,-54.5922],[2174.88,1499.7,28.2,111.06,-51.3505],[2088.91,1599.83,26.9667,102.962,-47.122],[1986.77,1699.6,25.5167,94.1097,-41.1888],[1852.53,1799.76,23.6333,84.242,-31.6318],[1560.94,1899.97,19.6167,73.6359,-4.19492],[1520.49,1901.5,19.0667,73.6644,-0.000630313]]], - [68,1928.32,[[3323.96,-2002.24,49.1167,244.664,-78.1734],[3302.98,-1902.91,48.7,242.539,-77.9748],[3281,-1800.61,48.2667,240.299,-77.7628],[3259.7,-1703.23,47.85,238.114,-77.5536],[3237.38,-1602.98,47.4167,235.81,-77.3302],[3214.02,-1500.01,46.9667,233.383,-77.0916],[3191.34,-1401.95,46.5333,231.013,-76.8552],[3167.61,-1301.3,46.0833,228.519,-76.6026],[3143.7,-1201.85,45.6333,225.989,-76.3423],[3118.7,-1100,45.1667,223.33,-76.0639],[3094.41,-1003.07,44.7167,220.73,-75.787],[3068.11,-900.351,44.2333,217.9,-75.4797],[3042.52,-802.579,43.7667,215.131,-75.1729],[3015.81,-702.789,43.2833,212.224,-74.8441],[2987.96,-601.159,42.7833,209.178,-74.4916],[2959.89,-501.181,42.2833,206.09,-74.1256],[2931.6,-402.88,41.7833,202.963,-73.7455],[2902.14,-303.091,41.2667,199.691,-73.3369],[2871.48,-202.019,40.7333,196.27,-72.8973],[2840.57,-102.942,40.2,192.807,-72.4384],[2808.45,-2.88961,39.65,189.192,-71.9436],[2775.09,97.9074,39.0833,185.423,-71.4092],[2740.47,199.208,38.5,181.498,-70.831],[2705.57,297.975,37.9167,177.529,-70.2223],[2668.38,399.588,37.3,173.288,-69.5429],[2630.89,498.283,36.6833,169.004,-68.8235],[2591.04,599.106,36.0333,164.445,-68.0178],[2549.84,699.044,35.3667,159.729,-67.1363],[2507.26,797.78,34.6833,154.857,-66.1689],[2461.19,899.508,33.95,149.595,-65.0512],[2413.67,998.949,33.2,144.185,-63.8131],[2362.55,1099.81,32.4,138.399,-62.3734],[2308.84,1199.08,31.5667,132.37,-60.7258],[2250.33,1299.55,30.6667,125.882,-58.7523],[2186.93,1399.53,29.7,118.977,-56.3727],[2117.43,1498.69,28.65,111.607,-53.4305],[2037.24,1599.79,27.45,103.445,-49.525],[1943.87,1699.91,26.0667,94.5661,-44.1542],[1826.71,1799.29,24.35,84.7538,-35.9132],[1637.52,1899.7,21.6167,73.6237,-18.6212],[1468.98,1928.32,19.2167,70.6835,-0.102862]]], - [69,1954.22,[[3199.27,-2003.86,49.35,244.958,-78.6859],[3178.36,-1900.26,48.9167,242.745,-78.4883],[3158.1,-1801.61,48.5,240.587,-78.2933],[3136.87,-1700.02,48.0667,238.31,-78.0852],[3116.29,-1603.33,47.65,236.09,-77.8797],[3093.9,-1500.02,47.2,233.658,-77.6515],[3072.17,-1401.63,46.7667,231.284,-77.4255],[3049.43,-1300.62,46.3167,228.783,-77.1839],[3026.51,-1200.82,45.8667,226.247,-76.935],[3003.41,-1102.23,45.4167,223.677,-76.6785],[2979.27,-1001.3,44.95,220.974,-76.404],[2954.94,-901.725,44.4833,218.234,-76.1204],[2929.53,-800.04,44,215.357,-75.8167],[2904.82,-703.279,43.5333,212.541,-75.5132],[2878.13,-601.176,43.0333,209.485,-75.1763],[2851.23,-500.72,42.5333,206.386,-74.8267],[2824.12,-401.937,42.0333,203.247,-74.4635],[2795.88,-301.644,41.5167,199.962,-74.073],[2766.51,-200.046,40.9833,196.526,-73.6529],[2736.89,-100.439,40.45,193.046,-73.2142],[2707.05,-2.85127,39.9167,189.523,-72.7557],[2675.08,98.589,39.35,185.735,-72.2455],[2642.86,197.68,38.7833,181.901,-71.7096],[2609.43,297.195,38.2,177.91,-71.129],[2573.81,399.607,37.5833,173.642,-70.4809],[2537.89,499.109,36.9667,169.328,-69.7944],[2500.7,598.227,36.3333,164.853,-69.0458],[2461.24,699.144,35.6667,160.098,-68.2056],[2420.46,798.892,34.9833,155.183,-67.2831],[2377.34,899.431,34.2667,149.989,-66.2419],[2332.85,997.924,33.5333,144.642,-65.0894],[2284.92,1098.16,32.75,138.905,-63.749],[2233.51,1199.07,31.9167,132.79,-62.1824],[2178.53,1299.49,31.0333,126.317,-60.3404],[2118.89,1399.87,30.0833,119.397,-58.1176],[2053.43,1499.94,29.05,111.968,-55.3652],[1979.91,1599.97,27.9,103.902,-51.8117],[1894.9,1699.61,26.5833,95.0782,-46.9715],[1789.43,1799.87,24.9667,85.1767,-39.6343],[1637.5,1899.85,22.6667,73.9721,-25.9585],[1414.94,1954.21,19.35,67.684,-0.120237]]], - [70,1979.15,[[3071.11,-2003.77,49.5667,245.205,-79.1969],[3051.89,-1903.86,49.15,243.075,-79.0156],[3031.74,-1800.95,48.7167,240.827,-78.8222],[3012.22,-1702.97,48.3,238.634,-78.6313],[2991.76,-1602.09,47.8667,236.322,-78.4273],[2971.14,-1502.28,47.4333,233.976,-78.2178],[2950.36,-1403.55,47,231.597,-78.0022],[2928.61,-1302.18,46.55,229.092,-77.7719],[2906.7,-1202.01,46.1,226.551,-77.5346],[2884.61,-1103.05,45.65,223.974,-77.2899],[2861.53,-1001.74,45.1833,221.265,-77.0281],[2838.26,-901.767,44.7167,218.517,-76.7577],[2814.81,-803.167,44.25,215.732,-76.4782],[2790.34,-702.51,43.7667,212.808,-76.1786],[2765.68,-603.364,43.2833,209.844,-75.8682],[2739.96,-502.415,42.7833,206.736,-75.5351],[2714.04,-403.134,42.2833,203.587,-75.189],[2687.05,-302.321,41.7667,200.289,-74.817],[2658.97,-200.18,41.2333,196.84,-74.4166],[2630.65,-100.024,40.7,193.345,-73.9986],[2602.12,-1.88304,40.1667,189.806,-73.5617],[2572.47,97.1838,39.6167,186.112,-73.0899],[2540.76,199.843,39.0333,182.145,-72.5643],[2508.8,299.982,38.45,178.13,-72.0107],[2476.59,397.562,37.8667,174.068,-71.4269],[2442.27,497.895,37.25,169.727,-70.774],[2406.73,597.874,36.6167,165.222,-70.0618],[2369.02,699.707,35.95,160.431,-69.2623],[2331,797.993,35.2833,155.595,-68.4064],[2289.79,899.634,34.5667,150.353,-67.4165],[2247.28,999.266,33.8333,144.951,-66.3203],[2202.46,1098.63,33.0667,139.271,-65.0727],[2154.33,1198.99,32.25,133.2,-63.6144],[2102.81,1299.22,31.3833,126.751,-61.8994],[2046.84,1399.82,30.45,119.83,-59.8285],[1986.35,1499.03,29.45,112.482,-57.306],[1918.2,1599.18,28.3333,104.43,-54.0439],[1840.15,1698.98,27.0667,95.6148,-49.648],[1744.72,1799.86,25.5333,85.6675,-43.0879],[1616.71,1899.41,23.5,74.4784,-31.743],[1358.53,1979.15,19.4667,64.665,-0.0415014]]], - [71,2003.08,[[2939.57,-2001.99,49.7667,245.405,-79.7071],[2921.23,-1901.82,49.35,243.271,-79.5345],[2902.75,-1802.6,48.9333,241.106,-79.3574],[2883.38,-1700.41,48.5,238.822,-79.1684],[2864.61,-1603.14,48.0833,236.594,-78.9817],[2844.94,-1503.02,47.65,234.245,-78.7823],[2824.36,-1400.19,47.2,231.769,-78.5691],[2804.38,-1302.27,46.7667,229.351,-78.3579],[2783.48,-1201.77,46.3167,226.804,-78.1321],[2762.41,-1102.47,45.8667,224.222,-77.8992],[2740.39,-1000.8,45.4,221.506,-77.6501],[2718.2,-900.478,44.9333,218.751,-77.3927],[2695.83,-801.517,44.4667,215.958,-77.1266],[2672.49,-700.482,43.9833,213.025,-76.8415],[2648.96,-600.956,43.5,210.051,-76.546],[2625.25,-502.96,43.0167,207.037,-76.2396],[2600.54,-403.22,42.5167,203.877,-75.9105],[2574.79,-301.93,42,200.567,-75.5567],[2548.85,-202.468,41.4833,197.213,-75.1881],[2521.86,-101.746,40.95,193.706,-74.791],[2494.65,-3.03267,40.4167,190.152,-74.3759],[2465.52,99.6159,39.85,186.328,-73.9138],[2436.15,199.928,39.2833,182.455,-73.4283],[2406.55,297.867,38.7167,178.534,-72.9177],[2374.96,398.943,38.1167,174.334,-72.3473],[2342.23,499.972,37.5,169.966,-71.7266],[2309.24,598.062,36.8833,165.549,-71.0677],[2274.19,698.225,36.2333,160.845,-70.3279],[2237.04,799.898,35.55,155.849,-69.4951],[2199.59,897.798,34.8667,150.808,-68.5997],[2159.07,998.599,34.1333,145.355,-67.561],[2116.36,1099.19,33.3667,139.614,-66.3783],[2071.43,1198.86,32.5667,133.594,-65.0243],[2023.28,1298.75,31.7167,127.182,-63.4317],[1970.91,1399.41,30.8,120.272,-61.5077],[1914.25,1499.13,29.8167,112.903,-59.1623],[1851.27,1598.93,28.7333,104.897,-56.1729],[1778.91,1699.53,27.5,96.0297,-52.1334],[1693.01,1799.78,26.05,86.1609,-46.2901],[1581.23,1899.72,24.1833,74.9268,-36.5155],[1350.12,1999.88,20.3833,61.8892,-7.27397]]], - [72,2026,[[2805.48,-2002.57,49.9667,245.644,-80.2237],[2788.03,-1902.15,49.55,243.507,-80.0599],[2770.45,-1802.66,49.1333,241.339,-79.8918],[2752.03,-1700.2,48.7,239.051,-79.7123],[2734.17,-1602.66,48.2833,236.82,-79.535],[2715.47,-1502.26,47.85,234.465,-79.3456],[2696.61,-1402.93,47.4167,232.077,-79.1509],[2676.88,-1300.93,46.9667,229.562,-78.9428],[2656.99,-1200.12,46.5167,227.009,-78.7283],[2636.95,-1100.52,46.0667,224.42,-78.5072],[2616.76,-1002.15,45.6167,221.795,-78.2792],[2595.65,-901.454,45.15,219.034,-78.035],[2574.38,-802.118,44.6833,216.234,-77.7826],[2552.18,-700.691,44.2,213.293,-77.5121],[2529.8,-600.768,43.7167,210.311,-77.2318],[2507.25,-502.372,43.2333,207.288,-76.9411],[2483.75,-402.215,42.7333,204.117,-76.6289],[2459.26,-300.487,42.2167,200.796,-76.2932],[2434.59,-200.585,41.7,197.429,-75.9433],[2409.72,-102.535,41.1833,194.018,-75.5785],[2383.04,-0.225853,40.6333,190.338,-75.1725],[2356.15,99.9199,40.0833,186.61,-74.747],[2329.04,197.87,39.5333,182.834,-74.3006],[2300.07,299.32,38.95,178.778,-73.8024],[2270.87,398.225,38.3667,174.672,-73.2769],[2239.75,499.972,37.75,170.28,-72.689],[2208.39,598.788,37.1333,165.836,-72.0648],[2175.06,699.725,36.4833,161.099,-71.3638],[2140.61,799.763,35.8167,156.19,-70.5943],[2105.01,898.584,35.1333,151.108,-69.7467],[2067.37,998.119,34.4167,145.731,-68.7862],[2026.78,1099.87,33.65,139.934,-67.6676],[1984.96,1198.72,32.8667,133.973,-66.414],[1940.1,1298.11,32.0333,127.605,-64.9394],[1891.25,1398.67,31.1333,120.719,-63.1572],[1838.34,1498.72,30.1667,113.345,-60.9835],[1779.43,1599.41,29.1,105.286,-58.2089],[1713.5,1699,27.9167,96.5297,-54.5612],[1635.7,1799.02,26.5333,86.7159,-49.3318],[1536.26,1899.82,24.7833,75.408,-40.7571],[1376.1,1999.92,22,62.146,-21.1826]]], - [73,2047.85,[[2668.18,-2001.54,50.15,245.837,-80.7403],[2651.64,-1900.88,49.7333,243.697,-80.5851],[2634.96,-1801.16,49.3167,241.525,-80.4259],[2618.17,-1702.38,48.9,239.322,-80.2625],[2600.56,-1600.67,48.4667,236.997,-80.0881],[2582.81,-1500.01,48.0333,234.639,-79.9088],[2564.93,-1400.43,47.6,232.245,-79.7243],[2546.92,-1301.93,47.1667,229.818,-79.5346],[2528.06,-1200.8,46.7167,227.261,-79.3317],[2509.06,-1100.89,46.2667,224.667,-79.1226],[2489.91,-1002.2,45.8167,222.036,-78.9068],[2469.9,-901.164,45.35,219.269,-78.6758],[2449.73,-801.489,44.8833,216.462,-78.437],[2429.41,-703.191,44.4167,213.615,-78.19],[2408.2,-602.857,43.9333,210.626,-77.9251],[2386.08,-500.666,43.4333,207.489,-77.6407],[2363.79,-400.13,42.9333,204.309,-77.3452],[2341.33,-301.273,42.4333,201.084,-77.0379],[2317.93,-200.912,41.9167,197.706,-76.7072],[2294.36,-102.4,41.4,194.283,-76.3623],[2269.84,-2.67676,40.8667,190.701,-75.9903],[2244.35,98.0377,40.3167,186.959,-75.5886],[2217.88,199.513,39.75,183.051,-75.1539],[2191.2,298.628,39.1833,179.093,-74.6966],[2163.52,398.155,38.6,174.967,-74.2002],[2134.83,497.837,38,170.671,-73.6602],[2105.1,597.403,37.3833,166.202,-73.0713],[2073.52,699.139,36.7333,161.436,-72.4099],[2041.69,797.527,36.0833,156.617,-71.7023],[2007.13,899.682,35.3833,151.373,-70.8832],[1972.29,997.837,34.6833,146.077,-69.9979],[1934.67,1098.5,33.9333,140.354,-68.9666],[1895.05,1198.58,33.15,134.332,-67.7857],[1852.55,1299.29,32.3167,127.889,-66.3955],[1807.13,1399.47,31.4333,121.038,-64.7464],[1757.87,1499.54,30.4833,113.672,-62.734],[1703.83,1599.23,29.45,105.709,-60.2061],[1643.16,1698.79,28.3,96.9795,-56.8789],[1572.17,1798.96,26.9667,87.1795,-52.1562],[1483.46,1899.88,25.3167,75.8878,-44.6015],[1353.86,1999.92,22.9333,62.606,-29.0901]]], - [74,2068.63,[[2528.45,-2002.92,50.3333,246.068,-81.2631],[2512.81,-1902.02,49.9167,243.926,-81.1167],[2497.06,-1802.05,49.5,241.751,-80.9665],[2481.19,-1703.02,49.0833,239.546,-80.8125],[2464.55,-1601.05,48.65,237.218,-80.6479],[2447.78,-1500.13,48.2167,234.855,-80.4788],[2430.89,-1400.28,47.7833,232.458,-80.3049],[2413.86,-1301.51,47.35,230.026,-80.1259],[2396.04,-1200.11,46.9,227.464,-79.9345],[2378.76,-1103.59,46.4667,224.962,-79.7447],[2359.99,-1000.93,46,222.228,-79.5337],[2341.76,-903.188,45.55,219.553,-79.3237],[2322.71,-803.16,45.0833,216.741,-79.0987],[2302.82,-701.007,44.6,213.785,-78.8575],[2282.78,-600.352,44.1167,210.787,-78.6076],[2262.58,-501.216,43.6333,207.747,-78.3483],[2241.52,-400.285,43.1333,204.557,-78.0698],[2220.3,-301.03,42.6333,201.323,-77.7802],[2198.2,-200.253,42.1167,197.934,-77.4685],[2175.93,-101.32,41.6,194.498,-77.1434],[2152.76,-1.15907,41.0667,190.903,-76.7927],[2129.41,96.9775,40.5333,187.26,-76.4257],[2104.41,198.996,39.9667,183.337,-76.0164],[2079.21,298.66,39.4,179.362,-75.5858],[2053.06,398.757,38.8167,175.217,-75.1182],[2025.96,499.031,38.2167,170.898,-74.6096],[1997.88,599.213,37.6,166.404,-74.0548],[1968.82,699.019,36.9667,161.733,-73.4479],[1938.75,798.153,36.3167,156.884,-72.782],[1906.89,898.716,35.6333,151.729,-72.0299],[1874,997.786,34.9333,146.393,-71.1977],[1838.47,1099.44,34.1833,140.62,-70.2278],[1801.85,1198.46,33.4167,134.67,-69.1413],[1762.54,1298.44,32.6,128.287,-67.8623],[1720.47,1398.22,31.7333,121.481,-66.3453],[1674.79,1498.3,30.8,114.137,-64.4937],[1624.61,1598.47,29.7833,106.161,-62.1661],[1568.19,1699.11,28.65,97.3602,-59.0973],[1503.72,1798.81,27.3667,87.6331,-54.8485],[1424.29,1899.67,25.8,76.3858,-48.1665],[1314.98,1999.57,23.6667,63.1532,-35.3304]]], - [75,2088.31,[[2385.71,-2002.72,50.5,246.255,-81.7862],[2371,-1901.61,50.0833,244.109,-81.6486],[2356.17,-1801.42,49.6667,241.932,-81.5075],[2341.23,-1702.18,49.25,239.723,-81.3627],[2326.17,-1603.89,48.8333,237.482,-81.2141],[2310.4,-1502.69,48.4,235.116,-81.0553],[2294.5,-1402.56,47.9667,232.716,-80.892],[2278.48,-1303.51,47.5333,230.281,-80.724],[2261.71,-1201.81,47.0833,227.715,-80.5443],[2244.81,-1101.31,46.6333,225.111,-80.359],[2227.78,-1002.03,46.1833,222.47,-80.1679],[2209.99,-900.384,45.7167,219.691,-79.9633],[2192.05,-800.085,45.25,216.87,-79.7518],[2173.98,-701.158,44.7833,214.01,-79.5329],[2155.12,-600.166,44.3,211.005,-79.2982],[2136.11,-500.69,43.8167,207.956,-79.0547],[2116.96,-402.753,43.3333,204.865,-78.802],[2096.99,-303.083,42.8333,201.622,-78.5304],[2076.2,-201.873,42.3167,198.224,-78.238],[2055.24,-102.502,41.8,194.778,-77.933],[2033.44,-1.88414,41.2667,191.172,-77.604],[2010.78,99.7621,40.7167,187.4,-77.2485],[1987.95,199.227,40.1667,183.578,-76.8755],[1964.24,299.391,39.6,179.586,-76.4714],[1940.34,397.169,39.0333,175.541,-76.0454],[1914.84,498.059,38.4333,171.203,-75.5686],[1888.43,598.88,37.8167,166.687,-75.0485],[1861.09,699.349,37.1833,161.991,-74.4794],[1832.81,799.171,36.5333,157.112,-73.8549],[1803.57,898.037,35.8667,152.05,-73.1672],[1772.63,997.957,35.1667,146.676,-72.3875],[1739.95,1098.3,34.4333,140.988,-71.4996],[1705.52,1198.38,33.6667,134.985,-70.4828],[1668.54,1299.49,32.85,128.539,-69.2852],[1629.74,1398.61,32,121.786,-67.8922],[1587.55,1498.41,31.0833,114.477,-66.1917],[1541.15,1598.75,30.0833,106.503,-64.0525],[1489.67,1698.68,28.9833,97.7874,-61.2741],[1430.66,1798.76,27.7333,88.0535,-57.4207],[1359.2,1899.65,26.2333,76.842,-51.4766],[1264.57,1999.64,24.2667,63.6378,-40.5398]]], - [76,2106.84,[[2240.13,-2000.97,50.65,246.396,-82.3104],[2226.89,-1903.7,50.25,244.334,-82.1868],[2213,-1803.28,49.8333,242.155,-82.0548],[2199,-1703.81,49.4167,239.943,-81.9194],[2184.33,-1601.36,48.9833,237.609,-81.7748],[2170.12,-1503.84,48.5667,235.331,-81.6319],[2155.22,-1403.46,48.1333,232.928,-81.4792],[2139.63,-1300.37,47.6833,230.395,-81.316],[2124.5,-1202.2,47.25,227.919,-81.154],[2108.67,-1101.44,46.8,225.311,-80.9808],[2092.72,-1001.89,46.35,222.664,-80.8021],[2076.64,-903.577,45.9,219.98,-80.6176],[2059.84,-802.947,45.4333,217.155,-80.42],[2042.31,-700.164,44.95,214.186,-80.2081],[2025.25,-602.34,44.4833,211.278,-79.9963],[2007.44,-502.509,44,208.224,-79.7688],[1988.88,-400.851,43.5,205.018,-79.5244],[1970.17,-300.861,43,201.765,-79.2703],[1951.32,-202.565,42.5,198.467,-79.0057],[1931.69,-102.798,41.9833,195.011,-78.7207],[1911.27,-1.76803,41.45,191.393,-78.4132],[1890.69,97.2467,40.9167,187.724,-78.0913],[1869.31,197.213,40.3667,183.889,-77.7432],[1847.1,297.897,39.8,179.883,-77.3659],[1824.06,399.057,39.2167,175.702,-76.9563],[1800.84,497.655,38.6333,171.466,-76.5231],[1776.11,599.06,38.0167,166.929,-76.0375],[1751.17,697.516,37.4,162.333,-75.5204],[1724.69,798.052,36.75,157.428,-74.938],[1697.31,897.658,36.0833,152.336,-74.2965],[1668.34,998.362,35.3833,146.927,-73.5691],[1637.74,1099.53,34.65,141.197,-72.7402],[1606.2,1198.35,33.9,135.277,-71.8123],[1572.28,1298.49,33.1,128.904,-70.7193],[1535.96,1398.85,32.25,122.081,-69.4222],[1496.46,1499.99,31.3333,114.682,-67.8368],[1454.47,1598.55,30.3667,106.861,-65.9112],[1407.02,1699,29.2833,98.1207,-63.3676],[1353.28,1799,28.0667,88.4197,-59.8848],[1289.4,1899.14,26.6333,77.3305,-54.6287],[1206.17,1999.7,24.7833,64.1082,-45.154]]], - [77,2124.22,[[2092.34,-2001.74,50.8,246.578,-82.8407],[2079.49,-1900.24,50.3833,244.427,-82.7208],[2067.06,-1803.66,49.9833,242.332,-82.6029],[2053.48,-1700.02,49.55,240.029,-82.4718],[2040.33,-1601.33,49.1333,237.781,-82.3423],[2027.08,-1503.6,48.7167,235.5,-82.2093],[2013.2,-1403,48.2833,233.093,-82.0671],[1999.21,-1303.48,47.85,230.65,-81.9209],[1984.57,-1201.29,47.4,228.076,-81.7645],[1969.81,-1100.29,46.95,225.463,-81.6032],[1954.94,-1000.51,46.5,222.811,-81.4368],[1939.95,-901.96,46.05,220.121,-81.2651],[1924.3,-801.081,45.5833,217.29,-81.0811],[1908.52,-701.566,45.1167,214.418,-80.8908],[1892.62,-603.438,44.65,211.504,-80.6938],[1876.02,-503.289,44.1667,208.443,-80.4822],[1858.73,-401.299,43.6667,205.23,-80.255],[1841.29,-300.974,43.1667,201.969,-80.0186],[1823.72,-202.339,42.6667,198.662,-79.7726],[1805.43,-102.219,42.15,195.196,-79.5075],[1786.4,-0.819584,41.6167,191.567,-79.2214],[1767.22,98.5674,41.0833,187.887,-78.922],[1747.29,198.921,40.5333,184.037,-78.5981],[1727.21,297.069,39.9833,180.135,-78.2576],[1705.74,398.72,39.4,175.939,-77.877],[1684.1,497.814,38.8167,171.686,-77.4745],[1661.05,599.749,38.2,167.128,-77.023],[1637.82,698.74,37.5833,162.51,-76.5424],[1613.14,799.844,36.9333,157.579,-76.0008],[1588.27,897.578,36.2833,152.587,-75.4195],[1561.28,999.002,35.5833,147.145,-74.7439],[1533.42,1098.67,34.8667,141.507,-73.9922],[1504.04,1198.37,34.1167,135.543,-73.1314],[1472.45,1299.47,33.3167,129.117,-72.117],[1439.28,1398.93,32.4833,122.363,-70.9371],[1403.17,1499.53,31.5833,115.018,-69.4951],[1364.06,1599.57,30.6167,107.094,-67.711],[1321.24,1698.71,29.5667,98.4841,-65.429],[1271.89,1799.67,28.3667,88.7138,-62.2535],[1214.5,1899.46,26.9833,77.6917,-57.5705],[1141.24,1999.85,25.2333,64.5398,-49.3342]]], - [78,2140.41,[[1941.93,-2001,50.9333,246.715,-83.3724],[1930.5,-1903.38,50.5333,244.649,-83.266],[1918.5,-1802.59,50.1167,242.465,-83.1523],[1906.41,-1702.73,49.7,240.248,-83.0357],[1894.23,-1603.83,49.2833,237.998,-82.916],[1881.46,-1501.98,48.85,235.623,-82.788],[1868.6,-1401.2,48.4167,233.212,-82.6564],[1855.63,-1301.49,47.9833,230.765,-82.521],[1842.57,-1202.87,47.55,228.282,-82.3817],[1828.9,-1101.62,47.1,225.666,-82.2325],[1815.12,-1001.59,46.65,223.01,-82.0787],[1801.24,-902.791,46.2,220.316,-81.9199],[1786.74,-801.648,45.7333,217.48,-81.7498],[1772.12,-701.868,45.2667,214.603,-81.5738],[1757.39,-603.472,44.8,211.683,-81.3916],[1742.02,-503.042,44.3167,208.615,-81.196],[1725.99,-400.759,43.8167,205.395,-80.9857],[1709.84,-300.137,43.3167,202.126,-80.7671],[1693.57,-201.203,42.8167,198.811,-80.5395],[1676.62,-100.771,42.3,195.335,-80.2943],[1659.54,-2.19561,41.7833,191.81,-80.0381],[1641.78,97.5828,41.25,188.119,-79.7615],[1623.32,198.344,40.7,184.258,-79.4622],[1604.15,299.856,40.1333,180.224,-79.1378],[1584.83,398.996,39.5667,176.133,-78.7958],[1564.79,498.536,38.9833,171.863,-78.4238],[1544.02,598.217,38.3833,167.411,-78.0181],[1522.51,697.767,37.7667,162.774,-77.5744],[1499.66,799.468,37.1167,157.82,-77.0745],[1476.62,897.804,36.4667,152.802,-76.5378],[1451.62,999.882,35.7667,147.329,-75.9138],[1426.43,1097.94,35.0667,141.789,-75.236],[1399.22,1198.47,34.3167,135.784,-74.442],[1370.58,1298.38,33.5333,129.444,-73.5263],[1339.87,1398.88,32.7,122.632,-72.4391],[1307.06,1498.8,31.8167,115.35,-71.1355],[1271.49,1598.56,30.8667,107.47,-69.5229],[1231.85,1699.37,29.8167,98.7349,-67.4234],[1187.44,1799.58,28.65,89.0587,-64.5847],[1135.62,1899.79,27.3,78.0229,-60.3908],[1071.07,1999.84,25.6333,64.9648,-53.2183]]], - [79,2155.4,[[1789.49,-2002.84,51.0667,246.895,-83.91],[1778.53,-1900.99,50.65,244.74,-83.8082],[1767.49,-1800.05,50.2333,242.553,-83.7037],[1756.37,-1700.05,49.8167,240.332,-83.5964],[1745.16,-1600.99,49.4,238.079,-83.4863],[1733.87,-1502.9,48.9833,235.792,-83.3732],[1722.03,-1401.91,48.55,233.379,-83.2524],[1710.11,-1302,48.1167,230.929,-83.128],[1698.09,-1203.18,47.6833,228.443,-82.9999],[1685.51,-1101.72,47.2333,225.823,-82.863],[1672.84,-1001.47,46.7833,223.163,-82.7216],[1660.07,-902.451,46.3333,220.464,-82.5758],[1646.73,-801.08,45.8667,217.624,-82.4195],[1633.28,-701.069,45.4,214.741,-82.2578],[1619.73,-602.44,44.9333,211.815,-82.0903],[1605.59,-501.766,44.45,208.741,-81.9106],[1591.34,-402.62,43.9667,205.622,-81.724],[1576.49,-301.685,43.4667,202.347,-81.5234],[1561.52,-202.435,42.9667,199.024,-81.3145],[1545.93,-101.673,42.45,195.541,-81.0894],[1530.22,-2.76438,41.9333,192.007,-80.8543],[1513.89,97.3615,41.4,188.306,-80.6004],[1496.91,198.485,40.85,184.435,-80.3257],[1479.8,297.41,40.3,180.508,-80.0368],[1461.51,399.893,39.7167,176.283,-79.7139],[1443.08,499.828,39.1333,171.998,-79.3722],[1423.97,599.919,38.5333,167.528,-78.9997],[1404.19,699.894,37.9167,162.871,-78.5921],[1383.71,799.47,37.2833,158.023,-78.145],[1362.53,898.349,36.6333,152.981,-77.6526],[1340.09,998.619,35.95,147.611,-77.0942],[1316.37,1099.67,35.2333,141.907,-76.4579],[1291.91,1198.64,34.5,135.999,-75.7457],[1265.57,1299.35,33.7167,129.614,-74.9062],[1237.9,1398.73,32.9,122.885,-73.9299],[1207.74,1499.69,32.0167,115.537,-72.7359],[1175.61,1598.86,31.0833,107.712,-71.2851],[1139.75,1699.54,30.05,99.0041,-69.3954],[1100.1,1798.77,28.9167,89.4491,-66.8791],[1053.66,1899.13,27.6,78.442,-63.1577],[996.736,1999.15,26,65.4562,-56.9171]]], - [80,2169.16,[[1634.68,-2003.2,51.1833,247.03,-84.4492],[1624.69,-1901.19,50.7667,244.874,-84.3564],[1614.62,-1800.1,50.35,242.685,-84.2611],[1604.88,-1703.93,49.95,240.551,-84.1674],[1594.24,-1600.72,49.5167,238.206,-84.0631],[1583.94,-1502.46,49.1,235.917,-83.96],[1573.14,-1401.31,48.6667,233.5,-83.8499],[1562.26,-1301.23,48.2333,231.047,-83.7365],[1551.3,-1202.23,47.8,228.558,-83.6199],[1539.83,-1100.59,47.35,225.933,-83.495],[1528.26,-1000.16,46.9,223.27,-83.3662],[1516.61,-900.954,46.45,220.566,-83.2333],[1504.88,-802.992,46,217.823,-83.0959],[1492.61,-702.737,45.5333,214.936,-82.9487],[1479.81,-600.355,45.05,211.901,-82.7907],[1467.36,-502.928,44.5833,208.927,-82.6327],[1453.91,-400.119,44.0833,205.694,-82.4569],[1440.81,-302.312,43.6,202.521,-82.2801],[1427.16,-202.786,43.1,199.192,-82.0899],[1412.94,-101.736,42.5833,195.701,-81.885],[1398.62,-2.53642,42.0667,192.159,-81.6709],[1383.72,97.8926,41.5333,188.449,-81.4396],[1368.23,199.331,40.9833,184.566,-81.1894],[1352.62,298.576,40.4333,180.628,-80.9263],[1336.42,398.497,39.8667,176.512,-80.6407],[1319.61,498.849,39.2833,172.213,-80.33],[1302.19,599.374,38.6833,167.729,-79.9911],[1284.15,699.799,38.0667,163.055,-79.6203],[1265.47,799.842,37.4333,158.188,-79.2134],[1246.15,899.204,36.7833,153.124,-78.7653],[1225.69,999.988,36.1,147.729,-78.2569],[1204.56,1099.27,35.4,142.129,-77.6915],[1182.26,1198.9,34.6667,136.187,-77.044],[1158.76,1298.22,33.9,129.899,-76.2976],[1133.54,1398.47,33.0833,123.123,-75.4112],[1106.55,1498.52,32.2167,115.855,-74.3483],[1077.27,1598.84,31.2833,107.955,-73.0324],[1045.11,1699.24,30.2667,99.289,-71.3464],[1009.5,1798.67,29.15,89.7378,-69.1005],[967.714,1899.91,27.85,78.6585,-65.7723],[917.465,1999.89,26.3,65.7074,-60.3022]]], - [81,2181.68,[[1477.67,-2002.11,51.2833,247.123,-84.9905],[1469.01,-1904.04,50.8833,245.051,-84.9101],[1459.92,-1802.78,50.4667,242.861,-84.8242],[1450.76,-1702.44,50.05,240.637,-84.736],[1441.52,-1603.06,49.6333,238.38,-84.6456],[1431.85,-1500.71,49.2,235.997,-84.549],[1422.47,-1403.29,48.7833,233.671,-84.4534],[1412.65,-1303.03,48.35,231.216,-84.3512],[1402.37,-1200.05,47.9,228.627,-84.2419],[1392.4,-1102.01,47.4667,226.097,-84.1334],[1381.96,-1001.38,47.0167,223.43,-84.0174],[1371.44,-901.979,46.5667,220.723,-83.8975],[1360.45,-800.206,46.1,217.874,-83.769],[1349.77,-703.352,45.65,215.086,-83.641],[1338.21,-600.75,45.1667,212.046,-83.4985],[1326.97,-503.11,44.7,209.068,-83.356],[1314.83,-400.069,44.2,205.828,-83.1974],[1303,-302.036,43.7167,202.65,-83.0381],[1290.67,-202.274,43.2167,199.314,-82.8666],[1277.84,-100.977,42.7,195.816,-82.6817],[1264.9,-1.52872,42.1833,192.266,-82.4887],[1251.45,99.1596,41.65,188.547,-82.2801],[1237.89,197.818,41.1167,184.773,-82.0614],[1223.8,297.402,40.5667,180.825,-81.8245],[1209.17,397.676,40,176.699,-81.5672],[1194,498.396,39.4167,172.388,-81.2873],[1178.27,599.302,38.8167,167.891,-80.9819],[1162.43,697.437,38.2167,163.329,-80.6571],[1145.57,797.973,37.5833,158.446,-80.2911],[1128.14,897.847,36.9333,153.363,-79.8879],[1109.67,999.174,36.25,147.946,-79.4305],[1090.6,1099.01,35.55,142.321,-78.9216],[1070.47,1199.24,34.8167,136.349,-78.3386],[1049.26,1299.19,34.05,130.025,-77.6663],[1026.95,1398.11,33.25,123.345,-76.8848],[1002.6,1499.01,32.3833,116.024,-75.9286],[976.643,1598.51,31.4667,108.199,-74.7667],[948.102,1698.49,30.4667,99.5878,-73.2782],[915.977,1799.38,29.35,89.9151,-71.2619],[879.24,1899.89,28.0833,78.9373,-68.3526],[835.377,1999.47,26.5833,66.087,-63.6236]]], - [82,2192.93,[[1318.98,-2003.67,51.3833,247.259,-85.537],[1310.93,-1901.4,50.9667,245.099,-85.4624],[1302.82,-1800.03,50.55,242.906,-85.3859],[1294.98,-1703.6,50.15,240.769,-85.3104],[1286.42,-1600.11,49.7167,238.419,-85.2266],[1278.12,-1501.57,49.3,236.125,-85.1438],[1269.43,-1400.13,48.8667,233.703,-85.0553],[1261,-1303.59,48.45,231.34,-84.9677],[1251.84,-1200.45,48,228.749,-84.8703],[1242.94,-1102.26,47.5667,226.216,-84.7737],[1233.64,-1001.46,47.1167,223.546,-84.6703],[1224.26,-901.895,46.6667,220.836,-84.5636],[1214.81,-803.566,46.2167,218.085,-84.4533],[1204.93,-702.926,45.75,215.19,-84.335],[1194.63,-600.141,45.2667,212.146,-84.2082],[1184.6,-502.321,44.8,209.163,-84.0812],[1174.14,-402.503,44.3167,206.027,-83.9447],[1163.23,-300.866,43.8167,202.735,-83.798],[1152.24,-200.907,43.3167,199.392,-83.6452],[1141.16,-102.651,42.8167,196.001,-83.4859],[1129.63,-2.93536,42.3,192.444,-83.3141],[1117.64,98.0315,41.7667,188.718,-83.1285],[1105.55,196.971,41.2333,184.937,-82.9339],[1092.61,299.84,40.6667,180.86,-82.7165],[1079.95,397.427,40.1167,176.844,-82.4941],[1066.43,498.464,39.5333,172.523,-82.2449],[1052.41,599.699,38.9333,168.013,-81.9731],[1038.28,698.166,38.3333,163.437,-81.684],[1023.25,799.056,37.7,158.538,-81.358],[1007.71,899.297,37.05,153.437,-80.999],[991.645,998.576,36.3833,148.132,-80.6018],[974.648,1098.91,35.6833,142.483,-80.1493],[956.704,1199.67,34.95,136.484,-79.6308],[938.21,1298.04,34.2,130.267,-79.0463],[917.917,1399.68,33.3833,123.409,-78.337],[896.63,1499.32,32.5333,116.182,-77.5026],[873.495,1599.64,31.6167,108.297,-76.4694],[848.483,1698.91,30.6333,99.7534,-75.1684],[820.283,1799.54,29.5333,90.1191,-73.4055],[788.413,1899.11,28.3,79.274,-70.8983],[749.772,1999.99,26.8167,66.2963,-66.7641]]], - [83,2202.9,[[1158.39,-2003.81,51.4667,247.352,-86.0856],[1151.33,-1901.42,51.05,245.191,-86.0202],[1144.5,-1803.98,50.65,243.084,-85.9558],[1137.33,-1703.4,50.2333,240.857,-85.887],[1130.1,-1603.75,49.8167,238.597,-85.8163],[1122.53,-1501.13,49.3833,236.209,-85.7408],[1115.2,-1403.45,48.9667,233.879,-85.6662],[1107.51,-1302.91,48.5333,231.419,-85.5864],[1099.77,-1203.45,48.1,228.922,-85.5042],[1091.66,-1101.32,47.65,226.29,-85.4162],[1083.49,-1000.4,47.2,223.617,-85.3255],[1075.26,-900.699,46.75,220.903,-85.2319],[1066.97,-802.236,46.3,218.149,-85.1352],[1058.3,-701.456,45.8333,215.25,-85.0315],[1049.57,-602.049,45.3667,212.307,-84.9241],[1040.46,-500.562,44.8833,209.213,-84.8088],[1031.28,-400.594,44.4,206.073,-84.6891],[1022.02,-302.168,43.9167,202.885,-84.5647],[1012.38,-201.996,43.4167,199.538,-84.4308],[1002.34,-100.271,42.9,196.027,-84.2866],[992.216,-0.390565,42.3833,192.463,-84.1358],[982.019,97.618,41.8667,188.847,-83.9781],[971.081,199.861,41.3167,184.94,-83.8021],[960.059,299.918,40.7667,180.973,-83.6171],[948.953,397.754,40.2167,176.949,-83.4222],[937.084,499.057,39.6333,172.617,-83.2038],[925.125,597.786,39.05,168.222,-82.9724],[912.384,699.316,38.4333,163.507,-82.712],[899.546,797.881,37.8167,158.723,-82.4341],[885.911,898.516,37.1667,153.608,-82.1198],[871.818,998.204,36.5,148.285,-81.7721],[856.907,1098.97,35.8,142.617,-81.3759],[841.523,1197.94,35.0833,136.732,-80.9326],[824.94,1299.03,34.3167,130.348,-80.4097],[807.501,1399.16,33.5167,123.597,-79.8015],[788.828,1499.47,32.6667,116.328,-79.0717],[768.904,1598.75,31.7667,108.537,-78.1849],[746.966,1698.95,30.7833,99.9272,-77.0483],[722.608,1799.18,29.7,90.3479,-75.5322],[695.037,1898.86,28.4833,79.5161,-73.3754],[661.915,1999.58,27.0333,66.6027,-69.8596]]], - [84,2211.58,[[996.12,-2002.51,51.5333,247.403,-86.6366],[990.049,-1900.04,51.1167,245.24,-86.5803],[984.177,-1802.52,50.7167,243.132,-86.525],[978.014,-1701.85,50.3,240.903,-86.4658],[971.804,-1602.12,49.8833,238.64,-86.4052],[965.547,-1503.34,49.4667,236.343,-86.3428],[958.99,-1401.64,49.0333,233.918,-86.2762],[952.382,-1301,48.6,231.456,-86.2076],[945.724,-1201.45,48.1667,228.956,-86.1369],[939.016,-1102.99,47.7333,226.418,-86.0642],[931.996,-1001.92,47.2833,223.744,-85.9863],[924.923,-902.076,46.8333,221.028,-85.906],[917.796,-803.466,46.3833,218.272,-85.8229],[910.349,-702.531,45.9167,215.37,-85.734],[902.845,-602.969,45.45,212.425,-85.6418],[895.014,-501.319,44.9667,209.327,-85.5427],[887.122,-401.186,44.4833,206.183,-85.44],[879.17,-302.594,44,202.991,-85.3332],[870.882,-202.248,43.5,199.64,-85.2183],[862.251,-100.342,42.9833,196.124,-85.0944],[853.554,-0.278015,42.4667,192.555,-84.965],[844.791,97.9154,41.95,188.933,-84.8296],[835.677,197.285,41.4167,185.138,-84.6832],[826.206,297.608,40.8667,181.167,-84.5245],[816.373,398.653,40.3,177.013,-84.3522],[806.466,497.307,39.7333,172.797,-84.1702],[795.894,599.12,39.1333,168.266,-83.9659],[785.242,698.171,38.5333,163.668,-83.7485],[773.911,799.682,37.9,158.743,-83.5035],[762.494,898.022,37.2667,153.745,-83.2406],[750.385,998.057,36.6,148.408,-82.9423],[737.573,1099.2,35.9,142.721,-82.6024],[724.354,1198.54,35.1833,136.815,-82.222],[710.415,1297.89,34.4333,130.548,-81.7835],[695.432,1398.57,33.6333,123.768,-81.2624],[679.39,1499.47,32.7833,116.465,-80.637],[662.272,1599.37,31.8833,108.629,-79.8767],[643.745,1698.63,30.9167,100.108,-78.9194],[622.82,1799.79,29.8333,90.4509,-77.6208],[599.46,1899.24,28.6333,79.6545,-75.7988],[571.665,1999.33,27.2167,66.8502,-72.8651]]], - [85,2218.94,[[832.572,-2003.94,51.6,247.499,-87.192],[827.501,-1901.37,51.1833,245.335,-87.1451],[822.596,-1803.76,50.7833,243.226,-87.0988],[817.447,-1702.99,50.3667,240.996,-87.0495],[812.26,-1603.16,49.95,238.733,-86.9989],[806.823,-1500.35,49.5167,236.342,-86.9447],[801.556,-1402.48,49.1,234.008,-86.8912],[796.036,-1301.74,48.6667,231.544,-86.8339],[790.474,-1202.08,48.2333,229.043,-86.7749],[784.87,-1103.52,47.8,226.504,-86.7143],[779.006,-1002.34,47.35,223.827,-86.6492],[773.098,-902.378,46.9,221.109,-86.5821],[766.922,-800.023,46.4333,218.248,-86.5102],[760.922,-702.601,45.9833,215.447,-86.4385],[754.654,-602.918,45.5167,212.498,-86.3616],[748.112,-501.142,45.0333,209.398,-86.2789],[741.519,-400.882,44.55,206.25,-86.1932],[734.876,-302.162,44.0667,203.055,-86.104],[727.952,-201.681,43.5667,199.699,-86.0081],[720.976,-102.899,43.0667,196.294,-85.908],[713.712,-2.63396,42.55,192.721,-85.8001],[706.156,98.9053,42.0167,188.977,-85.6835],[698.542,198.423,41.4833,185.177,-85.5613],[690.631,298.901,40.9333,181.198,-85.4288],[682.659,397.163,40.3833,177.16,-85.2892],[674.14,498.922,39.8,172.813,-85.1328],[665.555,598.112,39.2167,168.4,-84.9671],[656.658,697.414,38.6167,163.794,-84.7858],[647.195,799.193,37.9833,158.859,-84.5815],[637.659,897.803,37.35,153.85,-84.3622],[627.545,998.127,36.6833,148.499,-84.1134],[616.844,1099.57,35.9833,142.798,-83.8298],[605.803,1199.23,35.2667,136.874,-83.5124],[594.16,1298.91,34.5167,130.585,-83.1464],[581.646,1399.95,33.7167,123.78,-82.7113],[568.511,1499.3,32.8833,116.59,-82.1998],[554.215,1599.75,31.9833,108.717,-81.5661],[538.742,1699.59,31.0167,100.148,-80.7676],[521.537,1799.93,29.95,90.574,-79.7018],[502.303,1899.01,28.7667,79.8345,-78.2071],[479.369,1999.33,27.3667,67.0265,-75.7986]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 713.712; -_maxRange = 4099.33; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg4.sqf deleted file mode 100644 index 1fbc8ed5d7..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_HA_chg4.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_m821a2_m734_prox_chg4 -// Ammo: ace_arty_81mm_m821a2_m734_prox -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1505.02,[[6334.74,-2000.85,45.2833,246.697,-66.2433],[6291.5,-1903.52,44.85,244.797,-65.841],[6246.24,-1803.56,44.4,242.804,-65.413],[6198.9,-1701.13,43.9333,240.717,-64.9577],[6152.86,-1603.56,43.4833,238.686,-64.5074],[6103,-1500.1,43,236.484,-64.011],[6054.45,-1401.53,42.5333,234.339,-63.5186],[6003.73,-1300.84,42.05,232.098,-62.9945],[5952.58,-1201.59,41.5667,229.839,-62.4556],[5899.22,-1100.46,41.0667,227.484,-61.882],[5845.39,-1000.91,40.5667,225.112,-61.2912],[5791.1,-902.973,40.0667,222.724,-60.6827],[5732.68,-800.305,39.5333,220.161,-60.0131],[5675.59,-702.641,39.0167,217.663,-59.3436],[5614.29,-600.648,38.4667,214.992,-58.6073],[5552.42,-500.717,37.9167,212.309,-57.8456],[5490.01,-402.876,37.3667,209.617,-57.0574],[5423.22,-301.424,36.7833,206.756,-56.1913],[5355.81,-202.393,36.2,203.891,-55.2926],[5283.89,-100.374,35.5833,200.863,-54.3056],[5211.29,-1.13857,34.9667,197.841,-53.2789],[5136.02,97.8379,34.3333,194.747,-52.181],[5056.03,198.758,33.6667,191.509,-50.9756],[4973.23,298.673,32.9833,188.217,-49.6847],[4885.53,399.569,32.2667,184.804,-48.2675],[4794.86,498.625,31.5333,181.363,-46.7472],[4697,599.687,30.75,177.761,-45.0411],[4593.88,699.748,29.9333,174.101,-43.1681],[4483.21,799.927,29.0667,170.348,-41.0707],[4364.81,899.05,28.15,166.551,-38.7247],[4234.07,999.044,27.15,162.651,-36.0115],[4088.38,1099.07,26.05,158.701,-32.8382],[3920.47,1199.84,24.8,154.726,-28.9926],[3722.59,1299.24,23.35,150.916,-24.2249],[3460.63,1399.75,21.4667,147.488,-17.5966],[2936.99,1499.91,17.8167,146.733,-3.86825],[2789.78,1505.02,16.8167,148.043,-0.0570988]]], - [46,1554.24,[[6286.08,-2003.69,45.7667,247.22,-66.7958],[6242.07,-1901.99,45.3167,245.238,-66.3878],[6197.69,-1801.42,44.8667,243.235,-65.9696],[6152.94,-1702.01,44.4167,241.213,-65.5409],[6106.14,-1600.16,43.95,239.094,-65.0849],[6060.63,-1503.16,43.5,237.032,-64.6336],[6011.35,-1400.31,43.0167,234.796,-64.1359],[5963.36,-1302.35,42.55,232.619,-63.6421],[5913.23,-1202.31,42.0667,230.344,-63.1164],[5860.94,-1100.34,41.5667,227.971,-62.5566],[5809.95,-1003.27,41.0833,225.66,-61.9996],[5754.98,-901.153,40.5667,223.171,-61.3862],[5699.52,-800.773,40.05,220.664,-60.7533],[5643.59,-702.152,39.5333,218.142,-60.1002],[5585.35,-602.219,39,215.524,-59.404],[5524.75,-501.182,38.45,212.811,-58.6615],[5463.62,-402.225,37.9,210.087,-57.893],[5400.06,-302.476,37.3333,207.271,-57.0728],[5334.05,-202.165,36.75,204.366,-56.1969],[5265.52,-101.536,36.15,201.374,-55.2611],[5194.43,-0.843296,35.5333,198.301,-54.2606],[5120.73,99.6467,34.9,195.151,-53.1904],[5044.37,199.655,34.25,191.931,-52.0446],[4965.3,298.889,33.5833,188.648,-50.8173],[4881.47,399.394,32.8833,185.232,-49.4689],[4794.78,498.317,32.1667,181.777,-48.0219],[4701.08,599.624,31.4,178.14,-46.3957],[4604.35,698.236,30.6167,174.504,-44.6466],[4498.24,799.557,29.7667,170.668,-42.644],[4386.73,898.488,28.8833,166.828,-40.4424],[4263.26,999.204,27.9167,162.83,-37.8873],[4127.47,1099.52,26.8667,158.772,-34.9343],[3974.56,1199.71,25.7,154.679,-31.4334],[3797.24,1299.44,24.3667,150.63,-27.1525],[3576.31,1399.73,22.7333,146.756,-21.5274],[3256,1499.73,20.4167,143.699,-12.9603],[2780.67,1554.24,17.0833,145.222,-0.0501093]]], - [47,1603.33,[[6230.35,-2000.51,46.2167,247.632,-67.3216],[6188.82,-1902,45.7833,245.715,-66.9379],[6145.33,-1800.81,45.3333,243.703,-66.5297],[6101.48,-1700.77,44.8833,241.67,-66.1113],[6057.26,-1601.9,44.4333,239.617,-65.6821],[6011.03,-1500.62,43.9667,237.466,-65.2255],[5964.4,-1400.63,43.5,235.295,-64.7565],[5917.38,-1301.94,43.0333,233.104,-64.2747],[5868.28,-1201.13,42.55,230.813,-63.7618],[5818.76,-1101.77,42.0667,228.503,-63.2341],[5767.09,-1000.52,41.5667,226.094,-62.672],[5714.97,-900.863,41.0667,223.665,-62.0928],[5662.42,-802.82,40.5667,221.219,-61.4958],[5605.87,-700.044,40.0333,218.592,-60.8386],[5550.61,-602.282,39.5167,216.03,-60.181],[5491.26,-500.19,38.9667,213.288,-59.4572],[5431.38,-400.166,38.4167,210.533,-58.7078],[5370.99,-302.239,37.8667,207.766,-57.9318],[5306.36,-200.704,37.2833,204.822,-57.0782],[5241.14,-101.596,36.7,201.872,-56.1917],[5173.44,-2.22761,36.1,198.835,-55.2439],[5101.32,99.7925,35.4667,195.632,-54.2018],[5028.51,198.823,34.8333,192.436,-53.115],[4951.15,299.789,34.1667,189.086,-51.92],[4871.08,399.739,33.4833,185.675,-50.6383],[4788.25,498.357,32.7833,182.215,-49.2624],[4698.62,599.722,32.0333,178.556,-47.714],[4606.04,698.678,31.2667,174.882,-46.0478],[4506.4,798.825,30.45,171.058,-44.1755],[4399.49,899.076,29.5833,167.125,-42.0734],[4283.03,999.99,28.65,163.062,-39.6712],[4156.76,1099.87,27.65,158.946,-36.9323],[4016.09,1199.74,26.55,154.756,-33.717],[3856.21,1299.05,25.3167,150.559,-29.8578],[3663.12,1399.41,23.85,146.384,-24.9286],[3410.53,1499.45,21.9667,142.574,-18.1117],[2885.02,1599.87,18.1667,141.368,-3.29521],[2769.26,1603.32,17.35,142.379,-0.0614913]]], - [48,1652.21,[[6172.4,-2002.74,46.6833,248.152,-67.8653],[6131.73,-1903.63,46.25,246.227,-67.4911],[6089.14,-1801.81,45.8,244.207,-67.0931],[6046.19,-1701.14,45.35,242.165,-66.6849],[6002.88,-1601.62,44.9,240.102,-66.2663],[5959.22,-1503.28,44.45,238.017,-65.837],[5913.56,-1402.56,43.9833,235.835,-65.3799],[5867.52,-1303.14,43.5167,233.631,-64.9104],[5819.45,-1201.56,43.0333,231.327,-64.4104],[5770.96,-1101.42,42.55,229.001,-63.8959],[5722.07,-1002.73,42.0667,226.656,-63.3665],[5671.05,-902.196,41.5667,224.209,-62.8023],[5619.6,-803.265,41.0667,221.743,-62.2207],[5565.98,-702.747,40.55,219.176,-61.6006],[5510.15,-600.835,40.0167,216.508,-60.9393],[5453.82,-500.829,39.4833,213.822,-60.2556],[5397.01,-402.756,38.95,211.122,-59.5482],[5336.11,-300.703,38.3833,208.238,-58.7697],[5274.66,-200.897,37.8167,205.343,-57.9621],[5210.84,-100.535,37.2333,202.354,-57.0989],[5146.44,-2.62413,36.65,199.358,-56.2018],[5077.75,98.1794,36.0333,196.19,-55.2146],[5006.54,198.774,35.4,192.938,-54.1574],[4932.76,298.879,34.75,189.61,-53.024],[4856.38,398.203,34.0833,186.213,-51.8081],[4775.39,498.789,33.3833,182.671,-50.4701],[4691.67,597.782,32.6667,179.084,-49.0316],[4601.19,699.148,31.9,175.3,-47.4119],[4505.8,799.85,31.1,171.429,-45.6276],[4405.37,899.156,30.2667,167.499,-43.6617],[4295.7,999.901,29.3667,163.397,-41.4093],[4178.61,1098.8,28.4167,159.263,-38.8799],[4047.62,1199.07,27.3667,154.972,-35.8962],[3900.18,1299.18,26.2,150.615,-32.344],[3727.09,1399.92,24.85,146.216,-27.923],[3514.19,1499.73,23.2167,141.998,-22.1512],[3203.5,1599.48,20.8833,138.494,-13.2377],[2753.2,1652.21,17.6,139.539,-0.0255106]]], - [49,1700.85,[[6109.03,-2002.8,47.1333,248.632,-68.3978],[6069.21,-1903.12,46.7,246.7,-68.033],[6027.51,-1800.71,46.25,244.671,-67.6447],[5987.03,-1703.16,45.8167,242.697,-67.2616],[5944.65,-1602.99,45.3667,240.624,-66.8537],[5900.33,-1500.35,44.9,238.453,-66.4196],[5857.24,-1402.58,44.45,236.337,-65.9898],[5812.18,-1302.46,43.9833,234.12,-65.5321],[5765.12,-1200.14,43.5,231.802,-65.0447],[5719.3,-1102.72,43.0333,229.543,-64.5608],[5671.45,-1003.23,42.55,227.182,-64.0451],[5621.53,-901.859,42.05,224.718,-63.4955],[5571.18,-802.084,41.55,222.233,-62.9289],[5518.7,-700.683,41.0333,219.645,-62.3247],[5465.78,-601.036,40.5167,217.037,-61.7007],[5410.67,-500.039,39.9833,214.327,-61.0349],[5355.08,-400.966,39.45,211.599,-60.3461],[5297.25,-300.839,38.9,208.77,-59.6104],[5238.92,-202.817,38.35,205.928,-58.8479],[5176.5,-101.186,37.7667,202.901,-58.0083],[5113.53,-1.99239,37.1833,199.865,-57.1355],[5048.16,97.4571,36.5833,196.737,-56.2013],[4978.53,199.553,35.95,193.433,-55.173],[4908.25,298.65,35.3167,190.133,-54.0991],[4833.58,399.674,34.65,186.67,-52.9166],[4756.3,499.672,33.9667,183.14,-51.6462],[4676.38,598.326,33.2667,179.552,-50.2802],[4589.9,699.715,32.5167,175.751,-48.7399],[4500.59,798.679,31.75,171.927,-47.0789],[4404.48,898.816,30.9333,167.938,-45.2078],[4301.39,999.036,30.0667,163.823,-43.1015],[4189.12,1099.89,29.1333,159.559,-40.6871],[4067.41,1199.69,28.1333,155.222,-37.9245],[3931.87,1299.43,27.0333,150.784,-34.6684],[3775.77,1399.8,25.7833,146.251,-30.6873],[3589.83,1499.66,24.3167,141.759,-25.6411],[3344.56,1599.72,22.4167,137.541,-18.5545],[2791.73,1699.95,18.2667,136.148,-1.72393],[2734.91,1700.85,17.85,136.674,-0.00764654]]], - [50,1749.19,[[6040.32,-2000.73,47.5667,249.072,-68.9202],[6001.35,-1900.51,47.1333,247.133,-68.5644],[5962.06,-1801.33,46.7,245.172,-68.1999],[5922.45,-1703.19,46.2667,243.19,-67.8266],[5880.98,-1602.4,45.8167,241.109,-67.4291],[5839.18,-1502.77,45.3667,239.005,-67.0213],[5795.46,-1400.7,44.9,236.8,-66.5872],[5752.95,-1303.49,44.45,234.652,-66.1573],[5706.91,-1200.44,43.9667,232.321,-65.6827],[5662.09,-1102.28,43.5,230.049,-65.2113],[5615.28,-1002.04,43.0167,227.673,-64.709],[5568.08,-903.249,42.5333,225.275,-64.1918],[5518.84,-802.617,42.0333,222.773,-63.6404],[5467.52,-700.321,41.5167,220.165,-63.0523],[5417.44,-602.984,41.0167,217.621,-62.4648],[5363.55,-500.984,40.4833,214.887,-61.8172],[5309.2,-400.895,39.95,212.134,-61.1471],[5254.37,-302.746,39.4167,209.363,-60.4534],[5195.61,-200.619,38.85,206.403,-59.6892],[5136.33,-100.745,38.2833,203.428,-58.8957],[5074.76,-0.322317,37.7,200.353,-58.0467],[5012.64,97.6419,37.1167,197.27,-57.1634],[4946.38,198.492,36.5,194.005,-56.1904],[4877.71,299.125,35.8667,190.652,-55.1469],[4806.56,399.258,35.2167,187.214,-54.0267],[4732.91,498.598,34.55,183.701,-52.8231],[4654.84,599.189,33.85,180.034,-51.4964],[4574.13,698.172,33.1333,176.313,-50.0674],[4486.93,799.511,32.3667,172.382,-48.4549],[4396.93,898.123,31.5833,168.433,-46.7127],[4298.25,999.405,30.7333,164.248,-44.7076],[4194.58,1098.25,29.85,160.032,-42.4907],[4079.85,1198.82,28.8833,155.611,-39.9009],[3953.75,1298.92,27.8333,151.084,-36.8853],[3811.84,1398.81,26.6667,146.462,-33.2791],[3645.33,1499.23,25.3167,141.757,-28.7676],[3438.51,1599.48,23.6667,137.141,-22.7787],[3133.45,1699.7,21.2833,133.162,-13.3499],[2714.37,1749.19,18.1,133.785,-0.00934679]]], - [51,1797.18,[[5967.81,-2000.43,48,249.546,-69.4463],[5931.17,-1903.52,47.5833,247.676,-69.1131],[5892.75,-1803.74,47.15,245.709,-68.7583],[5852.53,-1701.23,46.7,243.643,-68.3807],[5813.48,-1603.59,46.2667,241.631,-68.008],[5772.6,-1503.33,45.8167,239.518,-67.611],[5729.85,-1400.59,45.35,237.304,-67.1883],[5688.29,-1302.73,44.9,235.145,-66.7697],[5644.84,-1202.52,44.4333,232.883,-66.3237],[5599.45,-1100.12,43.95,230.517,-65.8485],[5555.26,-1002.61,43.4833,228.209,-65.3764],[5509.12,-903.042,43,225.796,-64.8732],[5460.98,-801.593,42.5,223.277,-64.3365],[5412.43,-701.745,42,220.735,-63.783],[5361.84,-600.273,41.4833,218.086,-63.1923],[5310.81,-500.561,40.9667,215.415,-62.5819],[5259.35,-402.632,40.45,212.725,-61.9508],[5204.1,-300.375,39.9,209.841,-61.2551],[5148.36,-200.199,39.35,206.938,-60.5337],[5092.14,-102.135,38.8,204.019,-59.7853],[5031.99,-0.467766,38.2167,200.909,-58.9606],[4971.3,98.7544,37.6333,197.786,-58.1022],[4908.32,198.224,37.0333,194.565,-57.1825],[4843.01,297.682,36.4167,191.25,-56.196],[4773.53,399.426,35.7667,187.756,-55.1086],[4703.4,497.954,35.1167,184.268,-53.9695],[4628.99,598.015,34.4333,180.615,-52.713],[4550.2,699.023,33.7167,176.81,-51.3263],[4468.79,798.15,32.9833,172.953,-49.8301],[4380.96,899.238,32.2,168.891,-48.1401],[4288.45,999.273,31.3833,164.735,-46.2712],[4189.24,1099.36,30.5167,160.437,-44.1613],[4083.17,1198.32,29.6,156.047,-41.7795],[3964.17,1299.63,28.5833,151.409,-38.9479],[3833.84,1399.11,27.4833,146.721,-35.6493],[3683.79,1499.13,26.2333,141.901,-31.5961],[3503.1,1599.55,24.75,137.03,-26.3671],[3265.47,1699.37,22.8333,132.402,-18.9872],[2691.56,1797.18,18.35,130.874,-0.0320111]]], - [52,1844.77,[[5891.44,-2001.96,48.4333,250.054,-69.976],[5854.2,-1900.64,48,248.103,-69.6385],[5816.64,-1800.34,47.5667,246.129,-69.2929],[5778.78,-1701.07,47.1333,244.132,-68.9388],[5740.62,-1602.85,46.7,242.112,-68.5759],[5700.66,-1501.99,46.25,239.991,-68.1894],[5660.38,-1402.28,45.8,237.847,-67.7928],[5618.26,-1300.14,45.3333,235.598,-67.3703],[5577.31,-1202.86,44.8833,233.406,-66.9518],[5534.49,-1103.27,44.4167,231.11,-66.5057],[5489.78,-1001.52,43.9333,228.707,-66.0303],[5444.69,-901.208,43.45,226.279,-65.5406],[5399.23,-802.365,42.9667,223.829,-65.0361],[5351.8,-701.68,42.4667,221.27,-64.4979],[5303.97,-602.608,41.9667,218.688,-63.9425],[5254.14,-501.954,41.45,215.997,-63.3495],[5203.87,-403.074,40.9333,213.285,-62.7364],[5151.55,-302.893,40.4,210.464,-62.0812],[5097.12,-201.618,39.85,207.534,-61.3809],[5042.22,-102.443,39.3,204.585,-60.6542],[4985.16,-2.49084,38.7333,201.53,-59.8764],[4925.91,98.005,38.15,198.371,-59.0434],[4864.42,198.799,37.55,195.108,-58.1506],[4800.64,299.633,36.9333,191.746,-57.1926],[4736.3,397.628,36.3167,188.38,-56.1914],[4667.86,497.803,35.6667,184.833,-55.0868],[4595.24,599.615,34.9833,181.112,-53.8675],[4521.93,697.786,34.3,177.408,-52.5853],[4442.5,799.028,33.5667,173.462,-51.1347],[4360.48,898.105,32.8167,169.469,-49.5665],[4272.11,998.733,32.0167,165.274,-47.7932],[4177.24,1099.85,31.1667,160.911,-45.7881],[4077.6,1198.49,30.2833,156.505,-43.5642],[3967.37,1298.82,29.3167,151.869,-40.9569],[3846.23,1398.62,28.2667,147.104,-37.9084],[3708,1499.47,27.0833,142.146,-34.191],[3548.14,1599.2,25.7333,137.142,-29.5779],[3347.66,1699.43,24.0667,132.135,-23.3491],[3046.84,1799.82,21.6167,127.683,-13.2786],[2664.35,1844.77,18.5833,127.959,-0.00400963]]], - [53,1891.91,[[5809.82,-2001.48,48.85,250.522,-70.4964],[5774.84,-1903.53,48.4333,248.641,-70.1808],[5738.16,-1802.66,48,246.661,-69.8447],[5701.19,-1702.81,47.5667,244.658,-69.5004],[5662.48,-1600.23,47.1167,242.554,-69.1338],[5624.9,-1502.53,46.6833,240.503,-68.7717],[5585.56,-1402.21,46.2333,238.35,-68.386],[5545.89,-1303.06,45.7833,236.173,-67.99],[5504.42,-1201.5,45.3167,233.89,-67.568],[5462.61,-1101.24,44.85,231.582,-67.1342],[5420.45,-1002.3,44.3833,229.249,-66.6879],[5376.42,-901.243,43.9,226.809,-66.212],[5332.03,-801.639,43.4167,224.344,-65.7216],[5285.71,-700.156,42.9167,221.768,-65.1985],[5239.01,-600.279,42.4167,219.169,-64.6585],[5191.92,-502.031,41.9167,216.546,-64.1008],[5142.85,-402.243,41.4,213.812,-63.5052],[5091.77,-301.115,40.8667,210.968,-62.8687],[5040.25,-201.922,40.3333,208.101,-62.2092],[4986.66,-101.685,39.7833,205.124,-61.5037],[4930.96,-0.627611,39.2167,202.038,-60.7484],[4874.78,98.1482,38.65,198.934,-59.9629],[4816.45,197.411,38.0667,195.724,-59.1209],[4754.23,299.639,37.45,192.318,-58.1919],[4691.45,399.043,36.8333,188.903,-57.2207],[4626.39,498.153,36.2,185.393,-56.1767],[4557.28,599.167,35.5333,181.7,-55.0237],[4485.78,699.128,34.85,177.925,-53.7807],[4411.85,797.716,34.15,174.078,-52.4392],[4331.88,899.004,33.4,169.989,-50.9203],[4247.52,999.923,32.6167,165.769,-49.2378],[4158.69,1099.76,31.8,161.445,-47.3721],[4063.44,1199.62,30.9333,156.962,-45.2594],[3961.62,1298.3,30.0167,152.37,-42.8663],[3847.43,1399.28,29,147.501,-40.0099],[3720.51,1499.77,27.8833,142.488,-36.6142],[3576.6,1599.11,26.6333,137.386,-32.4797],[3401.42,1699.66,25.1333,132.138,-27.0494],[3169.73,1799.36,23.1833,127.079,-19.2726],[2637.04,1891.91,18.8333,125,-0.0718918]]], - [54,1938.55,[[5724.36,-2002.95,49.2667,251.023,-71.0208],[5688.84,-1900.57,48.8333,249.062,-70.7015],[5654.41,-1803.07,48.4167,247.153,-70.3872],[5618.32,-1702.68,47.9833,245.144,-70.0524],[5581.94,-1603.32,47.55,243.111,-69.7093],[5543.85,-1501.26,47.1,240.974,-69.3439],[5505.45,-1400.35,46.65,238.813,-68.9688],[5466.73,-1300.61,46.2,236.626,-68.5837],[5427.7,-1202.06,45.75,234.415,-68.1883],[5386.89,-1101.12,45.2833,232.097,-67.7667],[5345.74,-1001.5,44.8167,229.753,-67.3331],[5304.26,-903.205,44.35,227.384,-66.8868],[5260.95,-802.827,43.8667,224.906,-66.4108],[5215.76,-700.535,43.3667,222.316,-65.9029],[5171.72,-603.17,42.8833,219.787,-65.3963],[5124.24,-500.765,42.3667,217.059,-64.837],[5076.36,-400.113,41.85,214.305,-64.2586],[5028.08,-301.243,41.3333,211.527,-63.66],[4977.82,-201.078,40.8,208.637,-63.0199],[4927.13,-102.866,40.2667,205.725,-62.3562],[4872.81,-0.687103,39.7,202.608,-61.6238],[4818.01,99.2221,39.1333,199.472,-60.8618],[4761.11,199.664,38.55,196.226,-60.0448],[4703.72,297.63,37.9667,192.964,-59.193],[4642.51,398.461,37.35,189.504,-58.2522],[4579.08,499.052,36.7167,185.943,-57.2406],[4513.39,599.119,36.0667,182.285,-56.1514],[4445.4,698.366,35.4,178.537,-54.9772],[4373.34,798.83,34.7,174.614,-53.6783],[4297.14,899.902,33.9667,170.528,-52.2399],[4218.45,998.785,33.2167,166.387,-50.6813],[4133.7,1099.19,32.4167,162.029,-48.9143],[4044.52,1198.12,31.5833,157.573,-46.951],[3947.2,1298.38,30.6833,152.886,-44.6804],[3841.54,1398.35,29.7167,148.033,-42.0559],[3723.62,1499.22,28.65,142.948,-38.9228],[3591.19,1599.37,27.4667,137.721,-35.1401],[3436.2,1699.37,26.1,132.352,-30.3565],[3240.42,1799.92,24.4,126.915,-23.7931],[2942.7,1899.68,21.8667,122.021,-12.9259],[2603.36,1938.55,19.05,122.055,-0.0125099]]], - [55,1984.63,[[5633.71,-2002.48,49.6667,251.484,-71.5369],[5600.4,-1903.53,49.25,249.593,-71.2386],[5565.47,-1801.61,48.8167,247.603,-70.921],[5530.26,-1700.7,48.3833,245.588,-70.5956],[5494.77,-1600.82,47.95,243.548,-70.2621],[5458.99,-1501.99,47.5167,241.484,-69.9202],[5421.53,-1400.48,47.0667,239.315,-69.5559],[5383.77,-1300.13,46.6167,237.12,-69.1819],[5345.7,-1200.97,46.1667,234.9,-68.7978],[5307.32,-1103,45.7167,232.655,-68.4031],[5267.2,-1002.68,45.25,230.301,-67.9823],[5225.3,-900.173,44.7667,227.836,-67.5335],[5184.51,-802.57,44.3,225.43,-67.0872],[5141.92,-702.919,43.8167,222.912,-66.6108],[5097.5,-601.393,43.3167,220.281,-66.1024],[5052.7,-501.477,42.8167,217.624,-65.5772],[5007.53,-403.196,42.3167,214.941,-65.0345],[4958.94,-300.19,41.7833,212.053,-64.4353],[4911.48,-202.229,41.2667,209.231,-63.8341],[4862.07,-103.02,40.7333,206.294,-63.1908],[4810.68,-2.77528,40.1833,203.243,-62.502],[4757.28,98.2835,39.6167,200.076,-61.7639],[4701.82,199.922,39.0333,196.796,-60.9724],[4645.89,299.097,38.45,193.497,-60.1469],[4587.85,398.497,37.85,190.089,-59.2601],[4527.67,497.863,37.2333,186.574,-58.3065],[4463.68,599.487,36.5833,182.862,-57.2523],[4399.1,697.868,35.9333,179.148,-56.1445],[4330.59,797.747,35.25,175.249,-54.9181],[4258.07,898.533,34.5333,171.175,-53.5595],[4181.45,999.596,33.7833,166.939,-52.0526],[4102.38,1098.17,33.0167,162.654,-50.4158],[4015.58,1199.81,32.1833,158.066,-48.5182],[3924.38,1299.33,31.3167,153.395,-46.404],[3825.13,1399.36,30.3833,148.512,-43.955],[3715.83,1499.74,29.3667,143.414,-41.07],[3594.38,1599.52,28.25,138.144,-37.6231],[3454.89,1699.24,26.9833,132.688,-33.3428],[3285.51,1799.47,25.4667,127.064,-27.6887],[3056.44,1899.77,23.45,121.513,-19.3229],[2569.56,1984.63,19.2833,119.066,-0.0526983]]], - [56,2030.12,[[5537.95,-2000.08,50.05,251.903,-72.0456],[5505.48,-1900.67,49.6333,250.007,-71.7557],[5472.74,-1802.18,49.2167,248.089,-71.4591],[5438.42,-1700.74,48.7833,246.068,-71.1431],[5403.82,-1600.33,48.35,244.022,-70.8193],[5368.95,-1500.96,47.9167,241.952,-70.4873],[5333.79,-1402.65,47.4833,239.856,-70.1469],[5296.99,-1301.69,47.0333,237.654,-69.784],[5259.89,-1201.9,46.5833,235.426,-69.4114],[5222.49,-1103.3,46.1333,233.172,-69.0285],[5183.39,-1002.32,45.6667,230.808,-68.6202],[5143.97,-902.662,45.2,228.417,-68.1999],[5102.81,-800.85,44.7167,225.914,-67.7516],[5061.3,-700.494,44.2333,223.382,-67.2893],[5019.45,-601.613,43.75,220.824,-66.8125],[4975.8,-500.897,43.25,218.151,-66.3033],[4931.79,-401.808,42.75,215.451,-65.7771],[4885.93,-301.149,42.2333,212.635,-65.2145],[4839.69,-202.277,41.7167,209.792,-64.6319],[4791.56,-102.118,41.1833,206.832,-64.0085],[4741.5,-0.881374,40.6333,203.754,-63.3409],[4691.01,98.2391,40.0833,200.653,-62.6469],[4638.55,198.118,39.5167,197.435,-61.9026],[4584.08,298.519,38.9333,194.101,-61.1038],[4527.56,399.195,38.3333,190.654,-60.2455],[4468.96,499.886,37.7167,187.095,-59.3223],[4409.84,597.715,37.1,183.524,-58.3547],[4346.98,697.69,36.45,179.754,-57.2838],[4280.29,799.262,35.7667,175.79,-56.0977],[4211.35,899.505,35.0667,171.737,-54.8142],[4140.1,998.083,34.35,167.605,-53.4232],[4063.17,1098.93,33.5833,163.219,-51.8426],[3982.11,1199.02,32.7833,158.695,-50.0836],[3895.12,1299.51,31.9333,153.969,-48.0826],[3802.08,1399.24,31.0333,149.084,-45.8041],[3701.08,1498.59,30.0667,144.013,-43.1596],[3588.39,1598.75,29,138.683,-39.9873],[3460.09,1699.36,27.8,133.107,-36.0789],[3310.26,1799.22,26.4167,127.371,-31.1067],[3119.68,1899.55,24.6833,121.503,-24.1703],[2816.72,1999.7,21.9833,116.113,-12.0138]]], - [57,2074.95,[[5439.67,-2003.8,50.45,252.431,-72.5699],[5408.05,-1903.89,50.0333,250.533,-72.2888],[5374.89,-1800.95,49.6,248.533,-71.9895],[5342.75,-1702.92,49.1833,246.585,-71.6948],[5309.06,-1601.96,48.75,244.535,-71.3808],[5275.1,-1502.04,48.3167,242.458,-71.0589],[5240.86,-1403.17,47.8833,240.357,-70.7287],[5205.02,-1301.63,47.4333,238.148,-70.3768],[5168.89,-1201.25,46.9833,235.912,-70.0154],[5132.47,-1102.06,46.5333,233.649,-69.644],[5094.39,-1000.46,46.0667,231.275,-69.248],[5056,-900.164,45.6,228.873,-68.8403],[5017.29,-801.202,45.1333,226.444,-68.4206],[4976.88,-700.127,44.65,223.901,-67.9726],[4936.13,-600.52,44.1667,221.329,-67.5105],[4895.05,-502.403,43.6833,218.73,-67.0336],[4852.21,-402.492,43.1833,216.015,-66.524],[4807.57,-300.974,42.6667,213.18,-65.9792],[4762.55,-201.235,42.15,210.318,-65.4149],[4715.69,-100.17,41.6167,207.335,-64.811],[4668.44,-1.05574,41.0833,204.327,-64.1841],[4619.3,99.0828,40.5333,201.199,-63.5123],[4569.74,197.086,39.9833,198.047,-62.8134],[4516.73,298.66,39.4,194.68,-62.0408],[4463.27,397.761,38.8167,191.293,-61.2339],[4406.25,499.796,38.2,187.692,-60.3415],[4348.74,598.984,37.5833,184.076,-59.4059],[4289.15,697.846,36.95,180.351,-58.3972],[4225.86,798.571,36.2833,176.424,-57.2794],[4160.41,898.207,35.6,172.399,-56.0699],[4091.13,998.72,34.8833,168.189,-54.7271],[4017.95,1099.48,34.1333,163.805,-53.2342],[3940.78,1199.8,33.35,159.267,-51.5718],[3859.55,1298.97,32.5333,154.597,-49.7176],[3770.82,1399.9,31.65,149.643,-47.5615],[3676.08,1499.3,30.7167,144.551,-45.0997],[3571.78,1598.96,29.7,139.218,-42.186],[3454.19,1699.3,28.5667,133.607,-38.6312],[3319.4,1799.02,27.2833,127.792,-34.1906],[3154.35,1899.44,25.7333,121.733,-28.2182],[2926.96,1999.87,23.6333,115.68,-19.1068]]], - [58,2119.09,[[5335.08,-2001.67,50.8167,252.843,-73.0763],[5304.3,-1901.32,50.4,250.94,-72.8036],[5273.27,-1801.87,49.9833,249.013,-72.5245],[5241.99,-1703.35,49.5667,247.061,-72.2388],[5209.21,-1601.88,49.1333,245.005,-71.9344],[5176.16,-1501.45,48.7,242.923,-71.6223],[5142.84,-1402.05,48.2667,240.815,-71.3023],[5109.26,-1303.72,47.8333,238.681,-70.9739],[5074.11,-1202.74,47.3833,236.439,-70.6238],[5038.67,-1102.94,46.9333,234.168,-70.2641],[5001.62,-1000.7,46.4667,231.785,-69.8805],[4965.61,-903.349,46.0167,229.46,-69.4999],[4926.61,-800.154,45.5333,226.934,-69.079],[4888.65,-701.883,45.0667,224.467,-68.6602],[4849.01,-601.537,44.5833,221.883,-68.2129],[4809.05,-502.673,44.1,219.271,-67.7513],[4767.38,-401.981,43.6,216.54,-67.258],[4725.35,-302.922,43.1,213.78,-66.7478],[4681.57,-202.3,42.5833,210.9,-66.2021],[4636,-100.314,42.05,207.897,-65.618],[4590.04,-0.269568,41.5167,204.866,-65.0115],[4543.7,97.8062,40.9833,201.809,-64.3816],[4494.05,199.822,40.4167,198.533,-63.6851],[4443.97,299.549,39.85,195.232,-62.959],[4391.98,399.783,39.2667,191.81,-62.1787],[4339.54,497.52,38.6833,188.367,-61.3631],[4283.63,598.086,38.0667,184.708,-60.4601],[4225.71,698.378,37.4333,180.934,-59.486],[4165.74,798.111,36.7833,177.051,-58.4339],[4102.12,899.413,36.1,172.963,-57.2664],[4036.36,999.361,35.4,168.778,-56.0004],[3966.83,1099.85,34.6667,164.407,-54.5922],[3895.07,1198.11,33.9167,159.965,-53.0586],[3816.18,1299.81,33.1,155.175,-51.2722],[3733.26,1399.72,32.25,150.265,-49.2734],[3644.58,1498.81,31.35,145.179,-46.9885],[3546.69,1599.07,30.3667,139.796,-44.277],[3437.65,1699.7,29.2833,134.135,-41.0076],[3315.46,1798.95,28.0833,128.288,-37.0143],[3169.37,1899.33,26.6667,122.115,-31.7669],[2982.72,1999.37,24.8833,115.784,-24.3288]]], - [59,2162.48,[[5226.73,-2001.77,51.1833,253.288,-73.5875],[5196.8,-1900.97,50.7667,251.382,-73.3232],[5166.63,-1801.07,50.35,249.451,-73.0528],[5136.21,-1702.09,49.9333,247.494,-72.776],[5104.33,-1600.14,49.5,245.434,-72.481],[5073.44,-1503.07,49.0833,243.427,-72.1903],[5041.05,-1403.14,48.65,241.313,-71.8804],[5007.14,-1300.49,48.2,239.091,-71.5502],[4974.23,-1202.72,47.7667,236.924,-71.2236],[4939.78,-1102.35,47.3167,234.646,-70.8754],[4905.05,-1003.16,46.8667,232.34,-70.5173],[4868.75,-901.57,46.4,229.92,-70.1354],[4832.15,-801.295,45.9333,227.471,-69.7421],[4795.25,-702.355,45.4667,224.993,-69.3369],[4756.72,-601.308,44.9833,222.397,-68.9042],[4717.88,-501.736,44.5,219.772,-68.4575],[4677.37,-400.303,44,217.026,-67.9802],[4636.52,-300.494,43.5,214.25,-67.4865],[4595.34,-202.334,43,211.445,-66.9757],[4552.44,-102.658,42.4833,208.518,-66.4288],[4507.79,-1.66687,41.95,205.466,-65.8431],[4462.77,97.3654,41.4167,202.386,-65.2346],[4415.95,197.411,40.8667,199.182,-64.5819],[4367.3,298.244,40.3,195.852,-63.8811],[4316.79,399.629,39.7167,192.398,-63.1278],[4265.86,498.529,39.1333,188.92,-62.3402],[4213.02,597.624,38.5333,185.321,-61.492],[4156.76,699.287,37.9,181.502,-60.552],[4100,797.889,37.2667,177.667,-59.563],[4039.74,898.324,36.6,173.621,-58.465],[3977.42,997.645,35.9167,169.469,-57.2746],[3911.47,1097.81,35.2,165.12,-55.95],[3841.81,1198.18,34.45,160.587,-54.4737],[3768.38,1298.08,33.6667,155.885,-52.8249],[3689.5,1398.73,32.8333,150.941,-50.9409],[3605.08,1499.01,31.95,145.79,-48.7844],[3513.35,1599.36,31,140.39,-46.2653],[3412.53,1699.57,29.9667,134.733,-43.2685],[3299.06,1799.96,28.8167,128.779,-39.5912],[3169.25,1899.1,27.5167,122.606,-34.9665],[3007.33,1999.86,25.9167,116.059,-28.5591]]], - [60,2205.07,[[5113.47,-2000.07,51.5333,253.692,-74.093],[5085.55,-1902.88,51.1333,251.859,-73.8475],[5056.25,-1802.51,50.7167,249.924,-73.5858],[5026.71,-1703.06,50.3,247.965,-73.3179],[4995.74,-1600.62,49.8667,245.899,-73.0325],[4965.73,-1503.08,49.45,243.888,-72.7513],[4934.27,-1402.64,49.0167,241.769,-72.4514],[4902.57,-1303.26,48.5833,239.623,-72.1438],[4869.37,-1201.18,48.1333,237.366,-71.8158],[4835.91,-1100.26,47.6833,235.081,-71.4788],[4802.17,-1000.53,47.2333,232.767,-71.1323],[4768.17,-901.989,46.7833,230.424,-70.776],[4732.63,-801.088,46.3167,227.966,-70.3957],[4696.79,-701.514,45.85,225.478,-70.0039],[4660.67,-603.287,45.3833,222.961,-69.6001],[4622.96,-502.992,44.9,220.324,-69.1687],[4583.63,-400.805,44.4,217.564,-68.7075],[4543.97,-300.233,43.9,214.773,-68.2305],[4503.98,-201.302,43.4,211.953,-67.7369],[4462.33,-100.82,42.8833,209.007,-67.2084],[4420.33,-2.14179,42.3667,206.031,-66.6603],[4376.62,97.8011,41.8333,202.929,-66.0728],[4331.17,198.796,41.2833,199.7,-65.4425],[4285.34,297.655,40.7333,196.442,-64.7859],[4237.72,397.245,40.1667,193.058,-64.0803],[4188.29,497.327,39.5833,189.547,-63.3212],[4137.02,597.651,38.9833,185.911,-62.5034],[4083.86,697.954,38.3667,182.15,-61.6213],[4028.8,797.962,37.7333,178.269,-60.6683],[3970.33,899.893,37.0667,174.168,-59.6099],[3911.34,998.348,36.4,170.057,-58.4906],[3848.85,1097.93,35.7,165.739,-57.2447],[3782.79,1198.02,34.9667,161.223,-55.8554],[3713.1,1297.95,34.2,156.524,-54.3032],[3638.16,1399.04,33.3833,151.56,-52.5278],[3559.42,1498.28,32.5333,146.463,-50.5338],[3473.66,1598.38,31.6167,141.075,-48.2008],[3379.14,1699.26,30.6167,135.37,-45.4185],[3275.64,1798.59,29.5333,129.458,-42.0981],[3156.47,1898.87,28.3,123.17,-37.8948],[3014.61,1999.06,26.85,116.558,-32.3335]]], - [61,2246.82,[[4996.48,-2000.71,51.8833,254.131,-74.6036],[4969.39,-1903.1,51.4833,252.295,-74.3661],[4940.95,-1802.3,51.0667,250.357,-74.1131],[4912.29,-1702.41,50.65,248.393,-73.854],[4883.4,-1603.44,50.2333,246.403,-73.5887],[4853.11,-1501.5,49.8,244.307,-73.306],[4822.59,-1400.6,49.3667,242.182,-73.016],[4791.81,-1300.73,48.9333,240.03,-72.7185],[4760.8,-1201.92,48.5,237.851,-72.4132],[4728.33,-1100.45,48.05,235.559,-72.0875],[4695.6,-1000.16,47.6,233.237,-71.7527],[4662.61,-901.059,47.15,230.887,-71.4084],[4629.36,-803.167,46.7,228.508,-71.0542],[4594.6,-702.947,46.2333,226.01,-70.676],[4558.31,-600.56,45.75,223.392,-70.272],[4522.99,-503.089,45.2833,220.835,-69.8696],[4484.83,-400.186,44.7833,218.062,-69.4243],[4447.65,-302.242,44.3,215.351,-68.9793],[4408.87,-202.524,43.8,212.516,-68.5031],[4368.48,-101.222,43.2833,209.553,-67.9933],[4327.75,-1.71392,42.7667,206.559,-67.4645],[4285.35,99.0947,42.2333,203.437,-66.8975],[4242.61,197.935,41.7,200.283,-66.308],[4198.17,297.771,41.15,197.001,-65.675],[4152,398.378,40.5833,193.588,-64.9946],[4104.07,499.519,40,190.046,-64.2624],[4055.73,598.161,39.4167,186.476,-63.4959],[4004.19,699.684,38.8,182.676,-62.6457],[3952.22,798.332,38.1833,178.853,-61.7516],[3896.96,899.155,37.5333,174.804,-60.7584],[3839.79,999.145,36.8667,170.637,-59.6812],[3780.68,1097.99,36.1833,166.357,-58.5109],[3716.67,1199.9,35.45,161.764,-57.1741],[3650.61,1299.6,34.7,157.078,-55.713],[3580.98,1398.77,33.9167,152.213,-54.0762],[3506.21,1498.62,33.0833,147.087,-52.1992],[3424.67,1599.82,32.1833,141.638,-49.9994],[3337.75,1699.04,31.2333,136.021,-47.4632],[3240.69,1799.49,30.1833,130.029,-44.3779],[3131.66,1899.58,29.0167,123.722,-40.5666],[3005.58,1998.87,27.6833,117.107,-35.6711]]], - [62,2287.69,[[4875.74,-2003.77,52.2333,254.604,-75.1189],[4848.39,-1901.67,51.8167,252.689,-74.8799],[4820.82,-1800.46,51.4,250.747,-74.6354],[4793.03,-1700.15,50.9833,248.779,-74.385],[4765.02,-1600.76,50.5667,246.785,-74.1286],[4736.8,-1502.3,50.15,244.765,-73.866],[4707.21,-1400.91,49.7167,242.636,-73.586],[4677.38,-1300.55,49.2833,240.479,-73.2987],[4647.32,-1201.25,48.85,238.293,-73.0039],[4617.03,-1103.02,48.4167,236.08,-72.7012],[4585.31,-1002.15,47.9667,233.752,-72.3783],[4553.35,-902.472,47.5167,231.395,-72.0461],[4519.93,-800.373,47.05,228.919,-71.6916],[4487.45,-703.166,46.6,226.502,-71.3395],[4452.28,-600.139,46.1167,223.874,-70.9497],[4418.05,-502.042,45.65,221.305,-70.5614],[4382.31,-401.89,45.1667,218.613,-70.1463],[4346.29,-303.232,44.6833,215.89,-69.7173],[4308.72,-202.769,44.1833,213.04,-69.2583],[4269.58,-100.688,43.6667,210.062,-68.7668],[4230.12,-0.391808,43.15,207.05,-68.2569],[4190.34,98.0919,42.6333,204.006,-67.7275],[4148.94,197.824,42.1,200.832,-67.1596],[4105.89,298.59,41.55,197.526,-66.5498],[4062.48,397.211,41,194.188,-65.9138],[4016.06,499.429,40.4167,190.616,-65.209],[3969.24,599.161,39.8333,187.014,-64.471],[3920.69,699.111,39.2333,183.281,-63.6748],[3870.36,799.014,38.6167,179.418,-62.8147],[3818.23,898.594,37.9833,175.427,-61.8839],[3764.27,997.562,37.3333,171.311,-60.8748],[3707.04,1098.02,36.65,166.971,-59.7505],[3646.5,1199.38,35.9333,162.411,-58.4957],[3583.99,1298.79,35.2,157.749,-57.1245],[3518.04,1397.98,34.4333,152.89,-55.5879],[3447.16,1498.25,33.6167,147.751,-53.8242],[3371.22,1598.48,32.75,142.361,-51.7949],[3288.64,1699.19,31.8167,136.662,-49.409],[3199.27,1798.65,30.8167,130.726,-46.5969],[3098.43,1899.23,29.7,124.375,-43.1095],[2982.74,1999.73,28.4333,117.643,-38.6626]]], - [63,2327.62,[[4749.13,-2001.07,52.55,254.96,-75.6204],[4723.71,-1902.66,52.15,253.118,-75.399],[4697.02,-1801.03,51.7333,251.174,-75.163],[4670.12,-1700.3,51.3167,249.203,-74.9215],[4643.01,-1600.48,50.9,247.205,-74.6741],[4615.68,-1501.59,50.4833,245.181,-74.4207],[4588.14,-1403.64,50.0667,243.129,-74.1611],[4559.28,-1302.78,49.6333,240.968,-73.8842],[4530.18,-1202.97,49.2,238.778,-73.6],[4499.73,-1100.45,48.75,236.473,-73.2968],[4470.16,-1002.82,48.3167,234.225,-72.9969],[4439.22,-902.597,47.8667,231.861,-72.6767],[4408.04,-803.572,47.4167,229.466,-72.3473],[4375.44,-702.164,46.95,226.951,-71.9955],[4342.58,-602.083,46.4833,224.405,-71.6328],[4309.45,-503.348,46.0167,221.826,-71.2588],[4274.87,-402.528,45.5333,219.124,-70.859],[4240.01,-303.195,45.05,216.388,-70.4458],[4203.65,-202.026,44.55,213.525,-70.0036],[4167,-102.497,44.05,210.628,-69.5456],[4128.82,-1.39772,43.5333,207.6,-69.0548],[4090.33,97.8979,43.0167,204.539,-68.5454],[4050.27,198.477,42.4833,201.344,-67.9987],[4009.88,297.077,41.95,198.117,-67.4297],[3966.61,399.639,41.3833,194.653,-66.7992],[3922.98,499.9,40.8167,191.156,-66.1402],[3878.99,597.825,40.25,187.628,-65.4509],[3832.03,698.927,39.65,183.86,-64.6858],[3784.67,797.333,39.05,180.064,-63.8819],[3734.25,898.238,38.4167,176.03,-62.988],[3682.07,998.58,37.7667,171.866,-62.0186],[3628.08,1098.06,37.1,167.576,-60.9652],[3570.91,1198.71,36.4,163.058,-59.7893],[3510.47,1299.91,35.6667,158.319,-58.4737],[3448.12,1398.86,34.9167,153.48,-57.0314],[3381,1499.26,34.1167,148.339,-55.3745],[3310.44,1598.1,33.2833,143.03,-53.5053],[3232.08,1699.95,32.3667,137.272,-51.2622],[3148.64,1799.44,31.4,131.333,-48.6605],[3055.63,1899.65,30.3333,124.999,-45.4752],[2951.35,1998.89,29.15,118.334,-41.5104]]], - [64,2366.57,[[4618.92,-2000.85,52.8667,255.351,-76.1275],[4594.33,-1902.07,52.4667,253.507,-75.9141],[4568.53,-1800.04,52.05,251.559,-75.6866],[4543.56,-1702.94,51.65,249.664,-75.4632],[4517.35,-1602.68,51.2333,247.664,-75.225],[4490.94,-1503.35,50.8167,245.636,-74.981],[4463.25,-1401.03,50.3833,243.498,-74.7208],[4436.41,-1303.62,49.9667,241.415,-74.4642],[4408.28,-1203.33,49.5333,239.22,-74.1905],[4378.84,-1100.3,49.0833,236.91,-73.8985],[4350.26,-1002.19,48.65,234.656,-73.6096],[4320.35,-901.454,48.2,232.284,-73.3012],[4290.2,-801.912,47.75,229.882,-72.9839],[4259.81,-703.579,47.3,227.449,-72.6572],[4228.05,-602.902,46.8333,224.894,-72.3083],[4194.88,-500.041,46.35,222.213,-71.9353],[4162.61,-402.113,45.8833,219.593,-71.5635],[4128.91,-302.143,45.4,216.845,-71.1658],[4093.77,-200.307,44.9,213.968,-70.7402],[4058.34,-100.103,44.4,211.057,-70.2993],[4022.63,-1.55642,43.9,208.111,-69.8424],[3985.43,98.5088,43.3833,205.033,-69.3524],[3946.72,199.891,42.85,201.82,-68.8266],[3907.69,299.302,42.3167,198.571,-68.2793],[3867.11,399.726,41.7667,195.186,-67.6909],[3826.19,497.991,41.2167,191.768,-67.0766],[3782.44,599.819,40.6333,188.107,-66.395],[3738.33,699.146,40.05,184.413,-65.6803],[3692.58,798.663,39.45,180.581,-64.9082],[3645.16,898.105,38.8333,176.614,-64.0727],[3594.75,999.76,38.1833,172.403,-63.1424],[3543.92,1098.12,37.5333,168.17,-62.157],[3490.02,1197.92,36.85,163.7,-61.0568],[3433,1298.56,36.1333,159,-59.8256],[3372.8,1399.4,35.3833,154.078,-58.4446],[3309.36,1499.75,34.6,148.949,-56.891],[3242.61,1598.89,33.7833,143.632,-55.1376],[3169.75,1699.71,32.9,137.94,-53.0705],[3092.03,1798.91,31.9667,132.027,-50.6717],[3005.14,1899.8,30.9333,125.652,-47.727],[2908.84,1999.49,29.8,118.949,-44.1044]]], - [65,2404.49,[[4485.04,-2003.18,53.1833,255.777,-76.6399],[4461.31,-1904.02,52.7833,253.931,-76.4346],[4436.4,-1801.59,52.3667,251.982,-76.2158],[4411.28,-1700.05,51.95,250.004,-75.9917],[4386.99,-1603.42,51.55,248.08,-75.7716],[4361.49,-1503.67,51.1333,246.049,-75.5368],[4334.75,-1400.91,50.7,243.907,-75.2864],[4308.85,-1303.07,50.2833,241.82,-75.0396],[4281.69,-1202.34,49.85,239.62,-74.7762],[4254.32,-1102.66,49.4167,237.39,-74.5058],[4225.67,-1000.27,48.9667,235.043,-74.2172],[4197.87,-902.782,48.5333,232.753,-73.9316],[4168.77,-802.709,48.0833,230.344,-73.6265],[4138.35,-700.202,47.6167,227.813,-73.3007],[4108.78,-602.602,47.1667,225.34,-72.977],[4077.87,-502.697,46.7,222.744,-72.631],[4045.61,-400.651,46.2167,220.02,-72.2609],[4013.08,-300.08,45.7333,217.261,-71.8785],[3980.3,-201.006,45.25,214.468,-71.4831],[3946.11,-100.113,44.75,211.543,-71.0596],[3911.64,-0.869257,44.25,208.583,-70.6206],[3875.74,99.9236,43.7333,205.489,-70.1499],[3839.55,198.902,43.2167,202.358,-69.6608],[3801.89,299.143,42.6833,199.091,-69.1354],[3763.93,397.393,42.15,195.788,-68.5881],[3723.26,499.569,41.5833,192.242,-67.9808],[3682.25,599.431,41.0167,188.659,-67.3454],[3639.69,699.775,40.4333,184.935,-66.6599],[3596.78,797.593,39.85,181.178,-65.9402],[3551.05,898.211,39.2333,177.173,-65.1395],[3503.68,998.522,38.6,173.029,-64.2711],[3454.65,1098.24,37.95,168.748,-63.3275],[3402.67,1199.47,37.2667,164.223,-62.2734],[3348.96,1299.31,36.5667,159.568,-61.1215],[3292.2,1399.63,35.8333,154.682,-59.8293],[3232.34,1499.77,35.0667,149.575,-58.3752],[3169.33,1599.03,34.2667,144.261,-56.7338],[3101.76,1698.53,33.4167,138.656,-54.8353],[3028.22,1798.87,32.5,132.687,-52.5884],[2947.21,1899.93,31.5,126.309,-49.8714],[2858.58,1999.4,30.4167,119.624,-46.5733]]], - [66,2441.35,[[4346.58,-2003.97,53.4833,256.163,-77.1493],[4322.75,-1900.33,53.0667,254.238,-76.9436],[4299.69,-1801.65,52.6667,252.363,-76.7416],[4276.46,-1703.79,52.2667,250.462,-76.535],[4252.06,-1602.73,51.85,248.456,-76.3147],[4227.48,-1502.59,51.4333,246.421,-76.089],[4202.7,-1403.37,51.0167,244.358,-75.8578],[4176.73,-1301.18,50.5833,242.183,-75.6111],[4150.55,-1200.03,50.15,239.977,-75.358],[4125.19,-1103.75,49.7333,237.828,-75.1082],[4097.57,-1000.88,49.2833,235.476,-74.8311],[4070.77,-902.917,48.85,233.181,-74.5568],[4042.72,-802.346,48.4,230.765,-74.2638],[4014.46,-702.974,47.95,228.317,-73.9623],[3984.9,-601.207,47.4833,225.745,-73.6401],[3955.12,-500.768,47.0167,223.139,-73.3077],[3925.09,-401.678,46.55,220.5,-72.9648],[3893.75,-300.491,46.0667,217.731,-72.5979],[3862.16,-200.794,45.5833,214.927,-72.2184],[3830.31,-102.61,45.1,212.088,-71.8258],[3797.11,-2.65344,44.6,209.115,-71.4051],[3762.52,98.8839,44.0833,206.006,-70.9538],[3727.65,198.615,43.5667,202.86,-70.4849],[3691.36,299.641,43.0333,199.574,-69.9812],[3654.78,398.684,42.5,196.251,-69.4564],[3616.76,498.715,41.95,192.786,-68.8915],[3577.26,599.506,41.3833,189.179,-68.2828],[3537.43,697.957,40.8167,185.535,-67.6452],[3494.92,799.612,40.2167,181.639,-66.9363],[3452.06,898.564,39.6167,177.708,-66.19],[3407.64,997.408,39,173.635,-65.381],[3360.43,1098.41,38.35,169.309,-64.4785],[3311.59,1198.56,37.6833,164.843,-63.4952],[3259.88,1299.91,36.9833,160.13,-62.3942],[3206.48,1399.57,36.2667,155.287,-61.1873],[3150.1,1499.35,35.5167,150.21,-59.8291],[3090.71,1598.56,34.7333,144.913,-58.2957],[3026.97,1698.41,33.9,139.302,-56.5208],[2957.49,1799.55,33,133.296,-54.4178],[2883.46,1898.65,32.05,127.055,-51.9608],[2800.85,1998.9,31,120.33,-48.9232]]], - [67,2477.09,[[4203.62,-2003.26,53.7667,256.509,-77.6563],[4181.6,-1903.41,53.3667,254.658,-77.4669],[4158.49,-1800.25,52.95,252.703,-77.265],[4136.12,-1702.05,52.55,250.8,-77.0667],[4112.64,-1600.63,52.1333,248.789,-76.8552],[4088.98,-1500.13,51.7167,246.75,-76.6386],[4065.13,-1400.54,51.3,244.683,-76.4166],[4041.1,-1301.89,50.8833,242.588,-76.189],[4015.91,-1200.31,50.45,240.378,-75.9462],[3991.5,-1103.61,50.0333,238.225,-75.7066],[3964.93,-1000.28,49.5833,235.867,-75.4409],[3939.14,-901.877,49.15,233.565,-75.1778],[3912.15,-800.84,48.7,231.143,-74.8968],[3884.95,-700.996,48.25,228.688,-74.6076],[3857.53,-602.364,47.8,226.201,-74.3097],[3828.87,-501.378,47.3333,223.587,-73.9912],[3799.98,-401.735,46.8667,220.938,-73.6626],[3770.87,-303.453,46.4,218.256,-73.3233],[3740.48,-203.12,45.9167,215.442,-72.9601],[3708.79,-100.91,45.4167,212.493,-72.5711],[3676.85,-0.335829,44.9167,209.507,-72.1678],[3644.65,98.5788,44.4167,206.484,-71.7494],[3611.1,199.021,43.9,203.322,-71.3005],[3577.3,297.638,43.3833,200.122,-70.8335],[3542.12,397.492,42.85,196.781,-70.3315],[3505.54,498.369,42.3,193.296,-69.7911],[3468.68,597.084,41.75,189.773,-69.2263],[3429.25,699.383,41.1667,185.996,-68.5986],[3389.51,799.175,40.5833,182.179,-67.9394],[3348.29,899.166,39.9833,178.216,-67.2259],[3305.57,999.087,39.3667,174.106,-66.4523],[3261.34,1098.66,38.7333,169.85,-65.6118],[3215.57,1197.59,38.0833,165.45,-64.6964],[3167.04,1297.99,37.4,160.795,-63.6714],[3115.72,1399.24,36.6833,155.888,-62.5207],[3062.75,1498.5,35.95,150.852,-61.2548],[3005.67,1599.6,35.1667,145.467,-59.793],[2945.64,1699.51,34.35,139.863,-58.1347],[2881.37,1799.29,33.4833,133.951,-56.2063],[2811.51,1899.46,32.55,127.656,-53.9101],[2734.7,1999.83,31.5333,120.932,-51.113]]], - [68,2511.68,[[4056.28,-2001.06,54.0333,256.813,-78.1616],[4035.12,-1900.9,53.6333,254.96,-77.98],[4013.81,-1801.54,53.2333,253.081,-77.7943],[3992.32,-1702.98,52.8333,251.176,-77.6044],[3969.77,-1601.2,52.4167,249.162,-77.4019],[3947.04,-1500.31,52,247.121,-77.1945],[3924.14,-1400.35,51.5833,245.05,-76.9818],[3901.05,-1301.32,51.1667,242.951,-76.7639],[3877.79,-1203.24,50.75,240.822,-76.5404],[3853.41,-1102.25,50.3167,238.579,-76.3019],[3828.83,-1002.32,49.8833,236.303,-76.057],[3804.07,-903.452,49.45,233.997,-75.8052],[3778.15,-801.935,49,231.569,-75.5364],[3752.02,-701.607,48.55,229.108,-75.2596],[3725.69,-602.485,48.1,226.614,-74.9746],[3698.17,-500.986,47.6333,223.992,-74.6699],[3670.43,-400.824,47.1667,221.335,-74.3554],[3642.47,-302.018,46.7,218.643,-74.0307],[3613.28,-201.135,46.2167,215.818,-73.6831],[3583.86,-101.752,45.7333,212.957,-73.3234],[3553.19,-0.543328,45.2333,209.959,-72.9378],[3522.27,99.0126,44.7333,206.922,-72.5378],[3491.1,196.891,44.2333,203.849,-72.1226],[3457.6,299.418,43.7,200.53,-71.662],[3423.82,399.978,43.1667,197.17,-71.1818],[3389.77,498.543,42.6333,193.771,-70.6809],[3354.37,598.066,42.0833,190.225,-70.1413],[3317.61,698.318,41.5167,186.532,-69.5591],[3279.46,799.059,40.9333,182.689,-68.9299],[3240.99,897.265,40.35,178.807,-68.2682],[3200,998.288,39.7333,174.663,-67.5306],[3157.55,1099,39.1,170.369,-66.7289],[3113.62,1199.12,38.45,165.925,-65.8556],[3068.19,1298.34,37.7833,161.334,-64.9018],[3020.09,1398.68,37.0833,156.484,-63.8311],[2969.27,1499.53,36.35,151.379,-62.6254],[2916.85,1598.06,35.6,146.145,-61.2938],[2859.27,1699.99,34.7833,140.444,-59.7172],[2800,1798.15,33.95,134.644,-57.9555],[2734.21,1899.18,33.0333,128.314,-55.8154],[2662.99,1999.36,32.05,121.621,-53.25]]], - [69,2545.07,[[3905.49,-2001.62,54.3,257.155,-78.673],[3885.21,-1901.13,53.9,255.3,-78.4994],[3864.77,-1801.45,53.5,253.419,-78.3219],[3844.18,-1702.57,53.1,251.511,-78.1403],[3822.56,-1600.44,52.6833,249.495,-77.9467],[3801.64,-1503.24,52.2833,247.532,-77.7564],[3779.69,-1402.89,51.8667,245.459,-77.5533],[3757.56,-1303.46,51.45,243.357,-77.3451],[3734.37,-1201.06,51.0167,241.139,-77.123],[3711.9,-1103.58,50.6,238.978,-76.9038],[3688.35,-1003.22,50.1667,236.698,-76.6698],[3663.69,-900.131,49.7167,234.297,-76.42],[3639.76,-801.964,49.2833,231.954,-76.1725],[3614.72,-701.182,48.8333,229.486,-75.9081],[3589.48,-601.603,48.3833,226.985,-75.6358],[3564.05,-503.243,47.9333,224.45,-75.3553],[3537.47,-402.548,47.4667,221.786,-75.0551],[3510.68,-303.204,47,219.086,-74.7452],[3482.71,-201.757,46.5167,216.252,-74.4135],[3454.51,-101.804,46.0333,213.38,-74.0701],[3426.1,-3.36584,45.55,210.471,-73.7146],[3396.48,96.8477,45.05,207.423,-73.3332],[3365.62,198.647,44.5333,204.233,-72.9239],[3334.52,298.634,44.0167,201.003,-72.498],[3302.15,399.919,43.4833,197.626,-72.0401],[3269.52,499.216,42.95,194.209,-71.5624],[3235.61,599.502,42.4,190.643,-71.0476],[3201.42,697.61,41.85,187.036,-70.5088],[3164.88,799.248,41.2667,183.168,-69.9093],[3128.03,898.362,40.6833,179.257,-69.2786],[3089.83,997.635,40.0833,175.194,-68.595],[3049.17,1099.44,39.45,170.864,-67.8316],[3008.17,1198.13,38.8167,166.494,-67.0218],[2964.67,1298.6,38.15,161.857,-66.1145],[2919.7,1397.91,37.4667,157.07,-65.1206],[2872.15,1497.98,36.75,152.02,-64.0014],[2821.96,1598.18,36,146.712,-62.7367],[2767.96,1699.88,35.2,141.039,-61.2702],[2712.36,1798.1,34.3833,135.252,-59.6321],[2650.55,1899.68,33.4833,128.904,-57.6393],[2584.71,1999.23,32.5333,122.271,-55.2913]]], - [70,2577.23,[[3750.47,-2000.74,54.55,257.457,-79.1836],[3731.88,-1904.15,54.1667,255.678,-79.0248],[3712.34,-1804.13,53.7667,253.795,-78.8556],[3691.82,-1700.79,53.35,251.805,-78.6751],[3671.97,-1602.43,52.95,249.868,-78.4978],[3651.13,-1500.84,52.5333,247.82,-78.3087],[3630.12,-1400.16,52.1167,245.743,-78.1149],[3608.96,-1300.41,51.7,243.637,-77.9161],[3587.63,-1201.6,51.2833,241.501,-77.7124],[3566.14,-1103.74,50.8667,239.335,-77.5034],[3543.61,-1002.99,50.4333,237.051,-77.2803],[3520.91,-903.298,50,234.735,-77.051],[3497.15,-800.916,49.55,232.296,-76.8061],[3474.09,-703.44,49.1167,229.914,-76.5634],[3449.95,-603.39,48.6667,227.408,-76.304],[3424.73,-500.917,48.2,224.772,-76.0267],[3400.22,-403.36,47.75,222.195,-75.7508],[3374.6,-303.511,47.2833,219.487,-75.4556],[3347.85,-201.536,46.8,216.644,-75.1395],[3320.89,-101.049,46.3167,213.762,-74.8124],[3293.72,-2.0721,45.8333,210.842,-74.4736],[3265.4,98.7052,45.3333,207.782,-74.1102],[3236.84,197.818,44.8333,204.682,-73.7329],[3207.11,298.459,44.3167,201.437,-73.3275],[3177.14,397.269,43.8,198.152,-72.9055],[3145.95,497.317,43.2667,194.718,-72.4513],[3113.53,598.386,42.7167,191.134,-71.9618],[3080.86,697.286,42.1667,187.506,-71.4494],[3045.92,799.772,41.5833,183.614,-70.8791],[3010.7,899.743,41,179.677,-70.2791],[2974.18,999.906,40.4,175.584,-69.6286],[2936.34,1099.99,39.7833,171.334,-68.9216],[2897.15,1199.73,39.15,166.926,-68.1518],[2856.61,1298.81,38.5,162.362,-67.3112],[2813.65,1399.35,37.8167,157.525,-66.367],[2769.26,1498.43,37.1167,152.536,-65.329],[2722.38,1597.91,36.3833,147.28,-64.1563],[2671.88,1699.23,35.6,141.645,-62.7957],[2618.77,1799.33,34.7833,135.762,-61.2436],[2561.92,1899.31,33.9167,129.531,-59.4267],[2500.15,1999.65,32.9833,122.865,-57.2453]]], - [71,2608.1,[[3592.09,-2002.75,54.8,257.797,-79.7002],[3573.58,-1901.67,54.4,255.938,-79.5426],[3554.93,-1801.37,54,254.053,-79.3813],[3536.14,-1701.88,53.6,252.14,-79.2164],[3517.2,-1603.19,53.2,250.2,-79.0477],[3497.31,-1501.27,52.7833,248.15,-78.8677],[3477.28,-1400.26,52.3667,246.071,-78.6833],[3457.08,-1300.17,51.95,243.961,-78.4942],[3436.73,-1201.01,51.5333,241.821,-78.3004],[3416.22,-1102.81,51.1167,239.651,-78.1015],[3394.73,-1001.69,50.6833,237.363,-77.8891],[3373.07,-901.635,50.25,235.042,-77.6709],[3351.24,-802.651,49.8167,232.688,-77.4466],[3328.4,-701.013,49.3667,230.209,-77.2069],[3305.37,-600.567,48.9167,227.695,-76.9601],[3282.17,-501.332,48.4667,225.147,-76.7057],[3258.79,-403.326,48.0167,222.563,-76.4434],[3234.35,-303.007,47.55,219.847,-76.1627],[3208.84,-200.539,47.0667,216.995,-75.8622],[3184.02,-103.012,46.6,214.204,-75.562],[3157.21,-0.0742691,46.1,211.173,-75.2289],[3131.09,97.8786,45.6167,208.204,-74.8951],[3103.86,197.578,45.1167,205.092,-74.5367],[3075.5,298.832,44.6,201.834,-74.1516],[3046.91,398.262,44.0833,198.533,-73.7507],[3017.17,498.956,43.55,195.083,-73.3191],[2987.19,597.646,43.0167,191.589,-72.8683],[2956.03,697.291,42.4667,187.942,-72.382],[2923.67,797.66,41.9,184.14,-71.8565],[2890.09,898.511,41.3167,180.179,-71.2878],[2855.27,999.589,40.7167,176.059,-70.6709],[2820.17,1097.94,40.1167,171.894,-70.0191],[2782.82,1198.74,39.4833,167.452,-69.2899],[2744.17,1298.93,38.8333,162.848,-68.4935],[2704.21,1398.21,38.1667,158.084,-67.6212],[2661.91,1498.6,37.4667,153.043,-66.6386],[2617.22,1599.47,36.7333,147.725,-65.5279],[2571.14,1698.01,35.9833,142.258,-64.2955],[2520.54,1799.93,35.1667,136.286,-62.8287],[2467.41,1899.94,34.3167,130.068,-61.1443],[2410.68,1999,33.4167,123.508,-59.1593]]], - [72,2637.66,[[3429.67,-2003.41,55.0333,258.097,-80.2165],[3412.06,-1902.05,54.6333,256.237,-80.0668],[3394.31,-1801.47,54.2333,254.35,-79.9138],[3376.43,-1701.68,53.8333,252.435,-79.7573],[3358.41,-1602.71,53.4333,250.493,-79.5971],[3339.49,-1500.48,53.0167,248.44,-79.4262],[3321.19,-1403.19,52.6167,246.441,-79.2582],[3301.98,-1302.75,52.2,244.329,-79.0789],[3282.62,-1203.24,51.7833,242.187,-78.8951],[3262.33,-1100.75,51.35,239.927,-78.6988],[3242.67,-1003.18,50.9333,237.722,-78.505],[3222.06,-902.743,50.5,235.397,-78.2981],[3201.29,-803.375,50.0667,233.039,-78.0853],[3179.56,-701.333,49.6167,230.555,-77.858],[3157.66,-600.479,49.1667,228.036,-77.6238],[3135.58,-500.832,48.7167,225.481,-77.3826],[3113.33,-402.408,48.2667,222.89,-77.1338],[3090.08,-301.652,47.8,220.166,-76.8675],[3066.65,-202.252,47.3333,217.405,-76.5924],[3042.19,-100.754,46.85,214.505,-76.2977],[3017.54,-0.754358,46.3667,211.565,-75.9924],[2992.7,97.723,45.8833,208.586,-75.676],[2966.8,197.971,45.3833,205.462,-75.3363],[2939.82,299.797,44.8667,202.191,-74.9714],[2912.63,399.805,44.35,198.877,-74.5914],[2885.22,497.967,43.8333,195.519,-74.1953],[2856.72,597.329,43.3,192.009,-73.7685],[2827.08,697.675,42.75,188.344,-73.308],[2796.31,798.773,42.1833,184.52,-72.8104],[2765.29,897.514,41.6167,180.65,-72.2874],[2732.18,999.455,41.0167,176.504,-71.7039],[2698.8,1098.67,40.4167,172.31,-71.0872],[2664.23,1197.77,39.8,167.953,-70.4158],[2627.49,1299.01,39.15,163.313,-69.6631],[2589.5,1399.37,38.4833,158.507,-68.8384],[2550.24,1498.55,37.8,153.537,-67.9319],[2508.74,1598.46,37.0833,148.284,-66.9074],[2464.94,1698.48,36.3333,142.751,-65.7446],[2417.83,1799.95,35.5333,136.821,-64.389],[2368.34,1899.85,34.7,130.628,-62.8328],[2315.43,1999.18,33.8167,124.07,-60.998]]], - [73,2665.87,[[3263.3,-2002.77,55.25,258.359,-80.733],[3246.59,-1901.15,54.85,256.497,-80.5913],[3229.76,-1800.3,54.45,254.608,-80.4464],[3212.79,-1700.25,54.05,252.691,-80.2983],[3195.7,-1601.01,53.65,250.746,-80.1466],[3178.47,-1502.59,53.25,248.773,-79.9914],[3160.39,-1400.94,52.8333,246.688,-79.8258],[3142.16,-1300.21,52.4167,244.572,-79.656],[3123.8,-1200.41,52,242.426,-79.4819],[3105.29,-1101.55,51.5833,240.249,-79.3033],[3086.64,-1003.65,51.1667,238.041,-79.1201],[3067.1,-902.861,50.7333,235.712,-78.9243],[3047.41,-803.137,50.3,233.349,-78.7231],[3026.79,-700.722,49.85,230.86,-78.508],[3006.79,-603.219,49.4167,228.429,-78.2949],[2985.86,-503.145,48.9667,225.869,-78.0668],[2963.98,-400.653,48.5,223.176,-77.8229],[2942.72,-303.083,48.05,220.543,-77.5802],[2920.5,-203.226,47.5833,217.774,-77.3202],[2897.31,-101.25,47.1,214.866,-77.0416],[2873.93,-0.767592,46.6167,211.918,-76.7531],[2850.37,98.1978,46.1333,208.928,-76.454],[2825.81,198.956,45.6333,205.794,-76.133],[2801.06,298.041,45.1333,202.617,-75.7994],[2775.28,398.646,44.6167,199.29,-75.4406],[2749.3,497.411,44.1,195.918,-75.0666],[2722.27,597.403,43.5667,192.393,-74.6636],[2694.17,698.404,43.0167,188.71,-74.2287],[2665.85,797.225,42.4667,184.98,-73.7729],[2635.58,899.616,41.8833,180.974,-73.2647],[2605.06,999.479,41.3,176.919,-72.729],[2573.43,1099.52,40.7,172.699,-72.1471],[2540.65,1199.46,40.0833,168.311,-71.5134],[2506.72,1299.03,39.45,163.755,-70.8216],[2471.61,1397.94,38.8,159.032,-70.0641],[2434.41,1498.26,38.1167,154.017,-69.2106],[2395.08,1599.41,37.4,148.712,-68.2455],[2354.49,1698.52,36.6667,143.242,-67.1749],[2310.79,1799.41,35.8833,137.362,-65.9266],[2264.84,1899.04,35.0667,131.206,-64.4938],[2215.67,1998.47,34.2,124.664,-62.8044]]], - [74,2692.69,[[3093.11,-2000.85,55.45,258.583,-81.2504],[3077.98,-1903.22,55.0667,256.797,-81.1223],[3062.07,-1802.1,54.6667,254.906,-80.9857],[3046.04,-1701.78,54.2667,252.988,-80.846],[3029.88,-1602.26,53.8667,251.041,-80.703],[3013.6,-1503.56,53.4667,249.066,-80.5566],[2996.5,-1401.62,53.05,246.979,-80.4005],[2979.28,-1300.59,52.6333,244.861,-80.2404],[2961.92,-1200.49,52.2167,242.711,-80.0762],[2944.43,-1101.32,51.8,240.531,-79.9078],[2926.8,-1003.11,51.3833,238.319,-79.735],[2908.33,-902.001,50.95,235.986,-79.5504],[2889.71,-801.95,50.5167,233.618,-79.3606],[2870.95,-702.976,50.0833,231.217,-79.1654],[2851.32,-601.355,49.6333,228.687,-78.9568],[2831.54,-500.931,49.1833,226.121,-78.7417],[2811.6,-401.723,48.7333,223.518,-78.52],[2790.76,-300.144,48.2667,220.78,-78.2827],[2770.51,-203.47,47.8167,218.103,-78.0464],[2748.59,-101.051,47.3333,215.188,-77.7839],[2726.5,-0.121441,46.85,212.23,-77.5121],[2704.24,99.2958,46.3667,209.231,-77.2303],[2681.8,197.178,45.8833,206.191,-76.938],[2658.41,296.797,45.3833,203.004,-76.624],[2634.06,397.958,44.8667,199.665,-76.2863],[2609.51,497.286,44.35,196.281,-75.9343],[2583.97,597.864,43.8167,192.741,-75.5549],[2557.42,699.477,43.2667,189.041,-75.1454],[2530.66,798.915,42.7167,185.293,-74.7162],[2502.88,899.058,42.15,181.381,-74.2516],[2474.05,999.661,41.5667,177.304,-73.7478],[2445,1097.71,40.9833,173.177,-73.2161],[2414.04,1198.53,40.3667,168.762,-72.6208],[2381.99,1299.01,39.7333,164.175,-71.9707],[2348.83,1398.86,39.0833,159.415,-71.2587],[2314.55,1497.76,38.4167,154.482,-70.4765],[2278.27,1597.74,37.7167,149.253,-69.5922],[2239.95,1698.15,36.9833,143.728,-68.5884],[2199.56,1798.32,36.2167,137.908,-67.4433],[2156.18,1899.55,35.4,131.671,-66.1007],[2110.65,1998.81,34.55,125.158,-64.5481]]], - [75,2718.08,[[2919.9,-2001.96,55.65,258.846,-81.7744],[2905.66,-1904.09,55.2667,257.059,-81.654],[2890.68,-1802.73,54.8667,255.167,-81.5257],[2875.58,-1702.16,54.4667,253.247,-81.3943],[2860.37,-1602.39,54.0667,251.298,-81.26],[2845.04,-1503.43,53.6667,249.321,-81.1225],[2828.94,-1401.22,53.25,247.231,-80.9758],[2813.38,-1303.95,52.85,245.195,-80.8314],[2797.04,-1203.54,52.4333,243.044,-80.6773],[2779.91,-1100.1,52,240.773,-80.5128],[2763.31,-1001.61,51.5833,238.558,-80.3505],[2745.92,-900.2,51.15,236.22,-80.177],[2729.07,-803.69,50.7333,233.94,-80.0056],[2710.73,-700.575,50.2833,231.441,-79.8152],[2692.93,-602.391,49.85,229.001,-79.6265],[2674.31,-501.603,49.4,226.429,-79.4246],[2655.54,-402.028,48.95,223.821,-79.2165],[2635.92,-300.064,48.4833,221.077,-78.9937],[2616.86,-203.013,48.0333,218.393,-78.7718],[2596.22,-100.187,47.55,215.47,-78.5254],[2576.15,-2.31504,47.0833,212.607,-78.2791],[2555.19,97.5708,46.6,209.6,-78.0148],[2533.35,199.291,46.1,206.446,-77.7311],[2511.33,299.348,45.6,203.247,-77.4362],[2489.14,397.719,45.1,200.004,-77.1294],[2466.04,497.568,44.5833,196.607,-76.7992],[2442,598.692,44.05,193.053,-76.4433],[2417.77,697.807,43.5167,189.451,-76.0711],[2392.6,797.884,42.9667,185.686,-75.6689],[2366.45,898.693,42.4,181.757,-75.2335],[2339.32,999.988,41.8167,177.659,-74.7614],[2311.98,1098.73,41.2333,173.508,-74.2629],[2283.64,1197.6,40.6333,169.187,-73.7203],[2253.48,1298.94,40,164.571,-73.1117],[2222.28,1399.67,39.35,159.778,-72.4449],[2190.03,1499.5,38.6833,154.807,-71.7122],[2156.71,1598.09,38,149.659,-70.9039],[2120.66,1699.63,37.2667,144.081,-69.9644],[2083.49,1798.85,36.5167,138.327,-68.9164],[2043.52,1899.44,35.7167,132.145,-67.6875],[2001.54,1998.38,34.8833,125.672,-66.267]]], - [76,2742.01,[[2743.1,-2001.88,55.8333,259.072,-82.2996],[2729.75,-1903.8,55.45,257.283,-82.1871],[2715.7,-1802.22,55.05,255.389,-82.0669],[2701.55,-1701.42,54.65,253.467,-81.9441],[2687.29,-1601.42,54.25,251.516,-81.8183],[2672.92,-1502.22,53.85,249.537,-81.6896],[2658.44,-1403.85,53.45,247.528,-81.5579],[2643.25,-1302.27,53.0333,245.405,-81.4173],[2627.93,-1201.61,52.6167,243.251,-81.2731],[2612.49,-1101.88,52.2,241.064,-81.1252],[2596.94,-1003.09,51.7833,238.846,-80.9733],[2580.64,-901.375,51.35,236.505,-80.8112],[2564.22,-800.715,50.9167,234.13,-80.6444],[2547.66,-701.126,50.4833,231.719,-80.473],[2530.98,-602.625,50.05,229.274,-80.2965],[2513.53,-501.504,49.6,226.698,-80.1078],[2495.94,-401.591,49.15,224.084,-79.9132],[2478.21,-302.906,48.7,221.433,-79.7124],[2459.69,-201.881,48.2333,218.644,-79.4974],[2441.02,-102.215,47.7667,215.814,-79.275],[2421.53,-0.445871,47.2833,212.841,-79.0366],[2401.9,99.8204,46.8,209.826,-78.7895],[2382.11,198.561,46.3167,206.767,-78.5332],[2361.48,299.075,45.8167,203.559,-78.2577],[2340.69,397.908,45.3167,200.306,-77.9712],[2319.04,498.239,44.8,196.897,-77.6627],[2296.51,599.866,44.2667,193.33,-77.3301],[2273.81,699.489,43.7333,189.713,-76.9823],[2250.94,797.079,43.2,186.047,-76.6181],[2226.44,898.507,42.6333,182.1,-76.2118],[2201.76,997.57,42.0667,178.101,-75.784],[2175.41,1099.84,41.4667,173.811,-75.3058],[2148.86,1199.38,40.8667,169.465,-74.7991],[2121.35,1298.8,40.25,164.943,-74.2461],[2092.88,1397.8,39.6167,160.243,-73.6408],[2062.67,1498.58,38.95,155.238,-72.9584],[2031.46,1598.15,38.2667,150.05,-72.2055],[1998.47,1698.48,37.55,144.552,-71.3507],[1963.66,1798.91,36.8,138.744,-70.3755],[1927.02,1898.73,36.0167,132.626,-69.2562],[1887.71,1999.16,35.1833,126.073,-67.9352]]], - [77,2764.45,[[2562.88,-2000.6,56,259.26,-82.8267],[2550.42,-1902.33,55.6167,257.47,-82.7218],[2537.33,-1800.54,55.2167,255.574,-82.61],[2524.68,-1703.73,54.8333,253.731,-82.5004],[2511.39,-1603.49,54.4333,251.779,-82.3834],[2497.99,-1504.06,54.0333,249.798,-82.2637],[2483.93,-1401.35,53.6167,247.703,-82.136],[2470.32,-1303.6,53.2167,245.663,-82.0103],[2456.04,-1202.68,52.8,243.506,-81.8761],[2441.65,-1102.68,52.3833,241.317,-81.7385],[2427.15,-1003.64,51.9667,239.096,-81.5973],[2411.95,-901.64,51.5333,236.752,-81.4464],[2396.63,-800.698,51.1,234.372,-81.2912],[2381.2,-700.824,50.6667,231.958,-81.1317],[2365.65,-602.034,50.2333,229.508,-80.9675],[2349.37,-500.611,49.7833,226.927,-80.7918],[2332.97,-400.393,49.3333,224.308,-80.6108],[2316.44,-301.399,48.8833,221.651,-80.4239],[2299.17,-200.051,48.4167,218.855,-80.2238],[2281.76,-100.059,47.95,216.018,-80.0169],[2264.22,-1.44371,47.4833,213.141,-79.8028],[2245.92,99.2197,47,210.118,-79.5731],[2227.47,198.361,46.5167,207.052,-79.3348],[2208.24,299.295,46.0167,203.834,-79.0787],[2188.86,398.551,45.5167,200.571,-78.8123],[2168.67,499.325,45,197.151,-78.5254],[2148.33,598.252,44.4833,193.683,-78.2261],[2127.18,698.404,43.95,190.054,-77.9031],[2105.19,799.562,43.4,186.259,-77.554],[2083.03,898.529,42.85,182.412,-77.1874],[2060.02,998.171,42.2833,178.394,-76.79],[2036.15,1098.24,41.7,174.204,-76.3584],[2011.4,1198.48,41.1,169.837,-75.8884],[1985.77,1298.63,40.4833,165.291,-75.3752],[1959.23,1398.39,39.85,160.562,-74.8134],[1931.08,1499.97,39.1833,155.524,-74.1799],[1902.71,1597.97,38.5167,150.427,-73.4984],[1871.97,1699.28,37.8,144.886,-72.7057],[1840.26,1798.54,37.0667,139.156,-71.8219],[1806.12,1899.56,36.2833,132.978,-70.7851],[1770.23,1999.31,35.4667,126.484,-69.5862]]], - [78,2785.37,[[2379.9,-2002.46,56.1667,259.49,-83.3603],[2368.35,-1903.99,55.7833,257.698,-83.2632],[2356.22,-1801.99,55.3833,255.802,-83.1598],[2343.98,-1700.78,54.9833,253.876,-83.0539],[2331.66,-1600.36,54.5833,251.921,-82.9456],[2319.24,-1500.74,54.1833,249.938,-82.8347],[2306.72,-1401.94,53.7833,247.924,-82.7212],[2294.11,-1303.97,53.3833,245.882,-82.6049],[2280.88,-1202.81,52.9667,243.723,-82.4808],[2267.54,-1102.58,52.55,241.531,-82.3534],[2254.1,-1003.29,52.1333,239.307,-82.2228],[2240.01,-901.042,51.7,236.959,-82.0832],[2226.36,-803.718,51.2833,234.669,-81.9452],[2212.06,-703.546,50.85,232.252,-81.7978],[2197.1,-600.667,50.4,229.704,-81.6401],[2182.57,-502.717,49.9667,227.215,-81.4837],[2167.37,-402.179,49.5167,224.591,-81.3163],[2152.06,-302.862,49.0667,221.93,-81.1436],[2136.05,-201.176,48.6,219.129,-80.9587],[2119.92,-100.842,48.1333,216.286,-80.7674],[2103.67,-1.88122,47.6667,213.403,-80.5695],[2086.71,99.1438,47.1833,210.373,-80.3571],[2069.61,198.651,46.7,207.299,-80.1368],[2051.79,299.967,46.2,204.073,-79.9],[2033.83,399.608,45.7,200.8,-79.6537],[2015.73,497.55,45.2,197.481,-79.3973],[1996.89,596.943,44.6833,194.002,-79.1208],[1977.28,697.582,44.15,190.361,-78.8225],[1956.91,799.246,43.6,186.553,-78.5001],[1936.38,898.726,43.05,182.691,-78.1616],[1915.06,998.9,42.4833,178.658,-77.7945],[1892.94,1099.53,41.9,174.448,-77.3957],[1870.65,1197.58,41.3167,170.183,-76.9738],[1846.91,1298.4,40.7,165.614,-76.5003],[1822.33,1398.86,40.0667,160.86,-75.9819],[1796.9,1498.67,39.4167,155.918,-75.4122],[1769.96,1599.94,38.7333,150.659,-74.7678],[1742.15,1699.74,38.0333,145.208,-74.0533],[1712.78,1799.95,37.3,139.432,-73.2381],[1681.83,1899.88,36.5333,133.332,-72.3026],[1649.28,1998.81,35.7333,126.906,-71.2215]]], - [79,2804.74,[[2193.76,-2003.21,56.3167,259.683,-83.8958],[2182.67,-1900.29,55.9167,257.812,-83.8027],[2171.96,-1802.38,55.5333,255.993,-83.7116],[2160.7,-1700.98,55.1333,254.066,-83.6143],[2149.36,-1600.36,54.7333,252.109,-83.5147],[2137.93,-1500.55,54.3333,250.124,-83.4128],[2126.41,-1401.55,53.9333,248.109,-83.3085],[2114.8,-1303.38,53.5333,246.064,-83.2017],[2102.62,-1202.02,53.1167,243.902,-83.0876],[2090.35,-1101.58,52.7,241.708,-82.9706],[2077.98,-1002.08,52.2833,239.481,-82.8505],[2065.51,-903.529,51.8667,237.221,-82.7272],[2052.45,-802.066,51.4333,234.835,-82.5954],[2039.29,-701.666,51,232.414,-82.4598],[2026.02,-602.346,50.5667,229.957,-82.3203],[2012.14,-500.365,50.1167,227.367,-82.1711],[1998.67,-403.295,49.6833,224.837,-82.0231],[1984.06,-300.021,49.2167,222.072,-81.8585],[1969.85,-201.695,48.7667,219.365,-81.6947],[1955.01,-101.052,48.3,216.517,-81.5191],[1940.05,-1.77947,47.8333,213.628,-81.3373],[1924.44,99.572,47.35,210.591,-81.1423],[1908.71,199.409,46.8667,207.51,-80.94],[1892.86,297.707,46.3833,204.384,-80.73],[1876.34,397.753,45.8833,201.103,-80.504],[1859.13,499.352,45.3667,197.664,-80.2608],[1841.79,599.112,44.85,194.175,-80.0069],[1824.32,697.006,44.3333,190.636,-79.7416],[1805.57,799.134,43.7833,186.816,-79.4459],[1786.68,899.082,43.2333,182.94,-79.1352],[1767.07,999.744,42.6667,178.891,-78.7984],[1747.3,1098.02,42.1,174.786,-78.4432],[1726.21,1199.44,41.5,170.379,-78.0452],[1704.96,1298.1,40.9,165.913,-77.6227],[1682.35,1399.22,40.2667,161.135,-77.1474],[1658.96,1499.7,39.6167,156.167,-76.6251],[1634.78,1599.24,38.95,151.005,-76.049],[1609.2,1699.87,38.25,145.518,-75.3948],[1582.8,1798.71,37.5333,139.834,-74.6658],[1554.34,1899.68,36.7667,133.684,-73.8102],[1524.4,1999.7,35.9667,127.2,-72.8209]]], - [80,2822.52,[[2004.63,-2002.87,56.45,259.841,-84.4338],[1994.94,-1904.07,56.0667,258.047,-84.3525],[1984.74,-1801.72,55.6667,256.148,-84.2659],[1974.47,-1700.15,55.2667,254.219,-84.1772],[1964.55,-1603.55,54.8833,252.343,-84.0903],[1954.12,-1503.54,54.4833,250.357,-83.9975],[1943.17,-1400.22,54.0667,248.256,-83.8985],[1932.57,-1301.88,53.6667,246.209,-83.8011],[1921.45,-1200.33,53.25,244.044,-83.6971],[1910.7,-1103.71,52.85,241.935,-83.5947],[1898.96,-1000.02,52.4167,239.617,-83.4809],[1887.58,-901.28,52,237.353,-83.3684],[1876.12,-803.51,51.5833,235.057,-83.253],[1864.11,-702.871,51.15,232.633,-83.1295],[1852.01,-603.307,50.7167,230.173,-83.0025],[1839.34,-501.072,50.2667,227.58,-82.8666],[1826.57,-400.033,49.8167,224.947,-82.7265],[1813.71,-300.209,49.3667,222.276,-82.5819],[1800.75,-201.62,48.9167,219.564,-82.4327],[1787.21,-100.701,48.45,216.711,-82.2726],[1773.56,-1.15036,47.9833,213.816,-82.1071],[1759.81,97.0125,47.5167,210.878,-81.9357],[1745.45,197.196,47.0333,207.791,-81.7517],[1730.49,299.219,46.5333,204.551,-81.5538],[1715.41,399.575,46.0333,201.262,-81.348],[1700.22,498.238,45.5333,197.925,-81.1336],[1684.4,598.385,45.0167,194.427,-80.9026],[1667.94,699.808,44.4833,190.763,-80.6532],[1651.36,799.217,43.95,187.046,-80.392],[1634.12,899.589,43.4,183.158,-80.1093],[1616.76,997.753,42.85,179.215,-79.812],[1598.19,1099.42,42.2667,174.974,-79.4793],[1579.49,1198.52,41.6833,170.673,-79.1273],[1560.1,1297.74,41.0833,166.188,-78.7432],[1539.47,1399.45,40.45,161.389,-78.311],[1518.69,1497.99,39.8167,156.524,-77.8486],[1496.64,1598.26,39.15,151.336,-77.3255],[1473.31,1699.67,38.45,145.817,-76.7314],[1449.23,1799.3,37.7333,140.096,-76.0691],[1423.84,1898.97,36.9833,134.037,-75.3092],[1397.11,1997.97,36.2,127.636,-74.4312]]], - [81,2838.7,[[1812.73,-2001.45,56.5667,259.964,-84.9747],[1803.97,-1902.51,56.1833,258.168,-84.9014],[1794.76,-1800.02,55.7833,256.267,-84.8231],[1785.86,-1702.53,55.4,254.417,-84.7464],[1776.51,-1601.57,55,252.459,-84.6646],[1767.09,-1501.41,54.6,250.47,-84.5808],[1757.59,-1402.06,54.2,248.452,-84.495],[1748.02,-1303.53,53.8,246.403,-84.4072],[1737.98,-1201.79,53.3833,244.237,-84.3134],[1727.86,-1100.97,52.9667,242.038,-84.2172],[1717.66,-1001.08,52.55,239.806,-84.1184],[1707.38,-902.15,52.1333,237.54,-84.017],[1696.61,-800.28,51.7,235.149,-83.9087],[1686.18,-703.327,51.2833,232.815,-83.8016],[1675.25,-603.55,50.85,230.352,-83.687],[1663.81,-501.09,50.4,227.755,-83.5645],[1652.71,-403.553,49.9667,225.217,-83.4428],[1641.09,-303.455,49.5167,222.543,-83.3126],[1628.95,-200.95,49.05,219.727,-83.173],[1617.16,-103.379,48.6,216.972,-83.034],[1604.83,-3.53371,48.1333,214.073,-82.8848],[1591.97,98.417,47.65,211.025,-82.7248],[1579,198.859,47.1667,207.931,-82.5587],[1565.94,297.769,46.6833,204.792,-82.3863],[1552.32,398.454,46.1833,201.496,-82.2009],[1538.6,497.45,45.6833,198.152,-82.0078],[1524.31,597.943,45.1667,194.646,-81.7996],[1509.45,699.729,44.6333,190.973,-81.5748],[1494.47,799.502,44.1,187.246,-81.3395],[1479.38,897.234,43.5667,183.466,-81.0926],[1463.22,998.803,43,179.391,-80.8167],[1446.93,1098,42.4333,175.257,-80.5256],[1430.04,1197.59,41.85,170.942,-80.2087],[1412.53,1297.32,41.25,166.44,-79.8629],[1393.91,1399.56,40.6167,161.621,-79.4739],[1375.14,1498.66,39.9833,156.735,-79.0575],[1355.23,1599.51,39.3167,151.521,-78.5863],[1334.66,1699.15,38.6333,146.105,-78.0643],[1312.92,1799.52,37.9167,140.35,-77.4686],[1290,1899.97,37.1667,134.251,-76.7848],[1265.86,1999.79,36.3833,127.803,-75.9944]]], - [82,2853.25,[[1618.6,-2003.29,56.6833,260.129,-85.5215],[1610.79,-1904.21,56.3,258.333,-85.4562],[1602.57,-1801.57,55.9,256.431,-85.3864],[1594.64,-1703.93,55.5167,254.581,-85.3181],[1586.29,-1602.81,55.1167,252.621,-85.2452],[1577.89,-1502.5,54.7167,250.631,-85.1706],[1569.42,-1402.99,54.3167,248.611,-85.0942],[1560.52,-1300.21,53.9,246.475,-85.0126],[1551.92,-1202.4,53.5,244.394,-84.9324],[1542.9,-1101.41,53.0833,242.193,-84.8466],[1533.8,-1001.35,52.6667,239.959,-84.7587],[1524.63,-902.247,52.25,237.691,-84.6684],[1515.02,-800.197,51.8167,235.297,-84.5718],[1505.72,-703.067,51.4,232.96,-84.4764],[1495.96,-603.105,50.9667,230.494,-84.3743],[1485.76,-500.451,50.5167,227.894,-84.2651],[1475.85,-402.725,50.0833,225.353,-84.1568],[1465.49,-302.429,49.6333,222.674,-84.0407],[1455.05,-203.362,49.1833,219.956,-83.9208],[1444.14,-101.943,48.7167,217.094,-83.7925],[1433.14,-1.88683,48.25,214.19,-83.6596],[1422.07,96.7868,47.7833,211.242,-83.522],[1410.5,197.505,47.3,208.143,-83.3742],[1398.85,296.693,46.8167,204.999,-83.2207],[1386.71,397.669,46.3167,201.697,-83.0557],[1374.47,496.959,45.8167,198.347,-82.8838],[1361.73,597.759,45.3,194.833,-82.6984],[1348.47,699.865,44.7667,191.151,-82.4984],[1335.11,799.962,44.2333,187.415,-82.2888],[1321.65,898.02,43.7,183.624,-82.069],[1307.24,999.939,43.1333,179.538,-81.8233],[1292.72,1099.49,42.5667,175.391,-81.5641],[1277.65,1199.44,41.9833,171.061,-81.282],[1262.03,1299.56,41.3833,166.543,-80.974],[1245.86,1399.55,40.7667,161.832,-80.6367],[1229.12,1499.13,40.1333,156.926,-80.2664],[1211.81,1598.02,39.4833,151.821,-79.8581],[1193.48,1698.29,38.8,146.381,-79.3944],[1174.1,1799.34,38.0833,140.597,-78.8652],[1154.11,1898.3,37.35,134.6,-78.2718],[1132.59,1998.98,36.5667,128.112,-77.5706]]], - [83,2866.14,[[1422.04,-2004.11,56.7833,260.26,-86.0711],[1414.88,-1900.61,56.3833,258.385,-86.0113],[1407.97,-1802.14,56,256.56,-85.9527],[1400.69,-1700.14,55.6,254.628,-85.89],[1393.67,-1603.13,55.2167,252.748,-85.8287],[1386.29,-1502.69,54.8167,250.757,-85.7633],[1378.86,-1403.05,54.4167,248.736,-85.6963],[1371.05,-1300.13,54,246.599,-85.6247],[1363.5,-1202.18,53.6,244.515,-85.5543],[1355.57,-1101.05,53.1833,242.313,-85.4791],[1347.58,-1000.85,52.7667,240.076,-85.402],[1339.54,-901.592,52.35,237.806,-85.3227],[1331.43,-803.3,51.9333,235.502,-85.2414],[1322.93,-702.11,51.5,233.07,-85.1544],[1314.37,-601.992,51.0667,230.601,-85.0648],[1305.74,-502.961,50.6333,228.095,-84.9727],[1296.71,-401.289,50.1833,225.453,-84.874],[1287.61,-300.826,49.7333,222.771,-84.7722],[1278.44,-201.59,49.2833,220.048,-84.6671],[1269.21,-103.6,48.8333,217.285,-84.5585],[1259.56,-3.31601,48.3667,214.377,-84.442],[1249.48,99.0937,47.8833,211.319,-84.3171],[1239.33,199.999,47.4,208.215,-84.1875],[1229.1,299.378,46.9167,205.064,-84.0528],[1218.8,397.206,46.4333,201.866,-83.9129],[1208.05,496.752,45.9333,198.509,-83.7622],[1196.87,597.82,45.4167,194.989,-83.5998],[1185.6,697.035,44.9,191.416,-83.4301],[1173.87,797.477,44.3667,187.673,-83.2467],[1161.69,898.926,43.8167,183.755,-83.0482],[1149.41,998.177,43.2667,179.779,-82.8393],[1136.66,1098.1,42.7,175.622,-82.6124],[1123.44,1198.45,42.1167,171.281,-82.3654],[1109.74,1298.97,41.5167,166.749,-82.0958],[1095.54,1399.39,40.9,162.024,-81.8005],[1080.85,1499.42,40.2667,157.101,-81.4762],[1065.66,1598.76,39.6167,151.976,-81.1187],[1049.57,1699.51,38.9333,146.512,-80.7125],[1032.95,1798.76,38.2333,140.836,-80.26],[1015.41,1898.35,37.5,134.81,-79.7409],[996.534,1999.71,36.7167,128.285,-79.1275]]], - [84,2877.36,[[1223.28,-2003.92,56.8667,260.357,-86.6235],[1217.12,-1900.31,56.4667,258.481,-86.5721],[1211.17,-1801.74,56.0833,256.655,-86.5217],[1205.18,-1703.88,55.7,254.803,-86.4702],[1198.88,-1602.53,55.3,252.841,-86.4153],[1192.54,-1501.98,54.9,250.848,-86.3591],[1186.14,-1402.23,54.5,248.826,-86.3015],[1179.7,-1303.3,54.1,246.773,-86.2425],[1172.94,-1201.13,53.6833,244.602,-86.1795],[1166.39,-1103.92,53.2833,242.486,-86.1175],[1159.53,-1003.56,52.8667,240.249,-86.0513],[1152.33,-900.196,52.4333,237.886,-85.9805],[1145.36,-801.784,52.0167,235.58,-85.9106],[1138.05,-700.468,51.5833,233.145,-85.8358],[1130.69,-600.222,51.15,230.673,-85.7589],[1123.27,-501.062,50.7167,228.164,-85.6796],[1115.79,-403.005,50.2833,225.617,-85.598],[1107.97,-302.361,49.8333,222.932,-85.5106],[1100.09,-202.942,49.3833,220.207,-85.4204],[1091.85,-101.155,48.9167,217.338,-85.3237],[1083.55,-0.726958,48.45,214.426,-85.2236],[1075.19,98.3223,47.9833,211.469,-85.12],[1066.46,199.433,47.5,208.36,-85.0087],[1057.67,299.018,47.0167,205.205,-84.893],[1048.81,397.056,46.5333,202.003,-84.7729],[1039.57,496.82,46.0333,198.64,-84.6436],[1029.96,598.116,45.5167,195.114,-84.5041],[1020.27,697.561,45,191.534,-84.3584],[1010.19,798.243,44.4667,187.784,-84.2009],[999.713,899.942,43.9167,183.857,-84.0304],[989.157,999.445,43.3667,179.872,-83.8511],[978.198,1099.63,42.8,175.705,-83.6562],[967.157,1197.42,42.2333,171.477,-83.4502],[955.377,1298.3,41.6333,166.934,-83.219],[943.176,1399.09,41.0167,162.196,-82.9658],[930.549,1499.5,40.3833,157.258,-82.6876],[917.49,1599.24,39.7333,152.116,-82.3808],[903.994,1698,39.0667,146.767,-82.0411],[889.715,1797.78,38.3667,141.07,-81.6536],[874.641,1897.94,37.6333,135.017,-81.2089],[858.415,1999.91,36.85,128.461,-80.6831]]], - [85,2886.89,[[1022.57,-2002.71,56.9333,260.42,-87.179],[1017.63,-1903.34,56.55,258.622,-87.1377],[1012.45,-1800.38,56.15,256.716,-87.0939],[1007.44,-1702.44,55.7667,254.863,-87.0509],[1002.18,-1601.01,55.3667,252.899,-87.005],[996.874,-1500.37,54.9667,250.905,-86.958],[991.528,-1400.54,54.5667,248.881,-86.91],[986.143,-1301.53,54.1667,246.827,-86.8606],[980.716,-1203.34,53.7667,244.741,-86.8101],[975.021,-1101.97,53.35,242.536,-86.7562],[969.281,-1001.52,52.9333,240.297,-86.7009],[963.499,-902.02,52.5167,238.023,-86.6441],[957.672,-803.476,52.1,235.716,-86.5857],[951.566,-702.022,51.6667,233.28,-86.5233],[945.413,-601.636,51.2333,230.806,-86.4591],[939.214,-502.335,50.8,228.295,-86.3929],[932.726,-400.38,50.35,225.648,-86.3222],[926.432,-303.341,49.9167,223.06,-86.2519],[919.601,-200.107,49.45,220.231,-86.1738],[912.964,-101.825,49,217.461,-86.0958],[906.029,-1.23658,48.5333,214.546,-86.0123],[899.041,97.9747,48.0667,211.586,-85.9258],[891.748,199.255,47.5833,208.474,-85.8329],[884.399,299.011,47.1,205.315,-85.7364],[876.994,397.222,46.6167,202.108,-85.6361],[869.277,497.167,46.1167,198.741,-85.5282],[861.241,598.651,45.6,195.209,-85.4117],[853.143,698.287,45.0833,191.624,-85.2901],[844.72,799.167,44.55,187.866,-85.1586],[836.232,898.016,44.0167,184.053,-85.0206],[827.414,997.794,43.4667,180.061,-84.8711],[818.258,1098.27,42.9,175.887,-84.7086],[808.761,1199.19,42.3167,171.525,-84.5317],[799.191,1297.53,41.7333,167.099,-84.3441],[788.997,1398.64,41.1167,162.35,-84.1329],[778.447,1499.39,40.4833,157.399,-83.9009],[767.536,1599.48,39.8333,152.243,-83.645],[756.26,1698.59,39.1667,146.877,-83.3617],[744.33,1798.75,38.4667,141.161,-83.0384],[731.736,1899.31,37.7333,135.085,-82.6672],[718.468,1999.59,36.9667,128.642,-82.2382]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 906.029; -_maxRange = 5211.29; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg0.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg0.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg1.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg1.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg2.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg2.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg3.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg3.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg4.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/81mm/tables/ace_arty_81mm_genericBtab_LA_chg4.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/CfgAmmo.hpp b/TO_MERGE/ace/arty_ammunition/82mm/CfgAmmo.hpp deleted file mode 100644 index 9c85cd0061..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/CfgAmmo.hpp +++ /dev/null @@ -1,77 +0,0 @@ -class ace_arty_howitzer_82mm_base : ace_arty_howitzer_base { - whistleDist = 1500; -}; - -class ace_arty_82mm_he_pd: ace_arty_howitzer_82mm_base { - hit = 110; - indirecthit = 31; - indirecthitrange = 15; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\82mm\ace_arty_82mm_he_shell.p3d"; - //model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - airFriction = -0.0000758; - CraterEffects = "ArtyShellCrater"; - ExplosionEffects = "ArtyShellExplosion"; - muzzleEffect = "BIS_Effects_HeavyCaliber"; - caliber = 6; -}; - -class ace_arty_82mm_he_explosion: ace_arty_howitzer_82mm_base { - hit = 110; - indirecthit = 31; - indirecthitrange = 15; - explosionTime = 0.0001; - model = "\x\ace\addons\sys_arty_ammunition\82mm\ace_arty_82mm_he_shell.p3d"; // Add model or : No shape for ammo type ace_arty_105mm_m1_explosion - //model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - CraterEffects = "ArtyShellCrater"; - ExplosionEffects = "ArtyShellExplosion"; - muzzleEffect = "BIS_Effects_HeavyCaliber"; -}; - -class ace_arty_82mm_illum_time: ace_arty_howitzer_82mm_base { - hit = 0; - indirecthit = 0; - indirecthitrange = 0; - typicalSpeed = 300; - timeToLive = 500; - explosive = 0.01; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\82mm\ace_arty_82mm_illum_shell.p3d"; - //model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "GrenadeExplosion"; - caliber = 6; - ACE_ARTY_ISBASEEJECTING = 1; - ACE_ARTY_BASEEJECT_HOB = 500; - ACE_ARTY_BASEEJECT_COMPENSATE = 0; // calculate the trajectory for this round's submunitions 1 true, 0 false - ACE_ARTY_BASEEJECT_POWER = 0.25; // the percent speed at which the base ejection charges will enter the airstream. - ACE_ARTY_FIRE_HANDLER = "\x\ace\addons\sys_arty_ammunition\fuzes\time\fuze_time.sqf"; - ACE_ARTY_BASE_EJECT_HANDLER = "\x\ace\addons\sys_arty_ammunition\82mm\eject_illum.sqf"; - ACE_ARTY_EXPLOSION = "ace_arty_baseEject"; -}; - -class ace_arty_82mm_wp_pd : ace_arty_howitzer_82mm_base { - hit = 110; - indirecthit = 25; - indirecthitrange = 7; - typicalSpeed = 300; - timeToLive = 500; - explosive = 1; - cost = 300; - model = "\x\ace\addons\sys_arty_ammunition\82mm\ace_arty_82mm_smoke_shell.p3d"; - //model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_shell"; - airFriction = -0.0000758; - CraterEffects = ""; - ExplosionEffects = "ace_arty_WPExplosion"; - caliber = 6; -}; - -class ace_arty_82mm_illum_flare :FlareBase { - model="\ca\Weapons\granat"; - lightColor[] = {0.8, 0.8, 0.8, 0}; - deflecting=65; -}; diff --git a/TO_MERGE/ace/arty_ammunition/82mm/CfgMagazines.hpp b/TO_MERGE/ace/arty_ammunition/82mm/CfgMagazines.hpp deleted file mode 100644 index 34715bc068..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/CfgMagazines.hpp +++ /dev/null @@ -1,103 +0,0 @@ -class ace_arty_82mm_default: ace_arty_howitzer_default { - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\82mm\tables\ace_arty_82mm_genericBtab_%1_chg%2.sqf"; // 1 = angle (LA/HA) 2 = chg# - ACE_ARTY_BTABS_KEY = "ace_arty_82mm_genericBtab_%1_chg%2"; - scope = 2; - ACE_Weight = 4.5; -}; - -class ace_arty_82mm_he: ace_arty_82mm_default { - scope = 1; - type = 0; - displayName = "82mm HE"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_82mm_he_%1_chg%2"; - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\82mm\tables\ace_arty_82mm_heBtab_%1_chg%2.sqf"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\82mm\data\images\m720_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\82mm\data\images\m720.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_82mm_he_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd"}; - ACE_ARTY_FUZE_DESC[] = {"Point Detonate"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_82mm_he_pd"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 6; - ACE_ARTY_INEFFECT = "HE"; - ACE_Weight = 4.5; -}; - -class ace_arty_82mm_he_pd_chg0: ace_arty_howitzer_mag { - displayName = "82mm HE PD Chg. 0"; - ammo = "ace_arty_82mm_he_pd"; - initSpeed = 70; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_82mm_he"; - ACE_Weight = 4.5; -}; -class ace_arty_82mm_he_pd_chg1: ace_arty_82mm_he_pd_chg0 { initSpeed = 121; displayName = "82mm HE PD Chg. 1"; }; -class ace_arty_82mm_he_pd_chg2: ace_arty_82mm_he_pd_chg0 { initSpeed = 164; displayName = "82mm HE PD Chg. 2"; }; -class ace_arty_82mm_he_pd_chg3: ace_arty_82mm_he_pd_chg0 { initSpeed = 200; displayName = "82mm HE PD Chg. 3"; }; -class ace_arty_82mm_he_pd_chg4: ace_arty_82mm_he_pd_chg0 { initSpeed = 230; displayName = "82mm HE PD Chg. 4"; }; -class ace_arty_82mm_he_pd_chg5: ace_arty_82mm_he_pd_chg0 { initSpeed = 259; displayName = "82mm HE PD Chg. 5"; }; -class ace_arty_82mm_he_pd_chg6: ace_arty_82mm_he_pd_chg0 { initSpeed = 284; displayName = "82mm HE PD Chg. 6"; }; - -// ILLUM -class ace_arty_82mm_illum: ace_arty_82mm_default { - scope = 1; - type = 0; - displayName = "82mm Illumination"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_82mm_illum_%1_chg%2"; - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\82mm\tables\ace_arty_82mm_illumBtab_%1_chg%2.sqf"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\82mm\data\images\m14_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\82mm\data\images\M721.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_82mm_illum_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"time"}; - ACE_ARTY_FUZE_DESC[] = {"Time"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_82mm_illum_time"}; - ACE_ARTY_MINCHARGE = 1; - ACE_ARTY_MAXCHARGE = 3; - ACE_ARTY_INEFFECT = "ILLUM"; -}; - -class ace_arty_82mm_illum_time_chg0: ace_arty_howitzer_mag { - displayName = "82mm ILLUM TIME Chg. 0"; - ammo = "ace_arty_82mm_illum_time"; - initSpeed = 64; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_82mm_illum"; - ACE_Weight = 4.5; -}; -class ace_arty_82mm_illum_time_chg1: ace_arty_82mm_illum_time_chg0 { initSpeed = 125; displayName = "82mm ILLUM TIME Chg. 1"; }; -class ace_arty_82mm_illum_time_chg2: ace_arty_82mm_illum_time_chg0 { initSpeed = 165; displayName = "82mm ILLUM TIME Chg. 2"; }; -class ace_arty_82mm_illum_time_chg3: ace_arty_82mm_illum_time_chg0 { initSpeed = 199; displayName = "82mm ILLUM TIME Chg. 3"; }; - -// WP -class ace_arty_82mm_wp: ace_arty_82mm_default { - scope = 1; - type = 0; - displayName = "82mm WP"; - ACE_ARTY_MAGAZINE_FORMAT = "ace_arty_82mm_wp_%1_chg%2"; - ACE_ARTY_BTABS = "\x\ace\addons\sys_arty_ammunition\82mm\tables\ace_arty_82mm_wpBtab_%1_chg%2.sqf"; - //ACE_ARTY_CHARGE_IMAGE_FORMAT = "\x\ace\Addons\sys_arty_ammunition\82mm\data\images\m14_chg%1.paa"; - //ACE_ARTY_SHELL_IMAGE = "\x\ace\Addons\sys_arty_ammunition\82mm\data\images\M722A1.paa"; - ACE_ARTY_CHARGE_IMAGE_FORMAT = ""; - ACE_ARTY_SHELL_IMAGE = ""; - ACE_ARTY_SHELL_VEHICLE = "ace_arty_82mm_smoke_cartridge"; - ACE_ARTY_FUZE_TYPES[] = {"pd"}; - ACE_ARTY_FUZE_DESC[] = {"Point Detonate"}; - ACE_ARTY_AMMO_CLASSES[] = {"ace_arty_82mm_wp_pd"}; - ACE_ARTY_MINCHARGE = 0; - ACE_ARTY_MAXCHARGE = 3; - ACE_ARTY_INEFFECT = "WP"; - ACE_Weight = 4.5; -}; - -class ace_arty_82mm_wp_pd_chg0: ace_arty_howitzer_mag { - displayName = "82mm WP PD Chg. 0"; - ammo = "ace_arty_82mm_wp_pd"; - initSpeed = 70; - ACE_ARTY_DEFAULT_CLASS = "ace_arty_82mm_wp"; - ACE_Weight = 4.5; -}; -class ace_arty_82mm_wp_pd_chg1: ace_arty_82mm_wp_pd_chg0 { initSpeed = 127; displayName = "82mm WP PD Chg. 1"; }; -class ace_arty_82mm_wp_pd_chg2: ace_arty_82mm_wp_pd_chg0 { initSpeed = 170; displayName = "82mm WP PD Chg. 2"; }; -class ace_arty_82mm_wp_pd_chg3: ace_arty_82mm_wp_pd_chg0 { initSpeed = 206; displayName = "82mm WP PD Chg. 3"; }; diff --git a/TO_MERGE/ace/arty_ammunition/82mm/CfgVehicles.hpp b/TO_MERGE/ace/arty_ammunition/82mm/CfgVehicles.hpp deleted file mode 100644 index ff9eea92fc..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/CfgVehicles.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - No info found about russian mortar shells. - Names seem to be no existant - - Bulgarian and Romanian manufacturer page have various images for numerous 82mm shells. - Most useful information from bulgarian manufacturer with muzzlevelocities - - M74 - 82mm HE 4.15kg; MC: 0 - MC: 6; (70, 121, 164, 200, 230, 259, 284); Range: 6200m; Fuze: AF66, AF62 (L:0.490 ) - //82mm HE FRAG 3.1kg; MC: 0 - MC: 3; (75,132,175,211); Range: 3130m / Long Distance Charge: 255 (4200m); Fuze: AF67,A61 (L: 345) - 82mm WP -> 82mm HE FRAG model - 82mm ILLUM: 3.5 kg; MC: 1 - MC:3 ; (125,165,199); Range: 2670m, Burst height: 350m, Fuze: FTSQ or T-1 (L: 0.495 ) - - ALL Fuzes are PD or TIME -*/ - -class ace_arty_82mm_he_cartridge : ACE_Arty_ShellHolder { - scope = 1; - icon = "iconThing"; - mapSize = 0; // iconsize on map... small object such as a tree is 0.7 - displayName = "82mm HE Cartridge"; - vehicleClass = "Objects"; - nameSound = "obj_object"; - picture = "pictureThing"; - class Library {libTextDesc = "";}; - descriptionShort = ""; - destrType = "DestructTree"; - weight = 1000; - simulation = "house"; - type = 1; - model = "\x\ace\addons\sys_arty_ammunition\82mm\ace_arty_82mm_he_cartridge.p3d"; - animated = 1; - reversed = 0; - class EventHandlers { - killed = "_this call ace_sys_arty_ammunition_fnc_onShellDestroyed"; - }; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_82mm_he"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_82mm_he_pd_chg0",{0},"fnord",0,"pd"}; - ACE_Weight = 4.15; - class AnimationSources { - class hide_inc1 { - source = "user"; - initPhase = 1; - animPeriod = 0.1; - }; - class hide_inc2: hide_inc1 {}; - class hide_inc3: hide_inc1 {}; - class hide_inc4: hide_inc1 {}; - class hide_inc5: hide_inc1 {}; - class hide_inc6: hide_inc1 {}; - class hide_inc7: hide_inc1 {}; - class hide_inc8: hide_inc1 {}; - class hide_inc9: hide_inc1 {}; - class hide_inc10: hide_inc1 {}; - }; -}; - -class ace_arty_82mm_illum_cartridge : ace_arty_82mm_he_cartridge { - displayName = "82mm Illum Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\82mm\ace_arty_82mm_illum_cartridge.p3d"; - //model = "\x\ace\addons\sys_arty_ammunition\60mm\default_60mm_crtg"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_82mm_illum"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_82mm_illum_time_chg1",{10},"fnord",1,"time"}; - ACE_Weight = 3.5; -}; - -class ace_arty_82mm_smoke_cartridge : ace_arty_82mm_he_cartridge { - displayName = "82mm WP Cartridge"; - model = "\x\ace\addons\sys_arty_ammunition\82mm\ace_arty_82mm_smoke_cartridge.p3d"; - ACE_ARTY_MAGAZINE_CLASS = "ace_arty_82mm_wp"; - ACE_ARTY_SHELL_PREP[] = {"ace_arty_82mm_wp_pd_chg0",{0},"fnord",0,"pd"}; - ACE_Weight = 4.15; -}; - -class ace_arty_82mm_illum_ftsq_parachute : ace_arty_60mm_m721_m766_parachute { - //class EventHandlers { - // EXTENDED_EVENTHANDLERS - //}; - //SLX_XEH_DISABLED = 0; -}; diff --git a/TO_MERGE/ace/arty_ammunition/82mm/XEH_illum_init.sqf b/TO_MERGE/ace/arty_ammunition/82mm/XEH_illum_init.sqf deleted file mode 100644 index 554891c526..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/XEH_illum_init.sqf +++ /dev/null @@ -1,71 +0,0 @@ -//XEH_illum_init.sqf -#define MAX_ILL 1.5 - -private["_flareChute", "_pos", "_light", "_sm", "_sp"]; - -_flareChute = _this select 0; -_pos = getPos (_flareChute); - -_light = "#lightpoint" createVehicleLocal _pos; -_light setPos _pos; -_light setLightBrightness MAX_ILL; -_light setLightAmbient[238/255, 233/255, 183/255]; -_light setLightColor[241/255, 226/255, 62/255]; -_light lightAttachObject [_flareChute, [0,0,-0.8]]; - -_sm = "#particlesource" createVehicleLocal getPos (_flareChute); -_sm setParticleRandom [0.5, [0, 0, 0], [0, 0, 0], 0, 0.3, [0, 0, 0, 0], 0, 0, 360]; -_sm setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 30, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.3,4], - [[0.9,0.9,0.9,0.6], [1,1,1,0.3], [1,1,1,0]],[1],0.1,0.1,"","",_light]; -_sm setDropInterval 0.02; - -_sp = "#particlesource" createVehicleLocal getPos (_flareChute); -_sp setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -_sp setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -_sp setDropInterval 0.001; - -// _sp2 = "#particlesource" createVehicleLocal getPos (_flareChute); -// _sp2 setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; -// _sp2 setParticleParams ["\ca\Data\Flare12", - // "", "Billboard", 1, 0.1, [0, 0, 0], - // [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - // [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_light,360]; -// _sp2 setDropInterval 0.001; - - -//_flareChute setVectorDir _chuteVel; - -[_flareChute, _light, _sp, _sm] spawn { - private["_shell", "_light", "_sp", "_sm", "_start", "_b", "_s"]; - _shell = _this select 0; - _light = _this select 1; - _sp = _this select 2; - _sm = _this select 3; - - - _start = time; - _b = MAX_ILL; - _s = 0; - waitUntil { - if((_start + 50) < time) then { - _b = (_b - random (0.1)) max 0; - _light setLightBrightness _b; - }; - if((_start + 60) < time) then { - deleteVehicle _light; - deleteVehicle _sp; -// deleteVehicle _sp2; - deleteVehicle _sm; - }; - sleep 0.1; - (!alive _shell && (_start + 60) < time); - }; - deleteVehicle _light; - deleteVehicle _sp; - deleteVehicle _sm; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_he_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_he_cartridge.p3d deleted file mode 100644 index 0373482d2d..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_he_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_he_shell.p3d b/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_he_shell.p3d deleted file mode 100644 index c3a34d565b..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_he_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_illum_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_illum_cartridge.p3d deleted file mode 100644 index f991961b2a..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_illum_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_illum_shell.p3d b/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_illum_shell.p3d deleted file mode 100644 index 5ccd181fc6..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_illum_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_smoke_cartridge.p3d b/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_smoke_cartridge.p3d deleted file mode 100644 index 578031d126..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_smoke_cartridge.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_smoke_shell.p3d b/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_smoke_shell.p3d deleted file mode 100644 index e15d679cce..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/ace_arty_82mm_smoke_shell.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he.rvmat b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he.rvmat deleted file mode 100644 index 412681cfe2..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he.rvmat +++ /dev/null @@ -1,89 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={1,1,1,1.000000}; -specularPower=40.000000; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 { - texture="x\ace\addons\sys_arty_ammunition\82mm\data\ace_82mm_he_smoke_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 { - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform { - aside[]={8.0000,0.000000,0.000000}; - up[]={0.000000,8.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 { - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\82mm\data\ace_82mm_he_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,16,2,2)fresnel(0.45,0.35)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class StageTI -{ - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_co.paa b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_co.paa deleted file mode 100644 index b88ea9b3e8..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_smdi.paa b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_smdi.paa deleted file mode 100644 index ca9e95dca4..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_smoke_nohq.paa b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_smoke_nohq.paa deleted file mode 100644 index d646d432c9..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_he_smoke_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum.rvmat b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum.rvmat deleted file mode 100644 index 3d0c0ba64a..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum.rvmat +++ /dev/null @@ -1,85 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={1,1,1,1.000000}; -specularPower=40.000000; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 { - texture="x\ace\addons\sys_arty_ammunition\82mm\data\ace_82mm_he_smoke_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 { - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform { - aside[]={8.0000,0.000000,0.000000}; - up[]={0.000000,8.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 { - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\82mm\data\ace_82mm_illum_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,16,2,2)fresnel(0.45,0.35)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum_co.paa b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum_co.paa deleted file mode 100644 index 8a6f177971..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum_smdi.paa b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum_smdi.paa deleted file mode 100644 index 602e4c7bcd..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_illum_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke.rvmat b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke.rvmat deleted file mode 100644 index 6e886a2015..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke.rvmat +++ /dev/null @@ -1,85 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={1,1,1,1.000000}; -specularPower=40.000000; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 { - texture="x\ace\addons\sys_arty_ammunition\82mm\data\ace_82mm_he_smoke_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 { - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform { - aside[]={8.0000,0.000000,0.000000}; - up[]={0.000000,8.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 { - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_ammunition\82mm\data\ace_82mm_smoke_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,16,2,2)fresnel(0.45,0.35)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke_co.paa b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke_co.paa deleted file mode 100644 index 24c54e4890..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke_smdi.paa b/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke_smdi.paa deleted file mode 100644 index ca9e95dca4..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/82mm/data/ace_82mm_smoke_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/82mm/eject_illum.sqf b/TO_MERGE/ace/arty_ammunition/82mm/eject_illum.sqf deleted file mode 100644 index ed77c55c11..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/eject_illum.sqf +++ /dev/null @@ -1,15 +0,0 @@ -//eject_illum.sqf -private["_shell", "_velocity", "_pos", "_flareChute", "_chuteVel"]; - -_shell = _this select 6; - -_velocity = velocity _shell; - -_pos = getPos _shell; - -_flareChute = "ace_arty_60mm_m721_m766_parachute" createVehicle _pos; -_flareChute setPos _pos; -_chuteVel = [_velocity,0.25] call ACE_fnc_vectorMultiply; -_flareChute setVelocity _chuteVel; - -false diff --git a/TO_MERGE/ace/arty_ammunition/82mm/model.cfg b/TO_MERGE/ace/arty_ammunition/82mm/model.cfg deleted file mode 100644 index e7efc07db6..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/model.cfg +++ /dev/null @@ -1,59 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - - class ace_mortar_shell: Default { - isDiscrete = 1; - skeletonInherit = "Default"; - skeletonBones[] = { - "inc1","", - "inc2","", - "inc3","", - "inc4","", - "inc5","", - "inc6","", - "inc7","", - "inc8","", - "inc9","", - "inc10","" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - skeletonName = ""; - }; - class ace_arty_82mm_cartridge: Default { - skeletonName="ace_mortar_shell"; - sections[]= {}; - class animations { - #define HIDE_INC(x) class hide_inc##x { \ - type = "hide"; \ - source = "user"; \ - selection = inc##x; \ - minValue = 0; \ - maxValue = 1; \ - hideValue = 1; \ - }; - HIDE_INC(1); - HIDE_INC(2); - HIDE_INC(3); - HIDE_INC(4); - HIDE_INC(5); - HIDE_INC(6); - HIDE_INC(7); - HIDE_INC(8); - HIDE_INC(9); - HIDE_INC(10); - }; - }; - class ace_arty_82mm_he_cartridge: ace_arty_82mm_cartridge {}; - class ace_arty_82mm_illum_cartridge: ace_arty_82mm_cartridge {}; - class ace_arty_82mm_smoke_cartridge:ace_arty_82mm_cartridge {}; -}; diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg0.sqf deleted file mode 100644 index 82806daee6..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg0.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_he_pd_chg0 -// Ammo: ace_arty_82mm_he_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,122.653,[[1213.62,-2002.91,26.4167,192.344,-77.9004],[1191.36,-1900.52,25.8667,188.586,-77.5555],[1168.93,-1800.29,25.3167,184.775,-77.1937],[1146.32,-1702.26,24.7667,180.913,-76.8136],[1122.15,-1600.74,24.1833,176.761,-76.3889],[1097.79,-1501.77,23.6,172.555,-75.9401],[1072.55,-1402.68,23,168.173,-75.4512],[1045.69,-1301.11,22.3667,163.488,-74.9022],[1017.9,-1200.13,21.7167,158.62,-74.3001],[989.173,-1100.07,21.05,153.567,-73.6374],[959.496,-1001.23,20.3667,148.329,-72.9053],[928.127,-901.695,19.65,142.777,-72.0729],[895.037,-802.115,18.9,136.909,-71.1216],[859.456,-701.145,18.1,130.595,-70.0033],[822.091,-601.816,17.2667,123.969,-68.7063],[781.409,-501.346,16.3667,116.778,-67.127],[737.35,-401.424,15.4,109.039,-65.1824],[688.325,-300.916,14.3333,100.529,-62.6685],[632.695,-200.263,13.1333,91.0697,-59.2523],[567.994,-100.799,11.75,80.4827,-54.2865],[485.365,-0.789177,10,68.0246,-45.7767],[348.442,99.6637,7.13333,52.4873,-23.697],[244.687,122.652,4.98333,48.4532,-0.11457]]], - [46,126.913,[[1197.15,-2001.74,26.5167,192.333,-78.1129],[1175.94,-1902.34,25.9833,188.685,-77.7845],[1153.9,-1801.97,25.4333,184.871,-77.4294],[1131.01,-1700.86,24.8667,180.887,-77.0447],[1107.94,-1602.12,24.3,176.85,-76.6395],[1083.33,-1500.2,23.7,172.517,-76.1861],[1058.52,-1401.03,23.1,168.128,-75.7055],[1032.82,-1301.99,22.4833,163.56,-75.1804],[1005.52,-1200.84,21.8333,158.685,-74.5893],[977.304,-1100.59,21.1667,153.624,-73.9387],[948.149,-1001.56,20.4833,148.376,-73.22],[917.33,-901.822,19.7667,142.813,-72.4027],[884.821,-802.028,19.0167,136.932,-71.4685],[849.865,-700.827,18.2167,130.602,-70.37],[813.156,-601.255,17.3833,123.957,-69.0958],[773.188,-500.52,16.4833,116.742,-67.5436],[729.904,-400.313,15.5167,108.975,-65.6314],[682.495,-300.984,14.4667,100.558,-63.1998],[628.612,-201.102,13.2833,91.1749,-59.8958],[565.063,-100.792,11.9,80.5005,-55.0254],[484.682,-0.525895,10.1667,68.0012,-46.7476],[354.93,99.9309,7.4,52.425,-25.8462],[244.357,126.911,5.06667,47.5929,-0.088572]]], - [47,131.166,[[1180.14,-2000.86,26.6167,192.333,-78.3297],[1159.31,-1901.38,26.0833,188.681,-78.0072],[1137.66,-1800.93,25.5333,184.862,-77.6584],[1115.85,-1702.67,24.9833,180.991,-77.2921],[1092.54,-1600.91,24.4,176.83,-76.8827],[1069.04,-1501.7,23.8167,172.613,-76.4501],[1044.68,-1402.35,23.2167,168.219,-75.9787],[1018.77,-1300.5,22.5833,163.52,-75.4493],[992.65,-1201.8,21.95,158.762,-74.8839],[964.942,-1101.35,21.2833,153.693,-74.2458],[936.317,-1002.13,20.6,148.436,-73.5407],[906.059,-902.176,19.8833,142.862,-72.7389],[874.141,-802.157,19.1333,136.968,-71.8222],[839.82,-700.715,18.3333,130.622,-70.7442],[803.779,-600.89,17.5,123.959,-69.4933],[765.267,-501.684,16.6167,116.855,-67.9992],[722.775,-401.034,15.65,109.058,-66.1253],[676.235,-301.219,14.6,100.603,-63.7411],[623.338,-200.785,13.4167,91.1656,-60.4988],[561.707,-100.933,12.05,80.5361,-55.7774],[483.569,-0.409585,10.3333,67.9992,-47.7354],[360.848,99.8357,7.66667,52.4324,-28.0171],[243.809,131.165,5.15,46.7188,-0.0801113]]], - [48,135.409,[[1162.59,-2000.29,26.7167,192.344,-78.5508],[1142.15,-1900.73,26.1833,188.688,-78.2343],[1120.91,-1800.18,25.6333,184.865,-77.8921],[1099.5,-1701.84,25.0833,180.989,-77.5325],[1077.28,-1602.86,24.5167,176.942,-77.1425],[1053.56,-1500.67,23.9167,172.599,-76.7061],[1029.66,-1401.23,23.3167,168.199,-76.2434],[1004.9,-1301.91,22.7,163.617,-75.7378],[978.598,-1200.46,22.05,158.726,-75.1687],[952.089,-1102.38,21.4,153.775,-74.5584],[923.315,-1000.56,20.7,148.38,-73.8497],[893.621,-900.487,19.9833,142.794,-73.0622],[862.298,-800.339,19.2333,136.886,-72.1617],[829.322,-700.818,18.45,130.657,-71.1255],[793.959,-600.728,17.6167,123.976,-69.8987],[756.171,-501.239,16.7333,116.849,-68.4327],[714.479,-400.276,15.7667,109.023,-66.5934],[668.814,-300.119,14.7167,100.53,-64.2517],[617.647,-200.627,13.55,91.1729,-61.1134],[557.184,-100.112,12.1833,80.4627,-56.4777],[482.021,-0.450041,10.5,68.0202,-48.7392],[365.432,99.8047,7.91667,52.4332,-30.0496],[243.04,135.408,5.23333,45.8313,-0.0904206]]], - [49,139.636,[[1144.51,-2000.04,26.8167,192.367,-78.776],[1124.47,-1900.39,26.2833,188.707,-78.4657],[1104.27,-1802.77,25.75,184.996,-78.1406],[1082.64,-1701.31,25.1833,180.999,-77.7776],[1060.85,-1602.23,24.6167,176.947,-77.3952],[1038.24,-1502.74,24.0333,172.72,-76.9794],[1014.15,-1400.38,23.4167,168.191,-76.5134],[989.868,-1300.96,22.8,163.603,-76.0175],[964.737,-1201.95,22.1667,158.83,-75.474],[938.075,-1101.19,21.5,153.744,-74.8605],[910.531,-1001.62,20.8167,148.468,-74.1824],[881.416,-901.317,20.1,142.871,-73.411],[850.704,-800.924,19.35,136.951,-72.529],[818.37,-701.146,18.5667,130.706,-71.5139],[783.696,-600.779,17.7333,124.007,-70.3117],[746.644,-500.994,16.85,116.858,-68.8748],[706.471,-401.38,15.9,109.138,-67.1045],[661.702,-300.708,14.85,100.607,-64.8129],[611.537,-200.638,13.6833,91.1973,-61.7394],[552.985,-100.568,12.3333,80.5359,-57.2558],[480.036,-0.657659,10.6667,68.0652,-49.7583],[368.719,99.9057,8.15,52.4146,-31.9484],[242.049,139.635,5.31667,44.9305,-0.120935]]], - [50,143.842,[[1125.91,-2000.12,26.9167,192.401,-79.0053],[1106.26,-1900.37,26.3833,188.737,-78.7013],[1086.47,-1802.65,25.85,185.023,-78.3828],[1065.28,-1701.09,25.2833,181.021,-78.0272],[1043.92,-1601.9,24.7167,176.964,-77.6525],[1021.76,-1502.3,24.1333,172.732,-77.2451],[998.79,-1402.56,23.5333,168.32,-76.8012],[974.355,-1300.29,22.9,163.601,-76.3025],[949.726,-1201.16,22.2667,158.821,-75.7699],[923.598,-1100.26,21.6,153.725,-75.1685],[896.605,-1000.56,20.9167,148.439,-74.5037],[868.071,-900.112,20.2,142.831,-73.7475],[838.644,-801.753,19.4667,137.029,-72.9026],[806.963,-701.707,18.6833,130.771,-71.909],[772.988,-601.051,17.85,124.053,-70.7321],[736.683,-500.959,16.9667,116.882,-69.325],[697.321,-401.011,16.0167,109.134,-67.5907],[654.153,-301.492,14.9833,100.702,-65.3831],[605.006,-200.827,13.8167,91.2399,-62.3763],[547.642,-100.061,12.4667,80.4997,-57.9839],[476.89,-0.162181,10.8167,68.015,-50.7048],[371.473,99.7132,8.38333,52.452,-33.8672],[240.833,143.84,5.4,44.0168,-0.173209]]], - [51,148.022,[[1106.77,-2000.54,27.0167,192.447,-79.2386],[1087.54,-1900.68,26.4833,188.78,-78.9411],[1068.15,-1802.86,25.95,185.062,-78.6293],[1047.4,-1701.19,25.3833,181.056,-78.2812],[1026.48,-1601.88,24.8167,176.994,-77.9144],[1004.78,-1502.17,24.2333,172.756,-77.5156],[982.29,-1402.3,23.6333,168.339,-77.081],[958.993,-1302.55,23.0167,163.738,-76.606],[934.243,-1200.64,22.3667,158.825,-76.0711],[909.298,-1102.08,21.7167,153.849,-75.4975],[882.87,-1002.15,21.0333,148.555,-74.8477],[854.933,-901.452,20.3167,142.937,-74.1083],[825.464,-800.646,19.5667,136.991,-73.2626],[794.439,-700.432,18.7833,130.716,-72.289],[761.836,-601.555,17.9667,124.115,-71.1597],[726.29,-501.142,17.0833,116.922,-69.7831],[687.749,-400.846,16.1333,109.147,-68.0859],[645.483,-300.946,15.1,100.679,-65.9242],[598.052,-201.202,13.95,91.3014,-63.0237],[542.588,-100.87,12.6167,80.6145,-58.786],[474.032,-0.719599,10.9833,68.1103,-51.7539],[372.978,99.7266,8.6,52.4557,-35.6569],[238.673,148.022,5.46667,43.0924,-0.031601]]], - [52,152.171,[[1087.11,-2001.31,27.1167,192.506,-79.4758],[1068.29,-1901.34,26.5833,188.835,-79.1849],[1048.73,-1800.38,26.0333,184.996,-78.8701],[1029.01,-1701.62,25.4833,181.104,-78.5395],[1008.55,-1602.19,24.9167,177.038,-78.1807],[987.314,-1502.35,24.3333,172.795,-77.7907],[965.305,-1402.35,23.7333,168.371,-77.3656],[942.508,-1302.47,23.1167,163.764,-76.901],[918.29,-1200.42,22.4667,158.844,-76.3778],[893.881,-1101.72,21.8167,153.86,-75.8165],[868.02,-1001.63,21.1333,148.556,-75.1807],[840.683,-900.771,20.4167,142.926,-74.4572],[812.49,-801.988,19.6833,137.101,-73.6487],[782.136,-701.483,18.9,130.812,-72.6976],[749.585,-600.337,18.0667,124.059,-71.5705],[715.461,-501.554,17.2,116.98,-70.2491],[677.754,-400.896,16.25,109.178,-68.5898],[636.402,-300.599,15.2167,100.673,-66.4754],[589.998,-200.41,14.0667,91.2469,-63.6359],[536.415,-100.715,12.75,80.6195,-59.5399],[470.037,-0.568875,11.1333,68.1092,-52.7326],[373.968,99.4684,8.81667,52.5109,-37.4656],[237.018,152.17,5.55,42.1532,-0.127898]]], - [53,156.283,[[1066.93,-2002.43,27.2167,192.578,-79.7168],[1048.53,-1902.35,26.6833,188.904,-79.4326],[1029.4,-1801.27,26.1333,185.062,-79.1251],[1010.13,-1702.38,25.5833,181.165,-78.802],[990.114,-1602.83,25.0167,177.095,-78.4515],[968.759,-1500.04,24.4167,172.725,-78.0592],[947.835,-1402.72,23.8333,168.418,-77.655],[924.941,-1300.04,23.2,163.679,-77.1883],[901.867,-1200.49,22.5667,158.877,-76.6896],[878.001,-1101.64,21.9167,153.885,-76.1411],[852.716,-1001.39,21.2333,148.572,-75.5196],[825.988,-900.363,20.5167,142.932,-74.8123],[798.423,-801.403,19.7833,137.094,-74.0218],[768.745,-700.708,19,130.79,-73.0917],[737.559,-601.326,18.1833,124.155,-72.0124],[703.555,-500.362,17.3,116.918,-70.696],[667.338,-401.17,16.3667,109.226,-69.1022],[626.912,-300.46,15.3333,100.687,-67.0363],[582.208,-201.18,14.2,91.3482,-64.3043],[529.831,-100.746,12.8833,80.6462,-60.3065],[465.62,-0.600073,11.2833,68.1338,-53.7269],[373.76,99.481,9.01667,52.5197,-39.1517],[234.447,156.283,5.61667,41.2038,-0.0242625]]], - [54,160.355,[[1045.67,-2000.76,27.3,192.548,-79.9531],[1027.69,-1900.62,26.7667,188.87,-79.6752],[1009.57,-1802.51,26.2333,185.14,-79.3839],[990.164,-1700.53,25.6667,181.121,-79.0588],[970.61,-1600.91,25.1,177.045,-78.7161],[950.326,-1500.88,24.5167,172.791,-78.3435],[929.299,-1400.67,23.9167,168.355,-77.9373],[907.52,-1300.58,23.3,163.734,-77.4933],[884.979,-1200.88,22.6667,158.926,-77.0065],[861.665,-1101.86,22.0167,153.926,-76.4709],[836.964,-1001.45,21.3333,148.604,-75.8641],[810.852,-900.235,20.6167,142.953,-75.1734],[783.923,-801.088,19.8833,137.103,-74.4013],[754.931,-700.192,19.1,130.785,-73.4927],[724.464,-600.599,18.2833,124.132,-72.4381],[691.876,-501.251,17.4167,117.011,-71.1772],[656.499,-401.675,16.4833,109.293,-69.6227],[617.013,-300.537,15.45,100.719,-67.6067],[573.346,-200.782,14.3167,91.3333,-64.9386],[522.837,-100.971,13.0167,80.6953,-61.0852],[460.779,-0.821592,11.4333,68.1852,-54.736],[372.397,99.8147,9.2,52.4727,-40.7218],[232.348,160.353,5.7,40.2405,-0.171951]]], - [55,164.381,[[1024.46,-2002.63,27.4,192.645,-80.2015],[1006.91,-1902.36,26.8667,188.965,-79.9305],[988.669,-1801.08,26.3167,185.114,-79.6375],[970.287,-1702,25.7667,181.209,-79.3296],[951.202,-1602.24,25.2,177.13,-78.9954],[931.404,-1502.06,24.6167,172.871,-78.6321],[910.882,-1401.7,24.0167,168.431,-78.236],[889.625,-1301.45,23.4,163.804,-77.803],[867.624,-1201.58,22.7667,158.989,-77.3283],[844.868,-1102.4,22.1167,153.982,-76.806],[820.759,-1001.8,21.4333,148.652,-76.2141],[795.273,-900.399,20.7167,142.99,-75.5403],[768.99,-801.055,19.9833,137.128,-74.7871],[741.296,-702.043,19.2167,130.932,-73.9203],[710.955,-600.13,18.3833,124.127,-72.8712],[679.147,-500.543,17.5167,116.985,-71.6402],[644.618,-400.708,16.5833,109.241,-70.1218],[606.702,-300.84,15.5667,100.772,-68.1861],[564.087,-200.594,14.4333,91.3391,-65.5838],[514.794,-100.213,13.1333,80.632,-61.8207],[454.872,-0.303761,11.5667,68.1354,-55.6814],[370.568,99.9224,9.38333,52.4679,-42.315],[229.363,164.379,5.76667,39.2671,-0.113051]]], - [56,168.355,[[1002.21,-2001.71,27.4833,192.642,-80.4454],[985.089,-1901.37,26.95,188.957,-80.1811],[967.299,-1800.02,26.4,185.103,-79.8953],[949.371,-1700.86,25.85,181.193,-79.5949],[930.757,-1601.02,25.2833,177.108,-79.2689],[911.447,-1500.76,24.7,172.844,-78.9144],[891.431,-1400.32,24.1,168.397,-78.528],[871.261,-1302.66,23.5,163.89,-78.1173],[849.241,-1200.03,22.85,158.941,-77.6422],[827.047,-1100.75,22.2,153.926,-77.1324],[803.532,-1000.05,21.5167,148.585,-76.5547],[779.256,-900.862,20.8167,143.045,-75.9128],[753.626,-801.31,20.0833,137.171,-75.1788],[726.621,-702.08,19.3167,130.961,-74.3341],[697.628,-601.91,18.5,124.276,-73.333],[666.016,-500.087,17.6167,116.978,-72.111],[632.949,-401.698,16.7,109.347,-70.6582],[595.981,-301.378,15.6833,100.845,-68.7741],[554.431,-200.622,14.55,91.3665,-66.2395],[506.988,-100.846,13.2667,80.7281,-62.6233],[449.192,-0.924732,11.7167,68.2426,-56.719],[368.27,99.7932,9.56667,52.5074,-43.9282],[226.176,168.354,5.83333,38.2822,-0.0766285]]], - [57,172.274,[[979.47,-2001.19,27.5667,192.652,-80.693],[962.791,-1900.76,27.0333,188.964,-80.4355],[945.984,-1802.37,26.5,185.223,-80.1656],[927.988,-1700.09,25.9333,181.191,-79.8643],[909.851,-1600.17,25.3667,177.102,-79.5467],[891.576,-1502.65,24.8,172.955,-79.2114],[872.077,-1402.04,24.2,168.504,-78.8354],[851.88,-1301.53,23.5833,163.865,-78.4244],[830.976,-1201.39,22.95,159.036,-77.9736],[809.356,-1101.93,22.3,154.014,-77.4776],[786.449,-1001.03,21.6167,148.666,-76.9154],[762.8,-901.633,20.9167,143.116,-76.2908],[737.831,-801.863,20.1833,137.232,-75.5764],[710.949,-700.296,19.4,130.873,-74.7353],[683.279,-601.985,18.6,124.308,-73.7795],[653.066,-501.755,17.7333,117.128,-72.6134],[620.27,-401.22,16.8,109.334,-71.1742],[584.255,-300.584,15.7833,100.799,-69.3377],[544.376,-200.875,14.6667,91.4161,-66.9053],[498.163,-100.496,13.3833,80.7116,-63.3841],[442.474,-0.8017,11.85,68.2477,-57.695],[365.499,99.4161,9.75,52.5929,-45.5588],[222.788,172.274,5.9,37.2859,-0.0647017]]], - [58,176.133,[[956.254,-2001.06,27.65,192.676,-80.9443],[940.019,-1900.55,27.1167,188.985,-80.6937],[923.66,-1802.07,26.5833,185.24,-80.4311],[906.661,-1702.68,26.0333,181.324,-80.1467],[889.011,-1602.59,25.4667,177.231,-79.8381],[870.702,-1502.07,24.8833,172.958,-79.5024],[851.723,-1401.37,24.2833,168.501,-79.1364],[832.065,-1300.75,23.6667,163.856,-78.7363],[811.718,-1200.51,23.0333,159.021,-78.2975],[790.673,-1100.93,22.3833,153.99,-77.8146],[768.923,-1002.34,21.7167,148.764,-77.281],[745.358,-900.401,21,143.073,-76.6589],[721.055,-800.504,20.2667,137.176,-75.963],[695.448,-700.91,19.5,130.939,-75.1619],[667.957,-600.35,18.6833,124.221,-74.2121],[639.118,-501.835,17.8333,117.16,-73.0986],[607.2,-400.999,16.9,109.341,-71.6984],[572.152,-300.029,15.8833,100.775,-69.9108],[533.923,-201.362,14.7833,91.489,-67.5804],[488.955,-100.36,13.5,80.7195,-64.1572],[435.357,-0.885711,11.9833,68.2815,-58.6857],[361.656,99.4237,9.91667,52.6098,-47.0825],[219.198,176.132,5.96667,36.2786,-0.0797213]]], - [59,179.927,[[932.565,-2001.34,27.7333,192.714,-81.1991],[916.781,-1900.74,27.2,189.02,-80.9556],[900.875,-1802.17,26.6667,185.272,-80.7003],[884.347,-1702.68,26.1167,181.351,-80.4239],[867.187,-1602.49,25.55,177.255,-80.1239],[849.385,-1501.87,24.9667,172.977,-79.7976],[830.932,-1401.05,24.3667,168.515,-79.4419],[811.818,-1300.33,23.75,163.864,-79.0529],[792.557,-1202.57,23.1333,159.149,-78.6379],[771.574,-1100.27,22.4667,153.983,-78.1567],[750.426,-1001.56,21.8,148.748,-77.6378],[728.049,-901.81,21.1,143.18,-77.0474],[704.424,-801.674,20.3667,137.274,-76.372],[679.531,-701.827,19.6,131.024,-75.5943],[652.806,-600.994,18.7833,124.291,-74.6721],[624.219,-500.32,17.9167,117.072,-73.568],[593.743,-401.04,17,109.37,-72.2305],[560.232,-301.308,16,100.913,-70.5241],[522.508,-200.675,14.8833,91.4445,-68.2266],[479.363,-100.445,13.6167,80.7526,-64.9421],[427.265,-0.201453,12.1,68.2097,-59.6206],[356.787,99.8552,10.0667,52.551,-48.507],[215.406,179.925,6.03333,35.2605,-0.124191]]], - [60,183.65,[[908.408,-2002.03,27.8167,192.767,-81.4573],[893.079,-1901.34,27.2833,189.07,-81.221],[877.632,-1802.67,26.75,185.318,-80.9732],[861.092,-1700.09,26.1833,181.275,-80.6965],[844.915,-1602.78,25.6333,177.294,-80.4137],[827.627,-1502.04,25.05,173.012,-80.0969],[809.706,-1401.12,24.45,168.544,-79.7516],[791.144,-1300.27,23.8333,163.888,-79.374],[772.439,-1202.39,23.2167,159.167,-78.971],[752.572,-1102.48,22.5667,154.124,-78.5159],[731.523,-1001.11,21.8833,148.75,-77.9999],[709.791,-901.225,21.1833,143.173,-77.4265],[686.847,-800.94,20.45,137.255,-76.7704],[662.672,-700.936,19.6833,130.992,-76.0149],[637.25,-601.94,18.8833,124.382,-75.138],[609.492,-500.96,18.0167,117.145,-74.0675],[579.899,-401.354,17.1,109.42,-72.7701],[547.359,-301.263,16.1,100.933,-71.1143],[510.729,-200.226,14.9833,91.4233,-68.8833],[469.388,-100.762,13.7333,80.8118,-65.7378],[419.363,-0.71481,12.2333,68.3024,-60.6395],[352.068,99.3983,10.2333,52.6533,-50.0689],[211.411,183.648,6.1,34.2321,-0.20119]]], - [61,187.3,[[883.785,-2003.15,27.9,192.835,-81.7189],[868.917,-1902.35,27.3667,189.134,-81.4897],[853.464,-1800.52,26.8167,185.262,-81.2419],[837.891,-1700.88,26.2667,181.334,-80.9814],[821.723,-1600.55,25.7,177.227,-80.6987],[805.432,-1502.61,25.1333,173.063,-80.4002],[788.049,-1401.56,24.5333,168.591,-80.0654],[770.045,-1300.58,23.9167,163.929,-79.6993],[751.901,-1202.57,23.3,159.202,-79.3086],[732.135,-1100,22.6333,154.021,-78.8556],[712.214,-1001.01,21.9667,148.77,-78.3671],[691.135,-900.972,21.2667,143.183,-77.811],[668.88,-800.527,20.5333,137.255,-77.1747],[645.432,-700.355,19.7667,130.979,-76.4417],[620.773,-601.182,18.9667,124.354,-75.591],[593.848,-500.01,18.1,117.098,-74.5519],[565.145,-400.198,17.1833,109.35,-73.2922],[534.111,-301.481,16.2,100.976,-71.7127],[498.585,-200.021,15.0833,91.4261,-69.5501],[458.492,-100.08,13.8333,80.7564,-66.4976],[410.518,-0.457664,12.35,68.2891,-61.6045],[346.352,99.3756,10.3833,52.6775,-51.5334],[206.661,187.3,6.15,33.1944,-0.0318942]]], - [62,190.872,[[858.255,-2001.52,27.9667,192.802,-81.9768],[843.849,-1900.67,27.4333,189.098,-81.7547],[829.332,-1801.85,26.9,185.34,-81.5219],[814.247,-1702.09,26.35,181.408,-81.2698],[798.586,-1601.63,25.7833,177.299,-80.9961],[782.338,-1500.72,25.2,173.007,-80.6985],[765.966,-1402.39,24.6167,168.654,-80.3831],[748.526,-1301.27,24,163.987,-80.0288],[730.474,-1200.51,23.3667,159.126,-79.64],[711.803,-1100.41,22.7167,154.068,-79.2121],[692.505,-1001.26,22.05,148.809,-78.7391],[672.087,-901.061,21.35,143.213,-78.2007],[650.528,-800.446,20.6167,137.274,-77.5845],[627.814,-700.094,19.85,130.987,-76.8746],[603.927,-600.732,19.05,124.347,-76.0505],[578.349,-501.24,18.2,117.214,-75.0643],[550.548,-401.074,17.2833,109.444,-73.8465],[519.978,-300.366,16.2833,100.9,-72.2908],[486.081,-200.07,15.1833,91.4536,-70.2263],[447.767,-100.874,13.95,80.8698,-67.3145],[401.305,-0.422614,12.4667,68.3061,-62.5838],[339.691,99.8199,10.5167,52.6174,-52.9084],[202.278,190.87,6.21667,32.1457,-0.175278]]], - [63,194.36,[[832.3,-2000.32,28.0333,192.784,-82.2381],[818.799,-1902.54,27.5167,189.193,-82.03],[804.316,-1800.54,26.9667,185.315,-81.7979],[789.721,-1700.72,26.4167,181.379,-81.5539],[774.568,-1600.21,25.85,177.264,-81.289],[759.299,-1502.08,25.2833,173.091,-81.0094],[743.007,-1400.83,24.6833,168.609,-80.6957],[726.59,-1302.35,24.0833,164.063,-80.3622],[709.128,-1201.44,23.45,159.197,-79.9865],[691.067,-1101.18,22.8,154.132,-79.5729],[672.4,-1001.87,22.1333,148.866,-79.1157],[652.648,-901.5,21.4333,143.263,-78.5952],[631.794,-800.703,20.7,137.314,-77.9995],[609.821,-700.159,19.9333,131.015,-77.3132],[586.714,-600.595,19.1333,124.361,-76.5162],[561.971,-500.888,18.2833,117.211,-75.5624],[535.078,-400.486,17.3667,109.42,-74.384],[506.001,-301.129,16.3833,100.99,-72.9053],[473.214,-200.38,15.2833,91.5067,-70.9115],[436.156,-100.671,14.05,80.8684,-68.0967],[391.724,-0.618155,12.5833,68.3544,-63.5762],[333.157,99.3319,10.6667,52.7261,-54.4092],[197.174,194.36,6.26667,31.0883,-0.0610569]]], - [64,197.762,[[806.345,-2002.76,28.1167,192.897,-82.5091],[792.883,-1901.73,27.5833,189.188,-82.3018],[779.317,-1802.72,27.05,185.424,-82.0844],[765.22,-1702.78,26.5,181.486,-81.849],[750.584,-1602.12,25.9333,177.369,-81.5936],[735.4,-1501.01,25.35,173.069,-81.3156],[720.1,-1402.46,24.7667,168.707,-81.0211],[703.802,-1301.13,24.15,164.029,-80.6901],[686.932,-1200.14,23.5167,159.157,-80.327],[669.933,-1102.33,22.8833,154.216,-79.9378],[651.45,-1000.41,22.2,148.811,-79.4852],[632.824,-902.298,21.5167,143.332,-78.9945],[612.681,-801.308,20.7833,137.374,-78.4196],[591.457,-700.561,20.0167,131.064,-77.7572],[569.138,-600.782,19.2167,124.397,-76.988],[545.238,-500.844,18.3667,117.23,-76.067],[519.262,-400.193,17.45,109.418,-74.929],[491.176,-300.566,16.4667,100.962,-73.5003],[459.989,-200.96,15.3833,91.5862,-71.6049],[424.199,-100.717,14.15,80.8949,-68.8897],[381.286,-0.0229057,12.6833,68.2935,-64.5216],[325.711,99.3188,10.8,52.7487,-55.8225],[192.403,197.759,6.33333,30.0207,-0.286039]]], - [65,201.072,[[779.546,-2002.46,28.1833,192.911,-82.7768],[766.561,-1901.36,27.65,189.198,-82.5768],[753.476,-1802.29,27.1167,185.431,-82.3672],[739.879,-1702.27,26.5667,181.489,-82.1401],[725.762,-1601.54,26,177.368,-81.8937],[711.117,-1500.34,25.4167,173.064,-81.6256],[696.36,-1401.72,24.8333,168.697,-81.3415],[680.639,-1300.31,24.2167,164.014,-81.0222],[664.797,-1201.85,23.6,159.264,-80.6814],[647.971,-1101.33,22.95,154.187,-80.2964],[630.581,-1001.76,22.2833,148.907,-79.8707],[612.179,-901.11,21.5833,143.286,-79.3861],[592.75,-800.017,20.85,137.318,-78.8312],[572.726,-701.302,20.1,131.134,-78.2064],[551.202,-601.297,19.3,124.454,-77.4652],[528.155,-501.115,18.45,117.272,-76.5778],[503.104,-400.198,17.5333,109.44,-75.481],[476.018,-300.285,16.55,100.958,-74.1034],[445.943,-200.36,15.4667,91.5474,-72.2747],[411.896,-101.018,14.25,80.9501,-69.6926],[370.989,-0.694746,12.8,68.4065,-65.5387],[317.404,99.8102,10.9167,52.68,-57.1564],[199.966,199.986,6.83333,29.2689,-8.9087],[186.947,201.07,6.38333,28.9447,-0.241161]]], - [66,204.287,[[752.34,-2002.62,28.25,192.94,-83.0474],[739.837,-1901.44,27.7167,189.225,-82.855],[727.238,-1802.29,27.1833,185.455,-82.6532],[714.146,-1702.19,26.6333,181.51,-82.4346],[700.554,-1601.38,26.0667,177.385,-82.1974],[686.453,-1500.1,25.4833,173.076,-81.9393],[672.243,-1401.39,24.9,168.705,-81.6658],[657.517,-1302.59,24.3,164.144,-81.3669],[641.853,-1201.34,23.6667,159.261,-81.0302],[625.651,-1100.72,23.0167,154.178,-80.6594],[608.906,-1001.05,22.35,148.89,-80.2495],[591.188,-900.288,21.65,143.261,-79.7827],[572.908,-801.332,20.9333,137.42,-79.261],[553.201,-700.249,20.1667,131.088,-78.6462],[532.476,-600.118,19.3667,124.394,-77.932],[510.721,-501.709,18.5333,117.337,-77.0945],[486.604,-400.512,17.6167,109.486,-76.0395],[460.529,-300.295,16.6333,100.98,-74.7142],[431.575,-200.033,15.55,91.5351,-72.9538],[398.797,-100.309,14.3333,80.8891,-70.4658],[359.87,-0.57421,12.9,68.4099,-66.5105],[309.205,99.3289,11.05,52.7868,-58.6044],[206.838,199.99,7.35,29.254,-18.1094],[181.326,204.285,6.43333,27.8599,-0.231653]]], - [67,207.403,[[724.362,-2000.05,28.3,192.87,-83.3153],[712.72,-1901.98,27.7833,189.268,-83.1361],[700.612,-1802.75,27.25,185.495,-82.9423],[688.03,-1702.56,26.7,181.547,-82.7323],[674.966,-1601.66,26.1333,177.419,-82.5044],[661.414,-1500.29,25.55,173.106,-82.2564],[647.758,-1401.49,24.9667,168.731,-81.9936],[633.605,-1302.58,24.3667,164.166,-81.7065],[618.55,-1201.23,23.7333,159.278,-81.383],[602.98,-1100.5,23.0833,154.188,-81.0267],[586.886,-1000.72,22.4167,148.894,-80.6328],[570.265,-902.193,21.7333,143.392,-80.1953],[552.289,-800.76,21,137.406,-79.6826],[533.762,-701.693,20.25,131.202,-79.1052],[513.848,-601.309,19.45,124.497,-78.42],[492.523,-500.723,18.6,117.284,-77.5993],[469.769,-401.141,17.7,109.557,-76.6042],[444.712,-300.604,16.7167,101.027,-75.3321],[417.319,-201.452,15.65,91.6963,-73.6703],[385.825,-101.137,14.4333,81.0034,-71.2874],[348.422,-0.699095,13,68.4464,-67.4946],[300.181,99.3577,11.1667,52.801,-59.975],[208.064,199.9,7.7,29.2868,-24.2709],[175.539,207.401,6.48333,26.7666,-0.262118]]], - [68,210.416,[[696.384,-2001.14,28.3667,192.931,-83.5918],[685.218,-1902.99,27.85,189.327,-83.42],[673.24,-1800.59,27.3,185.433,-83.2282],[661.169,-1700.38,26.75,181.481,-83.0267],[649.007,-1602.39,26.2,177.471,-82.8145],[636.009,-1500.91,25.6167,173.155,-82.5768],[622.911,-1402,25.0333,168.776,-82.3249],[608.958,-1300.28,24.4167,164.079,-82.0418],[594.897,-1201.52,23.8,159.313,-81.7395],[579.963,-1100.68,23.15,154.218,-81.3979],[564.527,-1000.77,22.4833,148.917,-81.0202],[548.585,-902.125,21.8,143.408,-80.6007],[531.344,-800.555,21.0667,137.414,-80.1091],[513.574,-701.347,20.3167,131.199,-79.5552],[494.473,-600.812,19.5167,124.482,-78.898],[474.02,-500.063,18.6667,117.254,-78.1106],[452.195,-400.309,17.7667,109.509,-77.1555],[428.571,-301.216,16.8,101.101,-75.9564],[401.888,-200.224,15.7167,91.5926,-74.3372],[372.098,-100.956,14.5167,81.0014,-72.0805],[336.228,-0.0137354,13.0833,68.3709,-68.4394],[290.386,99.9219,11.2667,52.7179,-61.2766],[206.748,199.777,7.98333,29.3376,-29.2822],[169.588,210.413,6.53333,25.6651,-0.338001]]], - [69,213.322,[[668.021,-2002.71,28.4333,193.009,-83.8709],[656.989,-1901.33,27.9,189.286,-83.7012],[645.872,-1801.97,27.3667,185.507,-83.5233],[634.32,-1701.66,26.8167,181.553,-83.3306],[622.326,-1600.62,26.25,177.418,-83.1213],[610.241,-1501.98,25.6833,173.222,-82.9003],[597.346,-1400.17,25.0833,168.713,-82.6523],[584.352,-1301.12,24.4833,164.138,-82.3887],[570.896,-1202.24,23.8667,159.369,-82.0995],[556.604,-1101.27,23.2167,154.268,-81.7729],[541.831,-1001.23,22.55,148.962,-81.4117],[526.2,-900.082,21.85,143.311,-81.0002],[510.073,-800.726,21.1333,137.443,-80.5401],[493.067,-701.365,20.3833,131.22,-80.0103],[474.787,-600.665,19.5833,124.491,-79.3815],[455.598,-501.659,18.75,117.392,-78.6436],[434.714,-401.584,17.85,109.631,-77.7317],[411.717,-300.502,16.8667,101.055,-76.5653],[386.575,-200.756,15.8,91.6638,-75.04],[358.067,-101.048,14.6,81.0299,-72.8831],[324.143,-0.643846,13.1833,68.4755,-69.4461],[280.685,99.4764,11.3833,52.8167,-62.6806],[203.517,199.792,8.21667,29.3457,-33.4839],[163.065,213.322,6.56667,24.5558,-0.0846173]]], - [70,216.119,[[638.953,-2001.57,28.4833,192.988,-84.1475],[628.419,-1900.15,27.95,189.262,-83.9854],[617.803,-1800.75,27.4167,185.48,-83.8154],[606.772,-1700.39,26.8667,181.522,-83.6313],[595.657,-1602.25,26.3167,177.505,-83.4374],[583.778,-1500.62,25.7333,173.182,-83.2203],[571.808,-1401.56,25.15,168.795,-82.9902],[559.402,-1302.39,24.55,164.217,-82.7387],[546.207,-1200.74,23.9167,159.314,-82.4552],[532.91,-1102.27,23.2833,154.339,-82.1513],[518.806,-1002.09,22.6167,149.028,-81.8068],[503.883,-900.79,21.9167,143.37,-81.4143],[488.486,-801.277,21.2,137.495,-80.9754],[472.249,-701.752,20.45,131.263,-80.4698],[454.796,-600.874,19.65,124.524,-79.8698],[436.476,-501.68,18.8167,117.411,-79.1657],[416.536,-401.402,17.9167,109.634,-78.2952],[394.58,-300.097,16.9333,101.037,-77.1814],[370.576,-200.106,15.8667,91.6162,-75.7242],[343.358,-100.121,14.6667,80.9408,-73.6616],[311.352,-0.46323,13.2667,68.4679,-70.4152],[270.25,99.5708,11.4833,52.8172,-64.0174],[198.926,199.914,8.41667,29.3207,-37.1923],[156.807,216.117,6.61667,23.4387,-0.25426]]], - [71,218.801,[[609.55,-2000.92,28.5333,192.983,-84.4267],[599.831,-1902.59,28.0167,189.372,-84.2773],[589.406,-1800,27.4667,185.47,-84.1105],[579.219,-1702.61,26.9333,181.629,-83.9405],[568.314,-1601.4,26.3667,177.489,-83.7504],[557.325,-1502.59,25.8,173.286,-83.5496],[545.6,-1400.6,25.2,168.771,-83.3244],[533.784,-1301.37,24.6,164.188,-83.0847],[521.549,-1202.31,23.9833,159.409,-82.8221],[508.553,-1101.14,23.3333,154.299,-82.5251],[495.12,-1000.89,22.6667,148.98,-82.1968],[481.247,-901.895,21.9833,143.451,-81.8319],[466.585,-802.215,21.2667,137.57,-81.4145],[450.779,-700.35,20.5,131.19,-80.9224],[434.505,-601.443,19.7167,124.58,-80.3628],[416.709,-500.123,18.8667,117.312,-79.6786],[398.072,-401.552,17.9833,109.663,-78.8645],[377.164,-300.006,17,101.045,-77.8042],[354.665,-201.239,15.95,91.7455,-76.4404],[328.75,-100.77,14.75,81.0314,-74.4815],[298.276,-0.541711,13.35,68.495,-71.3953],[259.507,99.4237,11.5833,52.8607,-65.3696],[193.454,199.965,8.6,29.3201,-40.6868],[150.017,218.8,6.65,22.3144,-0.0716146]]], - [72,221.367,[[579.818,-2000.76,28.5833,192.996,-84.7086],[570.589,-1902.38,28.0667,189.382,-84.5666],[560.99,-1802.81,27.5333,185.597,-84.4132],[551.015,-1702.28,26.9833,181.634,-84.2469],[540.658,-1601.02,26.4167,177.49,-84.0663],[530.223,-1502.14,25.85,173.285,-83.8757],[519.088,-1400.09,25.25,168.765,-83.6618],[507.868,-1300.8,24.65,164.178,-83.4342],[496.248,-1201.67,24.0333,159.395,-83.1846],[483.907,-1100.43,23.3833,154.279,-82.9026],[471.15,-1000.11,22.7167,148.955,-82.5907],[457.976,-901.035,22.0333,143.419,-82.2441],[444.053,-801.275,21.3167,137.53,-81.8475],[429.37,-701.488,20.5667,131.28,-81.3905],[413.588,-600.33,19.7667,124.52,-80.848],[397.021,-500.842,18.9333,117.382,-80.2111],[378.99,-400.244,18.0333,109.573,-79.4234],[359.474,-300.237,17.0667,101.081,-78.4332],[338.111,-201.191,16.0167,91.7563,-77.1389],[313.505,-100.402,14.8167,81.0047,-75.2785],[284.915,-0.885917,13.4333,68.5579,-72.3851],[248.108,99.8384,11.6667,52.8016,-66.6641],[187.508,199.658,8.78333,29.4372,-44.2044],[143.457,221.364,6.7,21.1831,-0.365026]]], - [73,223.813,[[549.767,-2001.1,28.6333,193.025,-84.9928],[541.03,-1902.66,28.1167,189.41,-84.8585],[531.944,-1803.03,27.5833,185.622,-84.7133],[522.502,-1702.43,27.0333,181.658,-84.5559],[512.699,-1601.1,26.4667,177.511,-84.385],[502.821,-1502.16,25.9,173.303,-84.2046],[492.281,-1400.04,25.3,168.78,-84.0021],[481.66,-1300.67,24.7,164.189,-83.7867],[470.661,-1201.46,24.0833,159.402,-83.5506],[458.979,-1100.14,23.4333,154.281,-83.2836],[447.207,-1002.2,22.7833,149.085,-82.996],[434.433,-900.579,22.0833,143.408,-82.6603],[421.254,-800.728,21.3667,137.512,-82.2848],[407.356,-700.845,20.6167,131.254,-81.8521],[392.729,-601.637,19.8333,124.626,-81.3496],[377.05,-501.921,19,117.478,-80.7478],[359.985,-401.072,18.1,109.655,-80.0034],[341.513,-300.794,17.1333,101.146,-79.0675],[321.294,-201.451,16.0833,91.797,-77.8439],[298.006,-100.319,14.8833,81.0098,-76.0841],[270.947,-0.405447,13.5,68.5065,-73.3439],[236.772,99.1969,11.7667,52.9329,-68.0422],[180.423,199.714,8.93333,29.4355,-47.2872],[136.406,223.811,6.73333,20.045,-0.281332]]], - [74,226.135,[[519.404,-2001.94,28.6833,193.072,-85.2791],[510.897,-1900.29,28.15,189.338,-85.1484],[502.325,-1800.65,27.6167,185.547,-85.0113],[493.418,-1700.05,27.0667,181.578,-84.8627],[484.443,-1601.67,26.5167,177.551,-84.7063],[475.126,-1502.65,25.95,173.34,-84.5362],[465.185,-1400.44,25.35,168.814,-84.3453],[455.168,-1300.99,24.75,164.22,-84.1422],[444.794,-1201.7,24.1333,159.429,-83.9195],[433.776,-1100.28,23.4833,154.304,-83.6679],[422.673,-1002.26,22.8333,149.103,-83.3967],[410.625,-900.531,22.1333,143.421,-83.0801],[398.194,-800.578,21.4167,137.518,-82.726],[385.086,-700.587,20.6667,131.252,-82.3178],[371.29,-601.265,19.8833,124.614,-81.8438],[356.502,-501.427,19.05,117.455,-81.2761],[340.407,-400.446,18.15,109.618,-80.5736],[322.985,-300.024,17.1833,101.091,-79.6902],[303.915,-200.524,16.1333,91.7184,-78.5345],[282.257,-100.528,14.95,81.0475,-76.8972],[256.739,-0.190526,13.5667,68.4907,-74.3137],[224.509,99.9472,11.8333,52.8115,-69.3021],[172.626,199.853,9.06667,29.4054,-50.1921],[129.235,226.134,6.76667,18.9006,-0.248201]]], - [75,228.332,[[488.494,-2000.09,28.7167,193.021,-85.5639],[480.752,-1901.57,28.2,189.401,-85.4449],[472.7,-1801.86,27.6667,185.609,-85.3161],[464.333,-1701.18,27.1167,181.639,-85.1767],[455.902,-1602.71,26.5667,177.609,-85.0298],[446.892,-1500.73,25.9833,173.271,-84.8653],[437.812,-1401.31,25.4,168.868,-84.6909],[428.402,-1301.77,24.8,164.271,-84.5003],[418.658,-1202.38,24.1833,159.477,-84.2913],[408.307,-1100.87,23.5333,154.348,-84.0549],[397.609,-1000.27,22.8667,149.009,-83.7936],[386.56,-900.902,22.1833,143.456,-83.5031],[374.883,-800.833,21.4667,137.548,-83.1706],[362.57,-700.722,20.7167,131.274,-82.7874],[349.611,-601.272,19.9333,124.629,-82.3423],[335.719,-501.297,19.1,117.459,-81.809],[320.599,-400.167,18.2,109.609,-81.1491],[304.517,-301.248,17.25,101.213,-80.3345],[286.605,-201.413,16.2,91.8199,-79.2515],[266.263,-101.036,15.0167,81.1185,-77.7168],[242.295,-0.247418,13.6333,68.5114,-75.2932],[212.314,99.6277,11.9167,52.8827,-70.6398],[164.47,199.724,9.2,29.4634,-53.1278],[121.948,228.331,6.8,17.7502,-0.275885]]], - [76,230.4,[[457.555,-2001.96,28.7667,193.103,-85.8544],[450.082,-1900.21,28.2333,189.365,-85.7395],[442.552,-1800.48,27.7,185.569,-85.6191],[434.964,-1702.79,27.1667,181.718,-85.4926],[426.841,-1601.28,26.6,177.564,-85.3512],[418.656,-1502.16,26.0333,173.348,-85.2018],[410.167,-1402.65,25.45,168.942,-85.0388],[401.123,-1300.28,24.8333,164.215,-84.8557],[392.009,-1200.87,24.2167,159.416,-84.66],[382.578,-1101.89,23.5833,154.415,-84.4447],[372.575,-1001.17,22.9167,149.072,-84.2006],[362.243,-901.69,22.2333,143.515,-83.9292],[351.325,-801.496,21.5167,137.601,-83.6185],[339.811,-701.251,20.7667,131.322,-83.2604],[327.693,-601.662,19.9833,124.668,-82.8445],[314.703,-501.535,19.15,117.489,-82.3462],[300.566,-400.241,18.25,109.627,-81.7294],[285.527,-301.147,17.3,101.217,-80.9678],[268.779,-201.118,16.25,91.8024,-79.955],[249.757,-100.519,15.0667,81.0712,-78.5188],[227.616,-0.580806,13.7,68.5692,-76.2806],[199.585,99.8911,11.9833,52.8475,-71.9312],[155.678,199.726,9.31667,29.4774,-55.8978],[114.545,230.399,6.83333,16.5941,-0.377425]]], - [77,232.337,[[426.12,-2001.14,28.8,193.086,-86.1433],[419.385,-1902.51,28.2833,189.464,-86.0398],[412.381,-1802.69,27.75,185.668,-85.9279],[405.102,-1701.89,27.2,181.695,-85.8067],[397.545,-1600.35,26.6333,177.538,-85.675],[389.93,-1501.19,26.0667,173.319,-85.5359],[382.032,-1401.65,25.4833,168.91,-85.3843],[373.846,-1301.98,24.8833,164.308,-85.2186],[365.369,-1202.45,24.2667,159.507,-85.0368],[356.365,-1100.79,23.6167,154.371,-84.8313],[347.059,-1000.04,22.95,149.023,-84.604],[337.447,-900.522,22.2667,143.46,-84.3514],[327.289,-800.289,21.55,137.54,-84.0621],[316.578,-700.004,20.8,131.253,-83.7287],[305.305,-600.373,20.0167,124.591,-83.3413],[293.22,-500.202,19.1833,117.402,-82.877],[280.312,-400.673,18.3,109.674,-82.3137],[266.324,-301.386,17.35,101.249,-81.6059],[250.745,-201.143,16.3,91.816,-80.6642],[233.051,-100.301,15.1167,81.0571,-79.3283],[212.456,-0.0801311,13.75,68.5114,-77.2443],[186.637,99.9056,12.05,52.8564,-73.2359],[146.311,199.893,9.41667,29.436,-58.5224],[107.029,232.334,6.86667,15.4328,-0.569743]]], - [78,234.141,[[394.447,-2000.84,28.8333,193.088,-86.4342],[388.219,-1902.17,28.3167,189.464,-86.3385],[381.742,-1802.32,27.7833,185.666,-86.235],[375.012,-1701.48,27.2333,181.69,-86.1228],[368.23,-1602.86,26.6833,177.655,-86.0048],[360.983,-1500.71,26.1,173.31,-85.8725],[353.679,-1401.13,25.5167,168.898,-85.7323],[346.11,-1301.41,24.9167,164.293,-85.5791],[338.271,-1201.85,24.3,159.489,-85.4109],[329.945,-1100.14,23.65,154.349,-85.2208],[321.556,-1001.82,23,149.131,-85.016],[312.669,-902.16,22.3167,143.565,-84.7828],[303.278,-801.778,21.6,137.641,-84.5158],[293.375,-701.335,20.85,131.35,-84.208],[282.953,-601.537,20.0667,124.682,-83.8503],[271.78,-501.187,19.2333,117.486,-83.4217],[259.846,-401.465,18.35,109.748,-82.9016],[246.685,-300.297,17.3833,101.162,-82.2356],[232.509,-201.493,16.35,91.8611,-81.3784],[216.15,-100.385,15.1667,81.0769,-80.1442],[197.342,-0.975716,13.8167,68.6447,-78.2452],[173.472,99.6672,12.1167,52.9101,-74.5509],[136.665,199.824,9.51667,29.4717,-61.1767],[99.1644,234.14,6.88333,14.2657,-0.219272]]], - [79,235.808,[[362.545,-2001.06,28.8667,193.108,-86.7267],[356.827,-1902.36,28.35,189.482,-86.639],[350.881,-1802.46,27.8167,185.683,-86.5439],[344.701,-1701.58,27.2667,181.706,-86.441],[338.475,-1602.91,26.7167,177.668,-86.3326],[331.82,-1500.71,26.1333,173.321,-86.2112],[325.115,-1401.08,25.55,168.908,-86.0824],[318.165,-1301.32,24.95,164.3,-85.9417],[310.968,-1201.7,24.3333,159.493,-85.7874],[303.521,-1102.51,23.7,154.482,-85.6176],[295.621,-1001.57,23.0333,149.128,-85.4248],[287.462,-901.846,22.35,143.558,-85.2107],[278.84,-801.403,21.6333,137.629,-84.9655],[269.748,-700.895,20.8833,131.332,-84.6828],[260.178,-601.029,20.1,124.657,-84.3543],[249.92,-500.605,19.2667,117.452,-83.9606],[238.963,-400.805,18.3833,109.704,-83.4828],[227.089,-301.226,17.4333,101.255,-82.8821],[213.865,-200.655,16.3833,91.7869,-82.0826],[199.058,-100.778,15.2167,81.1312,-80.9653],[181.791,-1.0374,13.8667,68.6624,-79.2237],[160.094,99.1693,12.1833,53.0097,-75.8732],[126.524,199.953,9.6,29.441,-63.7044],[91.4475,235.806,6.91667,13.0948,-0.611441]]], - [80,237.338,[[330.427,-2001.82,28.9,193.145,-87.0209],[325.222,-1903.06,28.3833,189.519,-86.9408],[319.638,-1800.02,27.8333,185.599,-86.8518],[314.182,-1702.18,27.3,181.74,-86.7608],[308.341,-1600.51,26.7333,177.578,-86.6592],[302.455,-1501.21,26.1667,173.353,-86.5517],[296.35,-1401.52,25.5833,168.937,-86.4345],[290.023,-1301.7,24.9833,164.328,-86.3065],[283.471,-1202.02,24.3667,159.518,-86.166],[276.512,-1100.2,23.7167,154.372,-86.0072],[269.499,-1001.76,23.0667,149.148,-85.8361],[262.071,-901.967,22.3833,143.574,-85.6411],[254.221,-801.449,21.6667,137.641,-85.4179],[245.943,-700.864,20.9167,131.339,-85.1606],[237.231,-600.915,20.1333,124.658,-84.8616],[227.892,-500.404,19.3,117.446,-84.5031],[217.917,-400.51,18.4167,109.689,-84.068],[207.107,-300.829,17.4667,101.228,-83.521],[195.067,-200.146,16.4167,91.7446,-82.7925],[181.586,-100.143,15.25,81.0667,-81.7741],[165.867,-0.256292,13.9,68.5633,-80.185],[146.31,99.2713,12.2333,52.9999,-77.1604],[116.147,199.853,9.68333,29.4846,-66.2566],[83.4251,237.337,6.93333,11.9186,-0.394756]]], - [81,238.728,[[298.104,-2003.1,28.9333,193.201,-87.3163],[293.262,-1901.14,28.4,189.456,-87.242],[288.382,-1801.19,27.8667,185.654,-87.1641],[283.311,-1700.27,27.3167,181.673,-87.0796],[278.201,-1601.56,26.7667,177.631,-86.9906],[272.897,-1502.2,26.2,173.405,-86.8937],[267.396,-1402.45,25.6167,168.988,-86.7883],[261.694,-1302.56,25.0167,164.377,-86.6729],[255.629,-1200.15,24.3833,159.435,-86.5429],[249.518,-1100.91,23.75,154.417,-86.4035],[243.198,-1002.39,23.1,149.191,-86.2493],[236.341,-900.133,22.4,143.478,-86.0693],[229.43,-801.918,21.7,137.678,-85.8727],[221.97,-701.242,20.95,131.372,-85.6409],[214.119,-601.199,20.1667,124.686,-85.3715],[205.703,-500.585,19.3333,117.468,-85.0486],[196.713,-400.582,18.45,109.703,-84.6567],[186.971,-300.783,17.5,101.231,-84.1637],[176.294,-201.489,16.4667,91.886,-83.5187],[164.147,-101.159,15.3,81.1905,-82.6039],[149.982,-0.888458,13.95,68.6577,-81.1761],[132.183,99.9831,12.2667,52.8789,-78.421],[105.357,199.979,9.75,29.4527,-68.7033],[75.3371,238.727,6.95,10.7386,-0.24108]]], - [82,239.976,[[265.453,-2001.7,28.95,193.159,-87.6109],[261.278,-1902.9,28.4333,189.531,-87.5469],[256.935,-1802.89,27.9,185.728,-87.4776],[252.423,-1701.9,27.35,181.747,-87.4024],[247.738,-1600.16,26.7833,177.581,-87.3208],[243.017,-1500.8,26.2167,173.352,-87.2346],[238.12,-1401.05,25.6333,168.933,-87.1406],[233.045,-1301.16,25.0333,164.319,-87.038],[227.789,-1201.41,24.4167,159.505,-86.9253],[222.351,-1102.08,23.7833,154.486,-86.8013],[216.582,-1000.99,23.1167,149.123,-86.6605],[210.624,-901.125,22.4333,143.542,-86.5041],[204.327,-800.524,21.7167,137.601,-86.3251],[197.836,-702.036,20.9833,131.43,-86.1233],[190.849,-601.884,20.2,124.741,-85.8838],[183.359,-501.154,19.3667,117.517,-85.5967],[175.359,-401.025,18.4833,109.746,-85.2481],[166.689,-301.09,17.5333,101.266,-84.8098],[157.034,-200.123,16.4833,91.7565,-84.2259],[146.377,-101.147,15.3333,81.1957,-83.4222],[133.772,-0.67855,13.9833,68.6353,-82.1513],[118.088,99.5733,12.3167,52.9599,-79.7269],[94.376,199.883,9.81667,29.4928,-71.1708],[67.1858,239.976,6.96667,9.5551,-0.174443]]], - [83,241.082,[[232.654,-2000.84,28.9667,193.136,-87.9071],[228.996,-1902.03,28.45,189.505,-87.8509],[225.192,-1802.01,27.9167,185.701,-87.7902],[221.239,-1701.01,27.3667,181.718,-87.7242],[217.255,-1602.22,26.8167,177.675,-87.6549],[213.12,-1502.79,26.25,173.446,-87.5795],[208.708,-1400.14,25.65,168.899,-87.4948],[204.263,-1300.24,25.05,164.283,-87.4048],[199.658,-1200.48,24.4333,159.466,-87.306],[194.894,-1101.14,23.8,154.444,-87.1975],[189.841,-1000.04,23.1333,149.078,-87.074],[184.621,-900.167,22.45,143.494,-86.9369],[179.234,-801.848,21.75,137.688,-86.7836],[173.418,-701.059,21,131.374,-86.6031],[167.298,-600.897,20.2167,124.679,-86.3931],[160.736,-500.156,19.3833,117.449,-86.1413],[153.728,-400.017,18.5,109.67,-85.8356],[146.134,-300.071,17.55,101.181,-85.4509],[137.81,-200.616,16.5167,91.8115,-84.9475],[128.34,-100.104,15.35,81.0819,-84.2327],[117.435,-0.758007,14.0167,68.652,-83.132],[103.698,99.7732,12.35,52.9296,-81.0079],[83.2057,199.56,9.88333,29.6061,-73.645],[58.9738,241.081,6.98333,8.36829,-0.232012]]], - [84,242.043,[[199.719,-2000.52,28.9833,193.131,-88.2043],[196.58,-1901.69,28.4667,189.5,-88.1559],[193.316,-1801.66,27.9333,185.694,-88.1038],[189.924,-1700.65,27.3833,181.71,-88.0474],[186.506,-1601.84,26.8333,177.665,-87.9879],[182.959,-1502.39,26.2667,173.435,-87.9232],[179.279,-1402.53,25.6833,169.014,-87.8527],[175.465,-1302.54,25.0833,164.398,-87.7755],[171.408,-1200.03,24.45,159.45,-87.6886],[167.32,-1100.67,23.8167,154.426,-87.5951],[163.093,-1002.04,23.1667,149.192,-87.4921],[158.615,-902.045,22.4833,143.608,-87.3747],[153.884,-801.313,21.7667,137.661,-87.2402],[148.894,-700.502,21.0167,131.343,-87.0852],[143.642,-600.315,20.2333,124.644,-86.9048],[138.125,-501.505,19.4167,117.555,-86.6933],[132.113,-401.209,18.5333,109.772,-86.4315],[125.598,-301.092,17.5833,101.277,-86.1022],[118.457,-201.45,16.55,91.8997,-85.6711],[110.333,-100.723,15.3833,81.1578,-85.0591],[100.977,-1.12945,14.05,68.7079,-84.1164],[89.1916,99.7144,12.3833,52.9453,-82.2962],[71.6112,199.968,9.91667,29.4784,-75.9586],[50.7035,242.042,7,7.17869,-0.476004]]], - [85,242.858,[[166.66,-2000.74,29,193.144,-88.5024],[164.043,-1901.89,28.4833,189.512,-88.4623],[161.32,-1801.84,27.95,185.706,-88.4187],[158.491,-1700.8,27.4,181.721,-88.3716],[155.641,-1601.97,26.85,177.676,-88.322],[152.681,-1502.49,26.2833,173.444,-88.268],[149.612,-1402.61,25.7,169.022,-88.2092],[146.431,-1302.59,25.1,164.405,-88.1449],[143.048,-1200.05,24.4667,159.456,-88.0723],[139.638,-1100.66,23.8333,154.43,-87.9945],[136.113,-1002,23.1833,149.195,-87.9087],[132.378,-901.975,22.5,143.608,-87.8106],[128.432,-801.21,21.7833,137.66,-87.6984],[124.27,-700.363,21.0333,131.339,-87.5691],[119.89,-600.139,20.25,124.636,-87.4187],[115.289,-501.29,19.4333,117.543,-87.2423],[110.274,-400.951,18.55,109.756,-87.0239],[104.84,-300.788,17.6,101.254,-86.749],[98.8842,-201.096,16.5667,91.8686,-86.3893],[92.1084,-100.312,15.4,81.1148,-85.8784],[84.3052,-0.65345,14.0667,68.6466,-85.0911],[74.5746,99.3936,12.4167,53.0074,-83.5888],[60.0125,199.681,9.96667,29.5779,-78.3663],[42.3774,242.856,7.01667,5.98705,-1.01893]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 84.3052; -_maxRange = 485.365; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg1.sqf deleted file mode 100644 index e83ad0503a..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg1.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_he_pd_chg1 -// Ammo: ace_arty_82mm_he_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,355.974,[[2366.83,-2000.54,31.1667,205.585,-71.8715],[2333.65,-1900.48,30.65,202.405,-71.4234],[2300.21,-1802.24,30.1333,199.188,-70.9572],[2265.41,-1702.78,29.6,195.828,-70.4559],[2229.24,-1602.33,29.05,192.323,-69.9162],[2191.67,-1501.09,28.4833,188.672,-69.3342],[2153.79,-1402.2,27.9167,184.981,-68.7243],[2113.35,-1300.07,27.3167,181.034,-68.0457],[2072.58,-1200.65,26.7167,177.047,-67.3308],[2030.33,-1101.32,26.1,172.914,-66.5553],[1986.58,-1002.37,25.4667,168.633,-65.7122],[1940.15,-901.604,24.8,164.094,-64.7692],[1892.16,-801.992,24.1167,159.413,-63.7381],[1841.4,-701.576,23.4,154.479,-62.5796],[1787.81,-601,22.65,149.3,-61.274],[1731.36,-500.954,21.8667,143.887,-59.7971],[1670.78,-400.216,21.0333,138.14,-58.084],[1607.21,-301.77,20.1667,132.202,-56.1275],[1536.88,-201.373,19.2167,125.772,-53.7503],[1459.67,-101.231,18.1833,118.923,-50.8482],[1372.89,-1.05613,17.0333,111.563,-47.1703],[1271.21,99.9895,15.7,103.526,-42.2178],[1147.79,199.495,14.1,94.8939,-35.1414],[969.214,299.686,11.8167,85.4089,-22.6646],[699.728,355.973,8.43333,80.486,-0.0578679]]], - [46,368.203,[[2340.76,-2000.42,31.3667,205.686,-72.2108],[2308.17,-1900.1,30.85,202.499,-71.7711],[2275.32,-1801.62,30.3333,199.272,-71.3135],[2241.13,-1701.91,29.8,195.903,-70.8214],[2205.6,-1601.18,29.25,192.388,-70.2915],[2169.77,-1502.62,28.7,188.833,-69.7374],[2131.47,-1400.49,28.1167,185.021,-69.1213],[2092.85,-1300.88,27.5333,181.17,-68.4738],[2052.81,-1201.08,26.9333,177.169,-67.7727],[2011.32,-1101.35,26.3167,173.019,-67.012],[1968.35,-1001.99,25.6833,168.72,-66.1848],[1922.74,-900.796,25.0167,164.159,-65.2595],[1875.6,-800.737,24.3333,159.453,-64.2474],[1826.91,-702.146,23.6333,154.607,-63.1374],[1774.29,-600.967,22.8833,149.396,-61.8571],[1718.85,-500.286,22.1,143.945,-60.4084],[1660.55,-400.835,21.2833,138.269,-58.7621],[1598.13,-301.547,20.4167,132.277,-56.844],[1529.09,-200.219,19.4667,125.78,-54.5114],[1454.5,-100.611,18.45,118.956,-51.7092],[1370.55,-0.499079,17.3167,111.588,-48.1531],[1273.26,99.9278,16.0167,103.582,-43.4181],[1155.95,199.226,14.4667,94.9389,-36.7007],[991.083,299.52,12.3167,85.3622,-25.1943],[699.359,368.2,8.58333,79.0308,-0.108102]]], - [47,380.412,[[2313.46,-2000.85,31.5667,205.806,-72.556],[2281.47,-1900.28,31.05,202.61,-72.1247],[2249.21,-1801.54,30.5333,199.376,-71.676],[2215.65,-1701.56,30,195.997,-71.1933],[2180.76,-1600.56,29.45,192.472,-70.6736],[2145.59,-1501.72,28.9,188.906,-70.13],[2109.06,-1402.18,28.3333,185.192,-69.5432],[2071.16,-1302.19,27.75,181.327,-68.9089],[2031.85,-1202,27.15,177.312,-68.2218],[1991.12,-1101.87,26.5333,173.146,-67.4763],[1948.94,-1002.09,25.9,168.828,-66.6654],[1904.18,-900.448,25.2333,164.247,-65.7582],[1859.04,-802.335,24.5667,159.633,-64.7907],[1810.11,-700.859,23.85,154.644,-63.6768],[1759.61,-601.374,23.1167,149.518,-62.4494],[1705.2,-500.04,22.3333,144.029,-61.0296],[1649.16,-401.889,21.5333,138.427,-59.4498],[1587.91,-301.741,20.6667,132.382,-57.5712],[1521.35,-201.187,19.7333,125.932,-55.3272],[1448.17,-100.399,18.7167,119.023,-52.5828],[1367.02,-0.366254,17.6,111.651,-49.1494],[1274.04,99.3726,16.3333,103.687,-44.6317],[1161.49,199.291,14.8167,94.9659,-38.1959],[1007.4,299.989,12.7667,85.2807,-27.4443],[697.05,380.411,8.71667,77.5626,-0.0580465]]], - [48,392.585,[[2284.92,-2001.87,31.7667,205.944,-72.9072],[2253.52,-1901.04,31.25,202.741,-72.4846],[2221.87,-1802.03,30.7333,199.499,-72.0449],[2188.95,-1701.77,30.2,196.111,-71.5719],[2154.71,-1600.48,29.65,192.576,-71.0625],[2120.21,-1501.35,29.1,188.999,-70.5297],[2084.37,-1401.51,28.5333,185.273,-69.9545],[2047.18,-1301.21,27.95,181.395,-69.3326],[2008.61,-1200.69,27.35,177.365,-68.659],[1968.65,-1100.22,26.7333,173.182,-67.9278],[1927.27,-1000.09,26.1,168.846,-67.1325],[1884.45,-900.584,25.45,164.358,-66.2654],[1840.17,-802.007,24.7833,159.721,-65.3174],[1792.16,-700.027,24.0667,154.705,-64.2258],[1742.63,-600.022,23.3333,149.548,-63.0225],[1690.4,-500.242,22.5667,144.141,-61.6608],[1635.43,-401.401,21.7667,138.496,-60.1132],[1575.35,-300.498,20.9,132.4,-58.2719],[1511.24,-200.867,19.9833,126.002,-56.112],[1440.66,-100.622,18.9833,119.125,-53.4688],[1362.29,-0.685603,17.8833,111.753,-50.1588],[1272.34,99.5358,16.6333,103.739,-45.7948],[1164.44,199.757,15.15,94.9667,-39.6297],[1022.09,299.394,13.2167,85.3295,-29.711],[694.137,392.585,8.85,76.0739,-0.0251461]]], - [49,404.71,[[2254.15,-2000.2,31.95,205.998,-73.2508],[2224.36,-1902.39,31.45,202.891,-72.8502],[2193.33,-1803.11,30.9333,199.641,-72.4197],[2161.04,-1702.56,30.4,196.245,-71.9566],[2127.48,-1600.97,29.85,192.7,-71.4578],[2093.64,-1501.54,29.3,189.113,-70.936],[2058.5,-1401.39,28.7333,185.375,-70.3727],[2022.04,-1300.76,28.15,181.485,-69.7636],[1985.28,-1202.67,27.5667,177.553,-69.1224],[1946.1,-1101.77,26.95,173.354,-68.4072],[1905.53,-1001.2,26.3167,169.001,-67.629],[1863.55,-901.229,25.6667,164.494,-66.7804],[1820.14,-802.174,25,159.835,-65.8526],[1774.19,-702.012,24.3,154.91,-64.8095],[1725.63,-601.371,23.5667,149.723,-63.633],[1674.44,-500.919,22.8,144.281,-62.3012],[1620.56,-401.37,22,138.595,-60.7869],[1562.81,-301.587,21.15,132.566,-59.0205],[1499.99,-200.996,20.2333,126.105,-56.9081],[1431.97,-101.309,19.25,119.264,-54.3662],[1355.17,-0.0323266,18.15,111.787,-51.1276],[1269.39,99.1994,16.9333,103.84,-46.9717],[1166.09,199.644,15.4833,95.0305,-41.0793],[1031.51,299.953,13.6167,85.2807,-31.7081],[763.733,399.884,9.96667,74.7746,-7.40013],[690.618,404.71,8.98333,74.565,-0.0107375]]], - [50,416.773,[[2223.15,-2002.45,32.15,206.175,-73.6134],[2192.98,-1901.12,31.6333,202.957,-73.2082],[2162.57,-1801.62,31.1167,199.699,-72.7865],[2130.93,-1700.84,30.5833,196.293,-72.3329],[2099.03,-1602.06,30.05,192.846,-71.8594],[2065.88,-1502.32,29.5,189.249,-71.3489],[2031.45,-1401.84,28.9333,185.5,-70.7977],[1995.72,-1300.87,28.35,181.597,-70.2016],[1959.7,-1202.44,27.7667,177.651,-69.5742],[1921.31,-1101.18,27.15,173.437,-68.874],[1881.56,-1000.23,26.5167,169.065,-68.1122],[1841.49,-902.405,25.8833,164.655,-67.3032],[1797.89,-800.415,25.2,159.857,-66.3725],[1753.94,-702.176,24.5167,155.024,-65.3757],[1706.37,-600.983,23.7833,149.807,-64.2247],[1657.31,-502.093,23.0333,144.45,-62.9507],[1604.54,-401.819,22.2333,138.723,-61.4706],[1547.98,-301.257,21.3833,132.645,-59.743],[1487.56,-201.597,20.4833,126.243,-57.7151],[1420.95,-100.848,19.5,119.325,-55.2297],[1348.03,-1.31548,18.4333,111.973,-52.1614],[1264.04,99.627,17.2167,103.883,-48.101],[1165.23,199.995,15.8,95.06,-42.47],[1039.42,299.652,14.0167,85.3365,-33.7223],[820.905,399.859,10.9667,74.5127,-14.0348],[686.485,416.772,9.11667,73.0364,-0.016121]]], - [51,428.758,[[2189.94,-2002.04,32.3333,206.268,-73.9688],[2160.4,-1900.49,31.8167,203.043,-73.5723],[2130.61,-1800.75,31.3,199.777,-73.1597],[2100.6,-1702.85,30.7833,196.47,-72.73],[2068.39,-1600.7,30.2333,192.905,-72.2524],[2035.92,-1500.7,29.6833,189.298,-71.7527],[2003.2,-1402.89,29.1333,185.648,-71.2294],[1968.21,-1301.57,28.55,181.732,-70.6467],[1931.94,-1200,27.95,177.659,-70.0152],[1895.36,-1101.16,27.35,173.543,-69.3486],[1857.47,-1002.44,26.7333,169.271,-68.6237],[1817.2,-901.594,26.0833,164.725,-67.8121],[1775.57,-801.631,25.4167,160.022,-66.9244],[1731.48,-700.506,24.7167,155.046,-65.9259],[1685.97,-601.108,24,149.92,-64.8256],[1637.94,-501.632,23.25,144.529,-63.58],[1586.28,-400.727,22.45,138.763,-62.1322],[1532,-301.415,21.6167,132.757,-60.4762],[1472.86,-200.902,20.7167,126.296,-58.4938],[1408.77,-100.864,19.75,119.423,-56.1055],[1337.4,-0.142289,18.6833,111.974,-53.1051],[1257.47,99.5472,17.5,103.973,-49.2444],[1163.08,199.767,16.1167,95.1508,-43.8759],[1044.64,299.285,14.4,85.4133,-35.6599],[853.358,399.92,11.6667,74.3889,-18.4936],[681.734,428.757,9.25,71.4882,-0.0429268]]], - [52,440.652,[[2155.53,-2002.3,32.5167,206.382,-74.3299],[2126.62,-1900.5,32,203.15,-73.9424],[2097.48,-1800.52,31.4833,199.876,-73.539],[2068.1,-1702.38,30.9667,196.56,-73.1189],[2037.55,-1603.04,30.4333,193.095,-72.6664],[2005.78,-1502.7,29.8833,189.478,-72.1785],[1972.79,-1401.62,29.3167,185.707,-71.6516],[1938.56,-1300.01,28.7333,181.778,-71.0816],[1904.04,-1200.94,28.15,177.805,-70.4815],[1868.26,-1101.71,27.55,173.674,-69.8303],[1831.19,-1002.61,26.9333,169.386,-69.1221],[1791.79,-901.344,26.2833,164.821,-68.3291],[1751.05,-800.949,25.6167,160.097,-67.4615],[1708.95,-701.739,24.9333,155.215,-66.5094],[1664.43,-601.771,24.2167,150.061,-65.4352],[1617.45,-501.693,23.4667,144.638,-64.2188],[1566.91,-400.139,22.6667,138.834,-62.8043],[1513.81,-300.144,21.8333,132.782,-61.1854],[1457.03,-200.698,20.95,126.385,-59.284],[1395.43,-101.383,20,119.559,-56.9927],[1326.73,-0.961082,18.95,112.132,-54.112],[1249.68,98.9322,17.7833,104.113,-50.4008],[1159.63,198.93,16.4333,95.305,-45.295],[1046.12,299.808,14.75,85.4104,-37.4357],[876.414,399.536,12.2667,74.3802,-22.2528],[676.363,440.65,9.38333,69.9211,-0.0928236]]], - [53,452.441,[[2119.91,-2003.25,32.7,206.517,-74.6968],[2091.64,-1901.2,32.1833,203.278,-74.3183],[2063.15,-1800.97,31.6667,199.996,-73.9244],[2034.42,-1702.57,31.15,196.673,-73.514],[2004.54,-1602.96,30.6167,193.199,-73.0721],[1973.48,-1502.35,30.0667,189.572,-72.5955],[1941.23,-1400.97,29.5,185.789,-72.0808],[1908.71,-1301.95,28.9333,181.962,-71.5403],[1874.97,-1202.5,28.35,177.976,-70.9548],[1839.01,-1100.15,27.7333,173.716,-70.3012],[1802.76,-1000.72,27.1167,169.41,-69.6089],[1765.23,-901.677,26.4833,164.944,-68.8541],[1725.4,-800.835,25.8167,160.199,-68.0071],[1684.24,-701.164,25.1333,155.294,-67.0773],[1640.72,-600.707,24.4167,150.112,-66.0281],[1594.78,-500.113,23.6667,144.657,-64.8394],[1546.41,-400.077,22.8833,138.936,-63.4866],[1495.55,-301.336,22.0667,132.961,-61.9393],[1440.06,-201.012,21.1833,126.509,-60.0853],[1379.86,-100.743,20.2333,119.614,-57.8492],[1313.79,-0.789146,19.2,112.216,-55.0822],[1239.57,99.1155,18.05,104.19,-51.5131],[1152.68,199.768,16.7167,95.3096,-46.5906],[1046.2,299.6,15.1,85.4935,-39.2285],[891.682,399.5,12.7833,74.371,-25.4443],[669.226,452.44,9.5,68.3409,-0.0306548]]], - [54,464.111,[[2082.2,-2001.58,32.8667,206.569,-75.0574],[2055.46,-1902.6,32.3667,203.428,-74.6999],[2027.62,-1802.1,31.85,200.139,-74.3156],[1998.65,-1700.29,31.3167,196.7,-73.902],[1969.45,-1600.46,30.7833,193.216,-73.4703],[1940.02,-1502.66,30.25,189.689,-73.019],[1908.51,-1400.98,29.6833,185.896,-72.5167],[1876.74,-1301.65,29.1167,182.057,-71.9892],[1843.77,-1201.89,28.5333,178.058,-71.4177],[1809.6,-1101.95,27.9333,173.899,-70.7974],[1774.18,-1002.09,27.3167,169.578,-70.1226],[1736.56,-900.041,26.6667,164.976,-69.3668],[1698.62,-801.314,26.0167,160.329,-68.5608],[1658.41,-701.167,25.3333,155.401,-67.6539],[1615.9,-600.206,24.6167,150.193,-66.6302],[1572.03,-501.275,23.8833,144.828,-65.4969],[1524.78,-400.567,23.1,139.071,-64.1786],[1475.11,-301.119,22.2833,133.053,-62.6699],[1420.92,-200.024,21.4,126.547,-60.8609],[1363.16,-100.622,20.4667,119.708,-58.7179],[1299.68,-1.14887,19.45,112.344,-56.0647],[1228.27,98.7535,18.3167,104.316,-52.6389],[1145.57,198.865,17.0167,95.4807,-47.9684],[1043.79,299.565,15.4333,85.5673,-40.952],[901.747,399.538,13.25,74.3803,-28.3119],[662.626,464.108,9.63333,66.7364,-0.129332]]], - [55,475.648,[[2043.31,-2000.63,33.0333,206.643,-75.4239],[2017.21,-1901.45,32.5333,203.494,-75.075],[1990.02,-1800.74,32.0167,200.198,-74.7001],[1962.63,-1701.86,31.5,196.858,-74.3094],[1934.12,-1601.75,30.9667,193.367,-73.8886],[1904.49,-1500.62,30.4167,189.72,-73.4347],[1874.63,-1401.66,29.8667,186.027,-72.9592],[1843.62,-1302.02,29.3,182.177,-72.4449],[1811.44,-1201.93,28.7167,178.166,-71.8878],[1778.08,-1101.65,28.1167,173.993,-71.283],[1743.51,-1001.44,27.5,169.656,-70.6249],[1707.73,-901.602,26.8667,165.154,-69.9072],[1670.7,-802.412,26.2167,160.489,-69.1222],[1631.46,-701.773,25.5333,155.539,-68.2388],[1589.97,-600.291,24.8167,150.304,-67.2413],[1547.15,-500.823,24.0833,144.91,-66.1367],[1502.03,-401.636,23.3167,139.24,-64.8798],[1453.55,-301.462,22.5,133.18,-63.4107],[1401.67,-201.432,21.6333,126.746,-61.6833],[1345.31,-101.048,20.7,119.842,-59.598],[1283.38,-0.493769,19.6833,112.395,-57.0134],[1214.74,99.2228,18.5667,104.374,-53.7237],[1135.1,199.737,17.2833,95.4911,-49.2294],[1038.97,299.771,15.75,85.6234,-42.6094],[907.906,399.47,13.6833,74.4231,-30.9751],[654.307,475.646,9.75,65.1191,-0.113572]]], - [56,487.038,[[2003.26,-2000.42,33.2,206.738,-75.796],[1977.8,-1901.02,32.7,203.583,-75.4561],[1951.28,-1800.09,32.1833,200.279,-75.0906],[1924.55,-1700.98,31.6667,196.932,-74.7098],[1896.75,-1600.64,31.1333,193.431,-74.2996],[1868.73,-1502.3,30.6,189.886,-73.8709],[1838.72,-1400.06,30.0333,186.071,-73.3935],[1808.47,-1300.16,29.4667,182.209,-72.8921],[1777.98,-1202.64,28.9,178.3,-72.3647],[1745.44,-1102.01,28.3,174.113,-71.7757],[1711.73,-1001.44,27.6833,169.761,-71.1348],[1676.83,-901.218,27.05,165.243,-70.4356],[1640.72,-801.637,26.4,160.557,-69.6707],[1602.45,-700.583,25.7167,155.585,-68.8098],[1562.93,-600.983,25.0167,150.447,-67.8609],[1521.18,-500.96,24.2833,145.023,-66.7857],[1477.18,-401.188,23.5167,139.319,-65.5617],[1429.91,-300.385,22.7,133.218,-64.1304],[1380.3,-201.557,21.85,126.859,-62.4806],[1325.35,-100.304,20.9167,119.893,-60.4502],[1265.96,-0.383919,19.9167,112.489,-57.975],[1200.05,99.1362,18.8167,104.481,-54.8222],[1124.45,198.81,17.5667,95.6722,-50.5688],[1032.83,299.283,16.0667,85.7583,-44.282],[910.315,399.56,14.0833,74.463,-33.4396],[645.408,487.036,9.86667,63.4837,-0.122262]]], - [57,498.269,[[1962.04,-2000.97,33.3667,206.856,-76.1737],[1937.23,-1901.35,32.8667,203.695,-75.8427],[1911.39,-1800.18,32.35,200.384,-75.487],[1885.34,-1700.84,31.8333,197.029,-75.1163],[1858.25,-1600.25,31.3,193.52,-74.7169],[1830.94,-1501.67,30.7667,189.965,-74.2995],[1802.56,-1402.15,30.2167,186.253,-73.8487],[1773.09,-1301.91,29.65,182.381,-73.3611],[1742.5,-1201.2,29.0667,178.345,-72.8327],[1710.8,-1100.28,28.4667,174.144,-72.2589],[1678.84,-1002.1,27.8667,169.895,-71.6519],[1644.83,-901.492,27.2333,165.36,-70.9717],[1609.65,-801.504,26.5833,160.656,-70.2274],[1572.36,-700.019,25.9,155.661,-69.3895],[1534.77,-602.31,25.2167,150.622,-68.4886],[1494.11,-501.715,24.4833,145.171,-67.4434],[1451.24,-401.339,23.7167,139.434,-66.2533],[1406.14,-301.9,22.9167,133.418,-64.8908],[1356.86,-200.377,22.05,126.886,-63.2549],[1304.29,-100.123,21.1333,119.984,-61.3144],[1247.42,-0.846418,20.15,112.628,-58.9487],[1183.22,99.9106,19.05,104.517,-55.8831],[1110.59,199.75,17.8167,95.6821,-51.7984],[1024.35,299.1,16.3667,85.8664,-45.8909],[910.133,399.315,14.4667,74.5562,-35.8159],[634.896,498.269,9.96667,61.8352,-0.0062493]]], - [58,509.328,[[1919.66,-2002.31,33.5333,206.997,-76.5567],[1895.5,-1902.46,33.0333,203.83,-76.2349],[1870.35,-1801.05,32.5167,200.513,-75.8891],[1845,-1701.46,32,197.151,-75.5287],[1818.62,-1600.61,31.4667,193.634,-75.1403],[1792.03,-1501.77,30.9333,190.071,-74.7344],[1764.4,-1401.98,30.3833,186.349,-74.296],[1735.71,-1301.46,29.8167,182.466,-73.8218],[1705.94,-1200.47,29.2333,178.418,-73.3079],[1675.93,-1102.02,28.65,174.321,-72.7657],[1643.96,-1000.76,28.0333,169.939,-72.1591],[1611.73,-902.444,27.4167,165.507,-71.5152],[1577.48,-802.036,26.7667,160.785,-70.792],[1541.19,-700.104,26.0833,155.77,-69.9777],[1504.6,-601.944,25.4,150.707,-69.1019],[1465.02,-500.861,24.6667,145.228,-68.0856],[1424.21,-402.111,23.9167,139.584,-66.9541],[1380.31,-302.016,23.1167,133.53,-65.6307],[1333.29,-201.681,22.2667,127.077,-64.0731],[1282.14,-100.528,21.35,120.118,-62.1898],[1226.79,-0.278128,20.3667,112.688,-59.8917],[1166.23,98.653,19.3,104.726,-57.007],[1096.53,198.836,18.0833,95.8668,-53.1029],[1013.62,299.282,16.65,85.9403,-47.4398],[906.452,399.599,14.8167,74.5952,-38.0056],[706.822,499.98,11.45,61.2786,-12.6604],[624.857,509.327,10.0833,60.1645,-0.0667377]]], - [59,520.199,[[1875.33,-2001.1,33.6833,207.057,-76.9346],[1851.84,-1901.06,33.1833,203.883,-76.6218],[1828.17,-1802.7,32.6833,200.666,-76.2966],[1803.51,-1702.86,32.1667,197.297,-75.9467],[1777.86,-1601.75,31.6333,193.773,-75.5696],[1752.01,-1502.64,31.1,190.202,-75.1755],[1725.14,-1402.56,30.55,186.471,-74.7497],[1697.24,-1301.76,29.9833,182.577,-74.2891],[1668.29,-1200.46,29.4,178.518,-73.79],[1639.11,-1101.7,28.8167,174.409,-73.2633],[1608.01,-1000.12,28.2,170.012,-72.674],[1576.67,-901.472,27.5833,165.564,-72.0482],[1543.37,-800.714,26.9333,160.824,-71.3454],[1508.94,-700.862,26.2667,155.911,-70.5738],[1473.37,-602.235,25.5833,150.825,-69.7237],[1434.88,-500.647,24.85,145.319,-68.7369],[1395.2,-401.375,24.1,139.644,-67.638],[1352.52,-300.719,23.3,133.553,-66.352],[1307.7,-201.701,22.4667,127.182,-64.8689],[1258.88,-101.548,21.5667,120.294,-63.0757],[1205.09,-0.298736,20.5833,112.793,-60.8473],[1146.22,99.7264,19.5167,104.738,-58.0463],[1079.4,199.871,18.3167,95.871,-54.3045],[1000.71,299.878,16.9167,85.9735,-48.9324],[900.381,399.801,15.15,74.6517,-40.1157],[731.626,499.824,12.2167,61.2537,-18.9071],[614.232,520.196,10.2,58.4769,-0.159129]]], - [60,530.871,[[1829.9,-2000.7,33.8333,207.14,-77.318],[1807.07,-1900.46,33.3333,203.96,-77.0144],[1784.07,-1801.91,32.8333,200.736,-76.6987],[1760.12,-1701.86,32.3167,197.36,-76.3589],[1735.2,-1600.53,31.7833,193.827,-75.9928],[1710.09,-1501.21,31.25,190.247,-75.61],[1683.98,-1400.91,30.7,186.506,-75.1966],[1657.68,-1302.8,30.15,182.717,-74.7628],[1629.55,-1201.19,29.5667,178.647,-74.2786],[1601.21,-1102.12,28.9833,174.526,-73.7677],[1571.01,-1000.2,28.3667,170.115,-73.196],[1540.56,-901.206,27.75,165.652,-72.5889],[1508.21,-800.084,27.1,160.894,-71.9069],[1475.61,-702.317,26.45,156.085,-71.1773],[1440.22,-600.838,25.75,150.853,-70.3326],[1403.69,-501.096,25.0333,145.446,-69.397],[1365.15,-401.285,24.2833,139.741,-68.3314],[1323.7,-300.048,23.4833,133.613,-67.0839],[1280.17,-200.419,22.65,127.2,-65.6445],[1233.64,-101.402,21.7667,120.387,-63.9368],[1182.29,-0.933184,20.8,112.945,-61.8144],[1126.04,98.713,19.75,104.926,-59.146],[1062.07,198.995,18.5667,96.054,-55.5776],[986.6,299.83,17.1833,86.0765,-50.442],[891.995,399.999,15.4667,74.7148,-42.1488],[743.239,499.831,12.8,61.2658,-23.5722],[602.074,530.869,10.3,56.7765,-0.121726]]], - [61,541.332,[[1783.35,-2001.13,33.9833,207.247,-77.7068],[1761.21,-1900.69,33.4833,204.061,-77.4125],[1738.89,-1801.93,32.9833,200.831,-77.1064],[1715.65,-1701.67,32.4667,197.448,-76.777],[1691.47,-1600.12,31.9333,193.908,-76.4221],[1667.1,-1500.56,31.4,190.319,-76.0509],[1641.77,-1400.03,30.85,186.569,-75.6501],[1616.24,-1301.68,30.3,182.77,-75.2293],[1589.73,-1202.69,29.7333,178.805,-74.7736],[1561.45,-1100.49,29.1333,174.554,-74.2642],[1532.94,-1001.01,28.5333,170.249,-73.7251],[1503.4,-901.665,27.9167,165.771,-73.1369],[1472.02,-800.163,27.2667,160.997,-72.4762],[1440.39,-702.013,26.6167,156.168,-71.7692],[1406.05,-600.119,25.9167,150.914,-70.9505],[1371.44,-502.229,25.2167,145.609,-70.0653],[1334.06,-401.859,24.4667,139.875,-69.0339],[1293.85,-300.021,23.6667,133.713,-67.8259],[1252.47,-201.706,22.85,127.386,-66.4607],[1206.49,-100.067,21.95,120.393,-64.7757],[1157.55,-0.526633,21,113.015,-62.7539],[1103.86,98.5749,19.9667,105.039,-60.2116],[1042.7,198.804,18.8,96.1733,-56.8083],[971.294,299.112,17.45,86.2516,-51.9657],[882.265,399.392,15.7833,74.8811,-44.1978],[748.072,499.715,13.3,61.3274,-27.5512],[589.385,541.33,10.4,55.0595,-0.112788]]], - [62,551.569,[[1735.71,-2002.43,34.1333,207.379,-78.1006],[1714.25,-1901.77,33.6333,204.188,-77.8158],[1692.62,-1802.79,33.1333,200.952,-77.5196],[1670.1,-1702.31,32.6167,197.562,-77.2007],[1646.67,-1600.52,32.0833,194.015,-76.8572],[1623.05,-1500.73,31.55,190.419,-76.4979],[1599.25,-1402.96,31.0167,186.774,-76.1219],[1573.76,-1301.35,30.45,182.851,-75.7025],[1548.08,-1202.1,29.8833,178.876,-75.2612],[1521.43,-1102.42,29.3,174.731,-74.7821],[1493.81,-1002.59,28.7,170.414,-74.2607],[1464.41,-900.22,28.0667,165.801,-73.6761],[1434.79,-800.978,27.4333,161.132,-73.0529],[1404.14,-702.429,26.7833,156.286,-72.369],[1370.87,-600.101,26.0833,151.011,-71.5769],[1337.33,-501.774,25.3833,145.681,-70.7202],[1301.11,-400.932,24.6333,139.919,-69.7217],[1262.97,-300.662,23.85,133.851,-68.5772],[1222.89,-201.707,23.0333,127.486,-67.257],[1179.17,-101.187,22.15,120.573,-65.6588],[1131.76,-0.747641,21.2,113.133,-63.7054],[1079.76,99.3409,20.1667,105.076,-61.2464],[1021.37,199.335,19.0167,96.225,-58.0001],[953.925,298.854,17.7,86.379,-53.4361],[869.452,399.756,16.0667,74.9317,-46.0838],[747.433,499.869,13.7333,61.3679,-31.0055],[576.166,551.567,10.5,53.3263,-0.135333]]], - [63,561.568,[[1686.28,-2001.21,34.2667,207.43,-78.4903],[1665.5,-1900.39,33.7667,204.232,-78.2148],[1644.57,-1801.24,33.2667,200.99,-77.9281],[1622.77,-1700.57,32.75,197.593,-77.6197],[1600.8,-1601.76,32.2333,194.149,-77.2978],[1577.94,-1501.72,31.7,190.546,-76.9506],[1554.19,-1400.67,31.15,186.779,-76.5756],[1530.25,-1301.82,30.6,182.961,-76.1819],[1505.39,-1202.29,30.0333,178.976,-75.7553],[1479.61,-1102.34,29.45,174.82,-75.2921],[1452.87,-1002.21,28.85,170.491,-74.7881],[1425.18,-902.188,28.2333,165.985,-74.2381],[1396.51,-802.547,27.6,161.302,-73.6365],[1366.1,-701.093,26.9333,156.314,-72.9586],[1334.67,-600.808,26.25,151.143,-72.2111],[1302.22,-502.028,25.55,145.791,-71.3836],[1267.18,-400.695,24.8,140.001,-70.4187],[1231.07,-301.997,24.0333,134.031,-69.3372],[1191.49,-200.408,23.2,127.497,-68.0357],[1150,-101.139,22.3333,120.668,-66.5199],[1104.94,-1.62257,21.4,113.299,-64.6677],[1054.63,99.481,20.3667,105.164,-62.2946],[998.979,199.236,19.2333,96.3343,-59.2065],[934.575,299.097,17.9333,86.4534,-54.8574],[855.394,399.378,16.35,75.0753,-47.9873],[743.358,499.748,14.1333,61.4623,-34.2165],[561.558,561.568,10.5833,51.5804,-0.0115238]]], - [64,571.321,[[1635.8,-2000.88,34.4,207.506,-78.8853],[1616.39,-1903.22,33.9167,204.41,-78.6282],[1595.49,-1800.55,33.4,201.055,-78.3424],[1575.1,-1702.92,32.9,197.761,-78.0542],[1553.18,-1600.69,32.3667,194.2,-77.7335],[1531.1,-1500.45,31.8333,190.588,-77.3982],[1508.84,-1402.24,31.3,186.927,-77.047],[1485,-1300.14,30.7333,182.984,-76.6554],[1460.98,-1200.4,30.1667,178.989,-76.2432],[1436.05,-1100.22,29.5833,174.821,-75.7956],[1410.94,-1002.62,29,170.599,-75.3223],[1384.18,-902.275,28.3833,166.08,-74.7916],[1356.48,-802.303,27.75,161.382,-74.2108],[1327.09,-700.497,27.0833,156.376,-73.5563],[1297.46,-602.259,26.4167,151.312,-72.8528],[1265.37,-500.693,25.7,145.81,-72.0352],[1232.26,-401.164,24.9667,140.122,-71.1246],[1197.37,-301.941,24.2,134.122,-70.0813],[1159.9,-201.76,23.3833,127.682,-68.8518],[1119.82,-101.759,22.5167,120.808,-67.3914],[1076.29,-1.44812,21.5833,113.382,-65.6055],[1028.48,98.9751,20.5667,105.304,-63.355],[974.728,199.885,19.4333,96.3726,-60.3775],[913.322,299.885,18.15,86.4698,-56.2337],[839.278,399.193,16.6167,75.1966,-49.8227],[736.014,499.612,14.5,61.5681,-37.1916],[547.309,571.319,10.6833,49.8157,-0.101953]]], - [65,580.811,[[1584.29,-2001.46,34.5333,207.608,-79.2854],[1564.91,-1900.27,34.0333,204.4,-79.0288],[1545.39,-1800.75,33.5333,201.146,-78.7619],[1525.72,-1702.93,33.0333,197.847,-78.4841],[1504.57,-1600.49,32.5,194.278,-78.175],[1483.26,-1500.05,31.9667,190.659,-77.8516],[1461.78,-1401.63,31.4333,186.99,-77.513],[1439.46,-1302.28,30.8833,183.155,-77.1468],[1416.28,-1202.24,30.3167,179.151,-76.7499],[1392.24,-1101.75,29.7333,174.973,-76.3188],[1367.31,-1001.08,29.1333,170.619,-75.8496],[1341.49,-900.478,28.5167,166.086,-75.3375],[1314.76,-800.244,27.8833,161.372,-74.7771],[1287.11,-700.667,27.2333,156.474,-74.1618],[1258.54,-602.059,26.5667,151.392,-73.4838],[1227.57,-500.091,25.85,145.867,-72.6958],[1195.63,-400.147,25.1167,140.153,-71.8178],[1161.97,-300.486,24.35,134.123,-70.8115],[1126.56,-201.832,23.55,127.779,-69.6506],[1087.89,-101.203,22.6833,120.861,-68.2435],[1045.91,-0.208869,21.75,113.381,-66.5217],[1000.55,99.3806,20.75,105.365,-64.3878],[949.472,199.891,19.6333,96.4688,-61.563],[891.8,298.809,18.3833,86.6813,-57.685],[821.189,399.249,16.8667,75.2881,-51.5948],[725.575,499.683,14.8333,61.6479,-39.9427],[531.733,580.81,10.7667,48.0388,-0.0409999]]], - [66,590.032,[[1531.74,-2002.96,34.6667,207.736,-79.6902],[1513.08,-1901.57,34.1667,204.523,-79.4434],[1494.28,-1801.85,33.6667,201.264,-79.1866],[1474.7,-1700.59,33.15,197.849,-78.9102],[1454.96,-1601.17,32.6333,194.385,-78.6218],[1434.43,-1500.51,32.1,190.759,-78.3107],[1413.74,-1401.86,31.5667,187.083,-77.9849],[1392.24,-1302.29,31.0167,183.239,-77.6324],[1369.92,-1202.01,30.45,179.225,-77.2504],[1346.76,-1101.27,29.8667,175.037,-76.8355],[1322.74,-1000.34,29.2667,170.672,-76.3839],[1298.55,-902.159,28.6667,166.249,-75.9046],[1272.81,-801.565,28.0333,161.521,-75.3659],[1246.18,-701.615,27.3833,156.608,-74.7744],[1217.96,-600.191,26.7,151.38,-74.1056],[1188.83,-500.232,26,145.962,-73.3646],[1158.77,-402.086,25.2833,140.355,-72.5401],[1126.36,-301.861,24.5167,134.298,-71.5738],[1091.55,-200.601,23.7,127.787,-70.434],[1055.03,-101.33,22.85,120.961,-69.1062],[1015.32,-1.37692,21.9333,113.563,-67.4819],[971.652,99.1272,20.9333,105.48,-65.4328],[923.209,199.237,19.8333,96.6245,-62.7612],[867.686,299.512,18.5833,86.7038,-59.0349],[801.208,399.602,17.1,75.3427,-53.308],[712.966,499.473,15.15,61.7743,-42.5954],[515.689,590.032,10.85,46.2469,-0.0136364]]], - [67,598.968,[[1477.58,-2002,34.7833,207.784,-80.0918],[1459.64,-1900.45,34.2833,204.566,-79.8545],[1441.55,-1800.58,33.7833,201.301,-79.6077],[1423.33,-1702.41,33.2833,197.99,-79.3508],[1404.36,-1602.77,32.7667,194.521,-79.0739],[1384.62,-1501.87,32.2333,190.889,-78.7751],[1364.73,-1402.99,31.7,187.206,-78.4623],[1343.43,-1300.18,31.1333,183.237,-78.1134],[1322.59,-1202.64,30.5833,179.332,-77.7571],[1300.32,-1101.64,30,175.135,-77.3586],[1277.24,-1000.44,29.4,170.758,-76.9248],[1253.97,-901.983,28.8,166.323,-76.4645],[1229.22,-801.096,28.1667,161.581,-75.947],[1203.62,-700.843,27.5167,156.652,-75.3786],[1177.16,-601.534,26.85,151.535,-74.7521],[1149.15,-501.148,26.15,146.097,-74.0413],[1119.58,-400.319,25.4167,140.337,-73.2307],[1089.1,-301.857,24.6667,134.384,-72.3224],[1055.64,-200.085,23.85,127.84,-71.2279],[1020.53,-100.275,23,120.974,-69.9521],[983.058,-1.49826,22.1,113.661,-68.4206],[941.082,99.7991,21.1,105.513,-66.4535],[895.227,199.341,20.0167,96.7067,-63.9276],[842.58,299.559,18.7833,86.7929,-60.4012],[780.139,399.26,17.3333,75.481,-55.0386],[697.543,499.784,15.4333,61.8229,-45.0451],[499.18,598.968,10.9333,44.4405,-0.0247395]]], - [68,607.612,[[1422.47,-2001.98,34.9,207.859,-80.4982],[1405.25,-1900.27,34.4,204.636,-80.2707],[1387.89,-1800.24,33.9,201.366,-80.034],[1370.41,-1701.9,33.4,198.049,-79.7875],[1352.19,-1602.09,32.8833,194.574,-79.522],[1333.25,-1501.01,32.35,190.935,-79.2354],[1314.16,-1401.96,31.8167,187.244,-78.9353],[1294.32,-1301.95,31.2667,183.385,-78.6107],[1273.72,-1201.22,30.7,179.353,-78.2587],[1252.35,-1100.02,30.1167,175.144,-77.8764],[1230.81,-1001.38,29.5333,170.879,-77.4719],[1208.49,-902.64,28.9333,166.433,-77.0309],[1184.74,-801.445,28.3,161.678,-76.5349],[1160.18,-700.873,27.65,156.734,-75.9902],[1134.78,-601.234,26.9833,151.6,-75.3896],[1107.91,-500.498,26.2833,146.143,-74.708],[1080.18,-401.55,25.5667,140.491,-73.9491],[1050.29,-300.457,24.8,134.379,-73.0592],[1018.84,-200.295,24,127.937,-72.0312],[985.819,-101.831,23.1667,121.169,-70.8342],[949.205,-0.546981,22.25,113.674,-69.3404],[909.607,99.7965,21.2667,105.601,-67.4865],[866.3,198.772,20.2,96.8489,-65.1066],[816.489,298.934,18.9833,86.9503,-61.7812],[757.296,399.256,17.55,75.5761,-56.7139],[680.881,499.264,15.7167,61.9983,-47.5131],[534.669,599.989,12.25,44.1475,-15.947],[482.211,607.611,11.0167,42.62,-0.079263]]], - [69,615.951,[[1366.4,-2002.93,35.0167,207.96,-80.9094],[1349.91,-1901.05,34.5167,204.733,-80.6917],[1333.29,-1800.84,34.0167,201.459,-80.4652],[1316.54,-1702.33,33.5167,198.137,-80.2295],[1299.1,-1602.34,33,194.656,-79.9754],[1280.96,-1501.07,32.4667,191.011,-79.7012],[1262.68,-1401.82,31.9333,187.313,-79.4141],[1243.69,-1301.61,31.3833,183.446,-79.1034],[1223.96,-1200.68,30.8167,179.406,-78.7665],[1204.08,-1102.12,30.25,175.309,-78.4114],[1182.87,-1000.41,29.65,170.911,-78.0135],[1161.49,-901.438,29.05,166.454,-77.5913],[1138.75,-800.003,28.4167,161.685,-77.1164],[1115.84,-701.726,27.7833,156.854,-76.6086],[1091.52,-601.74,27.1167,151.704,-76.0345],[1065.8,-500.637,26.4167,146.228,-75.3827],[1039.25,-401.309,25.7,140.556,-74.6569],[1011.25,-301.961,24.95,134.552,-73.8249],[981.143,-201.254,24.15,128.081,-72.8432],[948.9,-100.298,23.3,121.141,-71.6754],[914.486,-0.296379,22.4,113.737,-70.2718],[877.224,99.0956,21.4333,105.744,-68.5306],[835.771,198.986,20.3667,96.915,-66.2573],[788.749,298.907,19.1667,87.0417,-63.1238],[732.759,399.63,17.75,75.6221,-58.3392],[661.635,499.468,15.9667,62.0629,-49.7946],[537.986,599.711,12.9,44.26,-23.6166],[464.78,615.949,11.1,40.7859,-0.183458]]], - [70,623.976,[[1308.88,-2001.44,35.1167,207.983,-81.318],[1293.65,-1902.81,34.6333,204.86,-81.1171],[1277.77,-1802.42,34.1333,201.581,-80.9011],[1261.24,-1700.46,33.6167,198.144,-80.6684],[1244.57,-1600.33,33.1,194.656,-80.4257],[1227.79,-1502.06,32.5833,191.118,-80.1721],[1210.32,-1402.61,32.05,187.414,-79.8981],[1192.17,-1302.19,31.5,183.54,-79.6016],[1173.33,-1201.03,30.9333,179.492,-79.2801],[1154.34,-1102.26,30.3667,175.387,-78.9411],[1134.08,-1000.3,29.7667,170.979,-78.5614],[1113.66,-901.095,29.1667,166.511,-78.1583],[1092.51,-802.04,28.55,161.856,-77.7173],[1070.04,-700.869,27.9,156.885,-77.2201],[1046.81,-600.61,27.2333,151.718,-76.6718],[1022.82,-501.585,26.55,146.356,-76.0646],[997.466,-401.859,25.8333,140.663,-75.3725],[970.721,-302.09,25.0833,134.636,-74.579],[941.967,-200.931,24.2833,128.136,-73.6423],[911.777,-101.418,23.45,121.299,-72.5508],[878.911,-0.766706,22.55,113.852,-71.2134],[843.326,99.3298,21.5833,105.805,-69.5532],[804.359,198.511,20.5333,97.0417,-67.4203],[759.458,299.505,19.3333,87.064,-64.4329],[707.256,399.324,17.95,75.7488,-59.9813],[640.627,499.721,16.2,62.1186,-52.001],[531.627,599.961,13.3667,44.2855,-29.1496],[446.245,623.975,11.1667,38.9403,-0.104568]]], - [71,631.676,[[1250.47,-2000.94,35.2167,208.034,-81.7313],[1235.96,-1902.18,34.7333,204.905,-81.54],[1220.83,-1801.65,34.2333,201.622,-81.3342],[1205.58,-1702.81,33.7333,198.291,-81.1199],[1189.71,-1602.48,33.2167,194.799,-80.889],[1173.2,-1500.86,32.6833,191.141,-80.6397],[1156.55,-1401.26,32.15,187.431,-80.3787],[1139.26,-1300.68,31.6,183.549,-80.0961],[1121.83,-1202.31,31.05,179.612,-79.7991],[1103.21,-1100.42,30.4667,175.377,-79.4668],[1084.43,-1001.09,29.8833,171.083,-79.1152],[1064.98,-901.627,29.2833,166.604,-78.7316],[1044.83,-802.308,28.6667,161.939,-78.3119],[1023.42,-700.856,28.0167,156.954,-77.8386],[1001.29,-600.307,27.35,151.773,-77.3166],[978.435,-500.981,26.6667,146.393,-76.7385],[954.275,-400.938,25.95,140.681,-76.0793],[928.794,-300.835,25.2,134.63,-75.3232],[901.971,-201.374,24.4167,128.239,-74.4502],[873.21,-101.364,23.5833,121.369,-73.4118],[841.901,-0.169225,22.6833,113.881,-72.1388],[808.588,98.8503,21.7333,105.922,-70.5868],[771.472,198.834,20.6833,97.0903,-68.5585],[729.299,299.429,19.5,87.1534,-65.757],[680.183,399.427,18.1333,75.8216,-61.5774],[618.552,499.229,16.4333,62.2843,-54.226],[520.911,599.967,13.7667,44.3725,-33.966],[427.318,631.675,11.2333,37.0818,-0.0681434]]], - [72,639.043,[[1191.21,-2001.45,35.3167,208.112,-82.1491],[1177.42,-1902.55,34.8333,204.98,-81.9674],[1163.05,-1801.87,34.3333,201.693,-81.7721],[1148.56,-1702.88,33.8333,198.357,-81.5686],[1133.48,-1602.4,33.3167,194.86,-81.3493],[1117.79,-1500.62,32.7833,191.197,-81.1126],[1101.97,-1400.85,32.25,187.48,-80.8647],[1085.54,-1300.1,31.7,183.591,-80.5964],[1068.98,-1201.56,31.15,179.647,-80.3142],[1051.79,-1102.37,30.5833,175.525,-80.0079],[1033.96,-1002.78,30,171.223,-79.6744],[1014.96,-900.318,29.3833,166.61,-79.3001],[995.81,-800.801,28.7667,161.933,-78.9013],[975.994,-701.704,28.1333,157.063,-78.4635],[954.973,-600.847,27.4667,151.868,-77.9682],[933.258,-501.204,26.7833,146.473,-77.4197],[910.306,-400.824,26.0667,140.742,-76.7941],[886.098,-300.366,25.3167,134.67,-76.0764],[860.616,-200.531,24.5333,128.252,-75.2473],[833.294,-100.12,23.7,121.35,-74.2607],[804.103,-0.306149,22.8167,113.963,-73.0746],[772.46,99.3187,21.8667,105.955,-71.6019],[737.204,199.977,20.8167,97.0589,-69.6753],[698.278,298.66,19.6667,87.312,-67.0935],[651.634,399.975,18.3,75.8362,-63.1326],[594.258,499.705,16.6333,62.3004,-56.2943],[506.789,599.876,14.1167,44.4847,-38.2738],[408.003,639.042,11.3,35.2106,-0.0811663]]], - [73,646.068,[[1131.1,-2002.98,35.4167,208.22,-82.571],[1117.59,-1900.54,34.9167,204.976,-82.393],[1104.43,-1803.09,34.4333,201.793,-82.2142],[1090.25,-1700.67,33.9167,198.342,-82.0151],[1075.96,-1600.08,33.4,194.838,-81.8073],[1061.56,-1501.34,32.8833,191.284,-81.5902],[1046.59,-1401.4,32.35,187.561,-81.3557],[1031.03,-1300.47,31.8,183.667,-81.1018],[1015.34,-1201.74,31.25,179.715,-80.8347],[999.061,-1102.36,30.6833,175.587,-80.5448],[982.171,-1002.57,30.1,171.276,-80.2292],[964.666,-902.639,29.5,166.779,-79.8848],[946.043,-800.172,28.8667,161.965,-79.4974],[927.275,-700.853,28.2333,157.083,-79.0828],[907.865,-602.246,27.5833,152.005,-78.626],[887.303,-502.268,26.9,146.596,-78.1075],[865.569,-401.533,26.1833,140.848,-77.516],[842.646,-300.7,25.4333,134.755,-76.8373],[818.515,-200.47,24.65,128.314,-76.0531],[793.162,-101.593,23.8333,121.522,-75.1394],[765.524,-1.19594,22.95,114.099,-74.0192],[735.563,99.0616,22,106.046,-72.6278],[702.715,198.895,20.9667,97.2305,-70.8374],[665.326,299.888,19.8,87.2566,-68.3606],[622.244,399.85,18.4667,75.9293,-64.7047],[569.021,499.483,16.8333,62.4183,-58.3832],[490.089,599.563,14.4333,44.645,-42.2637],[388.306,646.066,11.3667,33.3275,-0.152328]]], - [74,652.739,[[1069.74,-2002.1,35.5,208.249,-82.9911],[1057.42,-1902.94,35.0167,205.109,-82.8289],[1044.57,-1802,34.5167,201.814,-82.6544],[1031.62,-1702.74,34.0167,198.469,-82.4727],[1018.13,-1601.97,33.5,194.962,-82.2769],[1004.55,-1503.05,32.9833,191.404,-82.0723],[990.415,-1402.92,32.45,187.677,-81.8512],[975.729,-1301.8,31.9,183.777,-81.6119],[960.93,-1202.88,31.35,179.82,-81.3602],[945.111,-1100.4,30.7667,175.562,-81.0787],[929.17,-1000.47,30.1833,171.242,-80.7807],[912.647,-900.395,29.5833,166.734,-80.4555],[895.534,-800.436,28.9667,162.036,-80.0995],[877.823,-700.881,28.3333,157.144,-79.7087],[859.507,-602.029,27.6833,152.053,-79.2779],[840.102,-501.791,27,146.629,-78.7888],[819.592,-400.782,26.2833,140.864,-78.2308],[798.443,-301.854,25.55,134.888,-77.6053],[775.675,-201.208,24.7667,128.424,-76.8668],[751.753,-101.892,23.95,121.605,-76.006],[725.676,-1.01725,23.0667,114.149,-74.9503],[697.407,99.7593,22.1167,106.052,-73.638],[666.915,198.619,21.1,97.3229,-71.9778],[632.148,299.072,19.95,87.4118,-69.681],[592.017,399.032,18.6333,76.103,-66.2897],[542.329,499.45,17.0167,62.5035,-60.4111],[470.479,599.777,14.7,44.6906,-45.8073],[368.23,652.737,11.4333,31.433,-0.292816]]], - [75,659.052,[[1007.62,-2002.27,35.5833,208.306,-83.4153],[996.032,-1903,35.1,205.164,-83.2629],[983.953,-1801.93,34.6,201.864,-83.099],[971.781,-1702.55,34.1,198.516,-82.9283],[959.106,-1601.65,33.5833,195.004,-82.7443],[946.335,-1502.6,33.0667,191.441,-82.552],[933.05,-1402.34,32.5333,187.708,-82.3443],[919.245,-1301.08,31.9833,183.802,-82.1194],[905.333,-1202.01,31.4333,179.839,-81.8829],[890.89,-1102.28,30.8667,175.696,-81.626],[875.908,-1002.13,30.2833,171.369,-81.3464],[860.379,-901.815,29.6833,166.855,-81.0412],[844.296,-801.612,29.0667,162.148,-80.7072],[827.65,-701.805,28.4333,157.246,-80.3403],[809.993,-600.195,27.7667,152.012,-79.9251],[792.199,-502.176,27.1,146.707,-79.4768],[772.923,-400.872,26.3833,140.926,-78.9529],[753.045,-301.642,25.65,134.932,-78.3655],[731.647,-200.669,24.8667,128.446,-77.6717],[709.164,-101.009,24.05,121.601,-76.8628],[685.119,-1.60677,23.1833,114.254,-75.8902],[658.554,99.7164,22.2333,106.116,-74.659],[629.9,199.167,21.2167,97.3343,-73.1],[597.705,298.914,20.0833,87.4933,-70.9753],[559.997,399.855,18.7667,76.071,-67.7906],[514.276,499.642,17.1833,62.5499,-62.3845],[449.214,599.663,14.95,44.8034,-49.2304],[347.288,659.05,11.4833,29.5281,-0.199529]]], - [76,664.997,[[944.384,-2000.04,35.65,208.286,-83.8384],[933.539,-1900.69,35.1667,205.139,-83.6958],[922.612,-1802.89,34.6833,201.946,-83.5476],[910.842,-1700.09,34.1667,198.482,-83.3825],[899.364,-1602.34,33.6667,195.079,-83.2159],[887.414,-1503.15,33.15,191.511,-83.0362],[874.984,-1402.74,32.6167,187.774,-82.8419],[862.067,-1301.33,32.0667,183.863,-82.6316],[849.05,-1202.11,31.5167,179.893,-82.4105],[835.536,-1102.22,30.95,175.744,-82.1703],[821.518,-1001.9,30.3667,171.41,-81.9088],[806.987,-901.417,29.7667,166.888,-81.6233],[791.938,-801.036,29.15,162.172,-81.3109],[776.364,-701.044,28.5167,157.259,-80.9677],[760.256,-601.739,27.8667,152.146,-80.5894],[743.192,-501.021,27.1833,146.695,-80.1597],[725.576,-401.816,26.4833,141.034,-79.6813],[706.556,-300.052,25.7333,134.886,-79.1194],[686.962,-200.942,24.9667,128.518,-78.4843],[665.928,-100.916,24.15,121.649,-77.7282],[643.434,-1.12099,23.2833,114.272,-76.8189],[619.018,98.9199,22.35,106.24,-75.6888],[592.215,198.991,21.3333,97.4088,-74.2333],[562.098,299.436,20.2,87.4991,-72.2475],[527.722,398.818,18.9167,76.2622,-69.352],[485.413,499.153,17.35,62.6947,-64.3745],[425.937,599.883,15.1667,44.8406,-52.4054],[326.04,664.995,11.5333,27.6125,-0.163388]]], - [77,670.566,[[880.823,-2002.33,35.7333,208.404,-84.2701],[870.729,-1902.84,35.25,205.255,-84.1375],[860.207,-1801.56,34.75,201.948,-83.9948],[849.604,-1701.95,34.25,198.592,-83.8463],[838.564,-1600.83,33.7333,195.072,-83.6861],[827.439,-1501.55,33.2167,191.499,-83.5187],[815.868,-1401.05,32.6833,187.756,-83.3379],[804.208,-1302.58,32.15,183.958,-83.1481],[791.724,-1200.22,31.5833,179.863,-82.9361],[779.143,-1100.22,31.0167,175.707,-82.7124],[766.467,-1002.63,30.45,171.49,-82.476],[752.943,-901.961,29.85,166.96,-82.2106],[738.936,-801.387,29.2333,162.236,-81.92],[724.44,-701.194,28.6,157.315,-81.6008],[709.448,-601.681,27.95,152.191,-81.2489],[693.565,-500.743,27.2667,146.728,-80.8493],[677.17,-401.311,26.5667,141.053,-80.4041],[659.861,-301.517,25.8333,135.026,-79.8934],[641.627,-202.044,25.0667,128.641,-79.3035],[622.053,-101.628,24.25,121.75,-78.6012],[601.118,-1.41655,23.3833,114.345,-77.7562],[578.398,99.0775,22.45,106.279,-76.7056],[553.453,199.646,21.4333,97.4016,-75.3515],[525.84,299.251,20.3167,87.5745,-73.5322],[493.852,399.47,19.0333,76.2419,-70.8396],[454.904,499.879,17.4833,62.6506,-66.2539],[401.262,599.953,15.3667,44.9048,-55.4816],[304.492,670.564,11.5833,25.6868,-0.198063]]], - [78,675.751,[[816.24,-2002.24,35.8,208.443,-84.7006],[806.901,-1902.66,35.3167,205.291,-84.578],[797.166,-1801.28,34.8167,201.981,-84.446],[787.355,-1701.58,34.3167,198.622,-84.3086],[777.14,-1600.35,33.8,195.098,-84.1604],[766.846,-1500.98,33.2833,191.521,-84.0056],[756.14,-1400.36,32.75,187.774,-83.8384],[745.351,-1301.79,32.2167,183.971,-83.6628],[734.141,-1202.29,31.6667,179.991,-83.4726],[722.503,-1102.11,31.1,175.83,-83.2659],[710.431,-1001.49,30.5167,171.483,-83.0409],[697.918,-900.698,29.9167,166.946,-82.7953],[685.309,-802.678,29.3167,162.342,-82.5338],[671.899,-702.269,28.6833,157.413,-82.239],[657.673,-600.019,28.0167,152.147,-81.9052],[643.337,-501.356,27.35,146.806,-81.5445],[628.17,-401.677,26.65,141.119,-81.1331],[612.158,-301.623,25.9167,135.078,-80.6611],[595.288,-201.876,25.15,128.675,-80.1157],[577.181,-101.166,24.3333,121.763,-79.4663],[557.814,-0.63824,23.4667,114.332,-78.6846],[537.172,98.4657,22.55,106.378,-77.7308],[514.099,199.563,21.5333,97.4585,-76.4803],[488.557,299.753,20.4167,87.5729,-74.7985],[459.355,399.44,19.15,76.3002,-72.3423],[423.721,499.948,17.6167,62.7006,-68.1541],[375.289,599.922,15.55,44.9846,-58.4638],[282.651,675.749,11.6333,23.7517,-0.321461]]], - [79,680.549,[[751.027,-2003.23,35.8667,208.513,-85.1345],[742.151,-1900.14,35.3667,205.249,-85.0179],[733.504,-1802.06,34.8833,202.047,-84.9008],[724.492,-1702.26,34.3833,198.684,-84.7746],[715.108,-1600.91,33.8667,195.157,-84.6386],[705.652,-1501.42,33.35,191.577,-84.4965],[695.816,-1400.7,32.8167,187.826,-84.3428],[685.905,-1302,32.2833,184.019,-84.1816],[675.607,-1202.38,31.7333,180.034,-84.007],[664.916,-1102.07,31.1667,175.868,-83.8172],[653.825,-1001.32,30.5833,171.516,-83.6106],[642.33,-900.385,29.9833,166.972,-83.3851],[630.747,-802.225,29.3833,162.361,-83.1449],[618.427,-701.667,28.75,157.423,-82.8741],[605.686,-601.775,28.1,152.281,-82.5754],[592.188,-500.436,27.4167,146.796,-82.2362],[578.254,-400.589,26.7167,141.096,-81.8581],[563.545,-300.357,25.9833,135.04,-81.4243],[548.048,-200.423,25.2167,128.62,-80.9229],[531.754,-101.514,24.4167,121.83,-80.3386],[513.966,-0.645932,23.55,114.376,-79.6212],[495.005,98.8211,22.6333,106.392,-78.7457],[474.161,198.736,21.6333,97.5804,-77.6175],[450.703,299.546,20.5167,87.6417,-76.0761],[423.884,399.942,19.25,76.2888,-73.8219],[391.87,499.349,17.75,62.8465,-70.0681],[348.117,599.843,15.7167,45.0695,-61.3586],[260.159,680.549,11.6667,21.8075,-0.127589]]], - [80,684.95,[[684.942,-2001.85,35.9167,208.505,-85.5678],[677.125,-1902.11,35.4333,205.348,-85.4652],[668.977,-1800.57,34.9333,202.033,-85.3548],[660.766,-1700.7,34.4333,198.667,-85.2398],[652.493,-1602.54,33.9333,195.25,-85.12],[643.879,-1502.92,33.4167,191.668,-84.9906],[634.92,-1402.06,32.8833,187.914,-84.8508],[625.609,-1300.18,32.3333,183.983,-84.6995],[616.226,-1200.49,31.7833,179.994,-84.5403],[606.486,-1100.11,31.2167,175.821,-84.3673],[596.671,-1002.13,30.65,171.588,-84.1845],[586.2,-901.043,30.05,167.038,-83.9791],[575.356,-800.037,29.4333,162.292,-83.7543],[564.428,-702.005,28.8167,157.476,-83.5141],[552.822,-601.943,28.1667,152.326,-83.2422],[540.527,-500.422,27.4833,146.832,-82.9333],[527.834,-400.388,26.7833,141.122,-82.5891],[514.741,-302.19,26.0667,135.192,-82.2035],[500.628,-201.939,25.3,128.759,-81.7478],[485.477,-100.687,24.4833,121.809,-81.205],[469.586,-1.46227,23.6333,114.477,-80.5647],[452.318,98.3953,22.7167,106.467,-79.7685],[433.333,198.74,21.7167,97.6207,-78.7421],[412.288,298.607,20.6167,87.7825,-77.3621],[387.864,399.752,19.35,76.3569,-75.3144],[359.035,499.058,17.8667,62.9402,-71.9425],[319.848,599.748,15.8667,45.151,-64.1737],[237.78,684.947,11.7167,19.855,-0.468053]]], - [81,688.951,[[618.33,-2001.57,35.9667,208.529,-86.0043],[611.281,-1901.77,35.4833,205.369,-85.9118],[603.933,-1800.15,34.9833,202.051,-85.8123],[596.529,-1700.21,34.4833,198.682,-85.7085],[589.068,-1601.98,33.9833,195.263,-85.6005],[581.301,-1502.29,33.4667,191.677,-85.4839],[573.222,-1401.35,32.9333,187.919,-85.3578],[565.08,-1302.44,32.4,184.105,-85.2256],[556.621,-1202.61,31.85,180.112,-85.0822],[547.839,-1102.07,31.2833,175.937,-84.9265],[538.729,-1001.08,30.7,171.574,-84.7569],[529.55,-902.677,30.1167,167.146,-84.577],[519.772,-801.497,29.5,162.395,-84.3746],[509.652,-700.676,28.8667,157.443,-84.1522],[499.186,-600.513,28.2167,152.284,-83.9069],[488.37,-501.319,27.55,146.915,-83.6352],[476.926,-401.079,26.85,141.196,-83.3252],[464.845,-300.432,26.1167,135.116,-82.9693],[452.118,-200.059,25.35,128.668,-82.558],[438.735,-100.689,24.55,121.843,-82.0783],[424.408,-1.20459,23.7,114.492,-81.5012],[408.838,98.9349,22.7833,106.457,-80.7833],[391.721,199.59,21.7833,97.5781,-79.8574],[372.746,299.799,20.6833,87.6952,-78.6114],[351.306,398.862,19.45,76.506,-76.8157],[325.318,499.102,17.9667,62.9782,-73.7842],[290.584,599.678,16,45.221,-66.9176],[214.829,688.948,11.75,17.8945,-0.471789]]], - [82,692.545,[[551.216,-2002.4,36.0167,208.583,-86.4435],[544.939,-1902.52,35.5333,205.422,-86.3612],[538.396,-1800.82,35.0333,202.102,-86.2726],[531.803,-1700.8,34.5333,198.731,-86.1804],[525.159,-1602.48,34.0333,195.31,-86.0841],[518.243,-1502.7,33.5167,191.721,-85.9803],[511.048,-1401.68,32.9833,187.96,-85.8682],[503.799,-1302.68,32.45,184.143,-85.7505],[496.267,-1202.75,31.9,180.147,-85.6229],[488.446,-1102.12,31.3333,175.968,-85.4842],[480.334,-1001.03,30.75,171.601,-85.3333],[472.16,-902.517,30.1667,167.168,-85.1732],[463.453,-801.227,29.55,162.411,-84.9929],[454.442,-700.293,28.9167,157.453,-84.7949],[445.122,-600.013,28.2667,152.287,-84.5765],[435.491,-500.697,27.6,146.91,-84.3346],[425.301,-400.329,26.9,141.181,-84.0585],[414.788,-301.786,26.1833,135.23,-83.7491],[403.457,-201.162,25.4167,128.771,-83.3834],[391.542,-101.527,24.6167,121.933,-82.957],[378.786,-1.75918,23.7667,114.565,-82.4439],[364.924,98.6895,22.85,106.509,-81.8055],[349.684,199.684,21.85,97.6014,-80.9818],[333.047,298.831,20.7667,87.8302,-79.8912],[313.701,399.76,19.5167,76.4318,-78.2719],[290.824,499.5,18.05,62.9578,-75.6001],[260.429,599.665,16.1167,45.2727,-69.5994],[191.408,692.545,11.7667,15.9262,-0.0150131]]], - [83,695.728,[[483.442,-2000.87,36.05,208.561,-86.8826],[477.94,-1900.96,35.5667,205.397,-86.8105],[472.396,-1802.59,35.0833,202.186,-86.7355],[466.618,-1702.47,34.5833,198.814,-86.6547],[460.602,-1600.81,34.0667,195.276,-86.5676],[454.539,-1501,33.55,191.684,-86.4765],[448.43,-1403.06,33.0333,188.038,-86.3813],[441.878,-1300.9,32.4833,184.098,-86.275],[435.275,-1200.93,31.9333,180.098,-86.163],[428.421,-1100.25,31.3667,175.914,-86.0414],[421.514,-1001.97,30.8,171.668,-85.9129],[414.145,-900.568,30.2,167.104,-85.7685],[406.72,-801.932,29.6,162.471,-85.6148],[398.823,-700.869,28.9667,157.507,-85.4414],[390.655,-600.454,28.3167,152.336,-85.2501],[382.215,-501,27.65,146.953,-85.0383],[373.284,-400.484,26.95,141.216,-84.7964],[364.071,-301.789,26.2333,135.256,-84.5255],[354.141,-201.001,25.4667,128.786,-84.2051],[343.699,-101.193,24.6667,121.936,-83.8315],[332.52,-1.24048,23.8167,114.552,-83.3817],[320.371,99.409,22.9,106.476,-82.822],[307.239,199.012,21.9167,97.6918,-82.1126],[292.66,298.564,20.8333,87.8872,-81.1585],[275.708,399.965,19.5833,76.4375,-79.7406],[255.891,499.238,18.1333,63.0314,-77.4292],[229.488,599.734,16.2167,45.3006,-72.2285],[168.089,695.727,11.8,13.9515,-0.246196]]], - [84,698.494,[[415.278,-2000.47,36.0833,208.57,-87.3243],[410.555,-1900.5,35.6,205.404,-87.2623],[405.796,-1802.09,35.1167,202.191,-87.198],[400.836,-1701.93,34.6167,198.817,-87.1287],[395.671,-1600.22,34.1,195.277,-87.0538],[390.466,-1500.36,33.5833,191.682,-86.9757],[385.222,-1402.37,33.0667,188.034,-86.894],[379.597,-1300.16,32.5167,184.091,-86.8027],[373.929,-1200.13,31.9667,180.088,-86.7065],[368.218,-1102.33,31.4167,176.024,-86.6053],[362.115,-1001.07,30.8333,171.65,-86.4918],[355.965,-902.389,30.25,167.209,-86.3714],[349.415,-800.914,29.6333,162.444,-86.2359],[342.814,-702.409,29.0167,157.606,-86.091],[335.804,-601.843,28.3667,152.431,-85.927],[328.56,-502.232,27.7,147.043,-85.7454],[320.895,-401.551,27,141.301,-85.5381],[312.803,-300.436,26.2667,135.194,-85.3001],[304.464,-201.711,25.5167,128.856,-85.031],[295.502,-101.708,24.7167,121.995,-84.7107],[285.907,-1.54507,23.8667,114.598,-84.3251],[275.479,99.3326,22.95,106.505,-83.845],[264.207,199.182,21.9667,97.6996,-83.2363],[251.694,299.008,20.8833,87.8652,-82.4173],[237.339,399.468,19.65,76.5244,-81.2176],[220.331,499.341,18.2,63.045,-79.2367],[197.869,599.907,16.3,45.2998,-74.8148],[144.583,698.491,11.8333,11.9716,-0.72422]]], - [85,700.843,[[346.755,-2001.18,36.1167,208.61,-87.768],[342.814,-1901.16,35.6333,205.444,-87.7164],[338.843,-1802.69,35.15,202.23,-87.6627],[334.704,-1702.48,34.65,198.854,-87.6048],[330.394,-1600.71,34.1333,195.312,-87.5425],[326.052,-1500.79,33.6167,191.717,-87.4773],[321.676,-1402.75,33.1,188.066,-87.4091],[316.982,-1300.47,32.55,184.122,-87.333],[312.253,-1200.38,32,180.116,-87.2528],[307.488,-1102.51,31.45,176.051,-87.1683],[302.395,-1001.18,30.8667,171.673,-87.0737],[297.264,-902.425,30.2833,167.229,-86.9732],[291.798,-800.874,29.6667,162.46,-86.8601],[286.29,-702.293,29.05,157.619,-86.7393],[280.441,-601.646,28.4,152.439,-86.6025],[274.396,-501.951,27.7333,147.046,-86.4509],[268,-401.181,27.0333,141.298,-86.2779],[261.402,-302.223,26.3167,135.324,-86.0841],[254.29,-201.151,25.55,128.837,-85.8549],[246.812,-101.044,24.75,121.967,-85.5874],[238.806,-0.771208,23.9,114.558,-85.2655],[230.264,98.4569,23,106.598,-84.8724],[220.86,198.583,22.0167,97.7752,-84.3655],[210.42,298.718,20.9333,87.9164,-83.683],[198.443,399.532,19.7,76.5387,-82.683],[184.253,499.823,18.25,62.9967,-81.0294],[165.843,599.468,16.3833,45.4234,-77.4134],[124.721,699.978,12.25,10.7669,-22.0206],[120.728,700.841,11.85,9.9852,-0.659378]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 238.806; -_maxRange = 1372.89; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg2.sqf deleted file mode 100644 index 720a6bdf11..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg2.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_he_pd_chg2 -// Ammo: ace_arty_82mm_he_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,631.392,[[3468.3,-2000.89,35.35,218.351,-68.7731],[3429.94,-1903.24,34.8667,215.665,-68.3153],[3388.6,-1800.55,34.35,212.761,-67.809],[3348.26,-1702.85,33.85,209.922,-67.3014],[3304.88,-1600.5,33.3167,206.862,-66.74],[3261.14,-1500.08,32.7833,203.771,-66.1568],[3217.03,-1401.64,32.25,200.65,-65.5505],[3171.17,-1302.21,31.7,197.404,-64.8998],[3123.53,-1202.03,31.1333,194.031,-64.2007],[3074.06,-1101.33,30.55,190.531,-63.4488],[3022.75,-1000.36,29.95,186.906,-62.639],[2970.99,-902.074,29.35,183.257,-61.7898],[2915.9,-801.281,28.7167,179.386,-60.8479],[2858.85,-701.038,28.0667,175.397,-59.829],[2799.83,-601.644,27.4,171.294,-58.725],[2737.31,-501.062,26.7,166.983,-57.4966],[2672.72,-402.159,25.9833,162.574,-56.1594],[2602.99,-300.987,25.2167,157.876,-54.6326],[2529.55,-200.597,24.4167,153.011,-52.9238],[2452.31,-101.736,23.5833,148.004,-51.0069],[2368.09,-1.61035,22.6833,142.693,-48.7652],[2275.12,99.777,21.7,137.047,-46.0928],[2174.8,198.662,20.65,131.255,-42.9572],[2058.86,299.629,19.45,125.027,-38.984],[1923.56,399.819,18.0667,118.519,-33.8465],[1753.31,499.609,16.35,111.75,-26.6047],[1483.92,599.631,13.6833,105.07,-13.6032],[1222.62,631.39,11.15,104.185,-0.0639445]]], - [46,652.815,[[3435.06,-2000.84,35.6333,218.547,-69.1934],[3397.4,-1902.83,35.15,215.851,-68.7447],[3358.12,-1803.04,34.65,213.031,-68.2646],[3317.19,-1701.65,34.1333,210.085,-67.7507],[3275.93,-1602.06,33.6167,207.108,-67.2177],[3232.99,-1501.16,33.0833,204.004,-66.6465],[3189.68,-1402.23,32.55,200.869,-66.0526],[3144.66,-1302.3,32,197.606,-65.4152],[3097.88,-1201.59,31.4333,194.215,-64.7302],[3049.32,-1100.34,30.85,190.694,-63.9932],[3000.34,-1001.58,30.2667,187.148,-63.222],[2949.54,-902.64,29.6667,183.475,-62.3906],[2895.46,-801.152,29.0333,179.576,-61.4681],[2839.47,-700.188,28.3833,175.555,-60.47],[2781.54,-600.048,27.7167,171.418,-59.3881],[2721.63,-501.043,27.0333,167.169,-58.2132],[2658.25,-401.226,26.3167,162.715,-56.9036],[2591.31,-301.235,25.5667,158.067,-55.441],[2520.75,-201.754,24.7833,153.24,-53.8038],[2444.98,-101.563,23.95,148.158,-51.9281],[2363.89,-1.80417,23.0667,142.856,-49.7745],[2274.26,99.65,22.1,137.191,-47.2036],[2177.44,199.047,21.0667,131.348,-44.183],[2066.93,299.847,19.9,125.098,-40.401],[1939.12,399.976,18.5667,118.544,-35.5527],[1782.1,499.453,16.95,111.7,-28.8745],[1551.67,599.848,14.6167,104.669,-17.7309],[1220.12,652.813,11.3333,102.277,-0.0491473]]], - [47,674.195,[[3399.87,-2001.62,35.9167,218.767,-69.6198],[3362.91,-1903.22,35.4333,216.061,-69.1803],[3324.36,-1803.04,34.9333,213.231,-68.7101],[3284.2,-1701.24,34.4167,210.274,-68.2067],[3243.7,-1601.24,33.9,207.284,-67.6846],[3202.88,-1503.04,33.3833,204.264,-67.1427],[3159.06,-1400.53,32.8333,201.016,-66.5429],[3114.87,-1300.14,32.2833,197.737,-65.9182],[3070.32,-1201.9,31.7333,194.427,-65.2669],[3022.67,-1100.08,31.15,190.887,-64.5454],[2974.61,-1000.76,30.5667,187.319,-63.7901],[2924.77,-901.227,29.9667,183.622,-62.9757],[2873.11,-801.757,29.35,179.799,-62.0963],[2818.18,-700.056,28.7,175.748,-61.1194],[2762.77,-601.632,28.05,171.68,-60.0874],[2704.02,-501.747,27.3667,167.394,-58.9384],[2641.85,-400.996,26.65,162.895,-57.657],[2576.19,-300.02,25.9,158.195,-56.2252],[2508.47,-201.584,25.1333,153.413,-54.6568],[2434.16,-100.158,24.3,148.259,-52.8207],[2356.15,-0.922854,23.4333,142.972,-50.7519],[2271.31,98.7141,22.5,137.396,-48.3242],[2177.95,198.583,21.4833,131.509,-45.4196],[2072.76,299.096,20.35,125.252,-41.8288],[1952.28,398.928,19.0667,118.678,-37.2695],[1804.9,499.372,17.5167,111.692,-31.0097],[1602.12,599.68,15.4167,104.453,-21.1965],[1216.56,674.193,11.5167,100.346,-0.0523661]]], - [48,695.508,[[3362.72,-2003.25,36.2,219.012,-70.0521],[3325.21,-1901.09,35.7,216.203,-69.6069],[3287.39,-1800.55,35.2,213.362,-69.1461],[3249.27,-1701.66,34.7,210.489,-68.6691],[3209.55,-1601.22,34.1833,207.487,-68.158],[3169.51,-1502.6,33.6667,204.454,-67.6275],[3127.84,-1402.71,33.1333,201.29,-67.0585],[3084.51,-1301.79,32.5833,197.996,-66.4475],[3039.49,-1200.05,32.0167,194.569,-65.7908],[2994.1,-1100.61,31.45,191.111,-65.1047],[2946.98,-1000.7,30.8667,187.522,-64.3658],[2898.1,-900.567,30.2667,183.802,-63.5688],[2847.44,-800.468,29.65,179.952,-62.708],[2794.96,-700.681,29.0167,175.976,-61.7767],[2740.64,-601.497,28.3667,171.876,-60.7674],[2683.04,-500.804,27.6833,167.551,-59.6433],[2623.51,-401.514,26.9833,163.115,-58.4192],[2560.59,-301.748,26.25,158.47,-57.0512],[2492.76,-200.057,25.4667,153.525,-55.4844],[2422.86,-101.482,24.6667,148.51,-53.7611],[2346.41,-0.802731,23.8,143.139,-51.7398],[2264.77,98.6645,22.8833,137.562,-49.4091],[2174.81,198.817,21.8833,131.643,-46.6165],[2074.82,298.756,20.7833,125.4,-43.2107],[1959.91,399.111,19.5333,118.756,-38.871],[1821.87,499.664,18.05,111.698,-33.0136],[1639.35,599.992,16.1167,104.303,-24.1761],[1211.93,695.506,11.7,98.3907,-0.0748696]]], - [49,716.73,[[3322.38,-2002.33,36.4667,219.188,-70.4758],[3286.84,-1903.2,35.9833,216.464,-70.0548],[3249.78,-1802.25,35.4833,213.613,-69.6043],[3212.41,-1702.94,34.9833,210.73,-69.1377],[3173.48,-1602.06,34.4667,207.717,-68.6379],[3134.23,-1502.99,33.95,204.671,-68.1191],[3093.39,-1402.65,33.4167,201.494,-67.5625],[3050.92,-1301.24,32.8667,198.184,-66.9648],[3008.1,-1201.97,32.3167,194.841,-66.3416],[2963.61,-1101.97,31.75,191.366,-65.6711],[2917.44,-1001.46,31.1667,187.756,-64.9488],[2869.54,-900.701,30.5667,184.014,-64.1697],[2821.24,-802.642,29.9667,180.244,-63.3513],[2769.82,-702.106,29.3333,176.239,-62.4417],[2716.6,-602.145,28.6833,172.108,-61.4556],[2660.16,-500.627,28,167.747,-60.357],[2601.83,-400.483,27.3,163.269,-59.1601],[2541.59,-302.053,26.5833,158.683,-57.8533],[2476.57,-201.415,25.8167,153.788,-56.3559],[2408.1,-101.611,25.0167,148.707,-54.6731],[2334.67,-1.48945,24.1667,143.361,-52.7372],[2254.71,99.5459,23.25,137.686,-50.4604],[2168.09,199.801,22.2667,131.745,-47.776],[2073.16,298.893,21.2,125.533,-44.5489],[1963.71,399.454,19.9833,118.846,-40.4227],[1834.74,499.536,18.5667,111.768,-34.959],[1668.64,599.849,16.7667,104.259,-26.9238],[1381.79,699.807,13.7167,96.8288,-10.7471],[1204.61,716.729,11.8667,96.4244,-0.0209403]]], - [50,737.837,[[3280.11,-2002.32,36.7333,219.389,-70.9056],[3245.29,-1902.84,36.25,216.656,-70.4938],[3208.97,-1801.51,35.75,213.796,-70.0532],[3172.36,-1701.82,35.25,210.902,-69.5969],[3134.22,-1600.56,34.7333,207.877,-69.108],[3095.77,-1501.09,34.2167,204.818,-68.6005],[3055.75,-1400.33,33.6833,201.627,-68.0559],[3015.41,-1301.55,33.15,198.402,-67.4891],[2973.46,-1201.78,32.6,195.043,-66.8799],[2929.89,-1101.26,32.0333,191.549,-66.2245],[2884.66,-1000.21,31.45,187.92,-65.5183],[2839.05,-901.667,30.8667,184.259,-64.778],[2790.43,-800.264,30.25,180.36,-63.9558],[2741.39,-701.747,29.6333,176.434,-63.0899],[2689.27,-601.077,28.9833,172.271,-62.1262],[2635.35,-501.257,28.3167,167.982,-61.079],[2578.24,-400.241,27.6167,163.464,-59.9101],[2519.25,-300.909,26.9,158.833,-58.6334],[2456.97,-201.454,26.15,153.991,-57.2024],[2389.94,-100.512,25.35,148.846,-55.5587],[2319.47,-1.09702,24.5167,143.531,-53.7047],[2242.64,99.6015,23.6167,137.866,-51.5224],[2159.31,199.927,22.65,131.91,-48.9467],[2067.89,299.568,21.6,125.647,-45.8454],[1965.22,398.704,20.4333,119.03,-41.9852],[1843.58,499.092,19.0667,111.891,-36.8463],[1690.29,599.859,17.3667,104.26,-29.443],[1456.5,699.943,14.8167,96.4225,-16.2617],[1197.85,737.834,12.05,94.4236,-0.08432]]], - [51,758.805,[[3235.89,-2003.26,37,219.616,-71.3413],[3201.8,-1903.41,36.5167,216.875,-70.9391],[3166.25,-1801.7,36.0167,214.005,-70.5086],[3130.4,-1701.62,35.5167,211.101,-70.0627],[3094.27,-1603.21,35.0167,208.163,-69.6006],[3055.42,-1500.08,34.4833,204.994,-69.0889],[3017.47,-1402.03,33.9667,201.889,-68.5735],[2977.98,-1302.76,33.4333,198.651,-68.0202],[2936.92,-1202.48,32.8833,195.276,-67.4254],[2894.27,-1101.42,32.3167,191.765,-66.7853],[2851.27,-1002.68,31.75,188.221,-66.1157],[2805.35,-900.713,31.15,184.434,-65.3724],[2759.05,-801.431,30.55,180.617,-64.5912],[2711.06,-702.233,29.9333,176.665,-63.7461],[2660.05,-600.836,29.2833,172.472,-62.8053],[2607.28,-500.264,28.6167,168.149,-61.7827],[2552.73,-400.829,27.9333,163.701,-60.6688],[2495.01,-300.577,27.2167,159.025,-59.4228],[2434.07,-200.147,26.4667,154.131,-58.0256],[2369.85,-100.227,25.6833,149.035,-56.4544],[2302.29,-1.54646,24.8667,143.754,-54.682],[2228.54,98.7843,23.9833,138.106,-52.594],[2148.46,199.145,23.0333,132.141,-50.1273],[2060.48,299.298,22,125.835,-47.1529],[1961.55,399.547,20.85,119.122,-43.4416],[1847.01,499.591,19.5333,111.97,-38.6107],[1706.1,599.647,17.9333,104.323,-31.8168],[1504.92,699.682,15.6833,96.2607,-20.4881],[1188.45,758.803,12.2167,92.4112,-0.070209]]], - [52,779.611,[[3188.57,-2001.7,37.25,219.775,-71.7695],[3155.21,-1901.53,36.7667,217.025,-71.3764],[3121.58,-1802.85,36.2833,214.242,-70.97],[3086.52,-1702.38,35.7833,211.328,-70.5347],[3049.99,-1600.29,35.2667,208.281,-70.0683],[3014.35,-1503.21,34.7667,205.298,-69.6],[2976.03,-1401.52,34.2333,202.081,-69.0809],[2937.4,-1301.81,33.7,198.829,-68.5405],[2897.23,-1201.07,33.15,195.438,-67.9596],[2856.74,-1102.48,32.6,192.014,-67.3531],[2813.43,-1000.31,32.0167,188.346,-66.6802],[2769.76,-900.638,31.4333,184.644,-65.9745],[2724.47,-800.759,30.8333,180.804,-65.2121],[2677.54,-700.941,30.2167,176.826,-64.3871],[2628.93,-601.461,29.5833,172.712,-63.4925],[2577.32,-500.119,28.9167,168.356,-62.4951],[2525.27,-402.289,28.25,163.98,-61.4356],[2468.84,-301.095,27.5333,159.261,-60.2212],[2410.58,-201.875,26.8,154.428,-58.8901],[2347.8,-100.798,26.0167,149.272,-57.3595],[2281.76,-0.897779,25.2,143.923,-55.6316],[2211.03,98.909,24.3333,138.298,-53.6341],[2134.13,199.134,23.4,132.335,-51.2723],[2049.54,299.61,22.3833,125.997,-48.4204],[1955.68,399.357,21.2667,119.3,-44.9096],[1848.07,498.841,20,112.163,-40.3858],[1716.24,599.527,18.4667,104.416,-34.0484],[1537.49,699.769,16.4167,96.1844,-23.9973],[1178.02,779.609,12.3833,90.3761,-0.0772205]]], - [53,800.228,[[3139.35,-2001.15,37.5,219.96,-72.204],[3106.73,-1900.64,37.0167,217.202,-71.8203],[3073.85,-1801.63,36.5333,214.409,-71.4235],[3039.57,-1700.8,36.0333,211.485,-70.9985],[3005.01,-1601.62,35.5333,208.526,-70.5581],[2969,-1500.89,35.0167,205.433,-70.0858],[2932.71,-1401.98,34.5,202.304,-69.595],[2894.94,-1301.81,33.9667,199.037,-69.0679],[2855.68,-1200.6,33.4167,195.632,-68.5011],[2816.09,-1101.53,32.8667,192.191,-67.9094],[2774.97,-1001.75,32.3,188.61,-67.2719],[2732.29,-901.487,31.7167,184.889,-66.5841],[2688.02,-800.996,31.1167,181.026,-65.8408],[2642.15,-700.543,30.5,177.023,-65.0363],[2594.64,-600.405,29.8667,172.882,-64.1639],[2545.46,-500.871,29.2167,168.603,-63.2158],[2494.6,-402.245,28.55,164.192,-62.1833],[2439.45,-300.188,27.8333,159.432,-60.9993],[2382.53,-200.076,27.1,154.551,-59.701],[2322.49,-100.154,26.3333,149.45,-58.2401],[2259.28,-1.13229,25.5333,144.145,-56.591],[2191.51,98.1222,24.6833,138.549,-54.6839],[2116.4,199.931,23.75,132.486,-52.3839],[2036.51,298.945,22.7667,126.231,-49.6983],[1946.24,399.519,21.6667,119.467,-46.3327],[1843.95,499.294,20.4333,112.285,-42.0441],[1720.91,599.78,18.9667,104.508,-36.1424],[1560.82,699.382,17.0833,96.2218,-27.161],[1184.19,799.98,12.75,88.226,-1.38023],[1165.07,800.228,12.5333,88.3284,-0.00114345]]], - [54,820.637,[[3088.22,-2001.63,37.75,220.172,-72.6444],[3056.35,-1900.77,37.2667,217.406,-72.2702],[3024.23,-1801.41,36.7833,214.605,-71.8833],[2990.73,-1700.22,36.2833,211.671,-71.4689],[2956.96,-1600.67,35.7833,208.702,-71.0393],[2922.93,-1502.79,35.2833,205.697,-70.5938],[2886.33,-1400.26,34.75,202.455,-70.0999],[2850.59,-1302.79,34.2333,199.278,-69.602],[2812.24,-1201.09,33.6833,195.858,-69.0498],[2773.57,-1101.54,33.1333,192.402,-68.4731],[2733.4,-1001.24,32.5667,188.803,-67.8517],[2691.71,-900.447,31.9833,185.062,-67.1811],[2649.68,-802.175,31.4,181.286,-66.4771],[2604.88,-701.071,30.7833,177.259,-65.6936],[2558.48,-600.257,30.15,173.09,-64.8437],[2510.45,-500.023,29.5,168.782,-63.9199],[2460.78,-400.672,28.8333,164.336,-62.9135],[2408.18,-300.173,28.1333,159.647,-61.7867],[2353.86,-201.396,27.4167,154.832,-60.5518],[2295.25,-100.404,26.65,149.678,-59.1304],[2233.54,-0.254924,25.85,144.31,-57.5247],[2168.68,98.2989,25.0167,138.749,-55.7042],[2096.68,199.806,24.1,132.699,-53.5062],[2020.03,298.899,23.1333,126.434,-50.9382],[1934.63,398.624,22.0667,119.718,-47.766],[1836.2,499.862,20.85,112.413,-43.6528],[1721.67,599.593,19.45,104.661,-38.1749],[1575.33,699.419,17.6833,96.2769,-29.9874],[1328.2,799.79,14.75,87.4273,-13.2572],[1152.58,820.636,12.7,86.2483,-0.0532746]]], - [55,840.81,[[3035.16,-2003.19,38,220.412,-73.0907],[3004.05,-1901.98,37.5167,217.638,-72.7263],[2972.7,-1802.26,37.0333,214.829,-72.3494],[2940,-1700.68,36.5333,211.887,-71.9457],[2907.04,-1600.76,36.0333,208.908,-71.5272],[2873.82,-1502.49,35.5333,205.893,-71.0931],[2839.21,-1402.73,35.0167,202.74,-70.6272],[2803.2,-1301.68,34.4833,199.448,-70.1268],[2766.9,-1202.61,33.95,196.118,-69.6052],[2729.17,-1102.55,33.4,192.647,-69.0439],[2689.97,-1001.72,32.8333,189.031,-68.4389],[2649.28,-900.382,32.25,185.271,-67.786],[2608.26,-801.558,31.6667,181.475,-67.1004],[2565.72,-702.575,31.0667,177.534,-66.3584],[2520.44,-601.069,30.4333,173.339,-65.5316],[2473.58,-500.117,29.7833,169.001,-64.6326],[2425.11,-400.022,29.1167,164.523,-63.653],[2375.01,-301.101,28.4333,159.908,-62.5827],[2322.02,-201.411,27.7167,155.05,-61.3816],[2266.08,-101.599,26.9667,149.957,-60.0295],[2205.89,-0.299052,26.1667,144.528,-58.4686],[2142.62,99.4656,25.3333,138.896,-56.6974],[2074.96,198.706,24.45,132.978,-54.6381],[2000.21,299.514,23.4833,126.6,-52.1424],[1918.23,399.642,22.4333,119.845,-49.1049],[1826.23,499.274,21.2667,112.642,-45.2724],[1718.61,599.054,19.9167,104.862,-40.1465],[1582.81,699.782,18.2333,96.3436,-32.5721],[1378.05,799.972,15.7333,87.2387,-18.7523],[1137.64,840.81,12.85,84.1558,-0.020983]]], - [56,860.725,[[2979.14,-2002.35,38.2333,220.584,-73.5305],[2948.79,-1900.82,37.75,217.803,-73.1756],[2918.21,-1800.77,37.2667,214.985,-72.8085],[2887.38,-1702.24,36.7833,212.132,-72.4285],[2855.23,-1601.92,36.2833,209.144,-72.0214],[2822.83,-1503.26,35.7833,206.119,-71.599],[2789.08,-1403.08,35.2667,202.955,-71.1456],[2753.96,-1301.6,34.7333,199.651,-70.6585],[2718.56,-1202.09,34.2,196.307,-70.1509],[2681.76,-1101.58,33.65,192.821,-69.6044],[2643.52,-1000.28,33.0833,189.188,-69.0154],[2604.98,-901.327,32.5167,185.518,-68.3983],[2564.98,-801.936,31.9333,181.701,-67.7314],[2523.5,-702.363,31.3333,177.739,-67.0096],[2479.36,-600.229,30.7,173.518,-66.2052],[2434.84,-501.19,30.0667,169.264,-65.3534],[2387.59,-400.334,29.4,164.753,-64.4011],[2338.74,-300.624,28.7167,160.102,-63.3605],[2287.08,-200.098,28,155.202,-62.192],[2233.76,-101.591,27.2667,150.174,-60.9064],[2176.31,-1.30647,26.4833,144.8,-59.4217],[2114.65,99.6936,25.65,139.099,-57.7012],[2049.95,198.422,24.7833,133.21,-55.7387],[1978.38,299.137,23.8333,126.836,-53.3575],[1899.78,399.637,22.8,120.051,-50.4557],[1812.72,498.853,21.6667,112.868,-46.8431],[1710.52,599.428,20.35,105.006,-41.992],[1586.2,699.124,18.7667,96.5317,-35.0841],[1408.39,799.612,16.5333,87.2436,-23.1368],[1121.72,860.725,13,82.0413,-0.0121718]]], - [57,880.363,[[2921.23,-2002.62,38.4667,220.784,-73.9764],[2891.66,-1900.76,37.9833,217.996,-73.6311],[2861.85,-1800.39,37.5,215.17,-73.2739],[2831.81,-1701.52,37.0167,212.308,-72.9043],[2800.48,-1600.85,36.5167,209.31,-72.5082],[2768.9,-1501.84,36.0167,206.275,-72.0971],[2736.01,-1401.3,35.5,203.1,-71.6559],[2702.86,-1302.58,34.9833,199.887,-71.197],[2668.37,-1202.63,34.45,196.53,-70.7035],[2632.5,-1101.65,33.9,193.029,-70.1723],[2596.35,-1002.83,33.35,189.489,-69.6168],[2557.7,-900.422,32.7667,185.693,-68.9995],[2518.72,-800.52,32.1833,181.856,-68.3509],[2478.31,-700.418,31.5833,177.872,-67.6487],[2436.43,-600.382,30.9667,173.738,-66.8871],[2393.06,-500.692,30.3333,169.456,-66.0593],[2348.19,-401.639,29.6833,165.028,-65.1574],[2300.61,-301.121,29,160.342,-64.1471],[2251.47,-202.05,28.3,155.517,-63.0395],[2198.36,-100.348,27.55,150.327,-61.7628],[2143.6,-1.21042,26.7833,145.014,-60.3511],[2084.76,98.9468,25.9667,139.361,-58.7148],[2021.76,198.999,25.1,133.392,-56.8101],[1953.3,299.455,24.1667,127.03,-54.539],[1879.26,398.569,23.1667,120.337,-51.8163],[1795.78,498.67,22.05,113.085,-48.3673],[1698.85,599.717,20.7667,105.171,-43.7831],[1583.02,699.531,19.25,96.6505,-37.3671],[1425.71,799.456,17.2167,87.31,-26.8348],[1104.8,880.362,13.15,79.9049,-0.0287616]]], - [58,899.695,[[2860.47,-2000.52,38.6833,220.918,-74.4167],[2832.67,-1901.87,38.2167,218.218,-74.0926],[2803.65,-1801.16,37.7333,215.385,-73.7456],[2774.4,-1701.94,37.25,212.515,-73.3865],[2743.9,-1600.91,36.75,209.509,-73.0015],[2713.16,-1501.54,36.25,206.463,-72.6021],[2681.14,-1400.62,35.7333,203.277,-72.1733],[2648.86,-1301.52,35.2167,200.052,-71.7273],[2615.28,-1201.17,34.6833,196.683,-71.2476],[2581.42,-1102.81,34.15,193.274,-70.7472],[2545.17,-1000.53,33.5833,189.61,-70.1911],[2508.61,-900.579,33.0167,185.905,-69.6083],[2470.67,-800.151,32.4333,182.05,-68.9784],[2432.43,-702.263,31.85,178.156,-68.3158],[2391.67,-601.582,31.2333,173.999,-67.5769],[2349.47,-501.223,30.6,169.692,-66.7736],[2305.79,-401.477,29.95,165.235,-65.8982],[2259.49,-300.222,29.2667,160.515,-64.9172],[2211.66,-200.39,28.5667,155.65,-63.8414],[2161.13,-100.093,27.8333,150.531,-62.6294],[2109.01,-2.12215,27.0833,145.282,-61.29],[2051.77,99.1791,26.2667,139.566,-59.7033],[1991.66,198.571,25.4167,133.637,-57.8921],[1926.26,298.743,24.5,127.294,-55.7311],[1854.25,399.594,23.5,120.48,-53.0917],[1775.49,498.773,22.4167,113.287,-49.8475],[1683.7,599.984,21.1667,105.347,-45.522],[1576.08,699.356,19.7167,96.84,-39.5841],[1433.33,799.761,17.8167,87.3827,-30.0626],[1086.9,899.693,13.3,77.7475,-0.0735231]]], - [59,918.702,[[2798.83,-2003.15,38.9167,221.176,-74.8743],[2770.82,-1900.66,38.4333,218.373,-74.5485],[2743.57,-1803.1,37.9667,215.631,-74.2232],[2714.14,-1700.13,37.4667,212.654,-73.8625],[2685.47,-1602.13,36.9833,209.738,-73.5012],[2655.57,-1502.38,36.4833,206.684,-73.1136],[2624.43,-1401.07,35.9667,203.488,-72.6975],[2593.04,-1301.58,35.45,200.252,-72.2646],[2560.38,-1200.81,34.9167,196.87,-71.799],[2527.46,-1102.04,34.3833,193.447,-71.3132],[2493.24,-1002.3,33.8333,189.877,-70.7896],[2457.7,-901.828,33.2667,186.156,-70.2245],[2420.81,-800.86,32.6833,182.283,-69.6136],[2383.62,-702.425,32.1,178.369,-68.9709],[2343.99,-601.162,31.4833,174.19,-68.2541],[2302.95,-500.197,30.85,169.857,-67.4746],[2261.58,-402.356,30.2167,165.486,-66.6474],[2216.57,-300.346,29.5333,160.734,-65.6965],[2171.18,-202.082,28.85,155.949,-64.6789],[2122.06,-100.856,28.1167,150.787,-63.5051],[2071.4,-1.92788,27.3667,145.489,-62.2073],[2016.9,98.3946,26.5667,139.83,-60.7016],[1958.48,199.015,25.7167,133.828,-58.9472],[1896.08,298.746,24.8167,127.513,-56.8918],[1827.28,399.584,23.8333,120.698,-54.3789],[1751.94,499.223,22.7667,113.467,-51.2863],[1666.36,599.01,21.5667,105.633,-47.2709],[1564.26,699.777,20.15,96.9911,-41.663],[1434.23,799.968,18.3667,87.5013,-33.0222],[1213.29,899.902,15.3833,77.1221,-14.3001],[1066.74,918.701,13.4333,75.5762,-0.0250153]]], - [60,937.36,[[2734.37,-2003.46,39.1333,221.368,-75.3266],[2707.16,-1900.66,38.65,218.558,-75.0105],[2680.68,-1802.8,38.1833,215.808,-74.695],[2653.04,-1702.92,37.7,212.923,-74.357],[2624.23,-1601.19,37.2,209.899,-73.9946],[2595.18,-1501.11,36.7,206.835,-73.6186],[2565.9,-1402.7,36.2,203.733,-73.2281],[2535.41,-1302.8,35.6833,200.486,-72.8086],[2503.68,-1201.61,35.15,197.092,-72.3574],[2471.7,-1102.4,34.6167,193.657,-71.8865],[2438.46,-1002.22,34.0667,190.073,-71.3789],[2403.93,-901.278,33.5,186.336,-70.8311],[2369.13,-802.689,32.9333,182.557,-70.2561],[2331.97,-700.901,32.3333,178.512,-69.6154],[2294.52,-601.828,31.7333,174.424,-68.9394],[2254.66,-500.241,31.1,170.066,-68.1843],[2214.48,-401.771,30.4667,165.669,-67.3828],[2171.83,-301.537,29.8,161.001,-66.4842],[2126.68,-200.12,29.1,156.064,-65.4743],[2080.06,-100.415,28.3833,150.978,-64.3625],[2030.86,-0.609149,27.6333,145.632,-63.105],[1979.04,98.603,26.85,140.035,-61.677],[1923.44,198.422,26.0167,134.083,-60.0126],[1862.86,299.495,25.1167,127.683,-58.0238],[1798.34,398.486,24.1667,120.994,-55.6763],[1726.37,498.559,23.1167,113.734,-52.7362],[1644.48,599.405,21.9333,105.814,-48.9099],[1548.93,699.892,20.5667,97.1809,-43.6819],[1429.92,799.736,18.8833,87.6897,-35.8111],[1247.12,899.786,16.3333,77.1006,-20.4389],[1045.67,937.36,13.5667,73.3836,-0.00289845]]], - [61,955.65,[[2667.19,-2001.44,39.3333,221.493,-75.7742],[2641.69,-1901.9,38.8667,218.773,-75.4785],[2615.07,-1800.25,38.3833,215.918,-75.1619],[2588.25,-1700.09,37.9,213.025,-74.8341],[2561.21,-1601.45,37.4167,210.093,-74.4946],[2533.02,-1501.03,36.9167,207.02,-74.1303],[2504.6,-1402.27,36.4167,203.908,-73.752],[2475.01,-1302.01,35.9,200.65,-73.3456],[2444.22,-1200.44,35.3667,197.245,-72.9084],[2413.19,-1100.85,34.8333,193.796,-72.4521],[2380.92,-1000.27,34.2833,190.197,-71.9602],[2348.4,-901.866,33.7333,186.555,-71.4451],[2314.63,-802.791,33.1667,182.759,-70.8885],[2278.59,-700.484,32.5667,178.695,-70.2682],[2242.25,-600.886,31.9667,174.586,-69.6136],[2204.59,-501.389,31.35,170.32,-68.902],[2165.61,-402.272,30.7167,165.897,-68.1267],[2124.24,-301.35,30.05,161.2,-67.2573],[2081.48,-201.591,29.3667,156.346,-66.304],[2036.27,-101.034,28.65,151.221,-65.2292],[1988.55,-0.329,27.9,145.83,-64.0132],[1938.29,99.8321,27.1167,140.179,-62.6314],[1885.44,198.712,26.3,134.282,-61.0535],[1827.78,299.196,25.4167,127.921,-59.1669],[1765.22,399.649,24.4667,121.131,-56.8975],[1696.54,499.816,23.4333,113.858,-54.0985],[1619.39,599.975,22.2833,105.983,-50.5037],[1530.19,699.784,20.9667,97.3992,-45.6423],[1420.62,799.37,19.3667,87.9116,-38.4338],[1262.24,899.552,17.0833,77.2018,-25.2074],[1023.67,955.65,13.7,71.1701,-0.00998126]]], - [62,973.552,[[2598.22,-2000.68,39.5333,221.648,-76.2281],[2573.5,-1900.87,39.0667,218.922,-75.9418],[2548.59,-1802.43,38.6,216.159,-75.646],[2522.59,-1701.93,38.1167,213.259,-75.329],[2496.39,-1602.95,37.6333,210.32,-75.0007],[2469.07,-1502.17,37.1333,207.239,-74.6484],[2441.53,-1403.06,36.6333,204.118,-74.2826],[2412.86,-1302.42,36.1167,200.85,-73.8895],[2383.01,-1200.46,35.5833,197.433,-73.4665],[2352.93,-1100.48,35.05,193.973,-73.0251],[2322.62,-1002.52,34.5167,190.47,-72.564],[2290.15,-900.668,33.95,186.703,-72.0509],[2257.42,-801.161,33.3833,182.89,-71.5122],[2223.45,-701.211,32.8,178.921,-70.9289],[2188.24,-601.072,32.2,174.792,-70.2961],[2151.75,-501.012,31.5833,170.504,-69.6081],[2113.98,-401.313,30.95,166.056,-68.8584],[2074.89,-302.268,30.3,161.447,-68.0391],[2033.47,-201.776,29.6167,156.561,-67.1181],[1989.66,-100.444,28.9,151.399,-66.0795],[1944.46,-1.1251,28.1667,146.083,-64.931],[1896.81,97.9114,27.4,140.502,-63.6263],[1844.58,199.914,26.5667,134.423,-62.0719],[1789.78,299.662,25.7,128.107,-60.2835],[1730.25,399.752,24.7667,121.342,-58.1311],[1664.82,499.993,23.75,114.064,-55.4739],[1592.29,599.378,22.6333,106.251,-52.1093],[1508.13,699.525,21.35,97.6369,-47.5462],[1406.53,799.141,19.8167,88.1338,-40.8974],[1265.69,899.577,17.7167,77.3311,-29.2079],[1000.75,973.551,13.8333,68.9363,-0.0492619]]], - [63,991.039,[[2527.49,-2001.22,39.7333,221.834,-76.6879],[2503.57,-1901.13,39.2667,219.102,-76.4112],[2479.45,-1802.41,38.8,216.333,-76.1253],[2454.28,-1701.62,38.3167,213.425,-75.819],[2428.92,-1602.34,37.8333,210.479,-75.5016],[2402.47,-1501.25,37.3333,207.389,-75.1611],[2375.81,-1401.82,36.8333,204.258,-74.8074],[2348.05,-1300.85,36.3167,200.98,-74.4274],[2320.07,-1201.72,35.8,197.659,-74.0315],[2290.95,-1101.33,35.2667,194.188,-73.6052],[2261.61,-1002.95,34.7333,190.672,-73.1599],[2230.19,-900.661,34.1667,186.891,-72.6643],[2198.51,-800.707,33.6,183.063,-72.1439],[2165.63,-700.292,33.0167,179.075,-71.5804],[2132.5,-602.429,32.4333,175.043,-70.9864],[2097.2,-501.79,31.8167,170.734,-70.3225],[2060.64,-401.49,31.1833,166.261,-69.5988],[2022.82,-301.821,30.5333,161.626,-68.8079],[1982.73,-200.669,29.85,156.708,-67.9184],[1941.33,-100.962,29.15,151.63,-66.9392],[1897.59,-0.819234,28.4167,146.273,-65.8311],[1851.49,99.0868,27.65,140.643,-64.5717],[1802.98,198.039,26.85,134.749,-63.1331],[1749.98,299.039,25.9833,128.361,-61.4109],[1693.43,398.745,25.0667,121.629,-59.3752],[1631.19,499.039,24.0667,114.354,-56.86],[1562.11,598.99,22.9667,106.502,-53.6711],[1482.86,699.178,21.7167,97.8857,-49.3957],[1387.86,799.291,20.2333,88.327,-43.2105],[1261.55,899.39,18.2833,77.5193,-32.7891],[976.91,991.036,13.9667,66.6826,-0.124512]]], - [64,1008.09,[[2455,-2003.11,39.9333,222.051,-77.1534],[2431.87,-1902.73,39.4667,219.314,-76.8865],[2407.73,-1800.2,38.9833,216.439,-76.6006],[2384.24,-1702.61,38.5167,213.625,-76.3151],[2359.72,-1603.02,38.0333,210.671,-76.0089],[2334.15,-1501.61,37.5333,207.574,-75.6803],[2308.38,-1401.85,37.0333,204.434,-75.3391],[2281.55,-1300.54,36.5167,201.146,-74.9723],[2254.5,-1201.06,36,197.815,-74.5903],[2226.36,-1100.31,35.4667,194.332,-74.1789],[2197.99,-1001.57,34.9333,190.804,-73.749],[2168.51,-901.877,34.3833,187.12,-73.285],[2137.9,-801.461,33.8167,183.277,-72.7833],[2106.13,-700.565,33.2333,179.273,-72.2399],[2074.11,-602.216,32.65,175.223,-71.667],[2039.99,-501.059,32.0333,170.892,-71.0267],[2004.66,-400.222,31.4,166.396,-70.3285],[1969.04,-302.525,30.7667,161.854,-69.5854],[1930.31,-200.691,30.0833,156.906,-68.7282],[1890.3,-100.279,29.3833,151.793,-67.7843],[1849.01,-1.63371,28.6667,146.519,-66.7408],[1804.47,99.1662,27.9,140.842,-65.5279],[1757.6,199.06,27.1,134.893,-64.1415],[1707.38,299.189,26.25,128.561,-62.514],[1653.75,398.359,25.35,121.868,-60.5902],[1594.65,498.536,24.3667,114.607,-58.2117],[1528.95,598.865,23.2833,106.73,-55.1922],[1454.47,698.808,22.0667,98.1377,-51.1938],[1365.87,798.993,20.6333,88.5716,-45.457],[1250.25,899.773,18.7833,77.6643,-35.9714],[1033.48,999.792,15.3667,65.2488,-11.1805],[951.076,1008.09,14.0833,64.4143,-0.0945864]]], - [65,1024.7,[[2379.95,-2002.74,40.1167,222.203,-77.6152],[2357.63,-1902.1,39.65,219.46,-77.3579],[2335.13,-1802.83,39.1833,216.678,-77.092],[2311.64,-1701.47,38.7,213.757,-76.8071],[2287.97,-1601.61,38.2167,210.796,-76.5119],[2264.12,-1503.27,37.7333,207.794,-76.2058],[2239.26,-1403.18,37.2333,204.647,-75.8772],[2213.36,-1301.51,36.7167,201.35,-75.524],[2187.25,-1201.67,36.2,198.009,-75.156],[2160.09,-1100.55,35.6667,194.515,-74.7597],[2132.72,-1001.43,35.1333,190.975,-74.3456],[2104.27,-901.347,34.5833,187.278,-73.8986],[2074.72,-800.522,34.0167,183.42,-73.4152],[2044.94,-702.061,33.45,179.515,-72.9069],[2013.16,-600.424,32.85,175.331,-72.3394],[1981.12,-501.518,32.25,171.097,-71.7392],[1947.03,-400.125,31.6167,166.579,-71.0671],[1912.67,-301.866,30.9833,162.012,-70.3515],[1876.21,-201.875,30.3167,157.156,-69.5468],[1837.61,-100.737,29.6167,152.011,-68.6389],[1797.77,-1.34068,28.9,146.699,-67.6349],[1755.73,98.114,28.15,141.102,-66.4937],[1710.53,198.976,27.35,135.1,-65.1609],[1663.04,298.219,26.5167,128.829,-63.6275],[1611.31,398.631,25.6167,122.058,-61.7789],[1555.28,498.527,24.65,114.82,-59.5316],[1492.9,599.053,23.5833,106.93,-56.6755],[1422.07,699.787,22.3833,98.2673,-52.8855],[1339.64,799.422,21,88.7458,-47.5672],[1234.27,899.761,19.25,77.8693,-38.9683],[1062.41,999.904,16.4333,65.248,-19.6031],[924.401,1024.69,14.2,62.126,-0.0987548]]], - [66,1040.82,[[2302.45,-2000.12,40.2833,222.289,-78.0741],[2281.7,-1902.85,39.8333,219.638,-77.8353],[2260.02,-1803.32,39.3667,216.851,-77.5795],[2237.39,-1701.67,38.8833,213.924,-77.3053],[2214.58,-1601.53,38.4,210.955,-77.0213],[2191.6,-1502.92,37.9167,207.946,-76.7268],[2167.64,-1402.52,37.4167,204.79,-76.4106],[2142.68,-1300.55,36.9,201.484,-76.0707],[2117.52,-1200.4,36.3833,198.133,-75.7166],[2092.17,-1102.09,35.8667,194.738,-75.3473],[2065.8,-1002.58,35.3333,191.187,-74.9492],[2038.39,-902.087,34.7833,187.478,-74.5195],[2009.92,-800.837,34.2167,183.606,-74.0547],[1981.23,-701.948,33.65,179.686,-73.566],[1951.46,-602.652,33.0667,175.602,-73.0358],[1919.74,-500.484,32.45,171.232,-72.443],[1887.77,-401.239,31.8333,166.811,-71.8139],[1854.67,-302.401,31.2,162.221,-71.1265],[1819.54,-201.793,30.5333,157.338,-70.3532],[1782.36,-100.001,29.8333,152.161,-69.4804],[1744.88,-2.2081,29.1333,146.938,-68.5384],[1704.4,98.0645,28.3833,141.299,-67.4426],[1660.86,199.807,27.5833,135.246,-66.1622],[1615.12,299.977,26.75,128.915,-64.6879],[1566.23,399.584,25.8667,122.195,-62.9436],[1513.2,499.044,24.9167,114.989,-60.8225],[1454.08,599.591,23.8667,107.097,-58.124],[1387.79,699.58,22.7,98.502,-54.5913],[1310.37,799.631,21.35,88.9429,-49.6201],[1213.82,899.625,19.6833,78.0976,-41.7868],[1068.22,999.581,17.2,65.4228,-25.5634],[896.887,1040.82,14.3167,59.8186,-0.141644]]], - [67,1056.46,[[2224.05,-2002.54,40.4667,222.505,-78.5475],[2203.35,-1901.42,40,219.751,-78.3097],[2182.5,-1801.65,39.5333,216.958,-78.0638],[2161.48,-1703.26,39.0667,214.125,-77.8095],[2139.54,-1602.83,38.5833,211.151,-77.5369],[2116.67,-1500.53,38.0833,208.03,-77.2442],[2094.39,-1403.22,37.6,204.971,-76.9506],[2070.38,-1300.92,37.0833,201.657,-76.6242],[2046.19,-1200.44,36.5667,198.297,-76.2842],[2021.81,-1101.8,36.05,194.891,-75.9296],[1996.44,-1001.95,35.5167,191.329,-75.5473],[1970.08,-901.101,34.9667,187.607,-75.1345],[1943.5,-802.436,34.4167,183.837,-74.7016],[1915.1,-700.216,33.8333,179.787,-74.2185],[1886.46,-600.532,33.25,175.685,-73.7092],[1856.78,-500.683,32.65,171.414,-73.1552],[1826.03,-400.94,32.0333,166.973,-72.5515],[1794.2,-301.585,31.4,162.36,-71.8916],[1760.42,-200.429,30.7333,157.451,-71.1491],[1725.52,-100.446,30.05,152.367,-70.3316],[1689.48,-1.97117,29.35,147.11,-69.4281],[1650.56,99.0394,28.6,141.431,-68.3767],[1609.57,199.496,27.8167,135.457,-67.1743],[1566.48,298.657,27,129.196,-65.7906],[1519.48,399.413,26.1167,122.406,-64.1205],[1469.41,498.424,25.1833,115.238,-62.1254],[1413.49,598.979,24.15,107.355,-59.5849],[1350.71,699.516,23,98.7204,-56.2544],[1278.16,799.688,21.6833,89.1542,-51.6181],[1189.14,899.618,20.0833,78.3156,-44.436],[1061.59,999.573,17.8167,65.6013,-30.3484],[867.58,1056.46,14.4167,57.4962,-0.0652365]]], - [68,1071.59,[[2143.26,-2002.77,40.6333,222.657,-79.0182],[2123.39,-1901.41,40.1667,219.898,-78.7901],[2103.37,-1801.41,39.7,217.099,-78.5544],[2083.19,-1702.77,39.2333,214.26,-78.3106],[2062.13,-1602.09,38.75,211.279,-78.0491],[2040.9,-1502.92,38.2667,208.255,-77.778],[2018.78,-1401.95,37.7667,205.084,-77.4868],[1996.48,-1302.66,37.2667,201.869,-77.1841],[1973.25,-1201.84,36.75,198.5,-76.8584],[1949.85,-1102.86,36.2333,195.086,-76.5187],[1925.5,-1002.66,35.7,191.514,-76.1525],[1900.19,-901.432,35.15,187.78,-75.757],[1874.69,-802.391,34.6,183.997,-75.3422],[1848.2,-702.667,34.0333,180.049,-74.8929],[1820.72,-602.503,33.45,175.933,-74.4054],[1792.24,-502.157,32.85,171.646,-73.8753],[1762.72,-401.897,32.2333,167.186,-73.2974],[1732.18,-302.007,31.6,162.551,-72.6656],[1699.76,-200.281,30.9333,157.617,-71.9546],[1667.08,-102.117,30.2667,152.63,-71.1914],[1631.68,-0.624826,29.55,147.215,-70.3058],[1595.15,98.8361,28.8167,141.624,-69.3213],[1556.66,197.996,28.05,135.733,-68.196],[1515.32,298.12,27.2333,129.418,-66.8734],[1470.23,399.928,26.35,122.562,-65.2758],[1423.04,498.341,25.4333,115.441,-63.4016],[1370.27,598.735,24.4167,107.577,-61.0131],[1310.93,699.632,23.2833,98.9172,-57.8779],[1243.12,799.642,22,89.3722,-53.5641],[1160.43,899.955,20.45,78.4938,-46.9273],[1047.2,999.537,18.35,65.8063,-34.5164],[837.518,1071.59,14.5167,55.1547,-0.0248675]]], - [69,1086.19,[[2060.2,-2000.8,40.7833,222.744,-79.4866],[2041.84,-1902.85,40.3333,220.078,-79.2762],[2022.66,-1802.59,39.8667,217.274,-79.0507],[2002.63,-1700.2,39.3833,214.328,-78.8091],[1983.15,-1602.76,38.9167,211.443,-78.5675],[1962.82,-1503.32,38.4333,208.413,-78.3082],[1941.62,-1402.08,37.9333,205.235,-78.0297],[1920.26,-1302.51,37.4333,202.012,-77.7401],[1898.01,-1201.39,36.9167,198.635,-77.4285],[1875.59,-1102.12,36.4,195.211,-77.1035],[1852.26,-1001.6,35.8667,191.628,-76.7531],[1828.02,-900.058,35.3167,187.882,-76.3747],[1803.58,-800.693,34.7667,184.086,-75.9777],[1778.21,-700.631,34.2,180.124,-75.5476],[1751.89,-600.117,33.6167,175.991,-75.081],[1725.36,-502.169,33.0333,171.807,-74.5879],[1697.09,-401.454,32.4167,167.328,-74.0354],[1667.83,-301.091,31.7833,162.672,-73.4313],[1637.56,-201.376,31.1333,157.838,-72.7688],[1605.48,-100.193,30.45,152.698,-72.0209],[1572.36,-0.477124,29.75,147.378,-71.1937],[1537.38,99.6518,29.0167,141.751,-70.2528],[1500.52,199.517,28.25,135.817,-69.1768],[1461.74,298.396,27.45,129.581,-67.9385],[1419.39,399.283,26.5833,122.792,-66.4426],[1374.21,498.83,25.6667,115.594,-64.654],[1324.52,598.902,24.6667,107.758,-62.4118],[1268.55,699.977,23.55,99.0876,-59.4651],[1205.34,799.557,22.3,89.5897,-55.461],[1128.78,899.846,20.8,78.7224,-49.3506],[1026.51,999.768,18.8167,65.9861,-38.2205],[806.708,1086.18,14.6167,52.7947,-0.0256423]]], - [70,1100.24,[[1975.6,-2000.3,40.9333,222.864,-79.961],[1958.05,-1902.14,40.4833,220.193,-79.76],[1939.71,-1801.68,40.0167,217.384,-79.5448],[1921.24,-1702.58,39.55,214.534,-79.3221],[1901.95,-1601.41,39.0667,211.541,-79.0833],[1882.52,-1501.74,38.5833,208.504,-78.8356],[1862.25,-1400.26,38.0833,205.318,-78.5696],[1841.83,-1300.45,37.5833,202.086,-78.2931],[1821.25,-1202.33,37.0833,198.81,-78.0052],[1799.83,-1102.75,36.5667,195.377,-77.6952],[1777.54,-1001.91,36.0333,191.785,-77.3609],[1754.37,-900.03,35.4833,188.028,-76.9998],[1731.01,-800.326,34.9333,184.221,-76.6209],[1707.48,-702.831,34.3833,180.363,-76.2229],[1682.33,-601.878,33.8,176.217,-75.7782],[1656.25,-500.712,33.2,171.897,-75.2944],[1629.97,-402.296,32.6,167.521,-74.7816],[1602.02,-301.442,31.9667,162.846,-74.2056],[1573.09,-201.217,31.3167,157.989,-73.5739],[1543.19,-101.93,30.65,152.95,-72.8786],[1511.55,-1.56004,29.95,147.602,-72.0909],[1478.13,99.2611,29.2167,141.94,-71.1946],[1442.91,199.857,28.45,135.967,-70.1691],[1405.87,299.506,27.65,129.683,-68.9883],[1366.18,399.34,26.8,122.966,-67.5898],[1323.03,499.918,25.8833,115.695,-65.8852],[1276.36,599.514,24.9,107.896,-63.7838],[1224.5,699.141,23.8167,99.3578,-61.0648],[1164.95,799.483,22.5833,89.8002,-57.312],[1094.3,899.362,21.1333,78.991,-51.7071],[1001.62,999.442,19.25,66.2487,-41.7078],[786.071,1099.97,14.9333,50.4224,-2.4878],[775.152,1100.24,14.7167,50.4166,-0.0735976]]], - [71,1113.72,[[1889.48,-2001.3,41.0833,223.018,-80.4409],[1872.75,-1902.93,40.6333,220.344,-80.2496],[1855.27,-1802.25,40.1667,217.53,-80.0447],[1837.65,-1702.92,39.7,214.675,-79.8327],[1819.27,-1601.51,39.2167,211.676,-79.6053],[1800.74,-1501.62,38.7333,208.633,-79.3695],[1782.07,-1403.25,38.25,205.547,-79.1248],[1762.61,-1303.13,37.75,202.309,-78.8618],[1742.34,-1201.45,37.2333,198.916,-78.5787],[1721.91,-1101.61,36.7167,195.475,-78.2835],[1700.66,-1000.49,36.1833,191.872,-77.9651],[1679.24,-901.388,35.65,188.22,-77.6318],[1656.98,-801.328,35.1,184.401,-77.2714],[1633.87,-700.544,34.5333,180.414,-76.881],[1610.58,-602.138,33.9667,176.373,-76.4697],[1585.73,-500.573,33.3667,172.037,-76.0094],[1560.68,-401.755,32.7667,167.645,-75.5213],[1534.03,-300.472,32.1333,162.95,-74.9731],[1507.17,-202.342,31.5,158.197,-74.3876],[1477.96,-100.057,30.8167,153.007,-73.7094],[1448.52,-1.55459,30.1333,147.758,-72.9776],[1416.67,99.8819,29.4,142.064,-72.1251],[1383.84,198.979,28.65,136.183,-71.1714],[1348.54,299.425,27.85,129.854,-70.0496],[1311.47,398.2,27.0167,123.215,-68.7476],[1270.36,499.843,26.1,115.875,-67.1294],[1226.65,598.957,25.1333,108.122,-65.1686],[1178.02,698.557,24.0667,99.5975,-62.63],[1122.06,799.461,22.85,89.998,-59.1204],[1056.33,899.633,21.4333,79.1657,-53.9296],[972.001,999.605,19.6333,66.4424,-44.886],[822.649,1099.74,16.4833,50.4784,-19.0084],[742.861,1113.72,14.8167,48.0212,-0.176404]]], - [72,1126.63,[[1801.27,-2000.16,41.2167,223.109,-80.9194],[1785.37,-1901.61,40.7667,220.429,-80.7377],[1768.75,-1800.74,40.3,217.61,-80.5429],[1752,-1701.23,39.8333,214.75,-80.3416],[1735.13,-1603.1,39.3667,211.849,-80.1331],[1717.51,-1502.96,38.8833,208.801,-79.9093],[1699.15,-1400.97,38.3833,205.602,-79.669],[1680.65,-1300.64,37.8833,202.356,-79.419],[1662,-1202,37.3833,199.064,-79.1588],[1642.58,-1101.88,36.8667,195.615,-78.8786],[1622.38,-1000.47,36.3333,192.004,-78.5763],[1602.02,-901.08,35.8,188.341,-78.26],[1580.87,-800.717,35.25,184.512,-77.9178],[1559.55,-702.557,34.7,180.631,-77.5584],[1536.76,-600.891,34.1167,176.458,-77.1566],[1513.79,-501.779,33.5333,172.229,-76.7319],[1489.99,-402.541,32.9333,167.821,-76.269],[1464.66,-300.809,32.3,163.108,-75.7491],[1439.13,-202.227,31.6667,158.336,-75.1936],[1412.05,-101.911,31,153.25,-74.5665],[1383.39,-0.449274,30.3,147.846,-73.8557],[1353.82,99.2576,29.5833,142.251,-73.0654],[1322.62,199.015,28.8333,136.335,-72.1614],[1289.78,298.121,28.05,130.097,-71.1208],[1253.85,399.695,27.2,123.272,-69.8619],[1216.21,498.571,26.3167,116.137,-68.3844],[1174.69,598.854,25.35,108.302,-66.529],[1128.48,699.756,24.2833,99.6683,-64.1231],[1076.79,799.537,23.1,90.178,-60.8898],[1015.83,899.717,21.7167,79.3549,-56.0981],[938.731,999.803,19.9833,66.6276,-47.8783],[814.31,1099.94,17.2167,50.6251,-26.6822],[709.077,1126.63,14.9,45.6111,-0.13809]]], - [73,1138.93,[[1711.65,-2000.56,41.35,223.235,-81.4034],[1696.58,-1901.83,40.9,220.551,-81.2313],[1680.83,-1800.76,40.4333,217.727,-81.047],[1664.96,-1701.05,39.9667,214.862,-80.8564],[1648.96,-1602.73,39.5,211.956,-80.659],[1632.28,-1502.37,39.0167,208.902,-80.4472],[1614.87,-1400.16,38.5167,205.696,-80.2196],[1597.92,-1302.94,38.0333,202.553,-79.991],[1579.67,-1200.76,37.5167,199.145,-79.7366],[1561.26,-1100.4,37,195.687,-79.4712],[1542.72,-1001.9,36.4833,192.18,-79.1941],[1523.43,-902.199,35.95,188.509,-78.8949],[1503.39,-801.516,35.4,184.67,-78.5713],[1482.57,-700.084,34.8333,180.66,-78.2207],[1461.6,-601.023,34.2667,176.593,-77.8512],[1439.83,-501.562,33.6833,172.35,-77.4494],[1417.28,-401.961,33.0833,167.928,-77.0114],[1393.92,-302.492,32.4667,163.323,-76.5328],[1369.1,-200.873,31.8167,158.405,-75.9937],[1343.44,-100.143,31.15,153.297,-75.3999],[1316.93,-0.623827,30.4667,147.997,-74.7433],[1288.91,99.6336,29.75,142.373,-73.9961],[1259.36,199.972,29,136.422,-73.141],[1228.24,299.691,28.2167,130.144,-72.1562],[1194.88,399.991,27.3833,123.405,-70.9888],[1159.23,499.699,26.5,116.209,-69.5917],[1120.58,599.225,25.55,108.434,-67.8679],[1077.5,699.795,24.5,99.8344,-65.6316],[1029.24,799.742,23.3333,90.3357,-62.6236],[972.92,899.661,21.9833,79.5517,-58.2157],[902.755,999.37,20.3167,66.8944,-50.7878],[795.706,1099.6,17.8,50.8964,-32.8368],[674.65,1138.93,14.9833,43.1842,-0.152582]]], - [74,1150.63,[[1620.62,-2002.52,41.4833,223.396,-81.8925],[1606.39,-1903.59,41.0333,220.709,-81.7303],[1591.52,-1802.32,40.5667,217.882,-81.5566],[1576.53,-1702.4,40.1,215.013,-81.3768],[1560.89,-1600.37,39.6167,211.997,-81.184],[1545.67,-1503.29,39.15,209.043,-80.991],[1529.24,-1400.85,38.65,205.832,-80.7764],[1512.69,-1300.07,38.15,202.573,-80.5532],[1496,-1200.97,37.65,199.268,-80.3209],[1478.63,-1100.37,37.1333,195.803,-80.0706],[1461.12,-1001.63,36.6167,192.288,-79.8093],[1442.9,-901.666,36.0833,188.608,-79.5271],[1423.98,-800.714,35.5333,184.759,-79.2218],[1404.9,-701.96,34.9833,180.856,-78.9011],[1385.1,-602.547,34.4167,176.779,-78.553],[1364.56,-502.72,33.8333,172.525,-78.1745],[1342.67,-400.001,33.2167,167.964,-77.75],[1320.61,-300.216,32.6,163.342,-77.2981],[1297.78,-200.836,31.9667,158.532,-76.8027],[1274.16,-102.157,31.3167,153.532,-76.2574],[1249.14,-2.095,30.6333,148.209,-75.6396],[1222.7,98.7369,29.9167,142.559,-74.9362],[1194.8,199.683,29.1667,136.577,-74.1311],[1166.06,297.961,28.4,130.397,-73.2242],[1134.57,399.067,27.5667,123.613,-72.1264],[1100.92,499.639,26.6833,116.362,-70.8118],[1065.09,598.411,25.75,108.655,-69.2189],[1025.09,698.646,24.7167,100.098,-67.152],[980.204,798.761,23.5667,90.6035,-64.3702],[927.722,899.52,22.2333,79.7492,-60.2859],[863.523,999.286,20.6167,67.1042,-53.5308],[769.28,1099.81,18.2667,51.0738,-37.893],[639.584,1150.62,15.0667,40.741,-0.229393]]], - [75,1161.69,[[1527.72,-2002.39,41.6,223.494,-82.3808],[1514.33,-1903.3,41.15,220.803,-82.2283],[1500.35,-1801.85,40.6833,217.972,-82.065],[1486.25,-1701.76,40.2167,215.098,-81.8961],[1472.05,-1603.05,39.75,212.182,-81.7212],[1457.23,-1502.3,39.2667,209.118,-81.5335],[1442.29,-1403.06,38.7833,206.009,-81.3386],[1426.72,-1302.04,38.2833,202.746,-81.1291],[1411.03,-1202.7,37.7833,199.434,-80.9111],[1394.69,-1101.84,37.2667,195.963,-80.6761],[1378.23,-1002.83,36.75,192.442,-80.4307],[1361.1,-902.594,36.2167,188.754,-80.1658],[1343.3,-801.358,35.6667,184.897,-79.8792],[1325.37,-702.317,35.1167,180.984,-79.578],[1306.75,-602.605,34.55,176.896,-79.2511],[1287.43,-502.467,33.9667,172.629,-78.8956],[1267.4,-402.164,33.3667,168.18,-78.508],[1246.66,-301.965,32.75,163.543,-78.0843],[1225.2,-202.155,32.1167,158.717,-77.6195],[1202.42,-100.534,31.45,153.569,-77.0944],[1178.89,-0.0925119,30.7667,148.224,-76.5136],[1154.6,98.835,30.0667,142.68,-75.8682],[1128.96,198.105,29.3333,136.802,-75.1299],[1101.35,299.132,28.55,130.452,-74.2606],[1072.34,398.861,27.7333,123.762,-73.2507],[1041.31,498.351,26.8667,116.598,-72.0423],[1007.02,599.789,25.9167,108.686,-70.5217],[970.025,699.383,24.9,100.182,-68.6123],[928.45,799.316,23.7667,90.7063,-66.0407],[880.361,899.328,22.4667,79.9418,-62.3121],[821.283,999.714,20.8833,67.2326,-56.1249],[738.418,1099.52,18.6833,51.3416,-42.5135],[603.255,1161.69,15.1333,38.2837,-0.136931]]], - [76,1172.11,[[1433.07,-2000.15,41.7,223.529,-82.8688],[1420.53,-1900.94,41.25,220.834,-82.7261],[1407.91,-1802.96,40.8,218.1,-82.5788],[1394.71,-1702.69,40.3333,215.223,-82.4208],[1380.94,-1600.3,39.85,212.198,-82.2513],[1367.54,-1502.85,39.3833,209.234,-82.0817],[1353.07,-1400.02,38.8833,206.012,-81.8931],[1338.98,-1302.2,38.4,202.851,-81.7036],[1324.29,-1202.65,37.9,199.534,-81.4996],[1308.99,-1101.57,37.3833,196.056,-81.2799],[1293.58,-1002.35,36.8667,192.527,-81.0504],[1277.55,-901.891,36.3333,188.832,-80.8025],[1260.88,-800.422,35.7833,184.965,-80.5344],[1244.09,-701.145,35.2333,181.043,-80.2526],[1226.66,-601.187,34.6667,176.944,-79.9467],[1208.57,-500.796,34.0833,172.665,-79.6141],[1189.82,-400.228,33.4833,168.201,-79.2514],[1170.93,-302.432,32.8833,163.676,-78.8657],[1150.84,-202.256,32.25,158.834,-78.4314],[1129.52,-100.246,31.5833,153.668,-77.9406],[1108.04,-1.81531,30.9167,148.433,-77.4113],[1084.76,99.9428,30.2,142.733,-76.794],[1060.76,199.653,29.4667,136.828,-76.1033],[1035.46,299.048,28.7,130.58,-75.3078],[1008.31,399.391,27.8833,123.851,-74.3643],[979.27,499.54,27.0167,116.638,-73.2345],[947.743,599.982,26.0833,108.805,-71.8385],[913.695,698.942,25.0833,100.362,-70.0862],[875.368,798.7,23.9667,90.9165,-67.7254],[830.957,899.13,22.6833,80.1244,-64.298],[776.858,999.842,21.1333,67.3919,-58.6604],[702.89,1099.79,19.0333,51.4972,-46.6001],[566.387,1172.11,15.2,35.8109,-0.10216]]], - [77,1181.88,[[1337.65,-2003.24,41.8167,223.7,-83.3669],[1325.55,-1900.18,41.35,220.903,-83.2292],[1313.78,-1802.07,40.9,218.164,-83.0921],[1301.49,-1701.66,40.4333,215.283,-82.945],[1289.11,-1602.62,39.9667,212.359,-82.7928],[1276.18,-1501.52,39.4833,209.285,-82.6293],[1263.16,-1401.94,39,206.165,-82.4597],[1249.58,-1300.55,38.5,202.89,-82.2773],[1235.9,-1200.84,38,199.567,-82.0874],[1222.11,-1102.84,37.5,196.195,-81.8895],[1207.29,-1000.2,36.9667,192.545,-81.669],[1192.83,-902.683,36.45,188.958,-81.4456],[1177.31,-800.964,35.9,185.083,-81.1962],[1161.67,-701.434,35.35,181.153,-80.9341],[1145.44,-601.215,34.7833,177.044,-80.6496],[1128.59,-500.551,34.2,172.754,-80.3402],[1111.62,-402.465,33.6167,168.404,-80.0123],[1093.54,-301.62,33,163.74,-79.6439],[1074.83,-201.14,32.3667,158.883,-79.2396],[1055.47,-101.322,31.7167,153.829,-78.7947],[1034.97,-0.0514989,31.0333,148.444,-78.2901],[1013.8,99.7324,30.3333,142.854,-77.7291],[991.448,199.908,29.6,136.923,-77.087],[967.899,299.793,28.8333,130.645,-76.3472],[943.135,398.664,28.0333,124.018,-75.4883],[916.097,499.503,27.1667,116.761,-74.439],[887.273,598.957,26.25,109.012,-73.1664],[855.578,698.878,25.25,100.497,-71.5406],[819.901,799.719,24.1333,90.9517,-69.3469],[779.637,898.958,22.8833,80.2925,-66.2477],[730.374,999.716,21.3667,67.5748,-61.1402],[664.288,1099.79,19.35,51.6917,-50.4514],[528.992,1181.88,15.2667,33.3235,-0.139093]]], - [78,1190.98,[[1240.2,-2000.55,41.9,223.71,-83.8601],[1229.4,-1901.05,41.45,221.009,-83.7373],[1218.51,-1802.79,41,218.268,-83.6105],[1207.13,-1702.22,40.5333,215.383,-83.4744],[1195.66,-1603.02,40.0667,212.455,-83.3336],[1183.7,-1501.76,39.5833,209.377,-83.1825],[1171.64,-1402.01,39.1,206.253,-83.0256],[1159.07,-1300.45,38.6,202.973,-82.8568],[1146.41,-1200.57,38.1,199.644,-82.6812],[1133.64,-1102.38,37.6,196.267,-82.4981],[1120.35,-1002.74,37.0833,192.725,-82.3007],[1106.53,-901.857,36.55,189.016,-82.0874],[1092.6,-802.994,36.0167,185.252,-81.8639],[1077.69,-700.208,35.45,181.194,-81.6142],[1063.1,-602.699,34.9,177.198,-81.3589],[1047.51,-501.746,34.3167,172.899,-81.073],[1031.36,-400.594,33.7167,168.412,-80.7611],[1015.07,-302.209,33.1167,163.862,-80.4295],[997.752,-201.405,32.4833,158.992,-80.0559],[979.838,-101.252,31.8333,153.923,-79.6446],[961.323,-2.05927,31.1667,148.652,-79.1899],[941.733,98.1886,30.4667,143.043,-78.6722],[921.049,198.855,29.7333,137.089,-78.0795],[899.256,299.259,28.9667,130.784,-77.3964],[876.339,398.675,28.1667,124.124,-76.6031],[851.799,498.222,27.3167,116.967,-75.6533],[825.128,598.448,26.4,109.168,-74.4795],[795.8,699.219,25.4,100.587,-72.9786],[763.282,799.582,24.3,91.0922,-70.9841],[726.528,898.85,23.0667,80.4418,-68.1648],[681.959,999.384,21.5833,67.7739,-63.5672],[622.86,1099.73,19.6333,51.8864,-54.0838],[491.081,1190.98,15.3333,30.822,-0.264928]]], - [79,1199.4,[[1142.05,-2003.21,42,223.856,-84.3625],[1132.12,-1903.56,41.55,221.153,-84.2498],[1121.74,-1801.52,41.0833,218.308,-84.1289],[1111.28,-1700.83,40.6167,215.419,-84.0039],[1100.74,-1601.52,40.15,212.487,-83.8745],[1089.74,-1500.13,39.6667,209.404,-83.7356],[1078.65,-1400.26,39.1833,206.276,-83.5914],[1067.49,-1301.93,38.7,203.1,-83.4416],[1055.84,-1201.86,38.2,199.767,-83.2803],[1043.72,-1100.24,37.6833,196.271,-83.1066],[1031.5,-1000.46,37.1667,192.723,-82.9251],[1019.2,-902.553,36.65,189.123,-82.7353],[1005.99,-800.42,36.1,185.234,-82.5235],[992.686,-700.473,35.55,181.287,-82.3008],[979.279,-602.746,35,177.283,-82.0664],[964.951,-501.558,34.4167,172.975,-81.8038],[950.099,-400.163,33.8167,168.478,-81.5174],[935.133,-301.533,33.2167,163.916,-81.2129],[919.214,-200.467,32.5833,159.032,-80.8697],[902.749,-100.043,31.9333,153.948,-80.4918],[885.731,-0.570881,31.2667,148.661,-80.0739],[867.725,99.973,30.5667,143.032,-79.5981],[849.148,198.707,29.85,137.191,-79.0661],[829.121,299.548,29.0833,130.86,-78.4392],[808.06,399.424,28.2833,124.169,-77.7109],[785.509,499.465,27.4333,116.974,-76.8384],[761.446,598.461,26.5333,109.271,-75.7805],[734.499,699.971,25.5333,100.628,-74.4033],[705.073,799.704,24.45,91.1953,-72.6013],[671.763,898.827,23.2333,80.5692,-70.0533],[631.281,999.916,21.7667,67.8398,-65.8887],[578.856,1099.76,19.8833,52.0482,-57.5191],[452.191,1199.4,15.3833,28.3077,-0.174102]]], - [80,1207.13,[[1042.13,-2000.11,42.0667,223.842,-84.8612],[1033.07,-1900.38,41.6167,221.135,-84.7583],[1023.95,-1801.88,41.1667,218.388,-84.6522],[1014.42,-1701.07,40.7,215.496,-84.5383],[1004.81,-1601.63,40.2333,212.561,-84.4204],[994.784,-1500.1,39.75,209.474,-84.2939],[984.68,-1400.09,39.2667,206.342,-84.1625],[974.499,-1301.63,38.7833,203.162,-84.0261],[963.888,-1201.41,38.2833,199.825,-83.8791],[953.196,-1102.89,37.7833,196.437,-83.7261],[942.063,-1002.9,37.2667,192.885,-83.561],[930.483,-901.651,36.7333,189.163,-83.3826],[918.814,-802.421,36.2,185.386,-83.1956],[906.689,-702.241,35.65,181.434,-82.993],[894.099,-601.345,35.0833,177.301,-82.7731],[881.414,-502.838,34.5167,173.107,-82.5408],[867.879,-401.182,33.9167,168.602,-82.2802],[854.24,-302.287,33.3167,164.03,-82.0031],[839.732,-200.94,32.6833,159.135,-81.6907],[824.727,-100.224,32.0333,154.038,-81.3468],[809.219,-0.44975,31.3667,148.736,-80.9664],[793.201,98.0596,30.6833,143.225,-80.5438],[775.879,199.478,29.95,137.228,-80.0486],[758.026,298.529,29.2,131.013,-79.4906],[738.835,398.895,28.4,124.294,-78.8284],[718.288,499.461,27.55,117.066,-78.0348],[696.361,599.019,26.65,109.32,-77.072],[672.217,699.528,25.6667,100.766,-75.8403],[645.821,798.647,24.6,91.4059,-74.2299],[615.475,898.921,23.3833,80.6715,-71.9171],[579.437,999.307,21.95,68.0512,-68.2265],[532.958,1099.29,20.1167,52.2882,-60.8691],[443.788,1199.88,16.6333,28.308,-24.6994],[412.889,1207.13,15.4333,25.7806,-0.167051]]], - [81,1214.15,[[941.582,-2002.41,42.15,223.965,-85.3678],[933.413,-1902.54,41.7,221.256,-85.2751],[924.876,-1800.28,41.2333,218.405,-85.1759],[916.581,-1702.96,40.7833,215.614,-85.0769],[907.915,-1603.37,40.3167,212.676,-84.9707],[898.869,-1501.7,39.8333,209.587,-84.8567],[889.754,-1401.54,39.35,206.452,-84.7382],[880.57,-1302.93,38.8667,203.269,-84.6153],[870.997,-1202.55,38.3667,199.928,-84.4829],[861.028,-1100.62,37.85,196.423,-84.3402],[850.983,-1000.52,37.3333,192.865,-84.1912],[840.861,-902.296,36.8167,189.254,-84.0353],[830.333,-802.891,36.2833,185.471,-83.8668],[819.394,-702.529,35.7333,181.512,-83.6842],[808.036,-601.444,35.1667,177.373,-83.4859],[796.592,-502.747,34.6,173.172,-83.2766],[784.381,-400.886,34,168.658,-83.0416],[772.076,-301.786,33.4,164.077,-82.7918],[758.987,-200.219,32.7667,159.17,-82.5101],[745.798,-101.822,32.1333,154.193,-82.2081],[731.81,-1.72345,31.4667,148.878,-81.8657],[717.008,99.4846,30.7667,143.217,-81.4756],[701.736,198.904,30.05,137.339,-81.0393],[685.633,298.331,29.3,131.102,-80.5368],[668.323,399.101,28.5,124.359,-79.9401],[650.152,498.181,27.6667,117.242,-79.2398],[630.376,598.334,26.7667,109.46,-78.3739],[608.6,699.5,25.7833,100.857,-77.2654],[584.793,799.337,24.7167,91.43,-75.8147],[557.8,899.147,23.5167,80.7465,-73.7599],[525.679,999.669,22.1,68.1147,-70.4771],[484.532,1099.93,20.3,52.3087,-63.9761],[412.249,1199.94,17.1667,28.4952,-35.6078],[373.187,1214.15,15.4833,23.2416,-0.272037]]], - [82,1220.46,[[839.811,-2002.67,42.2167,224.027,-85.8749],[832.532,-1902.71,41.7667,221.316,-85.7924],[824.926,-1800.35,41.3,218.462,-85.704],[817.535,-1702.93,40.85,215.669,-85.6159],[809.813,-1603.24,40.3833,212.728,-85.5212],[801.754,-1501.46,39.9,209.637,-85.4197],[793.633,-1401.2,39.4167,206.498,-85.3142],[785.45,-1302.47,38.9333,203.312,-85.2047],[776.92,-1201.98,38.4333,199.967,-85.0868],[768.326,-1103.19,37.9333,196.571,-84.9639],[759.377,-1002.92,37.4167,193.01,-84.8314],[750.069,-901.364,36.8833,189.278,-84.6882],[740.689,-801.833,36.35,185.49,-84.538],[730.942,-701.34,35.8,181.525,-84.3754],[720.822,-600.118,35.2333,177.378,-84.1988],[710.625,-501.283,34.6667,173.169,-84.0122],[700.049,-402.072,34.0833,168.773,-83.8088],[688.781,-300.027,33.4667,164.056,-83.5802],[677.428,-200.94,32.85,159.269,-83.336],[665.679,-102.302,32.2167,154.281,-83.0673],[653.217,-1.94525,31.55,148.954,-82.7626],[640.031,99.5354,30.85,143.279,-82.4154],[626.427,199.237,30.1333,137.385,-82.0271],[612.081,298.961,29.3833,131.13,-81.5796],[596.983,398.001,28.6,124.505,-81.0599],[580.474,499.466,27.75,117.218,-80.4242],[562.857,599.984,26.85,109.4,-79.6523],[543.788,699.903,25.8833,100.899,-78.6815],[522.915,798.851,24.8333,91.5611,-77.412],[498.875,899.526,23.6333,80.7922,-75.5858],[470.606,999.994,22.2333,68.1702,-72.7009],[434.984,1099.45,20.4833,52.5188,-67.103],[374.752,1199.99,17.55,28.6755,-44.0312],[332.752,1220.46,15.5167,20.6914,-0.0793631]]], - [83,1226.05,[[736.958,-2000.91,42.2667,224.028,-86.3829],[730.574,-1900.89,41.8167,221.315,-86.3105],[724.142,-1802.1,41.3667,218.561,-86.2358],[717.421,-1700.98,40.9,215.661,-86.1557],[710.649,-1601.23,40.4333,212.717,-86.0727],[703.825,-1502.87,39.9667,209.73,-85.9867],[696.704,-1402.48,39.4833,206.589,-85.8943],[689.281,-1300.25,38.9833,203.29,-85.795],[682.051,-1203.01,38.5,200.052,-85.6951],[674.263,-1100.83,37.9833,196.54,-85.5838],[666.414,-1000.48,37.4667,192.973,-85.4675],[658.507,-901.994,36.95,189.353,-85.3459],[650.284,-802.321,36.4167,185.561,-85.2143],[641.738,-701.681,35.8667,181.591,-85.0718],[632.864,-600.306,35.3,177.439,-84.917],[623.923,-501.317,34.7333,173.224,-84.7536],[614.649,-401.946,34.15,168.821,-84.5754],[605.038,-302.453,33.55,164.225,-84.3805],[594.815,-200.47,32.9167,159.301,-84.161],[584.513,-101.652,32.2833,154.303,-83.9254],[573.586,-1.10588,31.6167,148.965,-83.6583],[562.3,98.2016,30.9333,143.413,-83.3615],[550.374,198.21,30.2167,137.506,-83.0216],[537.797,298.258,29.4667,131.235,-82.63],[524.278,399.697,28.6667,124.449,-82.1648],[510.086,499.479,27.8333,117.28,-81.6185],[494.929,598.594,26.95,109.578,-80.9557],[478.213,699.091,25.9833,101.039,-80.1073],[459.916,798.672,24.9333,91.6509,-78.9971],[439.136,898.761,23.75,80.958,-77.4233],[414.654,999.206,22.3667,68.3666,-74.9374],[383.731,1099.48,20.6333,52.6212,-70.1034],[333.654,1199.97,17.85,28.8543,-51.2479],[292.329,1226.05,15.5667,18.1311,-0.495918]]], - [84,1230.92,[[633.386,-2000.85,42.3167,224.068,-86.8945],[627.903,-1900.76,41.8667,221.353,-86.8323],[622.379,-1801.9,41.4167,218.597,-86.7681],[616.607,-1700.7,40.95,215.695,-86.6993],[610.79,-1600.88,40.4833,212.75,-86.6282],[604.929,-1502.44,40.0167,209.759,-86.5543],[598.813,-1401.97,39.5333,206.616,-86.475],[592.651,-1303.04,39.05,203.424,-86.3926],[586.227,-1202.34,38.55,200.073,-86.3039],[579.538,-1100.07,38.0333,196.557,-86.2084],[573.016,-1002.84,37.5333,193.103,-86.1117],[566.006,-901.056,37,189.363,-86.004],[558.942,-801.291,36.4667,185.566,-85.8911],[551.602,-700.554,35.9167,181.591,-85.7686],[544.206,-602.029,35.3667,177.556,-85.6397],[536.528,-502.868,34.8,173.337,-85.4996],[528.336,-400.512,34.2,168.802,-85.3423],[520.081,-300.911,33.6,164.199,-85.1748],[511.532,-201.459,32.9833,159.397,-84.9913],[502.686,-102.442,32.35,154.392,-84.7893],[493.303,-1.68321,31.6833,149.045,-84.5601],[483.612,97.844,31,143.483,-84.3055],[473.37,198.085,30.2833,137.563,-84.0139],[462.57,298.378,29.5333,131.278,-83.6779],[451.204,398.019,28.75,124.617,-83.2874],[439.019,498.2,27.9167,117.429,-82.8196],[425.758,599.553,27.0167,109.556,-82.2404],[411.652,698.71,26.0667,101.131,-81.5249],[395.943,798.808,25.0167,91.6988,-80.5731],[378.101,899.483,23.8333,80.9415,-79.2223],[357.333,999.509,22.4667,68.3995,-77.1144],[331.298,1099.25,20.7667,52.7541,-73.058],[290.119,1199.68,18.1,29.1028,-57.8199],[251.027,1230.92,15.5833,15.5607,-0.0206206]]], - [85,1235.04,[[529.135,-2002.52,42.3667,224.148,-87.409],[524.558,-1902.35,41.9167,221.432,-87.3571],[519.947,-1803.4,41.4667,218.675,-87.3037],[515.129,-1702.12,41,215.772,-87.2463],[510.273,-1602.21,40.5333,212.825,-87.1869],[505.206,-1500.19,40.05,209.726,-87.1231],[500.276,-1403.12,39.5833,206.688,-87.0592],[494.954,-1300.71,39.0833,203.385,-86.9879],[489.77,-1203.3,38.6,200.142,-86.9164],[484.187,-1100.93,38.0833,196.624,-86.8367],[478.56,-1000.39,37.5667,193.051,-86.7534],[472.891,-901.71,37.05,189.424,-86.6662],[466.994,-801.836,36.5167,185.624,-86.5721],[460.867,-700.987,35.9667,181.646,-86.4699],[454.693,-602.349,35.4167,177.607,-86.3623],[448.094,-500.186,34.8333,173.259,-86.2419],[441.445,-400.588,34.25,168.845,-86.1142],[434.554,-300.86,33.65,164.235,-85.9745],[427.418,-201.275,33.0333,159.427,-85.8213],[420.034,-102.121,32.4,154.415,-85.6527],[412.201,-1.2172,31.7333,149.06,-85.4615],[404.111,98.4601,31.05,143.488,-85.249],[395.562,198.86,30.3333,137.558,-85.0056],[386.546,299.321,29.5833,131.259,-84.725],[377.058,399.137,28.8,124.583,-84.399],[366.887,499.507,27.9667,117.376,-84.0081],[356.022,599.248,27.0833,109.627,-83.5337],[344.249,698.764,26.1333,101.174,-82.9372],[331.137,799.263,25.0833,91.7041,-82.1431],[316.456,899.059,23.9167,81.0451,-81.0331],[299.124,999.827,22.55,68.4174,-79.2768],[277.609,1099.65,20.8667,52.7576,-75.9267],[244.324,1199.82,18.2833,29.1801,-63.6942],[209.763,1235.04,15.6167,12.9821,-0.288514]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 412.201; -_maxRange = 2368.09; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg3.sqf deleted file mode 100644 index fd0659fcf1..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg3.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_he_pd_chg3 -// Ammo: ace_arty_82mm_he_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,906.408,[[4446.25,-2002.5,38.8667,228.896,-67.2783],[4403.34,-1901.15,38.3833,226.43,-66.8131],[4360.08,-1801.25,37.9,223.938,-66.3336],[4316.46,-1702.84,37.4167,221.422,-65.8392],[4270.97,-1602.6,36.9167,218.793,-65.3114],[4223.55,-1500.74,36.4,216.05,-64.7477],[4175.74,-1400.64,35.8833,213.283,-64.1645],[4127.52,-1302.33,35.3667,210.492,-63.5609],[4077.33,-1202.75,34.8333,207.588,-62.9154],[4025.13,-1102.11,34.2833,204.571,-62.2245],[3970.88,-1000.64,33.7167,201.44,-61.4847],[3916.16,-901.45,33.15,198.29,-60.7147],[3859.34,-801.761,32.5667,195.031,-59.889],[3800.38,-701.819,31.9667,191.663,-59.0026],[3739.24,-601.885,31.35,188.191,-58.0501],[3675.9,-502.231,30.7167,184.618,-57.0254],[3608.6,-400.642,30.05,180.856,-55.8927],[3538.99,-300.091,29.3667,177.005,-54.6706],[3467.01,-200.896,28.6667,173.075,-53.3502],[3390.9,-101.176,27.9333,168.986,-51.8875],[3310.55,-1.58291,27.1667,164.754,-50.2655],[3224.11,99.1866,26.35,160.312,-48.4262],[3133.24,198.154,25.5,155.783,-46.3808],[3032.39,299.768,24.5667,150.953,-43.9702],[2924.98,398.713,23.5833,146.067,-41.2314],[2803.42,499.377,22.4833,140.908,-37.9108],[2665.43,599.454,21.25,135.6,-33.8491],[2500.94,699.532,19.8,130.16,-28.6049],[2285.7,799.871,17.9333,124.74,-21.1349],[1867.81,899.818,14.4,120.738,-5.34565],[1728.84,906.408,13.25,121.488,-0.013901]]], - [46,936.796,[[4407.19,-2002.17,39.2167,229.176,-67.7499],[4365.08,-1900.34,38.7333,226.699,-67.2943],[4324.08,-1803.4,38.2667,224.282,-66.8412],[4279.8,-1701.06,37.7667,221.666,-66.3406],[4235.14,-1600.32,37.2667,219.024,-65.8236],[4190.11,-1501.2,36.7667,216.355,-65.2896],[4143.19,-1400.51,36.25,213.572,-64.7189],[4095.88,-1301.6,35.7333,210.764,-64.1282],[4046.62,-1201.39,35.2,207.842,-63.4963],[3995.4,-1100.11,34.65,204.803,-62.82],[3943.73,-1000.93,34.1,201.742,-62.1172],[3890.04,-900.994,33.5333,198.568,-61.364],[3834.3,-800.524,32.95,195.28,-60.556],[3778.07,-702.535,32.3667,191.977,-59.7131],[3718.1,-601.682,31.75,188.47,-58.7817],[3655.96,-501.074,31.1167,184.859,-57.7793],[3591.61,-400.996,30.4667,181.148,-56.6994],[3525.01,-301.742,29.8,177.343,-55.5343],[3454.44,-201.278,29.1,173.358,-54.2442],[3379.8,-100.212,28.3667,169.205,-52.8142],[3302.75,-1.34296,27.6167,164.993,-51.2629],[3219.75,99.034,26.8167,160.554,-49.5019],[3130.67,199.848,25.9667,155.923,-47.5019],[3035.38,299.938,25.0667,151.141,-45.229],[2931.93,399.701,24.1,146.183,-42.5968],[2818.29,498.839,23.05,141.059,-39.4986],[2688.7,598.868,21.8667,135.692,-35.691],[2535.18,699.827,20.4833,130.099,-30.7986],[2343.65,799.891,18.7833,124.481,-24.138],[2048.6,899.756,16.2167,119.329,-12.906],[1724.77,936.795,13.4667,119.231,-0.00656623]]], - [47,967.114,[[4365.53,-2002.88,39.5667,229.483,-68.2269],[4324.22,-1900.57,39.0833,226.996,-67.7812],[4284,-1803.16,38.6167,224.569,-67.3379],[4240.56,-1700.3,38.1167,221.941,-66.848],[4198.22,-1602.39,37.6333,219.374,-66.3593],[4154.06,-1502.7,37.1333,216.693,-65.8372],[4108.04,-1401.4,36.6167,213.895,-65.2792],[4061.64,-1301.88,36.1,211.071,-64.7016],[4013.34,-1201.04,35.5667,208.13,-64.0836],[3964.63,-1102.15,35.0333,205.164,-63.4425],[3913.97,-1002.24,34.4833,202.082,-62.7558],[3861.32,-901.536,33.9167,198.884,-62.0197],[3806.66,-800.271,33.3333,195.57,-61.2299],[3751.52,-701.478,32.75,192.237,-60.4057],[3694.32,-602.479,32.15,188.793,-59.5199],[3633.4,-500.901,31.5167,185.145,-58.5404],[3571.94,-402.368,30.8833,181.489,-57.5125],[3506.67,-301.986,30.2167,177.638,-56.3746],[3437.49,-200.324,29.5167,173.6,-55.1139],[3366.01,-100.269,28.8,169.481,-53.7485],[3292.18,-2.16736,28.0667,165.293,-52.2673],[3210.86,99.8408,27.2667,160.772,-50.5474],[3127.02,198.499,26.45,156.226,-48.6713],[3035.43,298.888,25.5667,151.413,-46.4947],[2935.88,399.409,24.6167,146.393,-43.9701],[2826.4,499.851,23.5833,141.165,-40.9917],[2704.92,599.185,22.45,135.782,-37.4281],[2563.83,698.95,21.15,130.172,-32.9379],[2389.53,799.647,19.5667,124.361,-26.8766],[2146.78,899.683,17.4,118.714,-17.5972],[1719.21,967.113,13.6833,116.949,-0.0175233]]], - [48,997.332,[[4319.86,-2001.13,39.9,229.734,-68.6943],[4280.76,-1901.89,39.4333,227.323,-68.2734],[4239.92,-1800.53,38.95,224.799,-67.8243],[4198.75,-1700.62,38.4667,222.247,-67.3612],[4157.24,-1602.2,37.9833,219.668,-66.8833],[4113.94,-1501.96,37.4833,216.973,-66.3728],[4068.83,-1400.11,36.9667,214.16,-65.8271],[4023.33,-1300.02,36.45,211.319,-65.2622],[3977.46,-1201.73,35.9333,208.453,-64.677],[3929.72,-1102.19,35.4,205.469,-64.0505],[3880.06,-1001.59,34.85,202.366,-63.3793],[3828.46,-900.178,34.2833,199.144,-62.6598],[3776.42,-801.053,33.7167,195.9,-61.91],[3722.39,-701.441,33.1333,192.539,-61.105],[3666.33,-601.592,32.5333,189.065,-60.2395],[3608.21,-501.765,31.9167,185.478,-59.3081],[3547.99,-402.235,31.2833,181.783,-58.3043],[3484.03,-300.793,30.6167,177.888,-57.1928],[3417.88,-200.408,29.9333,173.895,-55.9909],[3349.49,-101.404,29.2333,169.815,-54.6893],[3277.18,-1.90142,28.5,165.561,-53.2438],[3199.2,99.5471,27.7167,161.056,-51.6002],[3117.1,199.911,26.9,156.418,-49.7686],[3030.81,298.428,26.05,151.678,-47.7242],[2935.08,399.512,25.1167,146.609,-45.3043],[2831.4,499.454,24.1167,141.378,-42.4924],[2716.07,599.242,23.0167,135.927,-39.1179],[2583.42,699.523,21.7667,130.22,-34.9029],[2425.68,799.1,20.3,124.354,-29.4208],[2214.4,899.974,18.3667,118.364,-21.3285],[1712.16,997.33,13.9,114.643,-0.0479839]]], - [49,1027.41,[[4271.62,-2000.52,40.2333,230.013,-69.1674],[4233.3,-1900.84,39.7667,227.593,-68.7559],[4194.66,-1802.49,39.3,225.146,-68.3322],[4154.32,-1702.07,38.8167,222.583,-67.8798],[4113.65,-1603.12,38.3333,219.993,-67.413],[4071.24,-1502.34,37.8333,217.285,-66.9143],[4028.47,-1403.19,37.3333,214.55,-66.3987],[3983.91,-1302.47,36.8167,211.695,-65.8473],[3937.52,-1200.38,36.2833,208.72,-65.2573],[3890.74,-1100.22,35.75,205.717,-64.645],[3843.57,-1002.03,35.2167,202.688,-64.0092],[3794.51,-902.863,34.6667,199.539,-63.3276],[3742.04,-800.032,34.0833,196.175,-62.5742],[3690.63,-702.491,33.5167,192.884,-61.8106],[3635.73,-601.774,32.9167,189.38,-60.966],[3578.81,-501.047,32.3,185.76,-60.0566],[3519.83,-400.583,31.6667,182.027,-59.0764],[3458.76,-300.667,31.0167,178.187,-58.0183],[3395.57,-201.597,30.35,174.245,-56.8745],[3328.62,-101.343,29.65,170.11,-55.605],[3257.82,-0.518435,28.9167,165.793,-54.1943],[3184.74,98.0826,28.1667,161.407,-52.6595],[3106.05,198.149,27.3667,156.776,-50.9115],[3021.61,298.605,26.5167,151.932,-48.9191],[2931.31,398.285,25.6167,146.916,-46.6449],[2831.6,499.212,24.6333,141.611,-43.9508],[2722.24,599.12,23.5667,136.119,-40.7612],[2597.77,699.42,22.3667,130.356,-36.8162],[2450.68,799.982,20.9667,124.338,-31.7102],[2265.87,899.5,19.2333,118.229,-24.6281],[1964.91,999.862,16.4667,112.473,-11.8051],[1701.74,1027.41,14.1,112.329,-0.0161431]]], - [50,1057.32,[[4220.8,-2001.09,40.5667,230.322,-69.646],[4183.26,-1900.96,40.1,227.893,-69.2441],[4145.43,-1802.16,39.6333,225.436,-68.8302],[4105.92,-1701.25,39.15,222.863,-68.3883],[4066.09,-1601.82,38.6667,220.261,-67.9323],[4024.55,-1500.54,38.1667,217.541,-67.445],[3982.66,-1400.87,37.6667,214.791,-66.9412],[3940.43,-1302.86,37.1667,212.014,-66.4201],[3895.01,-1200.15,36.6333,209.022,-65.844],[3850.64,-1102.49,36.1167,206.096,-65.2652],[3803.02,-1000.56,35.5667,202.953,-64.6253],[3754.99,-900.73,35.0167,199.784,-63.9596],[3705.08,-800.122,34.45,196.492,-63.2451],[3654.75,-701.824,33.8833,193.176,-62.4999],[3601,-600.298,33.2833,189.642,-61.6754],[3546.79,-501.439,32.6833,186.088,-60.8121],[3489.07,-400.023,32.05,182.319,-59.8559],[3430.83,-301.666,31.4167,178.538,-58.8505],[3369,-201.487,30.75,174.55,-57.7354],[3303.48,-100.056,30.05,170.363,-56.4971],[3235.78,-0.257357,29.3333,166.085,-55.1525],[3164.28,99.7326,28.5833,161.629,-53.6555],[3088.9,199.234,27.8,157.015,-51.986],[3007.93,299.472,26.9667,152.169,-50.0812],[2921.24,399.307,26.0833,147.129,-47.9049],[2827.06,499.195,25.1333,141.857,-45.3683],[2723.52,598.905,24.1,136.347,-42.3587],[2606.98,698.748,22.95,130.568,-38.6778],[2470.2,799.599,21.6167,124.461,-33.9427],[2303.78,899.126,20.0167,118.207,-27.5735],[2062.14,999.766,17.7333,111.92,-17.2553],[1689.87,1057.32,14.3,109.991,-0.00336971]]], - [51,1087.02,[[4167.36,-2002.9,40.9,230.66,-70.1298],[4130.63,-1902.3,40.4333,228.223,-69.7377],[4093.6,-1803.03,39.9667,225.758,-69.3338],[4054.94,-1701.63,39.4833,223.175,-68.9025],[4015.96,-1601.71,39,220.562,-68.4575],[3976.66,-1503.27,38.5167,217.921,-67.998],[3935.68,-1403.04,38.0167,215.159,-67.5067],[3892.98,-1301.18,37.5,212.275,-66.9813],[3849.92,-1201.1,36.9833,209.361,-66.4368],[3806.51,-1102.83,36.4667,206.419,-65.8722],[3759.9,-1000.23,35.9167,203.257,-65.248],[3714.34,-902.746,35.3833,200.164,-64.6185],[3665.51,-801.375,34.8167,196.85,-63.9222],[3616.28,-702.305,34.25,193.51,-63.1958],[3565.16,-602.761,33.6667,190.047,-62.4147],[3510.66,-500.26,33.05,186.363,-61.5499],[3455.68,-400.608,32.4333,182.66,-60.6422],[3398.72,-301.272,31.8,178.841,-59.6623],[3338.24,-200.051,31.1333,174.809,-58.575],[3277.22,-102.311,30.4667,170.773,-57.4262],[3211.03,-1.17792,29.75,166.437,-56.1175],[3142.68,98.0194,29.0167,162.015,-54.693],[3068.99,199.118,28.2333,157.322,-53.068],[2991.42,299.091,27.4167,152.481,-51.2507],[2908.3,399.032,26.55,147.426,-49.1724],[2817.89,499.468,25.6167,142.109,-46.7465],[2720,598.674,24.6167,136.604,-43.9118],[2609.49,699.019,23.5,130.76,-40.4331],[2482.65,799.301,22.2333,124.629,-36.0552],[2330.47,899.129,20.7333,118.251,-30.2431],[2124.37,999.727,18.7333,111.676,-21.4394],[1676.56,1087.02,14.5,107.628,-0.0110437]]], - [52,1116.49,[[4110.03,-2002.35,41.2167,230.942,-70.6053],[4074.1,-1901.32,40.75,228.496,-70.2227],[4037.88,-1801.62,40.2833,226.022,-69.8285],[4001.37,-1703.27,39.8167,223.518,-69.4223],[3963.24,-1602.84,39.3333,220.896,-68.9884],[3923.48,-1500.5,38.8333,218.151,-68.5247],[3884.73,-1403.12,38.35,215.469,-68.0614],[3842.97,-1300.7,37.8333,212.571,-67.549],[3800.86,-1200.06,37.3167,209.642,-67.0179],[3758.4,-1101.22,36.8,206.684,-66.4672],[3714.21,-1001.1,36.2667,203.6,-65.877],[3669.65,-902.956,35.7333,200.488,-65.2636],[3621.92,-800.874,35.1667,197.152,-64.5849],[3573.77,-701.085,34.6,193.788,-63.8767],[3523.79,-600.795,34.0167,190.299,-63.115],[3471.94,-500.25,33.4167,186.685,-62.2948],[3419.65,-402.395,32.8167,183.05,-61.4349],[3363.98,-302.062,32.1833,179.194,-60.4811],[3306.35,-202.295,31.5333,175.222,-59.4495],[3245.22,-100.968,30.85,171.037,-58.3032],[3182.03,-1.00379,30.15,166.749,-57.0581],[3115.24,99.4956,29.4167,162.265,-55.6707],[3044.76,199.871,28.65,157.599,-54.1218],[2970.53,299.421,27.85,152.772,-52.3889],[2890.9,399.297,27,147.71,-50.4055],[2805.75,498.327,26.1,142.456,-48.131],[2711.78,598.504,25.1167,136.88,-45.4217],[2607.13,699.018,24.0333,130.998,-42.1404],[2488.25,799.397,22.8167,124.817,-38.0515],[2348.1,899.329,21.4,118.349,-32.7127],[2167.45,999.54,19.6,111.612,-25.0051],[1853.31,1099.81,16.5333,105.255,-9.80438],[1661.78,1116.49,14.7,105.242,-0.0407247]]], - [53,1145.69,[[4050.12,-2003.11,41.5333,231.254,-71.0864],[4015,-1901.65,41.0667,228.801,-70.7133],[3979.59,-1801.51,40.6,226.317,-70.3291],[3943.9,-1702.7,40.1333,223.805,-69.9331],[3906.64,-1601.81,39.65,221.172,-69.51],[3869.07,-1502.39,39.1667,218.508,-69.0732],[3829.9,-1401.12,38.6667,215.721,-68.606],[3790.4,-1301.48,38.1667,212.904,-68.1227],[3749.24,-1200.27,37.65,209.961,-67.6053],[3707.75,-1100.84,37.1333,206.987,-67.0687],[3664.56,-1000.11,36.6,203.886,-66.4936],[3621.02,-901.356,36.0667,200.755,-65.8957],[3575.74,-801.603,35.5167,197.496,-65.254],[3528.7,-701.081,34.95,194.11,-64.5644],[3479.87,-600.027,34.3667,190.595,-63.8226],[3430.62,-501.468,33.7833,187.054,-63.0463],[3378.12,-400.032,33.1667,183.287,-62.1856],[3325.16,-301.469,32.55,179.498,-61.2809],[3268.85,-200.733,31.9,175.486,-60.2764],[3210.6,-100.83,31.2333,171.358,-59.1877],[3150.36,-2.06993,30.55,167.121,-58.0056],[3085.13,99.7535,29.8167,162.577,-56.6564],[3017.81,199.367,29.0667,157.944,-55.1829],[2946.85,298.45,28.2833,153.137,-53.534],[2870.65,398.213,27.45,148.077,-51.6451],[2787.54,499.322,26.55,142.702,-49.4346],[2698.94,598.46,25.6,137.169,-46.8901],[2599.99,698.825,24.55,131.274,-43.8007],[2488.83,798.825,23.3833,125.082,-39.9937],[2358.65,899.165,22.0333,118.527,-35.0539],[2195.76,999.903,20.3667,111.622,-28.119],[1955.47,1099.68,17.95,104.717,-16.4894],[1643.84,1145.69,14.8833,102.845,-0.00318344]]], - [54,1174.59,[[3986.38,-2001.56,41.8333,231.509,-71.56],[3953.3,-1903.32,41.3833,229.136,-71.2095],[3918.73,-1802.72,40.9167,226.645,-70.8353],[3883.87,-1703.46,40.45,224.124,-70.4497],[3847.48,-1602.09,39.9667,221.481,-70.0376],[3810.79,-1502.18,39.4833,218.807,-69.6121],[3772.52,-1400.41,38.9833,216.008,-69.1571],[3733.94,-1300.27,38.4833,213.178,-68.6863],[3695.05,-1201.77,37.9833,210.316,-68.1987],[3654.53,-1101.75,37.4667,207.328,-67.6765],[3612.36,-1000.4,36.9333,204.211,-67.1168],[3569.84,-901.012,36.4,201.062,-66.5348],[3525.63,-800.605,35.85,197.783,-65.9099],[3481.05,-702.344,35.3,194.475,-65.2586],[3433.37,-600.511,34.7167,190.936,-64.537],[3385.29,-501.165,34.1333,187.369,-63.7817],[3335.42,-401.614,33.5333,183.674,-62.9674],[3283.73,-302.123,32.9167,179.852,-62.0879],[3228.77,-200.4,32.2667,175.802,-61.1111],[3173.33,-101.953,31.6167,171.736,-60.0791],[3114.54,-2.04277,30.9333,167.451,-58.9303],[3052.34,98.734,30.2167,162.953,-57.6491],[2986.64,199.739,29.4667,158.255,-56.2174],[2918.88,298.204,28.7,153.474,-54.6493],[2844.53,399.663,27.8667,148.322,-52.8137],[2766.47,498.933,27,143.037,-50.7455],[2681.58,598.608,26.0667,137.463,-48.3187],[2588.17,698.519,25.05,131.579,-45.4153],[2482.91,799.082,23.9167,125.324,-41.8262],[2362.36,898.97,22.6333,118.752,-37.2696],[2214.88,999.483,21.0833,111.767,-31.014],[2011.98,1099.89,18.9833,104.528,-21.2083],[1626.17,1174.59,15.0833,100.412,-0.0802613]]], - [55,1203.15,[[3920.11,-2001.4,42.1333,231.795,-72.0393],[3887.82,-1902.76,41.6833,229.415,-71.6981],[3854.07,-1801.75,41.2167,226.915,-71.3337],[3820.05,-1702.07,40.75,224.385,-70.9582],[3784.52,-1600.25,40.2667,221.732,-70.5569],[3749.95,-1503.34,39.8,219.141,-70.157],[3712.61,-1401.06,39.3,216.331,-69.7143],[3674.96,-1300.39,38.8,213.489,-69.2562],[3637,-1201.36,38.3,210.614,-68.7818],[3597.46,-1100.78,37.7833,207.611,-68.2736],[3557.6,-1002.02,37.2667,204.576,-67.7461],[3516.11,-901.989,36.7333,201.41,-67.1803],[3472.98,-800.911,36.1833,198.113,-66.5727],[3429.48,-701.974,35.6333,194.784,-65.9393],[3384.3,-602.311,35.0667,191.324,-65.2579],[3337.4,-502.161,34.4833,187.732,-64.5241],[3288.75,-401.776,33.8833,184.008,-63.7326],[3238.32,-301.417,33.2667,180.154,-62.8777],[3186.08,-201.361,32.6333,176.172,-61.9528],[3132.01,-101.896,31.9833,172.066,-60.9504],[3074.68,-0.90522,31.3,167.734,-59.8339],[3015.42,98.6935,30.6,163.289,-58.618],[2952.79,198.787,29.8667,158.633,-57.2591],[2886.72,298.714,29.1,153.781,-55.737],[2815.69,399.773,28.2833,148.645,-53.9905],[2741.06,498.97,27.4333,143.359,-52.0221],[2659.8,598.999,26.5167,137.757,-49.7093],[2570.27,699.771,25.5167,131.806,-46.9373],[2472.26,798.956,24.4333,125.614,-43.609],[2359.44,899.036,23.2,118.994,-39.3641],[2223.64,999.967,21.7333,111.909,-33.6246],[2048.36,1099.51,19.8667,104.553,-25.1767],[1681.91,1199.96,16.05,97.7128,-4.58602],[1605.39,1203.15,15.2667,97.9673,-0.0897676]]], - [56,1231.35,[[3851.26,-2002.67,42.4333,232.112,-72.5243],[3819.78,-1903.62,41.9833,229.725,-72.1925],[3786.86,-1802.18,41.5167,227.218,-71.8381],[3753.68,-1702.07,41.05,224.68,-71.4728],[3720.24,-1603.3,40.5833,222.11,-71.0962],[3685.32,-1502.45,40.1,219.416,-70.6935],[3650.12,-1403.09,39.6167,216.69,-70.2775],[3613.42,-1301.88,39.1167,213.837,-69.8322],[3576.41,-1202.31,38.6167,210.95,-69.3712],[3537.86,-1101.18,38.1,207.933,-68.8772],[3498.99,-1001.84,37.5833,204.883,-68.3645],[3458.54,-901.213,37.05,201.701,-67.8144],[3417.76,-802.566,36.5167,198.486,-67.242],[3375.36,-702.937,35.9667,195.138,-66.6268],[3331.31,-602.555,35.4,191.655,-65.9649],[3285.59,-501.656,34.8167,188.038,-65.2519],[3238.17,-400.491,34.2167,184.287,-64.4827],[3190.34,-302.021,33.6167,180.507,-63.6748],[3139.43,-201.046,32.9833,176.491,-62.7767],[3086.73,-100.629,32.3333,172.346,-61.803],[3032.21,-1.06997,31.6667,168.076,-60.7453],[2974.46,99.6691,30.9667,163.58,-59.565],[2914.82,198.716,30.25,158.973,-58.2761],[2851.85,297.872,29.5,154.159,-56.832],[2784.08,398.491,28.7,149.047,-55.1741],[2711.39,499.491,27.85,143.663,-53.2662],[2633.69,599.694,26.95,138.043,-51.0639],[2549.41,699.484,25.9833,132.141,-48.4669],[2456.95,798.539,24.9333,125.943,-45.3432],[2350.13,899.653,23.7333,119.227,-41.3428],[2225.55,999.954,22.35,112.134,-36.0997],[2068.92,1099.8,20.6333,104.636,-28.5773],[1821.36,1199.75,17.9667,96.9597,-14.7347],[1581.62,1231.35,15.4333,95.5105,-0.026588]]], - [57,1259.15,[[3778.72,-2001.71,42.7167,232.373,-73.0029],[3748.04,-1902.28,42.2667,229.979,-72.6802],[3715.96,-1800.46,41.8,227.464,-72.3356],[3684.78,-1703.52,41.35,225.008,-71.9933],[3651.03,-1600.79,40.8667,222.338,-71.6141],[3618.18,-1502.99,40.4,219.728,-71.2362],[3583.89,-1403.15,39.9167,216.991,-70.8319],[3548.12,-1301.45,39.4167,214.127,-70.3993],[3512.07,-1201.39,38.9167,211.228,-69.9513],[3475.72,-1102.98,38.4167,208.295,-69.4871],[3437.86,-1003.06,37.9,205.231,-68.9893],[3398.46,-901.822,37.3667,202.033,-68.4553],[3358.73,-802.559,36.8333,198.801,-67.8994],[3317.43,-702.288,36.2833,195.434,-67.302],[3274.52,-601.237,35.7167,191.93,-66.6591],[3231.26,-502.512,35.15,188.393,-65.9867],[3185.07,-400.551,34.55,184.615,-65.2404],[3138.49,-301.277,33.95,180.807,-64.4561],[3090.21,-202.085,33.3333,176.864,-63.6078],[3038.9,-100.695,32.6833,172.682,-62.6635],[2985.81,-0.128217,32.0167,168.37,-61.6373],[2930.92,99.3016,31.3333,163.934,-60.5197],[2872.85,199.551,30.6167,159.272,-59.2699],[2811.54,299.978,29.8667,154.393,-57.8687],[2746.93,399.897,29.0833,149.313,-56.2936],[2678.96,498.578,28.2667,144.05,-54.5174],[2604.76,598.912,27.3833,138.423,-52.4256],[2524.18,699.278,26.4333,132.482,-49.9558],[2435.66,799.44,25.4,126.203,-46.9794],[2336.11,899.701,24.25,119.522,-43.2684],[2220.86,999.765,22.9333,112.409,-38.4426],[2079.06,1099.85,21.3333,104.811,-31.6643],[1876.6,1199.93,19.0833,96.8114,-20.3816],[1558.08,1259.15,15.6167,93.0186,-0.0865665]]], - [58,1286.52,[[3703.66,-2002.25,43,232.665,-73.4872],[3673.79,-1902.44,42.55,230.265,-73.1738],[3642.56,-1800.21,42.0833,227.743,-72.8392],[3612.21,-1702.89,41.6333,225.279,-72.5067],[3580.49,-1603.26,41.1667,222.693,-72.1513],[3547.37,-1501.52,40.6833,219.981,-71.7713],[3513.98,-1401.24,40.2,217.234,-71.3787],[3480.32,-1302.47,39.7167,214.454,-70.9727],[3445.23,-1201.89,39.2167,211.544,-70.5379],[3409.85,-1102.97,38.7167,208.599,-70.0874],[3373,-1002.51,38.2,205.521,-69.6043],[3334.65,-900.709,37.6667,202.307,-69.0859],[3295.98,-800.877,37.1333,199.058,-68.5462],[3255.77,-700.015,36.5833,195.671,-67.9661],[3215.24,-601.305,36.0333,192.25,-67.3606],[3173.14,-501.888,35.4667,188.691,-66.7084],[3129.44,-402.005,34.8833,184.994,-66.0048],[3084.12,-301.909,34.2833,181.158,-65.2448],[3037.15,-201.864,33.6667,177.185,-64.4225],[2988.5,-102.148,33.0333,173.075,-63.5309],[2936.85,-0.552499,32.3667,168.723,-62.537],[2883.46,99.9424,31.6833,164.242,-61.4542],[2828.29,199.01,30.9833,159.636,-60.2716],[2769.99,298.522,30.25,154.806,-58.9458],[2707.15,399.917,29.4667,149.653,-57.4215],[2642.4,498.164,28.6667,144.415,-55.7377],[2571.62,598.457,27.8,138.79,-53.7527],[2494.66,699.215,26.8667,132.823,-51.4061],[2411.4,798.697,25.8667,126.581,-48.6223],[2317.48,899.269,24.75,119.869,-45.142],[2209.79,999.705,23.4833,112.704,-40.6581],[2080.74,1099.58,21.9833,105.064,-34.5231],[1907.75,1199.35,20,96.9154,-24.9329],[1531.61,1286.51,15.7833,90.5138,-0.0732753]]], - [59,1313.42,[[3625.01,-2000.62,43.2667,232.901,-73.966],[3595.95,-1900.46,42.8167,230.494,-73.6617],[3566.66,-1801.51,42.3667,228.055,-73.3486],[3536.04,-1700.18,41.9,225.493,-73.014],[3505.18,-1600.19,41.4333,222.898,-72.669],[3474.08,-1501.55,40.9667,220.27,-72.3129],[3441.61,-1400.83,40.4833,217.514,-71.932],[3408.88,-1301.61,40,214.723,-71.5382],[3374.75,-1200.56,39.5,211.801,-71.1164],[3340.34,-1101.16,39,208.844,-70.6792],[3304.5,-1000.2,38.4833,205.752,-70.2105],[3268.37,-901.058,37.9667,202.624,-69.7234],[3230.77,-800.642,37.4333,199.359,-69.2003],[3192.86,-702.215,36.9,196.058,-68.6553],[3153.46,-602.825,36.35,192.618,-68.069],[3112.53,-502.701,35.7833,189.038,-67.4373],[3070.05,-402.083,35.2,185.317,-66.7558],[3025.99,-301.222,34.6,181.455,-66.0194],[2980.32,-200.383,33.9833,177.451,-65.2224],[2934.28,-102.448,33.3667,173.417,-64.3815],[2885.34,-2.41201,32.7167,169.137,-63.4439],[2833.45,99.17,32.0333,164.612,-62.3965],[2779.83,199.363,31.3333,159.957,-61.2521],[2724.46,297.826,30.6167,155.181,-59.9986],[2664.71,398.48,29.85,150.07,-58.5567],[2601.81,498.277,29.05,144.752,-56.9292],[2534.37,598.366,28.2,139.139,-55.0471],[2460.96,699.336,27.2833,133.158,-52.8199],[2381.45,799.487,26.3,126.869,-50.1742],[2292.98,899.889,25.2167,120.155,-46.9113],[2193.96,998.758,24.0167,113.085,-42.813],[2074.35,1099.57,22.5833,105.336,-37.1618],[1920.77,1199.87,20.7667,97.0332,-28.6892],[1648.19,1299.76,17.6,88.5219,-10.5617],[1503.82,1313.42,15.95,87.9855,-0.0872606]]], - [60,1339.84,[[3543.87,-2000.54,43.5333,233.17,-74.4507],[3515.64,-1900.03,43.0833,230.756,-74.1558],[3487.18,-1800.71,42.6333,228.311,-73.8522],[3458.5,-1702.62,42.1833,225.833,-73.5396],[3428.52,-1602.19,41.7167,223.231,-73.2054],[3398.31,-1503.11,41.25,220.595,-72.8606],[3366.76,-1401.94,40.7667,217.831,-72.4917],[3334.97,-1302.25,40.2833,215.031,-72.1102],[3301.81,-1200.72,39.7833,212.098,-71.7016],[3268.39,-1100.83,39.2833,209.129,-71.2781],[3234.7,-1002.61,38.7833,206.124,-70.8388],[3199.6,-902.892,38.2667,202.983,-70.3675],[3163.09,-801.878,37.7333,199.703,-69.8612],[3126.27,-702.846,37.2,196.386,-69.3337],[3088,-602.827,36.65,192.928,-68.766],[3048.25,-502.047,36.0833,189.328,-68.1544],[3006.99,-400.747,35.5,185.583,-67.4944],[2965.38,-301.963,34.9167,181.803,-66.8015],[2921.04,-200.311,34.3,177.771,-66.0304],[2876.32,-101.556,33.6833,173.706,-65.2166],[2828.8,-0.645007,33.0333,169.389,-64.3089],[2779.64,99.409,32.3667,164.934,-63.3201],[2728.82,198.291,31.6833,160.344,-62.2403],[2675.08,297.941,30.9667,155.514,-61.0289],[2617.08,399.878,30.2,150.339,-59.6347],[2557.29,498.975,29.4167,145.058,-58.0938],[2493.11,598.702,28.5833,139.465,-56.311],[2423.17,699.713,27.6833,133.481,-54.1992],[2348.64,798.678,26.7333,127.266,-51.7333],[2265.48,898.773,25.6833,120.572,-48.6863],[2170.79,999.707,24.5,113.343,-44.7901],[2061.59,1099.25,23.15,105.663,-39.6598],[1923.77,1199.69,21.4667,97.2778,-32.1043],[1714.53,1299.93,18.95,88.3299,-18.291],[1473.27,1339.84,16.1,85.4426,-0.0212848]]], - [61,1365.73,[[3460.27,-2002.11,43.8,233.471,-74.9413],[3432.87,-1901.22,43.35,231.052,-74.6558],[3405.25,-1801.53,42.9,228.601,-74.3619],[3377.42,-1703.06,42.45,226.117,-74.0593],[3348.32,-1602.24,41.9833,223.508,-73.7358],[3319,-1502.76,41.5167,220.864,-73.4019],[3288.39,-1401.16,41.0333,218.09,-73.0448],[3257.53,-1301.06,40.55,215.28,-72.6754],[3226.43,-1202.46,40.0667,212.435,-72.2932],[3193.99,-1102.07,39.5667,209.455,-71.8836],[3160.21,-1000.08,39.05,206.338,-71.4442],[3127.25,-903.089,38.55,203.285,-71.0027],[3091.82,-801.523,38.0167,199.99,-70.5129],[3056.1,-701.934,37.4833,196.657,-70.0025],[3018.97,-601.333,36.9333,193.181,-69.4531],[2981.53,-502.898,36.3833,189.667,-68.8789],[2941.5,-400.898,35.8,185.9,-68.2409],[2901.14,-301.408,35.2167,182.096,-67.5709],[2859.29,-201.731,34.6167,178.147,-66.8458],[2815.92,-102.135,34,174.052,-66.0598],[2769.82,-0.329273,33.35,169.701,-65.1827],[2723.33,98.1707,32.7,165.319,-64.2515],[2674.06,198.104,32.0167,160.685,-63.209],[2621.93,298.868,31.3,155.803,-62.0389],[2566.91,399.819,30.55,150.681,-60.7217],[2510.17,498.184,29.7833,145.443,-59.2668],[2447.96,599.481,28.95,139.765,-57.5466],[2382.67,698.526,28.0833,133.901,-55.5858],[2310.44,799.596,27.1333,127.554,-53.2087],[2232.4,898.941,26.1167,120.907,-50.3642],[2144.55,998.772,24.9833,113.751,-46.7727],[2042.72,1098.89,23.6833,106.013,-42.0225],[1917.26,1199.74,22.1,97.5492,-35.19],[1743.2,1299.52,19.9333,88.4555,-23.7817],[1442.87,1365.73,16.2667,82.8673,-0.0946513]]], - [62,1391.07,[[3373.19,-2001.56,44.05,233.717,-75.4272],[3346.63,-1900.34,43.6,231.292,-75.151],[3319.85,-1800.31,43.15,228.834,-74.8667],[3292.87,-1701.49,42.7,226.344,-74.574],[3264.66,-1600.31,42.2333,223.726,-74.2609],[3236.23,-1500.47,41.7667,221.074,-73.9379],[3207.58,-1401.99,41.3,218.387,-73.6044],[3177.67,-1301.45,40.8167,215.569,-73.2473],[3147.53,-1202.41,40.3333,212.714,-72.8778],[3116.09,-1101.56,39.8333,209.723,-72.4818],[3084.41,-1002.36,39.3333,206.695,-72.071],[3051.4,-901.628,38.8167,203.527,-71.6302],[3018.14,-802.717,38.3,200.322,-71.1716],[2983.52,-702.556,37.7667,196.973,-70.6786],[2947.53,-601.359,37.2167,193.48,-70.1479],[2911.26,-502.321,36.6667,189.948,-69.5931],[2873.58,-402.573,36.1,186.269,-68.9947],[2834.47,-302.358,35.5167,182.442,-68.348],[2793.92,-201.929,34.9167,178.467,-67.6481],[2751.9,-101.552,34.3,174.343,-66.8891],[2708.38,-1.50431,33.6667,170.072,-66.0644],[2663.35,97.9212,33.0167,165.654,-65.1661],[2615.61,198.837,32.3333,160.978,-64.16],[2566.3,298.323,31.6333,156.162,-63.0575],[2514.19,398.257,30.9,151.098,-61.8164],[2459.25,497.971,30.1333,145.794,-60.4147],[2400.2,598.752,29.3167,140.15,-58.7908],[2336.98,699.478,28.45,134.189,-56.9014],[2269.51,798.932,27.5333,127.945,-54.6924],[2195.21,898.997,26.5333,121.252,-52.0004],[2112.7,998.752,25.4333,114.099,-48.647],[2017.97,1098.79,24.1833,106.358,-44.2568],[1903.04,1199.82,22.6833,97.849,-38.0397],[1751.72,1299.64,20.7333,88.6457,-28.19],[1409.78,1391.07,16.4167,80.2772,-0.0877107]]], - [63,1415.83,[[3283.69,-2002.71,44.3,233.996,-75.9191],[3257.98,-1901.14,43.85,231.566,-75.6523],[3232.06,-1800.76,43.4,229.103,-75.3777],[3205.93,-1701.59,42.95,226.606,-75.0949],[3178.63,-1600.04,42.4833,223.981,-74.7925],[3152.09,-1503.38,42.0333,221.417,-74.4918],[3123.36,-1400.96,41.55,218.627,-74.1583],[3094.41,-1300.02,41.0667,215.799,-73.8134],[3065.22,-1200.58,40.5833,212.934,-73.4564],[3035.8,-1102.66,40.1,210.033,-73.0868],[3005.14,-1002.99,39.6,206.994,-72.6903],[2973.19,-901.755,39.0833,203.814,-72.2648],[2940.99,-802.34,38.5667,200.595,-71.8222],[2907.48,-701.652,38.0333,197.231,-71.3462],[2873.71,-602.959,37.5,193.828,-70.8497],[2837.53,-500.316,36.9333,190.17,-70.2981],[2802.14,-402.911,36.3833,186.58,-69.7375],[2764.29,-302.025,35.8,182.731,-69.1137],[2725.05,-200.9,35.2,178.731,-68.4384],[2685.48,-102.494,34.6,174.692,-67.7263],[2643.38,-1.61558,33.9667,170.39,-66.9314],[2599.8,98.6716,33.3167,165.937,-66.0653],[2554.74,198.063,32.65,161.336,-65.1194],[2507.03,298.589,31.95,156.474,-64.0573],[2456.62,399.625,31.2167,151.357,-62.8611],[2404.62,498.361,30.4667,146.107,-61.5397],[2348.68,598.481,29.6667,140.505,-60.0083],[2288.72,698.888,28.8167,134.568,-58.2259],[2224.66,798.396,27.9167,128.327,-56.1409],[2154.03,898.994,26.9333,121.602,-53.5967],[2075.47,999.85,25.85,114.368,-50.421],[1987.59,1099.17,24.65,106.673,-46.3701],[1882.74,1199.4,23.2333,98.2151,-40.7381],[1747.93,1299.71,21.4333,88.9061,-32.0304],[1513.22,1399.87,18.35,78.8281,-12.8635],[1375.46,1415.83,16.5667,77.6638,-0.113346]]], - [64,1439.98,[[3190.86,-2001.81,44.5333,234.22,-76.4071],[3166.92,-1903.68,44.1,231.875,-76.1594],[3141.87,-1802.94,43.65,229.407,-75.8946],[3116.61,-1703.4,43.2,226.905,-75.622],[3090.22,-1601.47,42.7333,224.274,-75.3305],[3063.61,-1500.86,42.2667,221.608,-75.0296],[3036.8,-1401.61,41.8,218.905,-74.719],[3008.8,-1300.26,41.3167,216.069,-74.3863],[2980.59,-1200.41,40.8333,213.195,-74.0421],[2952.15,-1102.07,40.35,210.284,-73.6856],[2922.5,-1001.96,39.85,207.234,-73.3033],[2891.62,-900.273,39.3333,204.042,-72.8928],[2860.49,-800.398,38.8167,200.809,-72.4658],[2829.11,-702.362,38.3,197.537,-72.0213],[2795.44,-600.052,37.75,194.011,-71.5276],[2762.53,-502.894,37.2167,190.552,-71.0273],[2727.29,-401.91,36.65,186.834,-70.471],[2690.71,-300.408,36.0667,182.964,-69.8696],[2653.83,-201.432,35.4833,179.052,-69.2371],[2615.6,-102.304,34.8833,174.987,-68.5513],[2574.91,-0.654629,34.25,170.655,-67.7855],[2533.88,97.8807,33.6167,166.283,-66.9731],[2490.34,198.188,32.95,161.645,-66.0628],[2444.24,299.685,32.25,156.74,-65.0402],[2396.65,399.477,31.5333,151.688,-63.9152],[2346.42,499.378,30.7833,146.381,-62.6439],[2293.5,598.695,30,140.826,-61.2013],[2236.73,698.631,29.1667,134.922,-59.5219],[2174.86,799.839,28.2667,128.577,-57.5175],[2108.97,898.979,27.3167,121.951,-55.1555],[2035.46,999.225,26.2667,114.766,-52.2031],[1953,1098.94,25.1,107.043,-48.4287],[1855.41,1199.9,23.7333,98.5141,-43.2217],[1735.05,1299.47,22.0667,89.2361,-35.506],[1550.74,1399.95,19.55,78.867,-20.6282],[1338.64,1439.98,16.7,75.0346,-0.050597]]], - [65,1463.49,[[3095.66,-2002.67,44.7667,234.479,-76.9012],[3071.66,-1900.46,44.3167,232.038,-76.6532],[3048.36,-1803.16,43.8833,229.655,-76.4075],[3023.98,-1703.29,43.4333,227.147,-76.1449],[2998.5,-1601,42.9667,224.51,-75.8641],[2972.82,-1500.05,42.5,221.836,-75.5742],[2946.93,-1400.44,42.0333,219.126,-75.2749],[2920.84,-1302.21,41.5667,216.38,-74.9657],[2893.61,-1201.92,41.0833,213.498,-74.6344],[2866.16,-1103.16,40.6,210.578,-74.2913],[2837.54,-1002.6,40.1,207.518,-73.9233],[2807.74,-900.439,39.5833,204.314,-73.5282],[2777.69,-800.088,39.0667,201.069,-73.1171],[2747.4,-701.573,38.55,197.783,-72.6892],[2715.89,-601.832,38.0167,194.35,-72.2285],[2683.14,-501.084,37.4667,190.766,-71.732],[2650.12,-402.51,36.9167,187.14,-71.2123],[2614.83,-300.374,36.3333,183.249,-70.6339],[2579.24,-200.757,35.75,179.315,-70.0253],[2542.34,-100.962,35.15,175.225,-69.3653],[2504.11,-1.25724,34.5333,170.979,-68.6482],[2464.53,98.0773,33.9,166.577,-67.8672],[2422.52,199.234,33.2333,161.902,-66.9918],[2379.1,299.24,32.55,157.073,-66.0323],[2334.26,397.764,31.85,152.093,-64.9774],[2285.81,498.856,31.1,146.731,-63.7574],[2234.77,599.43,30.3167,141.111,-62.3721],[2181.1,698.75,29.5,135.248,-60.7918],[2122.55,799.721,28.6167,128.923,-58.9043],[2060.13,899.005,27.6833,122.293,-56.6791],[1990.39,999.922,26.65,115.063,-53.8931],[1913.17,1099.56,25.5167,107.346,-50.3783],[1823.73,1199.39,24.2167,98.91,-45.6394],[1713.61,1299.78,22.6333,89.5374,-38.6359],[1558.64,1399.99,20.4333,79.0781,-26.2443],[1300.67,1463.49,16.8333,72.3818,-0.0194685]]], - [66,1486.33,[[2997.26,-2001.51,44.9833,234.682,-77.3924],[2974.98,-1902.79,44.55,232.327,-77.1627],[2951.66,-1801.42,44.1,229.848,-76.9173],[2928.16,-1701.26,43.65,227.333,-76.6645],[2904.48,-1602.3,43.2,224.784,-76.404],[2879.73,-1500.98,42.7333,222.104,-76.1254],[2854.78,-1401.01,42.2667,219.387,-75.8377],[2829.63,-1302.4,41.8,216.634,-75.5403],[2803.39,-1201.74,41.3167,213.743,-75.2218],[2776.94,-1102.58,40.8333,210.814,-74.8919],[2749.36,-1001.61,40.3333,207.744,-74.538],[2721.56,-902.304,39.8333,204.633,-74.1705],[2692.61,-801.463,39.3167,201.376,-73.7757],[2663.43,-702.452,38.8,198.078,-73.3646],[2633.07,-602.196,38.2667,194.631,-72.922],[2601.51,-500.91,37.7167,191.031,-72.445],[2569.69,-401.793,37.1667,187.388,-71.9455],[2536.66,-301.974,36.6,183.59,-71.4058],[2502.38,-201.697,36.0167,179.635,-70.8217],[2466.83,-101.217,35.4167,175.522,-70.1881],[2430,-0.800094,34.8,171.249,-69.4995],[2391.86,99.2729,34.1667,166.817,-68.7493],[2352.41,198.709,33.5167,162.226,-67.9299],[2310.58,299.618,32.8333,157.358,-67.0093],[2267.39,399.078,32.1333,152.334,-65.9966],[2221.76,498.963,31.4,147.039,-64.8518],[2173.65,598.602,30.6333,141.478,-63.5522],[2121.98,699.275,29.8167,135.541,-62.0377],[2066.66,799.855,28.95,129.247,-60.263],[2007.64,899.119,28.0333,122.624,-58.1698],[1942.67,998.933,27.0333,115.482,-55.5912],[1869.46,1099.78,25.9167,107.679,-52.2809],[1786.71,1199.19,24.6667,99.2814,-47.9275],[1686.38,1299.39,23.1667,89.9235,-41.6006],[1552.15,1399.35,21.1833,79.4373,-30.9835],[1261.55,1486.33,16.9667,69.7061,-0.0239013]]], - [67,1508.49,[[2896.56,-2002.18,45.2,234.92,-77.8896],[2875.13,-1903.17,44.7667,232.561,-77.6691],[2852.7,-1801.5,44.3167,230.077,-77.4334],[2830.09,-1701.02,43.8667,227.557,-77.1907],[2807.3,-1601.75,43.4167,225.002,-76.9406],[2783.48,-1500.11,42.95,222.315,-76.673],[2760.34,-1403.36,42.5,219.689,-76.4067],[2735.28,-1300.86,42.0167,216.829,-76.1111],[2710.9,-1203.31,41.55,214.031,-75.8159],[2684.58,-1100.33,41.05,210.991,-75.4883],[2658.93,-1002.35,40.5667,208.014,-75.1598],[2632.19,-902.619,40.0667,204.893,-74.8072],[2604.34,-801.332,39.55,201.625,-74.4284],[2576.27,-701.87,39.0333,198.314,-74.0338],[2547.06,-601.144,38.5,194.853,-73.6091],[2517.63,-502.422,37.9667,191.348,-73.1654],[2487.03,-402.744,37.4167,187.689,-72.6866],[2455.25,-302.343,36.85,183.873,-72.1692],[2422.28,-201.46,36.2667,179.898,-71.609],[2388.09,-100.35,35.6667,175.762,-71.0014],[2353.63,-1.97244,35.0667,171.581,-70.3591],[2316.96,98.8604,34.4333,167.12,-69.6404],[2279.01,199.084,33.7833,162.497,-68.8553],[2239.78,298.393,33.1167,157.712,-67.9949],[2198.25,398.812,32.4167,152.647,-67.0255],[2154.38,499.713,31.6833,147.302,-65.9289],[2109.13,598.287,30.9333,141.806,-64.7118],[2060.47,698.206,30.1333,135.923,-63.2929],[2008.33,798.368,29.2833,129.666,-61.6301],[1951.6,899.352,28.3667,122.938,-59.6301],[1890.21,999.44,27.3833,115.783,-57.2059],[1821.96,1099.68,26.3,108.034,-54.1387],[1744.59,1199.53,25.0833,99.6042,-50.0953],[1652.53,1299.63,23.65,90.2537,-44.3317],[1533.47,1399.55,21.8167,79.7423,-34.9961],[1309.22,1499.79,18.4167,67.808,-11.0092],[1221.29,1508.48,17.1,67.0081,-0.0686295]]], - [68,1529.91,[[2792.8,-2000.89,45.4,235.104,-78.3847],[2772.22,-1901.62,44.9667,232.74,-78.1732],[2751.47,-1803.43,44.5333,230.343,-77.9557],[2729.76,-1702.63,44.0833,227.819,-77.7232],[2707.88,-1603.04,43.6333,225.259,-77.4836],[2685.01,-1501.06,43.1667,222.566,-77.2272],[2661.96,-1400.41,42.7,219.836,-76.9625],[2638.73,-1301.12,42.2333,217.067,-76.6889],[2615.32,-1203.22,41.7667,214.261,-76.406],[2590.89,-1103.29,41.2833,211.315,-76.1027],[2565.41,-1001.51,40.7833,208.226,-75.7774],[2539.74,-901.395,40.2833,205.095,-75.4395],[2513.86,-802.957,39.7833,201.922,-75.0883],[2486.91,-703.03,39.2667,198.6,-74.7106],[2458.87,-601.817,38.7333,195.126,-74.304],[2430.61,-502.604,38.2,191.607,-73.8792],[2401.24,-402.415,37.65,187.932,-73.4208],[2370.73,-301.482,37.0833,184.099,-72.9253],[2339.07,-200.046,36.5,180.104,-72.3888],[2307.17,-101.149,35.9167,176.062,-71.8232],[2274.08,-2.11514,35.3167,171.857,-71.2088],[2238.88,99.4174,34.6833,167.37,-70.5211],[2203.4,197.82,34.05,162.836,-69.7894],[2165.75,297.968,33.3833,158.017,-68.9671],[2125.89,399.277,32.6833,152.911,-68.04],[2084.74,498.855,31.9667,147.643,-67.0159],[2041.33,598.506,31.2167,142.094,-65.8529],[1994.63,699.586,30.4167,136.146,-64.4964],[1945.58,799.065,29.5833,129.935,-62.938],[1892.15,899.74,28.6833,123.233,-61.0626],[1834.26,999.931,27.7167,116.077,-58.7879],[1770.82,1099.3,26.6667,108.404,-55.9537],[1698.66,1199.29,25.4833,99.974,-52.2102],[1613.49,1299.83,24.1,90.5887,-46.9188],[1506.67,1399.69,22.3833,80.0736,-38.6168],[1336.45,1499.96,19.6833,67.9151,-20.7461],[1178.82,1529.91,17.2167,64.2927,-0.0137973]]], - [69,1550.59,[[2686.84,-2001.49,45.6,235.324,-78.8859],[2667.11,-1901.95,45.1667,232.956,-78.6836],[2647.23,-1803.49,44.7333,230.555,-78.4756],[2626.43,-1702.4,44.2833,228.025,-78.2532],[2605.46,-1602.52,43.8333,225.46,-78.024],[2583.54,-1500.24,43.3667,222.761,-77.7787],[2562.24,-1402.87,42.9167,220.122,-77.5346],[2539.99,-1303.22,42.45,217.348,-77.2732],[2516.76,-1201.47,41.9667,214.434,-76.993],[2493.34,-1101.21,41.4833,211.479,-76.7029],[2469.74,-1002.47,41,208.484,-76.4021],[2445.14,-901.955,40.5,205.344,-76.0791],[2420.35,-803.112,40,202.161,-75.7435],[2394.53,-702.763,39.4833,198.828,-75.3825],[2367.66,-601.11,38.95,195.341,-74.9937],[2340.58,-501.453,38.4167,191.808,-74.5876],[2312.44,-400.801,37.8667,188.118,-74.1492],[2284.07,-302.336,37.3167,184.381,-73.6896],[2253.75,-200.327,36.7333,180.368,-73.1772],[2223.18,-100.852,36.15,176.306,-72.637],[2191.49,-1.2181,35.55,172.078,-72.05],[2158.66,98.3054,34.9333,167.684,-71.4106],[2124.67,197.436,34.3,163.122,-70.7123],[2088.61,298.36,33.6333,158.271,-69.9273],[2051.34,398.105,32.95,153.25,-69.0639],[2011.94,498.63,32.2333,147.939,-68.0872],[1970.36,599.282,31.4833,142.339,-66.9777],[1926.58,699.367,30.7,136.455,-65.7108],[1880.55,798.144,29.8833,130.297,-64.256],[1830.35,898.489,29,123.631,-62.5045],[1775.89,998.759,28.05,116.484,-60.3791],[1716.14,1098.69,27.0167,108.783,-57.7284],[1648.06,1199.9,25.85,100.262,-54.2191],[1570.5,1299.09,24.5333,91.0146,-49.4383],[1473.32,1399.63,22.9,80.4358,-41.9587],[1331.81,1499.86,20.55,68.2105,-27.3114],[1136.34,1550.59,17.35,61.5505,-0.150806]]], - [70,1570.51,[[2577.97,-2000.16,45.7833,235.49,-79.3856],[2559.11,-1900.38,45.35,233.118,-79.1925],[2540.09,-1801.67,44.9167,230.711,-78.9938],[2520.2,-1700.34,44.4667,228.176,-78.7814],[2500.15,-1600.2,44.0167,225.604,-78.5624],[2479.94,-1501.29,43.5667,222.996,-78.3367],[2458.82,-1400.02,43.1,220.253,-78.0951],[2437.54,-1300.1,42.6333,217.471,-77.8454],[2416.09,-1201.55,42.1667,214.651,-77.5872],[2393.71,-1100.95,41.6833,211.688,-77.3103],[2371.15,-1001.87,41.2,208.685,-77.0233],[2347.63,-900.995,40.7,205.535,-76.7151],[2323.92,-801.79,40.2,202.342,-76.3948],[2299.24,-701.062,39.6833,198.997,-76.0503],[2274.36,-602.174,39.1667,195.608,-75.6911],[2248.48,-502.055,38.6333,192.062,-75.3039],[2221.57,-400.923,38.0833,188.358,-74.886],[2194.46,-301.973,37.5333,184.606,-74.4478],[2166.31,-202.339,36.9667,180.691,-73.9734],[2137.09,-102.267,36.3833,176.61,-73.459],[2106.81,-2.0127,35.7833,172.362,-72.8999],[2075.43,98.155,35.1667,167.944,-72.2908],[2042.95,197.954,34.5333,163.355,-71.6255],[2008.48,299.588,33.8667,158.472,-70.8773],[1973.74,397.662,33.2,153.539,-70.0748],[1936.09,499.063,32.4833,148.187,-69.1449],[1897.25,598.434,31.75,142.665,-68.1124],[1855.42,699.605,30.9667,136.725,-66.9072],[1811.44,799.525,30.15,130.501,-65.5222],[1764.39,899.264,29.2833,123.878,-63.8863],[1713.28,999.313,28.35,116.752,-61.9003],[1657.13,1099.47,27.3333,109.04,-59.4212],[1594.91,1198.73,26.2167,100.698,-56.2357],[1521.81,1299.87,24.9167,91.2835,-51.7628],[1433.79,1399.87,23.3667,80.7656,-45.04],[1312.26,1499.7,21.25,68.5667,-32.6144],[1090.77,1570.51,17.45,58.7956,-0.0288776]]], - [71,1589.62,[[2466.98,-2000.79,45.9667,235.694,-79.8914],[2448.99,-1900.76,45.5333,233.317,-79.7076],[2430.86,-1801.8,45.1,230.906,-79.5184],[2411.88,-1700.2,44.65,228.367,-79.3162],[2393.47,-1603.5,44.2167,225.886,-79.1156],[2373.49,-1500.61,43.75,223.177,-78.8928],[2354.07,-1402.66,43.3,220.526,-78.6711],[2333.78,-1302.41,42.8333,217.739,-78.4336],[2312.6,-1200.02,42.35,214.811,-78.1791],[2291.99,-1102.57,41.8833,211.943,-77.9247],[2270.48,-1003.13,41.4,208.932,-77.6517],[2248.05,-901.883,40.9,205.774,-77.3585],[2225.45,-802.301,40.4,202.572,-77.0538],[2201.91,-701.179,39.8833,199.217,-76.726],[2178.19,-601.893,39.3667,195.817,-76.3843],[2153.51,-501.359,38.8333,192.259,-76.0159],[2128.64,-402.841,38.3,188.654,-75.6305],[2102,-300.409,37.7333,184.773,-75.2011],[2075.16,-200.321,37.1667,180.841,-74.7496],[2048.1,-102.615,36.6,176.859,-74.2742],[2019.23,-1.79539,36,172.59,-73.7426],[1989.32,98.9589,35.3833,168.149,-73.1634],[1958.35,199.366,34.75,163.534,-72.5306],[1926.32,299.132,34.1,158.745,-71.8371],[1893.2,397.949,33.4333,153.779,-71.0748],[1858.15,497.825,32.7333,148.514,-70.2123],[1821.13,598.13,32,142.948,-69.2325],[1782.12,698.187,31.2333,137.083,-68.1136],[1740.21,799.283,30.4167,130.795,-66.8002],[1696.24,898.403,29.5667,124.224,-65.2791],[1647.55,999.96,28.6333,117.002,-63.3963],[1595.81,1098.59,27.65,109.42,-61.1248],[1537.43,1198.59,26.55,101.031,-58.1563],[1470.49,1298.78,25.3,91.7265,-54.0945],[1389.4,1399.83,23.8,81.1225,-47.9602],[1282.87,1499.42,21.85,68.9574,-37.199],[1045.2,1589.62,17.5667,56.0148,-0.112365]]], - [72,1607.91,[[2353.9,-2003.42,46.15,235.934,-80.4031],[2336.79,-1903.13,45.7167,233.555,-80.2286],[2318.89,-1800.12,45.2667,231.047,-80.0421],[2301.51,-1702.03,44.8333,228.597,-79.8572],[2283.33,-1601.35,44.3833,226.016,-79.6594],[2265,-1501.88,43.9333,223.398,-79.4555],[2245.85,-1400.03,43.4667,220.644,-79.2371],[2227.24,-1303.09,43.0167,217.95,-79.0196],[2207.1,-1200.39,42.5333,215.015,-78.7781],[2187.5,-1102.64,42.0667,212.141,-78.5366],[2167.05,-1002.88,41.5833,209.123,-78.2775],[2145.72,-901.301,41.0833,205.956,-77.9993],[2124.23,-801.382,40.5833,202.745,-77.71],[2102.57,-703.154,40.0833,199.489,-77.4091],[2079.29,-600.269,39.55,195.968,-77.0743],[2056.56,-502.489,39.0333,192.51,-76.7357],[2032.17,-400.476,38.4833,188.779,-76.3586],[2007.59,-300.635,37.9333,184.998,-75.9631],[1982.07,-200.075,37.3667,181.05,-75.5348],[1956.34,-101.892,36.8,177.051,-75.0838],[1928.89,-0.56194,36.2,172.763,-74.5795],[1901.22,98.0227,35.6,168.421,-74.0451],[1871.79,199.061,34.9667,163.782,-73.4455],[1841.34,299.481,34.3167,158.965,-72.7882],[1809.86,398.974,33.65,153.969,-72.0654],[1776.54,499.569,32.95,148.667,-71.2474],[1742.15,598.385,32.2333,143.186,-70.3396],[1705.07,699.35,31.4667,137.272,-69.2794],[1666.06,799.397,30.6667,131.054,-68.0608],[1624.27,899.664,29.8167,124.412,-66.6204],[1579.65,998.953,28.9167,117.359,-64.9031],[1530.5,1099.23,27.9333,109.663,-62.7565],[1475.88,1199.62,26.85,101.247,-59.9913],[1414,1299.59,25.6333,91.97,-56.2545],[1340.42,1399.74,24.2,81.4755,-50.7293],[1245.36,1499.61,22.3667,69.2916,-41.2271],[1064.97,1599.86,18.9333,54.3913,-13.2494],[997.734,1607.91,17.6667,53.2165,-0.0819385]]], - [73,1625.36,[[2237.5,-2000.31,46.3,236.031,-80.9076],[2221.91,-1903.67,45.8833,233.739,-80.7487],[2204.93,-1800.42,45.4333,231.227,-80.5722],[2188.46,-1702.1,45,228.773,-80.3971],[2171.22,-1601.17,44.55,226.188,-80.2099],[2153.85,-1501.46,44.1,223.565,-80.0168],[2136.34,-1402.97,43.65,220.904,-79.8177],[2118.05,-1302.16,43.1833,218.105,-79.6043],[2099.62,-1202.71,42.7167,215.266,-79.3836],[2080.38,-1101.16,42.2333,212.283,-79.147],[2060.98,-1001.12,41.75,209.257,-78.9017],[2041.44,-902.618,41.2667,206.188,-78.6471],[2021.07,-802.349,40.7667,202.969,-78.3736],[1999.86,-700.509,40.25,199.594,-78.0793],[1978.48,-600.499,39.7333,196.173,-77.7724],[1956.93,-502.345,39.2167,192.704,-77.4521],[1934.52,-403.002,38.6833,189.075,-77.1064],[1911.23,-302.689,38.1333,185.281,-76.7328],[1887.04,-201.639,37.5667,181.319,-76.3281],[1861.94,-100.093,36.9833,177.186,-75.8892],[1836.65,-1.09853,36.4,172.999,-75.4254],[1810.43,98.0221,35.8,168.638,-74.9204],[1782.53,199.632,35.1667,163.976,-74.3535],[1754.42,298.095,34.5333,159.257,-73.7485],[1724.59,398.29,33.8667,154.233,-73.0661],[1693.02,499.629,33.1667,148.898,-72.2935],[1660.44,599.215,32.45,143.378,-71.4359],[1626.07,698.851,31.7,137.547,-70.4565],[1589.11,799.886,30.9,131.275,-69.3062],[1550.3,899.287,30.0667,124.697,-67.9738],[1508.03,999.841,29.1667,117.562,-66.3536],[1462.26,1099.86,28.2,109.892,-64.3625],[1412.13,1198.99,27.15,101.596,-61.8385],[1354.33,1299.96,25.95,92.2431,-58.3713],[1287.11,1399.82,24.5667,81.7972,-53.3592],[1202.07,1499.52,22.8333,69.6572,-44.9439],[1063.08,1599.85,20.0333,54.6703,-23.982],[949.35,1625.36,17.7667,50.3972,-0.104957]]], - [74,1641.95,[[2119.78,-2003.12,46.4667,236.257,-81.4243],[2104.46,-1902.4,46.0333,233.87,-81.2684],[2089.01,-1802.74,45.6,231.448,-81.1081],[2072.85,-1700.41,45.15,228.896,-80.9367],[2057.17,-1603,44.7167,226.402,-80.7666],[2040.76,-1503.02,44.2667,223.775,-80.5846],[2023.62,-1400.64,43.8,221.01,-80.3897],[2006.95,-1303.18,43.35,218.306,-80.1956],[1989.54,-1203.45,42.8833,215.461,-79.9876],[1971.37,-1101.62,42.4,212.472,-79.7645],[1953.05,-1001.29,41.9167,209.439,-79.5331],[1934.59,-902.486,41.4333,206.363,-79.2932],[1915.35,-801.907,40.9333,203.135,-79.0352],[1895.96,-703.012,40.4333,199.862,-78.7668],[1875.77,-602.616,39.9167,196.432,-78.4777],[1854.76,-500.925,39.3833,192.841,-78.1661],[1833.59,-401.238,38.85,189.199,-77.84],[1811.59,-300.568,38.3,185.392,-77.4875],[1789.41,-202.095,37.75,181.533,-77.1172],[1765.71,-100.091,37.1667,177.385,-76.7036],[1741.82,-0.633912,36.5833,173.18,-76.2666],[1717.06,98.9671,35.9833,168.8,-75.7906],[1691.41,198.441,35.3667,164.239,-75.2707],[1664.86,297.505,34.7333,159.498,-74.7012],[1636.7,398.338,34.0667,154.446,-74.0586],[1607.6,497.97,33.3833,149.207,-73.3491],[1576.84,598.353,32.6667,143.653,-72.5426],[1544.39,698.832,31.9167,137.779,-71.6213],[1510.23,798.706,31.1333,131.588,-70.5623],[1473.59,899.182,30.3,124.95,-69.3101],[1434.44,999.088,29.4167,117.872,-67.8161],[1391.98,1098.84,28.4667,110.238,-65.9799],[1344.67,1199.68,27.4167,101.813,-63.6105],[1291.64,1299.94,26.25,92.5395,-60.4468],[1230.51,1399.12,24.9167,82.1907,-55.9265],[1153.39,1499.62,23.25,69.9879,-48.3727],[1038.02,1599.69,20.7833,55.0466,-31.3018],[900.063,1641.95,17.8667,47.5578,-0.191457]]], - [75,1657.65,[[1998.99,-2000.21,46.6,236.339,-81.9352],[1985.12,-1903.18,46.1833,234.041,-81.7943],[1970.59,-1803.32,45.75,231.615,-81.6437],[1955.39,-1700.77,45.3,229.059,-81.4826],[1940.64,-1603.13,44.8667,226.562,-81.3228],[1925.2,-1502.93,44.4167,223.93,-81.1518],[1909.06,-1400.31,43.95,221.161,-80.9687],[1893.38,-1302.63,43.5,218.451,-80.7863],[1877,-1202.66,43.0333,215.601,-80.5908],[1859.9,-1100.57,42.55,212.605,-80.3811],[1843.26,-1003.43,42.0833,209.671,-80.1714],[1825.3,-900.923,41.5833,206.481,-79.9382],[1807.19,-800.074,41.0833,203.245,-79.6957],[1788.94,-700.908,40.5833,199.963,-79.4434],[1769.95,-600.229,40.0667,196.523,-79.1717],[1750.8,-501.399,39.55,193.034,-78.8881],[1730.88,-401.352,39.0167,189.382,-78.5819],[1710.18,-300.307,38.4667,185.563,-78.2509],[1689.32,-201.454,37.9167,181.691,-77.9032],[1667.67,-101.935,37.35,177.647,-77.5262],[1645.2,-1.99535,36.7667,173.428,-77.1164],[1621.91,98.1075,36.1667,169.03,-76.6699],[1597.78,198.102,35.55,164.45,-76.1822],[1572.81,297.706,34.9167,159.686,-75.6478],[1546.32,399.113,34.25,154.609,-75.0448],[1518.95,499.339,33.5667,149.34,-74.3787],[1490.7,598.05,32.8667,143.881,-73.6397],[1460.18,699.297,32.1167,137.968,-72.7758],[1428.05,799.981,31.3333,131.73,-71.7824],[1394.29,899.358,30.5167,125.168,-70.6316],[1358.17,998.482,29.65,118.155,-69.2591],[1318.25,1099.53,28.7,110.432,-67.54],[1275.19,1198.71,27.6833,102.16,-65.3945],[1226.06,1299.57,26.5333,92.8538,-62.4834],[1170.05,1398.89,25.2333,82.516,-58.3725],[1100.49,1499.37,23.6333,70.3492,-51.625],[1000.95,1599.98,21.3667,55.3577,-37.1132],[849.14,1657.65,17.95,44.7009,-0.145174]]], - [76,1672.44,[[1876.93,-2003.3,46.75,236.552,-82.4574],[1863.43,-1902.19,46.3167,234.159,-82.3204],[1849.82,-1802.15,45.8833,231.73,-82.1794],[1836.1,-1703.19,45.45,229.265,-82.0344],[1821.75,-1601.59,45,226.668,-81.8792],[1807.29,-1501.2,44.55,224.032,-81.7191],[1792.72,-1402.02,44.1,221.357,-81.554],[1777.49,-1300.49,43.6333,218.542,-81.377],[1762.14,-1200.32,43.1667,215.685,-81.194],[1746.68,-1101.52,42.7,212.787,-81.0046],[1730.54,-1000.66,42.2167,209.741,-80.8014],[1714.27,-901.329,41.7333,206.651,-80.5905],[1697.31,-800.197,41.2333,203.408,-80.3638],[1680.23,-700.744,40.7333,200.118,-80.1279],[1663.01,-602.994,40.2333,196.781,-79.8822],[1644.5,-500.635,39.7,193.171,-79.6085],[1625.85,-400.273,39.1667,189.508,-79.3222],[1607.05,-301.94,38.6333,185.794,-79.0222],[1587.52,-202.69,38.0833,181.91,-78.6974],[1567.24,-102.757,37.5167,177.854,-78.3452],[1546.2,-2.38751,36.9333,173.62,-77.9623],[1524.39,98.1618,36.3333,169.206,-77.5451],[1501.8,198.62,35.7167,164.607,-77.0893],[1478.42,298.704,35.0833,159.822,-76.5899],[1454.24,398.117,34.4333,154.848,-76.0407],[1428.61,498.963,33.75,149.553,-75.4189],[1402.16,598.316,33.05,144.063,-74.7289],[1374.22,698.042,32.3167,138.245,-73.9407],[1344.15,799.568,31.5333,131.964,-73.0143],[1312.54,899.831,30.7167,125.35,-71.9405],[1278.73,999.904,29.85,118.273,-70.6589],[1242.68,1098.55,28.9333,110.742,-69.1121],[1202.37,1199.17,27.9167,102.363,-67.1138],[1157.73,1298.88,26.8,93.181,-64.4834],[1106,1399.27,25.5167,82.7543,-60.7111],[1042.96,1499.96,23.9667,70.5822,-54.6365],[956.73,1599.94,21.8667,55.7187,-42.2236],[797.435,1672.44,18.0333,41.8246,-0.163341]]], - [77,1686.3,[[1752.1,-2000.7,46.8667,236.622,-82.9749],[1739.99,-1903.32,46.45,234.318,-82.8523],[1727.31,-1803.08,46.0167,231.886,-82.7211],[1714.04,-1700.14,45.5667,229.323,-82.5808],[1701.16,-1602.13,45.1333,226.817,-82.4417],[1687.69,-1501.53,44.6833,224.178,-82.2928],[1674.11,-1402.15,44.2333,221.499,-82.139],[1659.92,-1300.41,43.7667,218.679,-81.9744],[1645.62,-1200.01,43.3,215.817,-81.8041],[1631.21,-1100.99,42.8333,212.914,-81.6279],[1616.69,-1003.37,42.3667,209.968,-81.4454],[1601.01,-900.341,41.8667,206.765,-81.2424],[1585.74,-802.318,41.3833,203.624,-81.0386],[1569.82,-702.563,40.8833,200.328,-80.8193],[1553.25,-601.27,40.3667,196.872,-80.5831],[1536.54,-501.82,39.85,193.365,-80.3365],[1519.16,-401.127,39.3167,189.694,-80.0703],[1501.65,-302.458,38.7833,185.97,-79.7913],[1483.46,-202.859,38.2333,182.075,-79.4893],[1464.57,-102.563,37.6667,178.006,-79.1617],[1444.97,-1.81607,37.0833,173.758,-78.8056],[1424.65,99.1252,36.4833,169.328,-78.4176],[1403.6,199.99,35.8667,164.712,-77.9936],[1382.4,297.891,35.25,160.033,-77.5414],[1359.87,397.826,34.6,155.037,-77.0312],[1336,499.227,33.9167,149.717,-76.4534],[1311.36,599.153,33.2167,144.198,-75.812],[1285.34,699.485,32.4833,138.346,-75.079],[1257.92,799.545,31.7167,132.158,-74.2364],[1229.09,898.608,30.9167,125.632,-73.2605],[1197.6,999.668,30.05,118.497,-72.072],[1164.04,1099.37,29.1333,110.892,-70.6363],[1127.12,1199.58,28.1333,102.554,-68.8121],[1086.18,1299.33,27.0333,93.3778,-66.4093],[1039.27,1399.17,25.7833,83.0265,-63.0077],[982.494,1499.69,24.2833,70.9088,-57.5817],[906.729,1599.81,22.3,56.0789,-46.8159],[744.312,1686.3,18.1,38.9311,-0.0209948]]], - [78,1699.22,[[1625.61,-2000.23,46.9833,236.732,-83.4984],[1614.4,-1902.69,46.5667,234.425,-83.3848],[1602.65,-1802.3,46.1333,231.99,-83.2635],[1590.82,-1702.98,45.7,229.519,-83.1385],[1578.43,-1601.01,45.25,226.914,-83.0049],[1565.95,-1500.24,44.8,224.27,-82.8671],[1553.37,-1400.69,44.35,221.586,-82.7248],[1540.7,-1302.38,43.9,218.864,-82.578],[1527.46,-1201.76,43.4333,215.998,-82.4205],[1514.11,-1102.5,42.9667,213.09,-82.2576],[1500.18,-1001.17,42.4833,210.034,-82.0827],[1486.15,-901.36,42,206.932,-81.9012],[1472.01,-803.087,41.5167,203.785,-81.7127],[1457.27,-703.072,41.0167,200.482,-81.51],[1441.92,-601.507,40.5,197.019,-81.2916],[1426.45,-501.783,39.9833,193.505,-81.0635],[1410.35,-400.803,39.45,189.824,-80.8174],[1394.14,-301.845,38.9167,186.09,-80.5593],[1377.29,-201.946,38.3667,182.185,-80.2801],[1359.79,-101.337,37.8,178.104,-79.9771],[1341.64,-0.265188,37.2167,173.842,-79.6476],[1323.35,98.237,36.6333,169.52,-79.2988],[1303.86,199.531,36.0167,164.888,-78.9071],[1284.23,297.865,35.4,160.192,-78.4893],[1263.37,398.261,34.75,155.176,-78.0177],[1241.81,497.71,34.0833,149.963,-77.4972],[1219,598.237,33.3833,144.417,-76.9052],[1194.91,699.206,32.65,138.535,-76.2287],[1169.53,799.937,31.8833,132.31,-75.4506],[1142.84,899.706,31.0833,125.74,-74.5489],[1114.25,999.642,30.2333,118.688,-73.4725],[1083.74,1098.54,29.3333,111.156,-72.1731],[1049.58,1199.95,28.3333,102.73,-70.4916],[1012.26,1299.6,27.25,93.5747,-68.31],[969.43,1399.9,26.0167,83.1868,-65.217],[918.65,1499.66,24.5667,71.1827,-60.3934],[852.107,1599.48,22.6833,56.4524,-51.0502],[691.13,1699.22,18.1833,36.0178,-0.19892]]], - [79,1711.17,[[1497.52,-2001.93,47.1,236.882,-84.0272],[1486.79,-1900.34,46.6667,234.48,-83.9187],[1476.41,-1803.66,46.25,232.136,-83.8114],[1465.1,-1700.37,45.8,229.567,-83.6922],[1454.13,-1602.03,45.3667,227.055,-83.5739],[1442.65,-1501.08,44.9167,224.408,-83.4474],[1431.09,-1401.34,44.4667,221.721,-83.3167],[1419.43,-1302.84,44.0167,218.995,-83.1818],[1407.25,-1202.02,43.55,216.125,-83.0372],[1394.98,-1102.57,43.0833,213.213,-82.8876],[1382.17,-1001.04,42.6,210.151,-82.7269],[1369.27,-901.015,42.1167,207.044,-82.5602],[1356.26,-802.533,41.6333,203.891,-82.3871],[1342.71,-702.297,41.1333,200.582,-82.2008],[1328.59,-600.503,40.6167,197.111,-82.0001],[1314.36,-500.548,40.1,193.589,-81.7906],[1300.03,-402.46,39.5833,190.015,-81.5716],[1284.65,-300.127,39.0333,186.156,-81.3273],[1269.63,-202.977,38.5,182.359,-81.0786],[1253.54,-102.037,37.9333,178.267,-80.8006],[1236.85,-0.619216,37.35,173.994,-80.4982],[1220.04,98.2317,36.7667,169.66,-80.1781],[1202.12,199.898,36.15,165.012,-79.8184],[1184.07,298.607,35.5333,160.3,-79.4349],[1164.89,399.403,34.8833,155.264,-79.0019],[1145.07,499.266,34.2167,150.029,-78.5237],[1124.59,597.873,33.5333,144.591,-77.9933],[1102.45,699.406,32.8,138.68,-77.3728],[1079.63,798.583,32.05,132.557,-76.6751],[1055.09,899.093,31.25,125.949,-75.8493],[1028.82,999.825,30.4,118.848,-74.8629],[1000.78,1099.57,29.5,111.255,-73.6711],[970.421,1198.67,28.5333,103.032,-72.183],[936.13,1299.68,27.45,93.7694,-70.1883],[897.837,1398.99,26.25,83.508,-67.4396],[852.257,1498.95,24.8333,71.5234,-63.1483],[793.301,1599.32,23.0167,56.7718,-54.9645],[686.191,1699.84,19.75,36.1333,-24.1915],[636.654,1711.17,18.25,33.0884,-0.218339]]], - [80,1722.14,[[1367.49,-2001.88,47.2,236.982,-84.557],[1357.72,-1900.16,46.7667,234.578,-84.4581],[1348.24,-1803.35,46.35,232.231,-84.3604],[1338.32,-1703.72,45.9167,229.755,-84.2558],[1327.93,-1601.42,45.4667,227.144,-84.144],[1317.46,-1500.32,45.0167,224.494,-84.0286],[1306.92,-1400.44,44.5667,221.803,-83.9096],[1296.29,-1301.79,44.1167,219.073,-83.7867],[1285.18,-1200.81,43.65,216.199,-83.6549],[1273.99,-1101.2,43.1833,213.281,-83.5185],[1262.71,-1002.97,42.7167,210.321,-83.3772],[1250.95,-902.731,42.2333,207.21,-83.2254],[1238.68,-800.648,41.7333,203.943,-83.0623],[1226.32,-700.234,41.2333,200.627,-82.8925],[1213.86,-601.515,40.7333,197.261,-82.7156],[1200.89,-501.312,40.2167,193.733,-82.5248],[1187.82,-402.975,39.7,190.153,-82.3255],[1173.8,-300.373,39.15,186.285,-82.103],[1160.1,-202.961,38.6167,182.48,-81.8766],[1145.43,-101.738,38.05,178.378,-81.6233],[1130.21,-0.0271504,37.4667,174.093,-81.348],[1114.88,99.1196,36.8833,169.746,-81.0564],[1098.99,198.383,36.2833,165.211,-80.7379],[1082.53,297.492,35.6667,160.485,-80.3891],[1065.05,398.712,35.0167,155.432,-79.9952],[1046.98,499.014,34.35,150.178,-79.5602],[1028.31,598.077,33.6667,144.718,-79.0776],[1008.58,697.833,32.95,138.916,-78.5262],[987.316,799.787,32.1833,132.627,-77.8775],[965.416,898.795,31.4,126.12,-77.1418],[941.938,998.307,30.5667,119.116,-76.2636],[916.382,1098.94,29.6667,111.468,-75.1819],[888.716,1199.01,28.7,103.175,-73.8301],[857.945,1299.62,27.6333,93.9592,-72.0464],[823.535,1399.03,26.45,83.704,-69.5874],[782.492,1499.79,25.05,71.638,-65.7391],[730.754,1599.67,23.3,56.9813,-58.6007],[645.194,1699.65,20.4333,36.5409,-34.8535],[581.052,1722.14,18.3,30.1432,-0.0333782]]], - [81,1732.12,[[1235.7,-2000.12,47.2833,237.032,-85.0883],[1227.22,-1902.18,46.8667,234.718,-85.0026],[1218.32,-1801.37,46.4333,232.275,-84.9109],[1209.36,-1701.63,46,229.796,-84.8166],[1200.33,-1602.99,45.5667,227.279,-84.7194],[1190.89,-1501.73,45.1167,224.626,-84.6154],[1181.36,-1401.68,44.6667,221.933,-84.508],[1171.77,-1302.87,44.2167,219.2,-84.3972],[1161.75,-1201.72,43.75,216.322,-84.2784],[1151.65,-1101.93,43.2833,213.402,-84.1554],[1141.1,-1000.04,42.8,210.331,-84.0235],[1130.85,-903.107,42.3333,207.322,-83.8913],[1119.77,-800.832,41.8333,204.05,-83.7441],[1108.61,-700.224,41.3333,200.729,-83.5911],[1097.37,-601.309,40.8333,197.358,-83.4316],[1085.66,-500.903,40.3167,193.823,-83.2595],[1073.87,-402.36,39.8,190.236,-83.0797],[1061.6,-302.621,39.2667,186.478,-82.8854],[1048.85,-201.908,38.7167,182.546,-82.6749],[1035.61,-100.453,38.15,178.435,-82.4465],[1022.27,-1.37856,37.5833,174.262,-82.2054],[1008.43,98.085,37,169.905,-81.9427],[994.086,197.678,36.4,165.359,-81.6559],[978.83,299.774,35.7667,160.49,-81.3328],[963.456,398.711,35.1333,155.551,-80.9867],[947.148,499.39,34.4667,150.279,-80.5947],[930.304,598.842,33.7833,144.799,-80.1597],[912.502,699.01,33.0667,138.973,-79.6626],[893.727,799.235,32.3167,132.793,-79.0909],[873.966,898.812,31.5333,126.254,-78.4286],[852.78,998.935,30.7,119.21,-77.6376],[830.15,1098.43,29.8167,111.655,-76.6821],[805.189,1199.35,28.85,103.299,-75.466],[777.863,1299.43,27.8,94.1423,-73.8869],[747.26,1398.77,26.6333,83.9116,-71.7098],[711.122,1499.03,25.2667,71.939,-68.3445],[665.352,1599.95,23.55,57.1757,-62.0811],[594.506,1699.76,20.9167,36.8502,-42.8396],[525.389,1732.11,18.3667,27.1812,-0.268123]]], - [82,1741.09,[[1102.61,-2000.55,47.3667,237.124,-85.6246],[1095.04,-1902.5,46.95,234.808,-85.5482],[1087.12,-1801.57,46.5167,232.363,-85.4666],[1079.13,-1701.72,46.0833,229.881,-85.3825],[1071.08,-1602.95,45.65,227.362,-85.296],[1062.66,-1501.56,45.2,224.706,-85.2033],[1054.17,-1401.38,44.75,222.01,-85.1078],[1045.62,-1302.44,44.3,219.274,-85.009],[1036.69,-1201.15,43.8333,216.393,-84.9032],[1027.68,-1101.23,43.3667,213.469,-84.7937],[1018.61,-1002.69,42.9,210.501,-84.6802],[1009.14,-902.123,42.4167,207.381,-84.5583],[999.601,-803.084,41.9333,204.214,-84.4317],[989.656,-702.268,41.4333,200.888,-84.2955],[979.635,-603.143,40.9333,197.513,-84.1535],[969.202,-502.517,40.4167,193.974,-84.0005],[958.348,-400.596,39.8833,190.264,-83.8352],[947.41,-300.689,39.35,186.499,-83.662],[936.39,-202.825,38.8167,182.679,-83.4802],[924.591,-101.119,38.25,178.56,-83.2769],[912.702,-1.7914,37.6833,174.379,-83.0624],[900.369,97.9359,37.1,170.012,-82.8286],[887.587,197.803,36.5,165.455,-82.5733],[874.35,297.536,35.8833,160.703,-82.2935],[860.289,399.422,35.2333,155.62,-81.9775],[846.119,497.933,34.5833,150.465,-81.6375],[831.11,597.8,33.9,144.968,-81.2508],[815.246,698.41,33.1833,139.121,-80.8088],[798.516,799.1,32.4333,132.917,-80.3004],[780.908,899.169,31.65,126.349,-79.7112],[762.03,999.819,30.8167,119.269,-79.0072],[741.864,1099.87,29.9333,111.67,-78.1564],[720.006,1199.74,28.9833,103.402,-77.0927],[696.046,1299.13,27.95,94.3166,-75.7121],[668.782,1399.59,26.7833,83.9796,-73.7778],[637.376,1498.9,25.45,72.1335,-70.8637],[597.799,1599.44,23.7833,57.475,-65.4933],[538.315,1699.8,21.3,37.1462,-49.6462],[468.729,1741.09,18.4167,24.205,-0.302937]]], - [83,1749.04,[[968.278,-2003.22,47.45,237.257,-86.1652],[961.376,-1901.14,47.0167,234.847,-86.0956],[954.421,-1800.12,46.5833,232.4,-86.0239],[947.412,-1700.18,46.15,229.916,-85.9502],[940.351,-1601.32,45.7167,227.394,-85.8743],[933.236,-1503.58,45.2833,224.834,-85.7961],[925.792,-1403.26,44.8333,222.137,-85.7123],[918.013,-1300.53,44.3667,219.296,-85.6226],[910.453,-1202.74,43.9167,216.515,-85.5331],[902.555,-1102.67,43.45,213.588,-85.4372],[894.311,-1000.48,42.9667,210.511,-85.3341],[886.292,-903.249,42.5,207.494,-85.2309],[877.633,-800.657,42,204.214,-85.1161],[869.2,-703.066,41.5167,200.995,-85.0006],[860.116,-600.491,41,197.502,-84.872],[851.257,-502.969,40.5,194.071,-84.7421],[841.737,-400.864,39.9667,190.357,-84.5974],[832.142,-300.771,39.4333,186.586,-84.4455],[822.475,-202.72,38.9,182.759,-84.2862],[812.125,-100.812,38.3333,178.633,-84.108],[801.696,-1.28101,37.7667,174.444,-83.9199],[790.877,98.6574,37.1833,170.068,-83.715],[779.665,198.743,36.5833,165.501,-83.4911],[768.053,298.704,35.9667,160.737,-83.2458],[756.036,398.254,35.3333,155.773,-82.9762],[743.288,499.585,34.6667,150.47,-82.6705],[730.121,599.711,33.9833,144.956,-82.3314],[716.53,698.295,33.2833,139.227,-81.9529],[701.857,799.378,32.5333,133.001,-81.5077],[686.413,899.859,31.75,126.407,-80.9915],[670.188,998.991,30.9333,119.438,-80.3875],[652.503,1099.65,30.05,111.801,-79.6433],[633.672,1198.48,29.1167,103.63,-78.73],[612.663,1298.74,28.0833,94.4812,-77.5243],[589.099,1398.84,26.9333,84.2008,-75.8598],[561.563,1499.51,25.6,72.2106,-73.3146],[527.559,1599.97,23.9667,57.5746,-68.7151],[478.223,1699.65,21.6167,37.4567,-55.7577],[411.24,1749.04,18.45,21.2148,-0.0568712]]], - [84,1755.95,[[832.32,-2000.27,47.5,237.25,-86.7048],[826.618,-1902.04,47.0833,234.931,-86.6473],[820.642,-1800.92,46.65,232.482,-86.5858],[814.62,-1700.88,46.2167,229.996,-86.5226],[808.553,-1601.92,45.7833,227.473,-86.4573],[802.204,-1500.33,45.3333,224.812,-86.3876],[796.045,-1403.65,44.9,222.212,-86.3183],[789.36,-1300.81,44.4333,219.369,-86.2412],[782.866,-1202.91,43.9833,216.586,-86.1644],[776.08,-1102.72,43.5167,213.656,-86.082],[768.997,-1000.42,43.0333,210.576,-85.9935],[762.106,-903.068,42.5667,207.556,-85.9049],[754.667,-800.351,42.0667,204.272,-85.8063],[747.421,-702.637,41.5833,201.05,-85.7071],[739.869,-603.215,41.0833,197.666,-85.6003],[732.005,-502.278,40.5667,194.117,-85.4851],[723.824,-400.034,40.0333,190.397,-85.3607],[715.84,-302.902,39.5167,186.739,-85.2346],[707.275,-201.608,38.9667,182.788,-85.0936],[698.645,-102.517,38.4167,178.776,-84.9451],[689.686,-2.76256,37.85,174.582,-84.7838],[680.393,97.408,37.2667,170.199,-84.6081],[670.761,197.735,36.6667,165.624,-84.416],[660.786,297.946,36.05,160.851,-84.2057],[650.463,397.756,35.4167,155.877,-83.9742],[639.512,499.363,34.75,150.563,-83.7121],[628.201,599.774,34.0667,145.034,-83.421],[616.526,698.653,33.3667,139.289,-83.0962],[604.202,797.853,32.6333,133.184,-82.723],[590.937,898.782,31.85,126.568,-82.2808],[577.001,998.384,31.0333,119.574,-81.7633],[561.811,1099.56,30.15,111.904,-81.1254],[545.637,1198.94,29.2167,103.692,-80.3421],[527.591,1299.81,28.1833,94.4859,-79.3072],[507.646,1399.22,27.05,84.2761,-77.8997],[484.293,1499.73,25.7333,72.3137,-75.7463],[455.69,1599.88,24.1333,57.75,-71.8958],[414.836,1699.76,21.8667,37.6583,-61.2856],[353.699,1755.94,18.5,18.212,-0.421303]]], - [85,1761.82,[[695.606,-2003.51,47.5667,237.378,-87.2506],[690.654,-1901.27,47.1333,234.965,-87.2007],[685.662,-1800.08,46.7,232.514,-87.1493],[680.827,-1703.8,46.2833,230.123,-87.0985],[675.566,-1600.94,45.8333,227.501,-87.0421],[670.46,-1503.02,45.4,224.938,-86.986],[665.118,-1402.53,44.95,222.236,-86.9259],[659.736,-1303.26,44.5,219.493,-86.8639],[654.111,-1201.63,44.0333,216.605,-86.7974],[648.443,-1101.37,43.5667,213.672,-86.7285],[642.732,-1002.49,43.1,210.695,-86.6572],[636.772,-901.558,42.6167,207.566,-86.5807],[630.767,-802.155,42.1333,204.388,-86.5012],[624.507,-700.959,41.6333,201.051,-86.4155],[618.199,-601.45,41.1333,197.663,-86.3263],[611.631,-500.423,40.6167,194.11,-86.2302],[605.013,-401.253,40.1,190.502,-86.1296],[598.129,-300.862,39.5667,186.722,-86.0208],[591.194,-202.511,39.0333,182.884,-85.9067],[583.768,-100.281,38.4667,178.746,-85.779],[576.285,-0.423891,37.9,174.544,-85.6442],[568.523,99.8526,37.3167,170.153,-85.4974],[560.703,197.537,36.7333,165.697,-85.3415],[552.373,297.941,36.1167,160.917,-85.166],[543.753,397.952,35.4833,155.933,-84.9729],[534.609,499.771,34.8167,150.608,-84.7541],[525.395,597.993,34.15,145.204,-84.5174],[515.415,699.508,33.4333,139.309,-84.2401],[505.124,798.948,32.7,133.187,-83.9284],[494.283,898.038,31.9333,126.694,-83.5674],[482.648,998.03,31.1167,119.677,-83.1362],[469.965,1099.63,30.2333,111.979,-82.6044],[456.461,1199.46,29.3,103.732,-81.9511],[441.638,1299.28,28.2833,94.6277,-81.1026],[424.986,1399.43,27.15,84.3525,-79.9304],[405.738,1499.62,25.85,72.4405,-78.1604],[382.36,1599.2,24.2833,57.9958,-75.0329],[349.017,1699.95,22.0667,37.8057,-66.4604],[295.467,1761.81,18.5333,15.1974,-0.527298]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 576.285; -_maxRange = 3310.55; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg4.sqf deleted file mode 100644 index c6a507a65c..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg4.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_he_pd_chg4 -// Ammo: ace_arty_82mm_he_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1160.05,[[5279.46,-2003.02,41.75,237.158,-66.5933],[5235.31,-1902.07,41.2833,234.936,-66.148],[5190.8,-1802.43,40.8167,232.691,-65.6904],[5144.31,-1700.62,40.3333,230.343,-65.2029],[5097.43,-1600.25,39.85,227.972,-64.7011],[5050.15,-1501.34,39.3667,225.58,-64.1845],[5000.83,-1400.58,38.8667,223.083,-63.6337],[4951.09,-1301.42,38.3667,220.565,-63.0655],[4899.26,-1200.67,37.85,217.942,-62.4595],[4846.98,-1101.68,37.3333,215.3,-61.8333],[4792.55,-1001.38,36.8,212.553,-61.1649],[4737.65,-903.019,36.2667,209.789,-60.4729],[4678.8,-800.66,35.7,206.835,-59.7108],[4619.43,-700.551,35.1333,203.867,-58.9195],[4559.54,-602.724,34.5667,200.886,-58.0976],[4495.56,-501.666,33.9667,197.722,-57.1923],[4429.2,-400.546,33.35,194.464,-56.2224],[4362.24,-302.249,32.7333,191.204,-55.2102],[4291,-201.74,32.0833,187.773,-54.0951],[4217.25,-102.007,31.4167,184.266,-52.8972],[4139.07,-0.997528,30.7167,180.605,-51.5769],[4058.25,98.4222,30,176.888,-50.1551],[3972.83,198.073,29.25,173.045,-48.5867],[3880.79,299.342,28.45,169.015,-46.8179],[3783.9,399.23,27.6167,164.911,-44.864],[3680.1,498.776,26.7333,160.692,-42.6621],[3567.21,598.449,25.7833,156.338,-40.136],[3440.94,699.566,24.7333,151.794,-37.1447],[3300.89,799.237,23.5833,147.208,-33.6205],[3138.33,898.895,22.2667,142.562,-29.2634],[2935.54,999.768,20.65,137.921,-23.458],[2647.55,1099.9,18.4,133.838,-14.6569],[2186.3,1160.05,14.9,134.143,-0.0612511]]], - [46,1198.53,[[5235.22,-2001.7,42.15,237.496,-67.0954],[5191.91,-1900.23,41.6833,235.264,-66.6598],[5148.23,-1800.05,41.2167,233.007,-66.2121],[5104.2,-1701.19,40.75,230.729,-65.7517],[5058.21,-1600.2,40.2667,228.345,-65.2612],[5011.84,-1500.67,39.7833,225.939,-64.756],[4965.08,-1402.61,39.3,223.51,-64.2356],[4916.31,-1302.74,38.8,220.976,-63.6806],[4865.48,-1201.25,38.2833,218.335,-63.0885],[4814.21,-1101.51,37.7667,215.673,-62.4766],[4760.83,-1000.43,37.2333,212.905,-61.8233],[4706.99,-901.275,36.7,210.117,-61.1469],[4650.99,-801.07,36.15,207.224,-60.424],[4592.78,-700.036,35.5833,204.227,-59.651],[4534.05,-601.275,35.0167,201.216,-58.8479],[4473.07,-502.017,34.4333,198.105,-57.9881],[4409.79,-402.509,33.8333,194.896,-57.067],[4342.38,-300.361,33.2,191.505,-56.0519],[4274.34,-201.22,32.5667,188.114,-54.9906],[4202.06,-100.16,31.9,184.551,-53.8204],[4127.27,-0.135449,31.2167,180.915,-52.5615],[4049.93,98.5343,30.5167,177.214,-51.2057],[3966.24,199.927,29.7667,173.289,-49.6742],[3879.85,298.881,29,169.332,-48.0194],[3786.88,398.991,28.1833,165.197,-46.1513],[3687.17,499.163,27.3167,160.922,-44.0431],[3578.61,599.947,26.3833,156.479,-41.6196],[3460.95,699.639,25.3833,151.946,-38.8376],[3329.95,799.237,24.2833,147.288,-35.5465],[3179.13,899.409,23.0333,142.501,-31.505],[2999.55,998.995,21.5667,137.717,-26.3561],[2760.7,1099.36,19.65,133.113,-19.0147],[2179.34,1198.53,15.1333,131.631,-0.0248235]]], - [47,1236.91,[[5187.85,-2001.66,42.55,237.866,-67.6023],[5146.91,-1903.26,42.1,235.704,-67.1918],[5104.09,-1802.49,41.6333,233.438,-66.7545],[5060.93,-1703.03,41.1667,231.149,-66.3049],[5015.85,-1601.42,40.6833,228.753,-65.8258],[4970.39,-1501.25,40.2,226.334,-65.3323],[4924.55,-1402.55,39.7167,223.891,-64.8239],[4876.73,-1302.02,39.2167,221.341,-64.2816],[4828.51,-1203.09,38.7167,218.769,-63.722],[4778.26,-1102.59,38.2,216.089,-63.1246],[4725.94,-1000.72,37.6667,213.299,-62.4867],[4673.17,-900.756,37.1333,210.489,-61.8261],[4619.95,-802.744,36.6,207.66,-61.1418],[4562.91,-700.77,36.0333,204.636,-60.3874],[4505.37,-601.059,35.4667,201.595,-59.6035],[4445.61,-500.814,34.8833,198.451,-58.764],[4383.59,-400.28,34.2833,195.205,-57.8643],[4321.02,-302.396,33.6833,191.952,-56.9259],[4254.38,-201.99,33.05,188.515,-55.8909],[4185.36,-102.102,32.4,184.99,-54.7785],[4112.11,-0.594573,31.7167,181.293,-53.5511],[4036.37,99.6109,31.0167,177.526,-52.2283],[3958.07,198.182,30.3,173.699,-50.8014],[3873.49,299.061,29.5333,169.652,-49.1883],[3784.35,399.215,28.7333,165.496,-47.4036],[3688.64,499.821,27.8833,161.177,-45.3868],[3586.22,599.725,26.9833,156.74,-43.1079],[3474.98,699.328,26.0167,152.167,-40.486],[3350.79,799.83,24.95,147.405,-37.3731],[3211.27,899.595,23.7667,142.546,-33.6392],[3047.91,999.205,22.4,137.609,-28.9541],[2841.43,1099.33,20.7,132.701,-22.5873],[2520.85,1199.9,18.1167,128.476,-11.9608],[2170.58,1236.91,15.3667,129.094,-0.00562831]]], - [48,1275.15,[[5137.33,-2002.93,42.95,238.268,-68.1136],[5095.72,-1900.37,42.4833,236.016,-67.6976],[5055.25,-1802.68,42.0333,233.821,-67.2856],[5012.95,-1702.66,41.5667,231.521,-66.8464],[4968.77,-1600.46,41.0833,229.113,-66.3783],[4925.76,-1503.15,40.6167,226.765,-65.9131],[4879.3,-1400.4,40.1167,224.225,-65.3995],[4834,-1302.58,39.6333,221.745,-64.8875],[4786.76,-1202.97,39.1333,219.157,-64.3411],[4737.52,-1101.75,38.6167,216.458,-63.7579],[4687.87,-1002.3,38.1,213.737,-63.1547],[4636.18,-901.519,37.5667,210.905,-62.5102],[4584.04,-802.679,37.0333,208.053,-61.8425],[4529.82,-702.811,36.4833,205.092,-61.1283],[4473.46,-602.136,35.9167,202.023,-60.3639],[4414.94,-500.888,35.3333,198.847,-59.5451],[4355.89,-402.098,34.75,195.657,-58.6922],[4292.92,-300.374,34.1333,192.274,-57.7514],[4229.37,-201.477,33.5167,188.885,-56.7681],[4161.79,-100.342,32.8667,185.31,-55.6829],[4093.58,-2.44072,32.2167,181.74,-54.5446],[4019.44,99.3199,31.5167,177.908,-53.2559],[3942.8,199.501,30.8,174.009,-51.8647],[3861.82,299.94,30.05,169.966,-50.3258],[3776.41,399.966,29.2667,165.799,-48.6222],[3686.45,498.861,28.45,161.534,-46.7344],[3588.14,599.545,27.5667,157.037,-44.556],[3483.14,698.725,26.6333,152.449,-42.0904],[3365.55,799.762,25.6,147.612,-39.1528],[3235.02,899.813,24.4667,142.665,-35.6674],[3085.26,999.285,23.1833,137.619,-31.3773],[2901.7,1099.51,21.6333,132.488,-25.7109],[2648.42,1199.87,19.5333,127.612,-17.2625],[2159.99,1275.15,15.6,126.533,-0.00479408]]], - [49,1313.21,[[5082.18,-2001.89,43.3333,238.621,-68.6149],[5042.87,-1902.47,42.8833,236.441,-68.2233],[5001.77,-1800.63,42.4167,234.156,-67.8061],[4960.33,-1700.08,41.95,231.845,-67.3771],[4918.55,-1600.85,41.4833,229.509,-66.9358],[4876.42,-1502.95,41.0167,227.149,-66.4816],[4832.44,-1402.99,40.5333,224.681,-65.9973],[4786.55,-1301.13,40.0333,222.101,-65.4805],[4740.28,-1200.87,39.5333,219.497,-64.947],[4693.62,-1102.24,39.0333,216.868,-64.3961],[4645,-1002.05,38.5167,214.129,-63.8077],[4594.38,-900.496,37.9833,211.277,-63.1789],[4543.33,-800.878,37.45,208.402,-62.5273],[4490.23,-700.197,36.9,205.416,-61.8302],[4436.67,-601.63,36.35,202.41,-61.1063],[4381.02,-502.319,35.7833,199.296,-60.3309],[4323.22,-402.498,35.2,196.073,-59.4997],[4263.26,-302.416,34.6,192.745,-58.608],[4201.07,-202.332,33.9833,189.314,-57.6502],[4136.63,-102.515,33.35,185.785,-56.6206],[4068.18,-0.748958,32.6833,182.071,-55.4832],[3997.36,99.993,32,178.271,-54.2569],[3924.13,199.391,31.3,174.395,-52.9331],[3846.68,299.333,30.5667,170.363,-51.4681],[3764.92,399.169,29.8,166.193,-49.8451],[3678.77,498.202,29,161.907,-48.0454],[3584.47,599.471,28.1333,157.363,-45.9651],[3483.67,699.667,27.2167,152.698,-43.6071],[3374.34,799.126,26.2333,147.896,-40.8856],[3252.49,898.932,25.15,142.904,-37.6441],[3112.02,999.889,23.9167,137.692,-33.6292],[2946.49,1099.98,22.4833,132.41,-28.5206],[2733.24,1199.74,20.6667,127.196,-21.3875],[2348.46,1299.98,17.4667,123.107,-7.44325],[2147.57,1313.21,15.8333,123.948,-0.0237196]]], - [50,1351.05,[[5023.9,-2002.26,43.7167,239.006,-69.1209],[4985.42,-1902.34,43.2667,236.818,-68.7388],[4946.63,-1803.59,42.8167,234.606,-68.3463],[4906.07,-1702.46,42.35,232.286,-67.928],[4865.17,-1602.64,41.8833,229.94,-67.4977],[4822.46,-1500.66,41.4,227.484,-67.0389],[4779.4,-1400.12,40.9167,225.003,-66.566],[4735.98,-1301.05,40.4333,222.495,-66.0785],[4690.68,-1200.13,39.9333,219.876,-65.5582],[4645.01,-1100.83,39.4333,217.231,-65.0208],[4598.96,-1003.17,38.9333,214.563,-64.4656],[4549.43,-900.839,38.4,211.691,-63.8527],[4499.47,-800.427,37.8667,208.796,-63.2174],[4449.09,-701.965,37.3333,205.878,-62.5587],[4396.69,-602.498,36.7833,202.847,-61.8536],[4342.24,-502.249,36.2167,199.704,-61.0982],[4285.69,-401.454,35.6333,196.449,-60.2882],[4227.02,-300.359,35.0333,193.086,-59.4188],[4167.83,-201.918,34.4333,189.71,-58.5107],[4104.79,-100.93,33.8,186.137,-57.5075],[4039.51,-0.450982,33.15,182.465,-56.4272],[3971.94,99.223,32.4833,178.702,-55.2626],[3902.04,197.783,31.8,174.856,-54.0055],[3826.33,299.433,31.0667,170.749,-52.5802],[3748.14,398.915,30.3167,166.585,-51.0354],[3663.93,499.962,29.5167,162.198,-49.2835],[3575.31,599.573,28.6833,157.71,-47.3365],[3480.42,698.774,27.8,153.069,-45.1269],[3375.45,799.688,26.8333,148.164,-42.525],[3261.98,898.587,25.8,143.172,-39.5177],[3132.33,998.925,24.6333,137.922,-35.8256],[2980.32,1099.79,23.2833,132.481,-31.1456],[2793.63,1199.59,21.65,127.027,-24.8998],[2519.85,1299.59,19.3,121.903,-14.915],[2133.3,1351.04,16.0667,121.34,-0.0637277]]], - [51,1388.61,[[4961.07,-2000.37,44.0833,239.342,-69.6178],[4924.81,-1903.67,43.65,237.228,-69.2589],[4885.44,-1800.75,43.1833,234.925,-68.8619],[4847.17,-1702.72,42.7333,232.678,-68.4685],[4807.16,-1602.35,42.2667,230.323,-68.0489],[4766.83,-1503.3,41.8,227.941,-67.6171],[4724.7,-1402.13,41.3167,225.448,-67.1564],[4682.23,-1302.42,40.8333,222.928,-66.6815],[4637.93,-1200.83,40.3333,220.295,-66.1745],[4593.26,-1100.85,39.8333,217.635,-65.6508],[4548.21,-1002.51,39.3333,214.95,-65.1097],[4501.28,-902.625,38.8167,212.15,-64.5313],[4452.43,-801.405,38.2833,209.235,-63.9127],[4403.15,-702.126,37.75,206.295,-63.2712],[4351.91,-601.809,37.2,203.24,-62.5843],[4298.66,-500.675,36.6333,200.069,-61.8483],[4244.94,-401.831,36.0667,196.878,-61.0819],[4189.18,-302.507,35.4833,193.576,-60.2595],[4129.7,-200.224,34.8667,190.068,-59.351],[4069.69,-100.774,34.25,186.548,-58.3999],[4007.51,-1.62815,33.6167,182.925,-57.3759],[3941.47,99.411,32.95,179.109,-56.2431],[3873.16,199.385,32.2667,175.202,-55.0196],[3802.53,297.973,31.5667,171.215,-53.6963],[3726.14,399.242,30.8167,166.969,-52.1946],[3647.3,498.031,30.05,162.673,-50.5632],[3560.76,599.903,29.2167,158.071,-48.6715],[3469.83,699.673,28.35,153.384,-46.5636],[3370.88,799.966,27.4167,148.483,-44.1213],[3263.71,899.064,26.4167,143.443,-41.2925],[3142.64,999.346,25.3,138.141,-37.8572],[3003.6,1099.63,24.0333,132.642,-33.589],[2836.63,1199.55,22.5333,127.015,-28.0114],[2612.14,1299.72,20.55,121.428,-19.805],[2115.2,1388.61,16.2833,118.725,-0.0476564]]], - [52,1425.88,[[4896.47,-2003.74,44.4667,239.792,-70.1331],[4859.65,-1902.82,44.0167,237.589,-69.7699],[4822.54,-1803.06,43.5667,235.36,-69.3969],[4783.73,-1700.87,43.1,233.022,-68.9992],[4746.01,-1603.56,42.65,230.741,-68.6049],[4705.16,-1500.41,42.1667,228.264,-68.169],[4665.39,-1402.17,41.7,225.845,-67.7355],[4623.87,-1301.86,41.2167,223.313,-67.2728],[4582,-1203.02,40.7333,220.755,-66.7955],[4538.34,-1102.35,40.2333,218.081,-66.2858],[4492.84,-1000.04,39.7167,215.29,-65.7411],[4448.44,-902.699,39.2167,212.563,-65.1958],[4400.68,-800.718,38.6833,209.628,-64.5935],[4352.51,-700.67,38.15,206.667,-63.9687],[4303.95,-602.585,37.6167,203.681,-63.3202],[4251.9,-500.55,37.05,200.485,-62.604],[4199.41,-400.795,36.4833,197.266,-61.858],[4144.91,-300.523,35.9,193.932,-61.0573],[4089.93,-202.74,35.3167,190.58,-60.2214],[4031.31,-102.113,34.7,187.021,-59.2971],[3970.57,-1.7471,34.0667,183.354,-58.3017],[3907.67,98.0744,33.4167,179.584,-57.2281],[3840.95,199.483,32.7333,175.62,-56.0391],[3771.96,299.556,32.0333,171.568,-54.7524],[3700.68,397.958,31.3167,167.438,-53.3578],[3623.71,498.618,30.55,163.054,-51.7732],[3542.6,598.5,29.75,158.533,-50.0098],[3455.57,698.77,28.9,153.811,-48.0036],[3362.48,798.263,28,148.931,-45.7192],[3259.68,898.999,27.0167,143.782,-43.0205],[3146.91,998.716,25.95,138.467,-39.836],[3018.54,1098.82,24.75,132.912,-35.9132],[2866.79,1199.18,23.35,127.142,-30.8609],[2674.22,1299.29,21.6,121.288,-23.8263],[2359.62,1399.69,18.8,115.96,-11.1556],[2095.32,1425.88,16.5,116.086,-0.0524415]]], - [53,1462.8,[[4826.02,-2001.16,44.8167,240.111,-70.6265],[4791.37,-1903.52,44.3833,237.983,-70.2857],[4755.1,-1803.27,43.9333,235.747,-69.9224],[4717.19,-1700.56,43.4667,233.4,-69.5351],[4680.32,-1602.74,43.0167,231.11,-69.1511],[4641.79,-1502.59,42.55,228.708,-68.7413],[4601.54,-1400.26,42.0667,226.193,-68.3041],[4562.37,-1302.83,41.6,223.737,-67.8691],[4521.47,-1203.37,41.1167,221.166,-67.4046],[4478.81,-1102.05,40.6167,218.478,-66.9084],[4435.8,-1002.35,40.1167,215.762,-66.3956],[4390.98,-901.058,39.6,212.928,-65.8473],[4345.78,-801.542,39.0833,210.066,-65.2794],[4298.74,-700.711,38.55,207.085,-64.6716],[4251.3,-601.833,38.0167,204.078,-64.0408],[4201.96,-501.942,37.4667,200.952,-63.3647],[4150.7,-401.261,36.9,197.706,-62.6395],[4097.47,-300.026,36.3167,194.342,-61.861],[4043.78,-201.269,35.7333,190.957,-61.048],[3988.09,-102.313,35.1333,187.458,-60.1735],[3928.78,-0.787038,34.5,183.749,-59.2059],[3868.95,97.6871,33.8667,180.03,-58.1894],[3805.4,197.999,33.2,176.11,-57.063],[3738.07,299.578,32.5,171.996,-55.8138],[3668.5,399.539,31.7833,167.797,-54.459],[3595,499.711,31.0333,163.427,-52.9527],[3517.51,599.415,30.25,158.905,-51.2757],[3434.27,699.882,29.4167,154.162,-49.3657],[3345.14,799.975,28.5333,149.235,-47.1881],[3250,898.47,27.6,144.177,-44.7024],[3143.52,998.674,26.5667,138.804,-41.7112],[3023.66,1099.1,25.4167,133.179,-38.0651],[2884.7,1199.48,24.1,127.319,-33.4554],[2715.26,1299.22,22.5167,121.311,-27.279],[2473.87,1399.63,20.3,115.342,-17.5389],[2073.65,1462.8,16.7167,113.423,-0.079861]]], - [54,1499.33,[[4752.46,-2000.17,45.1667,240.463,-71.1253],[4718.63,-1902.09,44.7333,238.328,-70.7934],[4683.21,-1801.37,44.2833,236.084,-70.4396],[4647.5,-1701.84,43.8333,233.813,-70.0761],[4611.51,-1603.5,43.3833,231.515,-69.7024],[4573.88,-1502.8,42.9167,229.104,-69.3037],[4535.95,-1403.43,42.45,226.666,-68.8932],[4496.34,-1301.92,41.9667,224.111,-68.455],[4456.4,-1201.88,41.4833,221.527,-68.0029],[4416.14,-1103.32,41,218.916,-67.5363],[4374.15,-1002.95,40.5,216.186,-67.0376],[4330.39,-900.958,39.9833,213.336,-66.5045],[4286.27,-800.735,39.4667,210.457,-65.9522],[4241.79,-702.312,38.95,207.551,-65.3798],[4195.48,-602.628,38.4167,204.523,-64.7668],[4147.33,-501.897,37.8667,201.374,-64.1098],[4097.3,-400.341,37.3,198.103,-63.4049],[4046.83,-301.08,36.7333,194.807,-62.67],[3994.44,-201.331,36.15,191.391,-61.8803],[3940.09,-101.345,35.55,187.857,-61.0308],[3883.74,-1.38251,34.9333,184.207,-60.1156],[3825.37,98.2824,34.3,180.444,-59.1286],[3763.37,199.861,33.6333,176.473,-58.0344],[3700.81,297.971,32.9667,172.5,-56.8796],[3632.96,399.513,32.25,168.234,-55.5655],[3562.88,499.144,31.5167,163.885,-54.137],[3488.93,598.613,30.75,159.371,-52.5458],[3409.4,699.215,29.9333,154.615,-50.7317],[3324.16,799.845,29.0667,149.652,-48.6612],[3233.1,899.305,28.15,144.528,-46.2944],[3132.7,999.503,27.15,139.129,-43.4876],[3021.04,1099.56,26.05,133.484,-40.107],[2894.36,1198.87,24.8167,127.622,-35.9246],[2739.98,1300,23.3333,121.406,-30.3173],[2539.15,1399.79,21.4333,115.151,-22.2187],[2048.33,1499.33,16.9167,110.751,-0.047163]]], - [55,1535.44,[[4675.79,-2000.84,45.5167,240.848,-71.629],[4642.77,-1902.31,45.0833,238.707,-71.3062],[4608.21,-1801.11,44.6333,236.456,-70.9621],[4573.36,-1701.1,44.1833,234.177,-70.6084],[4538.24,-1602.27,43.7333,231.871,-70.2449],[4501.52,-1501.06,43.2667,229.45,-69.857],[4464.5,-1401.18,42.8,227.001,-69.4576],[4427.19,-1302.63,42.3333,224.524,-69.0461],[4388.22,-1201.99,41.85,221.929,-68.6067],[4348.94,-1102.83,41.3667,219.306,-68.1531],[4307.98,-1001.84,40.8667,216.562,-67.6683],[4266.67,-902.469,40.3667,213.789,-67.1669],[4223.63,-801.525,39.85,210.893,-66.6304],[4180.24,-702.373,39.3333,207.969,-66.0744],[4135.08,-601.93,38.8,204.922,-65.4788],[4088.11,-500.407,38.25,201.75,-64.8403],[4040.74,-401.005,37.7,198.551,-64.1758],[3991.52,-300.844,37.1333,195.229,-63.4623],[3940.43,-200.158,36.55,191.783,-62.6953],[3888.9,-101.967,35.9667,188.315,-61.8935],[3833.96,-0.916473,35.35,184.628,-61.0054],[3777.04,99.8779,34.7167,180.823,-60.0472],[3719.62,197.6,34.0833,177.005,-59.039],[3657.11,299.541,33.4,172.878,-57.8911],[3594.05,397.799,32.7167,168.75,-56.6762],[3525.75,499.088,31.9833,164.33,-55.2922],[3455.26,598.16,31.2333,159.832,-53.7837],[3379.36,698.725,30.4333,155.075,-52.0625],[3297.92,799.704,29.5833,150.088,-50.096],[3210.84,899.93,28.6833,144.912,-47.8454],[3116.34,999.795,27.7167,139.511,-45.2177],[3012.59,1098.99,26.6667,133.886,-42.0951],[2894.34,1199.02,25.4833,127.935,-38.2128],[2754.38,1299.9,24.1,121.646,-33.1527],[2579.92,1399.76,22.4,115.189,-26.1394],[2308.07,1499.99,19.8,108.881,-13.8677],[2021.31,1535.44,17.1167,108.054,-0.0366515]]], - [56,1571.08,[[4595.99,-2003.24,45.8667,241.266,-72.1376],[4562.56,-1900.45,45.4167,239.036,-71.8118],[4530.11,-1802.56,44.9833,236.862,-71.4896],[4496.13,-1702.05,44.5333,234.576,-71.146],[4461.89,-1602.73,44.0833,232.263,-70.7928],[4426.09,-1501,43.6167,229.834,-70.4159],[4390,-1400.59,43.15,227.375,-70.0277],[4353.62,-1301.51,42.6833,224.888,-69.6278],[4315.63,-1200.31,42.2,222.282,-69.2007],[4277.33,-1100.59,41.7167,219.645,-68.7598],[4238.72,-1002.37,41.2333,216.98,-68.3045],[4198.45,-902.352,40.7333,214.193,-67.8176],[4156.5,-800.732,40.2167,211.282,-67.2966],[4114.2,-700.896,39.7,208.34,-66.7566],[4071.55,-602.87,39.1833,205.37,-66.1964],[4025.78,-500.54,38.6333,202.177,-65.5768],[3979.61,-400.322,38.0833,198.955,-64.9318],[3933.06,-302.249,37.5333,195.706,-64.26],[3883.27,-200.61,36.95,192.232,-63.5162],[3833.06,-101.454,36.3667,188.733,-62.7384],[3780.98,-2.0946,35.7667,185.111,-61.9006],[3725.52,99.8488,35.1333,181.267,-60.9718],[3669.58,198.732,34.5,177.405,-59.9941],[3610.18,299.466,33.8333,173.328,-58.9084],[3548.75,399.093,33.15,169.143,-57.7309],[3483.74,499.58,32.4333,164.757,-56.4199],[3416.61,598.101,31.7,160.283,-54.9914],[3344.25,698.46,30.9167,155.534,-53.3599],[3266.53,799.609,30.0833,150.534,-51.4942],[3184.92,898.569,29.2167,145.418,-49.3985],[3094.55,999.629,28.2667,139.941,-46.9024],[2996.83,1099.06,27.25,134.283,-43.9791],[2886.71,1199.1,26.1167,128.296,-40.3846],[2758.88,1299.62,24.8167,121.967,-35.7896],[2604.46,1399.24,23.2667,115.396,-29.6128],[2388.48,1499.72,21.1333,108.631,-19.8859],[1992.56,1571.08,17.3167,105.333,-0.0505161]]], - [57,1606.21,[[4511.83,-2003.57,46.2,241.635,-72.6393],[4479.26,-1900.33,45.75,239.399,-72.3228],[4447.64,-1802.01,45.3167,237.219,-72.0099],[4414.54,-1701.04,44.8667,234.926,-71.6761],[4381.17,-1601.26,44.4167,232.604,-71.333],[4347.54,-1502.67,43.9667,230.254,-70.9801],[4312.39,-1401.72,43.5,227.788,-70.6034],[4276.95,-1302.1,43.0333,225.291,-70.2152],[4239.94,-1200.33,42.55,222.674,-69.8007],[4202.63,-1100.04,42.0667,220.027,-69.3727],[4165.02,-1001.23,41.5833,217.349,-68.9307],[4125.8,-900.609,41.0833,214.547,-68.458],[4086.26,-801.625,40.5833,211.715,-67.9687],[4045.06,-701.09,40.0667,208.758,-67.4449],[4003.53,-602.359,39.55,205.77,-66.9015],[3960.3,-502.362,39.0167,202.655,-66.3189],[3915.35,-401.313,38.4667,199.411,-65.6938],[3870.02,-302.399,37.9167,196.139,-65.0425],[3822.93,-202.754,37.35,192.738,-64.3425],[3774.05,-102.617,36.7667,189.21,-63.5892],[3723.34,-2.23711,36.1667,185.555,-62.7775],[3670.78,98.1225,35.55,181.775,-61.9017],[3616.33,198.187,34.9167,177.872,-60.9553],[3559.96,297.669,34.2667,173.85,-59.9308],[3500.18,398.688,33.5833,169.611,-58.7914],[3438.39,498.325,32.8833,165.266,-57.5526],[3373.07,598.471,32.15,160.719,-56.1707],[3304.17,698.464,31.3833,155.987,-54.6259],[3230.07,799.61,30.5667,150.986,-52.8577],[3152.22,898.912,29.7167,145.847,-50.8704],[3067.43,999.073,28.8,140.411,-48.5432],[2975.55,1098.4,27.8167,134.746,-45.8133],[2871.68,1199.4,26.7167,128.677,-42.445],[2753.88,1299.75,25.4833,122.314,-38.2356],[2613.66,1400,24.0333,115.612,-32.6551],[2432.16,1499.6,22.1833,108.671,-24.5108],[2076.13,1599.84,18.6333,102.301,-6.20953],[1962.08,1606.21,17.5167,102.586,-0.0907867]]], - [58,1640.8,[[4423.39,-2001.84,46.5167,241.955,-73.1348],[4392.86,-1902,46.0833,239.796,-72.839],[4362.08,-1803.23,45.65,237.61,-72.5354],[4329.87,-1701.8,45.2,235.311,-72.2116],[4297.39,-1601.54,44.75,232.983,-71.8787],[4264.66,-1502.47,44.3,230.625,-71.5363],[4230.44,-1401.02,43.8333,228.15,-71.1708],[4195.94,-1300.89,43.3667,225.644,-70.7942],[4161.17,-1202.1,42.9,223.107,-70.406],[4124.86,-1101.22,42.4167,220.449,-69.9911],[4088.26,-1001.82,41.9333,217.76,-69.5626],[4050.09,-900.572,41.4333,214.946,-69.1043],[4011.61,-800.961,40.9333,212.1,-68.6299],[3972.82,-703.008,40.4333,209.223,-68.1386],[3931.1,-600.379,39.9,206.121,-67.595],[3890.35,-502.809,39.3833,203.085,-67.0479],[3846.61,-400.976,38.8333,199.821,-66.4422],[3802.51,-301.271,38.2833,196.525,-65.811],[3756.69,-200.802,37.7167,193.099,-65.1325],[3710.49,-102.659,37.15,189.644,-64.4235],[3661.17,-1.31494,36.55,185.958,-63.6374],[3611.42,97.3445,35.95,182.245,-62.8125],[3558.46,198.529,35.3167,178.303,-61.8965],[3503.63,299.173,34.6667,174.237,-60.9047],[3446.91,398.975,34,170.051,-59.8288],[3386.82,499.983,33.3,165.646,-58.63],[3324.75,599.318,32.5833,161.137,-57.3232],[3259.21,698.791,31.8333,156.43,-55.8619],[3188.66,799.765,31.0333,151.437,-54.188],[3114.47,899.232,30.2,146.287,-52.3059],[3035.09,998.203,29.3167,140.912,-50.1412],[2947.35,1098.77,28.35,135.168,-47.5517],[2851.06,1198.71,27.3,129.147,-44.4506],[2741.35,1299.54,26.1167,122.724,-40.5581],[2614.71,1399.06,24.7667,116.012,-35.5536],[2454.69,1499.6,23.0833,108.862,-28.4157],[2212.92,1599.77,20.5833,101.624,-16.0417],[1928.21,1640.8,17.7,99.8272,-0.0661659]]], - [59,1674.81,[[4331.91,-2001.95,46.8333,242.308,-73.6357],[4302.21,-1901.71,46.4,240.145,-73.3489],[4272.28,-1802.52,45.9667,237.953,-73.0545],[4240.95,-1700.65,45.5167,235.647,-72.7404],[4210.54,-1603.66,45.0833,233.399,-72.4297],[4177.53,-1500.44,44.6167,230.946,-72.0855],[4145.44,-1402.14,44.1667,228.551,-71.7439],[4111.9,-1301.48,43.7,226.037,-71.379],[4078.08,-1202.17,43.2333,223.491,-71.0028],[4042.78,-1100.74,42.75,220.823,-70.6008],[4007.19,-1000.78,42.2667,218.122,-70.1855],[3971.32,-902.327,41.7833,215.389,-69.7564],[3933.91,-802.075,41.2833,212.53,-69.2971],[3894.93,-700.216,40.7667,209.542,-68.8053],[3855.64,-600.146,40.25,206.52,-68.2949],[3816.02,-501.892,39.7333,203.467,-67.7651],[3774.8,-402.401,39.2,200.282,-67.1965],[3731.93,-301.888,38.65,196.966,-66.5859],[3687.4,-200.578,38.0833,193.516,-65.9292],[3642.49,-101.585,37.5167,190.035,-65.243],[3595.88,-2.13562,36.9333,186.421,-64.5036],[3547.53,97.5174,36.3333,182.676,-63.7058],[3496.07,199.762,35.7,178.696,-62.8197],[3444.15,298.937,35.0667,174.693,-61.8851],[3389.04,399.965,34.4,170.459,-60.8449],[3332.05,499.883,33.7167,166.105,-59.7138],[3273.16,598.364,33.0167,161.639,-58.4811],[3209.5,699.464,32.2667,156.857,-57.0701],[3143.84,798.019,31.5,151.987,-55.5221],[3071.8,899.566,30.6667,146.732,-53.7067],[2996.18,998.92,29.8,141.334,-51.657],[2913.95,1098.67,28.8667,135.631,-49.2457],[2823.47,1198.66,27.85,129.597,-46.3521],[2721.55,1299.28,26.7167,123.166,-42.7616],[2604.82,1399.22,25.4333,116.386,-38.1813],[2462.08,1499.77,23.8833,109.142,-31.8543],[2267.33,1599.55,21.8,101.615,-21.9387],[1892.71,1674.81,17.8833,97.0433,-0.0677642]]], - [60,1708.19,[[4236.25,-2000.08,47.1333,242.613,-74.1314],[4208.51,-1903.3,46.7167,240.528,-73.8642],[4179.43,-1803.69,46.2833,238.331,-73.5791],[4148.99,-1701.37,45.8333,236.019,-73.275],[4118.31,-1600.22,45.3833,233.678,-72.9623],[4087.38,-1500.25,44.9333,231.305,-72.6407],[4056.21,-1401.49,44.4833,228.903,-72.3099],[4023.62,-1300.35,44.0167,226.379,-71.9564],[3990.77,-1200.55,43.55,223.824,-71.5921],[3957.66,-1102.1,43.0833,221.238,-71.2163],[3923.1,-1001.57,42.6,218.527,-70.8145],[3888.25,-902.541,42.1167,215.783,-70.3992],[3851.92,-801.689,41.6167,212.911,-69.9547],[3815.29,-702.481,41.1167,210.006,-69.4943],[3777.13,-601.72,40.6,206.969,-69.0009],[3738.66,-502.767,40.0833,203.9,-68.4885],[3698.62,-402.547,39.55,200.697,-67.9387],[3656.99,-301.274,39,197.359,-67.3481],[3615.02,-202.144,38.45,193.989,-66.732],[3571.42,-102.283,37.8833,190.483,-66.0689],[3526.17,-1.93115,37.3,186.842,-65.3543],[3479.23,98.6599,36.7,183.066,-64.5831],[3430.57,199.227,36.0833,179.155,-63.7494],[3380.18,299.494,35.45,175.112,-62.8466],[3328.02,399.171,34.8,170.94,-61.8673],[3274.06,497.958,34.1333,166.643,-60.8028],[3216.91,597.871,33.4333,162.118,-59.614],[3156.51,698.29,32.7,157.374,-58.2835],[3092.8,798.553,31.9333,152.424,-56.7909],[3024.31,899.966,31.1167,147.177,-55.0749],[2952.36,999.525,30.2667,141.768,-53.1367],[2874.03,1099.94,29.35,136.023,-50.8534],[2789.17,1199.5,28.3667,130.005,-48.156],[2694.73,1299.28,27.2833,123.615,-44.8519],[2587.52,1398.75,26.0667,116.84,-40.6771],[2458.23,1499.63,24.6167,109.514,-34.9905],[2291.01,1599.96,22.7667,101.772,-26.5302],[1975.93,1699.83,19.35,94.2336,-7.73869],[1855.55,1708.19,18.0667,94.2341,-0.0984979]]], - [61,1740.92,[[4137.58,-2000.12,47.4333,242.951,-74.6328],[4110.66,-1902.97,47.0167,240.861,-74.3742],[4082.44,-1802.96,46.5833,238.659,-74.0982],[4052.9,-1700.23,46.1333,236.342,-73.8039],[4024.22,-1602.4,45.7,234.081,-73.5126],[3994.21,-1501.97,45.25,231.702,-73.2017],[3963.97,-1402.73,44.8,229.293,-72.8817],[3932.35,-1301.1,44.3333,226.762,-72.5399],[3900.47,-1200.79,43.8667,224.199,-72.1876],[3868.35,-1101.84,43.4,221.603,-71.8242],[3834.8,-1000.78,42.9167,218.882,-71.4355],[3800.99,-901.216,42.4333,216.126,-71.0338],[3766.91,-803.158,41.95,213.338,-70.6184],[3730.19,-700.031,41.4333,210.322,-70.1584],[3694.35,-601.92,40.9333,207.369,-69.6967],[3657.03,-502.312,40.4167,204.283,-69.2016],[3618.19,-401.41,39.8833,201.063,-68.6701],[3579.03,-302.484,39.35,197.807,-68.1168],[3538.32,-202.569,38.8,194.416,-67.5219],[3496.03,-101.891,38.2333,190.886,-66.8814],[3452.13,-0.69025,37.65,187.218,-66.1911],[3407.87,98.0012,37.0667,183.518,-65.4671],[3360.68,199.562,36.45,179.574,-64.6625],[3313.1,298.235,35.8333,175.602,-63.8145],[3262.52,399.067,35.1833,171.387,-62.87],[3210.2,499.049,34.5167,167.042,-61.8429],[3156.11,597.868,33.8333,162.571,-60.7235],[3097.55,699.73,33.1,157.763,-59.4404],[3037.13,799.356,32.35,152.846,-58.0323],[2973.46,898.422,31.5667,147.726,-56.4475],[2905.11,998.132,30.7333,142.315,-54.6202],[2830.61,1099.14,29.8333,136.54,-52.465],[2749.8,1199.8,28.8667,130.456,-49.915],[2661.15,1299.79,27.8167,124.044,-46.8352],[2561.63,1399.31,26.65,117.249,-42.9871],[2445.16,1499,25.3,109.971,-37.9053],[2298.11,1599.68,23.6167,102.102,-30.5262],[2076.17,1699.92,21.1167,93.8909,-17.4055],[1815.24,1740.91,18.2333,91.4106,-0.0587319]]], - [62,1772.94,[[4035.89,-2002.15,47.7333,243.324,-75.1396],[4008.74,-1900.74,47.3,241.146,-74.8795],[3981.38,-1800.36,46.8667,238.939,-74.6127],[3953.8,-1701.04,46.4333,236.701,-74.3386],[3926.01,-1602.8,46,234.435,-74.0572],[3896.92,-1501.93,45.55,232.05,-73.7566],[3867.6,-1402.25,45.1,229.633,-73.4474],[3836.95,-1300.16,44.6333,227.095,-73.1171],[3807.16,-1202.97,44.1833,224.615,-72.7889],[3776.03,-1103.49,43.7167,222.011,-72.438],[3743.52,-1001.9,43.2333,219.28,-72.0627],[3710.75,-901.782,42.75,216.515,-71.6749],[3677.73,-803.169,42.2667,213.715,-71.2737],[3643.29,-702.761,41.7667,210.784,-70.844],[3607.41,-600.746,41.25,207.719,-70.3835],[3571.23,-500.527,40.7333,204.618,-69.9052],[3534.77,-402.129,40.2167,201.481,-69.4082],[3496.83,-302.497,39.6833,198.207,-68.8742],[3457.38,-201.846,39.1333,194.795,-68.3],[3416.4,-100.402,38.5667,191.243,-67.6819],[3375.09,-1.28346,38,187.655,-67.0349],[3332.2,98.2853,37.4167,183.927,-66.3366],[3287.73,198.051,36.8167,180.059,-65.582],[3241.64,297.749,36.2,176.052,-64.7649],[3192.65,399.672,35.55,171.798,-63.8546],[3143.24,498.302,34.9,167.517,-62.8898],[3090.86,598.383,34.2167,162.995,-61.8116],[3035.44,699.317,33.5,158.236,-60.6041],[2978.24,798.263,32.7667,153.36,-59.2795],[2916.6,899.039,31.9833,148.157,-57.7548],[2851.76,998.616,31.1667,142.757,-56.0317],[2780.98,1099.92,30.2833,136.967,-53.9969],[2705.48,1199.61,29.35,130.943,-51.6307],[2622.44,1299.5,28.3333,124.537,-48.7681],[2528.93,1399.97,27.2,117.667,-45.1801],[2421.9,1499.67,25.9167,110.363,-40.5438],[2291.09,1599.86,24.3667,102.468,-34.0307],[2111.35,1699.67,22.2667,94.0502,-23.4931],[1773.37,1772.94,18.4,88.5612,-0.0477488]]], - [63,1804.24,[[3930.16,-2002.3,48.0167,243.649,-75.6421],[3903.88,-1900.51,47.5833,241.467,-75.391],[3878.41,-1803.62,47.1667,239.34,-75.1433],[3850.69,-1700.07,46.7167,237.012,-74.8686],[3823.78,-1601.44,46.2833,234.739,-74.5968],[3795.61,-1500.17,45.8333,232.348,-74.3066],[3767.22,-1400.08,45.3833,229.924,-74.0079],[3738.61,-1301.21,44.9333,227.469,-73.7005],[3709.78,-1203.55,44.4833,224.982,-73.3838],[3678.56,-1100.04,44,222.275,-73.0329],[3648.17,-1001.49,43.5333,219.629,-72.6832],[3616.45,-900.861,43.05,216.853,-72.3088],[3584.48,-801.732,42.5667,214.042,-71.9217],[3551.14,-700.785,42.0667,211.098,-71.507],[3517.53,-601.488,41.5667,208.119,-71.0771],[3482.52,-500.641,41.05,205.003,-70.616],[3447.23,-401.61,40.5333,201.85,-70.1367],[3410.51,-301.317,40,198.559,-69.6218],[3373.49,-203.016,39.4667,195.232,-69.0851],[3333.84,-100.788,38.9,191.658,-68.4895],[3293.86,-0.876157,38.3333,188.047,-67.8661],[3252.36,99.5173,37.75,184.292,-67.1932],[3210.53,197.381,37.1667,180.503,-66.4864],[3165.94,298.047,36.55,176.463,-65.6997],[3119.76,398.402,35.9167,172.28,-64.846],[3071.96,498.158,35.2667,167.958,-63.9178],[3021.29,599.436,34.5833,163.387,-62.8801],[2968.93,699.308,33.8833,158.684,-61.7452],[2913.61,799.664,33.15,153.743,-60.4708],[2855.26,899.839,32.3833,148.575,-59.0353],[2793.84,999.123,31.5833,143.194,-57.4127],[2727.99,1098.65,30.7333,137.513,-55.5332],[2656.32,1199,29.8167,131.456,-53.3048],[2578.71,1298.47,28.8333,125.083,-50.6516],[2491.04,1399.54,27.7333,118.173,-47.3166],[2391.7,1499.87,26.5,110.812,-43.0502],[2273.59,1599.97,25.05,102.888,-37.2195],[2119.57,1699.95,23.1833,94.3298,-28.2673],[1808.27,1799.95,19.4833,85.6593,-6.07523],[1729.96,1804.24,18.5667,85.6864,-0.0689143]]], - [64,1834.76,[[3820.5,-2000.57,48.2833,243.925,-76.141],[3796.07,-1902.35,47.8667,241.823,-75.9081],[3770.45,-1801.22,47.4333,239.606,-75.6597],[3744.64,-1701.13,47,237.359,-75.4046],[3718.62,-1602.11,46.5667,235.082,-75.1426],[3691.39,-1500.42,46.1167,232.684,-74.8628],[3664.97,-1403.62,45.6833,230.345,-74.5857],[3636.28,-1300.62,45.2167,227.792,-74.2785],[3608.41,-1202.54,44.7667,225.298,-73.9732],[3579.27,-1102.13,44.3,222.677,-73.6468],[3549.9,-1003.07,43.8333,220.022,-73.3099],[3519.24,-901.92,43.35,217.237,-72.9494],[3488.33,-802.261,42.8667,214.416,-72.5765],[3456.1,-700.759,42.3667,211.461,-72.177],[3423.62,-600.902,41.8667,208.468,-71.7628],[3390.87,-502.714,41.3667,205.44,-71.3332],[3356.77,-403.034,40.85,202.273,-70.8719],[3321.28,-302.063,40.3167,198.966,-70.3764],[3284.38,-200.017,39.7667,195.515,-69.8433],[3247.18,-100.114,39.2167,192.026,-69.2864],[3209.68,-2.38701,38.6667,188.499,-68.7042],[3169.58,98.8503,38.0833,184.72,-68.0571],[3129.16,197.567,37.5,180.904,-67.3772],[3086.07,299.143,36.8833,176.832,-66.6203],[3042.63,397.818,36.2667,172.725,-65.8209],[2996.45,498.637,35.6167,168.363,-64.9286],[2948.69,598.592,34.95,163.859,-63.9557],[2898.12,699.728,34.25,159.103,-62.8655],[2845.9,799.16,33.5333,154.214,-61.6694],[2790.77,898.695,32.7833,149.088,-60.3221],[2731.46,999.692,31.9833,143.623,-58.7653],[2669.13,1099.13,31.15,137.952,-56.997],[2601.19,1199.82,30.25,131.879,-54.8982],[2528.82,1298.43,29.3,125.564,-52.4415],[2446.77,1399.62,28.2333,118.649,-49.3454],[2354.83,1499.89,27.05,111.288,-45.4298],[2247.5,1599.76,25.6833,103.364,-40.1798],[2112.38,1699.77,23.9833,94.736,-32.4035],[1902.55,1799.82,21.3833,85.446,-17.68],[1683.62,1834.76,18.7167,82.7952,-0.0127245]]], - [65,1864.48,[[3707.93,-2000.96,48.55,244.238,-76.6459],[3684.34,-1902.4,48.1333,242.131,-76.4216],[3659.61,-1800.91,47.7,239.91,-76.1824],[3634.69,-1700.46,47.2667,237.658,-75.9367],[3609.57,-1601.07,46.8333,235.375,-75.6844],[3584.26,-1502.76,46.4,233.061,-75.425],[3557.77,-1401.83,45.95,230.626,-75.148],[3531.06,-1302.1,45.5,228.158,-74.8628],[3504.15,-1203.58,45.05,225.657,-74.5691],[3476.03,-1102.71,44.5833,223.028,-74.255],[3447.68,-1003.19,44.1167,220.365,-73.9308],[3418.08,-901.548,43.6333,217.571,-73.5838],[3388.25,-801.397,43.15,214.74,-73.225],[3358.18,-702.755,42.6667,211.872,-72.8536],[3326.82,-602.324,42.1667,208.869,-72.4554],[3294.16,-500.292,41.65,205.726,-72.0283],[3261.24,-400.063,41.1333,202.544,-71.5842],[3228.06,-301.665,40.6167,199.324,-71.1222],[3193.53,-202.04,40.0833,195.961,-70.6254],[3157.63,-101.406,39.5333,192.453,-70.0905],[3121.45,-2.94032,38.9833,188.906,-69.5312],[3082.75,99.089,38.4,185.103,-68.9094],[3043.75,198.606,37.8167,181.26,-68.256],[3003.3,298.306,37.2167,177.269,-67.5485],[2961.38,397.922,36.6,173.13,-66.781],[2916.83,499.745,35.95,168.73,-65.924],[2871.91,598.257,35.3,164.296,-65.0133],[2824.29,698.198,34.6167,159.606,-63.9928],[2773.92,798.964,33.9,154.661,-62.8461],[2720.76,899.91,33.15,149.468,-61.5536],[2665.94,998.264,32.3833,144.154,-60.1239],[2605.84,1099.54,31.55,138.388,-58.4306],[2542.77,1198.55,30.6833,132.425,-56.4964],[2473.01,1299.58,29.7333,125.964,-54.1456],[2397.65,1398.86,28.7167,119.184,-51.3237],[2311.56,1499.99,27.5667,111.764,-47.69],[2213.24,1599.8,26.2667,103.838,-42.9241],[2093.41,1699.29,24.7,95.2208,-36.0985],[1922.85,1799.99,22.5,85.6757,-24.2696],[1637.17,1864.47,18.8833,79.8701,-0.105906]]], - [66,1893.36,[[3592.46,-2003.49,48.8167,244.585,-77.1564],[3568.81,-1900.64,48.3833,242.391,-76.9322],[3545.89,-1802.72,47.9667,240.251,-76.711],[3521.87,-1701.9,47.5333,237.995,-76.4749],[3497.66,-1602.14,47.1,235.708,-76.2324],[3473.26,-1503.46,46.6667,233.389,-75.9831],[3447.72,-1402.13,46.2167,230.948,-75.7169],[3421.99,-1301.99,45.7667,228.473,-75.4427],[3396.05,-1203.06,45.3167,225.965,-75.1603],[3368.94,-1101.77,44.85,223.329,-74.8584],[3341.61,-1001.82,44.3833,220.658,-74.5468],[3314.07,-903.227,43.9167,217.951,-74.2249],[3285.32,-802.571,43.4333,215.111,-73.8803],[3255.34,-700.026,42.9333,212.134,-73.5111],[3226.13,-602.453,42.45,209.219,-73.1412],[3195.68,-503.144,41.95,206.165,-72.7444],[3163.96,-402.294,41.4333,202.971,-72.3184],[3130.95,-300.103,40.9,199.631,-71.8606],[3098.71,-202.986,40.3833,196.358,-71.3985],[3064.13,-101.669,39.8333,192.832,-70.8851],[3029.26,-2.5119,39.2833,189.265,-70.3483],[2993.05,97.3558,38.7167,185.549,-69.7688],[2955.47,197.693,38.1333,181.682,-69.1424],[2916.51,298.245,37.5333,177.664,-68.464],[2876.13,398.746,36.9167,173.493,-67.7278],[2834.32,498.917,36.2833,169.171,-66.9271],[2791.05,598.466,35.6333,164.698,-66.0544],[2745.18,699.508,34.95,159.961,-65.0761],[2697.8,799.118,34.25,155.079,-64.0027],[2647.74,899.178,33.5167,149.941,-62.7929],[2594.96,999.019,32.75,144.555,-61.4244],[2538.25,1099.93,31.9333,138.817,-59.836],[2478.7,1198.9,31.0833,132.864,-58.0215],[2413.92,1298.62,30.1667,126.497,-55.8547],[2342.58,1398.96,29.1667,119.655,-53.2056],[2263.37,1499,28.0667,112.325,-49.892],[2172.45,1599.36,26.8167,104.361,-45.5298],[2063.39,1699.74,25.3333,95.6514,-39.3796],[1919.49,1799.61,23.4,86.0951,-29.5136],[1586.62,1893.36,19.0167,76.9353,-0.000430786]]], - [67,1921.36,[[3472.34,-2000.27,49.05,244.801,-77.6561],[3450.45,-1901.07,48.6333,242.687,-77.449],[3428.4,-1802.83,48.2167,240.544,-77.2367],[3405.28,-1701.67,47.7833,238.283,-77.0101],[3381.99,-1601.56,47.35,235.991,-76.7772],[3358.51,-1502.53,46.9167,233.667,-76.5379],[3333.93,-1400.83,46.4667,231.22,-76.2823],[3309.17,-1300.33,46.0167,228.739,-76.0191],[3284.21,-1201.03,45.5667,226.224,-75.748],[3259.05,-1102.95,45.1167,223.675,-75.4686],[3232.76,-1002.56,44.65,220.996,-75.1697],[3205.31,-900.008,44.1667,218.184,-74.8498],[3178.6,-802.395,43.7,215.432,-74.5304],[3150.73,-702.769,43.2167,212.545,-74.1883],[3121.66,-601.309,42.7167,209.519,-73.8214],[3092.35,-501.501,42.2167,206.453,-73.4408],[3061.83,-400.129,41.7,203.244,-73.032],[3031.07,-300.575,41.1833,199.995,-72.6067],[3000.07,-202.866,40.6667,196.706,-72.1637],[2966.8,-100.912,40.1167,193.163,-71.6717],[2933.26,-1.11213,39.5667,189.576,-71.157],[2898.42,99.425,39,185.839,-70.6013],[2863.31,197.606,38.4333,182.059,-70.0181],[2825.83,298.956,37.8333,178.015,-69.3682],[2788.05,397.585,37.2333,173.928,-68.6825],[2747.84,498.697,36.6,169.573,-67.9164],[2706.24,599.222,35.95,165.063,-67.081],[2663.21,698.856,35.2833,160.399,-66.1677],[2617.65,799.632,34.5833,155.467,-65.1411],[2570.62,898.674,33.8667,150.39,-64.0107],[2519.89,999.925,33.1,144.936,-62.7026],[2467.6,1098.28,32.3167,139.353,-61.2477],[2410.38,1199.1,31.4667,133.302,-59.5163],[2349.25,1299.03,30.5667,126.93,-57.4857],[2283,1398.45,29.6,120.162,-55.0443],[2208.06,1499.96,28.5167,112.733,-51.9342],[2125.41,1598.71,27.3333,104.903,-48.0041],[2025.44,1700,25.9167,96.1151,-42.4242],[1900.51,1799.23,24.1667,86.5802,-33.9596],[1689.15,1899.85,21.25,75.89,-15.5768],[1535.96,1921.36,19.1667,73.9675,-0.0528091]]], - [68,1948.46,[[3350.29,-2003.26,49.3,245.138,-78.1701],[3329.27,-1903.74,48.8833,243.021,-77.9718],[3307.24,-1801.24,48.45,240.788,-77.7602],[3285.89,-1703.65,48.0333,238.611,-77.5514],[3263.52,-1603.19,47.6,236.315,-77.3284],[3240.97,-1503.8,47.1667,233.987,-77.0993],[3217.38,-1401.72,46.7167,231.535,-76.8544],[3193.59,-1300.84,46.2667,229.048,-76.6024],[3169.62,-1201.15,45.8167,226.527,-76.3427],[3145.46,-1102.69,45.3667,223.971,-76.0751],[3120.21,-1001.89,44.9,221.285,-75.7888],[3094.76,-902.436,44.4333,218.562,-75.4931],[3068.2,-800.881,43.95,215.703,-75.1764],[3041.42,-700.819,43.4667,212.806,-74.8486],[3014.44,-602.274,42.9833,209.87,-74.5091],[2986.31,-501.952,42.4833,206.793,-74.1447],[2957,-400.042,41.9667,203.572,-73.7535],[2928.42,-303.145,41.4667,200.415,-73.3598],[2897.69,-201.687,40.9333,197.006,-72.9224],[2866.71,-102.218,40.4,193.553,-72.4659],[2834.52,-1.7566,39.85,189.95,-71.9738],[2801.08,99.4694,39.2833,186.192,-71.4424],[2767.37,198.347,38.7167,182.391,-70.8846],[2732.39,297.642,38.1333,178.434,-70.2806],[2695.11,399.822,37.5167,174.206,-69.6067],[2657.53,499.094,36.9,169.934,-68.8933],[2618.62,597.974,36.2667,165.505,-68.1158],[2577.33,698.644,35.6,160.802,-67.2439],[2534.66,798.141,34.9167,155.942,-66.2875],[2489.53,898.418,34.2,150.812,-65.2092],[2441.9,998.825,33.45,145.414,-63.9888],[2391.74,1098.67,32.6667,139.757,-62.6016],[2337.92,1199.17,31.8333,133.735,-60.9831],[2280.37,1299.15,30.95,127.37,-59.0842],[2217.92,1399.06,30,120.579,-56.7989],[2149.38,1498.63,28.9667,113.307,-53.9789],[2071.27,1599.46,27.8,105.325,-50.2985],[1981.1,1699.43,26.4667,96.6587,-45.3158],[1869.45,1799.32,24.8333,87.0496,-37.8391],[1704.37,1899.75,22.45,76.1973,-23.7164],[1482.7,1948.46,19.3,70.9813,-0.0197537]]], - [69,1974.61,[[3223.82,-2000.54,49.5167,245.344,-78.6745],[3203.67,-1900.75,49.1,243.223,-78.4847],[3183.36,-1801.9,48.6833,241.072,-78.2901],[3162.08,-1700.11,48.25,238.803,-78.0823],[3141.46,-1603.22,47.8333,236.59,-77.8772],[3119.85,-1503.5,47.4,234.257,-77.6581],[3097.23,-1401.08,46.95,231.8,-77.424],[3075.28,-1303.58,46.5167,229.401,-77.192],[3052.3,-1203.49,46.0667,226.874,-76.9439],[3028.29,-1100.99,45.6,224.218,-76.6787],[3004.96,-1003.4,45.15,221.62,-76.4147],[2980.57,-903.529,44.6833,218.89,-76.1322],[2955.12,-801.527,44.2,216.023,-75.8297],[2929.46,-701.016,43.7167,213.117,-75.5165],[2903.6,-602.017,43.2333,210.172,-75.192],[2876.64,-501.219,42.7333,207.084,-74.8439],[2849.46,-402.088,42.2333,203.956,-74.4823],[2821.16,-301.431,41.7167,200.681,-74.0937],[2792.64,-202.608,41.2,197.364,-73.689],[2762.96,-102.549,40.6667,193.896,-73.2532],[2732.11,-1.47289,40.1167,190.275,-72.7833],[2701.02,97.4302,39.5667,186.61,-72.2912],[2667.78,199.916,38.9833,182.676,-71.7431],[2634.26,299.883,38.4,178.695,-71.1662],[2600.48,397.293,37.8167,174.671,-70.558],[2564.49,497.446,37.2,170.371,-69.8782],[2526.24,599.827,36.55,165.792,-69.1172],[2487.67,698.886,35.9,161.168,-68.3061],[2446.8,799.391,35.2167,156.266,-67.3941],[2404.58,898.426,34.5167,151.205,-66.39],[2359.99,997.858,33.7833,145.87,-65.2539],[2311.96,1099.11,33,140.144,-63.9335],[2261.46,1199.14,32.1833,134.16,-62.4239],[2207.4,1299.02,31.3167,127.814,-60.6522],[2148.68,1399.25,30.3833,121.014,-58.5184],[2084.14,1499.65,29.3667,113.691,-55.8815],[2012.6,1599.19,28.25,105.824,-52.5384],[1929.59,1699.53,26.9667,97.1385,-47.9964],[1829.38,1799.37,25.4333,87.538,-41.3603],[1691.6,1899.47,23.35,76.6589,-29.7464],[1428.11,1974.61,19.4333,67.9699,-0.0282602]]], - [70,1999.8,[[3094.66,-2000.11,49.7333,245.587,-79.1855],[3075.39,-1900.04,49.3167,243.462,-79.0043],[3055.97,-1800.92,48.9,241.308,-78.8185],[3036.4,-1702.74,48.4833,239.122,-78.6279],[3015.89,-1601.66,48.05,236.817,-78.4244],[2995.22,-1501.64,47.6167,234.479,-78.2152],[2974.39,-1402.69,47.1833,232.108,-78.0001],[2952.59,-1301.09,46.7333,229.611,-77.7702],[2930.62,-1200.69,46.2833,227.078,-77.5334],[2908.48,-1101.5,45.8333,224.51,-77.2894],[2886.17,-1003.54,45.3833,221.906,-77.0377],[2862.86,-903.279,44.9167,219.169,-76.7682],[2838.52,-800.869,44.4333,216.294,-76.4797],[2814.83,-703.4,43.9667,213.48,-76.1914],[2789.25,-600.529,43.4667,210.423,-75.8714],[2764.34,-502.644,42.9833,207.429,-75.5506],[2738.36,-403.018,42.4833,204.29,-75.2061],[2711.3,-301.843,41.9667,201.003,-74.8358],[2684.03,-202.497,41.45,197.673,-74.4501],[2655.66,-101.894,40.9167,194.19,-74.0347],[2626.17,-0.248995,40.3667,190.553,-73.5868],[2596.44,99.2278,39.8167,186.869,-73.1177],[2565.57,199.418,39.25,183.028,-72.6104],[2534.46,297.236,38.6833,179.14,-72.0771],[2501.25,398.187,38.0833,174.976,-71.4817],[2466.84,499.088,37.4667,170.648,-70.8342],[2431.22,599.659,36.8333,166.155,-70.1282],[2394.36,699.607,36.1833,161.497,-69.3563],[2356.26,798.626,35.5167,156.674,-68.5099],[2315.92,898.732,34.8167,151.568,-67.5553],[2273.31,999.297,34.0833,146.178,-66.4745],[2228.39,1099.65,33.3167,140.511,-65.2456],[2181.13,1199.07,32.5167,134.573,-63.8409],[2130.49,1298.68,31.6667,128.256,-62.1919],[2075.4,1399.07,30.75,121.46,-60.2046],[2015.8,1498.49,29.7667,114.227,-57.7897],[1948.51,1599.43,28.6667,106.269,-54.6737],[1872.37,1699.49,27.4333,97.6237,-50.5459],[1781.95,1799.13,25.9833,88.058,-44.6261],[1662.16,1899.75,24.0833,77.1053,-34.664],[1372.22,1999.8,19.5667,64.9338,-0.0843542]]], - [71,2023.97,[[2962.84,-2002.05,49.95,245.868,-79.7025],[2944.46,-1901.7,49.5333,243.741,-79.5302],[2925.94,-1802.28,49.1167,241.583,-79.3534],[2907.27,-1703.81,48.7,239.395,-79.172],[2887.71,-1602.43,48.2667,237.086,-78.9783],[2867.99,-1502.09,47.8333,234.744,-78.7792],[2848.13,-1402.83,47.4,232.368,-78.5745],[2827.33,-1300.91,46.95,229.866,-78.3557],[2806.38,-1200.17,46.5,227.328,-78.1303],[2785.26,-1100.65,46.05,224.753,-77.898],[2763.97,-1002.35,45.6,222.143,-77.6585],[2741.73,-901.731,45.1333,219.398,-77.402],[2719.32,-802.47,44.6667,216.615,-77.1369],[2695.92,-701.119,44.1833,213.692,-76.8529],[2672.34,-601.271,43.7,210.728,-76.5586],[2648.58,-502.95,43.2167,207.724,-76.2535],[2623.8,-402.867,42.7167,204.575,-75.9258],[2598,-301.217,42.2,201.276,-75.5737],[2571.99,-201.39,41.6833,197.933,-75.2068],[2544.93,-100.286,41.15,194.436,-74.8117],[2517.66,-1.18344,40.6167,190.894,-74.3988],[2489.32,98.8865,40.0667,187.194,-73.953],[2459.88,199.694,39.5,183.334,-73.471],[2430.21,298.136,38.9333,179.426,-72.9641],[2398.55,399.753,38.3333,175.238,-72.3982],[2366.63,498.639,37.7333,171.001,-71.7996],[2333.57,597.382,37.1167,166.599,-71.1474],[2298.43,698.244,36.4667,161.908,-70.4154],[2262.11,798.211,35.8,157.049,-69.6127],[2223.66,899.322,35.1,151.898,-68.7069],[2183.97,998.69,34.3833,146.582,-67.7051],[2142.09,1098.11,33.6333,140.979,-66.5664],[2097.06,1198.94,32.8333,134.971,-65.2362],[2049.75,1298.15,32,128.693,-63.7055],[1998.22,1398.52,31.1,121.914,-61.8598],[1942.4,1498.37,30.1333,114.667,-59.6154],[1880.26,1598.85,29.0667,106.765,-56.7621],[1809.71,1699.52,27.8667,98.0892,-52.974],[1727.6,1799.08,26.4833,88.5506,-47.6549],[1622.63,1899.33,24.7333,77.6514,-39.0464],[1450.43,1999.68,21.9,64.9506,-19.4914]]], - [72,2047.12,[[2827.68,-2002.33,50.15,246.102,-80.2189],[2810.19,-1901.72,49.7333,243.972,-80.0553],[2792.57,-1802.04,49.3167,241.812,-79.8874],[2774.82,-1703.31,48.9,239.62,-79.7152],[2756.21,-1601.64,48.4667,237.307,-79.5313],[2737.45,-1501.03,48.0333,234.96,-79.3422],[2718.55,-1401.49,47.6,232.58,-79.1478],[2699.51,-1303.03,47.1667,230.166,-78.9479],[2679.58,-1201.95,46.7167,227.623,-78.7341],[2659.49,-1102.08,46.2667,225.044,-78.5137],[2639.25,-1003.43,45.8167,222.428,-78.2865],[2618.1,-902.439,45.35,219.676,-78.0432],[2596.78,-802.805,44.8833,216.886,-77.7917],[2574.53,-701.064,44.4,213.956,-77.5222],[2552.1,-600.822,43.9167,210.984,-77.243],[2529.5,-502.102,43.4333,207.971,-76.9535],[2505.93,-401.605,42.9333,204.811,-76.6426],[2482.19,-302.785,42.4333,201.608,-76.3194],[2457.46,-202.46,41.9167,198.253,-75.9717],[2431.73,-100.837,41.3833,194.744,-75.5972],[2405.8,-1.21023,40.85,191.187,-75.2057],[2378.84,99.4059,40.3,187.471,-74.7831],[2351.68,197.833,39.75,183.707,-74.3399],[2322.64,299.798,39.1667,179.665,-73.8454],[2293.36,399.226,38.5833,175.572,-73.3239],[2263.02,498.807,37.9833,171.311,-72.7569],[2231.58,598.273,37.3667,166.881,-72.139],[2198.18,699.904,36.7167,162.159,-71.4454],[2164.51,798.191,36.0667,157.387,-70.704],[2128.83,897.858,35.3833,152.32,-69.8676],[2091.11,998.294,34.6667,146.957,-68.9206],[2051.31,1098.85,33.9167,141.299,-67.8434],[2009.39,1198.82,33.1333,135.351,-66.6119],[1964.43,1299.43,32.3,128.994,-65.1647],[1916.38,1399.5,31.4167,122.243,-63.4518],[1864.25,1499.47,30.4667,114.997,-61.3678],[1807.06,1599.06,29.4333,107.179,-58.7597],[1741.91,1699.85,28.2667,98.5116,-55.2907],[1666.77,1799.71,26.9333,88.9638,-50.4673],[1573.79,1899.37,25.3,78.1451,-42.932],[1435.56,1999.8,22.9,65.3745,-27.549]]], - [73,2069.2,[[2689.3,-2001,50.3333,246.291,-80.7352],[2672.71,-1900.16,49.9167,244.158,-80.5802],[2656,-1800.24,49.5,241.994,-80.4212],[2639.16,-1701.27,49.0833,239.798,-80.2582],[2622.19,-1603.26,48.6667,237.57,-80.0908],[2604.41,-1502.36,48.2333,235.221,-79.9119],[2586.49,-1402.52,47.8,232.836,-79.728],[2568.43,-1303.76,47.3667,230.418,-79.5389],[2549.53,-1202.37,46.9167,227.87,-79.3366],[2530.49,-1102.18,46.4667,225.286,-79.1281],[2511.3,-1003.22,46.0167,222.664,-78.9131],[2491.24,-901.89,45.55,219.906,-78.6829],[2471.02,-801.918,45.0833,217.109,-78.4449],[2450.65,-703.32,44.6167,214.273,-78.1988],[2429.39,-602.669,44.1333,211.294,-77.9349],[2407.23,-500.145,43.6333,208.168,-77.6517],[2385.63,-402.606,43.15,205.104,-77.3674],[2362.37,-300.071,42.6333,201.783,-77.0515],[2339.67,-202.57,42.1333,198.525,-76.7332],[2315.28,-100.471,41.6,195.003,-76.3791],[2290.7,-0.364882,41.0667,191.433,-76.009],[2265.92,97.7189,40.5333,187.815,-75.6217],[2239.39,199.683,39.9667,183.92,-75.19],[2212.65,299.295,39.4,179.975,-74.736],[2184.9,399.341,38.8167,175.862,-74.2434],[2156.14,499.565,38.2167,171.578,-73.7077],[2126.34,599.697,37.6,167.123,-73.1237],[2095.49,699.456,36.9667,162.493,-72.4854],[2063.58,798.546,36.3167,157.688,-71.7855],[2029.77,899.064,35.6333,152.583,-70.9958],[1994.85,998.094,34.9333,147.302,-70.1228],[1957.14,1099.71,34.1833,141.593,-69.1066],[1918.27,1198.7,33.4167,135.712,-67.9699],[1876.53,1298.64,32.6,129.41,-66.6343],[1831.87,1398.4,31.7333,122.698,-65.0534],[1783.36,1498.46,30.8,115.466,-63.1293],[1730.08,1598.63,29.7833,107.625,-60.7192],[1670.16,1699.27,28.65,98.9975,-57.5576],[1601.69,1798.98,27.3667,89.4961,-53.2114],[1517.3,1899.89,25.8,78.5733,-46.4533],[1401.12,1999.88,23.6667,65.857,-33.7379]]], - [74,2090.19,[[2548.45,-2002.13,50.5167,246.519,-81.2579],[2532.78,-1901.04,50.1,244.384,-81.1117],[2516.99,-1800.89,49.6833,242.217,-80.9617],[2501.08,-1701.67,49.2667,240.018,-80.8079],[2485.05,-1603.41,48.85,237.787,-80.65],[2468.24,-1502.24,48.4167,235.434,-80.4813],[2451.31,-1402.14,47.9833,233.045,-80.3079],[2434.25,-1303.11,47.55,230.623,-80.1294],[2416.39,-1201.44,47.1,228.07,-79.9386],[2398.39,-1100.97,46.65,225.48,-79.7419],[2380.26,-1001.71,46.2,222.852,-79.5391],[2361.3,-900.089,45.7333,220.088,-79.3219],[2342.88,-803.372,45.2833,217.384,-79.1056],[2322.95,-700.909,44.8,214.439,-78.8652],[2303.55,-603.395,44.3333,211.555,-78.625],[2282.61,-500.483,43.8333,208.421,-78.358],[2262.21,-402.564,43.35,205.349,-78.0901],[2240.94,-302.911,42.85,202.126,-77.8021],[2218.79,-201.718,42.3333,198.749,-77.4923],[2196.47,-102.361,41.8167,195.326,-77.1691],[2173.24,-1.75629,41.2833,191.743,-76.8207],[2149.11,99.8792,40.7333,187.998,-76.4444],[2124.78,199.336,40.1833,184.203,-76.0496],[2099.52,299.494,39.6167,180.24,-75.622],[2074.06,397.268,39.05,176.226,-75.1716],[2046.9,498.158,38.45,171.923,-74.6677],[2018.75,598.982,37.8333,167.443,-74.1184],[1989.62,699.458,37.2,162.787,-73.5178],[1959.48,799.291,36.55,157.951,-72.8591],[1928.33,898.173,35.8833,152.937,-72.1344],[1895.36,998.115,35.1833,147.616,-71.3136],[1860.54,1098.48,34.45,141.987,-70.38],[1823.84,1198.6,33.6833,136.051,-69.3125],[1784.43,1299.76,32.8667,129.682,-68.0571],[1743.07,1398.93,32.0167,123.018,-66.6002],[1698.1,1498.79,31.1,115.813,-64.8263],[1648.63,1599.22,30.1,107.967,-62.6026],[1593.74,1699.25,29,99.4101,-59.728],[1530.82,1799.47,27.75,89.8852,-55.7682],[1455.46,1899.54,26.2667,79.0871,-49.8012],[1355.37,1999.42,24.3167,66.4252,-39.0355]]], - [75,2110.06,[[2404.6,-2001.68,50.6833,246.702,-81.7809],[2389.85,-1900.38,50.2667,244.564,-81.6435],[2374.98,-1800.01,49.85,242.394,-81.5026],[2360.01,-1700.57,49.4333,240.192,-81.358],[2344.91,-1602.09,49.0167,237.958,-81.2096],[2329.1,-1500.69,48.5833,235.6,-81.051],[2313.16,-1400.35,48.15,233.207,-80.888],[2297.09,-1301.09,47.7167,230.78,-80.7202],[2280.91,-1202.92,47.2833,228.317,-80.5476],[2263.97,-1102.16,46.8333,225.723,-80.3629],[2246.9,-1002.6,46.3833,223.09,-80.1724],[2229.07,-900.664,45.9167,220.321,-79.9685],[2211.09,-800.072,45.45,217.51,-79.7577],[2192.97,-700.847,44.9833,214.66,-79.5396],[2174.72,-603.01,44.5167,211.768,-79.3139],[2155.67,-503.163,44.0333,208.732,-79.0717],[2135.81,-401.487,43.5333,205.545,-78.8116],[2115.79,-301.478,43.0333,202.313,-78.5411],[2095.62,-203.159,42.5333,199.035,-78.2596],[2073.94,-100.179,42,195.49,-77.9464],[2052.77,-2.30789,41.4833,192.007,-77.6294],[2030.06,99.8009,40.9333,188.249,-77.2763],[2007.17,199.736,40.3833,184.439,-76.9058],[1984.1,297.464,39.8333,180.578,-76.5166],[1959.44,398.668,39.25,176.428,-76.0817],[1934.6,497.314,38.6667,172.224,-75.6221],[1908.12,598.774,38.05,167.723,-75.1071],[1880.71,699.91,37.4167,163.041,-74.5438],[1853.09,797.891,36.7833,158.302,-73.9424],[1823.79,897.57,36.1167,153.256,-73.2636],[1792.77,998.357,35.4167,147.898,-72.4947],[1760.02,1099.62,34.6833,142.225,-71.6197],[1726.25,1198.54,33.9333,136.368,-70.6413],[1689.94,1298.8,33.1333,130.068,-69.491],[1651.05,1399.28,32.2833,123.329,-68.1285],[1609.54,1498.8,31.3833,116.162,-66.4999],[1563.8,1599.31,30.4,108.326,-64.457],[1512.98,1699.97,29.3167,99.7341,-61.8131],[1456.2,1798.93,28.1167,90.3548,-58.2708],[1387.78,1899.61,26.6833,79.5287,-52.913],[1300.2,1999.37,24.8667,66.9271,-43.6297]]], - [76,2128.78,[[2258.41,-2003.76,50.85,246.925,-82.3101],[2244.59,-1902.24,50.4333,244.785,-82.1816],[2230.67,-1801.64,50.0167,242.613,-82.0498],[2216.63,-1701.97,49.6,240.408,-81.9146],[2202.49,-1603.26,49.1833,238.172,-81.7758],[2187.68,-1501.61,48.75,235.811,-81.6275],[2172.74,-1401.03,48.3167,233.415,-81.475],[2157.69,-1301.52,47.8833,230.984,-81.3182],[2142.53,-1203.1,47.45,228.517,-81.1567],[2126.66,-1102.07,47,225.918,-80.984],[2110.67,-1002.25,46.55,223.281,-80.8058],[2093.96,-900.029,46.0833,220.506,-80.6151],[2077.72,-802.734,45.6333,217.791,-80.425],[2060.75,-703.175,45.1667,214.935,-80.2213],[2043.04,-601.52,44.6833,211.934,-80.0028],[2025.19,-501.372,44.2,208.889,-79.7762],[2007.2,-402.755,43.7167,205.801,-79.5411],[1988.45,-302.372,43.2167,202.56,-79.2883],[1968.93,-200.416,42.7,199.164,-79.0163],[1949.25,-100.289,42.1833,195.718,-78.7326],[1929.42,-2.02072,41.6667,192.225,-78.4364],[1908.79,97.4402,41.1333,188.569,-78.1165],[1887.35,197.873,40.5833,184.746,-77.7707],[1865.09,299.047,40.0167,180.753,-77.3961],[1842.65,397.848,39.45,176.705,-77.0014],[1818.71,499.835,38.85,172.362,-76.5596],[1794.59,599.08,38.25,167.961,-76.0913],[1769.59,698.182,37.6333,163.38,-75.5795],[1743.04,799.409,36.9833,158.49,-75.0033],[1715.6,899.735,36.3167,153.413,-74.3689],[1687.24,998.839,35.6333,148.147,-73.6679],[1657.27,1098.66,34.9167,142.564,-72.8704],[1625.65,1198.53,34.1667,136.66,-71.9585],[1591.66,1299.82,33.3667,130.303,-70.8857],[1555.96,1399.48,32.5333,123.628,-69.6403],[1517.81,1498.51,31.65,116.51,-68.152],[1475.73,1598.96,30.6833,108.697,-66.2844],[1429.63,1698.55,29.6333,100.224,-63.9063],[1377.25,1798.73,28.45,90.7638,-60.6687],[1315.46,1899.39,27.0667,79.9788,-55.8813],[1238.07,1999.26,25.35,67.4159,-47.7913]]], - [77,2146.34,[[2108.91,-2000.22,50.9833,247.019,-82.8354],[2096.54,-1902.58,50.5833,244.962,-82.7206],[2083.56,-1801.78,50.1667,242.787,-82.5979],[2070.48,-1701.91,49.75,240.58,-82.4721],[2057.3,-1602.99,49.3333,238.34,-82.3429],[2043.48,-1501.14,48.9,235.976,-82.2048],[2029.56,-1400.34,48.4667,233.577,-82.0629],[2015.54,-1300.61,48.0333,231.142,-81.9169],[2001.4,-1201.97,47.6,228.671,-81.7666],[1986.61,-1100.7,47.15,226.067,-81.6058],[1971.7,-1000.65,46.7,223.425,-81.4399],[1956.68,-901.822,46.25,220.744,-81.2688],[1940.99,-800.651,45.7833,217.923,-81.0854],[1925.17,-700.842,45.3167,215.06,-80.8957],[1909.23,-602.415,44.85,212.156,-80.6994],[1892.6,-501.951,44.3667,209.105,-80.4886],[1875.83,-403.014,43.8833,206.009,-80.27],[1858.36,-302.297,43.3833,202.761,-80.0349],[1840.75,-203.265,42.8833,199.466,-79.7902],[1822.42,-102.727,42.3667,196.012,-79.5266],[1803.34,-0.890536,41.8333,192.395,-79.2424],[1784.12,98.9407,41.3,188.727,-78.9448],[1764.14,199.759,40.75,184.891,-78.623],[1744,298.38,40.2,181.001,-78.2849],[1723.1,397.656,39.6333,176.939,-77.9181],[1701.41,497.34,39.05,172.7,-77.5193],[1678.31,599.909,38.4333,168.157,-77.0722],[1655.02,699.542,37.8167,163.554,-76.5964],[1630.92,798.767,37.1833,158.765,-76.0748],[1605.35,899.768,36.5167,153.661,-75.4858],[1578.93,999.57,35.8333,148.363,-74.8346],[1551.66,1097.84,35.1333,142.874,-74.1116],[1522.21,1198.6,34.3833,136.927,-73.2657],[1491.2,1298.77,33.6,130.651,-72.2917],[1457.95,1399.55,32.7667,123.914,-71.1376],[1422.42,1499.78,31.8833,116.719,-69.7571],[1383.9,1599.88,30.9333,108.942,-68.0545],[1341.66,1699.56,29.9,100.472,-65.8855],[1294.26,1799.05,28.75,91.0954,-62.9741],[1238.82,1899.09,27.4167,80.4114,-58.7185],[1169.6,1999.76,25.7667,67.7945,-51.5668]]], - [78,2162.7,[[1957.79,-2003.36,51.1333,247.239,-83.3716],[1945.86,-1901.46,50.7167,245.094,-83.261],[1933.83,-1800.49,50.3,242.917,-83.1474],[1921.71,-1700.45,49.8833,240.707,-83.0309],[1909.49,-1601.35,49.4667,238.464,-82.9113],[1897.19,-1503.21,49.05,236.188,-82.7885],[1884.29,-1402.18,48.6167,233.786,-82.6572],[1871.3,-1302.22,48.1833,231.348,-82.5222],[1858.2,-1203.35,47.75,228.874,-82.3833],[1844.5,-1101.84,47.3,226.267,-82.2345],[1830.69,-1001.54,46.85,223.62,-82.0812],[1816.78,-902.463,46.4,220.935,-81.9229],[1802.24,-801.031,45.9333,218.109,-81.7533],[1787.58,-700.958,45.4667,215.241,-81.5779],[1772.82,-602.264,45,212.331,-81.3963],[1757.41,-501.52,44.5167,209.274,-81.2014],[1741.88,-402.301,44.0333,206.171,-80.9991],[1725.69,-301.29,43.5333,202.915,-80.7817],[1709.37,-201.96,43.0333,199.611,-80.5553],[1692.39,-101.112,42.5167,196.148,-80.3115],[1675.27,-2.11442,42,192.634,-80.0569],[1657.46,98.1063,41.4667,188.956,-79.7819],[1638.96,199.331,40.9167,185.108,-79.4846],[1620.31,298.361,40.3667,181.206,-79.1722],[1600.94,398.063,39.8,177.129,-78.8331],[1580.86,498.191,39.2167,172.874,-78.4645],[1560.04,598.485,38.6167,168.437,-78.0627],[1538.47,698.676,38,163.815,-77.6235],[1516.15,798.48,37.3667,159.004,-77.1419],[1493.06,897.598,36.7167,154.002,-76.6121],[1468.6,998.128,36.0333,148.677,-76.0117],[1442.74,1099.46,35.3167,143.023,-75.3285],[1416.08,1198.73,34.5833,137.168,-74.5646],[1387.37,1299.75,33.8,130.845,-73.6657],[1357.2,1399.49,32.9833,124.186,-72.6223],[1324.93,1498.98,32.1167,117.057,-71.3747],[1289.89,1598.72,31.1833,109.329,-69.8364],[1251.43,1698.49,30.1667,100.879,-67.8762],[1207.55,1800,29.0167,91.3361,-65.1997],[1158.18,1898.86,27.7333,80.8053,-61.4383],[1096.73,1999.54,26.15,68.2411,-55.1654]]], - [79,2177.84,[[1803.67,-2000.92,51.25,247.33,-83.905],[1793.13,-1902.94,50.85,245.269,-83.8073],[1782.06,-1801.79,50.4333,243.09,-83.703],[1770.91,-1701.56,50.0167,240.878,-83.596],[1759.68,-1602.27,49.6,238.633,-83.4862],[1747.9,-1500.03,49.1667,236.263,-83.3688],[1736.49,-1402.72,48.75,233.95,-83.2528],[1724.54,-1302.56,48.3167,231.509,-83.1287],[1712.49,-1203.48,47.8833,229.031,-83.0011],[1699.89,-1101.76,47.4333,226.42,-82.8644],[1687.18,-1001.24,46.9833,223.77,-82.7235],[1674.38,-901.951,46.5333,221.08,-82.5781],[1661.01,-800.292,46.0667,218.249,-82.4223],[1648.01,-703.548,45.6167,215.479,-82.267],[1633.94,-601.063,45.1333,212.46,-82.0943],[1619.76,-500.078,44.65,209.396,-81.9152],[1605.48,-400.614,44.1667,206.286,-81.7293],[1591.08,-302.696,43.6833,203.132,-81.5363],[1576.08,-203.051,43.1833,199.821,-81.3285],[1560.45,-101.875,42.6667,196.35,-81.1047],[1544.71,-2.54628,42.15,192.828,-80.871],[1528.33,98.02,41.6167,189.14,-80.6187],[1511.31,199.604,41.0667,185.281,-80.3457],[1494.16,298.998,40.5167,181.367,-80.0588],[1476.35,399.078,39.95,177.276,-79.7476],[1457.88,499.598,39.3667,173.006,-79.409],[1439.26,597.54,38.7833,168.676,-79.0505],[1419.43,698.234,38.1667,164.036,-78.6477],[1398.9,798.558,37.5333,159.205,-78.206],[1377.67,898.217,36.8833,154.179,-77.7199],[1355.17,999.32,36.2,148.827,-77.1691],[1331.95,1098.93,35.5,143.273,-76.557],[1307.43,1198.93,34.7667,137.383,-75.857],[1281.59,1298.63,34,131.152,-75.0513],[1253.86,1399.31,33.1833,124.442,-74.0962],[1224.19,1499.82,32.3167,117.25,-72.9535],[1192.56,1598.92,31.4,109.581,-71.57],[1157.77,1698.46,30.4,101.166,-69.8068],[1118.62,1798.88,29.2833,91.7535,-67.436],[1073.84,1898.87,28.0167,81.1406,-64.0545],[1019.16,1999.81,26.4833,68.5885,-58.5267]]], - [80,2191.74,[[1647.64,-2001.11,51.3667,247.464,-84.4444],[1638.02,-1902.99,50.9667,245.401,-84.3554],[1627.93,-1801.67,50.55,243.219,-84.2604],[1617.76,-1701.29,50.1333,241.005,-84.1629],[1607.51,-1601.84,49.7167,238.757,-84.0627],[1597.18,-1503.36,49.3,236.476,-83.9599],[1586.36,-1401.96,48.8667,234.069,-83.85],[1575.45,-1301.63,48.4333,231.624,-83.737],[1564.46,-1202.38,48,229.144,-83.6206],[1552.96,-1100.48,47.55,226.529,-83.4961],[1541.8,-1003.48,47.1167,223.973,-83.3725],[1529.69,-900.299,46.65,221.18,-83.2351],[1517.93,-802.061,46.2,218.446,-83.0983],[1505.63,-701.515,45.7333,215.568,-82.9515],[1493.24,-602.342,45.2667,212.648,-82.7996],[1480.31,-501.099,44.7833,209.579,-82.6365],[1467.28,-401.375,44.3,206.464,-82.4673],[1454.15,-303.194,43.8167,203.303,-82.2915],[1440.47,-203.275,43.3167,199.986,-82.1023],[1426.22,-101.813,42.8,196.507,-81.8986],[1411.85,-2.19408,42.2833,192.977,-81.6857],[1396.92,98.6739,41.75,189.279,-81.4559],[1381.86,197.516,41.2167,185.528,-81.215],[1366.22,297.294,40.6667,181.604,-80.9541],[1349.98,397.774,40.1,177.502,-80.671],[1333.13,498.71,39.5167,173.219,-80.363],[1315.66,599.844,38.9167,168.75,-80.0273],[1298.07,698.213,38.3167,164.218,-79.6704],[1279.35,799.002,37.6833,159.368,-79.2684],[1259.98,899.142,37.0333,154.321,-78.826],[1239.97,998.323,36.3667,149.075,-78.3372],[1218.79,1098.56,35.6667,143.494,-77.7809],[1196.44,1199.22,34.9333,137.571,-77.1445],[1172.88,1299.62,34.1667,131.302,-76.4116],[1148.11,1399.03,33.3667,124.683,-75.5612],[1121.58,1498.58,32.5167,117.573,-74.5443],[1092.74,1598.81,31.6,109.833,-73.2895],[1061.04,1699.59,30.6,101.324,-71.6884],[1025.88,1799.97,29.5,91.9237,-69.5669],[986.135,1899.26,28.2667,81.4018,-66.5815],[937.939,1999.84,26.7833,68.9328,-61.7503]]], - [81,2204.39,[[1489.76,-2003.96,51.4833,247.64,-84.9892],[1480.72,-1901.6,51.0667,245.489,-84.9056],[1471.6,-1800.16,50.65,243.305,-84.8198],[1462.78,-1703.65,50.25,241.178,-84.7353],[1453.15,-1600.07,49.8167,238.838,-84.6414],[1443.83,-1501.45,49.4,236.554,-84.5486],[1434.43,-1403.8,48.9833,234.237,-84.4533],[1424.58,-1303.29,48.55,231.79,-84.3514],[1414.28,-1200.05,48.1,229.211,-84.2424],[1404.28,-1101.76,47.6667,226.689,-84.1342],[1393.81,-1000.86,47.2167,224.032,-84.0184],[1383.27,-901.188,46.7667,221.334,-83.8989],[1372.64,-802.751,46.3167,218.597,-83.7755],[1361.54,-701.996,45.85,215.715,-83.6432],[1350.36,-602.612,45.3833,212.791,-83.5062],[1338.68,-501.148,44.9,209.717,-83.3592],[1326.91,-401.201,44.4167,206.596,-83.2066],[1315.06,-302.795,43.9333,203.43,-83.0481],[1302.7,-202.641,43.4333,200.106,-82.8775],[1289.84,-100.933,42.9167,196.62,-82.6937],[1276.87,-1.06671,42.4,193.081,-82.5017],[1263.8,96.9296,41.8833,189.492,-82.301],[1249.79,199.162,41.3333,185.614,-82.0771],[1235.66,299.211,40.7833,181.679,-81.8417],[1221,399.972,40.2167,177.565,-81.5863],[1206.22,498.344,39.65,173.392,-81.3166],[1190.45,599.857,39.05,168.909,-81.014],[1174.57,698.61,38.45,164.362,-80.6924],[1157.67,799.807,37.8167,159.495,-80.3302],[1140.64,897.834,37.1833,154.559,-79.9419],[1122.12,999.988,36.5,149.159,-79.4906],[1103.46,1098.34,35.8167,143.686,-79.0013],[1083.28,1199.59,35.0833,137.733,-78.4283],[1062.48,1298.47,34.3333,131.566,-77.7833],[1040.12,1398.65,33.5333,124.906,-77.0188],[1016.18,1499.03,32.6833,117.746,-76.104],[990.631,1598.39,31.7833,110.084,-74.9964],[962.497,1698.68,30.8,101.635,-73.5833],[931.255,1799.04,29.7167,92.2642,-71.711],[895.885,1898.88,28.5,81.7194,-69.0744],[853.386,1999.8,27.05,69.2513,-64.8515]]], - [82,2215.75,[[1329.45,-2001.25,51.5667,247.688,-85.5328],[1321.71,-1902.88,51.1667,245.621,-85.4613],[1313.58,-1801.3,50.75,243.436,-85.3848],[1305.39,-1700.64,50.3333,241.218,-85.3065],[1297.13,-1600.92,49.9167,238.966,-85.226],[1288.81,-1502.16,49.5,236.68,-85.1434],[1280.1,-1400.47,49.0667,234.267,-85.055],[1271.66,-1303.7,48.65,231.912,-84.9677],[1262.47,-1200.3,48.2,229.33,-84.8706],[1253.55,-1101.85,47.7667,226.806,-84.7742],[1244.22,-1000.8,47.3167,224.145,-84.6711],[1234.82,-900.957,46.8667,221.444,-84.5646],[1225.34,-802.354,46.4167,218.703,-84.4547],[1215.44,-701.424,45.95,215.818,-84.3368],[1205.47,-601.865,45.4833,212.889,-84.2148],[1195.06,-500.217,45,209.81,-84.0838],[1184.57,-400.085,44.5167,206.684,-83.9478],[1174,-301.491,44.0333,203.512,-83.8066],[1162.98,-201.141,43.5333,200.181,-83.6546],[1151.88,-102.488,43.0333,196.801,-83.4962],[1140.31,-2.35663,42.5167,193.257,-83.3254],[1128.29,99.0464,41.9833,189.544,-83.1409],[1116.17,198.429,41.45,185.775,-82.9476],[1103.58,298.769,40.9,181.831,-82.738],[1090.51,399.834,40.3333,177.708,-82.5107],[1077.33,498.512,39.7667,173.524,-82.2706],[1063.67,597.561,39.1833,169.155,-82.009],[1049.11,699.436,38.5667,164.468,-81.715],[1034.44,798.353,37.95,159.714,-81.4012],[1018.86,899.366,37.3,154.631,-81.0466],[1002.76,999.451,36.6333,149.343,-80.6548],[986.126,1098.28,35.95,143.847,-80.2197],[968.547,1197.79,35.2333,138.005,-79.7221],[949.596,1299.48,34.4667,131.67,-79.136],[930.083,1398.2,33.6833,125.112,-78.4704],[908.745,1499.32,32.8333,117.907,-77.6576],[885.975,1599.48,31.9333,110.188,-76.6727],[861.327,1699.01,30.9667,101.81,-75.438],[833.915,1799.03,29.9,92.486,-73.8021],[802.832,1899.05,28.7,81.9428,-71.497],[765.839,1999.84,27.2833,69.5249,-67.8465]]], - [83,2225.82,[[1167.59,-2001.27,51.65,247.78,-86.0819],[1160.8,-1902.78,51.25,245.712,-86.0191],[1153.66,-1801.09,50.8333,243.525,-85.9521],[1146.47,-1700.32,50.4167,241.305,-85.8833],[1139.23,-1600.49,50,239.051,-85.8127],[1131.93,-1501.61,49.5833,236.763,-85.7403],[1124.58,-1403.7,49.1667,234.441,-85.6658],[1116.87,-1302.91,48.7333,231.99,-85.5862],[1109.11,-1203.2,48.3,229.502,-85.5042],[1100.98,-1100.81,47.85,226.878,-85.4166],[1093.1,-1003.35,47.4167,224.314,-85.3294],[1084.85,-903.332,46.9667,221.611,-85.2361],[1076.23,-800.914,46.5,218.765,-85.1362],[1067.85,-703.431,46.05,215.98,-85.0366],[1058.78,-600.145,45.5667,212.942,-84.9258],[1049.96,-501.835,45.1,209.965,-84.815],[1040.76,-401.501,44.6167,206.836,-84.6958],[1031.48,-302.704,44.1333,203.66,-84.5721],[1021.81,-202.142,43.6333,200.325,-84.4389],[1011.75,-100.008,43.1167,196.826,-84.2953],[1001.93,-2.91841,42.6167,193.39,-84.1504],[991.377,98.7183,42.0833,189.67,-83.9888],[980.744,198.337,41.55,185.895,-83.8193],[969.695,298.923,41,181.943,-83.6358],[958.562,397.297,40.45,177.933,-83.4425],[946.664,499.179,39.8667,173.617,-83.226],[934.674,598.496,39.2833,169.236,-82.9967],[922.247,697.934,38.6833,164.665,-82.7461],[909.029,799.862,38.05,159.768,-82.4638],[895.709,898.627,37.4167,154.8,-82.1611],[881.58,999.118,36.75,149.495,-81.8181],[866.987,1098.37,36.0667,143.98,-81.4371],[851.566,1198.33,35.35,138.115,-81.0013],[835.303,1298.32,34.6,131.891,-80.4996],[817.82,1399.71,33.8,125.161,-79.9045],[799.468,1499.44,32.9667,118.058,-79.2065],[779.864,1598.51,32.0833,110.434,-78.3616],[758.245,1698.96,31.1167,101.993,-77.283],[734.202,1799.99,30.05,92.5826,-75.8522],[707.318,1899.86,28.8667,82.063,-73.8637],[676.023,1998.95,27.5,69.8865,-70.7966]]], - [84,2234.59,[[1004.28,-2003.98,51.7333,247.915,-86.6355],[998.196,-1901.29,51.3167,245.76,-86.5793],[992.31,-1803.57,50.9167,243.659,-86.524],[986.132,-1702.67,50.5,241.439,-86.465],[979.906,-1602.72,50.0833,239.184,-86.4045],[973.634,-1503.71,49.6667,236.895,-86.3422],[967.06,-1401.77,49.2333,234.478,-86.2757],[960.436,-1300.89,48.8,232.025,-86.2073],[953.761,-1201.09,48.3667,229.534,-86.1369],[947.035,-1102.38,47.9333,227.005,-86.0643],[939.998,-1001.04,47.4833,224.339,-85.9867],[932.906,-900.927,47.0333,221.633,-85.9065],[925.761,-802.044,46.5833,218.886,-85.8237],[918.294,-700.822,46.1167,215.993,-85.735],[910.771,-600.967,45.65,213.057,-85.6431],[903.19,-502.5,45.1833,210.077,-85.5479],[895.279,-402.003,44.7,206.944,-85.4456],[887.307,-303.04,44.2167,203.764,-85.3394],[878.998,-202.305,43.7167,200.425,-85.225],[870.626,-103.263,43.2167,197.035,-85.1059],[861.908,-2.72537,42.7,193.48,-84.9774],[852.84,99.101,42.1667,189.754,-84.8386],[843.702,198.911,41.6333,185.972,-84.6931],[834.206,299.697,41.0833,182.013,-84.5354],[824.638,398.272,40.5333,177.995,-84.3695],[814.705,497.487,39.9667,173.794,-84.189],[804.108,599.903,39.3667,169.279,-83.9866],[793.428,699.566,38.7667,164.696,-83.7713],[782.367,799.086,38.15,159.917,-83.5353],[770.921,898.176,37.5167,154.936,-83.2757],[758.781,999.014,36.85,149.617,-82.9814],[746.242,1098.63,36.1667,144.084,-82.6545],[732.99,1198.96,35.45,138.199,-82.2806],[719.015,1299.36,34.7,131.951,-81.85],[704.306,1399.11,33.9167,125.333,-81.3502],[688.539,1499.41,33.0833,118.196,-80.7521],[671.696,1599.09,32.2,110.53,-80.0276],[653.443,1698.54,31.25,102.181,-79.1194],[633.111,1798.98,30.2,92.8462,-77.9152],[610.345,1898.72,29.0333,82.3722,-76.2424],[583.466,1999.43,27.6667,70.0289,-73.6237]]], - [85,2242.03,[[839.195,-2001.19,51.7833,247.924,-87.1891],[834.314,-1902.54,51.3833,245.854,-87.144],[829.191,-1800.66,50.9667,243.664,-87.0961],[824.236,-1703.73,50.5667,241.531,-87.0487],[819.035,-1603.68,50.15,239.275,-86.9981],[813.585,-1500.63,49.7167,236.893,-86.9441],[808.304,-1402.53,49.3,234.567,-86.8907],[802.77,-1301.55,48.8667,232.112,-86.8336],[797.194,-1201.64,48.4333,229.619,-86.7748],[791.576,-1102.82,48,227.089,-86.7142],[785.697,-1001.38,47.55,224.421,-86.6493],[779.772,-901.15,47.1,221.713,-86.5825],[773.803,-802.154,46.65,218.963,-86.5133],[767.566,-700.812,46.1833,216.069,-86.4393],[761.282,-600.837,45.7167,213.13,-86.3626],[754.949,-502.249,45.25,210.147,-86.2831],[748.34,-401.625,44.7667,207.01,-86.1977],[741.681,-302.535,44.2833,203.826,-86.1091],[734.739,-201.666,43.7833,200.483,-86.0135],[727.745,-102.489,43.2833,197.089,-85.9141],[720.462,-1.8105,42.7667,193.529,-85.8068],[713.124,97.0061,42.25,189.915,-85.6946],[705.492,197.028,41.7167,186.128,-85.5733],[697.561,298.033,41.1667,182.165,-85.4418],[689.327,399.79,40.6,178.018,-85.2991],[681.029,499.166,40.0333,173.809,-85.1484],[672.422,598.941,39.45,169.411,-84.9841],[663.502,698.855,38.85,164.82,-84.8046],[654.264,798.634,38.2333,160.031,-84.6078],[644.704,897.993,37.6,155.04,-84.3913],[634.564,999.117,36.9333,149.707,-84.1458],[624.091,1099.03,36.25,144.161,-83.8731],[613.022,1199.67,35.5333,138.257,-83.561],[601.61,1298.21,34.8,132.129,-83.21],[589.326,1398.42,34.0167,125.489,-82.7937],[576.158,1499.22,33.1833,118.324,-82.2953],[562.092,1599.43,32.3,110.622,-81.6915],[546.848,1699.46,31.35,102.228,-80.934],[530.139,1799.01,30.3167,92.9804,-79.9463],[511.128,1899.64,29.15,82.4192,-78.5523],[489.232,1999.14,27.8167,70.241,-76.4269]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 720.462; -_maxRange = 4139.07; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg5.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg5.sqf deleted file mode 100644 index 495ec7cf72..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg5.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_he_pd_chg5 -// Ammo: ace_arty_82mm_he_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1421.82,[[6087.45,-2001.98,44.4667,244.554,-66.2851],[6043.01,-1901.78,44.0167,242.543,-65.8641],[5998.21,-1802.74,43.5667,240.512,-65.4324],[5951.35,-1701.28,43.1,238.385,-64.9731],[5904.1,-1601.1,42.6333,236.238,-64.5015],[5856.45,-1502.22,42.1667,234.071,-64.0172],[5806.68,-1401.21,41.6833,231.807,-63.5017],[5756.48,-1301.64,41.2,229.524,-62.9715],[5704.11,-1200.17,40.7,227.143,-62.4069],[5651.29,-1100.29,40.2,224.743,-61.8253],[5598.01,-1002.01,39.7,222.326,-61.2261],[5542.49,-902.174,39.1833,219.812,-60.5876],[5484.67,-800.967,38.65,217.201,-59.9069],[5426.33,-701.67,38.1167,214.576,-59.2035],[5365.65,-601.298,37.5667,211.856,-58.4533],[5302.56,-500.071,37,209.042,-57.6527],[5238.9,-401.093,36.4333,206.22,-56.8228],[5172.78,-301.589,35.85,203.31,-55.9365],[5104.15,-201.802,35.25,200.314,-54.9894],[5032.95,-101.988,34.6333,197.238,-53.9767],[4959.15,-2.41372,34,194.087,-52.8931],[4880.72,99.1378,33.3333,190.785,-51.7027],[4799.53,199.703,32.65,187.424,-50.4267],[4715.55,298.967,31.95,184.014,-49.0581],[4626.68,398.823,31.2167,180.49,-47.5542],[4532.81,498.625,30.45,176.87,-45.9016],[4431.76,599.696,29.6333,173.103,-44.0464],[4325.42,699.063,28.7833,169.302,-42.0069],[4209.44,799.458,27.8667,165.367,-39.6782],[4083.53,899.227,26.8833,161.37,-37.0258],[3943.06,999.49,25.8,157.287,-33.914],[3783.12,1099.83,24.5833,153.173,-30.1807],[3596.26,1198.95,23.1833,149.172,-25.5803],[3353.92,1299.4,21.4,145.417,-19.2898],[2947.19,1399.84,18.4833,143.168,-8.24314],[2643.83,1421.82,16.3667,144.997,-0.00181844]]], - [46,1468.48,[[6038.48,-2000.63,44.9167,244.972,-66.8139],[5996.53,-1903.56,44.4833,243.027,-66.4178],[5950.97,-1800.22,44.0167,240.91,-65.9805],[5906.67,-1701.77,43.5667,238.848,-65.5478],[5860.34,-1600.92,43.1,236.689,-65.0872],[5813.62,-1501.37,42.6333,234.51,-64.6142],[5766.52,-1403.14,42.1667,232.31,-64.1283],[5717.32,-1302.81,41.6833,230.012,-63.6108],[5665.99,-1200.54,41.1833,227.614,-63.0598],[5615.95,-1103.18,40.7,225.277,-62.5113],[5562,-1000.76,40.1833,222.76,-61.907],[5507.57,-900.066,39.6667,220.224,-61.2835],[5452.67,-801.133,39.15,217.671,-60.6399],[5395.5,-700.877,38.6167,215.019,-59.9535],[5337.84,-602.549,38.0833,212.354,-59.2437],[5276.02,-500.216,37.5167,209.508,-58.463],[5213.66,-400.121,36.95,206.652,-57.6534],[5150.73,-302.297,36.3833,203.787,-56.8136],[5083.51,-201.229,35.7833,200.749,-55.8901],[5013.77,-100.084,35.1667,197.625,-54.9022],[4943.38,-1.74743,34.55,194.505,-53.8731],[4868.5,98.8209,33.9,191.226,-52.7415],[4790.95,198.632,33.2333,187.879,-51.5285],[4708.74,299.744,32.5333,184.392,-50.1947],[4623.73,399.29,31.8167,180.861,-48.7621],[4533.86,499.098,31.0667,177.219,-47.1863],[4439.04,598.5,30.2833,173.487,-45.4527],[4337.07,698.735,29.45,169.619,-43.5051],[4227.8,798.684,28.5667,165.656,-41.319],[4108.91,898.831,27.6167,161.585,-38.8223],[3978.02,998.982,26.5833,157.423,-35.9294],[3830.44,1099.51,25.4333,153.181,-32.4881],[3661.23,1199.04,24.1333,148.973,-28.3174],[3451.75,1299.68,22.55,144.847,-22.854],[3159.14,1399.98,20.3833,141.332,-14.7956],[2636.37,1468.48,16.6333,142.233,-0.0169416]]], - [47,1515.01,[[5985.86,-2000.76,45.3667,245.424,-67.3464],[5944.73,-1903.12,44.9333,243.47,-66.9596],[5901.68,-1802.86,44.4833,241.42,-66.548],[5856.65,-1700.11,44.0167,239.271,-66.1099],[5812.86,-1602.23,43.5667,237.179,-65.6764],[5767.08,-1502,43.1,234.987,-65.2148],[5720.94,-1403.08,42.6333,232.775,-64.7406],[5672.73,-1302.02,42.15,230.462,-64.2355],[5624.12,-1202.4,41.6667,228.128,-63.7159],[5573.4,-1100.89,41.1667,225.693,-63.1622],[5522.24,-1000.97,40.6667,223.239,-62.5916],[5470.65,-902.664,40.1667,220.765,-62.0032],[5416.89,-802.8,39.65,218.19,-61.3759],[5360.9,-701.573,39.1167,215.514,-60.7068],[5304.42,-602.263,38.5833,212.822,-60.0148],[5245.67,-501.885,38.0333,210.031,-59.2761],[5184.6,-400.658,37.4667,207.142,-58.4871],[5122.98,-301.69,36.9,204.242,-57.6686],[5058.99,-202.205,36.3167,201.248,-56.7936],[4992.56,-102.447,35.7167,198.165,-55.8575],[4921.8,-0.0148611,35.0833,194.91,-54.8278],[4850.37,99.4279,34.45,191.659,-53.7532],[4776.37,198.334,33.8,188.335,-52.6011],[4697.83,298.817,33.1167,184.859,-51.3333],[4616.6,397.981,32.4167,181.328,-49.9712],[4528.69,499.933,31.6667,177.59,-48.437],[4437.91,599.49,30.9,173.83,-46.7841],[4342.19,698.274,30.1,169.989,-44.9635],[4237.39,799.323,29.2333,165.946,-42.875],[4125.28,899.346,28.3167,161.83,-40.5285],[4003.61,998.684,27.3333,157.636,-37.8472],[3865.81,1099.89,26.2333,153.269,-34.6403],[3711.32,1199.43,25.0167,148.918,-30.834],[3526.58,1299.7,23.5833,144.56,-26.006],[3288.24,1399.83,21.7667,140.466,-19.3955],[2868.47,1499.72,18.65,137.976,-7.13159],[2626.69,1515.01,16.9,139.448,-0.051406]]], - [48,1561.35,[[5929.53,-2002.44,45.8167,245.91,-67.8822],[5887.7,-1900.47,45.3667,243.872,-67.4902],[5847.08,-1803.36,44.9333,241.889,-67.1033],[5804.56,-1703.64,44.4833,239.809,-66.6913],[5760.1,-1601.48,44.0167,237.628,-66.2528],[5715.26,-1500.6,43.55,235.425,-65.8023],[5670.05,-1401.01,43.0833,233.2,-65.3395],[5624.46,-1302.75,42.6167,230.953,-64.8638],[5576.85,-1202.39,42.1333,228.605,-64.357],[5527.18,-1100.11,41.6333,226.154,-63.817],[5478.76,-1002.73,41.15,223.764,-63.2792],[5426.55,-900.299,40.6333,221.188,-62.6864],[5375.6,-802.826,40.1333,218.676,-62.0944],[5320.78,-700.674,39.6,215.976,-61.4421],[5265.49,-600.429,39.0667,213.259,-60.7673],[5209.71,-502.117,38.5333,210.525,-60.0691],[5151.69,-402.788,37.9833,207.691,-59.3234],[5091.39,-302.662,37.4167,204.757,-58.5264],[5028.75,-201.971,36.8333,201.726,-57.6742],[4963.74,-100.959,36.2333,198.601,-56.7623],[4898.14,-2.57773,35.6333,195.472,-55.8126],[4828.26,98.3746,35,192.169,-54.7671],[4755.87,198.847,34.35,188.785,-53.6456],[4680.92,298.546,33.6833,185.328,-52.4416],[4601.46,399.526,32.9833,181.721,-51.1156],[4519.31,498.92,32.2667,178.063,-49.6888],[4432.49,598.552,31.5167,174.284,-48.1164],[4338.93,699.807,30.7167,170.323,-46.3449],[4240.43,799.689,29.8833,166.296,-44.3902],[4134.89,899.239,29,162.16,-42.1903],[4020.1,998.925,28.05,157.898,-39.67],[3893.75,1098.54,27.0167,153.527,-36.7397],[3749.26,1199.79,25.85,148.989,-33.1877],[3583.89,1299.52,24.5333,144.477,-28.8665],[3379.71,1399.58,22.9333,140.035,-23.186],[3088.85,1499.69,20.7,136.149,-14.5814],[2612.49,1561.35,17.15,136.664,-0.0379401]]], - [49,1607.47,[[5867.99,-2001.91,46.25,246.354,-68.4073],[5828.55,-1903.15,45.8167,244.385,-68.0392],[5787.26,-1801.71,45.3667,242.318,-67.6473],[5745.62,-1701.42,44.9167,240.227,-67.2453],[5703.65,-1602.29,44.4667,238.115,-66.8329],[5659.75,-1500.75,44,235.901,-66.3937],[5615.49,-1400.5,43.5333,233.664,-65.9424],[5570.86,-1301.57,43.0667,231.405,-65.4785],[5524.25,-1200.5,42.5833,229.042,-64.9843],[5477.25,-1100.89,42.1,226.658,-64.4754],[5429.86,-1002.74,41.6167,224.251,-63.9514],[5380.42,-902.779,41.1167,221.741,-63.3926],[5328.89,-801.186,40.6,219.125,-62.7966],[5276.92,-701.347,40.0833,216.489,-62.1809],[5222.81,-600.154,39.55,213.747,-61.5237],[5168.23,-500.884,39.0167,210.987,-60.8435],[5111.45,-400.555,38.4667,208.124,-60.1169],[5054.18,-302.332,37.9167,205.246,-59.3634],[4992.9,-200.49,37.3333,202.179,-58.5334],[4931.07,-101.085,36.75,199.102,-57.6702],[4866.9,-1.42079,36.15,195.929,-56.7457],[4800.35,98.2461,35.5333,192.665,-55.755],[4731.38,197.645,34.9,189.314,-54.6922],[4658.1,298.987,34.2333,185.794,-53.5212],[4582.26,399.309,33.55,182.203,-52.2622],[4503.83,498.293,32.85,178.55,-50.9073],[4420.87,597.821,32.1167,174.762,-49.413],[4331.35,699.354,31.3333,170.773,-47.7273],[4237.06,799.868,30.5167,166.696,-45.8654],[4137.87,898.608,29.6667,162.563,-43.8081],[4029.74,998.272,28.75,158.261,-41.4455],[3910.42,1098.8,27.75,153.791,-38.6894],[3777.54,1199.34,26.65,149.2,-35.4334],[3626.58,1299.36,25.4167,144.542,-31.4968],[3446.48,1399.47,23.9667,139.865,-26.4843],[3210.52,1499.99,22.1,135.383,-19.4644],[2760.18,1599.81,18.6333,132.754,-5.23886],[2596.13,1607.47,17.4,133.856,-0.0435683]]], - [50,1653.3,[[5802.78,-2003.04,46.6833,246.833,-68.9361],[5764.19,-1903.73,46.25,244.857,-68.5772],[5723.78,-1801.7,45.8,242.781,-68.1952],[5683.04,-1700.82,45.35,240.682,-67.8033],[5641.96,-1601.1,44.9,238.56,-67.4012],[5600.54,-1502.56,44.45,236.416,-66.9885],[5557.24,-1401.64,43.9833,234.168,-66.5489],[5513.58,-1302.02,43.5167,231.898,-66.097],[5467.98,-1200.24,43.0333,229.522,-65.6155],[5423.58,-1103.33,42.5667,227.206,-65.1371],[5375.62,-1001.02,42.0667,224.701,-64.6091],[5327.25,-900.289,41.5667,222.173,-64.0645],[5278.46,-801.173,41.0667,219.623,-63.5027],[5227.63,-700.469,40.55,216.966,-62.9031],[5176.36,-601.535,40.0333,214.288,-62.2833],[5122.98,-501.292,39.5,211.504,-61.6214],[5069.14,-402.991,38.9667,208.701,-60.936],[5011.44,-300.703,38.4,205.706,-60.1806],[4953.23,-200.67,37.8333,202.694,-59.396],[4892.77,-100.085,37.25,199.58,-58.5561],[4831.78,-1.96095,36.6667,196.455,-57.6818],[4766.72,99.0561,36.05,193.145,-56.7183],[4699.29,199.857,35.4167,189.743,-55.6842],[4631.25,297.629,34.7833,186.343,-54.6026],[4557.14,399.672,34.1,182.685,-53.3792],[4482.34,498.085,33.4167,179.045,-52.0938],[4401.28,599.599,32.6833,175.17,-50.6413],[4317.56,698.965,31.9333,171.252,-49.0728],[4227.35,799.916,31.1333,167.139,-47.3015],[4132.41,899.457,30.3,162.948,-45.3421],[4030.71,998.619,29.4167,158.634,-43.1304],[3918.16,1099.53,28.45,154.1,-40.5422],[3794.46,1199.99,27.4,149.445,-37.5224],[3657.29,1298.92,26.25,144.74,-33.9564],[3494.03,1399.98,24.9,139.85,-29.4196],[3295.44,1499.22,23.2833,135.09,-23.5022],[3002.96,1599.69,20.95,130.799,-14.1601],[2577.58,1653.3,17.65,131.026,-0.0697392]]], - [51,1698.81,[[5732.41,-2002.04,47.1,247.269,-69.455],[5694.66,-1902.2,46.6667,245.286,-69.1052],[5656.6,-1803.4,46.2333,243.28,-68.7468],[5616.76,-1701.92,45.7833,241.174,-68.3652],[5576.59,-1601.6,45.3333,239.043,-67.9735],[5536.09,-1502.45,44.8833,236.889,-67.5716],[5493.74,-1400.88,44.4167,234.631,-67.1434],[5451.04,-1300.61,43.95,232.349,-66.7031],[5407.99,-1201.66,43.4833,230.043,-66.2505],[5363.02,-1100.58,43,227.631,-65.7679],[5317.69,-1000.96,42.5167,225.195,-65.2708],[5271.97,-902.816,42.0333,222.736,-64.7586],[5224.29,-802.859,41.5333,220.169,-64.2121],[5174.59,-701.277,41.0167,217.493,-63.6289],[5124.48,-601.455,40.5,214.794,-63.0259],[5072.3,-500.287,39.9667,211.987,-62.3819],[5019.67,-401.05,39.4333,209.159,-61.7148],[4964.92,-300.763,38.8833,206.223,-61.0016],[4909.71,-202.59,38.3333,203.27,-60.2613],[4850.64,-100.81,37.75,200.121,-59.4452],[4791.04,-1.4768,37.1667,196.959,-58.5954],[4729.19,98.1035,36.5667,193.696,-57.6843],[4665.06,197.673,35.95,190.336,-56.7066],[4596.83,299.531,35.3,186.792,-55.6282],[4527.98,398.169,34.65,183.252,-54.4978],[4454.93,498.341,33.9667,179.543,-53.2499],[4377.57,599.461,33.25,175.675,-51.8715],[4297.65,698.698,32.5167,171.753,-50.3829],[4211.44,799.897,31.7333,167.616,-48.6997],[4122.5,898.051,30.9333,163.466,-46.8752],[4025.15,998.367,30.0667,159.077,-44.7708],[3919.16,1099.3,29.1333,154.507,-42.3469],[3804.32,1199.13,28.1333,149.832,-39.558],[3676.47,1298.87,27.0333,145.013,-36.2496],[3529.31,1399.18,25.7833,140.04,-32.1739],[3352.12,1499.92,24.3,134.985,-26.8995],[3121.21,1599.41,22.4,130.159,-19.4938],[2554.72,1698.81,17.8833,128.192,-0.0449828]]], - [52,1743.94,[[5658.37,-2002.8,47.5167,247.739,-69.978],[5621.47,-1902.43,47.0833,245.75,-69.6373],[5584.27,-1803.09,46.65,243.738,-69.2883],[5545.32,-1701.04,46.2,241.623,-68.9166],[5506.05,-1600.15,45.75,239.485,-68.5352],[5466.46,-1500.42,45.3,237.321,-68.1437],[5426.55,-1401.87,44.85,235.134,-67.7418],[5384.82,-1300.95,44.3833,232.842,-67.3134],[5342.75,-1201.33,43.9167,230.525,-66.8728],[5300.33,-1103.04,43.45,228.183,-66.4196],[5256.03,-1002.66,42.9667,225.734,-65.9363],[5209.82,-900.366,42.4667,223.175,-65.4207],[5164.77,-802.995,41.9833,220.677,-64.9067],[5116.22,-700.579,41.4667,217.983,-64.3394],[5068.83,-603.133,40.9667,215.352,-63.7721],[5017.86,-501.025,40.4333,212.523,-63.1462],[4966.45,-400.837,39.9,209.671,-62.4978],[4914.6,-302.598,39.3667,206.799,-61.8257],[4859.03,-200.386,38.8,203.726,-61.0844],[4802.97,-100.437,38.2333,200.635,-60.3137],[4746.43,-2.78695,37.6667,197.529,-59.5119],[4686.04,98.0668,37.0667,194.226,-58.6272],[4623.41,198.959,36.45,190.821,-57.6775],[4558.5,299.619,35.8167,187.317,-56.657],[4491.28,399.765,35.1667,183.721,-55.5592],[4421.7,499.1,34.5,180.038,-54.377],[4347.95,599.666,33.8,176.187,-53.0704],[4271.73,698.602,33.0833,172.269,-51.659],[4189.4,799.868,32.3167,168.12,-50.0614],[4104.45,898.378,31.5333,163.941,-48.3289],[4011.32,999.519,30.6833,159.495,-46.3271],[3911.68,1099.98,29.7833,154.917,-44.0601],[3805.34,1198.52,28.8333,150.264,-41.4923],[3684.57,1299.83,27.7667,145.312,-38.3826],[3550.84,1399.14,26.6,140.299,-34.694],[3392.07,1499.97,25.2333,135.086,-29.9812],[3195.42,1599.86,23.5667,129.915,-23.672],[2900.44,1699.71,21.1167,125.255,-13.432],[2529.75,1743.93,18.1167,125.334,-0.0407228]]], - [53,1788.64,[[5579.25,-2001.48,47.9167,248.167,-70.492],[5543.2,-1900.61,47.4833,246.171,-70.1603],[5506.85,-1800.76,47.05,244.152,-69.8205],[5470.22,-1701.96,46.6167,242.109,-69.4721],[5431.86,-1600.49,46.1667,239.963,-69.1011],[5393.19,-1500.17,45.7167,237.791,-68.7202],[5354.2,-1401.03,45.2667,235.595,-68.3291],[5314.9,-1303.08,44.8167,233.375,-67.9273],[5273.81,-1202.78,44.35,231.047,-67.4991],[5230.9,-1100.3,43.8667,228.61,-67.0425],[5189.13,-1002.72,43.4,226.232,-66.5885],[5145.51,-903.08,42.9167,223.745,-66.1042],[5100.01,-801.567,42.4167,221.146,-65.5874],[5054.12,-701.661,41.9167,218.521,-65.0538],[5006.3,-600.138,41.4,215.784,-64.4839],[4958.08,-500.383,40.8833,213.023,-63.8943],[4909.46,-402.422,40.3667,210.238,-63.2841],[4857.25,-300.139,39.8167,207.251,-62.6108],[4806.2,-202.954,39.2833,204.333,-61.9332],[4751.49,-101.88,38.7167,201.212,-61.1854],[4694.67,-0.222012,38.1333,197.98,-60.3838],[4637.36,98.9784,37.55,194.731,-59.5483],[4577.89,198.411,36.95,191.377,-58.6515],[4516.22,297.817,36.3333,187.92,-57.6879],[4450.64,399.489,35.6833,184.27,-56.6234],[4384.46,497.926,35.0333,180.62,-55.5059],[4314.24,597.872,34.35,176.792,-54.2701],[4239.91,698.738,33.6333,172.795,-52.9025],[4161.36,799.893,32.8833,168.643,-51.3877],[4080.29,898.575,32.1167,164.447,-49.7448],[3993.08,998.361,31.3,160.048,-47.8823],[3899.58,1098.15,30.4333,155.483,-45.7702],[3797.81,1198.48,29.5,150.718,-43.3291],[3685.72,1299.22,28.4833,145.751,-40.4604],[3561.14,1399.42,27.3667,140.627,-37.0428],[3418.02,1499.64,26.1,135.337,-32.8133],[3246.12,1599.51,24.6,129.959,-27.3129],[3014.9,1699.67,22.6167,124.682,-19.2686],[2502.66,1788.64,18.35,122.452,-0.0583976]]], - [54,1832.87,[[5496.48,-2002.05,48.3167,248.628,-71.0103],[5461.29,-1900.66,47.8833,246.627,-70.6877],[5425.81,-1800.29,47.45,244.602,-70.3571],[5390.04,-1700.97,47.0167,242.553,-70.0183],[5353.98,-1602.7,46.5833,240.479,-69.6709],[5316.24,-1501.79,46.1333,238.3,-69.3007],[5278.19,-1402.04,45.6833,236.096,-68.9206],[5239.83,-1303.48,45.2333,233.866,-68.5302],[5199.72,-1202.54,44.7667,231.528,-68.1139],[5159.29,-1102.92,44.3,229.165,-67.6856],[5117.06,-1001.15,43.8167,226.69,-67.2288],[5074.49,-900.823,43.3333,224.188,-66.7579],[5031.56,-801.974,42.85,221.661,-66.2724],[4986.78,-701.289,42.35,219.021,-65.7541],[4941.63,-602.226,41.85,216.355,-65.2186],[4894.58,-501.591,41.3333,213.575,-64.6463],[4847.14,-402.74,40.8167,210.77,-64.054],[4797.75,-302.598,40.2833,207.85,-63.4205],[4746.39,-201.376,39.7333,204.815,-62.7424],[4694.58,-102.266,39.1833,201.758,-62.0378],[4640.75,-2.39204,38.6167,198.587,-61.2828],[4584.85,98.0087,38.0333,195.305,-60.4728],[4526.85,198.69,37.4333,191.911,-59.6031],[4466.71,299.392,36.8167,188.41,-58.6683],[4404.39,399.843,36.1833,184.804,-57.6624],[4339.85,499.76,35.5333,181.099,-56.5787],[4273.06,598.845,34.8667,177.301,-55.4096],[4202.28,699.131,34.1667,173.324,-54.1151],[4129.13,797.764,33.45,169.274,-52.714],[4050.14,898.682,32.6833,164.978,-51.1243],[3966.9,998.849,31.8833,160.552,-49.3579],[3877.57,1099.44,31.0333,155.935,-47.3523],[3781.99,1199.29,30.1333,151.17,-45.0732],[3678.24,1298.79,29.1667,146.231,-42.4347],[3562.45,1399.13,28.1,141.053,-39.2787],[3430.61,1499.97,26.9,135.651,-35.4037],[3278.46,1599.02,25.5333,130.177,-30.5564],[3084.43,1699.18,23.8167,124.581,-23.818],[2778.68,1799.65,21.1667,119.487,-12.1981],[2471.46,1832.87,18.5667,119.563,-0.0217686]]], - [55,1876.58,[[5408.71,-2000.6,48.7,249.046,-71.5206],[5375.7,-1902.62,48.2833,247.118,-71.2191],[5341.09,-1801.73,47.85,245.087,-70.8979],[5306.2,-1701.88,47.4167,243.032,-70.5687],[5271.03,-1603.07,46.9833,240.952,-70.2312],[5234.21,-1501.58,46.5333,238.765,-69.8715],[5197.09,-1401.27,46.0833,236.553,-69.5022],[5159.67,-1302.13,45.6333,234.315,-69.1227],[5120.55,-1200.59,45.1667,231.967,-68.7182],[5081.1,-1100.35,44.7,229.592,-68.3019],[5041.33,-1001.44,44.2333,227.191,-67.8734],[4999.81,-900.421,43.75,224.677,-67.4162],[4957.94,-800.865,43.2667,222.136,-66.9448],[4915.73,-702.796,42.7833,219.569,-66.4584],[4871.7,-602.933,42.2833,216.887,-65.9388],[4825.83,-501.461,41.7667,214.089,-65.3836],[4779.57,-401.764,41.25,211.264,-64.8087],[4731.41,-300.74,40.7167,208.322,-64.1938],[4682.84,-201.663,40.1833,205.355,-63.5558],[4632.34,-101.559,39.6333,202.272,-62.8724],[4579.85,-0.65138,39.0667,199.071,-62.1399],[4526.92,97.9605,38.5,195.85,-61.3769],[4470.39,199.833,37.9,192.419,-60.5338],[4413.35,299.056,37.3,188.972,-59.6523],[4354.22,398.232,36.6833,185.416,-58.7039],[4291.34,499.647,36.0333,181.658,-57.6547],[4227.89,597.813,35.3833,177.898,-56.5513],[4158.94,699.841,34.6833,173.852,-55.2983],[4089.35,797.986,33.9833,169.82,-53.9735],[4014.08,898.771,33.2333,165.526,-52.4688],[3934.72,999.133,32.45,161.086,-50.7958],[3851.16,1098.35,31.6333,156.522,-48.9331],[3759.87,1199.36,30.75,151.688,-46.7718],[3662.39,1298.85,29.8167,146.728,-44.31],[3555.06,1398.62,28.8,141.544,-41.4046],[3434.02,1499.11,27.6667,136.105,-37.8719],[3295.25,1599.03,26.3833,130.488,-33.4768],[3125.28,1699.72,24.8333,124.665,-27.5954],[2892.89,1799.94,22.75,118.939,-18.7538],[2438.22,1876.58,18.7833,116.649,-0.00695619]]], - [56,1919.71,[[5317.3,-2001.13,49.0833,249.499,-72.0355],[5285.12,-1902.69,48.6667,247.565,-71.7426],[5251.38,-1801.3,48.2333,245.53,-71.4307],[5217.36,-1700.94,47.8,243.468,-71.1109],[5183.08,-1601.62,47.3667,241.381,-70.783],[5148.52,-1503.36,46.9333,239.269,-70.4467],[5112.34,-1402.46,46.4833,237.05,-70.0882],[5075.87,-1302.74,46.0333,234.804,-69.7199],[5037.74,-1200.57,45.5667,232.447,-69.3273],[5000.67,-1103.29,45.1167,230.148,-68.9379],[4960.53,-1000.18,44.6333,227.65,-68.5073],[4921.46,-901.975,44.1667,225.211,-68.079],[4880.66,-801.7,43.6833,222.658,-67.6217],[4839.52,-702.904,43.2,220.077,-67.1499],[4796.62,-602.281,42.7,217.38,-66.6459],[4751.92,-500.016,42.1833,214.564,-66.1073],[4708.29,-402.731,41.6833,211.812,-65.5678],[4661.37,-300.81,41.15,208.849,-64.9718],[4614.06,-200.826,40.6167,205.86,-64.3533],[4566.35,-102.807,40.0833,202.845,-63.7111],[4515.22,-0.848343,39.5167,199.617,-63.0016],[4463.66,98.8261,38.95,196.365,-62.2623],[4410.12,199.01,38.3667,192.996,-61.4683],[4354.58,299.456,37.7667,189.51,-60.6149],[4296.99,399.903,37.15,185.911,-59.6962],[4238.9,497.481,36.5333,182.3,-58.7329],[4175.54,599.695,35.8667,178.387,-57.638],[4111.6,698.457,35.2,174.472,-56.4835],[4043.86,798.385,34.5,170.368,-55.2027],[3972.24,898.867,33.7667,166.086,-53.78],[3896.64,999.247,33,161.642,-52.1975],[3817,1098.83,32.2,157.056,-50.4344],[3731.55,1198.76,31.35,152.264,-48.4259],[3638.45,1299.65,30.4333,147.217,-46.0913],[3537.52,1399.83,29.45,141.986,-43.3769],[3426.82,1498.91,28.3833,136.582,-40.1675],[3299.06,1599.57,27.1667,130.854,-36.1471],[3148.34,1699.9,25.75,124.923,-30.959],[2955.72,1799.91,23.9667,118.89,-23.652],[2628.39,1899.98,21,113.456,-9.88585],[2402.94,1919.71,19,113.708,-0.0161863]]], - [57,1962.24,[[5222.25,-2003.7,49.4667,249.985,-72.5545],[5189.64,-1900.83,49.0333,247.97,-72.2589],[5158.04,-1802.88,48.6167,246.007,-71.9678],[5124.91,-1702,48.1833,243.941,-71.6575],[5091.52,-1602.17,47.75,241.848,-71.3394],[5057.86,-1503.38,47.3167,239.73,-71.0131],[5022.62,-1401.93,46.8667,237.503,-70.6653],[4987.1,-1301.65,46.4167,235.249,-70.3079],[4951.29,-1202.55,45.9667,232.968,-69.9407],[4913.85,-1101.06,45.5,230.574,-69.549],[4876.1,-1000.87,45.0333,228.152,-69.1458],[4838.05,-902.023,44.5667,225.703,-68.7305],[4798.32,-801.068,44.0833,223.137,-68.2871],[4758.27,-701.584,43.6,220.543,-67.8297],[4716.49,-600.241,43.1,217.831,-67.3409],[4674.36,-500.521,42.6,215.089,-66.8356],[4631.89,-402.446,42.1,212.321,-66.3129],[4587.64,-302.855,41.5833,209.432,-65.7537],[4541.58,-201.949,41.05,206.421,-65.155],[4495.14,-102.999,40.5167,203.384,-64.5333],[4445.37,-0.0393376,39.95,200.129,-63.8461],[4396.66,97.7182,39.4,196.945,-63.1515],[4344.56,199.025,38.8167,193.543,-62.3833],[4292,297.852,38.2333,190.12,-61.5807],[4235.97,399.588,37.6167,186.48,-60.6924],[4179.44,498.469,37,182.824,-59.7606],[4119.33,599.559,36.35,178.958,-58.7281],[4057.13,699.847,35.6833,174.985,-57.6117],[3992.79,799.023,35,170.913,-56.4029],[3924.71,899.041,34.2833,166.652,-55.0595],[3852.79,999.267,33.5333,162.214,-53.5644],[3776.97,1099.02,32.75,157.618,-51.8977],[3695.53,1199.53,31.9167,152.791,-49.9969],[3608.34,1299.67,31.0333,147.773,-47.8262],[3513.6,1399.88,30.0833,142.523,-45.2975],[3409.44,1499.96,29.05,137.036,-42.2993],[3293.91,1598.85,27.9167,131.361,-38.6905],[3158.04,1699.23,26.6,125.341,-34.0486],[2990.65,1799.87,25,119.082,-27.7341],[2754.72,1899.84,22.7833,112.889,-17.8239],[2365.61,1962.24,19.2167,110.743,-0.0511888]]], - [58,2004.1,[[5121.06,-2000.42,49.8167,250.351,-73.0559],[5090.54,-1901.08,49.4,248.409,-72.7801],[5059.78,-1802.66,48.9833,246.442,-72.4977],[5027.54,-1701.3,48.55,244.37,-72.1968],[4995.04,-1600.98,48.1167,242.272,-71.8883],[4962.28,-1501.7,47.6833,240.147,-71.5718],[4929.26,-1403.49,47.25,237.997,-71.2471],[4894.69,-1302.64,46.8,235.736,-70.9008],[4859.85,-1202.97,46.35,233.447,-70.545],[4823.42,-1100.87,45.8833,231.044,-70.1654],[4786.69,-1000.08,45.4167,228.612,-69.7746],[4749.66,-900.613,44.95,226.152,-69.3721],[4712.34,-802.494,44.4833,223.664,-68.9574],[4673.37,-702.309,44,221.058,-68.5144],[4632.72,-600.233,43.5,218.331,-68.0411],[4593.11,-503.094,43.0167,215.667,-67.5683],[4550.42,-400.947,42.5,212.79,-67.0455],[4507.37,-300.574,41.9833,209.882,-66.5038],[4463.96,-202.002,41.4667,206.946,-65.9421],[4418.79,-102.165,40.9333,203.887,-65.3404],[4371.81,-1.27791,40.3833,200.703,-64.6952],[4324.43,97.4782,39.8333,197.492,-64.0235],[4273.76,199.856,39.25,194.06,-63.2805],[4222.65,299.764,38.6667,190.603,-62.5039],[4169.63,399.913,38.0667,187.025,-61.668],[4116.16,497.372,37.4667,183.427,-60.792],[4057.72,599.871,36.8167,179.512,-59.7946],[3998.76,699.12,36.1667,175.585,-58.7435],[3936.23,799.9,35.4833,171.451,-57.5761],[3871.6,899.3,34.7833,167.218,-56.3091],[3803.27,999.206,34.05,162.796,-54.8985],[3731.17,1098.96,33.2833,158.201,-53.3251],[3653.64,1199.86,32.4667,153.354,-51.5289],[3572.15,1298.92,31.6167,148.385,-49.5162],[3483.4,1398.83,30.7,143.142,-47.1674],[3385.57,1499.52,29.7,137.606,-44.3753],[3278.43,1598.66,28.6167,131.886,-41.056],[3155.04,1698.75,27.3833,125.826,-36.8741],[3006.4,1799.77,25.9167,119.425,-31.3074],[2814.36,1899.54,24.05,112.917,-23.2795],[2422.84,1999.86,20.3333,107.344,-4.81424]]], - [59,2045.26,[[5017.49,-2003.25,50.1833,250.828,-73.5728],[4987.82,-1903.44,49.7667,248.883,-73.3057],[4956.72,-1800.62,49.3333,246.833,-73.0212],[4926.57,-1702.71,48.9167,244.836,-72.7408],[4894.97,-1601.88,48.4833,242.733,-72.442],[4863.12,-1502.1,48.05,240.603,-72.1355],[4831.02,-1403.38,47.6167,238.446,-71.821],[4797.41,-1301.99,47.1667,236.178,-71.4856],[4763.53,-1201.78,46.7167,233.881,-71.1409],[4729.38,-1102.76,46.2667,231.556,-70.7865],[4693.68,-1001.35,45.8,229.116,-70.4082],[4657.68,-901.26,45.3333,226.646,-70.0187],[4621.4,-802.507,44.8667,224.147,-69.6173],[4583.52,-701.66,44.3833,221.529,-69.1886],[4545.33,-602.291,43.9,218.881,-68.7459],[4505.49,-501.074,43.4,216.111,-68.2727],[4465.34,-401.486,42.9,213.311,-67.7831],[4423.5,-300.317,42.3833,210.386,-67.2591],[4381.31,-200.939,41.8667,207.431,-66.7159],[4337.4,-100.262,41.3333,204.351,-66.1337],[4293.13,-1.55133,40.8,201.241,-65.5287],[4247.09,98.1547,40.25,198.005,-64.8794],[4199.26,198.631,39.6833,194.643,-64.182],[4149.61,299.639,39.1,191.155,-63.432],[4099.53,398.154,38.5167,187.641,-62.6473],[4046.14,499.546,37.9,183.904,-61.7778],[3992.29,598.068,37.2833,180.146,-60.8643],[3935.03,698.763,36.6333,176.169,-59.8504],[3875.79,798.628,35.9667,172.079,-58.7521],[3813.03,899.713,35.2667,167.78,-57.5304],[3748.19,999.14,34.55,163.383,-56.2011],[3679.72,1098.72,33.8,158.799,-54.7179],[3605.99,1199.83,33,153.943,-53.023],[3528.47,1299.45,32.1667,148.944,-51.1226],[3445.49,1398.6,31.2833,143.737,-48.9439],[3353.76,1499.4,30.3167,138.185,-46.3479],[3253.07,1599.6,29.2667,132.382,-43.2533],[3139.94,1699.43,28.1,126.298,-39.4484],[3007.45,1799.58,26.75,119.874,-34.5251],[2843.3,1899.23,25.1,113.194,-27.7118],[2596.97,1999.59,22.6667,106.454,-16.1479]]], - [60,2085.66,[[4907.97,-2000.26,50.5167,251.186,-74.0737],[4879.14,-1900.05,50.1,249.236,-73.8149],[4850.08,-1800.76,49.6833,247.26,-73.5499],[4820.8,-1702.4,49.2667,245.259,-73.2785],[4790.1,-1601.11,48.8333,243.151,-72.9892],[4759.16,-1500.86,48.4,241.015,-72.6925],[4727.97,-1401.65,47.9667,238.851,-72.388],[4696.53,-1303.52,47.5333,236.661,-72.0754],[4663.63,-1202.75,47.0833,234.358,-71.742],[4630.46,-1103.18,46.6333,232.025,-71.3992],[4595.79,-1001.18,46.1667,229.576,-71.0334],[4560.83,-900.497,45.7,227.097,-70.6565],[4525.59,-801.147,45.2333,224.588,-70.2682],[4490.07,-703.148,44.7667,222.049,-69.8679],[4452.99,-603.095,44.2833,219.389,-69.4401],[4414.31,-501.164,43.7833,216.606,-68.9827],[4375.31,-400.854,43.2833,213.791,-68.5094],[4336,-302.189,42.7833,210.945,-68.0195],[4295.04,-201.99,42.2667,207.973,-67.4948],[4252.41,-100.457,41.7333,204.873,-66.9326],[4209.43,-0.880789,41.2,201.742,-66.3481],[4164.74,99.7276,40.65,198.482,-65.7208],[4119.67,198.193,40.1,195.193,-65.0671],[4072.85,297.368,39.5333,191.775,-64.3642],[4022.86,399.824,38.9333,188.128,-63.5854],[3972.44,499.614,38.3333,184.455,-62.7688],[3920.17,599.357,37.7167,180.656,-61.8874],[3866.03,698.778,37.0833,176.735,-60.9344],[3809.99,797.589,36.4333,172.695,-59.9025],[3750.55,897.889,35.75,168.437,-58.7542],[3687.66,999.084,35.0333,163.969,-57.4744],[3622.72,1098.33,34.3,159.406,-56.0781],[3552.71,1199.47,33.5167,154.554,-54.4811],[3479.04,1299.47,32.7,149.538,-52.6896],[3400.11,1399.41,31.8333,144.288,-50.6334],[3314.27,1499.83,30.9,138.75,-48.2232],[3221.36,1599,29.9,132.996,-45.3927],[3116.5,1699.26,28.7833,126.863,-41.8981],[2996.18,1799.42,27.5167,120.391,-37.4671],[2851.89,1899.04,26.0167,113.604,-31.5287],[2654.96,1999.97,24,106.463,-22.3408]]], - [61,2125.26,[[4796.03,-2003.53,50.8667,251.655,-74.5898],[4768.06,-1902.88,50.45,249.702,-74.3396],[4739.87,-1803.14,50.0333,247.723,-74.0835],[4710.32,-1700.39,49.6,245.638,-73.8105],[4681.67,-1602.55,49.1833,243.606,-73.5415],[4651.65,-1501.82,48.75,241.465,-73.2547],[4621.39,-1402.12,48.3167,239.297,-72.9603],[4590.89,-1303.49,47.8833,237.1,-72.6582],[4558.96,-1202.21,47.4333,234.79,-72.3359],[4526.78,-1102.11,46.9833,232.45,-72.0044],[4494.34,-1003.2,46.5333,230.081,-71.6636],[4460.43,-901.914,46.0667,227.593,-71.2996],[4426.24,-801.953,45.6,225.075,-70.9245],[4391.78,-703.338,45.1333,222.526,-70.5379],[4355.81,-602.639,44.65,219.855,-70.1246],[4318.28,-500.032,44.15,217.058,-69.6827],[4281.72,-402.38,43.6667,214.324,-69.241],[4243.59,-302.97,43.1667,211.463,-68.7681],[4203.86,-201.994,42.65,208.474,-68.2617],[4163.81,-102.818,42.1333,205.453,-67.7362],[4122.13,-2.35933,41.6,202.303,-67.1726],[4078.79,99.1684,41.05,199.021,-66.5676],[4035.08,198.563,40.5,195.707,-65.937],[3989.68,298.706,39.9333,192.262,-65.2589],[3942.55,399.358,39.35,188.686,-64.5288],[3895.02,497.502,38.7667,185.081,-63.7639],[3844.36,598.487,38.15,181.244,-62.9151],[3791.87,699.197,37.5167,177.279,-61.9971],[3737.54,799.344,36.8667,173.19,-61.0026],[3681.33,898.628,36.2,168.98,-59.9232],[3621.79,999.08,35.5,164.551,-58.7199],[3560.3,1097.84,34.7833,160.016,-57.4073],[3493.92,1198.83,34.0167,155.178,-55.9049],[3424.01,1299.02,33.2167,150.158,-54.2187],[3349.03,1399.57,32.3667,144.88,-52.2815],[3268.88,1499.3,31.4667,139.381,-50.0504],[3181.93,1598.58,30.5,133.617,-47.4261],[3085,1698.58,29.4333,127.489,-44.227],[2974.75,1798.9,28.2333,120.979,-40.2072],[2844.6,1899.38,26.8333,114.067,-34.8998],[2679.67,1999.49,25.0833,106.802,-27.271]]], - [62,2164.02,[[4678.31,-2001.02,51.1833,252.003,-75.0913],[4652.28,-1904.01,50.7833,250.126,-74.8592],[4624.96,-1803.85,50.3667,248.144,-74.6117],[4596.31,-1700.66,49.9333,246.054,-74.3481],[4568.55,-1602.39,49.5167,244.018,-74.0882],[4539.45,-1501.19,49.0833,241.872,-73.8111],[4510.12,-1401.04,48.65,239.698,-73.5267],[4480.55,-1301.95,48.2167,237.496,-73.2348],[4449.6,-1200.18,47.7667,235.179,-72.9234],[4419.57,-1103.28,47.3333,232.918,-72.6152],[4386.96,-1000.18,46.8667,230.453,-72.2738],[4355.27,-901.98,46.4167,228.046,-71.9349],[4322.14,-801.444,45.95,225.519,-71.5729],[4288.74,-702.247,45.4833,222.96,-71.1996],[4253.88,-600.94,45,220.277,-70.8006],[4218.73,-501.112,44.5167,217.562,-70.3884],[4183.3,-402.786,44.0333,214.814,-69.9624],[4146.35,-302.672,43.5333,211.94,-69.5063],[4107.86,-200.959,43.0167,208.935,-69.0178],[4069.05,-101.039,42.5,205.897,-68.5108],[4029.93,-2.93906,41.9833,202.826,-67.9843],[3987.94,99.4611,41.4333,199.522,-67.4012],[3945.6,199.738,40.8833,196.185,-66.7934],[3902.92,297.859,40.3333,192.816,-66.1592],[3857.27,399.537,39.75,189.211,-65.456],[3811.23,498.718,39.1667,185.575,-64.7192],[3763.49,598.089,38.5667,181.806,-63.9239],[3714,697.386,37.95,177.905,-63.0641],[3661.4,798.893,37.3,173.77,-62.1078],[3606.97,899.586,36.6333,169.507,-61.0694],[3550.7,999.152,35.95,165.124,-59.9396],[3491.17,1099.55,35.2333,160.519,-58.6773],[3429.71,1197.96,34.5,155.811,-57.2962],[3363.47,1298.17,33.7167,150.799,-55.7118],[3292.35,1399.13,32.8833,145.506,-53.89],[3216.24,1499.7,32,139.964,-51.7895],[3135.05,1598.62,31.0667,134.222,-49.3601],[3044.25,1699.24,30.0333,128.049,-46.3903],[2943.62,1798.65,28.9,121.582,-42.7557],[2825.38,1899.54,27.5833,114.603,-37.9822],[2681.41,1999.74,26,107.227,-31.3844]]], - [63,2201.89,[[4557.1,-2000.83,51.5,252.387,-75.5982],[4531.9,-1903.45,51.1,250.506,-75.3742],[4505.44,-1802.89,50.6833,248.52,-75.1354],[4478.77,-1703.24,50.2667,246.507,-74.8907],[4450.82,-1600.6,49.8333,244.386,-74.63],[4423.73,-1502.87,49.4167,242.318,-74.3729],[4395.34,-1402.25,48.9833,240.139,-74.0986],[4366.72,-1302.68,48.55,237.932,-73.8171],[4336.76,-1200.41,48.1,235.609,-73.5168],[4307.69,-1103.03,47.6667,233.342,-73.2195],[4277.26,-1003.07,47.2167,230.959,-72.9022],[4245.44,-900.684,46.75,228.454,-72.5633],[4214.52,-803.195,46.3,226.009,-72.2268],[4182.2,-703.404,45.8333,223.441,-71.8671],[4148.46,-601.475,45.35,220.748,-71.4826],[4114.44,-501.018,44.8667,218.022,-71.0854],[4080.15,-402.056,44.3833,215.262,-70.6748],[4044.39,-301.278,43.8833,212.374,-70.2352],[4008.35,-202.147,43.3833,209.451,-69.7797],[3970.79,-101.467,42.8667,206.397,-69.2916],[3932.94,-2.59946,42.35,203.308,-68.7846],[3893.54,97.5294,41.8167,200.086,-68.2403],[3852.58,198.705,41.2667,196.727,-67.6555],[3811.28,297.736,40.7167,193.335,-67.0453],[3768.39,397.489,40.15,189.806,-66.3883],[3723.86,497.727,39.5667,186.14,-65.68],[3677.68,598.196,38.9667,182.338,-64.9153],[3629.81,698.633,38.35,178.4,-64.0883],[3580.23,798.762,37.7167,174.327,-63.1924],[3528.91,898.294,37.0667,170.123,-62.22],[3474.5,999.345,36.3833,165.683,-61.1351],[3418.27,1098.99,35.6833,161.122,-59.9514],[3358.85,1199.13,34.95,156.339,-58.6257],[3296.17,1299.09,34.1833,151.345,-57.137],[3230.18,1398.16,33.3833,146.159,-55.4603],[3158.03,1499.37,32.5167,140.59,-53.4866],[3080.98,1599.38,31.6,134.789,-51.2013],[2997.52,1698.5,30.6167,128.709,-48.4972],[2903.22,1799.22,29.5167,122.151,-45.1246],[2796.33,1899.19,28.2833,115.214,-40.8531],[2667.72,1999.94,26.8167,107.74,-35.0216]]], - [64,2238.83,[[4432.37,-2003.06,51.8167,252.806,-76.1105],[4406.99,-1901.24,51.4,250.843,-75.8855],[4381.4,-1800.31,50.9833,248.854,-75.6552],[4355.62,-1700.29,50.5667,246.837,-75.4192],[4329.63,-1601.2,50.15,244.792,-75.1775],[4303.44,-1503.05,49.7333,242.721,-74.9298],[4275.99,-1401.99,49.3,240.537,-74.6655],[4248.32,-1301.97,48.8667,238.324,-74.3942],[4220.43,-1203.02,48.4333,236.082,-74.1157],[4191.24,-1101.4,47.9833,233.722,-73.8184],[4161.82,-1000.97,47.5333,231.331,-73.5125],[4132.16,-901.726,47.0833,228.909,-73.1978],[4101.16,-800.096,46.6167,226.364,-72.8616],[4071.03,-703.353,46.1667,223.879,-72.5274],[4038.42,-600.838,45.6833,221.176,-72.1572],[4006.67,-503.249,45.2167,218.534,-71.7881],[3972.39,-400.229,44.7167,215.667,-71.3793],[3938.98,-302.18,44.2333,212.863,-70.9703],[3904.14,-202.361,43.7333,209.927,-70.5321],[3867.85,-100.965,43.2167,206.857,-70.0624],[3831.26,-1.37161,42.7,203.751,-69.5746],[3793.19,99.5138,42.1667,200.509,-69.0508],[3754.8,198.419,41.6333,197.232,-68.5054],[3714.9,298.311,41.0833,193.817,-67.9187],[3673.44,398.962,40.5167,190.262,-67.2869],[3631.65,497.277,39.95,186.674,-66.6256],[3587.03,598.791,39.35,182.84,-65.891],[3542.04,697.608,38.75,178.973,-65.1183],[3494.15,798.944,38.1167,174.86,-64.2583],[3444.58,899.727,37.4667,170.611,-63.3246],[3393.3,999.655,36.8,166.228,-62.3085],[3340.3,1098.41,36.1167,161.716,-61.2003],[3284.22,1197.94,35.4,156.973,-59.959],[3223.71,1299.75,34.6333,151.897,-58.5327],[3161.33,1398.73,33.85,146.723,-56.9595],[3094.36,1498.34,33.0167,141.251,-55.1435],[3021.37,1599.24,32.1167,135.408,-52.9983],[2942.21,1699.76,31.15,129.246,-50.4559],[2855.38,1799.59,30.1,122.745,-47.3787],[2757.9,1898.92,28.9333,115.844,-43.5237],[2642.44,1999.5,27.5667,108.354,-38.348]]], - [65,2274.8,[[4303.17,-2003.65,52.1167,253.182,-76.6192],[4278.66,-1901.45,51.7,251.217,-76.4027],[4253.96,-1800.14,51.2833,249.225,-76.1809],[4230.06,-1703.74,50.8833,247.285,-75.963],[4203.97,-1600.26,50.45,245.156,-75.7211],[4178.68,-1501.72,50.0333,243.08,-75.4826],[4152.18,-1400.25,49.6,240.891,-75.2282],[4126.49,-1303.66,49.1833,238.759,-74.9772],[4098.53,-1200.44,48.7333,236.424,-74.6988],[4071.4,-1102.14,48.3,234.146,-74.4233],[4042.99,-1001.21,47.85,231.749,-74.1292],[4014.37,-901.479,47.4,229.319,-73.8264],[3985.51,-802.955,46.95,226.858,-73.5147],[3955.36,-702.08,46.4833,224.273,-73.1816],[3924.96,-602.546,46.0167,221.655,-72.8379],[3893.22,-500.891,45.5333,218.908,-72.4703],[3861.23,-400.718,45.05,216.125,-72.0903],[3828.99,-302.049,44.5667,213.309,-71.6972],[3795.36,-201.584,44.0667,210.359,-71.2761],[3761.47,-102.776,43.5667,207.374,-70.8394],[3726.16,-2.441,43.05,204.254,-70.371],[3689.42,99.2182,42.5167,200.994,-69.8681],[3652.38,198.906,41.9833,197.698,-69.3442],[3613.87,299.613,41.4333,194.261,-68.7807],[3575.05,398.16,40.8833,190.788,-68.192],[3534.73,497.401,40.3167,187.173,-67.5575],[3491.68,599.907,39.7167,183.309,-66.8523],[3448.27,699.725,39.1167,179.409,-66.1105],[3403.28,799.473,38.5,175.367,-65.307],[3356.7,898.874,37.8667,171.185,-64.4349],[3308.48,997.636,37.2167,166.864,-63.4863],[3257.37,1097.86,36.5333,162.298,-62.4256],[3203.3,1198.93,35.8167,157.49,-61.2368],[3147.49,1298.02,35.0833,152.561,-59.9314],[3087.35,1398.94,34.3,147.297,-58.4273],[3024.09,1498.67,33.4833,141.829,-56.7254],[2956.34,1598.28,32.6167,136.071,-54.7524],[2881.38,1699.99,31.6667,129.847,-52.3678],[2801.72,1798.47,30.6667,123.442,-49.5739],[2710.53,1899.29,29.5333,116.44,-46.0068],[2606.17,1999.38,28.25,108.974,-41.3805]]], - [66,2309.76,[[4169.57,-2002.63,52.4,253.516,-77.1252],[4145.94,-1900.08,51.9833,251.549,-76.917],[4123.08,-1802.47,51.5833,249.633,-76.7123],[4099.09,-1701.67,51.1667,247.61,-76.4942],[4074.9,-1601.8,50.75,245.559,-76.2706],[4050.53,-1502.85,50.3333,243.479,-76.0415],[4024.98,-1400.96,49.9,241.286,-75.7971],[3999.23,-1300.1,49.4667,239.063,-75.5462],[3973.27,-1200.29,49.0333,236.81,-75.2885],[3947.12,-1101.55,48.6,234.526,-75.0238],[3919.74,-1000.17,48.15,232.122,-74.7411],[3893.17,-903.661,47.7167,229.777,-74.4612],[3864.33,-800.979,47.25,227.217,-74.1508],[3836.3,-703.211,46.8,224.716,-73.8423],[3807.01,-603.132,46.3333,222.089,-73.5124],[3776.42,-500.908,45.85,219.333,-73.1595],[3745.59,-400.16,45.3667,216.54,-72.7947],[3714.52,-300.909,44.8833,213.712,-72.4173],[3683.2,-203.178,44.4,210.849,-72.0266],[3649.45,-100.413,43.8833,207.75,-71.5936],[3616.52,-2.66542,43.3833,204.715,-71.1586],[3581.12,99.7238,42.85,201.439,-70.6761],[3546.55,197.041,42.3333,198.228,-70.1896],[3509.45,298.582,41.7833,194.772,-69.6496],[3472.05,397.972,41.2333,191.277,-69.0854],[3433.21,498.09,40.6667,187.637,-68.4771],[3392.89,598.696,40.0833,183.853,-67.8203],[3351.08,699.538,39.4833,179.922,-67.11],[3308.92,797.663,38.8833,175.956,-66.3616],[3264.05,898.249,38.25,171.735,-65.5273],[3217.62,998.239,37.6,167.37,-64.6194],[3168.39,1099.76,36.9167,162.751,-63.6038],[3117.53,1199.89,36.2167,157.996,-62.4923],[3065.02,1298.27,35.5,153.111,-61.2723],[3008.35,1398.82,34.7333,147.878,-59.8658],[2948.7,1498.5,33.9333,142.425,-58.2741],[2884.76,1598.44,33.0833,136.659,-56.4276],[2815.17,1699.24,32.1667,130.503,-54.2343],[2739.81,1799.18,31.1833,124.014,-51.6169],[2655.98,1899.33,30.1,117.065,-48.3705],[2560.86,1999.16,28.8833,109.619,-44.2021]]], - [67,2343.66,[[4031.68,-2000.02,52.6667,253.809,-77.6291],[4009.85,-1901.25,52.2667,251.917,-77.4372],[3987.85,-1803.29,51.8667,249.998,-77.2409],[3964.76,-1702.13,51.45,247.972,-77.0315],[3941.48,-1601.88,51.0333,245.918,-76.817],[3918.03,-1502.56,50.6167,243.835,-76.5972],[3893.44,-1400.27,50.1833,241.638,-76.3626],[3869.61,-1302.89,49.7667,239.496,-76.1312],[3844.64,-1202.64,49.3333,237.239,-75.8842],[3819.48,-1103.45,48.9,234.95,-75.6305],[3793.14,-1001.6,48.45,232.541,-75.3595],[3766.59,-900.924,48,230.099,-75.0807],[3739.83,-801.451,47.55,227.624,-74.7935],[3712.86,-703.197,47.1,225.115,-74.4978],[3684.68,-602.609,46.6333,222.48,-74.1815],[3656.27,-503.371,46.1667,219.81,-73.855],[3626.61,-402.032,45.6833,217.008,-73.5056],[3596.72,-302.185,45.2,214.17,-73.1441],[3565.54,-200.487,44.7,211.196,-72.7568],[3534.12,-100.434,44.2,208.184,-72.3552],[3502.45,-2.05016,43.7,205.135,-71.9384],[3469.46,97.8342,43.1833,201.946,-71.4908],[3435.13,199.015,42.65,198.614,-71.0099],[3400.53,298.211,42.1167,195.244,-70.5084],[3364.56,398.397,41.5667,191.728,-69.9684],[3327.2,499.344,41,188.065,-69.386],[3289.53,597.948,40.4333,184.363,-68.7755],[3249.32,699.76,39.8333,180.403,-68.0961],[3208.78,798.865,39.2333,176.404,-67.3802],[3166.78,897.862,38.6167,172.258,-66.6033],[3122.13,999.021,37.9667,167.851,-65.7356],[3075.95,1099.33,37.3,163.298,-64.7889],[3028.23,1198.46,36.6167,158.602,-63.7533],[2977.75,1298.36,35.9,153.654,-62.5893],[2924.47,1398.39,35.15,148.46,-61.2768],[2867.15,1499.92,34.35,142.917,-59.7583],[2806.9,1599.91,33.5167,137.157,-58.0309],[2742.47,1699.38,32.6333,131.092,-56.0168],[2672.54,1798.76,31.6833,124.653,-53.6114],[2594.52,1899.29,30.6333,117.691,-50.6216],[2506.97,1999.36,29.4667,110.236,-46.827]]], - [68,2376.46,[[3891.34,-2004.14,52.95,254.215,-78.1466],[3869.5,-1900.9,52.5333,252.243,-77.9552],[3848.37,-1802.61,52.1333,250.322,-77.7671],[3826.19,-1701.11,51.7167,248.293,-77.5665],[3803.83,-1600.52,51.3,246.234,-77.361],[3781.29,-1500.86,50.8833,244.147,-77.1503],[3758.59,-1402.13,50.4667,242.031,-76.9343],[3734.79,-1300.46,50.0333,239.799,-76.7039],[3711.72,-1203.69,49.6167,237.624,-76.4764],[3686.62,-1100.28,49.1667,235.242,-76.224],[3662.26,-1001.79,48.7333,232.916,-75.9741],[3636.76,-900.675,48.2833,230.468,-75.7071],[3611.06,-800.753,47.8333,227.986,-75.4322],[3585.15,-702.045,47.3833,225.471,-75.149],[3558.08,-600.982,46.9167,222.827,-74.8462],[3530.8,-501.264,46.45,220.148,-74.5336],[3503.3,-402.91,45.9833,217.433,-74.2107],[3474.59,-302.503,45.5,214.585,-73.865],[3444.66,-200.221,45,211.6,-73.4945],[3415.49,-102.905,44.5167,208.677,-73.1233],[3384.07,-0.595032,44,205.513,-72.7115],[3352.39,99.913,43.4833,202.308,-72.2833],[3320.46,198.592,42.9667,199.065,-71.8377],[3287.24,298.508,42.4333,195.676,-71.3584],[3252.7,399.443,41.8833,192.14,-70.8421],[3217.89,498.212,41.3333,188.564,-70.3021],[3181.73,597.673,40.7667,184.838,-69.7191],[3144.21,697.586,40.1833,180.962,-69.0887],[3105.3,797.694,39.5833,176.934,-68.4058],[3064.99,897.732,38.9667,172.754,-67.6646],[3023.24,997.42,38.3333,168.422,-66.8583],[2978.93,1098.96,37.6667,163.824,-65.9558],[2933.13,1199.37,36.9833,159.078,-64.9682],[2885.82,1298.33,36.2833,154.187,-63.8843],[2834.71,1399.9,35.5333,148.923,-62.6332],[2782,1498.89,34.7667,143.53,-61.2475],[2725.37,1598.89,33.95,137.787,-59.6382],[2664.75,1698.75,33.0833,131.716,-57.7608],[2598.87,1799,32.15,125.237,-55.5161],[2526.45,1899.44,31.1333,118.296,-52.7681],[2446.14,1999.08,30.0167,110.886,-49.3257]]], - [69,2408.13,[[3745.96,-2002.61,53.2,254.502,-78.655],[3725.86,-1903.19,52.8,252.607,-78.4793],[3704.76,-1800.48,52.3833,250.603,-78.2919],[3684.35,-1702.72,51.9833,248.652,-78.1078],[3662.92,-1601.77,51.5667,246.591,-77.9114],[3641.32,-1501.75,51.15,244.501,-77.71],[3619.55,-1402.66,50.7333,242.382,-77.5036],[3596.74,-1300.61,50.3,240.146,-77.2833],[3574.63,-1203.47,49.8833,237.966,-77.0659],[3551.46,-1103.48,49.45,235.668,-76.8337],[3527.21,-1000.77,49,233.248,-76.5858],[3503.68,-902.982,48.5667,230.885,-76.3402],[3479.05,-802.599,48.1167,228.398,-76.0777],[3454.23,-703.424,47.6667,225.876,-75.8073],[3428.28,-601.872,47.2,223.225,-75.5181],[3402.13,-501.659,46.7333,220.538,-75.2196],[3375.78,-402.805,46.2667,217.815,-74.9113],[3348.27,-301.875,45.7833,214.957,-74.581],[3320.54,-202.447,45.3,212.061,-74.2392],[3291.63,-101.196,44.8,209.026,-73.8726],[3262.49,-1.60023,44.3,205.951,-73.4922],[3232.13,99.549,43.7833,202.733,-73.0836],[3201.54,198.876,43.2667,199.475,-72.6585],[3169.71,299.468,42.7333,196.069,-72.201],[3137.62,398.059,42.2,192.622,-71.7236],[3104.26,497.605,41.65,189.026,-71.2088],[3069.62,597.876,41.0833,185.278,-70.653],[3033.68,698.63,40.5,181.376,-70.0518],[2996.4,799.614,39.9,177.319,-69.4005],[2958.82,897.87,39.3,173.22,-68.7129],[2918.83,998.582,38.6667,168.852,-67.9446],[2877.45,1098.69,38.0167,164.328,-67.1065],[2834.67,1197.89,37.35,159.651,-66.19],[2789.36,1298.2,36.65,154.706,-65.1592],[2741.51,1399,35.9167,149.496,-63.9963],[2691.04,1499.62,35.15,144.028,-62.6792],[2637.94,1599.34,34.35,138.312,-61.181],[2581.02,1699.3,33.5,132.249,-59.4322],[2520.22,1798.32,32.6,125.865,-57.3794],[2452.06,1899.99,31.6,118.858,-54.8182],[2378.67,1998.58,30.5333,111.544,-51.7063]]], - [70,2438.62,[[3597.34,-2003.77,53.45,254.827,-79.1696],[3578.12,-1904.04,53.05,252.929,-79.0019],[3557.93,-1801.01,52.6333,250.923,-78.8232],[3538.41,-1702.94,52.2333,248.97,-78.6475],[3517.91,-1601.67,51.8167,246.906,-78.4601],[3497.25,-1501.31,51.4,244.813,-78.268],[3476.44,-1401.89,50.9833,242.69,-78.0711],[3455.46,-1303.41,50.5667,240.537,-77.8692],[3433.47,-1202,50.1333,238.266,-77.6535],[3411.31,-1101.65,49.7,235.963,-77.432],[3388.98,-1002.37,49.2667,233.627,-77.2043],[3365.6,-900.411,48.8167,231.167,-76.9611],[3342.92,-803.352,48.3833,228.766,-76.72],[3318.3,-700.077,47.9167,226.144,-76.4526],[3294.38,-601.736,47.4667,223.581,-76.1867],[3269.37,-501.062,47,220.886,-75.9021],[3244.17,-401.743,46.5333,218.154,-75.6081],[3217.86,-300.327,46.05,215.286,-75.2933],[3191.34,-200.407,45.5667,212.38,-74.9674],[3164.62,-102.007,45.0833,209.435,-74.6297],[3136.75,-1.83632,44.5833,206.349,-74.2674],[3107.73,99.9133,44.0667,203.117,-73.8783],[3078.48,199.847,43.55,199.844,-73.4733],[3049,297.938,43.0333,196.53,-73.0514],[3018.32,397.231,42.5,193.066,-72.5971],[2986.44,497.509,41.95,189.451,-72.1073],[2953.33,598.541,41.3833,185.681,-71.5783],[2919.95,697.221,40.8167,181.867,-71.0228],[2884.32,799.102,40.2167,177.784,-70.4035],[2848.41,898.266,39.6167,173.656,-69.7498],[2810.19,999.946,38.9833,169.253,-69.019],[2771.65,1098.51,38.35,164.808,-68.2427],[2730.76,1198.83,37.6833,160.087,-67.3717],[2688.51,1297.97,37,155.21,-66.416],[2643.82,1397.86,36.2833,150.061,-65.3378],[2596.66,1497.86,35.5333,144.643,-64.1169],[2545.94,1599.33,34.7333,138.845,-62.6973],[2492.64,1699.23,33.9,132.801,-61.0728],[2435.65,1798.58,33.0167,126.413,-59.1649],[2372.74,1899.46,32.05,119.479,-56.8235],[2303.77,1999.61,31,112.069,-53.9282]]], - [71,2467.91,[[3444.75,-2003.49,53.6833,255.111,-79.6834],[3426.41,-1903.48,53.2833,253.211,-79.5238],[3407.15,-1800.15,52.8667,251.202,-79.3537],[3388.52,-1701.79,52.4667,249.246,-79.1864],[3368.96,-1600.22,52.05,247.179,-79.008],[3350.04,-1503.57,51.65,245.167,-78.8325],[3330.18,-1403.79,51.2333,243.041,-78.6452],[3309.37,-1301.03,50.8,240.798,-78.4453],[3289.19,-1203.19,50.3833,238.61,-78.248],[3268.05,-1102.47,49.95,236.303,-78.0373],[3246.75,-1002.81,49.5167,233.963,-77.8207],[3224.45,-900.458,49.0667,231.498,-77.5894],[3202.81,-803.016,48.6333,229.091,-77.3601],[3180.17,-703.004,48.1833,226.557,-77.1149],[3156.5,-600.574,47.7167,223.892,-76.8526],[3133.5,-503.062,47.2667,221.287,-76.5918],[3109.46,-403.264,46.8,218.548,-76.3124],[3084.37,-301.345,46.3167,215.672,-76.0133],[3059.08,-200.918,45.8333,212.757,-75.7035],[3033.59,-102.005,45.35,209.802,-75.3826],[3007.02,-1.2981,44.85,206.704,-75.0382],[2980.23,97.7391,44.35,203.565,-74.6805],[2952.34,198.297,43.8333,200.279,-74.2959],[2924.23,297.019,43.3167,196.951,-73.8954],[2894.98,396.971,42.7833,193.471,-73.464],[2864.57,497.934,42.2333,189.838,-72.9988],[2833,599.681,41.6667,186.047,-72.4964],[2801.16,699.082,41.1,182.211,-71.9687],[2768.14,798.92,40.5167,178.216,-71.3971],[2733.89,898.939,39.9167,174.06,-70.7767],[2698.41,998.871,39.3,169.742,-70.1018],[2661.68,1098.43,38.6667,165.262,-69.3659],[2622.69,1199.83,38,160.5,-68.54],[2583.39,1297.67,37.3333,155.697,-67.6562],[2540.8,1398.83,36.6167,150.493,-66.6347],[2496.86,1497.97,35.8833,145.133,-65.504],[2449.52,1598.9,35.1,139.38,-64.1889],[2399.75,1698.59,34.2833,133.367,-62.6843],[2345.46,1799.95,33.4,126.865,-60.8807],[2287.59,1899.63,32.4667,120.03,-58.7447],[2223.99,1999.41,31.45,112.668,-56.1012]]], - [72,2495.94,[[3288.29,-2001.79,53.9,255.354,-80.1972],[3270.84,-1901.52,53.5,253.451,-80.0456],[3253.25,-1802.06,53.1,251.521,-79.8905],[3235.52,-1703.4,52.7,249.563,-79.7318],[3216.92,-1601.51,52.2833,247.494,-79.5625],[3198.16,-1500.54,51.8667,245.394,-79.3889],[3179.27,-1400.48,51.45,243.264,-79.211],[3160.22,-1301.37,51.0333,241.103,-79.0286],[3141.03,-1203.2,50.6167,238.912,-78.8413],[3120.92,-1102.14,50.1833,236.601,-78.6414],[3100.65,-1002.13,49.75,234.256,-78.4359],[3080.23,-903.2,49.3167,231.878,-78.2245],[3058.85,-801.621,48.8667,229.374,-77.9987],[3037.31,-701.238,48.4167,226.833,-77.766],[3015.6,-602.068,47.9667,224.257,-77.5261],[2992.91,-500.527,47.5,221.548,-77.2694],[2970.04,-400.332,47.0333,218.801,-77.0043],[2946.99,-301.502,46.5667,216.015,-76.7302],[2922.94,-200.604,46.0833,213.091,-76.4365],[2898.69,-101.214,45.6,210.126,-76.1322],[2873.41,-0.0103197,45.1,207.017,-75.8056],[2847.93,99.5296,44.6,203.866,-75.4664],[2822.26,197.38,44.1,200.674,-75.1136],[2794.66,299.865,43.5667,197.223,-74.7217],[2767.7,397.258,43.05,193.837,-74.3255],[2738.79,498.863,42.5,190.186,-73.8847],[2709.64,598.297,41.95,186.489,-73.4229],[2679.38,698.442,41.3833,182.632,-72.9235],[2647.97,799.052,40.8,178.613,-72.3824],[2615.41,899.875,40.2,174.431,-71.7951],[2582.58,997.955,39.6,170.202,-71.1738],[2547.66,1098.47,38.9667,165.689,-70.4779],[2511.53,1198.35,38.3167,161.009,-69.7168],[2473.24,1299.73,37.6333,156.042,-68.8602],[2433.69,1399.66,36.9333,150.909,-67.9163],[2392.86,1497.81,36.2167,145.614,-66.8724],[2348.83,1598.07,35.45,139.915,-65.6579],[2301.54,1699.4,34.6333,133.818,-64.2383],[2251.9,1798.78,33.7833,127.461,-62.6026],[2197.9,1898.9,32.8667,120.62,-60.6287],[2138.48,1999.65,31.8667,113.212,-58.1829]]], - [73,2522.68,[[3128.79,-2002.91,54.1167,255.635,-80.7174],[3112.23,-1902.38,53.7167,253.731,-80.5739],[3095.55,-1802.64,53.3167,251.799,-80.4272],[3078.74,-1703.72,52.9167,249.839,-80.277],[3061.09,-1601.54,52.5,247.767,-80.1168],[3043.31,-1500.28,52.0833,245.665,-79.9526],[3026.1,-1403.93,51.6833,243.617,-79.791],[3007.32,-1300.52,51.25,241.367,-79.6115],[2989.12,-1202.05,50.8333,239.172,-79.4343],[2970.04,-1100.67,50.4,236.856,-79.245],[2950.82,-1000.35,49.9667,234.507,-79.0505],[2931.44,-901.098,49.5333,232.124,-78.8504],[2911.92,-802.935,49.1,229.707,-78.6447],[2891.49,-702.168,48.65,227.161,-78.4246],[2870.9,-602.61,48.2,224.579,-78.1978],[2849.39,-500.662,47.7333,221.864,-77.9551],[2827.7,-400.054,47.2667,219.109,-77.7044],[2805.84,-300.809,46.8,216.316,-77.4453],[2783.82,-202.944,46.3333,213.485,-77.1772],[2760.83,-103.063,45.85,210.512,-76.8898],[2736.87,-1.3444,45.35,207.393,-76.5813],[2712.71,98.7155,44.85,204.232,-76.2608],[2688.37,197.092,44.35,201.028,-75.9276],[2663.02,296.952,43.8333,197.673,-75.569],[2636.64,398.09,43.3,194.163,-75.1828],[2610.06,497.225,42.7667,190.608,-74.7792],[2582.43,597.328,42.2167,186.893,-74.3433],[2553.74,698.168,41.65,183.017,-73.8719],[2523.97,799.502,41.0667,178.977,-73.3612],[2493.96,898.291,40.4833,174.887,-72.8224],[2461.98,999.916,39.8667,170.513,-72.2198],[2429.75,1098.61,39.25,166.088,-71.5801],[2395.5,1199.42,38.6,161.373,-70.8621],[2360.09,1299.32,37.9333,156.487,-70.0741],[2323.5,1398.01,37.25,151.432,-69.2065],[2283.92,1499.67,36.5167,145.96,-68.2001],[2243.1,1599.01,35.7667,140.322,-67.0802],[2199.21,1699.75,34.9667,134.273,-65.7708],[2153.1,1798.86,34.1333,127.95,-64.2625],[2102.88,1899.12,33.2333,121.118,-62.4413],[2048.48,1998.84,32.2667,113.809,-60.2232]]], - [74,2548.12,[[2965.62,-2002.67,54.3167,255.877,-81.2381],[2949.98,-1901.89,53.9167,253.971,-81.1028],[2934.21,-1801.91,53.5167,252.037,-80.9643],[2918.31,-1702.74,53.1167,250.074,-80.8226],[2901.63,-1600.3,52.7,248,-80.6714],[2885.5,-1502.82,52.3,245.979,-80.5228],[2868.56,-1402.17,51.8833,243.843,-80.364],[2851.49,-1302.45,51.4667,241.677,-80.2012],[2834.29,-1203.67,51.05,239.479,-80.0342],[2816.26,-1101.97,50.6167,237.16,-79.8558],[2798.09,-1001.31,50.1833,234.807,-79.6725],[2779.78,-901.729,49.75,232.419,-79.4839],[2761.33,-803.23,49.3167,229.998,-79.2899],[2742.03,-702.109,48.8667,227.447,-79.0825],[2722.57,-602.194,48.4167,224.86,-78.8687],[2702.96,-503.503,47.9667,222.235,-78.6482],[2682.47,-402.47,47.5,219.475,-78.4121],[2661.82,-302.793,47.0333,216.676,-78.1681],[2640.27,-201.008,46.55,213.735,-77.9065],[2618.54,-100.723,46.0667,210.753,-77.6355],[2596.65,-1.96116,45.5833,207.729,-77.3544],[2573.82,98.5803,45.0833,204.557,-77.0525],[2550.82,197.443,44.5833,201.342,-76.7387],[2526.87,297.811,44.0667,197.974,-76.401],[2501.95,399.479,43.5333,194.451,-76.0371],[2476.83,499.149,43,190.879,-75.6568],[2450.72,599.808,42.45,187.147,-75.2461],[2424.41,698.279,41.9,183.367,-74.8152],[2397.09,797.408,41.3333,179.423,-74.3485],[2367.93,899.758,40.7333,175.193,-73.8272],[2338.54,999.383,40.1333,170.911,-73.2756],[2308.09,1098.89,39.5167,166.459,-72.6742],[2276.57,1198,38.8833,161.833,-72.0167],[2243.13,1298.89,38.2167,156.911,-71.2767],[2208.58,1398.6,37.5333,151.813,-70.4615],[2172.05,1499.08,36.8167,146.416,-69.5379],[2133.5,1599.67,36.0667,140.72,-68.4867],[2092.92,1699.68,35.2833,134.728,-67.2836],[2050.26,1798.37,34.4667,128.449,-65.8982],[2003.73,1898.61,33.5833,121.64,-64.2247],[1953.27,1998.75,32.6333,114.324,-62.1852]]], - [75,2572.19,[[2798.94,-2001.13,54.5,256.08,-81.7599],[2784.2,-1900.13,54.1,254.171,-81.6326],[2769.97,-1804.09,53.7167,252.316,-81.508],[2754.39,-1700.53,53.3,250.269,-81.3692],[2739.31,-1601.95,52.9,248.275,-81.2328],[2723.48,-1500.15,52.4833,246.167,-81.0873],[2708.18,-1403.27,52.0833,244.115,-80.9441],[2692.11,-1303.28,51.6667,241.945,-80.7912],[2675.26,-1200.28,51.2333,239.656,-80.628],[2658.94,-1102.21,50.8167,237.422,-80.4668],[2641.84,-1001.26,50.3833,235.065,-80.2945],[2624.6,-901.372,49.95,232.673,-80.1174],[2607.24,-802.566,49.5167,230.247,-79.9352],[2589.06,-701.123,49.0667,227.691,-79.7404],[2570.74,-600.882,48.6167,225.098,-79.5395],[2552.28,-501.862,48.1667,222.467,-79.3324],[2532.99,-400.484,47.7,219.7,-79.1105],[2513.55,-300.46,47.2333,216.893,-78.8813],[2493.96,-201.808,46.7667,214.046,-78.6441],[2473.51,-101.104,46.2833,211.056,-78.3897],[2452.91,-1.91757,45.8,208.023,-78.126],[2431.42,99.0671,45.3,204.842,-77.8426],[2409.77,198.378,44.8,201.616,-77.548],[2387.23,299.213,44.2833,198.236,-77.231],[2364.51,398.206,43.7667,194.81,-76.9003],[2340.87,498.43,43.2333,191.225,-76.5437],[2316.3,599.668,42.6833,187.478,-76.1586],[2291.54,698.723,42.1333,183.681,-75.7545],[2265.83,798.46,41.5667,179.717,-75.3168],[2239.15,898.636,40.9833,175.584,-74.8418],[2211.5,998.993,40.3833,171.279,-74.325],[2182.85,1099.26,39.7667,166.8,-73.7615],[2153.2,1199.16,39.1333,162.144,-73.1453],[2122.52,1298.39,38.4833,157.311,-72.4695],[2090.01,1399.06,37.8,152.174,-71.7064],[2056.45,1498.24,37.1,146.858,-70.8623],[2021,1597.8,36.3667,141.237,-69.902],[1982.83,1699.17,35.5833,135.182,-68.7785],[1942.7,1799.29,34.7667,128.827,-67.4837],[1899.77,1899.23,33.9,122.053,-65.9493],[1853.15,1999.48,32.9667,114.746,-64.0785]]], - [76,2594.88,[[2629.44,-2002.52,54.6833,256.322,-82.2882],[2615.63,-1901.3,54.2833,254.412,-82.1692],[2601.72,-1800.86,53.8833,252.474,-82.0474],[2587.69,-1701.23,53.4833,250.507,-81.9228],[2573.56,-1602.42,53.0833,248.511,-81.7952],[2558.73,-1500.36,52.6667,246.401,-81.659],[2544.38,-1403.25,52.2667,244.346,-81.5251],[2529.32,-1303,51.85,242.173,-81.3821],[2514.15,-1203.68,51.4333,239.969,-81.2353],[2498.24,-1101.41,51,237.643,-81.0785],[2482.21,-1000.18,50.5667,235.282,-80.9174],[2466.06,-900.02,50.1333,232.886,-80.7518],[2449.78,-800.937,49.7,230.455,-80.5813],[2433.38,-702.948,49.2667,227.989,-80.4058],[2416.21,-602.368,48.8167,225.392,-80.2181],[2398.92,-503.006,48.3667,222.756,-80.0245],[2380.84,-401.269,47.9,219.983,-79.8172],[2362.62,-300.881,47.4333,217.17,-79.6029],[2344.27,-201.863,46.9667,214.316,-79.3812],[2325.11,-100.774,46.4833,211.318,-79.1435],[2305.8,-1.19988,46,208.277,-78.8969],[2286.34,96.8373,45.5167,205.193,-78.641],[2265.38,199.91,45,201.85,-78.3566],[2244.93,297.935,44.5,198.569,-78.07],[2223.65,397.419,43.9833,195.131,-77.7612],[2201.5,498.156,43.45,191.534,-77.4282],[2178.48,599.928,42.9,187.772,-77.0686],[2155.29,699.522,42.35,183.959,-76.6912],[2131.2,799.82,41.7833,179.977,-76.2823],[2106.92,897.736,41.2167,175.943,-75.8515],[2081.02,998.775,40.6167,171.617,-75.3694],[2054.18,1099.75,40,167.113,-74.8435],[2027.14,1197.78,39.3833,162.553,-74.284],[1998.41,1297.86,38.7333,157.689,-73.6542],[1967.96,1399.42,38.05,152.516,-72.9428],[1936.52,1499.54,37.35,147.158,-72.1556],[1904.08,1597.85,36.6333,141.616,-71.2808],[1869.1,1698.26,35.8667,135.633,-70.2573],[1831.53,1799.73,35.05,129.209,-69.0526],[1792.11,1899.22,34.2,122.48,-67.6527],[1749.24,1999.43,33.2833,115.197,-65.9453]]], - [77,2616.16,[[2456.65,-2002.65,54.85,256.526,-82.8179],[2443.78,-1901.22,54.45,254.615,-82.7071],[2430.8,-1800.58,54.05,252.675,-82.5937],[2417.72,-1700.74,53.65,250.706,-82.4777],[2404.55,-1601.71,53.25,248.707,-82.3589],[2391.27,-1503.51,52.85,246.68,-82.2373],[2377.34,-1402.11,52.4333,244.537,-82.1075],[2363.29,-1301.63,52.0167,242.361,-81.9743],[2349.14,-1202.09,51.6,240.154,-81.8377],[2334.88,-1103.49,51.1833,237.914,-81.6974],[2319.94,-1001.98,50.75,235.55,-81.5476],[2304.88,-901.533,50.3167,233.151,-81.3935],[2289.71,-802.159,49.8833,230.717,-81.2349],[2273.83,-700.12,49.4333,228.151,-81.0653],[2258.42,-602.99,49,225.645,-80.8971],[2242.29,-503.316,48.55,223.004,-80.7171],[2225.44,-401.253,48.0833,220.226,-80.5242],[2208.46,-300.535,47.6167,217.406,-80.3249],[2191.35,-201.184,47.15,214.546,-80.1187],[2174.1,-103.22,46.6833,211.645,-79.9052],[2156.1,-3.24164,46.2,208.597,-79.6761],[2137.34,98.5712,45.7,205.398,-79.43],[2118.43,198.718,45.2,202.153,-79.1741],[2099.38,297.175,44.7,198.863,-78.9077],[2079.54,397.109,44.1833,195.414,-78.6208],[2058.9,498.316,43.65,191.805,-78.3113],[2038.09,597.511,43.1167,188.144,-77.9873],[2016.47,697.666,42.5667,184.318,-77.637],[1994.03,798.548,42,180.32,-77.2575],[1970.74,899.914,41.4167,176.149,-76.8454],[1947.26,998.723,40.8333,171.923,-76.4098],[1922.93,1097.65,40.2333,167.519,-75.9351],[1897.05,1199.04,39.6,162.81,-75.4018],[1870.27,1299.83,38.95,157.916,-74.8165],[1842.59,1399.69,38.2833,152.836,-74.172],[1814,1498.31,37.6,147.568,-73.4596],[1783.07,1599.88,36.8667,141.853,-72.6292],[1751.18,1699.11,36.1167,135.947,-71.7001],[1716.9,1799.69,35.3167,129.59,-70.6064],[1680.9,1898.62,34.4833,122.918,-69.3363],[1641.7,1998.64,33.5833,115.672,-67.7871]]], - [78,2635.99,[[2280.73,-2001.55,55,256.692,-83.3496],[2269.29,-1904.16,54.6167,254.859,-83.2513],[2257.27,-1803.3,54.2167,252.918,-83.1465],[2245.15,-1703.24,53.8167,250.948,-83.0392],[2232.94,-1603.99,53.4167,248.948,-82.9293],[2220.13,-1501.48,53,246.834,-82.8121],[2207.73,-1403.93,52.6,244.774,-82.6968],[2194.72,-1303.21,52.1833,242.597,-82.5736],[2181.6,-1203.43,51.7667,240.387,-82.4472],[2167.86,-1100.66,51.3333,238.055,-82.3123],[2154.54,-1002.83,50.9167,235.778,-82.1789],[2140.59,-902.116,50.4833,233.376,-82.0364],[2126.52,-802.481,50.05,230.938,-81.8898],[2111.81,-700.167,49.6,228.368,-81.7329],[2097.53,-602.771,49.1667,225.858,-81.5773],[2082.59,-502.817,48.7167,223.212,-81.4107],[2066.97,-400.46,48.25,220.428,-81.2324],[2051.79,-303.031,47.8,217.704,-81.0547],[2035.94,-203.332,47.3333,214.839,-80.8641],[2019.39,-101.531,46.85,211.827,-80.6598],[2002.71,-1.23603,46.3667,208.771,-80.4478],[1985.9,97.5287,45.8833,205.671,-80.2279],[1968.38,198.065,45.3833,202.418,-79.9913],[1950.73,296.914,44.8833,199.119,-79.7452],[1932.35,397.26,44.3667,195.66,-79.48],[1913.22,498.895,43.8333,192.039,-79.194],[1893.95,598.521,43.3,188.366,-78.8945],[1873.92,699.126,42.75,184.525,-78.5707],[1853.73,797.53,42.2,180.631,-78.2303],[1832.15,899.455,41.6167,176.443,-77.8499],[1810.41,998.829,41.0333,172.198,-77.4477],[1787.87,1098.34,40.4333,167.773,-77.0092],[1764.52,1197.71,39.8167,163.166,-76.53],[1739.72,1299.23,39.1667,158.245,-75.9902],[1714.09,1399.86,38.5,153.135,-75.3957],[1687.6,1499.27,37.8167,147.832,-74.7383],[1659.6,1599.41,37.1,142.206,-73.9899],[1630.07,1699.62,36.35,136.253,-73.1334],[1598.98,1799.21,35.5667,129.972,-72.1469],[1565.65,1899.36,34.7333,123.231,-70.9772],[1530.02,1998.92,33.85,116.033,-69.5772]]], - [79,2654.35,[[2102.31,-2003.49,55.15,256.899,-83.8875],[2091.33,-1901.68,54.75,254.985,-83.7933],[2080.26,-1800.66,54.35,253.042,-83.6969],[2069.1,-1700.44,53.95,251.069,-83.5982],[2057.87,-1601.03,53.55,249.067,-83.4972],[2046.54,-1502.44,53.15,247.035,-83.3938],[2034.66,-1400.63,52.7333,244.887,-83.2833],[2023.16,-1303.76,52.3333,242.794,-83.1746],[2011.09,-1203.76,51.9167,240.582,-83.0585],[1998.44,-1100.76,51.4833,238.246,-82.9345],[1986.19,-1002.71,51.0667,235.967,-82.812],[1973.35,-901.775,50.6333,233.561,-82.681],[1960.41,-801.907,50.2,231.119,-82.5463],[1947.37,-703.127,49.7667,228.642,-82.4076],[1933.72,-601.716,49.3167,226.031,-82.2593],[1919.97,-501.515,48.8667,223.38,-82.1062],[1906.12,-402.54,48.4167,220.691,-81.9482],[1891.64,-301.215,47.95,217.861,-81.779],[1877.04,-201.251,47.4833,214.989,-81.6039],[1862.34,-102.667,47.0167,212.075,-81.4227],[1847,-2.03993,46.5333,209.013,-81.2281],[1831.53,97.0607,46.05,205.906,-81.0262],[1815.41,197.948,45.55,202.645,-80.8091],[1799.17,297.152,45.05,199.337,-80.5831],[1782.26,397.867,44.5333,195.869,-80.3397],[1764.66,499.888,44,192.237,-80.077],[1746.93,599.905,43.4667,188.552,-79.8021],[1729.06,697.886,42.9333,184.815,-79.5139],[1709.92,799.728,42.3667,180.788,-79.1921],[1690.64,899.203,41.8,176.705,-78.8529],[1670.64,999.093,41.2167,172.443,-78.484],[1649.9,1099.14,40.6167,167.998,-78.0818],[1628.43,1199.07,40,163.369,-77.6421],[1606.2,1298.6,39.3667,158.551,-77.1598],[1582.62,1399.93,38.7,153.412,-76.615],[1558.85,1497.67,38.0333,148.209,-76.0277],[1533.11,1598.68,37.3167,142.546,-75.3429],[1505.95,1699.81,36.5667,136.55,-74.5589],[1477.97,1798.28,35.8,130.353,-73.6755],[1447.31,1899.59,34.9667,123.549,-72.6058],[1415.18,1998.55,34.1,116.411,-71.3502]]], - [80,2671.21,[[1921.03,-2004.25,55.2833,257.07,-84.4276],[1911.01,-1902.28,54.8833,255.154,-84.3417],[1900.91,-1801.1,54.4833,253.21,-84.2539],[1890.73,-1700.7,54.0833,251.235,-84.164],[1880.47,-1601.12,53.6833,249.232,-84.0719],[1870.14,-1502.35,53.2833,247.198,-83.9776],[1859.29,-1400.36,52.8667,245.047,-83.877],[1848.8,-1303.31,52.4667,242.952,-83.778],[1837.79,-1203.12,52.05,240.737,-83.6721],[1826.69,-1103.88,51.6333,238.489,-83.5635],[1815.06,-1001.69,51.2,236.116,-83.4474],[1803.35,-900.549,50.7667,233.707,-83.3281],[1791.54,-800.478,50.3333,231.262,-83.2053],[1779.64,-701.494,49.9,228.78,-83.0789],[1767.65,-603.61,49.4667,226.262,-82.9487],[1755.1,-503.146,49.0167,223.608,-82.8093],[1741.99,-400.254,48.55,220.815,-82.6601],[1729.25,-302.304,48.1,218.081,-82.5114],[1715.94,-202.058,47.6333,215.204,-82.352],[1702.52,-103.191,47.1667,212.285,-82.187],[1688.52,-2.26724,46.6833,209.217,-82.0098],[1674.41,97.1333,46.2,206.103,-81.8259],[1659.71,198.334,45.7,202.835,-81.6282],[1644.88,297.854,45.2,199.518,-81.4224],[1629.45,398.9,44.6833,196.041,-81.2007],[1613.9,498.096,44.1667,192.513,-80.9691],[1597.72,598.524,43.6333,188.819,-80.719],[1580.91,699.962,43.0833,184.953,-80.4485],[1563.97,799.207,42.5333,181.032,-80.1641],[1546.38,899.131,41.9667,176.935,-79.8555],[1528.13,999.489,41.3833,172.657,-79.5198],[1509.74,1097.27,40.8,168.32,-79.1643],[1490.15,1197.78,40.1833,163.672,-78.7647],[1469.88,1297.92,39.55,158.832,-78.3264],[1448.37,1399.89,38.8833,153.668,-77.8313],[1426.7,1498.28,38.2167,148.437,-77.2973],[1403.21,1599.99,37.5,142.74,-76.6744],[1379,1699.66,36.7667,136.838,-75.9777],[1353.48,1799,36,130.595,-75.1753],[1326.08,1899.3,35.1833,123.871,-74.2236],[1296.78,1999.39,34.3167,116.664,-73.0842]]], - [81,2686.54,[[1737.09,-2003.84,55.4,257.203,-84.9702],[1728.03,-1901.73,55,255.286,-84.8927],[1718.91,-1800.4,54.6,253.34,-84.8134],[1710.1,-1704.03,54.2167,251.447,-84.7356],[1700.45,-1600.13,53.8,249.358,-84.6491],[1691.11,-1501.21,53.4,247.322,-84.5641],[1681.71,-1403.13,53,245.256,-84.4769],[1671.84,-1301.85,52.5833,243.072,-84.3839],[1661.89,-1201.51,52.1667,240.855,-84.2883],[1651.86,-1102.1,51.75,238.604,-84.1903],[1641.76,-1003.66,51.3333,236.32,-84.0897],[1631.18,-902.306,50.9,233.908,-83.9821],[1620.51,-802.02,50.4667,231.46,-83.8713],[1609.77,-702.817,50.0333,228.976,-83.7573],[1598.52,-600.963,49.5833,226.357,-83.6354],[1587.19,-500.313,49.1333,223.699,-83.5096],[1575.77,-400.885,48.6833,221,-83.3798],[1564.26,-302.699,48.2333,218.262,-83.2457],[1552.23,-202.207,47.7667,215.381,-83.102],[1540.12,-103.09,47.3,212.456,-82.9532],[1527.47,-1.90503,46.8167,209.382,-82.7934],[1514.73,97.7591,46.3333,206.263,-82.6276],[1501.45,199.235,45.8333,202.987,-82.4493],[1488.06,299.034,45.3333,199.663,-82.2637],[1474.57,397.129,44.8333,196.291,-82.0703],[1460.08,499.859,44.3,192.64,-81.8549],[1445.92,597.474,43.7833,189.052,-81.6365],[1430.74,699.296,43.2333,185.176,-81.3928],[1415.44,798.929,42.6833,181.244,-81.1366],[1399.56,899.257,42.1167,177.134,-80.8585],[1383.55,997.19,41.55,172.965,-80.5649],[1366.48,1098.23,40.95,168.488,-80.2357],[1348.79,1199.2,40.3333,163.822,-79.8755],[1330.48,1299.81,39.7,158.961,-79.4805],[1311.54,1399.76,39.05,153.904,-79.0455],[1291.97,1498.74,38.3833,148.646,-78.5648],[1271.27,1598.76,37.6833,143.052,-78.0175],[1249.4,1699.19,36.95,137.116,-77.3912],[1226.37,1799.34,36.1833,130.832,-76.6696],[1202.14,1898.5,35.3833,124.196,-75.8318],[1175.69,1999.65,34.5167,116.929,-74.8083]]], - [82,2700.33,[[1550.69,-2002.29,55.5,257.3,-85.5156],[1542.61,-1900.06,55.1,255.382,-85.4465],[1534.81,-1802.81,54.7167,253.515,-85.3788],[1526.61,-1702.12,54.3167,251.539,-85.3065],[1518.35,-1602.23,53.9167,249.532,-85.2325],[1510.02,-1503.15,53.5167,247.495,-85.1568],[1501.28,-1400.83,53.1,245.341,-85.0759],[1492.83,-1303.46,52.7,243.242,-84.9963],[1483.95,-1202.95,52.2833,241.023,-84.9112],[1475.01,-1103.37,51.8667,238.771,-84.8238],[1465.64,-1000.82,51.4333,236.392,-84.7306],[1456.57,-903.211,51.0167,234.071,-84.6384],[1447.05,-802.738,50.5833,231.621,-84.5398],[1437.47,-703.347,50.15,229.134,-84.4383],[1427.44,-601.296,49.7,226.512,-84.3296],[1417.33,-500.446,49.25,223.85,-84.2176],[1407.14,-400.816,48.8,221.148,-84.102],[1396.88,-302.426,48.35,218.406,-83.9826],[1386.15,-201.721,47.8833,215.52,-83.8545],[1375.35,-102.388,47.4167,212.591,-83.722],[1364.07,-0.977965,46.9333,209.511,-83.5797],[1352.7,98.9138,46.45,206.385,-83.4319],[1341.25,197.264,45.9667,203.214,-83.2785],[1329.32,297.359,45.4667,199.884,-83.1133],[1316.89,399.004,44.95,196.391,-82.9354],[1304.36,498.806,44.4333,192.847,-82.7495],[1291.33,599.865,43.9,189.134,-82.5488],[1278.2,698.899,43.3667,185.366,-82.3383],[1264.56,798.875,42.8167,181.424,-82.1103],[1250.39,899.559,42.25,177.302,-81.8629],[1236.12,997.852,41.6833,173.121,-81.6015],[1220.89,1099.28,41.0833,168.629,-81.3084],[1205.54,1197.95,40.4833,164.073,-80.9967],[1189.22,1299.05,39.85,159.196,-80.6455],[1172.34,1399.51,39.2,154.118,-80.2588],[1154.89,1499.03,38.5333,148.838,-79.8313],[1136.42,1599.62,37.8333,143.217,-79.3446],[1117.37,1698.4,37.1167,137.385,-78.8006],[1096.84,1799.29,36.35,131.065,-78.1596],[1075.24,1899.23,35.55,124.385,-77.4152],[1052.12,1999.33,34.7,117.204,-76.5238]]], - [83,2712.55,[[1362.33,-2003.9,55.6,257.44,-86.0666],[1355.24,-1901.54,55.2,255.521,-86.006],[1348.39,-1804.17,54.8167,253.654,-85.9467],[1341.2,-1703.34,54.4167,251.676,-85.8833],[1333.94,-1603.32,54.0167,249.669,-85.8184],[1326.63,-1504.11,53.6167,247.631,-85.7519],[1318.96,-1401.64,53.2,245.476,-85.681],[1311.23,-1300.09,52.7833,243.287,-85.6083],[1303.75,-1203.47,52.3833,241.155,-85.5367],[1295.91,-1103.75,51.9667,238.901,-85.4601],[1287.68,-1001.05,51.5333,236.52,-85.3783],[1279.71,-903.289,51.1167,234.197,-85.2974],[1271.36,-802.659,50.6833,231.744,-85.211],[1262.95,-703.109,50.25,229.254,-85.1219],[1254.14,-600.891,49.8,226.629,-85.0267],[1245.6,-503.592,49.3667,224.064,-84.9321],[1236.32,-400.073,48.9,221.259,-84.827],[1227.31,-301.511,48.45,218.513,-84.7223],[1217.9,-200.625,47.9833,215.622,-84.61],[1208.41,-101.111,47.5167,212.688,-84.4938],[1198.85,-2.98958,47.05,209.711,-84.3733],[1188.88,97.1466,46.5667,206.581,-84.2439],[1178.48,199.116,46.0667,203.294,-84.1047],[1168,299.413,45.5667,199.958,-83.9599],[1157.44,398.012,45.0667,196.572,-83.8089],[1146.45,498.086,44.55,193.021,-83.6461],[1135.01,599.429,44.0167,189.3,-83.4702],[1123.49,698.749,43.4833,185.524,-83.2858],[1111.52,799.024,42.9333,181.573,-83.0861],[1099.45,897.083,42.3833,177.563,-82.8757],[1086.56,998.627,41.8,173.248,-82.6402],[1073.56,1097.6,41.2167,168.87,-82.3906],[1059.72,1199.39,40.6,164.173,-82.11],[1045.77,1298.23,39.9833,159.408,-81.8105],[1030.96,1399.15,39.3333,154.313,-81.472],[1015.64,1499.14,38.6667,149.013,-81.0978],[999.826,1597.88,37.9833,143.503,-80.6822],[982.722,1699.54,37.25,137.509,-80.1951],[965.093,1798.85,36.5,131.293,-79.6464],[946.143,1899.49,35.7,124.576,-78.9953],[926.251,1998.43,34.8667,117.489,-78.2316]]], - [84,2723.19,[[1171.63,-2000.1,55.6667,257.466,-86.6181],[1165.79,-1901.92,55.2833,255.625,-86.5682],[1159.64,-1800.23,54.8833,253.675,-86.515],[1153.71,-1703.51,54.5,251.778,-86.4628],[1147.47,-1603.38,54.1,249.77,-86.407],[1141.19,-1504.06,53.7,247.731,-86.35],[1134.6,-1401.48,53.2833,245.574,-86.289],[1128.21,-1303.86,52.8833,243.472,-86.229],[1121.52,-1203.08,52.4667,241.25,-86.165],[1114.77,-1103.24,52.05,238.993,-86.0992],[1107.7,-1000.41,51.6167,236.611,-86.0289],[1100.85,-902.528,51.2,234.285,-85.9594],[1093.67,-801.771,50.7667,231.83,-85.8852],[1086.43,-702.091,50.3333,229.338,-85.8087],[1079.14,-603.506,49.9,226.808,-85.7299],[1071.51,-502.306,49.45,224.141,-85.6456],[1063.83,-402.323,49,221.433,-85.5586],[1056.08,-303.575,48.55,218.685,-85.4687],[1047.99,-202.494,48.0833,215.792,-85.3723],[1039.84,-102.783,47.6167,212.855,-85.2725],[1031.32,-0.976981,47.1333,209.767,-85.1654],[1022.75,99.3149,46.65,206.632,-85.0542],[1014.11,198.069,46.1667,203.45,-84.9387],[1005.1,298.586,45.6667,200.109,-84.8144],[996.022,397.407,45.1667,196.718,-84.6847],[986.572,497.714,44.65,193.161,-84.545],[976.742,599.298,44.1167,189.434,-84.394],[966.836,698.864,43.5833,185.651,-84.2357],[956.542,799.393,43.0333,181.691,-84.0643],[946.171,897.709,42.4833,177.673,-83.8837],[935.086,999.527,41.9,173.348,-83.6814],[923.916,1098.78,41.3167,168.958,-83.4671],[912.339,1198.15,40.7167,164.376,-83.2329],[900.351,1297.36,40.1,159.598,-82.9761],[887.617,1398.69,39.45,154.488,-82.6859],[874.455,1499.1,38.7833,149.171,-82.3649],[860.862,1598.27,38.1,143.641,-82.0084],[846.496,1698.13,37.3833,137.76,-81.6005],[831.347,1798.02,36.6333,131.518,-81.1306],[815.062,1899.3,35.8333,124.768,-80.573],[797.967,1998.91,35,117.641,-79.9185]]], - [85,2732.22,[[979.574,-2003.81,55.75,257.615,-87.1767],[974.48,-1901.26,55.35,255.694,-87.1333],[969.56,-1803.71,54.9667,253.825,-87.0907],[964.388,-1702.69,54.5667,251.845,-87.0452],[959.176,-1602.47,54.1667,249.835,-86.9987],[953.925,-1503.07,53.7667,247.794,-86.951],[948.412,-1400.4,53.35,245.636,-86.9001],[943.08,-1302.69,52.95,243.533,-86.8499],[937.483,-1201.82,52.5333,241.308,-86.7964],[931.844,-1101.88,52.1167,239.05,-86.7415],[926.162,-1002.9,51.7,236.758,-86.6851],[920.207,-900.977,51.2667,234.338,-86.6247],[914.207,-800.12,50.8333,231.88,-86.5627],[908.16,-700.34,50.4,229.385,-86.4988],[902.068,-601.654,49.9667,226.852,-86.4329],[895.693,-500.348,49.5167,224.182,-86.3626],[889.269,-400.257,49.0667,221.472,-86.2899],[882.797,-301.402,48.6167,218.72,-86.2147],[876.033,-200.208,48.15,215.823,-86.1343],[869.218,-100.383,47.6833,212.882,-86.0508],[862.351,-1.94758,47.2167,209.897,-85.9645],[855.185,98.5169,46.7333,206.758,-85.8717],[847.965,197.446,46.25,203.573,-85.7753],[840.439,298.145,45.75,200.227,-85.6716],[832.855,397.15,45.25,196.832,-85.5634],[824.959,497.648,44.7333,193.27,-85.4468],[816.745,599.433,44.2,189.537,-85.3207],[808.469,699.2,43.6667,185.748,-85.1886],[799.868,799.94,43.1167,181.781,-85.0455],[791.202,898.468,42.5667,177.755,-84.8947],[782.206,997.634,42,173.545,-84.7308],[772.607,1100,41.4,169.021,-84.547],[762.934,1199.6,40.8,164.428,-84.3513],[752.916,1299.06,40.1833,159.638,-84.1369],[742.55,1398.09,39.55,154.646,-83.9009],[731.555,1498.86,38.8833,149.313,-83.6334],[720.198,1598.4,38.2,143.767,-83.3361],[708.197,1698.66,37.4833,137.865,-82.9958],[695.541,1798.97,36.7333,131.6,-82.6038],[682.22,1898.63,35.95,124.962,-82.1487],[667.941,1998.84,35.1167,117.802,-81.6036]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 862.351; -_maxRange = 4959.15; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg6.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg6.sqf deleted file mode 100644 index e70e92314d..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_HA_chg6.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_he_pd_chg6 -// Ammo: ace_arty_82mm_he_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,1657.7,[[6779.74,-2002.07,46.75,250.484,-66.236],[6735.83,-1903.23,46.3167,248.647,-65.8398],[6689.85,-1801.68,45.8667,246.719,-65.4185],[6643.47,-1701.27,45.4167,244.772,-64.9869],[6596.71,-1602.01,44.9667,242.807,-64.5447],[6547.81,-1500.31,44.5,240.751,-64.0746],[6500.26,-1403.45,44.05,238.75,-63.6096],[6448.75,-1300.75,43.5667,236.582,-63.0971],[6398.59,-1202.93,43.1,234.472,-62.5889],[6346.2,-1103.01,42.6167,232.27,-62.0482],[6291.54,-1001.18,42.1167,229.974,-61.4731],[6236.39,-900.916,41.6167,227.662,-60.8811],[6180.77,-802.245,41.1167,225.335,-60.2717],[6122.79,-701.984,40.6,222.916,-59.623],[6062.4,-600.325,40.0667,220.406,-58.9323],[6001.48,-500.558,39.5333,217.884,-58.2193],[5940.02,-402.71,39,215.352,-57.4831],[5874.13,-300.879,38.4333,212.654,-56.6745],[5807.63,-201.278,37.8667,209.95,-55.8374],[5738.55,-101.109,37.2833,207.164,-54.9447],[5666.83,-0.61504,36.6833,204.3,-53.9924],[5592.42,99.952,36.0667,201.362,-52.9758],[5517.3,197.723,35.45,198.435,-51.9193],[5437.37,297.709,34.8,195.367,-50.7606],[5352.51,399.374,34.1167,192.168,-49.4902],[5264.7,499.802,33.4167,188.928,-48.1308],[5173.87,598.665,32.7,185.659,-46.6755],[5075.7,699.929,31.9333,182.229,-45.0446],[4974.31,798.522,31.15,178.81,-43.2956],[4863.07,899.85,30.3,175.217,-41.2998],[4746.12,998.819,29.4167,171.637,-39.1139],[4616.59,1099.61,28.45,167.93,-36.5877],[4476.36,1198.54,27.4167,164.253,-33.7295],[4315.86,1299.09,26.25,160.515,-30.3062],[4129.61,1399.3,24.9167,156.871,-26.1459],[3899.79,1499.35,23.3,153.501,-20.7748],[3567.75,1599.71,21.0167,151.043,-12.7004],[3049.27,1657.7,17.5667,153.305,-0.0121073]]], - [46,1711.59,[[6727.46,-2002.8,47.25,251.009,-66.7909],[6684.42,-1903.33,46.8167,249.163,-66.4042],[6639.36,-1801.12,46.3667,247.226,-65.993],[6593.91,-1700.03,45.9167,245.269,-65.5718],[6548.08,-1600.1,45.4667,243.293,-65.1402],[6501.87,-1501.32,45.0167,241.299,-64.6978],[6453.55,-1400.13,44.55,239.211,-64.2272],[6404.81,-1300.23,44.0833,237.104,-63.7443],[6355.66,-1201.63,43.6167,234.979,-63.2485],[6304.33,-1100.9,43.1333,232.759,-62.721],[6252.56,-1001.61,42.65,230.522,-62.1787],[6198.54,-900.426,42.15,228.191,-61.6015],[6144.04,-800.83,41.65,225.842,-61.0073],[6089.09,-702.84,41.15,223.478,-60.3953],[6029.95,-600.113,40.6167,220.942,-59.7222],[5972.15,-502.389,40.1,218.471,-59.0492],[5910.08,-400.328,39.55,215.829,-58.3094],[5847.45,-300.324,39,213.176,-57.5444],[5784.26,-202.407,38.45,210.516,-56.753],[5716.63,-100.869,37.8667,207.688,-55.8837],[5648.38,-1.74663,37.2833,204.858,-54.9821],[5577.52,97.6509,36.6833,201.949,-54.0196],[5502.03,199.717,36.05,198.884,-52.9631],[5425.8,298.81,35.4167,195.832,-51.8633],[5344.8,399.858,34.75,192.638,-50.6564],[5260.93,499.913,34.0667,189.393,-49.3646],[5174.18,598.659,33.3667,186.107,-47.9812],[5082.36,697.978,32.6333,182.718,-46.4636],[4983.25,799.332,31.85,179.172,-44.7621],[4878.79,899.71,31.0333,175.571,-42.8956],[4768.86,998.364,30.1833,171.951,-40.8487],[4646.73,1099.75,29.25,168.153,-38.4745],[4516.49,1198.57,28.2667,164.388,-35.8256],[4368.89,1299.26,27.1667,160.513,-32.6805],[4201.03,1399.54,25.9333,156.666,-28.9268],[4002.85,1499.06,24.5,152.969,-24.2744],[3742.13,1599.88,22.65,149.645,-17.8609],[3268.23,1699.89,19.3833,148.527,-5.78966],[3039.69,1711.59,17.85,150.356,-0.0287246]]], - [47,1765.31,[[6669.39,-2001.36,47.7333,251.498,-67.3338],[6627.22,-1901.29,47.3,249.644,-66.9563],[6584.71,-1802.23,46.8667,247.77,-66.5701],[6540.2,-1700.47,46.4167,245.805,-66.1593],[6496.98,-1603.56,45.9833,243.893,-65.7541],[6450.04,-1500.38,45.5167,241.813,-65.3068],[6404.4,-1402.08,45.0667,239.788,-64.8644],[6356.68,-1301.39,44.6,237.669,-64.3938],[6308.55,-1202,44.1333,235.53,-63.9106],[6258.28,-1100.45,43.65,233.295,-63.3964],[6207.57,-1000.32,43.1667,231.041,-62.8677],[6156.44,-901.641,42.6833,228.769,-62.324],[6103.09,-801.107,42.1833,226.401,-61.745],[6049.28,-702.17,41.6833,224.016,-61.1488],[5993.19,-601.635,41.1667,221.535,-60.5136],[5936.62,-502.854,40.65,219.038,-59.8583],[5877.71,-402.752,40.1167,216.448,-59.16],[5816.41,-301.534,39.5667,213.763,-58.4155],[5754.57,-202.391,39.0167,211.068,-57.6451],[5690.28,-102.443,38.45,208.283,-56.8232],[5623.49,-1.9226,37.8667,205.41,-55.9459],[5554.16,98.9294,37.2667,202.453,-55.009],[5482.24,199.859,36.65,199.416,-54.0078],[5409.65,297.986,36.0333,196.386,-52.966],[5332.41,398.341,35.3833,193.205,-51.8219],[5252.42,497.941,34.7167,189.963,-50.5969],[5167.6,598.841,34.0167,186.59,-49.252],[5079.88,698.18,33.3,183.18,-47.8097],[4985.08,799.944,32.5333,179.592,-46.1899],[4887.18,899.037,31.75,176.006,-44.4492],[4781.91,998.955,30.9167,172.297,-42.4979],[4669.06,1098.59,30.0333,168.51,-40.3131],[4546.27,1198.4,29.0833,164.635,-37.825],[4408.85,1299.75,28.0333,160.631,-34.9035],[4256.31,1399.76,26.8833,156.646,-31.4948],[4079.09,1499.9,25.5667,152.687,-27.3273],[3862.37,1599.65,23.9833,148.933,-21.9641],[3554.76,1699.96,21.7833,145.877,-13.9819],[3025.12,1765.31,18.1167,147.414,-0.00128293]]], - [48,1818.82,[[6607.23,-2001.64,48.2167,252.022,-67.8794],[6565.94,-1900.96,47.7833,250.161,-67.5114],[6524.32,-1801.29,47.35,248.28,-67.1347],[6482.35,-1702.65,46.9167,246.379,-66.7491],[6438.4,-1601.33,46.4667,244.384,-66.3389],[6394.09,-1501.16,46.0167,242.368,-65.9184],[6349.41,-1402.15,45.5667,240.333,-65.4873],[6302.69,-1300.72,45.1,238.201,-65.0286],[6255.57,-1200.57,44.6333,236.049,-64.5576],[6208.05,-1101.73,44.1667,233.877,-64.0739],[6158.43,-1000.76,43.6833,231.608,-63.559],[6108.38,-901.22,43.2,229.319,-63.0294],[6057.9,-803.146,42.7167,227.012,-62.4845],[6005.25,-703.25,42.2167,224.606,-61.9041],[5950.36,-601.713,41.7,222.103,-61.2858],[5895,-501.918,41.1833,219.582,-60.6477],[5837.35,-400.759,40.65,216.964,-59.9676],[5779.19,-301.51,40.1167,214.332,-59.2647],[5718.68,-201.189,39.5667,211.604,-58.515],[5655.79,-100.016,39,208.783,-57.7148],[5592.31,-1.09488,38.4333,205.953,-56.8852],[5526.39,98.3497,37.85,203.035,-55.9992],[5457.97,198.074,37.25,200.03,-55.0523],[5386.98,297.821,36.6333,196.945,-54.0397],[5311.46,399.903,35.9833,193.701,-52.927],[5235.2,498.8,35.3333,190.472,-51.7654],[5154.27,599.285,34.65,187.1,-50.489],[5070.54,698.463,33.95,183.679,-49.1197],[4981.94,798.226,33.2167,180.142,-47.6148],[4888.37,897.929,32.45,176.51,-45.9608],[4787.63,998.89,31.6333,172.729,-44.1036],[4681.62,1098.14,30.7833,168.914,-42.0614],[4566.01,1198.4,29.8667,164.963,-39.729],[4438.36,1299.64,28.8667,160.884,-37.0252],[4298.31,1399.59,27.7833,156.789,-33.9036],[4138.86,1499.55,26.5667,152.664,-30.1574],[3950.35,1599.3,25.15,148.61,-25.483],[3706.46,1699.7,23.35,144.838,-19.1026],[3289.13,1799.87,20.35,142.675,-7.67856],[3010.5,1818.81,18.4,144.423,-0.0565693]]], - [49,1872.04,[[6540.94,-2003.73,48.7,252.582,-68.4276],[6500.54,-1902.42,48.2667,250.714,-68.069],[6459.8,-1802.13,47.8333,248.826,-67.702],[6418.73,-1702.87,47.4,246.917,-67.3263],[6375.72,-1600.88,46.95,244.914,-66.9266],[6332.36,-1500.04,46.5,242.889,-66.5168],[6288.63,-1400.35,46.05,240.843,-66.0967],[6244.54,-1301.84,45.6,238.776,-65.6658],[6198.44,-1200.93,45.1333,236.612,-65.2072],[6151.95,-1101.31,44.6667,234.427,-64.7362],[6105.07,-1003.01,44.2,232.222,-64.2522],[6056.11,-902.611,43.7167,229.918,-63.7369],[6005.03,-800.274,43.2167,227.513,-63.1881],[5955.23,-702.846,42.7333,225.169,-62.6417],[5901.54,-600.351,42.2167,222.645,-62.0398],[5849.13,-502.81,41.7167,220.183,-61.439],[5792.75,-400.581,41.1833,217.54,-60.7774],[5735.87,-300.25,40.65,214.88,-60.0935],[5678.48,-201.845,40.1167,212.205,-59.3863],[5618.8,-102.412,39.5667,209.434,-58.6315],[5556.75,-2.17044,39,206.567,-57.8255],[5492.3,98.6481,38.4167,203.607,-56.9642],[5425.4,199.801,37.8167,200.557,-56.0435],[5357.89,298.334,37.2167,197.505,-55.0857],[5285.97,399.457,36.5833,194.287,-54.0323],[5213.37,497.576,35.95,191.077,-52.9332],[5136.23,597.566,35.2833,187.714,-51.7245],[5054.44,698.867,34.5833,184.209,-50.3951],[4969.87,798.608,33.8667,180.657,-48.9669],[4880.47,898.619,33.1167,176.993,-47.3956],[4786.14,998.235,32.3333,173.237,-45.6663],[4684.71,1098.7,31.5,169.341,-43.723],[4576.01,1198.89,30.6167,165.347,-41.5407],[4457.76,1299.3,29.6667,161.24,-39.0473],[4327.56,1399.74,28.6333,157.037,-36.1565],[4182.91,1499.2,27.5,152.806,-32.767],[4014.63,1599.29,26.2,148.532,-28.597],[3808.55,1699.66,24.6333,144.361,-23.188],[3524.45,1799.39,22.5167,140.758,-15.3066],[2988.61,1872.04,18.65,141.463,-0.00160396]]], - [50,1924.94,[[6468.98,-2003.76,49.1667,253.104,-68.9647],[6429.45,-1901.86,48.7333,251.231,-68.6154],[6389.59,-1800.98,48.3,249.336,-68.2578],[6349.41,-1701.11,47.8667,247.42,-67.8917],[6308.9,-1602.28,47.4333,245.483,-67.5169],[6266.49,-1500.76,46.9833,243.449,-67.118],[6223.73,-1400.38,46.5333,241.394,-66.709],[6180.6,-1301.17,46.0833,239.317,-66.2895],[6137.12,-1203.14,45.6333,237.219,-65.8591],[6091.67,-1102.74,45.1667,235.022,-65.4008],[6044.19,-1000.14,44.6833,232.724,-64.9129],[5997.96,-902.42,44.2167,230.485,-64.4285],[5949.67,-802.63,43.7333,228.144,-63.9125],[5899.3,-700.94,43.2333,225.702,-63.3627],[5848.5,-600.838,42.7333,223.239,-62.796],[5797.26,-502.348,42.2333,220.757,-62.2117],[5743.86,-402.293,41.7167,218.174,-61.5886],[5688.26,-300.867,41.1833,215.488,-60.924],[5632.18,-201.355,40.65,212.785,-60.2366],[5573.83,-100.768,40.1,209.983,-59.5027],[5514.97,-2.27626,39.55,207.167,-58.7422],[5451.99,99.862,38.9667,204.168,-57.9053],[5388.43,199.574,38.3833,201.161,-57.0356],[5322.47,299.567,37.7833,198.061,-56.1052],[5254.05,399.585,37.1667,194.875,-55.1089],[5183.13,499.359,36.5333,191.606,-54.0415],[5109.66,598.607,35.8833,188.26,-52.8968],[5031.69,699.453,35.2,184.761,-51.637],[4951.04,798.993,34.5,181.205,-50.2831],[4865.71,899.125,33.7667,177.521,-48.7922],[4775.59,999.201,33,173.728,-47.15],[4680.59,1098.53,32.2,169.849,-45.3403],[4578.57,1198.29,31.35,165.838,-43.3045],[4467.32,1299.08,30.4333,161.668,-40.972],[4346.58,1399.25,29.45,157.411,-38.3048],[4211.92,1499.93,28.3667,153.032,-35.1617],[4060.76,1599.41,27.1667,148.637,-31.4247],[3881.81,1699.2,25.7667,144.233,-26.729],[3652.06,1799.64,24,140.009,-20.3224],[3274.5,1899.95,21.1667,137.006,-9.19236],[2966.64,1924.94,18.9167,138.454,-0.032139]]], - [51,1977.44,[[6391.37,-2001.75,49.6167,253.59,-69.4918],[6354.21,-1903.22,49.2,251.783,-69.1647],[6315.25,-1801.73,48.7667,249.882,-68.8167],[6275.97,-1701.26,48.3333,247.959,-68.4603],[6236.36,-1601.81,47.9,246.015,-68.0954],[6196.44,-1503.4,47.4667,244.049,-67.7217],[6154.64,-1402.33,47.0167,241.985,-67.3239],[6112.49,-1302.41,46.5667,239.899,-66.9158],[6068.41,-1200.04,46.1,237.713,-66.4815],[6025.56,-1102.53,45.65,235.583,-66.0514],[5980.76,-1002.68,45.1833,233.352,-65.5933],[5933.96,-900.659,44.7,231.019,-65.1055],[5886.76,-800.071,44.2167,228.663,-64.6033],[5839.17,-700.937,43.7333,226.286,-64.0864],[5791.18,-603.278,43.25,223.888,-63.5541],[5739.45,-500.539,42.7333,221.303,-62.9672],[5688.96,-402.766,42.2333,218.781,-62.3811],[5634.63,-300.291,41.7,216.071,-61.7353],[5581.55,-202.833,41.1833,213.428,-61.0884],[5524.55,-101.078,40.6333,210.596,-60.3757],[5467.05,-1.4053,40.0833,207.748,-59.6371],[5407.29,99.0781,39.5167,204.8,-58.8477],[5347,197.286,38.95,201.84,-58.028],[5282.59,298.756,38.35,198.697,-57.1254],[5217.59,397.599,37.75,195.548,-56.1852],[5148.36,499.045,37.1167,192.223,-55.1501],[5078.48,597.478,36.4833,188.902,-54.0685],[5004.23,697.792,35.8167,185.418,-52.8772],[4925.53,799.423,35.1167,181.78,-51.5648],[4844.15,899.492,34.4,178.087,-50.1521],[4758.15,999.836,33.65,174.268,-48.5946],[4667.41,1099.79,32.8667,170.345,-46.8766],[4571.83,1198.63,32.05,166.344,-44.9805],[4467.33,1299.29,31.1667,162.142,-42.8027],[4355.67,1398.49,30.2333,157.877,-40.3507],[4230.59,1499.58,29.2,153.408,-37.4473],[4091.67,1599.74,28.0667,148.875,-34.027],[3932.2,1699.41,26.7833,144.302,-29.8521],[3736.59,1799.95,25.2333,139.732,-24.3925],[3470.75,1899.57,23.1667,135.602,-16.4835],[2939.91,1977.44,19.1667,135.446,-0.0157447]]], - [52,2029.51,[[6309.68,-2001.71,50.0667,254.109,-70.0221],[6273.37,-1902.63,49.65,252.297,-69.7038],[6235.29,-1800.57,49.2167,250.391,-69.365],[6198.39,-1703.39,48.8,248.536,-69.0317],[6159.69,-1603.31,48.3667,246.585,-68.6769],[6119.18,-1500.48,47.9167,244.536,-68.2993],[6079.85,-1402.54,47.4833,242.541,-67.9266],[6038.67,-1301.95,47.0333,240.446,-67.5297],[5997.15,-1202.53,46.5833,238.328,-67.1225],[5953.74,-1100.67,46.1167,236.108,-66.6889],[5909.96,-1000.11,45.65,233.865,-66.2433],[5865.82,-900.853,45.1833,231.6,-65.7853],[5821.31,-802.926,44.7167,229.312,-65.3144],[5774.84,-702.921,44.2333,226.92,-64.8124],[5726.35,-601.011,43.7333,224.422,-64.2773],[5677.45,-500.693,43.2333,221.902,-63.7254],[5628.13,-401.99,42.7333,219.361,-63.156],[5576.74,-301.717,42.2167,216.713,-62.5485],[5523.23,-200.071,41.6833,213.96,-61.8999],[5469.26,-100.344,41.15,211.187,-61.2286],[5414.82,-2.56371,40.6167,208.396,-60.5335],[5356.48,99.1646,40.05,205.415,-59.7675],[5297.62,198.631,39.4833,202.418,-58.9719],[5236.49,298.627,38.9,199.322,-58.1204],[5173.05,398.906,38.3,196.128,-57.2084],[5107.26,499.21,37.6833,192.839,-56.2308],[5039.07,599.272,37.05,189.462,-55.1818],[4968.43,698.807,36.4,186,-54.0553],[4893.48,799.947,35.7167,182.374,-52.8134],[4815.95,899.777,35.0167,178.683,-51.4765],[4735.82,997.967,34.3,174.937,-50.0356],[4649.25,1098.44,33.5333,170.981,-48.4089],[4557.99,1198.18,32.7333,166.925,-46.6118],[4460.01,1298.34,31.8833,162.719,-44.5842],[4353.19,1399.56,30.9667,158.328,-42.2535],[4239.26,1498.54,30,153.9,-39.6251],[4110.05,1599.84,28.9167,149.236,-36.4621],[3965.07,1699.98,27.7167,144.516,-32.6816],[3795.55,1799.41,26.3333,139.778,-27.9606],[3579.61,1899.36,24.6,135.132,-21.5232],[3231.24,2000,21.8667,131.388,-10.4288]]], - [53,2081.07,[[6223.85,-2003.71,50.5167,254.663,-70.5556],[6186.97,-1900.12,50.0833,252.774,-70.2335],[6151.21,-1801.44,49.6667,250.935,-69.9167],[6115.17,-1703.69,49.25,249.075,-69.5927],[6077.39,-1603.02,48.8167,247.118,-69.2477],[6039.3,-1503.38,48.3833,245.139,-68.8943],[5999.41,-1401.01,47.9333,243.059,-68.5181],[5960.69,-1303.51,47.5,241.034,-68.1466],[5920.16,-1203.4,47.05,238.907,-67.751],[5877.77,-1100.82,46.5833,236.678,-67.3297],[5836.57,-1003.13,46.1333,234.505,-66.9124],[5793.48,-903.085,45.6667,232.228,-66.4678],[5748.48,-800.863,45.1833,229.845,-65.994],[5703.1,-700.078,44.7,227.438,-65.5061],[5657.34,-600.749,44.2167,225.008,-65.0035],[5611.21,-502.9,43.7333,222.555,-64.4857],[5563.08,-403.253,43.2333,219.996,-63.9333],[5512.93,-301.996,42.7167,217.328,-63.3438],[5462.34,-202.502,42.2,214.638,-62.7343],[5409.68,-101.675,41.6667,211.84,-62.0834],[5356.56,-2.78283,41.1333,209.023,-61.4093],[5301.32,97.1444,40.5833,206.099,-60.6885],[5243.9,197.885,40.0167,203.069,-59.9175],[5184.26,299.207,39.4333,199.934,-59.092],[5124.1,398.076,38.85,196.787,-58.2326],[5059.93,499.889,38.2333,193.451,-57.2852],[4995.17,598.881,37.6167,190.11,-56.2956],[4928.06,697.568,36.9833,186.679,-55.2329],[4856.77,798.14,36.3167,183.073,-54.0605],[4783,897.652,35.6333,179.391,-52.7982],[4704.9,998.071,34.9167,175.555,-51.4044],[4622.37,1098.77,34.1667,171.581,-49.8645],[4535.3,1199.08,33.3833,167.487,-48.1616],[4443.6,1298.29,32.5667,163.301,-46.2772],[4343.37,1399.33,31.6833,158.891,-44.1058],[4236.3,1498.89,30.75,154.396,-41.6524],[4118.33,1598.82,29.7333,149.738,-38.7837],[3985.21,1699.55,28.6,144.9,-35.3339],[3832.46,1799.84,27.3167,139.974,-31.098],[3649.24,1899.14,25.8,135.071,-25.6442],[3397.04,1999.63,23.75,130.382,-17.5705]]], - [54,2132.08,[[6132.49,-2003.81,50.95,255.179,-71.08],[6097.88,-1903.66,50.5333,253.359,-70.7791],[6061.59,-1800.46,50.1,251.442,-70.4589],[6026.41,-1702.17,49.6833,249.577,-70.1439],[5989.53,-1600.94,49.25,247.614,-69.8085],[5952.35,-1500.73,48.8167,245.627,-69.4649],[5914.87,-1401.56,48.3833,243.617,-69.1129],[5877.09,-1303.43,47.95,241.584,-68.7521],[5837.53,-1202.67,47.5,239.45,-68.3678],[5797.66,-1103.07,47.05,237.291,-67.9734],[5755.96,-1001.03,46.5833,235.027,-67.5531],[5713.91,-900.292,46.1167,232.738,-67.1211],[5671.52,-800.861,45.65,230.425,-66.6769],[5628.78,-702.761,45.1833,228.089,-66.2198],[5584.14,-602.58,44.7,225.645,-65.7325],[5537.58,-500.491,44.2,223.091,-65.2126],[5492.2,-403.32,43.7167,220.6,-64.6943],[5443.28,-301.121,43.2,217.912,-64.1224],[5393.93,-200.675,42.6833,215.201,-63.531],[5344.17,-102.008,42.1667,212.468,-62.9194],[5292.37,-2.05103,41.6333,209.625,-62.2658],[5238.49,98.9862,41.0833,206.672,-61.5668],[5184.15,197.918,40.5333,203.7,-60.8413],[5127.67,297.615,39.9667,200.62,-60.0646],[5069.01,397.84,39.3833,197.435,-59.2324],[5008.15,498.35,38.7833,194.145,-58.3401],[4945.04,598.884,38.1667,190.755,-57.3822],[4879.63,699.173,37.5333,187.268,-56.3532],[4811.88,798.934,36.8833,183.69,-55.2464],[4741.75,897.871,36.2167,180.028,-54.0546],[4667.44,998.014,35.5167,176.2,-52.7379],[4588.83,1098.76,34.7833,172.218,-51.2821],[4505.84,1199.45,34.0167,168.1,-49.6709],[4418.38,1299.39,33.2167,163.869,-47.8863],[4324.49,1399.77,32.3667,159.467,-45.8668],[4224.02,1499.41,31.4667,154.94,-43.5811],[4114.92,1598.71,30.5,150.268,-40.9469],[3993.14,1698.87,29.4333,145.395,-37.813],[3854.41,1799.53,28.2333,140.346,-33.9897],[3692.27,1899.54,26.85,135.223,-29.1834],[3487.85,1999.31,25.1333,130.143,-22.6421]]], - [55,2182.49,[[6035.63,-2002.04,51.3667,255.656,-71.5963],[6001.87,-1901.39,50.95,253.831,-71.3039],[5967.83,-1801.64,50.5333,251.984,-71.0049],[5933.53,-1702.81,50.1167,250.114,-70.6989],[5897.56,-1601,49.6833,248.146,-70.3732],[5861.3,-1500.21,49.25,246.153,-70.0396],[5824.75,-1400.45,48.8167,244.137,-69.6977],[5787.9,-1301.73,48.3833,242.097,-69.3474],[5749.32,-1200.34,47.9333,239.954,-68.9741],[5710.43,-1100.11,47.4833,237.786,-68.591],[5671.22,-1001.06,47.0333,235.593,-68.1976],[5631.69,-903.208,46.5833,233.377,-67.7936],[5590.36,-803.008,46.1167,231.053,-67.3629],[5547.21,-700.624,45.6333,228.621,-66.9037],[5505.19,-603.136,45.1667,226.248,-66.4472],[5459.8,-500.195,44.6667,223.679,-65.9431],[5415.56,-402.193,44.1833,221.171,-65.4404],[5369.41,-302.393,43.6833,218.553,-64.9039],[5321.31,-200.982,43.1667,215.822,-64.3309],[5272.81,-101.338,42.65,213.067,-63.7381],[5222.32,-0.362388,42.1167,210.2,-63.1045],[5171.4,98.6737,41.5833,207.31,-62.4478],[5118.44,198.743,41.0333,204.309,-61.7451],[5063.4,299.625,40.4667,201.196,-60.9926],[5007.88,398.219,39.9,198.066,-60.2096],[4950.24,497.289,39.3167,194.828,-59.3701],[4888.75,599.307,38.7,191.392,-58.4434],[4826.72,698.495,38.0833,187.947,-57.4742],[4760.74,799.938,37.4333,184.311,-56.4038],[4694.15,898.143,36.7833,180.676,-55.2801],[4623.51,997.843,36.1,176.864,-54.0377],[4548.73,1098.45,35.3833,172.886,-52.6631],[4469.71,1199.33,34.6333,168.756,-51.141],[4386.37,1299.81,33.85,164.493,-49.4536],[4298.61,1399.18,33.0333,160.122,-47.5807],[4204.52,1498.53,32.1667,155.59,-45.4579],[4102.11,1598.38,31.2333,150.864,-43.0055],[3989.31,1698.58,30.2167,145.944,-40.1253],[3862.06,1799.6,29.0833,140.804,-36.6434],[3718.01,1898.95,27.8167,135.592,-32.3998],[3541.11,1999.75,26.2833,130.212,-26.7606]]], - [56,2232.23,[[5934.71,-2002.47,51.7833,256.167,-72.1163],[5901.8,-1901.31,51.3667,254.339,-71.8325],[5868.63,-1801.05,50.95,252.488,-71.5422],[5835.2,-1701.7,50.5333,250.614,-71.2452],[5801.49,-1603.27,50.1167,248.716,-70.9413],[5766.16,-1501.88,49.6833,246.719,-70.6177],[5730.54,-1401.53,49.25,244.697,-70.2861],[5694.64,-1302.21,48.8167,242.65,-69.9463],[5657.05,-1200.19,48.3667,240.5,-69.5842],[5620.55,-1103.03,47.9333,238.405,-69.2265],[5582.36,-1003.29,47.4833,236.204,-68.8453],[5542.42,-901.109,47.0167,233.896,-68.439],[5502.14,-800.222,46.55,231.562,-68.0211],[5461.54,-700.651,46.0833,229.201,-67.5911],[5420.6,-602.414,45.6167,226.816,-67.1486],[5377.86,-502.095,45.1333,224.319,-66.6764],[5334.76,-403.248,44.65,221.797,-66.1896],[5289.81,-302.565,44.15,219.162,-65.6699],[5242.97,-200.231,43.6333,216.412,-65.1148],[5197.25,-102.871,43.1333,213.727,-64.5594],[5148.08,-0.861831,42.6,210.837,-63.9461],[5098.49,99.2192,42.0667,207.923,-63.3103],[5048.48,197.344,41.5333,204.986,-62.6509],[4994.89,299.426,40.9667,201.843,-61.9229],[4940.83,399.234,40.4,198.679,-61.1653],[4884.7,499.567,39.8167,195.404,-60.3528],[4828.08,597.42,39.2333,192.113,-59.5051],[4767.7,698.127,38.6167,188.62,-58.5687],[4705.13,798.584,37.9833,185.024,-57.5611],[4640.33,898.508,37.3333,181.33,-56.4757],[4573.27,997.603,36.6667,177.543,-55.305],[4502.21,1097.9,35.9667,173.578,-54.009],[4427.05,1198.79,35.2333,169.447,-52.573],[4347.72,1299.62,34.4667,165.166,-50.9798],[4264.12,1399.69,33.6667,160.756,-49.2102],[4176.17,1498.27,32.8333,156.247,-47.2421],[4078.42,1599.93,31.9167,151.414,-44.9195],[3974.22,1699.32,30.95,146.5,-42.2788],[3857.93,1799.54,29.8833,141.35,-39.1215],[3727.37,1898.94,28.7,136.052,-35.3034],[3572.7,1999.15,27.3167,130.548,-30.4041]]], - [57,2281.27,[[5828.38,-2001.08,52.1833,256.64,-72.6291],[5797.62,-1903.5,51.7833,254.881,-72.3648],[5765.32,-1802.72,51.3667,253.027,-72.0833],[5732.76,-1702.84,50.95,251.149,-71.7954],[5699.95,-1603.87,50.5333,249.247,-71.5007],[5665.54,-1501.93,50.1,247.245,-71.187],[5630.86,-1401.01,49.6667,245.217,-70.8654],[5595.89,-1301.11,49.2333,243.165,-70.5359],[5560.64,-1202.27,48.8,241.087,-70.198],[5523.75,-1100.75,48.35,238.904,-69.8379],[5486.54,-1000.4,47.9,236.695,-69.4682],[5449.04,-901.22,47.45,234.46,-69.0884],[5411.24,-803.242,47,232.2,-68.6981],[5371.72,-702.918,46.5333,229.829,-68.2819],[5330.45,-600.409,46.05,227.347,-67.838],[5290.27,-502.804,45.5833,224.923,-67.3964],[5248.32,-403.152,45.1,222.387,-66.9251],[5204.56,-301.626,44.6,219.736,-66.4218],[5160.44,-201.714,44.1,217.059,-65.9019],[5114.46,-100.191,43.5833,214.264,-65.3463],[5068.09,-0.441125,43.0667,211.444,-64.7711],[5021.34,97.5093,42.55,208.599,-64.1755],[4971.16,199.773,42,205.544,-63.5176],[4920.54,299.937,41.45,202.466,-62.834],[4869.49,397.971,40.9,199.365,-62.1232],[4814.88,499.585,40.3167,196.054,-61.338],[4759.79,598.732,39.7333,192.724,-60.5187],[4702.64,698.1,39.1333,189.283,-59.6383],[4643.39,797.429,38.5167,185.734,-58.6911],[4580.38,899.009,37.8667,181.983,-57.6434],[4515.16,999.82,37.2,178.132,-56.5127],[4447.69,1099.55,36.5167,174.19,-55.2908],[4377.95,1197.89,35.8167,170.164,-53.9685],[4302.52,1298.87,35.0667,165.878,-52.4667],[4222.98,1399.45,34.2833,161.444,-50.7973],[4139.24,1498.9,33.4667,156.887,-48.939],[4049.48,1598.32,32.6,152.15,-46.8254],[3950.06,1699.93,31.65,147.106,-44.3282],[3844.25,1798.44,30.65,142.01,-41.481],[3722.96,1899.45,29.5167,136.57,-37.9644],[3583.88,1999.96,28.2333,130.946,-33.5901]]], - [58,2329.53,[[5718,-2002.04,52.5833,257.146,-73.146],[5688.06,-1903.99,52.1833,255.385,-72.8898],[5656.63,-1802.71,51.7667,253.527,-72.617],[5624.95,-1702.33,51.35,251.645,-72.3379],[5593.02,-1602.86,50.9333,249.74,-72.0523],[5559.54,-1500.39,50.5,247.732,-71.7482],[5527.09,-1402.81,50.0833,245.778,-71.4486],[5493.07,-1302.34,49.65,243.72,-71.1295],[5458.79,-1202.91,49.2167,241.637,-70.8022],[5422.89,-1100.77,48.7667,239.447,-70.4535],[5388.04,-1003.51,48.3333,237.312,-70.1089],[5351.57,-903.654,47.8833,235.07,-69.7414],[5313.43,-801.361,47.4167,232.717,-69.3496],[5274.98,-700.367,46.95,230.336,-68.9464],[5236.21,-600.692,46.4833,227.927,-68.5314],[5197.13,-502.354,46.0167,225.492,-68.1041],[5156.33,-401.934,45.5333,222.943,-67.6479],[5115.18,-302.991,45.05,220.366,-67.1773],[5072.27,-202.213,44.55,217.673,-66.6745],[5029.01,-103.062,44.05,214.952,-66.1548],[4983.93,-2.34078,43.5333,212.113,-65.5992],[4937,99.7532,43,209.154,-65.0047],[4889.67,199.913,42.4667,206.168,-64.3879],[4841.95,298.109,41.9333,203.157,-63.7475],[4792.32,397.289,41.3833,200.028,-63.0612],[4740.76,497.226,40.8167,196.78,-62.325],[4687.22,597.686,40.2333,193.415,-61.5344],[4631.67,698.419,39.6333,189.934,-60.6846],[4574.08,799.165,39.0167,186.338,-59.7701],[4514.4,899.652,38.3833,182.632,-58.7846],[4452.61,999.595,37.7333,178.82,-57.7213],[4388.67,1098.7,37.0667,174.908,-56.5723],[4320.91,1198.99,36.3667,170.806,-55.2978],[4249.27,1299.85,35.6333,166.525,-53.8823],[4175.32,1398.5,34.8833,162.177,-52.3432],[4095.68,1498.63,34.0833,157.589,-50.5917],[4010.22,1599.15,33.2333,152.791,-48.5968],[3918.81,1698.91,32.3333,147.827,-46.3221],[3817.88,1799.92,31.35,142.58,-43.6302],[3707.19,1899.94,30.2833,137.154,-40.4476],[3582.94,1999.07,29.1,131.542,-36.5747]]], - [59,2376.98,[[5602.3,-2001.29,52.9667,257.614,-73.6564],[5573.19,-1902.79,52.5667,255.85,-73.4082],[5542.63,-1801.05,52.15,253.989,-73.1439],[5511.83,-1700.19,51.7333,252.103,-72.8736],[5480.78,-1600.24,51.3167,250.193,-72.5969],[5449.48,-1501.21,50.9,248.258,-72.3137],[5417.93,-1403.11,50.4833,246.299,-72.0237],[5384.87,-1302.08,50.05,244.236,-71.7148],[5351.53,-1202.09,49.6167,242.147,-71.398],[5317.93,-1103.15,49.1833,240.032,-71.0731],[5282.76,-1001.53,48.7333,237.808,-70.7268],[5247.3,-901.078,48.2833,235.558,-70.371],[5211.55,-801.81,47.8333,233.28,-70.0054],[5174.18,-700.134,47.3667,230.889,-69.6155],[5137.85,-603.33,46.9167,228.558,-69.2286],[5098.52,-500.733,46.4333,226.024,-68.8007],[5060.23,-403.047,45.9667,223.551,-68.3748],[5020.25,-303.315,45.4833,220.961,-67.92],[4978.56,-201.711,44.9833,218.252,-67.434],[4936.51,-101.726,44.4833,215.515,-66.9317],[4892.7,-0.133156,43.9667,212.657,-66.3945],[4848.53,99.6806,43.45,209.771,-65.838],[4803.99,197.689,42.9333,206.857,-65.2611],[4757.63,296.938,42.4,203.823,-64.6432],[4709.43,397.214,41.85,200.667,-63.9808],[4659.34,498.294,41.2833,197.389,-63.2701],[4607.33,599.942,40.7,193.99,-62.5068],[4554.87,699.115,40.1167,190.568,-61.7094],[4500.45,798.5,39.5167,187.028,-60.8513],[4444.04,897.835,38.9,183.373,-59.9268],[4384.05,999.41,38.25,179.507,-58.9026],[4323.53,1097.73,37.6,175.633,-57.8238],[4257.76,1199.9,36.9,171.459,-56.5964],[4191.39,1298.19,36.2,167.293,-55.2961],[4119.63,1399.11,35.45,162.849,-53.8156],[4043.96,1499.6,34.6667,158.244,-52.1654],[3964.31,1598.94,33.85,153.501,-50.3224],[3878.96,1698.21,32.9833,148.557,-48.2185],[3784.44,1799.63,32.0333,143.277,-45.7222],[3682.2,1899.48,31.0167,137.837,-42.8118],[3568.64,1998.63,29.9,132.183,-39.3073]]], - [60,2423.56,[[5482.54,-2002.98,53.35,258.115,-74.1713],[5454.27,-1904.03,52.95,256.35,-73.9312],[5424.59,-1801.81,52.5333,254.486,-73.6755],[5394.68,-1700.48,52.1167,252.597,-73.414],[5364.52,-1600.04,51.7,250.683,-73.1463],[5334.12,-1500.52,51.2833,248.744,-72.8723],[5303.48,-1401.92,50.8667,246.781,-72.5918],[5271.36,-1300.37,50.4333,244.712,-72.2929],[5240.23,-1203.69,50.0167,242.698,-71.9983],[5206.35,-1100.37,49.5667,240.496,-71.672],[5173.45,-1001.95,49.1333,238.348,-71.3495],[5139.02,-900.889,48.6833,236.09,-71.0056],[5104.3,-801.003,48.2333,233.804,-70.6521],[5069.31,-702.311,47.7833,231.491,-70.2888],[5032.73,-601.243,47.3167,229.063,-69.9011],[4995.86,-501.497,46.85,226.607,-69.5018],[4958.68,-403.093,46.3833,224.122,-69.0904],[4919.87,-302.61,45.9,221.519,-68.6511],[4879.38,-200.221,45.4,218.796,-68.1816],[4839.93,-102.774,44.9167,216.135,-67.7127],[4797.4,-0.294746,44.4,213.26,-67.1942],[4755.91,97.1946,43.9,210.449,-66.6747],[4711.29,199.33,43.3667,207.421,-66.1001],[4666.29,299.524,42.8333,204.364,-65.5035],[4620.91,397.748,42.3,201.279,-64.8836],[4572.3,499.921,41.7333,197.972,-64.1979],[4523.27,599.804,41.1667,194.639,-63.4828],[4473.83,697.363,40.6,191.282,-62.7365],[4421.03,798.092,40,187.703,-61.9101],[4366.3,898.822,39.3833,184.004,-61.0195],[4309.59,999.282,38.75,180.188,-60.0584],[4250.88,1099.19,38.1,176.258,-59.0195],[4190.14,1198.23,37.4333,172.219,-57.8948],[4125.78,1298.45,36.7333,167.979,-56.6446],[4057.74,1399.22,36,163.547,-55.2527],[3985.95,1499.9,35.2333,158.937,-53.7004],[3910.32,1599.77,34.4333,154.17,-51.9657],[3830.79,1698.09,33.6,149.272,-50.0233],[3742.43,1799.42,32.6833,143.993,-47.7127],[3648.3,1898.4,31.7167,138.59,-45.0609],[3541.66,1999.58,30.6333,132.794,-41.8031]]], - [61,2469.22,[[5357.59,-2003.05,53.7167,258.578,-74.6807],[5330.16,-1903.68,53.3167,256.81,-74.4485],[5301.36,-1801.01,52.9,254.943,-74.2013],[5273.5,-1703.27,52.5,253.128,-73.9586],[5244.24,-1602.34,52.0833,251.211,-73.7],[5214.75,-1502.31,51.6667,249.269,-73.4354],[5185.03,-1403.2,51.25,247.302,-73.1644],[5153.87,-1301.12,50.8167,245.229,-72.8756],[5122.46,-1200.06,50.3833,243.129,-72.5795],[5090.79,-1100.04,49.95,241.002,-72.2758],[5058.88,-1001.07,49.5167,238.848,-71.9642],[5026.71,-903.17,49.0833,236.668,-71.6444],[4993.05,-802.655,48.6333,234.375,-71.3033],[4959.11,-703.326,48.1833,232.054,-70.9526],[4923.63,-601.591,47.7167,229.617,-70.5783],[4887.86,-501.171,47.25,227.151,-70.1929],[4851.8,-402.085,46.7833,224.656,-69.7958],[4814.15,-300.887,46.3,222.041,-69.3716],[4776.19,-201.164,45.8167,219.395,-68.9337],[4737.92,-102.936,45.3333,216.72,-68.4814],[4698.02,-2.91688,44.8333,213.923,-67.9977],[4656.44,98.7047,44.3167,211.001,-67.48],[4614.52,198.541,43.8,208.049,-66.9434],[4570.89,299.697,43.2667,204.97,-66.3683],[4526.89,398.893,42.7333,201.862,-65.7707],[4481.15,499.106,42.1833,198.627,-65.1295],[4435.02,597.174,41.6333,195.364,-64.4614],[4385.68,698.807,41.05,191.875,-63.7217],[4335.92,797.954,40.4667,188.361,-62.948],[4284.31,897.302,39.8667,184.722,-62.1144],[4229.36,999.232,39.2333,180.859,-61.19],[4173.92,1098.1,38.6,176.979,-60.2168],[4115.06,1198.81,37.9333,172.881,-59.1356],[4054.19,1298.42,37.25,168.674,-57.9625],[3989.78,1398.88,36.5333,164.264,-56.6561],[3921.76,1499.56,35.7833,159.662,-55.1984],[3850.05,1599.78,35,154.884,-53.5686],[3774.58,1698.81,34.1833,149.954,-51.7423],[3692.16,1799.56,33.3,144.704,-49.6073],[3604.21,1898.73,32.3667,139.286,-47.1543],[3505.81,1999.64,31.3333,133.491,-44.1792]]], - [62,2513.9,[[5227.51,-2001.52,54.0667,259.002,-75.1853],[5200.92,-1901.73,53.6667,257.231,-74.961],[5174.12,-1802.75,53.2667,255.437,-74.7318],[5145.98,-1700.5,52.85,253.542,-74.4876],[5118.76,-1603.17,52.45,251.699,-74.2478],[5090.18,-1502.66,52.0333,249.754,-73.9923],[5061.37,-1403.08,51.6167,247.783,-73.7307],[5031.18,-1300.49,51.1833,245.706,-73.452],[5001.91,-1202.8,50.7667,243.683,-73.1772],[4971.23,-1102.23,50.3333,241.551,-72.8843],[4940.31,-1002.7,49.9,239.392,-72.5838],[4907.94,-900.463,49.45,237.121,-72.2633],[4876.52,-803.116,49.0167,234.906,-71.9463],[4843.63,-703.184,48.5667,232.578,-71.608],[4809.25,-600.816,48.1,230.133,-71.2469],[4775.83,-503.343,47.65,227.746,-70.8886],[4739.64,-400.023,47.1667,225.151,-70.492],[4704.42,-301.637,46.7,222.615,-70.0971],[4667.65,-201.178,46.2167,219.957,-69.675],[4630.58,-102.206,45.7333,217.269,-69.2391],[4591.92,-1.40985,45.2333,214.457,-68.7728],[4552.94,97.7472,44.7333,211.614,-68.2901],[4512.34,198.462,44.2167,208.643,-67.7732],[4471.4,297.375,43.7,205.642,-67.237],[4428.79,397.559,43.1667,202.513,-66.662],[4384.49,498.804,42.6167,199.253,-66.045],[4339.81,597.913,42.0667,195.964,-65.402],[4293.4,697.761,41.5,192.546,-64.7107],[4245.22,798.108,40.9167,188.998,-63.9667],[4195.25,898.704,40.3167,185.322,-63.1648],[4143.44,999.287,39.7,181.518,-62.2993],[4089.77,1099.58,39.0667,177.59,-61.3637],[4034.22,1199.3,38.4167,173.54,-60.3506],[3976.74,1298.14,37.75,169.375,-59.2517],[3915.86,1398.13,37.05,164.995,-58.0274],[3851.51,1498.64,36.3167,160.411,-56.6609],[3783.61,1599.02,35.55,155.636,-55.1325],[3712.1,1698.57,34.75,150.687,-53.4188],[3635.41,1798.42,33.9,145.491,-51.4526],[3551.89,1899.18,32.9833,139.988,-49.1476],[3461.39,1999.15,32,134.244,-46.4405]]], - [63,2557.57,[[5093.45,-2002.6,54.4167,259.46,-75.6949],[5067.71,-1902.4,54.0167,257.688,-75.4785],[5041.76,-1803,53.6167,255.892,-75.2574],[5014.53,-1700.31,53.2,253.994,-75.0219],[4988.17,-1602.56,52.8,252.149,-74.7906],[4960.5,-1501.61,52.3833,250.2,-74.5441],[4932.62,-1401.56,51.9667,248.225,-74.2918],[4904.51,-1302.44,51.55,246.224,-74.0333],[4875.04,-1200.35,51.1167,244.115,-73.7578],[4846.49,-1103.15,50.7,242.061,-73.4862],[4816.56,-1003.09,50.2667,239.897,-73.1965],[4785.23,-900.299,49.8167,237.62,-72.8877],[4754.82,-802.408,49.3833,235.398,-72.5821],[4722.99,-701.904,48.9333,233.063,-72.256],[4690.9,-602.592,48.4833,230.697,-71.9206],[4657.36,-500.879,48.0167,228.213,-71.5626],[4623.55,-400.486,47.55,225.698,-71.1936],[4589.46,-301.433,47.0833,223.152,-70.8133],[4553.88,-200.275,46.6,220.483,-70.4068],[4518,-100.597,46.1167,217.782,-69.9869],[4481.84,-2.42033,45.6333,215.05,-69.5529],[4444.13,97.5379,45.1333,212.191,-69.0885],[4404.84,199.09,44.6167,209.204,-68.5911],[4365.23,298.848,44.1,206.184,-68.075],[4324,399.916,43.5667,203.034,-67.5216],[4282.44,499.015,43.0333,199.851,-66.9459],[4239.22,599.12,42.4833,196.537,-66.3275],[4195.65,697.069,41.9333,193.192,-65.6826],[4149.05,798.565,41.35,189.613,-64.9677],[4102.06,897.564,40.7667,186.004,-64.2189],[4051.96,999.465,40.15,182.161,-63.388],[4001.43,1098.49,39.5333,178.293,-62.5137],[3947.72,1199.71,38.8833,174.193,-61.5417],[3893.54,1297.65,38.2333,170.076,-60.514],[3834.68,1399.38,37.5333,165.629,-59.3398],[3773.89,1499.47,36.8167,161.072,-58.0591],[3709.69,1599.73,36.0667,156.311,-56.6262],[3642.03,1699.49,35.2833,151.359,-55.0189],[3569.38,1799.97,34.45,146.136,-53.1729],[3493.12,1898.2,33.5833,140.777,-51.0891],[3408.7,1998.41,32.6333,135.023,-48.5927]]], - [64,2600.16,[[4954.37,-2002.17,54.75,259.88,-76.2007],[4929.48,-1901.59,54.35,258.106,-75.9921],[4904.4,-1801.79,53.95,256.307,-75.779],[4879.12,-1702.8,53.55,254.484,-75.5612],[4852.57,-1600.53,53.1333,252.559,-75.3291],[4826.9,-1503.2,52.7333,250.685,-75.1011],[4799.94,-1402.69,52.3167,248.707,-74.8581],[4772.77,-1303.11,51.9,246.703,-74.6092],[4744.28,-1200.52,51.4667,244.59,-74.3439],[4716.68,-1102.84,51.05,242.531,-74.0824],[4687.74,-1002.28,50.6167,240.362,-73.8034],[4658.58,-902.764,50.1833,238.164,-73.5171],[4628.05,-800.552,49.7333,235.851,-73.2117],[4598.43,-703.229,49.3,233.595,-72.9094],[4567.41,-603.327,48.85,231.223,-72.5868],[4535,-500.995,48.3833,228.73,-72.2423],[4503.49,-403.561,47.9333,226.297,-71.9001],[4469.37,-300.29,47.45,223.65,-71.5213],[4436.16,-201.956,46.9833,221.063,-71.1438],[4401.5,-101.557,46.5,218.351,-70.7402],[4366.55,-2.65259,46.0167,215.606,-70.323],[4330.11,98.0675,45.5167,212.734,-69.8765],[4293.37,197.141,45.0167,209.828,-69.414],[4255.1,297.762,44.5,206.791,-68.9183],[4215.27,399.73,43.9667,203.622,-68.3867],[4175.11,499.739,43.4333,200.418,-67.8336],[4134.62,597.762,42.9,197.181,-67.2579],[4091.25,699.7,42.3333,193.708,-66.6197],[4047.51,799.328,41.7667,190.203,-65.9526],[4002.12,899.437,41.1833,186.562,-65.2336],[3955.03,999.776,40.5833,182.786,-64.4577],[3907.55,1097.41,39.9833,178.983,-63.6421],[3857.02,1197.48,39.35,174.942,-62.7351],[3803.36,1299.46,38.6833,170.666,-61.7251],[3749.24,1397.95,38.0167,166.372,-60.6539],[3690.55,1499.87,37.3,161.744,-59.4282],[3629.96,1599.86,36.5667,157.006,-58.0873],[3566.04,1699.66,35.8,152.064,-56.5828],[3498.75,1798.57,35,146.933,-54.8899],[3425.16,1899.61,34.1333,141.431,-52.8997],[3346.59,1999.45,33.2167,135.703,-50.5984]]], - [65,2641.63,[[4810.36,-2000.25,55.0667,260.262,-76.7033],[4787.33,-1903.5,54.6833,258.56,-76.5109],[4763.11,-1803.31,54.2833,256.759,-76.306],[4738.71,-1703.9,53.8833,254.934,-76.0964],[4713.08,-1601.21,53.4667,253.006,-75.8732],[4688.29,-1503.47,53.0667,251.13,-75.6538],[4662.27,-1402.52,52.65,249.15,-75.4201],[4636.04,-1302.49,52.2333,247.142,-75.1806],[4609.6,-1203.39,51.8167,245.106,-74.9354],[4581.89,-1101.32,51.3833,242.961,-74.6738],[4553.95,-1000.28,50.95,240.787,-74.4055],[4525.79,-900.284,50.5167,238.583,-74.13],[4497.42,-801.352,50.0833,236.35,-73.8472],[4468.82,-703.498,49.65,234.088,-73.5566],[4438.89,-603.037,49.2,231.708,-73.2465],[4407.6,-500.12,48.7333,229.208,-72.9154],[4377.18,-402.116,48.2833,226.766,-72.5865],[4345.39,-301.784,47.8167,224.202,-72.2351],[4313.34,-202.797,47.35,221.605,-71.8726],[4279.89,-101.715,46.8667,218.882,-71.4849],[4246.16,-2.11891,46.3833,216.126,-71.0843],[4210.99,99.3239,45.8833,213.239,-70.6554],[4175.54,199.128,45.3833,210.318,-70.2111],[4139.8,297.27,44.8833,207.364,-69.7505],[4102.57,396.91,44.3667,204.276,-69.2567],[4063.83,497.846,43.8333,201.054,-68.7265],[4023.55,599.866,43.2833,197.694,-68.157],[3982.93,699.751,42.7333,194.299,-67.5627],[3941.99,797.47,42.1833,190.87,-66.9422],[3898.2,898.709,41.6,187.2,-66.2535],[3854.05,997.439,41.0167,183.497,-65.5312],[3806.99,1099.04,40.4,179.55,-64.7285],[3759.53,1197.75,39.7833,175.573,-63.8824],[3709.08,1298.63,39.1333,171.355,-62.94],[3656.89,1398.66,38.4667,167.005,-61.9151],[3601.62,1499.88,37.7667,162.42,-60.77],[3544.53,1599.43,37.05,157.716,-59.5176],[3484.27,1699.11,36.3,152.793,-58.1122],[3420.76,1798.23,35.5167,147.666,-56.5303],[3351.22,1899.93,34.6667,142.139,-54.6681],[3278.28,1999.07,33.7833,136.463,-52.5543]]], - [66,2681.93,[[4662.47,-2001.14,55.3833,260.678,-77.2114],[4640.27,-1904.03,55,258.975,-77.0266],[4616.93,-1803.46,54.6,257.173,-76.8296],[4593.4,-1703.67,54.2,255.346,-76.6283],[4568.7,-1600.58,53.7833,253.415,-76.4137],[4544.8,-1502.44,53.3833,251.537,-76.203],[4519.71,-1401.09,52.9667,249.552,-75.9784],[4494.43,-1300.65,52.55,247.541,-75.7483],[4468.94,-1201.12,52.1333,245.501,-75.5126],[4443.25,-1102.54,51.7167,243.435,-75.271],[4416.33,-1001.01,51.2833,241.256,-75.0134],[4389.19,-900.524,50.85,239.047,-74.7489],[4361.84,-801.096,50.4167,236.809,-74.4774],[4334.28,-702.74,49.9833,234.541,-74.1984],[4305.43,-601.752,49.5333,232.155,-73.9006],[4276.34,-501.956,49.0833,229.737,-73.5942],[4247.04,-403.368,48.6333,227.288,-73.2788],[4216.4,-302.425,48.1667,224.715,-72.9417],[4185.52,-202.82,47.7,222.109,-72.5939],[4153.28,-101.09,47.2167,219.376,-72.2221],[4120.78,-0.839611,46.7333,216.608,-71.8377],[4088.02,97.9095,46.25,213.805,-71.4402],[4053.86,198.46,45.75,210.871,-71.0144],[4019.43,297.356,45.25,207.902,-70.573],[3983.56,397.785,44.7333,204.798,-70.0995],[3946.23,499.544,44.2,201.556,-69.5913],[3908.6,599.334,43.6667,198.278,-69.0621],[3870.66,697.127,43.1333,194.964,-68.5106],[3830.03,798.811,42.5667,191.407,-67.8987],[3789.06,898.172,42,187.813,-67.2582],[3746.53,997.993,41.4167,184.079,-66.5669],[3702.43,1098.02,40.8167,180.204,-65.8198],[3656.73,1197.99,40.2,176.189,-65.0108],[3609.4,1297.63,39.5667,172.034,-64.1333],[3559.15,1399.13,38.9,167.633,-63.1541],[3507.2,1499.52,38.2167,163.098,-62.0863],[3453.53,1598.48,37.5167,158.435,-60.9191],[3396.82,1697.87,36.7833,153.542,-59.6089],[3335.7,1799.12,36,148.319,-58.1007],[3271.42,1899.2,35.1833,142.895,-56.3957],[3202.56,1999.19,34.3167,137.184,-54.4216]]], - [67,2721.02,[[4509.8,-2000.61,55.6833,261.057,-77.7172],[4488.43,-1903.16,55.3,259.352,-77.5398],[4465.96,-1802.24,54.9,257.548,-77.3507],[4443.32,-1702.1,54.5,255.719,-77.1575],[4420.5,-1602.75,54.1,253.863,-76.9599],[4396.54,-1500.13,53.6833,251.904,-76.7494],[4373.36,-1402.44,53.2833,249.996,-76.5425],[4349.03,-1301.57,52.8667,247.982,-76.3219],[4324.5,-1201.62,52.45,245.939,-76.0959],[4299.79,-1102.59,52.0333,243.869,-75.8643],[4273.88,-1000.61,51.6,241.686,-75.6172],[4248.77,-903.528,51.1833,239.558,-75.3735],[4222.46,-803.591,50.75,237.316,-75.1134],[4194.92,-700.94,50.3,234.955,-74.8358],[4168.19,-603.195,49.8667,232.651,-74.561],[4140.21,-502.853,49.4167,230.227,-74.2674],[4110.96,-400.066,48.95,227.679,-73.9539],[4082.54,-302.193,48.5,225.19,-73.6423],[4052.83,-202.004,48.0333,222.575,-73.3091],[4022.88,-103.167,47.5667,219.926,-72.9653],[3991.62,-2.24697,47.0833,217.148,-72.5974],[3960.11,97.1789,46.6,214.335,-72.2169],[3927.25,198.437,46.1,211.388,-71.8094],[3894.13,298.049,45.6,208.404,-71.3868],[3859.62,399.224,45.0833,205.284,-70.9336],[3824.84,498.588,44.5667,202.127,-70.4625],[3788.65,599.228,44.0333,198.83,-69.9564],[3752.16,697.879,43.5,195.495,-69.4288],[3714.24,797.5,42.95,192.02,-68.861],[3674.84,897.861,42.3833,188.401,-68.249],[3633.95,998.723,41.8,184.637,-67.5884],[3591.54,1099.83,41.2,180.729,-66.8742],[3548.78,1198.23,40.6,176.786,-66.1221],[3503.27,1299.11,39.9667,172.589,-65.2839],[3456.17,1399.42,39.3167,168.251,-64.3724],[3407.46,1498.83,38.65,163.773,-63.3789],[3355.87,1599.4,37.95,159.048,-62.2659],[3302.61,1698.25,37.2333,154.194,-61.0453],[3245.13,1799.31,36.4667,148.995,-59.6392],[3184.62,1899.52,35.6667,143.577,-58.0495],[3121.02,1998.15,34.8333,137.962,-56.245]]], - [68,2758.84,[[4353.3,-2002.99,55.9833,261.471,-78.2285],[4331.88,-1900.97,55.5833,259.691,-78.0512],[4311.2,-1803.92,55.2,257.96,-77.8777],[4289.45,-1703.41,54.8,256.129,-77.6927],[4267.53,-1603.69,54.4,254.273,-77.5035],[4244.52,-1500.68,53.9833,252.311,-77.3019],[4222.25,-1402.61,53.5833,250.401,-77.1039],[4198.88,-1301.34,53.1667,248.383,-76.8926],[4175.32,-1200.99,52.75,246.338,-76.6762],[4151.58,-1101.56,52.3333,244.263,-76.4545],[4127.65,-1003.06,51.9167,242.161,-76.2272],[4102.57,-901.644,51.4833,239.943,-75.9846],[4077.3,-801.269,51.05,237.696,-75.7355],[4051.82,-701.956,50.6167,235.417,-75.4797],[4026.15,-603.722,50.1833,233.108,-75.2167],[3999.28,-502.866,49.7333,230.677,-74.9359],[3972.2,-403.208,49.2833,228.214,-74.6468],[3943.89,-301.142,48.8167,225.625,-74.3378],[3915.36,-200.402,48.35,223.002,-74.0191],[3886.6,-101.009,47.8833,220.344,-73.6902],[3857.61,-2.98223,47.4167,217.651,-73.3505],[3827.36,97.0838,46.9333,214.827,-72.9868],[3795.8,199.012,46.4333,211.868,-72.5972],[3764,299.3,45.9333,208.871,-72.1933],[3731.94,397.923,45.4333,205.837,-71.7742],[3698.55,498.06,44.9167,202.664,-71.3244],[3663.8,599.507,44.3833,199.349,-70.841],[3628.77,698.973,43.85,195.995,-70.3372],[3592.36,799.443,43.3,192.497,-69.7948],[3555.65,897.744,42.75,188.96,-69.2276],[3516.4,999.597,42.1667,185.17,-68.5972],[3476.82,1098.94,41.5833,181.34,-67.9349],[3435.79,1198.45,40.9833,177.363,-67.2179],[3393.27,1297.88,40.3667,173.239,-66.4401],[3348.07,1399.5,39.7167,168.857,-65.5719],[3302.5,1497.81,39.0667,164.442,-64.6495],[3253.01,1599.92,38.3667,159.658,-63.5901],[3203.09,1698.08,37.6667,154.852,-62.4556],[3149.16,1798.79,36.9167,149.687,-61.1479],[3092.33,1898.98,36.1333,144.289,-59.6693],[3031.34,1999.87,35.3,138.56,-57.9548]]], - [69,2795.37,[[4192.16,-2004.06,56.2667,261.848,-78.7383],[4171.63,-1901.7,55.8667,260.067,-78.5688],[4150.93,-1800.11,55.4667,258.259,-78.3956],[4130.95,-1703.47,55.0833,256.502,-78.2261],[4109.93,-1603.41,54.6833,254.644,-78.0452],[4087.87,-1500.03,54.2667,252.679,-77.8525],[4066.52,-1401.61,53.8667,250.767,-77.6632],[4045.01,-1304.02,53.4667,248.828,-77.4694],[4022.44,-1203.25,53.05,246.779,-77.2628],[3999.68,-1103.4,52.6333,244.702,-77.051],[3975.83,-1000.54,52.2,242.512,-76.8251],[3952.71,-902.614,51.7833,240.376,-76.6022],[3928.48,-801.789,51.35,238.123,-76.3643],[3904.07,-702.022,50.9167,235.84,-76.12],[3879.46,-603.327,50.4833,233.525,-75.8689],[3853.71,-501.989,50.0333,231.089,-75.6007],[3827.75,-401.842,49.5833,228.619,-75.3245],[3801.59,-302.906,49.1333,226.115,-75.0401],[3774.24,-201.601,48.6667,223.484,-74.736],[3746.68,-101.637,48.2,220.818,-74.4221],[3718.9,-3.0334,47.7333,218.116,-74.098],[3689.91,97.6366,47.25,215.282,-73.7509],[3660.68,196.804,46.7667,212.41,-73.3917],[3630.21,297.785,46.2667,209.401,-73.0067],[3599.49,397.11,45.7667,206.354,-72.6072],[3567.49,497.978,45.25,203.167,-72.1783],[3535.24,597.024,44.7333,199.939,-71.7321],[3501.69,697.324,44.2,196.568,-71.2523],[3466.8,798.664,43.65,193.05,-70.7357],[3431.64,897.844,43.1,189.491,-70.1954],[3395.11,997.736,42.5333,185.784,-69.6124],[3357.21,1098.1,41.95,181.927,-68.9822],[3317.9,1198.68,41.35,177.919,-68.2997],[3277.17,1299.21,40.7333,173.759,-67.5593],[3234.99,1399.42,40.1,169.449,-66.7543],[3191.35,1499,39.45,164.988,-65.8769],[3146.21,1597.66,38.7833,160.381,-64.9184],[3097.28,1699.74,38.0667,155.398,-63.8151],[3046.78,1799.84,37.3333,150.276,-62.5998],[2993.54,1899.74,36.5667,144.908,-61.2257],[2937.5,1998.7,35.7667,139.306,-59.6655]]], - [70,2830.53,[[4026.45,-2003.88,56.5333,262.189,-79.247],[4006.81,-1901.2,56.1333,260.406,-79.0853],[3987.84,-1803.52,55.75,258.672,-78.927],[3967.9,-1702.35,55.35,256.838,-78.7583],[3947.79,-1601.97,54.95,254.977,-78.5857],[3927.53,-1502.38,54.55,253.089,-78.4093],[3907.12,-1403.6,54.15,251.175,-78.2288],[3885.69,-1301.57,53.7333,249.152,-78.0363],[3864.09,-1200.45,53.3167,247.1,-77.8392],[3842.32,-1100.24,52.9,245.019,-77.6371],[3820.38,-1000.97,52.4833,242.909,-77.4299],[3798.27,-902.637,52.0667,240.769,-77.2175],[3775.1,-801.391,51.6333,238.512,-76.9907],[3751.74,-701.197,51.2,236.224,-76.7577],[3728.21,-602.071,50.7667,233.904,-76.5183],[3703.57,-500.281,50.3167,231.461,-76.2626],[3679.67,-403.382,49.8833,229.077,-76.0092],[3653.72,-300.278,49.4167,226.474,-75.7281],[3628.51,-202.102,48.9667,223.929,-75.4487],[3602.15,-101.601,48.5,221.254,-75.1497],[3575.59,-2.45396,48.0333,218.544,-74.841],[3547.86,98.7846,47.55,215.699,-74.5104],[3519.91,198.526,47.0667,212.817,-74.1682],[3491.74,296.749,46.5833,209.897,-73.8139],[3462.38,396.735,46.0833,206.837,-73.4337],[3431.79,498.296,45.5667,203.635,-73.0256],[3400.95,598.041,45.05,200.392,-72.6009],[3368.87,699.07,44.5167,197.003,-72.1442],[3336.53,798.107,43.9833,193.573,-71.6676],[3302.91,898.121,43.4333,189.993,-71.1539],[3267.99,998.881,42.8667,186.262,-70.5994],[3232.8,1097.29,42.3,182.49,-70.0175],[3195.23,1198.88,41.7,178.452,-69.3692],[3157.36,1297.76,41.1,174.373,-68.6852],[3117.05,1399.14,40.4667,170.025,-67.9212],[3075.34,1499.94,39.8167,165.522,-67.0883],[3032.21,1599.86,39.15,160.865,-66.178],[2987.63,1698.59,38.4667,156.058,-65.1801],[2940.49,1798.05,37.75,150.988,-64.0558],[2889.63,1899.76,36.9833,145.542,-62.7552],[2837.22,1998.59,36.2,139.966,-61.3092]]], - [71,2864.3,[[3856.32,-2002.44,56.7833,262.492,-79.7554],[3838.36,-1903.75,56.4,260.782,-79.6078],[3819.47,-1801.51,56,258.972,-79.4507],[3800.44,-1700.04,55.6,257.135,-79.29],[3782.05,-1603.54,55.2167,255.35,-79.1327],[3762.73,-1503.61,54.8167,253.461,-78.9648],[3742.43,-1400.38,54.4,251.464,-78.7859],[3722.8,-1302.1,54,249.519,-78.61],[3702.19,-1200.62,53.5833,247.465,-78.4224],[3681.42,-1100.05,53.1667,245.381,-78.2302],[3660.49,-1000.4,52.75,243.267,-78.0331],[3639.39,-901.697,52.3333,241.123,-77.831],[3617.28,-800.057,51.9,238.862,-77.6152],[3595.86,-703.314,51.4833,236.658,-77.4022],[3573.41,-603.745,51.05,234.334,-77.1747],[3549.91,-501.489,50.6,231.886,-76.9317],[3526.23,-400.415,50.15,229.404,-76.6814],[3502.36,-300.541,49.7,226.886,-76.4237],[3478.3,-201.884,49.25,224.335,-76.1581],[3453.16,-100.879,48.7833,221.653,-75.8739],[3427.82,-1.22253,48.3167,218.934,-75.5804],[3402.28,97.0644,47.85,216.178,-75.2772],[3375.63,197.397,47.3667,213.286,-74.9523],[3347.83,299.596,46.8667,210.254,-74.604],[3320.75,396.827,46.3833,207.284,-74.2548],[3291.57,499.039,45.8667,204.068,-73.8671],[3262.16,599.443,45.35,200.811,-73.4638],[3232.52,698.011,44.8333,197.512,-73.0438],[3201.68,797.805,44.3,194.064,-72.5916],[3169.62,898.607,43.75,190.465,-72.1042],[3137.31,997.234,43.2,186.822,-71.5939],[3102.76,1099.43,42.6167,182.914,-71.0257],[3067.93,1199.1,42.0333,178.961,-70.4278],[3031.82,1298.95,41.4333,174.851,-69.7793],[2994.41,1398.71,40.8167,170.583,-69.0743],[2955.67,1498.1,40.1833,166.157,-68.3062],[2914.55,1599.31,39.5167,161.456,-67.445],[2872.06,1699.37,38.8333,156.598,-66.5006],[2828.18,1797.95,38.1333,151.587,-65.4617],[2780.77,1899.1,37.3833,146.188,-64.2593],[2730.82,1999.73,36.6,140.528,-62.8931]]], - [72,2896.64,[[3682.6,-2004.1,57.0333,262.833,-80.27],[3664.77,-1900.84,56.6333,261.047,-80.1239],[3647.54,-1802.59,56.25,259.31,-79.9809],[3629.43,-1700.81,55.85,257.472,-79.8284],[3611.93,-1604.01,55.4667,255.686,-79.6791],[3593.54,-1503.77,55.0667,253.795,-79.5198],[3574.23,-1400.21,54.65,251.796,-79.35],[3555.55,-1301.62,54.25,249.849,-79.1831],[3536.73,-1203.85,53.85,247.874,-79.0122],[3516.97,-1102.9,53.4333,245.788,-78.8299],[3497.06,-1002.87,53.0167,243.672,-78.6431],[3476.99,-903.783,52.6,241.526,-78.4515],[3455.95,-801.738,52.1667,239.261,-78.2469],[3434.76,-700.736,51.7333,236.964,-78.0368],[3413.39,-600.794,51.3,234.635,-77.8208],[3391.87,-501.927,50.8667,232.272,-77.5988],[3369.33,-400.413,50.4167,229.784,-77.3615],[3346.63,-300.094,49.9667,227.261,-77.1171],[3323.74,-200.987,49.5167,224.703,-76.8652],[3300.67,-103.112,49.0667,222.109,-76.6055],[3276.57,-2.93167,48.6,219.383,-76.3276],[3251.41,99.389,48.1167,216.52,-76.0299],[3226.93,196.772,47.65,213.719,-75.7325],[3200.49,299.552,47.15,210.676,-75.4025],[3174.73,397.349,46.6667,207.695,-75.0717],[3147.88,496.885,46.1667,204.571,-74.7165],[3119.91,597.966,45.65,201.301,-74.3348],[3091.72,697.219,45.1333,197.987,-73.9373],[3062.39,797.727,44.6,194.523,-73.5093],[3031.9,899.274,44.05,190.905,-73.0479],[3001.17,998.653,43.5,187.242,-72.5648],[2969.26,1098.74,42.9333,183.423,-72.0425],[2936.14,1199.3,42.35,179.445,-71.4771],[2902.76,1297.31,41.7667,175.422,-70.8812],[2867.19,1398.11,41.15,171.122,-70.2152],[2830.36,1498.57,40.5167,166.66,-69.4895],[2792.25,1598.41,39.8667,162.036,-68.6965],[2751.86,1699.75,39.1833,157.13,-67.805],[2710.14,1799.65,38.4833,152.064,-66.8238],[2666.07,1900,37.75,146.72,-65.7139],[2620.63,1998,37,141.226,-64.4814]]], - [73,2927.5,[[3503.95,-2000.28,57.25,263.063,-80.7792],[3487.73,-1901.07,56.8667,261.35,-80.6467],[3471.39,-1802.55,56.4833,259.613,-80.5113],[3454.21,-1700.5,56.0833,257.773,-80.367],[3437.62,-1603.42,55.7,255.985,-80.2256],[3420.17,-1502.89,55.3,254.092,-80.0749],[3402.58,-1403.16,54.9,252.171,-79.9206],[3384.13,-1300.13,54.4833,250.141,-79.7561],[3366.27,-1202.07,54.0833,248.163,-79.5945],[3347.52,-1100.8,53.6667,246.074,-79.4219],[3328.63,-1000.46,53.25,243.954,-79.2451],[3309.59,-901.047,52.8333,241.804,-79.0637],[3290.41,-802.582,52.4167,239.623,-78.8776],[3270.3,-701.199,51.9833,237.322,-78.6789],[3250.04,-600.87,51.55,234.988,-78.4747],[3229.61,-501.614,51.1167,232.62,-78.2647],[3209.04,-403.444,50.6833,230.22,-78.0488],[3187.5,-302.666,50.2333,227.692,-77.8179],[3165.8,-203.096,49.7833,225.129,-77.58],[3143.12,-101.134,49.3167,222.432,-77.3254],[3120.26,-0.510854,48.85,219.698,-77.0625],[3097.22,98.7536,48.3833,216.925,-76.7907],[3074,196.639,47.9167,214.115,-76.5098],[3048.93,299.962,47.4167,211.063,-76.198],[3024.5,398.29,46.9333,208.071,-75.8854],[2999.03,498.38,46.4333,204.935,-75.5498],[2973.37,596.79,45.9333,201.757,-75.201],[2945.77,699.879,45.4,198.322,-74.8134],[2918.83,797.868,44.8833,194.951,-74.4218],[2890.8,897.048,44.35,191.426,-73.9997],[2861.67,997.202,43.8,187.745,-73.5441],[2831.41,1098.1,43.2333,183.905,-73.0517],[2800.02,1199.5,42.65,179.903,-72.5184],[2768.37,1298.35,42.0667,175.854,-71.9563],[2735.56,1397.34,41.4667,171.641,-71.3454],[2700.65,1498.83,40.8333,167.146,-70.6616],[2664.53,1599.73,40.1833,162.483,-69.9142],[2627.18,1699.73,39.5167,157.653,-69.0948],[2588.59,1798.53,38.8333,152.658,-68.1937],[2547.79,1898.05,38.1167,147.378,-67.1745],[2503.78,1999.79,37.35,141.692,-65.9901]]], - [74,2956.84,[[3322.58,-2003.98,57.4833,263.406,-81.3006],[3306.58,-1900.19,57.0833,261.618,-81.1701],[3291.13,-1801.42,56.7,259.879,-81.0424],[3275.56,-1703.35,56.3167,258.115,-80.912],[3259.19,-1601.77,55.9167,256.247,-80.7729],[3242.7,-1500.98,55.5167,254.352,-80.6306],[3226.07,-1400.98,55.1167,252.428,-80.4851],[3209.32,-1301.78,54.7167,250.477,-80.3362],[3192.44,-1203.41,54.3167,248.498,-80.1838],[3174.72,-1101.82,53.9,246.406,-80.0212],[3156.86,-1001.14,53.4833,244.283,-79.8544],[3138.87,-901.399,53.0667,242.13,-79.6834],[3120.74,-802.598,52.65,239.946,-79.508],[3101.73,-700.86,52.2167,237.641,-79.3207],[3082.58,-600.174,51.7833,235.303,-79.1282],[3063.27,-500.556,51.35,232.931,-78.9302],[3043.82,-402.021,50.9167,230.525,-78.7266],[3023.46,-300.86,50.4667,227.991,-78.509],[3002.95,-200.903,50.0167,225.421,-78.2846],[2982.28,-102.168,49.5667,222.814,-78.0533],[2960.67,-1.087,49.1,220.073,-77.8057],[2938.9,98.6404,48.6333,217.293,-77.5498],[2916.95,196.993,48.1667,214.475,-77.2852],[2894.05,297.388,47.6833,211.516,-77.0014],[2870.17,399.646,47.1833,208.411,-76.697],[2846.91,496.927,46.7,205.369,-76.3915],[2821.84,599.185,46.1833,202.073,-76.0521],[2796.58,699.628,45.6667,198.731,-75.6986],[2771.12,798.227,45.15,195.346,-75.3301],[2744.64,898.045,44.6167,191.805,-74.9328],[2717.11,998.862,44.0667,188.106,-74.504],[2689.36,1097.49,43.5167,184.359,-74.0544],[2659.7,1199.68,42.9333,180.335,-73.5531],[2629.8,1299.34,42.35,176.261,-73.0245],[2598.81,1399.16,41.75,172.021,-72.4499],[2566.7,1498.87,41.1333,167.612,-71.8241],[2533.45,1598.2,40.5,163.035,-71.1405],[2498.18,1699.34,39.8333,158.165,-70.3717],[2461.73,1799.3,39.15,153.124,-69.526],[2424.09,1897.76,38.45,147.914,-68.5921],[2383.43,1998.76,37.7,142.289,-67.5065]]], - [75,2984.61,[[3136.53,-2002.28,57.6833,263.64,-81.8177],[3122.1,-1902.57,57.3,261.925,-81.7002],[3107.55,-1803.54,56.9167,260.185,-81.5802],[3092.25,-1700.96,56.5167,258.343,-81.4523],[3077.48,-1603.36,56.1333,256.551,-81.327],[3061.95,-1502.29,55.7333,254.655,-81.1934],[3046.3,-1402.01,55.3333,252.73,-81.0567],[3030.52,-1302.54,54.9333,250.777,-80.9169],[3014.63,-1203.88,54.5333,248.796,-80.7737],[2997.95,-1101.99,54.1167,246.702,-80.6209],[2981.13,-1001.01,53.7,244.576,-80.4643],[2964.19,-900.955,53.2833,242.42,-80.3037],[2947.11,-801.844,52.8667,240.232,-80.1389],[2929.91,-703.686,52.45,238.013,-79.9698],[2911.88,-602.63,52.0167,235.671,-79.7892],[2893.7,-502.637,51.5833,233.296,-79.6034],[2875.39,-403.724,51.15,230.886,-79.4123],[2856.23,-302.166,50.7,228.348,-79.2081],[2836.92,-201.807,50.25,225.773,-78.9976],[2817.46,-102.666,49.8,223.16,-78.7805],[2797.12,-1.15912,49.3333,220.413,-78.5481],[2776.62,98.9983,48.8667,217.626,-78.3079],[2755.96,197.786,48.4,214.799,-78.0595],[2734.4,298.635,47.9167,211.831,-77.7932],[2712.67,397.971,47.4333,208.821,-77.5172],[2690.02,499.114,46.9333,205.663,-77.2208],[2667.19,598.587,46.4333,202.462,-76.9126],[2643.41,699.595,45.9167,199.109,-76.5811],[2619.45,798.766,45.4,195.709,-76.2355],[2594.52,899.179,44.8667,192.153,-75.863],[2569.39,997.575,44.3333,188.55,-75.4733],[2542.49,1099.88,43.7667,184.671,-75.039],[2515.37,1199.83,43.2,180.741,-74.5824],[2488.04,1297.4,42.6333,176.762,-74.1017],[2458.87,1398.08,42.0333,172.497,-73.5641],[2428.66,1498.69,41.4167,168.061,-72.9784],[2397.38,1598.94,40.7833,163.451,-72.3385],[2365.02,1698.54,40.1333,158.666,-71.6373],[2330.73,1799.61,39.45,153.583,-70.8465],[2295.31,1899.22,38.75,148.324,-69.9729],[2257.92,1999.24,38.0167,142.765,-68.9805]]], - [76,3010.8,[[2947.26,-2003.85,57.8833,263.913,-82.3414],[2933.72,-1903.91,57.5,262.197,-82.2315],[2919.49,-1800.35,57.1,260.381,-82.1144],[2905.75,-1701.81,56.7167,258.613,-81.9996],[2891.9,-1603.98,56.3333,256.821,-81.8824],[2877.34,-1502.66,55.9333,254.923,-81.7575],[2862.67,-1402.12,55.5333,252.996,-81.6296],[2847.88,-1302.39,55.1333,251.041,-81.4987],[2832.98,-1203.46,54.7333,249.058,-81.3648],[2817.35,-1101.3,54.3167,246.961,-81.2219],[2801.58,-1000.04,53.9,244.833,-81.0754],[2786.34,-903.705,53.5,242.76,-80.9312],[2769.69,-800.313,53.0667,240.482,-80.771],[2753.56,-701.869,52.65,238.259,-80.6128],[2736.66,-600.51,52.2167,235.913,-80.4438],[2719.62,-500.212,51.7833,233.533,-80.27],[2702.46,-400.991,51.35,231.118,-80.0912],[2685.16,-302.862,50.9167,228.668,-79.9073],[2667.06,-202.132,50.4667,226.088,-79.7106],[2648.82,-102.616,50.0167,223.47,-79.5076],[2629.76,-0.715903,49.55,220.716,-79.2904],[2610.55,99.8388,49.0833,217.922,-79.0659],[2591.18,199.028,48.6167,215.088,-78.8338],[2571.67,296.83,48.15,212.214,-78.5936],[2551.31,396.642,47.6667,209.196,-78.3359],[2530.09,498.284,47.1667,206.03,-78.059],[2508.69,598.261,46.6667,202.818,-77.7713],[2486.41,699.795,46.15,199.453,-77.4618],[2463.96,799.497,45.6333,196.041,-77.139],[2441.33,897.34,45.1167,192.583,-76.8022],[2417.05,999.42,44.5667,188.852,-76.4271],[2392.58,1099.33,44.0167,185.07,-76.0336],[2367.17,1199.96,43.45,181.121,-75.6076],[2341.57,1298.22,42.8833,177.122,-75.1591],[2314.24,1399.62,42.2833,172.832,-74.6574],[2286.7,1498.29,41.6833,168.489,-74.1259],[2257.4,1599.41,41.05,163.849,-73.5294],[2227.08,1699.92,40.4,159.03,-72.8757],[2195.74,1799.5,39.7333,154.032,-72.1568],[2163.37,1897.84,39.05,148.855,-71.3632],[2128.34,1999.1,38.3167,143.244,-70.4402]]], - [77,3035.36,[[2753.7,-2000.02,58.05,264.077,-82.8624],[2741.62,-1904.24,57.6833,262.435,-82.7645],[2728.35,-1800.46,57.2833,260.617,-82.6554],[2715.53,-1701.71,56.9,258.848,-82.5486],[2702.62,-1603.66,56.5167,257.054,-82.4396],[2689.04,-1502.1,56.1167,255.154,-82.3232],[2675.36,-1401.33,55.7167,253.226,-82.2042],[2661.57,-1301.36,55.3167,251.269,-82.0823],[2647.67,-1202.2,54.9167,249.283,-81.9577],[2633.67,-1103.87,54.5167,247.268,-81.83],[2618.97,-1002.32,54.1,245.138,-81.6937],[2604.16,-901.697,53.6833,242.977,-81.554],[2589.24,-802.005,53.2667,240.783,-81.4106],[2574.2,-703.262,52.85,238.557,-81.2635],[2558.44,-601.589,52.4167,236.208,-81.1063],[2542.56,-500.974,51.9833,233.825,-80.9447],[2526.55,-401.431,51.55,231.406,-80.7784],[2510.42,-302.977,51.1167,228.952,-80.6073],[2493.54,-201.907,50.6667,226.367,-80.4243],[2476.54,-102.047,50.2167,223.744,-80.2356],[2459.4,-3.41574,49.7667,221.083,-80.0409],[2441.49,97.5516,49.3,218.283,-79.8323],[2423.44,197.158,48.8333,215.443,-79.6166],[2404.6,298.864,48.35,212.459,-79.3853],[2385.61,399.065,47.8667,209.432,-79.1455],[2366.48,497.738,47.3833,206.362,-78.8967],[2346.53,598.181,46.8833,203.141,-78.6293],[2326.43,696.939,46.3833,199.875,-78.3511],[2305.5,797.193,45.8667,196.452,-78.0515],[2283.73,898.735,45.3333,192.87,-77.7285],[2261.78,998.272,44.8,189.237,-77.3907],[2238.98,1098.79,44.25,185.44,-77.0254],[2215.99,1197.1,43.7,181.592,-76.6418],[2191.42,1298.94,43.1167,177.455,-76.2134],[2166.66,1398.23,42.5333,173.264,-75.7608],[2140.99,1497.66,41.9333,168.898,-75.2679],[2113.68,1599.6,41.3,164.23,-74.7146],[2086.16,1698.39,40.6667,159.505,-74.1241],[2056.96,1798.94,40,154.472,-73.4581],[2026.79,1898.28,39.3167,149.254,-72.7227],[1994.89,1998.35,38.6,143.723,-71.8873]]], - [78,3058.25,[[2557.67,-2003.96,58.2333,264.355,-83.3945],[2545.97,-1903.61,57.85,262.638,-83.2997],[2534.18,-1803.95,57.4667,260.895,-83.203],[2521.78,-1700.69,57.0667,259.049,-83.0999],[2509.81,-1602.44,56.6833,257.253,-82.9989],[2497.22,-1500.68,56.2833,255.351,-82.8912],[2485.06,-1403.89,55.9,253.502,-82.7857],[2472.28,-1303.68,55.5,251.544,-82.673],[2458.86,-1200.15,55.0833,249.473,-82.5528],[2445.88,-1101.59,54.6833,247.456,-82.4347],[2432.8,-1003.87,54.2833,245.409,-82.3136],[2419.07,-902.982,53.8667,243.245,-82.1844],[2405.24,-803.021,53.45,241.049,-82.0518],[2390.74,-700.064,53.0167,238.731,-81.9102],[2376.69,-602.046,52.6,236.468,-81.7703],[2361.97,-501.141,52.1667,234.081,-81.6208],[2347.14,-401.305,51.7333,231.659,-81.4671],[2332.19,-302.556,51.3,229.201,-81.3089],[2316.54,-201.175,50.85,226.61,-81.1396],[2300.78,-101.002,50.4,223.982,-80.965],[2284.89,-2.05331,49.95,221.315,-80.7849],[2268.29,99.246,49.4833,218.509,-80.592],[2251.56,199.187,49.0167,215.662,-80.3924],[2234.7,297.75,48.55,212.774,-80.186],[2217.1,398.358,48.0667,209.74,-79.9644],[2199.37,497.441,47.5833,206.662,-79.7345],[2180.89,598.314,47.0833,203.432,-79.4874],[2162.26,697.506,46.5833,200.155,-79.2303],[2142.86,798.212,46.0667,196.722,-78.9535],[2123.32,897.069,45.55,193.24,-78.6645],[2102.98,997.146,45.0167,189.595,-78.3526],[2081.85,1098.22,44.4667,185.784,-78.0155],[2060.55,1197.11,43.9167,181.92,-77.6613],[2037.79,1299.56,43.3333,177.765,-77.2657],[2014.84,1399.46,42.75,173.554,-76.8478],[1991.06,1499.53,42.15,169.164,-76.3925],[1966.42,1599.49,41.5333,164.594,-75.8953],[1940.92,1699.05,40.9,159.84,-75.3506],[1914.55,1797.93,40.25,154.901,-74.752],[1886.6,1898.21,39.5667,149.647,-74.0745],[1857.06,1999.28,38.85,144.073,-73.3045]]], - [79,3079.45,[[2357.7,-2002.55,58.3833,264.526,-83.9247],[2346.92,-1902.04,58,262.808,-83.8376],[2336.07,-1802.2,57.6167,261.063,-83.7487],[2325.13,-1703.05,57.2333,259.293,-83.6579],[2313.63,-1600.33,56.8333,257.418,-83.561],[2302.53,-1502.62,56.45,255.594,-83.4662],[2290.85,-1401.42,56.05,253.663,-83.365],[2279.08,-1301.02,55.65,251.702,-83.2614],[2267.23,-1201.42,55.25,249.713,-83.1554],[2255.28,-1102.64,54.85,247.693,-83.0468],[2242.74,-1000.63,54.4333,245.558,-82.9309],[2230.61,-903.561,54.0333,243.478,-82.8168],[2217.88,-803.355,53.6167,241.28,-82.6951],[2204.53,-700.142,53.1833,238.959,-82.565],[2191.6,-601.875,52.7667,236.694,-82.4365],[2178.05,-500.708,52.3333,234.303,-82.2992],[2164.39,-400.608,51.9,231.876,-82.1579],[2150.63,-301.592,51.4667,229.414,-82.0125],[2136.77,-203.675,51.0333,226.916,-81.8629],[2122.26,-103.173,50.5833,224.284,-81.7027],[2107.1,-0.239393,50.1167,221.514,-81.5312],[2092.37,97.7543,49.6667,218.803,-81.3603],[2076.97,198.047,49.2,215.95,-81.1772],[2061.46,296.965,48.7333,213.056,-80.9877],[2045.27,397.944,48.25,210.015,-80.7843],[2028.95,497.404,47.7667,206.929,-80.5733],[2011.94,598.669,47.2667,203.691,-80.3465],[1994.8,698.258,46.7667,200.405,-80.1105],[1976.95,799.378,46.25,196.961,-79.8564],[1958.96,898.653,45.7333,193.468,-79.5911],[1940.24,999.166,45.2,189.81,-79.3047],[1921.39,1097.65,44.6667,186.101,-79.0047],[1901.79,1197.06,44.1167,182.222,-78.68],[1881.45,1297.17,43.55,178.171,-78.3279],[1860.34,1397.71,42.9667,173.943,-77.9451],[1838.46,1498.44,42.3667,169.534,-77.5281],[1815.8,1599.1,41.75,164.941,-77.0727],[1792.34,1699.38,41.1167,160.161,-76.5736],[1768.07,1799,40.4667,155.193,-76.025],[1742.99,1897.65,39.8,150.033,-75.4197],[1715.82,1999.66,39.0833,144.419,-74.715]]], - [80,3098.91,[[2154.53,-2000.19,58.5167,264.664,-84.4579],[2145.13,-1903.89,58.15,263.019,-84.382],[2135.22,-1803.88,57.7667,261.274,-84.301],[2124.8,-1700.24,57.3667,259.426,-84.2146],[2114.74,-1601.64,56.9833,257.627,-84.1299],[2104.61,-1503.74,56.6,255.803,-84.0435],[2093.95,-1402.34,56.2,253.87,-83.9513],[2083.21,-1301.74,55.8,251.908,-83.8569],[2072.39,-1201.94,55.4,249.917,-83.7603],[2061.48,-1102.96,55,247.896,-83.6614],[2050.04,-1000.74,54.5833,245.759,-83.5558],[2038.96,-903.46,54.1833,243.677,-83.4519],[2027.34,-803.038,53.7667,241.476,-83.3409],[2015.63,-703.555,53.35,239.242,-83.2269],[2003.36,-601.106,52.9167,236.884,-83.1052],[1991.47,-503.586,52.5,234.582,-82.985],[1979.01,-403.209,52.0667,232.154,-82.8564],[1965.97,-300.115,51.6167,229.593,-82.7189],[1953.31,-201.957,51.1833,227.091,-82.5825],[1940.07,-101.202,50.7333,224.454,-82.4365],[1926.73,-1.66705,50.2833,221.777,-82.2858],[1913.28,96.6305,49.8333,219.062,-82.1303],[1899.23,197.242,49.3667,216.204,-81.9636],[1885.07,296.482,48.9,213.305,-81.7911],[1870.3,397.798,48.4167,210.257,-81.6059],[1855.41,497.597,47.9333,207.164,-81.4138],[1839.88,599.218,47.4333,203.918,-81.2073],[1824.24,699.166,46.9333,200.624,-80.9924],[1808.48,797.416,46.4333,197.282,-80.7685],[1792.07,897.13,45.9167,193.779,-80.5273],[1774.99,998.1,45.3833,190.112,-80.2668],[1757.79,1097.05,44.85,186.391,-79.994],[1739.36,1199.93,44.2833,182.381,-79.6894],[1721.35,1297.54,43.7333,178.433,-79.3783],[1702.09,1398.61,43.15,174.188,-79.03],[1682.12,1499.89,42.55,169.759,-78.6506],[1662,1598.4,41.95,165.27,-78.2476],[1640.6,1699.35,41.3167,160.467,-77.7942],[1618.46,1799.66,40.6667,155.472,-77.2955],[1595.58,1899.03,40,150.282,-76.7452],[1571.37,1999.47,39.3,144.763,-76.1198]]], - [81,3116.62,[[1948.76,-2001.32,58.65,264.844,-84.9977],[1939.88,-1900.5,58.2667,263.123,-84.926],[1930.93,-1800.36,57.8833,261.376,-84.8529],[1921.9,-1700.9,57.5,259.603,-84.7781],[1912.81,-1602.13,57.1167,257.804,-84.7017],[1903.66,-1504.06,56.7333,255.978,-84.6238],[1894.03,-1402.5,56.3333,254.044,-84.5406],[1884.32,-1301.72,55.9333,252.081,-84.4554],[1874.55,-1201.75,55.5333,250.088,-84.3682],[1864.69,-1102.59,55.1333,248.065,-84.2789],[1854.35,-1000.17,54.7167,245.926,-84.1836],[1844.35,-902.714,54.3167,243.842,-84.0899],[1833.85,-802.099,53.9,241.638,-83.9897],[1823.27,-702.422,53.4833,239.402,-83.887],[1812.6,-603.698,53.0667,237.132,-83.7814],[1801.43,-502.051,52.6333,234.736,-83.6686],[1790.17,-401.466,52.2,232.303,-83.5526],[1778.83,-301.959,51.7667,229.834,-83.4331],[1767.4,-203.547,51.3333,227.329,-83.3102],[1755.43,-102.525,50.8833,224.688,-83.1785],[1743.38,-2.71973,50.4333,222.008,-83.0427],[1730.78,99.4777,49.9667,219.187,-82.8973],[1718.54,196.748,49.5167,216.427,-82.7523],[1705.3,299.806,49.0333,213.417,-82.5911],[1692.41,397.895,48.5667,210.468,-82.4299],[1678.95,498.001,48.0833,207.369,-82.2566],[1664.93,599.941,47.5833,204.115,-82.0704],[1651.27,696.896,47.1,200.924,-81.8833],[1636.56,798.787,46.5833,197.463,-81.6748],[1621.73,898.841,46.0667,193.95,-81.4573],[1606.79,997.03,45.55,190.387,-81.2299],[1590.77,1099.47,45,186.538,-80.9763],[1574.61,1199.74,44.45,182.633,-80.7099],[1558.34,1297.79,43.9,178.672,-80.4296],[1540.94,1399.33,43.3167,174.412,-80.1159],[1523.41,1498.31,42.7333,170.09,-79.7838],[1505.25,1597.4,42.1333,165.583,-79.4213],[1485.92,1698.96,41.5,160.76,-79.0133],[1465.93,1799.91,40.85,155.74,-78.5646],[1445.27,1899.93,40.1833,150.523,-78.0693],[1423.92,1998.71,39.5,145.104,-77.5202]]], - [82,3132.55,[[1740.14,-2001.57,58.7667,264.991,-85.5403],[1732.21,-1900.61,58.3833,263.269,-85.4764],[1724.22,-1800.33,58,261.522,-85.4112],[1716.17,-1700.73,57.6167,259.748,-85.3446],[1708.06,-1601.82,57.2333,257.947,-85.2766],[1699.89,-1503.61,56.85,256.12,-85.2071],[1691.3,-1401.9,56.45,254.185,-85.1329],[1682.64,-1300.97,56.05,252.22,-85.057],[1673.92,-1200.84,55.65,250.226,-84.9793],[1665.12,-1101.53,55.25,248.201,-84.8997],[1656.27,-1003.04,54.85,246.146,-84.8183],[1646.97,-901.333,54.4333,243.973,-84.7312],[1637.6,-800.552,54.0167,241.767,-84.642],[1628.16,-700.708,53.6,239.528,-84.5504],[1618.65,-601.814,53.1833,237.255,-84.4563],[1609.06,-503.886,52.7667,234.948,-84.3596],[1599.02,-403.08,52.3333,232.514,-84.2563],[1588.9,-303.35,51.9,230.042,-84.15],[1578.31,-200.94,51.45,227.437,-84.0363],[1568.03,-103.453,51.0167,224.891,-83.9233],[1557.28,-3.40878,50.5667,222.207,-83.8024],[1546.04,99.0394,50.1,219.382,-83.6728],[1535.12,196.554,49.65,216.617,-83.5437],[1523.3,299.877,49.1667,213.602,-83.4002],[1511.81,398.225,48.7,210.648,-83.2565],[1499.81,498.601,48.2167,207.543,-83.1023],[1487.71,597.443,47.7333,204.392,-82.9421],[1475.11,698.055,47.2333,201.084,-82.7698],[1462.41,796.976,46.7333,197.727,-82.5902],[1449.19,897.391,46.2167,194.207,-82.3967],[1435.43,999.091,45.6833,190.52,-82.1877],[1421.57,1098.78,45.15,186.777,-81.9689],[1407.16,1199.44,44.6,182.862,-81.7318],[1392.64,1297.89,44.05,178.889,-81.4824],[1377.13,1399.86,43.4667,174.615,-81.2033],[1361.49,1499.27,42.8833,170.278,-80.9078],[1345.29,1598.81,42.2833,165.754,-80.5851],[1328.51,1698.21,41.6667,161.039,-80.2318],[1310.68,1799.74,41.0167,155.998,-79.833],[1292.71,1897.89,40.3667,150.887,-79.4041],[1273.22,1999.76,39.6667,145.309,-78.9044]]], - [83,3146.67,[[1528.89,-2000.94,58.8667,265.106,-86.0862],[1522.23,-1904.25,58.5,263.46,-86.0327],[1515.21,-1803.82,58.1167,261.712,-85.9755],[1508.15,-1704.07,57.7333,259.938,-85.9171],[1500.72,-1600.72,57.3333,258.059,-85.8549],[1493.54,-1502.4,56.95,256.23,-85.7938],[1486,-1400.55,56.55,254.294,-85.7287],[1478.71,-1303.69,56.1667,252.41,-85.665],[1471.05,-1203.4,55.7667,250.414,-85.5969],[1463.33,-1103.92,55.3667,248.389,-85.5271],[1455.23,-1001.17,54.95,246.247,-85.4527],[1447.39,-903.386,54.55,244.16,-85.3794],[1439.17,-802.428,54.1333,241.952,-85.3011],[1430.88,-702.405,53.7167,239.712,-85.2209],[1422.53,-603.33,53.3,237.437,-85.1384],[1413.77,-501.314,52.8667,235.036,-85.0502],[1404.95,-400.357,52.4333,232.598,-84.9595],[1396.07,-300.473,52,230.123,-84.8662],[1387.11,-201.681,51.5667,227.61,-84.7701],[1377.74,-100.26,51.1167,224.962,-84.6673],[1368.3,-0.052114,50.6667,222.274,-84.5611],[1358.78,98.9251,50.2167,219.545,-84.4516],[1349.19,196.653,49.7667,216.776,-84.3384],[1339.18,296.661,49.3,213.862,-84.2169],[1328.72,398.781,48.8167,210.798,-84.0866],[1318.19,499.393,48.3333,207.688,-83.9513],[1307.57,598.473,47.85,204.531,-83.8109],[1296.5,699.334,47.35,201.216,-83.6598],[1285.35,798.506,46.85,197.852,-83.5023],[1273.74,899.182,46.3333,194.324,-83.3326],[1262.04,998,45.8167,190.743,-83.1552],[1249.87,1098.03,45.2833,186.993,-82.9635],[1237.23,1199.04,44.7333,183.068,-82.7559],[1224.48,1297.85,44.1833,179.085,-82.5375],[1211.25,1397.31,43.6167,174.922,-82.3001],[1197.14,1500,43.0167,170.448,-82.0341],[1182.91,1599.94,42.4167,165.909,-81.7514],[1168.18,1699.75,41.8,161.176,-81.4417],[1152.93,1799.15,41.1667,156.246,-81.1015],[1137.16,1897.84,40.5167,151.114,-80.7263],[1120.46,1997.89,39.8333,145.645,-80.2998]]], - [84,3158.94,[[1315.52,-2003.92,58.9667,265.265,-86.6375],[1309.54,-1902.73,58.5833,263.543,-86.5895],[1303.5,-1802.2,58.2,261.795,-86.5403],[1297.43,-1702.36,57.8167,260.02,-86.4901],[1291.3,-1603.2,57.4333,258.218,-86.4389],[1284.86,-1500.48,57.0333,256.309,-86.3842],[1278.64,-1402.77,56.65,254.452,-86.3306],[1272.11,-1301.57,56.25,252.485,-86.2734],[1265.52,-1201.18,55.85,250.488,-86.2148],[1258.88,-1101.59,55.45,248.46,-86.1549],[1252.19,-1002.82,55.05,246.403,-86.0935],[1245.17,-900.832,54.6333,244.226,-86.0279],[1238.38,-803.784,54.2333,242.106,-85.9633],[1231.25,-703.608,53.8167,239.864,-85.8943],[1223.78,-600.429,53.3833,237.496,-85.8206],[1216.54,-502.2,52.9667,235.184,-85.7478],[1208.96,-401.077,52.5333,232.744,-85.67],[1201.32,-301.028,52.1,230.267,-85.5898],[1193.61,-202.067,51.6667,227.753,-85.5073],[1185.56,-100.47,51.2167,225.102,-85.419],[1177.44,-0.0839808,50.7667,222.41,-85.3278],[1169.25,99.0733,50.3167,219.679,-85.2337],[1161.01,196.983,49.8667,216.906,-85.1365],[1152.4,297.181,49.4,213.988,-85.0322],[1143.41,399.5,48.9167,210.919,-84.9202],[1134.66,496.862,48.45,207.912,-84.8082],[1125.22,599.597,47.95,204.641,-84.6834],[1116.02,697.328,47.4667,201.432,-84.558],[1106.43,796.771,46.9667,198.063,-84.423],[1096.45,897.73,46.45,194.529,-84.2774],[1086.07,999.999,45.9167,190.826,-84.1202],[1075.93,1097.16,45.4,187.185,-83.9607],[1065.06,1198.48,44.85,183.252,-83.7826],[1054.1,1297.61,44.3,179.26,-83.5951],[1042.73,1397.4,43.7333,175.087,-83.3915],[1030.93,1497.61,43.15,170.727,-83.1697],[1018.7,1597.97,42.55,166.176,-82.9275],[1006.04,1698.23,41.9333,161.43,-82.6622],[992.93,1798.09,41.3,156.485,-82.3706],[979.026,1899.76,40.6333,151.203,-82.0404],[965.016,1997.83,39.9667,145.845,-81.6834]]], - [85,3169.38,[[1099.73,-2001.62,59.0333,265.318,-87.1899],[1094.73,-1900.35,58.65,263.595,-87.1498],[1089.91,-1804.11,58.2833,261.922,-87.1105],[1084.83,-1704.16,57.9,260.147,-87.0686],[1079.49,-1600.6,57.5,258.266,-87.0239],[1074.33,-1502.07,57.1167,256.435,-86.9801],[1068.9,-1400.01,56.7167,254.497,-86.9334],[1063.67,-1302.94,56.3333,252.61,-86.8876],[1058.16,-1202.43,55.9333,250.613,-86.8387],[1052.61,-1102.73,55.5333,248.585,-86.7887],[1047.02,-1003.84,55.1333,246.526,-86.7374],[1041.15,-901.727,54.7167,244.349,-86.6826],[1035.24,-800.529,54.3,242.138,-86.6265],[1029.28,-700.263,53.8833,239.893,-86.5689],[1023.28,-600.943,53.4667,237.614,-86.5096],[1017.23,-502.585,53.05,235.301,-86.4488],[1010.89,-401.326,52.6167,232.86,-86.3838],[1004.5,-301.139,52.1833,230.38,-86.3169],[998.065,-202.039,51.75,227.864,-86.248],[991.329,-100.297,51.3,225.21,-86.1742],[984.795,-3.46495,50.8667,222.617,-86.101],[977.704,99.5428,50.4,219.781,-86.0195],[970.814,197.603,49.95,217.006,-85.9383],[963.614,297.958,49.4833,214.084,-85.8512],[956.36,396.933,49.0167,211.118,-85.761],[948.789,497.965,48.5333,208,-85.6641],[941.161,597.469,48.05,204.834,-85.5635],[933.209,698.773,47.55,201.51,-85.4552],[925.196,798.393,47.05,198.135,-85.3424],[916.852,899.537,46.5333,194.595,-85.2208],[908.445,998.826,46.0167,191.002,-85.0937],[899.7,1099.34,45.4833,187.236,-84.9563],[890.889,1197.82,44.95,183.415,-84.8121],[881.734,1297.22,44.4,179.416,-84.6558],[872.229,1397.29,43.8333,175.234,-84.4859],[862.37,1497.79,43.25,170.864,-84.3008],[852.152,1598.47,42.65,166.302,-84.0988],[841.568,1699.04,42.0333,161.543,-83.8774],[830.615,1799.23,41.4,156.583,-83.634],[819.288,1898.73,40.75,151.418,-83.3656],[807.289,1999.66,40.0667,145.908,-83.0604]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 984.795; -_maxRange = 5666.83; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg0.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg0.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg1.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg1.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg2.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg2.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg3.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg3.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg4.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg4.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg4.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg5.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg5.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg5.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg6.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg6.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_heBtab_LA_chg6.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg1.sqf deleted file mode 100644 index a8cb0ae546..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg1.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_illum_time_chg1 -// Ammo: ace_arty_82mm_illum_time -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,378.802,[[2464.98,-2000.15,31.55,206.737,-71.5106],[2432.07,-1902.93,31.05,203.688,-71.0715],[2396.7,-1801.12,30.5167,200.398,-70.5844],[2361.03,-1701.28,29.9833,197.069,-70.0768],[2323.95,-1600.42,29.4333,193.597,-69.5306],[2286.57,-1501.72,28.8833,190.087,-68.9598],[2247.74,-1402.32,28.3167,186.433,-68.3441],[2207.45,-1302.46,27.7333,182.633,-67.679],[2165.66,-1202.41,27.1333,178.688,-66.9595],[2122.36,-1102.42,26.5167,174.597,-66.1795],[2076.33,-1000.19,25.8667,170.25,-65.3093],[2029.92,-901.257,25.2167,165.871,-64.3857],[1980.72,-800.865,24.5333,161.239,-63.3518],[1929.88,-701.921,23.8333,156.473,-62.2195],[1874.95,-600.349,23.0833,151.351,-60.9159],[1818.31,-501.341,22.3167,146.111,-59.4763],[1757.44,-401.315,21.5,140.542,-57.8104],[1692.26,-301.396,20.6333,134.669,-55.8748],[1621.42,-201.075,19.7,128.419,-53.5724],[1543.52,-100.524,18.6833,121.746,-50.7716],[1457.11,-0.730745,17.5667,114.656,-47.2912],[1356.77,99.9741,16.2833,106.944,-42.6882],[1236.84,199.4,14.7667,98.6849,-36.2899],[1072.57,299.483,12.7167,89.6484,-25.7997],[744.116,378.8,8.7,82.824,-0.0966799]]], - [46,391.802,[[2438.79,-2001.78,31.7667,206.9,-71.866],[2405.39,-1901.07,31.25,203.742,-71.4207],[2371.72,-1802.17,30.7333,200.545,-70.9576],[2336.68,-1702.03,30.2,197.207,-70.4598],[2300.26,-1600.85,29.65,193.725,-69.924],[2263.54,-1501.83,29.1,190.204,-69.364],[2225.41,-1402.09,28.5333,186.537,-68.7599],[2185.83,-1301.89,27.95,182.723,-68.1074],[2144.79,-1201.48,27.35,178.763,-67.4012],[2102.25,-1101.11,26.7333,174.654,-66.6357],[2058.21,-1001.07,26.1,170.399,-65.8039],[2012.63,-901.659,25.45,165.998,-64.8984],[1964.31,-800.752,24.7667,161.342,-63.8845],[1914.39,-701.275,24.0667,156.548,-62.7737],[1861.64,-601.346,23.3333,151.507,-61.524],[1806.02,-501.635,22.5667,146.23,-60.1132],[1746.26,-400.855,21.75,140.616,-58.4796],[1682.26,-300.127,20.8833,134.688,-56.5803],[1613.95,-200.667,19.9667,128.483,-54.3617],[1538.73,-100.592,18.9667,121.834,-51.6606],[1455.19,-0.820197,17.8667,114.735,-48.3005],[1359.28,99.2399,16.6167,107.06,-43.909],[1244.21,199.305,15.1333,98.7217,-37.7799],[1090.99,299.497,13.1833,89.6073,-28.0014],[741.965,391.802,8.83333,81.3345,-0.00184407]]], - [47,404.779,[[2410.22,-2000.73,31.9667,206.981,-72.2132],[2378.49,-1903,31.4667,203.917,-71.7907],[2344.37,-1800.64,30.9333,200.608,-71.3219],[2309.97,-1700.24,30.4,197.26,-70.8334],[2275.3,-1601.84,29.8667,193.873,-70.3239],[2239.26,-1502.48,29.3167,190.341,-69.775],[2201.82,-1402.4,28.75,186.662,-69.1828],[2162.97,-1301.85,28.1667,182.835,-68.5431],[2122.68,-1201.06,27.5667,178.859,-67.8507],[2080.93,-1100.31,26.95,174.733,-67.0999],[2038.83,-1002.47,26.3333,170.572,-66.3062],[1992.94,-900.04,25.6667,166.037,-65.3957],[1946.67,-801.121,25,161.47,-64.4257],[1897.68,-701.094,24.3,156.648,-63.3372],[1845.91,-600.586,23.5667,151.576,-62.1119],[1791.32,-500.263,22.8,146.261,-60.7281],[1733.86,-400.838,22,140.718,-59.1591],[1672.28,-301.174,21.15,134.851,-57.335],[1605.25,-200.696,20.2333,128.58,-55.1624],[1532.69,-101.114,19.25,121.959,-52.5614],[1451.98,-1.38426,18.1667,114.857,-49.3221],[1359.17,99.2205,16.9333,107.127,-45.0798],[1248.86,199.607,15.4833,98.7364,-39.21],[1105.1,299.895,13.6167,89.554,-30.036],[818.771,399.912,9.96667,79.9295,-6.94838],[740.522,404.778,8.98333,79.8157,-0.0392906]]], - [48,417.72,[[2380.38,-2000.27,32.1667,207.081,-72.5665],[2349.24,-1902.3,31.6667,204.009,-72.1523],[2316.81,-1802.85,31.15,200.796,-71.7074],[2283.07,-1702.13,30.6167,197.439,-71.229],[2247.99,-1600.35,30.0667,193.936,-70.7141],[2212.62,-1500.72,29.5167,190.392,-70.1758],[2175.89,-1400.35,28.95,186.7,-69.5951],[2138.86,-1302.34,28.3833,182.969,-68.9859],[2099.33,-1201.17,27.7833,178.978,-68.3076],[2058.37,-1100.02,27.1667,174.836,-67.572],[2017.07,-1001.79,26.55,170.656,-66.7942],[1973.19,-901.444,25.9,166.213,-65.9247],[1927.8,-801.994,25.2333,161.624,-64.9752],[1879.74,-701.404,24.5333,156.775,-63.9094],[1828.97,-600.3,23.8,151.671,-62.7093],[1776.59,-501.491,23.05,146.436,-61.3841],[1720.25,-401.291,22.25,140.85,-59.8487],[1659.85,-300.795,21.4,134.931,-58.0625],[1595.32,-201.19,20.5,128.711,-55.9742],[1524.17,-100.482,19.5167,122.009,-53.4275],[1446.26,-0.974243,18.45,114.912,-50.3032],[1356.5,99.968,17.2333,107.141,-46.2033],[1252.12,199.299,15.8333,98.8156,-40.655],[1117.57,299.331,14.05,89.6138,-32.0864],[884.994,399.988,11.0167,79.583,-13.4407],[738.402,417.718,9.13333,78.2765,-0.097341]]], - [49,430.608,[[2349.25,-2000.44,32.3667,207.2,-72.9259],[2318.72,-1902.22,31.8667,204.121,-72.5201],[2286.92,-1802.51,31.35,200.899,-72.0843],[2253.83,-1701.51,30.8167,197.533,-71.6157],[2220.47,-1602.51,30.2833,194.127,-71.1269],[2185.8,-1502.53,29.7333,190.573,-70.6002],[2149.79,-1401.8,29.1667,186.87,-70.0319],[2112.42,-1300.56,28.5833,183.015,-69.4178],[2074.74,-1201.85,28,179.12,-68.7719],[2034.58,-1100.29,27.3833,174.962,-68.0518],[1994.09,-1001.64,26.7667,170.764,-67.2902],[1951.07,-900.852,26.1167,166.301,-66.4388],[1906.57,-800.945,25.45,161.688,-65.5088],[1860.58,-702.231,24.7667,156.928,-64.4902],[1810.81,-600.515,24.0333,151.794,-63.3161],[1759.47,-501.074,23.2833,146.523,-62.0189],[1704.24,-400.194,22.4833,140.895,-60.5153],[1646.2,-300.894,21.65,135.043,-58.8009],[1582.96,-200.379,20.75,128.761,-56.7567],[1514.42,-100.32,19.7833,122.096,-54.306],[1439.27,-1.05031,18.7333,115.009,-51.2973],[1353.74,98.895,17.55,107.307,-47.4006],[1252.72,199.453,16.1667,98.8642,-42.0425],[1125.9,299.443,14.45,89.6262,-33.9746],[924.726,399.722,11.7667,79.4494,-17.8936],[734.317,430.607,9.26667,76.7243,-0.0554541]]], - [50,443.429,[[2316.84,-2001.26,32.5667,207.34,-73.291],[2286.92,-1902.78,32.0667,204.253,-72.894],[2255.76,-1802.8,31.55,201.023,-72.4675],[2223.33,-1701.52,31.0167,197.648,-72.0088],[2190.65,-1602.23,30.4833,194.232,-71.5304],[2156.67,-1501.95,29.9333,190.668,-71.0148],[2121.38,-1400.91,29.3667,186.952,-70.4585],[2085.81,-1302.22,28.8,183.195,-69.8747],[2047.84,-1200.32,28.2,179.175,-69.2246],[2009.55,-1101.13,27.6,175.112,-68.5389],[1969.89,-1002.05,26.9833,170.897,-67.7941],[1927.74,-900.809,26.3333,166.414,-66.9611],[1884.14,-800.43,25.6667,161.778,-66.0511],[1839.08,-701.229,24.9833,156.993,-65.0542],[1791.43,-601.26,24.2667,151.945,-63.9316],[1741.15,-501.17,23.5167,146.641,-62.6633],[1688.17,-401.652,22.7333,141.089,-61.2243],[1631.33,-301.499,21.9,135.188,-59.5494],[1569.4,-200.053,21,128.846,-57.5509],[1503.42,-100.657,20.05,122.221,-55.1962],[1429.83,-0.123697,19,115.036,-52.2537],[1347.27,99.9203,17.8333,107.312,-48.493],[1251.95,198.993,16.5,98.9759,-43.444],[1131.46,299.57,14.8333,89.6526,-35.7924],[951.88,399.668,12.3833,79.371,-21.4663],[729.595,443.428,9.4,75.152,-0.0322992]]], - [51,456.168,[[2283.12,-2002.75,32.7667,207.5,-73.6619],[2252.84,-1900.74,32.25,204.302,-73.2605],[2222.32,-1800.54,31.7333,201.064,-72.843],[2191.56,-1702.17,31.2167,197.785,-72.4083],[2159.56,-1602.58,30.6833,194.36,-71.9404],[2126.29,-1502,30.1333,190.785,-71.4362],[2091.74,-1400.64,29.5667,187.058,-70.892],[2056.91,-1301.62,29,183.288,-70.3211],[2020.76,-1202.18,28.4167,179.365,-69.7032],[1983.28,-1102.56,27.8167,175.288,-69.0333],[1943.4,-1000.4,27.1833,170.941,-68.2852],[1903.18,-901.338,26.55,166.554,-67.4915],[1860.5,-800.474,25.8833,161.896,-66.602],[1816.39,-700.77,25.2,157.085,-65.6272],[1769.74,-600.268,24.4833,152.008,-64.5293],[1721.61,-501.802,23.75,146.789,-63.317],[1669.75,-401.583,22.9667,141.198,-61.911],[1614.11,-300.675,22.1333,135.249,-60.2735],[1554.61,-200.237,21.25,128.966,-58.3562],[1491.18,-101.52,20.3167,122.385,-56.0975],[1420.32,-1.23668,19.2833,115.219,-53.2724],[1340.69,99.0649,18.1333,107.472,-49.6569],[1248.62,199.053,16.8167,99.0495,-44.7909],[1134.31,299.793,15.2,89.6827,-37.5419],[970.739,399.995,12.9167,79.2979,-24.5088],[724.231,456.167,9.53333,73.5596,-0.0293044]]], - [52,468.81,[[2247.17,-2001.62,32.95,207.578,-74.0259],[2218.5,-1902.65,32.45,204.477,-73.6462],[2188.64,-1802.15,31.9333,201.231,-73.2384],[2157.56,-1700.34,31.4,197.838,-72.7998],[2126.24,-1600.51,30.8667,194.403,-72.3421],[2094.67,-1502.7,30.3333,190.925,-71.8641],[2060.86,-1401,29.7667,187.187,-71.3324],[2026.77,-1301.65,29.2,183.405,-70.7745],[1991.41,-1201.86,28.6167,179.469,-70.1707],[1954.74,-1101.89,28.0167,175.376,-69.5159],[1916.74,-1001.99,27.4,171.127,-68.8044],[1877.4,-902.464,26.7667,166.721,-68.0295],[1835.64,-801.099,26.1,162.041,-67.1609],[1792.49,-700.878,25.4167,157.206,-66.2089],[1747.92,-602.13,24.7167,152.22,-65.1622],[1699.76,-500.795,23.9667,146.848,-63.9515],[1650.12,-402.057,23.2,141.338,-62.6074],[1595.7,-300.376,22.3667,135.343,-61.0084],[1538.6,-200.959,21.5,129.123,-59.1721],[1476.57,-101.222,20.5667,122.472,-56.9674],[1408.38,-1.35898,19.55,115.331,-54.2538],[1331.66,99.0077,18.4167,107.574,-50.7768],[1242.78,199.69,17.1167,99.0791,-46.086],[1135.67,299.242,15.5667,89.8004,-39.3064],[985.23,399.807,13.4167,79.314,-27.3542],[718.219,468.809,9.66667,71.9475,-0.0479846]]], - [53,481.34,[[2209.96,-2001.19,33.1333,207.678,-74.3957],[2181.92,-1901.99,32.6333,204.569,-74.0248],[2152.72,-1801.25,32.1167,201.316,-73.6263],[2123.28,-1702.35,31.6,198.02,-73.2114],[2092.66,-1602.2,31.0667,194.576,-72.7647],[2060.83,-1501.03,30.5167,190.98,-72.2833],[2028.74,-1402.03,29.9667,187.341,-71.7793],[1995.42,-1302.34,29.4,183.547,-71.2347],[1960.84,-1202.19,28.8167,179.597,-70.6452],[1924.99,-1101.84,28.2167,175.49,-70.0059],[1887.84,-1001.56,27.6,171.224,-69.3111],[1849.37,-901.626,26.9667,166.799,-68.5543],[1809.57,-802.336,26.3167,162.215,-67.7277],[1767.39,-701.581,25.6333,157.357,-66.799],[1723.82,-602.282,24.9333,152.343,-65.7776],[1676.75,-500.351,24.1833,146.939,-64.5959],[1628.22,-400.998,23.4167,141.392,-63.2832],[1576.09,-300.631,22.6,135.472,-61.7536],[1520.28,-200.38,21.7333,129.197,-59.9616],[1460.74,-101.468,20.8167,122.599,-57.8488],[1394.11,-0.45851,19.8,115.371,-55.2008],[1320.24,99.788,18.6833,107.612,-51.8556],[1235.63,199.733,17.4167,99.1672,-47.3962],[1133.26,299.848,15.9,89.8142,-40.9248],[995.508,399.412,13.8833,79.3789,-30.0042],[711.557,481.338,9.8,70.3163,-0.0902811]]], - [54,493.743,[[2171.49,-2001.5,33.3167,207.799,-74.7714],[2144.09,-1902.05,32.8167,204.684,-74.4094],[2115.56,-1801.07,32.3,201.422,-74.0205],[2086.8,-1701.91,31.7833,198.119,-73.6155],[2056.88,-1601.5,31.25,194.665,-73.1795],[2025.78,-1500.06,30.7,191.059,-72.7095],[1994.42,-1400.78,30.15,187.408,-72.2174],[1961.86,-1300.79,29.5833,183.602,-71.6857],[1928.08,-1200.34,29,179.638,-71.11],[1894.02,-1102.44,28.4167,175.63,-70.5033],[1857.73,-1001.76,27.8,171.348,-69.8257],[1820.15,-901.413,27.1667,166.905,-69.0873],[1781.28,-801.692,26.5167,162.301,-68.2808],[1740.07,-700.48,25.8333,157.418,-67.3743],[1697.5,-600.709,25.1333,152.377,-66.3772],[1652.54,-500.494,24.4,147.062,-65.2496],[1605.14,-400.507,23.6333,141.479,-63.9694],[1555.27,-301.464,22.8333,135.636,-62.5087],[1500.77,-200.36,21.9667,129.309,-60.7623],[1442.62,-100.535,21.05,122.646,-58.7016],[1378.62,-0.103124,20.05,115.453,-56.161],[1308.66,98.5755,18.9667,107.814,-53.0009],[1227.15,199.152,17.7167,99.3154,-48.7201],[1129.44,299.749,16.2333,89.9057,-42.5598],[1000.61,399.806,14.3,79.3759,-32.3639],[703.096,493.743,9.91667,68.6719,-0.0216919]]], - [55,506.006,[[2131.76,-2002.56,33.5,207.943,-75.1527],[2105.02,-1902.87,33,204.821,-74.7998],[2077.16,-1801.62,32.4833,201.553,-74.4206],[2049.09,-1702.2,31.9667,198.241,-74.0257],[2019.88,-1601.52,31.4333,194.779,-73.6006],[1990.44,-1502.84,30.9,191.273,-73.1565],[1958.91,-1400.22,30.3333,187.501,-72.6624],[1928.06,-1302.85,29.7833,183.796,-72.1594],[1895.08,-1202.01,29.2,179.82,-71.5987],[1860.89,-1100.96,28.6,175.683,-70.9904],[1826.42,-1002.63,28,171.501,-70.3476],[1789.75,-901.852,27.3667,167.04,-69.6281],[1751.8,-801.687,26.7167,162.416,-68.8421],[1711.58,-700.002,26.0333,157.51,-67.9585],[1671.03,-602.083,25.35,152.564,-67.0102],[1627.15,-501.251,24.6167,147.219,-65.9124],[1580.9,-400.612,23.85,141.6,-64.6654],[1532.22,-300.883,23.05,135.716,-63.242],[1480.06,-200.925,22.2,129.459,-61.5736],[1423.33,-100.165,21.2833,122.733,-59.5666],[1361.92,-0.321478,20.3,115.579,-57.1336],[1293.66,99.646,19.2167,107.835,-54.0547],[1216.28,199.188,18,99.4132,-49.9953],[1123.13,299.958,16.55,89.9738,-44.1338],[1002.94,399.864,14.7,79.426,-34.6422],[768.643,499.846,11.15,67.513,-9.2825],[695.149,506.003,10.05,67.003,-0.113851]]], - [56,518.112,[[2089.91,-2001.05,33.6667,208.007,-75.5282],[2063.82,-1901.16,33.1667,204.877,-75.1841],[2037.53,-1802.94,32.6667,201.707,-74.8266],[2009.26,-1700.06,32.1333,198.28,-74.4293],[1981.66,-1602.28,31.6167,194.917,-74.028],[1952.04,-1500.25,31.0667,191.291,-73.5816],[1922.19,-1400.38,30.5167,187.62,-73.1142],[1892.1,-1302.71,29.9667,183.903,-72.6241],[1859.94,-1201.55,29.3833,179.915,-72.0778],[1826.59,-1100.15,28.7833,175.763,-71.4852],[1792.97,-1001.49,28.1833,171.565,-70.8587],[1757.2,-900.35,27.55,167.086,-70.1574],[1721.14,-802.345,26.9167,162.561,-69.4114],[1681.92,-700.172,26.2333,157.633,-68.5512],[1642.37,-601.76,25.55,152.662,-67.6278],[1599.59,-500.393,24.8167,147.287,-66.5584],[1555.47,-401.339,24.0667,141.756,-65.3708],[1508.01,-300.903,23.2667,135.832,-63.9856],[1457.15,-200.188,22.4167,129.526,-62.3612],[1402.85,-100.386,21.5167,122.861,-60.4431],[1344.01,-1.14222,20.55,115.752,-58.1176],[1278.5,98.6642,19.4833,108.023,-55.1725],[1203.08,199.886,18.2667,99.4556,-51.225],[1115.44,299.458,16.8667,90.118,-45.7225],[1002.59,399.682,15.0833,79.5162,-36.8395],[810.051,499.796,12.0833,67.3778,-16.212],[685.452,518.11,10.1667,65.3211,-0.0926655]]], - [57,530.048,[[2046.85,-2000.34,33.8333,208.093,-75.9095],[2021.42,-1900.22,33.3333,204.956,-75.5744],[1995.8,-1801.79,32.8333,201.778,-75.2262],[1969.11,-1701.87,32.3167,198.451,-74.8517],[1941.35,-1600.67,31.7833,194.971,-74.4484],[1913.36,-1501.47,31.25,191.446,-74.027],[1884.27,-1401.29,30.7,187.765,-73.5723],[1854.07,-1300.37,30.1333,183.924,-73.0807],[1823.62,-1201.81,29.5667,180.037,-72.564],[1791.12,-1100.06,28.9667,175.872,-71.9872],[1758.37,-1001.04,28.3667,171.659,-71.3775],[1724.43,-902.157,27.75,167.281,-70.7134],[1688.37,-801.141,27.1,162.618,-69.9685],[1651.09,-701.013,26.4333,157.788,-69.152],[1612.57,-602.092,25.75,152.793,-68.254],[1570.88,-500.174,25.0167,147.389,-67.2138],[1527.9,-400.55,24.2667,141.825,-66.0582],[1482.63,-301.551,23.4833,135.985,-64.7391],[1433.09,-200.057,22.6333,129.631,-63.1598],[1381.18,-101.221,21.75,123.032,-61.3303],[1323.87,-0.933059,20.7833,115.849,-59.0704],[1261.07,98.5389,19.7333,108.144,-56.2527],[1188.64,199.97,18.5333,99.5552,-52.4697],[1105.34,299.326,17.1667,90.2307,-47.2526],[999.615,399.348,15.45,79.6342,-38.9572],[831.138,499.867,12.75,67.3351,-21.0171],[675.149,530.047,10.2833,63.6212,-0.0966254]]], - [58,541.8,[[2002.59,-2000.43,34,208.202,-76.2963],[1977.83,-1900.1,33.5,205.059,-75.9705],[1952.88,-1801.44,33,201.874,-75.6318],[1926.9,-1701.29,32.4833,198.539,-75.2675],[1900.72,-1602.98,31.9667,195.16,-74.8877],[1872.62,-1500.39,31.4167,191.516,-74.4653],[1845.16,-1402.96,30.8833,187.937,-74.0365],[1815.76,-1301.7,30.3167,184.086,-73.5589],[1786.12,-1202.8,29.75,180.188,-73.0568],[1754.49,-1100.7,29.15,176.009,-72.4963],[1722.61,-1001.31,28.55,171.782,-71.9036],[1689.57,-902.047,27.9333,167.388,-71.2581],[1654.48,-800.627,27.2833,162.706,-70.5339],[1618.18,-700.08,26.6167,157.855,-69.7398],[1580.68,-600.726,25.9333,152.835,-68.8663],[1541.03,-500.617,25.2167,147.526,-67.8781],[1499.2,-400.405,24.4667,141.93,-66.7552],[1455.14,-300.788,23.6833,136.052,-65.4731],[1407.88,-200.559,22.85,129.777,-63.9687],[1357.36,-100.884,21.9667,123.122,-62.1918],[1302.56,-1.34268,21.0167,115.992,-60.0351],[1241.46,99.3029,19.9667,108.194,-57.2982],[1172.95,199.411,18.8,99.7138,-53.7278],[1092.92,299.615,17.45,90.3053,-48.7278],[993.096,399.817,15.7833,79.6694,-40.9087],[843.536,499.641,13.3167,67.38,-25.0574],[664.238,541.798,10.4,61.9034,-0.128096]]], - [59,553.355,[[1957.11,-2001.36,34.1667,208.335,-76.6887],[1933.03,-1900.79,33.6667,205.187,-76.3722],[1908.77,-1801.9,33.1667,201.995,-76.0432],[1883.5,-1701.5,32.65,198.653,-75.6893],[1858.04,-1602.95,32.1333,195.266,-75.3204],[1830.72,-1500.09,31.5833,191.613,-74.91],[1804.01,-1402.41,31.05,188.024,-74.4935],[1775.42,-1300.87,30.4833,184.162,-74.0294],[1746.59,-1201.69,29.9167,180.251,-73.5414],[1716.69,-1102.09,29.3333,176.176,-73.0122],[1685.68,-1002.32,28.7333,171.935,-72.437],[1652.69,-900.011,28.1,167.406,-71.7929],[1619.44,-800.825,27.4667,162.826,-71.1072],[1585.03,-702.325,26.8167,158.076,-70.3561],[1547.68,-600.04,26.1167,152.911,-69.4878],[1510.03,-501.747,25.4167,147.699,-68.5508],[1469.36,-400.93,24.6667,142.072,-67.4616],[1426.53,-300.673,23.8833,136.158,-66.2173],[1381.5,-201.718,23.0667,129.965,-64.7874],[1332.39,-101.18,22.1833,123.255,-63.0645],[1279.12,-0.703205,21.2333,116.057,-60.9715],[1220.68,99.4503,20.2,108.294,-58.3575],[1155.04,199.545,19.05,99.8121,-54.9437],[1079.2,299.217,17.7333,90.451,-50.2181],[985.138,399.458,16.1167,79.8053,-42.8772],[848.761,499.847,13.8,67.3972,-28.4835],[651.714,553.355,10.5,60.1723,-0.0341413]]], - [60,564.699,[[1910.43,-2003.15,34.3333,208.493,-77.0863],[1887.05,-1902.34,33.8333,205.339,-76.7793],[1863.48,-1803.21,33.3333,202.142,-76.4602],[1838.93,-1702.55,32.8167,198.792,-76.1169],[1813.4,-1600.58,32.2833,195.288,-75.7472],[1787.65,-1500.6,31.75,191.737,-75.3609],[1761.71,-1402.65,31.2167,188.139,-74.9568],[1733.94,-1300.82,30.65,184.266,-74.5065],[1705.94,-1201.34,30.0833,180.344,-74.033],[1676.89,-1101.44,29.5,176.257,-73.5194],[1646.77,-1001.36,28.9,172.001,-72.9611],[1615.57,-901.369,28.2833,167.576,-72.3528],[1583.27,-801.759,27.65,162.979,-71.6882],[1548.99,-700.328,26.9833,158.087,-70.9406],[1513.58,-600.059,26.3,153.022,-70.1179],[1477.01,-501.285,25.6,147.785,-69.2091],[1438.39,-402.148,24.8667,142.253,-68.1767],[1396.79,-301.232,24.0833,136.303,-66.9712],[1353.07,-201.584,23.2667,130.067,-65.5852],[1305.38,-100.289,22.3833,123.306,-63.914],[1254.56,-0.698947,21.45,116.169,-61.9201],[1198.73,98.954,20.4333,108.446,-59.429],[1135.94,199.025,19.3,99.9691,-56.1729],[1063.25,299.289,18,90.552,-51.6566],[974.79,399.177,16.4333,79.9374,-44.7742],[850.122,499.575,14.25,67.4985,-31.6814],[639.612,564.697,10.6167,58.4197,-0.124344]]], - [61,575.816,[[1861.8,-2002.43,34.4833,208.571,-77.4791],[1839.11,-1901.42,33.9833,205.411,-77.1814],[1816.24,-1802.09,33.4833,202.206,-76.872],[1792.42,-1701.23,32.9667,198.85,-76.5391],[1768.41,-1602.21,32.45,195.447,-76.1919],[1743.44,-1501.95,31.9167,191.888,-75.8177],[1717.48,-1400.68,31.3667,188.168,-75.4137],[1691.32,-1301.58,30.8167,184.4,-74.99],[1664.15,-1201.8,30.25,180.467,-74.5312],[1635.97,-1101.57,29.6667,176.367,-74.0336],[1606.74,-1001.16,29.0667,172.098,-73.4925],[1576.47,-900.832,28.45,167.657,-72.9029],[1545.13,-800.866,27.8167,163.043,-72.2587],[1512.72,-701.56,27.1667,158.255,-71.5526],[1478.36,-600.809,26.4833,153.168,-70.7561],[1442.88,-501.536,25.7833,147.906,-69.8761],[1405.42,-401.872,25.05,142.346,-68.8761],[1365.07,-300.388,24.2667,136.361,-67.7079],[1322.65,-200.142,23.45,130.084,-66.3642],[1277.27,-100.056,22.5833,123.4,-64.7751],[1228.86,-1.35884,21.6667,116.329,-62.8799],[1174.71,99.3605,20.65,108.524,-60.4692],[1114.72,199.227,19.5333,100.062,-57.3634],[1045.14,299.873,18.25,90.6029,-53.0472],[962.125,399.038,16.7333,80.0568,-46.6033],[846.855,499.753,14.65,67.5532,-34.5411],[625.954,575.815,10.7167,56.6541,-0.0857229]]], - [62,586.697,[[1812.03,-2002.6,34.6333,208.675,-77.8774],[1790.03,-1901.39,34.1333,205.508,-77.5892],[1767.87,-1801.85,33.6333,202.298,-77.2895],[1744.78,-1700.77,33.1167,198.934,-76.9672],[1721.52,-1601.53,32.6,195.524,-76.631],[1697.31,-1501.04,32.0667,191.956,-76.2686],[1672.92,-1402.57,31.5333,188.341,-75.8895],[1646.8,-1300.19,30.9667,184.448,-75.4669],[1620.47,-1200.16,30.4,180.504,-75.0225],[1593.94,-1102.51,29.8333,176.509,-74.5545],[1565.62,-1001.76,29.2333,172.227,-74.031],[1536.29,-901.071,28.6167,167.772,-73.4605],[1505.92,-800.735,27.9833,163.141,-72.8371],[1474.51,-701.046,27.3333,158.334,-72.1537],[1442.03,-602.31,26.6667,153.351,-71.4021],[1406.84,-500.194,25.95,147.939,-70.5304],[1370.54,-400.086,25.2167,142.35,-69.5616],[1332.28,-300.239,24.45,136.459,-68.4547],[1292.03,-201.375,23.65,130.272,-67.1822],[1248.06,-100.5,22.7833,123.539,-65.647],[1201.17,-0.96159,21.8667,116.408,-63.8145],[1149.58,99.1083,20.8667,108.654,-61.5221],[1092.35,198.763,19.7667,100.213,-58.5671],[1025.84,299.783,18.5,90.7214,-54.4536],[947.229,399.106,17.0167,80.1554,-48.3684],[841.017,499.405,15.0333,67.6899,-37.3029],[611.745,586.695,10.8167,54.8718,-0.0766729]]], - [63,597.326,[[1760.4,-2000.27,34.7667,208.699,-78.2718],[1739.82,-1902.25,34.2833,205.632,-78.0023],[1718.37,-1802.49,33.7833,202.415,-77.7126],[1696.03,-1701.19,33.2667,199.045,-77.401],[1673.51,-1601.71,32.75,195.628,-77.076],[1650.08,-1500.99,32.2167,192.052,-76.7256],[1626.48,-1402.28,31.6833,188.428,-76.359],[1601.94,-1302.63,31.1333,184.641,-75.9627],[1576.47,-1202.26,30.5667,180.688,-75.5336],[1550.04,-1101.44,29.9833,176.565,-75.068],[1522.63,-1000.4,29.3833,172.269,-74.5617],[1495.01,-902.11,28.7833,167.92,-74.0252],[1465.63,-801.389,28.15,163.274,-73.4229],[1435.23,-701.3,27.5,158.449,-72.7626],[1403.81,-602.151,26.8333,153.446,-72.0363],[1370.55,-501.924,26.1333,148.137,-71.2141],[1335.43,-401.252,25.4,142.521,-70.2793],[1298.41,-300.81,24.6333,136.599,-69.2107],[1259.47,-201.318,23.8333,130.374,-67.9819],[1217.76,-101.649,22.9833,123.725,-66.5285],[1172.4,-1.24325,22.0667,116.537,-64.7605],[1122.49,99.7811,21.0667,108.708,-62.5465],[1067.97,199.052,19.9833,100.297,-59.7353],[1005.34,298.991,18.75,90.9096,-55.8734],[930.179,399.435,17.2833,80.2256,-50.0733],[831.818,499.354,15.3833,67.7935,-39.8597],[596.984,597.324,10.9167,53.0732,-0.100465]]], - [64,607.69,[[1708.37,-2002.28,34.9167,208.854,-78.6805],[1687.79,-1900.69,34.4167,205.676,-78.4113],[1667.06,-1800.75,33.9167,202.452,-78.1314],[1646.16,-1702.51,33.4167,199.184,-77.8402],[1624.4,-1602.8,32.9,195.761,-77.5266],[1601.77,-1501.83,32.3667,192.178,-77.1885],[1578.95,-1402.86,31.8333,188.546,-76.8347],[1555.25,-1302.95,31.2833,184.75,-76.4522],[1530.63,-1202.31,30.7167,180.786,-76.038],[1505.08,-1101.2,30.1333,176.652,-75.5885],[1479.34,-1002.64,29.55,172.464,-75.1136],[1451.91,-901.276,28.9333,167.981,-74.5816],[1423.52,-800.237,28.3,163.319,-73.9999],[1394.9,-702.352,27.6667,158.601,-73.3791],[1363.77,-600.33,26.9833,153.452,-72.6604],[1332.4,-502.092,26.3,148.247,-71.8855],[1298.47,-400.937,25.5667,142.605,-70.9834],[1263.48,-302.129,24.8167,136.781,-69.9754],[1225.86,-201.988,24.0167,130.52,-68.7912],[1185.56,-101.623,23.1667,123.827,-67.3899],[1141.74,-0.460239,22.25,116.584,-65.684],[1094.34,99.7735,21.2667,108.815,-63.5839],[1042.48,198.655,20.2,100.439,-60.9169],[982.819,298.742,18.9833,91.0426,-57.2485],[911.89,399.02,17.55,80.3809,-51.7948],[819.432,499.803,15.7,67.8334,-42.2244],[644.737,599.962,12.25,52.4526,-13.4604],[581.672,607.687,11.0167,51.2588,-0.161225]]], - [65,617.778,[[1654.55,-2001.82,35.05,208.93,-79.0854],[1634.69,-1900.05,34.55,205.746,-78.8259],[1615.35,-1803.24,34.0667,202.625,-78.5651],[1594.52,-1701.51,33.55,199.242,-78.2751],[1573.52,-1601.6,33.0333,195.811,-77.9727],[1551.68,-1500.43,32.5,192.22,-77.6465],[1529.66,-1401.26,31.9667,188.579,-77.3052],[1506.78,-1301.14,31.4167,184.774,-76.9361],[1483.02,-1200.29,30.85,180.799,-76.5365],[1459.08,-1101.81,30.2833,176.772,-76.1155],[1433.53,-1000.16,29.6833,172.452,-75.6445],[1407.78,-901.263,29.0833,168.076,-75.1452],[1381.1,-802.519,28.4667,163.522,-74.5998],[1352.77,-701.671,27.8167,158.664,-73.9861],[1323.48,-601.735,27.15,153.622,-73.3107],[1292.47,-500.675,26.45,148.268,-72.5458],[1260.48,-401.381,25.7333,142.729,-71.6962],[1226.73,-302.055,24.9833,136.876,-70.7254],[1190.43,-201.359,24.1833,130.58,-69.5843],[1151.56,-100.398,23.3333,123.844,-68.2334],[1110.06,-0.372018,22.4333,116.68,-66.6193],[1065.12,99.0677,21.4667,108.976,-64.6328],[1015.11,199.038,20.4,100.511,-62.0664],[958.358,299.081,19.2,91.1158,-58.5826],[890.759,399.995,17.7833,80.3774,-53.3897],[805.646,499.347,16.0167,68.0004,-44.6071],[658.568,599.844,13,52.4906,-20.7864],[564.988,617.777,11.1,49.4316,-0.0735659]]], - [66,627.577,[[1599.66,-2002.33,35.1833,209.033,-79.4954],[1580.53,-1900.36,34.6833,205.844,-79.2456],[1561.26,-1800.06,34.1833,202.609,-78.9859],[1541.83,-1701.44,33.6833,199.328,-78.7155],[1521.6,-1601.33,33.1667,195.891,-78.4244],[1501.22,-1503.08,32.65,192.405,-78.1205],[1479.35,-1400.57,32.1,188.643,-77.7819],[1457.31,-1300.22,31.55,184.828,-77.4266],[1435.1,-1202.08,31,180.962,-77.0534],[1411.36,-1100.43,30.4167,176.806,-76.6364],[1387.43,-1001.33,29.8333,172.594,-76.1958],[1362.63,-902.104,29.2333,168.206,-75.7157],[1336.24,-800.384,28.6,163.515,-75.1765],[1309.64,-701.811,27.9667,158.764,-74.6008],[1281.43,-601.503,27.3,153.704,-73.9511],[1251.57,-500.047,26.6,148.329,-73.215],[1220.75,-400.344,25.8833,142.765,-72.3972],[1188.24,-300.587,25.1333,136.883,-71.4624],[1154.02,-201.478,24.35,130.685,-70.3873],[1117.32,-101.83,23.5167,124.041,-69.115],[1077.36,-1.01043,22.6167,116.827,-67.5653],[1034.08,99.2895,21.65,109.059,-65.6563],[986.681,198.72,20.6,100.642,-63.229],[932.807,298.718,19.4167,91.2565,-59.9313],[869.268,399.167,18.0333,80.5784,-55.0708],[788.901,499.608,16.3,68.0705,-46.8109],[659.954,599.964,13.55,52.5324,-26.1116],[547.817,627.577,11.1833,47.589,-0.0178102]]], - [67,637.077,[[1543.1,-2000.38,35.3,209.057,-79.9024],[1525.32,-1901.65,34.8167,205.969,-79.6704],[1506.78,-1801.14,34.3167,202.729,-79.4209],[1488.1,-1702.31,33.8167,199.443,-79.1613],[1468.65,-1602,33.3,196,-78.8817],[1448.42,-1500.39,32.7667,192.394,-78.5801],[1428.03,-1400.79,32.2333,188.738,-78.2645],[1406.83,-1300.21,31.6833,184.915,-77.9232],[1385.47,-1201.83,31.1333,181.04,-77.5647],[1363.3,-1102.8,30.5667,176.993,-77.1758],[1339.64,-1000.57,29.9667,172.65,-76.7406],[1315.79,-901.079,29.3667,168.249,-76.2793],[1291.09,-801.722,28.75,163.668,-75.7751],[1264.84,-700.222,28.1,158.777,-75.2076],[1238.39,-602.084,27.45,153.825,-74.5991],[1209.68,-500.215,26.75,148.43,-73.8925],[1180.06,-400.085,26.0333,142.843,-73.1072],[1149.5,-302.052,25.3,137.066,-72.2302],[1115.9,-200.293,24.5,130.703,-71.1762],[1080.62,-100.135,23.6667,124.02,-69.953],[1042.92,-0.57301,22.7833,116.891,-68.4914],[1002.04,98.7995,21.8333,109.197,-66.6915],[956.479,199.203,20.7833,100.699,-64.3629],[905.431,298.973,19.6167,91.3336,-61.2427],[845.109,399.819,18.25,80.6089,-56.6344],[770.12,499.893,16.5667,68.1379,-48.9414],[655.307,599.899,14.0167,52.6283,-30.6501],[530.924,637.075,11.2833,45.729,-0.20255]]], - [68,646.266,[[1486.12,-2002.86,35.4333,209.214,-80.3222],[1468.47,-1900.54,34.9333,206.015,-80.092],[1451.27,-1803.2,34.45,202.879,-79.8608],[1432.75,-1700.89,33.9333,199.478,-79.6036],[1414.08,-1600.41,33.4167,196.027,-79.3353],[1395.27,-1501.78,32.9,192.528,-79.0551],[1375.7,-1401.94,32.3667,188.865,-78.7527],[1355.36,-1301.12,31.8167,185.034,-78.4257],[1334.87,-1202.49,31.2667,181.151,-78.082],[1312.96,-1100.32,30.6833,176.975,-77.698],[1290.88,-1000.7,30.1,172.741,-77.2922],[1268,-900.929,29.5,168.328,-76.8499],[1244.29,-801.283,28.8833,163.733,-76.3665],[1219.76,-702.044,28.25,158.953,-75.8367],[1193.73,-601.028,27.5833,153.858,-75.2386],[1166.84,-501.21,26.9,148.572,-74.5776],[1138.41,-400.633,26.1833,142.963,-73.8255],[1109.09,-302.14,25.45,137.161,-72.9853],[1077.53,-201.949,24.6667,130.901,-71.9975],[1043.68,-101.138,23.8333,124.181,-70.8273],[1007.51,-0.87732,22.95,117.007,-69.4283],[968.295,99.2536,22,109.255,-67.7043],[925.287,198.974,20.9667,100.816,-65.5098],[876.322,299.869,19.8,91.3438,-62.5209],[819.877,399.761,18.4667,80.718,-58.2157],[750.108,499.369,16.8333,68.3152,-51.0893],[646.54,599.523,14.4333,52.7907,-34.7386],[512.026,646.265,11.35,43.8591,-0.0186188]]], - [69,655.13,[[1427.54,-2002.92,35.55,209.294,-80.7389],[1410.64,-1900.43,35.05,206.09,-80.5187],[1394.17,-1802.93,34.5667,202.948,-80.2974],[1376.43,-1700.45,34.05,199.541,-80.0512],[1359.13,-1603.01,33.55,196.197,-79.8029],[1340.54,-1500.98,33.0167,192.579,-79.5263],[1321.8,-1400.96,32.4833,188.908,-79.2368],[1302.91,-1302.97,31.95,185.187,-78.9334],[1282.69,-1201.12,31.3833,181.177,-78.5948],[1262.31,-1101.63,30.8167,177.111,-78.2379],[1241.17,-1001.73,30.2333,172.868,-77.8498],[1219.26,-901.67,29.6333,168.444,-77.4269],[1196.56,-801.72,29.0167,163.837,-76.9648],[1173.07,-702.167,28.3833,159.043,-76.4581],[1148.14,-600.816,27.7167,153.931,-75.886],[1122.39,-500.651,27.0333,148.626,-75.2535],[1095.81,-402.008,26.3333,143.127,-74.5513],[1067.1,-300.838,25.5833,137.168,-73.7296],[1036.88,-200.24,24.8,130.877,-72.7836],[1005.12,-100.959,23.9833,124.257,-71.6861],[970.495,-0.103905,23.1,117.039,-70.348],[933.612,98.9732,22.1667,109.368,-68.7287],[892.444,199.556,21.1333,100.857,-66.6312],[846.917,298.697,20,91.5563,-63.8599],[793.576,398.969,18.6833,80.9078,-59.8108],[727.494,499.834,17.0667,68.3552,-53.0828],[633.237,599.828,14.7833,52.8373,-38.2596],[493.412,655.129,11.4333,41.9728,-0.0861822]]], - [70,663.66,[[1367.44,-2000.56,35.65,209.295,-81.1535],[1351.83,-1901.34,35.1667,206.194,-80.9502],[1335.55,-1800.33,34.6667,202.938,-80.7315],[1319.15,-1701,34.1667,199.636,-80.504],[1302.07,-1600.16,33.65,196.174,-80.2589],[1284.86,-1501.16,33.1333,192.662,-80.003],[1266.95,-1400.94,32.6,188.984,-79.7266],[1248.91,-1302.76,32.0667,185.255,-79.437],[1229.59,-1200.69,31.5,181.237,-79.1137],[1210.12,-1100.99,30.9333,177.162,-78.7729],[1189.92,-1000.87,30.35,172.909,-78.4024],[1168.99,-900.577,29.75,168.474,-77.9985],[1147.3,-800.388,29.1333,163.853,-77.5571],[1124.86,-700.586,28.5,159.045,-77.0731],[1101.65,-601.47,27.85,154.045,-76.5406],[1077.05,-500.941,27.1667,148.723,-75.9373],[1051.66,-401.921,26.4667,143.204,-75.2673],[1024.24,-300.345,25.7167,137.221,-74.4832],[995.985,-201.414,24.95,131.037,-73.6002],[965.653,-101.565,24.1333,124.383,-72.5544],[932.581,-0.0898911,23.25,117.124,-71.2787],[897.355,99.6481,22.3167,109.401,-69.7337],[858.672,199.411,21.3,100.96,-67.7654],[815.196,299.541,20.1667,91.5647,-65.122],[764.904,399.789,18.8667,80.9104,-61.3052],[703.767,499.541,17.3,68.4963,-55.0956],[617.749,599.551,15.1167,52.9902,-41.6615],[474.322,663.658,11.5167,40.0729,-0.207668]]], - [71,671.845,[[1306.95,-2002.68,35.7667,209.432,-81.5796],[1292.07,-1903.29,35.2833,206.327,-81.3861],[1276.56,-1802.09,34.7833,203.068,-81.178],[1260.93,-1702.57,34.2833,199.761,-80.9615],[1244.65,-1601.53,33.7667,196.294,-80.7282],[1228.25,-1502.34,33.25,192.776,-80.4847],[1211.19,-1401.91,32.7167,189.093,-80.2217],[1193.46,-1300.47,32.1667,185.24,-79.9372],[1175.59,-1201.22,31.6167,181.332,-79.6383],[1157.04,-1101.3,31.05,177.249,-79.3139],[1137.8,-1000.94,30.4667,172.986,-78.9612],[1117.85,-900.398,29.8667,168.54,-78.5767],[1097.75,-802.63,29.2667,164.034,-78.1681],[1076.37,-702.483,28.6333,159.214,-77.708],[1053.68,-600.5,27.9667,154.072,-77.1883],[1030.82,-502.097,27.3,148.862,-76.6282],[1006.05,-400.365,26.5833,143.192,-75.9752],[980.505,-300.679,25.85,137.319,-75.2451],[953.589,-201.308,25.0833,131.109,-74.405],[924.691,-100.985,24.2667,124.423,-73.4095],[893.78,-0.8553,23.4,117.262,-72.2189],[860.224,99.5708,22.4667,109.491,-70.7502],[823.983,198.517,21.4667,101.125,-68.9107],[782.573,299.67,20.3333,91.64,-66.3991],[735.289,399.902,19.05,80.9895,-62.8173],[678.307,499.423,17.5167,68.6099,-57.0465],[599.541,599.406,15.4167,53.1196,-44.8144],[454.125,671.843,11.5833,38.1613,-0.146211]]], - [72,679.677,[[1245.01,-2002.41,35.8667,209.491,-82.0035],[1230.88,-1902.88,35.3833,206.382,-81.8197],[1216.14,-1801.54,34.8833,203.118,-81.6221],[1201.29,-1701.88,34.3833,199.806,-81.4164],[1185.82,-1600.69,33.8667,196.333,-81.1949],[1170.24,-1501.34,33.35,192.81,-80.9635],[1154.02,-1400.76,32.8167,189.12,-80.7136],[1137.69,-1302.2,32.2833,185.377,-80.4518],[1120.71,-1202.73,31.7333,181.462,-80.1682],[1103.09,-1102.56,31.1667,177.372,-79.8605],[1084.8,-1001.95,30.5833,173.101,-79.5258],[1065.85,-901.148,29.9833,168.645,-79.161],[1046.22,-800.436,29.3667,164.002,-78.7621],[1025.9,-700.092,28.7333,159.168,-78.3247],[1004.88,-600.413,28.0833,154.14,-77.8433],[983.161,-501.709,27.4167,148.915,-77.3115],[960.177,-401.978,26.7167,143.358,-76.7065],[935.911,-301.855,25.9833,137.465,-76.0146],[910.342,-202.022,25.2167,131.23,-75.2181],[882.892,-101.203,24.4,124.515,-74.2741],[853.528,-0.542128,23.5333,117.316,-73.1444],[822.223,98.7256,22.6167,109.638,-71.7767],[787.8,198.446,21.6167,101.212,-70.0334],[749.049,299.068,20.5,91.7839,-67.6889],[704.728,399.29,19.2333,81.1474,-64.3436],[651.206,499.528,17.7167,68.6896,-58.9412],[578.799,599.585,15.6833,53.1899,-47.7381],[433.524,679.675,11.65,36.2368,-0.131548]]], - [73,687.143,[[1182.2,-2003.2,35.9667,209.579,-82.4317],[1168.34,-1900.11,35.4667,206.358,-82.2516],[1154.84,-1802.03,34.9833,203.198,-82.0708],[1140.78,-1702.22,34.4833,199.882,-81.8761],[1126.13,-1600.86,33.9667,196.404,-81.6664],[1111.37,-1501.36,33.45,192.876,-81.4474],[1096.01,-1400.61,32.9167,189.18,-81.2109],[1080.54,-1301.88,32.3833,185.431,-80.963],[1064.46,-1202.23,31.8333,181.509,-80.6946],[1047.76,-1101.88,31.2667,177.41,-80.4032],[1030.44,-1001.07,30.6833,173.13,-80.0864],[1012.49,-900.078,30.0833,168.664,-79.7409],[994.403,-801.849,29.4833,164.137,-79.3737],[975.16,-701.21,28.85,159.291,-78.9601],[955.258,-601.225,28.2,154.25,-78.5049],[934.688,-502.205,27.5333,149.011,-78.002],[912.922,-402.138,26.8333,143.437,-77.4297],[889.941,-301.66,26.1,137.523,-76.7751],[865.727,-201.453,25.3333,131.265,-76.0214],[839.731,-100.232,24.5167,124.52,-75.1276],[812.459,-1.02251,23.6667,117.425,-74.0795],[782.817,98.8391,22.75,109.704,-72.7864],[750.222,199.213,21.75,101.221,-71.1368],[714.079,299.142,20.65,91.8561,-68.9521],[672.671,399.165,19.4,81.2451,-65.8331],[622.562,499.893,17.9,68.7293,-60.7851],[556.278,599.559,15.9333,53.2935,-50.5662],[412.524,687.141,11.7167,34.2998,-0.171932]]], - [74,694.235,[[1118.07,-2001.61,36.05,209.591,-82.8584],[1105.43,-1901.83,35.5667,206.473,-82.6942],[1092.25,-1800.23,35.0667,203.2,-82.5177],[1078.98,-1700.31,34.5667,199.879,-82.334],[1065.59,-1602.09,34.0667,196.509,-82.1425],[1051.66,-1502.41,33.55,192.975,-81.9361],[1037.17,-1401.48,33.0167,189.274,-81.7131],[1022.57,-1302.57,32.4833,185.52,-81.4794],[1007.39,-1202.73,31.9333,181.591,-81.2263],[991.639,-1102.18,31.3667,177.485,-80.9516],[975.295,-1001.17,30.7833,173.197,-80.6528],[958.825,-902.739,30.2,168.848,-80.3363],[941.279,-801.521,29.5833,164.185,-79.9806],[923.119,-700.653,28.95,159.328,-79.5905],[904.336,-600.432,28.3,154.274,-79.1611],[884.923,-501.167,27.6333,149.019,-78.6866],[864.381,-400.841,26.9333,143.428,-78.1465],[842.692,-300.091,26.2,137.494,-77.5285],[820.339,-201.727,25.45,131.349,-76.8329],[795.808,-100.081,24.6333,124.577,-75.9905],[770.075,-0.424733,23.7833,117.45,-75.0022],[742.104,99.9226,22.8667,109.687,-73.7821],[711.862,199.223,21.8833,101.292,-72.2524],[677.762,299.911,20.7833,91.8548,-70.1926],[639.217,399.553,19.55,81.2796,-67.2906],[592.999,499.531,18.0833,68.8634,-62.6466],[532.075,599.391,16.1667,53.4188,-53.3023],[391.13,694.232,11.7833,32.3509,-0.2781]]], - [75,700.947,[[1053.16,-2001.1,36.1333,209.632,-83.2895],[1041.27,-1901.21,35.65,206.511,-83.1352],[1029.3,-1802.86,35.1667,203.344,-82.975],[1016.82,-1702.76,34.6667,200.019,-82.8025],[1003.82,-1601.11,34.15,196.532,-82.6167],[990.723,-1501.31,33.6333,192.994,-82.4226],[977.099,-1400.25,33.1,189.287,-82.213],[963.371,-1301.21,32.5667,185.525,-81.9933],[949.105,-1201.23,32.0167,181.59,-81.7554],[934.293,-1100.55,31.45,177.476,-81.4971],[919.368,-1002.25,30.8833,173.303,-81.2244],[903.444,-900.812,30.2833,168.82,-80.9186],[887.397,-802.14,29.6833,164.274,-80.5934],[870.328,-701.027,29.05,159.407,-80.2271],[852.673,-600.553,28.4,154.34,-79.8238],[834.426,-501.026,27.7333,149.073,-79.3782],[815.118,-400.423,27.0333,143.466,-78.8708],[795.198,-301.626,26.3167,137.649,-78.304],[773.722,-200.714,25.55,131.347,-77.6365],[751.137,-100.76,24.75,124.688,-76.8616],[726.953,-0.6322,23.9,117.53,-75.9342],[701.146,98.4607,23,109.871,-74.8112],[672.728,198.463,22.0167,101.428,-73.3782],[640.684,299.944,20.9167,91.9218,-71.4466],[604.955,399.219,19.7,81.3918,-68.7625],[562.025,499.465,18.25,68.9526,-64.461],[505.786,599.878,16.3667,53.4228,-55.8528],[382.002,699.954,12.2667,30.6679,-8.11583],[368.839,700.946,11.8333,30.3912,-0.154798]]], - [76,707.266,[[987.459,-2001.7,36.2167,209.703,-83.7245],[976.339,-1901.68,35.7333,206.579,-83.5803],[965.134,-1803.21,35.25,203.409,-83.4304],[953.455,-1702.99,34.75,200.08,-83.2691],[941.293,-1601.21,34.2333,196.589,-83.0954],[929.037,-1501.27,33.7167,193.046,-82.9139],[916.288,-1400.07,33.1833,189.334,-82.7179],[903.442,-1300.89,32.65,185.567,-82.5124],[890.092,-1200.76,32.1,181.626,-82.2898],[876.641,-1102.85,31.55,177.627,-82.0555],[862.266,-1001.46,30.9667,173.324,-81.7931],[847.78,-902.647,30.3833,168.959,-81.5151],[832.348,-801.023,29.7667,164.277,-81.2027],[816.797,-702.358,29.15,159.528,-80.8692],[800.28,-601.614,28.5,154.452,-80.4925],[783.208,-501.808,27.8333,149.172,-80.0761],[765.143,-400.908,27.1333,143.551,-79.6021],[746.505,-301.805,26.4167,137.718,-79.0723],[726.413,-200.562,25.65,131.395,-78.4483],[705.282,-100.26,24.85,124.712,-77.7237],[683.101,-1.66944,24.0167,117.667,-76.8743],[658.51,99.731,23.1,109.83,-75.805],[632.374,198.541,22.1333,101.484,-74.4874],[602.854,299.217,21.05,92.0593,-72.7116],[569.433,399.416,19.8333,81.4383,-70.2062],[529.741,499.72,18.4,68.9925,-66.2342],[478.542,599.612,16.5667,53.5555,-58.4266],[380.762,699.863,13.1,30.763,-22.8731],[346.23,707.266,11.8833,28.4205,-0.0847966]]], - [77,713.186,[[921.005,-2003.41,36.3,209.805,-84.1633],[910.655,-1903.27,35.8167,206.679,-84.0291],[899.864,-1801.29,35.3167,203.395,-83.8848],[888.991,-1700.98,34.8167,200.062,-83.7346],[878.034,-1602.37,34.3167,196.68,-83.5782],[866.626,-1502.29,33.8,193.133,-83.4094],[854.759,-1400.93,33.2667,189.417,-83.2271],[842.801,-1301.6,32.7333,185.645,-83.036],[830.375,-1201.31,32.1833,181.699,-82.829],[817.474,-1100.3,31.6167,177.572,-82.6043],[804.474,-1001.68,31.05,173.384,-82.367],[790.99,-902.69,30.4667,169.012,-82.1084],[776.625,-800.877,29.85,164.322,-81.8178],[762.15,-702.024,29.2333,159.563,-81.5075],[746.775,-601.079,28.5833,154.476,-81.157],[730.884,-501.066,27.9167,149.184,-80.7695],[714.471,-402.308,27.2333,143.684,-80.3392],[696.72,-300.617,26.5,137.699,-79.835],[678.425,-201.283,25.75,131.495,-79.2673],[658.759,-100.61,24.95,124.791,-78.5938],[638.115,-1.63028,24.1167,117.719,-77.8041],[615.646,98.4178,23.2167,109.992,-76.829],[590.905,199.473,22.2333,101.459,-75.5832],[563.854,299.193,21.1667,92.1221,-73.9568],[533.182,398.876,19.9667,81.5634,-71.6626],[496.679,499.256,18.55,69.1248,-68.0229],[449.913,599.355,16.75,53.6808,-60.9253],[366.42,699.925,13.5667,30.8392,-31.3106],[323.309,713.186,11.9333,26.4391,-0.0805061]]], - [78,718.701,[[853.489,-2002.77,36.3667,209.831,-84.601],[843.911,-1902.54,35.8833,206.701,-84.4769],[833.926,-1800.46,35.3833,203.414,-84.3434],[823.864,-1700.07,34.8833,200.078,-84.2045],[813.725,-1601.36,34.3833,196.691,-84.0597],[803.169,-1501.18,33.8667,193.139,-83.9035],[792.532,-1402.86,33.35,189.535,-83.7402],[781.122,-1300.29,32.8,185.641,-83.558],[769.973,-1202.9,32.2667,181.809,-83.3724],[758.038,-1101.71,31.7,177.677,-83.1647],[745.655,-1000.04,31.1167,173.361,-82.9388],[733.178,-900.93,30.5333,168.98,-82.6995],[720.246,-801.712,29.9333,164.408,-82.4379],[706.491,-700.019,29.3,159.512,-82.1431],[692.63,-601.492,28.6667,154.545,-81.8272],[677.928,-501.254,28,149.242,-81.469],[662.743,-402.263,27.3167,143.73,-81.0712],[646.321,-300.32,26.5833,137.73,-80.605],[629.395,-200.726,25.8333,131.509,-80.0799],[611.581,-101.821,25.05,124.925,-79.4706],[592.101,-0.500601,24.2,117.687,-78.7261],[571.314,99.8664,23.3,109.928,-77.8232],[548.813,199.626,22.3333,101.499,-76.6899],[523.791,299.89,21.2667,92.1086,-75.1859],[495.813,398.889,20.0833,81.6206,-73.0945],[462.449,499.143,18.6833,69.204,-69.7742],[419.599,599.953,16.9,53.6484,-63.2771],[347.664,699.788,13.9333,30.98,-38.1833],[300.082,718.7,11.9833,24.4478,-0.158026]]], - [79,723.8,[[785.308,-2003.26,36.4333,209.888,-85.0423],[776.509,-1902.93,35.95,206.756,-84.9283],[767.335,-1800.76,35.45,203.466,-84.8058],[758.091,-1700.25,34.95,200.126,-84.6782],[748.776,-1601.45,34.45,196.736,-84.5453],[739.078,-1501.15,33.9333,193.181,-84.4018],[729.306,-1402.73,33.4167,189.573,-84.2519],[718.823,-1300.03,32.8667,185.674,-84.0845],[708.581,-1202.53,32.3333,181.837,-83.914],[697.615,-1101.22,31.7667,177.7,-83.7233],[686.565,-1002.29,31.2,173.501,-83.5219],[674.775,-900.179,30.6,168.989,-83.2959],[662.895,-800.825,30,164.41,-83.0556],[650.591,-701.628,29.3833,159.635,-82.7922],[637.522,-600.318,28.7333,154.529,-82.4945],[624.354,-502.392,28.0833,149.348,-82.1738],[610.064,-400.777,27.3833,143.689,-81.7997],[595.32,-300.935,26.6667,137.812,-81.3813],[579.772,-201.06,25.9167,131.576,-80.8995],[563.409,-101.858,25.1333,124.973,-80.3403],[545.515,-0.213524,24.2833,117.712,-79.6567],[526.775,98.6999,23.4,110.069,-78.844],[506.109,198.979,22.4333,101.605,-77.8056],[483.127,299.822,21.3667,92.166,-76.4265],[457.43,399.468,20.1833,81.6081,-74.5066],[427.152,499.4,18.8,69.2272,-71.4942],[388.538,599.853,17.05,53.7336,-65.653],[325.466,699.987,14.2167,31.0119,-43.8821],[276.555,723.798,12.0333,22.4472,-0.340536]]], - [80,728.482,[[716.219,-2001.41,36.4833,209.869,-85.4832],[708.201,-1901.02,36,206.733,-85.3793],[700.122,-1802.17,35.5167,203.551,-85.2714],[691.701,-1701.55,35.0167,200.209,-85.1553],[683.215,-1602.63,34.5167,196.816,-85.0343],[674.38,-1502.22,34,193.258,-84.9037],[665.19,-1400.52,33.4667,189.53,-84.7627],[655.929,-1300.85,32.9333,185.745,-84.6149],[646.306,-1200.2,32.3833,181.783,-84.4548],[636.609,-1101.76,31.8333,177.762,-84.2861],[626.543,-1002.7,31.2667,173.558,-84.1027],[615.803,-900.438,30.6667,169.04,-83.8971],[604.98,-800.934,30.0667,164.455,-83.6782],[593.772,-701.582,29.45,159.673,-83.4384],[581.868,-600.106,28.8,154.558,-83.1673],[569.872,-502.014,28.15,149.368,-82.8753],[556.854,-400.218,27.45,143.698,-82.5345],[543.423,-300.189,26.7333,137.808,-82.1534],[529.259,-200.118,25.9833,131.556,-81.7144],[514.353,-100.709,25.2,124.936,-81.2047],[498.373,-0.774855,24.3667,117.796,-80.5946],[481.304,98.5052,23.4833,110.128,-79.8552],[462.48,199.189,22.5167,101.631,-78.9101],[441.875,298.979,21.4667,92.2953,-77.6758],[418.472,399.311,20.2833,81.6744,-75.9312],[391.231,498.945,18.9167,69.3418,-73.2278],[356.402,599.875,17.1833,53.7911,-67.9752],[301.343,699.911,14.4667,31.1242,-49.1748],[252.394,728.481,12.0667,20.4377,-0.200943]]], - [81,732.735,[[646.577,-2000.71,36.5333,209.882,-85.9274],[639.346,-1900.25,36.05,206.744,-85.8338],[632.06,-1801.34,35.5667,203.558,-85.7365],[624.465,-1700.65,35.0667,200.213,-85.6318],[616.813,-1601.66,34.5667,196.817,-85.5226],[608.845,-1501.17,34.05,193.255,-85.4049],[600.817,-1402.55,33.5333,189.64,-85.2818],[592.466,-1302.74,33,185.853,-85.1487],[583.789,-1201.94,32.45,181.888,-85.0044],[574.78,-1100.41,31.8833,177.741,-84.8478],[565.702,-1001.26,31.3167,173.531,-84.6824],[556.286,-901.721,30.7333,169.134,-84.5022],[546.527,-802.053,30.1333,164.543,-84.3051],[536.421,-702.53,29.5167,159.755,-84.089],[525.686,-600.872,28.8667,154.633,-83.8448],[514.591,-500.121,28.2,149.301,-83.5748],[503.132,-400.601,27.5167,143.756,-83.2747],[491.021,-300.365,26.8,137.855,-82.9314],[478.25,-200.075,26.05,131.59,-82.5358],[464.809,-100.437,25.2667,124.954,-82.0764],[450.4,-0.256398,24.4333,117.795,-81.5263],[435.009,99.2868,23.55,110.103,-80.8595],[418.33,198.591,22.6,101.723,-80.0227],[399.753,298.858,21.55,92.3482,-78.9115],[378.653,399.731,20.3667,81.6699,-77.3394],[354.092,499.995,19,69.246,-74.8987],[323.601,599.198,17.3167,53.9661,-70.3103],[275.5,699.73,14.6833,31.2602,-54.0849],[228.013,732.734,12.1,18.42,-0.142895]]], - [82,736.556,[[576.406,-2001.17,36.5833,209.927,-86.3747],[569.967,-1900.64,36.1,206.787,-86.2913],[563.479,-1801.65,35.6167,203.599,-86.2048],[556.715,-1700.88,35.1167,200.251,-86.1115],[549.9,-1601.81,34.6167,196.853,-86.0143],[542.805,-1501.24,34.1,193.289,-85.9096],[535.655,-1402.53,33.5833,189.671,-85.8],[528.219,-1302.63,33.05,185.88,-85.6814],[520.492,-1201.75,32.5,181.911,-85.553],[512.469,-1100.12,31.9333,177.76,-85.4136],[504.385,-1000.87,31.3667,173.546,-85.2663],[496,-901.233,30.7833,169.143,-85.1058],[487.309,-801.462,30.1833,164.547,-84.9304],[478.309,-701.832,29.5667,159.753,-84.7379],[468.75,-600.061,28.9167,154.623,-84.5205],[459.117,-501.671,28.2667,149.417,-84.2861],[448.914,-401.937,27.5833,143.864,-84.0195],[438.131,-301.475,26.8667,137.954,-83.7142],[426.76,-200.945,26.1167,131.679,-83.3624],[414.792,-101.054,25.3333,125.029,-82.9539],[401.963,-0.602204,24.5,117.854,-82.4647],[388.259,99.2313,23.6167,110.142,-81.8714],[373.408,198.85,22.6667,101.735,-81.1267],[356.867,299.468,21.6167,92.3239,-80.1371],[338.345,399.403,20.45,81.7452,-78.7581],[316.746,499.218,19.1,69.3931,-76.6185],[289.602,599.527,17.4167,53.9561,-72.5426],[248.143,699.599,14.8667,31.3723,-58.6542],[203.421,736.555,12.1333,16.3946,-0.197865]]], - [83,739.939,[[505.738,-2002.79,36.6333,210.004,-86.8244],[500.095,-1902.18,36.15,206.863,-86.7514],[494.408,-1803.1,35.6667,203.674,-86.6756],[488.481,-1702.25,35.1667,200.325,-86.594],[482.508,-1603.08,34.6667,196.925,-86.5088],[476.29,-1502.42,34.15,193.359,-86.4171],[469.821,-1400.46,33.6167,189.621,-86.3179],[463.302,-1300.52,33.0833,185.826,-86.214],[456.735,-1202.63,32.55,181.974,-86.1049],[449.703,-1100.89,31.9833,177.82,-85.9827],[442.618,-1001.53,31.4167,173.602,-85.8538],[435.269,-901.782,30.8333,169.196,-85.7131],[427.653,-801.893,30.2333,164.595,-85.5594],[419.765,-702.141,29.6167,159.795,-85.391],[411.387,-600.24,28.9667,154.66,-85.2004],[402.944,-501.718,28.3167,149.448,-84.9952],[394.002,-401.844,27.6333,143.887,-84.7615],[384.552,-301.235,26.9167,137.968,-84.494],[374.585,-200.55,26.1667,131.682,-84.1858],[364.096,-100.495,25.3833,125.019,-83.8277],[353.078,-1.82134,24.5667,117.973,-83.4079],[341.069,98.3292,23.6833,110.244,-82.8891],[327.826,199.974,22.7167,101.666,-82.2252],[313.56,299.294,21.6833,92.3724,-81.3716],[297.329,399.66,20.5167,81.749,-80.1638],[278.402,499.977,19.1667,69.3258,-78.2872],[255.088,599.18,17.5167,54.0594,-74.7905],[219.477,699.641,15.0167,31.4217,-62.9343],[178.625,739.937,12.1667,14.3624,-0.414101]]], - [84,742.882,[[434.437,-2002.09,36.6667,210.006,-87.2742],[429.592,-1901.43,36.1833,206.862,-87.2115],[424.71,-1802.31,35.7,203.671,-87.1463],[419.621,-1701.41,35.2,200.32,-87.0762],[414.494,-1602.2,34.7,196.918,-87.0032],[409.155,-1501.49,34.1833,193.349,-86.9244],[403.776,-1402.65,33.6667,189.726,-86.842],[398.181,-1302.59,33.1333,185.929,-86.7528],[392.367,-1201.56,32.5833,181.955,-86.6563],[386.508,-1102.73,32.0333,177.92,-86.5546],[380.247,-1000.36,31.45,173.575,-86.4406],[373.938,-900.556,30.8667,169.164,-86.3199],[367.399,-800.612,30.2667,164.558,-86.1878],[360.627,-700.801,29.65,159.753,-86.0432],[353.62,-601.412,29.0167,154.744,-85.8838],[346.187,-500.256,28.35,149.392,-85.7031],[338.51,-400.318,27.6667,143.824,-85.5024],[330.586,-301.933,26.9667,138.034,-85.2781],[322.031,-201.071,26.2167,131.74,-85.0138],[313.028,-100.83,25.4333,125.067,-84.7068],[303.377,-0.00311351,24.6,117.863,-84.3388],[293.263,98.4041,23.7333,110.263,-83.9015],[282.092,198.599,22.7833,101.813,-83.3423],[269.65,299.859,21.7333,92.3433,-82.5987],[255.918,399.165,20.5833,81.8335,-81.5777],[239.874,498.889,19.25,69.5043,-79.9928],[219.663,599.907,17.5833,53.9667,-76.9646],[189.713,699.96,15.1333,31.3772,-66.9825],[153.427,742.882,12.1833,12.3234,-0.112161]]], - [85,745.379,[[362.758,-2002.56,36.7,210.04,-87.7261],[358.715,-1901.85,36.2167,206.895,-87.6738],[354.641,-1802.68,35.7333,203.703,-87.6194],[350.395,-1701.73,35.2333,200.35,-87.561],[346.116,-1602.46,34.7333,196.947,-87.4999],[341.661,-1501.7,34.2167,193.376,-87.4342],[337.173,-1402.79,33.7,189.751,-87.3655],[332.504,-1302.68,33.1667,185.952,-87.2912],[327.652,-1201.58,32.6167,181.975,-87.2106],[322.764,-1102.69,32.0667,177.938,-87.1257],[317.539,-1000.25,31.4833,173.59,-87.0307],[312.274,-900.376,30.9,169.176,-86.93],[306.818,-800.36,30.3,164.566,-86.8198],[301.167,-700.477,29.6833,159.757,-86.699],[295.319,-601.01,29.05,154.744,-86.5661],[289.272,-502.262,28.4,149.521,-86.4193],[282.867,-402.147,27.7167,143.948,-86.252],[276.098,-301.282,27,138.015,-86.0606],[268.96,-200.328,26.25,131.712,-85.8399],[261.608,-102.069,25.4833,125.173,-85.5894],[253.555,-1.01685,24.65,117.959,-85.2829],[244.954,99.4586,23.7667,110.199,-84.911],[235.632,199.773,22.8167,101.731,-84.4438],[225.415,299.635,21.7833,92.3878,-83.833],[213.958,399.264,20.6333,81.8458,-82.9817],[200.572,499.364,19.3,69.4654,-81.6588],[183.879,599.973,17.65,53.9849,-79.1574],[159.404,699.639,15.25,31.5216,-71.0541],[128.279,745.377,12.2167,10.2799,-0.80673]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 253.555; -_maxRange = 1457.11; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg2.sqf deleted file mode 100644 index a00ba0846b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg2.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_illum_time_chg2 -// Ammo: ace_arty_82mm_illum_time -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,638.531,[[3495.1,-2001.34,35.45,218.661,-68.7214],[3455.26,-1900.24,34.95,215.888,-68.2472],[3415.1,-1800.78,34.45,213.085,-67.7565],[3374.61,-1702.97,33.95,210.252,-67.2486],[3331.07,-1600.49,33.4167,207.2,-66.6869],[3288.53,-1503.06,32.9,204.213,-66.1219],[3242.88,-1401.38,32.35,201.004,-65.4969],[3196.84,-1301.82,31.8,197.766,-64.846],[3149.01,-1201.49,31.2333,194.401,-64.1469],[3099.36,-1100.64,30.65,190.91,-63.395],[3049.28,-1002.29,30.0667,187.394,-62.6083],[2995.89,-901.07,29.45,183.654,-61.7365],[2940.58,-800.105,28.8167,179.793,-60.795],[2884.78,-702.216,28.1833,175.916,-59.8037],[2824.05,-600.1,27.5,171.721,-58.6739],[2762.78,-501.67,26.8167,167.523,-57.4769],[2696.44,-400.203,26.0833,163.023,-56.1116],[2627.96,-300.953,25.3333,158.439,-54.6215],[2554.23,-200.207,24.5333,153.585,-52.9186],[2476.69,-100.967,23.7,148.589,-51.0091],[2392.14,-0.425054,22.8,143.289,-48.7767],[2300.39,99.7708,21.8333,137.748,-46.1638],[2199.68,199.317,20.7833,131.961,-43.0489],[2084.91,299.729,19.6,125.816,-39.1615],[1950.74,399.92,18.2333,119.364,-34.135],[1783.19,499.682,16.55,112.653,-27.1164],[1526.49,599.655,14.0167,105.974,-14.9441],[1234.85,638.531,11.2,104.706,-0.00652457]]], - [46,660.19,[[3461.54,-2000.91,35.7333,218.849,-69.1416],[3423.73,-1902.79,35.25,216.159,-68.6925],[3384.31,-1802.89,34.75,213.346,-68.212],[3343.23,-1701.39,34.2333,210.407,-67.6977],[3301.81,-1601.68,33.7167,207.437,-67.1644],[3258.7,-1500.66,33.1833,204.34,-66.5928],[3215.23,-1401.61,32.65,201.213,-65.9986],[3170.03,-1301.54,32.1,197.958,-65.3609],[3123.07,-1200.69,31.5333,194.575,-64.6758],[3075.72,-1102.16,30.9667,191.164,-63.9603],[3025.16,-1000.39,30.3667,187.525,-63.1676],[2974.16,-901.294,29.7667,183.862,-62.3364],[2921.3,-802.275,29.15,180.075,-61.4392],[2865.1,-701.052,28.5,176.064,-60.443],[2806.95,-600.641,27.8333,171.937,-59.3634],[2746.82,-501.354,27.15,167.699,-58.1914],[2683.19,-401.235,26.4333,163.256,-56.8853],[2616,-300.923,25.6833,158.619,-55.427],[2545.17,-201.1,24.9,153.804,-53.7952],[2469.11,-100.538,24.0667,148.733,-51.9264],[2387.69,-0.378247,23.1833,143.442,-49.7815],[2299.26,99.8355,22.2333,137.884,-47.2681],[2202.07,199.872,21.2,132.046,-44.2671],[2094.32,298.678,20.0667,125.97,-40.6244],[1967.66,398.903,18.75,119.47,-35.89],[1811.7,499.273,17.15,112.628,-29.3636],[1588.78,599.904,14.9,105.616,-18.7741],[1233.95,660.187,11.4,102.775,-0.076701]]], - [47,681.804,[[3426.03,-2001.29,36.0167,219.061,-69.5679],[3388.93,-1902.8,35.5333,216.361,-69.128],[3350.23,-1802.5,35.0333,213.537,-68.6572],[3309.92,-1700.6,34.5167,210.587,-68.1534],[3269.27,-1600.48,34,207.604,-67.6308],[3228.28,-1502.17,33.4833,204.591,-67.0886],[3185.64,-1402.61,32.95,201.45,-66.507],[3141.29,-1302.03,32.4,198.179,-65.8828],[3095.21,-1200.64,31.8333,194.778,-65.2119],[3048.75,-1101.56,31.2667,191.347,-64.5113],[3000.52,-1002.02,30.6833,187.788,-63.757],[2950.49,-902.265,30.0833,184.101,-62.9438],[2898.64,-802.558,29.4667,180.288,-62.0658],[2843.5,-700.604,28.8167,176.247,-61.0906],[2787.89,-601.922,28.1667,172.189,-60.0608],[2728.91,-501.76,27.4833,167.913,-58.9144],[2666.5,-400.714,26.7667,163.425,-57.6363],[2602.07,-301.623,26.0333,158.84,-56.2413],[2532.61,-200.658,25.25,153.965,-54.645],[2459.51,-100.847,24.4333,148.925,-52.8533],[2381.21,-1.10298,23.5667,143.647,-50.7958],[2296.04,99.0922,22.6333,138.079,-48.3823],[2202.32,199.58,21.6167,132.199,-45.496],[2098.29,299.393,20.5,126.035,-41.985],[1978.92,399.018,19.2333,119.531,-37.5283],[1832.58,499.964,17.7,112.572,-31.4061],[1637.2,599.369,15.6833,105.451,-22.1177],[1230.23,681.802,11.5833,100.834,-0.0752339]]], - [48,703.351,[[3388.54,-2002.54,36.3,219.297,-70.0002],[3350.89,-1900.28,35.8,216.494,-69.5545],[3314.2,-1802.96,35.3167,213.755,-69.1089],[3274.66,-1700.64,34.8,210.793,-68.6157],[3234.79,-1600.09,34.2833,207.798,-68.1042],[3194.59,-1501.35,33.7667,204.772,-67.5733],[3152.76,-1401.35,33.2333,201.616,-67.0038],[3109.27,-1300.3,32.6833,198.329,-66.3925],[3065.41,-1201.39,32.1333,195.01,-65.7552],[3019.85,-1101.76,31.5667,191.561,-65.0698],[2972.55,-1001.64,30.9833,187.981,-64.3317],[2923.49,-901.279,30.3833,184.271,-63.5358],[2872.64,-800.948,29.7667,180.431,-62.6763],[2819.97,-700.919,29.1333,176.464,-61.7465],[2765.44,-601.481,28.4833,172.374,-60.7391],[2707.62,-500.517,27.8,168.06,-59.6174],[2647.86,-400.944,27.1,163.634,-58.3962],[2584.7,-300.876,26.3667,159,-57.0319],[2518.07,-200.974,25.6,154.171,-55.5042],[2447.9,-101.945,24.8,149.166,-53.7893],[2371.17,-0.764325,23.9333,143.806,-51.7787],[2289.21,99.2427,23.0167,138.237,-49.4614],[2198.9,199.995,22.0167,132.325,-46.6861],[2100.05,299.163,20.9333,126.178,-43.3571],[1986.25,399.229,19.7,119.61,-39.1163],[1850.82,499.113,18.25,112.665,-33.4605],[1672.42,599.691,16.3667,105.317,-24.9817],[1305.93,699.888,12.5833,98.6044,-4.73779],[1225.44,703.349,11.7667,98.8698,-0.0929677]]], - [49,724.808,[[3347.85,-2001.24,36.5667,219.465,-70.4239],[3312.17,-1902.02,36.0833,216.748,-70.0023],[3274.96,-1800.96,35.5833,213.903,-69.5513],[3237.45,-1701.55,35.0833,211.026,-69.0843],[3198.37,-1600.56,34.5667,208.02,-68.5839],[3158.98,-1501.38,34.05,204.981,-68.0647],[3117.97,-1400.92,33.5167,201.811,-67.5076],[3076.63,-1302.44,32.9833,198.608,-66.928],[3032.35,-1200,32.4167,195.173,-66.2859],[2989.01,-1102.78,31.8667,191.807,-65.6353],[2942.66,-1002.06,31.2833,188.207,-64.9138],[2894.58,-901.088,30.6833,184.473,-64.1356],[2844.75,-800.117,30.0667,180.608,-63.295],[2794.49,-702.034,29.45,176.718,-62.4101],[2741.07,-601.824,28.8,172.597,-61.4257],[2684.41,-500.04,28.1167,168.246,-60.3293],[2627.26,-401.965,27.4333,163.885,-59.1644],[2565.39,-300.899,26.7,159.203,-57.8316],[2501.54,-202.088,25.95,154.424,-56.372],[2432.81,-101.837,25.15,149.354,-54.6972],[2359.1,-1.23158,24.3,144.017,-52.7712],[2280.31,98.5535,23.4,138.453,-50.5501],[2193.37,199.533,22.4167,132.517,-47.8863],[2098.08,299.424,21.35,126.306,-44.6858],[1989.72,399.616,20.15,119.701,-40.655],[1861.8,499.933,18.75,112.673,-35.3179],[1699.74,599.806,17,105.266,-27.6178],[1434.15,699.806,14.1833,97.7986,-12.9652],[1217.95,724.807,11.9333,96.8942,-0.0344686]]], - [50,746.144,[[3305.2,-2000.85,36.8333,219.658,-70.8537],[3270.24,-1901.28,36.35,216.932,-70.4415],[3235.01,-1803.21,35.8667,214.173,-70.0153],[3197.04,-1700.06,35.35,211.189,-69.5434],[3159.99,-1601.93,34.85,208.269,-69.0701],[3121.4,-1502.3,34.3333,205.218,-68.5627],[3081.23,-1401.37,33.8,202.035,-68.0183],[3040.74,-1302.41,33.2667,198.818,-67.4517],[2998.64,-1202.46,32.7167,195.467,-66.8429],[2954.91,-1101.74,32.15,191.982,-66.188],[2909.51,-1000.49,31.5667,188.361,-65.4824],[2863.73,-901.739,30.9833,184.71,-64.7429],[2814.92,-800.112,30.3667,180.82,-63.9217],[2765.71,-701.368,29.75,176.903,-63.057],[2713.39,-600.453,29.1,172.75,-62.0949],[2659.26,-500.378,28.4333,168.471,-61.0497],[2603.3,-401.456,27.75,164.07,-59.9119],[2544.09,-301.744,27.0333,159.449,-58.6401],[2481.59,-201.882,26.2833,154.618,-57.2151],[2414.3,-100.5,25.4833,149.484,-55.579],[2343.56,-0.617685,24.65,144.178,-53.7343],[2267.88,98.7839,23.7667,138.627,-51.6058],[2184.24,199.812,22.8,132.676,-49.0496],[2093.93,298.713,21.7667,126.512,-46.0248],[1990.89,398.905,20.6,119.885,-42.2045],[1870.29,499.415,19.25,112.805,-37.1872],[1720.99,599.41,17.6,105.308,-30.1076],[1498.77,699.65,15.1833,97.4975,-17.8547],[1211,746.141,12.1167,94.8836,-0.0926982]]], - [51,767.343,[[3260.61,-2001.42,37.1,219.878,-71.2896],[3226.39,-1901.48,36.6167,217.143,-70.8868],[3191.89,-1803.04,36.1333,214.375,-70.4703],[3155.92,-1702.81,35.6333,211.478,-70.0243],[3118.44,-1600.98,35.1167,208.449,-69.5466],[3080.66,-1500.94,34.6,205.386,-69.0506],[3042.57,-1402.73,34.0833,202.289,-68.5354],[3001.69,-1300.21,33.5333,198.956,-67.9646],[2961.73,-1202.82,33,195.692,-67.3877],[2918.92,-1101.57,32.4333,192.189,-66.748],[2875.75,-1002.64,31.8667,188.653,-66.0789],[2829.66,-900.462,31.2667,184.876,-65.3363],[2783.19,-800.967,30.6667,181.067,-64.5561],[2735.02,-701.545,30.05,177.124,-63.712],[2685.13,-602.474,29.4167,173.049,-62.7973],[2632.17,-501.564,28.75,168.736,-61.778],[2577.41,-401.778,28.0667,164.298,-60.668],[2519.48,-301.15,27.35,159.633,-59.4267],[2458.32,-200.321,26.6,154.75,-58.0352],[2395.23,-102.057,25.8333,149.771,-56.5055],[2326.04,-0.84337,25,144.392,-54.7072],[2252.01,99.9842,24.1167,138.754,-52.6301],[2173.03,199.187,23.1833,132.901,-50.2227],[2086.15,298.543,22.1667,126.697,-47.3222],[1986.85,399.82,21.0167,119.976,-43.649],[1873.35,499.881,19.7167,112.891,-38.9349],[1734.88,599.793,18.15,105.333,-32.3777],[1542.03,699.459,16,97.3679,-21.7524],[1201.41,767.341,12.2833,92.8617,-0.0736321]]], - [52,788.375,[[3214.05,-2002.97,37.3667,220.123,-71.7314],[3180.57,-1902.66,36.8833,217.38,-71.3381],[3145.65,-1800.46,36.3833,214.507,-70.9173],[3111.63,-1703.22,35.9,211.697,-70.4962],[3074.97,-1600.98,35.3833,208.657,-70.0297],[3038,-1500.52,34.8667,205.582,-69.5454],[3000.74,-1401.89,34.35,202.472,-69.0423],[2961.96,-1302,33.8167,199.227,-68.5021],[2921.65,-1201.08,33.2667,195.845,-67.9214],[2881,-1102.31,32.7167,192.428,-67.3152],[2838.78,-1002.84,32.15,188.874,-66.6624],[2793.7,-900.072,31.55,185.076,-65.9376],[2749.5,-802.728,30.9667,181.351,-65.1977],[2702.4,-702.613,30.35,177.383,-64.3747],[2652.32,-600.238,29.7,173.171,-63.4586],[2601.82,-501.148,29.05,168.933,-62.4884],[2548.27,-400.57,28.3667,164.458,-61.4051],[2492.93,-301.416,27.6667,159.859,-60.2223],[2434.46,-201.811,26.9333,155.036,-58.8965],[2371.45,-100.314,26.15,149.891,-57.3724],[2306.51,-1.96117,25.35,144.66,-55.6892],[2235.51,98.4496,24.4833,139.044,-53.7053],[2158.32,199.337,23.55,133.087,-51.3608],[2074.81,298.961,22.55,126.855,-48.5802],[1980.61,399.695,21.4333,120.154,-45.1052],[1874.02,499.092,20.1833,113.091,-40.693],[1744.6,599.429,18.6833,105.451,-34.5837],[1571.09,699.829,16.7,97.2899,-25.0375],[1190.77,788.373,12.45,90.817,-0.0755302]]], - [53,809.22,[[3164.4,-2002.06,37.6167,220.302,-72.1657],[3131.66,-1901.41,37.1333,217.55,-71.7818],[3098.66,-1802.26,36.65,214.764,-71.3848],[3064.25,-1701.28,36.15,211.847,-70.9598],[3029.56,-1601.96,35.65,208.895,-70.5192],[2993.43,-1501.07,35.1333,205.808,-70.0469],[2957,-1402,34.6167,202.687,-69.5561],[2919.09,-1301.67,34.0833,199.428,-69.029],[2879.68,-1200.28,33.5333,196.03,-68.4625],[2839.94,-1101.04,32.9833,192.597,-67.8709],[2798.66,-1001.07,32.4167,189.024,-67.2338],[2755.82,-900.606,31.8333,185.311,-66.5464],[2712.63,-802.67,31.25,181.565,-65.825],[2666.59,-701.924,30.6333,177.572,-65.0224],[2618.9,-601.48,30,173.44,-64.1523],[2569.55,-501.626,29.35,169.172,-63.207],[2517.22,-400.238,28.6667,164.66,-62.1513],[2463.15,-300.246,27.9667,160.021,-60.998],[2407.31,-201.989,27.25,155.261,-59.735],[2347.05,-101.557,26.4833,150.17,-58.2826],[2283.61,-1.9935,25.6833,144.875,-56.6438],[2214.26,99.7419,24.8167,139.179,-54.7105],[2141.56,198.546,23.9167,133.338,-52.5086],[2061.37,298.405,22.9333,127.086,-49.8485],[1970.77,399.941,21.8333,120.318,-46.5171],[1869.49,499.544,20.6167,113.217,-42.3358],[1748.82,599.489,19.1833,105.565,-36.6534],[1592.45,699.437,17.35,97.3426,-28.0718],[1298.35,799.989,13.9667,88.9528,-8.62067],[1179.09,809.217,12.6167,88.7498,-0.100012]]], - [54,829.85,[[3112.81,-2002.19,37.8667,220.507,-72.6061],[3080.83,-1901.2,37.3833,217.747,-72.2318],[3048.59,-1801.7,36.9,214.952,-71.8447],[3014.97,-1700.36,36.4,212.025,-71.4301],[2981.08,-1600.67,35.9,209.063,-71.0004],[2946.91,-1502.64,35.4,206.065,-70.5547],[2911.33,-1403.13,34.8833,202.932,-70.0765],[2874.31,-1302.33,34.35,199.66,-69.5629],[2835.81,-1200.46,33.8,196.248,-69.0108],[2796.99,-1100.72,33.25,192.799,-68.4342],[2756.67,-1000.24,32.6833,189.209,-67.8131],[2716.02,-902.108,32.1167,185.583,-67.1626],[2672.63,-800.789,31.5167,181.708,-66.4394],[2628.88,-702.174,30.9167,177.799,-65.6783],[2582.31,-601.058,30.2833,173.64,-64.8306],[2534.11,-500.509,29.6333,169.341,-63.9094],[2484.25,-400.829,28.9667,164.906,-62.9061],[2432.72,-302.335,28.2833,160.338,-61.8107],[2376.93,-200.836,27.55,155.422,-60.5527],[2319.38,-101.598,26.8,150.39,-59.169],[2257.44,-0.913879,26,145.031,-57.5731],[2192.35,98.2069,25.1667,139.48,-55.7645],[2121.4,198.557,24.2667,133.547,-53.6236],[2044.47,298.472,23.3,127.284,-51.0796],[1958.75,399.121,22.2333,120.567,-47.9393],[1862.67,498.807,21.05,113.447,-43.9892],[1749.11,599.123,19.6667,105.737,-38.6622],[1605.04,699.735,17.9333,97.3861,-30.7763],[1376.95,799.822,15.2333,88.5981,-15.7544],[1164.9,829.849,12.7667,86.6698,-0.0410822]]], - [55,850.245,[[3059.3,-2003.41,38.1167,220.739,-73.0524],[3028.07,-1902.07,37.6333,217.972,-72.6878],[2996.6,-1802.21,37.15,215.17,-72.3106],[2963.78,-1700.5,36.65,212.234,-71.9068],[2930.7,-1600.42,36.15,209.261,-71.4881],[2897.35,-1502.02,35.65,206.253,-71.0539],[2862.62,-1402.1,35.1333,203.107,-70.5879],[2826.47,-1300.89,34.6,199.822,-70.0874],[2790.04,-1201.65,34.0667,196.5,-69.5659],[2752.15,-1101.42,33.5167,193.036,-69.0046],[2712.8,-1000.41,32.95,189.429,-68.3999],[2673.13,-901.749,32.3833,185.784,-67.7664],[2631.96,-802.66,31.8,181.997,-67.0821],[2588.08,-700.681,31.1833,177.956,-66.3206],[2543.83,-601.596,30.5667,173.881,-65.5169],[2496.79,-500.333,29.9167,169.552,-64.6204],[2449.37,-402.382,29.2667,165.196,-63.6688],[2397.86,-300.655,28.5667,160.479,-62.5768],[2344.66,-200.604,27.85,155.631,-61.38],[2288.51,-100.408,27.1,150.548,-60.0331],[2229.35,-0.755214,26.3167,145.242,-58.5125],[2165.85,99.5697,25.4833,139.619,-56.7526],[2097.93,199.414,24.6,133.709,-54.7076],[2024.2,299.215,23.65,127.446,-52.2755],[1943.23,398.716,22.6167,120.797,-49.3189],[1850.89,499.541,21.45,113.58,-45.5343],[1744.22,599.58,20.1167,105.864,-40.5433],[1611.99,699.685,18.4833,97.4979,-33.3262],[1418.95,799.582,16.1333,88.5099,-20.6556],[1149.73,850.245,12.9167,84.5673,-0.00334846]]], - [56,870.378,[[3002.8,-2002.22,38.35,220.905,-73.4923],[2972.34,-1900.56,37.8667,218.13,-73.1371],[2941.64,-1800.39,37.3833,215.318,-72.7698],[2910.7,-1701.72,36.9,212.472,-72.3896],[2878.43,-1601.26,36.4,209.49,-71.9823],[2845.91,-1502.45,35.9,206.471,-71.5597],[2812.03,-1402.13,35.3833,203.315,-71.1062],[2776.78,-1300.49,34.85,200.017,-70.619],[2741.24,-1200.82,34.3167,196.681,-70.1113],[2704.29,-1100.13,33.7667,193.202,-69.5649],[2667.05,-1001.61,33.2167,189.684,-68.9938],[2628.37,-902.407,32.65,186.022,-68.3777],[2588.22,-802.753,32.0667,182.215,-67.7121],[2545.43,-700.173,31.45,178.151,-66.9713],[2502.28,-600.48,30.8333,174.051,-66.1892],[2457.6,-501.142,30.2,169.806,-65.3396],[2411.36,-402.453,29.55,165.418,-64.4145],[2362.34,-302.318,28.8667,160.777,-63.3787],[2310.49,-201.34,28.15,155.888,-62.2161],[2255.76,-100.164,27.4,150.756,-60.9072],[2199.32,-1.56556,26.6333,145.506,-59.4613],[2137.44,99.9883,25.8,139.815,-57.7516],[2072.49,199.302,24.9333,133.934,-55.8023],[2001.91,298.961,24,127.677,-53.4823],[1924.3,398.778,22.9833,121.001,-50.6582],[1836.92,499.142,21.85,113.808,-47.0908],[1735.65,599.883,20.55,106.018,-42.3691],[1613.51,699.59,19,97.6434,-35.725],[1443.11,799.891,16.8667,88.4826,-24.5747],[1134.94,870.376,13.0833,82.4342,-0.102393]]], - [57,890.229,[[2944.41,-2002.17,38.5833,221.099,-73.9383],[2914.73,-1900.18,38.1,218.316,-73.5928],[2885.84,-1803.12,37.6333,215.595,-73.2479],[2854.65,-1700.68,37.1333,212.641,-72.8655],[2824.26,-1603.2,36.65,209.75,-72.4825],[2791.51,-1500.72,36.1333,206.621,-72.0578],[2758.49,-1400.03,35.6167,203.452,-71.6165],[2725.22,-1301.16,35.1,200.245,-71.1574],[2690.59,-1201.05,34.5667,196.896,-70.6638],[2655.68,-1102.94,34.0333,193.509,-70.149],[2618.3,-1000.91,33.4667,189.869,-69.5772],[2580.61,-901.22,32.9,186.19,-68.978],[2541.49,-801.06,32.3167,182.362,-68.3306],[2500.93,-700.688,31.7167,178.387,-67.6298],[2458.89,-600.37,31.1,174.262,-66.8699],[2415.36,-500.385,30.4667,169.99,-66.0441],[2370.31,-401.024,29.8167,165.572,-65.1446],[2322.56,-300.177,29.1333,160.895,-64.1373],[2273.23,-200.764,28.4333,156.079,-63.0333],[2221.1,-100.906,27.7,151.015,-61.7906],[2166.14,-1.27301,26.9333,145.712,-60.3869],[2107.08,99.4209,26.1167,140.068,-58.7606],[2045.07,198.178,25.2667,134.222,-56.9066],[1976.35,299.405,24.3333,127.867,-54.6562],[1902.04,399.358,23.3333,121.175,-51.96],[1819.5,498.988,22.2333,114.027,-48.6015],[1724.75,598.879,20.9833,106.291,-44.2045],[1609.79,699.737,19.4833,97.7915,-37.9782],[1458.43,799.328,17.5333,88.6057,-28.1157],[1117.75,890.226,13.2333,80.2883,-0.116155]]], - [58,909.773,[[2884.13,-2003.28,38.8167,221.322,-74.3903],[2855.24,-1900.96,38.3333,218.532,-74.0545],[2826.11,-1800.12,37.85,215.705,-73.7072],[2796.75,-1700.78,37.3667,212.841,-73.3478],[2767.16,-1602.96,36.8833,209.941,-72.9757],[2735.27,-1500.1,36.3667,206.802,-72.5629],[2704.17,-1402.27,35.8667,203.725,-72.1481],[2671.78,-1302.96,35.35,200.508,-71.7024],[2638.07,-1202.39,34.8167,197.146,-71.2232],[2603.03,-1100.76,34.2667,193.639,-70.7074],[2567.71,-1001.29,33.7167,190.091,-70.1681],[2531.02,-901.095,33.15,186.394,-69.5861],[2492.94,-800.413,32.5667,182.548,-68.9573],[2454.56,-702.265,31.9833,178.663,-68.2959],[2413.65,-601.306,31.3667,174.515,-67.5585],[2371.28,-500.656,30.7333,170.217,-66.7571],[2327.44,-400.606,30.0833,165.769,-65.8839],[2282.11,-301.46,29.4167,161.174,-64.9303],[2234.1,-201.196,28.7167,156.32,-63.8596],[2183.39,-100.437,27.9833,151.211,-62.6538],[2131.07,-1.98723,27.2333,145.972,-61.3219],[2073.61,99.8447,26.4167,140.266,-59.7447],[2013.28,199.798,25.5667,134.345,-57.9452],[1948.82,298.82,24.6667,128.125,-55.8405],[1877.75,398.88,23.6833,121.427,-53.2727],[1798.71,499.137,22.6,114.229,-50.0688],[1709.05,599.067,21.3833,106.479,-45.9232],[1602.29,699.328,19.95,98.0073,-40.1655],[1464.08,799.579,18.1167,88.6975,-31.1966],[1208.47,899.77,14.7833,78.7097,-10.1616],[1098.26,909.772,13.3667,78.1285,-0.0378578]]], - [59,928.986,[[2820.99,-2002.05,39.0333,221.478,-74.8368],[2793.85,-1902.95,38.5667,218.778,-74.522],[2765.52,-1801.75,38.0833,215.944,-74.1851],[2736.97,-1702.06,37.6,213.072,-73.8363],[2707.2,-1600.52,37.1,210.063,-73.4624],[2677.19,-1500.64,36.6,207.015,-73.0746],[2646.94,-1402.43,36.1,203.929,-72.6719],[2615.44,-1302.73,35.5833,200.7,-72.2394],[2582.66,-1201.75,35.05,197.326,-71.7742],[2549.62,-1102.76,34.5167,193.912,-71.2889],[2515.27,-1002.79,33.9667,190.35,-70.766],[2479.59,-902.073,33.4,186.637,-70.2016],[2442.57,-800.854,32.8167,182.773,-69.5917],[2405.25,-702.163,32.2333,178.868,-68.9501],[2365.47,-600.625,31.6167,174.698,-68.2347],[2325.36,-501.998,31,170.488,-67.478],[2282.74,-401.24,30.35,166.013,-66.6318],[2238.66,-301.361,29.6833,161.386,-65.7073],[2192,-200.319,28.9833,156.494,-64.6688],[2143.81,-100.998,28.2667,151.459,-63.5264],[2092.96,-1.59502,27.5167,146.171,-62.2357],[2038.26,99.2417,26.7167,140.522,-60.7388],[1980.77,198.494,25.8833,134.647,-59.0313],[1918.14,298.953,24.9833,128.339,-56.9941],[1850.25,398.949,24.0167,121.643,-54.5498],[1774.64,499.642,22.95,114.409,-51.4954],[1689.93,599.321,21.7667,106.669,-47.5924],[1589.88,699.557,20.3833,98.1809,-42.2168],[1463.06,799.966,18.65,88.8084,-34.0173],[1261.34,899.944,15.9333,78.534,-17.5442],[1079.1,928.984,13.5167,75.9398,-0.10659]]], - [60,947.852,[[2755.99,-2002.03,39.25,221.663,-75.2894],[2729.63,-1902.64,38.7833,218.956,-74.9841],[2702.1,-1801.13,38.3,216.115,-74.6572],[2674.36,-1701.13,37.8167,213.235,-74.3189],[2646.4,-1602.63,37.3333,210.319,-73.9685],[2617.24,-1502.36,36.8333,207.262,-73.5926],[2586.88,-1400.51,36.3167,204.063,-73.1891],[2556.27,-1300.46,35.8,200.822,-72.7694],[2525.42,-1202.25,35.2833,197.542,-72.3323],[2493.32,-1102.83,34.75,194.115,-71.8619],[2459.95,-1002.42,34.2,190.538,-71.3549],[2425.3,-901.245,33.6333,186.81,-70.8077],[2390.36,-802.415,33.0667,183.039,-70.2336],[2353.07,-700.367,32.4667,179.002,-69.594],[2315.48,-601.03,31.8667,174.923,-68.9192],[2276.53,-501.801,31.25,170.69,-68.1861],[2235.13,-400.402,30.6,166.186,-67.366],[2193.39,-302.329,29.95,161.645,-66.4929],[2148.08,-200.489,29.25,156.718,-65.4875],[2101.28,-100.343,28.5333,151.642,-64.3811],[2051.9,-0.0681705,27.7833,146.306,-63.1302],[1999.89,99.6421,27,140.719,-61.7103],[1944.07,200,26.1667,134.777,-60.0563],[1884.39,299.847,25.2833,128.503,-58.1194],[1819.62,399.613,24.3333,121.819,-55.794],[1748.53,499.031,23.3,114.675,-52.9332],[1667.5,599.707,22.1333,106.854,-49.2147],[1573.95,699.505,20.8,98.3905,-44.2086],[1458.08,799.217,19.1667,89.0556,-36.7581],[1285.52,899.922,16.7667,78.5579,-22.7633],[1057.72,947.85,13.65,73.737,-0.0815584]]], - [61,966.341,[[2689.18,-2003.28,39.4667,221.879,-75.7479],[2662.67,-1900.04,38.9833,219.068,-75.4414],[2636.88,-1801.76,38.5167,216.317,-75.1355],[2609.95,-1701.43,38.0333,213.431,-74.8078],[2582.82,-1602.61,37.55,210.506,-74.4683],[2554.53,-1501.99,37.05,207.44,-74.1042],[2526.01,-1403.05,36.55,204.335,-73.7262],[2496.31,-1302.59,36.0333,201.085,-73.3199],[2465.41,-1200.81,35.5,197.687,-72.883],[2434.26,-1101.01,34.9667,194.247,-72.4271],[2401.88,-1000.2,34.4167,190.655,-71.9358],[2369.24,-901.57,33.8667,187.021,-71.4213],[2335.34,-802.257,33.3,183.234,-70.8654],[2300.17,-702.505,32.7167,179.291,-70.2638],[2263.7,-602.571,32.1167,175.193,-69.6113],[2224.88,-500.064,31.4833,170.821,-68.8824],[2185.75,-400.662,30.85,166.407,-68.1088],[2145.26,-301.923,30.2,161.836,-67.2639],[2102.35,-201.755,29.5167,156.993,-66.3147],[2056.96,-100.762,28.8,151.878,-65.245],[2010.13,-1.78968,28.0667,146.616,-64.0632],[1959.69,98.9742,27.2833,140.976,-62.6917],[1906.65,198.493,26.4667,135.088,-61.1263],[1848.78,299.679,25.5833,128.735,-59.2559],[1787.08,399.193,24.65,122.071,-57.0494],[1719.27,498.807,23.6333,114.914,-54.3321],[1642.97,598.891,22.5,107.14,-50.8477],[1554.58,699.241,21.2,98.6268,-46.1425],[1446.92,799.332,19.6333,89.2359,-39.2531],[1296.16,899.578,17.4667,78.6974,-27.1017],[1035.41,966.34,13.7833,71.5137,-0.0856715]]], - [62,984.438,[[2619.62,-2002.23,39.6667,222.028,-76.2019],[2594.82,-1902.26,39.2,219.309,-75.9156],[2568.93,-1800.16,38.7167,216.453,-75.609],[2543.72,-1702.99,38.25,213.659,-75.3028],[2516.51,-1600.44,37.75,210.625,-74.963],[2490.01,-1502.87,37.2667,207.653,-74.6224],[2461.44,-1400.28,36.75,204.434,-74.2443],[2433.58,-1302.73,36.25,201.278,-73.8638],[2403.63,-1200.56,35.7167,197.869,-73.4411],[2373.44,-1100.37,35.1833,194.416,-73],[2343.01,-1002.19,34.65,190.921,-72.5393],[2310.42,-900.11,34.0833,187.162,-72.0267],[2277.56,-800.367,33.5167,183.358,-71.4887],[2243.47,-700.17,32.9333,179.396,-70.9063],[2209.11,-602.525,32.35,175.392,-70.2926],[2172.49,-502.118,31.7333,171.113,-69.6069],[2134.58,-402.055,31.1,166.674,-68.8598],[2094.34,-300.125,30.4333,161.958,-68.0222],[2053.77,-201.733,29.7667,157.201,-67.1267],[2010.83,-102.288,29.0667,152.168,-66.1178],[1964.43,-0.200854,28.3167,146.743,-64.9501],[1916.6,99.3132,27.55,141.171,-63.6525],[1865.22,199.851,26.7333,135.223,-62.1398],[1811.28,298.413,25.8833,129.036,-60.4024],[1751.53,399.387,24.95,122.278,-58.2741],[1686.94,499.023,23.95,115.12,-55.695],[1614.15,599.669,22.8333,107.299,-52.3819],[1531.88,698.844,21.5833,98.8802,-48.0208],[1431.03,799.741,20.0667,89.3997,-41.5971],[1296.45,899.678,18.0667,78.8343,-30.8061],[1012.17,984.435,13.9167,69.2696,-0.121831]]], - [63,1002.12,[[2548.3,-2002.49,39.8667,222.209,-76.6619],[2524.29,-1902.24,39.4,219.483,-76.3852],[2500.09,-1803.36,38.9333,216.72,-76.0992],[2474.82,-1702.4,38.45,213.819,-75.7929],[2449.36,-1602.94,37.9667,210.879,-75.4755],[2422.82,-1501.67,37.4667,207.797,-75.1351],[2396.06,-1402.05,36.9667,204.673,-74.7815],[2368.2,-1300.89,36.45,201.402,-74.4016],[2340.11,-1201.55,35.9333,198.088,-74.006],[2310.89,-1100.96,35.4,194.624,-73.58],[2281.44,-1002.37,34.8667,191.116,-73.135],[2250.82,-902.829,34.3167,187.454,-72.6548],[2219.03,-802.573,33.75,183.636,-72.1358],[2186.04,-701.842,33.1667,179.658,-71.5738],[2151.84,-600.891,32.5667,175.519,-70.9642],[2117.35,-502.675,31.9667,171.335,-70.3199],[2080.67,-402.015,31.3333,166.873,-69.5987],[2042.7,-301.971,30.6833,162.247,-68.8108],[2002.47,-200.417,30,157.34,-67.925],[1960.91,-100.292,29.3,152.271,-66.9502],[1918.01,-1.94099,28.5833,147.046,-65.8736],[1871.74,98.545,27.8167,141.427,-64.6232],[1823.05,198.112,27.0167,135.543,-63.1957],[1769.85,299.789,26.15,129.164,-61.4878],[1714.12,398.464,25.25,122.561,-59.5093],[1651.65,499.714,24.25,115.29,-57.0244],[1583.37,599.285,23.1667,107.552,-53.9283],[1504.88,699.639,21.9333,99.0305,-49.7845],[1411.69,799.637,20.4833,89.6231,-43.8742],[1290.36,899.287,18.6167,79.0563,-34.2083],[1030.37,999.952,14.6833,67.0985,-5.49651],[986.885,1002.12,14.0333,67.0109,-0.0540066]]], - [64,1019.36,[[2474.37,-2000.48,40.05,222.323,-77.1182],[2451.98,-1903.56,39.6,219.689,-76.8606],[2427.75,-1800.86,39.1167,216.821,-76.5747],[2404.17,-1703.11,38.65,214.013,-76.2891],[2379.56,-1603.35,38.1667,211.066,-75.983],[2353.9,-1501.75,37.6667,207.975,-75.6544],[2328.04,-1401.81,37.1667,204.842,-75.3133],[2301.1,-1300.31,36.65,201.562,-74.9466],[2273.95,-1200.63,36.1333,198.238,-74.5648],[2246.59,-1102.8,35.6167,194.871,-74.1667],[2217.23,-1000.73,35.0667,191.241,-73.724],[2187.64,-900.812,34.5167,187.565,-73.2604],[2156.91,-800.166,33.95,183.73,-72.7592],[2125.93,-701.883,33.3833,179.849,-72.2324],[2092.87,-600.435,32.7833,175.692,-71.6444],[2059.55,-501.718,32.1833,171.487,-71.0229],[2024.09,-400.524,31.55,167,-70.327],[1988.34,-302.465,30.9167,162.468,-69.5867],[1949.46,-200.233,30.2333,157.53,-68.733],[1910.26,-101.762,29.55,152.549,-67.8163],[1867.85,-0.331893,28.8167,147.163,-66.7546],[1824.11,98.7872,28.0667,141.62,-65.5753],[1777.07,199.291,27.2667,135.681,-64.1995],[1727.66,298.163,26.4333,129.482,-62.6186],[1672.83,399.958,25.5167,122.673,-60.6787],[1614.51,499.283,24.55,115.54,-58.3659],[1549.58,599.178,23.4833,107.782,-55.4348],[1475.85,699.203,22.2833,99.2915,-51.561],[1389,799.106,20.8833,89.8946,-46.0854],[1277.16,899.752,19.1,79.201,-37.2255],[1088.51,999.935,16.1333,66.9623,-16.8167],[960.751,1019.36,14.15,64.7317,-0.0161137]]], - [65,1036.14,[[2399.52,-2003.46,40.25,222.567,-77.5897],[2377.12,-1902.67,39.7833,219.83,-77.3323],[2354.53,-1803.24,39.3167,217.055,-77.0664],[2330.96,-1701.71,38.8333,214.14,-76.7813],[2307.21,-1601.67,38.35,211.185,-76.4861],[2283.27,-1503.17,37.8667,208.19,-76.1801],[2258.31,-1402.89,37.3667,205.049,-75.8515],[2232.31,-1301.03,36.85,201.76,-75.4984],[2206.11,-1201,36.3333,198.426,-75.1305],[2179.7,-1102.81,35.8167,195.048,-74.7471],[2151.37,-1000.35,35.2667,191.406,-74.3206],[2122.81,-900.043,34.7167,187.716,-73.8739],[2094.02,-801.929,34.1667,183.98,-73.4055],[2063.25,-700.297,33.5833,179.969,-72.8832],[2032.23,-601.205,33,175.91,-72.3326],[2000.08,-501.969,32.4,171.686,-71.7343],[1965.86,-400.222,31.7667,167.177,-71.0644],[1931.37,-301.604,31.1333,162.619,-70.3514],[1894.77,-201.229,30.4667,157.774,-69.5498],[1856.95,-102.052,29.7833,152.761,-68.668],[1816.97,-2.1303,29.0667,147.46,-67.6705],[1774.78,97.8827,28.3167,141.874,-66.5372],[1729.4,199.35,27.5167,135.882,-65.2144],[1681.73,299.234,26.6833,129.621,-63.6934],[1630.78,398.541,25.8,122.983,-61.8969],[1574.53,499.348,24.8333,115.751,-59.6761],[1512.9,599.388,23.7833,107.984,-56.9042],[1443.79,698.815,22.6167,99.5473,-53.2896],[1362.06,799.343,21.25,90.0924,-48.1626],[1259.34,899.999,19.55,79.3828,-40.0662],[1102.28,999.854,16.9833,67.0656,-23.2549],[933.77,1036.14,14.2667,62.4328,-0.0120817]]], - [66,1052.45,[[2321.37,-2000.58,40.4167,222.648,-78.049],[2300.54,-1903.16,39.9667,220.003,-77.8101],[2278.78,-1803.46,39.5,217.222,-77.5542],[2256.07,-1701.65,39.0167,214.301,-77.28],[2233.18,-1601.34,38.5333,211.339,-76.9959],[2210.1,-1502.56,38.05,208.336,-76.7014],[2186.05,-1401.98,37.55,205.187,-76.3852],[2161.81,-1303.09,37.05,201.995,-76.0565],[2136.57,-1202.68,36.5333,198.653,-75.703],[2110.3,-1100.97,36,195.155,-75.3222],[2083.83,-1001.26,35.4667,191.612,-74.9244],[2056.31,-900.546,34.9167,187.91,-74.4949],[2028.58,-802.022,34.3667,184.16,-74.0445],[1999.78,-702.834,33.8,180.249,-73.557],[1969.05,-600.417,33.2,176.057,-73.0127],[1938.07,-500.722,32.6,171.813,-72.4372],[1905.97,-401.136,31.9833,167.402,-71.8101],[1872.75,-301.941,31.35,162.821,-71.1251],[1837.49,-200.952,30.6833,157.949,-70.3547],[1801.06,-101.141,30,152.905,-69.507],[1762.55,-0.547648,29.2833,147.568,-68.5477],[1722.81,97.9876,28.55,142.064,-67.4826],[1680.02,198.254,27.7667,136.148,-66.2393],[1634.12,299.179,26.9333,129.827,-64.7798],[1585.04,399.6,26.05,123.116,-63.0544],[1531.82,499.949,25.1,115.916,-60.9581],[1473.42,599.96,24.0667,108.152,-58.3396],[1407.84,699.895,22.9167,99.67,-54.9193],[1332.06,799.38,21.6,90.3102,-50.1835],[1238.07,899.387,19.9833,79.6699,-42.8247],[1100.83,999.968,17.65,67.2093,-28.2706],[905.942,1052.45,14.3833,60.1141,-0.0457994]]], - [67,1068.26,[[2242.32,-2002.75,40.6,222.859,-78.5229],[2221.54,-1901.47,40.1333,220.111,-78.2849],[2200.61,-1801.55,39.6667,217.324,-78.0389],[2179.51,-1703,39.2,214.497,-77.7846],[2157.49,-1602.4,38.7167,211.529,-77.5118],[2135.3,-1503.32,38.2333,208.519,-77.2291],[2112.17,-1402.44,37.7333,205.362,-76.9255],[2088.85,-1303.23,37.2333,202.162,-76.6099],[2064.57,-1202.5,36.7167,198.81,-76.2703],[2039.31,-1100.45,36.1833,195.303,-75.9047],[2013.84,-1000.4,35.65,191.748,-75.5226],[1988.18,-902.364,35.1167,188.146,-75.1228],[1960.7,-800.451,34.55,184.27,-74.6774],[1933,-700.89,33.9833,180.343,-74.209],[1904.26,-600.895,33.4,176.251,-73.7009],[1874.47,-500.722,32.8,171.99,-73.1485],[1843.6,-400.641,32.1833,167.558,-72.5467],[1811.65,-300.933,31.55,162.954,-71.889],[1778.6,-201.894,30.9,158.178,-71.1684],[1743.57,-101.425,30.2167,153.105,-70.3556],[1706.53,-0.137438,29.5,147.733,-69.4354],[1668.33,99.1157,28.7667,142.19,-68.4133],[1628.06,198.06,28,136.354,-67.2462],[1583.93,299.935,27.1667,129.975,-65.8468],[1537.65,399.521,26.3,123.323,-64.224],[1487.38,499.399,25.3667,116.163,-62.2521],[1432.16,599.368,24.35,108.41,-59.7873],[1370.06,699.794,23.2167,99.894,-56.5633],[1299.09,799.277,21.9333,90.5403,-52.1503],[1211.61,899.908,20.3667,79.8312,-45.3343],[1091.16,999.539,18.2333,67.4591,-32.6676],[877.274,1068.25,14.5,57.7766,-0.122565]]], - [68,1083.55,[[2160.87,-2002.73,40.7667,223.006,-78.9939],[2140.92,-1901.22,40.3,220.252,-78.7658],[2120.82,-1801.05,39.8333,217.459,-78.5299],[2100.57,-1702.27,39.3667,214.627,-78.286],[2079.43,-1601.41,38.8833,211.652,-78.0245],[2058.12,-1502.08,38.4,208.635,-77.7533],[2035.91,-1400.93,37.9,205.47,-77.4621],[2013.52,-1301.46,37.4,202.261,-77.1594],[1990.21,-1200.45,36.8833,198.899,-76.8337],[1966.71,-1101.28,36.3667,195.491,-76.4941],[1942.27,-1000.87,35.8333,191.926,-76.128],[1917.64,-902.482,35.3,188.313,-75.745],[1891.26,-800.185,34.7333,184.424,-75.3181],[1864.67,-700.236,34.1667,180.483,-74.8692],[1837.87,-602.67,33.6,176.492,-74.3965],[1809.28,-502.002,33,172.214,-73.8678],[1779.66,-401.407,32.3833,167.764,-73.2916],[1748.99,-301.167,31.75,163.139,-72.6619],[1717.27,-201.575,31.1,158.338,-71.9718],[1683.65,-100.521,30.4167,153.236,-71.1932],[1648.93,-0.935202,29.7167,147.958,-70.3327],[1612.27,99.0597,28.9833,142.377,-69.3547],[1573.63,198.787,28.2167,136.497,-68.2373],[1532.13,299.525,27.4,130.193,-66.9249],[1488.58,398.264,26.55,123.604,-65.4041],[1440.36,499.396,25.6167,116.362,-63.5199],[1388.26,599.158,24.6167,108.631,-61.203],[1329.57,699.89,23.5,100.096,-58.1687],[1263.28,799.093,22.25,90.7749,-54.066],[1182.08,899.929,20.7333,80.0497,-47.7755],[1073.87,999.64,18.7333,67.6549,-36.4785],[846.844,1083.55,14.6,55.4241,-0.0792798]]], - [69,1098.31,[[2077.11,-2000.51,40.9167,223.088,-79.4629],[2058.69,-1902.42,40.4667,220.428,-79.2524],[2039.43,-1802.01,40,217.63,-79.0268],[2020.03,-1702.97,39.5333,214.792,-78.7935],[1999.78,-1601.85,39.05,211.811,-78.5433],[1979.37,-1502.25,38.5667,208.787,-78.2839],[1958.09,-1400.83,38.0667,205.615,-78.0054],[1936.64,-1301.08,37.5667,202.398,-77.7158],[1915.03,-1203.02,37.0667,199.137,-77.4144],[1891.8,-1100.31,36.5333,195.61,-77.0793],[1869.12,-1002.71,36.0167,192.147,-76.7401],[1844.78,-900.895,35.4667,188.41,-76.3624],[1820.26,-801.252,34.9167,184.622,-75.9662],[1794.79,-700.898,34.35,180.669,-75.5371],[1768.37,-600.08,33.7667,176.545,-75.0715],[1741.74,-501.821,33.1833,172.369,-74.5798],[1713.36,-400.773,32.5667,167.9,-74.0288],[1683.99,-300.063,31.9333,163.253,-73.4266],[1654.39,-202.509,31.3,158.552,-72.7839],[1622.19,-100.848,30.6167,153.424,-72.0402],[1588.95,-0.633917,29.9167,148.115,-71.218],[1554.64,97.7872,29.2,142.626,-70.3053],[1517.64,198.323,28.4333,136.705,-69.239],[1477.9,299.931,27.6167,130.35,-67.9858],[1436.2,399.584,26.7667,123.7,-66.5324],[1390.86,499.972,25.85,116.511,-64.7643],[1341.81,599.366,24.8667,108.812,-62.5898],[1287.31,698.779,23.7833,100.398,-59.7855],[1224.72,798.883,22.55,91.0071,-55.9335],[1149.59,899.525,21.0833,80.3147,-50.1489],[1051.27,999.705,19.1833,67.864,-39.9622],[815.659,1098.31,14.7,53.053,-0.0766958]]], - [70,1112.51,[[1992.47,-2003.45,41.0833,223.302,-79.9453],[1974.21,-1901.49,40.6167,220.539,-79.7369],[1955.8,-1800.87,40.15,217.735,-79.5214],[1937.25,-1701.62,39.6833,214.892,-79.2987],[1917.89,-1600.28,39.2,211.904,-79.0597],[1898.38,-1500.45,38.7167,208.873,-78.812],[1878.72,-1402.16,38.2333,205.8,-78.5549],[1858.23,-1302.12,37.7333,202.576,-78.2787],[1836.88,-1200.51,37.2167,199.197,-77.9814],[1815.37,-1100.74,36.7,195.771,-77.6714],[1793.69,-1002.83,36.1833,192.299,-77.3478],[1770.44,-900.678,35.6333,188.551,-76.9874],[1747,-800.696,35.0833,184.752,-76.6092],[1723.38,-702.92,34.5333,180.902,-76.2121],[1698.13,-601.664,33.95,176.765,-75.7684],[1671.96,-500.181,33.35,172.454,-75.2859],[1645.58,-401.444,32.75,168.087,-74.7744],[1617.51,-300.244,32.1167,163.421,-74.2002],[1589.22,-202.197,31.4833,158.699,-73.5873],[1559.21,-102.446,30.8167,153.671,-72.8958],[1527.45,-1.58063,30.1167,148.333,-72.1127],[1493.91,99.7676,29.3833,142.682,-71.2221],[1459.32,198.777,28.6333,136.849,-70.2268],[1422.14,299.133,27.8333,130.577,-69.0574],[1382.31,399.73,26.9833,123.87,-67.6734],[1339.78,499.367,26.0833,116.741,-66.0208],[1293.73,598.387,25.1167,109.081,-63.9883],[1241.68,699.362,24.0333,100.544,-61.3208],[1182.72,799.98,22.8167,91.1031,-57.7013],[1113.43,899.826,21.4,80.4946,-52.3856],[1024.54,999.399,19.6,68.1263,-43.2407],[863.696,1099.94,16.3833,52.7099,-17.1994],[783.726,1112.51,14.8,50.6639,-0.12125]]], - [71,1126.14,[[1904.99,-2000.57,41.2167,223.354,-80.4185],[1888.2,-1902.06,40.7667,220.685,-80.2271],[1870.65,-1801.22,40.3,217.876,-80.022],[1852.97,-1701.74,39.8333,215.027,-79.8099],[1834.52,-1600.17,39.35,212.034,-79.5823],[1815.91,-1500.11,38.8667,208.997,-79.3465],[1797.17,-1401.58,38.3833,205.917,-79.1017],[1777.63,-1301.29,37.8833,202.686,-78.8386],[1757.94,-1202.68,37.3833,199.409,-78.5648],[1737.44,-1102.59,36.8667,195.975,-78.27],[1716.11,-1001.21,36.3333,192.381,-77.952],[1694.61,-901.849,35.8,188.737,-77.6193],[1672.27,-801.515,35.25,184.927,-77.2596],[1649.07,-700.443,34.6833,180.948,-76.87],[1625.69,-601.744,34.1167,176.915,-76.4595],[1601.44,-502.658,33.5333,172.709,-76.0135],[1575.6,-400.728,32.9167,168.205,-75.5136],[1549.55,-301.736,32.3,163.643,-74.9818],[1521.88,-200.625,31.65,158.775,-74.3834],[1493.27,-100.417,30.9833,153.722,-73.7247],[1463.72,-1.43462,30.3,148.483,-72.9972],[1432.48,98.2577,29.5833,142.93,-72.17],[1399.53,198.003,28.8333,137.061,-71.2248],[1364.1,299.153,28.0333,130.744,-70.1136],[1326.89,398.672,27.2,124.115,-68.825],[1286.38,499.351,26.3,116.919,-67.256],[1242.5,599.499,25.3333,109.174,-65.3242],[1194.44,698.764,24.2833,100.786,-62.8693],[1139.05,799.889,23.0833,91.3101,-59.4853],[1074.62,899.904,21.7,80.6941,-54.5664],[993.123,999.798,19.9667,68.2911,-46.2291],[861.564,1099.66,17.2,52.9269,-25.3266],[750.245,1126.14,14.8833,48.2597,-0.0262979]]], - [72,1139.19,[[1816.65,-2002.89,41.3667,223.539,-80.9044],[1800.09,-1900.53,40.9,220.766,-80.7158],[1784.01,-1803.09,40.45,218.054,-80.528],[1767.2,-1703.38,39.9833,215.201,-80.3268],[1749.66,-1601.56,39.5,212.202,-80.1108],[1731.98,-1501.25,39.0167,209.16,-79.8869],[1714.16,-1402.47,38.5333,206.074,-79.6547],[1695.59,-1301.91,38.0333,202.836,-79.4049],[1676.87,-1203.04,37.5333,199.552,-79.1451],[1657.38,-1102.68,37.0167,196.111,-78.8652],[1637.1,-1001.01,36.4833,192.508,-78.5634],[1616.67,-901.358,35.95,188.853,-78.2475],[1595.43,-800.722,35.4,185.033,-77.906],[1574.03,-702.284,34.85,181.159,-77.5472],[1551.16,-600.32,34.2667,176.995,-77.1462],[1528.1,-500.904,33.6833,172.774,-76.7225],[1504.2,-401.348,33.0833,168.376,-76.2609],[1479.45,-301.923,32.4667,163.797,-75.7565],[1453.15,-200.349,31.8167,158.908,-75.1887],[1426.64,-102.137,31.1667,153.959,-74.5799],[1397.88,-0.186114,30.4667,148.567,-73.8731],[1368.88,97.7473,29.7667,143.113,-73.1068],[1337.57,198.15,29.0167,137.208,-72.2107],[1304.6,297.941,28.2333,130.982,-71.1798],[1269.25,398.324,27.4,124.303,-69.9596],[1230.76,499.944,26.5,117.044,-68.4727],[1189.79,599.439,25.55,109.353,-66.6738],[1144.13,699.981,24.5,100.859,-64.3473],[1092.97,799.907,23.3333,91.4978,-61.231],[1033.26,899.812,21.9833,80.9054,-56.6941],[958.863,999.522,20.3167,68.5436,-49.1353],[845.323,1099.79,17.8,53.1116,-31.3336],[716.871,1139.19,14.9833,45.8356,-0.178745]]], - [73,1151.63,[[1726.26,-2003.1,41.5,223.661,-81.3887],[1710.57,-1900.54,41.0333,220.884,-81.2103],[1695.33,-1802.91,40.5833,218.167,-81.0325],[1679.4,-1703,40.1167,215.309,-80.8419],[1662.77,-1600.98,39.6333,212.305,-80.6375],[1646.02,-1500.47,39.15,209.257,-80.4256],[1629.13,-1401.47,38.6667,206.165,-80.2056],[1611.53,-1300.7,38.1667,202.92,-79.9692],[1593.79,-1201.61,37.6667,199.628,-79.7231],[1575.32,-1101.01,37.15,196.178,-79.458],[1556.71,-1002.26,36.6333,192.679,-79.1813],[1537.35,-902.301,36.1,189.016,-78.8825],[1517.23,-801.347,35.55,185.186,-78.5595],[1496.95,-702.589,35,181.302,-78.2201],[1475.27,-600.281,34.4167,177.125,-77.8408],[1453.43,-500.519,33.8333,172.891,-77.4399],[1430.79,-400.603,33.2333,168.477,-77.0031],[1407.33,-300.804,32.6167,163.88,-76.5257],[1383.05,-201.406,31.9833,159.099,-76.0025],[1357.3,-100.22,31.3167,154.001,-75.4118],[1330.69,-0.225789,30.6333,148.712,-74.7589],[1303.22,98.2424,29.9333,143.23,-74.0341],[1273.56,199.223,29.1833,137.291,-73.1864],[1242.33,299.624,28.4,131.025,-72.2108],[1209.51,398.698,27.5833,124.432,-71.0795],[1173.72,499.329,26.7,117.249,-69.7012],[1134.92,599.862,25.75,109.484,-68.0026],[1093.06,698.487,24.7333,101.163,-65.8784],[1045.32,798.705,23.5833,91.7973,-62.9884],[989.484,899.598,22.25,81.1219,-58.772],[921.174,999.545,20.6333,68.7482,-51.8742],[821.585,1099.84,18.3,53.3214,-36.4287],[682.045,1151.63,15.0667,43.3972,-0.189477]]], - [74,1163.45,[[1633.92,-2001.19,41.6167,223.72,-81.8724],[1619.64,-1902.12,41.1667,221.038,-81.7101],[1604.71,-1800.7,40.7,218.216,-81.5361],[1589.67,-1700.63,40.2333,215.353,-81.3562],[1574.51,-1601.94,39.7667,212.447,-81.17],[1558.69,-1501.2,39.2833,209.394,-80.9702],[1542.74,-1401.99,38.8,206.296,-80.7627],[1526.12,-1300.98,38.3,203.045,-80.5398],[1509.37,-1201.66,37.8,199.747,-80.3077],[1491.93,-1100.82,37.2833,196.29,-80.0577],[1474.36,-1001.82,36.7667,192.782,-79.7967],[1456.08,-901.605,36.2333,189.111,-79.5149],[1437.08,-800.384,35.6833,185.27,-79.2101],[1417.93,-701.356,35.1333,181.375,-78.8899],[1398.05,-601.656,34.5667,177.306,-78.5425],[1377.43,-501.529,33.9833,173.06,-78.1648],[1356.05,-401.235,33.3833,168.632,-77.7532],[1333.91,-301.043,32.7667,164.02,-77.3033],[1310.99,-201.238,32.1333,159.22,-76.8101],[1287.29,-102.117,31.4833,154.231,-76.2677],[1262.17,-1.58269,30.8,148.919,-75.6532],[1235.62,99.7524,30.0833,143.28,-74.954],[1208.24,199.029,29.35,137.442,-74.1727],[1179.39,297.971,28.5833,131.274,-73.2741],[1147.78,399.811,27.75,124.502,-72.1873],[1114.64,499.323,26.8833,117.399,-70.9132],[1078.67,599.079,25.95,109.702,-69.3435],[1039.17,698.865,24.9333,101.291,-67.3455],[994.765,799.023,23.8,91.9363,-64.6655],[943.402,899.307,22.5,81.337,-60.8035],[880.959,999.108,20.9333,69.0062,-54.541],[792.424,1099.78,18.7333,53.5497,-40.9567],[645.895,1163.45,15.1333,40.944,-0.0337111]]], - [75,1174.64,[[1540.27,-2000.88,41.7333,223.814,-82.3616],[1526.83,-1901.65,41.2833,221.129,-82.2091],[1512.79,-1800.05,40.8167,218.303,-82.0456],[1499.14,-1703.37,40.3667,215.538,-81.8826],[1484.38,-1600.96,39.8833,212.524,-81.7014],[1469.5,-1500.04,39.4,209.465,-81.5136],[1454.5,-1400.64,38.9167,206.362,-81.3186],[1439.39,-1302.8,38.4333,203.213,-81.1161],[1423.64,-1203.22,37.9333,199.91,-80.8982],[1407.24,-1102.12,37.4167,196.446,-80.6635],[1390.71,-1002.87,36.9,192.932,-80.4185],[1373.52,-902.379,36.3667,189.252,-80.1539],[1355.66,-800.875,35.8167,185.403,-79.8677],[1337.65,-701.561,35.2667,181.498,-79.567],[1318.95,-601.564,34.7,177.419,-79.2407],[1299.56,-501.129,34.1167,173.16,-78.886],[1279.46,-400.514,33.5167,168.719,-78.4993],[1259.2,-302.668,32.9167,164.217,-78.0884],[1237.65,-202.436,32.2833,159.401,-77.6258],[1214.79,-100.364,31.6167,154.264,-77.1034],[1191.75,-1.86789,30.95,149.06,-76.5403],[1166.79,99.9648,30.2333,143.396,-75.884],[1141.04,199.755,29.5,137.529,-75.1504],[1113.92,299.239,28.7333,131.325,-74.3064],[1084.79,399.683,27.9167,124.647,-73.3066],[1053.64,499.945,27.05,117.494,-72.1112],[1020.43,598.787,26.1333,109.871,-70.6654],[983.293,699.62,25.1167,101.377,-68.7918],[942.173,799.55,24,92.0444,-66.3149],[895.141,898.983,22.7333,81.5454,-62.7921],[837.716,999.243,21.2,69.1765,-57.0636],[758.965,1099.62,19.1167,53.7919,-45.0894],[609.836,1174.64,15.2167,38.4731,-0.16674]]], - [76,1185.18,[[1445.31,-2002.17,41.85,223.945,-82.8558],[1432.73,-1902.77,41.4,221.257,-82.7131],[1419.58,-1801,40.9333,218.427,-82.5602],[1406.34,-1700.58,40.4667,215.555,-82.4021],[1392.99,-1601.54,40,212.641,-82.2384],[1379.05,-1500.43,39.5167,209.578,-82.0627],[1365.01,-1400.84,39.0333,206.469,-81.8804],[1350.87,-1302.8,38.55,203.315,-81.691],[1336.12,-1203.02,38.05,200.006,-81.4872],[1320.77,-1101.71,37.5333,196.535,-81.2677],[1305.29,-1002.24,37.0167,193.014,-81.0385],[1289.2,-901.529,36.4833,189.326,-80.791],[1272.98,-802.843,35.95,185.585,-80.5315],[1255.61,-700.244,35.3833,181.553,-80.2419],[1238.11,-600.003,34.8167,177.462,-79.9366],[1220.47,-502.156,34.25,173.314,-79.6143],[1201.66,-401.202,33.65,168.861,-79.253],[1182.16,-300.326,33.0333,164.219,-78.858],[1162.52,-202.417,32.4167,159.514,-78.4367],[1141.66,-102.475,31.7667,154.488,-77.9609],[1119.56,-1.0707,31.0833,149.134,-77.4218],[1096.73,98.8558,30.3833,143.578,-76.8229],[1072.64,199.186,29.65,137.685,-76.138],[1047.25,299.239,28.8833,131.449,-75.3497],[1020.55,398.29,28.0833,124.87,-74.4356],[991.4,499.333,27.2167,117.67,-73.3207],[960.32,599.009,26.3,109.989,-71.9711],[926.142,699.182,25.3,101.557,-70.2516],[888.243,798.892,24.2,92.2592,-67.9783],[844.24,899.898,22.9333,81.6026,-64.6926],[792.274,999.099,21.45,69.3733,-59.5284],[721.574,1099.75,19.45,53.9748,-48.8611],[572.554,1185.18,15.2833,35.9884,-0.128419]]], - [77,1195.05,[[1348.64,-2001.4,41.95,224.014,-83.3498],[1336.93,-1901.86,41.5,221.322,-83.2169],[1325.12,-1803.56,41.05,218.59,-83.0798],[1312.78,-1702.95,40.5833,215.716,-82.9327],[1299.91,-1600.2,40.1,212.693,-82.775],[1287.38,-1502.41,39.6333,209.731,-82.6172],[1274.3,-1402.61,39.15,206.619,-82.4476],[1260.68,-1301,38.65,203.351,-82.2653],[1246.94,-1201.06,38.15,200.035,-82.0756],[1233.1,-1102.83,37.65,196.67,-81.8779],[1218.69,-1003.13,37.1333,193.143,-81.6647],[1203.7,-902.18,36.6,189.448,-81.4345],[1188.12,-800.195,36.05,185.581,-81.1854],[1172.42,-700.396,35.5,181.658,-80.9238],[1156.61,-602.816,34.95,177.68,-80.6483],[1139.7,-501.784,34.3667,173.4,-80.34],[1122.18,-400.55,33.7667,168.934,-80.0038],[1104.52,-302.078,33.1667,164.405,-79.6465],[1085.73,-201.18,32.5333,159.558,-79.244],[1066.3,-100.926,31.8833,154.515,-78.8012],[1046.22,-1.62605,31.2167,149.273,-78.3119],[1024.97,98.7382,30.5167,143.695,-77.7553],[1002.54,199.531,29.7833,137.776,-77.1184],[979.413,297.94,29.0333,131.648,-76.402],[954.036,399.637,28.2167,124.896,-75.5348],[927.415,499.349,27.3667,117.791,-74.5179],[898.479,599.76,26.45,110.055,-73.2635],[867.192,699.131,25.4667,101.693,-71.6925],[831.912,799.903,24.3667,92.2982,-69.5801],[792.032,899.644,23.1333,81.7807,-66.6103],[744.212,999.746,21.6667,69.4514,-61.8749],[681.171,1099.78,19.75,54.1634,-52.4185],[534.74,1195.05,15.35,33.4889,-0.160852]]], - [78,1204.25,[[1250.8,-2002.27,42.05,224.12,-83.8485],[1239.95,-1902.58,41.6,221.425,-83.7257],[1228.62,-1800.52,41.1333,218.589,-83.5941],[1217.6,-1703.38,40.6833,215.812,-83.4628],[1205.68,-1600.46,40.2,212.786,-83.3169],[1194.08,-1502.51,39.7333,209.82,-83.1709],[1181.98,-1402.55,39.25,206.703,-83.0141],[1169.36,-1300.77,38.75,203.43,-82.8455],[1156.65,-1200.66,38.25,200.109,-82.6699],[1143.84,-1102.25,37.75,196.738,-82.487],[1130.5,-1002.37,37.2333,193.204,-82.2898],[1116.62,-901.225,36.7,189.502,-82.0768],[1102.64,-802.107,36.1667,185.746,-81.8536],[1088.11,-702.041,35.6167,181.816,-81.6118],[1073.02,-601.262,35.05,177.708,-81.3494],[1057.37,-500.015,34.4667,173.417,-81.064],[1041.6,-401.338,33.8833,169.064,-80.7617],[1025.25,-302.564,33.2833,164.524,-80.4314],[1007.86,-201.344,32.65,159.663,-80.0595],[989.882,-100.756,32,154.605,-79.6501],[971.294,-1.11066,31.3333,149.344,-79.1977],[951.626,99.6196,30.6333,143.746,-78.6829],[931.334,198.549,29.9167,137.939,-78.1078],[909.457,299.606,29.15,131.646,-77.4308],[886.45,399.715,28.35,124.999,-76.6451],[862.298,498.103,27.5167,117.994,-75.7249],[835.523,599.282,26.6,110.209,-74.5679],[806.572,699.486,25.6167,101.783,-73.1175],[774.421,799.739,24.5333,92.4422,-71.1973],[738.024,899.461,23.3167,81.939,-68.4964],[694.792,999.206,21.8833,69.6773,-64.2385],[638.007,1099.89,20.0167,54.3241,-55.7807],[524.768,1199.92,16.3333,32.2282,-16.4603],[496.405,1204.25,15.4167,30.9753,-0.282044]]], - [79,1212.76,[[1151.44,-2001.09,42.1333,224.165,-84.3475],[1141.47,-1901.29,41.6833,221.467,-84.2346],[1131.42,-1802.74,41.2333,218.728,-84.1181],[1120.92,-1701.86,40.7667,215.846,-83.9931],[1110.34,-1602.35,40.3,212.92,-83.8637],[1099.3,-1500.75,39.8167,209.845,-83.7248],[1088.17,-1400.67,39.3333,206.723,-83.5806],[1076.96,-1302.12,38.85,203.555,-83.4309],[1065.28,-1201.83,38.35,200.229,-83.2698],[1053.5,-1103.23,37.85,196.853,-83.1019],[1041.24,-1003.15,37.3333,193.314,-82.9208],[1028.49,-901.803,36.8,189.606,-82.7252],[1015.63,-802.478,36.2667,185.843,-82.5202],[1002.28,-702.197,35.7167,181.906,-82.2982],[988.411,-601.193,35.15,177.789,-82.0573],[974.438,-502.577,34.5833,173.613,-81.8029],[959.529,-400.801,33.9833,169.126,-81.5176],[944.505,-301.783,33.3833,164.574,-81.2142],[928.524,-200.302,32.75,159.701,-80.8726],[912.42,-101.99,32.1167,154.758,-80.5064],[895.339,-1.97651,31.45,149.482,-80.0915],[877.264,99.1438,30.75,143.866,-79.6192],[858.616,198.477,30.0333,138.038,-79.0915],[838.511,299.969,29.2667,131.719,-78.4702],[817.81,398.496,28.4833,125.181,-77.7646],[795.172,499.405,27.6333,118,-76.9034],[771.015,599.334,26.7333,110.31,-75.8605],[744.865,698.623,25.7667,101.969,-74.5541],[715.327,799.845,24.6833,92.5482,-72.7951],[682.346,899.376,23.4833,82.0742,-70.3548],[643.094,999.582,22.0667,69.7664,-66.5007],[592.802,1099.47,20.2667,54.5644,-59.0586],[502.522,1199.94,17.0667,32.43,-29.0653],[457.086,1212.76,15.4667,28.4487,-0.187262]]], - [80,1220.57,[[1051.04,-2001.58,42.2167,224.247,-84.851],[1041.95,-1901.66,41.7667,221.546,-84.7482],[1032.79,-1802.99,41.3167,218.805,-84.642],[1023.22,-1701.98,40.85,215.92,-84.5282],[1013.58,-1602.34,40.3833,212.991,-84.4103],[1003.51,-1500.6,39.9,209.912,-84.2838],[993.371,-1400.39,39.4167,206.786,-84.1525],[983.152,-1301.71,38.9333,203.614,-84.0161],[972.499,-1201.26,38.4333,200.283,-83.8693],[961.765,-1102.52,37.9333,196.902,-83.7163],[950.589,-1002.29,37.4167,193.358,-83.5514],[938.963,-900.789,36.8833,189.643,-83.3732],[927.248,-801.305,36.35,185.874,-83.1864],[915.074,-700.858,35.8,181.929,-82.9841],[902.807,-602.626,35.25,177.926,-82.7712],[889.697,-500.894,34.6667,173.618,-82.5327],[876.486,-401.729,34.0833,169.246,-82.28],[862.795,-302.448,33.4833,164.685,-82.0039],[848.23,-200.687,32.85,159.8,-81.693],[833.554,-102.091,32.2167,154.844,-81.3597],[817.987,-1.77779,31.55,149.554,-80.9819],[801.515,99.6608,30.85,143.92,-80.5519],[784.52,199.322,30.1333,138.072,-80.0712],[766.597,299.008,29.3833,131.868,-79.5181],[747.734,398.013,28.6,125.304,-78.8766],[727.106,499.444,27.75,118.089,-78.0932],[705.093,599.932,26.85,110.357,-77.144],[681.265,699.825,25.8833,101.962,-75.9541],[655.18,798.754,24.8333,92.7611,-74.4043],[625.134,899.418,23.6333,82.1834,-72.1893],[589.797,999.887,22.2333,69.8524,-68.7289],[545.26,1099.37,20.4833,54.7324,-62.171],[470.352,1199.67,17.5667,32.7248,-37.9771],[417.351,1220.57,15.5167,25.9092,-0.175424]]], - [81,1227.67,[[949.334,-2000.04,42.2833,224.268,-85.3552],[941.132,-1900.04,41.8333,221.565,-85.2624],[932.867,-1801.28,41.3833,218.82,-85.1666],[924.231,-1700.18,40.9167,215.932,-85.0639],[915.528,-1600.45,40.45,212.999,-84.9575],[906.76,-1502.11,39.9833,210.023,-84.8474],[897.61,-1401.74,39.5,206.894,-84.7291],[888.39,-1302.91,39.0167,203.718,-84.6061],[878.779,-1202.31,38.5167,200.384,-84.4738],[868.771,-1100.14,38,196.886,-84.3312],[859.012,-1003.02,37.5,193.45,-84.1873],[848.524,-901.34,36.9667,189.731,-84.0267],[837.954,-801.682,36.4333,185.956,-83.8583],[826.971,-701.054,35.8833,182.005,-83.676],[815.904,-602.638,35.3333,177.995,-83.484],[804.077,-500.711,34.75,173.679,-83.269],[792.158,-401.349,34.1667,169.3,-83.0412],[779.805,-301.863,33.5667,164.728,-82.7923],[767.013,-202.527,32.95,159.962,-82.5194],[753.425,-101.068,32.3,154.865,-82.2112],[739.38,-0.521045,31.6333,149.56,-81.8705],[724.874,98.7903,30.95,144.045,-81.4921],[709.544,198.806,30.2333,138.179,-81.0593],[693.377,298.866,29.4833,131.955,-80.561],[676.362,398.265,28.7,125.366,-79.9831],[658.12,498.191,27.8667,118.264,-79.2917],[638.267,599.272,26.9667,110.496,-78.4379],[616.775,699.809,26,102.053,-77.367],[593.248,799.442,24.95,92.7876,-75.9708],[566.526,899.6,23.7667,82.2644,-74.0035],[535.419,999.037,22.4,70.08,-70.9706],[495.645,1099.73,20.6667,54.8063,-65.1435],[432.369,1199.79,17.9333,32.886,-45.0201],[377.215,1227.67,15.5667,23.3577,-0.27487]]], - [82,1234.06,[[846.727,-2000.21,42.35,224.329,-85.8635],[839.418,-1900.11,41.9,221.623,-85.781],[832.054,-1801.25,41.45,218.876,-85.6957],[824.359,-1700.05,40.9833,215.985,-85.6042],[816.606,-1600.21,40.5167,213.049,-85.5094],[808.793,-1501.77,40.05,210.07,-85.4113],[800.64,-1401.29,39.5667,206.938,-85.3059],[792.425,-1302.35,39.0833,203.758,-85.1965],[783.862,-1201.64,38.5833,200.42,-85.0786],[775.233,-1102.62,38.0833,197.031,-84.9558],[766.249,-1002.11,37.5667,193.477,-84.8233],[756.904,-900.312,37.0333,189.753,-84.6803],[747.487,-800.528,36.5,185.972,-84.5303],[737.998,-702.791,35.9667,182.135,-84.3729],[727.84,-601.223,35.4,177.998,-84.1968],[717.604,-502.036,34.8333,173.799,-84.0109],[706.986,-402.458,34.25,169.412,-83.8082],[695.675,-300.018,33.6333,164.705,-83.5805],[684.277,-200.531,33.0167,159.928,-83.3372],[672.482,-101.474,32.3833,154.95,-83.0697],[659.971,-0.671052,31.7167,149.634,-82.7665],[647.048,98.9051,31.0333,144.105,-82.4298],[633.391,199.201,30.3167,138.223,-82.0445],[618.988,299.557,29.5667,131.98,-81.6009],[603.83,399.267,28.7833,125.368,-81.0861],[587.58,499.526,27.95,118.238,-80.4701],[570.222,599.157,27.0667,110.58,-79.724],[551.41,698.56,26.1167,102.242,-78.789],[530.457,798.94,25.0667,92.9202,-77.5497],[506.657,899.948,23.8833,82.3152,-75.8012],[479.292,999.257,22.5333,70.151,-73.1377],[444.555,1099.79,20.8333,54.9158,-68.0659],[390.973,1199.82,18.2333,33.0576,-51.2524],[336.34,1234.06,15.6,20.7949,-0.0768216]]], - [83,1239.71,[[743.268,-2002.08,42.4167,224.427,-86.3755],[736.86,-1901.88,41.9667,221.72,-86.3031],[730.403,-1802.91,41.5167,218.972,-86.2283],[723.656,-1701.6,41.05,216.079,-86.1482],[716.857,-1601.65,40.5833,213.142,-86.0652],[710.007,-1503.09,40.1167,210.161,-85.9793],[702.858,-1402.5,39.6333,207.026,-85.887],[695.406,-1300.05,39.1333,203.734,-85.7876],[688.147,-1202.6,38.65,200.504,-85.6878],[680.328,-1100.18,38.1333,196.998,-85.5765],[672.703,-1002.81,37.6333,193.554,-85.4642],[664.509,-900.867,37.1,189.826,-85.3388],[656.252,-800.943,36.5667,186.041,-85.2074],[647.672,-700.038,36.0167,182.078,-85.0651],[639.026,-601.343,35.4667,178.057,-84.9152],[630.05,-502.003,34.9,173.851,-84.7522],[620.74,-402.265,34.3167,169.458,-84.5747],[611.091,-302.39,33.7167,164.871,-84.3806],[601.098,-202.65,33.1,160.088,-84.1678],[590.484,-100.761,32.45,154.97,-83.9274],[579.789,-2.24985,31.8,149.776,-83.6685],[568.46,97.6146,31.1167,144.237,-83.3738],[556.486,198.216,30.4,138.342,-83.0366],[543.86,298.894,29.65,132.083,-82.6483],[530.57,398.944,28.8667,125.452,-82.1976],[516.324,499.57,28.0333,118.298,-81.6582],[501.106,599.591,27.15,110.611,-81.0046],[484.613,699.417,26.2,102.235,-80.1851],[466.536,798.747,25.1667,93.0116,-79.1169],[445.968,899.13,24,82.4854,-77.6104],[421.981,999.474,22.65,70.2091,-75.2828],[392.132,1099.59,20.9833,55.0552,-70.9407],[346.985,1199.74,18.4833,33.2393,-56.949],[295.477,1239.71,15.65,18.2219,-0.485101]]], - [84,1244.63,[[638.81,-2001.95,42.4667,224.466,-86.8879],[633.307,-1901.67,42.0167,221.757,-86.8258],[627.761,-1802.63,41.5667,219.007,-86.7617],[621.966,-1701.24,41.1,216.112,-86.6929],[616.127,-1601.22,40.6333,213.172,-86.6217],[610.243,-1502.59,40.1667,210.189,-86.5478],[604.103,-1401.91,39.6833,207.052,-86.4685],[597.916,-1302.77,39.2,203.867,-86.3862],[591.467,-1201.85,38.7,200.523,-86.2976],[584.969,-1102.62,38.2,197.127,-86.2051],[578.203,-1001.89,37.6833,193.566,-86.1054],[571.386,-903.013,37.1667,189.951,-86.0012],[564.295,-802.933,36.6333,186.163,-85.8886],[556.927,-701.866,36.0833,182.197,-85.7665],[549.276,-600.046,35.5167,178.049,-85.634],[541.567,-500.605,34.95,173.837,-85.494],[533.571,-400.763,34.3667,169.437,-85.3415],[525.283,-300.78,33.7667,164.843,-85.1747],[516.701,-200.929,33.15,160.051,-84.992],[507.819,-101.496,32.5167,155.056,-84.7908],[498.398,-0.292667,31.85,149.719,-84.5628],[488.668,99.6973,31.1667,144.168,-84.3094],[478.624,198.137,30.4667,138.397,-84.0266],[467.781,299.059,29.7167,132.124,-83.6934],[456.369,399.367,28.9333,125.476,-83.3065],[444.381,498.31,28.1167,118.446,-82.8533],[431.314,598.756,27.2333,110.734,-82.2935],[417.153,699.044,26.2833,102.326,-81.5913],[401.632,798.88,25.25,93.0606,-80.6753],[383.971,899.84,24.0833,82.4726,-79.3824],[363.631,999.714,22.75,70.252,-77.4096],[338.518,1099.17,21.1167,55.2191,-73.7707],[300.8,1199.83,18.6833,33.3505,-62.1911],[253.728,1244.63,15.6667,15.6387,-0.00406967]]], - [85,1248.8,[[533.669,-2003.55,42.5167,224.544,-87.4036],[529.075,-1903.19,42.0667,221.834,-87.3517],[524.274,-1800.42,41.6,218.981,-87.2962],[519.609,-1702.6,41.15,216.187,-87.2407],[514.734,-1602.49,40.6833,213.247,-87.1814],[509.647,-1500.26,40.2,210.154,-87.1177],[504.697,-1403,39.7333,207.123,-87.0537],[499.354,-1300.37,39.2333,203.826,-86.9825],[494.149,-1202.75,38.75,200.59,-86.911],[488.544,-1100.14,38.2333,197.079,-86.8313],[483.077,-1002.58,37.7333,193.629,-86.7508],[477.202,-900.445,37.2,189.893,-86.661],[471.281,-800.321,36.6667,186.1,-86.5669],[465.316,-702.24,36.1333,182.251,-86.4681],[458.93,-600.304,35.5667,178.098,-86.3575],[452.494,-500.746,35,173.883,-86.2407],[445.819,-400.782,34.4167,169.477,-86.1134],[438.901,-300.672,33.8167,164.878,-85.9743],[431.737,-200.69,33.2,160.08,-85.8217],[424.322,-101.12,32.5667,155.077,-85.6539],[416.655,-2.26252,31.9167,149.867,-85.4685],[408.534,97.9697,31.2333,144.308,-85.2575],[399.951,198.96,30.5167,138.39,-85.016],[391.101,297.854,29.7833,132.244,-84.7442],[381.576,398.449,29,125.583,-84.422],[371.365,499.658,28.1667,118.392,-84.036],[360.664,598.469,27.3,110.804,-83.5777],[348.845,699.114,26.35,102.369,-82.9922],[335.889,799.343,25.3167,93.0669,-82.2281],[321.36,899.388,24.1667,82.5791,-81.1658],[304.384,999.984,22.8333,70.2781,-79.5222],[283.641,1099.43,21.2167,55.2479,-76.5197],[253.03,1199.78,18.85,33.4786,-67.1851],[212.018,1248.8,15.7,13.0473,-0.259951]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 416.655; -_maxRange = 2392.14; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg3.sqf deleted file mode 100644 index b4584a5bf8..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illlumBtab_HA_chg3.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_illum_time_chg3 -// Ammo: ace_arty_82mm_illum_time -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,898.304,[[4418.42,-2001.85,38.7667,228.597,-67.3061],[4375.62,-1900.61,38.2833,226.125,-66.8408],[4332.46,-1800.83,37.8,223.627,-66.3612],[4288.95,-1702.54,37.3167,221.104,-65.8666],[4243.57,-1602.43,36.8167,218.469,-65.3386],[4196.28,-1500.69,36.3,215.72,-64.7746],[4148.58,-1400.72,35.7833,212.946,-64.1911],[4100.49,-1302.55,35.2667,210.148,-63.5871],[4048.86,-1200.04,34.7167,207.146,-62.9205],[3998.36,-1102.63,34.1833,204.213,-62.2497],[3944.25,-1001.31,33.6167,201.075,-61.5091],[3889.67,-902.283,33.05,197.918,-60.7383],[3833,-802.762,32.4667,194.65,-59.9116],[3772.55,-700.263,31.85,191.181,-58.9987],[3711.57,-600.591,31.2333,187.701,-58.0436],[3648.37,-501.209,30.6,184.119,-57.016],[3582.93,-402.404,29.95,180.442,-55.909],[3513.51,-302.068,29.2667,176.583,-54.6845],[3440.01,-200.791,28.55,172.551,-53.3288],[3364.09,-101.41,27.8167,168.453,-51.8608],[3282.2,-0.0752714,27.0333,164.122,-50.1961],[3197.74,98.1981,26.2333,159.763,-48.3856],[3105.31,198.621,25.3667,155.14,-46.2896],[3004.72,299.636,24.4333,150.307,-43.8647],[2895.75,399.532,23.4333,145.34,-41.0605],[2774.49,499.301,22.3333,140.19,-37.7142],[2634.96,599.602,21.0833,134.834,-33.5628],[2468.97,699.254,19.6167,129.381,-28.2081],[2248.42,799.583,17.7,123.946,-20.4567],[1714.88,898.303,13.2,121.032,-0.044097]]], - [46,928.432,[[4379.67,-2001.9,39.1167,228.882,-67.7782],[4337.66,-1900.18,38.6333,226.4,-67.3226],[4296.77,-1803.35,38.1667,223.978,-66.8694],[4252.6,-1701.13,37.6667,221.355,-66.3687],[4208.05,-1600.52,37.1667,218.707,-65.8516],[4163.14,-1501.52,36.6667,216.032,-65.3173],[4116.34,-1400.96,36.15,213.242,-64.7463],[4069.14,-1302.18,35.6333,210.428,-64.1553],[4020.02,-1202.12,35.1,207.498,-63.523],[3968.92,-1100.98,34.55,204.453,-62.8461],[3917.39,-1001.95,34,201.385,-62.1427],[3863.84,-902.169,33.4333,198.203,-61.3888],[3808.24,-801.864,32.85,194.908,-60.5799],[3750.55,-701.284,32.25,191.502,-59.7113],[3690.73,-600.688,31.6333,187.987,-58.7774],[3628.75,-500.349,31,184.368,-57.7723],[3564.56,-400.551,30.35,180.648,-56.6892],[3498.13,-301.59,29.6833,176.835,-55.5204],[3427.73,-201.439,28.9833,172.842,-54.2261],[3353.29,-100.707,28.25,168.68,-52.791],[3274.71,-0.0483942,27.4833,164.366,-51.1982],[3191.91,99.8406,26.6833,159.922,-49.4278],[3104.81,198.219,25.85,155.375,-47.4574],[3008,299.648,24.9333,150.499,-45.1303],[2904.81,398.788,23.9667,145.54,-42.482],[2789.66,498.721,22.9,140.34,-39.3124],[2658.55,599.089,21.7,134.916,-35.4182],[2503.55,699.779,20.3,129.298,-30.4188],[2308.67,799.526,18.5667,123.67,-23.5544],[1992.96,899.99,15.8167,118.58,-11.3664],[1710.95,928.43,13.4167,118.783,-0.0412016]]], - [47,958.49,[[4338.34,-2003.01,39.4667,229.197,-68.2557],[4297.14,-1900.8,38.9833,226.704,-67.81],[4255.59,-1800.05,38.5,224.184,-67.3505],[4213.69,-1700.76,38.0167,221.637,-66.8767],[4171.46,-1602.96,37.5333,219.065,-66.3879],[4125.94,-1500.1,37.0167,216.287,-65.8479],[4081.51,-1402.22,36.5167,213.572,-65.3074],[4035.23,-1302.83,36,210.742,-64.7295],[3987.05,-1202.12,35.4667,207.794,-64.1112],[3936.94,-1100.32,34.9167,204.729,-63.4492],[3886.4,-1000.62,34.3667,201.639,-62.7611],[3833.89,-900.135,33.8,198.433,-62.0235],[3780.92,-801.953,33.2333,195.206,-61.255],[3724.35,-700.543,32.6333,191.77,-60.4058],[3667.29,-601.789,32.0333,188.318,-59.5177],[3606.52,-500.476,31.4,184.662,-58.5357],[3545.21,-402.211,30.7667,180.998,-57.5048],[3480.1,-302.117,30.1,177.138,-56.3635],[3411.1,-200.762,29.4,173.092,-55.0988],[3339.8,-101.028,28.6833,168.964,-53.7286],[3264.48,-1.0887,27.9333,164.674,-52.2072],[3185.06,98.3773,27.15,160.239,-50.5155],[3099.73,198.597,26.3167,155.593,-48.5918],[3008.36,298.436,25.4333,150.776,-46.4027],[2909.06,398.354,24.4833,145.754,-43.8627],[2798.1,499.661,23.4333,140.445,-40.815],[2675.13,599.442,22.2833,134.998,-37.1681],[2532.56,699.106,20.9667,129.352,-32.5752],[2354.97,799.821,19.35,123.503,-26.3165],[2103.31,899.478,17.1,117.888,-16.5574],[1705.54,958.488,13.6333,116.51,-0.0568588]]], - [48,988.448,[[4293.03,-2001.65,39.8,229.454,-68.7235],[4254.02,-1902.51,39.3333,227.038,-68.3027],[4213.29,-1801.25,38.85,224.508,-67.8535],[4172.22,-1701.45,38.3667,221.95,-67.3903],[4130.82,-1603.14,37.8833,219.365,-66.9124],[4087.64,-1503.03,37.3833,216.664,-66.4018],[4042.64,-1401.3,36.8667,213.845,-65.856],[3997.26,-1301.34,36.35,210.998,-65.2908],[3950.03,-1200.04,35.8167,208.033,-64.6861],[3902.4,-1100.69,35.2833,205.041,-64.0585],[3852.86,-1000.31,34.7333,201.93,-63.3861],[3802.9,-902.049,34.1833,198.796,-62.6867],[3749.47,-800.2,33.6,195.449,-61.9138],[3695.57,-700.819,33.0167,192.08,-61.1069],[3639.64,-601.211,32.4167,188.597,-60.2393],[3581.67,-501.637,31.8,185.003,-59.3055],[3521.6,-402.37,31.1667,181.3,-58.299],[3457.81,-301.211,30.5,177.396,-57.1842],[3391.82,-201.121,29.8167,173.395,-55.9786],[3321.97,-100.122,29.1,169.209,-54.6407],[3249.84,-1.04658,28.3667,164.948,-53.1881],[3172.05,99.9379,27.5833,160.435,-51.536],[3090.15,199.81,26.7667,155.791,-49.6945],[3002.38,299.665,25.9,150.955,-47.5966],[2908.59,398.306,24.9833,145.974,-45.2041],[2803.45,499.193,23.9667,140.658,-42.3253],[2686.65,599.52,22.85,135.137,-38.8703],[2552.53,699.825,21.5833,129.384,-34.556],[2391.55,799.736,20.0833,123.456,-28.8837],[2175.2,899.842,18.1,117.492,-20.4729],[1696.75,988.448,13.8333,114.229,-0.0102383]]], - [49,1018.27,[[4245.15,-2001.42,40.1333,229.74,-69.197],[4206.92,-1901.84,39.6667,227.314,-68.7856],[4167.01,-1800.11,39.1833,224.774,-68.3465],[4128.15,-1703.28,38.7167,222.294,-67.9095],[4086.19,-1601.06,38.2167,219.608,-67.4264],[4043.87,-1500.45,37.7167,216.893,-66.927],[4001.2,-1401.47,37.2167,214.151,-66.4107],[3956.74,-1300.93,36.7,211.289,-65.8585],[3911.91,-1202.18,36.1833,208.4,-65.2864],[3865.26,-1102.16,35.65,205.39,-64.6738],[3816.73,-1001.07,35.1,202.26,-64.0174],[3767.8,-902.108,34.55,199.104,-63.3344],[3716.95,-802.398,33.9833,195.828,-62.6016],[3664.17,-702.179,33.4,192.433,-61.8143],[3609.4,-601.7,32.8,188.92,-60.9677],[3552.62,-501.221,32.1833,185.292,-60.0562],[3493.79,-401.016,31.55,181.552,-59.0733],[3432.88,-301.371,30.9,177.703,-58.0123],[3368.27,-200.159,30.2167,173.654,-56.8355],[3301.47,-100.299,29.5167,169.511,-55.5603],[3232.46,-2.12931,28.8,165.284,-54.176],[3157.95,98.2673,28.0333,160.793,-52.6002],[3077.8,199.876,27.2167,156.06,-50.8051],[2993.56,299.699,26.3667,151.212,-48.7986],[2903.47,398.696,25.4667,146.195,-46.5077],[2804,498.864,24.4833,140.892,-43.7931],[2693.2,599.402,23.4,135.323,-40.5257],[2567.29,699.849,22.1833,129.506,-36.4852],[2418.78,799.912,20.7667,123.472,-31.2592],[2229.02,899.571,18.9833,117.318,-23.8779],[1901.14,999.952,15.9667,111.697,-9.67481],[1688.39,1018.27,14.05,111.907,-0.0652315]]], - [50,1047.92,[[4194.71,-2002.36,40.4667,230.055,-69.6758],[4157.27,-1902.33,40,227.621,-69.274],[4118.18,-1800.12,39.5167,225.071,-68.8452],[4080.13,-1702.83,39.05,222.58,-68.4183],[4039.03,-1600.11,38.55,219.883,-67.9463],[3998.97,-1502.33,38.0667,217.247,-67.475],[3957.19,-1402.78,37.5667,214.491,-66.9711],[3913.66,-1301.65,37.05,211.615,-66.4322],[3869.77,-1202.31,36.5333,208.71,-65.8737],[3824.09,-1101.66,36,205.683,-65.2756],[3778.02,-1002.97,35.4667,202.628,-64.6544],[3728.66,-900.298,34.9,199.355,-63.9677],[3680.35,-802.823,34.35,196.153,-63.2733],[3628.67,-701.821,33.7667,192.732,-62.5051],[3575.06,-600.529,33.1667,189.19,-61.6788],[3520.98,-501.907,32.5667,185.628,-60.8134],[3463.4,-400.746,31.9333,181.851,-59.8548],[3403.78,-300.109,31.2833,177.962,-58.8195],[3342.09,-200.295,30.6167,173.966,-57.6996],[3278.29,-101.614,29.9333,169.87,-56.4863],[3210.77,-2.12481,29.2167,165.584,-55.1373],[3137.87,99.6976,28.45,161.022,-53.6005],[3062.67,198.74,27.6667,156.4,-51.9223],[2981.9,298.481,26.8333,151.548,-50.007],[2893.8,399.589,25.9333,146.41,-47.7752],[2799.85,498.753,24.9833,141.139,-45.2193],[2694.89,599.179,23.9333,135.547,-42.1349],[2576.93,699.286,22.7667,129.706,-38.3621],[2438.74,799.799,21.4167,123.569,-33.5116],[2267.46,899.935,19.7667,117.231,-26.8529],[2015.61,999.6,17.3833,111.016,-15.9135],[1676.71,1047.92,14.25,109.578,-0.0573651]]], - [51,1077.37,[[4140.35,-2000.93,40.7833,230.313,-70.1461],[4103.7,-1900.48,40.3167,227.87,-69.7537],[4066.76,-1801.35,39.85,225.398,-69.3495],[4028.19,-1700.11,39.3667,222.809,-68.9178],[3989.3,-1600.34,38.8833,220.19,-68.4723],[3950.09,-1502.07,38.4,217.542,-68.0123],[3909.21,-1401.99,37.9,214.774,-67.5205],[3866.61,-1300.31,37.3833,211.882,-66.9944],[3823.65,-1200.41,36.8667,208.962,-66.4491],[3780.34,-1102.32,36.35,206.012,-65.8838],[3735.27,-1002.99,35.8167,202.94,-65.2778],[3688.4,-902.629,35.2667,199.743,-64.628],[3639.7,-801.467,34.7,196.421,-63.9304],[3590.58,-702.61,34.1333,193.073,-63.2026],[3538.13,-600.488,33.5333,189.504,-62.397],[3485.23,-501.029,32.9333,185.911,-61.5531],[3430.39,-401.621,32.3167,182.2,-60.6432],[3373.58,-302.54,31.6833,178.372,-59.6608],[3313.25,-201.593,31.0167,174.333,-58.5705],[3250.86,-101.739,30.3333,170.187,-57.3886],[3184.83,-1.00614,29.6167,165.843,-56.0739],[3115.09,99.9689,28.8667,161.314,-54.6089],[3043.14,198.421,28.1,156.714,-53.0092],[2964.18,299.886,27.2667,151.769,-51.1434],[2881.26,399.186,26.4,146.71,-49.0502],[2791.06,498.919,25.4667,141.392,-46.606],[2691.78,598.924,24.45,135.801,-43.6992],[2579.88,699.63,23.3167,129.888,-40.132],[2451.65,799.727,22.0333,123.716,-35.6434],[2296.41,899.589,20.5,117.282,-29.6205],[2083.82,999.564,18.4333,110.72,-20.3816],[1663.58,1077.37,14.45,107.224,-0.0703386]]], - [52,1106.59,[[4083.46,-2000.74,41.1,230.601,-70.6222],[4048.9,-1903.44,40.65,228.237,-70.2531],[4011.47,-1800.3,40.1667,225.668,-69.8448],[3975.05,-1702.09,39.7,223.159,-69.4383],[3937.02,-1601.81,39.2167,220.53,-69.004],[3898.68,-1503.02,38.7333,217.871,-68.5555],[3858.69,-1402.41,38.2333,215.09,-68.076],[3817.03,-1300.17,37.7167,212.185,-67.5629],[3776.38,-1202.92,37.2167,209.345,-67.0487],[3732.66,-1101.04,36.6833,206.284,-66.4797],[3688.58,-1001.11,36.15,203.193,-65.8887],[3642.74,-900.128,35.6,199.976,-65.2547],[3596.51,-801.28,35.05,196.73,-64.5943],[3548.49,-701.702,34.4833,193.359,-63.8849],[3498.64,-601.63,33.9,189.862,-63.1217],[3446.92,-501.315,33.3,186.241,-62.2997],[3393.31,-401.02,32.6833,182.497,-61.4132],[3337.77,-301.019,32.05,178.632,-60.4558],[3280.27,-201.598,31.4,174.652,-59.4201],[3219.29,-100.641,30.7167,170.459,-58.2689],[3156.26,-1.06202,30.0167,166.162,-57.0182],[3089.63,99.0266,29.2833,161.67,-55.6242],[3019.32,198.966,28.5167,156.997,-54.0676],[2945.28,298.051,27.7167,152.163,-52.3255],[2864.29,399.313,26.85,146.997,-50.2903],[2777.77,499.429,25.9333,141.645,-47.9546],[2684.01,598.718,24.95,136.075,-45.22],[2577.99,699.686,23.85,130.117,-41.8534],[2459.39,798.745,22.6333,123.964,-37.7179],[2316.26,899.204,21.1833,117.408,-32.1835],[2129.27,999.858,19.3167,110.593,-24.0649],[1767.29,1100,15.7833,104.517,-6.18274],[1647.26,1106.59,14.6333,104.86,-0.0161349]]], - [53,1135.54,[[4023.98,-2001.85,41.4167,230.919,-71.1038],[3988.94,-1900.53,40.95,228.459,-70.7305],[3953.62,-1800.53,40.4833,225.97,-70.346],[3918.02,-1701.87,40.0167,223.451,-69.9497],[3880.85,-1601.12,39.5333,220.812,-69.5263],[3843.37,-1501.86,39.05,218.142,-69.089],[3804.28,-1400.75,38.55,215.349,-68.6214],[3764.88,-1301.28,38.05,212.525,-68.1375],[3723.83,-1200.24,37.5333,209.575,-67.6195],[3682.44,-1100.98,37.0167,206.594,-67.0822],[3639.36,-1000.44,36.4833,203.486,-66.5063],[3595.92,-901.874,35.95,200.348,-65.9076],[3550.76,-802.317,35.4,197.082,-65.2647],[3503.84,-702.001,34.8333,193.688,-64.5739],[3455.13,-601.163,34.25,190.166,-63.8307],[3404.59,-500.051,33.65,186.516,-63.0301],[3353.63,-401.624,33.05,182.842,-62.1902],[3299.38,-300.683,32.4167,178.942,-61.2583],[3243.21,-200.289,31.7667,174.922,-60.2498],[3185.09,-100.742,31.1,170.786,-59.1566],[3123.53,-0.00020504,30.4,166.438,-57.9395],[3059.94,99.065,29.6833,161.989,-56.6138],[2992.78,198.257,28.9333,157.349,-55.1332],[2920.49,298.935,28.1333,152.433,-53.4391],[2844.47,398.096,27.3,147.368,-51.537],[2761.57,498.544,26.4,141.991,-49.31],[2671.63,598.628,25.4333,136.362,-46.6988],[2571.34,699.538,24.3667,130.385,-43.5275],[2458.83,799.607,23.1833,124.132,-39.6185],[2327.33,899.378,21.8167,117.554,-34.5482],[2161.52,999.443,20.1167,110.637,-27.3659],[1903.34,1099.91,17.5167,103.701,-14.6181],[1631.26,1135.54,14.8333,102.459,-0.0733241]]], - [54,1164.19,[[3960.71,-2000.67,41.7167,231.179,-71.5777],[3927.71,-1902.55,41.2667,228.801,-71.2271],[3893.21,-1802.1,40.8,226.304,-70.8527],[3858.44,-1702.98,40.3333,223.776,-70.4668],[3822.14,-1601.75,39.85,221.128,-70.0544],[3785.53,-1502,39.3667,218.447,-69.6286],[3747.36,-1400.39,38.8667,215.642,-69.1732],[3708.88,-1300.4,38.3667,212.805,-68.7018],[3670.08,-1202.07,37.8667,209.937,-68.2138],[3629.66,-1102.22,37.35,206.942,-67.6909],[3587.59,-1001.05,36.8167,203.818,-67.1304],[3545.18,-901.849,36.2833,200.662,-66.5476],[3501.08,-801.634,35.7333,197.376,-65.9218],[3455.26,-700.633,35.1667,193.96,-65.2492],[3409.06,-601.95,34.6,190.515,-64.5466],[3359.73,-500.024,34,186.837,-63.7677],[3309.97,-400.775,33.4,183.134,-62.9505],[3258.4,-301.598,32.7833,179.304,-62.0679],[3203.57,-200.211,32.1333,175.245,-61.0873],[3148.27,-102.107,31.4833,171.171,-60.0511],[3088.19,-0.181641,30.7833,166.773,-58.8684],[3027.57,97.8231,30.0833,162.372,-57.6104],[2962.05,198.412,29.3333,157.666,-56.1719],[2892.98,298.522,28.55,152.775,-54.5603],[2818.81,399.385,27.7167,147.617,-52.7119],[2739.44,499.86,26.8333,142.228,-50.5868],[2654.74,598.71,25.9,136.656,-48.1374],[2560.02,699.254,24.8667,130.683,-45.1554],[2453.45,799.986,23.7167,124.36,-41.4682],[2331.59,899.468,22.4167,117.751,-36.7868],[2181.25,999.663,20.8333,110.723,-30.2937],[1969.03,1099.95,18.6333,103.454,-19.8264],[1612.14,1164.19,15.0167,100.047,-0.0629682]]], - [55,1192.51,[[3894.92,-2000.84,42.0167,231.471,-72.0575],[3862.71,-1902.33,41.5667,229.085,-71.7161],[3829.04,-1801.46,41.1,226.58,-71.3515],[3795.09,-1701.92,40.6333,224.044,-70.9758],[3759.66,-1600.25,40.15,221.385,-70.5742],[3723.93,-1500.05,39.6667,218.694,-70.1595],[3687.92,-1401.35,39.1833,215.971,-69.731],[3650.36,-1300.84,38.6833,213.123,-69.2724],[3612.5,-1201.97,38.1833,210.242,-68.7975],[3573.06,-1101.57,37.6667,207.232,-68.2887],[3533.29,-1002.97,37.15,204.19,-67.7607],[3490.61,-900.038,36.6,200.918,-67.176],[3448.88,-802.239,36.0667,197.713,-66.5856],[3404.18,-700.538,35.5,194.276,-65.9315],[3359.1,-601.146,34.9333,190.807,-65.2481],[3312.31,-501.28,34.35,187.207,-64.5119],[3263.77,-401.191,33.75,183.475,-63.7178],[3213.47,-301.143,33.1333,179.612,-62.8599],[3161.36,-201.411,32.5,175.622,-61.9316],[3107.42,-102.285,31.85,171.508,-60.9252],[3050.22,-1.65518,31.1667,167.168,-59.804],[2989.7,99.8812,30.45,162.608,-58.5528],[2927.22,199.474,29.7167,157.945,-57.1855],[2861.3,298.868,28.95,153.086,-55.6534],[2790.44,399.351,28.1333,147.944,-53.8949],[2714.53,499.809,27.2667,142.551,-51.8717],[2633.46,599.035,26.35,136.949,-49.5375],[2544.14,698.918,25.35,131.003,-46.7387],[2443.34,799.978,24.2333,124.637,-43.2678],[2329.25,899.786,22.9833,117.969,-38.9032],[2192.19,999.674,21.5,110.887,-33.0058],[2009.42,1099.81,19.55,103.425,-24.0145],[1591.63,1192.51,15.2,97.611,-0.076007]]], - [56,1220.47,[[3826.57,-2002.45,42.3167,231.794,-72.5428],[3795.16,-1903.53,41.8667,229.401,-72.2108],[3762.32,-1802.22,41.4,226.888,-71.8563],[3729.22,-1702.25,40.9333,224.344,-71.4908],[3694.66,-1600.13,40.45,221.676,-71.1003],[3661.03,-1502.92,39.9833,219.069,-70.711],[3624.7,-1400.31,39.4833,216.242,-70.2801],[3589.3,-1302.65,39,213.477,-69.8491],[3552.39,-1203.25,38.5,210.584,-69.3876],[3513.93,-1102.27,37.9833,207.561,-68.8931],[3475.16,-1003.11,37.4667,204.504,-68.3798],[3434.81,-902.661,36.9333,201.315,-67.829],[3392.86,-801.151,36.3833,197.992,-67.2375],[3350.56,-701.778,35.8333,194.636,-66.6207],[3306.61,-601.663,35.2667,191.145,-65.9568],[3261,-501.044,34.6833,187.52,-65.2417],[3213.69,-400.173,34.0833,183.76,-64.47],[3165.98,-302.001,33.4833,179.973,-63.6593],[3115.19,-201.346,32.85,175.948,-62.7579],[3062.62,-101.262,32.2,171.795,-61.7805],[3008.23,-2.05146,31.5333,167.517,-60.7185],[2950.63,98.316,30.8333,163.012,-59.5331],[2889.75,199.221,30.1,158.29,-58.2071],[2826.94,297.861,29.35,153.469,-56.7538],[2757.91,399.95,28.5333,148.244,-55.0485],[2686.81,498.318,27.7,142.961,-53.1631],[2607.86,599.649,26.7833,137.236,-50.9012],[2523.79,698.587,25.8167,131.336,-48.2792],[2428.61,799.656,24.7333,124.956,-45.0183],[2322.03,899.315,23.5333,118.27,-40.9625],[2196.23,998.989,22.1333,111.153,-35.5778],[2033.83,1099.63,20.35,103.522,-27.6227],[1761.77,1199.74,17.4167,95.8716,-12.031],[1568.13,1220.46,15.3667,95.1628,-0.0164136]]], - [57,1248.02,[[3754.53,-2001.83,42.6,232.06,-73.0217],[3723.92,-1902.53,42.15,229.66,-72.6989],[3691.92,-1800.84,41.6833,227.14,-72.3541],[3659.66,-1700.47,41.2167,224.587,-71.9988],[3627.15,-1601.44,40.75,222.002,-71.6323],[3593.21,-1500.32,40.2667,219.292,-71.2404],[3558.99,-1400.68,39.7833,216.549,-70.8354],[3524.5,-1302.54,39.3,213.773,-70.4167],[3488.53,-1202.63,38.8,210.868,-69.9683],[3451.06,-1101.14,38.2833,207.831,-69.4878],[3413.29,-1001.44,37.7667,204.759,-68.989],[3373.98,-900.445,37.2333,201.553,-68.4536],[3334.34,-801.423,36.7,198.313,-67.8964],[3293.14,-701.405,36.15,194.938,-67.2973],[3250.33,-600.619,35.5833,191.426,-66.6527],[3207.17,-502.162,35.0167,187.881,-65.9783],[3161.09,-400.492,34.4167,184.095,-65.2296],[3114.62,-301.512,33.8167,180.279,-64.4427],[3066.47,-202.628,33.2,176.328,-63.5914],[3015.28,-101.568,32.55,172.137,-62.6435],[2962.32,-1.34458,31.8833,167.817,-61.6133],[2907.57,97.7268,31.2,163.373,-60.4911],[2848.3,199.867,30.4667,158.594,-59.2054],[2787.14,299.784,29.7167,153.708,-57.7954],[2722.68,399.162,28.9333,148.621,-56.2097],[2653.49,499.213,28.1,143.246,-54.3829],[2579.46,598.789,27.2167,137.616,-52.2721],[2499.07,698.327,26.2667,131.677,-49.7786],[2409.34,799.095,25.2167,125.305,-46.721],[2308.58,899.494,24.05,118.55,-42.9068],[2192.13,999.092,22.7167,111.398,-37.9459],[2046.2,1099.61,21.0667,103.686,-30.8291],[1832.07,1199.58,18.6833,95.646,-18.606],[1544.87,1248.02,15.55,92.6794,-0.0804769]]], - [58,1275.16,[[3679.98,-2002.7,42.8833,232.357,-73.5062],[3650.18,-1903.01,42.4333,229.951,-73.1928],[3619.03,-1800.92,41.9667,227.424,-72.858],[3587.63,-1700.14,41.5,224.863,-72.5129],[3555.98,-1600.7,41.0333,222.27,-72.157],[3524.07,-1502.63,40.5667,219.645,-71.7897],[3490.77,-1402.5,40.0833,216.892,-71.3968],[3456.03,-1300.5,39.5833,214.01,-70.9763],[3421.02,-1200.13,39.0833,211.092,-70.5407],[3385.72,-1101.42,38.5833,208.14,-70.0892],[3348.95,-1001.18,38.0667,205.055,-69.605],[3311.89,-902.761,37.55,201.935,-69.102],[3272.11,-800.023,37,198.576,-68.5445],[3233.22,-702.427,36.4667,195.285,-67.9809],[3191.57,-600.954,35.9,191.753,-67.3558],[3149.56,-501.803,35.3333,188.186,-66.7016],[3105.97,-402.199,34.75,184.481,-65.996],[3060.76,-302.393,34.15,180.637,-65.2335],[3013.91,-202.652,33.5333,176.655,-64.4083],[2964.1,-100.679,32.8833,172.429,-63.4894],[2913.86,-1.99685,32.2333,168.177,-62.5159],[2860.6,98.1444,31.55,163.687,-61.4285],[2804.26,199.145,30.8333,158.964,-60.2116],[2746.09,298.164,30.1,154.126,-58.8775],[2683.42,399.024,29.3167,148.966,-57.3432],[2617.48,498.692,28.5,143.612,-55.6108],[2546.86,598.25,27.6333,137.984,-53.6077],[2468.71,699.917,26.6833,131.912,-51.1944],[2384.25,799.939,25.6667,125.575,-48.3281],[2290.54,899.179,24.55,118.883,-44.7986],[2181.67,999.282,23.2667,111.667,-40.1857],[2048.6,1099.97,21.7167,103.877,-33.7262],[1867.18,1199.86,19.6333,95.6351,-23.4106],[1518.7,1275.16,15.7167,90.1834,-0.0710674]]], - [59,1301.84,[[3601.86,-2001.38,43.15,232.598,-73.9851],[3572.88,-1901.35,42.7,230.186,-73.6809],[3543.66,-1802.52,42.25,227.742,-73.3677],[3513.12,-1701.32,41.7833,225.174,-73.033],[3482.34,-1601.46,41.3167,222.573,-72.6878],[3451.31,-1502.96,40.85,219.94,-72.3316],[3418.92,-1402.38,40.3667,217.178,-71.9505],[3386.28,-1303.31,39.8833,214.382,-71.5564],[3352.23,-1202.41,39.3833,211.453,-71.1344],[3317.91,-1103.17,38.8833,208.49,-70.6969],[3282.16,-1002.37,38.3667,205.392,-70.2277],[3244.96,-900.229,37.8333,202.156,-69.7241],[3207.45,-800.049,37.3,198.883,-69.1998],[3169.63,-701.861,36.7667,195.574,-68.6535],[3130.33,-602.722,36.2167,192.127,-68.0655],[3089.49,-502.86,35.65,188.539,-67.4321],[3047.12,-402.517,35.0667,184.81,-66.7486],[3003.16,-301.943,34.4667,180.939,-66.0099],[2957.61,-201.405,33.85,176.927,-65.2102],[2910.43,-101.178,33.2167,172.776,-64.3429],[2861.61,-1.55371,32.5667,168.487,-63.4003],[2809.84,99.5881,31.8833,163.953,-62.3471],[2756.35,199.322,31.1833,159.29,-61.1961],[2699.83,299.537,30.45,154.394,-59.9045],[2640.21,399.567,29.6833,149.276,-58.4509],[2577.45,498.701,28.8833,143.952,-56.8095],[2508.84,599.962,28.0167,138.225,-54.8714],[2436.93,698.261,27.1167,132.352,-52.6621],[2356.27,799.165,26.1167,125.96,-49.9421],[2266.64,899.892,25.0167,119.159,-46.5849],[2165.09,999.837,23.7833,111.931,-42.3027],[2044.34,1099.49,22.3333,104.178,-36.4741],[1885.44,1199.64,20.45,95.7898,-27.4908],[1543.7,1299.94,16.4833,87.5215,-3.9364],[1491.21,1301.84,15.8833,87.6636,-0.089024]]], - [60,1328.03,[[3521.28,-2001.64,43.4167,232.872,-74.4701],[3493.11,-1901.24,42.9667,230.453,-74.1751],[3464.72,-1802.05,42.5167,228.003,-73.8715],[3435.05,-1700.47,42.05,225.428,-73.5471],[3405.14,-1600.23,41.5833,222.819,-73.2124],[3375,-1501.33,41.1167,220.176,-72.8671],[3343.52,-1400.35,40.6333,217.405,-72.4976],[3311.8,-1300.86,40.15,214.598,-72.1154],[3279.83,-1202.88,39.6667,211.756,-71.72],[3246.49,-1103.15,39.1667,208.781,-71.2962],[3211.76,-1001.84,38.65,205.67,-70.8417],[3176.75,-902.343,38.1333,202.522,-70.3693],[3140.32,-801.562,37.6,199.234,-69.8619],[3103.6,-702.767,37.0667,195.909,-69.3331],[3064.26,-600.005,36.5,192.338,-68.7464],[3025.76,-502.475,35.95,188.835,-68.1507],[2984.6,-401.446,35.3667,185.083,-67.4889],[2941.91,-300.161,34.7667,181.186,-66.7735],[2898.87,-201.583,34.1667,177.254,-66.0203],[2853.05,-100.509,33.5333,173.07,-65.181],[2805.64,-0.00576472,32.8833,168.745,-64.2686],[2756.6,99.6234,32.2167,164.28,-63.2744],[2705.9,198.063,31.5333,159.682,-62.1884],[2651.03,299.498,30.8,154.731,-60.9404],[2594.42,398.665,30.05,149.661,-59.5666],[2533.51,499.27,29.25,144.261,-57.981],[2469.49,598.303,28.4167,138.663,-56.1822],[2399.71,698.551,27.5167,132.677,-54.0504],[2322.75,799.998,26.5333,126.246,-51.4677],[2239.77,898.86,25.4833,119.566,-48.3772],[2143.97,999.693,24.2833,112.264,-44.3634],[2032.31,1099.59,22.9,104.463,-39.0058],[1890.67,1199.66,21.1667,96.0011,-31.045],[1663.7,1299.64,18.4333,87.0186,-15.5954],[1460.98,1328.03,16.0333,85.1296,-0.0272657]]], - [61,1353.7,[[3438.22,-2003.51,43.6833,233.179,-74.9607],[3410.89,-1902.74,43.2333,230.755,-74.6752],[3383.34,-1803.17,42.7833,228.298,-74.3813],[3354.55,-1701.2,42.3167,225.716,-74.0673],[3325.52,-1600.56,41.85,223.1,-73.7433],[3296.27,-1501.26,41.3833,220.45,-73.409],[3266.78,-1403.33,40.9167,217.765,-73.0638],[3236,-1303.36,40.4333,214.95,-72.6943],[3203.91,-1201.54,39.9333,212,-72.2985],[3171.55,-1101.35,39.4333,209.014,-71.8881],[3138.94,-1002.83,38.9333,205.99,-71.4624],[3104.97,-902.804,38.4167,202.829,-71.0055],[3069.62,-801.468,37.8833,199.526,-70.5146],[3033.99,-702.113,37.35,196.185,-70.003],[2996.94,-601.758,36.8,192.701,-69.4523],[2958.46,-500.63,36.2333,189.072,-68.8588],[2919.67,-401.841,35.6667,185.406,-68.2369],[2879.41,-302.623,35.0833,181.594,-67.5649],[2836.5,-200.51,34.4667,177.525,-66.8168],[2793.23,-101.291,33.85,173.422,-66.027],[2748.42,-2.44767,33.2167,169.173,-65.1687],[2700.86,98.2008,32.55,164.671,-64.2093],[2651.7,197.696,31.8667,160.028,-63.1609],[2599.71,297.992,31.15,155.138,-61.9839],[2544.82,398.446,30.4,150.008,-60.6584],[2486.99,498.367,29.6167,144.649,-59.1606],[2424.92,598.975,28.7833,138.965,-57.4252],[2358.54,699.119,27.9,132.985,-55.4061],[2286.47,799.239,26.95,126.639,-53.001],[2207.34,899.085,25.9167,119.891,-50.0711],[2118.4,998.936,24.7667,112.655,-46.3683],[2014.19,1099.61,23.4333,104.776,-41.401],[1886.34,1199.59,21.8167,96.2698,-34.2613],[1700.52,1299.9,19.5,87.0165,-21.6988],[1430.88,1353.69,16.2,82.5634,-0.105292]]], - [62,1378.82,[[3351.73,-2003.27,43.9333,233.429,-75.4466],[3325.23,-1902.17,43.4833,230.999,-75.1705],[3298.53,-1802.26,43.0333,228.536,-74.8861],[3271.61,-1703.56,42.5833,226.041,-74.5933],[3243.48,-1602.51,42.1167,223.418,-74.2803],[3215.12,-1502.8,41.65,220.76,-73.9572],[3185.52,-1400.96,41.1667,217.972,-73.6114],[3155.68,-1300.61,40.6833,215.146,-73.2538],[3125.6,-1201.76,40.2,212.285,-72.8837],[3094.24,-1101.11,39.7,209.287,-72.4871],[3062.64,-1002.13,39.2,206.252,-72.0755],[3029.71,-901.612,38.6833,203.077,-71.6337],[2996.52,-802.921,38.1667,199.864,-71.1742],[2961.99,-702.991,37.6333,196.508,-70.6801],[2926.09,-602.036,37.0833,193.007,-70.1482],[2888.8,-500.285,36.5167,189.359,-69.5748],[2851.21,-400.865,35.95,185.671,-68.9739],[2812.2,-300.992,35.3667,181.836,-68.3244],[2771.74,-200.92,34.7667,177.852,-67.6214],[2729.81,-100.916,34.15,173.719,-66.8588],[2686.4,-1.25875,33.5167,169.438,-66.03],[2641.48,97.7604,32.8667,165.011,-65.127],[2593.85,198.242,32.1833,160.326,-64.1154],[2543.48,299.585,31.4667,155.387,-62.9791],[2491.49,398.937,30.7333,150.314,-61.7283],[2436.68,498.034,29.9667,145.003,-60.3149],[2377.78,598.146,29.15,139.353,-58.6767],[2314.71,698.15,28.2833,133.387,-56.7698],[2246.18,798.555,27.35,127.029,-54.4963],[2170.82,899.187,26.3333,120.23,-51.7226],[2087.24,999.057,25.2167,112.988,-48.2634],[1990.2,1099.84,23.9333,105.089,-43.6663],[1874.24,1199.33,22.4167,96.5916,-37.2338],[1715.45,1299.47,20.3667,87.2288,-26.5846],[1398.13,1378.82,16.35,79.9822,-0.1029]]], - [63,1403.37,[[3261.87,-2000.95,44.1667,233.624,-75.9287],[3237.17,-1903.27,43.7333,231.279,-75.6718],[3211.32,-1803.01,43.2833,228.81,-75.3972],[3184.29,-1700.31,42.8167,226.215,-75.1038],[3158.02,-1602.53,42.3667,223.679,-74.812],[3130.57,-1502.44,41.9,221.014,-74.5],[3101.91,-1400.21,41.4167,218.216,-74.166],[3074.03,-1302.91,40.95,215.48,-73.8327],[3043.91,-1200.21,40.45,212.51,-73.463],[3014.56,-1102.49,39.9667,209.602,-73.0928],[2983.97,-1003.02,39.4667,206.556,-72.6956],[2952.1,-902.001,38.95,203.369,-72.2693],[2919.98,-802.804,38.4333,200.143,-71.8258],[2886.55,-702.345,37.9,196.772,-71.3488],[2851.8,-600.84,37.35,193.254,-70.8353],[2816.78,-501.492,36.8,189.696,-70.2983],[2780.39,-401.424,36.2333,185.988,-69.7188],[2742.64,-300.878,35.65,182.131,-69.0924],[2703.49,-200.107,35.05,178.122,-68.4141],[2664.01,-102.061,34.45,174.074,-67.6987],[2622.01,-1.56816,33.8167,169.762,-66.8999],[2578.54,98.3166,33.1667,165.3,-66.0294],[2532.46,199.718,32.4833,160.575,-65.0537],[2484.85,299.702,31.7833,155.704,-63.9838],[2435.71,397.927,31.0667,150.694,-62.8067],[2382.69,498.297,30.3,145.32,-61.446],[2325.71,599.781,29.4833,139.593,-59.8675],[2265.89,699.365,28.6333,133.652,-58.0653],[2200.79,799.747,27.7167,127.294,-55.9148],[2130.32,899.217,26.7333,120.573,-53.3338],[2051.95,998.809,25.65,113.353,-50.1099],[1961.83,1099.24,24.4167,105.478,-45.8709],[1854.74,1199.4,22.9667,96.9059,-39.9741],[1715.21,1299.37,21.1,87.4856,-30.6865],[1427.17,1399.88,17.3167,77.4404,-6.05556],[1362.85,1403.37,16.4833,77.3854,-0.0124509]]], - [64,1427.31,[[3169.67,-2000.32,44.4,233.852,-76.4171],[3145.79,-1902.34,43.9667,231.501,-76.1691],[3120.79,-1801.76,43.5167,229.027,-75.9041],[3095.59,-1702.38,43.0667,226.518,-75.6312],[3069.26,-1600.62,42.6,223.881,-75.3394],[3042.72,-1500.19,42.1333,221.208,-75.0382],[3015.96,-1401.12,41.6667,218.5,-74.7271],[2989,-1303.42,41.2,215.755,-74.4057],[2959.89,-1200.29,40.7,212.776,-74.0493],[2931.52,-1102.14,40.2167,209.858,-73.6923],[2901.94,-1002.24,39.7167,206.801,-73.3092],[2871.14,-900.763,39.2,203.602,-72.898],[2840.08,-801.104,38.6833,200.362,-72.4702],[2807.77,-700.163,38.15,196.976,-72.0101],[2775.2,-601.216,37.6167,193.549,-71.53],[2741.35,-501.296,37.0667,189.973,-71.0126],[2706.18,-400.632,36.5,186.247,-70.454],[2670.73,-302.322,35.9333,182.479,-69.8679],[2632.9,-200.833,35.3333,178.447,-69.2149],[2594.75,-102.061,34.7333,174.373,-68.526],[2554.16,-0.794608,34.1,170.031,-67.7567],[2512.15,99.8921,33.45,165.536,-66.9179],[2468.71,199.695,32.7833,160.887,-66.0013],[2423.82,298.296,32.1,156.09,-64.9967],[2375.23,399.887,31.3667,150.912,-63.8375],[2325.12,499.193,30.6167,145.596,-62.5558],[2271.21,599.922,29.8167,139.916,-61.0685],[2214.56,699.057,28.9833,134.006,-59.3705],[2152.84,799.385,28.0833,127.658,-57.3427],[2085.95,899.233,27.1167,120.917,-54.9069],[2011.45,999.754,26.05,113.629,-51.8586],[1928,1099.24,24.8667,105.825,-47.956],[1829.44,1199.23,23.4833,97.2588,-42.5675],[1704.52,1299.32,21.75,87.786,-34.3189],[1502.16,1399.93,18.9833,77.2593,-17.3107],[1327.66,1427.31,16.6333,74.7578,-0.0753652]]], - [65,1450.62,[[3075.13,-2001.45,44.6333,234.114,-76.9114],[3052.07,-1903.16,44.2,231.759,-76.6725],[3027.94,-1802.25,43.75,229.279,-76.4173],[3003.62,-1702.54,43.3,226.765,-76.1544],[2978.19,-1600.42,42.8333,224.122,-75.8733],[2953.49,-1503.22,42.3833,221.538,-75.5937],[2926.74,-1400.21,41.9,218.725,-75.2835],[2900.72,-1302.15,41.4333,215.973,-74.9738],[2873.55,-1202.06,40.95,213.084,-74.6421],[2845.22,-1100.11,40.45,210.056,-74.2864],[2817.62,-1003.12,39.9667,207.09,-73.9298],[2787.89,-901.176,39.45,203.88,-73.5341],[2757.92,-801.039,38.9333,200.627,-73.1222],[2727.71,-702.741,38.4167,197.334,-72.6934],[2695.3,-600.151,37.8667,193.785,-72.217],[2663.61,-502.719,37.3333,190.302,-71.7342],[2629.68,-401.443,36.7667,186.558,-71.1971],[2595.47,-302.513,36.2,182.77,-70.6333],[2558.96,-200.361,35.6,178.715,-70.0051],[2522.15,-100.92,35,174.616,-69.3423],[2484.01,-1.58446,34.3833,170.361,-68.6218],[2443.48,99.9262,33.7333,165.834,-67.8156],[2402.62,198.109,33.0833,161.267,-66.957],[2359.31,297.686,32.4,156.429,-65.9922],[2313.51,398.049,31.6833,151.322,-64.9048],[2265.18,498.551,30.9333,145.95,-63.6749],[2214.27,598.499,30.15,140.322,-62.2778],[2159.64,699.109,29.3167,134.332,-60.649],[2101.22,799.223,28.4333,128.004,-58.7396],[2037.84,899.275,27.4833,121.255,-56.4443],[1968.26,999.003,26.45,114.031,-53.6156],[1890.1,1098.67,25.3,106.221,-49.9872],[1798.57,1199.07,23.9667,97.6196,-45.0212],[1685.21,1299.51,22.3333,88.0902,-37.5943],[1519.96,1399.72,19.9833,77.4465,-23.8557],[1290.04,1450.62,16.7667,72.1146,-0.0493954]]], - [66,1473.27,[[2977.39,-2000.55,44.85,234.322,-77.4027],[2955.17,-1901.98,44.4167,231.961,-77.1729],[2931.9,-1800.77,43.9667,229.476,-76.9273],[2908.46,-1700.77,43.5167,226.956,-76.6743],[2884.83,-1601.97,43.0667,224.4,-76.4136],[2860.14,-1500.83,42.6,221.714,-76.1346],[2835.25,-1401.03,42.1333,218.991,-75.8466],[2810.17,-1302.6,41.6667,216.231,-75.5489],[2783.98,-1202.11,41.1833,213.334,-75.2299],[2757.6,-1103.14,40.7,210.398,-74.8995],[2730.08,-1002.37,40.2,207.321,-74.5451],[2702.36,-903.272,39.7,204.203,-74.177],[2673.48,-802.643,39.1833,200.94,-73.7815],[2643.43,-700.691,38.65,197.527,-73.356],[2613.14,-600.723,38.1167,194.071,-72.9119],[2582.61,-502.767,37.5833,190.573,-72.448],[2549.91,-400.929,37.0167,186.811,-71.9319],[2516.95,-301.431,36.45,183.004,-71.3901],[2482.75,-201.49,35.8667,179.04,-70.8035],[2447.29,-101.36,35.2667,174.918,-70.1672],[2410.55,-1.30974,34.65,170.637,-69.4754],[2372.51,98.3811,34.0167,166.196,-68.7216],[2332.14,199.914,33.35,161.477,-67.8762],[2291.43,297.902,32.6833,156.719,-66.9724],[2247.32,399.227,31.9667,151.566,-65.9286],[2201.8,498.539,31.2333,146.261,-64.7747],[2152.77,599.668,30.45,140.571,-63.4344],[2101.21,699.567,29.6333,134.627,-61.9033],[2046.02,799.311,28.7667,128.327,-60.108],[1986.07,899.398,27.8333,121.581,-57.9483],[1920.18,999.638,26.8167,114.325,-55.2835],[1847.13,1099.02,25.7,106.539,-51.9118],[1762.37,1199.17,24.4167,97.9598,-47.3435],[1658.92,1299.76,22.8667,88.4055,-40.6164],[1517.04,1399.88,20.7667,77.6936,-28.9319],[1251.28,1473.27,16.9,69.4482,-0.0592067]]], - [67,1495.23,[[2877.38,-2001.48,45.0667,234.564,-77.9001],[2855.99,-1902.61,44.6333,232.2,-77.6794],[2833.61,-1801.1,44.1833,229.709,-77.4436],[2811.06,-1700.78,43.7333,227.183,-77.2007],[2788.32,-1601.67,43.2833,224.622,-76.9503],[2764.57,-1500.2,42.8167,221.93,-76.6825],[2740.62,-1400.07,42.35,219.199,-76.4058],[2716.49,-1301.3,41.8833,216.431,-76.1199],[2691.29,-1200.47,41.4,213.526,-75.8136],[2665.91,-1101.14,40.9167,210.58,-75.4963],[2639.44,-1000.01,40.4167,207.492,-75.1558],[2612.76,-900.53,39.9167,204.363,-74.8022],[2585.87,-802.742,39.4167,201.194,-74.4347],[2556.96,-700.323,38.8833,197.768,-74.0264],[2528.74,-602.991,38.3667,194.408,-73.6139],[2498.46,-501.45,37.8167,190.785,-73.155],[2467.93,-402.077,37.2667,187.117,-72.6745],[2436.23,-301.994,36.7,183.292,-72.1551],[2403.34,-201.444,36.1167,179.309,-71.5927],[2369.23,-100.681,35.5167,175.164,-70.9824],[2334.85,-2.6577,34.9167,170.973,-70.3373],[2298.27,97.7961,34.2833,166.504,-69.6152],[2260.43,197.625,33.6333,161.872,-68.826],[2220.31,298.948,32.95,156.958,-67.9388],[2178.88,398.833,32.25,151.882,-66.962],[2135.11,499.165,31.5167,146.529,-65.8569],[2088.97,599.272,30.75,140.901,-64.601],[2040.42,698.438,29.95,135.01,-63.1668],[1987.38,799.673,29.0833,128.624,-61.45],[1930.79,899.631,28.1667,121.893,-59.4213],[1869.54,998.601,27.1833,114.739,-56.9599],[1800.41,1099.03,26.0833,106.882,-53.7907],[1721.1,1199.77,24.8333,98.2556,-49.5436],[1627.11,1299.53,23.3667,88.7773,-43.4778],[1502.87,1399.4,21.45,78.0615,-33.3543],[1211.39,1495.23,17.0333,66.7597,-0.109945]]], - [68,1516.48,[[2774.31,-2000.44,45.2667,234.752,-78.3952],[2753.77,-1901.31,44.8333,232.382,-78.1836],[2733.08,-1803.27,44.4,229.98,-77.966],[2711.42,-1702.63,43.95,227.449,-77.7333],[2689.59,-1603.2,43.5,224.883,-77.4935],[2666.78,-1501.38,43.0333,222.185,-77.2368],[2643.79,-1400.91,42.5667,219.448,-76.9718],[2620.61,-1301.8,42.1,216.673,-76.6979],[2596.43,-1200.6,41.6167,213.76,-76.4044],[2572.05,-1100.91,41.1333,210.806,-76.1004],[2547.48,-1002.74,40.65,207.813,-75.7852],[2521.87,-902.822,40.15,204.675,-75.4468],[2495.19,-801.34,39.6333,201.389,-75.0832],[2468.31,-701.683,39.1167,198.059,-74.7043],[2440.33,-600.755,38.5833,194.576,-74.2964],[2412.14,-501.83,38.05,191.049,-73.8702],[2382.84,-401.943,37.5,187.365,-73.4101],[2352.4,-301.325,36.9333,183.523,-72.9127],[2320.82,-200.22,36.35,179.519,-72.3741],[2288.99,-101.658,35.7667,175.468,-71.8062],[2255.07,-0.273879,35.15,171.137,-71.1714],[2220.88,98.1807,34.5333,166.758,-70.4982],[2184.55,198.737,33.8833,162.095,-69.7429],[2146.99,298.388,33.2167,157.266,-68.9148],[2107.22,399.167,32.5167,152.151,-67.9809],[2066.18,498.193,31.8,146.873,-66.9487],[2021.91,599.406,31.0333,141.191,-65.749],[1975.32,699.736,30.2333,135.234,-64.3778],[1926.39,798.423,29.4,129.016,-62.8016],[1873.09,898.229,28.5,122.309,-60.9032],[1814.34,999.109,27.5167,115.028,-58.5564],[1750.05,1098.75,26.45,107.241,-55.6265],[1676.04,1199.77,25.2333,98.601,-51.6904],[1590.03,1299.1,23.8333,89.1718,-46.1862],[1478.27,1399.8,22.0333,78.3545,-37.1621],[1286.2,1499.77,18.9833,65.9749,-15.8025],[1169.29,1516.48,17.15,64.054,-0.0611373]]], - [69,1536.98,[[2669.06,-2001.28,45.4667,234.976,-78.8965],[2649.38,-1901.88,45.0333,232.602,-78.6941],[2629.54,-1803.57,44.6,230.195,-78.4859],[2608.79,-1702.64,44.15,227.66,-78.2633],[2587.87,-1602.92,43.7,225.088,-78.0339],[2566.01,-1500.8,43.2333,222.384,-77.7885],[2543.97,-1400.01,42.7667,219.64,-77.535],[2521.77,-1300.59,42.3,216.858,-77.2729],[2499.39,-1202.54,41.8333,214.038,-77.002],[2476.03,-1102.47,41.35,211.077,-76.7115],[2451.68,-1000.55,40.85,207.972,-76.3997],[2427.14,-900.283,40.35,204.823,-76.0759],[2402.4,-801.697,39.85,201.632,-75.7393],[2376.64,-701.616,39.3333,198.291,-75.3772],[2349.84,-600.245,38.8,194.796,-74.9872],[2322.83,-500.873,38.2667,191.255,-74.5798],[2294.75,-400.522,37.7167,187.556,-74.1399],[2266.45,-302.361,37.1667,183.81,-73.6786],[2236.2,-200.68,36.5833,179.788,-73.1642],[2205.71,-101.538,36,175.717,-72.6217],[2174.1,-2.25234,35.4,171.481,-72.0322],[2140.46,99.5468,34.7667,166.958,-71.372],[2106.55,198.216,34.1333,162.386,-70.6692],[2070.57,298.645,33.4667,157.524,-69.8787],[2033.4,397.876,32.7833,152.494,-69.0091],[1994.09,497.853,32.0667,147.173,-68.0249],[1952.62,597.923,31.3167,141.563,-66.9062],[1908.02,699.449,30.5167,135.545,-65.5998],[1861.16,799.394,29.6833,129.254,-64.0968],[1811.07,898.762,28.8,122.581,-62.3201],[1755.79,999.635,27.8333,115.306,-60.1218],[1695.21,1099.74,26.7833,107.488,-57.3742],[1627.29,1199.24,25.6167,98.9873,-53.7851],[1546.97,1299.85,24.25,89.4459,-48.6814],[1447.02,1399.74,22.5667,78.711,-40.6795],[1293.72,1499.68,20.0167,66.2144,-23.9193],[1126.16,1536.98,17.2667,61.326,-0.0524554]]], - [70,1556.72,[[2560.91,-2000.19,45.65,235.146,-79.3961],[2542.09,-1900.55,45.2167,232.768,-79.2029],[2523.12,-1801.99,44.7833,230.356,-79.0041],[2503.28,-1700.81,44.3333,227.815,-78.7916],[2483.27,-1600.83,43.8833,225.237,-78.5725],[2463.12,-1502.07,43.4333,222.624,-78.3466],[2442.05,-1400.97,42.9667,219.874,-78.1047],[2420.82,-1301.22,42.5,217.086,-77.8548],[2399.43,-1202.85,42.0333,214.259,-77.5963],[2377.1,-1102.43,41.55,211.291,-77.3191],[2353.82,-1000.16,41.05,208.176,-77.0217],[2331.14,-902.856,40.5667,205.124,-76.7232],[2306.71,-800.578,40.05,201.817,-76.3915],[2282.08,-700.117,39.5333,198.465,-76.0459],[2257.26,-601.5,39.0167,195.067,-75.6857],[2231.44,-501.665,38.4833,191.513,-75.2972],[2204.6,-400.831,37.9333,187.8,-74.8779],[2177.56,-302.182,37.3833,184.039,-74.4381],[2149.47,-202.865,36.8167,180.116,-73.962],[2119.5,-100.311,36.2167,175.909,-73.4303],[2089.28,-0.478508,35.6167,171.65,-72.8679],[2057.98,99.2491,35,167.222,-72.2551],[2025.57,198.589,34.3667,162.623,-71.5855],[1991.19,299.732,33.7,157.73,-70.8322],[1955.66,399.701,33.0167,152.663,-70.0031],[1918.97,498.164,32.3167,147.425,-69.087],[1879.35,599.164,31.5667,141.767,-68.0215],[1837.62,699.61,30.7833,135.817,-66.8035],[1793.75,798.763,29.9667,129.584,-65.4027],[1745.91,899.513,29.0833,122.826,-63.7133],[1694.92,998.52,28.15,115.697,-61.697],[1637.99,1099.07,27.1167,107.86,-59.1326],[1574.06,1199.61,25.9667,99.2837,-55.7765],[1500.19,1299.8,24.65,89.7942,-51.1158],[1409.54,1399.75,23.05,79.0632,-43.9227],[1279.63,1499.74,20.7833,66.5191,-29.9085],[1082.01,1556.72,17.3833,58.5764,-0.0900558]]], - [71,1575.67,[[2450.66,-2001.03,45.8333,235.352,-79.9019],[2432.71,-1901.14,45.4,232.97,-79.7179],[2414.62,-1802.33,44.9667,230.554,-79.5287],[2395.7,-1700.88,44.5167,228.009,-79.3264],[2376.62,-1600.64,44.0667,225.426,-79.1178],[2357.4,-1501.61,43.6167,222.807,-78.9027],[2337.31,-1400.22,43.15,220.052,-78.6724],[2317.07,-1300.19,42.6833,217.257,-78.4344],[2296.66,-1201.52,42.2167,214.423,-78.1883],[2275.37,-1100.81,41.7333,211.446,-77.9243],[2253.91,-1001.6,41.25,208.428,-77.6507],[2231.54,-900.601,40.75,205.262,-77.3568],[2208.99,-801.271,40.25,202.052,-77.0512],[2185.51,-700.414,39.7333,198.689,-76.7225],[2161.84,-601.397,39.2167,195.28,-76.3798],[2137.22,-501.146,38.6833,191.714,-76.0102],[2112.41,-402.915,38.15,188.101,-75.6236],[2085.84,-300.792,37.5833,184.211,-75.1926],[2059.06,-201.019,37.0167,180.27,-74.7394],[2031.28,-100.804,36.4333,176.161,-74.2478],[2002.47,-0.403076,35.8333,171.882,-73.7131],[1972.63,99.9136,35.2167,167.431,-73.1304],[1941.74,199.865,34.5833,162.806,-72.4936],[1909.78,299.155,33.9333,158.006,-71.7955],[1875.92,399.887,33.25,152.906,-71.0078],[1840.95,499.14,32.55,147.629,-70.1372],[1804.02,598.781,31.8167,142.052,-69.1476],[1765.1,698.133,31.05,136.177,-68.0169],[1723.3,798.466,30.2333,129.88,-66.6887],[1678.57,898.644,29.3667,123.171,-65.1174],[1630,999.164,28.4333,115.943,-63.2058],[1576.63,1099.84,27.4167,108.104,-60.8127],[1517.5,1199.65,26.3,99.5995,-57.7255],[1449.83,1299.02,25.0333,90.2063,-53.4895],[1367.12,1399.3,23.5,79.4641,-46.9934],[1253.54,1499.88,21.4167,66.8444,-34.8914],[1035.9,1575.67,17.4833,55.8093,-0.0134566]]], - [72,1593.81,[[2337.67,-2000,46,235.505,-80.4068],[2321.26,-1903.72,45.5833,233.211,-80.2389],[2303.4,-1800.86,45.1333,230.698,-80.0523],[2286.07,-1702.92,44.7,228.243,-79.8673],[2267.93,-1602.39,44.25,225.656,-79.6694],[2249.65,-1503.08,43.8,223.033,-79.4653],[2230.55,-1401.4,43.3333,220.272,-79.2468],[2211.3,-1301.06,42.8667,217.472,-79.0209],[2191.9,-1202.1,42.4,214.632,-78.7873],[2171.65,-1101.06,41.9167,211.648,-78.5368],[2151.24,-1001.54,41.4333,208.622,-78.2771],[2129.97,-900.205,40.9333,205.448,-77.9982],[2108.53,-800.537,40.4333,202.229,-77.7081],[2086.92,-702.564,39.9333,198.965,-77.4064],[2064.42,-603.131,39.4167,195.546,-77.0814],[2041.02,-502.447,38.8833,191.969,-76.731],[2016.69,-400.727,38.3333,188.23,-76.3526],[1992.17,-301.185,37.7833,184.44,-75.9557],[1966.71,-200.937,37.2167,180.483,-75.5259],[1940.3,-100.229,36.6333,176.357,-75.0595],[1913.67,-2.08207,36.05,172.179,-74.5668],[1885.31,98.8454,35.4333,167.707,-74.0148],[1855.94,199.43,34.8,163.057,-73.4114],[1825.57,299.377,34.15,158.23,-72.7497],[1794.17,398.377,33.4833,153.223,-72.0219],[1760.93,498.446,32.7833,147.912,-71.1978],[1725.83,598.951,32.05,142.293,-70.2606],[1688.84,699.215,31.2833,136.367,-69.1893],[1649.93,798.518,30.4833,130.14,-67.957],[1607.42,899.87,29.6167,123.358,-66.4691],[1562.09,999.918,28.7,116.168,-64.6912],[1513.05,1098.94,27.7167,108.468,-62.5039],[1457.73,1199.38,26.6167,99.929,-59.6347],[1395.15,1298.81,25.3833,90.5483,-55.7457],[1319.18,1399.67,23.9,79.7631,-49.8258],[1219.15,1499.91,21.9667,67.1952,-39.2822],[989.762,1593.81,17.6,53.0174,-0.158977]]], - [73,1611.11,[[2222.7,-2000.97,46.1667,235.696,-80.9177],[2206.51,-1900.63,45.7333,233.307,-80.7523],[2190.21,-1801.36,45.3,230.882,-80.5822],[2173.78,-1703.19,44.8667,228.423,-80.4071],[2156.58,-1602.41,44.4167,225.832,-80.2198],[2139.25,-1502.85,43.9667,223.203,-80.0266],[2121.15,-1400.91,43.5,220.437,-79.8197],[2102.9,-1300.31,43.0333,217.631,-79.6059],[2084.5,-1201.08,42.5667,214.784,-79.3848],[2065.97,-1103.23,42.1,211.897,-79.156],[2046.63,-1003.38,41.6167,208.865,-78.9104],[2026.47,-901.692,41.1167,205.683,-78.6466],[2006.15,-801.672,40.6167,202.456,-78.3724],[1984.98,-700.095,40.1,199.074,-78.0773],[1963.66,-600.35,39.5833,195.644,-77.7695],[1942.16,-502.466,39.0667,192.167,-77.4483],[1919.1,-400.343,38.5167,188.415,-77.0903],[1895.86,-300.393,37.9667,184.612,-76.7149],[1872.45,-202.649,37.4167,180.758,-76.3205],[1847.41,-101.427,36.8333,176.616,-75.8798],[1822.18,-2.76259,36.25,172.42,-75.4143],[1795.3,98.7181,35.6333,167.927,-74.8926],[1767.48,199.876,35,163.255,-74.3222],[1739.43,297.882,34.3667,158.526,-73.7132],[1709.68,397.587,33.7,153.491,-73.026],[1678.19,498.403,33,148.146,-72.2478],[1644.93,599.699,32.2667,142.487,-71.3624],[1610.65,698.652,31.5167,136.645,-70.3729],[1573.78,798.948,30.7167,130.362,-69.2098],[1534.29,899.478,29.8667,123.643,-67.8329],[1492.13,999.042,28.9667,116.5,-66.1881],[1445.69,1099.61,27.9833,108.692,-64.1267],[1394.88,1198.86,26.9167,100.267,-61.5062],[1336.43,1299.37,25.7,90.8009,-57.8963],[1267.74,1399.09,24.2833,80.159,-52.5872],[1178.81,1499.26,22.4667,67.6361,-43.3322],[1016.05,1599.97,19.1833,52.0336,-16.3775],[940.948,1611.11,17.6833,50.2114,-0.00439551]]], - [74,1627.55,[[2105.17,-2000.07,46.3167,235.834,-81.4283],[2090.47,-1903.38,45.9,233.533,-81.2783],[2074.47,-1800.07,45.45,231.012,-81.1117],[2058.95,-1701.69,45.0167,228.548,-80.9464],[2042.7,-1600.7,44.5667,225.952,-80.7696],[2026.33,-1500.93,44.1167,223.318,-80.5873],[2009.84,-1402.38,43.6667,220.646,-80.3992],[1992.6,-1301.51,43.2,217.835,-80.1976],[1975.23,-1202,42.7333,214.983,-79.9891],[1957.1,-1100.39,42.25,211.986,-79.7656],[1938.83,-1000.29,41.7667,208.945,-79.5337],[1920.41,-901.727,41.2833,205.862,-79.2931],[1901.22,-801.396,40.7833,202.626,-79.0345],[1881.87,-702.752,40.2833,199.345,-78.7654],[1861.73,-602.621,39.7667,195.907,-78.4756],[1840.78,-501.207,39.2333,192.308,-78.163],[1819.66,-401.802,38.7,188.658,-77.8359],[1797.71,-301.427,38.15,184.842,-77.4822],[1774.92,-200.313,37.5833,180.857,-77.0991],[1751.96,-101.571,37.0167,176.818,-76.6955],[1728.13,-2.44197,36.4333,172.605,-76.2568],[1702.75,99.5346,35.8167,168.093,-75.7651],[1677.16,198.572,35.2,163.522,-75.242],[1649.98,299.731,34.55,158.645,-74.6532],[1621.88,399.988,33.8833,153.581,-74.0051],[1592.85,499.02,33.2,148.33,-73.289],[1562.16,598.764,32.4833,142.764,-72.4747],[1529.79,698.564,31.7333,136.879,-71.5438],[1494.99,799.77,30.9333,130.544,-70.4492],[1458.44,899.347,30.1,123.895,-69.1793],[1419.38,998.286,29.2167,116.808,-67.6626],[1376.29,1098.64,28.25,109.033,-65.7611],[1328.34,1199.63,27.1833,100.474,-63.301],[1274.69,1299.52,26,91.0789,-60.0051],[1211.42,1399.84,24.6167,80.3882,-55.144],[1132.16,1499.28,22.9,67.9771,-46.9683],[1003.77,1599.8,20.15,52.3756,-26.2681],[892.12,1627.55,17.7833,47.3818,-0.0898601]]], - [75,1643.12,[[1985.76,-2001.24,46.4667,236.01,-81.9448],[1971.38,-1900.49,46.0333,233.614,-81.7982],[1956.88,-1800.81,45.6,231.182,-81.6473],[1942.27,-1702.22,45.1667,228.715,-81.4921],[1926.99,-1601.01,44.7167,226.115,-81.326],[1911.59,-1501.01,44.2667,223.477,-81.1547],[1896.07,-1402.24,43.8167,220.8,-80.9779],[1879.85,-1301.12,43.35,217.983,-80.7885],[1863.5,-1201.37,42.8833,215.126,-80.5926],[1847.03,-1102.99,42.4167,212.227,-80.3899],[1829.85,-1002.59,41.9333,209.181,-80.1723],[1811.93,-900.326,41.4333,205.984,-79.9386],[1794.47,-803.051,40.95,202.849,-79.7038],[1775.66,-700.808,40.4333,199.45,-79.4426],[1756.71,-600.392,39.9167,196.001,-79.1701],[1737.62,-501.83,39.4,192.505,-78.8857],[1717.75,-402.063,38.8667,188.844,-78.5786],[1697.1,-301.31,38.3167,185.017,-78.2465],[1676.3,-202.755,37.7667,181.136,-77.8976],[1654.06,-100.666,37.1833,176.964,-77.5078],[1631.65,-1.12528,36.6,172.735,-77.0957],[1608.41,98.5608,36,168.326,-76.6467],[1584.35,198.121,35.3833,163.737,-76.156],[1558.78,299.837,34.7333,158.836,-75.6036],[1533.02,398.193,34.0833,153.874,-75.0112],[1505.72,497.914,33.4,148.595,-74.3402],[1476.86,598.388,32.6833,142.995,-73.5771],[1446.42,698.959,31.9333,137.07,-72.7043],[1414.37,798.926,31.15,130.82,-71.7],[1380,899.496,30.3167,124.113,-70.5105],[1343.28,999.497,29.4333,116.955,-69.0887],[1303.46,1099.35,28.4833,109.223,-67.3369],[1259.8,1198.76,27.45,100.812,-65.1081],[1210.08,1299.3,26.2833,91.3769,-62.0743],[1152.05,1399.93,24.9333,80.6762,-57.6473],[1080.48,1499.66,23.2833,68.2544,-50.3254],[973.1,1599.77,20.8333,52.7327,-33.3206],[841.663,1643.12,17.8667,44.535,-0.0415686]]], - [76,1657.78,[[1863.99,-2000.6,46.6,236.134,-82.4615],[1851.04,-1903.54,46.1833,233.828,-82.3296],[1837.47,-1803.63,45.75,231.394,-82.1886],[1823.26,-1701.04,45.3,228.828,-82.0378],[1809.47,-1603.37,44.8667,226.321,-81.8883],[1795.05,-1503.13,44.4167,223.679,-81.7281],[1779.98,-1400.47,43.95,220.899,-81.5567],[1765.33,-1302.75,43.5,218.178,-81.3859],[1750.02,-1202.74,43.0333,215.316,-81.2027],[1734.04,-1100.61,42.55,212.307,-81.0063],[1718.5,-1003.43,42.0833,209.36,-80.8098],[1701.72,-900.887,41.5833,206.156,-80.5913],[1684.8,-800,41.0833,202.906,-80.364],[1667.76,-700.797,40.5833,199.608,-80.1275],[1650.01,-600.08,40.0667,196.151,-79.8728],[1632.12,-501.215,39.55,192.645,-79.6067],[1613.52,-401.131,39.0167,188.974,-79.3195],[1594.18,-300.05,38.4667,185.135,-79.009],[1574.7,-201.163,37.9167,181.241,-78.6826],[1554.47,-101.611,37.35,177.175,-78.3285],[1533.48,-1.63766,36.7667,172.931,-77.9436],[1511.72,98.497,36.1667,168.506,-77.5241],[1489.19,198.523,35.55,163.897,-77.0656],[1465.87,298.155,34.9167,159.102,-76.563],[1441.12,399.59,34.25,153.988,-75.9954],[1415.56,499.841,33.5667,148.681,-75.368],[1389.17,598.575,32.8667,143.179,-74.6713],[1360.67,699.842,32.1167,137.216,-73.8562],[1331.31,798.455,31.35,131.056,-72.9386],[1299.14,899.933,30.5167,124.296,-71.8288],[1265.41,999.065,29.65,117.208,-70.5278],[1228.8,1098.41,28.7167,109.53,-68.925],[1187.93,1199.29,27.6833,101.007,-66.8491],[1142.74,1298.76,26.55,91.6897,-64.1062],[1089.79,1399.42,25.2333,81.0152,-60.0979],[1024.87,1499.85,23.6333,68.5413,-53.5156],[932.678,1599.78,21.3833,53.0861,-39.134],[790.429,1657.78,17.95,41.6689,-0.0577057]]], - [77,1671.52,[[1740.49,-2002.07,46.7333,236.298,-82.9838],[1727.93,-1900.95,46.3,233.896,-82.8562],[1715.28,-1800.9,45.8667,231.458,-82.7248],[1702.53,-1701.93,45.4333,228.984,-82.5896],[1689.19,-1600.32,44.9833,226.376,-82.445],[1676.25,-1503.62,44.55,223.828,-82.3015],[1662.21,-1400.74,44.0833,221.043,-82.1419],[1648.56,-1302.81,43.6333,218.318,-81.983],[1634.29,-1202.58,43.1667,215.451,-81.8126],[1619.41,-1100.23,42.6833,212.437,-81.6297],[1604.92,-1002.82,42.2167,209.484,-81.4469],[1589.29,-900.036,41.7167,206.274,-81.2435],[1574.05,-802.25,41.2333,203.125,-81.0392],[1558.18,-702.743,40.7333,199.821,-80.8193],[1541.64,-601.71,40.2167,196.357,-80.5825],[1524.98,-502.525,39.7,192.843,-80.3353],[1507.65,-402.108,39.1667,189.163,-80.0682],[1489.64,-300.68,38.6167,185.314,-79.7795],[1471.48,-201.442,38.0667,181.409,-79.476],[1452.64,-101.525,37.5,177.33,-79.1468],[1433.09,-1.17282,36.9167,173.072,-78.7888],[1412.82,99.3555,36.3167,168.631,-78.3986],[1391.83,199.789,35.7,164.004,-77.972],[1370.1,299.845,35.0667,159.188,-77.5043],[1347.63,399.225,34.4167,154.18,-76.9898],[1324.4,497.62,33.75,148.978,-76.4215],[1299.24,599.343,33.0333,143.316,-75.7592],[1273.28,699.02,32.3,137.451,-75.0189],[1245.94,798.383,31.5333,131.251,-74.1671],[1216.58,898.698,30.7167,124.578,-73.158],[1185.17,998.82,29.85,117.43,-71.9516],[1151.08,1099.24,28.9167,109.676,-70.464],[1113.64,1199.75,27.9,101.191,-68.5683],[1072.18,1299.33,26.7833,91.8737,-66.0619],[1024.14,1399.56,25.5,81.261,-62.4439],[966.243,1499.08,23.9667,68.9389,-56.6276],[885.568,1599.69,21.85,53.445,-44.2323],[738.43,1671.52,18.0333,38.7842,-0.152843]]], - [78,1684.33,[[1614.83,-2001.75,46.85,236.411,-83.5068],[1603.2,-1900.47,46.4167,234.006,-83.3887],[1591.49,-1800.26,45.9833,231.564,-83.2671],[1579.68,-1701.13,45.55,229.087,-83.1421],[1567.78,-1603.1,45.1167,226.573,-83.0132],[1555.33,-1502.48,44.6667,223.923,-82.8754],[1542.79,-1403.08,44.2167,221.234,-82.7331],[1529.68,-1301.32,43.75,218.404,-82.5806],[1516.47,-1200.9,43.2833,215.531,-82.4229],[1503.16,-1101.87,42.8167,212.616,-82.2596],[1489.27,-1000.77,42.3333,209.553,-82.0844],[1475.27,-901.186,41.85,206.443,-81.9025],[1461.16,-803.149,41.3667,203.289,-81.7136],[1445.97,-700.084,40.85,199.867,-81.5034],[1431.15,-602.074,40.35,196.507,-81.2914],[1415.72,-502.614,39.8333,192.985,-81.0628],[1399.67,-401.91,39.3,189.297,-80.8158],[1382.99,-300.182,38.75,185.437,-80.5488],[1366.18,-200.643,38.2,181.522,-80.2681],[1348.73,-100.411,37.6333,177.43,-79.9636],[1331.14,-2.57359,37.0667,173.281,-79.6421],[1312.37,98.3696,36.4667,168.827,-79.2817],[1292.94,199.234,35.85,164.184,-78.8877],[1272.82,299.736,35.2167,159.35,-78.4556],[1252.01,399.579,34.5667,154.321,-77.9801],[1230.51,498.453,33.9,149.095,-77.4548],[1207.75,598.366,33.2,143.538,-76.8573],[1183.73,698.682,32.4667,137.643,-76.174],[1158.41,798.719,31.7,131.406,-75.3874],[1131.23,899.758,30.8833,124.686,-74.4552],[1102.72,998.778,30.0333,117.622,-73.3627],[1071.73,1098.43,29.1167,109.938,-72.0158],[1037.65,1198.58,28.1167,101.503,-70.2995],[999.281,1299.69,27,92.0594,-67.992],[955.98,1399.24,25.75,81.538,-64.7492],[903.578,1499.41,24.25,69.1657,-59.5218],[833.077,1599.69,22.25,53.7684,-48.8111],[685.081,1684.33,18.1,35.883,-0.0863165]]], - [79,1696.18,[[1487.59,-2003.58,46.9667,236.564,-84.0351],[1476.9,-1902.13,46.5333,234.157,-83.9266],[1466.12,-1801.74,46.1,231.713,-83.815],[1455.26,-1702.44,45.6667,229.233,-83.7001],[1443.9,-1600.48,45.2167,226.619,-83.5772],[1432.88,-1503.44,44.7833,224.064,-83.4552],[1420.91,-1400.19,44.3167,221.271,-83.3196],[1409.29,-1301.9,43.8667,218.538,-83.1845],[1397.14,-1201.29,43.4,215.661,-83.0396],[1384.9,-1102.05,42.9333,212.741,-82.8897],[1372.13,-1000.75,42.45,209.673,-82.7287],[1359.25,-900.956,41.9667,206.558,-82.5617],[1346.28,-802.708,41.4833,203.398,-82.3881],[1332.76,-702.719,40.9833,200.081,-82.2014],[1318.68,-601.183,40.4667,196.602,-82.0002],[1304.49,-501.49,39.95,193.072,-81.7902],[1289.73,-400.544,39.4167,189.375,-81.5633],[1274.86,-301.623,38.8833,185.623,-81.3256],[1259.4,-201.763,38.3333,181.699,-81.068],[1243.35,-101.198,37.7667,177.597,-80.7886],[1226.71,-0.173251,37.1833,173.313,-80.4846],[1209.93,98.2791,36.6,168.969,-80.1628],[1192.06,199.517,35.9833,164.311,-79.8011],[1174.06,297.792,35.3667,159.588,-79.4151],[1154.93,398.123,34.7167,154.541,-78.9793],[1134.66,499.94,34.0333,149.163,-78.4853],[1114.24,597.95,33.35,143.713,-77.9499],[1092.15,698.832,32.6167,137.789,-77.3232],[1068.88,799.466,31.85,131.518,-76.6015],[1044.41,899.13,31.05,124.895,-75.7642],[1018.2,998.948,30.2,117.781,-74.7631],[989.712,1099.47,29.2833,110.034,-73.5279],[958.911,1198.97,28.3,101.658,-71.9805],[924.179,1299.88,27.2,92.2439,-69.8989],[884.919,1399.78,25.9667,81.6989,-66.9707],[838.381,1499.04,24.5167,69.4645,-62.3587],[776.326,1599.62,22.6,54.0797,-53.0388],[631.093,1696.18,18.1667,32.9642,-0.100328]]], - [80,1707.06,[[1358.42,-2003.66,47.0667,236.666,-84.5644],[1348.67,-1902.08,46.6333,234.256,-84.4655],[1338.85,-1801.55,46.2,231.81,-84.3639],[1328.94,-1702.11,45.7667,229.327,-84.2592],[1318.58,-1600,45.3167,226.71,-84.1472],[1308.53,-1502.81,44.8833,224.151,-84.036],[1298.01,-1403.08,44.4333,221.456,-83.9169],[1287.02,-1300.96,43.9667,218.618,-83.7893],[1275.94,-1200.19,43.5,215.737,-83.6573],[1264.78,-1100.8,43.0333,212.812,-83.5206],[1253.53,-1002.79,42.5667,209.845,-83.3791],[1241.79,-902.781,42.0833,206.726,-83.227],[1229.55,-800.939,41.5833,203.452,-83.0636],[1217.22,-700.771,41.0833,200.128,-82.8933],[1204.8,-602.301,40.5833,196.755,-82.716],[1191.86,-502.36,40.0667,193.219,-82.5247],[1178.4,-401.155,39.5333,189.514,-82.3182],[1164.84,-301.973,39,185.755,-82.1018],[1150.75,-201.84,38.45,181.822,-81.8673],[1136.12,-100.992,37.8833,177.71,-81.6128],[1121.38,-2.532,37.3167,173.538,-81.3442],[1105.65,99.0768,36.7167,169.058,-81.0429],[1089.8,197.926,36.1167,164.512,-80.7226],[1072.94,299.227,35.4833,159.647,-80.3618],[1055.5,399.897,34.8333,154.582,-79.9647],[1037.47,499.628,34.1667,149.314,-79.5258],[1018.85,598.094,33.4833,143.842,-79.0387],[998.718,699.471,32.75,137.891,-78.4683],[977.966,798.481,32,131.726,-77.8262],[955.658,898.808,31.2,125.067,-77.0653],[931.769,999.338,30.35,117.908,-76.155],[906.278,1098.86,29.45,110.246,-75.053],[878.206,1199.34,28.4667,101.796,-73.6473],[847.033,1299.9,27.3833,92.4249,-71.7854],[811.741,1399.97,26.1667,81.8769,-69.1642],[770.313,1499.07,24.75,69.6856,-65.0815],[715.752,1599.84,22.9,54.3152,-56.9569],[611.967,1699.96,19.4167,32.1518,-21.3467],[576.482,1707.05,18.2333,30.0289,-0.219966]]], - [81,1716.95,[[1227.5,-2002.01,47.15,236.717,-85.0951],[1218.7,-1900.31,46.7167,234.305,-85.0059],[1210.17,-1803.53,46.3,231.951,-84.9177],[1200.89,-1700.13,45.85,229.37,-84.8197],[1191.88,-1601.67,45.4167,226.846,-84.7224],[1182.46,-1500.6,44.9667,224.187,-84.6183],[1172.96,-1400.75,44.5167,221.487,-84.5108],[1163.39,-1302.14,44.0667,218.747,-84.3998],[1153.39,-1201.2,43.6,215.862,-84.2808],[1143.32,-1101.63,43.1333,212.935,-84.1576],[1133.17,-1003.45,42.6667,209.964,-84.0299],[1122.57,-903.249,42.1833,206.841,-83.8929],[1111.53,-801.215,41.6833,203.561,-83.7455],[1100.4,-700.852,41.1833,200.232,-83.592],[1089.18,-602.186,40.6833,196.854,-83.4321],[1077.51,-502.04,40.1667,193.311,-83.2597],[1065.36,-400.622,39.6333,189.599,-83.0734],[1053.12,-301.224,39.1,185.832,-82.8782],[1040.4,-200.868,38.55,181.89,-82.6667],[1027.59,-102.726,38,177.891,-82.4441],[1013.89,-1.09151,37.4167,173.586,-82.1949],[1000.09,97.9759,36.8333,169.219,-81.9308],[985.383,199.87,36.2167,164.535,-81.6341],[970.566,298.808,35.6,159.783,-81.3173],[954.827,399.843,34.95,154.702,-80.9596],[938.56,499.951,34.2833,149.417,-80.5641],[921.759,598.808,33.6,143.925,-80.1251],[904.003,698.344,32.8833,138.085,-79.623],[885.277,797.896,32.1333,131.893,-79.0453],[865.149,898.807,31.3333,125.201,-78.3603],[843.594,999.962,30.4833,118.001,-77.5404],[821.021,1098.36,29.6,110.431,-76.5669],[795.694,1199.73,28.6167,101.916,-75.3024],[768.004,1299.79,27.55,92.6002,-73.6536],[736.605,1399.86,26.35,82.0686,-71.3315],[699.677,1499.64,24.95,69.8129,-67.708],[652.246,1599.84,23.1667,54.5617,-60.6959],[570.808,1699.92,20.1333,32.5177,-33.967],[520.812,1716.95,18.2833,27.0786,-0.134757]]], - [82,1725.84,[[1095.29,-2002.55,47.2333,236.81,-85.6308],[1087.44,-1900.74,46.8,234.396,-85.5513],[1079.84,-1803.84,46.3833,232.04,-85.4728],[1071.57,-1700.31,45.9333,229.457,-85.3855],[1063.54,-1601.73,45.5,226.931,-85.2988],[1055.14,-1500.54,45.05,224.269,-85.206],[1046.67,-1400.56,44.6,221.566,-85.1103],[1038.14,-1301.81,44.15,218.823,-85.0114],[1029.23,-1200.74,43.6833,215.935,-84.9054],[1020.25,-1101.03,43.2167,213.004,-84.7957],[1011.2,-1002.71,42.75,210.029,-84.682],[1001.76,-902.366,42.2667,206.901,-84.5599],[991.911,-800.181,41.7667,203.617,-84.4286],[982.322,-702.988,41.2833,200.394,-84.2965],[971.994,-600.843,40.7667,196.898,-84.1494],[961.585,-500.536,40.25,193.349,-83.9957],[951.098,-402.094,39.7333,189.747,-83.8351],[940.19,-302.464,39.2,185.974,-83.6614],[928.854,-201.865,38.65,182.025,-83.4732],[917.086,-100.531,38.0833,177.896,-83.269],[905.227,-1.58081,37.5167,173.705,-83.0533],[892.926,97.7515,36.9333,169.328,-82.8183],[879.822,199.929,36.3167,164.633,-82.5541],[866.617,299.152,35.7,159.868,-82.2722],[852.951,397.934,35.0667,154.905,-81.9621],[838.457,498.446,34.4,149.605,-81.6106],[823.485,597.721,33.7167,144.095,-81.2204],[807.294,699.973,32.9833,138.099,-80.7632],[790.606,799.888,32.2333,131.88,-80.2482],[773.041,899.133,31.45,125.297,-79.651],[754.213,998.895,30.6167,118.202,-78.9365],[733.719,1099.8,29.7167,110.444,-78.0544],[711.919,1198.48,28.7667,102.161,-76.9687],[687.251,1299.56,27.7,92.768,-75.506],[659.667,1399.47,26.5167,82.2711,-73.4751],[627.165,1499.73,25.1333,69.9803,-70.3018],[586.106,1599.78,23.4,54.791,-64.2754],[519.586,1699.98,20.6167,32.8316,-43.0292],[464.651,1725.84,18.3333,24.1133,-0.158712]]], - [83,1733.72,[[961.581,-2001.38,47.3,236.854,-86.1681],[954.963,-1903.38,46.8833,234.531,-86.1012],[948.026,-1802.5,46.45,232.079,-86.0295],[941.037,-1702.69,46.0167,229.589,-85.9558],[933.724,-1600.2,45.5667,226.965,-85.8769],[926.627,-1502.64,45.1333,224.399,-85.7986],[919.202,-1402.52,44.6833,221.694,-85.7147],[911.72,-1303.64,44.2333,218.949,-85.6281],[903.902,-1202.41,43.7667,216.059,-85.5352],[896.024,-1102.55,43.3,213.126,-85.4391],[887.802,-1000.59,42.8167,210.041,-85.3359],[879.516,-900.138,42.3333,206.909,-85.2287],[871.167,-801.224,41.85,203.729,-85.1174],[862.465,-700.54,41.35,200.391,-84.9976],[853.696,-601.549,40.85,197.003,-84.8728],[844.566,-501.064,40.3333,193.449,-84.7381],[835.367,-402.443,39.8167,189.842,-84.5974],[825.798,-302.625,39.2833,186.063,-84.4451],[815.855,-201.832,38.7333,182.108,-84.2802],[805.532,-100.295,38.1667,177.971,-84.1012],[795.129,-1.14124,37.6,173.772,-83.9122],[784.339,98.4032,37.0167,169.386,-83.7062],[773.156,198.078,36.4167,164.808,-83.4811],[761.575,297.609,35.8,160.034,-83.2343],[749.273,399.277,35.15,154.927,-82.9555],[736.878,497.564,34.5,149.746,-82.6552],[723.426,599.574,33.8,144.085,-82.3049],[709.547,699.825,33.0833,138.205,-81.9133],[695.237,797.956,32.35,132.104,-81.4728],[679.506,899.794,31.55,125.355,-80.939],[663.324,998.056,30.7333,118.372,-80.3262],[645.352,1099.57,29.8333,110.574,-79.5546],[626.235,1198.92,28.8833,102.241,-78.6044],[604.941,1299.23,27.8333,92.9271,-77.345],[581.097,1398.83,26.6667,82.4822,-75.5969],[552.945,1499.38,25.3,70.1844,-72.8637],[517.643,1599.8,23.6,54.9799,-67.7177],[463.189,1699.66,21,33.2183,-50.7279],[408.018,1733.72,18.3833,21.1343,-0.339981]]], - [84,1740.57,[[826.788,-2002.45,47.3667,236.94,-86.7097],[820.873,-1900.45,46.9333,234.522,-86.6499],[815.142,-1803.37,46.5167,232.162,-86.5907],[809.137,-1703.46,46.0833,229.671,-86.5274],[802.854,-1600.87,45.6333,227.045,-86.4597],[796.756,-1503.21,45.2,224.477,-86.3924],[790.377,-1402.98,44.75,221.771,-86.3204],[783.71,-1300.35,44.2833,218.921,-86.2432],[777.232,-1202.65,43.8333,216.131,-86.1663],[770.463,-1102.67,43.3667,213.195,-86.0838],[763.399,-1000.59,42.8833,210.107,-85.9951],[756.28,-900.023,42.4,206.972,-85.9031],[749.107,-800.987,41.9167,203.789,-85.8075],[741.63,-700.175,41.4167,200.447,-85.7047],[734.096,-601.055,40.9167,197.054,-85.5975],[726.252,-500.436,40.4,193.496,-85.4818],[718.348,-401.68,39.8833,189.883,-85.361],[710.126,-301.721,39.35,186.099,-85.2302],[701.583,-200.782,38.8,182.137,-85.0886],[692.975,-102.05,38.25,178.116,-84.9395],[684.039,-2.67204,37.6833,173.912,-84.7773],[674.505,99.9182,37.0833,169.392,-84.5955],[664.896,199.758,36.4833,164.805,-84.402],[654.946,299.46,35.8667,160.02,-84.19],[644.648,398.74,35.2333,155.033,-83.9568],[633.726,499.779,34.5667,149.706,-83.6923],[622.445,599.6,33.8833,144.165,-83.3986],[610.801,697.865,33.1833,138.407,-83.0707],[598.229,798.599,32.4333,132.148,-82.6844],[584.998,898.709,31.65,125.518,-82.2362],[570.814,999.398,30.8167,118.364,-81.6997],[555.663,1099.49,29.9333,110.677,-81.0498],[539.243,1199.39,28.9833,102.3,-80.2349],[521.245,1298.8,27.95,93.0765,-79.1727],[500.767,1399.28,26.7833,82.5489,-77.6751],[476.884,1499.74,25.4333,70.2697,-75.3614],[447.166,1599.99,23.7667,55.1092,-71.0463],[402.516,1699.89,21.2833,33.4039,-57.295],[350.628,1740.57,18.4167,18.1425,-0.241574]]], - [85,1746.39,[[690.791,-2001.81,47.4167,236.976,-87.2528],[686.041,-1903.65,47,234.651,-87.2047],[681.064,-1802.6,46.5667,232.196,-87.1535],[676.049,-1702.63,46.1333,229.703,-87.1006],[670.996,-1603.74,45.7,227.172,-87.0461],[665.708,-1502.23,45.25,224.505,-86.9879],[660.38,-1401.93,44.8,221.796,-86.9278],[655.011,-1302.86,44.35,219.046,-86.8656],[649.401,-1201.44,43.8833,216.151,-86.7991],[643.748,-1101.39,43.4167,213.212,-86.7302],[638.052,-1002.73,42.95,210.228,-86.6587],[632.108,-902.021,42.4667,207.091,-86.582],[626.119,-802.849,41.9833,203.906,-86.5022],[619.876,-701.895,41.4833,200.562,-86.4165],[613.585,-602.632,40.9833,197.167,-86.327],[607.035,-501.863,40.4667,193.605,-86.2306],[600.435,-402.955,39.95,189.99,-86.1298],[593.57,-302.838,39.4167,186.202,-86.0208],[586.437,-201.734,38.8667,182.236,-85.9027],[579.249,-102.836,38.3167,178.21,-85.7783],[571.567,-0.392622,37.7333,173.875,-85.6389],[563.826,99.4912,37.15,169.474,-85.4913],[555.802,199.518,36.55,164.88,-85.3299],[547.493,299.414,35.9333,160.086,-85.1531],[538.895,398.895,35.3,155.09,-84.9584],[530.003,497.66,34.65,149.887,-84.7435],[520.584,597.795,33.9667,144.336,-84.4988],[510.63,698.683,33.25,138.427,-84.2189],[500.133,799.664,32.5,132.152,-83.8964],[489.321,897.952,31.7333,125.643,-83.5305],[477.478,999.04,30.9,118.467,-83.0834],[464.828,1099.56,30.0167,110.751,-82.5416],[451.119,1199.92,29.0667,102.338,-81.8619],[436.091,1299.84,28.0333,93.0647,-80.9754],[419.239,1399.54,26.8833,82.6181,-79.7438],[399.548,1499.73,25.55,70.3818,-77.841],[375.238,1599.58,23.9167,55.3173,-74.3312],[339.227,1699.84,21.5167,33.6296,-63.3946],[292.904,1746.39,18.45,15.1392,-0.317513]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 571.567; -_maxRange = 3282.2; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg1.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg1.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg2.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg2.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg3.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_illumBtab_LA_chg3.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg0.sqf deleted file mode 100644 index f1cc9fc804..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg0.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_wp_pd_chg0 -// Ammo: ace_arty_82mm_wp_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,122.653,[[1213.62,-2002.91,26.4167,192.344,-77.9004],[1191.36,-1900.52,25.8667,188.586,-77.5555],[1168.93,-1800.29,25.3167,184.775,-77.1937],[1146.32,-1702.26,24.7667,180.913,-76.8136],[1122.15,-1600.74,24.1833,176.761,-76.3889],[1097.79,-1501.77,23.6,172.555,-75.9401],[1072.55,-1402.68,23,168.173,-75.4512],[1045.69,-1301.11,22.3667,163.488,-74.9022],[1017.9,-1200.13,21.7167,158.62,-74.3001],[989.173,-1100.07,21.05,153.567,-73.6374],[959.496,-1001.23,20.3667,148.329,-72.9053],[928.127,-901.695,19.65,142.777,-72.0729],[895.037,-802.115,18.9,136.909,-71.1216],[859.456,-701.145,18.1,130.595,-70.0033],[822.091,-601.816,17.2667,123.969,-68.7063],[781.409,-501.346,16.3667,116.778,-67.127],[737.35,-401.424,15.4,109.039,-65.1824],[688.325,-300.916,14.3333,100.529,-62.6685],[632.695,-200.263,13.1333,91.0697,-59.2523],[567.994,-100.799,11.75,80.4827,-54.2865],[485.365,-0.789177,10,68.0246,-45.7767],[348.442,99.6637,7.13333,52.4873,-23.697],[244.687,122.652,4.98333,48.4532,-0.11457]]], - [46,126.913,[[1197.15,-2001.74,26.5167,192.333,-78.1129],[1175.94,-1902.34,25.9833,188.685,-77.7845],[1153.9,-1801.97,25.4333,184.871,-77.4294],[1131.01,-1700.86,24.8667,180.887,-77.0447],[1107.94,-1602.12,24.3,176.85,-76.6395],[1083.33,-1500.2,23.7,172.517,-76.1861],[1058.52,-1401.03,23.1,168.128,-75.7055],[1032.82,-1301.99,22.4833,163.56,-75.1804],[1005.52,-1200.84,21.8333,158.685,-74.5893],[977.304,-1100.59,21.1667,153.624,-73.9387],[948.149,-1001.56,20.4833,148.376,-73.22],[917.33,-901.822,19.7667,142.813,-72.4027],[884.821,-802.028,19.0167,136.932,-71.4685],[849.865,-700.827,18.2167,130.602,-70.37],[813.156,-601.255,17.3833,123.957,-69.0958],[773.188,-500.52,16.4833,116.742,-67.5436],[729.904,-400.313,15.5167,108.975,-65.6314],[682.495,-300.984,14.4667,100.558,-63.1998],[628.612,-201.102,13.2833,91.1749,-59.8958],[565.063,-100.792,11.9,80.5005,-55.0254],[484.682,-0.525895,10.1667,68.0012,-46.7476],[354.93,99.9309,7.4,52.425,-25.8462],[244.357,126.911,5.06667,47.5929,-0.088572]]], - [47,131.166,[[1180.14,-2000.86,26.6167,192.333,-78.3297],[1159.31,-1901.38,26.0833,188.681,-78.0072],[1137.66,-1800.93,25.5333,184.862,-77.6584],[1115.85,-1702.67,24.9833,180.991,-77.2921],[1092.54,-1600.91,24.4,176.83,-76.8827],[1069.04,-1501.7,23.8167,172.613,-76.4501],[1044.68,-1402.35,23.2167,168.219,-75.9787],[1018.77,-1300.5,22.5833,163.52,-75.4493],[992.65,-1201.8,21.95,158.762,-74.8839],[964.942,-1101.35,21.2833,153.693,-74.2458],[936.317,-1002.13,20.6,148.436,-73.5407],[906.059,-902.176,19.8833,142.862,-72.7389],[874.141,-802.157,19.1333,136.968,-71.8222],[839.82,-700.715,18.3333,130.622,-70.7442],[803.779,-600.89,17.5,123.959,-69.4933],[765.267,-501.684,16.6167,116.855,-67.9992],[722.775,-401.034,15.65,109.058,-66.1253],[676.235,-301.219,14.6,100.603,-63.7411],[623.338,-200.785,13.4167,91.1656,-60.4988],[561.707,-100.933,12.05,80.5361,-55.7774],[483.569,-0.409585,10.3333,67.9992,-47.7354],[360.848,99.8357,7.66667,52.4324,-28.0171],[243.809,131.165,5.15,46.7188,-0.0801113]]], - [48,135.409,[[1162.59,-2000.29,26.7167,192.344,-78.5508],[1142.15,-1900.73,26.1833,188.688,-78.2343],[1120.91,-1800.18,25.6333,184.865,-77.8921],[1099.5,-1701.84,25.0833,180.989,-77.5325],[1077.28,-1602.86,24.5167,176.942,-77.1425],[1053.56,-1500.67,23.9167,172.599,-76.7061],[1029.66,-1401.23,23.3167,168.199,-76.2434],[1004.9,-1301.91,22.7,163.617,-75.7378],[978.598,-1200.46,22.05,158.726,-75.1687],[952.089,-1102.38,21.4,153.775,-74.5584],[923.315,-1000.56,20.7,148.38,-73.8497],[893.621,-900.487,19.9833,142.794,-73.0622],[862.298,-800.339,19.2333,136.886,-72.1617],[829.322,-700.818,18.45,130.657,-71.1255],[793.959,-600.728,17.6167,123.976,-69.8987],[756.171,-501.239,16.7333,116.849,-68.4327],[714.479,-400.276,15.7667,109.023,-66.5934],[668.814,-300.119,14.7167,100.53,-64.2517],[617.647,-200.627,13.55,91.1729,-61.1134],[557.184,-100.112,12.1833,80.4627,-56.4777],[482.021,-0.450041,10.5,68.0202,-48.7392],[365.432,99.8047,7.91667,52.4332,-30.0496],[243.04,135.408,5.23333,45.8313,-0.0904206]]], - [49,139.636,[[1144.51,-2000.04,26.8167,192.367,-78.776],[1124.47,-1900.39,26.2833,188.707,-78.4657],[1104.27,-1802.77,25.75,184.996,-78.1406],[1082.64,-1701.31,25.1833,180.999,-77.7776],[1060.85,-1602.23,24.6167,176.947,-77.3952],[1038.24,-1502.74,24.0333,172.72,-76.9794],[1014.15,-1400.38,23.4167,168.191,-76.5134],[989.868,-1300.96,22.8,163.603,-76.0175],[964.737,-1201.95,22.1667,158.83,-75.474],[938.075,-1101.19,21.5,153.744,-74.8605],[910.531,-1001.62,20.8167,148.468,-74.1824],[881.416,-901.317,20.1,142.871,-73.411],[850.704,-800.924,19.35,136.951,-72.529],[818.37,-701.146,18.5667,130.706,-71.5139],[783.696,-600.779,17.7333,124.007,-70.3117],[746.644,-500.994,16.85,116.858,-68.8748],[706.471,-401.38,15.9,109.138,-67.1045],[661.702,-300.708,14.85,100.607,-64.8129],[611.537,-200.638,13.6833,91.1973,-61.7394],[552.985,-100.568,12.3333,80.5359,-57.2558],[480.036,-0.657659,10.6667,68.0652,-49.7583],[368.719,99.9057,8.15,52.4146,-31.9484],[242.049,139.635,5.31667,44.9305,-0.120935]]], - [50,143.842,[[1125.91,-2000.12,26.9167,192.401,-79.0053],[1106.26,-1900.37,26.3833,188.737,-78.7013],[1086.47,-1802.65,25.85,185.023,-78.3828],[1065.28,-1701.09,25.2833,181.021,-78.0272],[1043.92,-1601.9,24.7167,176.964,-77.6525],[1021.76,-1502.3,24.1333,172.732,-77.2451],[998.79,-1402.56,23.5333,168.32,-76.8012],[974.355,-1300.29,22.9,163.601,-76.3025],[949.726,-1201.16,22.2667,158.821,-75.7699],[923.598,-1100.26,21.6,153.725,-75.1685],[896.605,-1000.56,20.9167,148.439,-74.5037],[868.071,-900.112,20.2,142.831,-73.7475],[838.644,-801.753,19.4667,137.029,-72.9026],[806.963,-701.707,18.6833,130.771,-71.909],[772.988,-601.051,17.85,124.053,-70.7321],[736.683,-500.959,16.9667,116.882,-69.325],[697.321,-401.011,16.0167,109.134,-67.5907],[654.153,-301.492,14.9833,100.702,-65.3831],[605.006,-200.827,13.8167,91.2399,-62.3763],[547.642,-100.061,12.4667,80.4997,-57.9839],[476.89,-0.162181,10.8167,68.015,-50.7048],[371.473,99.7132,8.38333,52.452,-33.8672],[240.833,143.84,5.4,44.0168,-0.173209]]], - [51,148.022,[[1106.77,-2000.54,27.0167,192.447,-79.2386],[1087.54,-1900.68,26.4833,188.78,-78.9411],[1068.15,-1802.86,25.95,185.062,-78.6293],[1047.4,-1701.19,25.3833,181.056,-78.2812],[1026.48,-1601.88,24.8167,176.994,-77.9144],[1004.78,-1502.17,24.2333,172.756,-77.5156],[982.29,-1402.3,23.6333,168.339,-77.081],[958.993,-1302.55,23.0167,163.738,-76.606],[934.243,-1200.64,22.3667,158.825,-76.0711],[909.298,-1102.08,21.7167,153.849,-75.4975],[882.87,-1002.15,21.0333,148.555,-74.8477],[854.933,-901.452,20.3167,142.937,-74.1083],[825.464,-800.646,19.5667,136.991,-73.2626],[794.439,-700.432,18.7833,130.716,-72.289],[761.836,-601.555,17.9667,124.115,-71.1597],[726.29,-501.142,17.0833,116.922,-69.7831],[687.749,-400.846,16.1333,109.147,-68.0859],[645.483,-300.946,15.1,100.679,-65.9242],[598.052,-201.202,13.95,91.3014,-63.0237],[542.588,-100.87,12.6167,80.6145,-58.786],[474.032,-0.719599,10.9833,68.1103,-51.7539],[372.978,99.7266,8.6,52.4557,-35.6569],[238.673,148.022,5.46667,43.0924,-0.031601]]], - [52,152.171,[[1087.11,-2001.31,27.1167,192.506,-79.4758],[1068.29,-1901.34,26.5833,188.835,-79.1849],[1048.73,-1800.38,26.0333,184.996,-78.8701],[1029.01,-1701.62,25.4833,181.104,-78.5395],[1008.55,-1602.19,24.9167,177.038,-78.1807],[987.314,-1502.35,24.3333,172.795,-77.7907],[965.305,-1402.35,23.7333,168.371,-77.3656],[942.508,-1302.47,23.1167,163.764,-76.901],[918.29,-1200.42,22.4667,158.844,-76.3778],[893.881,-1101.72,21.8167,153.86,-75.8165],[868.02,-1001.63,21.1333,148.556,-75.1807],[840.683,-900.771,20.4167,142.926,-74.4572],[812.49,-801.988,19.6833,137.101,-73.6487],[782.136,-701.483,18.9,130.812,-72.6976],[749.585,-600.337,18.0667,124.059,-71.5705],[715.461,-501.554,17.2,116.98,-70.2491],[677.754,-400.896,16.25,109.178,-68.5898],[636.402,-300.599,15.2167,100.673,-66.4754],[589.998,-200.41,14.0667,91.2469,-63.6359],[536.415,-100.715,12.75,80.6195,-59.5399],[470.037,-0.568875,11.1333,68.1092,-52.7326],[373.968,99.4684,8.81667,52.5109,-37.4656],[237.018,152.17,5.55,42.1532,-0.127898]]], - [53,156.283,[[1066.93,-2002.43,27.2167,192.578,-79.7168],[1048.53,-1902.35,26.6833,188.904,-79.4326],[1029.4,-1801.27,26.1333,185.062,-79.1251],[1010.13,-1702.38,25.5833,181.165,-78.802],[990.114,-1602.83,25.0167,177.095,-78.4515],[968.759,-1500.04,24.4167,172.725,-78.0592],[947.835,-1402.72,23.8333,168.418,-77.655],[924.941,-1300.04,23.2,163.679,-77.1883],[901.867,-1200.49,22.5667,158.877,-76.6896],[878.001,-1101.64,21.9167,153.885,-76.1411],[852.716,-1001.39,21.2333,148.572,-75.5196],[825.988,-900.363,20.5167,142.932,-74.8123],[798.423,-801.403,19.7833,137.094,-74.0218],[768.745,-700.708,19,130.79,-73.0917],[737.559,-601.326,18.1833,124.155,-72.0124],[703.555,-500.362,17.3,116.918,-70.696],[667.338,-401.17,16.3667,109.226,-69.1022],[626.912,-300.46,15.3333,100.687,-67.0363],[582.208,-201.18,14.2,91.3482,-64.3043],[529.831,-100.746,12.8833,80.6462,-60.3065],[465.62,-0.600073,11.2833,68.1338,-53.7269],[373.76,99.481,9.01667,52.5197,-39.1517],[234.447,156.283,5.61667,41.2038,-0.0242625]]], - [54,160.355,[[1045.67,-2000.76,27.3,192.548,-79.9531],[1027.69,-1900.62,26.7667,188.87,-79.6752],[1009.57,-1802.51,26.2333,185.14,-79.3839],[990.164,-1700.53,25.6667,181.121,-79.0588],[970.61,-1600.91,25.1,177.045,-78.7161],[950.326,-1500.88,24.5167,172.791,-78.3435],[929.299,-1400.67,23.9167,168.355,-77.9373],[907.52,-1300.58,23.3,163.734,-77.4933],[884.979,-1200.88,22.6667,158.926,-77.0065],[861.665,-1101.86,22.0167,153.926,-76.4709],[836.964,-1001.45,21.3333,148.604,-75.8641],[810.852,-900.235,20.6167,142.953,-75.1734],[783.923,-801.088,19.8833,137.103,-74.4013],[754.931,-700.192,19.1,130.785,-73.4927],[724.464,-600.599,18.2833,124.132,-72.4381],[691.876,-501.251,17.4167,117.011,-71.1772],[656.499,-401.675,16.4833,109.293,-69.6227],[617.013,-300.537,15.45,100.719,-67.6067],[573.346,-200.782,14.3167,91.3333,-64.9386],[522.837,-100.971,13.0167,80.6953,-61.0852],[460.779,-0.821592,11.4333,68.1852,-54.736],[372.397,99.8147,9.2,52.4727,-40.7218],[232.348,160.353,5.7,40.2405,-0.171951]]], - [55,164.381,[[1024.46,-2002.63,27.4,192.645,-80.2015],[1006.91,-1902.36,26.8667,188.965,-79.9305],[988.669,-1801.08,26.3167,185.114,-79.6375],[970.287,-1702,25.7667,181.209,-79.3296],[951.202,-1602.24,25.2,177.13,-78.9954],[931.404,-1502.06,24.6167,172.871,-78.6321],[910.882,-1401.7,24.0167,168.431,-78.236],[889.625,-1301.45,23.4,163.804,-77.803],[867.624,-1201.58,22.7667,158.989,-77.3283],[844.868,-1102.4,22.1167,153.982,-76.806],[820.759,-1001.8,21.4333,148.652,-76.2141],[795.273,-900.399,20.7167,142.99,-75.5403],[768.99,-801.055,19.9833,137.128,-74.7871],[741.296,-702.043,19.2167,130.932,-73.9203],[710.955,-600.13,18.3833,124.127,-72.8712],[679.147,-500.543,17.5167,116.985,-71.6402],[644.618,-400.708,16.5833,109.241,-70.1218],[606.702,-300.84,15.5667,100.772,-68.1861],[564.087,-200.594,14.4333,91.3391,-65.5838],[514.794,-100.213,13.1333,80.632,-61.8207],[454.872,-0.303761,11.5667,68.1354,-55.6814],[370.568,99.9224,9.38333,52.4679,-42.315],[229.363,164.379,5.76667,39.2671,-0.113051]]], - [56,168.355,[[1002.21,-2001.71,27.4833,192.642,-80.4454],[985.089,-1901.37,26.95,188.957,-80.1811],[967.299,-1800.02,26.4,185.103,-79.8953],[949.371,-1700.86,25.85,181.193,-79.5949],[930.757,-1601.02,25.2833,177.108,-79.2689],[911.447,-1500.76,24.7,172.844,-78.9144],[891.431,-1400.32,24.1,168.397,-78.528],[871.261,-1302.66,23.5,163.89,-78.1173],[849.241,-1200.03,22.85,158.941,-77.6422],[827.047,-1100.75,22.2,153.926,-77.1324],[803.532,-1000.05,21.5167,148.585,-76.5547],[779.256,-900.862,20.8167,143.045,-75.9128],[753.626,-801.31,20.0833,137.171,-75.1788],[726.621,-702.08,19.3167,130.961,-74.3341],[697.628,-601.91,18.5,124.276,-73.333],[666.016,-500.087,17.6167,116.978,-72.111],[632.949,-401.698,16.7,109.347,-70.6582],[595.981,-301.378,15.6833,100.845,-68.7741],[554.431,-200.622,14.55,91.3665,-66.2395],[506.988,-100.846,13.2667,80.7281,-62.6233],[449.192,-0.924732,11.7167,68.2426,-56.719],[368.27,99.7932,9.56667,52.5074,-43.9282],[226.176,168.354,5.83333,38.2822,-0.0766285]]], - [57,172.274,[[979.47,-2001.19,27.5667,192.652,-80.693],[962.791,-1900.76,27.0333,188.964,-80.4355],[945.984,-1802.37,26.5,185.223,-80.1656],[927.988,-1700.09,25.9333,181.191,-79.8643],[909.851,-1600.17,25.3667,177.102,-79.5467],[891.576,-1502.65,24.8,172.955,-79.2114],[872.077,-1402.04,24.2,168.504,-78.8354],[851.88,-1301.53,23.5833,163.865,-78.4244],[830.976,-1201.39,22.95,159.036,-77.9736],[809.356,-1101.93,22.3,154.014,-77.4776],[786.449,-1001.03,21.6167,148.666,-76.9154],[762.8,-901.633,20.9167,143.116,-76.2908],[737.831,-801.863,20.1833,137.232,-75.5764],[710.949,-700.296,19.4,130.873,-74.7353],[683.279,-601.985,18.6,124.308,-73.7795],[653.066,-501.755,17.7333,117.128,-72.6134],[620.27,-401.22,16.8,109.334,-71.1742],[584.255,-300.584,15.7833,100.799,-69.3377],[544.376,-200.875,14.6667,91.4161,-66.9053],[498.163,-100.496,13.3833,80.7116,-63.3841],[442.474,-0.8017,11.85,68.2477,-57.695],[365.499,99.4161,9.75,52.5929,-45.5588],[222.788,172.274,5.9,37.2859,-0.0647017]]], - [58,176.133,[[956.254,-2001.06,27.65,192.676,-80.9443],[940.019,-1900.55,27.1167,188.985,-80.6937],[923.66,-1802.07,26.5833,185.24,-80.4311],[906.661,-1702.68,26.0333,181.324,-80.1467],[889.011,-1602.59,25.4667,177.231,-79.8381],[870.702,-1502.07,24.8833,172.958,-79.5024],[851.723,-1401.37,24.2833,168.501,-79.1364],[832.065,-1300.75,23.6667,163.856,-78.7363],[811.718,-1200.51,23.0333,159.021,-78.2975],[790.673,-1100.93,22.3833,153.99,-77.8146],[768.923,-1002.34,21.7167,148.764,-77.281],[745.358,-900.401,21,143.073,-76.6589],[721.055,-800.504,20.2667,137.176,-75.963],[695.448,-700.91,19.5,130.939,-75.1619],[667.957,-600.35,18.6833,124.221,-74.2121],[639.118,-501.835,17.8333,117.16,-73.0986],[607.2,-400.999,16.9,109.341,-71.6984],[572.152,-300.029,15.8833,100.775,-69.9108],[533.923,-201.362,14.7833,91.489,-67.5804],[488.955,-100.36,13.5,80.7195,-64.1572],[435.357,-0.885711,11.9833,68.2815,-58.6857],[361.656,99.4237,9.91667,52.6098,-47.0825],[219.198,176.132,5.96667,36.2786,-0.0797213]]], - [59,179.927,[[932.565,-2001.34,27.7333,192.714,-81.1991],[916.781,-1900.74,27.2,189.02,-80.9556],[900.875,-1802.17,26.6667,185.272,-80.7003],[884.347,-1702.68,26.1167,181.351,-80.4239],[867.187,-1602.49,25.55,177.255,-80.1239],[849.385,-1501.87,24.9667,172.977,-79.7976],[830.932,-1401.05,24.3667,168.515,-79.4419],[811.818,-1300.33,23.75,163.864,-79.0529],[792.557,-1202.57,23.1333,159.149,-78.6379],[771.574,-1100.27,22.4667,153.983,-78.1567],[750.426,-1001.56,21.8,148.748,-77.6378],[728.049,-901.81,21.1,143.18,-77.0474],[704.424,-801.674,20.3667,137.274,-76.372],[679.531,-701.827,19.6,131.024,-75.5943],[652.806,-600.994,18.7833,124.291,-74.6721],[624.219,-500.32,17.9167,117.072,-73.568],[593.743,-401.04,17,109.37,-72.2305],[560.232,-301.308,16,100.913,-70.5241],[522.508,-200.675,14.8833,91.4445,-68.2266],[479.363,-100.445,13.6167,80.7526,-64.9421],[427.265,-0.201453,12.1,68.2097,-59.6206],[356.787,99.8552,10.0667,52.551,-48.507],[215.406,179.925,6.03333,35.2605,-0.124191]]], - [60,183.65,[[908.408,-2002.03,27.8167,192.767,-81.4573],[893.079,-1901.34,27.2833,189.07,-81.221],[877.632,-1802.67,26.75,185.318,-80.9732],[861.092,-1700.09,26.1833,181.275,-80.6965],[844.915,-1602.78,25.6333,177.294,-80.4137],[827.627,-1502.04,25.05,173.012,-80.0969],[809.706,-1401.12,24.45,168.544,-79.7516],[791.144,-1300.27,23.8333,163.888,-79.374],[772.439,-1202.39,23.2167,159.167,-78.971],[752.572,-1102.48,22.5667,154.124,-78.5159],[731.523,-1001.11,21.8833,148.75,-77.9999],[709.791,-901.225,21.1833,143.173,-77.4265],[686.847,-800.94,20.45,137.255,-76.7704],[662.672,-700.936,19.6833,130.992,-76.0149],[637.25,-601.94,18.8833,124.382,-75.138],[609.492,-500.96,18.0167,117.145,-74.0675],[579.899,-401.354,17.1,109.42,-72.7701],[547.359,-301.263,16.1,100.933,-71.1143],[510.729,-200.226,14.9833,91.4233,-68.8833],[469.388,-100.762,13.7333,80.8118,-65.7378],[419.363,-0.71481,12.2333,68.3024,-60.6395],[352.068,99.3983,10.2333,52.6533,-50.0689],[211.411,183.648,6.1,34.2321,-0.20119]]], - [61,187.3,[[883.785,-2003.15,27.9,192.835,-81.7189],[868.917,-1902.35,27.3667,189.134,-81.4897],[853.464,-1800.52,26.8167,185.262,-81.2419],[837.891,-1700.88,26.2667,181.334,-80.9814],[821.723,-1600.55,25.7,177.227,-80.6987],[805.432,-1502.61,25.1333,173.063,-80.4002],[788.049,-1401.56,24.5333,168.591,-80.0654],[770.045,-1300.58,23.9167,163.929,-79.6993],[751.901,-1202.57,23.3,159.202,-79.3086],[732.135,-1100,22.6333,154.021,-78.8556],[712.214,-1001.01,21.9667,148.77,-78.3671],[691.135,-900.972,21.2667,143.183,-77.811],[668.88,-800.527,20.5333,137.255,-77.1747],[645.432,-700.355,19.7667,130.979,-76.4417],[620.773,-601.182,18.9667,124.354,-75.591],[593.848,-500.01,18.1,117.098,-74.5519],[565.145,-400.198,17.1833,109.35,-73.2922],[534.111,-301.481,16.2,100.976,-71.7127],[498.585,-200.021,15.0833,91.4261,-69.5501],[458.492,-100.08,13.8333,80.7564,-66.4976],[410.518,-0.457664,12.35,68.2891,-61.6045],[346.352,99.3756,10.3833,52.6775,-51.5334],[206.661,187.3,6.15,33.1944,-0.0318942]]], - [62,190.872,[[858.255,-2001.52,27.9667,192.802,-81.9768],[843.849,-1900.67,27.4333,189.098,-81.7547],[829.332,-1801.85,26.9,185.34,-81.5219],[814.247,-1702.09,26.35,181.408,-81.2698],[798.586,-1601.63,25.7833,177.299,-80.9961],[782.338,-1500.72,25.2,173.007,-80.6985],[765.966,-1402.39,24.6167,168.654,-80.3831],[748.526,-1301.27,24,163.987,-80.0288],[730.474,-1200.51,23.3667,159.126,-79.64],[711.803,-1100.41,22.7167,154.068,-79.2121],[692.505,-1001.26,22.05,148.809,-78.7391],[672.087,-901.061,21.35,143.213,-78.2007],[650.528,-800.446,20.6167,137.274,-77.5845],[627.814,-700.094,19.85,130.987,-76.8746],[603.927,-600.732,19.05,124.347,-76.0505],[578.349,-501.24,18.2,117.214,-75.0643],[550.548,-401.074,17.2833,109.444,-73.8465],[519.978,-300.366,16.2833,100.9,-72.2908],[486.081,-200.07,15.1833,91.4536,-70.2263],[447.767,-100.874,13.95,80.8698,-67.3145],[401.305,-0.422614,12.4667,68.3061,-62.5838],[339.691,99.8199,10.5167,52.6174,-52.9084],[202.278,190.87,6.21667,32.1457,-0.175278]]], - [63,194.36,[[832.3,-2000.32,28.0333,192.784,-82.2381],[818.799,-1902.54,27.5167,189.193,-82.03],[804.316,-1800.54,26.9667,185.315,-81.7979],[789.721,-1700.72,26.4167,181.379,-81.5539],[774.568,-1600.21,25.85,177.264,-81.289],[759.299,-1502.08,25.2833,173.091,-81.0094],[743.007,-1400.83,24.6833,168.609,-80.6957],[726.59,-1302.35,24.0833,164.063,-80.3622],[709.128,-1201.44,23.45,159.197,-79.9865],[691.067,-1101.18,22.8,154.132,-79.5729],[672.4,-1001.87,22.1333,148.866,-79.1157],[652.648,-901.5,21.4333,143.263,-78.5952],[631.794,-800.703,20.7,137.314,-77.9995],[609.821,-700.159,19.9333,131.015,-77.3132],[586.714,-600.595,19.1333,124.361,-76.5162],[561.971,-500.888,18.2833,117.211,-75.5624],[535.078,-400.486,17.3667,109.42,-74.384],[506.001,-301.129,16.3833,100.99,-72.9053],[473.214,-200.38,15.2833,91.5067,-70.9115],[436.156,-100.671,14.05,80.8684,-68.0967],[391.724,-0.618155,12.5833,68.3544,-63.5762],[333.157,99.3319,10.6667,52.7261,-54.4092],[197.174,194.36,6.26667,31.0883,-0.0610569]]], - [64,197.762,[[806.345,-2002.76,28.1167,192.897,-82.5091],[792.883,-1901.73,27.5833,189.188,-82.3018],[779.317,-1802.72,27.05,185.424,-82.0844],[765.22,-1702.78,26.5,181.486,-81.849],[750.584,-1602.12,25.9333,177.369,-81.5936],[735.4,-1501.01,25.35,173.069,-81.3156],[720.1,-1402.46,24.7667,168.707,-81.0211],[703.802,-1301.13,24.15,164.029,-80.6901],[686.932,-1200.14,23.5167,159.157,-80.327],[669.933,-1102.33,22.8833,154.216,-79.9378],[651.45,-1000.41,22.2,148.811,-79.4852],[632.824,-902.298,21.5167,143.332,-78.9945],[612.681,-801.308,20.7833,137.374,-78.4196],[591.457,-700.561,20.0167,131.064,-77.7572],[569.138,-600.782,19.2167,124.397,-76.988],[545.238,-500.844,18.3667,117.23,-76.067],[519.262,-400.193,17.45,109.418,-74.929],[491.176,-300.566,16.4667,100.962,-73.5003],[459.989,-200.96,15.3833,91.5862,-71.6049],[424.199,-100.717,14.15,80.8949,-68.8897],[381.286,-0.0229057,12.6833,68.2935,-64.5216],[325.711,99.3188,10.8,52.7487,-55.8225],[192.403,197.759,6.33333,30.0207,-0.286039]]], - [65,201.072,[[779.546,-2002.46,28.1833,192.911,-82.7768],[766.561,-1901.36,27.65,189.198,-82.5768],[753.476,-1802.29,27.1167,185.431,-82.3672],[739.879,-1702.27,26.5667,181.489,-82.1401],[725.762,-1601.54,26,177.368,-81.8937],[711.117,-1500.34,25.4167,173.064,-81.6256],[696.36,-1401.72,24.8333,168.697,-81.3415],[680.639,-1300.31,24.2167,164.014,-81.0222],[664.797,-1201.85,23.6,159.264,-80.6814],[647.971,-1101.33,22.95,154.187,-80.2964],[630.581,-1001.76,22.2833,148.907,-79.8707],[612.179,-901.11,21.5833,143.286,-79.3861],[592.75,-800.017,20.85,137.318,-78.8312],[572.726,-701.302,20.1,131.134,-78.2064],[551.202,-601.297,19.3,124.454,-77.4652],[528.155,-501.115,18.45,117.272,-76.5778],[503.104,-400.198,17.5333,109.44,-75.481],[476.018,-300.285,16.55,100.958,-74.1034],[445.943,-200.36,15.4667,91.5474,-72.2747],[411.896,-101.018,14.25,80.9501,-69.6926],[370.989,-0.694746,12.8,68.4065,-65.5387],[317.404,99.8102,10.9167,52.68,-57.1564],[199.966,199.986,6.83333,29.2689,-8.9087],[186.947,201.07,6.38333,28.9447,-0.241161]]], - [66,204.287,[[752.34,-2002.62,28.25,192.94,-83.0474],[739.837,-1901.44,27.7167,189.225,-82.855],[727.238,-1802.29,27.1833,185.455,-82.6532],[714.146,-1702.19,26.6333,181.51,-82.4346],[700.554,-1601.38,26.0667,177.385,-82.1974],[686.453,-1500.1,25.4833,173.076,-81.9393],[672.243,-1401.39,24.9,168.705,-81.6658],[657.517,-1302.59,24.3,164.144,-81.3669],[641.853,-1201.34,23.6667,159.261,-81.0302],[625.651,-1100.72,23.0167,154.178,-80.6594],[608.906,-1001.05,22.35,148.89,-80.2495],[591.188,-900.288,21.65,143.261,-79.7827],[572.908,-801.332,20.9333,137.42,-79.261],[553.201,-700.249,20.1667,131.088,-78.6462],[532.476,-600.118,19.3667,124.394,-77.932],[510.721,-501.709,18.5333,117.337,-77.0945],[486.604,-400.512,17.6167,109.486,-76.0395],[460.529,-300.295,16.6333,100.98,-74.7142],[431.575,-200.033,15.55,91.5351,-72.9538],[398.797,-100.309,14.3333,80.8891,-70.4658],[359.87,-0.57421,12.9,68.4099,-66.5105],[309.205,99.3289,11.05,52.7868,-58.6044],[206.838,199.99,7.35,29.254,-18.1094],[181.326,204.285,6.43333,27.8599,-0.231653]]], - [67,207.403,[[724.362,-2000.05,28.3,192.87,-83.3153],[712.72,-1901.98,27.7833,189.268,-83.1361],[700.612,-1802.75,27.25,185.495,-82.9423],[688.03,-1702.56,26.7,181.547,-82.7323],[674.966,-1601.66,26.1333,177.419,-82.5044],[661.414,-1500.29,25.55,173.106,-82.2564],[647.758,-1401.49,24.9667,168.731,-81.9936],[633.605,-1302.58,24.3667,164.166,-81.7065],[618.55,-1201.23,23.7333,159.278,-81.383],[602.98,-1100.5,23.0833,154.188,-81.0267],[586.886,-1000.72,22.4167,148.894,-80.6328],[570.265,-902.193,21.7333,143.392,-80.1953],[552.289,-800.76,21,137.406,-79.6826],[533.762,-701.693,20.25,131.202,-79.1052],[513.848,-601.309,19.45,124.497,-78.42],[492.523,-500.723,18.6,117.284,-77.5993],[469.769,-401.141,17.7,109.557,-76.6042],[444.712,-300.604,16.7167,101.027,-75.3321],[417.319,-201.452,15.65,91.6963,-73.6703],[385.825,-101.137,14.4333,81.0034,-71.2874],[348.422,-0.699095,13,68.4464,-67.4946],[300.181,99.3577,11.1667,52.801,-59.975],[208.064,199.9,7.7,29.2868,-24.2709],[175.539,207.401,6.48333,26.7666,-0.262118]]], - [68,210.416,[[696.384,-2001.14,28.3667,192.931,-83.5918],[685.218,-1902.99,27.85,189.327,-83.42],[673.24,-1800.59,27.3,185.433,-83.2282],[661.169,-1700.38,26.75,181.481,-83.0267],[649.007,-1602.39,26.2,177.471,-82.8145],[636.009,-1500.91,25.6167,173.155,-82.5768],[622.911,-1402,25.0333,168.776,-82.3249],[608.958,-1300.28,24.4167,164.079,-82.0418],[594.897,-1201.52,23.8,159.313,-81.7395],[579.963,-1100.68,23.15,154.218,-81.3979],[564.527,-1000.77,22.4833,148.917,-81.0202],[548.585,-902.125,21.8,143.408,-80.6007],[531.344,-800.555,21.0667,137.414,-80.1091],[513.574,-701.347,20.3167,131.199,-79.5552],[494.473,-600.812,19.5167,124.482,-78.898],[474.02,-500.063,18.6667,117.254,-78.1106],[452.195,-400.309,17.7667,109.509,-77.1555],[428.571,-301.216,16.8,101.101,-75.9564],[401.888,-200.224,15.7167,91.5926,-74.3372],[372.098,-100.956,14.5167,81.0014,-72.0805],[336.228,-0.0137354,13.0833,68.3709,-68.4394],[290.386,99.9219,11.2667,52.7179,-61.2766],[206.748,199.777,7.98333,29.3376,-29.2822],[169.588,210.413,6.53333,25.6651,-0.338001]]], - [69,213.322,[[668.021,-2002.71,28.4333,193.009,-83.8709],[656.989,-1901.33,27.9,189.286,-83.7012],[645.872,-1801.97,27.3667,185.507,-83.5233],[634.32,-1701.66,26.8167,181.553,-83.3306],[622.326,-1600.62,26.25,177.418,-83.1213],[610.241,-1501.98,25.6833,173.222,-82.9003],[597.346,-1400.17,25.0833,168.713,-82.6523],[584.352,-1301.12,24.4833,164.138,-82.3887],[570.896,-1202.24,23.8667,159.369,-82.0995],[556.604,-1101.27,23.2167,154.268,-81.7729],[541.831,-1001.23,22.55,148.962,-81.4117],[526.2,-900.082,21.85,143.311,-81.0002],[510.073,-800.726,21.1333,137.443,-80.5401],[493.067,-701.365,20.3833,131.22,-80.0103],[474.787,-600.665,19.5833,124.491,-79.3815],[455.598,-501.659,18.75,117.392,-78.6436],[434.714,-401.584,17.85,109.631,-77.7317],[411.717,-300.502,16.8667,101.055,-76.5653],[386.575,-200.756,15.8,91.6638,-75.04],[358.067,-101.048,14.6,81.0299,-72.8831],[324.143,-0.643846,13.1833,68.4755,-69.4461],[280.685,99.4764,11.3833,52.8167,-62.6806],[203.517,199.792,8.21667,29.3457,-33.4839],[163.065,213.322,6.56667,24.5558,-0.0846173]]], - [70,216.119,[[638.953,-2001.57,28.4833,192.988,-84.1475],[628.419,-1900.15,27.95,189.262,-83.9854],[617.803,-1800.75,27.4167,185.48,-83.8154],[606.772,-1700.39,26.8667,181.522,-83.6313],[595.657,-1602.25,26.3167,177.505,-83.4374],[583.778,-1500.62,25.7333,173.182,-83.2203],[571.808,-1401.56,25.15,168.795,-82.9902],[559.402,-1302.39,24.55,164.217,-82.7387],[546.207,-1200.74,23.9167,159.314,-82.4552],[532.91,-1102.27,23.2833,154.339,-82.1513],[518.806,-1002.09,22.6167,149.028,-81.8068],[503.883,-900.79,21.9167,143.37,-81.4143],[488.486,-801.277,21.2,137.495,-80.9754],[472.249,-701.752,20.45,131.263,-80.4698],[454.796,-600.874,19.65,124.524,-79.8698],[436.476,-501.68,18.8167,117.411,-79.1657],[416.536,-401.402,17.9167,109.634,-78.2952],[394.58,-300.097,16.9333,101.037,-77.1814],[370.576,-200.106,15.8667,91.6162,-75.7242],[343.358,-100.121,14.6667,80.9408,-73.6616],[311.352,-0.46323,13.2667,68.4679,-70.4152],[270.25,99.5708,11.4833,52.8172,-64.0174],[198.926,199.914,8.41667,29.3207,-37.1923],[156.807,216.117,6.61667,23.4387,-0.25426]]], - [71,218.801,[[609.55,-2000.92,28.5333,192.983,-84.4267],[599.831,-1902.59,28.0167,189.372,-84.2773],[589.406,-1800,27.4667,185.47,-84.1105],[579.219,-1702.61,26.9333,181.629,-83.9405],[568.314,-1601.4,26.3667,177.489,-83.7504],[557.325,-1502.59,25.8,173.286,-83.5496],[545.6,-1400.6,25.2,168.771,-83.3244],[533.784,-1301.37,24.6,164.188,-83.0847],[521.549,-1202.31,23.9833,159.409,-82.8221],[508.553,-1101.14,23.3333,154.299,-82.5251],[495.12,-1000.89,22.6667,148.98,-82.1968],[481.247,-901.895,21.9833,143.451,-81.8319],[466.585,-802.215,21.2667,137.57,-81.4145],[450.779,-700.35,20.5,131.19,-80.9224],[434.505,-601.443,19.7167,124.58,-80.3628],[416.709,-500.123,18.8667,117.312,-79.6786],[398.072,-401.552,17.9833,109.663,-78.8645],[377.164,-300.006,17,101.045,-77.8042],[354.665,-201.239,15.95,91.7455,-76.4404],[328.75,-100.77,14.75,81.0314,-74.4815],[298.276,-0.541711,13.35,68.495,-71.3953],[259.507,99.4237,11.5833,52.8607,-65.3696],[193.454,199.965,8.6,29.3201,-40.6868],[150.017,218.8,6.65,22.3144,-0.0716146]]], - [72,221.367,[[579.818,-2000.76,28.5833,192.996,-84.7086],[570.589,-1902.38,28.0667,189.382,-84.5666],[560.99,-1802.81,27.5333,185.597,-84.4132],[551.015,-1702.28,26.9833,181.634,-84.2469],[540.658,-1601.02,26.4167,177.49,-84.0663],[530.223,-1502.14,25.85,173.285,-83.8757],[519.088,-1400.09,25.25,168.765,-83.6618],[507.868,-1300.8,24.65,164.178,-83.4342],[496.248,-1201.67,24.0333,159.395,-83.1846],[483.907,-1100.43,23.3833,154.279,-82.9026],[471.15,-1000.11,22.7167,148.955,-82.5907],[457.976,-901.035,22.0333,143.419,-82.2441],[444.053,-801.275,21.3167,137.53,-81.8475],[429.37,-701.488,20.5667,131.28,-81.3905],[413.588,-600.33,19.7667,124.52,-80.848],[397.021,-500.842,18.9333,117.382,-80.2111],[378.99,-400.244,18.0333,109.573,-79.4234],[359.474,-300.237,17.0667,101.081,-78.4332],[338.111,-201.191,16.0167,91.7563,-77.1389],[313.505,-100.402,14.8167,81.0047,-75.2785],[284.915,-0.885917,13.4333,68.5579,-72.3851],[248.108,99.8384,11.6667,52.8016,-66.6641],[187.508,199.658,8.78333,29.4372,-44.2044],[143.457,221.364,6.7,21.1831,-0.365026]]], - [73,223.813,[[549.767,-2001.1,28.6333,193.025,-84.9928],[541.03,-1902.66,28.1167,189.41,-84.8585],[531.944,-1803.03,27.5833,185.622,-84.7133],[522.502,-1702.43,27.0333,181.658,-84.5559],[512.699,-1601.1,26.4667,177.511,-84.385],[502.821,-1502.16,25.9,173.303,-84.2046],[492.281,-1400.04,25.3,168.78,-84.0021],[481.66,-1300.67,24.7,164.189,-83.7867],[470.661,-1201.46,24.0833,159.402,-83.5506],[458.979,-1100.14,23.4333,154.281,-83.2836],[447.207,-1002.2,22.7833,149.085,-82.996],[434.433,-900.579,22.0833,143.408,-82.6603],[421.254,-800.728,21.3667,137.512,-82.2848],[407.356,-700.845,20.6167,131.254,-81.8521],[392.729,-601.637,19.8333,124.626,-81.3496],[377.05,-501.921,19,117.478,-80.7478],[359.985,-401.072,18.1,109.655,-80.0034],[341.513,-300.794,17.1333,101.146,-79.0675],[321.294,-201.451,16.0833,91.797,-77.8439],[298.006,-100.319,14.8833,81.0098,-76.0841],[270.947,-0.405447,13.5,68.5065,-73.3439],[236.772,99.1969,11.7667,52.9329,-68.0422],[180.423,199.714,8.93333,29.4355,-47.2872],[136.406,223.811,6.73333,20.045,-0.281332]]], - [74,226.135,[[519.404,-2001.94,28.6833,193.072,-85.2791],[510.897,-1900.29,28.15,189.338,-85.1484],[502.325,-1800.65,27.6167,185.547,-85.0113],[493.418,-1700.05,27.0667,181.578,-84.8627],[484.443,-1601.67,26.5167,177.551,-84.7063],[475.126,-1502.65,25.95,173.34,-84.5362],[465.185,-1400.44,25.35,168.814,-84.3453],[455.168,-1300.99,24.75,164.22,-84.1422],[444.794,-1201.7,24.1333,159.429,-83.9195],[433.776,-1100.28,23.4833,154.304,-83.6679],[422.673,-1002.26,22.8333,149.103,-83.3967],[410.625,-900.531,22.1333,143.421,-83.0801],[398.194,-800.578,21.4167,137.518,-82.726],[385.086,-700.587,20.6667,131.252,-82.3178],[371.29,-601.265,19.8833,124.614,-81.8438],[356.502,-501.427,19.05,117.455,-81.2761],[340.407,-400.446,18.15,109.618,-80.5736],[322.985,-300.024,17.1833,101.091,-79.6902],[303.915,-200.524,16.1333,91.7184,-78.5345],[282.257,-100.528,14.95,81.0475,-76.8972],[256.739,-0.190526,13.5667,68.4907,-74.3137],[224.509,99.9472,11.8333,52.8115,-69.3021],[172.626,199.853,9.06667,29.4054,-50.1921],[129.235,226.134,6.76667,18.9006,-0.248201]]], - [75,228.332,[[488.494,-2000.09,28.7167,193.021,-85.5639],[480.752,-1901.57,28.2,189.401,-85.4449],[472.7,-1801.86,27.6667,185.609,-85.3161],[464.333,-1701.18,27.1167,181.639,-85.1767],[455.902,-1602.71,26.5667,177.609,-85.0298],[446.892,-1500.73,25.9833,173.271,-84.8653],[437.812,-1401.31,25.4,168.868,-84.6909],[428.402,-1301.77,24.8,164.271,-84.5003],[418.658,-1202.38,24.1833,159.477,-84.2913],[408.307,-1100.87,23.5333,154.348,-84.0549],[397.609,-1000.27,22.8667,149.009,-83.7936],[386.56,-900.902,22.1833,143.456,-83.5031],[374.883,-800.833,21.4667,137.548,-83.1706],[362.57,-700.722,20.7167,131.274,-82.7874],[349.611,-601.272,19.9333,124.629,-82.3423],[335.719,-501.297,19.1,117.459,-81.809],[320.599,-400.167,18.2,109.609,-81.1491],[304.517,-301.248,17.25,101.213,-80.3345],[286.605,-201.413,16.2,91.8199,-79.2515],[266.263,-101.036,15.0167,81.1185,-77.7168],[242.295,-0.247418,13.6333,68.5114,-75.2932],[212.314,99.6277,11.9167,52.8827,-70.6398],[164.47,199.724,9.2,29.4634,-53.1278],[121.948,228.331,6.8,17.7502,-0.275885]]], - [76,230.4,[[457.555,-2001.96,28.7667,193.103,-85.8544],[450.082,-1900.21,28.2333,189.365,-85.7395],[442.552,-1800.48,27.7,185.569,-85.6191],[434.964,-1702.79,27.1667,181.718,-85.4926],[426.841,-1601.28,26.6,177.564,-85.3512],[418.656,-1502.16,26.0333,173.348,-85.2018],[410.167,-1402.65,25.45,168.942,-85.0388],[401.123,-1300.28,24.8333,164.215,-84.8557],[392.009,-1200.87,24.2167,159.416,-84.66],[382.578,-1101.89,23.5833,154.415,-84.4447],[372.575,-1001.17,22.9167,149.072,-84.2006],[362.243,-901.69,22.2333,143.515,-83.9292],[351.325,-801.496,21.5167,137.601,-83.6185],[339.811,-701.251,20.7667,131.322,-83.2604],[327.693,-601.662,19.9833,124.668,-82.8445],[314.703,-501.535,19.15,117.489,-82.3462],[300.566,-400.241,18.25,109.627,-81.7294],[285.527,-301.147,17.3,101.217,-80.9678],[268.779,-201.118,16.25,91.8024,-79.955],[249.757,-100.519,15.0667,81.0712,-78.5188],[227.616,-0.580806,13.7,68.5692,-76.2806],[199.585,99.8911,11.9833,52.8475,-71.9312],[155.678,199.726,9.31667,29.4774,-55.8978],[114.545,230.399,6.83333,16.5941,-0.377425]]], - [77,232.337,[[426.12,-2001.14,28.8,193.086,-86.1433],[419.385,-1902.51,28.2833,189.464,-86.0398],[412.381,-1802.69,27.75,185.668,-85.9279],[405.102,-1701.89,27.2,181.695,-85.8067],[397.545,-1600.35,26.6333,177.538,-85.675],[389.93,-1501.19,26.0667,173.319,-85.5359],[382.032,-1401.65,25.4833,168.91,-85.3843],[373.846,-1301.98,24.8833,164.308,-85.2186],[365.369,-1202.45,24.2667,159.507,-85.0368],[356.365,-1100.79,23.6167,154.371,-84.8313],[347.059,-1000.04,22.95,149.023,-84.604],[337.447,-900.522,22.2667,143.46,-84.3514],[327.289,-800.289,21.55,137.54,-84.0621],[316.578,-700.004,20.8,131.253,-83.7287],[305.305,-600.373,20.0167,124.591,-83.3413],[293.22,-500.202,19.1833,117.402,-82.877],[280.312,-400.673,18.3,109.674,-82.3137],[266.324,-301.386,17.35,101.249,-81.6059],[250.745,-201.143,16.3,91.816,-80.6642],[233.051,-100.301,15.1167,81.0571,-79.3283],[212.456,-0.0801311,13.75,68.5114,-77.2443],[186.637,99.9056,12.05,52.8564,-73.2359],[146.311,199.893,9.41667,29.436,-58.5224],[107.029,232.334,6.86667,15.4328,-0.569743]]], - [78,234.141,[[394.447,-2000.84,28.8333,193.088,-86.4342],[388.219,-1902.17,28.3167,189.464,-86.3385],[381.742,-1802.32,27.7833,185.666,-86.235],[375.012,-1701.48,27.2333,181.69,-86.1228],[368.23,-1602.86,26.6833,177.655,-86.0048],[360.983,-1500.71,26.1,173.31,-85.8725],[353.679,-1401.13,25.5167,168.898,-85.7323],[346.11,-1301.41,24.9167,164.293,-85.5791],[338.271,-1201.85,24.3,159.489,-85.4109],[329.945,-1100.14,23.65,154.349,-85.2208],[321.556,-1001.82,23,149.131,-85.016],[312.669,-902.16,22.3167,143.565,-84.7828],[303.278,-801.778,21.6,137.641,-84.5158],[293.375,-701.335,20.85,131.35,-84.208],[282.953,-601.537,20.0667,124.682,-83.8503],[271.78,-501.187,19.2333,117.486,-83.4217],[259.846,-401.465,18.35,109.748,-82.9016],[246.685,-300.297,17.3833,101.162,-82.2356],[232.509,-201.493,16.35,91.8611,-81.3784],[216.15,-100.385,15.1667,81.0769,-80.1442],[197.342,-0.975716,13.8167,68.6447,-78.2452],[173.472,99.6672,12.1167,52.9101,-74.5509],[136.665,199.824,9.51667,29.4717,-61.1767],[99.1644,234.14,6.88333,14.2657,-0.219272]]], - [79,235.808,[[362.545,-2001.06,28.8667,193.108,-86.7267],[356.827,-1902.36,28.35,189.482,-86.639],[350.881,-1802.46,27.8167,185.683,-86.5439],[344.701,-1701.58,27.2667,181.706,-86.441],[338.475,-1602.91,26.7167,177.668,-86.3326],[331.82,-1500.71,26.1333,173.321,-86.2112],[325.115,-1401.08,25.55,168.908,-86.0824],[318.165,-1301.32,24.95,164.3,-85.9417],[310.968,-1201.7,24.3333,159.493,-85.7874],[303.521,-1102.51,23.7,154.482,-85.6176],[295.621,-1001.57,23.0333,149.128,-85.4248],[287.462,-901.846,22.35,143.558,-85.2107],[278.84,-801.403,21.6333,137.629,-84.9655],[269.748,-700.895,20.8833,131.332,-84.6828],[260.178,-601.029,20.1,124.657,-84.3543],[249.92,-500.605,19.2667,117.452,-83.9606],[238.963,-400.805,18.3833,109.704,-83.4828],[227.089,-301.226,17.4333,101.255,-82.8821],[213.865,-200.655,16.3833,91.7869,-82.0826],[199.058,-100.778,15.2167,81.1312,-80.9653],[181.791,-1.0374,13.8667,68.6624,-79.2237],[160.094,99.1693,12.1833,53.0097,-75.8732],[126.524,199.953,9.6,29.441,-63.7044],[91.4475,235.806,6.91667,13.0948,-0.611441]]], - [80,237.338,[[330.427,-2001.82,28.9,193.145,-87.0209],[325.222,-1903.06,28.3833,189.519,-86.9408],[319.638,-1800.02,27.8333,185.599,-86.8518],[314.182,-1702.18,27.3,181.74,-86.7608],[308.341,-1600.51,26.7333,177.578,-86.6592],[302.455,-1501.21,26.1667,173.353,-86.5517],[296.35,-1401.52,25.5833,168.937,-86.4345],[290.023,-1301.7,24.9833,164.328,-86.3065],[283.471,-1202.02,24.3667,159.518,-86.166],[276.512,-1100.2,23.7167,154.372,-86.0072],[269.499,-1001.76,23.0667,149.148,-85.8361],[262.071,-901.967,22.3833,143.574,-85.6411],[254.221,-801.449,21.6667,137.641,-85.4179],[245.943,-700.864,20.9167,131.339,-85.1606],[237.231,-600.915,20.1333,124.658,-84.8616],[227.892,-500.404,19.3,117.446,-84.5031],[217.917,-400.51,18.4167,109.689,-84.068],[207.107,-300.829,17.4667,101.228,-83.521],[195.067,-200.146,16.4167,91.7446,-82.7925],[181.586,-100.143,15.25,81.0667,-81.7741],[165.867,-0.256292,13.9,68.5633,-80.185],[146.31,99.2713,12.2333,52.9999,-77.1604],[116.147,199.853,9.68333,29.4846,-66.2566],[83.4251,237.337,6.93333,11.9186,-0.394756]]], - [81,238.728,[[298.104,-2003.1,28.9333,193.201,-87.3163],[293.262,-1901.14,28.4,189.456,-87.242],[288.382,-1801.19,27.8667,185.654,-87.1641],[283.311,-1700.27,27.3167,181.673,-87.0796],[278.201,-1601.56,26.7667,177.631,-86.9906],[272.897,-1502.2,26.2,173.405,-86.8937],[267.396,-1402.45,25.6167,168.988,-86.7883],[261.694,-1302.56,25.0167,164.377,-86.6729],[255.629,-1200.15,24.3833,159.435,-86.5429],[249.518,-1100.91,23.75,154.417,-86.4035],[243.198,-1002.39,23.1,149.191,-86.2493],[236.341,-900.133,22.4,143.478,-86.0693],[229.43,-801.918,21.7,137.678,-85.8727],[221.97,-701.242,20.95,131.372,-85.6409],[214.119,-601.199,20.1667,124.686,-85.3715],[205.703,-500.585,19.3333,117.468,-85.0486],[196.713,-400.582,18.45,109.703,-84.6567],[186.971,-300.783,17.5,101.231,-84.1637],[176.294,-201.489,16.4667,91.886,-83.5187],[164.147,-101.159,15.3,81.1905,-82.6039],[149.982,-0.888458,13.95,68.6577,-81.1761],[132.183,99.9831,12.2667,52.8789,-78.421],[105.357,199.979,9.75,29.4527,-68.7033],[75.3371,238.727,6.95,10.7386,-0.24108]]], - [82,239.976,[[265.453,-2001.7,28.95,193.159,-87.6109],[261.278,-1902.9,28.4333,189.531,-87.5469],[256.935,-1802.89,27.9,185.728,-87.4776],[252.423,-1701.9,27.35,181.747,-87.4024],[247.738,-1600.16,26.7833,177.581,-87.3208],[243.017,-1500.8,26.2167,173.352,-87.2346],[238.12,-1401.05,25.6333,168.933,-87.1406],[233.045,-1301.16,25.0333,164.319,-87.038],[227.789,-1201.41,24.4167,159.505,-86.9253],[222.351,-1102.08,23.7833,154.486,-86.8013],[216.582,-1000.99,23.1167,149.123,-86.6605],[210.624,-901.125,22.4333,143.542,-86.5041],[204.327,-800.524,21.7167,137.601,-86.3251],[197.836,-702.036,20.9833,131.43,-86.1233],[190.849,-601.884,20.2,124.741,-85.8838],[183.359,-501.154,19.3667,117.517,-85.5967],[175.359,-401.025,18.4833,109.746,-85.2481],[166.689,-301.09,17.5333,101.266,-84.8098],[157.034,-200.123,16.4833,91.7565,-84.2259],[146.377,-101.147,15.3333,81.1957,-83.4222],[133.772,-0.67855,13.9833,68.6353,-82.1513],[118.088,99.5733,12.3167,52.9599,-79.7269],[94.376,199.883,9.81667,29.4928,-71.1708],[67.1858,239.976,6.96667,9.5551,-0.174443]]], - [83,241.082,[[232.654,-2000.84,28.9667,193.136,-87.9071],[228.996,-1902.03,28.45,189.505,-87.8509],[225.192,-1802.01,27.9167,185.701,-87.7902],[221.239,-1701.01,27.3667,181.718,-87.7242],[217.255,-1602.22,26.8167,177.675,-87.6549],[213.12,-1502.79,26.25,173.446,-87.5795],[208.708,-1400.14,25.65,168.899,-87.4948],[204.263,-1300.24,25.05,164.283,-87.4048],[199.658,-1200.48,24.4333,159.466,-87.306],[194.894,-1101.14,23.8,154.444,-87.1975],[189.841,-1000.04,23.1333,149.078,-87.074],[184.621,-900.167,22.45,143.494,-86.9369],[179.234,-801.848,21.75,137.688,-86.7836],[173.418,-701.059,21,131.374,-86.6031],[167.298,-600.897,20.2167,124.679,-86.3931],[160.736,-500.156,19.3833,117.449,-86.1413],[153.728,-400.017,18.5,109.67,-85.8356],[146.134,-300.071,17.55,101.181,-85.4509],[137.81,-200.616,16.5167,91.8115,-84.9475],[128.34,-100.104,15.35,81.0819,-84.2327],[117.435,-0.758007,14.0167,68.652,-83.132],[103.698,99.7732,12.35,52.9296,-81.0079],[83.2057,199.56,9.88333,29.6061,-73.645],[58.9738,241.081,6.98333,8.36829,-0.232012]]], - [84,242.043,[[199.719,-2000.52,28.9833,193.131,-88.2043],[196.58,-1901.69,28.4667,189.5,-88.1559],[193.316,-1801.66,27.9333,185.694,-88.1038],[189.924,-1700.65,27.3833,181.71,-88.0474],[186.506,-1601.84,26.8333,177.665,-87.9879],[182.959,-1502.39,26.2667,173.435,-87.9232],[179.279,-1402.53,25.6833,169.014,-87.8527],[175.465,-1302.54,25.0833,164.398,-87.7755],[171.408,-1200.03,24.45,159.45,-87.6886],[167.32,-1100.67,23.8167,154.426,-87.5951],[163.093,-1002.04,23.1667,149.192,-87.4921],[158.615,-902.045,22.4833,143.608,-87.3747],[153.884,-801.313,21.7667,137.661,-87.2402],[148.894,-700.502,21.0167,131.343,-87.0852],[143.642,-600.315,20.2333,124.644,-86.9048],[138.125,-501.505,19.4167,117.555,-86.6933],[132.113,-401.209,18.5333,109.772,-86.4315],[125.598,-301.092,17.5833,101.277,-86.1022],[118.457,-201.45,16.55,91.8997,-85.6711],[110.333,-100.723,15.3833,81.1578,-85.0591],[100.977,-1.12945,14.05,68.7079,-84.1164],[89.1916,99.7144,12.3833,52.9453,-82.2962],[71.6112,199.968,9.91667,29.4784,-75.9586],[50.7035,242.042,7,7.17869,-0.476004]]], - [85,242.858,[[166.66,-2000.74,29,193.144,-88.5024],[164.043,-1901.89,28.4833,189.512,-88.4623],[161.32,-1801.84,27.95,185.706,-88.4187],[158.491,-1700.8,27.4,181.721,-88.3716],[155.641,-1601.97,26.85,177.676,-88.322],[152.681,-1502.49,26.2833,173.444,-88.268],[149.612,-1402.61,25.7,169.022,-88.2092],[146.431,-1302.59,25.1,164.405,-88.1449],[143.048,-1200.05,24.4667,159.456,-88.0723],[139.638,-1100.66,23.8333,154.43,-87.9945],[136.113,-1002,23.1833,149.195,-87.9087],[132.378,-901.975,22.5,143.608,-87.8106],[128.432,-801.21,21.7833,137.66,-87.6984],[124.27,-700.363,21.0333,131.339,-87.5691],[119.89,-600.139,20.25,124.636,-87.4187],[115.289,-501.29,19.4333,117.543,-87.2423],[110.274,-400.951,18.55,109.756,-87.0239],[104.84,-300.788,17.6,101.254,-86.749],[98.8842,-201.096,16.5667,91.8686,-86.3893],[92.1084,-100.312,15.4,81.1148,-85.8784],[84.3052,-0.65345,14.0667,68.6466,-85.0911],[74.5746,99.3936,12.4167,53.0074,-83.5888],[60.0125,199.681,9.96667,29.5779,-78.3663],[42.3774,242.856,7.01667,5.98705,-1.01893]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 84.3052; -_maxRange = 485.365; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg1.sqf deleted file mode 100644 index 8812b638c9..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg1.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_wp_pd_chg1 -// Ammo: ace_arty_82mm_wp_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,390.444,[[2514.94,-2001.5,31.75,207.364,-71.3428],[2480.53,-1900.87,31.2333,204.228,-70.8862],[2445.85,-1802.05,30.7167,201.055,-70.4115],[2409.76,-1701.99,30.1833,197.742,-69.9013],[2372.23,-1600.89,29.6333,194.287,-69.3525],[2334.41,-1501.95,29.0833,190.794,-68.779],[2295.12,-1402.29,28.5167,187.158,-68.1606],[2254.34,-1302.17,27.9333,183.378,-67.4929],[2212.05,-1201.84,27.3333,179.453,-66.7708],[2168.23,-1101.55,26.7167,175.383,-65.9883],[2122.84,-1001.6,26.0833,171.169,-65.1387],[2075.88,-902.259,25.4333,166.813,-64.2143],[2026.08,-801.431,24.75,162.207,-63.1801],[1974.64,-702.029,24.05,157.466,-62.0482],[1920.29,-602.177,23.3167,152.486,-60.776],[1861.71,-500.429,22.5333,147.162,-59.3091],[1801.36,-401.833,21.7333,141.737,-57.683],[1735.4,-301.177,20.8667,135.895,-55.758],[1663.69,-200.045,19.9333,129.678,-53.4711],[1586.14,-100.182,18.9333,123.148,-50.7411],[1499.99,-0.635169,17.8333,116.19,-47.3559],[1401.07,99.181,16.5833,108.69,-42.9505],[1281.03,199.977,15.0833,100.491,-36.7632],[1122.92,299.526,13.1333,91.706,-27.078],[765.368,390.444,8.81667,83.9912,-0.00783141]]], - [46,403.836,[[2488.15,-2002.39,31.9667,207.508,-71.699],[2454.35,-1901.47,31.45,204.364,-71.2511],[2420.28,-1802.37,30.9333,201.182,-70.7854],[2384.83,-1702.01,30.4,197.86,-70.2849],[2347.97,-1600.6,29.85,194.394,-69.7464],[2310.82,-1501.34,29.3,190.889,-69.1836],[2272.22,-1401.37,28.7333,187.24,-68.5768],[2232.17,-1300.91,28.15,183.445,-67.9215],[2190.63,-1200.22,27.55,179.504,-67.2126],[2148.75,-1102.25,26.95,175.527,-66.4656],[2104.18,-1001.84,26.3167,171.293,-65.6325],[2058.06,-902.024,25.6667,166.916,-64.7259],[2009.15,-800.691,24.9833,162.285,-63.7114],[1958.63,-700.768,24.2833,157.516,-62.6007],[1905.25,-600.363,23.55,152.502,-61.3517],[1848.95,-500.145,22.7833,147.253,-59.9429],[1789.7,-400.824,21.9833,141.783,-58.3477],[1726.17,-301.265,21.1333,136,-56.4962],[1657.04,-200.893,20.2167,129.826,-54.2955],[1582.19,-101.416,19.2333,123.318,-51.6673],[1497.64,-0.342085,18.1333,116.246,-48.3512],[1401.86,99.9677,16.9,108.689,-44.0876],[1289.32,198.982,15.4667,100.608,-38.2953],[1139.58,299.9,13.5833,91.641,-29.1317],[837.023,399.929,9.85,82.4741,-6.0247],[764.376,403.836,8.96667,82.4723,-0.0119533]]], - [47,417.205,[[2458.95,-2000.58,32.1667,207.57,-72.0471],[2426.84,-1902.67,31.6667,204.519,-71.6219],[2392.32,-1800.1,31.1333,201.226,-71.1504],[2358.6,-1702.6,30.6167,197.997,-70.6748],[2322.42,-1600.87,30.0667,194.521,-70.1469],[2285.94,-1501.29,29.5167,191.005,-69.5952],[2248.05,-1400.98,28.95,187.344,-69.0002],[2208.73,-1300.17,28.3667,183.535,-68.3575],[2169.09,-1201.89,27.7833,179.688,-67.682],[2126.84,-1100.78,27.1667,175.583,-66.9294],[2084.24,-1002.59,26.55,171.442,-66.1342],[2038.97,-902.288,25.9,167.044,-65.2458],[1990.98,-800.436,25.2167,162.387,-64.2514],[1942.57,-702.322,24.5333,157.705,-63.1893],[1890.19,-601.25,23.8,152.659,-61.9664],[1834.95,-500.327,23.0333,147.372,-60.5865],[1776.79,-400.263,22.2333,141.858,-59.0232],[1715.68,-301.815,21.4,136.137,-57.2447],[1647.86,-200.443,20.4833,129.897,-55.0888],[1575.66,-101.515,19.5167,123.417,-52.5575],[1493.98,-0.52458,18.4333,116.342,-49.3592],[1402.58,98.9684,17.2333,108.836,-45.3],[1293.52,199.42,15.8167,100.616,-39.695],[1154.55,299.259,14.0333,91.6934,-31.201],[912.903,399.94,10.9833,82.0633,-12.8496],[762.699,417.204,9.11667,80.9323,-0.0347842]]], - [48,430.536,[[2429.5,-2002.69,32.3833,207.752,-72.415],[2396.94,-1901.23,31.8667,204.592,-71.9846],[2364.12,-1801.59,31.35,201.393,-71.5369],[2329.97,-1700.66,30.8167,198.051,-71.0558],[2295.55,-1601.73,30.2833,194.67,-70.554],[2259.76,-1501.81,29.7333,191.143,-70.0135],[2222.59,-1401.15,29.1667,187.469,-69.4306],[2185.13,-1302.84,28.6,183.756,-68.8193],[2145.13,-1201.33,28,179.784,-68.139],[2104.8,-1102.55,27.4,175.774,-67.4218],[2061.89,-1001.26,26.7667,171.502,-66.6218],[2017.47,-900.536,26.1167,167.082,-65.7507],[1971.54,-800.691,25.45,162.515,-64.8],[1924.06,-702.039,24.7667,157.806,-63.7597],[1872.68,-600.383,24.0333,152.728,-62.5616],[1819.67,-500.999,23.2833,147.521,-61.2395],[1762.64,-400.175,22.4833,141.963,-59.709],[1702.71,-300.926,21.65,136.19,-57.9669],[1637.41,-200.46,20.75,130.001,-55.8937],[1566.62,-100.444,19.7833,123.442,-53.4141],[1489,-1.21109,18.7333,116.481,-50.3793],[1400.65,98.7058,17.55,108.934,-46.4641],[1296.28,199.247,16.1667,100.687,-41.1098],[1165.23,299.242,14.45,91.708,-33.1097],[955.957,399.979,11.75,81.8672,-17.2499],[760.33,430.534,9.26667,79.3715,-0.077615]]], - [49,443.813,[[2397.67,-2002.13,32.5833,207.853,-72.7752],[2365.75,-1900.42,32.0667,204.685,-72.3535],[2333.56,-1800.52,31.55,201.477,-71.9149],[2301.13,-1702.46,31.0333,198.23,-71.4584],[2266.32,-1600.13,30.4833,194.733,-70.9517],[2232.29,-1502.94,29.95,191.303,-70.4384],[2195.85,-1401.92,29.3833,187.617,-69.8679],[2158.03,-1300.37,28.8,183.781,-69.2514],[2119.9,-1201.35,28.2167,179.904,-68.6034],[2080.37,-1102.17,27.6167,175.877,-67.9012],[2038.29,-1000.46,26.9833,171.587,-67.1176],[1995.87,-901.865,26.35,167.26,-66.2869],[1950.84,-801.485,25.6833,162.67,-65.3569],[1904.3,-702.279,25,157.935,-64.3389],[1853.93,-600.023,24.2667,152.826,-63.1662],[1801.97,-500.02,23.5167,147.583,-61.8715],[1747.24,-400.588,22.7333,142.099,-60.4047],[1688.5,-300.52,21.9,136.276,-58.7],[1625.69,-200.973,21.0167,130.14,-56.7093],[1557.52,-101.521,20.0667,123.617,-54.3275],[1481.47,-0.912557,19.0167,116.555,-51.3602],[1396.14,99.2286,17.85,108.978,-47.5826],[1296.37,199.567,16.5,100.727,-42.4689],[1173.03,299.195,14.85,91.7429,-34.9483],[987.286,399.612,12.4,81.7981,-20.9038],[755.968,443.812,9.4,77.798,-0.0215846]]], - [50,457.02,[[2364.53,-2002.23,32.7833,207.974,-73.1414],[2333.25,-1900.26,32.2667,204.798,-72.7286],[2301.71,-1800.1,31.75,201.582,-72.2993],[2269.92,-1701.77,31.2333,198.326,-71.8525],[2236.85,-1602.22,30.7,194.925,-71.3717],[2202.47,-1501.67,30.15,191.377,-70.8538],[2166.76,-1400.35,29.5833,187.678,-70.295],[2130.76,-1301.37,29.0167,183.939,-69.709],[2093.4,-1201.96,28.4333,180.048,-69.0751],[2054.67,-1102.38,27.8333,176.006,-68.3882],[2013.44,-1000.24,27.2,171.697,-67.6215],[1971.88,-901.207,26.5667,167.35,-66.8086],[1927.76,-800.366,25.9,162.737,-65.8983],[1882.17,-700.683,25.2167,157.975,-64.9016],[1833.94,-600.198,24.5,152.952,-63.78],[1784.18,-501.744,23.7667,147.791,-62.5429],[1730.58,-401.531,22.9833,142.267,-61.1101],[1673.05,-300.624,22.15,136.395,-59.4439],[1611.53,-200.179,21.2667,130.199,-57.4967],[1545.94,-101.445,20.3333,123.718,-55.208],[1472.65,-1.13307,19.3,116.671,-52.3538],[1390.29,99.2138,18.15,109.07,-48.715],[1295.04,199.271,16.8333,100.828,-43.8425],[1178,299.204,15.2333,91.7873,-36.7187],[1008.73,399.957,12.95,81.7087,-23.9333],[752.224,457.018,9.55,76.1965,-0.106541]]], - [51,470.143,[[2330.06,-2003.02,32.9833,208.116,-73.5135],[2299.43,-1900.78,32.4667,204.933,-73.1098],[2268.55,-1800.34,31.95,201.708,-72.6899],[2237.42,-1701.73,31.4333,198.444,-72.2529],[2205.03,-1601.9,30.9,195.034,-71.7826],[2171.37,-1501.05,30.35,191.474,-71.276],[2137.43,-1402.37,29.8,187.873,-70.7458],[2101.15,-1300.12,29.2167,184.011,-70.156],[2064.57,-1200.38,28.6333,180.105,-69.5357],[2026.64,-1100.45,28.0333,176.046,-68.8634],[1987.34,-1000.61,27.4167,171.833,-68.1333],[1946.64,-901.13,26.7833,167.467,-67.3385],[1904.53,-802.304,26.1333,162.947,-66.4714],[1859.9,-702.037,25.45,158.161,-65.4981],[1812.7,-600.933,24.7333,153.109,-64.4027],[1763.99,-501.84,24,147.914,-63.194],[1711.51,-400.938,23.2167,142.35,-61.7934],[1656.33,-301.266,22.4,136.548,-60.1978],[1597.26,-201.752,21.5333,130.412,-58.3334],[1531.92,-100.188,20.5833,123.742,-56.0577],[1461.36,-0.340077,19.5667,116.717,-53.3111],[1383.11,98.6303,18.45,109.212,-49.86],[1291.11,199.521,17.15,100.89,-45.1632],[1180.22,299.347,15.6,91.8319,-38.423],[1025.65,399.716,13.4667,81.7171,-26.7711],[746.528,470.141,9.68333,74.5822,-0.0907905]]], - [52,483.166,[[2293.33,-2001.18,33.1667,208.178,-73.8786],[2264.32,-1901.99,32.6667,205.089,-73.4967],[2234.1,-1801.27,32.15,201.857,-73.0865],[2203.65,-1702.38,31.6333,198.585,-72.6595],[2171.95,-1602.24,31.1,195.165,-72.2],[2139.01,-1501.08,30.55,191.595,-71.7049],[2105.8,-1402.09,30,187.983,-71.1868],[2071.32,-1302.39,29.4333,184.218,-70.6271],[2035.53,-1202.24,28.85,180.3,-70.0216],[1998.42,-1101.89,28.25,176.226,-69.3653],[1959.97,-1001.6,27.6333,171.997,-68.6524],[1920.16,-901.662,27,167.611,-67.8763],[1878.97,-802.357,26.35,163.07,-67.0294],[1835.3,-701.582,25.6667,158.258,-66.0785],[1790.2,-602.257,24.9667,153.296,-65.0338],[1741.47,-500.293,24.2167,147.95,-63.8262],[1691.22,-400.899,23.45,142.466,-62.4867],[1637.25,-300.483,22.6333,136.618,-60.9281],[1579.47,-200.171,21.7667,130.426,-59.1055],[1517.81,-101.185,20.85,123.921,-56.9613],[1448.8,-0.0827624,19.8333,116.806,-54.2815],[1373.44,98.8641,18.7333,109.295,-50.9626],[1285.8,199.15,17.4667,101.013,-46.498],[1179.75,299.699,15.95,91.8678,-40.0636],[1037.01,399.88,13.9333,81.7112,-29.3178],[740.173,483.163,9.81667,72.9482,-0.0962681]]], - [53,496.073,[[2255.31,-2000.06,33.35,208.26,-74.25],[2226.94,-1900.65,32.85,205.164,-73.8768],[2198.34,-1802.92,32.35,202.029,-73.4891],[2167.6,-1700.56,31.8167,198.642,-73.0586],[2136.61,-1600.18,31.2833,195.212,-72.6094],[2105.37,-1501.8,30.75,191.74,-72.1404],[2072.91,-1402.48,30.2,188.117,-71.6346],[2039.19,-1302.45,29.6333,184.34,-71.0882],[2004.2,-1201.94,29.05,180.408,-70.4969],[1967.92,-1101.23,28.45,176.319,-69.8559],[1930.32,-1000.56,27.8333,172.072,-69.1595],[1891.4,-900.224,27.2,167.667,-68.4013],[1851.12,-800.512,26.55,163.104,-67.5736],[1809.47,-701.729,25.8833,158.386,-66.6676],[1765.38,-601.863,25.1833,153.396,-65.6478],[1718.81,-501.543,24.45,148.137,-64.4959],[1669.7,-401.438,23.6833,142.615,-63.1897],[1616.94,-300.257,22.8667,136.722,-61.6691],[1561.56,-201.01,22.0167,130.595,-59.9258],[1501.3,-101.016,21.1,124.024,-57.8349],[1434.98,-0.387368,20.1,116.939,-55.2643],[1361.34,99.9577,19,109.314,-52.0256],[1277.97,199.376,17.7667,101.089,-47.7829],[1177.81,299.309,16.3,91.9843,-41.7193],[1045.37,399.454,14.3833,81.7905,-31.7801],[733.154,496.07,9.95,71.2946,-0.124587]]], - [54,508.85,[[2216.93,-2003.04,33.55,208.467,-74.6391],[2188.29,-1900.04,33.0333,205.261,-74.2629],[2160.35,-1802.08,32.5333,202.118,-73.8845],[2131.25,-1702.64,32.0167,198.829,-73.4775],[2100.98,-1601.93,31.4833,195.391,-73.0396],[2069.51,-1500.18,30.9333,191.8,-72.5676],[2037.78,-1400.59,30.3833,188.165,-72.0736],[2004.83,-1300.28,29.8167,184.376,-71.5399],[1971.62,-1202.32,29.25,180.543,-70.9793],[1936.18,-1101.23,28.65,176.439,-70.354],[1899.45,-1000.17,28.0333,172.175,-69.6746],[1862.43,-902.036,27.4167,167.868,-68.9547],[1823.09,-801.817,26.7667,163.285,-68.1481],[1781.39,-700.072,26.0833,158.425,-67.2422],[1739.34,-602.086,25.4,153.527,-66.2708],[1693.85,-501.176,24.6667,148.237,-65.1474],[1645.89,-400.45,23.9,142.679,-63.873],[1595.41,-300.622,23.1,136.863,-62.4203],[1541.32,-200.551,22.25,130.684,-60.7207],[1483.55,-101.429,21.35,124.168,-58.7197],[1419.87,-1.28727,20.3667,117.118,-56.2583],[1349.07,99.024,19.2833,109.497,-53.1545],[1268.79,198.972,18.0667,101.226,-49.0816],[1173.26,299.196,16.6333,92.0827,-43.3133],[1049.67,399.314,14.8,81.8573,-34.0618],[816.815,499.973,11.4,70.3652,-10.7148],[724.308,508.849,10.0667,69.6279,-0.0433657]]], - [55,521.481,[[2175.44,-2000.09,33.7167,208.492,-75.0102],[2148.37,-1900.19,33.2167,205.382,-74.655],[2121.1,-1801.98,32.7167,202.231,-74.2859],[2092.69,-1702.28,32.2,198.934,-73.8891],[2063.13,-1601.31,31.6667,195.486,-73.4619],[2033.34,-1502.34,31.1333,191.995,-73.0159],[2002.38,-1402.4,30.5833,188.35,-72.5347],[1970.22,-1301.72,30.0167,184.549,-72.0147],[1936.85,-1200.55,29.4333,180.59,-71.452],[1903.21,-1101.92,28.85,176.586,-70.8592],[1867.36,-1000.45,28.2333,172.306,-70.1971],[1831.22,-901.909,27.6167,167.982,-69.4955],[1792.82,-801.253,26.9667,163.379,-68.7092],[1753.11,-701.493,26.3,158.614,-67.8481],[1711.08,-600.591,25.6,153.57,-66.8783],[1667.69,-501.431,24.8833,148.37,-65.8081],[1620.88,-400.065,24.1167,142.777,-64.5663],[1572.65,-301.601,23.3333,137.041,-63.1811],[1519.87,-200.685,22.4833,130.811,-61.5263],[1463.5,-100.659,21.5833,124.233,-59.5768],[1402.42,-1.16401,20.6167,117.224,-57.2193],[1334.41,98.9347,19.55,109.616,-54.244],[1257.18,199.208,18.35,101.312,-50.3334],[1166.17,299.424,16.95,92.1553,-44.8484],[1050.07,399.7,15.1833,81.8815,-36.1707],[856.747,499.807,12.2833,70.25,-16.934],[715.979,521.478,10.2,67.9361,-0.120301]]], - [56,533.952,[[2133.58,-2001.28,33.9,208.642,-75.3988],[2107.19,-1901.13,33.4,205.525,-75.0528],[2080.58,-1802.66,32.9,202.368,-74.6933],[2052.87,-1702.7,32.3833,199.063,-74.3067],[2024.05,-1601.44,31.85,195.606,-73.8907],[1994.99,-1502.19,31.3167,192.105,-73.4561],[1964.79,-1401.96,30.7667,188.45,-72.9873],[1933.42,-1300.97,30.2,184.638,-72.4806],[1901.8,-1202.35,29.6333,180.78,-71.9483],[1868.06,-1100.53,29.0333,176.647,-71.3545],[1834.04,-1001.44,28.4333,172.467,-70.727],[1798.8,-902.469,27.8167,168.125,-70.044],[1761.35,-801.362,27.1667,163.502,-69.2785],[1722.63,-701.134,26.5,158.716,-68.4399],[1682.62,-602.105,25.8167,153.767,-67.5186],[1639.32,-500.065,25.0833,148.416,-66.4524],[1594.67,-400.31,24.3333,142.91,-65.2693],[1547.64,-301.166,23.55,137.134,-63.9208],[1497.19,-201.44,22.7167,130.977,-62.3423],[1442.24,-100.488,21.8167,124.339,-60.4457],[1383.72,-1.65075,20.8667,117.376,-58.1922],[1317.43,99.7262,19.8,109.667,-55.2971],[1244.25,198.804,18.6333,101.456,-51.5988],[1157.69,298.938,17.2667,92.3025,-46.3981],[1047.78,399.975,15.55,81.9294,-38.2053],[879.119,499.627,12.95,70.2353,-21.5054],[705.874,533.95,10.3167,66.2314,-0.0850064]]], - [57,546.248,[[2090.45,-2003.29,34.0833,208.816,-75.7927],[2064.73,-1902.88,33.5833,205.693,-75.4561],[2037.94,-1800.88,33.0667,202.423,-75.0945],[2010.93,-1700.7,32.55,199.109,-74.718],[1983.72,-1602.36,32.0333,195.752,-74.3256],[1955.4,-1502.81,31.5,192.243,-73.9027],[1925.97,-1402.27,30.95,188.577,-73.4465],[1895.41,-1300.97,30.3833,184.753,-72.9535],[1864.6,-1202.02,29.8167,180.883,-72.4354],[1832.64,-1102.66,29.2333,176.852,-71.8739],[1798.57,-1000.42,28.6167,172.541,-71.2465],[1764.23,-901.098,28,168.182,-70.5815],[1728.68,-802.17,27.3667,163.658,-69.8556],[1690.95,-701.459,26.7,158.85,-69.0401],[1651.97,-601.93,26.0167,153.877,-68.1439],[1610.75,-501.631,25.3,148.619,-67.1309],[1567.26,-401.213,24.55,143.08,-65.9815],[1521.45,-301.37,23.7667,137.265,-64.6707],[1472.31,-200.893,22.9333,131.061,-63.1355],[1419.77,-100.943,22.05,124.488,-61.3257],[1362.78,-1.094,21.1,117.452,-59.1349],[1299.22,99.9066,20.05,109.768,-56.364],[1228.98,199.079,18.9,101.544,-52.8207],[1145.72,299.99,17.55,92.3058,-47.8237],[1043.94,399.336,15.9167,82.0871,-40.255],[891.472,499.863,13.5,70.217,-25.2239],[695.149,546.246,10.4333,64.5083,-0.0741546]]], - [58,558.353,[[2045.21,-2002.76,34.25,208.91,-76.1812],[2020.17,-1902.13,33.75,205.781,-75.8538],[1994.93,-1803.18,33.25,202.609,-75.5135],[1968.64,-1702.71,32.7333,199.289,-75.1477],[1941.29,-1600.92,32.2,195.815,-74.7538],[1913.72,-1501.13,31.6667,192.296,-74.3423],[1885.07,-1400.34,31.1167,188.62,-73.8984],[1856.19,-1301.74,30.5667,184.897,-73.433],[1826.2,-1202.46,30,181.015,-72.9294],[1795.08,-1102.75,29.4167,176.97,-72.3835],[1761.92,-1000.14,28.8,172.644,-71.7736],[1728.49,-900.444,28.1833,168.268,-71.1269],[1693.88,-801.13,27.55,163.726,-70.421],[1657.16,-700.009,26.8833,158.896,-69.6277],[1619.21,-600.056,26.2,153.898,-68.7557],[1580.02,-501.603,25.5,148.735,-67.7935],[1537.69,-400.608,24.75,143.163,-66.6763],[1493.11,-300.157,23.9667,137.31,-65.4017],[1446.24,-200.99,23.15,131.186,-63.9394],[1395.11,-100.213,22.2667,124.556,-62.181],[1340.63,-1.16633,21.3333,117.575,-60.09],[1279.78,99.4473,20.3,109.921,-57.4433],[1212.43,198.701,19.1667,101.691,-54.0562],[1133.46,299.208,17.85,92.4901,-49.3328],[1036.5,399.59,16.25,82.1547,-42.1454],[898.542,499.7,14,70.2798,-28.597],[683.805,558.352,10.55,62.7669,-0.0900347]]], - [59,570.255,[[1998.74,-2003.09,34.4167,209.028,-76.5752],[1974.38,-1902.23,33.9167,205.893,-76.2571],[1949.83,-1803.04,33.4167,202.715,-75.9266],[1924.27,-1702.33,32.9,199.386,-75.5711],[1897.67,-1600.3,32.3667,195.904,-75.1884],[1870.85,-1500.26,31.8333,192.375,-74.7886],[1843.83,-1402.24,31.3,188.801,-74.3705],[1814.9,-1300.33,30.7333,184.955,-73.9048],[1785.73,-1200.78,30.1667,181.061,-73.4153],[1755.46,-1100.79,29.5833,177.002,-72.8846],[1724.09,-1000.61,28.9833,172.778,-72.308],[1691.58,-900.53,28.3667,168.386,-71.6801],[1657.93,-800.815,27.7333,163.826,-70.9946],[1623.12,-701.763,27.0833,159.097,-70.244],[1586.22,-601.278,26.4,154.076,-69.3982],[1548.12,-502.275,25.7,148.887,-68.4649],[1506.96,-400.683,24.95,143.284,-67.3807],[1464.55,-301.7,24.1833,137.519,-66.1709],[1418.99,-201.756,23.3667,131.351,-64.7534],[1369.29,-100.13,22.4833,124.668,-63.0477],[1316.32,-0.177562,21.55,117.62,-61.0177],[1258.13,99.8851,20.5333,110.003,-58.4895],[1193.64,199.037,19.4167,101.777,-55.2512],[1118.84,298.87,18.1333,92.6339,-50.7889],[1026.61,399.959,16.5667,82.2153,-43.9692],[900.586,499.646,14.45,70.3498,-31.6337],[671.838,570.253,10.6667,61.0079,-0.135114]]], - [60,581.941,[[1950.26,-2000.89,34.5667,209.067,-76.9645],[1927.38,-1903.19,34.0833,206.03,-76.666],[1902.74,-1800.48,33.5667,202.739,-76.3344],[1878.7,-1702.8,33.0667,199.51,-76.0004],[1852.86,-1600.51,32.5333,196.02,-75.6291],[1826.81,-1500.2,32,192.483,-75.2411],[1800.56,-1401.92,31.4667,188.899,-74.8354],[1773.28,-1302.7,30.9167,185.157,-74.397],[1744.95,-1202.79,30.35,181.252,-73.9226],[1715.56,-1102.43,29.7667,177.181,-73.4083],[1685.08,-1001.87,29.1667,172.944,-72.8494],[1653.51,-901.381,28.55,168.537,-72.2407],[1620.83,-801.25,27.9167,163.959,-71.576],[1587.01,-701.768,27.2667,159.21,-70.848],[1551.18,-600.825,26.5833,154.167,-70.0276],[1514.17,-501.349,25.8833,148.952,-69.122],[1475.09,-401.465,25.15,143.443,-68.094],[1433.89,-301.847,24.3833,137.644,-66.9215],[1389.65,-201.221,23.5667,131.433,-65.547],[1342.3,-100.719,22.7,124.824,-63.925],[1291.79,-1.56963,21.7833,117.838,-61.9953],[1235.29,99.6682,20.7667,110.136,-59.5484],[1173.62,198.707,19.6667,101.921,-56.4598],[1101.96,299.029,18.4,92.7318,-52.1955],[1015.31,399.524,16.8833,82.3694,-45.8088],[898.831,499.484,14.8667,70.4498,-34.4589],[658.264,581.94,10.7667,59.2357,-0.0543362]]], - [61,593.393,[[1901.36,-2002.98,34.7333,209.235,-77.3693],[1878.4,-1901.69,34.2333,206.087,-77.07],[1855.26,-1802.07,33.7333,202.896,-76.759],[1831.15,-1700.91,33.2167,199.552,-76.4244],[1806.86,-1601.58,32.7,196.163,-76.0757],[1781.59,-1501,32.1667,192.618,-75.6998],[1756.12,-1402.43,31.6333,189.026,-75.3067],[1729.65,-1302.93,31.0833,185.273,-74.8819],[1702.16,-1202.72,30.5167,181.357,-74.4222],[1673.64,-1102.04,29.9333,177.275,-73.9236],[1644.07,-1001.16,29.3333,173.023,-73.3819],[1613.44,-900.336,28.7167,168.6,-72.7918],[1582.56,-802.461,28.1,164.127,-72.1647],[1548.92,-700.014,27.4333,159.236,-71.4412],[1515,-601.116,26.7667,154.294,-70.6654],[1479.1,-501.15,26.0667,149.054,-69.7882],[1441.18,-400.747,25.3333,143.516,-68.7921],[1401.22,-300.584,24.5667,137.682,-67.6556],[1359.17,-201.379,23.7667,131.558,-66.3511],[1313.25,-100.123,22.9,124.898,-64.7803],[1264.26,-0.169065,21.9833,117.851,-62.9098],[1211.26,98.7668,21,110.323,-60.6187],[1151.46,199.12,19.9,102.001,-57.6313],[1082.88,299.726,18.65,92.7785,-53.5563],[1001.65,399.268,17.1833,82.5072,-47.5835],[893.444,499.465,15.25,70.5424,-37.0805],[645.082,593.39,10.8833,57.4422,-0.162328]]], - [62,604.6,[[1850.51,-2002.58,34.8833,209.325,-77.7696],[1828.26,-1901.09,34.3833,206.17,-77.4798],[1805.83,-1801.27,33.8833,202.972,-77.1786],[1783.22,-1703.13,33.3833,199.73,-76.8652],[1758.92,-1600.35,32.85,196.224,-76.5168],[1735.19,-1502.66,32.3333,192.782,-76.1643],[1709.74,-1400.75,31.7833,189.068,-75.7718],[1684.08,-1301.01,31.2333,185.305,-75.3603],[1657.44,-1200.56,30.6667,181.377,-74.9148],[1630.59,-1102.48,30.1,177.399,-74.4459],[1601.94,-1001.26,29.5,173.134,-73.9216],[1572.26,-900.084,28.8833,168.697,-73.3505],[1542.34,-801.855,28.2667,164.207,-72.7435],[1510.55,-701.55,27.6167,159.42,-72.0612],[1477.69,-602.173,26.95,154.457,-71.3112],[1442.91,-501.7,26.25,149.193,-70.463],[1406.17,-400.761,25.5167,143.627,-69.4996],[1367.45,-300.031,24.75,137.76,-68.3999],[1326.72,-200.229,23.95,131.597,-67.1372],[1283.08,-100.221,23.1,125.018,-65.6465],[1236.49,-1.20323,22.2,118.041,-63.8722],[1185.16,98.7767,21.2167,110.437,-61.659],[1128.12,198.853,20.1333,102.139,-58.8163],[1062.59,299.736,18.9,92.892,-54.933],[985.726,399.249,17.4667,82.6209,-49.2971],[884.595,499.818,15.6,70.5949,-39.5089],[683.096,599.971,11.9333,56.2099,-9.66245],[630.35,604.598,10.9833,55.6358,-0.141182]]], - [63,615.549,[[1798.5,-2003.11,35.0333,209.44,-78.1753],[1776.95,-1901.41,34.5333,206.28,-77.8951],[1755.24,-1801.37,34.0333,203.076,-77.6039],[1733.37,-1703.02,33.5333,199.827,-77.3009],[1709.85,-1600,33,196.314,-76.9639],[1686.88,-1502.09,32.4833,192.863,-76.6231],[1663,-1403,31.95,189.254,-76.2553],[1638.17,-1302.95,31.4,185.482,-75.8579],[1612.39,-1202.17,30.8333,181.545,-75.4277],[1585.64,-1100.9,30.25,177.438,-74.961],[1558.68,-1002.18,29.6667,173.279,-74.4682],[1529.96,-900.647,29.05,168.827,-73.9165],[1501.01,-802.05,28.4333,164.321,-73.33],[1470.25,-701.353,27.7833,159.517,-72.6705],[1438.45,-601.57,27.1167,154.534,-71.9456],[1404.79,-500.667,26.4167,149.246,-71.1255],[1370.05,-401.528,25.7,143.779,-70.2158],[1332.59,-300.212,24.9333,137.88,-69.1539],[1294.01,-201.829,24.15,131.809,-67.9607],[1251.79,-101.036,23.3,125.184,-66.5229],[1206.72,-1.17944,22.4,118.151,-64.8104],[1157.06,99.7257,21.4167,110.474,-62.6721],[1102.73,199.356,20.35,102.208,-59.9675],[1041.07,299.029,19.15,93.0745,-56.3232],[967.611,399.523,17.7333,82.7034,-50.9534],[873.333,499.958,15.9333,70.6808,-41.8546],[709.776,599.884,12.85,56.1845,-18.0449],[615.056,615.547,11.0833,53.8128,-0.151977]]], - [64,626.226,[[1744.64,-2001.17,35.1667,209.477,-78.5772],[1724.51,-1902.67,34.6833,206.417,-78.3156],[1703.53,-1802.41,34.1833,203.207,-78.0346],[1681.68,-1700.57,33.6667,199.843,-77.7322],[1659.66,-1600.57,33.15,196.432,-77.4169],[1637.46,-1502.42,32.6333,192.974,-77.0879],[1613.66,-1400.01,32.0833,189.242,-76.7215],[1590.39,-1302.77,31.55,185.575,-76.3492],[1565.47,-1201.72,30.9833,181.627,-75.9338],[1539.62,-1100.17,30.4,177.509,-75.4832],[1513.57,-1001.18,29.8167,173.337,-75.0073],[1486.56,-902.052,29.2167,168.992,-74.4892],[1457.83,-800.438,28.5833,164.349,-73.9078],[1428.87,-701.967,27.95,159.65,-73.2876],[1398.14,-601.762,27.2833,154.647,-72.5882],[1365.62,-500.411,26.5833,149.337,-71.7969],[1332.06,-400.81,25.8667,143.844,-70.9188],[1296.65,-301.155,25.1167,138.043,-69.9168],[1258.57,-200.097,24.3167,131.806,-68.7408],[1218.59,-100.668,23.4833,125.268,-67.3798],[1175.05,-0.0797226,22.5833,118.18,-65.7268],[1127.89,99.9803,21.6167,110.565,-63.6984],[1076.23,199.16,20.5667,102.337,-61.1322],[1017.51,298.888,19.3833,93.201,-57.6708],[948.236,399.039,18,82.8698,-52.6253],[859.748,499.959,16.25,70.7888,-44.1199],[718.189,599.763,13.4833,56.2452,-23.7235],[598.335,626.225,11.1667,51.9769,-0.0186293]]], - [65,636.618,[[1689.67,-2000.19,35.3,209.54,-78.9847],[1670.24,-1901.52,34.8167,206.474,-78.7324],[1649.99,-1801.08,34.3167,203.258,-78.4613],[1629.59,-1702.32,33.8167,199.996,-78.1791],[1608.34,-1602.07,33.3,196.579,-77.8755],[1586.24,-1500.53,32.7667,193.002,-77.548],[1563.96,-1400.99,32.2333,189.375,-77.2055],[1540.81,-1300.47,31.6833,185.584,-76.8352],[1517.47,-1202.16,31.1333,181.742,-76.4464],[1492.53,-1100.32,30.55,177.613,-76.0122],[1467.39,-1001.02,29.9667,173.429,-75.5536],[1441.33,-901.594,29.3667,169.071,-75.0542],[1414.34,-802.294,28.75,164.536,-74.5089],[1385.66,-700.851,28.1,159.696,-73.8956],[1356.02,-600.296,27.4333,154.674,-73.2211],[1325.39,-500.95,26.75,149.468,-72.4766],[1293.01,-400.867,26.0333,143.95,-71.6309],[1258.85,-300.705,25.2833,138.12,-70.6655],[1222.89,-201.161,24.5,131.978,-69.5568],[1184.32,-101.037,23.6667,125.398,-68.2471],[1143.1,-1.5035,22.7833,118.391,-66.6868],[1097.62,99.5206,21.8167,110.709,-64.7366],[1047.8,199.757,20.7667,102.395,-62.2663],[991.962,299.356,19.6,93.2669,-58.9795],[926.78,398.897,18.25,82.9979,-54.2431],[843.915,499.896,16.55,70.9074,-46.3076],[718.221,599.656,14,56.3357,-28.3416],[581.95,636.617,11.2667,50.1216,-0.0988508]]], - [66,646.714,[[1633.6,-2000.18,35.4333,209.63,-79.3973],[1614.89,-1901.33,34.95,206.559,-79.1544],[1595.38,-1800.7,34.45,203.337,-78.8934],[1575.73,-1701.75,33.95,200.069,-78.6219],[1555.26,-1601.3,33.4333,196.645,-78.3295],[1534.63,-1502.7,32.9167,193.173,-78.0243],[1513.17,-1402.9,32.3833,189.539,-77.6949],[1490.87,-1302.1,31.8333,185.74,-77.3389],[1467.71,-1200.54,31.2667,181.772,-76.9535],[1444.37,-1101.35,30.7,177.751,-76.5475],[1420.16,-1001.75,30.1167,173.556,-76.1064],[1395.06,-901.997,29.5167,169.185,-75.626],[1369.06,-802.365,28.9,164.635,-75.1015],[1341.44,-700.568,28.25,159.78,-74.5115],[1313.6,-602.125,27.6,154.865,-73.8792],[1284.1,-502.307,26.9167,149.639,-73.1639],[1252.92,-401.726,26.2,144.098,-72.3512],[1220.02,-301.035,25.45,138.24,-71.4232],[1185.39,-200.934,24.6667,132.065,-70.3571],[1148.24,-100.213,23.8333,125.445,-69.0971],[1108.55,-0.0409036,22.95,118.388,-67.595],[1066.26,98.3189,22.0167,110.91,-65.7851],[1018.29,199.643,20.9667,102.512,-63.4138],[965.307,299.109,19.8167,93.3999,-60.3029],[903.333,399.139,18.4833,83.0824,-55.8112],[825.924,499.833,16.8333,71.0271,-48.4212],[712.121,599.953,14.4333,56.3771,-32.2441],[564.202,646.714,11.35,48.254,-0.0297014]]], - [67,656.499,[[1576.46,-2001.18,35.5667,209.748,-79.8149],[1558.47,-1902.14,35.0833,206.672,-79.5816],[1539.71,-1801.31,34.5833,203.445,-79.3309],[1520.81,-1702.16,34.0833,200.171,-79.0701],[1501.12,-1601.5,33.5667,196.741,-78.7892],[1481.29,-1502.69,33.05,193.262,-78.496],[1460.65,-1402.67,32.5167,189.621,-78.1796],[1439.21,-1301.64,31.9667,185.813,-77.8375],[1417.6,-1202.8,31.4167,181.953,-77.4783],[1394.5,-1100.41,30.8333,177.803,-77.077],[1371.21,-1000.56,30.25,173.597,-76.6531],[1347.08,-900.549,29.65,169.213,-76.1914],[1322.07,-800.649,29.0333,164.649,-75.6871],[1296.2,-701.142,28.4,159.902,-75.1347],[1269.43,-602.326,27.75,154.97,-74.5277],[1241.07,-502.111,27.0667,149.724,-73.8409],[1211.09,-401.109,26.35,144.159,-73.0603],[1180.17,-302.171,25.6167,138.405,-72.1895],[1146.88,-201.493,24.8333,132.199,-71.1669],[1111.17,-100.151,24,125.54,-69.9579],[1073.73,-1.15387,23.1333,118.569,-68.5445],[1032.36,99.7527,22.1833,110.899,-66.7763],[987.721,198.791,21.1667,102.69,-64.5731],[936.799,299.493,20.0167,93.4691,-61.5909],[877.988,399.804,18.7,83.1179,-57.3337],[805.866,499.829,17.1,71.1386,-50.4649],[702.645,599.791,14.8333,56.504,-35.8841],[546.734,656.496,11.45,46.3685,-0.197387]]], - [68,665.964,[[1518.24,-2003.2,35.7,209.894,-80.2372],[1500.38,-1900.57,35.2,206.707,-80.0058],[1482.97,-1802.93,34.7167,203.582,-79.7735],[1464.23,-1700.28,34.2,200.194,-79.5149],[1445.95,-1602.69,33.7,196.868,-79.2542],[1426.29,-1500.49,33.1667,193.269,-78.964],[1406.49,-1400.29,32.6333,189.62,-78.6602],[1386.53,-1302.12,32.1,185.919,-78.3421],[1365.16,-1200.08,31.5333,181.933,-77.987],[1343.62,-1100.39,30.9667,177.891,-77.6131],[1321.28,-1000.28,30.3833,173.673,-77.2066],[1298.76,-902.741,29.8,169.4,-76.7765],[1274.77,-802.477,29.1833,164.824,-76.2937],[1249.29,-700.008,28.5333,159.937,-75.7505],[1223.6,-600.888,27.8833,154.988,-75.1681],[1196.38,-500.35,27.2,149.721,-74.5091],[1168.29,-401.316,26.5,144.264,-73.778],[1138.62,-301.925,25.7667,138.484,-72.9435],[1106.67,-200.758,24.9833,132.246,-71.9633],[1073.1,-100.871,24.1667,125.685,-70.8282],[1037.19,-1.19754,23.3,118.67,-69.475],[998.197,98.7426,22.3667,111.077,-67.8126],[955.375,198.741,21.35,102.795,-65.7049],[907.24,299.15,20.2167,93.6056,-62.8929],[851.548,399.743,18.9167,83.2311,-58.8734],[783.829,499.941,17.35,71.2336,-52.443],[689.974,599.435,15.2,56.6692,-39.2675],[527.229,665.964,11.5167,44.4732,-0.000787596]]], - [69,675.095,[[1458.4,-2002.81,35.8167,209.962,-80.6567],[1441.29,-1900.01,35.3167,206.771,-80.4352],[1424.62,-1802.21,34.8333,203.64,-80.2128],[1407.25,-1702.69,34.3333,200.356,-79.9735],[1389.16,-1601.63,33.8167,196.913,-79.7158],[1370.93,-1502.43,33.3,193.421,-79.4468],[1351.96,-1401.99,32.7667,189.765,-79.1564],[1332.25,-1300.53,32.2167,185.941,-78.8425],[1312.39,-1201.26,31.6667,182.064,-78.5127],[1291.76,-1101.31,31.1,178.013,-78.1551],[1270.37,-1000.92,30.5167,173.786,-77.7665],[1248.19,-900.345,29.9167,169.378,-77.3431],[1225.84,-802.539,29.3167,164.913,-76.8934],[1202.06,-702.346,28.6833,160.137,-76.3875],[1176.84,-600.311,28.0167,155.045,-75.8166],[1151.42,-501.849,27.35,149.89,-75.2019],[1123.87,-400.049,26.6333,144.281,-74.4861],[1095.46,-300.287,25.9,138.475,-73.687],[1065.53,-200.827,25.1333,132.341,-72.7691],[1033.38,-100.403,24.3167,125.745,-71.6837],[998.999,-0.155593,23.45,118.687,-70.3889],[962.338,98.6805,22.5333,111.177,-68.8276],[921.346,199.516,21.5167,102.825,-66.8123],[875.947,299.462,20.4,93.6751,-64.1631],[824.015,398.928,19.1333,83.4241,-60.4267],[760.594,499.252,17.6,71.4311,-54.4367],[673.592,599.756,15.5167,56.7244,-42.2848],[508.01,675.094,11.6,42.561,-0.0514193]]], - [70,683.882,[[1397,-2000,35.9167,209.954,-81.074],[1381.2,-1900.49,35.4333,206.863,-80.8695],[1365.28,-1802.52,34.95,203.728,-80.6572],[1348.68,-1702.82,34.45,200.439,-80.4287],[1331.39,-1601.59,33.9333,196.99,-80.1827],[1313.98,-1502.2,33.4167,193.492,-79.9259],[1295.86,-1401.56,32.8833,189.829,-79.6487],[1277.6,-1302.95,32.35,186.114,-79.3582],[1258.05,-1200.44,31.7833,182.111,-79.0341],[1238.34,-1100.27,31.2167,178.051,-78.6926],[1218.49,-1002.5,30.65,173.935,-78.3323],[1197.3,-901.628,30.05,169.518,-77.9285],[1175.35,-800.831,29.4333,164.915,-77.4874],[1152.64,-700.395,28.8,160.125,-77.004],[1129.14,-600.617,28.15,155.145,-76.4725],[1104.86,-501.806,27.4833,149.972,-75.886],[1079.16,-401.955,26.7833,144.473,-75.2195],[1052.03,-301.7,26.05,138.645,-74.4582],[1023.44,-201.72,25.2833,132.485,-73.5836],[992.737,-100.736,24.4667,125.855,-72.5489],[960.53,-1.76679,23.6167,118.894,-71.3393],[924.881,99.5863,22.6833,111.196,-69.824],[886.373,199.547,21.6833,102.915,-67.9329],[843.668,299.033,20.5833,93.8125,-65.4467],[794.078,399.795,19.3167,83.4282,-61.8845],[734.84,499.722,17.8167,71.4744,-56.2946],[655.117,599.723,15.8167,56.839,-45.2023],[488.306,683.88,11.6833,40.635,-0.1543]]], - [71,692.316,[[1335.2,-2001.71,36.0333,210.08,-81.5031],[1320.14,-1902.02,35.55,206.986,-81.3085],[1304.44,-1800.52,35.05,203.738,-81.0993],[1288.62,-1700.69,34.55,200.442,-80.8816],[1272.68,-1602.56,34.05,197.099,-80.6548],[1256.08,-1502.98,33.5333,193.595,-80.4103],[1238.81,-1402.14,33,189.926,-80.1465],[1220.87,-1300.27,32.45,186.088,-79.8611],[1202.79,-1200.58,31.9,182.194,-79.5614],[1184.01,-1100.2,31.3333,178.125,-79.2362],[1165.09,-1002.2,30.7667,174,-78.8932],[1144.9,-901.086,30.1667,169.571,-78.5086],[1123.99,-800.04,29.55,164.957,-78.0885],[1102.92,-701.955,28.9333,160.28,-77.6406],[1080.53,-601.823,28.2833,155.286,-77.1352],[1056.81,-500.212,27.6,149.966,-76.5629],[1032.33,-400.069,26.9,144.447,-75.9276],[1007.06,-301.74,26.1833,138.729,-75.2191],[979.819,-201.327,25.4167,132.542,-74.3867],[951.169,-101.89,24.6167,126.017,-73.4227],[919.885,-0.419145,23.75,118.88,-72.2492],[886.529,99.723,22.8333,111.272,-70.8321],[850.46,198.813,21.85,103.068,-69.0647],[809.783,299.28,20.75,93.8804,-66.7019],[763.173,399.937,19.5,83.5082,-63.3596],[708.014,499.435,18.0333,71.613,-58.1707],[634.642,599.41,16.1,56.9988,-48.0205],[467.476,692.315,11.75,38.6971,-0.0755333]]], - [72,700.383,[[1271.92,-2001.04,36.1333,210.129,-81.93],[1257.61,-1901.22,35.65,207.03,-81.7452],[1243.19,-1802.94,35.1667,203.887,-81.5532],[1228.16,-1702.91,34.6667,200.588,-81.3467],[1212.51,-1601.34,34.15,197.128,-81.1242],[1196.74,-1501.6,33.6333,193.618,-80.892],[1180.33,-1400.61,33.1,189.942,-80.6412],[1163.8,-1301.64,32.5667,186.213,-80.3785],[1146.62,-1201.73,32.0167,182.312,-80.0941],[1128.78,-1101.11,31.45,178.236,-79.7856],[1110.27,-1000.02,30.8667,173.98,-79.4502],[1091.62,-901.5,30.2833,169.664,-79.0951],[1071.75,-800.189,29.6667,165.038,-78.6963],[1051.73,-701.836,29.05,160.349,-78.2712],[1030.46,-601.42,28.4,155.34,-77.7913],[1008.48,-501.948,27.7333,150.135,-77.2617],[985.214,-401.397,27.0333,144.599,-76.6595],[960.651,-300.402,26.3,138.727,-75.9715],[935.334,-201.779,25.55,132.65,-75.1984],[908.118,-101.863,24.75,126.095,-74.284],[878.972,-1.76793,23.9,119.06,-73.193],[847.29,99.068,22.9833,111.407,-71.8507],[813.029,198.909,22,103.144,-70.1751],[774.98,298.771,20.9167,94.0169,-67.9699],[731.304,399.331,19.6833,83.6663,-64.8487],[679.52,499.401,18.2333,71.7144,-59.9941],[611.657,599.624,16.35,57.0687,-50.6382],[456.641,699.958,12.1,36.824,-4.36766],[446.234,700.383,11.8167,36.7461,-0.0419169]]], - [73,708.075,[[1207.75,-2001.45,36.2333,210.208,-82.3615],[1194.2,-1901.49,35.75,207.106,-82.1865],[1180.54,-1803.07,35.2667,203.958,-82.0048],[1166.3,-1702.89,34.7667,200.654,-81.8093],[1151.48,-1601.16,34.25,197.189,-81.5987],[1136.54,-1501.26,33.7333,193.674,-81.3789],[1120.99,-1400.11,33.2,189.991,-81.1415],[1105.33,-1300.97,32.6667,186.255,-80.8928],[1089.06,-1200.88,32.1167,182.347,-80.6234],[1072.16,-1100.08,31.55,178.263,-80.3313],[1055.13,-1001.66,30.9833,174.12,-80.023],[1036.96,-900.1,30.3833,169.671,-79.6774],[1018.65,-801.292,29.7833,165.16,-79.3102],[999.173,-700.032,29.15,160.332,-78.8969],[979.545,-601.939,28.5167,155.438,-78.4543],[958.726,-502.155,27.85,150.218,-77.9533],[936.695,-401.273,27.15,144.665,-77.3836],[913.964,-302.182,26.4333,138.907,-76.7479],[889.456,-200.946,25.6667,132.671,-76.0006],[863.681,-100.643,24.8667,126.087,-75.1348],[836.078,-0.13277,24.0167,119.017,-74.1011],[806.62,99.3788,23.1167,111.46,-72.8532],[774.178,199.854,22.1333,103.142,-71.2673],[738.704,298.954,21.0667,94.0819,-69.2128],[697.912,399.232,19.85,83.7636,-66.3033],[649.453,499.658,18.4167,71.7733,-61.7702],[586.926,599.745,16.5833,57.15,-53.175],[469.145,699.856,13.1667,36.8818,-19.9775],[424.585,708.075,11.8833,34.7823,-0.0613647]]], - [74,715.383,[[1142.69,-2002.98,36.3333,210.317,-82.7971],[1129.9,-1902.86,35.85,207.212,-82.6321],[1116.56,-1800.91,35.35,203.951,-82.4548],[1103.12,-1700.63,34.85,200.642,-82.2702],[1089.58,-1602.04,34.35,197.284,-82.0779],[1075.48,-1501.98,33.8333,193.763,-81.8706],[1060.81,-1400.64,33.3,190.076,-81.6468],[1046.03,-1301.33,32.7667,186.334,-81.4123],[1030.67,-1201.06,32.2167,182.419,-81.1583],[1014.72,-1100.06,31.65,178.327,-80.8828],[998.647,-1001.45,31.0833,174.176,-80.592],[981.977,-902.464,30.5,169.843,-80.2753],[964.217,-800.655,29.8833,165.197,-79.9197],[946.32,-701.801,29.2667,160.485,-79.5403],[927.31,-600.852,28.6167,155.45,-79.1121],[907.661,-500.828,27.95,150.215,-78.6392],[887.365,-402.053,27.2667,144.777,-78.1148],[865.414,-300.339,26.5333,138.865,-77.5013],[842.788,-200.975,25.7833,132.742,-76.8115],[818.466,-100.261,24.9833,126.132,-75.9951],[792.931,-1.22999,24.15,119.168,-75.0405],[765.137,98.8837,23.25,111.572,-73.8658],[735.048,198.381,22.2833,103.345,-72.3994],[701.057,299.849,21.2,94.0734,-70.4345],[663.098,399.67,20,83.7971,-67.728],[618.448,499.167,18.6,71.9247,-63.5623],[560.546,599.831,16.8,57.233,-55.6356],[460.361,699.811,13.7167,36.9871,-28.0046],[402.534,715.382,11.95,32.8063,-0.143788]]], - [75,722.296,[[1076.35,-2002.13,36.4167,210.35,-83.2313],[1064.32,-1901.9,35.9333,207.24,-83.0763],[1052.2,-1803.21,35.45,204.085,-82.9152],[1039.57,-1702.76,34.95,200.773,-82.742],[1026.41,-1600.74,34.4333,197.298,-82.5553],[1013.16,-1500.55,33.9167,193.772,-82.3604],[999.798,-1402.23,33.4,190.195,-82.1567],[985.904,-1302.73,32.8667,186.448,-81.9366],[971.466,-1202.26,32.3167,182.528,-81.6981],[956.475,-1101.05,31.75,178.429,-81.4395],[941.369,-1002.23,31.1833,174.271,-81.1665],[925.25,-900.234,30.5833,169.805,-80.8604],[909.007,-800.99,29.9833,165.274,-80.5351],[892.184,-701.902,29.3667,160.552,-80.1789],[874.315,-600.704,28.7167,155.505,-79.7767],[855.846,-500.422,28.05,150.256,-79.3325],[836.768,-401.382,27.3667,144.803,-78.8397],[816.606,-301.648,26.65,139.008,-78.2768],[795.342,-201.881,25.9,132.865,-77.6299],[772.483,-100.734,25.1,126.23,-76.864],[748.484,-1.24735,24.2667,119.237,-75.968],[722.363,99.3628,23.3667,111.603,-74.8649],[694.085,199.398,22.4,103.328,-73.4869],[662.632,299.984,21.3333,94.1333,-71.6696],[627.459,399.36,20.15,83.9079,-69.1668],[586.007,498.998,18.7667,72.0289,-65.3106],[532.617,599.929,17,57.3091,-58.0256],[445.15,699.848,14.1333,37.0816,-34.2373],[380.086,722.294,12.0167,30.8188,-0.301973]]], - [76,728.807,[[1009.21,-2002.42,36.5,210.414,-83.6696],[997.955,-1902.07,36.0167,207.301,-83.5246],[986.614,-1803.26,35.5333,204.142,-83.374],[974.792,-1702.68,35.0333,200.826,-83.2119],[962.482,-1600.53,34.5167,197.347,-83.0374],[950.075,-1500.21,34,193.816,-82.855],[937.575,-1401.76,33.4833,190.233,-82.6645],[924.573,-1302.11,32.95,186.481,-82.4585],[911.061,-1201.49,32.4,182.554,-82.2355],[897.032,-1100.14,31.8333,178.448,-81.9935],[882.896,-1001.16,31.2667,174.283,-81.7381],[868.232,-901.805,30.6833,169.933,-81.4598],[853.034,-802.32,30.0833,165.394,-81.156],[836.868,-700.339,29.45,160.534,-80.8138],[820.576,-601.517,28.8167,155.605,-80.4473],[803.295,-500.96,28.15,150.344,-80.0322],[785.445,-401.635,27.4667,144.877,-79.5717],[766.58,-301.6,26.75,139.065,-79.0455],[746.685,-201.514,26,132.902,-78.4406],[725.297,-100.025,25.2,126.243,-77.7243],[702.843,-0.177953,24.3667,119.221,-76.8859],[678.857,99.0183,23.4833,111.694,-75.8737],[652.402,199.621,22.5167,103.374,-74.5862],[623.439,299.337,21.4667,94.2637,-72.9159],[590.538,399.602,20.2833,83.9527,-70.5793],[552.232,499.181,18.9167,72.0819,-67.0207],[503.714,599.247,17.2,57.5085,-60.4313],[426.222,699.75,14.4833,37.2115,-39.6446],[356.766,728.805,12.0667,28.8208,-0.227495]]], - [77,734.907,[[940.935,-2000.35,36.5667,210.402,-84.1071],[930.818,-1903.36,36.1,207.393,-83.9768],[919.896,-1801.04,35.6,204.121,-83.8318],[908.889,-1700.38,35.1,200.8,-83.6809],[897.798,-1601.41,34.6,197.429,-83.5237],[886.249,-1500.95,34.0833,193.895,-83.3541],[874.613,-1402.35,33.5667,190.307,-83.1769],[862.51,-1302.55,33.0333,186.55,-82.9853],[849.932,-1201.78,32.4833,182.618,-82.7779],[836.874,-1100.26,31.9167,178.506,-82.5527],[823.714,-1001.12,31.35,174.334,-82.3151],[810.064,-901.585,30.7667,169.976,-82.0562],[795.917,-801.922,30.1667,165.429,-81.7735],[781.266,-702.399,29.55,160.689,-81.4638],[765.703,-600.737,28.9,155.62,-81.114],[750.02,-502.452,28.25,150.479,-80.7377],[733,-400.441,27.55,144.864,-80.299],[715.439,-300.183,26.8333,139.036,-79.809],[697.332,-202.041,26.1,132.992,-79.2587],[677.426,-100.186,25.3,126.311,-78.5928],[656.947,-1.90014,24.4833,119.405,-77.8298],[634.204,99.6523,23.5833,111.703,-76.8716],[610.008,199.037,22.6333,103.485,-75.6954],[583.055,299.408,21.5833,94.3196,-74.1436],[552.87,399.084,20.4167,84.0756,-72.0044],[517.225,499.744,19.05,72.08,-68.6981],[472.959,599.475,17.3667,57.5515,-62.6927],[404.417,699.619,14.7833,37.347,-44.4803],[333.127,734.905,12.1167,26.8119,-0.218003]]], - [78,740.588,[[872.294,-2002.92,36.65,210.527,-84.5528],[862.599,-1902.36,36.1667,207.409,-84.4281],[852.83,-1803.33,35.6833,204.243,-84.2985],[842.647,-1702.52,35.1833,200.92,-84.159],[832.042,-1600.13,34.6667,197.433,-84.0088],[821.701,-1502.79,34.1667,194.008,-83.857],[810.587,-1400.88,33.6333,190.301,-83.6879],[799.387,-1300.98,33.1,186.538,-83.5106],[787.748,-1200.1,32.55,182.6,-83.3186],[776.02,-1101.43,32,178.603,-83.1165],[763.845,-1002.11,31.4333,174.425,-82.8969],[751.217,-902.388,30.85,170.061,-82.6576],[738.128,-802.531,30.25,165.507,-82.3963],[724.204,-700.152,29.6167,160.629,-82.102],[710.173,-600.931,28.9833,155.68,-81.7867],[695.664,-502.429,28.3333,150.528,-81.4387],[679.917,-400.184,27.6333,144.9,-81.033],[664.049,-301.972,26.9333,139.194,-80.591],[646.917,-201.292,26.1833,132.996,-80.0709],[628.885,-101.233,25.4,126.435,-79.4683],[609.554,-0.593161,24.5667,119.363,-78.7485],[588.902,99.4516,23.6833,111.773,-77.8786],[566.519,199.311,22.7333,103.517,-76.7916],[541.983,298.688,21.7,94.4469,-75.3813],[514.062,399.136,20.5333,84.1307,-73.4067],[481.496,499.575,19.1833,72.1676,-70.3917],[440.962,599.836,17.5167,57.5665,-64.9024],[380.038,699.783,15.0333,37.4011,-48.801],[309.176,740.585,12.1667,24.793,-0.289739]]], - [79,745.841,[[802.621,-2003.16,36.7167,210.578,-84.9977],[793.713,-1902.5,36.2333,207.457,-84.8832],[784.737,-1803.38,35.75,204.289,-84.7641],[775.381,-1702.47,35.25,200.962,-84.636],[765.954,-1603.25,34.75,197.585,-84.5026],[756.137,-1502.52,34.2333,194.043,-84.3587],[745.926,-1400.5,33.7,190.332,-84.2033],[735.635,-1300.49,33.1667,186.564,-84.0405],[725.267,-1202.52,32.6333,182.741,-83.8696],[714.166,-1100.7,32.0667,178.618,-83.6784],[702.98,-1001.26,31.5,174.434,-83.4767],[691.377,-901.413,30.9167,170.063,-83.2569],[679.351,-801.423,30.3167,165.501,-83.0168],[666.897,-701.562,29.7,160.743,-82.7537],[654.008,-602.114,29.0667,155.786,-82.4645],[640.336,-500.893,28.4,150.491,-82.1368],[626.214,-400.88,27.7167,144.986,-81.7731],[611.289,-300.118,27,139.13,-81.3573],[595.9,-201.455,26.2667,133.053,-80.8902],[579.335,-101.104,25.4833,126.473,-80.337],[561.576,-0.150861,24.65,119.379,-79.676],[542.965,98.3985,23.7833,111.906,-78.8932],[522.406,198.762,22.8333,103.615,-77.8968],[499.869,298.693,21.8,94.4988,-76.6034],[474.224,399.772,20.6333,84.1161,-74.7905],[444.682,499.801,19.3,72.1979,-72.0564],[408.202,599.47,17.6667,57.6948,-67.1306],[354.142,699.511,15.2667,37.5605,-52.978],[284.539,745.841,12.2,22.7645,-0.0539038]]], - [80,750.663,[[732.015,-2001.07,36.7667,210.554,-85.4423],[723.898,-1900.36,36.2833,207.429,-85.3378],[715.719,-1801.18,35.8,204.257,-85.2294],[707.194,-1700.21,35.3,200.926,-85.1126],[698.603,-1600.93,34.8,197.545,-84.9909],[689.658,-1500.15,34.2833,193.998,-84.8598],[680.645,-1401.22,33.7667,190.399,-84.7227],[671.271,-1301.09,33.2333,186.627,-84.5744],[661.826,-1202.99,32.7,182.8,-84.4188],[651.713,-1101.04,32.1333,178.673,-84.2448],[641.522,-1001.46,31.5667,174.483,-84.0611],[630.952,-901.474,30.9833,170.106,-83.861],[619.996,-801.337,30.3833,165.538,-83.6424],[608.65,-701.323,29.7667,160.773,-83.4028],[596.909,-601.717,29.1333,155.807,-83.1394],[584.454,-500.328,28.4667,150.503,-82.8409],[571.589,-400.141,27.7833,144.986,-82.5096],[558.309,-301.495,27.0833,139.254,-82.14],[543.972,-200.344,26.3333,133.025,-81.7051],[529.204,-101.875,25.5667,126.569,-81.2122],[513.028,-0.582924,24.7333,119.454,-80.611],[496.075,98.3214,23.8667,111.956,-79.8987],[477.349,199.077,22.9167,103.634,-78.9917],[456.821,299.439,21.8833,94.4744,-77.8135],[433.796,399.645,20.7333,84.18,-76.1867],[407.228,499.287,19.4167,72.3185,-73.734],[374.347,599.265,17.8,57.7902,-69.3098],[326.148,699.924,15.45,37.5367,-56.7313],[260.017,750.661,12.25,20.7269,-0.324048]]], - [81,755.046,[[660.842,-2000.16,36.8167,210.561,-85.8903],[653.775,-1902.83,36.35,207.542,-85.7994],[646.145,-1800.13,35.85,204.259,-85.6982],[638.713,-1702.44,35.3667,201.036,-85.5966],[630.967,-1603.04,34.8667,197.653,-85.487],[622.902,-1502.12,34.35,194.105,-85.3689],[614.775,-1403.07,33.8333,190.503,-85.2454],[606.322,-1302.79,33.3,186.729,-85.1118],[597.538,-1201.52,32.75,182.778,-84.9672],[588.686,-1102.46,32.2,178.768,-84.815],[579.498,-1002.73,31.6333,174.574,-84.6495],[569.966,-902.584,31.05,170.193,-84.4693],[560.088,-802.284,30.45,165.619,-84.2722],[549.857,-702.101,29.8333,160.848,-84.0565],[539.269,-602.321,29.2,155.875,-83.8191],[528.038,-500.746,28.5333,150.562,-83.5503],[516.437,-400.367,27.85,145.037,-83.2517],[504.463,-301.521,27.15,139.294,-82.9187],[491.535,-200.155,26.4,133.052,-82.5267],[478.218,-101.465,25.6333,126.58,-82.0824],[463.924,-1.90201,24.8167,119.59,-81.5518],[448.345,99.2281,23.9333,111.925,-80.8977],[431.756,198.562,23,103.719,-80.0948],[413.248,299.386,21.9667,94.5219,-79.0339],[392.791,398.74,20.8333,84.324,-77.5917],[368.84,499.188,19.5167,72.3798,-75.3864],[339.503,599.25,17.9167,57.8481,-71.4472],[297.291,699.574,15.6333,37.7008,-60.5115],[234.891,755.044,12.2833,18.6809,-0.264353]]], - [82,758.983,[[589.128,-2000.42,36.8667,210.601,-86.3415],[582.834,-1903.02,36.4,207.58,-86.2605],[576.039,-1800.25,35.9,204.295,-86.1705],[569.421,-1702.48,35.4167,201.07,-86.08],[562.523,-1603,34.9167,197.685,-85.9824],[555.34,-1502.01,34.4,194.133,-85.8772],[548.102,-1402.87,33.8833,190.528,-85.7673],[540.574,-1302.51,33.35,186.75,-85.6484],[532.752,-1201.15,32.8,182.796,-85.5196],[524.869,-1101.99,32.25,178.781,-85.3841],[516.686,-1002.17,31.6833,174.583,-85.2367],[508.198,-901.927,31.1,170.196,-85.0761],[499.4,-801.526,30.5,165.616,-84.9008],[490.289,-701.239,29.8833,160.838,-84.7086],[480.859,-601.35,29.25,155.858,-84.4972],[471.108,-502.159,28.6,150.672,-84.2639],[460.779,-401.569,27.9167,145.138,-83.9984],[449.862,-300.196,27.2,139.248,-83.6949],[438.606,-200.902,26.4667,133.133,-83.3537],[426.748,-101.968,25.7,126.648,-82.9585],[413.76,-0.165963,24.8667,119.498,-82.4763],[400.149,99.2735,24,111.957,-81.9046],[385.378,198.913,23.0667,103.725,-81.1898],[369.165,298.523,22.05,94.6427,-80.2618],[350.683,399.807,20.9,84.2463,-78.9593],[329.627,499.519,19.6,72.3795,-77.0189],[303.781,599.445,18.0167,57.8647,-73.55],[267.028,699.579,15.7833,37.7655,-64.0617],[209.549,758.981,12.3167,16.6271,-0.316962]]], - [83,762.469,[[516.903,-2001.88,36.9167,210.674,-86.7951],[511.19,-1900.95,36.4333,207.543,-86.7217],[505.432,-1801.54,35.95,204.365,-86.6455],[499.431,-1700.34,35.45,201.026,-86.5633],[493.383,-1600.83,34.95,197.637,-86.4778],[487.29,-1503.03,34.45,194.198,-86.3886],[480.742,-1400.62,33.9167,190.473,-86.2891],[474.142,-1300.23,33.3833,186.691,-86.1848],[467.493,-1201.87,32.85,182.853,-86.0753],[460.584,-1102.61,32.3,178.835,-85.9566],[453.412,-1002.68,31.7333,174.633,-85.8276],[445.973,-902.331,31.15,170.243,-85.687],[438.262,-801.814,30.55,165.658,-85.5333],[430.276,-701.407,29.9333,160.875,-85.3649],[422.012,-601.394,29.3,155.889,-85.1798],[413.466,-502.073,28.65,150.696,-84.9753],[404.413,-401.346,27.9667,145.155,-84.7427],[395.068,-302.14,27.2667,139.394,-84.4832],[384.979,-200.385,26.5167,133.13,-84.1777],[374.586,-101.293,25.75,126.632,-83.8313],[363.431,-1.29905,24.9333,119.611,-83.4174],[351.503,98.448,24.0667,112.053,-82.9174],[338.559,198.421,23.1333,103.799,-82.292],[324.117,299.96,22.1,94.5368,-81.465],[308.39,398.716,20.9833,84.4003,-80.3575],[289.94,499.109,19.6833,72.4697,-78.6625],[267.292,599.87,18.1,57.8369,-75.6256],[235.811,699.452,15.9167,37.8554,-67.5236],[183.999,762.467,12.35,14.5663,-0.530154]]], - [84,765.501,[[444.033,-2001.03,36.95,210.672,-87.2488],[439.127,-1900.05,36.4667,207.539,-87.1858],[434.184,-1800.61,35.9833,204.358,-87.1203],[429.204,-1702.71,35.5,201.13,-87.0522],[424.013,-1603.1,35,197.74,-86.9788],[418.609,-1501.96,34.4833,194.184,-86.8997],[413.163,-1402.68,33.9667,190.574,-86.817],[407.498,-1302.18,33.4333,186.791,-86.7276],[401.612,-1200.67,32.8833,182.829,-86.6308],[395.68,-1101.36,32.3333,178.808,-86.5288],[389.522,-1001.38,31.7667,174.602,-86.4179],[383.135,-900.971,31.1833,170.207,-86.2972],[376.515,-800.399,30.5833,165.617,-86.1652],[369.845,-702.612,29.9833,160.959,-86.0246],[362.752,-602.457,29.35,155.969,-85.8658],[355.227,-500.484,28.6833,150.636,-85.6858],[347.645,-402.107,28.0167,145.223,-85.4911],[339.432,-300.424,27.3,139.316,-85.263],[330.963,-200.811,26.5667,133.182,-85.0065],[322.042,-101.539,25.8,126.675,-84.7094],[312.467,-1.35117,24.9833,119.64,-84.3543],[302.228,98.6029,24.1167,112.067,-83.9252],[291.117,198.801,23.1833,103.793,-83.3885],[278.921,299.026,22.1667,94.6547,-82.6909],[265.221,399.619,21.0333,84.3306,-81.7265],[249.587,499.14,19.75,72.4973,-80.2897],[230.354,599.599,18.1833,57.9179,-77.7156],[203.543,699.826,16.0167,37.8094,-70.8231],[158.04,765.5,12.3667,12.4984,-0.235403]]], - [85,768.074,[[370.772,-2001.38,36.9833,210.703,-87.7048],[366.678,-1900.35,36.5,207.569,-87.6523],[362.553,-1800.85,36.0167,204.387,-87.5976],[358.398,-1702.91,35.5333,201.157,-87.5408],[354.066,-1603.24,35.0333,197.766,-87.4796],[349.556,-1502.05,34.5167,194.208,-87.4136],[345.011,-1402.71,34,190.596,-87.3447],[340.284,-1302.15,33.4667,186.81,-87.2701],[335.372,-1200.57,32.9167,182.846,-87.1892],[330.423,-1101.2,32.3667,178.822,-87.1041],[325.284,-1001.16,31.8,174.613,-87.0116],[319.954,-900.683,31.2167,170.215,-86.9108],[314.43,-800.042,30.6167,165.621,-86.8008],[308.864,-702.184,30.0167,160.959,-86.6834],[302.944,-601.954,29.3833,155.964,-86.5508],[296.823,-502.41,28.7333,150.76,-86.4046],[290.339,-401.445,28.05,145.206,-86.2381],[283.645,-301.994,27.35,139.431,-86.0523],[276.579,-202.189,26.6167,133.291,-85.8387],[268.974,-100.608,25.8333,126.633,-85.5855],[260.984,-0.320072,25.0167,119.587,-85.289],[252.439,99.7407,24.15,111.999,-84.9305],[243.334,198.331,23.2333,103.856,-84.4907],[233.158,298.835,22.2167,94.6963,-83.9093],[221.726,399.743,21.0833,84.3413,-83.1051],[208.682,499.623,19.8,72.461,-81.9059],[192.806,599.573,18.25,57.9525,-79.7815],[170.783,699.546,16.1167,37.9221,-74.1446],[131.957,768.074,12.3833,10.425,-0.0298872]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 260.984; -_maxRange = 1499.99; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg2.sqf deleted file mode 100644 index e57738a87c..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg2.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_wp_pd_chg2 -// Ammo: ace_arty_82mm_wp_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,674.683,[[3628.28,-2000.23,35.9333,220.116,-68.4589],[3589.06,-1901.99,35.45,217.467,-67.9984],[3548.16,-1801.97,34.95,214.698,-67.5062],[3505.55,-1700.33,34.4333,211.806,-66.9795],[3462.59,-1600.48,33.9167,208.885,-66.4337],[3419.27,-1502.44,33.4,205.935,-65.8678],[3372.77,-1400.08,32.85,202.765,-65.242],[3327.3,-1302.85,32.3167,199.664,-64.6108],[3278.59,-1201.74,31.75,196.342,-63.9125],[3228.01,-1100.07,31.1667,192.895,-63.1619],[3177,-1000.88,30.5833,189.423,-62.3774],[3124.08,-901.481,29.9833,185.83,-61.5326],[3069.23,-802.137,29.3667,182.119,-60.6217],[3010.91,-700.559,28.7167,178.19,-59.6116],[2952.07,-602.247,28.0667,174.251,-58.5466],[2888.13,-500.079,27.3667,170.005,-57.3337],[2823.62,-401.812,26.6667,165.762,-56.0472],[2753.87,-300.921,25.9167,161.233,-54.5804],[2680.33,-200.471,25.1333,156.535,-52.9428],[2602.93,-101.186,24.3167,151.69,-51.1107],[2518.39,-0.142747,23.4333,146.537,-48.9729],[2428.16,99.3457,22.5,141.224,-46.5221],[2328.84,199.081,21.4833,135.64,-43.6073],[2216.9,299.479,20.35,129.737,-40.0305],[2088.63,399.224,19.0667,123.58,-35.5303],[1931.64,499.619,17.5167,117.107,-29.4235],[1715.49,599.949,15.4167,110.526,-19.9979],[1303.9,674.681,11.5167,107.225,-0.0860006]]], - [46,697.532,[[3594.49,-2001.24,36.2333,220.354,-68.8936],[3555.99,-1902.6,35.75,217.696,-68.4426],[3515.84,-1802.16,35.25,214.916,-67.9602],[3474,-1700.08,34.7333,212.012,-67.4442],[3433.18,-1602.99,34.2333,209.173,-66.9269],[3389.28,-1501.29,33.7,206.114,-66.3547],[3345.02,-1401.54,33.1667,203.025,-65.7602],[3298.98,-1300.75,32.6167,199.81,-65.1225],[3252.57,-1202.09,32.0667,196.567,-64.4583],[3204.34,-1102.71,31.5,193.199,-63.7447],[3152.85,-1000.03,30.9,189.605,-62.9546],[3100.9,-900.007,30.3,185.988,-62.1268],[3047.05,-800.013,29.6833,182.248,-61.234],[2991.27,-700.325,29.05,178.389,-60.2698],[2933.53,-601.23,28.4,174.415,-59.2267],[2872.28,-500.62,27.7167,170.23,-58.0674],[2808.98,-401.4,27.0167,165.942,-56.808],[2742.06,-301.693,26.2833,161.462,-55.4044],[2669.91,-200.048,25.5,156.701,-53.8018],[2595.53,-101.499,24.7,151.884,-52.0453],[2514.18,-0.827988,23.8333,146.74,-49.9937],[2427.28,98.6562,22.9167,141.414,-47.6396],[2331.5,198.857,21.9167,135.785,-44.8355],[2225,298.884,20.8167,129.876,-41.4399],[2102.56,399.384,19.5667,123.628,-37.1513],[1957.07,499.146,18.1,117.117,-31.496],[1764.08,599.439,16.1833,110.354,-23.0756],[1300.55,697.531,11.7,105.262,-0.0421713]]], - [47,720.333,[[3558.64,-2003.12,36.5333,220.618,-69.3343],[3519.55,-1900.68,36.0333,217.858,-68.8772],[3481.46,-1803.19,35.55,215.16,-68.4206],[3440.41,-1700.67,35.0333,212.245,-67.9153],[3400.35,-1603.14,34.5333,209.394,-67.4088],[3357.28,-1500.96,34,206.321,-66.8485],[3313.84,-1400.73,33.4667,203.217,-66.2662],[3270.04,-1302.48,32.9333,200.083,-65.6609],[3223.12,-1200.28,32.3667,196.724,-64.9909],[3175.8,-1100.37,31.8,193.335,-64.2917],[3128.08,-1002.8,31.2333,189.92,-63.5614],[3077.14,-902.057,30.6333,186.279,-62.7521],[3024.32,-801.32,30.0167,182.513,-61.8791],[2969.61,-700.862,29.3833,178.624,-60.9359],[2912.96,-600.968,28.7333,174.616,-59.9153],[2854.36,-501.939,28.0667,170.495,-58.809],[2792.28,-401.749,27.3667,166.164,-57.5775],[2726.65,-301.014,26.6333,161.632,-56.2043],[2657.41,-200.394,25.8667,156.914,-54.6699],[2584.48,-100.591,25.0667,152.027,-52.9517],[2506.26,-0.447545,24.2167,146.899,-50.9829],[2422.62,98.8628,23.3167,141.57,-48.7223],[2330.31,199.342,22.3333,135.906,-46.0252],[2229.12,298.713,21.2667,130.011,-42.8052],[2112.39,399.637,20.05,123.698,-38.7232],[1976.41,499.126,18.65,117.141,-33.443],[1800.75,599.613,16.8667,110.226,-25.7761],[1504.41,699.945,13.9167,103.559,-11.0287],[1296.1,720.333,11.8833,103.274,-0.0152075]]], - [48,743.061,[[3519.43,-2002.46,36.8167,220.815,-69.7658],[3482.38,-1903.03,36.3333,218.138,-69.3335],[3443.73,-1801.76,35.8333,215.337,-68.8711],[3404.77,-1702.13,35.3333,212.505,-68.3926],[3364.17,-1600.91,34.8167,209.546,-67.8802],[3323.24,-1501.48,34.3,206.556,-67.3488],[3280.65,-1400.76,33.7667,203.437,-66.7791],[3237.7,-1302.01,33.2333,200.288,-66.1867],[3193.04,-1202.27,32.6833,197.01,-65.5507],[3146.64,-1101.76,32.1167,193.603,-64.8671],[3098.48,-1000.71,31.5333,190.067,-64.1315],[3049.91,-902.171,30.95,186.503,-63.3614],[2998.13,-800.754,30.3333,182.71,-62.5074],[2945.9,-702.212,29.7167,178.895,-61.6094],[2890.37,-601.503,29.0667,174.855,-60.6118],[2832.92,-501.63,28.4,170.697,-59.5301],[2772.07,-400.544,27.7,166.323,-58.3255],[2709.2,-301.124,26.9833,161.846,-57.013],[2642.82,-201.557,26.2333,157.174,-55.5464],[2571.35,-100.477,25.4333,152.22,-53.8676],[2496.21,-0.895318,24.6,147.113,-51.9815],[2415.78,98.2047,23.7167,141.786,-49.8143],[2326.9,198.923,22.75,136.095,-47.2249],[2229.34,299.029,21.7,130.136,-44.1281],[2119.75,398.727,20.5333,123.869,-40.3051],[1989.84,499.831,19.1667,117.152,-35.2685],[1829.28,599.836,17.5,110.162,-28.2605],[1587.53,699.957,15.0333,103.076,-16.2106],[1290.53,743.061,12.0667,101.263,-0.0063889]]], - [49,765.693,[[3478.17,-2002.71,37.1,221.037,-70.2034],[3441.84,-1902.91,36.6167,218.351,-69.7804],[3403.96,-1801.24,36.1167,215.54,-69.3281],[3365.77,-1701.2,35.6167,212.697,-68.8598],[3327.26,-1602.81,35.1167,209.822,-68.375],[3287.15,-1502.9,34.6,206.819,-67.8555],[3245.41,-1401.67,34.0667,203.687,-67.2986],[3203.31,-1302.41,33.5333,200.523,-66.7194],[3159.55,-1202.14,32.9833,197.229,-66.0975],[3114.08,-1101.07,32.4167,193.803,-65.429],[3068.23,-1002.33,31.85,190.347,-64.7305],[3019.27,-900.336,31.25,186.659,-63.9561],[2969.9,-801.02,30.65,182.943,-63.1435],[2918.72,-701.776,30.0333,179.1,-62.2657],[2864.31,-600.319,29.3833,175.027,-61.2903],[2809.43,-502.144,28.7333,170.938,-60.2595],[2749.81,-400.144,28.0333,166.523,-59.0824],[2689.66,-302.065,27.3333,162.104,-57.8302],[2624.64,-201.397,26.5833,157.377,-56.3978],[2556.11,-101.206,25.8,152.463,-54.7925],[2482.51,-0.256735,24.9667,147.28,-52.9504],[2405.25,98.4716,24.1,141.962,-50.8732],[2319.72,199.25,23.15,136.255,-48.3878],[2225.73,299.895,22.1167,130.244,-45.4104],[2121.54,399.359,20.9833,123.963,-41.7818],[2000.66,499.159,19.6833,117.289,-37.1049],[1851.54,599.74,18.1,110.176,-30.607],[1642.67,699.969,15.9167,102.827,-20.1909],[1283.83,765.692,12.25,99.2277,-0.0169598]]], - [50,788.2,[[3433.64,-2000.45,37.3667,221.194,-70.6328],[3398.05,-1900.3,36.8833,218.498,-70.2189],[3362.17,-1801.65,36.4,215.771,-69.7912],[3324.76,-1701.19,35.9,212.917,-69.3335],[3287.04,-1602.39,35.4,210.031,-68.8595],[3247.75,-1502.04,34.8833,207.015,-68.3516],[3206.85,-1400.36,34.35,203.869,-67.807],[3165.62,-1300.64,33.8167,200.69,-67.2406],[3124.05,-1202.91,33.2833,197.479,-66.6511],[3079.51,-1101.28,32.7167,194.035,-65.998],[3034.61,-1001.96,32.15,190.56,-65.3155],[2988,-902.172,31.5667,186.952,-64.5802],[2939.65,-802.164,30.9667,183.213,-63.7869],[2889.54,-702.201,30.35,179.343,-62.9298],[2837.63,-602.559,29.7167,175.344,-62.0022],[2782.52,-501.032,29.05,171.115,-60.97],[2725.53,-400.594,28.3667,166.766,-59.8477],[2666.65,-301.572,27.6667,162.302,-58.625],[2604.41,-202.094,26.9333,157.629,-57.2578],[2537.32,-100.718,26.15,152.653,-55.6909],[2466.73,-0.483327,25.3333,147.501,-53.9288],[2391.11,99.7056,24.4667,142.096,-51.9009],[2310.35,198.642,23.55,136.482,-49.5602],[2219.89,299.786,22.5333,130.427,-46.7033],[2120.98,398.893,21.4333,124.148,-43.2689],[2005.81,499.508,20.1667,117.384,-38.8238],[1867.74,599.653,18.6667,110.234,-32.8175],[1682.53,699.869,16.6833,102.714,-23.5867],[1276.01,788.198,12.4333,97.1695,-0.0483588]]], - [51,810.56,[[3388.29,-2002.64,37.65,221.469,-71.0822],[3353.45,-1902.09,37.1667,218.765,-70.6781],[3318.33,-1803.04,36.6833,216.029,-70.2604],[3281.7,-1702.16,36.1833,213.165,-69.8134],[3244.78,-1602.92,35.6833,210.268,-69.3505],[3206.31,-1502.13,35.1667,207.241,-68.8544],[3167.54,-1403.14,34.65,204.18,-68.3394],[3127.18,-1302.89,34.1167,200.987,-67.7867],[3085.22,-1201.57,33.5667,197.66,-67.1931],[3042.91,-1102.4,33.0167,194.3,-66.574],[2998.96,-1002.5,32.45,190.806,-65.9078],[2953.34,-902.103,31.8667,187.177,-65.1899],[2906.02,-801.463,31.2667,183.414,-64.4154],[2856.98,-700.844,30.65,179.517,-63.5782],[2806.17,-600.522,30.0167,175.489,-62.6719],[2753.59,-500.784,29.3667,171.332,-61.689],[2699.19,-401.934,28.7,167.051,-60.6209],[2641.58,-301.951,28,162.545,-59.4285],[2580.68,-201.455,27.2667,157.822,-58.0946],[2516.45,-101.109,26.5,152.893,-56.5985],[2448.81,-1.61948,25.7,147.777,-54.916],[2376.28,98.1597,24.85,142.392,-52.9786],[2297.31,198.815,23.9333,136.675,-50.6978],[2211.77,298.652,22.95,130.687,-48.0054],[2116.55,398.736,21.8667,124.33,-44.7106],[2006.96,499.838,20.6333,117.503,-40.4917],[1878.08,599.88,19.2,110.307,-34.8958],[1712.51,699.253,17.3833,102.727,-26.6578],[1404.19,799.921,14.0667,95.1837,-8.64925],[1265.46,810.56,12.6,95.1,-0.00360711]]], - [52,832.746,[[3339.68,-2002.38,37.9167,221.678,-71.5238],[3305.59,-1901.47,37.4333,218.966,-71.1291],[3271.23,-1802.05,36.95,216.22,-70.7212],[3235.4,-1700.79,36.45,213.346,-70.2846],[3199.27,-1601.16,35.95,210.438,-69.8324],[3162.85,-1503.21,35.45,207.496,-69.3637],[3123.69,-1400.58,34.9167,204.324,-68.8446],[3085.45,-1303.01,34.4,201.216,-68.3218],[3044.4,-1201.2,33.85,197.874,-67.7424],[3003.02,-1101.52,33.3,194.497,-67.1381],[2960.02,-1001.08,32.7333,190.984,-66.4876],[2915.4,-900.132,32.15,187.334,-65.7866],[2870.4,-801.693,31.5667,183.652,-65.0516],[2822.43,-700.401,30.95,179.73,-64.2349],[2774.06,-602,30.3333,175.78,-63.3744],[2722.64,-501.455,29.6833,171.591,-62.4163],[2669.44,-401.768,29.0167,167.274,-61.3749],[2613.11,-300.898,28.3167,162.726,-60.2117],[2554.92,-201.72,27.6,158.062,-58.9404],[2492.12,-100.278,26.8333,153.077,-57.4817],[2427.38,-1.67486,26.05,148.002,-55.8756],[2356.48,99.4646,25.2,142.538,-53.9866],[2280.69,199.81,24.3,136.828,-51.8025],[2198.5,299.745,23.3333,130.821,-49.2215],[2108.33,398.948,22.2833,124.503,-46.1091],[2005.64,498.903,21.1,117.731,-42.1692],[1884.21,599.584,19.7167,110.449,-36.9146],[1731.56,699.883,18,102.706,-29.3316],[1493.43,799.678,15.3667,94.7339,-15.4464],[1255.38,832.744,12.7833,92.996,-0.0793451]]], - [53,854.729,[[3289.04,-2003.18,38.1833,221.915,-71.9712],[3255.72,-1901.9,37.7,219.194,-71.5862],[3222.12,-1802.1,37.2167,216.44,-71.1882],[3187.09,-1700.44,36.7167,213.556,-70.7623],[3151.77,-1600.42,36.2167,210.637,-70.321],[3116.17,-1502.06,35.7167,207.684,-69.8636],[3079.08,-1402.19,35.2,204.598,-69.3731],[3040.49,-1301.02,34.6667,201.377,-68.8467],[3001.58,-1201.81,34.1333,198.12,-68.2986],[2961.12,-1101.61,33.5833,194.727,-67.7093],[2919.1,-1000.63,33.0167,191.196,-67.075],[2876.73,-901.977,32.45,187.631,-66.4112],[2831.49,-800.101,31.85,183.822,-65.6741],[2785.88,-700.914,31.25,179.981,-64.8993],[2738.6,-601.817,30.6333,176.004,-64.0606],[2688.35,-500.531,29.9833,171.784,-63.1265],[2636.37,-400.077,29.3167,167.431,-62.1108],[2582.62,-300.77,28.6333,162.952,-61.0038],[2525.77,-200.655,27.9167,158.242,-59.7648],[2465.75,-100.375,27.1667,153.311,-58.3743],[2402.49,-0.618178,26.3833,148.174,-56.8094],[2334.59,99.8372,25.55,142.741,-55.005],[2261.95,199.842,24.6667,137.045,-52.9176],[2183.07,299.841,23.7167,131.026,-50.4485],[2096.42,399.589,22.6833,124.66,-47.4663],[1999,499.371,21.5333,117.879,-43.7383],[1886.22,598.863,20.2167,110.65,-38.8741],[1746.04,699.131,18.6,102.843,-31.9357],[1542.08,799.982,16.2833,94.5349,-20.0648],[1242.62,854.727,12.95,90.8805,-0.078201]]], - [54,876.488,[[3235.25,-2001.55,38.4333,222.085,-72.4117],[3203.81,-1903.42,37.9667,219.451,-72.0492],[3170.99,-1803.23,37.4833,216.688,-71.6614],[3136.77,-1701.17,36.9833,213.795,-71.2462],[3102.27,-1600.74,36.4833,210.866,-70.8161],[3067.49,-1501.96,35.9833,207.902,-70.3702],[3031.26,-1401.66,35.4667,204.804,-69.8921],[2993.56,-1300.04,34.9333,201.569,-69.3788],[2955.55,-1200.38,34.4,198.298,-68.8444],[2917.23,-1102.72,33.8667,194.992,-68.2875],[2876.19,-1001.18,33.3,191.444,-67.6696],[2834.81,-901.965,32.7333,187.86,-67.023],[2791.86,-802.295,32.15,184.136,-66.3252],[2747.32,-702.422,31.55,180.272,-65.5711],[2701.15,-602.613,30.9333,176.269,-64.7547],[2652.08,-500.57,30.2833,172.018,-63.8452],[2602.59,-401.819,29.6333,167.742,-62.8813],[2550.12,-301.607,28.95,163.224,-61.8043],[2494.62,-200.535,28.2333,158.47,-60.5983],[2437.32,-101.444,27.5,153.598,-59.2755],[2375.58,-0.509828,26.7167,148.4,-57.7531],[2310.62,99.2335,25.9,143.004,-56.0329],[2241.06,198.866,25.0333,137.327,-54.042],[2165.44,298.895,24.1,131.304,-51.6848],[2082.27,399.148,23.0833,124.899,-48.8339],[1990,498.637,21.9667,118.126,-45.3173],[1882.81,599.022,20.6833,110.807,-40.7107],[1753.21,699.081,19.15,102.963,-34.3152],[1574.65,799.736,17.0667,94.5114,-23.9494],[1228.78,876.485,13.1167,88.7425,-0.10031]]], - [55,897.997,[[3179.45,-2001.04,38.6833,222.284,-72.8584],[3148.76,-1902.57,38.2167,219.641,-72.5052],[3116.72,-1802.03,37.7333,216.87,-72.1272],[3084.43,-1703,37.25,214.064,-71.7362],[3050.75,-1602.15,36.75,211.126,-71.3175],[3016.81,-1502.95,36.25,208.152,-70.8834],[2981.45,-1402.21,35.7333,205.043,-70.4178],[2944.65,-1300.12,35.2,201.795,-69.918],[2908.71,-1203.09,34.6833,198.613,-69.4141],[2870.15,-1101.86,34.1333,195.189,-68.8551],[2831.27,-1002.79,33.5833,191.728,-68.2712],[2789.7,-900.091,33,188.02,-67.6231],[2748.98,-802.718,32.4333,184.382,-66.963],[2705.51,-702.219,31.8333,180.495,-66.2289],[2660.46,-601.76,31.2167,176.466,-65.4341],[2613.81,-501.617,30.5833,172.296,-64.5718],[2565.52,-402.082,29.9333,167.987,-63.6342],[2514.33,-301.038,29.25,163.432,-62.5863],[2461.43,-201.408,28.55,158.746,-61.4406],[2405.54,-101.306,27.8167,153.826,-60.1543],[2346.6,-1.39872,27.05,148.681,-58.7058],[2283.25,99.6081,26.2333,143.216,-57.0336],[2216.71,198.714,25.3833,137.566,-55.1354],[2144.29,298.604,24.4667,131.548,-52.8861],[2064.53,399.175,23.4667,125.117,-50.162],[1975.92,499.526,22.3667,118.27,-46.7951],[1875.52,599.035,21.1333,110.993,-42.4936],[1754.77,699.188,19.6667,103.1,-36.5541],[1594.88,799.789,17.75,94.5436,-27.2981],[1212.4,897.996,13.2667,86.5916,-0.0396122]]], - [56,919.232,[[3121.66,-2001.67,38.9333,222.511,-73.311],[3091.73,-1902.86,38.4667,219.861,-72.9671],[3060.48,-1801.97,37.9833,217.082,-72.5991],[3028.98,-1702.57,37.5,214.267,-72.2185],[2996.14,-1601.34,37,211.319,-71.8109],[2963.03,-1501.77,36.5,208.334,-71.3882],[2928.54,-1400.62,35.9833,205.213,-70.9348],[2893.77,-1301.29,35.4667,202.054,-70.4636],[2857.59,-1200.69,34.9333,198.756,-69.9573],[2821.12,-1102.07,34.4,195.421,-69.4296],[2783.21,-1002.49,33.85,191.944,-68.8616],[2743.83,-902.171,33.2833,188.323,-68.2494],[2702.96,-801.351,32.7,184.559,-67.5885],[2660.57,-700.285,32.1,180.649,-66.874],[2617.83,-601.93,31.5,176.705,-66.1215],[2572.34,-501.096,30.8667,172.507,-65.2829],[2525.26,-400.844,30.2167,168.167,-64.3709],[2476.57,-301.478,29.55,163.687,-63.3768],[2425.01,-200.966,28.85,158.961,-62.2632],[2371.76,-102.179,28.1333,154.106,-61.0418],[2314.31,-1.18216,27.3667,148.905,-59.6347],[2253.83,98.9688,26.5667,143.487,-58.0437],[2188.98,199.429,25.7167,137.759,-56.2],[2119.7,299.016,24.8167,131.754,-54.0544],[2043.28,399.727,23.8333,125.306,-51.4527],[1959.58,499.265,22.7667,118.506,-48.2838],[1864.46,598.982,21.5667,111.199,-44.2242],[1750.92,699.728,20.15,103.226,-38.6576],[1606.2,799.977,18.3667,94.6198,-30.3033],[1361.36,899.861,15.4,85.5627,-13.0558],[1195,919.232,13.4167,84.4181,-0.000786759]]], - [57,940.167,[[3061.86,-2003.5,39.1833,222.766,-73.7693],[3031.64,-1900.82,38.7,220.015,-73.4229],[3002.24,-1803.08,38.2333,217.323,-73.0773],[2971.55,-1703.31,37.75,214.5,-72.7073],[2939.54,-1601.69,37.25,211.543,-72.3109],[2907.28,-1501.72,36.75,208.549,-71.8999],[2873.67,-1400.17,36.2333,205.416,-71.459],[2839.79,-1300.43,35.7167,202.245,-71.0007],[2805.64,-1202.52,35.2,199.037,-70.5239],[2769,-1100.34,34.65,195.583,-69.9949],[2732.05,-1000.3,34.1,192.09,-69.4423],[2694.81,-902.441,33.55,188.559,-68.8644],[2654.99,-801.059,32.9667,184.775,-68.2221],[2614.84,-702.196,32.3833,180.953,-67.5473],[2572.05,-600.465,31.7667,176.875,-66.7959],[2528.9,-501.633,31.15,172.761,-66.0024],[2483.04,-400.646,30.5,168.391,-65.1166],[2435.61,-300.518,29.8333,163.877,-64.1506],[2386.59,-201.565,29.15,159.225,-63.0947],[2334.73,-101.846,28.4333,154.325,-61.9088],[2280,-2.00741,27.6833,149.186,-60.5728],[2221.1,99.3169,26.8833,143.704,-59.0288],[2159.21,199.102,26.05,138.014,-57.2748],[2093,298.357,25.1667,132.03,-55.2328],[2019.88,399.176,24.2,125.574,-52.7537],[1939.69,499.307,23.15,118.729,-49.7301],[1849.7,598.932,21.9833,111.416,-45.9047],[1743.15,699.818,20.6167,103.409,-40.7013],[1611.67,799.376,18.95,94.8077,-33.1443],[1410.15,899.937,16.4333,85.416,-19.0223],[1177.93,940.165,13.5833,82.2137,-0.0997688]]], - [58,960.778,[[2999.03,-2002.98,39.4167,222.957,-74.2218],[2970.63,-1903.51,38.95,220.294,-73.8969],[2940.99,-1801.92,38.4667,217.499,-73.5491],[2911.1,-1701.82,37.9833,214.667,-73.1894],[2880.98,-1603.23,37.5,211.8,-72.8171],[2849.57,-1502.86,37,208.796,-72.418],[2816.86,-1400.88,36.4833,205.653,-71.9898],[2783.88,-1300.71,35.9667,202.471,-71.5446],[2750.64,-1202.37,35.45,199.25,-71.0816],[2716.05,-1102.81,34.9167,195.888,-70.5835],[2680.09,-1002.24,34.3667,192.38,-70.0473],[2642.74,-900.892,33.8,188.725,-69.4692],[2605.09,-801.88,33.2333,185.031,-68.8632],[2566.01,-702.435,32.65,181.189,-68.2082],[2524.36,-600.08,32.0333,177.087,-67.4787],[2482.37,-500.62,31.4167,172.948,-66.7082],[2438.88,-401.529,30.7833,168.661,-65.8704],[2392.73,-300.62,30.1167,164.115,-64.9333],[2345.02,-200.859,29.4333,159.425,-63.9086],[2294.56,-100.284,28.7167,154.482,-62.7571],[2242.48,-1.72856,27.9833,149.408,-61.4892],[2186.38,98.603,27.2,143.981,-60.0234],[2126.16,199.648,26.3667,138.22,-58.3229],[2062.98,298.418,25.5,132.263,-56.3804],[1993.09,399.172,24.55,125.81,-54.0196],[1916.35,499.708,23.5167,118.931,-51.1363],[1831.35,598.953,22.3833,111.637,-47.5369],[1731.58,699.549,21.0667,103.637,-42.6859],[1610.24,799.255,19.4833,94.9841,-35.743],[1436.73,899.73,17.25,85.448,-23.6434],[1158.43,960.776,13.7333,79.9964,-0.114373]]], - [59,981.046,[[2933.26,-2000.12,39.6333,223.083,-74.6692],[2905.63,-1900.37,39.1667,220.411,-74.3534],[2877.78,-1801.99,38.7,217.705,-74.0273],[2848.72,-1701.55,38.2167,214.866,-73.678],[2819.42,-1602.61,37.7333,211.989,-73.3166],[2788.87,-1501.87,37.2333,208.976,-72.929],[2758.08,-1402.79,36.7333,205.924,-72.5269],[2726.01,-1302.18,36.2167,202.731,-72.0952],[2692.64,-1200.25,35.6833,199.395,-71.6312],[2659,-1100.28,35.15,196.018,-71.1475],[2625.09,-1002.32,34.6167,192.601,-70.6427],[2588.77,-900.474,34.05,188.93,-70.0818],[2552.15,-800.956,33.4833,185.218,-69.4937],[2514.15,-700.983,32.9,181.355,-68.858],[2474.75,-600.81,32.3,177.343,-68.1695],[2433.92,-500.703,31.6833,173.179,-67.4224],[2391.64,-400.941,31.05,168.864,-66.6099],[2347.89,-301.818,30.4,164.401,-65.7242],[2301.51,-201.228,29.7167,159.676,-64.7314],[2253.6,-102.087,29.0167,154.807,-63.6422],[2201.84,-0.313192,28.2667,149.569,-62.3858],[2148.46,98.8944,27.5,144.202,-60.995],[2091.11,199.122,26.6833,138.489,-59.381],[2029.71,299.243,25.8167,132.45,-57.4996],[1962.99,399.768,24.8833,126.008,-55.2526],[1890.84,498.947,23.8833,119.221,-52.5528],[1809.5,599.114,22.7667,111.855,-49.1233],[1716.29,699.008,21.5,103.899,-44.6124],[1603.47,799.117,19.9833,95.1858,-38.1892],[1450.28,899.42,17.95,85.5713,-27.5621],[1136.59,981.045,13.8667,77.7647,-0.0372562]]], - [60,1000.94,[[2866.54,-2002.14,39.8667,223.333,-75.1337],[2839.7,-1902.05,39.4,220.656,-74.8276],[2812.65,-1803.33,38.9333,217.943,-74.5115],[2784.41,-1702.53,38.45,215.096,-74.1729],[2755.95,-1603.24,37.9667,212.212,-73.8225],[2726.27,-1502.13,37.4667,209.189,-73.4468],[2696.35,-1402.67,36.9667,206.128,-73.0569],[2665.2,-1301.67,36.45,202.924,-72.6383],[2633.79,-1202.49,35.9333,199.68,-72.2027],[2601.11,-1102.05,35.4,196.291,-71.7342],[2567.14,-1000.57,34.85,192.754,-71.2296],[2532.9,-901.242,34.3,189.175,-70.7018],[2497.33,-801.202,33.7333,185.445,-70.1321],[2460.42,-700.686,33.15,181.564,-69.516],[2423.22,-602.711,32.5667,177.642,-68.8677],[2383.56,-501.94,31.95,173.455,-68.1445],[2342.5,-401.49,31.3167,169.115,-67.3579],[2300.01,-301.653,30.6667,164.621,-66.5002],[2254.97,-200.305,29.9833,159.861,-65.5384],[2208.44,-100.38,29.2833,154.953,-64.4828],[2160.41,-2.22096,28.5667,149.903,-63.3207],[2108.59,98.0748,27.8,144.483,-61.9761],[2052.91,199.473,26.9833,138.705,-60.4146],[1994.45,298.961,26.1333,132.706,-58.6296],[1930.84,399.232,25.2167,126.282,-56.4962],[1861.99,498.573,24.2333,119.485,-53.9311],[1784.23,599.462,23.1333,112.063,-50.6663],[1696.19,699.521,21.9,104.083,-46.4209],[1591.57,799.226,20.45,95.3824,-40.4898],[1454.06,899.316,18.5667,85.7247,-30.9981],[1146.48,999.992,14.4333,75.4429,-3.21031],[1115.06,1000.94,14.0167,75.5043,-0.109116]]], - [61,1020.44,[[2796.94,-2001.86,40.0833,223.519,-75.5933],[2770.89,-1901.48,39.6167,220.835,-75.2966],[2744.63,-1802.45,39.15,218.115,-74.9903],[2717.22,-1701.34,38.6667,215.26,-74.6622],[2689.6,-1601.73,38.1833,212.368,-74.3226],[2660.79,-1500.29,37.6833,209.335,-73.9585],[2631.76,-1400.5,37.1833,206.263,-73.5806],[2602.5,-1302.39,36.6833,203.152,-73.1881],[2572.02,-1202.8,36.1667,199.898,-72.7664],[2540.32,-1101.93,35.6333,196.496,-72.3127],[2507.35,-1000,35.0833,192.944,-71.8241],[2474.12,-900.229,34.5333,189.35,-71.3129],[2440.62,-802.643,33.9833,185.714,-70.7776],[2404.81,-701.568,33.4,181.815,-70.1816],[2367.68,-600.251,32.8,177.76,-69.5359],[2330.24,-501.656,32.2,173.664,-68.8545],[2290.41,-400.581,31.5667,169.297,-68.093],[2249.19,-300.096,30.9167,164.774,-67.2626],[2206.56,-200.505,30.25,160.098,-66.3545],[2162.5,-102.128,29.5667,155.27,-65.3585],[2114.83,-0.784035,28.8333,150.058,-64.2087],[2065.66,98.2627,28.0833,144.706,-62.9361],[2012.76,198.707,27.2833,138.985,-61.458],[1956.07,299.454,26.4333,132.912,-59.7332],[1895.52,399.312,25.5333,126.515,-57.7091],[1829.89,498.643,24.5667,119.719,-55.2736],[1756.8,598.579,23.5,112.368,-52.2194],[1672.63,699.991,22.2833,104.277,-48.1796],[1574.76,799.837,20.8833,95.546,-42.6522],[1449.86,899.686,19.1167,85.8642,-34.066],[1239.32,999.848,16.1833,75.0976,-15.397],[1091.26,1020.44,14.15,73.2297,-0.0879056]]], - [62,1039.52,[[2725.42,-2002.92,40.3,223.736,-76.0587],[2700.17,-1902.23,39.8333,221.046,-75.7717],[2674.72,-1802.89,39.3667,218.32,-75.4754],[2648.16,-1701.46,38.8833,215.458,-75.1579],[2621.38,-1601.52,38.4,212.557,-74.8294],[2594.39,-1503.1,37.9167,209.618,-74.489],[2566.26,-1402.91,37.4167,206.538,-74.1237],[2536.95,-1301.14,36.9,203.313,-73.7315],[2507.41,-1201.19,36.3833,200.047,-73.3233],[2477.64,-1103.07,35.8667,196.739,-72.8982],[2445.69,-1000.68,35.3167,193.175,-72.4258],[2413.49,-900.444,34.7667,189.566,-71.9316],[2381.03,-802.388,34.2167,185.915,-71.414],[2346.32,-700.811,33.6333,181.997,-70.8376],[2311.34,-601.763,33.05,178.036,-70.2308],[2275.07,-502.564,32.45,173.918,-69.5725],[2236.47,-400.846,31.8167,169.527,-68.8368],[2197.55,-302.246,31.1833,165.094,-68.0554],[2156.25,-201.876,30.5167,160.386,-67.1789],[2112.53,-100.32,29.8167,155.404,-66.1931],[2067.39,-0.473528,29.1,150.269,-65.1068],[2019.76,99.4763,28.35,144.868,-63.8771],[1969.58,198.836,27.5667,139.21,-62.479],[1915.75,298.808,26.7333,133.187,-60.8471],[1858.19,398.232,25.85,126.823,-58.9319],[1794.64,499.197,24.8833,119.918,-56.5832],[1724.98,599.443,23.8333,112.541,-53.6814],[1646.84,699.143,22.6667,104.585,-49.9486],[1555.52,798.919,21.3167,95.8593,-44.8238],[1440.4,899.525,19.6333,86.0818,-36.9608],[1265.94,999.792,17.1167,75.1312,-21.6257],[1066.51,1039.52,14.2833,70.934,-0.0971598]]], - [63,1058.17,[[2651.15,-2001.72,40.5,223.889,-76.52],[2626.7,-1900.77,40.0333,221.192,-76.2425],[2602.06,-1801.16,39.5667,218.459,-75.956],[2577.22,-1702.92,39.1,215.688,-75.6598],[2551.3,-1602.65,38.6167,212.78,-75.3424],[2524.28,-1500.51,38.1167,209.731,-75.0021],[2497.04,-1400.01,37.6167,206.641,-74.6488],[2469.58,-1301.19,37.1167,203.51,-74.2819],[2440.99,-1200.86,36.6,200.233,-73.8875],[2412.17,-1102.36,36.0833,196.914,-73.4768],[2382.18,-1002.64,35.55,193.445,-73.0344],[2351.02,-901.924,35,189.823,-72.5574],[2318.65,-800.431,34.4333,186.046,-72.0423],[2286.02,-701.286,33.8667,182.223,-71.5015],[2252.16,-601.714,33.2833,178.243,-70.9156],[2217.06,-501.97,32.6833,174.105,-70.2799],[2180.69,-402.324,32.0667,169.806,-69.5886],[2142.04,-300.485,31.4167,165.229,-68.8145],[2103.07,-201.975,30.7667,160.609,-67.9893],[2061.77,-102.055,30.0833,155.712,-67.0613],[2018.1,-1.33143,29.3667,150.538,-66.0143],[1972.02,99.5454,28.6167,145.09,-64.8286],[1923.47,199.883,27.8333,139.377,-63.4795],[1872.44,298.943,27.0167,133.41,-61.9369],[1816.76,399.618,26.1333,126.966,-60.0895],[1757.41,498.574,25.2,120.199,-57.9038],[1691.11,599.107,24.1667,112.805,-55.1553],[1616.64,699.667,23.0167,104.78,-51.6128],[1530.54,799.928,21.7,96.0014,-46.7978],[1425.91,899.133,20.1167,86.34,-39.6873],[1274.25,999.866,17.85,75.2467,-26.4561],[1039.65,1058.17,14.4,68.6234,-0.00379139]]], - [64,1076.35,[[2575.02,-2001.92,40.7,224.073,-76.9873],[2551.38,-1900.68,40.2333,221.371,-76.7196],[2527.56,-1800.79,39.7667,218.631,-76.4429],[2503.56,-1702.27,39.3,215.854,-76.1571],[2478.5,-1601.7,38.8167,212.938,-75.8507],[2453.25,-1502.63,38.3333,209.983,-75.5333],[2426.92,-1401.77,37.8333,206.885,-75.1927],[2400.38,-1302.57,37.3333,203.745,-74.8389],[2372.75,-1201.84,36.8167,200.458,-74.4586],[2344.89,-1102.95,36.3,197.129,-74.0624],[2315.91,-1002.83,35.7667,193.648,-73.6358],[2285.79,-901.677,35.2167,190.012,-73.1757],[2255.42,-802.703,34.6667,186.332,-72.6938],[2222.96,-700.142,34.0833,182.38,-72.1569],[2190.23,-600.101,33.5,178.382,-71.5916],[2157.25,-502.618,32.9167,174.338,-70.9956],[2122.1,-402.388,32.3,170.017,-70.3292],[2085.71,-302.514,31.6667,165.533,-69.6026],[2047.09,-200.791,31,160.766,-68.7871],[2007.18,-100.205,30.3167,155.835,-67.8918],[1965.97,-1.0884,29.6167,150.743,-66.9058],[1922.43,98.4262,28.8833,145.374,-65.7893],[1875.53,199.767,28.1,139.608,-64.4908],[1826.23,299.884,27.2833,133.579,-63.0049],[1773.46,399.854,26.4167,127.181,-61.2591],[1717.16,498.453,25.5,120.441,-59.1934],[1654.17,599.096,24.4833,113.043,-56.5927],[1584.34,698.915,23.3667,105.082,-53.2881],[1503.33,799.556,22.0833,96.2738,-48.7842],[1405.55,899.752,20.55,86.5047,-42.1725],[1272.2,999.687,18.4833,75.4428,-30.6155],[1013.01,1076.35,14.5333,66.2863,-0.0799326]]], - [65,1094.06,[[2497.06,-2003.55,40.9,224.29,-77.4605],[2474.25,-1902.02,40.4333,221.583,-77.2025],[2451.26,-1801.83,39.9667,218.837,-76.936],[2428.09,-1703.02,39.5,216.054,-76.6606],[2403.91,-1602.13,39.0167,213.131,-76.3655],[2379.53,-1502.75,38.5333,210.168,-76.0597],[2354.12,-1401.56,38.0333,207.062,-75.7315],[2328.5,-1302.03,37.5333,203.913,-75.3905],[2301.83,-1200.96,37.0167,200.616,-75.0241],[2274.94,-1101.72,36.5,197.275,-74.6423],[2246.97,-1001.22,35.9667,193.782,-74.2311],[2218.78,-902.742,35.4333,190.244,-73.8013],[2188.58,-800.341,34.8667,186.437,-73.3229],[2158.15,-700.278,34.3,182.582,-72.8204],[2127.47,-602.588,33.7333,178.681,-72.292],[2094.74,-501.779,33.1333,174.503,-71.702],[2060.82,-401.026,32.5167,170.16,-71.0601],[2025.7,-300.61,31.8833,165.65,-70.3599],[1989.37,-200.825,31.2333,160.975,-69.5942],[1951.8,-101.977,30.5667,156.134,-68.7543],[1912.04,-2.0549,29.8667,151.007,-67.8066],[1870.04,98.312,29.1333,145.596,-66.733],[1825.77,198.45,28.3667,139.904,-65.5116],[1778.21,299.651,27.55,133.816,-64.0839],[1728.29,398.899,26.7,127.47,-62.4391],[1673.99,498.873,25.7833,120.641,-60.4548],[1614.24,599.454,24.7833,113.249,-57.9965],[1547.92,699.714,23.6833,105.252,-54.8686],[1472.86,799,22.45,96.564,-50.7158],[1381.7,899.738,20.9667,86.7414,-44.5891],[1261.55,999.936,19.0333,75.618,-34.2422],[984.355,1094.06,14.65,63.9343,-0.0515912]]], - [66,1111.26,[[2416.49,-2002.97,41.0833,224.443,-77.9304],[2394.51,-1901.19,40.6167,221.73,-77.6821],[2372.35,-1800.75,40.15,218.978,-77.4256],[2350.02,-1701.67,39.6833,216.188,-77.1605],[2326.71,-1600.51,39.2,213.258,-76.8764],[2303.22,-1500.86,38.7167,210.287,-76.582],[2279.54,-1402.74,38.2333,207.276,-76.2768],[2254.86,-1302.87,37.7333,204.119,-75.949],[2229.16,-1201.44,37.2167,200.813,-75.5965],[2203.25,-1101.83,36.7,197.462,-75.2294],[2176.3,-1000.96,36.1667,193.957,-74.8339],[2149.14,-902.098,35.6333,190.406,-74.4205],[2120.9,-802.278,35.0833,186.698,-73.9742],[2091.58,-701.732,34.5167,182.829,-73.4914],[2061.16,-600.703,33.9333,178.797,-72.9684],[2030.49,-502.223,33.35,174.716,-72.4167],[1997.82,-400.929,32.7333,170.352,-71.7998],[1964.88,-302.569,32.1167,165.939,-71.145],[1929.88,-202.116,31.4667,161.238,-70.4099],[1892.79,-100.135,30.7833,156.246,-69.5826],[1855.4,-1.92256,30.1,151.207,-68.6931],[1814.94,99.2196,29.3667,145.756,-67.6616],[1773.23,198.034,28.6167,140.142,-66.5139],[1728.36,298.201,27.8167,134.123,-65.1725],[1680.29,398.618,26.9667,127.709,-63.5954],[1628.01,499.864,26.05,120.796,-61.6905],[1572.4,598.591,25.0833,113.545,-59.4116],[1509.52,699.273,24,105.523,-56.4616],[1438.26,799.604,22.7833,96.7462,-52.5363],[1354.48,899.175,21.3667,87.0383,-46.9373],[1245.9,999.262,19.55,75.9215,-37.6659],[1047.86,1099.78,16.2833,62.9115,-13.6855],[954.823,1111.25,14.7667,61.5623,-0.0593783]]], - [67,1127.93,[[2333.4,-2000.21,41.25,224.533,-78.3977],[2313,-1901.83,40.8,221.911,-78.1677],[2291.69,-1801.12,40.3333,219.154,-77.9214],[2270.21,-1701.77,39.8667,216.358,-77.6668],[2247.78,-1600.33,39.3833,213.421,-77.3939],[2225.19,-1500.4,38.9,210.443,-77.1111],[2202.41,-1401.98,38.4167,207.424,-76.8179],[2178.67,-1301.81,37.9167,204.258,-76.503],[2153.95,-1200.07,37.4,200.942,-76.1644],[2129.02,-1100.15,36.8833,197.58,-75.8117],[2103.91,-1002.08,36.3667,194.174,-75.4438],[2077.78,-902.816,35.8333,190.612,-75.0471],[2050.63,-802.583,35.2833,186.891,-74.6187],[2022.43,-701.607,34.7167,183.008,-74.1554],[1993.17,-600.132,34.1333,178.959,-73.6533],[1963.67,-501.201,33.55,174.861,-73.1236],[1933.1,-402.138,32.95,170.595,-72.5476],[1900.57,-300.58,32.3167,166.04,-71.9022],[1867.78,-202.158,31.6833,161.435,-71.2147],[1832.98,-101.996,31.0167,156.536,-70.441],[1796.15,-0.680725,30.3167,151.342,-69.5673],[1758.13,98.8948,29.6,145.977,-68.6003],[1718.03,198.535,28.85,140.319,-67.5],[1674.89,299.59,28.05,134.247,-66.2131],[1629.58,399.033,27.2167,127.896,-64.7301],[1580.24,499.653,26.3167,121.03,-62.9385],[1526.79,599.77,25.35,113.678,-60.7548],[1468.22,699.036,24.3,105.771,-58.0168],[1401.62,798.893,23.1167,97.046,-54.3688],[1323.03,899.238,21.7333,87.2701,-49.148],[1223.55,999.637,20,76.1094,-40.7028],[1064.68,1099.72,17.2667,63.0164,-21.754],[924.418,1127.93,14.8833,59.1705,-0.107818]]], - [68,1144.06,[[2249.34,-2002.61,41.4333,224.753,-78.8793],[2229.03,-1900.34,40.9667,222.029,-78.6506],[2209.3,-1802.98,40.5167,219.365,-78.4229],[2188.68,-1703.35,40.05,216.563,-78.1789],[2167.15,-1601.61,39.5667,213.621,-77.9175],[2145.46,-1501.38,39.0833,210.636,-77.6465],[2123.6,-1402.67,38.6,207.61,-77.3656],[2100.8,-1302.18,38.1,204.437,-77.0638],[2077.07,-1200.11,37.5833,201.111,-76.7393],[2053.92,-1103.06,37.0833,197.85,-76.4123],[2029.03,-1001.45,36.55,194.324,-76.0486],[2003.95,-901.844,36.0167,190.75,-75.6683],[1977.88,-801.249,35.4667,187.016,-75.2576],[1951.61,-702.844,34.9167,183.233,-74.8268],[1923.52,-600.905,34.3333,179.17,-74.346],[1895.21,-501.506,33.75,175.055,-73.8388],[1865.86,-401.956,33.15,170.77,-73.2871],[1835.46,-302.526,32.5333,166.315,-72.6856],[1803.16,-200.936,31.8833,161.564,-72.01],[1769.76,-100.218,31.2167,156.638,-71.2684],[1735.26,-0.693511,30.5333,151.536,-70.4514],[1698.77,99.5883,29.8167,146.135,-69.5256],[1660.28,199.974,29.0667,140.435,-68.4716],[1619.75,299.767,28.2833,134.439,-67.2652],[1577.15,398.223,27.4667,128.157,-65.8756],[1530.69,498.205,26.5833,121.344,-64.1965],[1479.41,599.746,25.6167,113.898,-62.1112],[1424.12,699.051,24.5833,105.994,-59.537],[1361.14,799.521,23.4167,97.2182,-56.101],[1288.51,898.983,22.0833,87.5328,-51.2997],[1196.81,999.905,20.4167,76.3152,-43.5645],[1061.37,1099.77,17.9833,63.1909,-27.582],[892.2,1144.06,14.9833,56.7635,-0.0377789]]], - [69,1159.62,[[2162.84,-2002.87,41.6,224.91,-79.3584],[2143.39,-1900.36,41.1333,222.181,-79.1396],[2124.48,-1802.77,40.6833,219.512,-78.9217],[2104.72,-1702.89,40.2167,216.705,-78.6883],[2084.1,-1600.9,39.7333,213.755,-78.4381],[2063.32,-1500.41,39.25,210.764,-78.1789],[2042.37,-1401.44,38.7667,207.731,-77.91],[2020.53,-1300.68,38.2667,204.549,-77.6212],[1998.53,-1201.6,37.7667,201.322,-77.3208],[1975.61,-1101,37.25,197.942,-76.9976],[1952.51,-1002.25,36.7333,194.516,-76.6605],[1928.49,-902.282,36.2,190.932,-76.297],[1903.52,-801.309,35.65,187.186,-75.9043],[1878.35,-702.522,35.1,183.39,-75.4923],[1851.44,-600.175,34.5167,179.312,-75.0325],[1824.33,-500.363,33.9333,175.18,-74.5473],[1796.21,-400.386,33.3333,170.877,-74.0196],[1767.09,-300.512,32.7167,166.4,-73.444],[1736.94,-201.024,32.0833,161.748,-72.8146],[1705.76,-102.218,31.4333,156.92,-72.1242],[1672.72,-2.00442,30.75,151.79,-71.3446],[1637.78,99.0077,30.0333,146.355,-70.4608],[1601.74,197.968,29.3,140.744,-69.4777],[1562.94,298.685,28.5167,134.702,-68.3274],[1522.15,398.115,27.7,128.364,-67.0017],[1477.66,499.159,26.8167,121.481,-65.3984],[1430.26,598.47,25.8833,114.205,-63.4784],[1377.34,699.352,24.85,106.185,-61.0254],[1318.79,798.87,23.7167,97.5019,-57.8461],[1250.15,899.643,22.4,87.6965,-53.3311],[1166.81,999.37,20.8167,76.6176,-46.3457],[1047.97,1099.55,18.5833,63.4382,-32.4769],[859.202,1159.62,15.0833,54.3373,-0.00632215]]], - [70,1174.61,[[2074.02,-2000.99,41.75,225.004,-79.8358],[2056.08,-1901.92,41.3,222.368,-79.6343],[2037.34,-1800.49,40.8333,219.595,-79.4186],[2018.45,-1700.41,40.3667,216.781,-79.1957],[1999.42,-1601.7,39.9,213.928,-78.965],[1979.55,-1500.94,39.4167,210.93,-78.7176],[1959.53,-1401.7,38.9333,207.89,-78.461],[1938.66,-1300.66,38.4333,204.701,-78.1854],[1917.63,-1201.29,37.9333,201.466,-77.8987],[1895.72,-1100.39,37.4167,198.077,-77.5902],[1873.65,-1001.34,36.9,194.642,-77.2685],[1850.68,-901.053,36.3667,191.046,-76.9214],[1827.54,-802.789,35.8333,187.403,-76.5581],[1802.76,-700.634,35.2667,183.479,-76.1531],[1777.78,-600.832,34.7,179.502,-75.7269],[1751.87,-500.59,34.1167,175.356,-75.2642],[1725,-400.166,33.5167,171.035,-74.7608],[1697.93,-302.502,32.9167,166.662,-74.2271],[1669.12,-202.451,32.2833,161.989,-73.6275],[1638.56,-100.557,31.6167,157.013,-72.9523],[1607.76,-2.2281,30.95,151.98,-72.2268],[1574.38,99.4401,30.2333,146.512,-71.3844],[1539.94,199.078,29.5,140.863,-70.4469],[1503.66,298.421,28.7333,134.906,-69.3738],[1464.69,398.736,27.9167,128.515,-68.1107],[1423,498.885,27.05,121.698,-66.6126],[1377.72,599.364,26.1167,114.339,-64.784],[1327.99,699.979,25.1,106.342,-62.485],[1272.89,799.71,23.9833,97.6417,-59.5022],[1209.84,898.97,22.7167,87.9923,-55.3755],[1132.81,999.094,21.1833,76.8865,-48.965],[1027.05,1099.42,19.1,63.6908,-36.7408],[825.425,1174.61,15.1833,51.8922,-0.0189337]]], - [71,1188.99,[[1983.6,-2000.69,41.9,225.134,-80.3191],[1966.5,-1901.41,41.45,222.493,-80.1272],[1949.27,-1803.37,41,219.814,-79.9292],[1931.27,-1703.02,40.5333,216.997,-79.7171],[1912.47,-1600.54,40.05,214.036,-79.4897],[1894.18,-1503.01,39.5833,211.136,-79.2623],[1874.44,-1400.08,39.0833,207.984,-79.0096],[1855.21,-1302.14,38.6,204.894,-78.7559],[1835.15,-1202.47,38.1,201.653,-78.4832],[1814.27,-1101.26,37.5833,198.256,-78.1897],[1793.23,-1001.89,37.0667,194.811,-77.8835],[1771.34,-901.278,36.5333,191.206,-77.5532],[1749.28,-802.681,36,187.552,-77.2075],[1725.65,-700.169,35.4333,183.616,-76.822],[1701.84,-600.006,34.8667,179.626,-76.4163],[1677.85,-502.229,34.3,175.583,-75.9887],[1652.24,-401.34,33.7,171.247,-75.5102],[1625.72,-300.52,33.0833,166.733,-74.9881],[1598.26,-200.051,32.45,162.039,-74.417],[1569.85,-100.229,31.8,157.163,-73.7902],[1540.49,-1.36317,31.1333,152.104,-73.1],[1509.42,98.5575,30.4333,146.734,-72.3176],[1476.61,198.899,29.7,141.049,-71.4267],[1442.03,298.984,28.9333,135.051,-70.4066],[1405.65,398.09,28.1333,128.741,-69.2309],[1365.93,499.219,27.2667,121.862,-67.8078],[1323.56,599.016,26.35,114.559,-66.1023],[1276.96,699.357,25.35,106.594,-63.9574],[1225.26,799.296,24.25,97.8882,-61.1724],[1166,899.385,23,88.1677,-57.3115],[1095.04,999.271,21.5167,77.0956,-51.4358],[1000.01,1099.59,19.55,63.9027,-40.5348],[790.881,1188.99,15.2833,49.4288,-0.0829029]]], - [72,1202.75,[[1891.6,-2001.98,42.05,225.298,-80.8079],[1875.35,-1902.49,41.6,222.654,-80.6258],[1858.36,-1800.61,41.1333,219.871,-80.4308],[1841.24,-1700.09,40.6667,217.047,-80.2291],[1823.99,-1600.93,40.2,214.182,-80.0205],[1806.6,-1503.16,39.7333,211.277,-79.8047],[1788.46,-1403.39,39.25,208.225,-79.5729],[1769.54,-1301.8,38.75,205.022,-79.3239],[1750.48,-1201.87,38.25,201.773,-79.0649],[1730.63,-1100.4,37.7333,198.368,-78.7862],[1710.63,-1000.76,37.2167,194.914,-78.4954],[1690.47,-902.982,36.7,191.412,-78.1918],[1668.84,-800.978,36.15,187.633,-77.8534],[1647.04,-701.151,35.6,183.801,-77.4982],[1624.41,-600.611,35.0333,179.799,-77.1133],[1601.6,-502.454,34.4667,175.743,-76.7077],[1577.27,-401.157,33.8667,171.392,-76.2536],[1552.74,-302.612,33.2667,166.983,-75.772],[1526.64,-201.623,32.6333,162.271,-75.2308],[1499.65,-101.261,31.9833,157.373,-74.6368],[1471.75,-1.83629,31.3167,152.29,-73.9826],[1442.22,98.6768,30.6167,146.891,-73.2408],[1411.04,199.645,29.8833,141.173,-72.3958],[1378.89,298.253,29.1333,135.266,-71.4498],[1344.33,398.17,28.3333,128.91,-70.3358],[1307.31,498.284,27.4833,122.107,-69.0142],[1267.06,599.162,26.5667,114.733,-67.3995],[1223.52,699.073,25.5833,106.809,-65.4029],[1175.16,799.044,24.5,98.1106,-62.8087],[1119.62,899.767,23.2667,88.3382,-59.2059],[1054.5,999.042,21.8333,77.3461,-53.8437],[968.115,1099.97,19.95,64.0852,-44.005],[789.955,1199.93,16.1167,47.3985,-8.92259],[754.79,1202.75,15.3667,46.9504,-0.00752114]]], - [73,1215.88,[[1797.49,-2001.18,42.1833,225.401,-81.2956],[1782.08,-1901.51,41.7333,222.752,-81.1231],[1766.56,-1803.07,41.2833,220.064,-80.9451],[1750.34,-1702.3,40.8167,217.237,-80.7544],[1733.99,-1602.91,40.35,214.368,-80.5571],[1716.92,-1501.42,39.8667,211.353,-80.3455],[1699.73,-1401.45,39.3833,208.294,-80.1259],[1682.4,-1303.01,38.9,205.192,-79.8981],[1664.34,-1202.81,38.4,201.936,-79.6531],[1645.53,-1101.05,37.8833,198.524,-79.3894],[1626.57,-1001.13,37.3667,195.062,-79.1143],[1607.47,-903.065,36.85,191.552,-78.827],[1586.97,-800.752,36.3,187.762,-78.5068],[1566.32,-700.613,35.75,183.919,-78.1707],[1545.51,-602.682,35.2,180.023,-77.8174],[1523.26,-501.263,34.6167,175.835,-77.4224],[1500.84,-402.403,34.0333,171.59,-77.0049],[1476.95,-300.719,33.4167,167.043,-76.5365],[1452.88,-201.981,32.8,162.436,-76.038],[1427.31,-101.145,32.15,157.518,-75.4763],[1400.87,-1.2278,31.4833,152.411,-74.8575],[1372.89,99.8063,30.7833,146.984,-74.1557],[1344.02,199.067,30.0667,141.364,-73.3749],[1313.57,298.349,29.3167,135.422,-72.481],[1280.83,398.99,28.5167,129.021,-71.4279],[1245.76,499.882,27.6667,122.164,-70.1776],[1208.33,599.821,26.7667,114.858,-68.6783],[1167.79,699.155,25.8,106.984,-66.8244],[1122.7,798.99,24.7333,98.3052,-64.4143],[1071.53,898.861,23.5333,88.6318,-61.1132],[1010.6,999.542,22.1167,77.5008,-56.1233],[933.186,1099.35,20.3333,64.407,-47.3768],[797.798,1199.9,17.25,47.5497,-21.7012],[718.768,1215.87,15.4667,44.4522,-0.191232]]], - [74,1228.35,[[1701.9,-2002.03,42.3167,225.54,-81.7887],[1687.35,-1902.17,41.8667,222.887,-81.6261],[1672.69,-1803.53,41.4167,220.196,-81.4582],[1657.37,-1702.57,40.95,217.364,-81.2783],[1641.93,-1602.96,40.4833,214.49,-81.0922],[1625.82,-1501.27,40,211.47,-80.8926],[1609.58,-1401.08,39.5167,208.406,-80.6855],[1593.22,-1302.42,39.0333,205.297,-80.4706],[1576.16,-1201.99,38.5333,202.034,-80.2394],[1558.97,-1103.26,38.0333,198.725,-79.9988],[1541.07,-1003.04,37.5167,195.256,-79.7396],[1522.45,-901.53,36.9833,191.624,-79.4599],[1503.69,-802.034,36.45,187.94,-79.1671],[1484.19,-701.567,35.9,184.087,-78.8504],[1463.94,-600.361,35.3333,180.062,-78.5071],[1443.53,-501.531,34.7667,175.98,-78.1452],[1422.36,-402.313,34.1833,171.722,-77.7515],[1399.81,-300.246,33.5667,167.158,-77.31],[1377.08,-201.122,32.95,162.534,-76.8399],[1353.56,-102.43,32.3167,157.723,-76.3242],[1328.6,-1.99924,31.65,152.594,-75.7415],[1302.19,99.5797,30.95,147.142,-75.0805],[1274.94,199.404,30.2333,141.493,-74.3448],[1246.19,299.28,29.4833,135.516,-73.5023],[1215.93,398.507,28.7,129.208,-72.5311],[1183.48,498.273,27.8667,122.437,-71.3784],[1148.15,599.209,26.9667,115.069,-69.9692],[1109.89,699.623,26,107.116,-68.225],[1068,799.162,24.95,98.4684,-65.9927],[1020.39,899.264,23.7667,88.7797,-62.9314],[964.26,999.809,22.3833,77.6727,-58.3531],[893.968,1099.5,20.6667,64.6093,-50.4595],[780.863,1199.96,17.9333,47.7606,-29.4044],[680.598,1228.35,15.5333,41.9412,-0.011161]]], - [75,1240.15,[[1604.36,-2000.81,42.4333,225.617,-82.2814],[1590.67,-1900.79,41.9833,222.961,-82.1284],[1576.88,-1802,41.5333,220.265,-81.9706],[1562.47,-1700.87,41.0667,217.428,-81.8015],[1547.95,-1601.1,40.6,214.549,-81.6265],[1533.31,-1502.72,40.1333,211.628,-81.4454],[1518.04,-1402.3,39.65,208.559,-81.2509],[1502.12,-1300.03,39.15,205.336,-81.042],[1486.61,-1202.75,38.6667,202.176,-80.832],[1469.9,-1100.5,38.15,198.749,-80.5984],[1453.06,-1000.08,37.6333,195.271,-80.3546],[1436.1,-901.521,37.1167,191.744,-80.0999],[1418.45,-801.758,36.5833,188.051,-79.8248],[1400.11,-701.013,36.0333,184.189,-79.5273],[1381.63,-602.47,35.4833,180.271,-79.2145],[1361.87,-500.397,34.9,176.058,-78.8647],[1341.96,-400.876,34.3167,171.786,-78.4948],[1321.33,-301.215,33.7167,167.331,-78.0913],[1299.96,-201.686,33.1,162.691,-77.6501],[1277.25,-100.007,32.45,157.734,-77.1529],[1254.37,-1.69505,31.8,152.713,-76.6191],[1230.13,97.9742,31.1167,147.367,-76.0138],[1204.5,198.386,30.4,141.692,-75.3242],[1177.47,298.884,29.65,135.683,-74.5342],[1149.02,398.766,28.8667,129.337,-73.6231],[1118.51,499.236,28.0333,122.519,-72.5411],[1085.91,599.12,27.15,115.231,-71.2435],[1050.57,698.83,26.2,107.342,-69.6379],[1011.2,799.594,25.15,98.5974,-67.5468],[967.08,899.75,23.9833,88.9084,-64.718],[915.599,999.897,22.6333,77.8552,-60.5358],[851.48,1099.87,20.9667,64.7704,-53.374],[754.341,1199.99,18.4667,47.9915,-35.5364],[642.515,1240.15,15.6167,39.4117,-0.110964]]], - [76,1251.27,[[1505.46,-2001.28,42.55,225.732,-82.7793],[1492.65,-1901.09,42.1,223.072,-82.6363],[1479.73,-1802.13,41.65,220.372,-82.4886],[1466.24,-1700.82,41.1833,217.531,-82.3304],[1452.64,-1600.88,40.7167,214.648,-82.1668],[1438.94,-1502.31,40.25,211.722,-81.9973],[1424.64,-1401.71,39.7667,208.648,-81.8154],[1410.23,-1302.63,39.2833,205.528,-81.6266],[1395.21,-1201.77,38.7833,202.253,-81.4235],[1380.07,-1102.59,38.2833,198.93,-81.2121],[1364.31,-1001.9,37.7667,195.447,-80.9842],[1348.43,-903.073,37.25,191.913,-80.7463],[1331.91,-803.028,36.7167,188.212,-80.4892],[1314.74,-701.989,36.1667,184.341,-80.2111],[1296.91,-600.189,35.6,180.295,-79.9097],[1278.94,-500.758,35.0333,176.19,-79.5919],[1260.31,-400.916,34.45,171.906,-79.2461],[1240.99,-300.922,33.85,167.438,-78.8689],[1220.98,-201.047,33.2333,162.782,-78.4563],[1200.27,-101.576,32.6,157.935,-78.0037],[1178.3,-0.318407,31.9333,152.766,-77.492],[1155.61,99.7439,31.25,147.397,-76.9256],[1132.18,198.275,30.55,141.828,-76.2958],[1106.88,299.317,29.8,135.788,-75.5577],[1080.25,399.771,29.0167,129.407,-74.706],[1052.26,498.893,28.2,122.683,-73.7155],[1021.76,599.563,27.3167,115.341,-72.5039],[989.265,698.431,26.3833,107.525,-71.0316],[953.004,798.766,25.35,98.8299,-69.1139],[912.318,898.981,24.2,89.1541,-66.5185],[864.75,999.842,22.8667,78.0424,-62.6747],[806.574,1099.71,21.25,64.9949,-56.2178],[721.809,1199.82,18.9167,48.2594,-40.8565],[603.172,1251.27,15.6833,36.8679,-0.0410738]]], - [77,1261.69,[[1405.23,-2003.45,42.6667,225.884,-83.2821],[1393.3,-1903.08,42.2167,223.221,-83.1491],[1380.83,-1800.29,41.75,220.418,-83.0066],[1368.71,-1702.45,41.3,217.675,-82.8646],[1356.04,-1602.31,40.8333,214.788,-82.7124],[1342.82,-1500.05,40.35,211.753,-82.5491],[1329.96,-1402.75,39.8833,208.78,-82.3856],[1316.08,-1300.07,39.3833,205.547,-82.2038],[1302.55,-1202.4,38.9,202.375,-82.021],[1288.45,-1103.01,38.4,199.047,-81.8244],[1273.77,-1002.1,37.8833,195.557,-81.6124],[1258.98,-903.042,37.3667,192.016,-81.391],[1243.59,-802.762,36.8333,188.308,-81.1519],[1227.6,-701.48,36.2833,184.428,-80.8931],[1211.49,-602.394,35.7333,180.491,-80.6211],[1194.76,-502.637,35.1667,176.378,-80.3257],[1177.4,-402.456,34.5833,172.083,-80.0044],[1159.41,-302.11,33.9833,167.603,-79.6539],[1140.78,-201.869,33.3667,162.934,-79.2705],[1121.5,-102.019,32.7333,158.072,-78.8497],[1101.04,-0.358339,32.0667,152.884,-78.374],[1080.42,97.7154,31.4,147.626,-77.8607],[1058.09,199.083,30.6833,141.901,-77.2616],[1035.06,298.386,29.95,135.968,-76.5908],[1010.26,399.442,29.1667,129.554,-75.7997],[984.206,499.196,28.35,122.791,-74.8793],[956.338,598.708,27.4833,115.539,-73.7755],[926.09,698.45,26.55,107.662,-72.409],[892.332,799.762,25.5167,98.8847,-70.627],[855.006,899.693,24.3833,89.2359,-68.2496],[811.838,999.687,23.0833,78.2289,-64.7732],[759.376,1099.1,21.5167,65.2727,-58.9915],[684.468,1199.74,19.3,48.5024,-45.5799],[563.277,1261.69,15.75,34.3086,-0.0372763]]], - [78,1271.39,[[1303.3,-2003.6,42.7667,225.976,-83.7848],[1292.25,-1903.09,42.3167,223.31,-83.6618],[1280.7,-1800.16,41.85,220.504,-83.53],[1269.48,-1702.16,41.4,217.757,-83.3986],[1257.75,-1601.88,40.9333,214.866,-83.2578],[1245.94,-1502.97,40.4667,211.932,-83.1119],[1233.61,-1402,39.9833,208.849,-82.9554],[1221.18,-1302.56,39.5,205.719,-82.7929],[1208.23,-1201.32,39,202.433,-82.618],[1195.18,-1101.75,38.5,199.099,-82.4361],[1181.58,-1000.67,37.9833,195.602,-82.2399],[1167.89,-901.433,37.4667,192.053,-82.035],[1153.64,-800.968,36.9333,188.337,-81.8137],[1139.29,-702.534,36.4,184.566,-81.5816],[1123.92,-600.21,35.8333,180.502,-81.3223],[1108.43,-500.25,35.2667,176.377,-81.0489],[1092.82,-402.691,34.7,172.194,-80.7601],[1076.17,-302.05,34.1,167.702,-80.4361],[1058.92,-201.504,33.4833,163.02,-80.0815],[1041.07,-101.336,32.85,158.143,-79.6924],[1022.6,-1.84567,32.2,153.068,-79.2638],[1003.05,99.074,31.5167,147.66,-78.7775],[982.853,198.492,30.8167,142.046,-78.2366],[961.535,298.276,30.0833,136.088,-77.6169],[938.585,399.852,29.3,129.643,-76.8859],[914.964,498.163,28.5,122.982,-76.0534],[889.176,598.387,27.6333,115.686,-75.0348],[861.184,698.902,26.7,107.752,-73.7728],[830.449,799.506,25.6833,99.0418,-72.1544],[796.421,899.164,24.5667,89.4324,-69.9953],[756.996,999.463,23.2833,78.4103,-66.8349],[708.98,1100,21.7333,65.318,-61.5606],[643.349,1199.66,19.6333,48.7296,-49.8986],[522.842,1271.39,15.8167,31.7345,-0.116551]]], - [79,1280.37,[[1199.79,-2001.72,42.85,226.008,-84.288],[1189.63,-1901.11,42.4,223.338,-84.1749],[1179.4,-1801.72,41.95,220.629,-84.0581],[1169.08,-1703.57,41.5,217.879,-83.9375],[1158.3,-1603.12,41.0333,214.986,-83.8082],[1147.05,-1500.53,40.55,211.943,-83.6695],[1136.11,-1402.9,40.0833,208.961,-83.5306],[1124.69,-1303.29,39.6,205.827,-83.3813],[1112.78,-1201.86,39.1,202.537,-83.2208],[1100.78,-1102.12,38.6,199.198,-83.0537],[1088.29,-1000.84,38.0833,195.695,-82.8736],[1075.7,-901.414,37.5667,192.141,-82.6854],[1062.6,-800.746,37.0333,188.418,-82.4821],[1049.41,-702.109,36.5,184.64,-82.2689],[1035.69,-602.549,35.95,180.687,-82.038],[1021.46,-502.299,35.3833,176.555,-81.7872],[1006.69,-401.606,34.8,172.239,-81.5143],[991.383,-300.727,34.2,167.736,-81.2165],[975.959,-202.62,33.6,163.168,-80.8999],[959.553,-102.115,32.9667,158.277,-80.5429],[942.585,-2.2745,32.3167,153.188,-80.1496],[924.608,99.0165,31.6333,147.762,-79.7033],[906.05,198.818,30.9333,142.128,-79.2068],[886.457,299.008,30.2,136.146,-78.6378],[865.815,398.905,29.4333,129.81,-77.9814],[843.655,499.783,28.6167,122.977,-77.2014],[820.41,598.623,27.7667,115.78,-76.284],[794.687,699.81,26.8333,107.794,-75.1257],[766.908,799.565,25.8333,99.1589,-73.6653],[736.11,898.792,24.7333,89.6009,-71.7172],[700.361,999.212,23.4667,78.5822,-68.8634],[657.202,1099.66,21.95,65.5274,-64.1495],[598.841,1199.95,19.9167,48.8712,-53.8579],[481.878,1280.37,15.8833,29.1466,-0.301339]]], - [80,1288.61,[[1095.2,-2001.6,42.9333,226.078,-84.796],[1085.94,-1900.87,42.4833,223.406,-84.6929],[1076.6,-1801.36,42.0333,220.694,-84.5865],[1067.2,-1703.09,41.5833,217.941,-84.4767],[1057.37,-1602.51,41.1167,215.044,-84.3588],[1047.47,-1503.31,40.65,212.103,-84.2369],[1037.14,-1402.04,40.1667,209.011,-84.1059],[1026.73,-1302.29,39.6833,205.873,-83.9699],[1015.87,-1200.73,39.1833,202.578,-83.8236],[1004.94,-1100.84,38.6833,199.233,-83.6713],[993.914,-1002.66,38.1833,195.839,-83.5126],[982.44,-903.023,37.6667,192.279,-83.3413],[970.504,-802.138,37.1333,188.551,-83.1563],[958.1,-700.226,36.5833,184.648,-82.9561],[945.6,-600.504,36.0333,180.686,-82.7456],[932.622,-500.086,35.4667,176.545,-82.5169],[919.546,-402.065,34.9,172.343,-82.2754],[905.594,-300.93,34.3,167.83,-82.0044],[891.536,-202.564,33.7,163.251,-81.716],[876.582,-101.783,33.0667,158.348,-81.391],[861.117,-1.65683,32.4167,153.244,-81.0328],[844.732,99.9371,31.7333,147.801,-80.6263],[828.222,197.715,31.05,142.283,-80.1851],[810.367,298.338,30.3167,136.28,-79.6677],[791.556,398.691,29.55,129.92,-79.0707],[771.775,498.048,28.75,123.196,-78.3762],[750.179,599.415,27.8833,115.822,-77.5257],[727.157,699.423,26.9667,107.931,-76.4908],[701.846,799.945,25.9667,99.2349,-75.1627],[674.209,898.589,24.8833,89.7394,-73.4188],[642.068,998.952,23.6333,78.7411,-70.8624],[603.618,1099.06,22.15,65.7597,-66.687],[552.208,1199.5,20.1833,49.1404,-57.7143],[439.955,1288.61,15.9333,26.5459,-0.271236]]], - [81,1296.11,[[989.545,-2003.24,43.0167,226.187,-85.3082],[981.188,-1902.38,42.5667,223.513,-85.2153],[972.768,-1802.74,42.1167,220.799,-85.1195],[963.969,-1700.72,41.65,217.941,-85.0167],[955.101,-1600.05,41.1833,215.04,-84.9103],[946.166,-1500.76,40.7167,212.095,-84.8002],[937.163,-1402.87,40.25,209.106,-84.6861],[927.769,-1302.97,39.7667,205.964,-84.5635],[917.975,-1201.26,39.2667,202.665,-84.4317],[908.106,-1101.22,38.7667,199.316,-84.2944],[898.163,-1002.88,38.2667,195.917,-84.1513],[887.81,-903.081,37.75,192.353,-83.9969],[877.04,-802.027,37.2167,188.619,-83.8301],[866.189,-703,36.6833,184.829,-83.6552],[854.57,-600.038,36.1167,180.741,-83.4597],[843.206,-502.36,35.5667,176.715,-83.2597],[831.062,-401.228,34.9833,172.382,-83.0357],[818.824,-302.671,34.4,167.985,-82.7982],[805.789,-201.327,33.7833,163.269,-82.5312],[792.297,-100.333,33.15,158.354,-82.2379],[778.702,-2.51598,32.5167,153.368,-81.9234],[763.921,99.4044,31.8333,147.911,-81.5572],[748.661,199.857,31.1333,142.24,-81.1496],[732.919,298.491,30.4167,136.354,-80.6936],[715.949,399.221,29.65,129.97,-80.1554],[698.104,498.975,28.85,123.219,-79.5293],[678.997,598.879,28,115.953,-78.7778],[658.232,699.484,27.0833,108.02,-77.8462],[635.782,799.051,26.1,99.415,-76.6715],[610.857,898.577,25.0167,89.8458,-75.1033],[581.869,999.967,23.7667,78.7359,-72.8004],[547.973,1099.25,22.3167,65.862,-69.1257],[502.797,1199.81,20.4,49.242,-61.2771],[397.613,1296.11,15.9833,23.9326,-0.348575]]], - [82,1302.84,[[882.609,-2002.91,43.0833,226.238,-85.8211],[875.163,-1901.95,42.6333,223.562,-85.7383],[867.659,-1802.22,42.1833,220.845,-85.6529],[859.818,-1700.1,41.7167,217.984,-85.5614],[852.199,-1602.91,41.2667,215.184,-85.4701],[844.239,-1503.47,40.8,212.237,-85.3722],[835.932,-1401.95,40.3167,209.139,-85.267],[827.56,-1301.95,39.8333,205.994,-85.1578],[818.833,-1200.12,39.3333,202.69,-85.0403],[810.333,-1103.28,38.85,199.449,-84.9222],[801.178,-1001.52,38.3333,195.933,-84.7905],[791.952,-901.602,37.8167,192.363,-84.6529],[782.356,-800.426,37.2833,188.623,-84.5043],[772.686,-701.276,36.75,184.826,-84.3484],[762.638,-601.181,36.2,180.853,-84.1795],[752.206,-500.376,35.6333,176.698,-83.996],[741.694,-401.964,35.0667,172.481,-83.8022],[730.479,-300.411,34.4667,167.95,-83.5846],[719.178,-201.624,33.8667,163.351,-83.3531],[707.158,-100.394,33.2333,158.426,-83.0922],[695.046,-2.34032,32.6,153.428,-82.8122],[681.878,99.8383,31.9167,147.958,-82.4861],[668.608,198.206,31.2333,142.408,-82.1323],[654.258,299.468,30.5,136.368,-81.717],[639.469,398.352,29.75,130.102,-81.2486],[623.573,498.532,28.95,123.327,-80.6919],[606.553,598.893,28.1,116.031,-80.0236],[588.055,699.997,27.1833,108.061,-79.1945],[568.397,798.479,26.2167,99.554,-78.1677],[546.197,898.768,25.1333,89.9189,-76.7741],[520.723,999.78,23.9,78.8593,-74.7553],[490.883,1099.29,22.4667,65.9719,-71.5313],[451.706,1199.61,20.6,49.4245,-64.7666],[370.481,1299.98,16.7667,22.5312,-19.1755],[354.51,1302.84,16.0167,21.3075,-0.135029]]], - [83,1308.81,[[774.54,-2000.59,43.1333,226.229,-86.3351],[768.251,-1903.29,42.7,223.65,-86.2653],[761.672,-1803.45,42.25,220.931,-86.1904],[754.796,-1701.23,41.7833,218.069,-86.1102],[747.867,-1600.35,41.3167,215.163,-86.0272],[740.885,-1500.85,40.85,212.212,-85.9413],[733.85,-1402.74,40.3833,209.218,-85.8522],[726.509,-1302.62,39.9,206.07,-85.7566],[718.856,-1200.67,39.4,202.763,-85.6536],[711.144,-1100.39,38.9,199.406,-85.5464],[703.374,-1001.82,38.4,195.999,-85.4347],[695.284,-901.768,37.8833,192.425,-85.3142],[686.869,-800.455,37.35,188.68,-85.1839],[678.389,-701.166,36.8167,184.879,-85.0473],[669.577,-600.928,36.2667,180.9,-84.8992],[660.699,-502.908,35.7167,176.862,-84.7433],[651.211,-401.409,35.1333,172.515,-84.5686],[641.65,-302.484,34.55,168.103,-84.3833],[631.466,-200.745,33.9333,163.369,-84.1749],[621.203,-101.971,33.3167,158.565,-83.9522],[610.304,-1.1143,32.6667,153.426,-83.7005],[599.038,98.8023,32,148.077,-83.4218],[587.119,199.813,31.3,142.378,-83.1041],[574.822,299.025,30.5833,136.459,-82.7484],[561.855,398.227,29.8333,130.176,-82.3383],[547.918,498.75,29.0333,123.379,-81.8506],[532.994,599.479,28.1833,116.057,-81.265],[517.072,699.203,27.2833,108.198,-80.5525],[499.54,799.888,26.3,99.502,-79.6374],[480.375,899.187,25.2333,89.9571,-78.4343],[458.346,999.656,24.0167,78.9621,-76.6916],[432.493,1099.2,22.6,66.0854,-73.9072],[398.769,1199.72,20.7667,49.5297,-68.11],[335.975,1299.98,17.3833,22.7575,-35.036],[311.104,1308.81,16.05,18.6714,-0.00878355]]], - [84,1313.99,[[665.698,-2000.06,43.1833,226.26,-86.853],[660.296,-1902.7,42.75,223.679,-86.793],[654.645,-1802.79,42.3,220.959,-86.7287],[648.738,-1700.49,41.8333,218.094,-86.6599],[643,-1603.12,41.3833,215.29,-86.5911],[637.004,-1503.5,40.9167,212.338,-86.5174],[630.746,-1401.78,40.4333,209.235,-86.4383],[624.441,-1301.58,39.95,206.083,-86.3562],[618.087,-1202.93,39.4667,202.885,-86.2707],[611.465,-1102.51,38.9667,199.526,-86.1788],[604.569,-1000.53,38.45,196.002,-86.0796],[597.62,-900.4,37.9333,192.424,-85.9762],[590.618,-802.136,37.4167,188.792,-85.8678],[583.336,-702.693,36.8833,184.987,-85.7506],[575.769,-602.294,36.3333,181.004,-85.6237],[567.913,-501.172,35.7667,176.839,-85.4857],[559.997,-402.441,35.2,172.61,-85.3399],[551.551,-300.546,34.6,168.065,-85.1763],[543.04,-201.414,34,163.452,-85.0023],[534.227,-102.45,33.3833,158.64,-84.8113],[524.866,-1.39252,32.7333,153.493,-84.5952],[515.191,98.7324,32.0667,148.134,-84.3561],[504.955,199.964,31.3667,142.424,-84.0835],[494.394,299.403,30.65,136.491,-83.7782],[483.259,398.846,29.9,130.192,-83.4261],[471.289,499.628,29.1,123.376,-83.0074],[458.726,598.714,28.2667,116.174,-82.5148],[445.053,698.866,27.3667,108.288,-81.9041],[430.255,798.381,26.4,99.7037,-81.1339],[413.543,899.839,25.3167,89.9599,-80.0869],[394.887,999.611,24.1167,79.043,-78.6126],[372.952,1099,22.7167,66.1998,-76.2569],[344.527,1199.44,20.9167,49.6912,-71.3974],[294.355,1299.97,17.7667,22.969,-45.8891],[267.409,1313.99,16.0833,16.0253,-0.0149978]]], - [85,1318.4,[[556.14,-2001.35,43.2333,226.332,-87.3741],[551.457,-1900.19,42.7833,223.649,-87.3221],[546.737,-1800.24,42.3333,220.926,-87.2684],[541.982,-1701.54,41.8833,218.162,-87.2129],[537.014,-1600.51,41.4167,215.252,-87.1535],[532.007,-1500.84,40.95,212.297,-87.0918],[526.962,-1402.57,40.4833,209.298,-87.0282],[521.698,-1302.28,40,206.145,-86.9595],[516.211,-1200.16,39.5,202.833,-86.8857],[510.865,-1103.03,39.0167,199.583,-86.8116],[505.108,-1000.95,38.5,196.056,-86.7289],[499.307,-900.713,37.9833,192.476,-86.6425],[493.462,-802.348,37.4667,188.841,-86.5521],[487.382,-702.799,36.9333,185.032,-86.4543],[481.065,-602.29,36.3833,181.046,-86.3484],[474.507,-501.054,35.8167,176.875,-86.2333],[467.898,-402.206,35.25,172.642,-86.1117],[460.847,-300.188,34.65,168.091,-85.9751],[453.742,-200.932,34.05,163.472,-85.8298],[446.384,-101.839,33.4333,158.653,-85.6704],[438.569,-0.644074,32.7833,153.497,-85.4901],[430.493,99.6226,32.1167,148.13,-85.2904],[422.151,198.637,31.4333,142.546,-85.0685],[413.336,298.331,30.7167,136.603,-84.814],[404.041,398.042,29.9667,130.292,-84.5206],[394.05,499.114,29.1667,123.46,-84.1716],[383.563,598.504,28.3333,116.239,-83.761],[372.151,698.988,27.4333,108.329,-83.2517],[359.799,798.862,26.4667,99.714,-82.6091],[346.064,899.24,25.4,90.0783,-81.7499],[330.493,999.65,24.2,79.1009,-80.522],[312.186,1099.79,22.8,66.1581,-78.5563],[288.903,1199.61,21.0333,49.7484,-74.5794],[249.258,1299.82,18.05,23.2042,-54.9174],[223.438,1318.39,16.1167,13.3701,-0.235123]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 438.569; -_maxRange = 2518.39; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg3.sqf deleted file mode 100644 index 8fe723bd3a..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_HA_chg3.sqf +++ /dev/null @@ -1,57 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_82mm_wp_pd_chg3 -// Ammo: ace_arty_82mm_wp_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,955.532,[[4612.28,-2003.12,39.45,230.604,-67.1076],[4568.74,-1901.13,38.9667,228.172,-66.6426],[4524.84,-1800.58,38.4833,225.715,-66.1636],[4480.58,-1701.5,38,223.233,-65.6699],[4434.4,-1600.57,37.5,220.641,-65.143],[4387.84,-1501.26,37,218.025,-64.599],[4339.32,-1400.35,36.4833,215.297,-64.0181],[4290.39,-1301.22,35.9667,212.545,-63.4172],[4239.46,-1200.78,35.4333,209.682,-62.7749],[4188.09,-1102.29,34.9,206.798,-62.1091],[4134.66,-1002.78,34.35,203.803,-61.3966],[4079.13,-902.49,33.7833,200.699,-60.6338],[4021.47,-801.647,33.2,197.486,-59.8162],[3961.64,-700.496,32.6,194.165,-58.9392],[3901.28,-601.995,32,190.834,-58.0236],[3836.99,-500.937,31.3667,187.31,-57.0129],[3770.4,-400.379,30.7167,183.691,-55.9253],[3701.48,-300.618,30.05,179.984,-54.7537],[3630.18,-201.961,29.3667,176.196,-53.4902],[3552.94,-100.198,28.6333,172.155,-52.059],[3473.18,-0.592057,27.8833,168.06,-50.5096],[3389.05,98.5432,27.1,163.84,-48.7923],[3298.65,198.43,26.2667,159.433,-46.8471],[3199.99,299.753,25.3667,154.795,-44.6],[3094.71,399.206,24.4167,150.074,-42.0525],[2978.9,498.503,23.3833,145.189,-39.0643],[2846.56,599.312,22.2167,140.06,-35.4047],[2693.29,699.605,20.8833,134.817,-30.8387],[2504.63,799.486,19.2667,129.552,-24.7578],[2231.04,899.717,16.9667,124.63,-15.1923],[1819.69,955.53,13.6,124.131,-0.0752641]]], - [46,987.502,[[4571.27,-2000.41,39.8,230.843,-67.5765],[4530.02,-1901.47,39.3333,228.485,-67.137],[4486.94,-1800.41,38.85,226.016,-66.6681],[4443.5,-1700.81,38.3667,223.523,-66.1849],[4399.71,-1602.69,37.8833,221.004,-65.6866],[4354.03,-1502.77,37.3833,218.374,-65.1547],[4306.42,-1401.24,36.8667,215.63,-64.5865],[4258.42,-1301.47,36.35,212.862,-63.9987],[4208.44,-1200.36,35.8167,209.98,-63.3703],[4158.04,-1101.2,35.2833,207.076,-62.7189],[4105.62,-1000.99,34.7333,204.058,-62.0217],[4052.75,-902.913,34.1833,201.021,-61.2973],[3996.19,-801.242,33.6,197.78,-60.4978],[3939.13,-702.03,33.0167,194.522,-59.6644],[3879.93,-602.586,32.4167,191.158,-58.7696],[3816.88,-500.524,31.7833,187.596,-57.7815],[3753.26,-401.489,31.15,184.028,-56.7458],[3685.68,-300.562,30.4833,180.273,-55.601],[3615.77,-200.697,29.8,176.432,-54.3657],[3543.49,-102.217,29.1,172.514,-53.031],[3465.31,-1.05541,28.35,168.346,-51.5181],[3382.85,99.7217,27.5667,164.042,-49.8398],[3296.03,199.398,26.75,159.626,-47.9761],[3202.94,299.068,25.8833,155.043,-45.862],[3101.63,399.264,24.95,150.258,-43.4174],[2990.04,499.848,23.9333,145.269,-40.5433],[2866.03,599.879,22.8167,140.122,-37.1178],[2723.57,699.891,21.55,134.806,-32.8759],[2552.47,799.513,20.05,129.399,-27.3557],[2322.35,899.322,18.0667,124.093,-19.2764],[1814.63,987.5,13.8167,121.824,-0.0462183]]], - [47,1019.4,[[4529.06,-2002.36,40.1667,231.195,-68.0661],[4488.6,-1902.91,39.7,228.827,-67.6363],[4446.35,-1801.33,39.2167,226.348,-67.1778],[4403.75,-1701.19,38.7333,223.843,-66.7052],[4360.79,-1602.54,38.25,221.312,-66.2179],[4315.99,-1502.06,37.75,218.668,-65.6976],[4270.81,-1403.2,37.25,215.998,-65.16],[4223.74,-1302.78,36.7333,213.214,-64.5856],[4174.73,-1201,36.2,210.314,-63.9714],[4125.31,-1101.15,35.6667,207.39,-63.3346],[4073.9,-1000.23,35.1167,204.351,-62.6529],[4022.06,-901.433,34.5667,201.29,-61.9446],[3968.19,-801.883,34,198.116,-61.1854],[3912.25,-701.82,33.4167,194.829,-60.3709],[3854.21,-601.493,32.8167,191.433,-59.4964],[3794.03,-501.159,32.2,187.929,-58.5563],[3731.67,-401.092,31.5667,184.321,-57.5445],[3667.09,-301.575,30.9167,180.615,-56.4543],[3598.58,-200.485,30.2333,176.722,-55.248],[3527.74,-100.735,29.5333,172.746,-53.9439],[3452.83,-0.428144,28.8,168.604,-52.4985],[3373.76,99.7812,28.0333,164.313,-50.8944],[3290.45,199.196,27.2333,159.895,-49.112],[3201.04,298.974,26.3833,155.289,-47.088],[3103.61,399.718,25.4667,150.453,-44.7439],[2997.95,499.754,24.4833,145.458,-42.0299],[2882.04,598.716,23.4167,140.321,-38.837],[2748.22,699.266,22.2,134.907,-34.8614],[2590.29,799.51,20.7833,129.346,-29.7689],[2388.35,899.481,19,123.767,-22.6626],[2042.91,999.917,16.0167,118.959,-9.36116],[1808.04,1019.4,14.0333,119.493,-0.0346797]]], - [48,1051.18,[[4482.68,-2001.88,40.5167,231.493,-68.5458],[4443.01,-1901.97,40.05,229.115,-68.1254],[4403.02,-1803.4,39.5833,226.712,-67.6927],[4361.26,-1702.72,39.1,224.195,-67.231],[4317.7,-1600.12,38.6,221.565,-66.7382],[4275.24,-1502.46,38.1167,218.995,-66.2464],[4230.96,-1403.03,37.6167,216.311,-65.721],[4184.82,-1302.01,37.1,213.511,-65.1595],[4138.29,-1202.76,36.5833,210.685,-64.5782],[4089.85,-1102.22,36.05,207.743,-63.9563],[4039.48,-1000.57,35.5,204.683,-63.2904],[3988.67,-901.035,34.95,201.599,-62.5985],[3935.87,-800.721,34.3833,198.4,-61.8566],[3882.62,-702.71,33.8167,195.181,-61.0838],[3825.76,-601.482,33.2167,191.753,-60.2299],[3766.79,-500.214,32.6,188.215,-59.3116],[3707.3,-401.796,31.9833,184.664,-58.3497],[3644.04,-301.191,31.3333,180.915,-57.2855],[3578.56,-201.393,30.6667,177.068,-56.1369],[3509.18,-100.354,29.9667,173.036,-54.8643],[3437.49,-0.945073,29.25,168.924,-53.4858],[3361.75,98.6494,28.5,164.652,-51.9553],[3280.18,199.805,27.7,160.146,-50.2166],[3194.36,299.518,26.8667,155.527,-48.28],[3102.47,398.814,25.9833,150.741,-46.0769],[3000.85,499.815,25.0167,145.671,-43.4752],[2891.01,598.79,23.9833,140.495,-40.4579],[2765.53,699.189,22.8167,135.031,-36.7387],[2620.29,798.955,21.4833,129.403,-32.0627],[2437.91,899.912,19.8333,123.582,-25.641],[2173.26,999.862,17.4833,118.066,-15.3951],[1799.91,1051.18,14.25,117.138,-0.0419397]]], - [49,1082.82,[[4433.61,-2002.58,40.8667,231.819,-69.0308],[4394.74,-1902.2,40.4,229.433,-68.6201],[4355.55,-1803.14,39.9333,227.019,-68.1972],[4314.64,-1701.96,39.45,224.492,-67.746],[4273.38,-1602.25,38.9667,221.938,-67.2807],[4230.35,-1500.67,38.4667,219.267,-66.7837],[4186.96,-1400.7,37.9667,216.569,-66.2701],[4143.21,-1302.36,37.4667,213.844,-65.7393],[4097.63,-1202.5,36.95,211.002,-65.1715],[4050.18,-1101.3,36.4167,208.041,-64.564],[4002.33,-1002.05,35.8833,205.054,-63.9337],[3952.57,-901.761,35.3333,201.949,-63.2583],[3900.86,-800.666,34.7667,198.725,-62.5342],[3848.71,-701.868,34.2,195.48,-61.7797],[3794.56,-602.597,33.6167,192.119,-60.9695],[3736.82,-500.377,33,188.547,-60.0736],[3678.56,-400.998,32.3833,184.96,-59.1348],[3618.21,-301.935,31.75,181.266,-58.1231],[3554.11,-200.991,31.0833,177.373,-57.0027],[3487.81,-101.124,30.4,173.383,-55.791],[3417.63,-0.360793,29.6833,169.211,-54.4467],[3345.15,98.4707,28.95,164.965,-52.9873],[3266.98,199.193,28.1667,160.469,-51.3279],[3184.7,298.788,27.35,155.845,-49.4785],[3096.51,398.348,26.4833,151.032,-47.3724],[3000.54,498.394,25.55,145.989,-44.9259],[2894.88,598.78,24.5333,140.709,-42.0342],[2775.74,699.956,23.4,135.155,-38.5115],[2640.93,799.434,22.1333,129.467,-34.1783],[2477.3,899.335,20.6167,123.569,-28.4214],[2254.27,999.806,18.5833,117.643,-19.7678],[1790.22,1082.81,14.4667,114.759,-0.0691593]]], - [50,1114.28,[[4380.45,-2000.9,41.2,232.091,-69.5067],[4342.39,-1900.08,40.7333,229.695,-69.1053],[4304.01,-1800.58,40.2667,227.272,-68.6921],[4265.32,-1702.42,39.8,224.822,-68.2666],[4224.92,-1602.19,39.3167,222.256,-67.8122],[4182.78,-1500.06,38.8167,219.573,-67.327],[4141.72,-1402.86,38.3333,216.952,-66.8425],[4097.45,-1300.65,37.8167,214.121,-66.307],[4052.82,-1200.2,37.3,211.263,-65.7524],[4007.81,-1101.55,36.7833,208.377,-65.1779],[3960.97,-1001.63,36.25,205.371,-64.5627],[3912.25,-900.646,35.7,202.245,-63.9035],[3863.12,-801.786,35.15,199.094,-63.2178],[3812.07,-702.185,34.5833,195.823,-62.4819],[3759.07,-602.079,34,192.434,-61.6915],[3704.09,-501.718,33.4,188.927,-60.8416],[3647.08,-401.36,32.7833,185.306,-59.9264],[3588.02,-301.281,32.15,181.573,-58.9399],[3526.86,-201.766,31.5,177.733,-57.8749],[3461.99,-100.692,30.8167,173.693,-56.6939],[3394.93,-0.97527,30.1167,169.56,-55.4142],[3324.02,99.2782,29.3833,165.248,-53.992],[3249.19,199.412,28.6167,160.77,-52.409],[3170.36,298.726,27.8167,156.149,-50.6441],[3085.78,398.371,26.9667,151.319,-48.6321],[2993.64,498.943,26.05,146.231,-46.2914],[2893.76,598.76,25.0667,140.954,-43.5671],[2782.49,698.908,23.9833,135.42,-40.2897],[2656.05,798.912,22.7667,129.645,-36.2394],[2505.14,899.517,21.3333,123.601,-30.94],[2310.95,999.8,19.5167,117.445,-23.4015],[1966.74,1099.92,16.3667,112.001,-8.53356],[1777.1,1114.28,14.6667,112.371,-0.0345871]]], - [51,1145.52,[[4324.62,-2000.48,41.5333,232.393,-69.9882],[4288.7,-1902.81,41.0833,230.075,-69.6106],[4251.15,-1802.8,40.6167,227.643,-69.2076],[4211.93,-1700.64,40.1333,225.095,-68.7775],[4173.76,-1603.37,39.6667,222.607,-68.3494],[4132.53,-1500.69,39.1667,219.912,-67.876],[4092.34,-1402.95,38.6833,217.279,-67.4033],[4049.03,-1300.15,38.1667,214.434,-66.8809],[4006.77,-1202.35,37.6667,211.653,-66.3575],[3962.74,-1103.04,37.15,208.751,-65.7975],[3916.91,-1002.43,36.6167,205.728,-65.1978],[3869.25,-900.736,36.0667,202.582,-64.5551],[3821.18,-801.155,35.5167,199.408,-63.8864],[3771.24,-700.804,34.95,196.113,-63.1686],[3720.87,-602.766,34.3833,192.794,-62.42],[3667.09,-501.519,33.7833,189.258,-61.5916],[3611.33,-400.244,33.1667,185.603,-60.6995],[3555.08,-301.832,32.55,181.931,-59.7633],[3495.27,-201.245,31.9,178.049,-58.7256],[3433.38,-101.482,31.2333,174.06,-57.6033],[3367.8,-0.49512,30.5333,169.872,-56.357],[3300.06,98.8425,29.8167,165.595,-55.0035],[3228.5,198.343,29.0667,161.142,-53.4964],[3151.45,299.376,28.2667,156.434,-51.7785],[3070.4,398.936,27.4333,151.596,-49.8577],[2982,499.848,26.5333,146.475,-47.6199],[2887.73,598.802,25.5833,141.223,-45.0579],[2782.41,698.996,24.5333,135.655,-41.9671],[2664.04,798.842,23.3667,129.842,-38.1883],[2525.38,899.05,22.0167,123.742,-33.333],[2351.75,999.69,20.35,117.398,-26.6019],[2093.61,1099.93,17.9167,111.204,-15.4216],[1762.48,1145.52,14.8667,109.959,-0.0195233]]], - [52,1176.51,[[4266.08,-2001.39,41.8667,232.725,-70.4752],[4230.95,-1903.27,41.4167,230.399,-70.1069],[4194.22,-1802.8,40.95,227.959,-69.7139],[4155.86,-1700.15,40.4667,225.401,-69.2943],[4118.53,-1602.41,40,222.903,-68.8767],[4079.55,-1502.62,39.5167,220.287,-68.4306],[4038.89,-1400.97,39.0167,217.55,-67.9538],[3997.9,-1300.94,38.5167,214.784,-67.4608],[3956.58,-1202.55,38.0167,211.989,-66.9507],[3913.52,-1102.63,37.5,209.071,-66.4048],[3868.71,-1001.38,36.9667,206.03,-65.8201],[3823.52,-902.092,36.4333,202.96,-65.2127],[3776.53,-801.776,35.8833,199.766,-64.5614],[3727.7,-700.659,35.3167,196.447,-63.8621],[3678.46,-601.847,34.75,193.103,-63.1326],[3627.34,-502.573,34.1667,189.637,-62.3482],[3572.83,-400.362,33.55,185.949,-61.4795],[3517.85,-301.004,32.9333,182.242,-60.5677],[3460.9,-201.974,32.3,178.42,-59.5832],[3400.41,-101.081,31.6333,174.385,-58.4907],[3337.86,-1.28324,30.95,170.246,-57.3066],[3271.66,99.3905,30.2333,165.909,-55.9894],[3203.3,198.111,29.5,161.487,-54.5555],[3129.6,298.692,28.7167,156.795,-52.9196],[3052.03,398.117,27.9,151.958,-51.0898],[2967.3,499.316,27.0167,146.812,-48.955],[2876.87,598.971,26.0833,141.506,-46.5082],[2777.33,698.893,25.0667,135.93,-43.5989],[2665.13,799.504,23.9333,130.034,-40.0296],[2536.57,899.494,22.65,123.884,-35.5404],[2380.91,999.23,21.1167,117.478,-29.5197],[2166.01,1099.68,19.0333,110.914,-20.2119],[1746.35,1176.51,15.0667,107.523,-0.0255023]]], - [53,1207.22,[[4204.83,-2003.65,42.2,233.088,-70.9672],[4169.22,-1901.45,41.7333,230.668,-70.5949],[4133.32,-1800.55,41.2667,228.219,-70.2116],[4097.12,-1700.98,40.8,225.74,-69.8167],[4060.63,-1602.76,40.3333,223.232,-69.4098],[4022.54,-1502.46,39.85,220.605,-68.9751],[3982.8,-1400.28,39.35,217.856,-68.5104],[3944.08,-1303.03,38.8667,215.17,-68.0462],[3902.35,-1200.77,38.35,212.268,-67.5327],[3860.27,-1100.29,37.8333,209.334,-67.0005],[3817.84,-1001.61,37.3167,206.371,-66.4485],[3773.69,-901.659,36.7833,203.283,-65.857],[3727.77,-800.657,36.2333,200.068,-65.2225],[3681.47,-701.789,35.6833,196.826,-64.5617],[3633.36,-602.188,35.1167,193.457,-63.8517],[3583.43,-502.094,34.5333,189.964,-63.088],[3531.62,-401.755,33.9333,186.345,-62.2656],[3477.92,-301.434,33.3167,182.605,-61.3786],[3422.28,-201.406,32.6833,178.744,-60.4207],[3364.69,-101.957,32.0333,174.768,-59.3845],[3303.6,-0.967984,31.35,170.579,-58.233],[3240.46,98.6434,30.65,166.287,-56.982],[3173.72,198.767,29.9167,161.8,-55.5878],[3103.29,298.744,29.15,157.132,-54.031],[3027.56,399.879,28.3333,152.203,-52.2513],[2947.98,499.178,27.4833,147.144,-50.2541],[2861.31,599.343,26.5667,141.799,-47.9192],[2767.39,698.687,25.5833,136.235,-45.1859],[2661.18,799.719,24.4833,130.286,-41.8216],[2542.36,898.85,23.2667,124.142,-37.69],[2398.97,999.399,21.8167,117.596,-32.1623],[2213.32,1099.42,19.9667,110.843,-24.1334],[1854.18,1199.97,16.4667,104.734,-6.4752],[1728.72,1207.22,15.2667,105.063,-0.0541257]]], - [54,1237.61,[[4139.61,-2003.66,42.5167,233.397,-71.4514],[4104.83,-1901.02,42.05,230.969,-71.0888],[4071.01,-1803.28,41.6,228.599,-70.7288],[4035.67,-1703.22,41.1333,226.112,-70.3445],[3998.76,-1600.99,40.65,223.505,-69.9341],[3961.55,-1500.23,40.1667,220.867,-69.5105],[3924.03,-1400.95,39.6833,218.199,-69.073],[3886.22,-1303.18,39.2,215.501,-68.621],[3845.47,-1200.34,38.6833,212.584,-68.1211],[3805.7,-1102.51,38.1833,209.731,-67.6199],[3762.94,-1000.01,37.65,206.657,-67.0654],[3721.17,-902.564,37.1333,203.648,-66.5076],[3676.34,-800.862,36.5833,200.414,-65.8902],[3631.13,-701.286,36.0333,197.15,-65.2472],[3584.16,-600.949,35.4667,193.758,-64.5562],[3535.4,-500.089,34.8833,190.237,-63.8128],[3486.23,-401.727,34.3,186.691,-63.0347],[3433.8,-300.503,33.6833,182.918,-62.172],[3380.93,-202.155,33.0667,179.123,-61.265],[3324.72,-101.65,32.4167,175.106,-60.2578],[3266.55,-1.98741,31.75,170.973,-59.166],[3204.94,98.8774,31.05,166.627,-57.9506],[3141.29,198.071,30.3333,162.181,-56.627],[3072.58,299.554,29.5667,157.441,-55.1147],[3001.73,398.226,28.7833,152.629,-53.4574],[2924.11,499.471,27.9333,147.466,-51.5191],[2841.12,599.963,27.0333,142.093,-49.293],[2752.65,698.438,26.0833,136.564,-46.7299],[2652.26,799.561,25.0167,130.587,-43.5652],[2539.66,899.871,23.8333,124.332,-39.665],[2408.04,999.925,22.4667,117.749,-34.6065],[2243.7,1099.5,20.7833,110.881,-27.5161],[1990.32,1199.59,18.2333,103.969,-15.0696],[1707.85,1237.61,15.45,102.592,-0.0160926]]], - [55,1267.65,[[4070.51,-2001.41,42.8167,233.65,-71.9286],[4037.77,-1902.03,42.3667,231.301,-71.5881],[4003.54,-1800.24,41.9,228.836,-71.2247],[3970.27,-1703.34,41.45,226.429,-70.8638],[3934.25,-1600.64,40.9667,223.813,-70.4644],[3899.19,-1502.86,40.5,221.256,-70.0665],[3862.59,-1403.04,40.0167,218.578,-69.6412],[3824.42,-1301.36,39.5167,215.775,-69.1863],[3785.93,-1201.3,39.0167,212.94,-68.7155],[3747.13,-1102.9,38.5167,210.073,-68.2281],[3706.72,-1002.97,38,207.08,-67.7059],[3664.65,-901.728,37.4667,203.957,-67.1461],[3622.23,-802.445,36.9333,200.803,-66.5641],[3578.13,-702.146,36.3833,197.519,-65.9392],[3532.31,-601.057,35.8167,194.105,-65.2676],[3486.11,-502.283,35.25,190.661,-64.5659],[3436.77,-400.261,34.65,186.985,-63.7882],[3387.01,-300.914,34.05,183.283,-62.9722],[3335.44,-201.634,33.4333,179.454,-62.091],[3280.61,-100.138,32.7833,175.397,-61.112],[3225.3,-1.92273,32.1333,171.324,-60.0776],[3166.65,97.74,31.45,167.032,-58.9258],[3104.59,198.253,30.7333,162.528,-57.6411],[3039.06,298.976,29.9833,157.822,-56.2053],[2969.98,399.229,29.2,152.931,-54.5968],[2897.29,498.283,28.3833,147.876,-52.7902],[2817.92,599.05,27.5,142.484,-50.6728],[2731.71,699.916,26.55,136.809,-48.1868],[2638.5,799.111,25.5333,130.928,-45.2614],[2533.48,898.86,24.4,124.682,-41.6442],[2411.63,998.998,23.1,118.048,-36.9872],[2262.9,1099.06,21.5333,111.046,-30.5988],[2053.96,1199.65,19.3667,103.76,-20.3561],[1685.54,1267.65,15.6333,100.097,-0.000151594]]], - [56,1297.3,[[3998.76,-2000.62,43.1167,233.934,-72.4117],[3966.83,-1900.84,42.6667,231.579,-72.0804],[3934.64,-1802.27,42.2167,229.194,-71.7396],[3901,-1701.34,41.75,226.69,-71.3756],[3867.08,-1601.73,41.2833,224.155,-71.0005],[3832.89,-1503.48,40.8167,221.59,-70.6137],[3797.2,-1403.16,40.3333,218.901,-70.2002],[3759.98,-1300.96,39.8333,216.086,-69.758],[3722.45,-1200.38,39.3333,213.238,-69.3002],[3684.62,-1101.44,38.8333,210.358,-68.8262],[3645.21,-1000.96,38.3167,207.35,-68.3184],[3605.47,-902.289,37.8,204.309,-67.7913],[3564.12,-802.36,37.2667,201.137,-67.2257],[3521.12,-701.389,36.7167,197.833,-66.6185],[3477.77,-602.559,36.1667,194.498,-65.9853],[3431.4,-500.117,35.5833,190.929,-65.2836],[3384.65,-400.157,35,187.329,-64.5489],[3337.5,-302.717,34.4167,183.701,-63.7789],[3287.24,-202.488,33.8,179.84,-62.9239],[3235.18,-102.569,33.1667,175.85,-61.9988],[3179.9,-0.743956,32.5,171.63,-60.9695],[3124.14,97.5904,31.8333,167.396,-59.8788],[3063.67,199.348,31.1167,162.835,-58.6321],[3001.24,299.171,30.3833,158.171,-57.2698],[2935.38,398.809,29.6167,153.309,-55.7434],[2864.58,499.556,28.8,148.165,-53.9916],[2790.2,598.421,27.95,142.87,-52.0165],[2707.73,699.828,27.0167,137.158,-49.6509],[2619.97,798.45,26.0333,131.3,-46.9116],[2520.79,898.624,24.9333,125.009,-43.5139],[2406.81,999.246,23.6833,118.306,-39.1794],[2271.45,1099.09,22.2167,111.247,-33.3905],[2092.02,1199.41,20.3,103.782,-24.6245],[1661.79,1297.3,15.8167,97.5774,-0.00832735]]], - [57,1326.54,[[3924.36,-2001.35,43.4167,234.25,-72.9003],[3893.25,-1901.17,42.9667,231.889,-72.5784],[3861.89,-1802.19,42.5167,229.497,-72.2472],[3829.1,-1700.82,42.05,226.985,-71.8935],[3796.06,-1600.78,41.5833,224.441,-71.5289],[3762.75,-1502.09,41.1167,221.866,-71.153],[3727.97,-1401.32,40.6333,219.167,-70.751],[3692.91,-1302.03,40.15,216.435,-70.3357],[3656.35,-1200.91,39.65,213.576,-69.8912],[3619.49,-1101.43,39.15,210.683,-69.4308],[3581.1,-1000.38,38.6333,207.66,-68.9376],[3542.39,-901.133,38.1167,204.603,-68.4256],[3502.1,-800.606,37.5833,201.414,-67.8762],[3461.49,-702.057,37.05,198.193,-67.3044],[3419.26,-602.533,36.5,194.837,-66.6899],[3375.39,-502.259,35.9333,191.347,-66.0286],[3329.86,-401.475,35.35,187.723,-65.3162],[3282.63,-300.431,34.75,183.963,-64.5476],[3235,-202.083,34.15,180.175,-63.74],[3184.3,-101.241,33.5167,176.15,-62.8423],[3131.82,-0.962258,32.8667,171.995,-61.8688],[3077.53,98.4514,32.2,167.716,-60.8111],[3020.03,199.035,31.5,163.21,-59.6305],[2960.64,297.919,30.7833,158.592,-58.341],[2896.53,399.047,30.0167,153.659,-56.8627],[2829.03,499.365,29.2167,148.536,-55.2005],[2758.07,598.123,28.3833,143.245,-53.3259],[2679.26,699.888,27.4667,137.509,-51.0772],[2595.34,799.291,26.5,131.595,-48.4701],[2501.8,899.404,25.4333,125.29,-45.2803],[2395.42,999.837,24.2333,118.571,-41.2533],[2271.36,1099.34,22.85,111.482,-35.9724],[2112.34,1199.81,21.1,103.876,-28.2333],[1856.46,1299.64,18.3333,96.1799,-13.6891],[1636.58,1326.54,16,95.0339,-0.0426972]]], - [58,1355.32,[[3847.3,-2003.66,43.7167,234.599,-73.3944],[3817.02,-1903.07,43.2667,232.232,-73.082],[3785.36,-1800,42.8,229.744,-72.7485],[3754.58,-1701.86,42.35,227.314,-72.4173],[3722.41,-1601.37,41.8833,224.763,-72.0634],[3689.99,-1502.23,41.4167,222.179,-71.6985],[3656.13,-1400.99,40.9333,219.47,-71.3083],[3622,-1301.22,40.45,216.728,-70.9051],[3587.6,-1202.97,39.9667,213.953,-70.4882],[3551.73,-1102.93,39.4667,211.049,-70.0417],[3514.37,-1001.29,38.95,208.012,-69.5634],[3476.69,-901.46,38.4333,204.941,-69.0667],[3437.48,-800.318,37.9,201.736,-68.5337],[3397.96,-701.15,37.3667,198.496,-67.979],[3356.86,-600.979,36.8167,195.121,-67.3826],[3314.16,-500.033,36.25,191.609,-66.7408],[3271.12,-401.415,35.6833,188.063,-66.0695],[3226.44,-302.363,35.1,184.382,-65.3454],[3178.81,-200.414,34.4833,180.459,-64.5409],[3130.78,-101.347,33.8667,176.506,-63.6935],[3079.72,-0.0903132,33.2167,172.313,-62.75],[3028.22,97.8683,32.5667,168.099,-61.751],[2972.29,199.619,31.8667,163.543,-60.6075],[2914.52,299.711,31.15,158.868,-59.3579],[2853.52,399.969,30.4,153.976,-57.9566],[2789.25,499.707,29.6167,148.882,-56.3808],[2721.63,598.197,28.8,143.605,-54.6031],[2647.81,698.317,27.9167,137.961,-52.5088],[2567.65,798.448,26.9667,132.003,-50.0348],[2478.17,899.882,25.9167,125.606,-47.0007],[2379.14,999.672,24.7667,118.91,-43.2722],[2264.48,1099.18,23.45,111.784,-38.4197],[2121.95,1199.49,21.8333,104.107,-31.5217],[1916.04,1299.88,19.5333,96.0168,-19.8684],[1608.38,1355.32,16.1667,92.4777,-0.00457596]]], - [59,1383.61,[[3765.41,-2000.08,43.9833,234.806,-73.8715],[3737.04,-1902.86,43.55,232.52,-73.5794],[3707.35,-1803.07,43.1,230.115,-73.2676],[3676.31,-1700.86,42.6333,227.588,-72.9345],[3646.14,-1603.55,42.1833,225.12,-72.6036],[3613.48,-1500.41,41.7,222.436,-72.237],[3581.69,-1402.22,41.2333,219.811,-71.8716],[3548.51,-1301.97,40.75,217.059,-71.4807],[3515.05,-1203.21,40.2667,214.274,-71.0765],[3480.17,-1102.66,39.7667,211.358,-70.6437],[3443.84,-1000.49,39.25,208.308,-70.1798],[3407.2,-900.11,38.7333,205.222,-69.6982],[3370.27,-801.55,38.2167,202.102,-69.1978],[3331.84,-701.746,37.6833,198.845,-68.6603],[3291.88,-600.913,37.1333,195.451,-68.0826],[3251.59,-502.234,36.5833,192.022,-67.4793],[3209.75,-402.851,36.0167,188.455,-66.8295],[3165.08,-300.188,35.4167,184.643,-66.108],[3120.02,-200.205,34.8167,180.796,-65.3496],[3073.33,-100.279,34.2,176.812,-64.5287],[3024.98,-0.687073,33.5667,172.691,-63.6387],[2974.93,98.2799,32.9167,168.436,-62.6718],[2921.87,198.724,32.2333,163.942,-61.5919],[2867.04,297.738,31.5333,159.323,-60.4122],[2807.78,399.401,30.7833,154.368,-59.0581],[2746.66,498.521,30.0167,149.309,-57.5679],[2680.98,598.687,29.2,143.944,-55.8501],[2610.62,698.778,28.3333,138.301,-53.8638],[2534.14,799.312,27.4,132.314,-51.5146],[2451.4,898.55,26.4,126.05,-48.7257],[2358.07,998.84,25.2833,119.313,-45.2364],[2251.06,1098.95,24.0167,112.122,-40.7368],[2121.4,1199.41,22.5,104.375,-34.4995],[1946.59,1299.68,20.4833,96.1093,-24.6605],[1580.3,1383.61,16.35,89.8871,-0.096346]]], - [60,1411.39,[[3682.01,-2001.89,44.2667,235.133,-74.3656],[3653.39,-1900.56,43.8167,232.753,-74.0716],[3624.53,-1800.41,43.3667,230.341,-73.7691],[3595.45,-1701.48,42.9167,227.897,-73.4578],[3565.05,-1600.16,42.45,225.33,-73.1251],[3534.41,-1500.18,41.9833,222.729,-72.782],[3503.53,-1401.56,41.5167,220.096,-72.4279],[3471.29,-1300.85,41.0333,217.334,-72.0491],[3438.79,-1201.65,40.55,214.538,-71.6574],[3404.9,-1100.62,40.05,211.609,-71.2379],[3370.74,-1001.24,39.55,208.645,-70.803],[3335.15,-900.3,39.0333,205.546,-70.3367],[3299.28,-801.176,38.5167,202.411,-69.8521],[3261.94,-700.784,37.9833,199.138,-69.3316],[3224.31,-602.381,37.45,195.829,-68.7893],[3184,-500.04,36.8833,192.276,-68.1876],[3143.35,-400.012,36.3167,188.686,-67.558],[3102.38,-302.333,35.75,185.062,-66.8985],[3058.63,-201.505,35.15,181.189,-66.1653],[3013.3,-100.701,34.5333,177.175,-65.3717],[2966.34,-0.198066,33.9,173.019,-64.5109],[2917.74,99.7132,33.25,168.726,-63.5753],[2867.48,198.73,32.5833,164.298,-62.5564],[2814.25,298.875,31.8833,159.628,-61.4158],[2758,399.526,31.15,154.725,-60.1359],[2699.97,497.884,30.4,149.708,-58.7279],[2636.22,599.639,29.5833,144.26,-57.0689],[2569.26,699.538,28.7333,138.626,-55.187],[2497.71,798.531,27.8333,132.731,-53.0011],[2418.78,898.593,26.85,126.414,-50.3571],[2330.97,998.894,25.7667,119.668,-47.0935],[2231.32,1098.92,24.55,112.466,-42.9293],[2112.59,1199.37,23.1167,104.682,-37.2536],[1958.76,1299.96,21.2833,96.2761,-28.6455],[1681.02,1399.76,18.0333,87.6993,-9.83075],[1547.85,1411.39,16.5,87.2926,-0.00796038]]], - [61,1438.62,[[3594.97,-2001.6,44.5333,235.405,-74.8546],[3568.22,-1903.66,44.1,233.108,-74.5806],[3540.22,-1803.11,43.65,230.691,-74.288],[3510.95,-1700.1,43.1833,228.15,-73.9755],[3482.51,-1602.01,42.7333,225.668,-73.665],[3452.77,-1501.59,42.2667,223.06,-73.333],[3422.8,-1402.53,41.8,220.418,-72.9905],[3391.52,-1301.36,41.3167,217.647,-72.624],[3359.98,-1201.69,40.8333,214.841,-72.2449],[3327.09,-1100.17,40.3333,211.902,-71.8389],[3293.94,-1000.3,39.8333,208.926,-71.4181],[3260.53,-902.092,39.3333,205.914,-70.9816],[3225.72,-802.389,38.8167,202.765,-70.5131],[3189.51,-701.393,38.2833,199.477,-70.0099],[3152.99,-602.38,37.75,196.152,-69.4855],[3115.04,-502.381,37.2,192.685,-68.9211],[3075.61,-401.624,36.6333,189.075,-68.3129],[3034.69,-300.348,36.05,185.32,-67.6566],[2993.43,-201.59,35.4667,181.529,-66.9673],[2950.64,-102.676,34.8667,177.595,-66.2215],[2905.11,-1.24225,34.2333,173.408,-65.3905],[2857.97,99.6345,33.5833,169.078,-64.4871],[2809.22,199.652,32.9167,164.608,-63.5027],[2758.83,298.494,32.2333,160.003,-62.4275],[2705.53,398.101,31.5167,155.155,-61.221],[2648.02,499.989,30.75,149.961,-59.8317],[2588.73,599.032,29.9667,144.66,-58.2957],[2525.09,698.7,29.1333,139.044,-56.5176],[2455.74,799.643,28.2333,133.034,-54.4102],[2381.84,898.533,27.2833,126.789,-51.9476],[2299.39,998.539,26.2333,120.061,-48.9023],[2205.51,1099.37,25.05,112.79,-45.0039],[2095.9,1199.91,23.6833,104.971,-39.7951],[1959.26,1299.92,22,96.5407,-32.1969],[1750.45,1399.95,19.4667,87.5085,-18.1719],[1515.52,1438.62,16.6667,84.6644,-0.0549473]]], - [62,1465.27,[[3505.36,-2003.05,44.8,235.712,-75.3495],[3478.43,-1900.99,44.35,233.32,-75.0742],[3451.28,-1800.11,43.9,230.896,-74.7911],[3423.92,-1700.43,43.45,228.439,-74.4995],[3396.34,-1601.96,43,225.95,-74.1993],[3367.52,-1501.14,42.5333,223.335,-73.8783],[3338.47,-1401.67,42.0667,220.685,-73.547],[3308.14,-1300.08,41.5833,217.905,-73.1926],[3278.63,-1203.41,41.1167,215.186,-72.8388],[3246.76,-1101.39,40.6167,212.237,-72.4466],[3214.63,-1001,40.1167,209.25,-72.0401],[3182.24,-902.285,39.6167,206.226,-71.6183],[3148.51,-802.048,39.1,203.064,-71.1656],[3113.41,-700.495,38.5667,199.76,-70.6793],[3078.03,-600.919,38.0333,196.418,-70.1725],[3041.24,-500.333,37.4833,192.932,-69.6269],[3004.15,-401.914,36.9333,189.408,-69.0566],[2965.64,-302.812,36.3667,185.74,-68.4414],[2924.52,-200.461,35.7667,181.816,-67.7571],[2883.06,-100.806,35.1667,177.854,-67.0366],[2840.1,-1.23407,34.55,173.746,-66.2553],[2795.61,97.9765,33.9167,169.493,-65.4063],[2748.39,199.016,33.25,164.983,-64.4573],[2699.58,298.918,32.5667,160.333,-63.4203],[2647.95,399.646,31.85,155.433,-62.256],[2594.66,498.365,31.1167,150.406,-60.9751],[2537.25,598.878,30.3333,145.032,-59.496],[2476.87,698.159,29.5167,139.442,-57.8179],[2410.97,799.115,28.6333,133.437,-55.8272],[2340.7,898.416,27.7,127.169,-53.4995],[2262.15,999.391,26.6667,120.374,-50.6151],[2175.16,1099.13,25.5333,113.175,-47.0245],[2074.32,1199.15,24.2333,105.385,-42.2685],[1950.09,1299.85,22.65,96.8548,-35.4138],[1777.75,1399.43,20.4833,87.6767,-23.9359],[1480.45,1465.27,16.8167,82.0213,-0.0224548]]], - [63,1491.3,[[3412.22,-2002.46,45.05,235.964,-75.8402],[3386.15,-1900.06,44.6,233.567,-75.5743],[3360.84,-1802.56,44.1667,231.227,-75.3109],[3334.35,-1702.49,43.7167,228.765,-75.0295],[3307.66,-1603.62,43.2667,226.27,-74.7397],[3279.76,-1502.39,42.8,223.648,-74.4298],[3251.64,-1402.5,42.3333,220.991,-74.1101],[3222.28,-1300.48,41.85,218.202,-73.7679],[3193.71,-1203.38,41.3833,215.475,-73.4264],[3162.86,-1100.9,40.8833,212.515,-73.0478],[3131.76,-1000.05,40.3833,209.517,-72.6552],[3100.41,-900.864,39.8833,206.481,-72.2479],[3067.75,-800.136,39.3667,203.305,-71.8108],[3034.84,-701.231,38.85,200.09,-71.356],[3000.59,-601.076,38.3167,196.732,-70.8671],[2966.07,-502.922,37.7833,193.336,-70.357],[2929.09,-400.859,37.2167,189.686,-69.7904],[2891.81,-301.123,36.65,185.996,-69.1966],[2853.13,-200.92,36.0667,182.158,-68.5548],[2813.01,-100.505,35.4667,178.17,-67.8602],[2771.43,-0.144061,34.85,174.032,-67.1067],[2728.38,99.8848,34.2167,169.746,-66.2877],[2683.83,199.29,33.5667,165.312,-65.3955],[2637.76,297.766,32.9,160.734,-64.4211],[2587.81,399.641,32.1833,155.784,-63.3002],[2536.27,499.545,31.45,150.699,-62.0662],[2481.91,599.226,30.6833,145.372,-60.6719],[2423.51,699.968,29.8667,139.702,-59.0556],[2362.18,798.774,29.0167,133.826,-57.212],[2295.45,898.311,28.1,127.548,-55.0146],[2221.98,998.463,27.1,120.813,-52.3343],[2139.13,1099.74,25.9833,113.504,-48.9377],[2045.45,1199.69,24.7333,105.708,-44.5461],[1933.06,1299.6,23.25,97.2174,-38.3894],[1783.45,1399.57,21.3,87.9019,-28.5042],[1444.1,1491.3,16.9667,79.3542,-0.0206544]]], - [64,1516.7,[[3316.58,-2003.65,45.3,236.251,-76.3367],[3291.37,-1900.91,44.85,233.849,-76.0803],[3266.9,-1803.07,44.4167,231.504,-75.8262],[3241.3,-1702.64,43.9667,229.036,-75.5548],[3215.49,-1603.42,43.5167,226.535,-75.2753],[3188.52,-1501.81,43.05,223.905,-74.9764],[3161.33,-1401.54,42.5833,221.241,-74.668],[3133.92,-1302.63,42.1167,218.54,-74.3495],[3105.32,-1201.63,41.6333,215.707,-74.0084],[3076.49,-1102.14,41.15,212.836,-73.6555],[3046.42,-1000.81,40.65,209.827,-73.2772],[3016.12,-901.135,40.15,206.78,-72.8846],[2985.58,-803.138,39.65,203.695,-72.4771],[2952.74,-700.485,39.1167,200.363,-72.0249],[2920.67,-602.914,38.6,197.096,-71.5686],[2886.26,-501.106,38.05,193.577,-71.0617],[2851.57,-401.451,37.5,190.016,-70.5317],[2815.54,-301.063,36.9333,186.306,-69.9598],[2778.15,-200.183,36.35,182.445,-69.3416],[2740.46,-101.837,35.7667,178.544,-68.6913],[2700.29,-0.666575,35.15,174.379,-67.9662],[2659.79,97.5871,34.5333,170.175,-67.1992],[2616.75,197.947,33.8833,165.707,-66.3415],[2571.12,299.854,33.2,160.972,-65.3802],[2525.11,398.016,32.5167,156.208,-64.3519],[2475.32,499.132,31.7833,151.069,-63.1662],[2423.96,597.949,31.0333,145.796,-61.8557],[2368.71,698.154,30.2333,140.166,-60.3362],[2309.49,798.65,29.3833,134.198,-58.5667],[2246.22,898.251,28.4833,127.922,-56.4953],[2176.47,998.948,27.5,121.154,-53.9653],[2098.88,1099.91,26.4167,113.868,-50.8036],[2012.1,1199.35,25.2167,106.11,-46.7643],[1908.56,1299.71,23.8,97.5688,-41.1362],[1776.68,1399.38,22.0167,88.2236,-32.4961],[1546.26,1500,18.95,77.944,-13.3176],[1406.46,1516.7,17.1167,76.6635,-0.0532987]]], - [65,1541.43,[[3217.54,-2002.86,45.5333,236.483,-76.8299],[3194.1,-1903.59,45.1,234.166,-76.592],[3169.57,-1801.65,44.65,231.726,-76.338],[3144.85,-1700.9,44.2,229.252,-76.0764],[3119.93,-1601.35,43.75,226.744,-75.807],[3094.82,-1503.02,43.3,224.202,-75.5294],[3068.58,-1402.36,42.8333,221.53,-75.2325],[3042.12,-1303.05,42.3667,218.822,-74.9258],[3014.51,-1201.64,41.8833,215.98,-74.5975],[2986.68,-1101.72,41.4,213.1,-74.2576],[2958.63,-1003.32,40.9167,210.182,-73.9056],[2929.39,-903.15,40.4167,207.125,-73.5281],[2898.92,-801.395,39.9,203.925,-73.1228],[2868.22,-701.453,39.3833,200.684,-72.7011],[2836.27,-600.218,38.85,197.297,-72.2476],[2804.06,-500.972,38.3167,193.869,-71.7744],[2770.58,-400.74,37.7667,190.291,-71.2644],[2736.83,-302.688,37.2167,186.671,-70.7305],[2700.75,-201.112,36.6333,182.789,-70.1363],[2664.38,-102.062,36.05,178.865,-69.5111],[2625.62,-0.140848,35.4333,174.673,-68.8139],[2586.54,98.8715,34.8167,170.44,-68.0761],[2546.07,197.486,34.1833,166.053,-67.2727],[2503.13,297.877,33.5167,161.396,-66.3722],[2457.66,399.461,32.8167,156.471,-65.3604],[2410.72,499.341,32.1,151.398,-64.2468],[2361.18,599.333,31.35,146.066,-62.9878],[2308.99,698.745,30.5667,140.484,-61.5586],[2253,798.781,29.7333,134.548,-59.8936],[2193.12,898.282,28.85,128.284,-57.9439],[2127,999.343,27.8833,121.496,-55.5595],[2054.52,1099.71,26.8333,114.259,-52.6242],[1973.2,1199.56,25.6667,106.471,-48.8657],[1878.15,1299.52,24.3167,97.958,-43.7383],[1759.49,1399.53,22.65,88.5508,-36.0295],[1580.24,1499.71,20.1667,78.0722,-21.3025],[1367.54,1541.42,17.2667,73.9498,-0.124529]]], - [66,1565.45,[[3115.19,-2000.08,45.75,236.663,-77.3204],[3092.6,-1900.54,45.3167,234.34,-77.0914],[3069.83,-1802.08,44.8833,231.985,-76.856],[3046,-1700.99,44.4333,229.505,-76.6045],[3021.98,-1601.1,43.9833,226.991,-76.3454],[2997.78,-1502.43,43.5333,224.443,-76.0784],[2972.48,-1401.41,43.0667,221.764,-75.7928],[2946.99,-1301.74,42.6,219.048,-75.4978],[2921.29,-1203.44,42.1333,216.296,-75.1931],[2894.47,-1103.09,41.65,213.408,-74.8665],[2866.51,-1000.88,41.15,210.38,-74.5164],[2838.32,-900.302,40.65,207.311,-74.1532],[2809.9,-801.396,40.15,204.202,-73.776],[2780.31,-700.972,39.6333,200.949,-73.3708],[2750.48,-602.383,39.1167,197.655,-72.9488],[2719.46,-502.567,38.5833,194.212,-72.4945],[2687.2,-401.742,38.0333,190.618,-72.0048],[2653.7,-300.135,37.4667,186.87,-71.4763],[2619.92,-200.87,36.9,183.079,-70.9215],[2584.88,-101.171,36.3167,179.132,-70.321],[2548.54,-1.29135,35.7167,175.028,-69.6697],[2510.9,98.5005,35.1,170.767,-68.9618],[2471.92,197.924,34.4667,166.349,-68.1907],[2430.55,299.174,33.8,161.656,-67.3262],[2387.79,399.275,33.1167,156.807,-66.3783],[2343.63,497.896,32.4167,151.805,-65.3358],[2295.92,599.091,31.6667,146.417,-64.1295],[2245.67,699.772,30.8833,140.769,-62.7592],[2192.82,799.201,30.0667,134.873,-61.195],[2136.26,898.444,29.2,128.631,-59.3626],[2073.71,999.696,28.25,121.837,-57.1192],[2006.16,1099.19,27.2333,114.669,-54.4012],[1930.15,1199.14,26.1,106.882,-50.9143],[1842.1,1299.33,24.8,98.3543,-46.2029],[1734.86,1399.22,23.2333,88.9466,-39.2987],[1583.52,1499.78,21.05,78.3248,-27.0011],[1326.16,1565.45,17.4,71.2195,-0.1076]]], - [67,1588.74,[[3011.31,-2003.05,45.9833,236.966,-77.8257],[2989.57,-1903.19,45.55,234.64,-77.606],[2966.82,-1800.62,45.1,232.189,-77.3713],[2944.74,-1702.97,44.6667,229.797,-77.1387],[2921.64,-1602.73,44.2167,227.278,-76.8901],[2897.49,-1500.07,43.75,224.628,-76.6243],[2874.02,-1402.32,43.3,222.038,-76.3598],[2849.49,-1302.28,42.8333,219.316,-76.0767],[2823.88,-1200.1,42.35,216.457,-75.7736],[2798.97,-1102.86,41.8833,213.659,-75.4708],[2772.06,-1000.23,41.3833,210.622,-75.1348],[2745.85,-902.578,40.9,207.646,-74.798],[2718.52,-803.196,40.4,204.527,-74.4363],[2690.06,-702.275,39.8833,201.263,-74.0477],[2660.44,-600.017,39.35,197.848,-73.6297],[2631.52,-502.843,38.8333,194.499,-73.2074],[2600.49,-401.472,38.2833,190.889,-72.7378],[2569.22,-302.268,37.7333,187.235,-72.246],[2536.74,-202.361,37.1667,183.425,-71.7145],[2503.04,-101.993,36.5833,179.458,-71.1392],[2468.09,-1.41857,35.9833,175.33,-70.515],[2431.88,99.0946,35.3667,171.043,-69.8365],[2394.4,199.266,34.7333,166.594,-69.0972],[2355.61,298.804,34.0833,161.985,-68.2894],[2314.5,399.819,33.4,157.096,-67.3815],[2272.03,499.386,32.7,152.05,-66.3825],[2227.18,599.384,31.9667,146.729,-65.2527],[2179.89,699.14,31.2,141.14,-63.9695],[2129.09,799.937,30.3833,135.17,-62.4731],[2075.77,898.771,29.5333,128.959,-60.7538],[2017.77,998.305,28.6167,122.29,-58.6866],[1953.92,1098.41,27.6167,115.093,-56.1369],[1881.98,1199.59,26.5,107.219,-52.859],[1800.66,1299.37,25.25,98.7305,-48.5387],[1703.18,1399,23.7667,89.346,-42.3175],[1571.31,1499.85,21.7833,78.6447,-31.7141],[1283.6,1588.74,17.5333,68.466,-0.129467]]], - [68,1611.28,[[2903.39,-2000.25,46.1833,237.128,-78.3204],[2882.51,-1900.13,45.75,234.796,-78.1096],[2861.47,-1801.09,45.3167,232.432,-77.893],[2840.27,-1703.13,44.8833,230.034,-77.6701],[2818.08,-1602.58,44.4333,227.51,-77.4318],[2795.72,-1503.24,43.9833,224.95,-77.1863],[2772.35,-1401.52,43.5167,222.258,-76.9236],[2748.79,-1301.14,43.05,219.528,-76.6522],[2725.05,-1202.12,42.5833,216.76,-76.3719],[2700.27,-1101.02,42.1,213.855,-76.0714],[2675.3,-1001.43,41.6167,210.909,-75.7603],[2649.26,-900.007,41.1167,207.821,-75.4264],[2623.01,-800.246,40.6167,204.691,-75.0797],[2596.56,-702.169,40.1167,201.52,-74.7193],[2569.02,-602.619,39.6,198.201,-74.3317],[2540.36,-501.801,39.0667,194.73,-73.9144],[2511.47,-402.987,38.5333,191.215,-73.4785],[2480.54,-300.226,37.9667,187.433,-72.9934],[2450.27,-202.716,37.4167,183.717,-72.4995],[2417.92,-101.732,36.8333,179.729,-71.9488],[2384.37,-0.517407,36.2333,175.579,-71.3514],[2350.55,97.9637,35.6333,171.383,-70.7199],[2314.57,198.906,35,166.906,-70.013],[2277.34,299.242,34.35,162.264,-69.2404],[2238.85,398.666,33.6833,157.459,-68.3938],[2198.1,499.205,32.9833,152.37,-67.4393],[2156.03,597.985,32.2667,147.123,-66.3848],[2110.66,698.934,31.5,141.476,-65.1598],[2062.92,798.988,30.7,135.559,-63.7607],[2011.76,899.293,29.85,129.264,-62.1199],[1957.13,998.656,28.95,122.613,-60.1825],[1896.91,1099.05,27.9667,115.402,-57.7905],[1829.97,1199.63,26.8833,107.583,-54.7594],[1754.08,1299.86,25.6667,99.0624,-50.7552],[1664.84,1399.34,24.25,89.6927,-45.1032],[1549.16,1499.35,22.4333,79.0639,-35.8986],[1338.02,1599.81,19.1667,66.8742,-12.8542],[1238.76,1611.28,17.65,65.6949,-0.052743]]], - [69,1633.03,[[2793.96,-2003.28,46.4,237.415,-78.8292],[2773.95,-1902.86,45.9667,235.08,-78.6278],[2753.79,-1803.51,45.5333,232.712,-78.4206],[2732.69,-1701.49,45.0833,230.217,-78.1993],[2711.43,-1600.65,44.6333,227.687,-77.9713],[2689.99,-1501.03,44.1833,225.121,-77.7363],[2668.4,-1402.63,43.7333,222.519,-77.494],[2645.82,-1301.9,43.2667,219.783,-77.2346],[2623.08,-1202.53,42.8,217.008,-76.9665],[2599.33,-1101.06,42.3167,214.095,-76.6793],[2575.4,-1001.09,41.8333,211.141,-76.3818],[2551.28,-902.648,41.35,208.147,-76.0734],[2526.14,-802.438,40.85,205.008,-75.7422],[2499.95,-700.652,40.3333,201.721,-75.3864],[2473.55,-600.687,39.8167,198.389,-75.0157],[2446.95,-502.57,39.3,195.014,-74.6293],[2418.41,-400.185,38.75,191.374,-74.1995],[2390.52,-302.964,38.2167,187.799,-73.7633],[2360.64,-201.923,37.65,183.954,-73.2774],[2329.65,-100.376,37.0667,179.946,-72.7511],[2298.4,-1.36777,36.4833,175.89,-72.1963],[2266.01,97.78,35.8833,171.67,-71.5935],[2231.54,199.433,35.25,167.166,-70.9185],[2196.8,297.956,34.6167,162.614,-70.2002],[2159.93,398.231,33.95,157.774,-69.3927],[2120.9,499.674,33.25,152.646,-68.482],[2080.61,599.387,32.5333,147.352,-67.4754],[2038.11,699.18,31.7833,141.774,-66.332],[1993.34,798.357,31,135.917,-65.0264],[1945.32,898.111,30.1667,129.668,-63.4952],[1893.02,999.084,29.2667,122.921,-61.6509],[1836.35,1099.6,28.3,115.708,-59.4115],[1774.25,1199.31,27.25,107.967,-56.6173],[1703.63,1299.7,26.0667,99.4469,-52.9188],[1621.28,1399.58,24.7,90.049,-47.7449],[1517.77,1499.43,23,79.4333,-39.5875],[1355.37,1599.77,20.3667,67.0845,-22.2033],[1192.85,1633.03,17.7667,62.9008,-0.0136976]]], - [70,1653.97,[[2680.73,-2000.56,46.5833,237.56,-79.3288],[2662.33,-1903.75,46.1667,235.311,-79.1439],[2642.31,-1800.31,45.7167,232.847,-78.9385],[2622.88,-1701.81,45.2833,230.44,-78.735],[2602.55,-1600.69,44.8333,227.905,-78.5174],[2582.05,-1500.77,44.3833,225.333,-78.2932],[2561.4,-1402.07,43.9333,222.725,-78.0619],[2539.82,-1301.02,43.4667,219.982,-77.8144],[2518.07,-1201.33,43,217.201,-77.5585],[2496.15,-1103.02,42.5333,214.381,-77.294],[2473.28,-1002.67,42.05,211.42,-77.0103],[2449.42,-900.451,41.55,208.314,-76.706],[2426.19,-803.213,41.0667,205.27,-76.4005],[2401.15,-701,40.55,201.972,-76.0612],[2375.92,-600.604,40.0333,198.629,-75.7077],[2350.49,-502.053,39.5167,195.241,-75.3392],[2324.03,-402.285,38.9833,191.699,-74.942],[2296.54,-301.52,38.4333,187.998,-74.5132],[2268.82,-202.941,37.8833,184.249,-74.0636],[2239.2,-100.811,37.3,180.223,-73.5622],[2209.33,-1.21489,36.7167,176.147,-73.0335],[2178.37,98.5442,36.1167,171.905,-72.4589],[2146.3,198.196,35.5,167.494,-71.8329],[2113.09,297.46,34.8667,162.914,-71.1491],[2077.86,398.523,34.2,158.042,-70.3801],[2041.46,498.411,33.5167,152.999,-69.534],[2002.96,599.086,32.8,147.662,-68.5766],[1962.35,699.895,32.05,142.033,-67.4883],[1920.49,798.064,31.2833,136.242,-66.2727],[1874.62,899.088,30.45,129.921,-64.8161],[1825.58,999.615,29.5667,123.209,-63.0943],[1773.32,1098.39,28.6333,116.133,-61.0417],[1714.96,1198.68,27.6,108.364,-58.4351],[1649.43,1298.93,26.45,99.8751,-55.0311],[1572.74,1399.95,25.1167,90.3868,-50.2523],[1479.79,1499.26,23.5167,79.8367,-42.9959],[1343.62,1599.98,21.2,67.3865,-28.6282],[1145.87,1653.97,17.8833,60.084,-0.018084]]], - [71,1674.08,[[2565.99,-2003.75,46.7833,237.832,-79.8419],[2547.75,-1902.81,46.35,235.49,-79.6588],[2529.36,-1802.94,45.9167,233.113,-79.4705],[2510.12,-1700.36,45.4667,230.609,-79.2694],[2491.44,-1602.71,45.0333,228.163,-79.0699],[2471.9,-1502.48,44.5833,225.587,-78.8565],[2452.21,-1403.47,44.1333,222.974,-78.6365],[2431.63,-1302.1,43.6667,220.226,-78.401],[2410.89,-1202.08,43.2,217.438,-78.1576],[2389.99,-1103.44,42.7333,214.612,-77.9058],[2368.17,-1002.74,42.25,211.643,-77.6359],[2345.43,-900.157,41.75,208.528,-77.3463],[2323.27,-802.563,41.2667,205.475,-77.0556],[2300.17,-703.248,40.7667,202.274,-76.7432],[2276.11,-602.406,40.25,198.922,-76.4073],[2251.08,-500.241,39.7167,195.413,-76.0454],[2225.85,-400.065,39.1833,191.856,-75.6672],[2200.43,-301.91,38.65,188.253,-75.2716],[2174,-202.836,38.1,184.489,-74.844],[2145.76,-100.176,37.5167,180.446,-74.3672],[2117.28,-0.0443873,36.9333,176.35,-73.8643],[2088.58,97.5212,36.35,172.205,-73.3333],[2058.01,197.83,35.7333,167.77,-72.7386],[2026.36,297.774,35.1,163.164,-72.0888],[1992.77,399.56,34.4333,158.26,-71.3578],[1958.91,497.787,33.7667,153.306,-70.5737],[1922.23,599.352,33.05,147.928,-69.6645],[1884.38,698.892,32.3167,142.377,-68.6546],[1844.49,798.14,31.55,136.532,-67.5014],[1801.65,898.363,30.7333,130.27,-66.1478],[1755.8,998.425,29.8667,123.602,-64.5477],[1706.02,1098.82,28.9333,116.423,-62.6031],[1651.31,1199.36,27.9167,108.643,-60.1724],[1590.7,1299.04,26.8,100.214,-57.0429],[1520.41,1399.46,25.5167,90.8009,-52.6985],[1435.62,1499.32,23.9833,80.2107,-46.1429],[1318.21,1599.98,21.8833,67.7589,-33.9152],[1097.83,1674.08,18,57.2449,-0.0727181]]], - [72,1693.32,[[2447.69,-2001.22,46.95,237.963,-80.3471],[2430.33,-1900.06,46.5167,235.616,-80.1731],[2413.52,-1803.81,46.1,233.327,-80.0012],[2395.22,-1700.97,45.65,230.819,-79.8102],[2377.46,-1603.05,45.2167,228.369,-79.6209],[2358.87,-1502.55,44.7667,225.788,-79.4183],[2340.15,-1403.26,44.3167,223.169,-79.2095],[2320.57,-1301.6,43.85,220.415,-78.9858],[2300.85,-1201.29,43.3833,217.621,-78.7547],[2280.97,-1102.34,42.9167,214.787,-78.5157],[2260.22,-1001.33,42.4333,211.811,-78.2594],[2239.31,-901.831,41.95,208.792,-77.9937],[2217.51,-800.517,41.45,205.625,-77.7084],[2195.55,-700.872,40.95,202.414,-77.4117],[2173.41,-602.921,40.45,199.159,-77.1031],[2149.61,-500.335,39.9167,195.639,-76.7598],[2126.37,-402.848,39.4,192.182,-76.4125],[2101.44,-301.15,38.85,188.453,-76.0257],[2076.32,-201.629,38.3,184.675,-75.62],[2050.23,-101.403,37.7333,180.73,-75.1807],[2023.16,-0.715235,37.15,176.617,-74.7041],[1995.88,97.4116,36.5667,172.452,-74.2008],[1966.81,198.319,35.95,167.995,-73.6369],[1936.72,298.885,35.3167,163.362,-73.0208],[1905.59,398.813,34.6667,158.553,-72.3454],[1873.41,497.797,34,153.566,-71.6027],[1839.35,597.849,33.3,148.276,-70.7621],[1803.38,698.339,32.5667,142.682,-69.8066],[1765.47,798.589,31.8,136.785,-68.715],[1724.75,899.89,30.9833,130.459,-67.4327],[1682.02,999.222,30.1333,123.844,-65.9464],[1635.56,1099.26,29.2167,116.697,-64.1396],[1584.44,1199.88,28.2167,108.921,-61.8792],[1528.58,1298.72,27.1333,100.577,-59.0131],[1463.56,1399.41,25.8833,91.1581,-55.0252],[1386.55,1499.03,24.4167,80.6168,-49.1274],[1283.99,1599.3,22.4833,68.2345,-38.5946],[1047.84,1693.32,18.1,54.3878,-0.014407]]], - [73,1711.68,[[2327.3,-2000.77,47.1167,238.132,-80.8586],[2311.48,-1903.28,46.7,235.872,-80.7004],[2294.9,-1802.92,46.2667,233.488,-80.5312],[2278.2,-1703.64,45.8333,231.069,-80.3571],[2260.71,-1601.7,45.3833,228.52,-80.171],[2243.09,-1500.95,44.9333,225.934,-79.9792],[2225.34,-1401.42,44.4833,223.31,-79.7814],[2207.44,-1303.12,44.0333,220.649,-79.5774],[2188.75,-1202.5,43.5667,217.85,-79.3587],[2169.9,-1103.25,43.1,215.01,-79.1327],[2150.23,-1001.91,42.6167,212.027,-78.8902],[2130.41,-902.087,42.1333,209.001,-78.6389],[2109.75,-800.431,41.6333,205.826,-78.3689],[2088.92,-700.44,41.1333,202.606,-78.0882],[2067.94,-602.14,40.6333,199.341,-77.7962],[2046.08,-502.366,40.1167,195.921,-77.4817],[2023.35,-401.324,39.5833,192.341,-77.1427],[2000.44,-302.293,39.05,188.712,-76.7879],[1976.62,-202.307,38.5,184.92,-76.4044],[1951.9,-101.596,37.9333,180.961,-75.9892],[1926.24,-0.405734,37.35,176.83,-75.5386],[1900.38,98.2292,36.7667,172.646,-75.0627],[1872.83,199.679,36.15,168.167,-74.5294],[1845.07,298.186,35.5333,163.633,-73.9623],[1815.57,398.782,34.8833,158.797,-73.3244],[1785.07,498.457,34.2167,153.779,-72.6226],[1752.79,599.243,33.5167,148.453,-71.8281],[1719.49,698.256,32.8,142.945,-70.946],[1683.56,799.432,32.0333,136.999,-69.9152],[1645.78,899.698,31.2333,130.744,-68.7296],[1606.09,998.288,30.4,124.19,-67.3562],[1562.08,1099.73,29.4833,116.954,-65.6532],[1515.28,1198.65,28.5167,109.325,-63.596],[1462.39,1299.5,27.4333,100.827,-60.8987],[1402.46,1399.98,26.2167,91.4384,-57.244],[1332.04,1499.68,24.8,80.9034,-51.8883],[1240.86,1599.84,22.9833,68.5465,-42.6104],[1076.49,1699.78,19.75,53.3924,-16.4951],[996.895,1711.68,18.2,51.5092,-0.00643602]]], - [74,1729.12,[[2204.85,-2002.46,47.2833,238.339,-81.3762],[2189.3,-1900.85,46.85,235.986,-81.2208],[2173.64,-1800.3,46.4167,233.597,-81.0611],[2157.85,-1700.82,45.9833,231.173,-80.8968],[2141.94,-1602.43,45.55,228.715,-80.7277],[2125.3,-1501.43,45.1,226.124,-80.5468],[2108.52,-1401.65,44.65,223.496,-80.3603],[2091.62,-1303.09,44.2,220.829,-80.1678],[2073.96,-1202.2,43.7333,218.024,-79.9616],[2056.16,-1102.67,43.2667,215.178,-79.7484],[2037.58,-1001.05,42.7833,212.188,-79.5197],[2018.85,-900.934,42.3,209.155,-79.2826],[1999.98,-802.349,41.8167,206.078,-79.0366],[1980.31,-701.997,41.3167,202.85,-78.7721],[1959.83,-600.074,40.8,199.467,-78.4876],[1939.85,-503.178,40.3,196.147,-78.2007],[1918.38,-401.74,39.7667,192.557,-77.8811],[1896.74,-302.309,39.2333,188.917,-77.5468],[1874.25,-201.905,38.6833,185.111,-77.1854],[1850.89,-100.761,38.1167,181.137,-76.7939],[1827.35,-1.988,37.55,177.109,-76.3816],[1802.24,99.9711,36.95,172.787,-75.9204],[1776.92,199.19,36.35,168.409,-75.4315],[1750.7,298.267,35.7333,163.853,-74.8975],[1722.84,399.47,35.0833,158.991,-74.2966],[1694.04,499.774,34.4167,153.944,-73.6353],[1664.29,598.857,33.7333,148.712,-72.905],[1632.84,698.656,33.0167,143.166,-72.0748],[1599.66,798.516,32.2667,137.304,-71.1264],[1563.98,899.791,31.4667,130.996,-70.0117],[1526.52,999.442,30.6333,124.377,-68.7195],[1486.48,1098.46,29.75,117.324,-67.1777],[1442.31,1198.92,28.7833,109.591,-65.2469],[1393.93,1298.52,27.7333,101.216,-62.7952],[1338.93,1398.71,26.55,91.8847,-59.4709],[1274.07,1499.4,25.1667,81.2791,-54.5853],[1192.81,1599.33,23.45,68.9899,-46.4167],[1062.76,1699.86,20.7333,53.7207,-26.2982],[945.019,1729.12,18.3,48.6093,-0.0583974]]], - [75,1745.63,[[2079.81,-2002.36,47.4333,238.496,-81.8936],[2065.18,-1900.55,47,236.139,-81.7477],[2051.01,-1803.65,46.5833,233.84,-81.6034],[2035.58,-1700.11,46.1333,231.32,-81.4431],[2020.61,-1601.51,45.7,228.857,-81.2842],[2004.95,-1500.29,45.25,226.261,-81.1142],[1989.16,-1400.28,44.8,223.628,-80.9389],[1973.26,-1301.5,44.35,220.956,-80.758],[1956.63,-1200.37,43.8833,218.145,-80.5641],[1939.88,-1100.61,43.4167,215.293,-80.3637],[1923,-1002.23,42.95,212.399,-80.1562],[1905.39,-901.807,42.4667,209.359,-79.9336],[1887.63,-802.915,41.9833,206.276,-79.7026],[1869.13,-702.244,41.4833,203.04,-79.4542],[1850.48,-603.257,40.9833,199.759,-79.1959],[1831.06,-502.765,40.4667,196.319,-78.9176],[1810.85,-400.975,39.9333,192.719,-78.6175],[1790.49,-301.189,39.4,189.067,-78.3034],[1769.33,-200.417,38.85,185.248,-77.9639],[1748.01,-101.841,38.3,181.377,-77.6072],[1725.87,-2.6098,37.7333,177.334,-77.2204],[1702.24,99.8388,37.1333,172.996,-76.7875],[1678.42,199.552,36.5333,168.599,-76.3287],[1653.76,299.142,35.9167,164.022,-75.8275],[1628.23,398.324,35.2833,159.261,-75.2782],[1601.14,499.282,34.6167,154.188,-74.6583],[1573.16,599.041,33.9333,148.925,-73.9735],[1543.57,699.558,33.2167,143.343,-73.1948],[1513.06,797.99,32.4833,137.57,-72.3254],[1480.22,898.119,31.7,131.345,-71.3039],[1444.99,998.867,30.8667,124.666,-70.0949],[1407.35,1099.06,29.9833,117.539,-68.6512],[1366.53,1199.13,29.0333,109.845,-66.8745],[1321.77,1298.78,28,101.478,-64.6175],[1270.8,1399.6,26.8333,92.1003,-61.552],[1212.04,1499.42,25.5,81.6048,-57.1553],[1138.67,1599.83,23.85,69.2828,-49.8442],[1030.06,1700,21.4333,54.0815,-33.3375],[892.225,1745.63,18.4,45.6893,-0.182482]]], - [76,1761.19,[[1952.3,-2000.52,47.5667,238.602,-82.4117],[1939.12,-1902.43,47.15,236.333,-82.2804],[1925.31,-1801.46,46.7167,233.939,-82.1401],[1911.4,-1701.56,46.2833,231.508,-81.9957],[1897.38,-1602.74,45.85,229.042,-81.8471],[1882.71,-1501.29,45.4,226.443,-81.6881],[1867.92,-1401.04,44.95,223.806,-81.5241],[1853.02,-1302.02,44.5,221.13,-81.3549],[1837.45,-1200.65,44.0333,218.313,-81.1737],[1821.76,-1100.64,43.5667,215.456,-80.9862],[1805.95,-1002,43.1,212.557,-80.7922],[1789.45,-901.315,42.6167,209.51,-80.5839],[1772.82,-802.156,42.1333,206.42,-80.3678],[1755.49,-701.206,41.6333,203.176,-80.1356],[1738.02,-601.936,41.1333,199.886,-79.8938],[1719.83,-501.151,40.6167,196.437,-79.6335],[1701.5,-402.214,40.1,192.939,-79.3617],[1682.43,-302.056,39.5667,189.277,-79.0683],[1662.61,-200.895,39.0167,185.447,-78.751],[1642.64,-101.928,38.4667,181.564,-78.4176],[1621.91,-2.28937,37.9,177.507,-78.0561],[1600.39,97.7738,37.3167,173.274,-77.6631],[1578.1,198.004,36.7167,168.861,-77.2348],[1555,298.129,36.1,164.265,-76.7669],[1531.1,397.867,35.4667,159.483,-76.2541],[1505.73,499.416,34.8,154.384,-75.6752],[1479.53,599.787,34.1167,149.092,-75.0355],[1452.48,698.646,33.4167,143.608,-74.3255],[1423.92,797.85,32.6833,137.797,-73.5145],[1393.17,898.81,31.9,131.525,-72.561],[1360.85,998.476,31.0833,124.925,-71.4557],[1325.61,1099.75,30.2,117.73,-70.1092],[1288.08,1199.29,29.2667,110.084,-68.4816],[1246.86,1298.83,28.25,101.739,-66.4132],[1200.53,1398.72,27.1167,92.4702,-63.6451],[1146.24,1499.88,25.8,81.8599,-59.6123],[1081.07,1599.07,24.2333,69.7253,-53.1842],[987.954,1699.48,22.0167,54.5569,-39.2995],[837.807,1761.19,18.4833,42.7515,-0.175399]]], - [77,1775.78,[[1822.96,-2000.86,47.7,238.748,-82.9358],[1810.68,-1902.6,47.2833,236.477,-82.8136],[1797.81,-1801.44,46.85,234.079,-82.6829],[1784.85,-1701.35,46.4167,231.645,-82.5485],[1771.78,-1602.34,45.9833,229.175,-82.4102],[1758.11,-1500.69,45.5333,226.573,-82.2622],[1744.33,-1400.24,45.0833,223.931,-82.1096],[1730.45,-1301.02,44.6333,221.25,-81.9521],[1716.46,-1203.04,44.1833,218.53,-81.7895],[1701.84,-1102.76,43.7167,215.668,-81.6152],[1686.58,-1000.35,43.2333,212.66,-81.4282],[1671.74,-902.894,42.7667,209.713,-81.2411],[1655.71,-800.051,42.2667,206.509,-81.0331],[1640.09,-702.208,41.7833,203.367,-80.8242],[1623.82,-602.641,41.2833,200.069,-80.5994],[1606.87,-501.544,40.7667,196.612,-80.3573],[1589.79,-402.295,40.25,193.106,-80.1045],[1572.03,-301.81,39.7167,189.434,-79.8316],[1553.56,-200.309,39.1667,185.593,-79.5364],[1534.96,-100.997,38.6167,181.697,-79.2263],[1515.64,-1.00185,38.05,177.627,-78.8899],[1495.59,99.4324,37.4667,173.378,-78.5242],[1475.4,197.29,36.8833,169.072,-78.137],[1453.88,297.895,36.2667,164.458,-77.7022],[1431.61,398.129,35.6333,159.655,-77.2256],[1408.58,497.697,34.9833,154.661,-76.7014],[1384.18,598.707,34.3,149.344,-76.1077],[1358.98,698.227,33.6,143.829,-75.4485],[1332.38,798.129,32.8667,137.983,-74.6952],[1303.73,899.843,32.0833,131.668,-73.8093],[1274.25,998.309,31.2833,125.153,-72.8038],[1242.06,1098.71,30.4167,118.031,-71.579],[1207.11,1199.45,29.4833,110.306,-70.0704],[1169.35,1298.73,28.4833,101.996,-68.1847],[1126.85,1398.86,27.3667,92.7206,-65.6588],[1077.6,1499.75,26.0833,82.1622,-62.0237],[1018.88,1599.1,24.5667,70.0426,-56.282],[937.468,1699.91,22.4833,54.8557,-44.2927],[781.929,1775.78,18.55,39.7959,-0.00850141]]], - [78,1789.37,[[1691.84,-2003.45,47.8333,238.935,-83.4653],[1680.01,-1901.08,47.4,236.57,-83.3477],[1668.55,-1803.65,46.9833,234.262,-83.2315],[1656.54,-1703.35,46.55,231.826,-83.1072],[1643.97,-1600.35,46.1,229.258,-82.9743],[1631.78,-1502.28,45.6667,226.748,-82.8425],[1619.02,-1401.62,45.2167,224.103,-82.7013],[1606.16,-1302.19,44.7667,221.418,-82.5556],[1592.72,-1200.38,44.3,218.593,-82.3996],[1579.66,-1103.48,43.85,215.828,-82.2441],[1565.53,-1000.83,43.3667,212.815,-82.0712],[1551.78,-903.146,42.9,209.863,-81.8981],[1536.94,-800.052,42.4,206.653,-81.7058],[1522.48,-701.963,41.9167,203.504,-81.5125],[1507.4,-602.139,41.4167,200.199,-81.3046],[1491.71,-500.775,40.9,196.734,-81.0807],[1475.89,-401.255,40.3833,193.219,-80.8468],[1459.43,-300.489,39.85,189.537,-80.5943],[1442.85,-201.747,39.3167,185.802,-80.3297],[1425.63,-102.074,38.7667,181.896,-80.0432],[1407.74,-1.70062,38.2,177.814,-79.7324],[1389.18,99.1259,37.6167,173.553,-79.3944],[1370.47,197.379,37.0333,169.231,-79.0366],[1350.55,298.407,36.4167,164.6,-78.6347],[1329.93,399.08,35.7833,159.778,-78.194],[1308.6,499.101,35.1333,154.762,-77.7093],[1286.55,598.162,34.4667,149.55,-77.174],[1263.23,698.275,33.7667,144.008,-76.5654],[1238.6,798.804,33.0333,138.129,-75.8695],[1212.64,899.07,32.2667,131.91,-75.0691],[1185.35,998.348,31.4667,125.348,-74.1414],[1155.54,1099.64,30.6,118.169,-73.0107],[1123.77,1199.59,29.6833,110.51,-71.6433],[1089.41,1298.46,28.7,102.246,-69.9344],[1050.66,1398.68,27.6,92.9816,-67.6439],[1006.27,1499.04,26.35,82.5063,-64.3908],[953.141,1599.18,24.8667,70.3283,-59.2399],[882.06,1699.75,22.9,55.2352,-48.9056],[725.985,1789.37,18.6333,36.8197,-0.153962]]], - [79,1801.94,[[1558.13,-2000.38,47.9333,238.982,-83.9915],[1547.67,-1901.81,47.5167,236.705,-83.8875],[1536.7,-1800.33,47.0833,234.302,-83.7764],[1526.08,-1703.75,46.6667,231.956,-83.6666],[1514.53,-1600.57,46.2167,229.385,-83.5445],[1503.31,-1502.33,45.7833,226.872,-83.4234],[1491.57,-1401.49,45.3333,224.223,-83.2938],[1479.75,-1301.88,44.8833,221.535,-83.16],[1467.83,-1203.49,44.4333,218.807,-83.0218],[1455.38,-1102.79,43.9667,215.936,-82.8737],[1442.83,-1003.47,43.5,213.022,-82.7204],[1429.74,-902.061,43.0167,209.96,-82.5558],[1416.54,-802.172,42.5333,206.851,-82.3851],[1402.78,-700.459,42.0333,203.588,-82.2015],[1388.92,-600.42,41.5333,200.276,-82.0104],[1374.95,-502.079,41.0333,196.916,-81.8113],[1360.41,-402.272,40.5167,193.393,-81.5967],[1345.28,-301.206,39.9833,189.703,-81.3649],[1330.03,-202.163,39.45,185.96,-81.122],[1314.19,-102.174,38.9,182.044,-80.859],[1297.74,-1.47402,38.3333,177.95,-80.5737],[1280.67,99.6928,37.75,173.676,-80.2634],[1263.47,198.29,37.1667,169.34,-79.9348],[1245.15,299.683,36.55,164.693,-79.5656],[1226.69,398.117,35.9333,159.981,-79.1718],[1207.08,498.618,35.2833,154.945,-78.7273],[1186.81,598.175,34.6167,149.711,-78.2363],[1165.36,698.814,33.9167,144.143,-77.6778],[1142.72,799.9,33.1833,138.233,-77.0391],[1119.38,898.613,32.4333,132.114,-76.3209],[1094.29,998.622,31.6333,125.51,-75.4706],[1067.42,1098.81,30.7833,118.417,-74.4547],[1038.21,1199.75,29.8667,110.694,-73.2026],[1006.63,1299.69,28.8833,102.346,-71.6361],[971.559,1399.66,27.8,93.1072,-69.5676],[931.851,1499.07,26.5833,82.7445,-66.6705],[884.133,1599.5,25.1333,70.5593,-62.0739],[822.165,1699.42,23.2667,55.6167,-53.1678],[689.549,1799.98,19.3167,34.3239,-10.2804],[668.706,1801.94,18.7,33.8266,-0.140652]]], - [80,1813.49,[[1423.26,-2003.53,48.05,239.161,-84.5271],[1413.34,-1900.87,47.6167,236.791,-84.4287],[1403.73,-1803.14,47.2,234.478,-84.3314],[1393.65,-1702.54,46.7667,232.036,-84.2274],[1383.5,-1603.02,46.3333,229.557,-84.1202],[1372.88,-1500.84,45.8833,226.945,-84.0056],[1362.57,-1403.57,45.45,224.391,-83.8919],[1351.39,-1300.08,44.9833,221.6,-83.7655],[1340.52,-1201.55,44.5333,218.867,-83.6396],[1329.16,-1100.7,44.0667,215.991,-83.5045],[1317.72,-1001.21,43.6,213.073,-83.3648],[1306.19,-903.119,43.1333,210.111,-83.22],[1294.15,-803.011,42.65,206.998,-83.0645],[1281.61,-701.069,42.15,203.729,-82.8973],[1268.97,-600.798,41.65,200.411,-82.7233],[1256.23,-502.224,41.15,197.044,-82.5421],[1242.96,-402.173,40.6333,193.515,-82.3466],[1229.17,-300.854,40.1,189.817,-82.1355],[1215.26,-201.554,39.5667,186.065,-81.9143],[1200.82,-101.298,39.0167,182.139,-81.6747],[1185.81,-0.320385,38.45,178.034,-81.4147],[1170.7,98.2714,37.8833,173.871,-81.1403],[1155.02,197.233,37.3,169.524,-80.8414],[1138.32,299.016,36.6833,164.862,-80.5055],[1121.48,397.843,36.0667,160.135,-80.1472],[1103.61,498.762,35.4167,155.081,-79.7426],[1085.13,598.752,34.75,149.827,-79.2957],[1065.57,699.85,34.05,144.234,-78.7872],[1045.39,799.162,33.3333,138.431,-78.2194],[1024.12,898.481,32.5833,132.281,-77.5665],[1001.24,999.143,31.7833,125.639,-76.7931],[977.232,1098.12,30.95,118.639,-75.8878],[950.61,1199.95,30.0333,110.857,-74.7503],[922.314,1299.23,29.0667,102.575,-73.352],[890.843,1398.96,28,93.3771,-71.5055],[854.658,1499.97,26.7833,82.8647,-68.877],[812.677,1599.11,25.3833,70.8585,-64.857],[758.244,1699.3,23.5833,55.9355,-57.1189],[661.528,1799.82,20.4167,34.7382,-27.9276],[610.783,1813.49,18.7667,30.8164,-0.227024]]], - [81,1823.99,[[1286.12,-2001.05,48.1333,239.201,-85.0606],[1277.51,-1902.22,47.7167,236.92,-84.9752],[1268.48,-1800.45,47.2833,234.511,-84.8839],[1259.74,-1703.6,46.8667,232.161,-84.7936],[1250.22,-1600.12,46.4167,229.584,-84.6932],[1240.99,-1501.59,45.9833,227.065,-84.5937],[1231.33,-1400.45,45.5333,224.41,-84.4871],[1221.59,-1300.52,45.0833,221.714,-84.3771],[1211.78,-1201.83,44.6333,218.978,-84.2636],[1201.53,-1100.8,44.1667,216.099,-84.1418],[1191.19,-1001.14,43.7,213.176,-84.0158],[1180.79,-902.877,43.2333,210.21,-83.8852],[1169.92,-802.588,42.75,207.092,-83.745],[1158.6,-700.458,42.25,203.818,-83.5942],[1147.57,-603.318,41.7667,200.606,-83.4426],[1135.69,-501.229,41.25,197.121,-83.2737],[1123.71,-400.978,40.7333,193.584,-83.0974],[1111.65,-302.592,40.2167,189.995,-82.9131],[1099.1,-203.017,39.6833,186.236,-82.7138],[1086.06,-102.476,39.1333,182.302,-82.4979],[1072.52,-1.20035,38.5667,178.189,-82.2637],[1058.88,97.6919,38,174.016,-82.0165],[1044.32,199.764,37.4,169.532,-81.7392],[1029.66,299.082,36.8,164.983,-81.4445],[1014.46,398.246,36.1833,160.241,-81.1216],[998.326,499.523,35.5333,155.171,-80.7569],[981.647,599.884,34.8667,149.897,-80.3539],[964.419,699.004,34.1833,144.416,-79.9067],[946.213,798.82,33.4667,138.59,-79.3955],[927.011,898.672,32.7167,132.41,-78.8075],[906.37,999.908,31.9167,125.733,-78.1108],[884.702,1099.48,31.0833,118.691,-77.2949],[861.555,1198.39,30.2,111.14,-76.3088],[836.027,1298.67,29.2333,102.792,-75.0532],[807.634,1399.52,28.1667,93.5034,-73.3931],[775.885,1499.18,26.9833,83.1489,-71.0981],[738.471,1599.15,25.6,71.0747,-67.539],[690.744,1699.68,23.85,56.1384,-60.8042],[612.752,1800,21.0167,35.0696,-37.9606],[551.763,1823.99,18.8167,27.7902,-0.110879]]], - [82,1833.43,[[1147.63,-2000.88,48.2167,239.283,-85.5992],[1139.95,-1901.93,47.8,236.999,-85.5231],[1131.9,-1800.05,47.3667,234.589,-85.4417],[1124.11,-1703.09,46.95,232.236,-85.3613],[1115.94,-1603.3,46.5167,229.753,-85.2753],[1107.39,-1500.83,46.0667,227.135,-85.1832],[1099.1,-1403.29,45.6333,224.576,-85.0918],[1090.42,-1303.19,45.1833,221.878,-84.9939],[1081.35,-1200.69,44.7167,219.038,-84.8891],[1072.53,-1103.12,44.2667,216.259,-84.7845],[1063.33,-1003.28,43.8,213.333,-84.6724],[1053.72,-901.333,43.3167,210.257,-84.5519],[1044.03,-800.901,42.8333,207.134,-84.427],[1034.27,-702.004,42.35,203.965,-84.2972],[1024.1,-601.337,41.85,200.637,-84.1575],[1013.85,-502.362,41.35,197.259,-84.0119],[1003.18,-401.893,40.8333,193.717,-83.855],[992.081,-300.138,40.3,190.005,-83.6855],[980.895,-200.398,39.7667,186.238,-83.5079],[969.623,-102.705,39.2333,182.415,-83.3214],[957.556,-1.18142,38.6667,178.293,-83.1129],[945.396,97.9611,38.1,174.111,-82.8928],[932.783,197.495,37.5167,169.742,-82.6529],[919.346,299.889,36.9,165.055,-82.3834],[905.805,399.332,36.2833,160.3,-82.0958],[891.792,498.344,35.65,155.345,-81.7796],[876.928,599.102,34.9833,150.055,-81.4213],[861.575,698.634,34.3,144.556,-81.0236],[845.35,798.886,33.5833,138.708,-80.5688],[828.238,899.197,32.8333,132.503,-80.0456],[810.228,998.864,32.05,125.934,-79.4391],[790.919,1099.08,31.2167,118.855,-78.7142],[770.294,1198.67,30.3333,111.259,-77.8378],[747.547,1299.7,29.3667,102.851,-76.7207],[722.644,1399.89,28.3167,93.6267,-75.2675],[694.756,1499.35,27.15,83.3046,-73.2581],[661.827,1599.74,25.7833,71.1938,-70.1373],[620.531,1699.98,24.0833,56.3258,-64.3425],[556.815,1799.59,21.4833,35.528,-46.16],[492.23,1833.43,18.8667,24.7482,-0.0968037]]], - [83,1841.79,[[1007.83,-2003.04,48.3,239.407,-86.1423],[1000.82,-1900.03,47.8667,237.031,-86.0729],[994.031,-1801.96,47.45,234.711,-86.0044],[986.918,-1701.01,47.0167,232.262,-85.9311],[979.75,-1601.14,46.5833,229.776,-85.8555],[972.528,-1502.36,46.15,227.253,-85.7778],[964.971,-1400.95,45.7,224.593,-85.6946],[957.355,-1300.76,45.25,221.892,-85.6087],[949.682,-1201.79,44.8,219.15,-85.52],[941.664,-1100.49,44.3333,216.264,-85.4249],[933.584,-1000.55,43.8667,213.334,-85.3265],[925.443,-901.996,43.4,210.36,-85.2245],[916.948,-801.408,42.9167,207.234,-85.115],[908.387,-702.352,42.4333,204.061,-85.0013],[899.464,-601.519,41.9333,200.728,-84.8789],[890.472,-502.377,41.4333,197.346,-84.7513],[881.11,-401.734,40.9167,193.798,-84.6138],[871.676,-302.952,40.4,190.198,-84.4699],[861.865,-202.966,39.8667,186.426,-84.3144],[851.668,-101.995,39.3167,182.477,-84.146],[841.082,-0.273972,38.75,178.347,-83.9632],[830.414,99.0686,38.1833,174.156,-83.7701],[819.349,198.81,37.6,169.777,-83.5598],[807.88,298.691,37,165.207,-83.3301],[796.003,398.437,36.3833,160.441,-83.0783],[783.711,497.765,35.75,155.474,-82.8013],[770.674,598.857,35.0833,150.17,-82.4876],[757.208,698.735,34.4,144.654,-82.1392],[742.976,799.354,33.6833,138.786,-81.7408],[728.301,897.866,32.95,132.697,-81.2931],[712.506,998.052,32.1667,126.102,-80.7626],[695.573,1098.83,31.3333,118.991,-80.1285],[677.484,1199.01,30.45,111.354,-79.3614],[657.879,1299.02,29.5,103.04,-78.4012],[636.389,1398.56,28.4667,93.8942,-77.153],[611.936,1499.19,27.3,83.4737,-75.3998],[583.415,1599.83,25.95,71.354,-72.7087],[548.277,1699.45,24.3,56.6229,-67.8171],[495.3,1799.66,21.8333,35.8159,-52.9827],[432.204,1841.79,18.9167,21.6917,-0.229853]]], - [84,1849.06,[[866.571,-2003.55,48.3667,239.484,-86.687],[860.551,-1900.44,47.9333,237.106,-86.6273],[854.718,-1802.28,47.5167,234.785,-86.5685],[848.606,-1701.24,47.0833,232.335,-86.5055],[842.446,-1601.27,46.65,229.847,-86.4407],[836.241,-1502.38,46.2167,227.321,-86.3739],[829.747,-1400.87,45.7667,224.659,-86.3025],[823.203,-1300.57,45.3167,221.956,-86.2288],[816.61,-1201.51,44.8667,219.212,-86.1526],[809.72,-1100.09,44.4,216.323,-86.0709],[802.777,-1000.04,43.9333,213.39,-85.9864],[795.782,-901.371,43.4667,210.413,-85.8989],[788.482,-800.664,42.9833,207.283,-85.8047],[781.126,-701.489,42.5,204.105,-85.7071],[773.458,-600.532,42,200.769,-85.6019],[765.731,-501.264,41.5,197.382,-85.4923],[757.687,-400.49,40.9833,193.829,-85.3742],[749.581,-301.576,40.4667,190.223,-85.2506],[741.149,-201.452,39.9333,186.444,-85.117],[732.388,-100.338,39.3833,182.489,-84.9723],[723.56,-1.43035,38.8333,178.474,-84.8199],[714.395,98.1325,38.2667,174.276,-84.6543],[704.888,198.103,37.6833,169.89,-84.4739],[695.036,298.221,37.0833,165.311,-84.2768],[684.832,398.215,36.4667,160.535,-84.0608],[674.272,497.798,35.8333,155.558,-83.8231],[663.071,599.163,35.1667,150.241,-83.5538],[651.502,699.322,34.4833,144.71,-83.2548],[639.56,797.939,33.7833,138.962,-82.921],[626.667,899.057,33.0333,132.715,-82.5282],[613.097,999.573,32.25,126.096,-82.0726],[598.841,1098.74,31.4333,119.098,-81.5391],[583.303,1199.43,30.55,111.426,-80.8812],[566.462,1299.99,29.6,103.066,-80.0572],[548.301,1398.6,28.5833,94.0092,-79.0039],[527.599,1498.73,27.4333,83.654,-77.5247],[503.409,1599.44,26.1,71.552,-75.2536],[473.54,1699.94,24.4667,56.7197,-71.1156],[430.208,1799.65,22.1167,36.0847,-59.1395],[371.396,1849.06,18.95,18.6219,-0.0801955]]], - [85,1855.23,[[724.05,-2002.43,48.4167,239.513,-87.2335],[719.215,-1903.21,48,237.226,-87.1856],[714.149,-1801.04,47.5667,234.811,-87.1345],[709.24,-1703.8,47.15,232.454,-87.084],[704.097,-1603.71,46.7167,229.965,-87.0299],[698.715,-1500.94,46.2667,227.341,-86.972],[693.492,-1403.1,45.8333,224.776,-86.9147],[688.028,-1302.68,45.3833,222.071,-86.853],[682.522,-1203.49,44.9333,219.326,-86.7895],[676.769,-1101.95,44.4667,216.436,-86.7214],[670.971,-1001.78,44,213.501,-86.6509],[665.129,-902.983,43.5333,210.522,-86.5779],[659.033,-802.144,43.05,207.39,-86.4994],[652.89,-702.835,42.5667,204.21,-86.4179],[646.487,-601.737,42.0667,200.871,-86.3302],[640.034,-502.328,41.5667,197.481,-86.2388],[633.316,-401.406,41.05,193.925,-86.1401],[626.547,-302.343,40.5333,190.315,-86.0372],[619.506,-202.063,40,186.532,-85.9256],[612.189,-100.788,39.45,182.572,-85.8049],[604.817,-1.71622,38.9,178.552,-85.6778],[597.163,98.0168,38.3333,174.348,-85.5397],[589.224,198.164,37.75,169.955,-85.3891],[580.996,298.466,37.15,165.369,-85.2245],[572.475,398.65,36.5333,160.584,-85.0442],[563.656,498.431,35.9,155.597,-84.8459],[554.537,597.509,35.25,150.402,-84.6269],[544.877,697.978,34.5667,144.86,-84.3778],[534.667,799.221,33.85,138.961,-84.0928],[524.14,898.379,33.1167,132.836,-83.7723],[512.81,999.261,32.3333,126.198,-83.3925],[500.906,1098.81,31.5167,119.177,-82.9478],[487.932,1199.93,30.6333,111.475,-82.399],[474.117,1299.24,29.7,103.224,-81.7244],[458.955,1398.49,28.6833,94.1186,-80.8474],[441.671,1499.36,27.5333,83.6927,-79.6145],[421.728,1599.76,26.2167,71.6323,-77.7452],[397.303,1699.75,24.6167,56.8992,-74.3768],[362.164,1799.96,22.3333,36.2217,-64.757],[310.238,1855.23,18.9833,15.5398,-0.086397]]] -]; - -_minHeight = -2000; -_maxHeight = 2000; -_hstep = 100; -_minRange = 604.817; -_maxRange = 3473.18; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg0.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg0.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg0.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg1.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg1.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg1.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg2.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg2.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg2.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg3.sqf b/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg3.sqf deleted file mode 100644 index ab93160422..0000000000 --- a/TO_MERGE/ace/arty_ammunition/82mm/tables/ace_arty_82mm_wpBtab_LA_chg3.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// ARTY+ACE Module ballistics table. -// Magazine: ace_arty_81mm_fakecharge -// Ammo: ace_arty_81mm_m821a2_m734_pd -// AirFriction: -7.58e-005 - -private ["_btab", "_minRange", "_maxRange", "_minHeight", "_maxHeight", "_hstep"]; - -_btab = [ - [45,0.708123,[[23.8035,-200.02,6.75,62.2889,-86.7961],[17.2793,-100.445,4.88333,44.4293,-85.4718],[2.59242,-0.00421638,0.716667,5.08535,-45.9663],[1.29628,0.707115,0.35,3.53565,-0.979783]]], - [55,0.921162,[[19.4999,-200.404,6.81667,62.3473,-87.4039],[14.2076,-100.657,4.95,44.4746,-86.3319],[2.43741,-0.0308853,0.833333,5.11836,-55.9317],[1.24266,0.918594,0.416667,2.87167,-3.07536]]], - [65,1.10939,[[14.4738,-200.566,6.86667,62.3718,-88.0882],[10.5743,-100.718,5,44.4873,-87.2988],[1.97199,-0.0183903,0.916667,5.08133,-65.433],[0.986041,1.10864,0.45,2.11333,-1.22584]]], - [75,1.24923,[[8.90748,-200.612,6.9,62.3788,-88.8293],[6.51923,-100.71,5.03333,44.4852,-88.3459],[1.29395,-0.0556626,0.983333,5.14244,-75.4281],[0.647003,1.248,0.483333,1.29607,-3.27438]]], - [85,1.32367,[[3.00688,-200.615,6.91667,62.3793,-89.6058],[2.20263,-100.691,5.05,44.481,-89.4429],[0.450259,-0.0733638,1.01667,5.17095,-85.1667],[0.225137,1.32223,0.5,0.444167,-11.1819]]] -]; - -_minHeight = -200; -_maxHeight = 200; -_hstep = 100; -_minRange = 0.450259; -_maxRange = 2.59242; -[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep] diff --git a/TO_MERGE/ace/arty_ammunition/CfgAmmo.hpp b/TO_MERGE/ace/arty_ammunition/CfgAmmo.hpp deleted file mode 100644 index 9f8234f47e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgAmmo.hpp +++ /dev/null @@ -1,53 +0,0 @@ -//cfgAmmo.hpp - -class CfgAmmo { - class ShellBase; - class ace_arty_howitzer_base: ShellBase { - whistleOnFire = 200; - artilleryLock = 0; - }; - - class ace_arty_baseEject : ShellBase { - hit = 20; - indirectHit = 20; - indirectHitRange = 10; - typicalSpeed = 100; - explosive = 1; - cost = 300; - model = "\ca\weapons\empty"; - airFriction = 0; - timeToLive = 1; - explosionTime = 0.001; - soundFly[] = {"",1,1}; - soundEngine[] = {"",1,4}; - CraterEffects = "GrenadeCrater"; - explosionEffects = "GrenadeExplosion"; - muzzleEffect = "BIS_Effects_Rifle"; - soundHit[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject",56.23413,1,1800}; - soundDefault1[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject",56.2341,1,1800}; - soundDefault2[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject",56.2341,1,1800}; - soundDefault3[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject",56.2341,1,1800}; - hitGroundSoft[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitGroundHard[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitMan[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitArmor[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitIron[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitBuilding[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitFoliage[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitWood[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitGlass[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitGlassArmored[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitConcrete[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitRubber[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitPlastic[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitDefault[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitMetal[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - hitMetalplate[] = {"soundDefault1",0.33,"soundDefault2",0.33,"soundDefault3",0.33}; - }; - #include "60mm\CfgAmmo.hpp" - #include "81mm\CfgAmmo.hpp" - #include "82mm\CfgAmmo.hpp" - #include "105mm\CfgAmmo.hpp" - #include "120mm\CfgAmmo.hpp" - #include "155mm\CfgAmmo.hpp" -}; diff --git a/TO_MERGE/ace/arty_ammunition/CfgAmmoBoxes.hpp b/TO_MERGE/ace/arty_ammunition/CfgAmmoBoxes.hpp deleted file mode 100644 index 4c008d7add..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgAmmoBoxes.hpp +++ /dev/null @@ -1,169 +0,0 @@ -class USOrdnanceBox_EP1; -class ACE_Arty_OrdnanceBox: USOrdnanceBox_EP1 { scope = 1; }; // USE this to inherit from in the future -class ace_arty_105mm_ammo_m1: ACE_Arty_OrdnanceBox { - scope = 2; - displayName = "105mm Ammo M1 HE w/Fuze M782"; - model = QPATHTO_M(105mm\ace_arty_105mm_Box.p3d); - vehicleClass = "ACE_Arty_Ammunition"; - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_105mm_m1,5); - }; -}; -class ace_arty_105mm_ammo_m84a1: ace_arty_105mm_ammo_m1 { - displayName = "105mm M84A1 BE HC Smoke w/Fuze M782"; - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_105mm_m84a1,5); - }; -}; -class ace_arty_105mm_ammo_m916: ace_arty_105mm_ammo_m1 { - displayName = "105mm M916 BE DPICM w/Fuze M782"; - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_105mm_m916,5); - }; -}; -class ace_arty_105mm_ammo_m314a3: ace_arty_105mm_ammo_m1 { - displayName = "105mm M314A3 Illum w/Fuze M782"; - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_105mm_m314a3,5); - }; -}; -class ace_arty_105mm_ammo_m60a2: ace_arty_105mm_ammo_m1 { - displayName = "105mm M60A2 Bursting WP Smoke w/Fuze M782"; - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_105mm_m60a2,5); - }; -}; - - // Mortars - // 81mm - class ACE_Tbox_GP_W; - class ACE_Tbox_GP_R; - class ACE_Tbox_Mortar_81mmHE: ACE_Tbox_GP_W { - vehicleClass = "ACE_Arty_Ammunition"; - displayName = "81mm M821A2 HE w/Fuze M734"; - transportMaxWeapons = 0; - transportMaxMagazines = 8; - class TransportMagazines { - ACE_M_MAG(ACE_M252HE_CSWDM,4); - ACE_M_MAG(ace_arty_81mm_m821a2,4); - }; - }; - class ACE_Tbox_Mortar_81mmWP: ACE_Tbox_Mortar_81mmHE { - displayName = "81mm M375A3 Bursting WP Smoke w/Fuze M524"; - class TransportMagazines { - ACE_M_MAG(ACE_M252WP_CSWDM,4); - ACE_M_MAG(ace_arty_81mm_m375a3,4); - }; - }; - class ACE_Tbox_Mortar_81mmIL: ACE_Tbox_Mortar_81mmHE { - displayName = "81mm M853A1 Illum w/Fuze M772"; - class TransportMagazines { - ACE_M_MAG(ACE_M252IL_CSWDM,4); - ACE_M_MAG(ace_arty_81mm_m853a1,4); - }; - }; - - // 60mm - class ACE_Tbox_Mortar_60mmHE: ACE_Tbox_GP_W { - scope = 2; - vehicleClass = "ACE_Arty_Ammunition"; - displayName = "60mm M720A1 HE w/Fuze M734"; - transportMaxWeapons = 0; - transportMaxMagazines = 8; - class TransportMagazines { - ACE_M_MAG(ACE_M224HE_CSWDM,4); - ACE_M_MAG(ace_arty_60mm_m720a1,4); - }; - }; - class ACE_Tbox_Mortar_60mmWP: ACE_Tbox_Mortar_81mmHE { - scope = 2; - displayName = "60mm M722A1 Bursting WP Smoke w/Fuze M745"; - class TransportMagazines { - ACE_M_MAG(ACE_M224WP_CSWDM,4); - ACE_M_MAG(ace_arty_60mm_m722a1,4); - }; - }; - class ACE_Tbox_Mortar_60mmIL: ACE_Tbox_Mortar_81mmHE { - scope = 2; - displayName = "60mm M721 Illum w/Fuze M776"; - class TransportMagazines { - ACE_M_MAG(ACE_M224IL_CSWDM,4); - ACE_M_MAG(ace_arty_60mm_m721,4); - }; - }; - - - // 82mm - class ACE_Tbox_Mortar_82mmHE: ACE_Tbox_GP_R { - vehicleClass = "ACE_Arty_Ammunition"; - displayName = $STR_DN_ACE_CSW_BOX_2B14_AMMOHE; - transportMaxWeapons = 0; - transportMaxMagazines = 8; - class TransportMagazines { - ACE_M_MAG(ACE_2B14HE_CSWDM,4); - ACE_M_MAG(ace_arty_82mm_he,4); - }; - }; - class ACE_Tbox_Mortar_82mmWP: ACE_Tbox_Mortar_82mmHE { - displayName = $STR_DN_ACE_CSW_BOX_2B14_AMMOWP; - class TransportMagazines { - ACE_M_MAG(ACE_2B14WP_CSWDM,4); - ACE_M_MAG(ace_arty_82mm_wp,4); - - }; - }; - class ACE_Tbox_Mortar_82mmIL: ACE_Tbox_Mortar_82mmHE { - displayName = $STR_DN_ACE_CSW_BOX_2B14_AMMOIL; - class TransportMagazines { - ACE_M_MAG(ACE_2B14IL_CSWDM,4); - ACE_M_MAG(ace_arty_82mm_illum,4); - }; - }; - // - class ace_arty_120mm_ammo_dm11: ACE_Arty_OrdnanceBox { - scope = 2; - displayName = "120mm DM11A5 HE w/Fuze DM111A1"; - model = QPATHTO_M(120mm\ace_box_dm11.p3d); - icon = QPATHTO_C(120mm\data\icomap_dm11_ca.paa); - vehicleClass = "ACE_Arty_Ammunition"; - transportMaxMagazines = 2; - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_120mm_dm11a5,2); - }; - ACE_Weight = 1.5; - }; - class ace_arty_120mm_ammo_dm61: ace_arty_120mm_ammo_dm11 { - displayName = "120mm DM61 HE w/Fuze PPD324-B3"; - model = QPATHTO_M(120mm\ace_box_dm61.p3d); - icon = QPATHTO_C(120mm\data\icomap_dm61_ca.paa); - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_120mm_dm61,2); - }; - }; - class ace_arty_120mm_ammo_dm26: ace_arty_120mm_ammo_dm11 { - displayName = "120mm DM26 Illum w/Fuze DM93"; - model = QPATHTO_M(120mm\ace_box_dm26.p3d); - icon = QPATHTO_C(120mm\data\icomap_dm26_ca.paa); - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_120mm_dm26,2); - }; - }; - class ace_arty_120mm_ammo_dm35: ace_arty_120mm_ammo_dm11 { - displayName = "120mm DM35 BE HC Smoke w/Fuze DM93"; - model = QPATHTO_M(120mm\ace_box_dm35.p3d); - icon = QPATHTO_C(120mm\data\icomap_dm35_ca.paa); - class TransportWeapons {}; - class TransportMagazines { - ACE_M_MAG(ace_arty_120mm_dm35,2); - }; - }; - // 1 Rnd Collies - \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/CfgCloudlets.hpp b/TO_MERGE/ace/arty_ammunition/CfgCloudlets.hpp deleted file mode 100644 index e843c63b25..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgCloudlets.hpp +++ /dev/null @@ -1,152 +0,0 @@ -//CfgCloudlets.hpp - -class CfgCloudlets { - class ARTY_ExplosionSmoke; - class ace_arty_105mm_m84a1_m782_smokeCanisterHC_cloudlet1: ARTY_ExplosionSmoke { - particleFSNtieth = 16; - particleFSIndex = 12; - particleFSFrameCount = 8; - particleFSLoop = 0; - animationSpeedCoef = 1; - colorCoef[]={"colorR","colorG","colorB","colorA"}; - sizeCoef=1; - position[]={0,0,0}; - interval=0.05; - weight=10; - volume=7.5; - rubbing=0.05; - lifeTime = 30; - moveVelocity[] = {1, 0.5, 0.000}; - size[] = {0.75, 2, 12, 16, 32, 33, 34, 35}; - color[] = { - {1, 1, 1, 0.5}, - {1, 1, 1, 1}, - {1, 1, 1,0.5}, - {1, 1, 1,0.25}, - {1, 1, 1,0} - }; - lifeTimeVar = 1.5; - positionVar[] = {0, 0, 0}; - rotationVelocityVar = 1; - sizeVar = 1.2; - colorVar[] = {0.1, 0.1, 0.1, 0.2}; - randomDirectionPeriod = 0.025; - randomDirectionIntensity = 0.05; - randomDirectionPeriodVar = 0.025; - randomDirectionIntensityVar = 0.025; - }; - class ace_arty_105mm_m84a1_m782_smokeCanisterHC_cloudlet2: ace_arty_105mm_m84a1_m782_smokeCanisterHC_cloudlet1 { - lifeTime = 60; - interval=0.15; - weight=10; - moveVelocity[] = {1, 0.5, 0.000}; - size[] = {0.5, 1, 10, 24, 24, 24, 24}; - color[] = { - {0.9, 0.9, 0.9, 0.5}, - {0.9,0.9,0.9, 0.75}, - {0.9, 0.9, 0.9,0.5}, - {0.9, 0.91, 0.9,0.25}, - {1, 1, 1,0} - }; - }; - - class Default; - class ace_arty_WPTrails: Default { - interval = 0.1; - circleRadius = 0; - circleVelocity[] = {0,0,0}; - particleShape = "\ca\Data\ParticleEffects\Universal\Universal"; - particleFSNtieth = 16; - particleFSIndex = 13; - particleFSFrameCount = 2; - particleFSLoop = 0; - angleVar = 1; - animationName = ""; - particleType = "Billboard"; - timerPeriod = 0.07; - lifeTime = 5; - moveVelocity[] = {0,6,0}; - rotationVelocity = 0; - weight = 15; - volume = 7.9; - rubbing = 0.1; - size[] = {0.5}; - color[] = {{ 1,1,1,1 }}; - animationSpeed[] = {1}; - randomDirectionPeriod = 1; - randomDirectionIntensity = 0; - onTimerScript = "\x\ace\addons\sys_arty_ammunition\effects\scripts\WPTrails.sqf"; - beforeDestroyScript = "\x\ace\addons\sys_arty_ammunition\effects\scripts\WPTrails_END.sqf"; - lifeTimeVar = 3; - positionVar[] = {2,2,2}; - MoveVelocityVar[] = {12,6,12}; - rotationVelocityVar = 20; - sizeVar = 0; - colorVar[] = {0,0,0,0}; - randomDirectionPeriodVar = 0; - randomDirectionIntensityVar = 0; - }; - class ace_arty_WPTrails2: ace_arty_WPTrails { - interval = 0.01; - lifeTime = 6; - lifeTimeVar = 4; - MoveVelocityVar[] = {2,15,2}; - rotationVelocityVar = 30; - moveVelocity[] = {0,8,0}; - onTimerScript = "\x\ace\addons\sys_arty_ammunition\effects\scripts\WPTrails2.sqf"; - beforeDestroyScript = "\x\ace\addons\sys_arty_ammunition\effects\scripts\WPTrails2.sqf"; - }; - class ace_arty_WPCloud: Default { - interval = 0.02; - circleRadius = 0; - circleVelocity[] = {0,0,0}; - particleShape = "\ca\Data\ParticleEffects\Universal\Universal"; - particleFSNtieth = 16; - particleFSIndex = 12; - particleFSFrameCount = 13; - particleFSLoop = 0; - angleVar = 1; - animationName = ""; - particleType = "Billboard"; - timerPeriod = 1; - lifeTime = 60; - moveVelocity[] = {0,0,0}; - rotationVelocity = 0; - weight = 8.9; - volume = 7; - rubbing = 0.1; - size[] = {5,10,13,16,18,20,21,22}; - color[] = { - { 1,1,1,1 }, - { 1,1,1,0 } - }; - animationSpeed[] = {1000}; - randomDirectionPeriod = 1; - randomDirectionIntensity = 0; - onTimerScript = ""; - beforeDestroyScript = ""; - lifeTimeVar = 20; - positionVar[] = {4,3,4}; - MoveVelocityVar[] = {0.2,0.2,0.2}; - rotationVelocityVar = 20; - sizeVar = 0.3; - colorVar[] = {0,0,0,0}; - randomDirectionPeriodVar = 0; - randomDirectionIntensityVar = 0; - }; - class ace_arty_WPCloud2: ace_arty_WPCloud { - interval = 0.001; - lifeTime = 5; - lifeTimeVar = 5; - weight = 32; - volume = 20; - color[] = { - { 1,1,1,1 }, - { 1,1,1,0 } - }; - colorVar[] = {0.1, 0.1, 0.1, 0}; - size[] = {5,10,13,16,18,20,21,22}; - moveVelocity[] = {0,5,0}; - MoveVelocityVar[] = {0.2,5,0.2}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/CfgEffects.hpp b/TO_MERGE/ace/arty_ammunition/CfgEffects.hpp deleted file mode 100644 index 7a361b7478..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgEffects.hpp +++ /dev/null @@ -1,98 +0,0 @@ -//CfgEffects.hpp - -class ace_arty_105mm_m84a1_m782_smokeCanisterHC_effect { - class Smoke1 { - simulation = "particles"; - type = "ace_arty_105mm_m84a1_m782_smokeCanisterHC_cloudlet1"; - position[] = {0, 0, 0}; - intensity = 0.25; - interval = 0.05; - lifeTime = 60; - }; - class Smoke2 { - simulation = "particles"; - type = "ace_arty_105mm_m84a1_m782_smokeCanisterHC_cloudlet2"; - position[] = {0, 0, 0}; - intensity = 0.5; - interval = 0.25; - lifeTime = 30; - }; -}; - -class ace_arty_WPExplosion { - class LightExp { - simulation = "light"; - type = "ExploLight"; - position[] = {0,0,0}; - intensity = 0.001; - interval = 1; - lifeTime = 1; - }; - class ExplosionFlame { - simulation = "particles"; - type = "ExplosionParticles"; - position[] = {0,0,0}; - intensity = 3; - interval = 1; - lifeTime = 0.25; - }; - class Explosion1 { - simulation = "particles"; - type = "ace_arty_WPCloud"; - position[] = {0,0,0}; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - class Explosion2 { - simulation = "particles"; - type = "ace_arty_WPCloud2"; - position[] = {0,0,0}; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - class Trails { - simulation = "particles"; - type = "ace_arty_WPTrails"; - position[] = {0,0,0}; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - class Trails2 { - simulation = "particles"; - type = "ace_arty_WPTrails2"; - position[] = {0,0,0}; - intensity = 1; - interval = 1; - lifeTime = 1; - }; -}; - -class ace_arty_dpicmEffects { - class LightExp { - simulation = "light"; - type = "ExploLight"; - position[] = {0,0,0}; - intensity = 0.001; - interval = 1; - lifeTime = 0.25; - }; - class ExploAmmoFlash { - simulation = "particles"; - type = "ExploAmmoFlash"; - position[] = {0,0,0}; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - class ExploAmmoSmoke { - simulation = "particles"; - type = "ExploAmmoSmoke"; - position[] = {0,0,0}; - intensity = 0.5; - interval = 2; - lifeTime = 0.5; - }; -}; diff --git a/TO_MERGE/ace/arty_ammunition/CfgEventHandlers.hpp b/TO_MERGE/ace/arty_ammunition/CfgEventHandlers.hpp deleted file mode 100644 index 4083db67b4..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgEventHandlers.hpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "script_component.hpp" - -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit)); - clientInit = QUOTE(call COMPILE_FILE(XEH_preClientInit)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_postInit)); - }; -}; - -// extended object-based handlers -class Extended_FiredBIS_EventHandlers { - class ace_arty_m119_base { - ADDON = QUOTE(_this call FUNC(onFired_cartEject)); - }; -}; -/* -class Extended_Init_EventHandlers { - class Helicopter { - class ADDON { - clientInit = QUOTE(if (local (_this select 0)) then {_this call FUNC(ffar_fix_init)}); - }; - }; -}; -*/ -class Extended_Init_EventHandlers { - class ace_arty_60mm_m721_m766_parachute { - // TODO: Nou - _this call FUNC(...) - class ADDON { - init = QUOTE(_this call COMPILE_FILE(60mm\XEH_illum_init)); - }; - }; - class ace_arty_81mm_m853a1_m772_parachute { - // TODO: Nou - _this call FUNC(...) - class ADDON { - init = QUOTE(_this call COMPILE_FILE(81mm\XEH_illum_init)); - }; - }; - class ace_arty_82mm_illum_ftsq_parachute { - // TODO: Nou - _this call FUNC(...) - class ADDON { - init = QUOTE(_this call COMPILE_FILE(82mm\XEH_illum_init)); - }; - }; - class ace_arty_105mm_m314a3_m782_parachute { - // TODO: Nou - _this call FUNC(...) - class ADDON { - init = QUOTE(_this call COMPILE_FILE(105mm\XEH_illum_init)); - }; - }; - class ace_arty_120mm_dm26_dm93_parachute { - // TODO: Nou - _this call FUNC(...) - class ADDON { - init = QUOTE(_this call COMPILE_FILE(120mm\XEH_illum_init)); - }; - }; - -}; diff --git a/TO_MERGE/ace/arty_ammunition/CfgMagazines.hpp b/TO_MERGE/ace/arty_ammunition/CfgMagazines.hpp deleted file mode 100644 index 7fded7b650..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgMagazines.hpp +++ /dev/null @@ -1,21 +0,0 @@ -class CfgMagazines { - class CA_Magazine; - class VehicleMagazine; - class ace_arty_howitzer_default : CA_Magazine { - nameSound = "heat"; - ammo = "ace_arty_howitzer_base"; - initSpeed = 0; - scope = 2; - count = 1; - }; - class ace_arty_howitzer_mag : VehicleMagazine { - nameSound = "heat"; - scope = 2; - count = 1; - }; - #include "60mm\CfgMagazines.hpp" - #include "81mm\CfgMagazines.hpp" - #include "82mm\CfgMagazines.hpp" - #include "105mm\CfgMagazines.hpp" - #include "120mm\CfgMagazines.hpp" -}; diff --git a/TO_MERGE/ace/arty_ammunition/CfgSfx.hpp b/TO_MERGE/ace/arty_ammunition/CfgSfx.hpp deleted file mode 100644 index d8cc5dd25b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgSfx.hpp +++ /dev/null @@ -1,9 +0,0 @@ -//CfgSfx.hpp -class CfgSfx { - class ace_arty_roundSoundSourceSound { - sounds[] = {"Factory15"}; - name = "$STR_DN_FACTORY15"; - Factory15[] = {"\ca\Sounds\sfx\factory9",10.0,2,900,1,0,0,0}; - empty[] = {"",0,0,0,0,0,0,0}; - }; -}; diff --git a/TO_MERGE/ace/arty_ammunition/CfgVehicles.hpp b/TO_MERGE/ace/arty_ammunition/CfgVehicles.hpp deleted file mode 100644 index c5713e8476..0000000000 --- a/TO_MERGE/ace/arty_ammunition/CfgVehicles.hpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "\x\cba\addons\xeh\script_xeh.hpp" -class CfgVehicles { - class ACE_Arty_BaseThing; - class ACE_Arty_ShellHolder; - #include "60mm\CfgVehicles.hpp" - #include "81mm\CfgVehicles.hpp" - #include "82mm\CfgVehicles.hpp" - #include "105mm\CfgVehicles.hpp" - #include "120mm\CfgVehicles.hpp" - #include "155mm\CfgVehicles.hpp" - #include "CfgAmmoBoxes.hpp" - class Sound; - class ace_arty_roundSoundSource:Sound { - scope = 2; - sound = "ace_arty_roundSoundSourceSound"; - displayName = "arty sound"; - }; -}; diff --git a/TO_MERGE/ace/arty_ammunition/Sounds/arty_flightsound.wss b/TO_MERGE/ace/arty_ammunition/Sounds/arty_flightsound.wss deleted file mode 100644 index f034cc54e9..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/Sounds/arty_flightsound.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/Sounds/base_eject.wss b/TO_MERGE/ace/arty_ammunition/Sounds/base_eject.wss deleted file mode 100644 index 1cafccaa91..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/Sounds/base_eject.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/Sounds/whine_clank.ogg b/TO_MERGE/ace/arty_ammunition/Sounds/whine_clank.ogg deleted file mode 100644 index 981243f2e6..0000000000 Binary files a/TO_MERGE/ace/arty_ammunition/Sounds/whine_clank.ogg and /dev/null differ diff --git a/TO_MERGE/ace/arty_ammunition/XEH_postInit.sqf b/TO_MERGE/ace/arty_ammunition/XEH_postInit.sqf deleted file mode 100644 index 788cc4c3e4..0000000000 --- a/TO_MERGE/ace/arty_ammunition/XEH_postInit.sqf +++ /dev/null @@ -1,12 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -ADDON = false; - -if (!isDedicated) then { - [["StaticCannon", "StaticMortar", "ACE_Arty_ShellHolder", "ACE_Arty_OrdnanceBox","ACE_Tbox_Mortar_81mmHE","ACE_Tbox_Mortar_60mmHE","ACE_Tbox_Mortar_82mmHE"], [ace_sys_interaction_key], 2, [QUOTE(PATHTO(fnc_menuDef)), "main"]] call CBA_ui_fnc_add; -}; - -["ace_arty_ammo_105mmSmokeEvent", { _this call FUNC(attachSmokeEffects) }] call CBA_fnc_addEventHandler; - -ADDON = true; diff --git a/TO_MERGE/ace/arty_ammunition/XEH_preClientInit.sqf b/TO_MERGE/ace/arty_ammunition/XEH_preClientInit.sqf deleted file mode 100644 index 90230cc0ed..0000000000 --- a/TO_MERGE/ace/arty_ammunition/XEH_preClientInit.sqf +++ /dev/null @@ -1,9 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; - -LOG(MSG_INIT); - -["player", [ace_sys_interaction_key_self], -9, [QPATHTO_F(fnc_menuDef_Self), "main"]] call CBA_ui_fnc_add; - -ADDON = true; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/XEH_preInit.sqf b/TO_MERGE/ace/arty_ammunition/XEH_preInit.sqf deleted file mode 100644 index 03bf152ee8..0000000000 --- a/TO_MERGE/ace/arty_ammunition/XEH_preInit.sqf +++ /dev/null @@ -1,158 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; - -// core functionality functions -PREP(openPrepDialog); -PREP(onLoadGun); -PREP(onUnloadGun); -PREP(onPickupShell); -PREP(onDropShell); -PREP(onPrepShell); - -// random functionality stuff -PREP(dropShell); -PREP(spawnShell); - -PREP(convertShell); // Converts a traditional CSWDM into a useable ACE mortar shell, wicked eh?!11 - -// object events -PREP(onShellDestroyed); - -// dialog populators and setters -PREP(populateRoundsList); -PREP(populateChargeList); -PREP(setDialogParameters); - -// dialog events -PREP(onDialogOpen); -PREP(onDialogClose); -PREP(onDoPrep); - -// dialog events -PREP(onSelectRound); -PREP(onSelectFuze); -PREP(onSelectCharge); -PREP(onSelectProx); - -// misc functionality helpers/libs -PREP(isKindOf); -PREP(menuDef); - -// cart ejection -PREP(onFired_cartEject); - -//GVARS -GVAR(isDialogOpen) = false; -GVAR(currentCharge) = -1; -GVAR(currentFuze) = ""; -GVAR(fuzeTime) = ""; - -GVAR(wpCount) = 0; - -FUNC(changeCharge) = { - private["_magData", "_maxCharge", "_minCharge", "_newCharge"]; - PARAMS_1(_dir); - _magData = configFile >> "CfgMagazines" >> GVAR(currentRoundType); - _maxCharge = getNumber(_magData >> "ACE_ARTY_MAXCHARGE"); - _minCharge = getNumber(_magData >> "ACE_ARTY_MINCHARGE"); - _newCharge = ((GVAR(currentCharge) + _dir) max _minCharge) min _maxCharge; - GVAR(currentCharge) = _newCharge; - TRACE_1("New Charge",GVAR(currentCharge)); - ctrlSetText [12556, format["Current Charge: %1", GVAR(currentCharge)]]; - ctrlSetText [12559, format[getText(_magData >> "ACE_ARTY_CHARGE_IMAGE_FORMAT"), GVAR(currentCharge)]]; -}; - -FUNC(attachSmokeEffects) = { - PARAMS_1(_grenades); - { - private ["_g", "_light", "_sp", "_sm"]; - _g = _x select 0; - _v = _x select 1; - _g setVelocity _v; - _light = "#lightpoint" createVehicle getPos _g; - _light setPos getPos _g; - _light setLightBrightness 0.05; - _light setLightAmbient[1,1,1]; - _light setLightColor[1,1,1]; - _light lightAttachObject [_g, [0,0,0]]; - - _sp = "#particlesource" createVehicle getPos _g; - _sp setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; - _sp setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.5,0], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_g,360]; - _sp setDropInterval 0.001; - - _sm = "#particlesource" createVehicle getPos _g; - _sm setParticleRandom [0.5, [0, 0, 0], [0, 0, 0], 0, 0.3, [0, 0, 0, 0], 0, 0, 360]; - _sm setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 30, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [1.3,4], - [[0.9,0.9,0.9,0.6], [1,1,1,0.3], [1,1,1,0]],[1],0.1,0.1,"","",_g]; - _sm setDropInterval 0.02; - - [_g, _sp, _sm, _light] spawn { - private["_time"]; - _time = time; - waitUntil { - sleep 0.1; - if (time-_time > getNumber(configFile >> "CfgAmmo" >> "ace_arty_105mm_m84a1_m782_smokeCanisterHC" >> "explosionTime")) then { - deleteVehicle (_this select 2); - }; - !(alive (_this select 0)); - }; - deleteVehicle (_this select 1); - deleteVehicle (_this select 3); - }; - } forEach _grenades; -}; - -FUNC(AddModelIncrements) = { - private ["_selection","_charge","_chargecount"]; - PARAMS_1(_shell); - for "_i" from 1 to 10 do { - _selection = format["hide_inc%1",_i]; - _shell animate [_selection,1]; - }; - _charge = _shell getVariable ["ACE_ARTY_PREP",[]]; - _chargecount = if (count _charge == 0) then { 0 } else { _charge select 3 }; - for "_i" from 1 to _chargecount do { - _selection = format["hide_inc%1",_i]; - _shell animate [_selection,0]; - }; -}; - -FUNC(packShell) = { - PARAMS_3(_shell,_box,_magazine); - deleteVehicle _shell; - _box addMagazineCargoGlobal [_magazine,1]; -}; - -FUNC(reload) = { - private ["_magazine","_weapon"]; - PARAMS_1(_gun); - _magazine = (_gun getVariable "ace_sys_arty_currentRound") select 0; - _weapon = (weapons _gun) select 0; - _gun removeWeapon _weapon; - _gun addMagazine _magazine; - _gun addWeapon _weapon; - _gun selectWeapon _weapon; - reload _gun; -}; -[QGVAR(reload), { _this call FUNC(reload) }] call CBA_fnc_addEventHandler; - -FUNC(unload) = { - private ["_magazine","_weapon"]; - PARAMS_1(_gun); - _weapon = (weapons _gun) select 0; - _magazine = (magazines _gun) select 0; - _gun removeWeapon _weapon; - _gun removeMagazines _magazine; - _gun addWeapon _weapon; - _gun selectWeapon _weapon; -}; -[QGVAR(unload), { _this call FUNC(unload) }] call CBA_fnc_addEventHandler; - -ADDON = true; diff --git a/TO_MERGE/ace/arty_ammunition/config.cpp b/TO_MERGE/ace/arty_ammunition/config.cpp deleted file mode 100644 index f046e4ef24..0000000000 --- a/TO_MERGE/ace/arty_ammunition/config.cpp +++ /dev/null @@ -1,24 +0,0 @@ - -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"CAWeapons", "ace_sys_arty", "ace_main", "ace_sys_interaction", "ace_sys_huntir", "ace_sys_disposal", "ace_sys_crewserved"}; - VERSION_CONFIG; - author[] = {"Falcone","Nou","Rocko"}; - }; -}; - -PRELOAD_ADDONS; - -#include "CfgAmmo.hpp" -#include "CfgMagazines.hpp" -#include "CfgSfx.hpp" -#include "CfgEffects.hpp" -#include "CfgCloudlets.hpp" -#include "CfgEventHandlers.hpp" -#include "CfgVehicles.hpp" -#include "prep_dialog.hpp" diff --git a/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails.sqf b/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails.sqf deleted file mode 100644 index e97ac9e5fc..0000000000 --- a/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails.sqf +++ /dev/null @@ -1,58 +0,0 @@ -_rand=random 0.5; -if((_this select 2) >= -1) then { - drop [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 3.5, _this, [0, 0, 0.5], - 0, 10, 7.9, 0.075, [0.5+_rand,1.5+_rand], - [[1, 1, 1, 0],[1, 1, 1, 1],[1, 1, 1, 0.8],[1, 1, 1, 0.7], [1, 1, 1, 0.35], [1, 1, 1, 0]], - [1], 1, 0, "", "", ""]; - drop [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, _this, - [0,0,0], 1, 1, 0.80, 0.5, [0.5+_rand,1.5+_rand], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",""]; -}; -if((_this select 2) <= 0 && {(_this select 2) >= -1}) then { - _nearLogics = nearestObjects [_this, ["logic","#lightpoint","#particlesource"], 15]; - //player sideChat format["o: %1", _nearLogics]; - if((count _nearLogics) == 0 && {ace_sys_arty_ammunition_wpCount < 50}) then { - ace_sys_arty_ammunition_wpCount = ace_sys_arty_ammunition_wpCount + 1; - //player sideChat format["SMOKEY AND TEH BANDIZ %1", _this]; - _this spawn { - _pos = _this; - _pos set[2, 0]; - _logic = "logic" createVehicleLocal _pos; - - _light = "#lightpoint" createVehicleLocal _pos; - _light setPos _pos; - _light setLightBrightness 0.125; - _light setLightAmbient[1, 1, 1]; - _light setLightColor[1, 1, 1]; - _light lightAttachObject [_logic, [0,0,0]]; - - _wind = ([] call ace_sys_wind_deflection_fnc_wind); - _sm = "#particlesource" createVehicleLocal _pos; - _sm setParticleRandom [0.5, [1, 1, 1], [3, 3, 0.5], 0, 0.0, [0, 0, 0, 0], 0, 0, 360]; - _sm setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 13,0], - "", "Billboard", 1, 20, [0, 0, 0], - [_wind select 0,_wind select 1,0], 1, 8.9, 7, 0.1, [1.3,10,20,35], - [[1, 1, 1, 0],[1, 1, 1, 1],[1, 1, 1, 0.8],[1, 1, 1, 0.7], [1, 1, 1, 0.35], [1, 1, 1, 0]], - [1],1,0,"","",_logic]; - _sm setDropInterval 0.25; - - _sp = "#particlesource" createVehicleLocal _pos; - _sp setParticleRandom [0.03, [0, 0, 0], [0, 0, 0], 0, 0.2, [0, 0, 0, 0], 0, 0, 360]; - _sp setParticleParams [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, [0, 0, 0], - [0,0,0], 1, 1, 0.80, 0.5, [0.5+(random 0.5),1.5+(random 0.5)], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",_logic,360]; - _sp setDropInterval 0.01; - sleep (10+(random 10)); - deleteVehicle _light; - deleteVehicle _sp; - sleep (20+random(10)); - deleteVehicle _sm; - - deleteVehicle _logic; - ace_sys_arty_ammunition_wpCount = ace_sys_arty_ammunition_wpCount - 1; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails2.sqf b/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails2.sqf deleted file mode 100644 index e34089c688..0000000000 --- a/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails2.sqf +++ /dev/null @@ -1,12 +0,0 @@ -_rand=random 0.5; -if((_this select 2) >= -1) then { - drop [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 3.5, _this, [0, 0, 0.5], - 0, 10, 7.9, 0.075, [0.5+_rand,1.5+_rand], - [[1, 1, 1, 0],[1, 1, 1, 1],[1, 1, 1, 0.8],[1, 1, 1, 0.7], [1, 1, 1, 0.35], [1, 1, 1, 0]], - [1], 1, 0, "", "", ""]; - drop [["\ca\Data\ParticleEffects\Universal\Universal", 16, 13, 2,0], - "", "Billboard", 1, 0.1, _this, - [0,0,0], 1, 1, 0.80, 0.5, [0.5+_rand,1.5+_rand], - [[1,1,1,-4], [1,1,1,-4], [1,1,1,-2],[1,1,1,0]],[1000],0.1,0.1,"","",""]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails_END.sqf b/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails_END.sqf deleted file mode 100644 index a53bfbec16..0000000000 --- a/TO_MERGE/ace/arty_ammunition/effects/scripts/WPTrails_END.sqf +++ /dev/null @@ -1,7 +0,0 @@ -_rand=random 0.5; -drop [["\ca\Data\ParticleEffects\Universal\Universal", 16, 12, 8,0], - "", "Billboard", 1, 3.5, _this, [0, 0, 0.5], - 0, 10, 7.9, 0.075, [0.5+_rand,1.5+_rand], - [[1, 1, 1, 0],[1, 1, 1, 1],[1, 1, 1, 0.8],[1, 1, 1, 0.7], [1, 1, 1, 0.35], [1, 1, 1, 0]], - [1], 1, 0, "", "", ""]; - \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_convertShell.sqf b/TO_MERGE/ace/arty_ammunition/fnc_convertShell.sqf deleted file mode 100644 index 710f2f4667..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_convertShell.sqf +++ /dev/null @@ -1,19 +0,0 @@ -// #define DEBUG_MODE_FULL -#include "script_component.hpp" - -_unit = _this; - -{ - if (isText(configFile >> "CfgMagazines" >> _x >> "ACE_ARTY_SHELL_VEHICLE")) then { - _convertTo = getText(configFile >> "CfgMagazines" >> _x >> "ACE_ARTY_SHELL_VEHICLE"); - _unit removeMagazine _x; - _shell = _convertTo createVehicle (getpos _unit); - _shell setPos [(getPos _unit select 0) + random 0.75,(getPos _unit select 1) + random 0.75,getPos _unit select 2]; - if (isArray(configFile >> "CfgVehicles" >> _convertTo >> "ACE_ARTY_SHELL_PREP")) then { - _prep = getArray(configFile >> "CfgVehicles" >> _convertTo >> "ACE_ARTY_SHELL_PREP"); - _prep set [2,abs(random 10000)]; - _shell setVariable ["ACE_ARTY_PREP",_prep,true]; - _shell call FUNC(AddModelIncrements); - }; - }; -} foreach magazines _unit; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_dropShell.sqf b/TO_MERGE/ace/arty_ammunition/fnc_dropShell.sqf deleted file mode 100644 index 60ae9834bf..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_dropShell.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -TRACE_1("", _this); -PARAMS_1(_shell); - -// we already are carrying one, drop it and pick up the new one -_shell setVariable ["ACE_ARTY_OWNER", nil, true]; - -detach _shell; -_pos = [(getPos player select 0) + sin (getDir player) * 1, (getpos player select 1) + cos (getdir player) * 1, 0]; -_shell setPos _pos; -// we need to reveal the shell to all players -{ - _x reveal _shell; -} forEach playableUnits; - -player setVariable ["ACE_ARTY_CARRY_SHELL", nil, false]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_isKindOf.sqf b/TO_MERGE/ace/arty_ammunition/fnc_isKindOf.sqf deleted file mode 100644 index cb040cd827..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_isKindOf.sqf +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" - -private["_ret", "_parent"]; - -PARAMS_3(_mag,_type,_superclass); - -_ret = false; - -_parent = configName (inheritsFrom ( configFile >> _superClass >> _mag)); -while { _parent != "" } do { - if (_parent == _type) exitWith { - _ret = true; - }; - _parent = configName (inheritsFrom ( configFile >> _superClass >> _parent)); -}; - -_ret \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_jam.sqf b/TO_MERGE/ace/arty_ammunition/fnc_jam.sqf deleted file mode 100644 index 33e091520f..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_jam.sqf +++ /dev/null @@ -1,25 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private["_cartridge", "_speed", "_dir", "_vel"]; -//TRACE_1("", _this); -PARAMS_1(_gun); - -// check to see if ACE cart is enabled -// if(!ace_sys_cartridges_enabled) exitWith { false }; - -// find the back of the gun and spawn the cartridge locally behind it - -_cartridge = "ace_arty_m14_casing" createVehicleLocal (getPos _gun); -_cartridge setPos ( _gun modelToWorld [0,-1.3,1.1]); -_cartridge setDir (getDir _gun); -//_vel = velocity _cartridge; -_dir = abs ((getDir _gun) + 180 % 360); -_speed = 3; - -_cartridge setVelocity [(_vel select 0) + (sin _dir * _speed), (_vel select 1) + (cos _dir * _speed), _vel select 2]; -//_vel = velocity _cartridge; -TRACE_5("", _dir, _vel, _speed, _cartridge, _gun); - -// add to cleanup FIFO? -[_cartridge, 300] call ACE_fnc_add2fifo; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_menuDef.sqf b/TO_MERGE/ace/arty_ammunition/fnc_menuDef.sqf deleted file mode 100644 index 3ac7c43e4c..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_menuDef.sqf +++ /dev/null @@ -1,157 +0,0 @@ -// #define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -#define TARGET_TYPE_INVALID -1 -#define TARGET_TYPE_CRATE 1 -#define TARGET_TYPE_GUN 2 -#define TARGET_TYPE_SHELL 3 - -private ["_menuDef","_menuName", "_roundData", "_menuRsc", "_menus", "_typeOfTarget", "_hasShell", "_carryShell"]; - -PARAMS_2(_target,_params); -TRACE_1("", _this); -_menuName = ""; -_menuRsc = "popup"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; -//----------------------------------------------------------------------------- -// check to see if its either one of our vehicle shells, a cannon, or an ammobox with shells -_hasShell = false; -_typeOfTarget = TARGET_TYPE_INVALID; - -if ([typeOf _target, "ReammoBox", "CfgVehicles"] call FUNC(isKindOf)) then { - _typeOfTarget = TARGET_TYPE_CRATE; -} else { - if ([typeOf _target, "StaticCannon", "CfgVehicles"] call FUNC(isKindOf)) then { - _typeOfTarget = TARGET_TYPE_GUN; - } else { - if ([typeOf _target, "StaticMortar", "CfgVehicles"] call FUNC(isKindOf)) then { - _typeOfTarget = TARGET_TYPE_GUN; - } else { - // TODO: check for a weaponholder with a shell in it here right? - if ([typeOf _target, "ACE_Arty_ShellHolder", "CfgVehicles"] call FUNC(isKindOf)) then { - _typeOfTarget = TARGET_TYPE_SHELL; - }; - }; - }; -}; -// Bail if its an inalid target -_carryShell = player getVariable "ACE_ARTY_CARRY_SHELL"; -if (!isNil "_carryShell") then { - _hasShell = true; -}; -if (!_hasShell && {_typeOfTarget == TARGET_TYPE_INVALID}) exitWith {}; - -GVAR(target) = _target; - -private "_ali_tar"; -_ali_tar = alive _target; - -// fire off a hint if its a shell with variables, so they can see what kind of shell they are picking up -if (_ali_tar && {_typeOfTarget == TARGET_TYPE_SHELL}) then { - _roundData = _target getVariable "ACE_ARTY_PREP"; - if !(isNil "_roundData") then { - _name = getText(configFile >> "CfgMagazines" >> (_roundData select 0) >> "displayName"); - hintSilent _name; - }; -}; - -_loaded = false; -if (_ali_tar && {_typeOfTarget == TARGET_TYPE_GUN} && {!_hasShell}) then { - _count = count(_target getVariable ["ace_sys_arty_currentRound", []]); - if (_count > 0) then { - _loaded = true; - }; -}; - -_hell = "hot"; -_BoxShellBelongsTo = _target getVariable [QGVAR(belongsToBox),objNull]; -_distance = 100; -_inRange = false; -_hasRoom = false; -_magazineToStore = ""; -if (!isNull _BoxShellBelongsTo) then { - _inRange = (_BoxShellBelongsTo distance player) < 6; - _true_capacity = getNumber(configFile >> "CfgVehicles" >> typeOf _BoxShellBelongsTo >> "transportMaxMagazines"); - _cur_capacity_ar = (getMagazineCargo _BoxShellBelongsTo) select 1; - _capacity = 0; - { - _capacity = _capacity + _x; - } foreach _cur_capacity_ar; - _hasRoom = (_true_capacity - _capacity) > 0; - _magazineToStore = getText(configFile >> "CfgVehicles" >> typeOf _target >> "ACE_ARTY_MAGAZINE_CLASS"); - GVAR(packArray) = [_target,_BoxShellBelongsTo,_magazineToStore]; -}; - -// Automatically convert BIS magazines in the boxes IF an ACE mortar is found nearby when BOX is accessed -if (_typeOfTarget == TARGET_TYPE_CRATE) then { - _nearACEmortar = (position _target) nearEntities [["ACE_M252","ACE_M224_1","ACE_2b14_82mm"], 30]; - if (count _nearACEmortar > 0) then { - _magazines = (getMagazineCargo _target) select 0; - _count = (getMagazineCargo _target) select 1; - if (count _magazines > 0) then { - for "_i" from 0 to (count _magazines - 1) do { - _magazine_x = _magazines select _i; - _count_x = _count select _i; - _isBISArtyShell = isText(configFile >> "CfgMagazines" >> _magazine_x >> "ACE_ARTY_SHELL_MAGAZINE"); - if (_isBISArtyShell) then { - _convert = getText(configFile >> "CfgMagazines" >> _magazine_x >> "ACE_ARTY_SHELL_MAGAZINE"); - [_target,_magazine_x, _count_x] call ACE_fnc_removemagazinecargo; - _target addMagazineCargoGlobal [_convert,_count_x]; - }; - }; - }; - }; -}; - -_menus = [ - [ - ["main", "", _menuRsc], - [ - [localize "STR_ACE_ARTY_AMMUNITION_PREP", - { [GVAR(target)] spawn FUNC(openPrepDialog) }, - "", "", "", -1, - 1, _ali_tar && {_typeOfTarget == TARGET_TYPE_CRATE}], - [localize "STR_ACE_ARTY_AMMUNITION_STOCKPILE_BOXES", - { [GVAR(target)] spawn FUNC(stockpileBoxes) }, - "", "", "", -1, - 1, _ali_tar && {_typeOfTarget == TARGET_TYPE_CRATE} && {_hell == "frozen"}], - [localize "STR_ACE_ARTY_AMMUNITION_LOAD_GUN", - { [GVAR(target)] call FUNC(onLoadGun) }, - "", "", "", -1, - 1, _ali_tar && {_hasShell} && {_typeOfTarget == TARGET_TYPE_GUN} && {count (magazines _target) == 0}], - [localize "STR_ACE_ARTY_AMMUNITION_UNLOAD_GUN", - { [GVAR(target)] spawn FUNC(onUnLoadGun) }, - "", "", "", -1, - 1, _loaded], - [localize "STR_ACE_ARTY_AMMUNITION_PREP_SHELL", - { [GVAR(target)] spawn FUNC(onPrepShell) }, - "", "", "", -1, - 1, _ali_tar && {_typeOfTarget == TARGET_TYPE_SHELL}], - [localize "STR_ACE_ARTY_AMMUNITION_PACK", - { GVAR(packArray) spawn FUNC(packShell) }, - "", "", "", -1, - 1, _ali_tar && {_hasRoom} && {_inRange} && {_typeOfTarget == TARGET_TYPE_SHELL} && {!isNull _BoxShellBelongsTo} && {_magazineToStore != ""}] - ] - ] -]; - -//----------------------------------------------------------------------------- -_menuDef = []; -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this}else{""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _this, __FILE__]; -}; - -_menuDef // return value \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_menuDef_Self.sqf b/TO_MERGE/ace/arty_ammunition/fnc_menuDef_Self.sqf deleted file mode 100644 index c74d68920b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_menuDef_Self.sqf +++ /dev/null @@ -1,49 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -private ["_menuDef", "_target", "_params", "_menuName", "_menuRsc", "_menus"]; - -PARAMS_2(_target,_params); - -_menuName = ""; -_menuRsc = "buttonList"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__]}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; -_mortarshell_menu = false; -{ - if (isText(configFile >> "CfgMagazines" >> _x >> "ACE_ARTY_SHELL_VEHICLE")) then { - _mortarshell_menu = true; - if (_mortarshell_menu) exitWith {}; - }; -} forEach (magazines player); - -_menus = -[ - [ - ["main", localize "STR_ACE_MENU_EQUIPPLAYER", _menuRsc], - [ - [localize "STR_ACE_ARTY_AMMUNITION_PREP_SHELL", - { player call ace_sys_arty_ammunition_fnc_convertShell }, - "","","", -1, 1, _mortarshell_menu && {ACE_SELFINTERACTION_RESTRICTED}] - ] - ] -]; - -_menuDef = []; -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this} else {""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _this, __FILE__]; -}; - -_menuDef diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onDialogClose.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onDialogClose.sqf deleted file mode 100644 index 1663bfedbb..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onDialogClose.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" - -GVAR(currentCharge) = -1; -GVAR(currentFuze) = ""; -GVAR(fuzeTime) = ""; -GVAR(currentAmmoCrate) = nil; -GVAR(isDialogOpen) = false; diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onDialogOpen.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onDialogOpen.sqf deleted file mode 100644 index 2c7197f4d7..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onDialogOpen.sqf +++ /dev/null @@ -1,16 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -uinamespace setVariable ["ace_arty_ammoprep_Display", _this select 0]; - -[_this, GVAR(currentAmmoCrate)] spawn { - waitUntil { - !isNull (findDisplay 754) - }; - call FUNC(populateRoundsList); - call FUNC(populateChargeList); - call FUNC(setDialogParameters); -}; - -GVAR(shellSpawnDir) = 1; -GVAR(isDialogOpen) = true; diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onDoPrep.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onDoPrep.sqf deleted file mode 100644 index 325b976cd0..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onDoPrep.sqf +++ /dev/null @@ -1,26 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -#define __CTRL_PREP (uiNamespace getVariable "ace_arty_ammoprep_Display") displayCtrl 31337 -__CTRL_PREP ctrlShow false; __CTRL_PREP ctrlCommit 0; - -private "_fuzeTime"; - -_ok = true; -_fuzeTime = 0; -if (GVAR(currentFuze) == "time") then { - _fuzeTimeTxt = ctrlText 12560; - _fuzeTime = parseNumber _fuzeTimeTxt; - - if (_fuzeTime == 0) then { - hintSilent "Fuze time must be a number greater than 0!"; - _ok = false; - }; -}; -if (!_ok) exitWith { - false -}; - -// now do the spawn -// this function doesnt return a shell anymore -[position player, GVAR(currentRoundType), GVAR(currentCharge), _fuzeTime] call FUNC(spawnShell); diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onDropShell.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onDropShell.sqf deleted file mode 100644 index 216fba5e08..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onDropShell.sqf +++ /dev/null @@ -1,6 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -TRACE_1("", _this); - -_this call FUNC(dropShell); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onFired_cartEject.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onFired_cartEject.sqf deleted file mode 100644 index f9d6a8c137..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onFired_cartEject.sqf +++ /dev/null @@ -1,27 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -/* -private["_gun", "_cartridge", "_speed", "_dir", "_vel"]; -TRACE_1("", _this); -_gun = _this select 0; - -// check to see if ACE cart is enabled -// if(!ace_sys_cartridges_enabled) exitWith { false }; - -// find the back of the gun and spawn the cartridge locally behind it - -_cartridge = "ace_arty_m14_casing" createVehicleLocal (getPos _gun); -_cartridge setPos ( _gun modelToWorld [0,-1.3,1.1]); - -_cartridge setDir (getDir _gun); -_vel = velocity _cartridge; -_dir = abs ((getDir _gun) + 180 + (-15+(random 30)) % 360); -_speed = 4; - -_cartridge setVelocity [(_vel select 0)+(sin _dir*_speed),(_vel select 1)+ (cos _dir*_speed),(_vel select 2)]; -_vel = velocity _cartridge; -TRACE_5("", _dir, _vel, _speed, _cartridge, _gun); - -// add to cleanup FIFO? -[_cartridge, 300] call ACE_fnc_add2fifo; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onLoadGun.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onLoadGun.sqf deleted file mode 100644 index f95227d7dc..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onLoadGun.sqf +++ /dev/null @@ -1,118 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -/* -private["_shell", "_prepArray"]; -PARAMS_1(_gun); - -_shell = player getVariable "ACE_ARTY_CARRY_SHELL"; -_prepArray = _shell getVariable "ACE_ARTY_PREP"; - -// Drop carried shell -player setVariable ["ACE_ARTY_CARRY_SHELL", nil, false]; -detach _shell; -["","","",["stop",player getVariable "ace_sys_cargo_carried_object"]] call ace_sys_cargo_fnc_carry; TRACE_1("Dropped shell from player into gun",""); -deleteVehicle _shell; - -_gun setVariable ["ace_sys_arty_currentRound", _prepArray, true]; - -// Call GlobalEvent -[QGVAR(reload), [_gun]] call CBA_fnc_globalEvent; - -*/ -// Why is this function so complicated, a simple reload and addmagazine should do? -// Because it needs to be. This function delegates loading to whoever is local to the gun -// and if no one is local to the gun then we handle the loading on our client. The reason it -// is handled this way is to prevent network data race conditions with the round data, on the -// M119 the gunner is waiting for the round info to populate before he loads the round. - -private["_shell", "_prepArray"]; -PARAMS_1(_gun); - -// remove the shell from the person and save its variables -_shell = player getVariable "ACE_ARTY_CARRY_SHELL"; -_prepArray = _shell getVariable "ACE_ARTY_PREP"; - -TRACE_2("START LOAD",_shell,_prepArray); - -// we now have roundtype, charge and fuze in the preparray and we are ready to give it to the gun -// play the action, give the "working" hint, and then laod it - -//PARAMS_3(_gun,_prepArray,_shell); -if (count (magazines _gun) == 0) then { - // remove it from player so he is not carrying anymore - player setVariable ["ACE_ARTY_CARRY_SHELL", nil, false]; - _shellType = typeOf _shell; - detach _shell; - ["","","",["stop",player getVariable "ace_sys_cargo_carried_object"]] call ace_sys_cargo_fnc_carry; - TRACE_1("Dropped shell from player into gun",""); - deleteVehicle _shell; - - TRACE_2("Setting ace_sys_arty_currentRound on gun", _gun, _prepArray); - _gun setVariable ["ace_sys_arty_currentRound", _prepArray, true]; - [_shellType, _gun, _prepArray] spawn { - PARAMS_3(_shellType,_gun,_prepArray); - _uniqueNumber = _prepArray select 2; - waitUntil { - _exit = false; - _roundList = _gun getVariable ["ace_sys_arty_roundData", []]; TRACE_1("Roundlist",_roundList); - { - _firedShell = _x; - if ((_firedShell select 3) == _uniqueNumber) then { - _exit = true; - TRACE_1("FiredShell == UniqueNumber",""); - }; - } forEach _roundList; - /* - This checks to make sure that two rounds were not loaded at once. - If you have entered this loop it is assumed you have loaded a round, - and the check below checks to make sure that the currently loaded - round is the same round (via the unique number) that you loaded. If its - been fired, then the check above this comment will see it in the list of - fired rounds. If its not in the fired rounds, and the unique id of the - loaded round is not the same as the one you are checking for then that - means that two rounds were loaded at once and we should unload our round - so we do not lose it. This happens very very rarely, but its a good case - to handle. - */ - if (!_exit) then { - TRACE_1("FiredShell =! UniqueNumber",""); - _currentRound = _gun getVariable ["ace_sys_arty_currentRound", []]; - if ((count _currentRound) != 0) then { - if ((_currentRound select 2) != _uniqueNumber) then { - _exit = true; - _shell = _shellType createVehicle (getPos _gun); - _shell setVariable ["ACE_ARTY_PREP", _prepArray, true]; - { - (group _x) reveal _shell; - } forEach playableUnits; - (group player) reveal _shell; - }; - } else { - _exit = true; - }; - }; - sleep 0.25; - _exit - }; - }; - - // TODO: does the gun have a gunner? if it doesnt, then *we* add the magazine - if (isNull (gunner _gun)) then { - _mag = _prepArray select 0; - _weapon = (weapons _gun) select 0; // remove, re-add, select, reload the weapon so that it's reloaded - _gun removeWeapon _weapon; - _gun addMagazine _mag; // load Magazine - _gun addWeapon _weapon; - _gun selectWeapon _weapon; - reload _gun; - - // Send Event to Server to create a monitoring trigger if FOR is enabled for M224 - // Create trigger for the other mortars on init (send the event immediately) - // On disassemble or destroy, remove trigger - // / Trigger checks wether gun is loaded and FOR is enabled or autoenabled - // / Then call a FUNC to make the AI fire - // / Add failsafe, if AI is not there create a new one - }; -} else { - hintSilent "Gun is already loaded!"; // TODO: Fix this ! -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onPickupShell.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onPickupShell.sqf deleted file mode 100644 index 28763591a7..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onPickupShell.sqf +++ /dev/null @@ -1,24 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private["_curShell", "_pos"]; -TRACE_1("", _this); -PARAMS_1(_targetShell); - -// are we already carrying a shell? if so, drop it first and re-assign -_curShell = player getVariable "ACE_ARTY_CARRY_SHELL"; -if (!isNil "_curShell") then { - [_curShell] call FUNC(dropShell); -}; - -//player playMove "AinvPknlMstpSlayWrflDnon_medic"; -//sleep 3; - -// take ownership of it, and give it to ourselves -_targetShell setVariable ["ACE_ARTY_OWNER", player, true]; -player setVariable ["ACE_ARTY_CARRY_SHELL", _targetShell, false]; -_targetShell attachTo [player, [0,0.25,1.15]]; - -// force player down weapon -player switchMove "amovpercmstpslowwrfldnon_player_idlesteady03"; -player selectWeapon (primaryWeapon player); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onPrepShell.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onPrepShell.sqf deleted file mode 100644 index 42580d6642..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onPrepShell.sqf +++ /dev/null @@ -1,30 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private ["_t","_mag","_maxCharge","_magazineFormat","_magazineClass"]; - -TRACE_1("", _this); -// dont open the dialog if there are no arty rounds in thebox - -PARAMS_1(_shell); -GVAR(currentAmmoCrate) = _shell; - -_t = _shell getVariable "ACE_ARTY_PREP"; -if (isNil "_t") then { - private["_magazineFormat", "_magazineClass", "_maxCharge"]; - // gdi, we have to FIND the fucking mag class now and then just default all the data. - _mag = getText (configFile >> "CfgVehicles" >> typeOf _shell >> "ACE_ARTY_MAGAZINE_CLASS"); - _maxCharge = getNumber (configFile >> "CfgMagazines" >> _mag >> "ACE_ARTY_MAXCHARGE"); - _magazineFormat = getText(configFile >> "CfgMagazines" >> _mag >> "ACE_ARTY_MAGAZINE_FORMAT"); - _fuzes = getArray(configFile >> "CfgMagazines" >> _mag >> "ACE_ARTY_FUZE_TYPES"); - - _magazineClass = format[_magazineFormat, "pd", _maxCharge]; - _t = [_magazineClass, [200], abs (random 10000), _maxCharge, _fuzes select 0]; - _shell setVariable ["ACE_ARTY_PREP", _t, true]; -}; - -GVAR(currentCharge) = _t select 3; -GVAR(currentFuze) = _t select 4; -GVAR(fuzeTime) = (_t select 1) select 0; - -createDialog "ace_arty_ammoprep_Display"; diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onSelectCharge.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onSelectCharge.sqf deleted file mode 100644 index 406c6fd77e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onSelectCharge.sqf +++ /dev/null @@ -1 +0,0 @@ -#include "script_component.hpp" diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onSelectFuze.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onSelectFuze.sqf deleted file mode 100644 index 38ce70c3c5..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onSelectFuze.sqf +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" -private["_fuzeType"]; - -PARAMS_2(_nil,_index); - -_fuzeType = lbData [12557, _index]; -GVAR(currentFuze) = _fuzeType; -if (_fuzeType == "time") then { - ctrlShow [12560, true]; - ctrlShow [12561, true]; - ctrlShow [12562, true]; - ctrlSetText [12560,format["%1", GVAR(fuzeTime)]]; -} else { - ctrlShow [12560, false]; - ctrlShow [12561, false]; - ctrlShow [12562, false]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onSelectProx.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onSelectProx.sqf deleted file mode 100644 index 406c6fd77e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onSelectProx.sqf +++ /dev/null @@ -1 +0,0 @@ -#include "script_component.hpp" diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onSelectRound.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onSelectRound.sqf deleted file mode 100644 index e6bc9f0430..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onSelectRound.sqf +++ /dev/null @@ -1,39 +0,0 @@ -#include "script_component.hpp" - -private["_mag", "_magData", "_displayName", "_maxCharge", "_fuzeType", "_fuzeDesc"]; - -PARAMS_2(_nil,_index); - -_mag = lbData [ROUNDS_LISTBOX_ID, _index]; -GVAR(currentRoundType) = _mag; -_magData = configFile >> "CfgMagazines" >> _mag; - -_displayName = getText(_magData >> "displayName"); - -ctrlSetText [12558, getText(_magData >> "ACE_ARTY_SHELL_IMAGE")]; - -ctrlSetText [12555, format["Prepare %1", _displayName]]; - -_maxCharge = getNumber(_magData >> "ACE_ARTY_MAXCHARGE"); -GVAR(currentCharge) = _maxCharge; -ctrlSetText [12556, format["Current Charge: %1", _maxCharge]]; -ctrlSetText [12559, format[getText(_magData >> "ACE_ARTY_CHARGE_IMAGE_FORMAT"), GVAR(currentCharge)]]; - - -_fuzeType = getArray(_magData >> "ACE_ARTY_FUZE_TYPES"); -_fuzeDesc = getArray(_magData >> "ACE_ARTY_FUZE_DESC"); -if (GVAR(currentFuze) == "") then { - GVAR(currentFuze) = _fuzeType select 0; -}; -lbClear 12557; -_selectFuzeIndex = 0; -{ - private["_desc", "_index"]; - _desc = _fuzeDesc select _forEachIndex; - _index = lbAdd [12557, format["%1", _desc]]; - lbSetData [12557, _index, _x]; - if (_x == GVAR(currentFuze)) then { - _selectFuzeIndex = _index; - }; -} forEach(_fuzeType); -lbSetCurSel [12557, _selectFuzeIndex]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onShellDestroyed.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onShellDestroyed.sqf deleted file mode 100644 index 6dd6ba7b0d..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onShellDestroyed.sqf +++ /dev/null @@ -1,4 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -TRACE_1("", _this); diff --git a/TO_MERGE/ace/arty_ammunition/fnc_onUnloadGun.sqf b/TO_MERGE/ace/arty_ammunition/fnc_onUnloadGun.sqf deleted file mode 100644 index 1c5f9c6843..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_onUnloadGun.sqf +++ /dev/null @@ -1,14 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private ["_shell","_prepArray","_shellClass","_defaultClass"]; -PARAMS_1(_gun); - -_prepArray = _gun getVariable ["ace_sys_arty_currentRound", []]; -if (count _prepArray > 0) then { - _defaultClass = getText(configFile >> "CfgMagazines" >> (_prepArray select 0) >> "ACE_ARTY_DEFAULT_CLASS"); - _shellClass = getText(configFile >> "CfgMagazines" >> _defaultClass >> "ACE_ARTY_SHELL_VEHICLE"); - _gun setVariable ["ace_sys_arty_currentRound",[],true]; - _shell = _shellClass createVehicle getPos _gun; - _shell setVariable ["ACE_ARTY_PREP",_prepArray,true]; -}; diff --git a/TO_MERGE/ace/arty_ammunition/fnc_openPrepDialog.sqf b/TO_MERGE/ace/arty_ammunition/fnc_openPrepDialog.sqf deleted file mode 100644 index a0b3e75913..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_openPrepDialog.sqf +++ /dev/null @@ -1,23 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private["_cargoArray", "_isRound"]; - -TRACE_1("", _this); -// dont open the dialog if there are no arty rounds in thebox - -PARAMS_1(_ammoCrate); - -GVAR(currentAmmoCrate) = _ammoCrate; -_cargoArray = getMagazineCargo _ammoCrate; -_isRound = false; -{ - _isRound = [_x, "ace_arty_howitzer_default", "CfgMagazines"] call FUNC(isKindOf); - if (_isRound) exitWith { }; -} foreach (_cargoArray select 0); -if (_isRound) then { - createDialog "ace_arty_ammoprep_Display"; -} else { - hintSilent "No artillery munitions in this box."; - GVAR(currentAmmoCrate) = nil; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fnc_populateChargeList.sqf b/TO_MERGE/ace/arty_ammunition/fnc_populateChargeList.sqf deleted file mode 100644 index db26a0c2fd..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_populateChargeList.sqf +++ /dev/null @@ -1,36 +0,0 @@ -#include "script_component.hpp" - -private "_index"; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 1"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "1"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 3"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "2"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 3"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "3"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 4"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "4"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 5"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "5"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 6"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "6"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 7"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "7"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - -_index = lbAdd [CHARGE_LISTBOX_ID, "Charge 8"]; -lbSetData [CHARGE_LISTBOX_ID, _index, "8"]; -lbSetColor [CHARGE_LISTBOX_ID, _index, [1,0,0,1]]; - diff --git a/TO_MERGE/ace/arty_ammunition/fnc_populateRoundsList.sqf b/TO_MERGE/ace/arty_ammunition/fnc_populateRoundsList.sqf deleted file mode 100644 index b447d4ef41..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_populateRoundsList.sqf +++ /dev/null @@ -1,30 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -private["_cargoArray", "_mag", "_count", "_displayName", "_ammoCrate", "_isRound", "_index"]; - -_ammoCrate = GVAR(currentAmmoCrate); -if (_ammoCrate isKindOf "ACE_Arty_ShellHolder") then { - _mag = getText (configFile >> "CfgVehicles" >> (typeOf _ammoCrate) >> "ACE_ARTY_MAGAZINE_CLASS"); - _cargoArray = [[_mag], [1]]; -} else { - _cargoArray = getMagazineCargo _ammoCrate; -}; - -TRACE_2("AMMMMOOOO CRATE", _ammoCrate, _cargoArray); -{ - _mag = _x; - _isRound = [_mag, "ace_arty_howitzer_default", "CfgMagazines"] call FUNC(isKindOf); - TRACE_2("", _mag,_isRound); - if (_isRound) then { - _count = (_cargoArray select 1) select _forEachIndex; - _displayName = getText (configFile >> "CfgMagazines" >> _mag >> "displayName"); - _index = lbAdd [ROUNDS_LISTBOX_ID, format["%1 -- %2", _count, _displayName]]; - TRACE_2("",_count,_displayName); - lbSetData [ROUNDS_LISTBOX_ID, _index, _mag]; - }; - -} forEach (_cargoArray select 0); -if (count (_cargoArray select 0) > 0) then { - lbSetCurSel [ROUNDS_LISTBOX_ID, 0]; - [ROUNDS_LISTBOX_ID, 0] call FUNC(onSelectRound); -}; diff --git a/TO_MERGE/ace/arty_ammunition/fnc_setDialogParameters.sqf b/TO_MERGE/ace/arty_ammunition/fnc_setDialogParameters.sqf deleted file mode 100644 index c61edcfb04..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_setDialogParameters.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -sliderSetRange [FUZE_SLIDER_ID, 0, 199]; diff --git a/TO_MERGE/ace/arty_ammunition/fnc_spawnMultiShellSpread.sqf b/TO_MERGE/ace/arty_ammunition/fnc_spawnMultiShellSpread.sqf deleted file mode 100644 index 29f1787771..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_spawnMultiShellSpread.sqf +++ /dev/null @@ -1,2 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" diff --git a/TO_MERGE/ace/arty_ammunition/fnc_spawnShell.sqf b/TO_MERGE/ace/arty_ammunition/fnc_spawnShell.sqf deleted file mode 100644 index 55359a86a7..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fnc_spawnShell.sqf +++ /dev/null @@ -1,94 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -#define __CTRL_PREP (uiNamespace getVariable "ace_arty_ammoprep_Display") displayCtrl 31337 -#define __roundData configFile >> "CfgMagazines" >> _roundClass - -_this spawn { - private ["_shell", "_shells", "_finalPos", "_distGood", "_dis"]; - PARAMS_4(_pos,_roundClass,_charge,_fuzeTime); - - GVAR(fuzeTime) = _fuzeTime; - - _magazineFormat = getText(__roundData >> "ACE_ARTY_MAGAZINE_FORMAT"); - _magazineClass = format[_magazineFormat, GVAR(currentFuze), _charge]; - _vehicleClass = getText(__roundData >> "ACE_ARTY_SHELL_VEHICLE"); - - [1,[localize "STR_ACE_ARTY_PREP_PROGRESS"],true,true] spawn ace_progressbar; - - if !(GVAR(currentAmmoCrate) isKindOf "ACE_Arty_ShellHolder") then { - // TODO: Player animation - - [GVAR(currentAmmoCrate), _roundClass, 1] call ACE_fnc_removemagazinecargo; // Fancy remove magazines from box, yay - sleep 0.2; - - _cargoArray = getMagazineCargo GVAR(currentAmmoCrate); - _selIndex = 0; - lbClear ROUNDS_LISTBOX_ID; - { - _mag = _x; - _isRound = [_mag, "ace_arty_howitzer_default", "CfgMagazines"] call FUNC(isKindOf); - TRACE_2("", _mag,_isRound); - if (_isRound) then { - _count = (_cargoArray select 1) select _forEachIndex; - _displayName = getText (configFile >> "CfgMagazines" >> _mag >> "displayName"); - _index = lbAdd [ROUNDS_LISTBOX_ID, format["%1 -- %2", _count, _displayName]]; - TRACE_2("",_count,_displayName); - lbSetData [ROUNDS_LISTBOX_ID, _index, _mag]; - if (_roundClass == _mag) then { - _selIndex = _index; - }; - }; - } forEach (_cargoArray select 0); - lbSetCurSel [ROUNDS_LISTBOX_ID, _selIndex]; - - // this spawns the rounds directly ontop of eaachother. handle collision? - _shells = (player modelToWorld [0,-1,0]) nearObjects ["ACE_Arty_ShellHolder",5]; - _finalPos = player modelToWorld [0,-1,0]; - _distGood = false; - _dis = 0.1; - while { !_distGood } do { - _distGood = true; - { - TRACE_1("dist", (_finalPos distance _x)); - if (_finalPos distance _x < 0.5) exitWith { - _distGood = false; - }; - } forEach _shells; - _finalPos = [_finalPos select 0, (_finalPos select 1) + (_dis * GVAR(shellSpawnDir)), _finalPos select 2]; - }; - GVAR(shellSpawnDir) = GVAR(shellSpawnDir) * -1; - _shell = _vehicleClass createVehicle _finalPos; - _shell setPos _finalPos; - _shell setVariable [QGVAR(belongsToBox),GVAR(currentAmmoCrate),true]; - - - { - (group _x) reveal _shell; - } forEach playableUnits; - (group player) reveal _shell; // reveal it after its positioned correctly. - - __CTRL_PREP ctrlShow true; __CTRL_PREP ctrlCommit 0; - } else { - sleep 1; - __CTRL_PREP ctrlShow true; __CTRL_PREP ctrlCommit 0; - closeDialog 0; - _shell = GVAR(currentAmmoCrate); - }; - - _shell setVariable ["ACE_ARTY_PREP",[_magazineClass,[_fuzeTime],abs(random 10000),_charge,GVAR(currentFuze)], true]; - - _confirm_data = _shell getVariable "ACE_ARTY_PREP"; - TRACE_1("",_confirm_data); - // Check if there is ammo left that fits the scheme - _cargoArray = getMagazineCargo GVAR(currentAmmoCrate); - _isRound = false; - { - _isRound = [_x, "ace_arty_howitzer_default", "CfgMagazines"] call FUNC(isKindOf); - if (_isRound) exitWith {}; - } foreach (_cargoArray select 0); - if (!_isRound) then { - __CTRL_PREP ctrlShow false; __CTRL_PREP ctrlCommit 0; - }; - _shell call FUNC(AddModelIncrements); // Animate Mortarshell if increments added -}; diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m524/fuze_time.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m524/fuze_time.sqf deleted file mode 100644 index 4b327b40fd..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m524/fuze_time.sqf +++ /dev/null @@ -1,108 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" - -private["_shell", "_time", "_endTime", "_roundData", "_action", "_baseEjectFnc", "_timeFunc"]; - -_shell = _this select 6; -_time = time; -_endTime = 100000; -_roundData = (_this select 0) getVariable "ace_sys_arty_roundData"; -{ - if ((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; -} forEach _roundData; -_baseEjectFnc = {}; -_action = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_BASE_EJECT_HANDLER"); -if (!isNil "_action" && {_action != ""}) then { - _baseEjectFnc = COMPILE_FILE2_SYS(_action); -}; - -_shell = _this select 6; -[ - { - if (alive _shell) then { - _lastPos = getPos _shell; - _lastVel = velocity _shell; - }; - if (_endTime == 100000) then { - _roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; - { - if((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; - } forEach _roundData; - if(_endTime != 100000) then { - (_this select 0) set [2, _endTime]; - }; - }; - - if (_timeStart + _endTime <= time) then { - _timeExpired = true; - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - _baseEjectFnc = {}; - - if (isNil "_result") then { - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - - if (_delete) then { - deleteVehicle _shell; - } else { - _lastVel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _lastVel; - deleteVehicle _shell; - }; - }; - }, - [_shell, _time, _endTime, _baseEjectFnc, _this], - 0.0, // delay - { - //init - _shell = _this select 0; - _timeStart = _this select 1; - _endTime = _this select 2; - _baseEjectFnc = _this select 3; - _fireEHParams = _this select 4; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _timeExpired = false; - }, - { - if (!_timeExpired) then { - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - - if (isNil "_result") then { // || isNull _result // isNull throws script error, as we are processing a bool here. - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - if (_delete) then { - deleteVehicle _shell; - } else { - _explosionClass = getText(configFile >> "CfgAmmo" >> _shellType >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _lastPos; - _exp setVectorDir _lastVel; - }; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_timeStart", "_endTime", "_baseEjectFnc", "_fireEHParams", "_lastPos", "_lastVel", "_timeExpired", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_delay.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_delay.sqf deleted file mode 100644 index d6d4ab533a..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_delay.sqf +++ /dev/null @@ -1,47 +0,0 @@ -//fuze_delay.sqf -_shell = _this select 6; -[ - { - if (alive _shell) then { - _pvel = _lastVel; - _ppos = _lastPos; - _lastPos = getPosASL _shell; - _lastVel = velocity _shell; - }; - - }, - [_shell,_gun], - 0, // delay - { - _shell = _this select 0; - _lastPos = []; - _lastVel = []; - _pvel = []; - _ppos = []; - }, - { - _v = "ace_arty_60mm_m720a1_delay_action" createVehicle [0,0,10000]; - _v setPosASL _lastPos; - [_v] call ace_sys_frag_fnc_addManualTrack; - _vel = [_pvel,0.75] call ACE_fnc_vectorMultiply; - _unitVec = _vel call ACE_fnc_unitVector; - _minPen = 0.01; - _maxPen = 0.100; - _pen = ((random 1)*_maxPen) max _minPen; - _vadd = [_unitVec,_pen] call ACE_fnc_vectorMultiply; - _pos = [_lastPos,_vadd] call ACE_fnc_vectorAdd; - _pos set[2, (_pos select 2) max 0]; - _v setPosASL _pos; - _vel set[0, (_vel select 0) + random (0.5)]; - _vel set[1, (_vel select 1) + random (0.5)]; - _vel set[2, (_vel select 2) + random (0.5)]; - _v setVelocity _vel; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_lastPos", "_lastVel", "_pvel", "_ppos" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_nsb.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_nsb.sqf deleted file mode 100644 index 37070c3e58..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_nsb.sqf +++ /dev/null @@ -1,49 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" -private["_shell"]; - -_shell = _this select 6; -[ - { - _vel = velocity _shell; - if ((_vel select 2) < 0) then { - if ((getPosATL _shell) select 2 <= 2) then { - _fuzed = true; - _vel = velocity _shell; - _pos = getPosASL _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle [0,0,10000]; - _exp setPosASL _pos; - _exp setVectorDir _vel; - deleteVehicle _shell; - }; - }; - }, - [_shell], - 0.00, // delay - { - //init - _shell = _this select 0; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _fuzed = false; - }, - { - if (!_fuzed) then { - _vel = velocity _shell; - _pos = getPosASL _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle [0,0,10000]; - _exp setPosASL _pos; - _exp setVectorDir _vel; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_lastPos", "_lastVel", "_fuzed", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_prox.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_prox.sqf deleted file mode 100644 index d010be2b49..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m734/fuze_prox.sqf +++ /dev/null @@ -1,47 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" -private["_shell"]; - -_shell = _this select 6; -[ - { - _vel = velocity _shell; - if ((_vel select 2) < 0) then { - if (getPosATL _shell select 2 <= 5) then { - _fuzed = true; - _vel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _vel; - deleteVehicle _shell; - }; - }; - }, - [_shell], - 0.00, // delay - { - //init - _shell = _this select 0; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _fuzed = false; - }, - { - if (!_fuzed) then { - _vel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _vel; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_lastPos", "_lastVel", "_fuzed", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m734a1/fuze_delay.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m734a1/fuze_delay.sqf deleted file mode 100644 index 7f0510e385..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m734a1/fuze_delay.sqf +++ /dev/null @@ -1,47 +0,0 @@ -//fuze_delay.sqf -_shell = _this select 6; -[ - { - if (alive _shell) then { - _pvel = _lastVel; - _ppos = _lastPos; - _lastPos = getPosASL _shell; - _lastVel = velocity _shell; - }; - - }, - [_shell,_gun], - 0, // delay - { - _shell = _this select 0; - _lastPos = []; - _lastVel = []; - _pvel = []; - _ppos = []; - }, - { - _v = "ace_arty_81mm_m821a2_delay_action" createVehicle [0,0,10000]; - _v setPosASL _lastPos; - [_v] call ace_sys_frag_fnc_addManualTrack; - _vel = [_pvel,0.75] call ACE_fnc_vectorMultiply; - _unitVec = _vel call ACE_fnc_unitVector; - _minPen = 0.01; - _maxPen = 0.100; - _pen = ((random 1)*_maxPen) max _minPen; - _vadd = [_unitVec,_pen] call ACE_fnc_vectorMultiply; - _pos = [_lastPos,_vadd] call ACE_fnc_vectorAdd; - _pos set[2, (_pos select 2) max 0]; - _v setPosASL _pos; - _vel set[0, (_vel select 0) + random (0.5)]; - _vel set[1, (_vel select 1) + random (0.5)]; - _vel set[2, (_vel select 2) + random (0.5)]; - _v setVelocity _vel; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_lastPos", "_lastVel", "_pvel", "_ppos" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m734a1/fuze_prox.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m734a1/fuze_prox.sqf deleted file mode 100644 index 3609adfc99..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m734a1/fuze_prox.sqf +++ /dev/null @@ -1,47 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" -private["_shell"]; - -_shell = _this select 6; -[ - { - _vel = velocity _shell; - if ((_vel select 2) < 0) then { - if (getPosATL _shell select 2 <= 10) then { - _fuzed = true; - _vel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _vel; - deleteVehicle _shell; - }; - }; - }, - [_shell], - 0.0, // delay - { - //init - _shell = _this select 0; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _fuzed = false; - }, - { - if (!_fuzed) then { - _vel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _vel; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_lastPos", "_lastVel", "_fuzed", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m772/fuze_time.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m772/fuze_time.sqf deleted file mode 100644 index 4b327b40fd..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m772/fuze_time.sqf +++ /dev/null @@ -1,108 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" - -private["_shell", "_time", "_endTime", "_roundData", "_action", "_baseEjectFnc", "_timeFunc"]; - -_shell = _this select 6; -_time = time; -_endTime = 100000; -_roundData = (_this select 0) getVariable "ace_sys_arty_roundData"; -{ - if ((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; -} forEach _roundData; -_baseEjectFnc = {}; -_action = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_BASE_EJECT_HANDLER"); -if (!isNil "_action" && {_action != ""}) then { - _baseEjectFnc = COMPILE_FILE2_SYS(_action); -}; - -_shell = _this select 6; -[ - { - if (alive _shell) then { - _lastPos = getPos _shell; - _lastVel = velocity _shell; - }; - if (_endTime == 100000) then { - _roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; - { - if((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; - } forEach _roundData; - if(_endTime != 100000) then { - (_this select 0) set [2, _endTime]; - }; - }; - - if (_timeStart + _endTime <= time) then { - _timeExpired = true; - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - _baseEjectFnc = {}; - - if (isNil "_result") then { - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - - if (_delete) then { - deleteVehicle _shell; - } else { - _lastVel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _lastVel; - deleteVehicle _shell; - }; - }; - }, - [_shell, _time, _endTime, _baseEjectFnc, _this], - 0.0, // delay - { - //init - _shell = _this select 0; - _timeStart = _this select 1; - _endTime = _this select 2; - _baseEjectFnc = _this select 3; - _fireEHParams = _this select 4; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _timeExpired = false; - }, - { - if (!_timeExpired) then { - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - - if (isNil "_result") then { // || isNull _result // isNull throws script error, as we are processing a bool here. - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - if (_delete) then { - deleteVehicle _shell; - } else { - _explosionClass = getText(configFile >> "CfgAmmo" >> _shellType >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _lastPos; - _exp setVectorDir _lastVel; - }; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_timeStart", "_endTime", "_baseEjectFnc", "_fireEHParams", "_lastPos", "_lastVel", "_timeExpired", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m776/fuze_time.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m776/fuze_time.sqf deleted file mode 100644 index 4b327b40fd..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m776/fuze_time.sqf +++ /dev/null @@ -1,108 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" - -private["_shell", "_time", "_endTime", "_roundData", "_action", "_baseEjectFnc", "_timeFunc"]; - -_shell = _this select 6; -_time = time; -_endTime = 100000; -_roundData = (_this select 0) getVariable "ace_sys_arty_roundData"; -{ - if ((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; -} forEach _roundData; -_baseEjectFnc = {}; -_action = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_BASE_EJECT_HANDLER"); -if (!isNil "_action" && {_action != ""}) then { - _baseEjectFnc = COMPILE_FILE2_SYS(_action); -}; - -_shell = _this select 6; -[ - { - if (alive _shell) then { - _lastPos = getPos _shell; - _lastVel = velocity _shell; - }; - if (_endTime == 100000) then { - _roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; - { - if((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; - } forEach _roundData; - if(_endTime != 100000) then { - (_this select 0) set [2, _endTime]; - }; - }; - - if (_timeStart + _endTime <= time) then { - _timeExpired = true; - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - _baseEjectFnc = {}; - - if (isNil "_result") then { - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - - if (_delete) then { - deleteVehicle _shell; - } else { - _lastVel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _lastVel; - deleteVehicle _shell; - }; - }; - }, - [_shell, _time, _endTime, _baseEjectFnc, _this], - 0.0, // delay - { - //init - _shell = _this select 0; - _timeStart = _this select 1; - _endTime = _this select 2; - _baseEjectFnc = _this select 3; - _fireEHParams = _this select 4; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _timeExpired = false; - }, - { - if (!_timeExpired) then { - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - - if (isNil "_result") then { // || isNull _result // isNull throws script error, as we are processing a bool here. - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - if (_delete) then { - deleteVehicle _shell; - } else { - _explosionClass = getText(configFile >> "CfgAmmo" >> _shellType >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _lastPos; - _exp setVectorDir _lastVel; - }; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_timeStart", "_endTime", "_baseEjectFnc", "_fireEHParams", "_lastPos", "_lastVel", "_timeExpired", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_delay.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_delay.sqf deleted file mode 100644 index e2bf55c040..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_delay.sqf +++ /dev/null @@ -1,67 +0,0 @@ -//fuze_delay.sqf -_shell = _this select 6; -[ - { - if(alive _shell) then { - _pvel = _lastVel; - _ppos = _lastPos; - _lastPos = getPosASL _shell; - _lastVel = velocity _shell; - }; - - }, - [_shell,_gun], - 0, // delay - { - //init - _shell = _this select 0; - _lastPos = []; - _lastVel = []; - _pvel = []; - _ppos = []; - }, - { - //player sideChat format["lastPos: %1 lastVel: %2", _lastPos, _lastVel]; - _v = "ace_arty_105mm_m1_delay_action" createVehicle [0,0,10000]; - _v setPosASL _lastPos; - [_v] call ace_sys_frag_fnc_addManualTrack; - //STARTPOS = _lastPos; - _vel = [_pvel,0.75] call ACE_fnc_vectorMultiply; - _unitVec = _vel call ACE_fnc_unitVector; - _minPen = 0.01; - _maxPen = 0.100; - _pen = ((random 1)*_maxPen) max _minPen; - _vadd = [_unitVec,_pen] call ACE_fnc_vectorMultiply; - _pos = [_lastPos,_vadd] call ACE_fnc_vectorAdd; - _pos set[2, (_pos select 2) max 0]; - _v setPosASL _pos; - _vel set[0, (_vel select 0) + random (0.5)]; - _vel set[1, (_vel select 1) + random (0.5)]; - _vel set[2, (_vel select 2) + random (0.5)]; - - _v setVelocity _vel; - // STARTTIME = diag_tickTime; - // setAccTime 0.01; - // _func = { - // _shell = (_this select 0) select 0; - // drop ["\Ca\Data\Cl_basic","","Billboard",1,20,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.25],[[1,0,0,0.5]],[0],0.0,2.0,"","",""]; - // if(alive _shell) then { - // FINALPOS = getPosASL _shell; - // player sideChat format["p: %1 %2 %3", FINALPOS, (velocity _shell)]; - // }; - // if(!(alive _shell)) then { - // [(_this select 1)] call cba_fnc_removePerFrameHandler; - // setAccTime 1; - // player sideChat format["d: %1 t: %2 v: %3", (STARTPOS distance FINALPOS), diag_tickTime-STARTTIME, (velocity _shell)]; - // }; - // }; - // [_func, 0, [_v]] call CBA_fnc_addPerFrameHandler; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_lastPos", "_lastVel", "_pvel", "_ppos" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_prox.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_prox.sqf deleted file mode 100644 index 78e40e5220..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_prox.sqf +++ /dev/null @@ -1,48 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" -private["_shell"]; - -_shell = _this select 6; -[ - { - _vel = velocity _shell; - if((_vel select 2) < 0) then { - if((getPosATL _shell) select 2 <= 10) then { - _fuzed = true; - //player sideChat format["FIRING!!!! %1", (getPos _shell) select 2]; - _vel = (velocity _shell); - _pos = (getPos _shell); - _explosionClass = getText(configFile >> "CfgAmmo" >> (typeOf _shell) >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _vel; - deleteVehicle _shell; - }; - }; - }, - [_shell], - 0.00, // delay - { - //init - _shell = _this select 0; - _shellType = (typeOf _shell); - _lastPos = []; - _lastVel = []; - _fuzed = false; - }, - { - if(!_fuzed) then { - _vel = (velocity _shell); - _pos = (getPos _shell); - _explosionClass = getText(configFile >> "CfgAmmo" >> (typeOf _shell) >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _vel; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_lastPos", "_lastVel", "_fuzed", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_time.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_time.sqf deleted file mode 100644 index 4c0c95e76e..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/m782/fuze_time.sqf +++ /dev/null @@ -1,108 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" - -private["_shell", "_time", "_endTime", "_roundData", "_action", "_baseEjectFnc", "_timeFunc"]; - -_shell = _this select 6; -_time = time; -_endTime = 100000; -_roundData = (_this select 0) getVariable "ace_sys_arty_roundData"; -{ - if((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; -} forEach _roundData; -_baseEjectFnc = {}; -_action = getText(configFile >> "CfgAmmo" >> (typeOf _shell) >> "ACE_ARTY_BASE_EJECT_HANDLER"); -if (!isNil "_action" && {_action != ""}) then { - _baseEjectFnc = COMPILE_FILE2_SYS(_action); -}; - -_shell = _this select 6; -[ - { - if(alive _shell) then { - _lastPos = getPos _shell; - _lastVel = velocity _shell; - }; - if(_endTime == 100000) then { - _roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; - { - if((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; - } forEach _roundData; - if(_endTime != 100000) then { - (_this select 0) set[2, _endTime]; - }; - }; - - if((_timeStart + _endTime) <= time) then { - _timeExpired = true; - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - _baseEjectFnc = {}; - - if(isNil "_result") then { - _delete = false; - } else { - if(_result) then { - _delete = true; - }; - }; - - if(_delete) then { - deleteVehicle _shell; - } else { - _lastVel = (velocity _shell); - _pos = (getPos _shell); - _explosionClass = getText(configFile >> "CfgAmmo" >> (typeOf _shell) >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _lastVel; - deleteVehicle _shell; - }; - }; - }, - [_shell, _time, _endTime, _baseEjectFnc, _this], - 0.00, // delay - { - //init - _shell = _this select 0; - _timeStart = _this select 1; - _endTime = _this select 2; - _baseEjectFnc = _this select 3; - _fireEHParams = _this select 4; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _timeExpired = false; - }, - { - if(!_timeExpired) then { - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - - if(isNil "_result") then { // || isNull _result // isNull throws script error, as we are processing a bool here. - _delete = false; - } else { - if(_result) then { - _delete = true; - }; - }; - if(_delete) then { - deleteVehicle _shell; - } else { - _explosionClass = getText(configFile >> "CfgAmmo" >> _shellType >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _lastPos; - _exp setVectorDir _lastVel; - }; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_timeStart", "_endTime", "_baseEjectFnc", "_fireEHParams", "_lastPos", "_lastVel", "_timeExpired", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; diff --git a/TO_MERGE/ace/arty_ammunition/fuzes/time/fuze_time.sqf b/TO_MERGE/ace/arty_ammunition/fuzes/time/fuze_time.sqf deleted file mode 100644 index 4b327b40fd..0000000000 --- a/TO_MERGE/ace/arty_ammunition/fuzes/time/fuze_time.sqf +++ /dev/null @@ -1,108 +0,0 @@ -//fuze_prox.sqf -#include "\x\ace\addons\sys_arty_ammunition\script_component.hpp" - -private["_shell", "_time", "_endTime", "_roundData", "_action", "_baseEjectFnc", "_timeFunc"]; - -_shell = _this select 6; -_time = time; -_endTime = 100000; -_roundData = (_this select 0) getVariable "ace_sys_arty_roundData"; -{ - if ((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; -} forEach _roundData; -_baseEjectFnc = {}; -_action = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_BASE_EJECT_HANDLER"); -if (!isNil "_action" && {_action != ""}) then { - _baseEjectFnc = COMPILE_FILE2_SYS(_action); -}; - -_shell = _this select 6; -[ - { - if (alive _shell) then { - _lastPos = getPos _shell; - _lastVel = velocity _shell; - }; - if (_endTime == 100000) then { - _roundData = (_fireEHParams select 0) getVariable "ace_sys_arty_roundData"; - { - if((_x select 0) == _shell) exitWith { - _endTime = (_x select 2) select 0; - }; - } forEach _roundData; - if(_endTime != 100000) then { - (_this select 0) set [2, _endTime]; - }; - }; - - if (_timeStart + _endTime <= time) then { - _timeExpired = true; - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - _baseEjectFnc = {}; - - if (isNil "_result") then { - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - - if (_delete) then { - deleteVehicle _shell; - } else { - _lastVel = velocity _shell; - _pos = getPos _shell; - _explosionClass = getText(configFile >> "CfgAmmo" >> typeOf _shell >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _pos; - _exp setVectorDir _lastVel; - deleteVehicle _shell; - }; - }; - }, - [_shell, _time, _endTime, _baseEjectFnc, _this], - 0.0, // delay - { - //init - _shell = _this select 0; - _timeStart = _this select 1; - _endTime = _this select 2; - _baseEjectFnc = _this select 3; - _fireEHParams = _this select 4; - _shellType = typeOf _shell; - _lastPos = []; - _lastVel = []; - _timeExpired = false; - }, - { - if (!_timeExpired) then { - _delete = false; - _result = _fireEHParams call _baseEjectFnc; - - if (isNil "_result") then { // || isNull _result // isNull throws script error, as we are processing a bool here. - _delete = false; - } else { - if (_result) then { - _delete = true; - }; - }; - if (_delete) then { - deleteVehicle _shell; - } else { - _explosionClass = getText(configFile >> "CfgAmmo" >> _shellType >> "ACE_ARTY_EXPLOSION"); - _exp = _explosionClass createVehicle _lastPos; - _exp setVectorDir _lastVel; - }; - }; - }, - { - true - }, - {!alive _shell}, - [ - "_shell", "_timeStart", "_endTime", "_baseEjectFnc", "_fireEHParams", "_lastPos", "_lastVel", "_timeExpired", "_shellType" - ] -] call cba_common_fnc_addPerFrameHandlerLogic; diff --git a/TO_MERGE/ace/arty_ammunition/license.txt b/TO_MERGE/ace/arty_ammunition/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/arty_ammunition/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/arty_ammunition/prep_dialog.hpp b/TO_MERGE/ace/arty_ammunition/prep_dialog.hpp deleted file mode 100644 index f61b0a65d9..0000000000 --- a/TO_MERGE/ace/arty_ammunition/prep_dialog.hpp +++ /dev/null @@ -1,437 +0,0 @@ - -#define FontM "Zeppelin32" -#define ClrWhite 1,1,1 -#define ClrBlack 0,0,0 -#define ClrGray 0.5,0.5,0.5 -#define ClrBlue 0.2,0.5,1 - -#define ROUNDS_LISTBOX_ID 20100 -#define CHARGE_LISTBOX_ID 20101 -#define FUZE_SLIDER_ID 20201 - -#define ROWPOS(y) ((0.0219*y)*SafeZoneH) -#define COLPOS(x) ((0.029075*x)*SafeZoneW) - -class ace_arty_ammoprep_RscText { - idc = -1; - type = CT_STATIC; - style = ST_LEFT; - font = FontM; - colorText[] = {1,1,1,1}; - colorBackground[] = {0, 0, 0, 0}; - sizeEx = 0.02*SafeZoneH; - __SW(0.5815); - __SH(0.02); - lineSpacing = 1; -}; - -class ace_arty_ammoprep_RscTextBox { - idc = -1; - type = CT_EDIT; - style = ST_LEFT; - __SW(0.5815); - __SH(0.02); - sizeEx = .02; - font = FontM; - - text = ""; - colorText[] = {1,1,1,1}; - - autocomplete = false; - colorSelection[] = {0,0,0,1}; -}; - -class ace_arty_ammoprep_RscButton { - type = CT_BUTTON; - idc = -1; - style = ST_CENTER; - - x = 0.0; - y = 0.0; - __SW(0.2); - __SH(0.03); - sizeEx = 0.015*SafeZoneH; - offsetX = 0; - offsetY = 0.002; - offsetPressedX = 0; - offsetPressedY = 0.002; - borderSize = 0; - - colorText[] = {ClrWhite,1}; - colorBackground[] = {ClrGray, 0.75}; - colorFocused[] = {ClrGray,0}; - - colorShadow[] = {ClrBlack,0}; - colorBorder[] = {ClrWhite,0}; - colorBackgroundActive[] = {ClrGray,0}; - colorDisabled[] = {ClrGray, 0}; - colorBackgroundDisabled[] = {ClrGray,0}; - font = FontM; - - soundEnter[] = {"", 0.2, 1}; - soundPush[] = {"", 0.2, 1}; - soundClick[] = {"", 0.2, 1}; - soundEscape[] = {"", 0.2, 1}; - - default = false; - text = ""; - action = ""; -}; -class RscListNBox; -class ace_arty_ammoprep_RscListNBox: RscListNBox { - type = 102; - idc = -1; - style = ST_SINGLE; - color[] = {1,1,1,1}; - colorText[] = {1,1,1,0.75}; - colorScrollbar[] = {0.95,0.95,0.95,1}; - colorSelect[] = {0.95,0.95,0.95,1}; - colorSelect2[] = {0.95,0.95,0.95,1}; - colorSelectBackground[] = {0.6,0.8392,0.4706,1.0}; - colorSelectBackground2[] = {0.6,0.8392,0.4706,1.0}; - period = 0; - font = FontM; - sizeEx = 0.015*SafeZoneH; - colorBackground[] = {1,0,0,1}; - columns[] = {0.1,0.7}; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - rowHeight = ROWPOS(1); - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - maxHistoryDelay = 0; - drawSideArrows = 0; - idcLeft = 10001; - idcRight = 10002; - class ScrollBar { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; -}; - -class ace_arty_ammoprep_RscComboBox { - type = 4; - style = "0 + 0x10"; - font = FontM; - sizeEx =0.02*SafeZoneH; - color[] = {1,1,1,1 }; - colorText[] = {1,1,1,1 }; - colorScrollbar[] = {1,1,1,1 }; - colorSelect[] = {1,1,1,1 }; - colorSelect2[] = {90/255, 74/255, 36/255, 0.75}; - colorSelectBackground[] = {0,0,0,1 }; - colorSelectBackground2[] = {90/255, 74/255, 36/255, 0.75}; - period = 1.200000; - colorBackground[] = {90/255, 74/255, 36/255, 0.75}; - maxHistoryDelay = 1.000000; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - wholeHeight = ROWPOS(4.1); - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - class ScrollBar { - color[] = {0,1,0,1 }; - colorActive[] = {1,1,1,1 }; - colorDisabled[] = {1,1,1,0.300000 }; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; -}; - -class ace_arty_ammoprep_RscListBox { - type = 5; - style = "0 + 0x10"; - font = "Zeppelin32"; - sizeEx = 0.039210; - color[] = {1,1,1,1 }; - colorText[] = {0.543000,0.574200,0.410200,1.000000 }; - colorScrollbar[] = {0,1,0,1 }; - colorSelect[] = {0.950000,0.950000,0.950000,1 }; - colorSelect2[] = {0.950000,0.950000,0.950000,1 }; - colorSelectBackground[] = {0,0,0,1 }; - colorSelectBackground2[] = {0.543000,0.574200,0.410200,1.000000 }; - period = 1.200000; - colorBackground[] = {0,0,0,1 }; - maxHistoryDelay = 1.000000; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - rowHeight = ROWPOS(1); - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - class ScrollBar { - color[] = {0,1,0,1 }; - colorActive[] = {1,1,1,1 }; - colorDisabled[] = {1,1,1,0.300000 }; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; -}; - -class ace_arty_ammoprep_CheckBox { - idc = -1; - type = CT_TOOLBOX; //defined constant (6) - style = ST_LEFT; //defined constant (2) - - x = 0; - y = 0; - w = COLPOS(2); - h = ROWPOS(1); - - colorText[] = {1, 1, 1, 1}; - color[] = {0, 0, 0, 1}; // seems nothing to change, but define it to avoid error! - colorTextSelect[] = {1, 0, 0, 1}; - colorSelect[] = {0, 0, 1, 1}; - colorTextDisable[] = {0.4, 0.4, 0.4, 1}; - colorDisable[] = {0.4, 0.4, 0.4, 1}; - coloSelectedBg[] = {0.4, 0.4, 0.4, 1}; - font = FontM; - sizeEx = 0.015*SafeZoneH; - - rows = 1; - columns = 2; - strings[] = {"No","Yes"}; - values[] = {0,1}; -}; - -class ace_arty_ammoprep_RscPicture : ace_arty_ammoprep_RscButton -{ - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - text = ""; -}; -class RscControlsGroup; -class ace_arty_ammoprep_ControlGroup:RscControlsGroup { - type = 15; - idc = -1; - style = 16; - __SX(0.125); - __SY(0); - __SW(0.75); - __SH(1); - class VScrollbar { - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - color[] = {1,1,1,1}; - width = 0.001; - }; - class HScrollbar { - color[] = {1,1,1,0}; - height = 0.001; - }; - class ScrollBar { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; - class controls { }; -}; - -class ace_arty_ammoprep_Display { - idd = 754; - movingEnable = 0; - name = "ace_arty_ammoprep_Display"; - onUnload = QUOTE(_this call FUNC(onDialogClose)); - onLoad = QUOTE(_this call FUNC(onDialogOpen)); - - class controlsBackground { - class ace_arty_ammoprep_Background { - idc = -1; - access = 0; - type = CT_STATIC; - style = ST_LEFT; - colorText[] = { 0, 0, 0, 1 }; - colorBackground[] = {90/255, 74/255, 36/255, 0.75}; - font = FontM; // defined constant - sizeEx = 1*SafeZoneH; - __SX(0.125); - __SY(0); - __SW(0.75); - __SH(1); - - text = ""; - }; - }; - class objects { - // define controls here - }; - class controls { - - class ace_arty_ammoprep_main:ace_arty_ammoprep_ControlGroup { - idc = -1; - class controls { - class GVAR(ammoAvailable):ace_arty_ammoprep_RscText { - x = COLPOS(0); - y = ROWPOS(0); - w = COLPOS(5); - h = ROWPOS(1); - text = "Available Rounds"; - }; - class GVAR(availabeAmmoBG):ace_arty_ammoprep_RscText { - x = COLPOS(0); - y = ROWPOS(1); - w = COLPOS(7); - h = 1*SafeZoneH; - colorBackground[] = {90/255, 74/255, 36/255, 0.75}; - text = ""; - }; - class GVAR(availabeAmmo):ace_arty_ammoprep_RscListBox { - idc = ROUNDS_LISTBOX_ID; - x = COLPOS(0); - y = ROWPOS(1); - w = COLPOS(7); - h = 1*SafeZoneH; - onLBSelChanged = QUOTE(_this call FUNC(onSelectRound)); - }; - - class GVAR(ammoPrepTitle):ace_arty_ammoprep_RscText { - idc = 12555; - x = COLPOS(7); - y = ROWPOS(0); - w = COLPOS(20); - h = ROWPOS(2); - sizeEx = (0.02*SafeZoneH)*2; - text = "Prepare Ammo"; - }; - - class GVAR(ammoCharge):ace_arty_ammoprep_RscText { - x = COLPOS(7); - y = ROWPOS(3); - w = COLPOS(6); - h = ROWPOS(2); - sizeEx = (0.02*SafeZoneH)*2; - text = "Charge"; - }; - - class GVAR(ammoCurrentCharge):ace_arty_ammoprep_RscText { - idc = 12556; - x = COLPOS(7.5); - y = ROWPOS(5); - w = COLPOS(4); - h = ROWPOS(1); - text = "Current Charge:"; - }; - - class GVAR(ammoChargeUp):ace_arty_ammoprep_RscButton { - text = "CHARGE UP"; - x = COLPOS(12); - y = ROWPOS(5); - w = COLPOS(3); - h = ROWPOS(1); - action = QUOTE([1] call FUNC(changeCharge)); - }; - - class GVAR(ammoChargeDown):ace_arty_ammoprep_RscButton { - text = "CHARGE DOWN"; - x = COLPOS(15); - y = ROWPOS(5); - w = COLPOS(3); - h = ROWPOS(1); - action = QUOTE([-1] call FUNC(changeCharge)); - }; - - class GVAR(ammoFuze):ace_arty_ammoprep_RscText { - x = COLPOS(7); - y = ROWPOS(7); - w = COLPOS(6); - h = ROWPOS(2); - sizeEx = (0.02*SafeZoneH)*2; - text = "Fuze"; - }; - - class GVAR(ammoFuzeSelect):ace_arty_ammoprep_RscComboBox { - idc = 12557; - x = COLPOS(7.5); - y = ROWPOS(9); - w = COLPOS(5); - h = ROWPOS(1); - onLBSelChanged = QUOTE(_this call FUNC(onSelectFuze)); - }; - - class GVAR(ammoFuzeTimeLabel):ace_arty_ammoprep_RscText { - idc = 12561; - x = COLPOS(7.5); - y = ROWPOS(11); - w = COLPOS(3); - h = ROWPOS(1); - text = "Fuze Time:"; - }; - - class GVAR(ammoFuzeTime):ace_arty_ammoprep_RscTextBox { - idc = 12560; - x = COLPOS(10.5); - y = ROWPOS(11); - w = COLPOS(2); - h = ROWPOS(1); - text = ""; - }; - - class GVAR(ammoFuzeTimeFormat):ace_arty_ammoprep_RscText { - idc = 12562; - x = COLPOS(12.5); - y = ROWPOS(11); - w = COLPOS(3); - h = ROWPOS(1); - text = "##.#"; - }; - - class GVAR(ammoPrepRoundButton):ace_arty_ammoprep_RscButton { - idc = 31337; - text = "PREP ROUND"; - x = COLPOS(20); - y = ROWPOS(5); - w = COLPOS(3); - h = ROWPOS(2); - action = QUOTE([] call FUNC(onDoPrep)); - }; - - class GVAR(ammoShellImage):ace_arty_ammoprep_RscText { - idc = 12558; - x = (0.75*SafeZoneW)-(0.0675*SafeZoneW); - y = 0*SafeZoneH; - w = 0.0875*SafeZoneW; - h = .5*SafeZoneH; - style = ST_PICTURE; - text = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m1.paa"; - }; - - class GVAR(ammoChargeImage):ace_arty_ammoprep_RscText { - idc = 12559; - x = (0.75*SafeZoneW)-(0.0675*SafeZoneW); - y = .5*SafeZoneH; - w = 0.0875*SafeZoneW; - h = .5*SafeZoneH; - style = ST_PICTURE; - text = "\x\ace\Addons\sys_arty_ammunition\105mm\data\images\m14_chg1.paa"; - }; - - }; - }; - }; -}; - - diff --git a/TO_MERGE/ace/arty_ammunition/script_component.hpp b/TO_MERGE/ace/arty_ammunition/script_component.hpp deleted file mode 100644 index fe259c01d5..0000000000 --- a/TO_MERGE/ace/arty_ammunition/script_component.hpp +++ /dev/null @@ -1,18 +0,0 @@ -#define COMPONENT sys_arty_ammunition -#include "\x\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_ARTY_AMMUNITION - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_ARTY_AMMUNITION - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_ARTY_AMMUNITION -#endif - -#include "\x\ace\addons\main\script_macros.hpp" -#include "\x\ace\addons\main\script_dialog_defines.hpp" - - -#define ROUNDS_LISTBOX_ID 20100 -#define CHARGE_LISTBOX_ID 20101 -#define FUZE_SLIDER_ID 20201 \ No newline at end of file diff --git a/TO_MERGE/ace/arty_ammunition/stringtable.xml b/TO_MERGE/ace/arty_ammunition/stringtable.xml deleted file mode 100644 index cff911981b..0000000000 --- a/TO_MERGE/ace/arty_ammunition/stringtable.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - -Geschoss vorbereiten -Prepare Shell -Prepare Shell -Připravit náboj -Prepare Shell -Przygotuj nabój -Prepare Shell -Подготовить снаряд -Prepare Shell - - -Geschosse vorbereiten -Prep Arty Rounds -Prep Arty Rounds -Připravit dělostřelecký granát -Prep Arty Rounds -Przygotuj pociski artyleryjskie -Prep Arty Rounds -Подготовить заряды -Prep Arty Rounds - - -Geschütz laden -Load Gun -Load Gun -Nabít dělo -Load Gun -Załaduj działo -Load Gun -Зарядить орудие -Load Gun - - -Geschoss aufnehmen -Pickup Shell -Pickup Shell -Seber náboj -Pickup Shell -Zabierz nabój -Pickup Shell -Поднять снаряд -Pickup Shell - - -Geschoss ablegen -Drop Shell -Drop Shell -Polož náboj -Drop Shell -Zostaw nabój -Drop Shell -Бросить снаряд -Drop Shell - - -Geschoss vorbereiten ... -Preparing Shell.... -Preparing Shell.... -Připravuji náboj.... -Preparing Shell.... -Przygotowanie pocisku... -Preparing Shell.... -Подготавливаем снаряд.... -Preparing Shell.... - - -Geschütz entladen -Unload Gun -Unload Gun -Vybít dělo -Unload Gun -Rozładuj działo -Unload Gun -Разрядить Орудие -Unload Gun - - -Kiste stapeln -Stockpile crates -Stockpile crates -Shromaždit bedny -Stockpile crates -Ułóż skrzynie -Stockpile crates -Сложить ящики -Stockpile crates - - -Geschoss einpacken -Repack shell -Repack shell -Zabalit náboj -Repack shell -Zapakuj pocisk -Repack shell -Переупаковать снаряд -Repack shell - - - - diff --git a/TO_MERGE/ace/arty_computers/$NOBIN$ b/TO_MERGE/ace/arty_computers/$NOBIN$ deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/ace/arty_computers/$PBOPREFIX$ b/TO_MERGE/ace/arty_computers/$PBOPREFIX$ deleted file mode 100644 index 7e3b4a7937..0000000000 --- a/TO_MERGE/ace/arty_computers/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\ace\Addons\sys_arty_computers \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/CfgVehicles.hpp b/TO_MERGE/ace/arty_computers/CfgVehicles.hpp deleted file mode 100644 index fa3e1b09e1..0000000000 --- a/TO_MERGE/ace/arty_computers/CfgVehicles.hpp +++ /dev/null @@ -1,52 +0,0 @@ -class CfgVehicles { - // class Logic; - // class ace_sys_arty_computers_battery: Logic - // { - // displayName = "ACE Artillery Battery"; - // icon = "\ca\modules\ARTY\data\ui\icon_ARTY_ca.paa"; - // vehicleClass = "Modules"; - // class Eventhandlers - // { - // init = "_script = _this execVM '\x\ace\addons\sys_arty_computers\fnc_addBattery.sqf'"; - // }; - // }; - class HMMWV_M1035_DES_EP1; - class ACE_BCS_HMMV: HMMWV_M1035_DES_EP1 { - displayName = $STR_ACE_ARTY_COMPUTERS_BCS_HMMV; - vehicleClass = "ACE_Arty_Equipment"; - class UserActions { - class useGyk37 { - displayName = $STR_ACE_ARTY_COMPUTERS_BCS_HMMV_USECOMP; - displayNameDefault = $STR_ACE_ARTY_COMPUTERS_BCS_HMMV_USECOMP; - priority = -10; - radius = 5; - position = "camera"; - showWindow = 0; - onlyForPlayer = 1; - shortcut = ""; - condition = "(player in this) && {alive this}"; - statement = "[this] call ace_sys_arty_computers_gyk37_fnc_startBCS"; - }; - }; - }; - - class HMMWV; - class ACE_BCS_HMMV_WOODLAND: HMMWV { - displayName = $STR_ACE_ARTY_COMPUTERS_BCS_HMMV_WOODLAND; - vehicleClass = "ACE_Arty_Equipment"; - class UserActions { - class useGyk37 { - displayName = $STR_ACE_ARTY_COMPUTERS_BCS_HMMV_USECOMP; - displayNameDefault = $STR_ACE_ARTY_COMPUTERS_BCS_HMMV_USECOMP; - priority = -10; - radius = 5; - position = "camera"; - showWindow = 0; - onlyForPlayer = 1; - shortcut = ""; - condition = "(player in this) && {alive this}"; - statement = "[this] call ace_sys_arty_computers_gyk37_fnc_startBCS"; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/cfgEventhandlers.hpp b/TO_MERGE/ace/arty_computers/cfgEventhandlers.hpp deleted file mode 100644 index feae0da8a0..0000000000 --- a/TO_MERGE/ace/arty_computers/cfgEventhandlers.hpp +++ /dev/null @@ -1,5 +0,0 @@ -// class Extended_PreInit_EventHandlers { - // class ADDON { - // init = QUOTE(call COMPILE_FILE(XEH_preinit)); - // }; -// }; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/config.cpp b/TO_MERGE/ace/arty_computers/config.cpp deleted file mode 100644 index e855bdb718..0000000000 --- a/TO_MERGE/ace/arty_computers/config.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"CAWeapons", "ace_sys_arty", "ace_main"}; - VERSION_CONFIG; - }; -}; - -PRELOAD_ADDONS; - -#include "CfgVehicles.hpp" diff --git a/TO_MERGE/ace/arty_computers/gyk-37/IDC.hpp b/TO_MERGE/ace/arty_computers/gyk-37/IDC.hpp deleted file mode 100644 index 00bf9a2cb7..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/IDC.hpp +++ /dev/null @@ -1,134 +0,0 @@ -//IDC.hpp - -#define MAIN_ID 1787 -#define MISSION_ID 1788 -#define ADJUST_ID 1789 -#define FFE_ID 1790 - -#define ACRE_CONTROLS 1791 - -#define MAIN_ID_GRID 1880 -#define MAIN_ID_POLAR 1881 -#define MAIN_ID_SHIFT 1882 -#define MAIN_ID_SUPR 1883 -#define MAIN_ID_SMOKE 1884 - -#define IDC_Main_BatteryNameInput 12666 -#define IDC_Main_FDCCallsignInput 12667 -#define IDC_Main_BatteryGridInput 12668 -#define IDC_Main_BatteryAltInput 12669 -#define IDC_Main_BatteryDOFInput 12670 -#define IDC_Main_TargetPrefix 12671 -#define IDC_Main_TargetNumStart 12672 -#define IDC_Main_BatteryType 12673 - -#define IDC_Mission_MissionGridGridInput 13600 -#define IDC_Mission_MissionGridAltInput 13601 - -#define IDC_Mission_MissionPolarObserverSelect 13602 -#define IDC_Mission_MissionPolarObserverInput 13603 -#define IDC_Mission_MissionPolarObserverPosInput 13604 -#define IDC_Mission_MissionPolarOTDirInput 13605 -#define IDC_Mission_MissionPolarRangeInput 13606 -#define IDC_Mission_MissionPolarObserverAltInput 13607 -#define IDC_Mission_MissionPolarAltDifInput 13670 - -#define IDC_Mission_MissionShiftKnowPointSelect 13608 -#define IDC_Mission_MissionShiftAddDropInput 13609 -#define IDC_Mission_MissionShiftLeftRightInput 13610 -#define IDC_Mission_MissionShiftOTDirInput 13611 -#define IDC_Mission_MissionShiftUpDownInput 13612 - -#define IDC_Mission_TargetDescInput 13613 -#define IDC_Mission_TargetRadiusWidthInput 13614 -#define IDC_Mission_TargetLengthInput 13615 -#define IDC_Mission_TargetAttitudeInput 13616 - -#define IDC_Mission_EngageDangerCloseInput 13617 -#define IDC_Mission_EngageAmmunitionTypeSelect 13619 -#define IDC_Mission_EngageFuzeTypeSelect 13620 -#define IDC_Mission_EngageFuzeTimeInput 13621 -#define IDC_Mission_EngageRoundCountInput 13622 -#define IDC_Mission_EngageSheafTypeSelect 13623 - -#define IDC_Mission_ControlMethodOfControlSelect 13624 -#define IDC_Mission_ControlTimeFromNowInput 13625 -#define IDC_Mission_ControlTimeClockInput 13626 - -#define IDC_Adjust_lowDeflectionDisplay 13627 -#define IDC_Adjust_lowElevationDisplay 13628 -#define IDC_Adjust_lowRoundCountDisplay 13629 -#define IDC_Adjust_lowAmmunitionDisplay 13630 -#define IDC_Adjust_lowFuzeDisplay 13631 -#define IDC_Adjust_lowMOCDisplay 13632 - -#define IDC_Adjust_highDeflectionDisplay 13633 -#define IDC_Adjust_highElevationDisplay 13634 -#define IDC_Adjust_highRoundCountDisplay 13635 -#define IDC_Adjust_highAmmunitionDisplay 13636 -#define IDC_Adjust_highFuzeDisplay 13637 -#define IDC_Adjust_highMOCDisplay 13638 - -#define IDC_Adjust_MTODisplay 13639 -#define IDC_Adjust_TTIDisplay 13640 -#define IDC_Adjust_AdjustObserverSelect 13641 -#define IDC_Adjust_AdjustObserver 13642 -#define IDC_Adjust_AdjustObserverPosInput 13643 -#define IDC_Adjust_AdjustObserverAltInput 13644 - -#define IDC_Adjust_AdjustOTDirInput 13645 -#define IDC_Adjust_AdjustLeftRightInput 13646 -#define IDC_Adjust_AdjustAddDropInput 13647 -#define IDC_Adjust_AdjustUpDownInput 13648 - -#define IDC_Adjust_AdjustAmmunitionTypeSelect 13649 -#define IDC_Adjust_AdjustFuzeTypeSelect 13650 -#define IDC_Adjust_AdjustFuzeTimeInput 13651 -#define IDC_Adjust_AdjustRoundCountInput 13652 -#define IDC_Adjust_AdjustSheafTypeSelect 13653 - -#define IDC_FFE_lowDeflectionDisplay 13654 -#define IDC_FFE_lowElevationDisplay 13655 -#define IDC_FFE_lowRoundCountDisplay 13656 -#define IDC_FFE_lowAmmunitionDisplay 13657 -#define IDC_FFE_lowFuzeDisplay 13658 -#define IDC_FFE_lowMOCDisplay 13659 - -#define IDC_FFE_highDeflectionDisplay 13660 -#define IDC_FFE_highElevationDisplay 13661 -#define IDC_FFE_highRoundCountDisplay 13662 -#define IDC_FFE_highAmmunitionDisplay 13663 -#define IDC_FFE_highFuzeDisplay 13664 -#define IDC_FFE_highMOCDisplay 13665 - -#define IDC_FFE_MTODisplayLow 13666 -#define IDC_FFE_TTIDisplay 13667 -#define IDC_FFE_BDAInput 13668 -#define IDC_Mission_EngageNotesInput 13669 - -#define IDC_FFE_highDisplay 13671 -#define IDC_FFE_lowDisplay 13672 -#define IDC_FFE_MTODisplayHigh 13673 - -#define IDC_Mission_EngageAdjustRoundCountInput 13674 -#define IDC_Mission_EngageAdjustPieceInput 13675 - -#define IDC_Main_ObserverSelect 13676 -#define IDC_Main_Observer 13677 -#define IDC_Main_ObserverPosInput 13678 -#define IDC_Main_ObserverAltInput 13679 - -#define IDC_Main_KnownPointSelect 13680 -#define IDC_Main_KnownPoint 13681 -#define IDC_Main_KnownPointPosInput 13682 -#define IDC_Main_KnownPointAltInput 13683 - -#define IDC_Adjust_lowDisplay 13684 -#define IDC_Adjust_highDisplay 13685 -#define IDC_Adjust_MTODisplayLow 13686 -#define IDC_Adjust_MTODisplayHigh 13687 - -#define IDC_FFE_Notes 13688 - -#define IDC_ACRE_RadioName 13689 -#define IDC_ACRE_RadioNet 13690 diff --git a/TO_MERGE/ace/arty_computers/gyk-37/XEH_post_init.sqf b/TO_MERGE/ace/arty_computers/gyk-37/XEH_post_init.sqf deleted file mode 100644 index f51d3dd629..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/XEH_post_init.sqf +++ /dev/null @@ -1,2 +0,0 @@ -//XEH_post_init.sqf -#include "script_component.hpp" diff --git a/TO_MERGE/ace/arty_computers/gyk-37/XEH_pre_init.sqf b/TO_MERGE/ace/arty_computers/gyk-37/XEH_pre_init.sqf deleted file mode 100644 index b7adb3f01a..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/XEH_pre_init.sqf +++ /dev/null @@ -1,67 +0,0 @@ -#include "script_component.hpp" -#define BCSVER QUOTE(0.1) -#define __arty_vec_lerp COMPILE_FILE2(\ca\modules\ARTY\data\scripts\ARTY_vec_lerp.sqf) - - - -ADDON = false; -// actual work goes here -PREP(startBCS); -PREP(calcBallistics); -PREP(calcFiringSolution); -PREP(getBTable); -PREP(firingSolution); -PREP(formattedBTab); -PREP(switchMenu); -PREP(bcsUnload); -PREP(bcsLoad); -PREP(startMission); -PREP(parseGrid); -PREP(doCompute); -PREP(validateData); -PREP(validateTextField); -PREP(generateSolutions); -PREP(doFFE); -PREP(initMainScreen); -PREP(initMissionScreen); -PREP(populateObserverList); -PREP(returnMainScreen); -PREP(ammoSelectChange); -PREP(setFuzeSelection); -PREP(setFuzeSelectionMission); -PREP(loopRestoreControls); -PREP(bcsLog); -PREP(bcsLogWarn); -PREP(bcsLogError); -PREP(loopSaveControls); -PREP(ffeBack); -PREP(formatFireCommands); -PREP(modifyObserver); -PREP(simpleBallistics); -PREP(populateKnownPointList); -PREP(selectObserver); -PREP(selectKnownPoint); -PREP(modifyKnownPoint); -PREP(loopResetControls); -PREP(callShot); -PREP(doAdjustment); -PREP(initAdjust); -PREP(doComputeAdjust); -PREP(endMission); -PREP(openMap); -PREP(adjustBack); -PREP(cycleRadio); -PREP(openRadio); - - -BIS_ARTY_VEC_LERP = __arty_vec_lerp; -GVAR(currentState) = []; -GVAR(currentScreen) = MAIN_ID; -GVAR(validateError) = false; -GVAR(missionCount) = 0; -GVAR(adjustCount) = 0; -GVAR(missionComputed) = false; -GVAR(openingMap) = false; -GVAR(countDown) = false; - -ADDON = true; diff --git a/TO_MERGE/ace/arty_computers/gyk-37/acre_controls.hpp b/TO_MERGE/ace/arty_computers/gyk-37/acre_controls.hpp deleted file mode 100644 index b46b8c92fb..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/acre_controls.hpp +++ /dev/null @@ -1,94 +0,0 @@ -//acre_controls.hpp -#define RGB_GREEN 0, 0.5, 0, 1 -#define RGB_BLUE 0, 0, 1, 1 -#define RGB_ORANGE 0.5, 0.5, 0, 1 -#define RGB_RED 1, 0, 0, 1 -#define RGB_YELLOW 1, 1, 0, 1 -#define RGB_WHITE 1, 1, 1, 1 -#define RGB_GRAY 0.5, 0.5, 0.5, 1 -#define RGB_BLACK 0, 0, 0, 1 -#define RGB_MAROON 0.5, 0, 0, 1 -#define RGB_OLIVE 0.5, 0.5, 0, 1 -#define RGB_NAVY 0, 0, 0.5, 1 -#define RGB_PURPLE 0.5, 0, 0.5, 1 -#define RGB_FUCHSIA 1, 0, 1, 1 -#define RGB_AQUA 0, 1, 1, 1 -#define RGB_TEAL 0, 0.5, 0.5, 1 -#define RGB_LIME 0, 1, 0, 1 -#define RGB_SILVER 0.75, 0.75, 0.75, 1 - -class ace_arty_bcs_acre_controls:ace_arty_bcs_ControlGroup { - idc = ACRE_CONTROLS; - __SX(0.815); - __SY(0.3); - h = ROWPOS(10.1); - w = COLPOS(5.1); - class controls { - class GVAR(CycleDialogBackgroundYellow) { - idc = -1; - type = CT_STATIC; // defined constant - style = ST_CENTER; // defined constant - colorText[] = { 0, 0, 0, 1 }; - colorBackground[] = { RGB_YELLOW }; - font = FontM; // defined constant - sizeEx = 0.023; - x = 0; - y = 0; - h = ROWPOS(10.07); - w = COLPOS(5.12); - text = ""; - }; - class GVAR(CycleDialogBackgroundBlack) { - idc = -1; - type = CT_STATIC; // defined constant - style = ST_CENTER; // defined constant - colorText[] = { 0, 0, 0, 1 }; - colorBackground[] = { RGB_BLACK }; - font = FontM; // defined constant - sizeEx = 0.023; - x = COLPOS(0.05); - y = ROWPOS(0.05); - h = ROWPOS(10); - w = COLPOS(5); - text = ""; - }; - class GVAR(acreControls):ace_arty_bcs_RscText { - text = "ACRE CONTROLS"; - colorText[] = { RGB_YELLOW }; - x = COLPOS(0.05); - y = ROWPOS(0.05); - }; - class GVAR(acreRadio):ace_arty_bcs_RscText { - idc = IDC_ACRE_RadioName; - text = ""; - colorText[] = { RGB_YELLOW }; - x = COLPOS(0.05); - y = ROWPOS(1.05); - }; - class GVAR(acreRadioNet):ace_arty_bcs_RscText { - idc = IDC_ACRE_RadioNet; - text = ""; - colorText[] = { RGB_YELLOW }; - x = COLPOS(0.05); - y = ROWPOS(2.05); - }; - class GVAR(acreCycle):ace_arty_bcs_RscButton { - text = "Cycle"; - x = COLPOS(0.05); - y = ROWPOS(4.05); - w = COLPOS(5); - h = ROWPOS(2); - colorText[] = { RGB_YELLOW }; - action = QUOTE([] call FUNC(cycleRadio)); - }; - class GVAR(acreOpen):ace_arty_bcs_RscButton { - text = "Open"; - x = COLPOS(0.05); - y = ROWPOS(7.05); - w = COLPOS(5); - h = ROWPOS(2); - colorText[] = { RGB_YELLOW }; - action = QUOTE([] call FUNC(openRadio)); - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/adjust.hpp b/TO_MERGE/ace/arty_computers/gyk-37/adjust.hpp deleted file mode 100644 index 2dcdb0133d..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/adjust.hpp +++ /dev/null @@ -1,340 +0,0 @@ -class ace_arty_bcs_adjust:ace_arty_bcs_ControlGroup { - idc = ADJUST_ID; - class controls { - class GVAR(welcome):ace_arty_bcs_RscText { - text = "AN/GYK-37 Battery Computer System (BCS)"; - x = 0; - y = ROWPOS(0); - }; - - class GVAR(batteryInformation):ace_arty_bcs_RscText { - text = "BATTERY INFORMATION"; - x = 0; - y = ROWPOS(1); - }; - - class GVAR(LowSolutionDisplay):ace_arty_bcs_RscText { - idc = IDC_Adjust_lowDisplay; - style = ST_MULTI; - text = "low low low low"; - x = COLPOS(1); - y = ROWPOS(2); - w = COLPOS(18); - h = COLPOS(1.2); - }; - - class GVAR(adjustSolutionUp):ace_arty_bcs_RscButton { - text = "PREV."; - x = COLPOS(1); - y = ROWPOS(4); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_2(-1,true)] call FUNC(changeSolution)); - }; - - class GVAR(adjustSolutionDown):ace_arty_bcs_RscButton { - text = "NEXT"; - x = COLPOS(4); - y = ROWPOS(4); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_2(1,true)] call FUNC(changeSolution)); - }; - - // MESSAGE TO OBSERVER - class GVAR(MTOlow):ace_arty_bcs_RscText { - text = "MESSAGE TO OBSERVER"; - x = COLPOS(0); - y = ROWPOS(5); - w = COLPOS(5); - }; - class GVAR(MTODisplayLow):ace_arty_bcs_RscText { - idc = IDC_Adjust_MTODisplayLow; - style = ST_MULTI; - text = "Message to Observer Message Goes Here Noobs"; - x = COLPOS(1); - y = ROWPOS(6); - w = COLPOS(18); - h = COLPOS(.75); - }; - - class GVAR(TTIShotLow):ace_arty_bcs_RscButton { - text = "SHOT"; - x = COLPOS(1); - y = ROWPOS(9); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_2(0,IDC_Adjust_TTIDisplay)] call FUNC(callShot)); - }; - - class GVAR(TTI):ace_arty_bcs_RscText { - text = "TTI:"; - x = COLPOS(7); - y = ROWPOS(9); - w = COLPOS(2); - }; - class GVAR(TTIDisplay):ace_arty_bcs_RscText { - idc = IDC_Adjust_TTIDisplay; - text = "00.0"; - x = COLPOS(8); - y = ROWPOS(9); - w = COLPOS(2); - }; - - // ADJUST - class GVAR(Adjust):ace_arty_bcs_RscText { - text = "ADJUST"; - x = COLPOS(0); - y = ROWPOS(15); - w = COLPOS(5); - }; - /* - class GVAR(AdjustObserverSelect):ace_arty_bcs_RscText { - text = "Select:"; - x = COLPOS(1); - y = ROWPOS(16); - w = COLPOS(2); - }; - class GVAR(AdjustObserverSelectInput):ace_arty_bcs_RscComboBox { - idc = IDC_Adjust_AdjustObserverSelect; - x = COLPOS(4); - y = ROWPOS(16); - w = COLPOS(5); - h = ROWPOS(1); - onLBSelChanged = QUOTE([ARR_4(IDC_Adjust_AdjustObserverSelect,IDC_Adjust_AdjustObserver,IDC_Adjust_AdjustObserverPosInput,IDC_Adjust_AdjustObserverAltInput)] call FUNC(selectObserver)); - }; - - // Observer Callsign - class GVAR(AdjustObserver):ace_arty_bcs_RscText { - text = "Observer:"; - x = COLPOS(1); - y = ROWPOS(17); - w = COLPOS(2); - }; - class GVAR(AdjustObserverInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustObserver; - x = COLPOS(4); - y = ROWPOS(17); - w = COLPOS(2); - }; - - // Observer Pos - class GVAR(AdjustObserverPos):ace_arty_bcs_RscText { - text = "Observer Pos.:"; - x = COLPOS(1); - y = ROWPOS(18); - w = COLPOS(3); - }; - class GVAR(AdjustObserverPosInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustObserverPosInput; - x = COLPOS(4); - y = ROWPOS(18); - w = COLPOS(2); - }; - - // Observer Alt - class GVAR(AdjustObserverAlt):ace_arty_bcs_RscText { - text = "Observer Alt.:"; - x = COLPOS(1); - y = ROWPOS(19); - w = COLPOS(3); - }; - class GVAR(AdjustObserverAltInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustObserverAltInput; - x = COLPOS(4); - y = ROWPOS(19); - w = COLPOS(2); - }; - - class GVAR(AdjustUpdateAddObserver):ace_arty_bcs_RscButton { - text = "Add/Update"; - x = COLPOS(7); - y = ROWPOS(19); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_5(IDC_Adjust_AdjustObserverSelect,IDC_Adjust_AdjustObserver,IDC_Adjust_AdjustObserverPosInput,IDC_Adjust_AdjustObserverAltInput,true)] call FUNC(modifyObserver)); - }; - */ - class GVAR(AdjustOTDir):ace_arty_bcs_RscText { - text = "OT. Dir:"; - x = COLPOS(1); - y = ROWPOS(16); - w = COLPOS(2); - }; - class GVAR(AdjustOTDirInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustOTDirInput; - x = COLPOS(4); - y = ROWPOS(16); - w = COLPOS(2); - ACE_BCS_InputName = "Observer Target Direction"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - ACE_BCS_MinNumber = 0; - ACE_BCS_MaxNumber = 6400; - }; - - // Left/Right - class GVAR(AdjustLeftRight):ace_arty_bcs_RscText { - text = "Left/Right:"; - x = COLPOS(1); - y = ROWPOS(17); - w = COLPOS(2); - }; - class GVAR(AdjustLeftRightInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustLeftRightInput; - x = COLPOS(4); - y = ROWPOS(17); - w = COLPOS(2); - text = "0"; - ACE_BCS_InputName = "Adjust left/Right"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Add/Drop - class GVAR(AdjustAddDrop):ace_arty_bcs_RscText { - text = "Add/Drop:"; - x = COLPOS(1); - y = ROWPOS(18); - w = COLPOS(2); - }; - class GVAR(AdjustAddDropInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustAddDropInput; - x = COLPOS(4); - y = ROWPOS(18); - w = COLPOS(2); - text = "0"; - ACE_BCS_InputName = "Adjust Add/Drop"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Up/Down - class GVAR(AdjustUpDown):ace_arty_bcs_RscText { - text = "Up/Down:"; - x = COLPOS(1); - y = ROWPOS(19); - w = COLPOS(2); - }; - class GVAR(AdjustUpDownInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustUpDownInput; - x = COLPOS(4); - y = ROWPOS(19); - w = COLPOS(2); - text = "0"; - ACE_BCS_InputName = "Adjust Up/Down"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - /* - class GVAR(AdjustAmmo):ace_arty_bcs_RscText { - text = "ADJUST AMMO"; - x = COLPOS(10); - y = ROWPOS(15); - w = COLPOS(5); - }; - - // Ammo Type - class GVAR(AdjustAmmunitionType):ace_arty_bcs_RscText { - text = "Ammunition:"; - x = COLPOS(11); - y = ROWPOS(16); - w = COLPOS(3); - }; - class GVAR(AdjustAmmunitionTypeInput):ace_arty_bcs_RscComboBox { - idc = IDC_Adjust_AdjustAmmunitionTypeSelect; - x = COLPOS(14); - y = ROWPOS(16); - w = COLPOS(5); - h = ROWPOS(1); - }; - - // Fuze Type - class GVAR(AdjustFuzeType):ace_arty_bcs_RscText { - text = "Fuze:"; - x = COLPOS(11); - y = ROWPOS(17); - w = COLPOS(3); - }; - class GVAR(AdjustFuzeTypeInput):ace_arty_bcs_RscComboBox { - idc = IDC_Adjust_AdjustFuzeTypeSelect; - x = COLPOS(14); - y = ROWPOS(17); - w = COLPOS(5); - h = ROWPOS(1); - }; - - // Fuze Time - class GVAR(AdjustFuzeTime):ace_arty_bcs_RscText { - text = "Fuze-Time:"; - x = COLPOS(11); - y = ROWPOS(18); - w = COLPOS(3); - }; - class GVAR(AdjustFuzeTimeInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustFuzeTimeInput; - x = COLPOS(14); - y = ROWPOS(18); - w = COLPOS(2); - }; - - // Round Count - class GVAR(AdjustRoundCount):ace_arty_bcs_RscText { - text = "Round Count:"; - x = COLPOS(11); - y = ROWPOS(19); - w = COLPOS(3); - }; - class GVAR(AdjustRoundCountInput):ace_arty_bcs_RscTextBox { - idc = IDC_Adjust_AdjustRoundCountInput; - x = COLPOS(14); - y = ROWPOS(19); - w = COLPOS(2); - }; - - // Sheaf - class GVAR(AdjustSheafType):ace_arty_bcs_RscText { - text = "Sheaf:"; - x = COLPOS(11); - y = ROWPOS(20); - w = COLPOS(3); - }; - class GVAR(AdjustSheafTypeInput):ace_arty_bcs_RscComboBox { - idc = IDC_Adjust_AdjustSheafTypeSelect; - x = COLPOS(14); - y = ROWPOS(20); - w = COLPOS(5); - h = ROWPOS(1); - };*/ - - class GVAR(AdjustFFEButton):ace_arty_bcs_RscButton { - text = "FFE"; - x = COLPOS(16); - y = ROWPOS(23); - w = COLPOS(3); - h = ROWPOS(2); - colorBackground[] = {1, 0, 0, 1}; - action = QUOTE([1] call FUNC(doComputeAdjust)); - }; - - class GVAR(AdjustAdjustButton):ace_arty_bcs_RscButton { - text = "ADJUST"; - x = COLPOS(12); - y = ROWPOS(23); - w = COLPOS(3); - h = ROWPOS(2); - action = QUOTE([0] call FUNC(doComputeAdjust)); - }; - - class GVAR(AdjustBackButton):ace_arty_bcs_RscButton { - text = "BACK"; - x = COLPOS(8); - y = ROWPOS(23); - w = COLPOS(3); - h = ROWPOS(2); - action = QUOTE([] call FUNC(adjustBack)); - }; - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/cfgEventhandlers.hpp b/TO_MERGE/ace/arty_computers/gyk-37/cfgEventhandlers.hpp deleted file mode 100644 index 6647a6e8d5..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/cfgEventhandlers.hpp +++ /dev/null @@ -1,5 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE2(\x\ace\addons\sys_arty_computers\gyk-37\XEH_pre_init.sqf)); - }; -}; diff --git a/TO_MERGE/ace/arty_computers/gyk-37/config.cpp b/TO_MERGE/ace/arty_computers/gyk-37/config.cpp deleted file mode 100644 index 9d9a7c2c19..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/config.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"CAWeapons", "ace_main", "ace_sys_arty"}; - VERSION_CONFIG; - }; -}; - -#include "cfgEventhandlers.hpp" -#include "dialogs.hpp" diff --git a/TO_MERGE/ace/arty_computers/gyk-37/data/BCS_FDC.paa b/TO_MERGE/ace/arty_computers/gyk-37/data/BCS_FDC.paa deleted file mode 100644 index 8e015d826a..0000000000 Binary files a/TO_MERGE/ace/arty_computers/gyk-37/data/BCS_FDC.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_computers/gyk-37/dialogs.hpp b/TO_MERGE/ace/arty_computers/gyk-37/dialogs.hpp deleted file mode 100644 index 9cb52a75a3..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/dialogs.hpp +++ /dev/null @@ -1,322 +0,0 @@ -#include "script_component.hpp" -#include "\x\ace\addons\main\script_dialog_defines.hpp" -#define FontM "Zeppelin32" -#define ClrWhite 1,1,1 -#define ClrBlack 0,0,0 -#define ClrGray 0.5,0.5,0.5 -#define ClrBlue 0.2,0.5,1 - - - - - -#define ROWPOS(y) ((0.016*y)*SafeZoneW) -#define COLPOS(x) ((0.029075*x)*SafeZoneW) - -#define __SX(var1) x = QUOTE((var1 * safeZoneW) + safeZoneX) -#define __SY(var1) y = QUOTE((var1 * safeZoneW) + safeZoneY) -#define __SW(var1) w = QUOTE(var1 * safeZoneW) -#define __SH(var1) h = QUOTE(var1 * safeZoneW) - -#define BGSIZEH 0.976 -#define BGSIZEW 0.81 -#define CGSIZE 0.59 - -#include "IDC.hpp" - -class ace_arty_bcs_RscText -{ - idc = -1; - type = CT_STATIC; - style = ST_LEFT; - font = FontM; - colorText[] = {1,1,1,1}; - colorBackground[] = {0, 0, 0, 0}; - sizeEx = 0.012*SafeZoneW; - w = COLPOS(5); - h = ROWPOS(0.8); - lineSpacing = 1; -}; - -class ace_arty_bcs_RscTextBox -{ - idc = -1; - type = CT_EDIT; - style = ST_LEFT; - w = COLPOS(5); - h = ROWPOS(0.8); - sizeEx = .02; - font = FontM; - - text = ""; - colorText[] = {1,1,1,1}; - - autocomplete = false; - colorSelection[] = {0.5,0.5,0.5,1}; -}; - -class ace_arty_bcs_RscButton -{ - type = CT_BUTTON; - idc = -1; - style = ST_CENTER; - - x = 0.0; - y = 0.0; - w = COLPOS(5); - h = ROWPOS(0.8); - sizeEx = 0.012*SafeZoneW; - offsetX = 0; - offsetY = 0.002; - offsetPressedX = 0; - offsetPressedY = 0.002; - borderSize = 0; - - - - colorText[] = {ClrWhite,1}; - colorBackground[] = {ClrGray, 0.75}; - colorFocused[] = {ClrGray,0}; - - colorShadow[] = {ClrBlack,0}; - colorBorder[] = {ClrWhite,0}; - colorBackgroundActive[] = {ClrGray,0}; - colorDisabled[] = {ClrGray, 0}; - colorBackgroundDisabled[] = {ClrGray,0}; - font = FontM; - - soundEnter[] = {"", 0.2, 1}; - soundPush[] = {"", 0.2, 1}; - soundClick[] = {"", 0.2, 1}; - soundEscape[] = {"", 0.2, 1}; - - default = false; - text = ""; - action = ""; -}; -class RscListNBox; -class ace_arty_bcs_RscListNBox: RscListNBox -{ - type = 102; - idc = -1; - style = ST_SINGLE; - color[] = {1,1,1,1}; - colorText[] = {1,1,1,0.75}; - colorScrollbar[] = {0.95,0.95,0.95,1}; - colorSelect[] = {0.95,0.95,0.95,1}; - colorSelect2[] = {0.95,0.95,0.95,1}; - colorSelectBackground[] = {0.6,0.8392,0.4706,1.0}; - colorSelectBackground2[] = {0.6,0.8392,0.4706,1.0}; - period = 0; - font = FontM; - sizeEx = 0.012*SafeZoneW; - colorBackground[] = {1,0,0,1}; - columns[] = {0.1,0.7}; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - rowHeight = ROWPOS(1); - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - maxHistoryDelay = 0; - drawSideArrows = 0; - idcLeft = 10001; - idcRight = 10002; - class ScrollBar - { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; -}; - -class ace_arty_bcs_RscComboBox { - type = 4; - style = "0 + 0x10"; - font = FontM; - sizeEx = 0.012*SafeZoneW; - color[] = {1,1,1,1 }; - colorText[] = {1,1,1,1 }; - colorScrollbar[] = {1,1,1,1 }; - colorSelect[] = {1,0,1,1 }; - colorSelect2[] = {1,1,0,1 }; - colorSelectBackground[] = {0,0,0,1 }; - colorSelectBackground2[] = {1,1,1,1 }; - period = 1.200000; - colorBackground[] = {0,0,0,1 }; - maxHistoryDelay = 1.000000; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - wholeHeight = ROWPOS(4.1); - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - class ScrollBar { - color[] = {0,1,0,1 }; - colorActive[] = {1,1,1,1 }; - colorDisabled[] = {1,1,1,0.300000 }; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; -}; - -class ace_arty_bcs_RscListBox : ace_arty_bcs_RscComboBox { - type = 5; - rowHeight = ROWPOS(1); -}; - -class ace_arty_bcs_CheckBox { - idc = -1; - type = CT_TOOLBOX; //defined constant (6) - style = ST_LEFT; //defined constant (2) - - x = 0; - y = 0; - w = COLPOS(2); - h = ROWPOS(0.8); - - colorText[] = {1, 1, 1, 1}; - color[] = {0, 0, 0, 1}; // seems nothing to change, but define it to avoid error! - colorTextSelect[] = {1, 0, 0, 1}; - colorSelect[] = {0, 0, 1, 1}; - colorTextDisable[] = {0.4, 0.4, 0.4, 1}; - colorDisable[] = {0.4, 0.4, 0.4, 1}; - coloSelectedBg[] = {0.4, 0.4, 0.4, 1}; - font = FontM; - sizeEx = 0.012*SafeZoneW; - - rows = 1; - columns = 2; - strings[] = {"No","Yes"}; - values[] = {0,1}; -}; - -class ace_arty_bcs_RscPicture : ace_arty_bcs_RscButton -{ - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - text = ""; -}; -class RscControlsGroup; -class ace_arty_bcs_ControlGroup:RscControlsGroup { - type = 15; - idc = -1; - style = 16; - x = 0.5-((CGSIZE/2)*SafeZoneW); - y = 0.5-(((CGSIZE/2)-0.05)*SafeZoneW); - w = (CGSIZE*SafeZoneW); - h = (CGSIZE*SafeZoneW); - class VScrollbar - { - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - color[] = {1,1,1,1}; - width = 0.001; - }; - class HScrollbar - { - color[] = {1,1,1,0}; - height = 0.001; - }; - class ScrollBar - { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; - class controls { }; -}; - -class ace_arty_bcs_Display { - idd = 754; - movingEnable = 0; - name = "ace_arty_bcs_Display"; - onload = QUOTE([] call FUNC(bcsLoad)); - onUnload = QUOTE([] call FUNC(bcsUnload)); - - class controlsBackground { - class ace_arty_bcs_Background { - idc = -1; - access = 0; - type = CT_STATIC; // defined constant - colorText[] = { 1, 1, 1, 1 }; - colorBackground[] = {0, 0, 0, 0 }; - font = FontM; // defined constant - sizeEx = 1*SafeZoneW; - x = 0.5-((BGSIZEW/2)*SafeZoneW); - y = 0.5-((BGSIZEH/2)*SafeZoneW); - w = (BGSIZEW*SafeZoneW); - h = (BGSIZEH*SafeZoneW); - style = ST_PICTURE; - text = "\x\ace\addons\sys_arty_computers\gyk-37\data\BCS_FDC.paa"; - }; - }; - class objects { - // define controls here - }; - class controls { - - - #include "main.hpp" - #include "mission.hpp" - #include "adjust.hpp" - #include "ffe.hpp" - - - - - class GVAR(log) : ace_arty_bcs_RscListBox { - idc = 10021; - __SX(0.208); - __SY(0.72); - __SW(0.5815); - __SH(0.09); - rowHeight = ROWPOS(0.75); - colorBackground[] = {0,1,0,1 }; - colorText[] = {1,1,1,1 }; - colorScrollbar[] = {1,1,1,1 }; - colorSelect[] = {1,1,1,1 }; - colorSelect2[] = {1,1,1,1 }; - colorSelectBackground[] = {0,0,0,1 }; - colorSelectBackground2[] = {0,0,0,1 }; - }; - - class GVAR(logDivideBar) : ace_arty_bcs_RscText { - text = ""; - __SX(0.208); - __SY(0.715); - __SW(0.5815); - __SH(0.0025); - colorBackground[] = {1,1,1,1}; - }; - - class GVAR(showMapButton): ace_arty_bcs_RscButton { - __SX(0.815); - __SY(0.8); - h = ROWPOS(2); - w = COLPOS(3); - text = "Open Map"; - action = QUOTE([] call FUNC(openMap)); - }; - - #include "acre_controls.hpp" - }; -}; - - diff --git a/TO_MERGE/ace/arty_computers/gyk-37/ffe.hpp b/TO_MERGE/ace/arty_computers/gyk-37/ffe.hpp deleted file mode 100644 index 170d3b19f5..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/ffe.hpp +++ /dev/null @@ -1,137 +0,0 @@ -class ace_arty_bcs_ffe:ace_arty_bcs_ControlGroup { - idc = FFE_ID; - class controls { - class GVAR(welcome):ace_arty_bcs_RscText { - text = "AN/GYK-37 Battery Computer System (BCS)"; - x = 0; - y = ROWPOS(0); - }; - - class GVAR(batteryInformation):ace_arty_bcs_RscText { - text = "BATTERY INFORMATION"; - x = 0; - y = ROWPOS(1); - }; - - class GVAR(LowSolutionDisplay):ace_arty_bcs_RscText { - idc = IDC_FFE_lowDisplay; - style = ST_MULTI; - text = "low low low low"; - x = COLPOS(1); - y = ROWPOS(2); - w = COLPOS(18); - h = COLPOS(1.2); - }; - - class GVAR(SolutionUp):ace_arty_bcs_RscButton { - text = "PREV."; - x = COLPOS(1); - y = ROWPOS(4); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_2(-1,false)] call FUNC(changeSolution)); - }; - - class GVAR(SolutionDown):ace_arty_bcs_RscButton { - text = "NEXT"; - x = COLPOS(4); - y = ROWPOS(4); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_2(1,false)] call FUNC(changeSolution)); - }; - - // MESSAGE TO OBSERVER - class GVAR(MTOlow):ace_arty_bcs_RscText { - text = "MESSAGE TO OBSERVER"; - x = COLPOS(0); - y = ROWPOS(5); - w = COLPOS(5); - }; - - class GVAR(MTODisplayLow):ace_arty_bcs_RscText { - idc = IDC_FFE_MTODisplayLow; - style = ST_MULTI; - text = "Message to Observer Message Goes Here Noobs"; - x = COLPOS(1); - y = ROWPOS(6); - w = COLPOS(18); - h = COLPOS(.75); - }; - - class GVAR(TTIShotLow):ace_arty_bcs_RscButton { - text = "SHOT"; - x = COLPOS(1); - y = ROWPOS(9); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_2(0,IDC_FFE_TTIDisplay)] call FUNC(callShot)); - }; - - class GVAR(TTI):ace_arty_bcs_RscText { - text = "TTI:"; - x = COLPOS(7); - y = ROWPOS(9); - w = COLPOS(1); - }; - class GVAR(TTIDisplay):ace_arty_bcs_RscText { - idc = IDC_FFE_TTIDisplay; - text = "00.0"; - x = COLPOS(8); - y = ROWPOS(9); - w = COLPOS(2); - }; - - // ADJUST - class GVAR(BDA):ace_arty_bcs_RscText { - text = "BATTLE DAMAGE ASSESSMENT"; - x = COLPOS(0); - y = ROWPOS(15); - w = COLPOS(5); - }; - - class GVAR(BDAInput):ace_arty_bcs_RscTextBox { - idc = IDC_FFE_BDAInput; - style = ST_MULTI; - x = COLPOS(1); - y = ROWPOS(16); - w = COLPOS(18); - h = ROWPOS(3); - }; - - class GVAR(Adjust):ace_arty_bcs_RscText { - text = "NOTES"; - x = COLPOS(0); - y = ROWPOS(19); - w = COLPOS(5); - }; - - class GVAR(EngageNotesInput):ace_arty_bcs_RscTextBox { - idc = IDC_FFE_Notes; - style = ST_MULTI; - x = COLPOS(1); - y = ROWPOS(20); - w = COLPOS(18); - h = ROWPOS(2); - }; - - class GVAR(CloseMissionButton):ace_arty_bcs_RscButton { - text = "CLOSE MISSION"; - x = COLPOS(16); - y = ROWPOS(23); - w = COLPOS(3); - h = ROWPOS(2); - action = QUOTE([] call FUNC(endMission)); - }; - - class GVAR(FFEBackButton):ace_arty_bcs_RscButton { - text = "BACK"; - x = COLPOS(1); - y = ROWPOS(23); - w = COLPOS(3); - h = ROWPOS(2); - action = QUOTE([] call FUNC(ffeBack)); - }; - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_adjustBack.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_adjustBack.sqf deleted file mode 100644 index 47a16047ac..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_adjustBack.sqf +++ /dev/null @@ -1,7 +0,0 @@ -//fnc_adjustBack.sqf -#include "script_component.hpp" -[MISSION_ID] call FUNC(switchMenu); -_missionType = GVAR(currentComputer) getVariable QGVAR(currentMissionType); -(_missionType select 0) call FUNC(initMissionScreen); -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_mission" >> "controls"; -[_controls, GVAR(lastPage)] call FUNC(loopRestoreControls); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_ammoSelectChange.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_ammoSelectChange.sqf deleted file mode 100644 index 6fa736a72f..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_ammoSelectChange.sqf +++ /dev/null @@ -1,6 +0,0 @@ -//fnc_ammoSelectChange.sqf -#include "script_component.hpp" - -_index = _this select 1; -_data = lbData [IDC_Mission_EngageAmmunitionTypeSelect, _index]; -[_data, ""] call FUNC(setFuzeSelection); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLoad.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLoad.sqf deleted file mode 100644 index b3ec1bac2c..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLoad.sqf +++ /dev/null @@ -1,165 +0,0 @@ -//fnc_bcsLoad.sqf -#include "script_component.hpp" - -/* -PREP(calcBallistics); -PREP(calcFiringSolution); -PREP(getBTable); -PREP(firingSolution); -PREP(formattedBTab); -PREP(switchMenu); -PREP(bcsUnload); -PREP(bcsLoad); -PREP(startMission); -PREP(parseGrid); -PREP(doCompute); -PREP(validateData); -PREP(validateTextField); -PREP(generateSolutions); -PREP(doFFE); -PREP(initMainScreen); -PREP(initMissionScreen); -PREP(populateObserverList); -PREP(returnMainScreen); -PREP(ammoSelectChange); -PREP(setFuzeSelection); -PREP(setFuzeSelectionMission); -PREP(loopRestoreControls); -PREP(bcsLog); -PREP(bcsLogWarn); -PREP(bcsLogError); -PREP(loopSaveControls); -PREP(ffeBack); -PREP(modifyObserver); -PREP(simpleBallistics); -PREP(populateKnownPointList); -PREP(selectObserver); -PREP(selectKnownPoint); -PREP(modifyKnownPoint); -PREP(loopResetControls); -PREP(callShot); -PREP(doAdjustment); -PREP(initAdjust); -PREP(doComputeAdjust); -PREP(endMission); -PREP(openMap); -PREP(adjustBack); -PREP(formatFireCommands); -*/ -FUNC(changeSolution) = { - _dir = _this select 0; - _isAdjust = _this select 1; - - _solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; - _solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; - - _solutionsIndexNew = ((_solutionsIndex + _dir) max 0) min ((count _solutions)-1); - GVAR(currentComputer) setVariable [QGVAR(currentSolutionsIndex),_solutionsIndexNew,true]; - if(_solutionsIndexNew != _solutionsIndex) then { - _textLog = format["Selecting solution %1 of %2.", _solutionsIndexNew+1, (count _solutions)]; - BCSLOG(_textLog); - }; - if(_isAdjust) then { - [] call FUNC(doAdjustment); - } else { - [] call FUNC(doFFE); - }; - -}; - - -[] spawn { - waitUntil { - !(isNull (findDisplay 754)) - }; - waitUntil { - !isNil QGVAR(currentComputer) - }; - GVAR(currentScreen) = GVAR(currentComputer) getVariable[QGVAR(currentScreen), MAIN_ID]; - GVAR(lastPage) = GVAR(currentComputer) getVariable[QGVAR(lastPage), [[],[],0]]; - GVAR(missionCount) = GVAR(currentComputer) getVariable[QGVAR(missionCount), 0]; - GVAR(adjustCount) = GVAR(currentComputer) getVariable[QGVAR(adjustCount), 0]; - GVAR(currentState) = GVAR(currentComputer) getVariable [QGVAR(currentState), [[],[],0]]; - - - [GVAR(currentScreen)] call FUNC(switchMenu); - _batteryData = GVAR(currentComputer) getVariable [QGVAR(batteryData), []]; - _logData = GVAR(currentComputer) getVariable [QGVAR(logData), []]; - - _controls = configNamespace >> "ace_arty_bcs_Display" >> "controls"; - switch(GVAR(currentScreen)) do { - case MAIN_ID: { - _controls = _controls >> "ace_arty_bcs_main"; - [] call FUNC(initMainScreen); - }; - case MISSION_ID: { - _controls = _controls >> "ace_arty_bcs_mission"; - _currentMission = GVAR(currentComputer) getVariable QGVAR(currentMissionType); - (_currentMission select 0) call FUNC(initMissionScreen); - }; - case ADJUST_ID: { - _controls = _controls >> "ace_arty_bcs_adjust"; - }; - case FFE_ID: { - _controls = _controls >> "ace_arty_bcs_ffe"; - }; - }; - _controls = _controls >> "controls"; - - if(count(_logData) == 0) then { - BCSLOG("Initializing BCS v." + BCSVER + " Software"); - if(count(_batteryData) == 0) then { - BCSWARN("Battery data is not initialized!"); - }; - } else { - { - [_x] call FUNC(bcsLog); - } forEach _logData; - - if((count GVAR(currentState)) > 1) then { - [_controls] call FUNC(loopRestoreControls); - }; - }; - - if((isClass(configFile >> "CfgPatches" >> "acre_main"))) then { - ctrlShow [ACRE_CONTROLS, true]; - _activeRadio = player getVariable "acre_active_radio"; - - _oblix = [_activeRadio] call acre_sys_radio_fnc_getRadioState; - - _freq = ((_oblix select 0) select 0); - - _baseConfig = inheritsFrom (configFile >> "CfgWeapons" >> _activeRadio); - _realRadio = configName ( _baseConfig ); - _typeName = getText (configFile >> "CfgAcreRadios" >> _realRadio >> "name"); - - ctrlSetText [IDC_ACRE_RadioName, _typeName]; - ctrlSetText [IDC_ACRE_RadioNet, format["%1MHz", _freq]]; - } else { - ctrlShow [ACRE_CONTROLS, false]; - }; - [] spawn { - _startTime = time; - _xSpeed = 0; - _ySpeed = 0; - _sampleSize = 0; - waitUntil { - _wind = ACE_wind; - _xSpeed = _xSpeed + (_wind select 0); - _ySpeed = _ySpeed + (_wind select 1); - _sampleSize = _sampleSize + 1; - if(time - _startTime > 15) then { - GVAR(averageWind) = [_xSpeed/_sampleSize, _ySpeed/_sampleSize, 0]; - _xSpeed = 0; - _ySpeed = 0; - _sampleSize = 0; - _startTime = time; - _p = GVAR(averageWind) call CBA_fnc_vect2polar; - _logTxt = format["Average wind last 15 secs: %1m/s at %2 degrees", (_p select 0), (_p select 1)]; - //BCSLOG(_logTxt); - }; - sleep 0.25; - (isNil QGVAR(currentComputer)) - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLog.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLog.sqf deleted file mode 100644 index b7faa56fb5..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLog.sqf +++ /dev/null @@ -1,25 +0,0 @@ -//fnc_bcsLog.sqf -#include "script_component.hpp" -disableSerialization; -_logText = ""; -_refill = false; -if(IS_ARRAY(_this)) then { - _logText = _this select 0; - _refill = true; -} else { - _logText = _this; -}; -_log = ""; -if(!_refill) then { - _dateAr = ["%1-%2-%3 %4:%5"] + date; - _date = format _dateAr; - _log = format["%1: %2", _date, _logText]; - _logData = GVAR(currentComputer) getVariable [QGVAR(logData), []]; - _logData set[(count _logData), _log]; - GVAR(currentComputer) setVariable [QGVAR(logData), _logData]; - TRACE_1("BCS LOG DATA", _log); -} else { - _log = _logText; -}; -_index = lbAdd [10021, _log]; -lbSetCurSel [10021, _index]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLogError.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLogError.sqf deleted file mode 100644 index 266f898b26..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLogError.sqf +++ /dev/null @@ -1,6 +0,0 @@ -//fnc_bcsLogError.sqf -#include "script_component.hpp" - -_logText = _this; -_format = format["ERROR: %1", _logText]; -_format call FUNC(bcsLog); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLogWarn.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLogWarn.sqf deleted file mode 100644 index f858b55dcf..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsLogWarn.sqf +++ /dev/null @@ -1,6 +0,0 @@ -//fnc_bcsLogWarn.sqf -#include "script_component.hpp" - -_logText = _this; -_format = format["WARNING: %1", _logText]; -_format call FUNC(bcsLog); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsUnload.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsUnload.sqf deleted file mode 100644 index 008b31aa12..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_bcsUnload.sqf +++ /dev/null @@ -1,38 +0,0 @@ -//fnc_bcsUnload.sqf -#include "script_component.hpp" - - -PREP(bcsLoad); - - -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls"; - -switch(GVAR(currentScreen)) do { - case MAIN_ID: { - _controls = _controls >> "ace_arty_bcs_main"; - }; - case MISSION_ID: { - _controls = _controls >> "ace_arty_bcs_mission"; - }; - case ADJUST_ID: { - _controls = _controls >> "ace_arty_bcs_adjust"; - }; - case FFE_ID: { - _controls = _controls >> "ace_arty_bcs_ffe"; - }; -}; - -_controls = _controls >> "controls"; - - -GVAR(currentState) = [] call CBA_fnc_hashCreate; - - -[_controls] call FUNC(loopSaveControls); -if(!GVAR(openingMap)) then { - GVAR(currentComputer) setVariable [QGVAR(currentState), GVAR(currentState), true]; - GVAR(currentComputer) setVariable [QGVAR(currentUser), GVAR(currentComputer), true]; -} else { - GVAR(currentComputer) setVariable [QGVAR(currentState), GVAR(currentState)]; -}; -GVAR(currentComputer) = nil; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_calcBallistics.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_calcBallistics.sqf deleted file mode 100644 index 56af19584c..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_calcBallistics.sqf +++ /dev/null @@ -1,122 +0,0 @@ -// Ballistic table generator -// -// Creates pre-rendered ballistic data for use with ARTY. -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -private ["_offsetTable", "_offsetIdx", "_useElevation", "_addTab", "_offsetEntry"]; - -_magazine = _this select 0; -_emin = _this select 1; -_emax = _this select 2; -_estep = _this select 3; -_hmin = _this select 4; -_hmax = _this select 5; -_hstep = _this select 6; -_muzzle_velocity = _this select 7; - -_ammo = getText(configFile >> "CfgMagazines" >> _magazine >> "ammo"); -if((count _this) > 6) then { - _muzzle_velocity = getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); -}; -_airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); - -// Grab offset table if it exists. Offsets are used for calculating rocket artillery trajectories. -// The number of entries in the offset table must match the number of entries in the generated ballistic table, -// based on the elevation step value. - - -_grav = -9.80665; // Gravity constant. -_fps = 60; // Frames per second for calculation. - -// Stops -_minrange = 99999999; -_maxrange = 0; - -// Initialize resultant set of data -_btab = []; -_elevation = 0; - -for [{_elevation=_emin},{_elevation<=_emax},{_elevation=_elevation+_estep}] do { - // Initial params - _vgate = 0; - _gaterng = 0; - _x = 0; - _y = 0.1; - _vx = 0; - _vy = 0; - _ymax = 0; - _xmax = 0; - _vel = _muzzle_velocity; - _fc = 0; - _tof = 0; - - - _useElevation = _elevation; - - // Set t0 parameters - _vx = _vel * cos(_useElevation); - _vy = _vel * sin(_useElevation); - _frame = 1 / _fps; - - _slices = []; - _agate = _hmax; - - while {_y >= _hmin} do - { - // Calculate next velocity frame - _vx = _vx + (_vx * _vel * _airFriction * _frame); - _vy = _vy + (_vy * _vel * _airFriction * _frame); - _vy = _vy + (_grav * _frame); - _vel = sqrt(_vx*_vx + _vy*_vy); - _elev = asin (_vy / _vel); - // Increment positions - _y = _y + (_vy * _frame); - _x = _x + (_vx * _frame); - - // Record max altitude and range - if (_y > _ymax) then - { - _ymax = _y; - }; - if (_x > _xmax) then - { - _xmax = _x; - }; - - // Take slices - - if ((_y < _agate) && (_vy < 0) && (_agate >= _hmin)) then - { - while {_agate > _y} do {_agate = _agate - _hstep;}; - _slices = _slices + [[_x, _y, _fc*_frame, _vel, _elev]]; - }; - - // Increment frame count. - _fc = _fc + 1; - }; - _xmax = _x; - - if (_xmax < _minrange) then - { - _minrange = _xmax; - }; - if (_xmax > _maxrange) then - { - _maxrange = _xmax; - }; - - // Order slices lowest to highest - _rSlices = []; - for [{_a = count(_slices)-1;},{_a >= 0},{_a = _a - 1}] do - { - _rSlices = _rSlices + [_slices select _a]; - }; - - // Put calculated rocket decay points into table if offsets are used. - _addTab = [_elevation, _ymax, _rSlices]; - _btab set [count _btab, _addTab]; -}; - -[_btab, _minrange, _maxrange] diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_calcFiringSolution.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_calcFiringSolution.sqf deleted file mode 100644 index bad7cceb09..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_calcFiringSolution.sqf +++ /dev/null @@ -1,140 +0,0 @@ -scriptName format ["%1ARTY\data\scripts\ARTY_tof.sqf (_this: %1)",_this]; -// ARTY_firingSolution.sqf -// -// Use the ballistics table to calculate a firing solution - -#define GETELEV(T,I) ((##T## select ##I##) select 0) -#define GETMAXHEIGHT(T,I) ((##T## select ##I##) select 1) -#define GETSLICES(T,I) ((##T## select ##I##) select 2) - -// Rocket ballistics values -#define GETOFFSETH(T,I) ((##T## select ##I##) select 3) -#define GETOFFSETV(T,I) ((##T## select ##I##) select 4) -#define GETDECAYELEV(T,I) ((##T## select ##I##) select 5) -#define GETDECAYSPD(T,I) ((##T## select ##I##) select 6) - -private ["_firingPos", "_targetPos", "_btab", "_position", "_btab", "_i", "_sliceN", "_sliceNN", "_hmin", "_hmax", "_hstep", "_deltaX", "_deltaY", "_fs"]; - -_deltaX = _this select 0; -_deltaY = _this select 1; -_ballistics = _this select 2; - -_btab = _ballistics select 0; -_minRange = _ballistics select 1; -_maxRange = _ballistics select 2; -_hmin = _ballistics select 3; -_hmax = _ballistics select 4; -_hstep = _ballistics select 5; - -// Blank fs to return if there is an error (i.e. out of range) -_blank = []; - -// _deltaX = [_firingPos select 0, _firingPos select 1, 0] distance [_targetPos select 0, _targetPos select 1, 0]; -// _deltaY = (_targetPos select 2) - (_firingPos select 2); - -// Out of range if height deltaY exceeds height differential in either direction. -if (_deltaY < _hmin || _deltaY > _hmax) exitWith { - if (BIS_ARTY_DEBUG==1) then {textLogFormat ["dY of %1 exceeds vertical range of artillery.", _deltaY];}; - _blank -}; - -_hrange = _hmax - _hmin; -_colL = floor((_deltaY - _hmin)/_hstep); -_colH = ceil((_deltaY - _hmin)/_hstep); - -// deltaY is on a boundary -if (_colL == _colH) then {_colH = _colH + 1}; - -_muY = ((_deltaY - _hmin) - _colL*_hstep) / (_colH*_hstep - _colL*_hstep); - -_distN = 9999999; -_rowN = -1; -_rowNN = -1; -for [{_i=1},{_i < ((count _btab) - 1)},{_i=_i+1}] do -{ - _prevSliceCount = count (GETSLICES(_btab, _i-1)); // Enforce boundary conditions that will come in when picking NN - _slices = GETSLICES(_btab, _i); - _nextSliceCount = count (GETSLICES(_btab, _i+1)); - if ((count _slices) > _colH && - _prevSliceCount > _colH && - _nextSliceCount > _colH) then - { - _v1 = _slices select _colL; // Select data vectors - _v2 = _slices select _colH; - _testVec = [[_v1 select 0], [_v2 select 0], _muY] call BIS_ARTY_VEC_LERP; // Interpolate - _testDist = _testVec select 0; - - if (abs(_testDist - _deltaX) < _distN) then - { - _distN = abs(_testDist - _deltaX); - _rowN = _i; - }; - }; -}; - -// Select nearest neighbor. -_n1 = GETSLICES(_btab,_rowN-1); -_v11 = _n1 select _colL; -_v12 = _n1 select _colH; -_n2 = GETSLICES(_btab,_rowN+1);; -_v21 = _n2 select _colL; -_v22 = _n2 select _colH; -_s1 = [_v11, _v12, _muY] call BIS_ARTY_VEC_LERP; -_s2 = [_v21, _v22, _muY] call BIS_ARTY_VEC_LERP; - -_d1 = _s1 select 0; -_d2 = _s2 select 0; -if (abs(_d1 - _deltaX) < abs(_d2 - _deltaX)) then -{ - _rowNN = (_rowN - 1); - _sliceNN = _s1; -} else { - _rowNN = (_rowN + 1); - _sliceNN = _s2; -}; - -// Check out of range condition in the horizontal -if ((_deltaX < _d1 && _deltaX < _d2) || - (_deltaX > _d1 && _deltaX > _d2)) exitWith { - if (BIS_ARTY_DEBUG==1) then {textLogFormat ["dY = %1, dX = %2 out of firing envelope.", _deltaY, _deltaX];}; - _blank -}; - -_n0 = GETSLICES(_btab,_rowN); -_v1 = _n0 select _colL; -_v2 = _n0 select _colH; -_sliceN = [_v1, _v2, _muY] call BIS_ARTY_VEC_LERP; - -_elevN = GETELEV(_btab,_rowN); -_elevNN = GETELEV(_btab,_rowNN); - -_muX = (_deltaX - (_sliceN select 0)) / ((_sliceNN select 0) - (_sliceN select 0)); - -// Check the type of ballistics table being worked with (single or rocket) -if (count (_btab select 0) >= 7) then -{ - // Load rocket parameters - _offHN = GETOFFSETH(_btab,_rowN); - _offVN = GETOFFSETV(_btab,_rowN); - _decayElevN = GETDECAYELEV(_btab,_rowN); - _decaySpdN = GETDECAYSPD(_btab,_rowN); - _offHNN = GETOFFSETH(_btab,_rowNN); - _offVNN = GETOFFSETV(_btab,_rowNN); - _decayElevNN = GETDECAYELEV(_btab,_rowNN); - _decaySpdNN = GETDECAYSPD(_btab,_rowNN); - - // Rocket-based firing solution. - _fs = [[_elevN, (_sliceN select 0), (_sliceN select 2), (_sliceN select 1), _offHN, _offVN, _decayElevN, _decaySpdN], - [_elevNN, (_sliceNN select 0), (_sliceNN select 2), (_sliceNN select 1), _offHNN, _offVNN, _decayElevNN, _decaySpdNN], - _muX] call BIS_ARTY_VEC_LERP; -} -else -{ - // Single projectile firing solution. - _fs = [[_elevN, (_sliceN select 0), (_sliceN select 2), (_sliceN select 1), (_sliceN select 3), (_sliceN select 4)], - [_elevNN, (_sliceNN select 0), (_sliceNN select 2), (_sliceNN select 1), (_sliceNN select 3), (_sliceNN select 4)], - _muX] call BIS_ARTY_VEC_LERP; -}; - -_fs - diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_callShot.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_callShot.sqf deleted file mode 100644 index 24c9efe9f7..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_callShot.sqf +++ /dev/null @@ -1,40 +0,0 @@ -//fnc_callShot.sqf -#include "script_component.hpp" - -_mode = _this select 0; -_idc = _this select 1; - -_solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; -_solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; -_currentSolution = _solutions select _solutionsIndex; - -_time = ((_currentSolution select 0) select 2); - -_countDownFunc = { - GVAR(countDown) = true; - _params = _this select 0; - _time = _params select 0; - _startTime = _params select 1; - _idc = _params select 2; - _countDown = _time - (diag_tickTime-_startTime); - _timePrec = (floor((_countDown - (floor _countDown))*10))/10; - _countDown = (floor _countDown)+_timePrec; - _countDown = (_countDown max 0); - _countDownText = ""; - if((_countDown mod 1) == 0) then { - _countDownText = (str _countDown) + ".0"; - } else { - _countDownText = (str _countDown); - }; - ctrlSetText [_idc, _countDownText]; - if(_countDown <= 0) then { - ctrlSetText [_idc, "IMPACT"]; - [(_this select 1)] call cba_fnc_removePerFrameHandler; - GVAR(countDown) = false; - }; -}; -if(!GVAR(countDown)) then { - if(_time > 0) then { - [_countDownFunc, 0.1, [_time, diag_tickTime, _idc]] call CBA_fnc_addPerFrameHandler; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_cycleRadio.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_cycleRadio.sqf deleted file mode 100644 index 837f7921a3..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_cycleRadio.sqf +++ /dev/null @@ -1,58 +0,0 @@ -//fnc_cycleRadio.sqf -#include "script_component.hpp" - -private["_direction", "_radios", "_count", "_newRadioIndex", "_activeRadio", "_activateRadio", "_oblix", -"_freq", "_baseConfig", "_realRadio", "_typeName", "_radio", "_radioClass"]; -_direction = 1; -_radios = []; -_count = 0; -_newRadioIndex = 0; -_activeRadio = player getVariable "acre_active_radio"; -// populate from local radio list -{ - _radioClass = _x; - _oblix = [_radioClass] call acre_sys_radio_fnc_getRadioState; - _freq = ((_oblix select 0) select 0); - _baseConfig = inheritsFrom (configFile >> "CfgWeapons" >> _radioClass); - _realRadio = configName ( _baseConfig ); - _typeName = getText (configFile >> "CfgAcreRadios" >> _realRadio >> "name"); - _radio = [_typeName, _freq, _radioClass]; - TRACE_2("heh", _radioClass, _activeRadio); - if(_radioClass == _activeRadio) then { - TRACE_1("found index", _count); - _newRadioIndex = _count; - }; - _radios set [(count _radios), _radio]; - _count = _count + 1; -} foreach acre_sys_radio_currentRadioList; -TRACE_1("index was", _newRadioIndex); -TRACE_1("Active was", _activeRadio); -if((count _radios) > 1) then { - if(_direction == 1) then { - if(_newRadioIndex >= (count _radios)-1) then { - _newRadioIndex = 0; - } else { - _newRadioIndex = _newRadioIndex + 1; - }; - } else { - if(_newRadioIndex <= 0) then { - _newRadioIndex = (count _radios) - 1; - } else { - _newRadioIndex = _newRadioIndex - 1; - }; - }; - TRACE_1("radios are", _radios); - TRACE_1("index is", _newRadioIndex); - _activateRadio = _radios select _newRadioIndex; - TRACE_1("Active is now", _activateRadio); - [(_activateRadio select 2)] call acre_sys_radio_fnc_setActiveRadio; - - [(_activateRadio select 0), format["%1Mhz", (_activateRadio select 1)], "", 1] call acre_sys_list_fnc_displayHint; - - - ctrlSetText [IDC_ACRE_RadioName, (_activateRadio select 0)]; - ctrlSetText [IDC_ACRE_RadioNet, format["%1MHz", (_activateRadio select 1)]]; -}; - - - diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doAdjustment.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_doAdjustment.sqf deleted file mode 100644 index 6516f1d9e4..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doAdjustment.sqf +++ /dev/null @@ -1,34 +0,0 @@ -//fnc_doAdjustment.sqf - -#include "script_component.hpp" - - -[ADJUST_ID] call FUNC(switchMenu); -(configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_adjust" >> "controls") call FUNC(loopResetControls); -GVAR(adjustCount) = GVAR(adjustCount) + 1; -GVAR(currentComputer) setVariable[QGVAR(adjustCount), GVAR(adjustCount), true]; - -_solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; -_solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; - -_missionData = GVAR(currentComputer) getVariable QGVAR(currentMission); -_batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); - - -_moc = (([_missionData, IDC_Mission_ControlMethodOfControlSelect] call CBA_fnc_hashGet) select 2); - - -_roundCount = parseNumber ([_missionData, IDC_Mission_EngageRoundCountInput] call CBA_fnc_hashGet); -_ammoType = (([_missionData, IDC_Mission_EngageAmmunitionTypeSelect] call CBA_fnc_hashGet) select 2); -_fuze = (([_missionData, IDC_Mission_EngageFuzeTypeSelect] call CBA_fnc_hashGet) select 2); - - -_commands = [(_solutions select _solutionsIndex), _roundCount, _ammoType, _fuze, _moc, true] call FUNC(formatFireCommands); - -GVAR(missionComputed) = true; -ctrlSetText [IDC_Adjust_lowDisplay, (_commands select 0)]; -ctrlSetText [IDC_Adjust_MTODisplayLow, (_commands select 1)]; -ctrlSetText [IDC_Adjust_AdjustOTDirInput, (format["%1", GVAR(currentOT)])]; - - -[] call FUNC(initAdjust); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doCompute.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_doCompute.sqf deleted file mode 100644 index 32761659be..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doCompute.sqf +++ /dev/null @@ -1,102 +0,0 @@ -//fnc_doCompute.sqf -#include "script_component.hpp" -// PREP(doFFE); -// PREP(formatFireCommands); -_isAdjust = _this select 0; -_missionData = [] call CBA_fnc_hashCreate; -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_mission" >> "controls"; -_valid = [_controls, _missionData] call FUNC(validateData); -if(_valid) then { - GVAR(currentComputer) setVariable [QGVAR(currentMission), _missionData, true]; - _missionType = GVAR(currentComputer) getVariable QGVAR(currentMissionType); - _targetPos = []; - _targetAlt = 0; - switch (toLower(_missionType select 0)) do { - case "grid": { - _ne = ([_missionData, IDC_Mission_MissionGridGridInput] call CBA_fnc_hashGet) call FUNC(parseGrid); - _alt = [_missionData, IDC_Mission_MissionGridAltInput] call CBA_fnc_hashGet; - _targetPos = [(_ne select 0), (_ne select 1), (parseNumber _alt)]; - _targetAlt = (parseNumber _alt); - }; - case "polar": { - _ne = ([_missionData, IDC_Mission_MissionPolarObserverPosInput] call CBA_fnc_hashGet) call FUNC(parseGrid); - _alt = parseNumber ([_missionData, IDC_Mission_MissionPolarObserverAltInput] call CBA_fnc_hashGet); - _ot = parseNumber ([_missionData, IDC_Mission_MissionPolarOTDirInput] call CBA_fnc_hashGet); - GVAR(currentOT) = _ot; - _range = parseNumber ([_missionData, IDC_Mission_MissionPolarRangeInput] call CBA_fnc_hashGet); - _altDif = parseNumber ([_missionData, IDC_Mission_MissionPolarAltDifInput] call CBA_fnc_hashGet); - - _targetPos = [_ne, _range, MIL2DEG(_ot)] call BIS_fnc_relPos; - _targetAlt = _alt + _altDif; - - _targetPos set[2, _targetAlt]; - }; - case "shift": { - _knownPoints = GVAR(currentComputer) getVariable [QGVAR(knownPoints), []]; - _index = lbCurSel IDC_Mission_MissionShiftKnowPointSelect; - _val = lbValue [IDC_Mission_MissionShiftKnowPointSelect, _index]; - _knownPoint = _knownPoints select _val; - _ne = (_knownPoint select 1) call FUNC(parseGrid); - _alt = parseNumber (_knownPoint select 2); - _ot = parseNumber ([_missionData, IDC_Mission_MissionShiftOTDirInput] call CBA_fnc_hashGet); - GVAR(currentOT) = _ot; - _lr = parseNumber ([_missionData, IDC_Mission_MissionShiftLeftRightInput] call CBA_fnc_hashGet); - _ad = parseNumber ([_missionData, IDC_Mission_MissionShiftAddDropInput] call CBA_fnc_hashGet); - _ud = parseNumber ([_missionData, IDC_Mission_MissionShiftUpDownInput] call CBA_fnc_hashGet); - _lrDir = 0; - _adDir = 0; - if(_lr < 0) then { - _lrDir = (_ot + 4800) mod 6400; - } else { - _lrDir = (_ot + 1600) mod 6400; - }; - if(_ad < 0) then { - _adDir = (_ot + 3200) mod 6400; - } else { - _adDir = _ot; - }; - _targetPos = [_ne, (abs _lr), MIL2DEG(_lrDir)] call BIS_fnc_relPos; - _targetPos = [_targetPos, (abs _ad), MIL2DEG(_adDir)] call BIS_fnc_relPos; - _targetAlt = _alt + _ud; - - _targetPos set[2, _targetAlt]; - }; - }; - _batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); - - _gunNE = ([_batteryData, IDC_Main_BatteryGridInput] call CBA_fnc_hashGet) call FUNC(parseGrid); - _gunAlt = parseNumber ([_batteryData, IDC_Main_BatteryAltInput] call CBA_fnc_hashGet); - - _gunPos = [(_gunNE select 0), (_gunNE select 1), _gunAlt]; - - _dof = parseNumber ([_batteryData, IDC_Main_BatteryDOFInput] call CBA_fnc_hashGet); - - - - _roundType = ([_missionData, IDC_Mission_EngageAmmunitionTypeSelect] call CBA_fnc_hashGet) select 2; - _fuzeType = ([_missionData, IDC_Mission_EngageFuzeTypeSelect] call CBA_fnc_hashGet) select 2; - - GVAR(generatingMission) = true; - [_targetPos, _gunPos, _dof, _roundType, _fuzeType] spawn FUNC(generateSolutions); - _isAdjust spawn { - _isAdjust = _this; - ctrlEnable [MISSION_ID, false]; - waitUntil { - !GVAR(generatingMission) - }; - ctrlEnable [MISSION_ID, true]; - _solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; - _solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; - if((count _solutions) > 0) then { - _solution = _solutions select _solutionsIndex; - if((count _solution) > 0) then { - if(_isAdjust) then { - [] call FUNC(doAdjustment); - } else { - [] call FUNC(doFFE); - }; - }; - }; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doComputeAdjust.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_doComputeAdjust.sqf deleted file mode 100644 index 7b2ff52075..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doComputeAdjust.sqf +++ /dev/null @@ -1,88 +0,0 @@ -//fnc_doComputeAdjust.sqf -#include "script_component.hpp" -// PREP(doFFE); -// PREP(formatFireCommands); -_adjustData = [] call CBA_fnc_hashCreate; -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_adjust" >> "controls"; -_valid = [_controls, _adjustData] call FUNC(validateData); -_missionType = _this select 0; - -if(_valid) then { - _adjustments = GVAR(currentComputer) getVariable [QGVAR(currentAdjustments), []]; - _adjustments set[(count _adjustments), _adjustData]; - GVAR(currentComputer) setVariable [QGVAR(currentAdjustments), _adjustments, true]; - _missionData = GVAR(currentComputer) getVariable QGVAR(currentMission); - _targetPos = []; - _targetAlt = 0; - - - _solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; - _solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; - - _solution = _solutions select _solutionsIndex; - _ne = _solution select 2; - - _ot = parseNumber ([_adjustData, IDC_Adjust_AdjustOTDirInput] call CBA_fnc_hashGet); - GVAR(currentOT) = _ot; - _lr = parseNumber ([_adjustData, IDC_Adjust_AdjustLeftRightInput] call CBA_fnc_hashGet); - _ad = parseNumber ([_adjustData, IDC_Adjust_AdjustAddDropInput] call CBA_fnc_hashGet); - _ud = parseNumber ([_adjustData, IDC_Adjust_AdjustUpDownInput] call CBA_fnc_hashGet); - if((_lr != 0 || _ad != 0 || _ud != 0)) then { - _lrDir = 0; - _adDir = 0; - if(_lr < 0) then { - _lrDir = (_ot + 4800) mod 6400; - } else { - _lrDir = (_ot + 1600) mod 6400; - }; - if(_ad < 0) then { - _adDir = (_ot + 3200) mod 6400; - } else { - _adDir = _ot; - }; - _targetPos = [_ne, (abs _lr), MIL2DEG(_lrDir)] call BIS_fnc_relPos; - _targetPos = [_targetPos, (abs _ad), MIL2DEG(_adDir)] call BIS_fnc_relPos; - _targetAlt = (_ne select 2) + _ud; - - _targetPos set[2, _targetAlt]; - - _batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); - - _gunNE = ([_batteryData, IDC_Main_BatteryGridInput] call CBA_fnc_hashGet) call FUNC(parseGrid); - _gunAlt = parseNumber ([_batteryData, IDC_Main_BatteryAltInput] call CBA_fnc_hashGet); - - _gunPos = [(_gunNE select 0), (_gunNE select 1), _gunAlt]; - - _dof = parseNumber ([_batteryData, IDC_Main_BatteryDOFInput] call CBA_fnc_hashGet); - - - - _roundType = ([_missionData, IDC_Mission_EngageAmmunitionTypeSelect] call CBA_fnc_hashGet) select 2; - _fuzeType = ([_missionData, IDC_Mission_EngageFuzeTypeSelect] call CBA_fnc_hashGet) select 2; - - GVAR(generatingMission) = true; - [_targetPos, _gunPos, _dof, _roundType, _fuzeType] spawn FUNC(generateSolutions); - }; - [_missionType] spawn { - _missionType = _this select 0; - ctrlEnable [ADJUST_ID, false]; - waitUntil { - !GVAR(generatingMission) - }; - ctrlEnable [ADJUST_ID, true]; - _solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; - _solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; - if((count _solutions) > 0) then { - _solution = _solutions select _solutionsIndex; - if((count _solution) > 0) then { - if(_missionType == 0) then { - BCSLOG("NEW ADJUSTMENT COMPLETE"); - [] call FUNC(doAdjustment); - } else { - [] call FUNC(doFFE); - }; - }; - }; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doFFE.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_doFFE.sqf deleted file mode 100644 index 3c2c9a6af4..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_doFFE.sqf +++ /dev/null @@ -1,28 +0,0 @@ -//fnc_doFFE.sqf -#include "script_component.hpp" - - -[FFE_ID, true] call FUNC(switchMenu); - -_missionData = GVAR(currentComputer) getVariable QGVAR(currentMission); -_batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); - -_solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; -_solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; - -_moc = (([_missionData, IDC_Mission_ControlMethodOfControlSelect] call CBA_fnc_hashGet) select 2); - - -_roundCount = parseNumber ([_missionData, IDC_Mission_EngageRoundCountInput] call CBA_fnc_hashGet); -_ammoType = (([_missionData, IDC_Mission_EngageAmmunitionTypeSelect] call CBA_fnc_hashGet) select 2); -_fuze = (([_missionData, IDC_Mission_EngageFuzeTypeSelect] call CBA_fnc_hashGet) select 2); - -_commands = [(_solutions select _solutionsIndex), _roundCount, _ammoType, _fuze, _moc] call FUNC(formatFireCommands); - -GVAR(missionComputed) = true; -ctrlSetText [IDC_FFE_lowDisplay, (_commands select 0)]; -ctrlSetText [IDC_FFE_MTODisplayLow, (_commands select 1)]; - - - -[] call FUNC(initFFE); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_endMission.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_endMission.sqf deleted file mode 100644 index 9f05575869..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_endMission.sqf +++ /dev/null @@ -1,98 +0,0 @@ -//fnc_endMission.sqf -#include "script_component.hpp" - -_solutions = GVAR(currentComputer) getVariable [QGVAR(currentSolutions),[]]; -_solutionsIndex = GVAR(currentComputer) getVariable [QGVAR(currentSolutionsIndex),0]; -_missionData = GVAR(currentComputer) getVariable QGVAR(currentMission); -_batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); -_adjustments = GVAR(currentComputer) getVariable [QGVAR(currentAdjustments), []]; -_missionNames = GVAR(currentComputer) getVariable [QGVAR(missionNames), []]; - - - -_targetNumber = parseNumber ([_batteryData, IDC_Main_TargetNumStart] call CBA_fnc_hashGet); -_targetNumber = _targetNumber + GVAR(missionCount); -_targetNumberText = (str _targetNumber); -if(_targetNumber < 1000) then { - _targetNumberText = "0" + _targetNumberText; -}; -if(_targetNumber < 100) then { - _targetNumberText = "0" + _targetNumberText; -}; -if(_targetNumber < 10) then { - _targetNumberText = "0" + _targetNumberText; -}; -_targetPrefix = ([_batteryData, IDC_Main_TargetPrefix] call CBA_fnc_hashGet); - -_targetName = format["%1%2", (toUpper _targetPrefix), _targetNumberText]; - -_bda = ctrlText IDC_FFE_BDAInput; -_notes = ctrlText IDC_Mission_EngageNotesInput; - -_eom = - [ - _targetName, - _solutions, - _missionData, - _batteryData, - _adjustments, - _bda, - _notes - ]; - - -_ne = (_solutions select _solutionsIndex) select 2; - -_easting = floor(_ne select 0); -_eastingStr = str (_easting); -if(_easting < 10000) then { - _eastingStr = "0" + _eastingStr; -}; -if(_easting < 1000) then { - _eastingStr = "0" + _eastingStr; -}; -if(_easting < 100) then { - _eastingStr = "0" + _eastingStr; -}; -if(_easting < 10) then { - _eastingStr = "0" + _eastingStr; -}; - -_northing = floor(_ne select 1); -_northingStr = str (_northing); -if(_northing < 10000) then { - _northingStr = "0" + _northingStr; -}; -if(_northing < 1000) then { - _northingStr = "0" + _northingStr; -}; -if(_northing < 100) then { - _northingStr = "0" + _northingStr; -}; -if(_northing < 10) then { - _northingStr = "0" + _northingStr; -}; - -_grid = _eastingStr + _northingStr; -_alt = (str (_ne select 2)); -_knownPoints = GVAR(currentComputer) getVariable [QGVAR(knownPoints), []]; -_knownPoints set[(count _knownPoints), [_targetName,_grid,_alt]]; -GVAR(currentComputer) setVariable [QGVAR(knownPoints), _knownPoints, true]; - -_storeName = format["ACEARTY%1%2_%3", (floor diag_tickTime), (floor (random 1000)), _targetName]; - -_missionNames set[(count _missionNames), _storeName]; -GVAR(currentComputer) setVariable [_storeName, _eom, true]; - - -_logMsg = format["EOM WROTE MISSION %1 TO COMPUTER", _targetName]; - - -[MAIN_ID] call FUNC(switchMenu); -GVAR(missionComputed) = false; -GVAR(missionCount) = GVAR(missionCount) + 1; -GVAR(currentComputer) setVariable[QGVAR(missionCount), GVAR(missionCount)]; -[] call FUNC(initMainScreen); -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_main" >> "controls"; -_batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); -[_controls, _batteryData] call FUNC(loopRestoreControls); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_ffeBack.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_ffeBack.sqf deleted file mode 100644 index 45b5f3bb2f..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_ffeBack.sqf +++ /dev/null @@ -1,7 +0,0 @@ -//fnc_ffeBack.sqf -#include "script_component.hpp" -[MISSION_ID] call FUNC(switchMenu); -_missionType = GVAR(currentComputer) getVariable QGVAR(currentMissionType); -(_missionType select 0) call FUNC(initMissionScreen); -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_mission" >> "controls"; -[_controls, GVAR(lastPage)] call FUNC(loopRestoreControls); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_firingSolution.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_firingSolution.sqf deleted file mode 100644 index 12831a215f..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_firingSolution.sqf +++ /dev/null @@ -1,125 +0,0 @@ -//fnc_firingSolution.sqf -#include "script_component.hpp" -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC -#define ELEVATION(sol) (floor DEG2MIL((sol select 0))) -#define TOF(sol) ((sol select 2)) - -_fncDeflection = { - private ["_gunPos", "_targetPos", "_x1", "_x2", "_y1", "_y2", "_azimuth", "_reversed", "_deflection"]; - _gunPos = _this select 0; - _targetPos = _this select 1; - _dof = _this select 2; - _reversed = [] call CBA_fnc_northingReversed; - _azimuth = 0; - _x1 = _gunPos select 0; - _x2 = _targetPos select 0; - _y1 = _gunPos select 1; - _y2 = _targetPos select 1; - _azimuth = ((((_x1 - _x2) atan2 (_y1 - _y2))) mod 360); - - if(_reversed) then { - _azimuth = (_azimuth*-1 + 360) mod 360; - } else { - _azimuth = _azimuth + 180 mod 360; - }; - //player sideChat format["_az: %1", _azimuth]; - _azimuth = DEG2MIL(_azimuth); - - _deflection = _azimuth - _dof; - - - //ensure return is between 0-6400 - if (_deflection < 0) then {_deflection = _deflection + 6400}; - if (_deflection > 6400) then {_deflection = _deflection - 6400}; - - if(_deflection > 3200) then { - _deflection = _deflection - 6400; - }; - _deflection = round(3200 + _deflection); - _deflection; -}; - -_gunPos = _this select 0; -_targetPos = _this select 1; -_dof = _this select 2; // direction of fire in mils -_magazine = _this select 3; -_tableLow = _this select 4; -_tableHigh = _this select 5; - -_btabLow = [] call COMPILE_FILE2_SYS(_tableLow); -_btabHigh = [] call COMPILE_FILE2_SYS(_tableHigh); - - - -_ammo = getText(configFile >> "CfgMagazines" >> _magazine >> "ammo"); -_isBaseEjecting = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_ISBASEEJECTING"); -_baseEjectingHob = 0; -_baseEjectingSpeed = 1; -_doBaseEjectCompensate = 0; -_baseEjectingFriction = -0.001064; -if(_isBaseEjecting == 1) then { - _baseEjectingHob = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_BASEEJECT_HOB"); - _baseEjectingSpeed = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_BASEEJECT_POWER"); - _doBaseEjectCompensate = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_BASEEJECT_COMPENSATE"); -}; - - - - -_deltaX = [_gunPos select 0, _gunPos select 1, 0] distance [_targetPos select 0, _targetPos select 1, 0]; -_deltaY = ((_targetPos select 2) - (_gunPos select 2)) + _baseEjectingHob + 1; - -_return = [[],[]]; -_low = [_deltaX, _deltaY, _btabLow] call FUNC(calcFiringSolution); -_wind = +GVAR(averageWind); -if((count _low) > 0) then { - // _friction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); - // _friction = 0.25; - // _windOffset = [ - // ((_wind select 0)*_friction)*TOF(_low), - // ((_wind select 1)*_friction)*TOF(_low) - // ]; - // player sideChat format["windoffset l: %1", _windOffset]; - // _windOffsetTarget = [(_targetPos select 0) + (_windOffset select 0), (_targetPos select 1) + (_windOffset select 1)]; - - // _deltaX = [_gunPos select 0, _gunPos select 1, 0] distance [_windOffsetTarget select 0, _windOffsetTarget select 1, 0]; - // _low = [_deltaX, _deltaY, _btabLow] call FUNC(calcFiringSolution); - - if(_isBaseEjecting == 1 && _doBaseEjectCompensate == 1) then { - _d = [_baseEjectingFriction, (_low select 4)*_baseEjectingSpeed, (_low select 5), _baseEjectingHob] call FUNC(simpleBallistics); - if(_d > 20) then { - _low = [_deltaX-(_d/2), _deltaY, _btabLow] call FUNC(calcFiringSolution); - }; - - }; - _deflection = [_gunPos, _targetPos, _dof] call _fncDeflection; - _return set[0, [ELEVATION(_low), _deflection, TOF(_low)]]; -}; - -_high = [_deltaX, _deltaY, _btabHigh] call FUNC(calcFiringSolution); -if((count _high) > 0) then { - // _friction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); - // _friction = 0.25; - // _windOffset = [ - // ((_wind select 0)*_friction)*TOF(_high), - // ((_wind select 1)*_friction)*TOF(_high) - // ]; - // player sideChat format["windoffset h: %1", _windOffset]; - // _windOffsetTarget = [(_targetPos select 0) + (_windOffset select 0), (_targetPos select 1) + (_windOffset select 1)]; - - // _deltaX = [_gunPos select 0, _gunPos select 1, 0] distance [_windOffsetTarget select 0, _windOffsetTarget select 1, 0]; - // _high = [_deltaX, _deltaY, _btabHigh] call FUNC(calcFiringSolution); - - if(_isBaseEjecting == 1 && _doBaseEjectCompensate == 1) then { - _d = [_baseEjectingFriction, (_high select 4)*_baseEjectingSpeed, (_high select 5), _baseEjectingHob] call FUNC(simpleBallistics); - if(_d > 20) then { - _high = [_deltaX-(_d/2), _deltaY, _btabHigh] call FUNC(calcFiringSolution); - }; - }; - - _deflection = [_gunPos, _targetPos, _dof] call _fncDeflection; - _return set[1, [ELEVATION(_high), _deflection, TOF(_high)]]; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_formatFireCommands.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_formatFireCommands.sqf deleted file mode 100644 index 3c498a2632..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_formatFireCommands.sqf +++ /dev/null @@ -1,208 +0,0 @@ -#include "script_component.hpp" - -_solution = _this select 0; -_roundCount = _this select 1; -_ammoType = _this select 2; -_fuze = _this select 3; -_moc = _this select 4; -_adjust = false; - -if((count _this) > 5) then { - _adjust = _this select 5; -}; -_missionType = GVAR(currentComputer) getVariable QGVAR(currentMissionType); -_batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); - -_standard = "FIRE MISSION, "; - -_deflection = 0; -if((count _solution) > 0) then { - _deflection = round ((_solution select 0) select 1); -}; - -if(_adjust) then { - _standard = _standard + format["PLATOON ADJUST, NUMBER %1, ", ([_missionData, IDC_Mission_EngageAdjustPieceInput] call CBA_fnc_hashGet)]; -} else { - _standard = _standard + "PLATOON "; -}; -_adjustRoundCount = parseNumber ([_missionData, IDC_Mission_EngageAdjustRoundCountInput] call CBA_fnc_hashGet); -if(_adjust) then { - if(_adjustRoundCount > 1) then { - _standard = _standard + format["%1 ROUNDS, ", _adjustRoundCount]; - } else { - _standard = _standard + "1 ROUND, "; - }; -} else { - if(_roundCount > 1) then { - _standard = _standard + format["%1 ROUNDS, ", _roundCount]; - } else { - _standard = _standard + "1 ROUND, "; - }; -}; - -_special = ""; -if(_moc != "ready") then { - _special = _special + "SPECIAL INSTRUCTIONS, "; - if(_moc == "totn" || _moc == "totc") then { - _special = _special + "DO NOT LOAD, "; - }; - _special = _special + "AT MY COMMAND, "; -}; -if((abs(3200-_deflection)) > 400) then { - _dof = parseNumber ([_batteryData, IDC_Main_BatteryDOFInput] call CBA_fnc_hashGet); - _dif = _deflection-3200; - _az = round((_dof + _dif) mod 6400); - if(_az < 0) then { - _az = _az + 6400; - }; - _azText = (str _az); - if(_az < 1000) then { - _azText = "0" + _azText; - }; - if(_az < 100) then { - _azText = "0" + _azText; - }; - if(_az < 10) then { - _azText = "0" + _azText; - }; - _special = _special + format["AZIMUTH %1, ", _azText]; -}; - - - -if(_special != "") then { - _standard = _standard + _special; -}; - -_ammoDisplay = getText(configFile >> "CfgMagazines" >> _ammoType >> "ACE_ARTY_INEFFECT"); -if(!_adjust) then { - _standard = _standard + format["SHELL %1, ", _ammoDisplay]; -}; - - - - - -switch (toLower _fuze) do { - case "time": { - _fuze = "time"; - }; - case "prox": { - _fuze = "vt"; - }; - case "pd": { - _fuze = "quick"; - }; -}; - -_deflectionText = (str _deflection); -if(_deflection < 1000) then { - _deflectionText = "0" + _deflectionText; -}; -if(_deflection < 100) then { - _deflectionText = "0" + _deflectionText; -}; -if(_deflection < 10) then { - _deflectionText = "0" + _deflectionText; -}; - - - - -_mtoStandard = ""; -_mto = ""; -if(!_adjust || GVAR(adjustCount) == 0) then { - if((_missionType select 0) == "polar") then { - _mtoStandard = _mtoStandard + format["%1, ", toUpper ([_missionData, IDC_Mission_MissionPolarObserverInput] call CBA_fnc_hashGet)]; - } else { - _mtoStandard = _mtoStandard + "OBSERVER, "; - }; -}; -_mtoStandard = _mtoStandard + format["%1, ", toUpper ([_batteryData, IDC_Main_FDCCallsignInput] call CBA_fnc_hashGet)]; -if(_adjust) then { - _mtoStandard = _mtoStandard + "HE IN EFFECT, "; -} else { - if(_ammoDisplay != "HE") then { - _mtoStandard = _mtoStandard + format["%1 IN EFFECT, ", _ammoDisplay]; - } else { - if(_fuze != "pd") then { - _mtoStandard = _mtoStandard + format["%1 IN EFFECT, ", toUpper _fuze]; - }; - }; -}; - -if(_adjust) then { - if(_adjustRoundCount > 1) then { - _mtoStandard = _mtoStandard + format["%1 ROUNDS, ", _adjustRoundCount]; - } else { - _mtoStandard = _mtoStandard + "1 ROUND, "; - }; -} else { - if(_roundCount > 1) then { - _mtoStandard = _mtoStandard + format["%1 ROUNDS, ", _roundCount]; - } else { - _mtoStandard = _mtoStandard + "1 ROUND, "; - }; -}; -_targetNumber = parseNumber ([_batteryData, IDC_Main_TargetNumStart] call CBA_fnc_hashGet); -_targetNumber = _targetNumber + GVAR(missionCount); -_targetNumberText = (str _targetNumber); -if(_targetNumber < 1000) then { - _targetNumberText = "0" + _targetNumberText; -}; -if(_targetNumber < 100) then { - _targetNumberText = "0" + _targetNumberText; -}; -if(_targetNumber < 10) then { - _targetNumberText = "0" + _targetNumberText; -}; -_targetPrefix = ([_batteryData, IDC_Main_TargetPrefix] call CBA_fnc_hashGet); - -_mtoStandard = _mtoStandard + format["%1%2, ", (toUpper _targetPrefix), _targetNumberText]; - -_mto = _mtoStandard; - -_solutionText = ""; -if((count _solution) > 0) then { - _solutionText = _standard; - - _solutionText = _solutionText + format["CHARGE %1, ", (_solution select 1)]; - if(!_adjust) then { - _solutionText = _solutionText + format["FUZE %1, ", toUpper _fuze]; - }; - - _fuzeText = ""; - _fuzeTimeFull = ((_solution select 0) select 2); - _fuzePrec = (floor((_fuzeTimeFull - (floor _fuzeTimeFull))*10))/10; - _fuzeTime = (floor _fuzeTimeFull)+_fuzePrec; - if(_fuze == "time") then { - _fuzeText = format["TIME %1", _fuzeTime]; - }; - _mto = _mto + format["TOF %1", _fuzeTime]; - - if(!_adjust && _fuzeText != "") then { - _solutionText = _solutionText + _fuzeText + ", "; - }; - - _solutionText = _solutionText + format["DEFLECTION %1, ", _deflectionText]; - _solutionText = _solutionText + format["QUADRANT %1", ((_solution select 0) select 0)]; - - if(_adjust) then { - if(_roundCount > 1) then { - _solutionText = _solutionText + format[", %1 ROUNDS, ", _roundCount]; - } else { - _solutionText = _solutionText + ", 1 ROUND, "; - }; - if(_ammoDisplay != "HE") then { - _solutionText = _solutionText + format["%1 IN EFFECT, FUZE %2, ", _ammoDisplay, (toUpper _fuze)]; - _solutionText = _solutionText + _fuzeText; - } else { - _solutionText = _solutionText + format["FUZE %1 IN EFFECT", toUpper _fuze]; - if(_fuzeText != "") then { - _solutionText = _solutionText + ", " + _fuzeText; - }; - }; - }; -}; - -[_solutionText, _mto] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_formattedBTab.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_formattedBTab.sqf deleted file mode 100644 index d0943562dd..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_formattedBTab.sqf +++ /dev/null @@ -1,73 +0,0 @@ -#include "script_component.hpp" -// ARTY_generateFormattedBTab.sqf -// -// Generates a formatted ballistic table in SQF and copies to clipboard -- For use by designers & config makers. - -private ["_magazine", "_elevMin", "_elevMax", "_elevStep", "_heightMin", "_heightMax", "_heightStep", "_mv", "_airFriction", "_proxy", "_ammo", "_btab", "_rangeMin", "_rangeMax"]; - -_magazine = _this select 0; -_elevMin = _this select 1; -_elevMax = _this select 2; -_elevStep = _this select 3; -_heightMin = _this select 4; -_heightMax = _this select 5; -_heightStep = _this select 6; - -hint "4..."; -_ammo = getText(configFile >> "CfgMagazines" >> _magazine >> "ammo"); -_proxy = getText(configFile >> "CfgAmmo" >> _ammo >> "ARTY_ReplaceWithAmmo"); -_mv = getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); - - -// Normal artillery shell calculation -_ammo = getText(configFile >> "CfgMagazines" >> _magazine >> "ammo"); -_airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); -hint "2..."; -PREP(calcBallistics); -_btab = [_magazine, _elevMin, _elevMax, _elevStep, _heightMin, _heightMax, _heightStep] call FUNC(calcBallistics); - -_btab = _btab select 0; - -hint "1..."; - -// Calculate min and max range based on median offset. -_mo = floor(((_heightMax - _heightMin) / _heightStep)*0.5); -_rangeMin = 999999; -_rangeMax = -1; -for [{_i=0;},{_i < count(_btab)},{_i=_i+1;}] do -{ - _slice = (_btab select _i) select 2; - if (count _slice >= (_mo+1)) then - { - _range = (_slice select _mo) select 0; - if (_range < _rangeMin) then {_rangeMin = _range;}; - if (_range > _rangeMax) then {_rangeMax = _range;}; - }; -}; - -// Generate SQF -_sqf = ""; -_sqf = _sqf + format ["// ARTY+ACE Module ballistics table.%1// Magazine: %2%1// Ammo: %3%1// AirFriction: %4%1%1%private [""_btab"", ""_minRange"", ""_maxRange"", ""_minHeight"", ""_maxHeight"", ""_hstep""];%1%1", ToString [10], _magazine, _ammo, _airFriction]; -_sqf = _sqf + format ["_btab = [%1", ToString[10]]; -for [{_i=0;},{_i < count(_btab);},{_i=_i+1;}] do -{ - _tail = ","; - if (_i == (count(_btab) - 1)) then - { - _tail = ""; - }; - _sqf =_sqf + format [" %1%2%3", (_btab select _i), _tail, ToString [10] ]; -}; -_sqf = _sqf + format ["];%1%1",ToString [10]]; -_sqf = _sqf + format ["_minHeight = %1;%2", _heightMin, ToString[10]]; -_sqf = _sqf + format ["_maxHeight = %1;%2", _heightMax, ToString[10]]; -_sqf = _sqf + format ["_hstep = %1;%2", _heightStep, ToString[10]]; -_sqf = _sqf + format ["_minRange = %1;%2", _rangeMin, ToString[10]]; -_sqf = _sqf + format ["_maxRange = %1;%2", _rangeMax, ToString[10]]; - -_sqf = _sqf + format ["[_btab, _minRange, _maxRange, _minHeight, _maxHeight, _hstep]%1",ToString[10]]; - -hint "0"; - -copyToClipboard _sqf; -GVAR(FORMATTEDBTAB) = _sqf; diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_generateSolutions.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_generateSolutions.sqf deleted file mode 100644 index f57efbd1cb..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_generateSolutions.sqf +++ /dev/null @@ -1,77 +0,0 @@ -//fnc_generateSolutions.sqf -#include "script_component.hpp" -_targetPos = _this select 0; -_gunPos = _this select 1; -_dof = _this select 2; -_roundType = _this select 3; -_fuzeType = _this select 4; - - -_roundInfo = (configFile >> "CfgMagazines" >> _roundType); - -_btableTemplate = getText(_roundInfo >> "ACE_ARTY_BTABS"); -_minCharge = getNumber(_roundInfo >> "ACE_ARTY_MINCHARGE"); -_maxCharge = getNumber(_roundInfo >> "ACE_ARTY_MAXCHARGE"); -_magazineTemplate = getText(_roundInfo >> "ACE_ARTY_MAGAZINE_FORMAT"); - -_displayName = getText(_roundInfo >> "displayName"); - - -_highTables = []; -_lowTables = []; -_fastestLow = 100000; -_fastestHigh = 100000; -_bestHigh = []; -_bestLow = []; -_found = false; -_tableCount = 0; -_highSolutions = []; -_lowSolutions = []; -for "_i" from _minCharge to _maxCharge do { - _magazine = format[_magazineTemplate, _fuzeType, _i]; - _highTable = format[_btableTemplate, "HA", _i]; - _lowTable = format[_btableTemplate, "LA", _i]; - _log = format["Generating %1 solution, charge %2.", _displayName, _i]; - BCSLOG(_log); - _result = [_gunPos, _targetPos, _dof, _magazine, _lowTable, _highTable] call FUNC(firingSolution); - _lowTables set[(count _lowTables), [(_result select 0), _i, _targetPos]]; - _highTables set[(count _highTables), [(_result select 1), _i, _targetPos]]; - _resultLog = format["Solution for %1 charge %2; ", _displayName, _i]; - - if((count (_result select 1)) > 0) then { - _found = true; - _highSolutions set[(count _highSolutions), [(_result select 1), _i, _targetPos]]; - _tableCount = _tableCount + 1; - _resultLog = _resultLog + "High: Yes; "; - } else { - _resultLog = _resultLog + "High: No; "; - }; - if((count (_result select 0)) > 0) then { - _lowSolutions set[(count _lowSolutions), [(_result select 0), _i, _targetPos]]; - _found = true; - _tableCount = _tableCount + 1; - _resultLog = _resultLog + "Low: Yes"; - } else { - _resultLog = _resultLog + "Low: No"; - }; - BCSLOG(_resultLog); -}; - -_lowSolutionsRev = []; - -for "_i" from (count _lowSolutions)-1 to 0 step -1 do { - _lowSolutionsRev set[(count _lowSolutionsRev), _lowSolutions select _i]; -}; - -if(!_found) then { - BCSERROR("No solution could be found for the current target!"); -} else { - GVAR(solutions) = _lowSolutionsRev + _highSolutions; - _text = format["%1 valid firing solutions found for %2.", _tableCount, _displayName]; - BCSLOG(_text); - GVAR(currentComputer) setVariable [QGVAR(currentSolutions), GVAR(solutions), true]; - GVAR(currentComputer) setVariable [QGVAR(currentSolutionsIndex), 0, true]; -}; - - -GVAR(generatingMission) = false; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_getBTable.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_getBTable.sqf deleted file mode 100644 index 0d14abf639..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_getBTable.sqf +++ /dev/null @@ -1,16 +0,0 @@ -//fnc_getBTable.sqf -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -_magazine = _this select 0; -_emin = _this select 1; -_emax = _this select 2; -_estep = _this select 3; -_hmin = _this select 4; -_hmax = _this select 5; -_hstep = _this select 6; - -_btable = _this call DEMO_fnc_calcBallistics; -[(_btable select 0), (_btable select 1), (_btable select 2), _hmin, _hmax, _hstep] - diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_initAdjust.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_initAdjust.sqf deleted file mode 100644 index c70918e154..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_initAdjust.sqf +++ /dev/null @@ -1,4 +0,0 @@ -//fnc_initAdjust.sqf -#include "script_component.hpp" - -IDC_Adjust_AdjustObserverSelect call FUNC(populateObserverList); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_initMainScreen.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_initMainScreen.sqf deleted file mode 100644 index 3f8854efc8..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_initMainScreen.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -_batteryTypes = (configFile >> "CfgAceArtyBatteryType"); -lbClear IDC_Main_BatteryType; -for "_i" from 0 to (count _batteryTypes)-1 do { - _type = _batteryTypes select _i; - _index = lbAdd [IDC_Main_BatteryType, (getText(_type >> "name"))]; - lbSetData [IDC_Main_BatteryType, _index, configName(_type)]; -}; -lbSetCurSel [IDC_Main_BatteryType, 0]; -GVAR(missionComputed) = false; -IDC_Main_ObserverSelect call FUNC(populateObserverList); -IDC_Main_KnownPointSelect call FUNC(populateKnownPointList); -GVAR(currentComputer) setVariable [QGVAR(currentMission), [], true]; diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_initMissionScreen.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_initMissionScreen.sqf deleted file mode 100644 index 08b34b1604..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_initMissionScreen.sqf +++ /dev/null @@ -1,59 +0,0 @@ -#include "script_component.hpp" - -_batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); -_batteryType = [_batteryData, IDC_Main_BatteryType] call CBA_fnc_hashGet; -_ammunitionTypes = getArray(configFile >> "CfgAceArtyBatteryType" >> (_batteryType select 2) >> "ammunition"); -lbClear IDC_Mission_EngageAmmunitionTypeSelect; - -{ - _displayName = getText(configFile >> "CfgMagazines" >> _x >> "ACE_ARTY_INEFFECT"); - _index = lbAdd [IDC_Mission_EngageAmmunitionTypeSelect, _displayName]; - lbSetData [IDC_Mission_EngageAmmunitionTypeSelect, _index, _x]; -} forEach _ammunitionTypes; - -lbSetCurSel [IDC_Mission_EngageAmmunitionTypeSelect, 0]; -[(_ammunitionTypes select 0), ""] call FUNC(setFuzeSelectionMission); - -_sheafs = ["Parallel"]; -lbClear IDC_Mission_EngageSheafTypeSelect; -{ - _index = lbAdd [IDC_Mission_EngageSheafTypeSelect, _x]; - lbSetData [IDC_Mission_EngageSheafTypeSelect, _index, _x]; -} forEach _sheafs; -lbSetCurSel [IDC_Mission_EngageSheafTypeSelect, 0]; -_moc = [ - ["Fire When Ready", "ready"], - ["At My Command", "amc"], - ["ToT From Now", "totn"], - ["ToT From Clock", "totc"] - ]; -lbClear IDC_Mission_ControlMethodOfControlSelect; -{ - _index = lbAdd [IDC_Mission_ControlMethodOfControlSelect, _x select 0]; - lbSetData [IDC_Mission_ControlMethodOfControlSelect, _index, _x select 1]; -} forEach _moc; -lbSetCurSel [IDC_Mission_ControlMethodOfControlSelect, 0]; -_types = [MAIN_ID_GRID, MAIN_ID_POLAR, MAIN_ID_SHIFT]; -{ - ctrlShow [_x, false]; -} forEach _types; -_missionType = _this; -switch(_missionType) do { - case "grid": { - ctrlShow [MAIN_ID_GRID, true]; - }; - case "polar": { - ctrlShow [MAIN_ID_POLAR, true]; - IDC_Mission_MissionPolarObserverSelect call FUNC(populateObserverList); - }; - case "shift": { - ctrlShow [MAIN_ID_SHIFT, true]; - IDC_Mission_MissionShiftKnowPointSelect call FUNC(populateKnownPointList); - }; -}; - -GVAR(adjustCount) = 0; -GVAR(currentComputer) setVariable[QGVAR(adjustCount), GVAR(adjustCount), true]; -GVAR(currentComputer) setVariable [QGVAR(currentAdjustments), [], true]; -GVAR(currentComputer) setVariable [QGVAR(currentSolutions), []]; -GVAR(currentComputer) setVariable [QGVAR(currentSolutionsIndex), 0]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopResetControls.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopResetControls.sqf deleted file mode 100644 index ca83198ce0..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopResetControls.sqf +++ /dev/null @@ -1,34 +0,0 @@ -//fnc_loopResetControls.sqf -#include "script_component.hpp" -private ["_controls"]; -_controls = _this; -for "_i" from 0 to (count _controls)-1 do { - _control = _controls select _i; - _type = getNumber(_control >> "type"); - _idc = getNumber(_control >> "idc"); - - if(_idc != -1) then { - switch(_type) do { - case CT_EDIT: { - _defaultText = getText(_control >> "text"); - ctrlSetText [_idc, _defaultText]; - }; - case CT_STATIC: { - _defaultText = getText(_control >> "text"); - ctrlSetText [_idc, _defaultText]; - }; - case CT_COMBO: { - lbSetCurSel [_idc, 0]; - }; - case CT_LISTBOX: { - lbSetCurSel [_idc, 0]; - }; - case CT_TOOLBOX: { - - }; - case CT_CONTROLS_GROUP: { - (_control >> "controls") call FUNC(loopResetControls); - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopRestoreControls.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopRestoreControls.sqf deleted file mode 100644 index b41f0a848c..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopRestoreControls.sqf +++ /dev/null @@ -1,45 +0,0 @@ -//fnc_loopRestoreControls.sqf -#include "script_component.hpp" -#define GETSTATE(idc,data) [data,idc] call CBA_fnc_hashGet -private ["_controls"]; -_controls = _this select 0; -_data = GVAR(currentState); -if((count _this) > 1) then { - _data = _this select 1; -}; -for "_i" from 0 to (count _controls)-1 do { - _control = _controls select _i; - _type = getNumber(_control >> "type"); - _idc = getNumber(_control >> "idc"); - - if(_idc != -1) then { - switch(_type) do { - case CT_EDIT: { - _text = GETSTATE(_idc,_data); - ctrlSetText [_idc, _text]; - }; - case CT_STATIC: { - _text = GETSTATE(_idc,_data); - ctrlSetText [_idc, _text]; - }; - case CT_COMBO: { - _index = GETSTATE(_idc,_data); - if(IS_ARRAY(_index)) then { - lbSetCurSel [_idc, (_index select 0)]; - }; - }; - case CT_LISTBOX: { - _index = GETSTATE(_idc,_data); - if(IS_ARRAY(_index)) then { - lbSetCurSel [_idc, (_index select 0)]; - }; - }; - case CT_TOOLBOX: { - - }; - case CT_CONTROLS_GROUP: { - [(_control >> "controls"),_data] call FUNC(loopRestoreControls); - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopSaveControls.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopSaveControls.sqf deleted file mode 100644 index f7658729f6..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_loopSaveControls.sqf +++ /dev/null @@ -1,40 +0,0 @@ -//fnc_loopSaveControls.sqf -#include "script_component.hpp" -#define STATESET(data,key,val) [data,key,val] call CBA_fnc_hashSet -private ["_controls"]; -_controls = _this select 0; -_data = GVAR(currentState); -if((count _this) > 1) then { - _data = _this select 1; -}; - -for "_i" from 0 to (count _controls)-1 do { - _control = _controls select _i; - _type = getNumber(_control >> "type"); - _idc = getNumber(_control >> "idc"); - - if(_idc != -1) then { - switch(_type) do { - case CT_EDIT: { - _text = ctrlText _idc; - STATESET(_data,_idc,_text); - }; - case CT_STATIC: { - _text = ctrlText _idc; - STATESET(_data,_idc,_text); - }; - case CT_COMBO: { - STATESET(_data,_idc,[(lbCurSel _idc)]); - }; - case CT_LISTBOX: { - STATESET(_data,_idc,[(lbCurSel _idc)]); - }; - case CT_TOOLBOX: { - - }; - case CT_CONTROLS_GROUP: { - [(_control >> "controls"), _data] call FUNC(loopSaveControls); - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_modifyKnownPoint.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_modifyKnownPoint.sqf deleted file mode 100644 index 1d645ce889..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_modifyKnownPoint.sqf +++ /dev/null @@ -1,35 +0,0 @@ -//fnc_modifyKnownPoint.sqf -#include "script_component.hpp" - -_knownPoints = GVAR(currentComputer) getVariable [QGVAR(knownPoints), []]; -_knownPointName = ctrlText (_this select 1); -_knownPointGrid = ctrlText (_this select 2); -_knownPointAlt = ctrlText (_this select 3); - -_clear = false; -if((count _this) > 4) then { - _clear = _this select 4; -}; - -_index = lbCurSel (_this select 0); - -if(_index == 0) then { - _knownPoints set[(count _knownPoints), [_knownPointName,_knownPointGrid,_knownPointAlt]]; - GVAR(currentComputer) setVariable [QGVAR(knownPoints), _knownPoints, true]; - _logMsg = format["Added Known Point %1 at Grid: %2 Alt: %3", _knownPointName,_knownPointGrid,_knownPointAlt]; - BCSLOG(_logMsg); -} else { - _obIndex = lbValue [(_this select 0), _index]; - _knownPoints set[_obIndex, [_knownPointName,_knownPointGrid,_knownPointAlt]]; - GVAR(currentComputer) setVariable [QGVAR(knownPoints), _knownPoints, true]; - _logMsg = format["Updated Known Point %1 at Grid: %2 Alt: %3", _knownPointName,_knownPointGrid,_knownPointAlt]; - BCSLOG(_logMsg); -}; -(_this select 0) call FUNC(populateKnownPointList); -if(_clear) then { - ctrlSetText [(_this select 1), ""]; - ctrlSetText [(_this select 2), ""]; - ctrlSetText [(_this select 3), ""]; -} else { - lbSetCurSel [(_this select 0), (count _knownPoints)]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_modifyObserver.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_modifyObserver.sqf deleted file mode 100644 index 1d801ba9c8..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_modifyObserver.sqf +++ /dev/null @@ -1,35 +0,0 @@ -//fnc_modifyObserver.sqf -#include "script_component.hpp" - -_observers = GVAR(currentComputer) getVariable [QGVAR(observers), []]; -_observerName = ctrlText (_this select 1); -_observerGrid = ctrlText (_this select 2); -_observerAlt = ctrlText (_this select 3); - -_clear = false; -if((count _this) > 4) then { - _clear = _this select 4; -}; - -_index = lbCurSel (_this select 0); - -if(_index == 0) then { - _observers set[(count _observers), [_observerName,_observerGrid,_observerAlt]]; - GVAR(currentComputer) setVariable [QGVAR(observers), _observers, true]; - _logMsg = format["Added Observer %1 at Grid: %2 Alt: %3", _observerName,_observerGrid,_observerAlt]; - BCSLOG(_logMsg); -} else { - _obIndex = lbValue [(_this select 0), _index]; - _observers set[_obIndex, [_observerName,_observerGrid,_observerAlt]]; - GVAR(currentComputer) setVariable [QGVAR(observers), _observers, true]; - _logMsg = format["Updated Observer %1 at Grid: %2 Alt: %3", _observerName,_observerGrid,_observerAlt]; - BCSLOG(_logMsg); -}; -(_this select 0) call FUNC(populateObserverList); -if(_clear) then { - ctrlSetText [(_this select 1), ""]; - ctrlSetText [(_this select 2), ""]; - ctrlSetText [(_this select 3), ""]; -} else { - lbSetCurSel [(_this select 0), (count _observers)]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_openMap.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_openMap.sqf deleted file mode 100644 index 40d3c5f91e..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_openMap.sqf +++ /dev/null @@ -1,15 +0,0 @@ -//fnc_openMap.sqf -#include "script_component.hpp" -_computer = GVAR(currentComputer); -GVAR(openingMap) = true; -closeDialog 754; -openMap true; -_computer spawn { - _computer = _this; - waitUntil { - _vis = visibleMap; - (!_vis) - }; - [_computer] call FUNC(startBCS); - GVAR(openingMap) = false; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_openRadio.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_openRadio.sqf deleted file mode 100644 index d0d4df04a9..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_openRadio.sqf +++ /dev/null @@ -1,4 +0,0 @@ -//fnc_openRadio.sqf -#include "script_component.hpp" - -[] call acre_sys_radio_fnc_openRadio; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_parseGrid.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_parseGrid.sqf deleted file mode 100644 index 0e6e690efb..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_parseGrid.sqf +++ /dev/null @@ -1,32 +0,0 @@ -//fnc_parseGrid.sqf -#include "script_component.hpp" - -_grid = _this; -_gridArray = toArray _grid; -_easting = []; -_northing = []; -for "_i" from 0 to (count _gridArray)-1 do { - if(_i < (count _gridArray)/2) then { - _easting set[(count _easting), (_gridArray select _i)]; - } else { - _northing set[(count _northing), (_gridArray select _i)]; - }; -}; -_m = 10000; -_eastingTotal = 0; -_northingTotal = 0; - -for "_i" from 0 to (count _northing)-1 do { - _eastingTotal = _eastingTotal + ((parseNumber (toString [(_easting select _i)]))*_m); - _northingTotal = _northingTotal + ((parseNumber ( toString [(_northing select _i)]))*_m); - _m = _m/10; -}; - -_reversed = [] call CBA_fnc_northingReversed; -if(_reversed) then { - _northingTotal = _northingTotal + (_m*10); - _northingTotal-((_m*10)/2) -} else { - _northingTotal+((_m*10)/2) -}; -[_eastingTotal+((_m*10)/2), _northingTotal] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_populateKnownPointList.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_populateKnownPointList.sqf deleted file mode 100644 index 7c17807b89..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_populateKnownPointList.sqf +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" -_idc = _this; -_knownPoints = GVAR(currentComputer) getVariable [QGVAR(knownPoints), []]; -// [_name, _pos, _alt] -lbClear _idc; -if(_idc == IDC_Main_KnownPointSelect) then { - _index = lbAdd [_idc, "New Known Point"]; - lbSetValue [_idc, _index, -1]; -} else { - _index = lbAdd [_idc, "Select Known Point"]; - lbSetValue [_idc, _index, -1]; -}; -{ - _index = lbAdd [_idc, (_x select 0)]; - lbSetValue [_idc, _index, _forEachIndex]; -} forEach _knownPoints; -lbSetCurSel [_idc, 0]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_populateObserverList.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_populateObserverList.sqf deleted file mode 100644 index 24c0ae578a..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_populateObserverList.sqf +++ /dev/null @@ -1,12 +0,0 @@ -#include "script_component.hpp" -_idc = _this; -_observers = GVAR(currentComputer) getVariable [QGVAR(observers), []]; -// [_name, _pos, _alt] -lbClear _idc; -_index = lbAdd [_idc, "New Observer"]; -lbSetValue [_idc, _index, -1]; -{ - _index = lbAdd [_idc, (_x select 0)]; - lbSetValue [_idc, _index, _forEachIndex]; -} forEach _observers; -lbSetCurSel [_idc, 0]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_returnMainScreen.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_returnMainScreen.sqf deleted file mode 100644 index 660a526173..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_returnMainScreen.sqf +++ /dev/null @@ -1,9 +0,0 @@ -#include "script_component.hpp" - - -[MAIN_ID] call FUNC(switchMenu); -GVAR(missionComputed) = false; -[] call FUNC(initMainScreen); -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_main" >> "controls"; -_batteryData = GVAR(currentComputer) getVariable QGVAR(batteryData); -[_controls, _batteryData] call FUNC(loopRestoreControls); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_selectKnownPoint.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_selectKnownPoint.sqf deleted file mode 100644 index 1ad413bf31..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_selectKnownPoint.sqf +++ /dev/null @@ -1,16 +0,0 @@ -//fnc_selectKnownPoint.sqf -#include "script_component.hpp" - -_knownPoints = GVAR(currentComputer) getVariable [QGVAR(knownPoints), []]; -_index = lbCurSel (_this select 0); -_val = (lbValue [(_this select 0), _index]); -if(_val >= 0) then { - _data = _knownPoints select _val; - _knownPointName = ctrlSetText [(_this select 1), (_data select 0)]; - _knownPointGrid = ctrlSetText [(_this select 2), (_data select 1)]; - _knownPointAlt = ctrlSetText [(_this select 3), (_data select 2)]; -} else { - _knownPointName = ctrlSetText [(_this select 1), ""]; - _knownPointGrid = ctrlSetText [(_this select 2), ""]; - _knownPointAlt = ctrlSetText [(_this select 3), ""]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_selectObserver.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_selectObserver.sqf deleted file mode 100644 index d976eb6779..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_selectObserver.sqf +++ /dev/null @@ -1,17 +0,0 @@ -//fnc_selectObserver.sqf -#include "script_component.hpp" - - -_observers = GVAR(currentComputer) getVariable [QGVAR(observers), []]; -_index = lbCurSel (_this select 0); -_val = lbValue [(_this select 0), _index]; -if(_val >= 0) then { - _data = _observers select _val; - _observerName = ctrlSetText [(_this select 1), (_data select 0)]; - _observerGrid = ctrlSetText [(_this select 2), (_data select 1)]; - _observerAlt = ctrlSetText [(_this select 3), (_data select 2)]; -} else { - _observerName = ctrlSetText [(_this select 1), ""]; - _observerGrid = ctrlSetText [(_this select 2), ""]; - _observerAlt = ctrlSetText [(_this select 3), ""]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_setFuzeSelection.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_setFuzeSelection.sqf deleted file mode 100644 index e1dea191e4..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_setFuzeSelection.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//fnc_setFuzeSelection.sqf -#include "script_component.hpp" - -_ammoType = _this select 0; -_selectedFuze = _this select 1; -_fuzes = getArray(configFile >> "CfgMagazines" >> _ammoType >> "ACE_ARTY_FUZE_TYPES"); -_fuzeNames = getArray(configFile >> "CfgMagazines" >> _ammoType >> "ACE_ARTY_FUZE_DESC"); -_selectIndex = 0; -lbClear IDC_Mission_EngageFuzeTypeSelect; -{ - _displayName = _fuzeNames select _forEachIndex; - _index = lbAdd [IDC_Mission_EngageFuzeTypeSelect, _displayName]; - lbSetData [IDC_Mission_EngageFuzeTypeSelect, _index, _x]; - if(_x == _selectedFuze) then { - _selectIndex = _forEachIndex; - }; -} forEach (_fuzes); -lbSetCurSel [IDC_Mission_EngageFuzeTypeSelect, _selectIndex]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_setFuzeSelectionMission.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_setFuzeSelectionMission.sqf deleted file mode 100644 index e1dea191e4..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_setFuzeSelectionMission.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//fnc_setFuzeSelection.sqf -#include "script_component.hpp" - -_ammoType = _this select 0; -_selectedFuze = _this select 1; -_fuzes = getArray(configFile >> "CfgMagazines" >> _ammoType >> "ACE_ARTY_FUZE_TYPES"); -_fuzeNames = getArray(configFile >> "CfgMagazines" >> _ammoType >> "ACE_ARTY_FUZE_DESC"); -_selectIndex = 0; -lbClear IDC_Mission_EngageFuzeTypeSelect; -{ - _displayName = _fuzeNames select _forEachIndex; - _index = lbAdd [IDC_Mission_EngageFuzeTypeSelect, _displayName]; - lbSetData [IDC_Mission_EngageFuzeTypeSelect, _index, _x]; - if(_x == _selectedFuze) then { - _selectIndex = _forEachIndex; - }; -} forEach (_fuzes); -lbSetCurSel [IDC_Mission_EngageFuzeTypeSelect, _selectIndex]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_simpleBallistics.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_simpleBallistics.sqf deleted file mode 100644 index c80bd06bfc..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_simpleBallistics.sqf +++ /dev/null @@ -1,30 +0,0 @@ -// #define DEBUG_MODE_FULL -#include "script_component.hpp" - - - -TRACE_1("", _this); -private["_airFriction","_vel","_useElevation","_y", "_vx", "_vy", "_grav", "_x", "_frame"]; - -_airFriction = (_this select 0); -_vel = (_this select 1); -_useElevation = (_this select 2); -_y = (_this select 3); -_vx = _vel * cos(_useElevation); -_vy = _vel * sin(_useElevation); -_grav = -9.80665; -_x = 0; - -_frame = 1/60; - -while {_y >= 0} do -{ - _vx = _vx + (_vx * _vel * _airFriction * _frame); - _vy = _vy + (_vy * _vel * _airFriction * _frame); - _vy = _vy + (_grav * _frame); - _vel = sqrt(_vx*_vx + _vy*_vy); - - _y = _y + (_vy * _frame); - _x = _x + (_vx * _frame); -}; -_x \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_startBCS.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_startBCS.sqf deleted file mode 100644 index d32158bbaf..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_startBCS.sqf +++ /dev/null @@ -1,23 +0,0 @@ -//fnc_startBCS.sqf -#include "script_component.hpp" -disableSerialization; - -PARAMS_1(_computer); -GVAR(currentComputer) = _computer; - -_currentUser = GVAR(currentComputer) getVariable [QGVAR(currentUser), GVAR(currentComputer)]; -if(_currentUser == GVAR(currentComputer) || _currentUser == player) then { - createDialog "ace_arty_bcs_Display"; - if(_currentUser == GVAR(currentComputer)) then { - GVAR(currentComputer) setVariable [QGVAR(currentUser), player, true]; - }; -} else { - if(!(alive _currentUser) || !(_currentUser in GVAR(currentComputer))) then { - createDialog "ace_arty_bcs_Display"; - GVAR(currentComputer) setVariable [QGVAR(currentUser), player, true]; - } else { - hint format["BCS is currently in use by: %1", _currentUser]; - }; -}; - - diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_startMission.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_startMission.sqf deleted file mode 100644 index 6bcd92a66f..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_startMission.sqf +++ /dev/null @@ -1,23 +0,0 @@ -#include "script_component.hpp" - -// Do battery check -_missionType = _this select 0; -_adjust = _this select 1; -_batteryData = [] call CBA_fnc_hashCreate; -_controls = configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_main" >> "controls"; -_valid = [_controls, _batteryData] call FUNC(validateData); -GVAR(currentOT) = ""; -if(_valid) then { - _okTypes = ["grid", "polar", "shift"]; // only supported types for right now, immediates/repeat will come sooon!!! - if(_missionType in _okTypes) then { - GVAR(currentComputer) setVariable [QGVAR(batteryData), _batteryData, true]; - GVAR(currentComputer) setVariable [QGVAR(currentMissionType), _this, true]; - (configNamespace >> "ace_arty_bcs_Display" >> "controls" >> "ace_arty_bcs_mission" >> "controls") call FUNC(loopResetControls); - [MISSION_ID] call FUNC(switchMenu); - - - _missionType call FUNC(initMissionScreen); - } else { - BCSERROR("Current mission type is not supported in this version of the software."); - }; -}; diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_stepBack.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_stepBack.sqf deleted file mode 100644 index fa49f4df42..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_stepBack.sqf +++ /dev/null @@ -1,34 +0,0 @@ -// #define DEBUG_MODE_FULL -#include "script_component.hpp" - - - -TRACE_1("", _this); - -_airFriction = (_this select 0); -_vel = (_this select 1); -_useElevation = (_this select 2); -_y = (_this select 3); -_stepDis = (_this select 4); -_x = (_this select 5); -_time = (_this select 6); -_checkDistance = _x - _stepDis; -_vx = _vel * cos(_useElevation); -_vy = _vel * sin(_useElevation); -_grav = -9.80665; - - -_frame = 1/60; -_elev = 0; -while {_x >= _checkDistance} do -{ - _vx = _vx - (_vx * _vel * _airFriction * _frame); - _vy = _vy - (_vy * _vel * _airFriction * _frame); - _vy = _vy + (abs(_grav * _frame)); - _vel = sqrt(_vx*_vx + _vy*_vy); - _elev = asin (_vy / _vel); - _y = _y - (_vy * _frame); - _x = _x - (_vx * _frame); - _time = _time - _frame; -}; -[_x, _y, _vel, _elev, _time] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_switchMenu.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_switchMenu.sqf deleted file mode 100644 index 9d08b7665f..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_switchMenu.sqf +++ /dev/null @@ -1,46 +0,0 @@ -#include "script_component.hpp" - -_show = _this select 0; -_saveState = false; -if((count _this) > 1) then { - _saveState = _this select 1; -}; -if(_saveState) then { - _controls = configNamespace >> "ace_arty_bcs_Display" >> "controls"; - - switch(GVAR(currentScreen)) do { - case MAIN_ID: { - _controls = _controls >> "ace_arty_bcs_main"; - }; - case MISSION_ID: { - _controls = _controls >> "ace_arty_bcs_mission"; - }; - case ADJUST_ID: { - _controls = _controls >> "ace_arty_bcs_adjust"; - }; - case FFE_ID: { - _controls = _controls >> "ace_arty_bcs_ffe"; - }; - }; - - _controls = _controls >> "controls"; - - - GVAR(lastPage) = [] call CBA_fnc_hashCreate; - [_controls,GVAR(lastPage)] call FUNC(loopSaveControls); - GVAR(currentComputer) setVariable[QGVAR(lastPage), GVAR(lastPage), true]; -}; - -_controls = [MAIN_ID, MISSION_ID, ADJUST_ID, FFE_ID]; - - -{ - ctrlShow [_x, false]; -} forEach(_controls); - -ctrlShow [_show, true]; - -if(GVAR(currentScreen) != _show) then { - GVAR(currentScreen) = _show; - GVAR(currentComputer) setVariable[QGVAR(currentScreen), GVAR(currentScreen), true]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_validateData.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_validateData.sqf deleted file mode 100644 index ffbaa170ec..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_validateData.sqf +++ /dev/null @@ -1,69 +0,0 @@ -#include "script_component.hpp" - -private ["_controls", "_storageHash", "_allValid"]; -_controls = _this select 0; -_storageHash = _this select 1; -_allValid = true; -for "_i" from 0 to (count _controls)-1 do { - _control = _controls select _i; - _type = getNumber(_control >> "type"); - _idc = getNumber(_control >> "idc"); - _name = getText(_control >> "ACE_BCS_InputName"); - _requireType = getNumber(_control >> "ACE_BCS_Require"); - if(isNil "_requireType" || _requireType == 0) then { - _requireType = BCS_REQUIRE_IGNORE; - }; - if(ctrlVisible _idc) then { - if(isNil "_name") then { - _name = format["control: %1", _idc]; - }; - if(_idc != -1) then { - _valid = true; - _value = nil; - switch(_type) do { - case CT_EDIT: { - _valid = _control call FUNC(validateTextField); - _value = ctrlText _idc; - }; - case CT_COMBO: { - _index = (lbCurSel _idc); - _value = []; - if(_index == -1) then { - _valid = false; - } else { - _value = [_index, (lbValue [_idc, _index]), (lbData [_idc, _index])]; - }; - }; - case CT_LISTBOX: { - _index = (lbCurSel _idc); - _value = []; - if(_index == -1) then { - _valid = false; - } else { - _value = [_index, (lbValue [_idc, _index]), (lbData [_idc, _index])]; - }; - }; - case CT_TOOLBOX: { - - }; - case CT_CONTROLS_GROUP: { - _allValid = [(_control >> "controls"), _storageHash] call FUNC(validateData); - }; - }; - if(_valid || _requireType == BCS_REQUIRE_IGNORE) then { - [_storageHash, _idc, _value] call CBA_fnc_hashSet; - } else { - switch(_requireType) do { - case BCS_REQUIRE_FALSE: { - BCSWARN(_name + " is invalid."); - }; - case BCS_REQUIRE_TRUE: { - BCSERROR(_name + " is invalid."); - _allValid = false; - }; - }; - }; - }; - }; -}; -_allValid \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/fnc_validateTextField.sqf b/TO_MERGE/ace/arty_computers/gyk-37/fnc_validateTextField.sqf deleted file mode 100644 index 6ce47e3557..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/fnc_validateTextField.sqf +++ /dev/null @@ -1,64 +0,0 @@ -#include "script_component.hpp" - -#define VALID_NUMBER(ctrl,vari) (vari != 0 || (vari == 0 && ctrl == "0")) - -_control = _this; -_type = getNumber(_control >> "type"); -_idc = getNumber(_control >> "idc"); -_bcsType = getNumber(_control >> "ACE_BCS_Type"); -if(isNil "_bcsType") then { - _bcsType = BCS_FIELD_DEFAULT; -}; -_ctrlText = ctrlText _idc; -_validate = true; -switch (_bcsType) do { - case BCS_FIELD_DEFAULT: { - if(_ctrlText == "") then { - _validate = false; - }; - }; - case BCS_FIELD_NUMBER: { - if(_ctrlText != "") then { - _test = parseNumber _ctrlText; - if(VALID_NUMBER(_ctrlText,_test)) then { - if((isNumber(_control >> "ACE_BCS_MinNumber"))) then { - _minValue = getNumber(_control >> "ACE_BCS_MinNumber"); - if(!(isNil "_minValue")) then { - if(_test < _minValue) then { - _validate = false; - }; - }; - }; - if((isNumber(_control >> "ACE_BCS_MaxNumber"))) then { - _maxValue = getNumber(_control >> "ACE_BCS_MaxNumber"); - if(!(isNil "_maxValue")) then { - if(_test > _maxValue) then { - _validate = false; - }; - }; - }; - } else { - _validate = false; - }; - } else { - _validate = false; - }; - }; - case BCS_FIELD_GRID: { - if(_ctrlText != "") then { - _test = parseNumber _ctrlText; - if(VALID_NUMBER(_ctrlText,_test)) then { - _strArray = toArray _ctrlText; - _valid = [2,4,6,8,10]; - if(!((count _strArray) in _valid)) then { - _validate = false; - }; - } else { - _validate = false; - }; - } else { - _validate = false; - }; - }; -}; -_validate \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/main.hpp b/TO_MERGE/ace/arty_computers/gyk-37/main.hpp deleted file mode 100644 index 0fa99652ad..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/main.hpp +++ /dev/null @@ -1,391 +0,0 @@ -#include "script_component.hpp" -class ace_arty_bcs_main:ace_arty_bcs_ControlGroup { - idc = MAIN_ID; - class controls { - class GVAR(welcome):ace_arty_bcs_RscText { - text = "AN/GYK-37 Battery Computer System (BCS)"; - x = 0; - y = ROWPOS(0); - }; - class GVAR(title):ace_arty_bcs_RscText { - text = "Main Screen"; - x = 0; - y = ROWPOS(1); - }; - - // Battery Name - class GVAR(BatteryName):ace_arty_bcs_RscText { - text = "Battery Name"; - x = 0; - y = ROWPOS(3); - }; - class GVAR(BatteryNameInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_BatteryNameInput; - x = COLPOS(4); - y = ROWPOS(3); - w = COLPOS(3); - ACE_BCS_InputName = "Battery Name"; - ACE_BCS_Require = BCS_REQUIRE_FALSE; - text = ""; - }; - - // FDC Name - class GVAR(FDCCallsign):ace_arty_bcs_RscText { - text = "FDC Callsign"; - x = 0; - y = ROWPOS(4); - }; - class GVAR(FDCCallsignInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_FDCCallsignInput; - x = COLPOS(4); - y = ROWPOS(4); - w = COLPOS(3); - ACE_BCS_InputName = "FDC Callsign"; - ACE_BCS_Require = BCS_REQUIRE_FALSE; - text = ""; - }; - - // Battery Location - class GVAR(BatteryLocation):ace_arty_bcs_RscText { - text = "Battery Type:"; - x = 0; - y = ROWPOS(5); - }; - - class GVAR(BatteryType):ace_arty_bcs_RscComboBox { - idc = IDC_Main_BatteryType; - x = COLPOS(4); - y = ROWPOS(5); - w = COLPOS(5); - h = ROWPOS(1); - ACE_BCS_InputName = "Battery Type"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - }; - - // Battery Grid - class GVAR(BatteryGrid):ace_arty_bcs_RscText { - text = "GRID"; - x = COLPOS(1); - y = ROWPOS(6); - w = COLPOS(3); - }; - class GVAR(BatteryGridInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_BatteryGridInput; - x = COLPOS(4); - y = ROWPOS(6); - w = COLPOS(3); - ACE_BCS_InputName = "Battery Grid"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_GRID; - text = ""; - }; - - // Battery Altitude - class GVAR(BatteryAlt):ace_arty_bcs_RscText { - text = "ALT"; - x = COLPOS(1); - y = ROWPOS(7); - w = COLPOS(1); - }; - class GVAR(BatteryAltInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_BatteryAltInput; - x = COLPOS(4); - y = ROWPOS(7); - w = COLPOS(2); - ACE_BCS_InputName = "Battery Altitude"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - text = ""; - }; - - // Battery DOF - class GVAR(BatteryDOF):ace_arty_bcs_RscText { - text = "Dir. of Fire"; - x = COLPOS(1); - y = ROWPOS(8); - w = COLPOS(3); - }; - class GVAR(BatteryDOFInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_BatteryDOFInput; - x = COLPOS(4); - y = ROWPOS(8); - w = COLPOS(2); - ACE_BCS_InputName = "Battery Direction of Fire"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - ACE_BCS_MinNumber = 0; - ACE_BCS_MaxNumber = 6400; - text = ""; - }; - - // Target Prefix - class GVAR(TargetPrefix):ace_arty_bcs_RscText { - text = "Target Prefix"; - x = 0; - y = ROWPOS(9); - }; - class GVAR(TargetPrefixInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_TargetPrefix; - x = COLPOS(4); - y = ROWPOS(9); - w = COLPOS(1); - ACE_BCS_InputName = "Target Prefix"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - text = ""; - }; - - // Target Num Start - class GVAR(TargetNumStart):ace_arty_bcs_RscText { - text = "Target # Start"; - x = 0; - y = ROWPOS(10); - }; - class GVAR(TargetNumStartInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_TargetNumStart; - x = COLPOS(4); - y = ROWPOS(10); - w = COLPOS(2); - ACE_BCS_InputName = "Targeting Start Number"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - ACE_BCS_MinNumber = 0; - text = ""; - }; - - class GVAR(ObserverInformation):ace_arty_bcs_RscText { - text = "OBSERVER INFORMATION"; - x = COLPOS(12); - y = ROWPOS(3); - }; - - class GVAR(ObserverSelect):ace_arty_bcs_RscText { - text = "Select:"; - x = COLPOS(12); - y = ROWPOS(4); - w = COLPOS(2); - }; - class GVAR(ObserverSelectInput):ace_arty_bcs_RscComboBox { - idc = IDC_Main_ObserverSelect; - x = COLPOS(15); - y = ROWPOS(4); - w = COLPOS(5); - h = ROWPOS(1); - onLBSelChanged = QUOTE([ARR_4(IDC_Main_ObserverSelect,IDC_Main_Observer,IDC_Main_ObserverPosInput,IDC_Main_ObserverAltInput)] call FUNC(selectObserver)); - }; - - // Observer Callsign - class GVAR(Observer):ace_arty_bcs_RscText { - text = "Observer:"; - x = COLPOS(12); - y = ROWPOS(5); - w = COLPOS(2); - }; - class GVAR(ObserverInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_Observer; - x = COLPOS(15); - y = ROWPOS(5); - w = COLPOS(2); - }; - - // Observer Pos - class GVAR(ObserverPos):ace_arty_bcs_RscText { - text = "Observer Grid:"; - x = COLPOS(12); - y = ROWPOS(6); - w = COLPOS(3); - }; - class GVAR(ObserverPosInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_ObserverPosInput; - x = COLPOS(15); - y = ROWPOS(6); - w = COLPOS(3); - ACE_BCS_InputName = "Observer Grid"; - ACE_BCS_Type = BCS_FIELD_GRID; - }; - - // Observer Alt - class GVAR(ObserverAlt):ace_arty_bcs_RscText { - text = "Observer Alt:"; - x = COLPOS(12); - y = ROWPOS(7); - w = COLPOS(3); - }; - class GVAR(ObserverAltInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_ObserverAltInput; - x = COLPOS(15); - y = ROWPOS(7); - w = COLPOS(2); - ACE_BCS_InputName = "Observer Altitude"; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - class GVAR(UpdateAddObserver):ace_arty_bcs_RscButton { - text = "Add/Update"; - x = COLPOS(12.5); - y = ROWPOS(8); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_5(IDC_Main_ObserverSelect,IDC_Main_Observer,IDC_Main_ObserverPosInput,IDC_Main_ObserverAltInput,true)] call FUNC(modifyObserver)); - }; - - // Known Points - class GVAR(KnowPointInformation):ace_arty_bcs_RscText { - text = "KNOWN POINTS"; - x = COLPOS(12); - y = ROWPOS(10); - }; - - class GVAR(KnownPointsSelect):ace_arty_bcs_RscText { - text = "Select:"; - x = COLPOS(12); - y = ROWPOS(11); - w = COLPOS(2); - }; - class GVAR(KnownPointsSelectInput):ace_arty_bcs_RscComboBox { - idc = IDC_Main_KnownPointSelect; - x = COLPOS(15); - y = ROWPOS(11); - w = COLPOS(5); - h = ROWPOS(1); - onLBSelChanged = QUOTE([ARR_4(IDC_Main_KnownPointSelect,IDC_Main_KnownPoint,IDC_Main_KnownPointPosInput,IDC_Main_KnownPointAltInput)] call FUNC(selectKnownPoint)); - }; - - class GVAR(KnownPoint):ace_arty_bcs_RscText { - text = "Name:"; - x = COLPOS(12); - y = ROWPOS(12); - w = COLPOS(2); - }; - class GVAR(KnownPointInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_KnownPoint; - x = COLPOS(15); - y = ROWPOS(12); - w = COLPOS(2); - ACE_BCS_InputName = "Know Point Name"; - }; - - class GVAR(KnownPointPos):ace_arty_bcs_RscText { - text = "Grid:"; - x = COLPOS(12); - y = ROWPOS(13); - w = COLPOS(3); - }; - class GVAR(KnownPointPosInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_KnownPointPosInput; - x = COLPOS(15); - y = ROWPOS(13); - w = COLPOS(3); - ACE_BCS_InputName = "Known Point Grid"; - ACE_BCS_Type = BCS_FIELD_GRID; - }; - - class GVAR(KnownPointAlt):ace_arty_bcs_RscText { - text = "Alt:"; - x = COLPOS(12); - y = ROWPOS(14); - w = COLPOS(3); - }; - class GVAR(KnownPointAltInput):ace_arty_bcs_RscTextBox { - idc = IDC_Main_KnownPointAltInput; - x = COLPOS(15); - y = ROWPOS(14); - w = COLPOS(2); - ACE_BCS_InputName = "Known Point Altitude"; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - class GVAR(UpdateAddKnownPoint):ace_arty_bcs_RscButton { - text = "Add/Update"; - x = COLPOS(12.5); - y = ROWPOS(15); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_5(IDC_Main_KnownPointSelect,IDC_Main_KnownPoint,IDC_Main_KnownPointPosInput,IDC_Main_KnownPointAltInput,true)] call FUNC(modifyKnownPoint)); - }; - - - // FFE - class GVAR(MissionGridButton):ace_arty_bcs_RscButton { - text = "GRID"; - x = COLPOS(1); - y = ROWPOS(12); - w = COLPOS(3); - h = ROWPOS(2); - action = "['grid', false] call ace_sys_arty_computers_gyk37_fnc_startMission"; - }; - - class GVAR(MissionPolarButton):ace_arty_bcs_RscButton { - text = "POLAR"; - x = COLPOS(5); - y = ROWPOS(12); - w = COLPOS(3); - h = ROWPOS(2); - action = "['polar', false] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - }; - - class GVAR(MissionShiftButton):ace_arty_bcs_RscButton { - text = "SHIFT"; - x = COLPOS(9); - y = ROWPOS(12); - w = COLPOS(3); - h = ROWPOS(2); - action = "['shift', false] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - }; - /* - // Adjust - class GVAR(MissionAdjustGridButton):ace_arty_bcs_RscButton { - text = "ADJUST GRID"; - x = COLPOS(1); - y = ROWPOS(15); - w = COLPOS(3); - h = ROWPOS(2); - action = "['grid', true] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - }; - - class GVAR(MissionAdjustPolarButton):ace_arty_bcs_RscButton { - text = "ADJUST POLAR"; - x = COLPOS(5); - y = ROWPOS(15); - w = COLPOS(3); - h = ROWPOS(2); - action = "['polar', true] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - }; - - class GVAR(MissionAdjustShiftButton):ace_arty_bcs_RscButton { - text = "ADJUST SHIFT"; - x = COLPOS(9); - y = ROWPOS(15); - w = COLPOS(3); - h = ROWPOS(2); - action = "['shift', true] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - }; - */ - // Special - // class GVAR(MissionImmediateSupressionButton):ace_arty_bcs_RscButton { - // text = "IMMED. SUPRESS."; - // x = COLPOS(1); - // y = ROWPOS(18); - // w = COLPOS(3); - // h = ROWPOS(2); - // action = "['supress', false] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - // }; - - // class GVAR(MissionImmediateSmokeButton):ace_arty_bcs_RscButton { - // text = "IMMED. SMOKE"; - // x = COLPOS(5); - // y = ROWPOS(18); - // w = COLPOS(3); - // h = ROWPOS(2); - // action = "['supressSmoke', false] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - // }; - - // class GVAR(MissionRepeatButton):ace_arty_bcs_RscButton { - // text = "REPEAT"; - // x = COLPOS(9); - // y = ROWPOS(18); - // w = COLPOS(3); - // h = ROWPOS(2); - // action = "['repeat', false] call ace_sys_arty_computers_gyk37_fnc_startMission;"; - // }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/mission.hpp b/TO_MERGE/ace/arty_computers/gyk-37/mission.hpp deleted file mode 100644 index f8509f5297..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/mission.hpp +++ /dev/null @@ -1,618 +0,0 @@ -class ace_arty_bcs_mission:ace_arty_bcs_ControlGroup { - idc = MISSION_ID; - class controls { - class GVAR(welcome):ace_arty_bcs_RscText { - text = "AN/GYK-37 Battery Computer System (BCS)"; - x = 0; - y = ROWPOS(0); - }; - - // GRID FIELDS - class ace_arty_bcs_mission_grid:ace_arty_bcs_ControlGroup { - idc = MAIN_ID_GRID; - x = 0; - y = ROWPOS(2); - h = ROWPOS(8); - w = COLPOS(10); - class controls { - class GVAR(welcome):ace_arty_bcs_RscText { - text = "MISSION GRID REFERENCE"; - x = 0; - y = ROWPOS(0); - }; - // Battery Grid - class GVAR(MissionGridGrid):ace_arty_bcs_RscText { - text = "Grid:"; - x = COLPOS(1); - y = ROWPOS(1); - w = COLPOS(2); - }; - class GVAR(MissionGridGridInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionGridGridInput; - x = COLPOS(4); - y = ROWPOS(1); - w = COLPOS(3); - text = ""; - ACE_BCS_InputName = "Target Grid"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_GRID; - }; - - // Battery Altitude - class GVAR(MissionGridAlt):ace_arty_bcs_RscText { - text = "Alt:"; - x = COLPOS(1); - y = ROWPOS(2); - w = COLPOS(2); - }; - class GVAR(MissionGridAltInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionGridAltInput; - x = COLPOS(4); - y = ROWPOS(2); - w = COLPOS(2); - text = ""; - ACE_BCS_InputName = "Target Altitude"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - }; - }; - - // POLAR FIELDS - class ace_arty_bcs_mission_polar:ace_arty_bcs_ControlGroup { - idc = MAIN_ID_POLAR; - x = 0; - y = ROWPOS(2); - h = ROWPOS(8); - w = COLPOS(10); - class controls { - class GVAR(welcome):ace_arty_bcs_RscText { - text = "MISSION POLAR COORDINATES"; - x = 0; - y = ROWPOS(0); - }; - - class GVAR(MissionPolarObserverSelect):ace_arty_bcs_RscText { - text = "Select:"; - x = COLPOS(1); - y = ROWPOS(1); - w = COLPOS(2); - }; - class GVAR(MissionPolarObserverSelectInput):ace_arty_bcs_RscComboBox { - idc = IDC_Mission_MissionPolarObserverSelect; - x = COLPOS(4); - y = ROWPOS(1); - w = COLPOS(5); - h = ROWPOS(1); - onLBSelChanged = QUOTE([ARR_4(IDC_Mission_MissionPolarObserverSelect,IDC_Mission_MissionPolarObserverInput,IDC_Mission_MissionPolarObserverPosInput,IDC_Mission_MissionPolarObserverAltInput)] call FUNC(selectObserver)); - }; - - // Observer Callsign - class GVAR(MissionPolarObserver):ace_arty_bcs_RscText { - text = "Observer:"; - x = COLPOS(1); - y = ROWPOS(2); - w = COLPOS(2); - }; - class GVAR(MissionPolarObserverInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionPolarObserverInput; - x = COLPOS(4); - y = ROWPOS(2); - w = COLPOS(2); - }; - - // Observer Pos - class GVAR(MissionPolarObserverPos):ace_arty_bcs_RscText { - text = "Observer Grid:"; - x = COLPOS(1); - y = ROWPOS(3); - w = COLPOS(3); - }; - class GVAR(MissionPolarObserverPosInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionPolarObserverPosInput; - x = COLPOS(4); - y = ROWPOS(3); - w = COLPOS(3); - ACE_BCS_InputName = "Observer Grid"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_GRID; - }; - - // Observer Alt - class GVAR(MissionPolarObserverAlt):ace_arty_bcs_RscText { - text = "Observer Alt:"; - x = COLPOS(1); - y = ROWPOS(4); - w = COLPOS(3); - }; - class GVAR(MissionPolarObserverAltInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionPolarObserverAltInput; - x = COLPOS(4); - y = ROWPOS(4); - w = COLPOS(2); - ACE_BCS_InputName = "Observer Altitude"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - class GVAR(MissionPolarUpdateAddObserver):ace_arty_bcs_RscButton { - text = "Add/Update"; - x = COLPOS(7); - y = ROWPOS(4); - w = COLPOS(2); - h = ROWPOS(1); - action = QUOTE([ARR_4(IDC_Mission_MissionPolarObserverSelect,IDC_Mission_MissionPolarObserverInput,IDC_Mission_MissionPolarObserverPosInput,IDC_Mission_MissionPolarObserverAltInput)] call FUNC(modifyObserver)); - }; - - // Observer-Target Direction - class GVAR(MissionPolarOTDir):ace_arty_bcs_RscText { - text = "OT Dir:"; - x = COLPOS(1); - y = ROWPOS(5); - w = COLPOS(2); - }; - class GVAR(MissionPolarOTDirInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionPolarOTDirInput; - x = COLPOS(4); - y = ROWPOS(5); - w = COLPOS(2); - ACE_BCS_InputName = "Observer Target Direction"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - ACE_BCS_MinNumber = 0; - ACE_BCS_MaxNumber = 6400; - }; - - // Range - class GVAR(MissionPolarRange):ace_arty_bcs_RscText { - text = "Range:"; - x = COLPOS(1); - y = ROWPOS(6); - w = COLPOS(2); - }; - class GVAR(MissionPolarRangeInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionPolarRangeInput; - x = COLPOS(4); - y = ROWPOS(6); - w = COLPOS(2); - ACE_BCS_InputName = "Target Range"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Alt - class GVAR(MissionPolarAlt):ace_arty_bcs_RscText { - text = "Alt Dif:"; - x = COLPOS(1); - y = ROWPOS(7); - w = COLPOS(2); - }; - class GVAR(MissionPolarAltInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionPolarAltDifInput; - x = COLPOS(4); - y = ROWPOS(7); - w = COLPOS(2); - ACE_BCS_InputName = "Altitude Difference"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - }; - }; - - // SHIFT FIELDS - class ace_arty_bcs_mission_shift:ace_arty_bcs_ControlGroup { - idc = MAIN_ID_SHIFT; - x = 0; - y = ROWPOS(2); - h = ROWPOS(8); - w = COLPOS(10); - class controls { - class GVAR(welcome):ace_arty_bcs_RscText { - text = "MISSION SHIFT KNOWN POINT"; - x = 0; - y = ROWPOS(0); - }; - class GVAR(MissionShiftKnownPointSelect):ace_arty_bcs_RscText { - text = "Select:"; - x = COLPOS(1); - y = ROWPOS(1); - w = COLPOS(2); - }; - class GVAR(MissionShiftKnowPointSelectInput):ace_arty_bcs_RscComboBox { - idc = IDC_Mission_MissionShiftKnowPointSelect; - x = COLPOS(4); - y = ROWPOS(1); - w = COLPOS(5); - h = ROWPOS(1); - }; - - // OT Dir - class GVAR(MissionShiftOTDir):ace_arty_bcs_RscText { - text = "OT. Dir:"; - x = COLPOS(1); - y = ROWPOS(2); - w = COLPOS(2); - }; - class GVAR(MissionShiftOTDirInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionShiftOTDirInput; - x = COLPOS(4); - y = ROWPOS(2); - w = COLPOS(2); - ACE_BCS_InputName = "Observer Target Direction"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - ACE_BCS_MinNumber = 0; - ACE_BCS_MaxNumber = 6400; - }; - - // Left/Right - class GVAR(MissionShiftLeftRight):ace_arty_bcs_RscText { - text = "Left/Right:"; - x = COLPOS(1); - y = ROWPOS(3); - w = COLPOS(2); - }; - class GVAR(MissionShiftLeftRightInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionShiftLeftRightInput; - x = COLPOS(4); - y = ROWPOS(3); - w = COLPOS(2); - ACE_BCS_InputName = "Lateral Difference"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Add/Drop - class GVAR(MissionShiftAddDrop):ace_arty_bcs_RscText { - text = "Add/Drop:"; - x = COLPOS(1); - y = ROWPOS(4); - w = COLPOS(2); - }; - class GVAR(MissionShiftAddDropInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionShiftAddDropInput; - x = COLPOS(4); - y = ROWPOS(4); - w = COLPOS(2); - ACE_BCS_InputName = "Range Difference"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Up/Down - class GVAR(MissionShiftUpDown):ace_arty_bcs_RscText { - text = "Up/Down:"; - x = COLPOS(1); - y = ROWPOS(5); - w = COLPOS(2); - }; - class GVAR(MissionShiftUpDownInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_MissionShiftUpDownInput; - x = COLPOS(4); - y = ROWPOS(5); - w = COLPOS(2); - ACE_BCS_InputName = "Altitude Difference"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - }; - }; - - /* - Target Description: - TextBox: Target Description - Field: Radius/Width - Field: Length (if circular not filled) - Field: Attitude (that is aTTitude, not altitude) - */ - class GVAR(targetDescriptionSection):ace_arty_bcs_RscText { - text = "TARGET DESCRIPTION"; - x = 0; - y = ROWPOS(11); - }; - - // Target Description - class GVAR(TargetDesc):ace_arty_bcs_RscText { - text = "Target Desc.:"; - x = COLPOS(1); - y = ROWPOS(12); - w = COLPOS(2); - }; - class GVAR(TargetDescInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_TargetDescInput; - style = ST_MULTI; - x = COLPOS(4); - y = ROWPOS(12); - w = COLPOS(5); - h = ROWPOS(2); - }; - - // Radius/Width - class GVAR(TargetRadiusWidth):ace_arty_bcs_RscText { - text = "Radius/Width:"; - x = COLPOS(1); - y = ROWPOS(14); - w = COLPOS(3); - }; - class GVAR(TargetRadiusWidthInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_TargetRadiusWidthInput; - x = COLPOS(4); - y = ROWPOS(14); - w = COLPOS(2); - h = ROWPOS(1); - }; - - // Length - class GVAR(TargetLength):ace_arty_bcs_RscText { - text = "Length:"; - x = COLPOS(1); - y = ROWPOS(15); - w = COLPOS(2); - }; - class GVAR(TargetLengthInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_TargetLengthInput; - x = COLPOS(4); - y = ROWPOS(15); - w = COLPOS(2); - h = ROWPOS(1); - }; - - // Length - class GVAR(TargetAttitude):ace_arty_bcs_RscText { - text = "Attitude:"; - x = COLPOS(1); - y = ROWPOS(16); - w = COLPOS(2); - }; - class GVAR(TargetAttitudeInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_TargetAttitudeInput; - x = COLPOS(4); - y = ROWPOS(16); - w = COLPOS(2); - h = ROWPOS(1); - }; - - /* - Method of Engagment: - ToolBox: Danger Close (Yes/No) - TextBox: Notes (for type of adjustment, desired angle, marking, etc) - MultiSelect: Ammunition - MultiSelect: Fuze - Field: Fuze-Time (ignored for PD/SQ, Prox, and default time fuze rounds) - Field: Round Count - MultiSelect: Distribution (Sheaf) - */ - class GVAR(methodOfEngagementSection):ace_arty_bcs_RscText { - text = "METHOD OF ENGAGEMENT"; - x = COLPOS(11); - y = ROWPOS(2); - }; - - // Danger Close - class GVAR(EngageDangerClose):ace_arty_bcs_RscText { - text = "Danger Close:"; - x = COLPOS(12); - y = ROWPOS(3); - w = COLPOS(3); - }; - class GVAR(EngageDangerCloseInput):ace_arty_bcs_CheckBox { - idc = IDC_Mission_EngageDangerCloseInput; - x = COLPOS(15); - y = ROWPOS(3); - w = COLPOS(2); - h = ROWPOS(1); - }; - - // Notes - class GVAR(EngageNotes):ace_arty_bcs_RscText { - text = "Notes:"; - x = COLPOS(12); - y = ROWPOS(4); - w = COLPOS(3); - }; - class GVAR(EngageNotesInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_EngageNotesInput; - style = ST_MULTI; - x = COLPOS(15); - y = ROWPOS(4); - w = COLPOS(5); - h = ROWPOS(2); - }; - - // Ammo Type - class GVAR(EngageAmmunitionType):ace_arty_bcs_RscText { - text = "Ammunition:"; - x = COLPOS(12); - y = ROWPOS(6); - w = COLPOS(3); - }; - class GVAR(EngageAmmunitionTypeInput):ace_arty_bcs_RscComboBox { - idc = IDC_Mission_EngageAmmunitionTypeSelect; - x = COLPOS(15); - y = ROWPOS(6); - w = COLPOS(5); - h = ROWPOS(1); - onLBSelChanged = QUOTE(_this call FUNC(ammoSelectChange)); - }; - - // Fuze Type - class GVAR(EngageFuzeType):ace_arty_bcs_RscText { - text = "Fuze:"; - x = COLPOS(12); - y = ROWPOS(7); - w = COLPOS(3); - }; - class GVAR(EngageFuzeTypeInput):ace_arty_bcs_RscComboBox { - idc = IDC_Mission_EngageFuzeTypeSelect; - x = COLPOS(15); - y = ROWPOS(7); - w = COLPOS(5); - h = ROWPOS(1); - }; - - // Fuze Time - class GVAR(EngageFuzeTime):ace_arty_bcs_RscText { - text = "Fuze-Time:"; - x = COLPOS(12); - y = ROWPOS(8); - w = COLPOS(3); - }; - class GVAR(EngageFuzeTimeInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_EngageFuzeTimeInput; - x = COLPOS(15); - y = ROWPOS(8); - w = COLPOS(2); - }; - - // Round Count - class GVAR(EngageRoundCount):ace_arty_bcs_RscText { - text = "Round Count:"; - x = COLPOS(12); - y = ROWPOS(9); - w = COLPOS(3); - }; - class GVAR(EngageRoundCountInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_EngageRoundCountInput; - x = COLPOS(15); - y = ROWPOS(9); - w = COLPOS(2); - text = ""; - ACE_BCS_InputName = "Round Count"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_MinNumber = 0; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Adjust Round Count - class GVAR(EngageAdjustRoundCount):ace_arty_bcs_RscText { - text = "Adj. Round Count:"; - x = COLPOS(12); - y = ROWPOS(10); - w = COLPOS(3); - }; - class GVAR(EngageRoundAdjustCountInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_EngageAdjustRoundCountInput; - x = COLPOS(15); - y = ROWPOS(10); - w = COLPOS(2); - text = "1"; - ACE_BCS_InputName = "Adjust Round Count"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_MinNumber = 0; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Adjust Piece - class GVAR(EngageAdjustPiece):ace_arty_bcs_RscText { - text = "Adjust Piece:"; - x = COLPOS(12); - y = ROWPOS(11); - w = COLPOS(3); - }; - class GVAR(EngageAdjustPieceInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_EngageAdjustPieceInput; - x = COLPOS(15); - y = ROWPOS(11); - w = COLPOS(2); - text = "1"; - ACE_BCS_InputName = "Adjust Piece"; - ACE_BCS_Require = BCS_REQUIRE_TRUE; - ACE_BCS_MinNumber = 1; - ACE_BCS_Type = BCS_FIELD_NUMBER; - }; - - // Sheaf - class GVAR(EngageSheafType):ace_arty_bcs_RscText { - text = "Sheaf:"; - x = COLPOS(12); - y = ROWPOS(12); - w = COLPOS(3); - }; - class GVAR(EngageSheafTypeInput):ace_arty_bcs_RscComboBox { - idc = IDC_Mission_EngageSheafTypeSelect; - x = COLPOS(15); - y = ROWPOS(12); - w = COLPOS(5); - h = ROWPOS(1); - }; - - - class GVAR(methodOfControlSection):ace_arty_bcs_RscText { - text = "METHOD OF CONTROL"; - x = COLPOS(11); - y = ROWPOS(14); - }; - - // Method of Control - class GVAR(ControlMethodOfControl):ace_arty_bcs_RscText { - text = "Method:"; - x = COLPOS(12); - y = ROWPOS(15); - w = COLPOS(3); - }; - class GVAR(ControlMethodOfControlInput):ace_arty_bcs_RscComboBox { - idc = IDC_Mission_ControlMethodOfControlSelect; - x = COLPOS(15); - y = ROWPOS(15); - w = COLPOS(5); - h = ROWPOS(1); - }; - - // Time From Now - class GVAR(ControlTimeFromNow):ace_arty_bcs_RscText { - text = "Time From Now:"; - x = COLPOS(12); - y = ROWPOS(16); - w = COLPOS(3); - }; - class GVAR(ControlTimeFromNowInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_ControlTimeFromNowInput; - x = COLPOS(15); - y = ROWPOS(16); - w = COLPOS(2); - }; - - // Time Clock - class GVAR(ControlTimeClock):ace_arty_bcs_RscText { - text = "Clock Time:"; - x = COLPOS(12); - y = ROWPOS(17); - w = COLPOS(3); - }; - class GVAR(ControlTimeClockInput):ace_arty_bcs_RscTextBox { - idc = IDC_Mission_ControlTimeClockInput; - x = COLPOS(15); - y = ROWPOS(17); - w = COLPOS(2); - }; - - class GVAR(MissionFFEButton):ace_arty_bcs_RscButton { - text = "FIRE FOR EFFECT"; - x = COLPOS(16); - y = ROWPOS(21); - w = COLPOS(3); - h = ROWPOS(2); - colorBackground[] = {1, 0, 0, 1}; - action = QUOTE([false] call FUNC(doCompute)); - }; - - class GVAR(MissionAjustButton):ace_arty_bcs_RscButton { - text = "ADJUST"; - x = COLPOS(12); - y = ROWPOS(21); - w = COLPOS(3); - h = ROWPOS(2); - action = QUOTE([true] call FUNC(doCompute)); - }; - - class GVAR(MissionBackButton):ace_arty_bcs_RscButton { - text = "BACK"; - x = COLPOS(1); - y = ROWPOS(21); - w = COLPOS(3); - h = ROWPOS(2); - action = QUOTE([] call FUNC(returnMainScreen)); - }; - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/script_bcs_macros.hpp b/TO_MERGE/ace/arty_computers/gyk-37/script_bcs_macros.hpp deleted file mode 100644 index 256f1fd682..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/script_bcs_macros.hpp +++ /dev/null @@ -1,41 +0,0 @@ -//script_bcs_macros.hpp - -#define BCS_FIELD_DEFAULT 0 -#define BCS_FIELD_NUMBER 1 -#define BCS_FIELD_GRID 2 - -#define BCS_REQUIRE_FALSE 1 -#define BCS_REQUIRE_TRUE 2 -#define BCS_REQUIRE_IGNORE -1 - -#define BCSLOG(text) text call FUNC(bcsLog); -#define BCSWARN(text) text call FUNC(bcsLogWarn); -#define BCSERROR(text) text call FUNC(bcsLogError); - -#define CHECKVALUE(name,idc,error,warn) GVAR(TESTVAL) = (ctrlText idc);\ - if(GVAR(TESTVAL)=="") then {\ - if(error) exitWith {\ - GVAR(validateError) = true;\ - BCSERROR(name + " is undefined");\ - };\ - if(warn) then {\ - if(warn) then {\ - BCSWARN(name + " is undefined");\ - };\ - };\ - } - -#define REQUIREVALUE(name,idc) CHECKVALUE(name,idc,true,false) - -#define STOREVALWARN(storeArray,name,idc) CHECKVALUE(name,idc,false,true);\ - storeArray set[idc, GVAR(TESTVAL)] - -#define STOREVAL(storeArray,name,idc) CHECKVALUE(name,idc,false,false);\ - storeArray set[idc, GVAR(TESTVAL)] - -#define STOREREQVAL(storeArray,name,idc) CHECKVALUE(name,idc,true,false);\ - storeArray set[idc, GVAR(TESTVAL)] - -#define GETVALUE(storeArray,idc) (storeArray select idc) - -#define SETVALUE(idc,storeArray) (ctrlSetText [idc, (storeArray select idc)]) diff --git a/TO_MERGE/ace/arty_computers/gyk-37/script_component.hpp b/TO_MERGE/ace/arty_computers/gyk-37/script_component.hpp deleted file mode 100644 index c063282ac3..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/script_component.hpp +++ /dev/null @@ -1,51 +0,0 @@ -#define COMPONENT sys_arty_computers_gyk37 -#include "\x\ace\addons\main\script_mod.hpp" -#include "\x\ace\addons\main\script_dialog_defines.hpp" - -#ifdef DEBUG_ENABLED_SYS_ARTY_COMPUTERS_GYK37 - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_ARTY_COMPUTERS_GYK37 - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_ARTY_CONPUTERS_GYK37 -#endif - -#include "\x\ace\addons\main\script_macros.hpp" - -// global define values for within this module - -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -#define GETELEV(T,I) ((##T## select ##I##) select 0) -#define GETMAXHEIGHT(T,I) ((##T## select ##I##) select 1) -#define GETSLICES(T,I) ((##T## select ##I##) select 2) - -// Rocket ballistics values -#define GETOFFSETH(T,I) ((##T## select ##I##) select 3) -#define GETOFFSETV(T,I) ((##T## select ##I##) select 4) -#define GETDECAYELEV(T,I) ((##T## select ##I##) select 5) -#define GETDECAYSPD(T,I) ((##T## select ##I##) select 6) - -// fnc_firingSolution used -#define ELEVATION(sol) (floor DEG2MIL((sol select 0))) -#define TOF(sol) ((sol select 2)) - - -#define PREP(var1) TRIPLES(PREFIX,COMPONENT,DOUBLES(fnc,var1)) = COMPILE_FILE2(\x\ace\addons\sys_arty_computers\gyk-37\DOUBLES(fnc,var1).sqf) - -#define configNamespace configFile - -#include "IDC.hpp" - -#include "script_bcs_macros.hpp" - -#define ARR_1(arg1) arg1 -#define ARR_2(arg1,arg2) arg1, arg2 -#define ARR_3(arg1,arg2,arg3) arg1, arg2, arg3 -#define ARR_4(arg1,arg2,arg3,arg4) arg1, arg2, arg3, arg4 -#define ARR_5(arg1,arg2,arg3,arg4,arg5) arg1, arg2, arg3, arg4, arg5 -#define ARR_6(arg1,arg2,arg3,arg4,arg5,arg6) arg1, arg2, arg3, arg4, arg5, arg6 -#define ARR_7(arg1,arg2,arg3,arg4,arg5,arg6,arg7) arg1, arg2, arg3, arg4, arg5, arg6, arg7 -#define ARR_8(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/todo.txt b/TO_MERGE/ace/arty_computers/gyk-37/todo.txt deleted file mode 100644 index 9ce777ae30..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/todo.txt +++ /dev/null @@ -1,156 +0,0 @@ -BCS Shit... - -Screens.. - -Main/Setup - Field: Battery Name - Field: FDC Call Sign - Battery Location - Field: GRID - Field: ALT - Field: DIRECTION OF FIRE - Field: Target Prefix - Field: Target Number Start - MultiSelect: Gun Type - - Button: MISSION GRID - Button: MISSION POLAR - Button: MISSION SHIFT - - Button: MISSION ADJUST GRID - Button: MISSION ADJUST POLAR - Button: MISSION ADJUST SHIFT - - Button: IMMEDIATE SUPRESSION - Button: IMMEDIATE SMOKE - Button: REPEAT (PREFIX#) - - Button: EXPORT (this dumps all the missions in a formated way to the clipboard) - -Mission - Location: - if(grid) - Field: GRID - Field: ALT - if(polar) - MultiSelect: Observer - Field: Observer Callsign - Field: Observer Pos (auto from observer select) - Field: OT Direction - Field: Alt - Field: Range - Button: Update/Add Observer - if(shift) - MultiSelect: Previous Missions/Known Points - Field: OT Direction - Field: Add/Drop - Field: Left/Right - Field: Up/Down - if(immediateSupress) - Field: GRID - if(immediateSmoke) - Field: GRID - - Target Description: - TextBox: Target Description - Field: Radius/Width - Field: Length (if circular not filled) - Field: Attitude (that is aTTitude, not altitude) - - Method of Engagment: - ToolBox: Danger Close (Yes/No) - TextBox: Notes (for type of adjustment, desired angle, marking, etc) - MultiSelect: Ammunition - MultiSelect: Fuze - Field: Fuze-Time (ignored for PD/SQ, Prox, and default time fuze rounds) - Field: Round Count - MultiSelect: Distribution (Sheaf) - - Method of Control: - MultiSelect: Method of Control - Field: Time on Target From Now - Field: Time on Target Clock Time - - Button: BACK (go back to main screen, mission is dumped) - Button: FFE/ADJUST (execute FFE or Adjustment) - -Adjust (if adjust type) - Battery Information: - Best Low: - Display: Defelection - Display: Elevation - Display: Round Count - Display: Ammunition - Display: Charge - Display: Fuze Settings - Display: Method of Control - Best High: - Display: Defelection - Display: Elevation - Display: Round Count - Display: Ammunition - Display: Charge - Display: Fuze Settings - Display: Method of Control - - Message to Observer: - Display: MTO Text (formated MTO message). - Button: SHOT HIGH - Button: SHOT LOW - Display: Time Till Impact (will count down when SHOT is clicked). - - Adjust: - Observer: - MultiSelect: Observer - Field: Observer Callsign - Field: Observer Pos (auto from observer select) - Button: Update/Add Observer - Adjust: - Field: OT Direction - Field: Add/Drop - Field: Left/Right - Field: Up/Down - - MultiSelect: Ammunition (default from last screen) - MultiSelect: Fuze (default from last screen) - Field: Fuze-Time (default from last screen and ignored for PD/SQ, Prox, and default time fuze rounds) - Field: Round Count - MultiSelect: Distribution (Sheaf) - - Button: BACK (goes back to the mission screen, ignores any adjusts) - Button: ADJUST (adjust again) - Button: FFE (execute fire for effect with current adjustment settings) - -FFE: - Battery Information: - Best Low: - Display: Defelection - Display: Elevation - Display: Round Count - Display: Ammunition - Display: Charge - Display: Fuze Settings - Display: Method of Control - Best High: - Display: Defelection - Display: Elevation - Display: Round Count - Display: Ammunition - Display: Charge - Display: Fuze Settings - Display: Method of Control - - Message to Observer: - Display: MTO Text (formated MTO message). - Button: SHOT HIGH - Button: SHOT LOW - Display: Time Till Impact (will count down when SHOT is clicked). - - Button: BACK (goes back to last adjust screen) - Button: REPEAT (restarts mission as a new mission with exact params) - Button: BDA/FINISH (goes to the BDA screen) - -BDA: - TextBox: BDA Description - - Button: FINISH (goes back to main screen) \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/gyk-37/todo2.txt b/TO_MERGE/ace/arty_computers/gyk-37/todo2.txt deleted file mode 100644 index 6dbbad279f..0000000000 --- a/TO_MERGE/ace/arty_computers/gyk-37/todo2.txt +++ /dev/null @@ -1,5 +0,0 @@ -bcs todo 2! - -1. initialize main screen (just need to populate the battery type list for now) -2. hook up mission screen to buttons, hide/display appropriate targeting section -3. populate the ammunition list from someplace (parsing configs of the gun battery type?) \ No newline at end of file diff --git a/TO_MERGE/ace/arty_computers/license.txt b/TO_MERGE/ace/arty_computers/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/arty_computers/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/arty_computers/script_component.hpp b/TO_MERGE/ace/arty_computers/script_component.hpp deleted file mode 100644 index 921d491b7c..0000000000 --- a/TO_MERGE/ace/arty_computers/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT sys_arty_computers -#include "\x\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_ARTY_COMPUTERS - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_ARTY_COMPUTERS - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_ARTY_CONPUTERS -#endif - -#include "\x\ace\addons\main\script_macros.hpp" diff --git a/TO_MERGE/ace/arty_computers/stringtable.xml b/TO_MERGE/ace/arty_computers/stringtable.xml deleted file mode 100644 index a34eb0ca8b..0000000000 --- a/TO_MERGE/ace/arty_computers/stringtable.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -Battery Computer HMMV -Battery Computer HMMV -Battery Computer HMMV -Battery Computer HMMV -Battery Computer HMMV -Dělostřelecký počítač HMMV -Орудийный Компьютер HMMV -Komputer baterii HMMV -Battery Computer HMMV - - -Battery Computer HMMV (Woodland) -Battery Computer HMMV (Woodland) -Battery Computer HMMV (Woodland) -Battery Computer HMMV (Woodland) -Battery Computer HMMV (Woodland) -Dělostřelecký počítač HMMV (Woodland) -Орудийный Компьютер HMMV (Вудленд) -Komputer baterii HMMV (Woodland) -Battery Computer HMMV (Woodland) - - -AN/GYK-37 BCS benutzen -Use AN/GYK-37 BCS -Use AN/GYK-37 BCS -Use AN/GYK-37 BCS -Use AN/GYK-37 BCS -Použít AN/GYK-37 BCS -Использовать AN/GYK-37 BCS -Skorzystaj z komputera baterii AN/GYK-37 -Use AN/GYK-37 BCS - - - - diff --git a/TO_MERGE/ace/arty_m119/$PBOPREFIX$ b/TO_MERGE/ace/arty_m119/$PBOPREFIX$ deleted file mode 100644 index f1f9a4adfa..0000000000 --- a/TO_MERGE/ace/arty_m119/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\ace\Addons\sys_arty_m119 \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/CfgEventHandlers.hpp b/TO_MERGE/ace/arty_m119/CfgEventHandlers.hpp deleted file mode 100644 index 2de1501be9..0000000000 --- a/TO_MERGE/ace/arty_m119/CfgEventHandlers.hpp +++ /dev/null @@ -1,24 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; -class Extended_Init_EventHandlers { - class ace_arty_m119 { - init = QUOTE(call COMPILE_FILE(XEH_init)); - }; -}; -class Extended_GetIn_Eventhandlers { - class ace_arty_m119 { - class ADDON { - clientGetin = QUOTE(_this call FUNC(XEH_getin)); - }; - }; -}; -class Extended_GetOut_Eventhandlers { - class ace_arty_m119 { - class ADDON { - clientGetOut = QUOTE(_this call FUNC(XEH_getout)); - }; - }; -}; diff --git a/TO_MERGE/ace/arty_m119/CfgVehicles.hpp b/TO_MERGE/ace/arty_m119/CfgVehicles.hpp deleted file mode 100644 index 2b4dded1a2..0000000000 --- a/TO_MERGE/ace/arty_m119/CfgVehicles.hpp +++ /dev/null @@ -1,134 +0,0 @@ -class CfgVehicles { - class Land; - class LandVehicle: Land { - class NewTurret; - }; - class StaticWeapon: LandVehicle { - class Turrets; - }; - class StaticCannon: StaticWeapon { - class Turrets: Turrets { - class MainTurret; - }; - }; - class ace_arty_howtizer: StaticCannon { - class Turrets: Turrets { - class MainTurret; - }; - }; - class ace_arty_m119_base: ace_arty_howtizer { - class Turrets: Turrets { - class MainTurret : MainTurret { - class ViewOptics; - }; - }; - }; - class ace_arty_m119 : ace_arty_m119_base { - ACE_ARTY_ISARTY = 1; - ACE_ARTY_RECOIL = QUOTE(PATHTOF(fnc_recoil.sqf)); - scope = 2; - side = 1; - faction = "BIS_US"; - crew = "US_Soldier_EP1"; - displayName = "ACE M119"; - model = "\x\ace\addons\sys_arty_m119\ace_arty_m119.p3d"; - artilleryScanner = 0; - ARTY_IsArtyVehicle = 0; - vehicleClass = "ACE_Howitzers"; - - sound[] = {"Ca\sounds\Weapons\cannon\gun120",100.0,1,1800}; - //reloadMagazineSound[] = {"\x\ace\addons\sys_arty_m119\sounds\M119breachAction",2.0,1,20}; - picture = "\ca\Weapons\data\ico\M119_CA.paa"; - mapSize = 7; - icon = "\Ca\weapons\Data\map_ico\icomap_m119_CA.paa"; - cargoAction[] = {}; - typicalCargo[] = {"US_Soldier_EP1"}; - transportSoldier = 0; - memoryPointsGetInCargo = "pos_cargo"; - memoryPointsGetInCargoDir = "pos_cargo_dir"; - gunnerHasFlares = 1; - - class Turrets: Turrets { - class MainTurret: MainTurret { - weapons[] = {"ace_arty_m119"}; - magazines[] = {}; - gunnerAction = "M119_Gunner"; - gunnerOpticsModel = "\x\ace\addons\sys_arty_m119\ace_arty_m119_scope"; - gunnerOpticsEffect[] = {"OpticsBlur2"}; - memoryPointsGetInGunner = "pos_gunner_dir"; - memoryPointsGetInGunnerDir = "pos_gunner"; - gunBeg = "gun_muzzle"; - gunEnd = "gun_chamber"; - class ViewOptics : ViewOptics { - initFov = 0.0787019; - minFov = 0.0787019; - maxFov = 0.0787019; - }; - }; - }; - - class Library { - libTextDesc = "$STR_LIB_M119"; - }; - - class AnimationSources { - class recoil_source { - source = "user"; - weapon = "ace_arty_m119"; - animPeriod = 0.125; - minValue = 0; - maxValue = -1.07; - }; - class MainTurret { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainGun { - source = "user"; - animPeriod = 0.01; - initPhase = 300; - minValue = -100; - maxValue = 1244; - }; - class M137OpticElevate { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -300; - maxValue = 300; - }; - class ElevationMountRotate { - source = "MainGun"; - animPeriod = 0.01; - initPhase = 300; - minValue = -100; - maxValue = 1244; - }; - - class M187MountElevate { - source = "user"; - animPeriod = 0.01; - initPhase = 300; - minValue = -100; - maxValue = 1244; - }; - class M137OpticRevolve { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainTurretTraverse { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -100; - maxValue = 100; - }; - }; - }; -}; diff --git a/TO_MERGE/ace/arty_m119/CfgWeapons.hpp b/TO_MERGE/ace/arty_m119/CfgWeapons.hpp deleted file mode 100644 index 5cf048ed21..0000000000 --- a/TO_MERGE/ace/arty_m119/CfgWeapons.hpp +++ /dev/null @@ -1,92 +0,0 @@ -class CfgWeapons { - class CannonCore; - class ace_arty_m119 : CannonCore { - magazineReloadTime = 2.5; - dispersion = 0.0095; - reloadTime = 2.5; - magazines[] = { - "ace_arty_105mm_m1_m782_pd_chg1", - "ace_arty_105mm_m1_m782_pd_chg2", - "ace_arty_105mm_m1_m782_pd_chg3", - "ace_arty_105mm_m1_m782_pd_chg4", - "ace_arty_105mm_m1_m782_pd_chg5", - "ace_arty_105mm_m1_m782_pd_chg6", - "ace_arty_105mm_m1_m782_pd_chg7", - "ace_arty_105mm_m1_m782_pd_chg8", - "ace_arty_105mm_m1_m782_time_chg1", - "ace_arty_105mm_m1_m782_time_chg2", - "ace_arty_105mm_m1_m782_time_chg3", - "ace_arty_105mm_m1_m782_time_chg4", - "ace_arty_105mm_m1_m782_time_chg5", - "ace_arty_105mm_m1_m782_time_chg6", - "ace_arty_105mm_m1_m782_time_chg7", - "ace_arty_105mm_m1_m782_time_chg8", - "ace_arty_105mm_m1_m782_prox_chg1", - "ace_arty_105mm_m1_m782_prox_chg2", - "ace_arty_105mm_m1_m782_prox_chg3", - "ace_arty_105mm_m1_m782_prox_chg4", - "ace_arty_105mm_m1_m782_prox_chg5", - "ace_arty_105mm_m1_m782_prox_chg6", - "ace_arty_105mm_m1_m782_prox_chg7", - "ace_arty_105mm_m1_m782_prox_chg8", - "ace_arty_105mm_m1_m782_delay_chg1", - "ace_arty_105mm_m1_m782_delay_chg2", - "ace_arty_105mm_m1_m782_delay_chg3", - "ace_arty_105mm_m1_m782_delay_chg4", - "ace_arty_105mm_m1_m782_delay_chg5", - "ace_arty_105mm_m1_m782_delay_chg6", - "ace_arty_105mm_m1_m782_delay_chg7", - "ace_arty_105mm_m1_m782_delay_chg8", - "ace_arty_105mm_m314a3_m782_time_chg1", - "ace_arty_105mm_m314a3_m782_time_chg2", - "ace_arty_105mm_m314a3_m782_time_chg3", - "ace_arty_105mm_m314a3_m782_time_chg4", - "ace_arty_105mm_m314a3_m782_time_chg5", - "ace_arty_105mm_m314a3_m782_time_chg6", - "ace_arty_105mm_m314a3_m782_time_chg7", - "ace_arty_105mm_m84a1_m782_time_chg1", - "ace_arty_105mm_m84a1_m782_time_chg2", - "ace_arty_105mm_m84a1_m782_time_chg3", - "ace_arty_105mm_m84a1_m782_time_chg4", - "ace_arty_105mm_m84a1_m782_time_chg5", - "ace_arty_105mm_m84a1_m782_time_chg6", - "ace_arty_105mm_m84a1_m782_time_chg7", - "ace_arty_105mm_m916_m782_time_chg1", - "ace_arty_105mm_m916_m782_time_chg2", - "ace_arty_105mm_m916_m782_time_chg3", - "ace_arty_105mm_m916_m782_time_chg4", - "ace_arty_105mm_m916_m782_time_chg5", - "ace_arty_105mm_m916_m782_time_chg6", - "ace_arty_105mm_m916_m782_time_chg7", - "ace_arty_105mm_m916_m782_time_chg8", - "ace_arty_105mm_m60a2_m782_pd_chg1", - "ace_arty_105mm_m60a2_m782_pd_chg2", - "ace_arty_105mm_m60a2_m782_pd_chg3", - "ace_arty_105mm_m60a2_m782_pd_chg4", - "ace_arty_105mm_m60a2_m782_pd_chg5", - "ace_arty_105mm_m60a2_m782_pd_chg6", - "ace_arty_105mm_m60a2_m782_pd_chg7" - }; - scope = 1; - displayName = "ACE M119"; - nameSound = "cannon"; - cursor = "Cannon"; - cursorAim = "\ca\Weapons\Data\clear_empty"; - cursorSize = 1; - sound[] = {"\ca\Sounds\weapons\cannon\gun120",316.22775,1,1500}; - reloadSound[] = {"\x\ace\addons\sys_arty_m119\sounds\M119breachAction",2.0,1,20}; - //reloadMagazineSound[] = {"\x\ace\addons\sys_arty_m119\sounds\M119breachAction",2.0,1,20}; - // minRange = 10; - // minRangeProbab = 0.6; - // midRange = 12000; - // midRangeProbab = 0.7; - // maxRange = 19000; - // maxRangeProbab = 0.1; - - // disable default fun stuff - autoReload = 0; - backgroundReload = 0; - ballisticsComputer = 0; - canLock = 0; - }; -}; diff --git a/TO_MERGE/ace/arty_m119/XEH_init.sqf b/TO_MERGE/ace/arty_m119/XEH_init.sqf deleted file mode 100644 index ce27918d25..0000000000 --- a/TO_MERGE/ace/arty_m119/XEH_init.sqf +++ /dev/null @@ -1,25 +0,0 @@ -//XEH_post_init.sqf -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_1(_gun); - -#define ACE_TEXT_SILVER(Text) ("" + ##Text + "") - -_dn = getText(configFile >> "CfgVehicles" >> typeOf _gun >> "displayName"); -_actionTextL = format[localize "STR_ACE_ARTY_SHIFT_HOWITZER_LEFT",_dn]; -_actionTextR = format[localize "STR_ACE_ARTY_SHIFT_HOWITZER_RIGHT",_dn]; - -_gun setVariable [QGVAR(azimuthCounter), 0]; -_gun setVariable [QGVAR(deflectionCounter), 3200]; -_gun setVariable [QGVAR(elevationCounter), 300]; -_gun setVariable [QGVAR(resetCounter), 3200]; -_gun setVariable [QGVAR(resetPhase), 0]; -_gun setVariable ["ace_sys_arty_currentRound", []]; -_gun setVariable ["ace_sys_arty_roundData", []]; - -_gun call FUNC(alignGun); - -private["_shiftLeftActionId", "_shiftRightActionId"]; -_shiftLeftActionId = _gun addAction [ACE_TEXT_SILVER(_actionTextL), QPATHTO_F(fnc_shiftLeft), [], 2000, false, true, "", "(vehicle player == player) && {alive _target} && {!locked _target} && {!(player in _target)} && {!(player getVariable [""ace_sys_cargo_carrying"",false])}"]; -_shiftRightActionId = _gun addAction [ACE_TEXT_SILVER(_actionTextR), QPATHTO_F(fnc_shiftRight), [], 2000, false, true, "", "(vehicle player == player) && {alive _target} && {!locked _target} && {!(player in _target)} && {!(player getVariable [""ace_sys_cargo_carrying"",false])}"]; diff --git a/TO_MERGE/ace/arty_m119/XEH_pre_init.sqf b/TO_MERGE/ace/arty_m119/XEH_pre_init.sqf deleted file mode 100644 index ffcb23c14e..0000000000 --- a/TO_MERGE/ace/arty_m119/XEH_pre_init.sqf +++ /dev/null @@ -1,36 +0,0 @@ -//XEH_pre_init.sqf -#include "script_component.hpp" - -ADDON = false; - -GVAR(activeGun) = nil; -GVAR(m137Gun) = nil; -GVAR(gunActionIds) = []; -GVAR(m137_shift) = false; -GVAR(m137_ctrl) = false; - -PREP(endShift); -PREP(alignGun); - -PREP(adjustTraverse); -PREP(adjustElevation); -PREP(recoil); -PREP(levelGun); - -PREP(m137_monitorSight); -PREP(m137_bubbleLevel); -PREP(m137_keyDown); -PREP(m137_keyUp); -PREP(m137_stopMonitorSight); -PREP(m137_adjustAzimuth); -PREP(m137_adjustElevation); -PREP(m137_adjustReset); -PREP(m137_adjustOpticElevation); -PREP(m137_changeView); - -PREP(XEH_getin); -PREP(XEH_getout); - -PREP(textPad); - -ADDON = true; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/ace_arty_m119.p3d b/TO_MERGE/ace/arty_m119/ace_arty_m119.p3d deleted file mode 100644 index e941d0ffe5..0000000000 Binary files a/TO_MERGE/ace/arty_m119/ace_arty_m119.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_m119/ace_arty_m119_scope.p3d b/TO_MERGE/ace/arty_m119/ace_arty_m119_scope.p3d deleted file mode 100644 index 83da540490..0000000000 Binary files a/TO_MERGE/ace/arty_m119/ace_arty_m119_scope.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_m119/anims.txt b/TO_MERGE/ace/arty_m119/anims.txt deleted file mode 100644 index 02e7819992..0000000000 --- a/TO_MERGE/ace/arty_m119/anims.txt +++ /dev/null @@ -1 +0,0 @@ -["AinvPknlMstpSlayWrflDnon_AmovPercMstpSnonWnonDnon","AcinPercMrunSnonWnonDf","AcinPercMrunSrasWrflDf","AcinPercMstpSnonWnonDnon"] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/config.cpp b/TO_MERGE/ace/arty_m119/config.cpp deleted file mode 100644 index a9f1d160ec..0000000000 --- a/TO_MERGE/ace/arty_m119/config.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "script_component.hpp" -class CfgPatches { - class ADDON { - units[] = { "ace_arty_m119" }; - weapons[] = { "ace_arty_m119" }; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"CAWeapons", "ace_sys_arty", "ace_main", "ace_sys_interaction" }; - VERSION_CONFIG; - }; -}; - -PRELOAD_ADDONS; - -#include "CfgWeapons.hpp" -#include "CfgVehicles.hpp" -#include "CfgEventHandlers.hpp" - -class CfgAceArtyBatteryType { - class M119 { - name = "M119A1 105mm Howitzer"; - type = "cannon"; - caliber = 105; - ammunition[] = {"ace_arty_105mm_m1", "ace_arty_105mm_m916", "ace_arty_105mm_m84a1", "ace_arty_105mm_m314a3"}; - weaponClass = "ace_arty_m119"; - }; -}; - -#include "dialogs.hpp" diff --git a/TO_MERGE/ace/arty_m119/dialogs.hpp b/TO_MERGE/ace/arty_m119/dialogs.hpp deleted file mode 100644 index bbca28c32e..0000000000 --- a/TO_MERGE/ace/arty_m119/dialogs.hpp +++ /dev/null @@ -1,275 +0,0 @@ -//dialogs.hpp -#include "script_component.hpp" -#include "\x\ace\addons\main\script_dialog_defines.hpp" -#define FontM "Zeppelin32" -#define ClrWhite 1,1,1 -#define ClrBlack 0,0,0 -#define ClrGray 0.5,0.5,0.5 -#define ClrBlue 0.2,0.5,1 -class acex_arty_m137_RscText -{ - idc = -1; - type = CT_STATIC; - style = ST_CENTER; - font = FontM; - colorText[] = {1,1,1,1}; - colorBackground[] = {0, 0, 0, 0}; - sizeEx = 0.03; - w = 0.2; - h = 0.03; -}; - -class acex_arty_m137_RscButton -{ - type = CT_BUTTON; - idc = -1; - style = ST_CENTER; - - x = 0.0; - y = 0.0; - w = 0.1; - h = 0.03; - sizeEx = 0.0325; - offsetX = 0; - offsetY = 0.002; - offsetPressedX = 0; - offsetPressedY = 0.002; - borderSize = 0; - - - - colorText[] = {ClrWhite,1}; - colorBackground[] = {ClrGray, 0.75}; - colorFocused[] = {ClrGray,0}; - - colorShadow[] = {ClrBlack,0}; - colorBorder[] = {ClrWhite,0}; - colorBackgroundActive[] = {ClrGray,0}; - colorDisabled[] = {ClrGray, 0}; - colorBackgroundDisabled[] = {ClrGray,0}; - font = FontM; - - soundEnter[] = {"", 0.2, 1}; - soundPush[] = {"", 0.2, 1}; - soundClick[] = {"", 0.2, 1}; - soundEscape[] = {"", 0.2, 1}; - - default = false; - text = ""; - action = ""; -}; - -class acex_arty_m137_RscPicture : acex_arty_m137_RscButton -{ - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - text = ""; -}; - -class acex_arty_m137_dialog { - idd = 137137; - MovingEnable = 0; - onLoad = QUOTE([] spawn FUNC(m137_monitorSight)); - onUnload = QUOTE([] spawn FUNC(m137_stopMonitorSight)); - - controlsBackground[] = {}; - objects[] = {}; - onKeyDown = QUOTE(_this call FUNC(m137_keyDown)); - onKeyUp = QUOTE(_this call FUNC(m137_keyUp)); - class controls { - class GVAR(m137Background) : acex_arty_m137_RscText { - __SX(0); - __SY(0); - __SW(0.25); - __SH(0.6); - colorBackground[] = {ClrGray, 0.25}; - text = ""; - }; - - class GVAR(m137Title) : acex_arty_m137_RscText { - __SX(0); - __SY(0); - __SW(0.25); - colorBackground[] = {ClrGray, 0.25}; - text = "M137 Sight Unit"; - }; - - class GVAR(m137AzimuthLabel) : acex_arty_m137_RscText { - __SX(0); - __SY(0.035); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Azimuth:"; - }; - - class GVAR(m137Azimuth) : acex_arty_m137_RscText { - idc = 137001; - __SX(0.125); - __SY(0.035); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "0000"; - }; - - class GVAR(m137DeflectionLabel) : acex_arty_m137_RscText { - __SX(0); - __SY(0.07); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Deflection:"; - }; - - class GVAR(m137Deflection) : acex_arty_m137_RscText { - idc = 137002; - __SX(0.125); - __SY(0.07); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "3200"; - }; - - class GVAR(m187title) : acex_arty_m137_RscText { - __SX(0); - __SY(0.105); - __SW(0.25); - colorBackground[] = {ClrGray, 0.25}; - text = "M187 Sight Mount"; - }; - - class GVAR(m137ElevationLabel) : acex_arty_m137_RscText { - __SX(0); - __SY(0.140); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Elevation:"; - }; - - class GVAR(m137Elevation) : acex_arty_m137_RscText { - idc = 137003; - __SX(0.125); - __SY(0.140); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "0300"; - }; - - class GVAR(m137ElevationBubbleLabel) : acex_arty_m137_RscText { - __SX(0); - __SY(0.175); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Level:"; - }; - - class GVAR(m137ElevationBubble) : acex_arty_m137_RscText { - idc = 137004; - __SX(0.125); - __SY(0.175); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "|---|+|---|"; - }; - - class GVAR(m137AzimuthLeftButton) : acex_arty_m137_RscButton { - idc = 137004; - __SX(0.0); - __SY(0.210); - __SW(0.062); - text = "Def. -"; - action = QUOTE([-1] call FUNC(m137_adjustAzimuth)); - }; - - class GVAR(m137AzimuthRightButton) : acex_arty_m137_RscButton { - idc = 137005; - __SX(0.0625); - __SY(0.210); - __SW(0.062); - text = "Def. +"; - action = QUOTE([1] call FUNC(m137_adjustAzimuth)); - }; - - class GVAR(m137ElevationUpButton) : acex_arty_m137_RscButton { - idc = 137006; - __SX(0.125); - __SY(0.210); - __SW(0.062); - text = "El +"; - action = QUOTE([1] call FUNC(m137_adjustElevation)); - }; - - class GVAR(m137ElevationDownButton) : acex_arty_m137_RscButton { - idc = 137007; - __SX(0.1875); - __SY(0.210); - __SW(0.062); - text = "El -"; - action = QUOTE([-1] call FUNC(m137_adjustElevation)); - }; - - class GVAR(m137OpticDownButton) : acex_arty_m137_RscButton { - __SX(0.0); - __SY(0.245); - __SW(0.062); - text = "Op. -"; - action = QUOTE([-1] call FUNC(m137_adjustOpticElevation)); - }; - - class GVAR(m137OpticUpButton) : acex_arty_m137_RscButton { - __SX(0.0625); - __SY(0.245); - __SW(0.062); - text = "Op. +"; - action = QUOTE([1] call FUNC(m137_adjustOpticElevation)); - }; - - class GVAR(m137ResetLeftButton) : acex_arty_m137_RscButton { - __SX(0.125); - __SY(0.245); - __SW(0.062); - text = "Re +"; - action = QUOTE([1] call FUNC(m137_adjustReset)); - }; - - class GVAR(m137ResetRightButton) : acex_arty_m137_RscButton { - __SX(0.1875); - __SY(0.245); - __SW(0.062); - text = "Re -"; - action = QUOTE([-1] call FUNC(m137_adjustReset)); - }; - - class GVAR(m137TraverseIndicatorLabel) : acex_arty_m137_RscText { - __SX(0); - __SY(0.280); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Traverse:"; - }; - - class GVAR(m137TraverseIndicator) : acex_arty_m137_RscText { - idc = 137008; - __SX(0.125); - __SY(0.280); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "|-----|-----|"; - }; - - class GVAR(m137ChangeViewButton) : acex_arty_m137_RscButton { - __SX(0.0); - __SY(0.315); - __SW(0.25); - text = "Change View"; - action = QUOTE([] call FUNC(m137_changeView)); - }; - - class GVAR(m137LevelGun) : acex_arty_m137_RscButton { - __SX(0.0); - __SY(0.350); - __SW(0.25); - text = "Level Gun"; - action = QUOTE([] call FUNC(levelGun)); - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_XEH_getin.sqf b/TO_MERGE/ace/arty_m119/fnc_XEH_getin.sqf deleted file mode 100644 index 23d6463d43..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_XEH_getin.sqf +++ /dev/null @@ -1,59 +0,0 @@ -//XEH_getin.sqf -#include "script_component.hpp" -PARAMS_3(_gun,_pos,_unit); - -if (_unit == player) then { - GVAR(activeGun) = _gun; - [] call ace_sys_arty_aimingpoints_fnc_startCollimatorHandler; - [203, [false, false, false], { [-1] call FUNC(adjustTraverse) }, "keydown", QGVAR(leftTraverseSmall)] call CBA_fnc_addKeyHandler; - [203, [true, false, false], { [-10] call FUNC(adjustTraverse) }, "keydown", QGVAR(leftTraverseLarge)] call CBA_fnc_addKeyHandler; - [203, [true, true, false], { [-0.25] call FUNC(adjustTraverse) }, "keydown", QGVAR(leftTraverseVerySmall)] call CBA_fnc_addKeyHandler; - - [205, [false, false, false], { [1] call FUNC(adjustTraverse) }, "keydown", QGVAR(rightTraverseSmall)] call CBA_fnc_addKeyHandler; - [205, [true, false, false], { [10] call FUNC(adjustTraverse) }, "keydown", QGVAR(rightTraverseLarge)] call CBA_fnc_addKeyHandler; - [205, [true, true, false], { [0.25] call FUNC(adjustTraverse) }, "keydown", QGVAR(rightTraverseVerySmall)] call CBA_fnc_addKeyHandler; - - - [200, [false, false, false], { [-1] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateUpSmall)] call CBA_fnc_addKeyHandler; - [200, [true, false, false], { [-10] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateUpLarge)] call CBA_fnc_addKeyHandler; - [208, [false, false, false], { [1] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateDownSmall)] call CBA_fnc_addKeyHandler; - [208, [true, false, false], { [10] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateDownLarge)] call CBA_fnc_addKeyHandler; - - _actionId = _gun addAction ["View M137/M187", "\x\ace\addons\sys_arty_m119\fnc_showSight.sqf", [], -100, false, true, "", "gunner _target == player"]; - - if (gunner GVAR(activeGun) == player) then { - _ammoFunc = { - if(!isNil QGVAR(activeGun)) then { - private["_currentRound", "_ammo", "_mag", "_currentWeapon"]; - _currentRound = GVAR(activeGun) getVariable ["ace_sys_arty_currentRound", []]; - _currentWeapon = (weapons GVAR(activeGun)) select 0; - _ammo = GVAR(activeGun) ammo _currentWeapon; - if (count _currentRound != 0) then { - if (count (magazines GVAR(activeGun)) == 0) then { - _mag = _currentRound select 0; - GVAR(activeGun) removeWeapon _currentWeapon; - GVAR(activeGun) addMagazine _mag; - GVAR(activeGun) addWeapon _currentWeapon; - GVAR(activeGun) selectWeapon _currentWeapon; - reload GVAR(activeGun); - }; - }; - if (count (magazines GVAR(activeGun)) != 0) then { - if (count _currentRound == 0) then { - _mag = currentMagazine GVAR(activeGun); - GVAR(activeGun) removeWeapon _currentWeapon; - GVAR(activeGun) removeMagazines _mag; - GVAR(activeGun) addWeapon _currentWeapon; - GVAR(activeGun) selectWeapon _currentWeapon; - reload GVAR(activeGun); - }; - }; - } else { - [(_this select 1)] call CBA_fnc_removePerFrameHandler; - }; - }; - [_ammoFunc, 0.25] call CBA_fnc_addPerFrameHandler; - }; - - GVAR(gunActionIds) set[count GVAR(gunActionIds), _actionId]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_XEH_getout.sqf b/TO_MERGE/ace/arty_m119/fnc_XEH_getout.sqf deleted file mode 100644 index bd99ff1057..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_XEH_getout.sqf +++ /dev/null @@ -1,31 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -PARAMS_3(_gun,_pos,_unit); - -if (_unit == player) then { - GVAR(activeGun) = nil; - - [] call ace_sys_arty_aimingpoints_fnc_endCollimatorHandler; - - [QGVAR(leftTraverseSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(leftTraverseVerySmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(leftTraverseLarge)] call CBA_fnc_removeKeyHandler; - [QGVAR(rightTraverseSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(rightTraverseVerySmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(rightTraverseLarge)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateUpSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateUpLarge)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateDownSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateDownLarge)] call CBA_fnc_removeKeyHandler; - - { - _gun removeAction _x; - } forEach GVAR(gunActionIds); - GVAR(gunActionIds) = []; - - _gun setVariable [QGVAR(azimuthCounter), _gun getVariable QGVAR(azimuthCounter), true]; - _gun setVariable [QGVAR(deflectionCounter), _gun getVariable QGVAR(deflectionCounter), true]; - _gun setVariable [QGVAR(elevationCounter), _gun getVariable QGVAR(elevationCounter), true]; - _gun setVariable [QGVAR(resetCounter), _gun getVariable QGVAR(resetCounter), true]; - _gun setVariable [QGVAR(resetPhase), _gun getVariable QGVAR(resetPhase), true]; -}; diff --git a/TO_MERGE/ace/arty_m119/fnc_adjustElevation.sqf b/TO_MERGE/ace/arty_m119/fnc_adjustElevation.sqf deleted file mode 100644 index 5e0381c5ec..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_adjustElevation.sqf +++ /dev/null @@ -1,12 +0,0 @@ -//fnc_adjustElevation.sqf -#include "script_component.hpp" - -private["_gun", "_phase", "_newPhase"]; - -PARAMS_1(_dir); -_gun = GVAR(activeGun); -_phase = round(_gun animationPhase "MainGun"); - -_newPhase = ((round(_phase+_dir)) min 1244) max -100; -_gun animate ["MainGun", _newPhase]; -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_adjustTraverse.sqf b/TO_MERGE/ace/arty_m119/fnc_adjustTraverse.sqf deleted file mode 100644 index 20734cf437..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_adjustTraverse.sqf +++ /dev/null @@ -1,13 +0,0 @@ -//fnc_adjustTraverse.sqf -#include "script_component.hpp" - -private["_gun", "_phase", "_newPhase", "_m"]; - -PARAMS_1(_dir); - -_gun = GVAR(activeGun); -_phase = (_gun animationPhase "MainTurretTraverse"); -_m = 0.25; -_newPhase = (((_phase+(_dir*_m))) min 100) max -100; -_gun animate ["MainTurretTraverse", _newPhase]; -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_alignGun.sqf b/TO_MERGE/ace/arty_m119/fnc_alignGun.sqf deleted file mode 100644 index d7ccdacbd4..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_alignGun.sqf +++ /dev/null @@ -1,88 +0,0 @@ -#include "script_component.hpp" - -if(isServer) then { - _this spawn { - waitUntil { time > 0; }; - private["_m119", "_pitchBank", "_dir", "_rd", "_wpos", "_offset", "_stake1pos", "_rdDeg", "_stake1", "_stake2"]; - //for "_i" from 0 to 360 do { - _m119 = _this; - - - _pitchBank = _m119 call BIS_fnc_getPitchBank; - - - _pitchBank = _m119 call BIS_fnc_getPitchBank; - - _m119 setVectorUp [0,0,0.0001]; - - _dir = getDir _m119; - //player sideChat format["_dir: %1", _dir]; - _stakesInfo = _m119 getVariable ["ace_arty_stakes_setup", [400, 25]]; - _colInfo = _m119 getVariable ["ace_arty_collimator_setup", [800, 7, 0, -95, 85]]; - diag_log text format["stakesInfo: %1", (count _stakesInfo)]; - if((count _stakesInfo) == 2) then { - _stakesDeflection = _stakesInfo select 0; - _stakesDistance = _stakesInfo select 1; - _rd = (DEG2MIL(_dir)-(_stakesDeflection-0.4)); - if(_rd < 0) then { - _rd = _rd + 6400; - }; - _rdDeg = MIL2DEG(_rd); - _wpos = _m119 modelToWorld [-0.593, -0.668, 0]; - _wpos set[2, 0]; - - - _offset = ((_rdDeg)+MIL2DEG(0.2)) mod 360; - if(_offset < 360) then { - _offset = _offset + 360; - }; - _stake1pos = [_wpos, _stakesDistance, _offset] call BIS_fnc_relPos; - _stake2pos = [_wpos, (_stakesDistance*2), _rdDeg] call BIS_fnc_relPos; - - _stake1pos set[2, -0.5]; - _stake1 = "ACE_Arty_AimingPost_M1A2_M58" createVehicle _wpos; - - _stake1 setDir _rdDeg+180 mod 360; - _stake1 setPos _stake1pos; - _stake1 setVectorUp [0,0,0.0001]; - - _stake2 = "ACE_Arty_AimingPost_M1A2_M59" createVehicle _wpos; - - _stake2 setDir _rdDeg+180 mod 360; - _stake2 setPosATL _stake2pos; - _stake2 setVectorUp [0,0,0.0001]; - if((count _colInfo) != 5) then { - _m119 animate ["M137OpticRevolve", _stakesDeflection]; - _m119 setVariable [QGVAR(resetCounter), 3200-_stakesDeflection, true]; - }; - }; - - - if((count _colInfo) == 5) then { - _colDeflection = _colInfo select 0; - _colDistance = _colInfo select 1; - _colHeight = _colInfo select 2; - _opticElevate = _colInfo select 3; - _colElevate = _colInfo select 4; - - _rd = (DEG2MIL(_dir)-(_colDeflection-0.125)); - if(_rd < 0) then { - _rd = _rd + 6400; - }; - _rdDeg = MIL2DEG(_rd); - _colPos = [_wpos, _colDistance, _rdDeg] call BIS_fnc_relPos; - _colPos set[2, _colHeight]; - - _collimator = "ACE_Arty_M1A1_Collimator" createVehicle _wpos; - - _collimator setDir _rdDeg; - _collimator setPos _colPos; - _collimator setVectorUp [0,0,0.0001]; - _m119 animate ["M137OpticElevate", _opticElevate]; - _collimator animate ["elevate_optic", _colElevate]; - _m119 animate ["M137OpticRevolve", _colDeflection]; - _m119 setVariable [QGVAR(resetCounter), 3200-_colDeflection, true]; - }; - // _m119 setVariable [QGVAR(resetCounter)), (_m119 getVariable QUOTE(GVAR(resetPhase)), true]; - }; -}; diff --git a/TO_MERGE/ace/arty_m119/fnc_endShift.sqf b/TO_MERGE/ace/arty_m119/fnc_endShift.sqf deleted file mode 100644 index a9b90f4465..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_endShift.sqf +++ /dev/null @@ -1,8 +0,0 @@ -//fnc_endShift.sqf -#include "script_component.hpp" -detach player; -player playActionNow "crouch"; -player removeAction GVAR(shiftActionId); -GVAR(shiftActionId) = -1; -(findDisplay 46) displayRemoveEventHandler ["KeyDown", GVAR(drag_keyDownId)]; -GVAR(stopDragging) = true; diff --git a/TO_MERGE/ace/arty_m119/fnc_levelGun.sqf b/TO_MERGE/ace/arty_m119/fnc_levelGun.sqf deleted file mode 100644 index 2903fc8237..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_levelGun.sqf +++ /dev/null @@ -1,16 +0,0 @@ -//fnc_levelGun.sqf -#include "script_component.hpp" - -_pb = GVAR(m137Gun) call BIS_fnc_getPitchBank; -_pitch = abs(_pb select 0); -_bank = abs(_pb select 1); - -if(_pitch <= 2.5 && _bank <= 2.5) then { - _p = getPos GVAR(m137Gun); - _p set[2, 0]; - GVAR(m137Gun) setPosATL _p; - GVAR(m137Gun) setVectorUp [0,0,0.0001]; - hint "The gun has been leveled."; -} else { - hint "The ground is not level enough to properly level this gun."; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_adjustAzimuth.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_adjustAzimuth.sqf deleted file mode 100644 index 6313d757f3..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_adjustAzimuth.sqf +++ /dev/null @@ -1,22 +0,0 @@ -//fnc_m137_adjustAzimuth.sqf -#include "script_component.hpp" - -private["_gun", "_size", "_phase", "_newPhase"]; - -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if(GVAR(m137_shift)) then { - if(GVAR(m137_ctrl)) then { - _size = 100; - } else { - _size = 10; - }; -}; -_phase = _gun animationPhase "M137OpticRevolve"; - -_newPhase = round(_phase+(_dir*_size)); -_gun setVariable [QGVAR(resetPhase), _newPhase]; -_gun animate ["M137OpticRevolve", _newPhase]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_adjustElevation.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_adjustElevation.sqf deleted file mode 100644 index 957fa269d6..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_adjustElevation.sqf +++ /dev/null @@ -1,20 +0,0 @@ -//fnc_m137_adjustElevation.sqf -#include "script_component.hpp" - -private["_gun", "_size", "_count", "_increment"]; - -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if(GVAR(m137_shift)) then { - if(GVAR(m137_ctrl)) then { - _size = 100; - } else { - _size = 10; - }; -}; -_count = _gun getVariable QGVAR(elevationCounter); -_increment = ((_count+(_size*_dir)) min 1600) max -200; -_gun setVariable [QGVAR(elevationCounter), _increment]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_adjustOpticElevation.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_adjustOpticElevation.sqf deleted file mode 100644 index 3d781b3cc2..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_adjustOpticElevation.sqf +++ /dev/null @@ -1,17 +0,0 @@ -//fnc_m137_adjustOpticElevation.sqf -#include "script_component.hpp" -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if(GVAR(m137_shift)) then { - if(GVAR(m137_ctrl)) then { - _size = 100; - } else { - _size = 10; - }; -}; -_count = _gun animationPhase "M137OpticElevate"; -_increment = ((_count+(_size*_dir)) min 300) max -300; -_gun animate ["M137OpticElevate", _increment]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_adjustReset.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_adjustReset.sqf deleted file mode 100644 index 29fb59c7eb..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_adjustReset.sqf +++ /dev/null @@ -1,19 +0,0 @@ -//fnc_m137_adjustReset.sqf -#include "script_component.hpp" - -private["_gun", "_size", "_count", "_increment"]; - -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if(GVAR(m137_shift)) then { - if(GVAR(m137_ctrl)) then { - _size = 100; - } else { - _size = 10; - }; -}; -_count = _gun getVariable QGVAR(resetCounter); -_gun setVariable [QGVAR(resetCounter), _count+(_size*_dir)]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_bubbleLevel.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_bubbleLevel.sqf deleted file mode 100644 index 398d02f353..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_bubbleLevel.sqf +++ /dev/null @@ -1,21 +0,0 @@ -//fnc_m137_bubbleLevel.sqf -#include "script_component.hpp" -private["_levelStr", "_bubbleStr", "_difPercent", "_difInt", "_lvlArr", "_bubbleArr", "_retStr"]; -PARAMS_4(_ctrl,_dif,_level,_range); - -_levelStr = "----|-|----"; -_bubbleStr = "o"; -_difPercent = (abs _dif)/_range; -_difInt = round((_difPercent/2)*10); -_difInt = (_difInt max 0) min 5; -if(_dif > 0) then { - _difInt = _difInt * -1; -}; -_difInt = _difInt + 5; - -_lvlArr = toArray _levelStr; -_bubbleArr = toArray _bubbleStr; -_lvlArr set[_difInt, (_bubbleArr select 0)]; -_retStr = toString _lvlArr; -_retStr = format["|%1|", _retStr]; -ctrlSetText [_ctrl, _retStr]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_changeView.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_changeView.sqf deleted file mode 100644 index 63094978cd..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_changeView.sqf +++ /dev/null @@ -1,7 +0,0 @@ -//fnc_m137_changeView.sqf -#include "script_component.hpp" -if(cameraView == "GUNNER") then { - GVAR(m137Gun) switchCamera "INTERNAL"; -} else { - GVAR(m137Gun) switchCamera "GUNNER"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_keyDown.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_keyDown.sqf deleted file mode 100644 index ab8f194198..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_keyDown.sqf +++ /dev/null @@ -1,46 +0,0 @@ -//fnc_m137_keyDown.sqf -#include "script_component.hpp" -PARAMS_4(_ctrl,_code,_shift,_ctrl); -if(_code == 42) then { - GVAR(m137_shift) = true; -}; -if(_code == 29) then { - GVAR(m137_ctrl) = true; -}; -if(_code == 203) then { - if(_shift) then { - if(_ctrl) then { - [-0.25] call FUNC(adjustTraverse); - } else { - [-10] call FUNC(adjustTraverse); - }; - } else { - [-1] call FUNC(adjustTraverse); - }; -}; -if(_code == 205) then { - if(_shift) then { - if(_ctrl) then { - [0.25] call FUNC(adjustTraverse); - } else { - [10] call FUNC(adjustTraverse); - }; - } else { - [1] call FUNC(adjustTraverse); - }; -}; -if(_code == 200) then { - if(_shift) then { - [-10] call FUNC(adjustElevation); - } else { - [-1] call FUNC(adjustElevation); - }; -}; -if(_code == 208) then { - if(_shift) then { - [10] call FUNC(adjustElevation); - } else { - [1] call FUNC(adjustElevation) - }; -}; -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_keyUp.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_keyUp.sqf deleted file mode 100644 index cbf6317a1a..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_keyUp.sqf +++ /dev/null @@ -1,11 +0,0 @@ -//fnc_m137_keyUp.sqf -#include "script_component.hpp" -PARAMS_4(_ctrl,_code,_shift,_ctrl); - -_code = _this select 1; -if(_code == 0x2A) then { - GVAR(m137_shift) = false; -}; -if(_code == 29) then { - GVAR(m137_ctrl) = false; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_monitorSight.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_monitorSight.sqf deleted file mode 100644 index 1dc04f6646..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_monitorSight.sqf +++ /dev/null @@ -1,60 +0,0 @@ -//fnc_m137_monitorSight.sqf -#include "script_component.hpp" -private["_reset", "_opticPhase", "_opticAzimuthCounter", "_opticDeflectionCounter", "_opticAzimuthCounterStr", - "_opticDeflectionCounterStr", "_elevationCount", "_elevationPhase", "_dif", "_elevationCountStr"]; -waitUntil { - !isNil QGVAR(m137Gun) -}; -_gun = GVAR(m137Gun); -GVAR(monitorSight) = true; -waitUntil { - _reset = _gun getVariable QGVAR(resetCounter); - // player sideChat format["opticPhase: %1", (floor(_gun animationPhase "M137OpticRevolve"))]; - _opticPhase = (floor(_gun animationPhase "M137OpticRevolve")*-1); - _opticPhase = (_opticPhase); - _opticPhase = _opticPhase + 3200; - if(_opticPhase > 6400) then { - _opticPhase = _opticPhase mod 6400; - }; - if(_opticPhase < 0) then { - while { _opticPhase < 0 } do { _opticPhase = _opticPhase + 6400; }; - }; - _opticPhaseRaw = (floor(_gun animationPhase "M137OpticRevolve")); - _reset = (_opticPhaseRaw + _reset) mod 6400; - if(_reset > 6400) then { - _reset = _reset mod 6400; - }; - if(_reset < 0) then { - while { _reset < 0 } do { _reset = _reset + 6400; }; - }; - _opticAzimuthCounterStr = [(str _opticPhase), "0", 4] call FUNC(textPad); - _opticDeflectionCounterStr = [(str _reset), "0", 4] call FUNC(textPad); - ctrlSetText [137001, _opticAzimuthCounterStr]; - ctrlSetText [137002, _opticDeflectionCounterStr]; - - _elevationCount = _gun getVariable QGVAR(elevationCounter); - _elevationPhase = floor(_gun animationPhase "MainGun"); - - _dif = _elevationCount - _elevationPhase; - - _traversePhase = _gun animationPhase "MainTurretTraverse"; - _traversePhase = _traversePhase + 100; - _percent = (abs (round _traversePhase))/200; - _traverseIndicator = "-----^-----"; - _tArray = (toArray _traverseIndicator); - _tLength = (count _tArray); - _indicPos = ((round(_percent*_tLength))-1 max 0) min 10; - _tArray set[_indicPos, (toArray "|") select 0]; - _tStr = (toString _tArray); - ctrlSetText [137008, format["|%1|", _tStr]]; - - - [137004, _dif, 0, 10] call FUNC(m137_bubbleLevel); - _elevationCountStr = [(str _elevationCount), "0", 4] call FUNC(textPad); - if(_elevationCount < 0) then { - _elevationCountStr = format["-%1", _elevationCountStr]; - }; - ctrlSetText [137003, _elevationCountStr]; - sleep 0.05; - !GVAR(monitorSight) -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_m137_stopMonitorSight.sqf b/TO_MERGE/ace/arty_m119/fnc_m137_stopMonitorSight.sqf deleted file mode 100644 index 9e7d71de66..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_m137_stopMonitorSight.sqf +++ /dev/null @@ -1,5 +0,0 @@ -//fnc_m137_stopMonitorSight.sqf -#include "script_component.hpp" - -GVAR(monitorSight) = false; -GVAR(m137Gun) = nil; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_recoil.sqf b/TO_MERGE/ace/arty_m119/fnc_recoil.sqf deleted file mode 100644 index c58f5cc5ad..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_recoil.sqf +++ /dev/null @@ -1,34 +0,0 @@ -//fnc_recoil.sqf -private["_gun", "_currentRound", "_elevatePhase", "_recoilLength", "_charge", "_chargeFactor", - "_elvOff", "_defOff", "_azOff"]; -_gun = _this select 0; -_currentRound = _this select 1; -_elevatePhase = (_gun animationPhase "MainGun") max 0; -_recoilLength = 1.07-(((1.07-0.36)/1244)*_elevatePhase); -_charge = _currentRound select 3; -_chargeFactor = _charge/8; -_elvOff = (-1+(random 2))*_chargeFactor; -_defOff = (-0.5+(random 1))*_chargeFactor; -_azOff = (-0.25+(random 0.5))*_chargeFactor; -_recoilLength = _recoilLength*_chargeFactor; -_azimuthPhase = (_gun animationPhase "MainTurret"); -_elevationPhase = (_gun animationPhase "MainGun"); -_traversePhase = (_gun animationPhase "MainTurretTraverse"); -_elvOff = (((_elvOff+_elevationPhase) max -100) min 1244); -_azOff = (_azOff+_azimuthPhase); -_defOff = (((_defOff+_traversePhase) max -100) min 100); - -_gun animate ["recoil_source", _recoilLength]; -_gun animate ["MainGun", _elvOff]; -_gun animate ["MainTurret", _azOff]; -_gun animate ["MainTurretTraverse", _defOff]; - -[_gun, _recoilLength] spawn { - private ["_gun", "_recoilLength"]; - _gun = _this select 0; - _recoilLength = _this select 1; - waitUntil { - (_gun animationPhase "recoil_source" >= _recoilLength); - }; - _gun animate ["recoil_source", 0]; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_shiftLeft.sqf b/TO_MERGE/ace/arty_m119/fnc_shiftLeft.sqf deleted file mode 100644 index a4fd5f28d6..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_shiftLeft.sqf +++ /dev/null @@ -1,86 +0,0 @@ -//fnc_shiftLeft.sqf -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -private["_phase", "_absPhase", "_degPhase", "_found_anim", "_setDir"]; - -PARAMS_1(_gun); - -//_dn = getText(configFile >> "CfgVehicles" >> typeOf _gun >> "displayName"); -//_actionText = format[localize "STR_ACE_ARTY_STOPSHIFTHOWITZER",_dn]; - -GVAR(dragGun) = _gun; -closeDialog 0; -player attachTo [_gun, [0,0,-0.27], "shift_left"]; - -//player switchMove "ACINPKNLMSTPSRASWRFLDNON"; - -GVAR(stopDragging) = false; -_phase = GVAR(dragGun) animationPhase "MainTurret"; - -_absPhase = (abs _phase) mod 6400; - -if(_phase < 0) then { - _absPhase = 6400-_absPhase; -}; -_degPhase = MIL2DEG(_absPhase); - -player setDir (_degPhase + 290) mod 360; - -FUNC(handleKeydown) = { - private["_handled", "_ctrl", "_dikCode", "_shift", "_ctrl", "_alt", "_phase"]; - _ctrl = _this select 0; - _dikCode = _this select 1; - _shift = _this select 2; - _ctrl = _this select 3; - _alt = _this select 4; - _result = true; - _size = 40; - if (_ctrl) then { - _size = 20; - }; - if (_shift) then { - _size = 1; - }; - if(_dikCode in (actionKeys "moveBack")) then { - _phase = GVAR(dragGun) animationPhase "MainTurret"; - _phase = (floor _phase); - GVAR(dragGun) animate["MainTurret", (_phase-_size)]; - _result = false; - }; - if(_dikCode in (actionKeys "stand") || _dikCode in (actionKeys "crouch")) then { - [] call FUNC(endShift); - _result = true; - }; - _result -}; - -//#define ACE_TEXT_RED(Text) ("" + ##Text + "") - -GVAR(drag_keyDownId) = (findDisplay 46) displayAddEventHandler ["KeyDown", QUOTE(_this call FUNC(handleKeydown))]; -_found_anim = false; - -player playMove "ACINPKNLMSTPSRASWRFLDNON"; -//GVAR(shiftActionId) = player addAction [ACE_TEXT_RED(_actionText), QPATHTO_F(fnc_endShift.sqf), [], 100, false, false, "", ""]; -waitUntil { animationState player == "ACINPKNLMSTPSRASWRFLDNON" }; - -while { !GVAR(stopDragging) } do { - if( !(alive player) || !(alive GVAR(dragGun)) ) exitWith { - [] call FUNC(endShift); - }; - if !(animationState player in ["acinpknlmstpsraswrfldnon","acinpknlmwlksraswrfldb"]) exitWith { - player switchMove "ACINPKNLMSTPSRASWRFLDNON"; - [] call FUNC(endShift); - }; - _phase = GVAR(dragGun) animationPhase "MainTurret"; - - _absPhase = (abs _phase) mod 6400; - - if(_phase < 0) then { - _absPhase = 6400-_absPhase; - }; - _degPhase = MIL2DEG(_absPhase); - _setDir = (_degPhase + 290) mod 360; - player setDir _setDir; - sleep 0.01; -}; diff --git a/TO_MERGE/ace/arty_m119/fnc_shiftRight.sqf b/TO_MERGE/ace/arty_m119/fnc_shiftRight.sqf deleted file mode 100644 index 78752b88f1..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_shiftRight.sqf +++ /dev/null @@ -1,86 +0,0 @@ -//fnc_shiftLeft.sqf -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -private["_phase", "_absPhase", "_degPhase", "_found_anim", "_setDir"]; - -PARAMS_1(_gun); - -//_dn = getText(configFile >> "CfgVehicles" >> typeOf _gun >> "displayName"); -//_actionText = format[localize "STR_ACE_ARTY_STOPSHIFTHOWITZER",_dn]; - -GVAR(dragGun) = _gun; -closeDialog 0; -player attachTo [_gun, [0,0,-0.27], "shift_right"]; - -// player switchMove "ACINPKNLMSTPSRASWRFLDNON"; - -GVAR(stopDragging) = false; -_phase = GVAR(dragGun) animationPhase "MainTurret"; - -_absPhase = (abs _phase) mod 6400; - -if(_phase < 0) then { - _absPhase = 6400-_absPhase; -}; -_degPhase = MIL2DEG(_absPhase); - -player setDir (_degPhase + 70) mod 360; - -FUNC(handleKeydown) = { - private["_handled", "_ctrl", "_dikCode", "_shift", "_ctrl", "_alt", "_phase"]; - _ctrl = _this select 0; - _dikCode = _this select 1; - _shift = _this select 2; - _ctrl = _this select 3; - _alt = _this select 4; - _result = true; - _size = 40; - if (_ctrl) then { - _size = 20; - }; - if (_shift) then { - _size = 1; - }; - if(_dikCode in (actionKeys "moveBack")) then { - _phase = GVAR(dragGun) animationPhase "MainTurret"; - _phase = (floor _phase); - GVAR(dragGun) animate["MainTurret", (_phase+_size)]; - _result = false; - }; - if(_dikCode in (actionKeys "stand") || _dikCode in (actionKeys "crouch")) then { - [] call FUNC(endShift); - _result = true; - }; - _result -}; - -//#define ACE_TEXT_RED(Text) ("" + ##Text + "") - -GVAR(drag_keyDownId) = (findDisplay 46) displayAddEventHandler ["KeyDown", QUOTE(_this call FUNC(handleKeydown))]; -_found_anim = false; - -player playActionNow "grabDrag"; -//GVAR(shiftActionId) = player addAction [ACE_TEXT_RED(_actionText), QPATHTO_F(fnc_endShift.sqf), [], 100, false, false, "", ""]; -waitUntil { animationState player == "ACINPKNLMSTPSRASWRFLDNON" }; - -while { !GVAR(stopDragging) } do { - if( !(alive player) || !(alive GVAR(dragGun)) ) exitWith { - [] call FUNC(endShift); - }; - if !(animationState player in ["acinpknlmstpsraswrfldnon","acinpknlmwlksraswrfldb"]) exitWith { - player switchMove "ACINPKNLMSTPSRASWRFLDNON"; - [] call FUNC(endShift); - }; - _phase = GVAR(dragGun) animationPhase "MainTurret"; - - _absPhase = (abs _phase) mod 6400; - - if(_phase < 0) then { - _absPhase = 6400-_absPhase; - }; - _degPhase = MIL2DEG(_absPhase); - _setDir = (_degPhase + 70) mod 360; - player setDir _setDir; - sleep 0.01; -}; diff --git a/TO_MERGE/ace/arty_m119/fnc_showSight.sqf b/TO_MERGE/ace/arty_m119/fnc_showSight.sqf deleted file mode 100644 index 0d0200436f..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_showSight.sqf +++ /dev/null @@ -1,7 +0,0 @@ -//fnc_showSight.sqf -#include "script_component.hpp" -disableSerialization; -createDialog "acex_arty_m137_dialog"; -PARAMS_1(_gun); - -GVAR(m137Gun) = _gun; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/fnc_textPad.sqf b/TO_MERGE/ace/arty_m119/fnc_textPad.sqf deleted file mode 100644 index cb9ebc1cc4..0000000000 --- a/TO_MERGE/ace/arty_m119/fnc_textPad.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//fnc_textPad.sqf -#include "script_component.hpp" -PARAMS_3(_str,_pad,_length); - -_strArray = toArray _str; -_padStr = ""; -if(_length > (count _strArray)) then { - _dif = _length - (count _strArray); - - for "_i" from 1 to _dif do { - _padStr = _padStr + _pad; - }; - _padStr = _padStr + _str; -} else { - _padStr = _str; -}; - -_padStr \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/license.txt b/TO_MERGE/ace/arty_m119/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/arty_m119/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/arty_m119/m119sight.paa b/TO_MERGE/ace/arty_m119/m119sight.paa deleted file mode 100644 index 055e34e765..0000000000 Binary files a/TO_MERGE/ace/arty_m119/m119sight.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_m119/model.cfg b/TO_MERGE/ace/arty_m119/model.cfg deleted file mode 100644 index 5514fe976b..0000000000 --- a/TO_MERGE/ace/arty_m119/model.cfg +++ /dev/null @@ -1,180 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - class StaticWeapon; - class ace_sys_arty_m119_skeleton: StaticWeapon { - isDiscrete = 1; - skeletonInherit = ""; - sectionsInherit = ""; - skeletonBones[] = { - "OtocVez","", - "Traverse","OtocVez", - "OtocHlaven","Traverse", - "barrel","OtocHlaven", - "gun_chamber","barrel", - "gun_muzzle","gun_chamber", - "M187","Traverse", - "M137","M187", - "ElevationGauge","M187", - "M137_Optic","M137", - "M137_OpticElevate","M137_Optic", - "ElevatingWheel","Traverse", - "zakluz","OtocHlaven" - }; - }; - //class ace_sys_m119_105mm_shell_skeleton : Default { - // isDiscrete = 1; - // skeletonInherit = "Default"; - // skeletonBones[]= { }; - //}; -}; -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - skeletonName = ""; - }; - class ace_arty_m119: Default { - sections[] = { - "zasleh", - "ElevatingWheel", - "M137", - "M137_Optic", - "M187", - "ElevationGauge", - "M137_OpticElevate" - }; - sectionsInherit = "Default"; - skeletonName="ace_sys_arty_m119_skeleton"; - class Animations { - class MainTurret { - type="rotation"; - source="user"; - selection="OtocVez"; - sourceAddress = "loop"; - axis="osaveze"; - animPeriod=0; - minValue="-6400"; - maxValue="6400"; - angle0="rad +360"; - angle1="rad -360"; - }; - class M137OpticRevolve { - type="rotation"; - source="user"; - selection="M137_Optic"; - sourceAddress = "loop"; - axis="M137_OpticAxis"; - memory = true; - animPeriod=0; - minValue="-6400"; - maxValue="6400"; - angle0="rad -360"; - angle1="rad +360"; - }; - class MainTurretTraverse { - type="rotation"; - source="user"; - selection="Traverse"; - sourceAddress = "clamp"; - axis="osaveze"; - animPeriod=0; - minValue="-100"; - maxValue="100"; - angle0="rad 5.63"; - angle1="rad -5.63"; - }; - class MainGun { - type="rotation"; - selection="OtocHlaven"; - sourceAddress = "clamp"; - source="user"; - axis="OsaHlavne"; - animPeriod=0; - initPhase=300; - minValue="-100"; - maxValue="1244"; - angle0="rad 5.63"; - angle1="rad -69.98"; - }; - class ElevationMountRotate { - type="rotation"; - source="MainGun"; - selection="ElevationGauge"; - sourceAddress = "clamp"; - axis="M187_Axis"; - animPeriod=0; - initPhase=300; - minValue="-100"; - maxValue="1244"; - angle0="rad 5.63"; - angle1="rad -69.98"; - }; - class M137OpticElevate { - type="rotation"; - selection="M137_OpticElevate"; - sourceAddress = "clamp"; - source="user"; - axis="M137_OpticElevateAxis"; - animPeriod=0; - initPhase=0; - minValue="-300"; - maxValue="300"; - angle0="rad 16.875"; - angle1="rad -16.875"; - }; - class M187MountElevate { - type="rotation"; - source="user"; - selection="ElevationGauge"; - sourceAddress = "clamp"; - axis="M187_Axis"; - animPeriod=0; - initPhase=300; - minValue="-100"; - maxValue="1244"; - angle0="rad -5.63"; - angle1="rad 69.98"; - }; - class ElevatingWheel { - type="rotation"; - source="MainGun"; - selection="ElevatingWheel"; - sourceAddress = "clamp"; - axis="ElevatingWheelAxis"; - memory = true; - animPeriod=0; - minValue="-100"; - maxValue="1244"; - angle0="rad 360"; - angle1="rad -4478.4"; - }; - class recoil_source { - type="translation"; - source="user"; - selection="zakluz"; - sourceAddress = "clamp"; - axis="recoil_axis"; - memory = true; - animPeriod=0.125; - minValue="0"; - maxValue="1.07"; - offset0="0"; - offset1="-1.07"; - }; - }; - }; - //class ace_sys_m119_105mm_shell : Default { - // sectionsInherit = "Default"; - // sections[] = { }; - // - // skeletonName = "ace_sys_m119_105mm_shell_skeleton"; - // class Animations {}; - //}; - //class ace_arty_m1_cartridge : ace_sys_m119_105mm_shell { }; - //class ace_arty_m1_shell : ace_sys_m119_105mm_shell { }; - //class ace_arty_m14_casing : ace_sys_m119_105mm_shell { }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_m119/ring.paa b/TO_MERGE/ace/arty_m119/ring.paa deleted file mode 100644 index d92a560039..0000000000 Binary files a/TO_MERGE/ace/arty_m119/ring.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_m119/script_component.hpp b/TO_MERGE/ace/arty_m119/script_component.hpp deleted file mode 100644 index a82a841f36..0000000000 --- a/TO_MERGE/ace/arty_m119/script_component.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#define COMPONENT sys_arty_m119 -#include "\x\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_ARTY_M119 - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_ARTY_M119 - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_ARTY_M119 -#endif - -#include "\x\ace\addons\main\script_macros.hpp" -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - diff --git a/TO_MERGE/ace/arty_m119/sounds/M119breachAction.wss b/TO_MERGE/ace/arty_m119/sounds/M119breachAction.wss deleted file mode 100644 index 82babf4beb..0000000000 Binary files a/TO_MERGE/ace/arty_m119/sounds/M119breachAction.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_m119/stringtable.xml b/TO_MERGE/ace/arty_m119/stringtable.xml deleted file mode 100644 index 6b68214d08..0000000000 --- a/TO_MERGE/ace/arty_m119/stringtable.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - -Drehe %1 links -Shift M119 Left -Shift M119 Left -Otočit M119 doleva -Shift M119 Left -Obróć działo w lewo -Shift M119 Left -Сдвинуть M119 влево -Shift M119 Left - - -Drehe %1 rechts -Shift M119 Right -Shift M119 Right -Otočit M119 doprava -Shift M119 Right -Obróć działo w prawo -Shift M119 Right -Сдвинуть M119 вправо -Shift M119 Right - - - - diff --git a/TO_MERGE/ace/arty_m119/todo.txt b/TO_MERGE/ace/arty_m119/todo.txt deleted file mode 100644 index 7252a56691..0000000000 --- a/TO_MERGE/ace/arty_m119/todo.txt +++ /dev/null @@ -1,5 +0,0 @@ --- M119 to ACE ASAP checklist - ---1. Move mission code for gun functionality to addon-- -2. Add point and click BCS (TEMPORARY) to display hi/low solution for first round available of each. ---3. Write script to automatically align aiming stakes (provide something to do that automatically)?-- \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/$PBOPREFIX$ b/TO_MERGE/ace/arty_mortars/$PBOPREFIX$ deleted file mode 100644 index a5f897575c..0000000000 --- a/TO_MERGE/ace/arty_mortars/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\ace\Addons\sys_arty_mortars \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA.p3d b/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA.p3d deleted file mode 100644 index 6f39ba748a..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA_Barrel.p3d b/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA_Barrel.p3d deleted file mode 100644 index dc0cfd585d..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA_Barrel.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA_Baseplate.p3d b/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA_Baseplate.p3d deleted file mode 100644 index be3a28376c..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/ACE_120_TAMPELLA_Baseplate.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/ACE_2B14.p3d b/TO_MERGE/ace/arty_mortars/ACE_2B14.p3d deleted file mode 100644 index 5e770ddd3d..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/ACE_2B14.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/ACE_M224.p3d b/TO_MERGE/ace/arty_mortars/ACE_M224.p3d deleted file mode 100644 index c6e1e68d10..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/ACE_M224.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/ACE_M252.p3d b/TO_MERGE/ace/arty_mortars/ACE_M252.p3d deleted file mode 100644 index 73cbb4c1c8..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/ACE_M252.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/CfgEventHandlers.hpp b/TO_MERGE/ace/arty_mortars/CfgEventHandlers.hpp deleted file mode 100644 index aaae584575..0000000000 --- a/TO_MERGE/ace/arty_mortars/CfgEventHandlers.hpp +++ /dev/null @@ -1,64 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; -class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_postClientInit)); - }; -}; -//class Extended_Init_EventHandlers { -class Extended_InitPost_EventHandlers { - class ACE_M252 { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_init)); - }; - }; - class ACE_M224_1 { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_init)); - }; - }; - class ACE_2b14_82mm { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_init)); - }; - }; - class ACE_120Tampella { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_init)); - exclude[] = {"ACE_120Tampella_Barrel", "ACE_120Tampella_Baseplate"}; - }; - }; -}; - -class Extended_GetIn_Eventhandlers { - class ACE_M252 { - clientGetin = QUOTE(_this call FUNC(XEH_getin)); - }; - class ACE_M224_1 { - clientGetin = QUOTE(_this call FUNC(XEH_getin)); - }; - class ACE_2b14_82mm { - clientGetin = QUOTE(_this call FUNC(XEH_getin)); - }; - class ACE_120Tampella { - clientGetin = QUOTE(_this call FUNC(XEH_getin)); - }; -}; - -class Extended_GetOut_Eventhandlers { - class ACE_M252 { - clientGetout = QUOTE(_this call FUNC(XEH_getout)); - }; - class ACE_M224_1 { - clientGetout = QUOTE(_this call FUNC(XEH_getout)); - }; - class ACE_2b14_82mm { - clientGetout = QUOTE(_this call FUNC(XEH_getout)); - }; - class ACE_120Tampella { - clientGetout = QUOTE(_this call FUNC(XEH_getout)); - }; -}; diff --git a/TO_MERGE/ace/arty_mortars/CfgVehicles.hpp b/TO_MERGE/ace/arty_mortars/CfgVehicles.hpp deleted file mode 100644 index d334d24cc8..0000000000 --- a/TO_MERGE/ace/arty_mortars/CfgVehicles.hpp +++ /dev/null @@ -1,356 +0,0 @@ -class CfgVehicles { - class Land; - class LandVehicle: Land { - class ACE; - }; - class StaticWeapon: LandVehicle { - class Turrets { class MainTurret; }; - class ACE: ACE { - class ACE_CREWSERVED; - }; - }; - class StaticMortar: StaticWeapon { - class Turrets: Turrets { - class MainTurret : MainTurret { - class ViewOptics; - }; - }; - class ACE: ACE { - class ACE_ARTY { - shiftingSpeed[] = {5,20}; // NO SHIFT, SHIFT - }; - }; - }; - class M252 : StaticMortar {}; - class M252_Base: M252 {}; - class M252_US_EP1: M252_Base {}; - - class ACE_M252: M252_US_EP1 { - scope = 2; - model = "\x\ace\addons\sys_arty_mortars\ACE_M252.p3d"; - class Turrets: Turrets { - class MainTurret: MainTurret { // KI Turret, lock on spawn - weapons[] = { "ace_arty_m252" }; - magazines[] = {}; - gunnerOpticsModel = "\x\ace\addons\sys_arty_mortars\SightUnit"; - soundServo[] = {"",0.0001,1}; - class ViewOptics : ViewOptics { - initFov = 0.0787019; - minFov = 0.0787019; - maxFov = 0.0787019; - }; - }; - }; - vehicleClass = "ACE_Howitzers"; - ACE_ARTY_ISARTY = 1; - ACE_ARTY_RECOIL = QUOTE(PATHTOF(fnc_recoil.sqf)); - ACE_ARTY_SETUP_OFFSETPOS[] = {-0.135498,0.214844, 0}; - ACE_ARTY_SETUP_OFFSET_STAKEANGLE = -0.55; // this is in mils!!! - artilleryScanner = 0; - ARTY_IsArtyVehicle = 0; - transportMaxWeapons = 1; - transportSoldier = 0; - class TransportWeapons { - class _xx_ace_arty_rangeTable_m252 { - weapon = "ace_arty_rangeTable_m252"; - count = 1; - }; - }; - reversed = 1; - class AnimationSources { - class MainTurret { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainTurret_RotateFast: MainTurret { - animPeriod = 0.0001; - }; - class MainGun { - source = "user"; - animPeriod = 0.01; - initPhase = 1100; - minValue = 800; - maxValue = 1511; - }; - class OpticElevate { - source = "user"; - animPeriod = 0.01; - initPhase = 1100; - minValue = 800; - maxValue = 1511; - }; - class OpticRevolve { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainTurretTraverse { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -200; - maxValue = 200; - }; - }; - class ACE: ACE { - class ACE_ARTY: ACE_ARTY { - shiftingSpeed[] = {5,20}; // NO SHIFT, SHIFT - }; - }; - ACE_Weight = 41.3; - }; - class ACE_M224: M252_US_EP1 {}; - class ACE_M224_1: ACE_M224 { - scope = 2; - model = "\x\ace\addons\sys_arty_mortars\ACE_M224.p3d"; - class Turrets: Turrets { - class MainTurret: MainTurret { - weapons[] = { "ace_arty_m224" }; - magazines[] = {}; - gunnerOpticsModel = "\x\ace\addons\sys_arty_mortars\SightUnit"; - soundServo[] = {"",0.0001,1}; - class ViewOptics : ViewOptics { - initFov = 0.0787019; - minFov = 0.0787019; - maxFov = 0.0787019; - }; - }; - }; - vehicleClass = "ACE_Howitzers"; - ACE_ARTY_ISARTY = 1; - ACE_ARTY_RECOIL = QUOTE(PATHTOF(fnc_recoil.sqf)); - ACE_ARTY_SETUP_OFFSETPOS[] = {-0.135498,0.214844, 0}; - ACE_ARTY_SETUP_OFFSET_STAKEANGLE = 0.37; // this is in mils!!! - - artilleryScanner = 0; - ARTY_IsArtyVehicle = 0; - transportMaxWeapons = 1; - transportSoldier = 0; - class TransportWeapons { - class _xx_ace_arty_rangeTable_m224 { - weapon = "ace_arty_rangeTable_m224"; - count = 1; - }; - }; - reversed = 1; - class AnimationSources { - class MainTurret { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainTurret_RotateFast: MainTurret { - animPeriod = 0.0001; - }; - class MainGun { - source = "user"; - animPeriod = 0.01; - initPhase = 1100; - minValue = 800; - maxValue = 1511; - }; - class OpticElevate { - source = "user"; - animPeriod = 0.01; - initPhase = 1100; - minValue = 800; - maxValue = 1511; - }; - class OpticRevolve { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainTurretTraverse { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -200; - maxValue = 200; - }; - }; - class ACE: ACE { - class ACE_ARTY: ACE_ARTY { - shiftingSpeed[] = {5,30}; // NO SHIFT, SHIFT - }; - }; - ACE_Weight = 21.1; - }; - - class 2b14_82mm : StaticMortar {}; - class 2b14_82mm_base: 2b14_82mm {}; - class 2b14_82mm_TK_GUE_EP1: 2b14_82mm_base {}; - - class ACE_2b14_82mm : 2b14_82mm_TK_GUE_EP1 { - scope = 2; - model = "\x\ace\addons\sys_arty_mortars\ACE_2B14.p3d"; - class Turrets: Turrets { - class Mainturret: MainTurret { - weapons[] = { "ace_arty_2b14" }; - magazines[] = {}; - gunnerOpticsModel = "\x\ace\addons\sys_arty_mortars\SightUnit"; - soundServo[] = {"",0.0001,1}; - class ViewOptics : ViewOptics { - initFov = 0.0787019; - minFov = 0.0787019; - maxFov = 0.0787019; - }; - }; - }; - vehicleClass = "ACE_Howitzers"; - ACE_ARTY_ISARTY = 1; - ACE_ARTY_RECOIL = QUOTE(PATHTOF(fnc_recoil.sqf)); - ACE_ARTY_SETUP_OFFSETPOS[] = {-0.135498,0.214844, 0}; - ACE_ARTY_SETUP_OFFSET_STAKEANGLE = -0.55; // this is in mils!!! - artilleryScanner = 0; - ARTY_IsArtyVehicle = 0; - transportMaxWeapons = 1; - transportSoldier = 0; - class TransportWeapons { - class _xx_ace_arty_rangeTable_2b14 { - weapon = "ace_arty_rangeTable_2b14"; - count = 1; - }; - }; - reversed = 1; - class AnimationSources { - class MainTurret { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainTurret_RotateFast: MainTurret { - animPeriod = 0.0001; - }; - class MainGun { - source = "user"; - animPeriod = 0.01; - initPhase = 1100; - minValue = 800; - maxValue = 1511; - }; - class OpticElevate { - source = "user"; - animPeriod = 0.01; - initPhase = 1100; - minValue = 800; - maxValue = 1511; - }; - class OpticRevolve { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -6400; - maxValue = 6400; - }; - class MainTurretTraverse { - source = "user"; - animPeriod = 0.01; - initPhase = 0; - minValue = -200; - maxValue = 200; - }; - }; - class ACE: ACE { - class ACE_ARTY: ACE_ARTY { - shiftingSpeed[] = {5,20}; // NO SHIFT, SHIFT - }; - }; - ACE_Weight = 41.88; - }; - class ACE_120Tampella: ACE_M252 { - displayName = "120mm Tampella"; - model = "\x\ace\addons\sys_arty_mortars\ACE_120_TAMPELLA.p3d"; - class Turrets: Turrets { - class MainTurret: MainTurret { - weapons[] = { "ace_arty_120tampella" }; - gunnerOpticsModel = "\x\ace\addons\sys_arty_mortars\SightUnit"; - class ViewOptics : ViewOptics { - initFov = 0.0787019; - minFov = 0.0787019; - maxFov = 0.0787019; - }; - }; - }; - class TransportWeapons { - class _xx_ace_arty_rangeTable_m252 { - weapon = "ace_arty_rangeTable_tampella"; - count = 1; - }; - }; - ACE_Weight = 151.2; - ACE_ARTY_SETUP_OFFSETPOS[] = {-0.135498,0.214844, 0}; - ACE_ARTY_SETUP_OFFSET_STAKEANGLE = -0.55; // this is in mils!!! - class ACE: ACE { - class ACE_CREWSERVED: ACE_CREWSERVED { - disassemblyType = "parts"; - weaponProxy = "ACE_120Tampella_Barrel"; - tripod = "ACE_120Tampella_Baseplate"; - canDrag = 0; - }; - class ACE_ARTY: ACE_ARTY { - shiftingSpeed[] = {5,20}; // NO SHIFT, SHIFT - }; - }; - }; - // TODO: Localize - class ACE_120Tampella_Barrel: ACE_120Tampella { - scope = 1; - armor = 10000; - displayName = "120mm Tampella Barrel"; - model = "\x\ace\addons\sys_arty_mortars\ACE_120_Tampella_Barrel.p3d"; - class TransportWeapons {}; - class TransportMagazines {}; - transportMaxWeapons = 0; - transportMaxMagazines = 0; - ACE_Weight = 86.8; - class Turrets {}; - hasGunner = 0; - hssDriver = 0; - hasCommander = 0; - class ACE: ACE { - class ACE_CREWSERVED: ACE_CREWSERVED { - interaction = "XXX"; - canDrag = 0; - canCarry = 1; - }; - }; - attachPosFront[] = {0,-2.1,0.8}; - attachPosRear[] = {0,-2.5,0}; - }; - class ACE_120Tampella_Baseplate: ACE_120Tampella { - scope = 1; - armor = 10000; - displayName = "120mm Tampella Baseplate"; - model = "\x\ace\addons\sys_arty_mortars\ACE_120_Tampella_Baseplate.p3d"; - class TransportWeapons {}; - class TransportMagazines {}; - transportMaxWeapons = 0; - transportMaxMagazines = 0; - class Turrets {}; - hasGunner = 0; - hssDriver = 0; - hasCommander = 0; - class ACE: ACE { - class ACE_CREWSERVED: ACE_CREWSERVED { - interaction = "XXX"; - canDrag = 0; - canCarry = 1; - }; - }; - ACE_Weight = 64; - attachPosFront[] = {0,-0.6,0.8}; - attachPosRear[] = {0,-1.3,0}; - }; -}; diff --git a/TO_MERGE/ace/arty_mortars/CfgWeapons.hpp b/TO_MERGE/ace/arty_mortars/CfgWeapons.hpp deleted file mode 100644 index 1accb30754..0000000000 --- a/TO_MERGE/ace/arty_mortars/CfgWeapons.hpp +++ /dev/null @@ -1,149 +0,0 @@ -class CfgWeapons { - class CannonCore; - class ace_arty_m224 : CannonCore { - magazineReloadTime = 0.5; - dispersion = 0.0071428; // 25m @ 3500m (// to calc: dispersion = cep/maxrange) - reloadTime = 0.5; - magazines[] = { - "ace_arty_60mm_m720a1_m734_pd_chg0", - "ace_arty_60mm_m720a1_m734_pd_chg1", - "ace_arty_60mm_m720a1_m734_pd_chg2", - "ace_arty_60mm_m720a1_m734_pd_chg3", - "ace_arty_60mm_m720a1_m734_pd_chg4", - "ace_arty_60mm_m720a1_m734_prox_chg0", - "ace_arty_60mm_m720a1_m734_prox_chg1", - "ace_arty_60mm_m720a1_m734_prox_chg2", - "ace_arty_60mm_m720a1_m734_prox_chg3", - "ace_arty_60mm_m720a1_m734_prox_chg4", - "ace_arty_60mm_m720a1_m734_nsb_chg0", - "ace_arty_60mm_m720a1_m734_nsb_chg1", - "ace_arty_60mm_m720a1_m734_nsb_chg2", - "ace_arty_60mm_m720a1_m734_nsb_chg3", - "ace_arty_60mm_m720a1_m734_nsb_chg4", - "ace_arty_60mm_m720a1_m734_delay_chg0", - "ace_arty_60mm_m720a1_m734_delay_chg1", - "ace_arty_60mm_m720a1_m734_delay_chg2", - "ace_arty_60mm_m720a1_m734_delay_chg3", - "ace_arty_60mm_m720a1_m734_delay_chg4", - "ace_arty_60mm_m721_m776_time_chg0", - "ace_arty_60mm_m721_m776_time_chg1", - "ace_arty_60mm_m721_m776_time_chg2", - "ace_arty_60mm_m721_m776_time_chg3", - "ace_arty_60mm_m721_m776_time_chg4", - "ace_arty_60mm_m722a1_m745_pd_chg0", - "ace_arty_60mm_m722a1_m745_pd_chg1", - "ace_arty_60mm_m722a1_m745_pd_chg2", - "ace_arty_60mm_m722a1_m745_pd_chg3", - "ace_arty_60mm_m722a1_m745_pd_chg4" - }; - scope = 1; - displayName = "M224"; - nameSound = "cannon"; - cursor = "Missile"; - cursorAim = "\ca\Weapons\Data\clear_empty"; - cursorSize = 1; - begin1[] = {QPATHTO_S(data\sounds\60mm_1),db+27,1,300}; - begin2[] = {QPATHTO_S(data\sounds\60mm_1),db+25,1.3,300}; - soundBegin[] = {"begin1",0.5,"begin2",0.5}; - reloadSound[] = {QPATHTO_S(data\sounds\mortar_load_long),3,1,12}; - soundServo[] = {"",0.0001,1}; - autoReload = 0; - backgroundReload = 0; - ballisticsComputer = 0; - canLock = 0; - }; - class ace_arty_m252: ace_arty_m224 { - displayName = "M252"; - magazines[] = { - "ace_arty_81mm_m821a2_m734_pd_chg0", - "ace_arty_81mm_m821a2_m734_pd_chg1", - "ace_arty_81mm_m821a2_m734_pd_chg2", - "ace_arty_81mm_m821a2_m734_pd_chg3", - "ace_arty_81mm_m821a2_m734_pd_chg4", - "ace_arty_81mm_m821a2_m734_prox_chg0", - "ace_arty_81mm_m821a2_m734_prox_chg1", - "ace_arty_81mm_m821a2_m734_prox_chg2", - "ace_arty_81mm_m821a2_m734_prox_chg3", - "ace_arty_81mm_m821a2_m734_prox_chg4", - "ace_arty_81mm_m821a2_m734_nsb_chg0", - "ace_arty_81mm_m821a2_m734_nsb_chg1", - "ace_arty_81mm_m821a2_m734_nsb_chg2", - "ace_arty_81mm_m821a2_m734_nsb_chg3", - "ace_arty_81mm_m821a2_m734_nsb_chg4", - "ace_arty_81mm_m821a2_m734_delay_chg0", - "ace_arty_81mm_m821a2_m734_delay_chg1", - "ace_arty_81mm_m821a2_m734_delay_chg2", - "ace_arty_81mm_m821a2_m734_delay_chg3", - "ace_arty_81mm_m821a2_m734_delay_chg4", - "ace_arty_81mm_m853a1_m772_time_chg0", - "ace_arty_81mm_m853a1_m772_time_chg1", - "ace_arty_81mm_m853a1_m772_time_chg2", - "ace_arty_81mm_m853a1_m772_time_chg3", - "ace_arty_81mm_m853a1_m772_time_chg4", - "ace_arty_81mm_m375a3_m524_pd_chg0", - "ace_arty_81mm_m375a3_m524_pd_chg1", - "ace_arty_81mm_m375a3_m524_pd_chg2", - "ace_arty_81mm_m375a3_m524_pd_chg3", - "ace_arty_81mm_m375a3_m524_pd_chg4" - }; - begin1[] = {QPATHTO_S(data\sounds\ace_mortar_fire),db+27,1.1,600}; - begin2[] = {QPATHTO_S(data\sounds\ace_mortar_fire),db+27,1.03,600}; - begin3[] = {QPATHTO_S(data\sounds\ace_mortar_fire),db+26,1.01,600}; - begin4[] = {QPATHTO_S(data\sounds\ace_mortar_fire),db+25,1.09,600}; - soundBegin[] = {"begin1",0.25,"begin2",0.25,"begin3",0.25,"begin4",0.25}; - reloadSound[] = {QPATHTO_S(data\sounds\mortar_load_short),3,1,8}; - dispersion = 0.018867; // 100m @ 5300m - }; - class ace_arty_2b14: ace_arty_m252 { - displayName = "2B14"; - magazines[] = { - "ace_arty_82mm_he_pd_chg0", - "ace_arty_82mm_he_pd_chg1", - "ace_arty_82mm_he_pd_chg2", - "ace_arty_82mm_he_pd_chg3", - "ace_arty_82mm_he_pd_chg4", - "ace_arty_82mm_he_pd_chg5", - "ace_arty_82mm_he_pd_chg6", - "ace_arty_82mm_illum_time_chg0", - "ace_arty_82mm_illum_time_chg1", - "ace_arty_82mm_illum_time_chg2", - "ace_arty_82mm_illum_time_chg3", - "ace_arty_82mm_wp_pd_chg0", - "ace_arty_82mm_wp_pd_chg1", - "ace_arty_82mm_wp_pd_chg2", - "ace_arty_82mm_wp_pd_chg3" - }; - reloadSound[] = {QPATHTO_S(data\sounds\mortar_load_long),1.12202,1,12}; - }; - class ace_arty_120tampella: ace_arty_m252 { - displayName = "120mm Tampella"; - magazines[] = { - "ace_arty_120mm_dm11a5_dm111a1_pd_chg0", - "ace_arty_120mm_dm11a5_dm111a1_pd_chg1", - "ace_arty_120mm_dm11a5_dm111a1_pd_chg2", - "ace_arty_120mm_dm11a5_dm111a1_pd_chg3", - "ace_arty_120mm_dm11a5_dm111a1_pd_chg4", - "ace_arty_120mm_dm61_ppd_prox_chg0", - "ace_arty_120mm_dm61_ppd_prox_chg1", - "ace_arty_120mm_dm61_ppd_prox_chg2", - "ace_arty_120mm_dm61_ppd_prox_chg3", - "ace_arty_120mm_dm61_ppd_prox_chg4", - "ace_arty_120mm_dm26_dm93_time_chg0", - "ace_arty_120mm_dm26_dm93_time_chg1", - "ace_arty_120mm_dm26_dm93_time_chg2", - "ace_arty_120mm_dm26_dm93_time_chg3", - "ace_arty_120mm_dm26_dm93_time_chg4", - "ace_arty_120mm_dm35_dm93_time_chg0", - "ace_arty_120mm_dm35_dm93_time_chg1", - "ace_arty_120mm_dm35_dm93_time_chg2", - "ace_arty_120mm_dm35_dm93_time_chg3", - "ace_arty_120mm_dm35_dm93_time_chg4" - }; - begin1[] = {QPATHTO_S(data\sounds\120mm_1),216.228,1,800}; - begin2[] = {QPATHTO_S(data\sounds\120mm_2),216.228,1,800}; - begin3[] = {QPATHTO_S(data\sounds\120mm_5),216.228,1,800}; - begin4[] = {QPATHTO_S(data\sounds\120mm_6),216.228,1,800}; - soundBegin[] = {"begin1",0.25,"begin2",0.25,"begin3",0.25,"begin4",0.25}; - dispersion = 0.01863; // 136m @ 7000m - }; -}; diff --git a/TO_MERGE/ace/arty_mortars/SightUnit.p3d b/TO_MERGE/ace/arty_mortars/SightUnit.p3d deleted file mode 100644 index 0551ae0969..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/SightUnit.p3d and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/XEH_init.sqf b/TO_MERGE/ace/arty_mortars/XEH_init.sqf deleted file mode 100644 index 16fab71703..0000000000 --- a/TO_MERGE/ace/arty_mortars/XEH_init.sqf +++ /dev/null @@ -1,42 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_1(_gun); - -if (_gun isKindOf "ACE_120Tampella_Barrel" || {_gun isKindOf "ACE_120Tampella_Baseplate"}) exitWith {}; // TODO: Include in XEH ?? How? - -#define ACE_TEXT_SILVER(Text) ("" + ##Text + "") - -_dn = getText(configFile >> "CfgVehicles" >> typeOf _gun >> "displayName"); -_actionTextL = format[localize "STR_ACE_ARTY_SHIFT_MORTAR_LEFT",_dn]; -_actionTextR = format[localize "STR_ACE_ARTY_SHIFT_MORTAR_RIGHT",_dn]; - -// Check if we have already presets... -_azimCount = _gun getVariable [QGVAR(azimuthCounter), 0]; -_gun setVariable [QGVAR(azimuthCounter), _azimCount]; - -_defCount = _gun getVariable [QGVAR(deflectionCounter), 3200]; -_gun setVariable [QGVAR(deflectionCounter), _defCount]; - -_elevCount = _gun getVariable [QGVAR(elevationCounter), 1100]; -_gun setVariable [QGVAR(elevationCounter), _elevCount]; - -_resCount = _gun getVariable [QGVAR(resetCounter), 3200]; -_gun setVariable [QGVAR(resetCounter), _resCount]; - -_resPhase = _gun getVariable [QGVAR(resetPhase), 0]; -_gun setVariable [QGVAR(resetPhase), _resPhase]; - -_curRound = _gun getVariable ["ace_sys_arty_currentRound", []]; -_gun setVariable ["ace_sys_arty_currentRound", _curRound]; - -_roundData = _gun getVariable ["ace_sys_arty_roundData", []]; -_gun setVariable ["ace_sys_arty_roundData", _roundData]; - -_gun call FUNC(alignGun); - -_shiftLeftActionId = _gun addAction [ACE_TEXT_SILVER(_actionTextL), QPATHTO_F(fnc_shiftLeft), [], 2000, false, true, "", "(vehicle player == player) && {!(player in _target)} && {!locked _target} && {alive _target} && {(player distance _target < 1.5)} && {!(player getVariable [""ace_sys_cargo_carrying"",false])}"]; -_shiftRightActionId = _gun addAction [ACE_TEXT_SILVER(_actionTextR), QPATHTO_F(fnc_shiftRight), [], 2000, false, true, "", "(vehicle player == player) && {!(player in _target)} && {!locked _target} && {alive _target} && {(player distance _target < 1.5)} && {!(player getVariable [""ace_sys_cargo_carrying"",false])}"]; - -// Call global Event to create a monitoring trigger on the server -[QGVAR(trigger_mon), [_gun]] call CBA_fnc_globalEvent; // ACE_SYS_ARTY_MORTARS diff --git a/TO_MERGE/ace/arty_mortars/XEH_postClientInit.sqf b/TO_MERGE/ace/arty_mortars/XEH_postClientInit.sqf deleted file mode 100644 index e25e3cbfb1..0000000000 --- a/TO_MERGE/ace/arty_mortars/XEH_postClientInit.sqf +++ /dev/null @@ -1,9 +0,0 @@ -// #define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -ADDON = false; - -[["ACE_120Tampella_Baseplate", "ACE_120Tampella_Barrel"], [ace_sys_interaction_key], -2, [QPATHTO_F(fnc_menuDef), "main"]] call CBA_ui_fnc_add; // TODO: Integrate to sys_crewserved later - -ADDON = true; diff --git a/TO_MERGE/ace/arty_mortars/XEH_pre_init.sqf b/TO_MERGE/ace/arty_mortars/XEH_pre_init.sqf deleted file mode 100644 index e001cf92f3..0000000000 --- a/TO_MERGE/ace/arty_mortars/XEH_pre_init.sqf +++ /dev/null @@ -1,112 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -ADDON = false; - -GVAR(activeGun) = nil; -GVAR(m137Gun) = nil; -GVAR(gunActionIds) = []; -GVAR(m137_shift) = false; -GVAR(m137_ctrl) = false; - -PREP(endShift); -PREP(alignGun); - -PREP(adjustTraverse); -PREP(adjustElevation); -PREP(recoil); -PREP(levelGun); - -PREP(m137_monitorSight); -PREP(m137_bubbleLevel); -PREP(m137_keyDown); -PREP(m137_keyUp); -PREP(m137_stopMonitorSight); -PREP(m137_adjustAzimuth); -PREP(m137_adjustElevation); -PREP(m137_adjustReset); -PREP(m137_adjustOpticElevation); -PREP(m137_changeView); - -PREP(XEH_getin); -PREP(XEH_getout); - -PREP(textPad); - -PREP(FOR); - -FUNC(swapFireReload) = { - private ["_current"]; - PARAMS_1(_unit); - _current = _unit getVariable [QGVAR(fireReload), false]; - if (_current) then { - hintSilent "Fire on Load: Disabled"; - } else { - hintSilent "Fire on Load: Enabled"; - }; - _unit setVariable [QGVAR(fireReload), !_current]; -}; - - -FUNC(assemble) = { - // TODO: Integrate into sys_crewserved somehow or keep individual, if more such stuff is included, maybe A3... - private ["_pos","_mortar"]; - PARAMS_2(_front,_rear); - _pos = getPosATL _front; // Needed to align APOBS on the Front assembly // TODO: Check geometry (kills player) - { deleteVehicle _x } foreach [_front,_rear]; - player setVariable ["ACE_PB_Result", 0]; - _time = getNumber(configFile >> "CfgVehicles" >> "ACE_120Tampella" >> "ACE" >> "ACE_CREWSERVED" >> "mountTime"); - [_time,[format [localize "STR_ACE_DN_MINESWEEPER_ASS_APOBS","120mm Tampella"]],true,true] spawn ace_progressbar; - waitUntil { (player getVariable "ACE_PB_Result" != 0) }; - if (player getVariable "ACE_PB_Result" == 1) then { - _mortar = "ACE_120Tampella" createVehicle [0,0,0]; - _mortar setVelocity [0,0,0]; - _mortar setPosATL _pos; - _mortar setDir getDir player; - }; -}; - -[QGVAR(trigger_mon), { _this call FUNC(trigger_monitor) }] call CBA_fnc_addEventHandler; -//[QGVAR(useFOR), { _this spawn FUNC(FOR) }] call ACE_fnc_addReceiverOnlyEventhandler; - -FUNC(trigger_monitor) = { - private "_trg"; - PARAMS_1(_gun); - if (isServer) then { - _trg=createTrigger ["EmptyDetector",getPos _gun]; - _trg setTriggerArea [5,5,0,false]; - _trg setTriggerActivation ["ANY","PRESENT",true]; - _trg triggerAttachVehicle [_gun]; - _trg setTriggerStatements ["(triggerAttachedVehicle thisTrigger) ammo (weapons (triggerAttachedVehicle thisTrigger) select 0) > 0", "(triggerAttachedVehicle thisTrigger) spawn ace_sys_arty_mortars_fnc_for", ""]; - //_trg setTriggerStatements ["(triggerAttachedVehicle thisTrigger) ammo (weapons (triggerAttachedVehicle thisTrigger) select 0) > 0", "[""ace_sys_arty_mortars_useFOR"", (triggerAttachedVehicle thisTrigger)] call ACE_fnc_receiverOnlyEvent", ""]; - }; -}; - -FUNC(m137_OpticBubbleLevel) = { - private["_levelStr", "_bubbleStr", "_difPercent", "_difInt", "_lvlArr", "_bubbleArr", "_retStr"]; - PARAMS_4(_ctrl,_level,_range,_gun); - - _opticLevel = _gun animationPhase "OpticElevate"; - _barrelLevel = _gun animationPhase "MainGun"; - - _dif = _barrelLevel - _opticLevel; - - _levelStr = "----|-|----"; - _bubbleStr = "o"; - _difPercent = (abs _dif)/_range; - _difInt = round((_difPercent/2)*10); - _difInt = (_difInt max 0) min 5; - if(_dif > 0) then { - _difInt = _difInt * -1; - }; - _difInt = _difInt + 5; - _lvlArr = toArray _levelStr; - _bubbleArr = toArray _bubbleStr; - _lvlArr set[_difInt, (_bubbleArr select 0)]; - _retStr = toString _lvlArr; - _retStr = format["|%1|", _retStr]; - ctrlSetText [_ctrl, _retStr]; -}; - - -ADDON = true; diff --git a/TO_MERGE/ace/arty_mortars/config.cpp b/TO_MERGE/ace/arty_mortars/config.cpp deleted file mode 100644 index a9278fa574..0000000000 --- a/TO_MERGE/ace/arty_mortars/config.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include "script_component.hpp" -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "CAWeapons", "ace_sys_arty", "ace_main", "ace_sys_crewserved", "ace_sys_interaction" }; - VERSION_CONFIG; - author[] = {"Falcone","Rocko"}; - }; -}; - -PRELOAD_ADDONS; - -#include "CfgWeapons.hpp" -#include "CfgVehicles.hpp" -#include "CfgEventHandlers.hpp" - -class CfgAceArtyBatteryType { - class M224 { - name = "M224 60mm Mortar"; - type = "cannon"; - caliber = 60; - ammunition[] = {"ace_arty_60mm_m720a1", "ace_arty_60mm_m721", "ace_arty_60mm_m722a1"}; - weaponClass = "ace_arty_m224"; - }; - class M252 { - name = "M252 81mm Mortar"; - type = "cannon"; - caliber = 81; - ammunition[] = {"ace_arty_81mm_m821a2", "ace_arty_81mm_m853a1", "ace_arty_81mm_m375a3"}; - weaponClass = "ace_arty_m252"; - }; - class Tampella { - name = "Tampella 120mm Mortar"; - type = "cannon"; - caliber = 120; - ammunition[] = {"ace_arty_120mm_dm11a5","ace_arty_120mm_dm61","ace_arty_120mm_dm26","ace_arty_120mm_dm35"}; - weaponClass = "ace_arty_120tampella"; - }; - class 2B14 { - name = "2B14 82mm Mortar"; - type = "cannon"; - caliber = 82; - ammunition[] = {"ace_arty_82mm_he","ace_arty_82mm_illum","ace_arty_82mm_wp"}; - weaponClass = "ace_arty_2b14"; - }; -}; - -#include "dialogs.hpp" diff --git a/TO_MERGE/ace/arty_mortars/data/ace_120mm.rvmat b/TO_MERGE/ace/arty_mortars/data/ace_120mm.rvmat deleted file mode 100644 index 23e971a1bc..0000000000 --- a/TO_MERGE/ace/arty_mortars/data/ace_120mm.rvmat +++ /dev/null @@ -1,95 +0,0 @@ -ambient[]={1,1,1,1.000000}; -diffuse[]={1,1,1,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={1,1,1,1.000000}; -specularPower=40.000000; -PixelShaderID="super"; -VertexShaderID="super"; -class Stage1 -{ - texture="x\ace\addons\sys_arty_mortars\data\ace_120mm_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 -{ - texture="CA\weapons\Data\detailmaps\metal_detail_dt.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={8.0000,0.000000,0.000000}; - up[]={0.000000,8.0000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="x\ace\addons\sys_arty_mortars\data\ace_120mm_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture = "#(ai,32,128,1)fresnel(3.38,5.33)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="ca\Data\env_land_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class StageTI { - texture = "ca\ca_e\data\default_vehicle_ti_ca.paa"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/data/ace_120mm_co2.paa b/TO_MERGE/ace/arty_mortars/data/ace_120mm_co2.paa deleted file mode 100644 index 9150207b30..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/ace_120mm_co2.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/ace_120mm_nohq.paa b/TO_MERGE/ace/arty_mortars/data/ace_120mm_nohq.paa deleted file mode 100644 index 1cc43e3d16..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/ace_120mm_nohq.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/ace_120mm_smdi.paa b/TO_MERGE/ace/arty_mortars/data/ace_120mm_smdi.paa deleted file mode 100644 index 81e76b6a35..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/ace_120mm_smdi.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/ring.paa b/TO_MERGE/ace/arty_mortars/data/ring.paa deleted file mode 100644 index d92a560039..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/ring.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sight.paa b/TO_MERGE/ace/arty_mortars/data/sight.paa deleted file mode 100644 index 055e34e765..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sight.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_1.wss b/TO_MERGE/ace/arty_mortars/data/sounds/120mm_1.wss deleted file mode 100644 index a216ecc4b6..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_1.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_2.wss b/TO_MERGE/ace/arty_mortars/data/sounds/120mm_2.wss deleted file mode 100644 index fc5c4131a1..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_2.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_5.wss b/TO_MERGE/ace/arty_mortars/data/sounds/120mm_5.wss deleted file mode 100644 index 001865de35..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_5.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_6.wss b/TO_MERGE/ace/arty_mortars/data/sounds/120mm_6.wss deleted file mode 100644 index e8a079f023..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/120mm_6.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/60mm_1.wss b/TO_MERGE/ace/arty_mortars/data/sounds/60mm_1.wss deleted file mode 100644 index 34b8dbaec4..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/60mm_1.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/ace_mortar_fire.wss b/TO_MERGE/ace/arty_mortars/data/sounds/ace_mortar_fire.wss deleted file mode 100644 index 8728970d60..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/ace_mortar_fire.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/mortar_load_long.wss b/TO_MERGE/ace/arty_mortars/data/sounds/mortar_load_long.wss deleted file mode 100644 index ab1e92037e..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/mortar_load_long.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/data/sounds/mortar_load_short.wss b/TO_MERGE/ace/arty_mortars/data/sounds/mortar_load_short.wss deleted file mode 100644 index 88fb502117..0000000000 Binary files a/TO_MERGE/ace/arty_mortars/data/sounds/mortar_load_short.wss and /dev/null differ diff --git a/TO_MERGE/ace/arty_mortars/dialogs.hpp b/TO_MERGE/ace/arty_mortars/dialogs.hpp deleted file mode 100644 index 7890151502..0000000000 --- a/TO_MERGE/ace/arty_mortars/dialogs.hpp +++ /dev/null @@ -1,282 +0,0 @@ -#include "script_component.hpp" -#include "\x\ace\addons\main\script_dialog_defines.hpp" - -#define FontM "Zeppelin32" -#define ClrWhite 1,1,1 -#define ClrBlack 0,0,0 -#define ClrGray 0.5,0.5,0.5 -#define ClrBlue 0.2,0.5,1 - -class ace_sys_arty_mortars_m137_RscText { - idc = -1; - type = CT_STATIC; - style = ST_CENTER; - font = FontM; - colorText[] = {1,1,1,1}; - colorBackground[] = {0, 0, 0, 0}; - sizeEx = 0.03; - w = 0.2; - h = 0.03; -}; - -class ace_sys_arty_mortars_m137_RscButton { - type = CT_BUTTON; - idc = -1; - style = ST_CENTER; - - x = 0.0; - y = 0.0; - w = 0.1; - h = 0.03; - sizeEx = 0.0325; - offsetX = 0; - offsetY = 0.002; - offsetPressedX = 0; - offsetPressedY = 0.002; - borderSize = 0; - - colorText[] = {ClrWhite,1}; - colorBackground[] = {ClrGray, 0.75}; - colorFocused[] = {ClrGray,0}; - - colorShadow[] = {ClrBlack,0}; - colorBorder[] = {ClrWhite,0}; - colorBackgroundActive[] = {ClrGray,0}; - colorDisabled[] = {ClrGray, 0}; - colorBackgroundDisabled[] = {ClrGray,0}; - font = FontM; - - soundEnter[] = {"", 0.2, 1}; - soundPush[] = {"", 0.2, 1}; - soundClick[] = {"", 0.2, 1}; - soundEscape[] = {"", 0.2, 1}; - - default = false; - text = ""; - action = ""; -}; - -class ace_sys_arty_mortars_m137_RscPicture : ace_sys_arty_mortars_m137_RscButton { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - text = ""; -}; - -class ace_sys_arty_mortars_dialog { - idd = 137137; - MovingEnable = 0; - onLoad = QUOTE([] spawn FUNC(m137_monitorSight)); - onUnload = QUOTE([] spawn FUNC(m137_stopMonitorSight)); - - controlsBackground[] = {}; - objects[] = {}; - onKeyDown = QUOTE(_this call FUNC(m137_keyDown)); - onKeyUp = QUOTE(_this call FUNC(m137_keyUp)); - class controls { - class GVAR(m137Background) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0); - __SW(0.25); - __SH(0.6); - colorBackground[] = {ClrGray, 0.25}; - text = ""; - }; - - class GVAR(m137Title) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0); - __SW(0.25); - colorBackground[] = {ClrGray, 0.25}; - text = "Sight Unit"; - }; - - class GVAR(m137AzimuthLabel) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0.035); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Azimuth:"; - }; - - class GVAR(m137Azimuth) : ace_sys_arty_mortars_m137_RscText { - idc = 137001; - __SX(0.125); - __SY(0.035); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "0000"; - }; - - class GVAR(m137DeflectionLabel) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0.07); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Deflection:"; - }; - - class GVAR(m137Deflection) : ace_sys_arty_mortars_m137_RscText { - idc = 137002; - __SX(0.125); - __SY(0.07); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "3200"; - }; - - class GVAR(m187title) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0.105); - __SW(0.25); - colorBackground[] = {ClrGray, 0.25}; - text = "Sight Mount"; - }; - - class GVAR(m137ElevationLabel) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0.140); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Elevation:"; - }; - - class GVAR(m137Elevation) : ace_sys_arty_mortars_m137_RscText { - idc = 137003; - __SX(0.125); - __SY(0.140); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "0300"; - }; - - class GVAR(m137ElevationBubbleLabel) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0.175); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Level:"; - }; - - class GVAR(m137ElevationBubble) : ace_sys_arty_mortars_m137_RscText { - idc = 137004; - __SX(0.125); - __SY(0.175); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "|---|+|---|"; - }; - - class GVAR(OpticElevationBubbleLabel): GVAR(m137ElevationBubbleLabel) { - __SY(0.1925); - text = "Optic Level:"; - }; - - class GVAR(OpticElevationBubble) : GVAR(m137ElevationBubble) { - idc = 137009; - __SY(0.1925); - text = "|---|+|---|"; - }; - - class GVAR(m137AzimuthLeftButton) : ace_sys_arty_mortars_m137_RscButton { - idc = 137004; - __SX(0.0); - __SY(0.210); - __SW(0.062); - text = "Def. -"; - action = QUOTE([-1] call FUNC(m137_adjustAzimuth)); - }; - - class GVAR(m137AzimuthRightButton) : ace_sys_arty_mortars_m137_RscButton { - idc = 137005; - __SX(0.0625); - __SY(0.210); - __SW(0.062); - text = "Def. +"; - action = QUOTE([1] call FUNC(m137_adjustAzimuth)); - }; - - class GVAR(m137ElevationUpButton) : ace_sys_arty_mortars_m137_RscButton { - idc = 137006; - __SX(0.125); - __SY(0.210); - __SW(0.062); - text = "El +"; - action = QUOTE([1] call FUNC(m137_adjustElevation)); - }; - - class GVAR(m137ElevationDownButton) : ace_sys_arty_mortars_m137_RscButton { - idc = 137007; - __SX(0.1875); - __SY(0.210); - __SW(0.062); - text = "El -"; - action = QUOTE([-1] call FUNC(m137_adjustElevation)); - }; - - class GVAR(m137OpticDownButton) : ace_sys_arty_mortars_m137_RscButton { - __SX(0.0); - __SY(0.245); - __SW(0.062); - text = "Op. -"; - action = QUOTE([-1] call FUNC(m137_adjustOpticElevation)); - }; - - class GVAR(m137OpticUpButton) : ace_sys_arty_mortars_m137_RscButton { - __SX(0.0625); - __SY(0.245); - __SW(0.062); - text = "Op. +"; - action = QUOTE([1] call FUNC(m137_adjustOpticElevation)); - }; - - class GVAR(m137ResetLeftButton) : ace_sys_arty_mortars_m137_RscButton { - __SX(0.125); - __SY(0.245); - __SW(0.062); - text = "Re +"; - action = QUOTE([1] call FUNC(m137_adjustReset)); - }; - - class GVAR(m137ResetRightButton) : ace_sys_arty_mortars_m137_RscButton { - __SX(0.1875); - __SY(0.245); - __SW(0.062); - text = "Re -"; - action = QUOTE([-1] call FUNC(m137_adjustReset)); - }; - - class GVAR(m137TraverseIndicatorLabel) : ace_sys_arty_mortars_m137_RscText { - __SX(0); - __SY(0.280); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "Traverse:"; - }; - - class GVAR(m137TraverseIndicator) : ace_sys_arty_mortars_m137_RscText { - idc = 137008; - __SX(0.125); - __SY(0.280); - __SW(0.125); - colorBackground[] = {ClrGray, 0.25}; - text = "|-----|-----|"; - }; - - class GVAR(m137ChangeViewButton) : ace_sys_arty_mortars_m137_RscButton { - __SX(0.0); - __SY(0.315); - __SW(0.25); - text = "Change View"; - action = QUOTE([] call FUNC(m137_changeView)); - }; - - class GVAR(m137LevelGun) : ace_sys_arty_mortars_m137_RscButton { - __SX(0.0); - __SY(0.350); - __SW(0.25); - text = "Level Gun"; - action = QUOTE([] call FUNC(levelGun)); - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_FOR.sqf b/TO_MERGE/ace/arty_mortars/fnc_FOR.sqf deleted file mode 100644 index b45f81c365..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_FOR.sqf +++ /dev/null @@ -1,97 +0,0 @@ -/*//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -#define __MG_CFG configFile >> "CfgVehicles" >> (typeOf _gun) -#define __WEAPON (getArray(configFile >> "CfgVehicles" >> (typeOf _gun) >> "Turrets" >> "MainTurret" >> "weapons") select 0) - -PARAMS_1(_gun); - -// PLAYER !? - -// Check if we have a player sitting in the gunner seat, instead of spawning an AI, we make the player fire it -if (isPlayer gunner _gun) exitWith { - (gunner _gun) selectWeapon __WEAPON; - (vehicle gunner _gun) fire __WEAPON; -}; -*/ -// FIRE ON RELOAD !! - - - -// - _dummy fire _weapon -// Should be executed on client where vehicle is local? -// 1. Executing FOR with AI on a client works (when mortar is local to the client) -// 2. Executing FOR with AI on the server, when mortar is local to server does also work but no visual effects (firing sound, muzzleflash) -// Are effects visible for another client when performing step 1? -// - No they are not. An other client does not see firing effects -// - And if the other client who does not see the effects loads mortar, then the client where mortar is local to sees the effects - -// Conclusion the firing is only local to the machine where the mortar is local to when using the FIRE command -// It seems not to be broadcasted over net (Arma bug) - -// Testing now with USEWEAPON - ACTION command. -// - Tested. UseWeapon could work if the weapon index was known. -// - Since we remove the weapon and add a magazine and re-add the weapon, -// the weapon index changes everytime, and AI fails to fire then -// Speculative, not really sure - -// Probably the index is always 0 because its the only weapon even if re-added? -// - Confirmed - -// Executing -// (vehicle gunner cursorTarget) action ["useweapon",(vehicle cursorTarget),(gunner vehicle cursorTarget),0] -// on a client where the mortar is local, fires only for THAT client, other clients dont see the effects - -// But executing it on a client where the mortar is NOT local, then ALL clients see the effects -// So, the firing should be done on any other client where the mortar is not local to - -// Called from server Trigger !!!!!! - -/* Disabled Fire on Reload for now -if (!isNull (gunner _gun) && !isPlayer (gunner _gun)) exitWith { - hintSilent "Auto-Fire failed, there is crew inside the mortar!"; -}; -_dummy = createAgent ["ACE_CivDummy", getPos _gun, [], 0, "FORM"]; // [10,10,0] - -waitUntil { alive _dummy }; - -TRACE_1("Dummy",_dummy); - -{ - //_x enableSimulation false; - //_x disableAI "TARGET"; - //_x disableAI "AUTOTARGET"; - //_x disableAI "MOVE"; - //_x disableAI "ANIM"; -} foreach [_dummy]; - -_dummy moveInGunner _gun; - -waitUntil { gunner _gun == _dummy }; - -if (gunner _gun == _dummy) then { - TRACE_1("Dummy UseWeapon",_dummy); - TRACE_1("Executed fire command",_dummy); - reload _gun; - sleep 0.05; - _dummy selectWeapon __WEAPON; - sleep 0.05; - _gun fire __WEAPON; - (vehicle _dummy) fire __WEAPON; - //(vehicle _dummy) action ["useWeapon",(vehicle _dummy), (gunner(vehicle _dummy)),0]; - _timeStart = time; - _timeEnd = _timeStart + 45; - waitUntil {_gun ammo __WEAPON == 0 || time > _timeEnd }; - - TRACE_1("Past firing sequence",_dummy); - if (_gun ammo __WEAPON > 0) then { - TRACE_1("Firing seemed to have failed",nil); - hintSilent "AutoFiring failed"; - } else { - hintSilent "AutoFiring"; - }; -}; -moveOut _dummy; -sleep 1; -deleteVehicle _dummy; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_XEH_getin.sqf b/TO_MERGE/ace/arty_mortars/fnc_XEH_getin.sqf deleted file mode 100644 index 397b292813..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_XEH_getin.sqf +++ /dev/null @@ -1,58 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_3(_gun,_pos,_unit); - -if (_unit == player) then { - - GVAR(activeGun) = _gun; - - [203, [false, false, false], { [-1] call FUNC(adjustTraverse) }, "keydown", QGVAR(leftTraverseSmall)] call CBA_fnc_addKeyHandler; - [203, [true, false, false], { [-10] call FUNC(adjustTraverse) }, "keydown", QGVAR(leftTraverseLarge)] call CBA_fnc_addKeyHandler; - [203, [true, true, false], { [-0.25] call FUNC(adjustTraverse) }, "keydown", QGVAR(leftTraverseVerySmall)] call CBA_fnc_addKeyHandler; - [205, [false, false, false], { [1] call FUNC(adjustTraverse) }, "keydown", QGVAR(rightTraverseSmall)] call CBA_fnc_addKeyHandler; - [205, [true, false, false], { [10] call FUNC(adjustTraverse) }, "keydown", QGVAR(rightTraverseLarge)] call CBA_fnc_addKeyHandler; - [205, [true, true, false], { [0.25] call FUNC(adjustTraverse) }, "keydown", QGVAR(rightTraverseVerySmall)] call CBA_fnc_addKeyHandler; - [200, [false, false, false], { [-1] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateUpSmall)] call CBA_fnc_addKeyHandler; - [200, [true, false, false], { [-10] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateUpLarge)] call CBA_fnc_addKeyHandler; - [208, [false, false, false], { [1] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateDownSmall)] call CBA_fnc_addKeyHandler; - [208, [true, false, false], { [10] call FUNC(adjustElevation) }, "keydown", QGVAR(elevateDownLarge)] call CBA_fnc_addKeyHandler; - - _actionId = _gun addAction ["View Sightunit", QPATHTO_F(fnc_showSight), [], -100, false, true, "", "gunner _target == player"]; - - if (gunner GVAR(activeGun) == player) then { - _ammoFunc = { - if(!isNil QGVAR(activeGun)) then { - private["_currentRound", "_ammo", "_mag", "_currentWeapon"]; - _currentRound = GVAR(activeGun) getVariable ["ace_sys_arty_currentRound", []]; - _currentWeapon = (weapons GVAR(activeGun)) select 0; - _ammo = GVAR(activeGun) ammo _currentWeapon; - if (count _currentRound != 0) then { - if (count (magazines GVAR(activeGun)) == 0) then { - _mag = _currentRound select 0; - GVAR(activeGun) removeWeapon _currentWeapon; - GVAR(activeGun) addMagazine _mag; - GVAR(activeGun) addWeapon _currentWeapon; - GVAR(activeGun) selectWeapon _currentWeapon; - reload GVAR(activeGun); - }; - }; - if (count (magazines GVAR(activeGun)) != 0) then { - if (count _currentRound == 0) then { - _mag = currentMagazine GVAR(activeGun); - GVAR(activeGun) removeWeapon _currentWeapon; - GVAR(activeGun) removeMagazines _mag; - GVAR(activeGun) addWeapon _currentWeapon; - GVAR(activeGun) selectWeapon _currentWeapon; - reload GVAR(activeGun); - }; - }; - } else { - [(_this select 1)] call CBA_fnc_removePerFrameHandler; - }; - }; - [_ammoFunc, 0.25] call CBA_fnc_addPerFrameHandler; - }; - - GVAR(gunActionIds) set[count GVAR(gunActionIds), _actionId]; -}; diff --git a/TO_MERGE/ace/arty_mortars/fnc_XEH_getout.sqf b/TO_MERGE/ace/arty_mortars/fnc_XEH_getout.sqf deleted file mode 100644 index e59fcc4723..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_XEH_getout.sqf +++ /dev/null @@ -1,29 +0,0 @@ -#include "script_component.hpp" - -PARAMS_3(_gun,_pos,_unit); - -if (_unit == player) then { - GVAR(activeGun) = nil; - - [QGVAR(leftTraverseSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(leftTraverseVerySmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(leftTraverseLarge)] call CBA_fnc_removeKeyHandler; - [QGVAR(rightTraverseSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(rightTraverseVerySmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(rightTraverseLarge)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateUpSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateUpLarge)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateDownSmall)] call CBA_fnc_removeKeyHandler; - [QGVAR(elevateDownLarge)] call CBA_fnc_removeKeyHandler; - - { - _gun removeAction _x; - } forEach GVAR(gunActionIds); - GVAR(gunActionIds) = []; - - _gun setVariable [QGVAR(azimuthCounter), _gun getVariable QGVAR(azimuthCounter), true]; - _gun setVariable [QGVAR(deflectionCounter), _gun getVariable QGVAR(deflectionCounter), true]; - _gun setVariable [QGVAR(elevationCounter), _gun getVariable QGVAR(elevationCounter), true]; - _gun setVariable [QGVAR(resetCounter), _gun getVariable QGVAR(resetCounter), true]; - _gun setVariable [QGVAR(resetPhase), _gun getVariable QGVAR(resetPhase), true]; -}; diff --git a/TO_MERGE/ace/arty_mortars/fnc_adjustElevation.sqf b/TO_MERGE/ace/arty_mortars/fnc_adjustElevation.sqf deleted file mode 100644 index 1530a3853e..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_adjustElevation.sqf +++ /dev/null @@ -1,12 +0,0 @@ -//fnc_adjustElevation.sqf -#include "script_component.hpp" - -private["_gun", "_phase", "_newPhase"]; - -PARAMS_1(_dir); -_gun = GVAR(activeGun); -_phase = round(_gun animationPhase "MainGun"); - -_newPhase = round(_phase + _dir) min 1511 max 800; -_gun animate ["MainGun", _newPhase]; -false diff --git a/TO_MERGE/ace/arty_mortars/fnc_adjustTraverse.sqf b/TO_MERGE/ace/arty_mortars/fnc_adjustTraverse.sqf deleted file mode 100644 index 2324707c1b..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_adjustTraverse.sqf +++ /dev/null @@ -1,13 +0,0 @@ -//fnc_adjustTraverse.sqf -#include "script_component.hpp" - -private["_gun", "_phase", "_newPhase", "_m"]; - -PARAMS_1(_dir); - -_gun = GVAR(activeGun); -_phase = (_gun animationPhase "MainTurretTraverse"); -_m = 0.25; -_newPhase = _phase+(_dir*_m) min 200 max -200; -_gun animate ["MainTurretTraverse", _newPhase]; -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_alignGun.sqf b/TO_MERGE/ace/arty_mortars/fnc_alignGun.sqf deleted file mode 100644 index dfefbbf908..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_alignGun.sqf +++ /dev/null @@ -1,60 +0,0 @@ -#include "script_component.hpp" - -if (isServer) then { - _this spawn { - waitUntil { time > 0 }; - private["_mortar", "_pitchBank", "_dir", "_rd", "_wpos", "_offset", "_stake1pos", "_rdDeg", "_stake1", "_stake2"]; - - _mortar = _this; - - _pitchBank = _mortar call BIS_fnc_getPitchBank; - _pitchBank = _mortar call BIS_fnc_getPitchBank; - - _mortar setVectorUp [0,0,0.0001]; - - _dir = getDir _mortar; - _stakesInfo = if (time < 30) then { [400,25] } else { [] }; - _colInfo = _mortar getVariable ["ace_arty_collimator_setup", []]; - _offsetPos = getArray(configFile >> "CfgVehicles" >> (typeOf _mortar) >> "ACE_ARTY_SETUP_OFFSETPOS"); - _offsetAngle = 0.37;//getNumber(configFile >> "CfgVehicles" >> (typeOf _mortar) >> "ACE_ARTY_SETUP_OFFSET_STAKEANGLE"); - if (count _stakesInfo == 2) then { - _stakesDeflection = _stakesInfo select 0; - _stakesDistance = _stakesInfo select 1; - _rd = DEG2MIL(_dir) - (_stakesDeflection-0.4); - if (_rd < 0) then { - _rd = _rd + 6400; - }; - _rdDeg = MIL2DEG(_rd); - _wpos = _mortar modelToWorld _offsetPos; - _wpos set[2, 0]; - - _offset = (_rdDeg + MIL2DEG(_offsetAngle)) mod 360; - if(_offset < 360) then { - _offset = _offset + 360; - }; - _stake1pos = [_wpos, _stakesDistance, _offset] call BIS_fnc_relPos; - _stake2pos = [_wpos, (_stakesDistance*2), _offset] call BIS_fnc_relPos; - - _stake1pos set[2, -0.75]; - _stake1 = "ACE_Arty_AimingPost_M1A2_M58" createVehicle _wpos; - - _stake1 setDir _rdDeg+180 mod 360; - _stake1 setPos _stake1pos; - _stake1 setVectorUp [0,0,0.0001]; - - _stake2 = "ACE_Arty_AimingPost_M1A2_M59" createVehicle _wpos; - - _stake2 setDir _rdDeg + 180 mod 360; - _stake2pos set[2, -0.5]; - _stake2 setPosATL _stake2pos; - - _stake2 setVectorUp [0,0,0.0001]; - if (count _colInfo != 5) then { - _mortar animate ["OpticRevolve", _stakesDeflection]; - _mortar setVariable [QGVAR(resetCounter), 3200-_stakesDeflection, true]; - _mortar animate ["OpticElevate", 1100]; - }; - }; - //_mortar setVariable [QGVAR(resetCounter), 3200+(_m119 getVariable QUOTE(GVAR(resetPhase))), true]; - }; -}; diff --git a/TO_MERGE/ace/arty_mortars/fnc_endShift.sqf b/TO_MERGE/ace/arty_mortars/fnc_endShift.sqf deleted file mode 100644 index 444f359802..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_endShift.sqf +++ /dev/null @@ -1,9 +0,0 @@ -#include "script_component.hpp" - -detach player; -player playActionNow "crouch"; -player removeAction GVAR(shiftActionId); - -GVAR(shiftActionId) = -1; -(findDisplay 46) displayRemoveEventHandler ["KeyDown", GVAR(drag_keyDownId)]; -GVAR(stopDragging) = true; diff --git a/TO_MERGE/ace/arty_mortars/fnc_levelGun.sqf b/TO_MERGE/ace/arty_mortars/fnc_levelGun.sqf deleted file mode 100644 index 9924e65c43..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_levelGun.sqf +++ /dev/null @@ -1,16 +0,0 @@ -//fnc_levelGun.sqf -#include "script_component.hpp" - -_pb = GVAR(m137Gun) call BIS_fnc_getPitchBank; -_pitch = abs(_pb select 0); -_bank = abs(_pb select 1); - -if(_pitch <= 2.5 && {_bank <= 2.5}) then { - _p = getPos GVAR(m137Gun); - _p set[2, 0]; - GVAR(m137Gun) setPosATL _p; - GVAR(m137Gun) setVectorUp [0,0,0.0001]; - hintSilent "The gun has been leveled."; -} else { - hintSilent "The ground is not level enough to properly level this gun."; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustAzimuth.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_adjustAzimuth.sqf deleted file mode 100644 index 61aa680d4b..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustAzimuth.sqf +++ /dev/null @@ -1,22 +0,0 @@ -//fnc_m137_adjustAzimuth.sqf -#include "script_component.hpp" - -private["_gun", "_size", "_phase", "_newPhase"]; - -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if(GVAR(m137_shift)) then { - if(GVAR(m137_ctrl)) then { - _size = 100; - } else { - _size = 10; - }; -}; -_phase = _gun animationPhase "OpticRevolve"; - -_newPhase = round(_phase+(_dir*_size)); -_gun setVariable [QGVAR(resetPhase), _newPhase]; -_gun animate ["OpticRevolve", _newPhase]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustElevation.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_adjustElevation.sqf deleted file mode 100644 index 793b3760ac..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustElevation.sqf +++ /dev/null @@ -1,20 +0,0 @@ -//fnc_m137_adjustElevation.sqf -#include "script_component.hpp" - -private["_gun", "_size", "_count", "_increment"]; - -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if (GVAR(m137_shift)) then { - if (GVAR(m137_ctrl)) then { - _size = 100; - } else { - _size = 10; - }; -}; -_count = _gun getVariable QGVAR(elevationCounter); -_increment = ((_count+(_size*_dir)) min 1511) max 800; -_gun setVariable [QGVAR(elevationCounter), _increment]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustOpticElevation.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_adjustOpticElevation.sqf deleted file mode 100644 index f211aaab82..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustOpticElevation.sqf +++ /dev/null @@ -1,17 +0,0 @@ -//fnc_m137_adjustOpticElevation.sqf -#include "script_component.hpp" -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if (GVAR(m137_shift)) then { - if(GVAR(m137_ctrl)) then { - _size = 10; - } else { - _size = 0.1; - }; -}; -_count = _gun animationPhase "OpticElevate"; -_increment = ((_count+(_size*_dir)) min 1511) max 800; -_gun animate ["OpticElevate", _increment]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustReset.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_adjustReset.sqf deleted file mode 100644 index 29fb59c7eb..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_adjustReset.sqf +++ /dev/null @@ -1,19 +0,0 @@ -//fnc_m137_adjustReset.sqf -#include "script_component.hpp" - -private["_gun", "_size", "_count", "_increment"]; - -PARAMS_1(_dir); - -_gun = GVAR(m137Gun); - -_size = 1; -if(GVAR(m137_shift)) then { - if(GVAR(m137_ctrl)) then { - _size = 100; - } else { - _size = 10; - }; -}; -_count = _gun getVariable QGVAR(resetCounter); -_gun setVariable [QGVAR(resetCounter), _count+(_size*_dir)]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_bubbleLevel.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_bubbleLevel.sqf deleted file mode 100644 index 398d02f353..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_bubbleLevel.sqf +++ /dev/null @@ -1,21 +0,0 @@ -//fnc_m137_bubbleLevel.sqf -#include "script_component.hpp" -private["_levelStr", "_bubbleStr", "_difPercent", "_difInt", "_lvlArr", "_bubbleArr", "_retStr"]; -PARAMS_4(_ctrl,_dif,_level,_range); - -_levelStr = "----|-|----"; -_bubbleStr = "o"; -_difPercent = (abs _dif)/_range; -_difInt = round((_difPercent/2)*10); -_difInt = (_difInt max 0) min 5; -if(_dif > 0) then { - _difInt = _difInt * -1; -}; -_difInt = _difInt + 5; - -_lvlArr = toArray _levelStr; -_bubbleArr = toArray _bubbleStr; -_lvlArr set[_difInt, (_bubbleArr select 0)]; -_retStr = toString _lvlArr; -_retStr = format["|%1|", _retStr]; -ctrlSetText [_ctrl, _retStr]; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_changeView.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_changeView.sqf deleted file mode 100644 index 63094978cd..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_changeView.sqf +++ /dev/null @@ -1,7 +0,0 @@ -//fnc_m137_changeView.sqf -#include "script_component.hpp" -if(cameraView == "GUNNER") then { - GVAR(m137Gun) switchCamera "INTERNAL"; -} else { - GVAR(m137Gun) switchCamera "GUNNER"; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_keyDown.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_keyDown.sqf deleted file mode 100644 index ab8f194198..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_keyDown.sqf +++ /dev/null @@ -1,46 +0,0 @@ -//fnc_m137_keyDown.sqf -#include "script_component.hpp" -PARAMS_4(_ctrl,_code,_shift,_ctrl); -if(_code == 42) then { - GVAR(m137_shift) = true; -}; -if(_code == 29) then { - GVAR(m137_ctrl) = true; -}; -if(_code == 203) then { - if(_shift) then { - if(_ctrl) then { - [-0.25] call FUNC(adjustTraverse); - } else { - [-10] call FUNC(adjustTraverse); - }; - } else { - [-1] call FUNC(adjustTraverse); - }; -}; -if(_code == 205) then { - if(_shift) then { - if(_ctrl) then { - [0.25] call FUNC(adjustTraverse); - } else { - [10] call FUNC(adjustTraverse); - }; - } else { - [1] call FUNC(adjustTraverse); - }; -}; -if(_code == 200) then { - if(_shift) then { - [-10] call FUNC(adjustElevation); - } else { - [-1] call FUNC(adjustElevation); - }; -}; -if(_code == 208) then { - if(_shift) then { - [10] call FUNC(adjustElevation); - } else { - [1] call FUNC(adjustElevation) - }; -}; -false \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_keyUp.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_keyUp.sqf deleted file mode 100644 index cbf6317a1a..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_keyUp.sqf +++ /dev/null @@ -1,11 +0,0 @@ -//fnc_m137_keyUp.sqf -#include "script_component.hpp" -PARAMS_4(_ctrl,_code,_shift,_ctrl); - -_code = _this select 1; -if(_code == 0x2A) then { - GVAR(m137_shift) = false; -}; -if(_code == 29) then { - GVAR(m137_ctrl) = false; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_monitorSight.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_monitorSight.sqf deleted file mode 100644 index 6a6186bec0..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_monitorSight.sqf +++ /dev/null @@ -1,61 +0,0 @@ -//fnc_m137_monitorSight.sqf -#include "script_component.hpp" -private["_reset", "_opticPhase", "_opticAzimuthCounter", "_opticDeflectionCounter", "_opticAzimuthCounterStr", - "_opticDeflectionCounterStr", "_elevationCount", "_elevationPhase", "_dif", "_elevationCountStr"]; -waitUntil { - !isNil QGVAR(m137Gun) -}; -_gun = GVAR(m137Gun); -GVAR(monitorSight) = true; -waitUntil { - _reset = _gun getVariable QGVAR(resetCounter); - // player sideChat format["opticPhase: %1", (floor(_gun animationPhase "OpticRevolve"))]; - _opticPhase = (floor(_gun animationPhase "OpticRevolve")*-1); - _opticPhase = (_opticPhase); - _opticPhase = _opticPhase + 3200; - if(_opticPhase > 6400) then { - _opticPhase = _opticPhase mod 6400; - }; - if(_opticPhase < 0) then { - while { _opticPhase < 0 } do { _opticPhase = _opticPhase + 6400; }; - }; - _opticPhaseRaw = (floor(_gun animationPhase "OpticRevolve")); - _reset = (_opticPhaseRaw + _reset) mod 6400; - if(_reset > 6400) then { - _reset = _reset mod 6400; - }; - if(_reset < 0) then { - while { _reset < 0 } do { _reset = _reset + 6400; }; - }; - _opticAzimuthCounterStr = [(str _opticPhase), "0", 4] call FUNC(textPad); - _opticDeflectionCounterStr = [(str _reset), "0", 4] call FUNC(textPad); - ctrlSetText [137001, _opticAzimuthCounterStr]; - ctrlSetText [137002, _opticDeflectionCounterStr]; - - _elevationCount = _gun getVariable QGVAR(elevationCounter); - _elevationPhase = floor(_gun animationPhase "MainGun"); - - _dif = _elevationCount - _elevationPhase; - - _traversePhase = _gun animationPhase "MainTurretTraverse"; - _traversePhase = _traversePhase + 200; - _percent = (abs (round _traversePhase))/400; - _traverseIndicator = "----------^----------"; - _tArray = (toArray _traverseIndicator); - _tLength = (count _tArray); - _indicPos = ((round(_percent*_tLength))-1 max 0) min 20; - _tArray set[_indicPos, (toArray "|") select 0]; - _tStr = (toString _tArray); - ctrlSetText [137008, format["|%1|", _tStr]]; - - - [137004, _dif, 0, 10] call FUNC(m137_bubbleLevel); - [137009, 0, 10,_gun] call FUNC(m137_OpticBubbleLevel); - _elevationCountStr = [(str _elevationCount), "0", 4] call FUNC(textPad); - if(_elevationCount < 0) then { - _elevationCountStr = format["-%1", _elevationCountStr]; - }; - ctrlSetText [137003, _elevationCountStr]; - sleep 0.05; - !GVAR(monitorSight) -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_m137_stopMonitorSight.sqf b/TO_MERGE/ace/arty_mortars/fnc_m137_stopMonitorSight.sqf deleted file mode 100644 index 9e7d71de66..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_m137_stopMonitorSight.sqf +++ /dev/null @@ -1,5 +0,0 @@ -//fnc_m137_stopMonitorSight.sqf -#include "script_component.hpp" - -GVAR(monitorSight) = false; -GVAR(m137Gun) = nil; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/fnc_menuDef.sqf b/TO_MERGE/ace/arty_mortars/fnc_menuDef.sqf deleted file mode 100644 index ef116bf3d2..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_menuDef.sqf +++ /dev/null @@ -1,71 +0,0 @@ -//#define DEBUG_MODE_FULL - -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -private ["_menuDef", "_menuName", "_menuRsc", "_menus"]; -private ["_requiredComponent","_component","_componentlist"]; - -PARAMS_2(_target,_params); - -_menuName = ""; -_menuRsc = "popup"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; - -//----------------------------------------------------------------------------- - -#define __ASSEMBLE format [localize "STR_ACE_DN_MINESWEEPER_ASS_APOBS","120mm Tampella"] - -_isComponent = (typeOf _target == "ACE_120Tampella_Barrel" || {typeOf _target == "ACE_120Tampella_Baseplate"}); -_hasComponent = false; -if (_isComponent) then { // TODO: More into configs... once working - if (typeOf _target == "ACE_120Tampella_Barrel") then { - _requiredComponent = "ACE_120Tampella_Baseplate"; - } else { - _requiredComponent = "ACE_120Tampella_Barrel"; - }; - _componentlist = nearestObjects [_target, [_requiredComponent], 3]; - if (count _componentlist > 0) then { - _component = _componentlist select 0; - _hasComponent = true; - }; -}; - -GVAR(target) = _target; -GVAR(components) = if (typeOf _target == "ACE_120Tampella_Barrel") then { [_target,_component] } else { [_component,_target] }; - - -TRACE_7("",_isComponent,_hasComponent,_requiredComponent,_componentlist,_component,GVAR(target),GVAR(components)); - -_menus = -[ - [ - ["main", _menuName, _menuRsc], - [ - [__ASSEMBLE, - { GVAR(components) spawn FUNC(assemble) }, - "", "", "", -1, 1, - _isComponent && {_hasComponent} && {ACE_SELFINTERACTION_RESTRICTED}] - ] - ] -]; - -//----------------------------------------------------------------------------- -_menuDef = []; -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this} else {""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _params, __FILE__]; -}; - -_menuDef // return value diff --git a/TO_MERGE/ace/arty_mortars/fnc_recoil.sqf b/TO_MERGE/ace/arty_mortars/fnc_recoil.sqf deleted file mode 100644 index c7d4c9cff9..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_recoil.sqf +++ /dev/null @@ -1,28 +0,0 @@ -//fnc_recoil.sqf -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -private ["_recoilLength", "_charge", "_chargeFactor","_elvOff", "_defOff", "_azOff"]; - -PARAMS_1(_gun); - -_currentRound = _gun getVariable ["ace_sys_arty_currentRound",[]]; -TRACE_1("",_currentRound); - -_charge = if (count _currentRound == 0) then { 1 } else { _currentRound select 3 }; - -_chargeFactor = _charge/4; -_elvOff = (-1+(random 2))*_chargeFactor; -_defOff = (-0.5+(random 1))*_chargeFactor; -_azOff = (-0.25+(random 0.5))*_chargeFactor; - -_azimuthPhase = _gun animationPhase "MainTurret"; -_elevationPhase = _gun animationPhase "MainGun"; -_traversePhase = _gun animationPhase "MainTurretTraverse"; -_elvOff = ((_elvOff+_elevationPhase) max 800) min 1511; TRACE_1("Elevation RECOIL",_elvOff); -_azOff = _azOff + _azimuthPhase; TRACE_1("Azimuth RECOIL",_azOff); -_defOff = ((_defOff+_traversePhase) max -200) min 200; TRACE_1("Deflection RECOIL",_defOff); - -_gun animate ["MainGun", _elvOff]; -_gun animate ["MainTurret", _azOff]; -_gun animate ["MainTurretTraverse", _defOff]; - diff --git a/TO_MERGE/ace/arty_mortars/fnc_shiftLeft.sqf b/TO_MERGE/ace/arty_mortars/fnc_shiftLeft.sqf deleted file mode 100644 index 7597db8f2f..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_shiftLeft.sqf +++ /dev/null @@ -1,76 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -private["_phase", "_absPhase", "_degPhase", "_found_anim", "_setDir"]; - -PARAMS_1(_gun); - -GVAR(shiftingSpeed) = getArray(configFile >> "CfgVehicles" >> typeOf _gun >> "ACE" >> "ACE_ARTY" >> "shiftingSpeed"); - -GVAR(dragGun) = _gun; -closeDialog 0; -player attachTo [_gun, [0,0,-0.27], "shift_left"]; - -GVAR(stopDragging) = false; -_phase = GVAR(dragGun) animationPhase "MainTurret"; - -_absPhase = (abs _phase) mod 6400; - -if(_phase < 0) then { - _absPhase = 6400-_absPhase; -}; -_degPhase = MIL2DEG(_absPhase); - -player setDir (_degPhase + 70) mod 360; - -FUNC(handleKeydown) = { - private "_phase"; - PARAMS_5(_display,_dikCode,_shift,_ctrl,_alt); - - _size = GVAR(shiftingSpeed) select 0; - if(_shift) then { - _size = GVAR(shiftingSpeed) select 1; - }; - - _result = true; - if(_dikCode in (actionKeys "moveBack")) then { - _phase = GVAR(dragGun) animationPhase "MainTurret_RotateFast"; - _phase = (floor _phase); - _new_phase = _phase-_size; - GVAR(dragGun) animate["MainTurret_RotateFast", _new_phase]; - _result = false; - }; - if(_dikCode in (actionKeys "stand") || {_dikCode in (actionKeys "crouch")}) then { - [] call FUNC(endShift); - _result = true; - }; - _result -}; - -GVAR(drag_keyDownId) = (findDisplay 46) displayAddEventHandler ["KeyDown", QUOTE(_this call FUNC(handleKeydown))]; - -player playMove "ACINPKNLMSTPSRASWRFLDNON"; - -waitUntil { animationState player == "ACINPKNLMSTPSRASWRFLDNON" }; - -while { !GVAR(stopDragging) } do { - if( !(alive player) || {!(alive GVAR(dragGun))} || {GVAR(dragGun) call CBA_fnc_locked} ) exitWith { - [] call FUNC(endShift); - }; - if !(animationState player in ["acinpknlmstpsraswrfldnon","acinpknlmwlksraswrfldb"]) exitWith { - player switchMove "ACINPKNLMSTPSRASWRFLDNON"; - [] call FUNC(endShift); - }; - _phase = GVAR(dragGun) animationPhase "MainTurret_RotateFast"; - - _absPhase = (abs _phase) mod 6400; - - if(_phase < 0) then { - _absPhase = 6400-_absPhase; - }; - _degPhase = MIL2DEG(_absPhase); - _setDir = (_degPhase + 70) mod 360; - player setDir _setDir; - sleep 0.01; -}; diff --git a/TO_MERGE/ace/arty_mortars/fnc_shiftRight.sqf b/TO_MERGE/ace/arty_mortars/fnc_shiftRight.sqf deleted file mode 100644 index c824ed6be2..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_shiftRight.sqf +++ /dev/null @@ -1,76 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\ca\editor\Data\Scripts\dikCodes.h" - -private["_phase", "_absPhase", "_degPhase", "_found_anim", "_setDir"]; - -PARAMS_1(_gun); - -GVAR(shiftingSpeed) = getArray(configFile >> "CfgVehicles" >> typeOf _gun >> "ACE" >> "ACE_ARTY" >> "shiftingSpeed"); - -GVAR(dragGun) = _gun; -closeDialog 0; -player attachTo [_gun, [0,0,-0.27], "shift_right"]; - -GVAR(stopDragging) = false; -_phase = GVAR(dragGun) animationPhase "MainTurret"; - -_absPhase = (abs _phase) mod 6400; - -if(_phase < 0) then { - _absPhase = 6400-_absPhase; -}; -_degPhase = MIL2DEG(_absPhase); - -player setDir (_degPhase - 70) mod 360; - -FUNC(handleKeydown) = { - private "_phase"; - PARAMS_5(_display,_dikCode,_shift,_ctrl,_alt); - - _size = GVAR(shiftingSpeed) select 0; - if(_shift) then { - _size = GVAR(shiftingSpeed) select 1; - }; - - _result = true; - if(_dikCode in (actionKeys "moveBack")) then { - _phase = GVAR(dragGun) animationPhase "MainTurret_RotateFast"; - _phase = (floor _phase); - _new_phase = _phase+_size; - GVAR(dragGun) animate["MainTurret_RotateFast", _new_phase]; - _result = false; - }; - if(_dikCode in (actionKeys "stand") || {_dikCode in (actionKeys "crouch")}) then { - [] call FUNC(endShift); - _result = true; - }; - _result -}; - -GVAR(drag_keyDownId) = (findDisplay 46) displayAddEventHandler ["KeyDown", QUOTE(_this call FUNC(handleKeydown))]; - -player playActionNow "grabDrag"; - -waitUntil { animationState player == "ACINPKNLMSTPSRASWRFLDNON" }; - -while { !GVAR(stopDragging) } do { - if( !(alive player) || {!(alive GVAR(dragGun))} || {GVAR(dragGun) call CBA_fnc_locked} ) exitWith { - [] call FUNC(endShift); - }; - if !(animationState player in ["acinpknlmstpsraswrfldnon","acinpknlmwlksraswrfldb"]) exitWith { - player switchMove "ACINPKNLMSTPSRASWRFLDNON"; - [] call FUNC(endShift); - }; - _phase = GVAR(dragGun) animationPhase "MainTurret_RotateFast"; - - _absPhase = (abs _phase) mod 6400; - - if(_phase < 0) then { - _absPhase = 6400-_absPhase; - }; - _degPhase = MIL2DEG(_absPhase); - _setDir = (_degPhase - 70) mod 360; - player setDir _setDir; - sleep 0.01; -}; diff --git a/TO_MERGE/ace/arty_mortars/fnc_showSight.sqf b/TO_MERGE/ace/arty_mortars/fnc_showSight.sqf deleted file mode 100644 index 3486d42077..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_showSight.sqf +++ /dev/null @@ -1,8 +0,0 @@ -#include "script_component.hpp" - -disableSerialization; - -createDialog "ace_sys_arty_mortars_dialog"; - -PARAMS_1(_gun); -GVAR(m137Gun) = _gun; diff --git a/TO_MERGE/ace/arty_mortars/fnc_textPad.sqf b/TO_MERGE/ace/arty_mortars/fnc_textPad.sqf deleted file mode 100644 index cb9ebc1cc4..0000000000 --- a/TO_MERGE/ace/arty_mortars/fnc_textPad.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//fnc_textPad.sqf -#include "script_component.hpp" -PARAMS_3(_str,_pad,_length); - -_strArray = toArray _str; -_padStr = ""; -if(_length > (count _strArray)) then { - _dif = _length - (count _strArray); - - for "_i" from 1 to _dif do { - _padStr = _padStr + _pad; - }; - _padStr = _padStr + _str; -} else { - _padStr = _str; -}; - -_padStr \ No newline at end of file diff --git a/TO_MERGE/ace/arty_mortars/license.txt b/TO_MERGE/ace/arty_mortars/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/arty_mortars/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/arty_mortars/model.cfg b/TO_MERGE/ace/arty_mortars/model.cfg deleted file mode 100644 index b436bc3f45..0000000000 --- a/TO_MERGE/ace/arty_mortars/model.cfg +++ /dev/null @@ -1,187 +0,0 @@ -/* For Testing purpose only */ -#define BULDOZER_OE angle0 = "rad 45"; \ -angle1 = "rad 85" - -#define INGAME_OE angle0 = "rad -45"; \ -angle1 = "rad -85" - -#define BULDOZER_ME angle0 = "rad -45"; \ -angle1 = "rad -85" - -#define INGAME_ME angle0 = "rad 45"; \ -angle1 = "rad 85" - -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - class ace_mortar_2b14_skeleton: Default { - isDiscrete = 1; - skeletonInherit = "Default"; - skeletonBones[] = { - "otocvez","", - "otochlaven","otocvez", - "SightUnit_Optic","otochlaven", - "SightUnit_Dial","SightUnit_Optic", - "gunnerview","SightUnit_Dial", - "shift_left","otocvez", - "shift_right","otocvez" - }; - }; - class ace_mortar_m224_skeleton: Default { - skeletonBones[] = { - "otocvez","", - "otochlaven","otocvez", - "SightUnit_Optic","otochlaven", - "SightUnit_Dial","SightUnit_Optic", - "gunnerview","SightUnit_Dial", - "shift_left","otocvez", - "shift_right","otocvez" - }; - }; - class ace_mortar_m252_skeleton: Default { - skeletonBones[] = { - "otocvez","", - "otochlaven","otocvez", - "SightUnit_Optic","otochlaven", - "SightUnit_Dial","SightUnit_Optic", - "gunnerview","SightUnit_Dial", - "shift_left","otocvez", - "shift_right","otocvez" - }; - }; - class ace_mortar_tampella_skeleton: Default { - skeletonBones[] = { - "otocvez","", - "otochlaven","otocvez", - "SightUnit_Optic","otochlaven", - "SightUnit_Dial","SightUnit_Optic", - "gunnerview","SightUnit_Dial", - "shift_left","otocvez", - "shift_right","otocvez" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - skeletonName = ""; - }; - class ace_m224: Default { - skeletonName="ace_mortar_m224_skeleton"; - sections[]= {}; - class animations { - //0 - class MainTurret { - type="rotationY"; - source="user"; - selection ="otocvez"; - sourceAddress = "loop"; - axis="osaveze"; - minValue="-6400"; - maxValue="6400"; - minPhase=-6.283185; - maxPhase=6.283185; - angle0="rad +360"; - angle1="rad -360"; - }; - //0a - class MainTurret_RotateFast: MainTurret { - - }; - // 1 - class OpticRevolve { - type="rotation"; - source="user"; - selection="SightUnit_Dial"; - sourceAddress = "loop"; - axis="SightUnit_OpticAxis"; - memory = 1; - animPeriod=0; - minValue="-6400"; - maxValue="6400"; - angle0="rad -360"; - angle1="rad +360"; - }; - // 2 - class MainTurretTraverse { - type="rotationY"; - source="user"; - selection="otocvez"; - sourceAddress = "clamp"; - axis="osaveze"; - animPeriod=0; - minValue="-200"; - maxValue="200"; - angle0="rad 11.25"; - angle1="rad -11.25"; - }; - // 3 - class MainGun { // Barrel elevation between 45 and 85 - type="rotationX"; - selection= "otochlaven"; - sourceAddress = "clamp"; - source="user"; - axis="osahlavne"; - initPhase=1100; - minValue=800; - maxValue=1511; - INGAME_ME; - //angle0 = "rad -45"; //"rad 45"; // Negative value makes it look right in Buldozer, but mirrored ingame! (see Defines) - //angle1 = "rad -85"; //"rad 85"; - }; - // 4 - class OpticElevate: MainGun { - type="rotationX"; - selection= "SightUnit_Optic"; - sourceAddress = "clamp"; - source="user"; - axis="SightUnit_OpticElevateAxis"; - animPeriod=0; - initPhase=1100; - minValue=800; - maxValue=1511; - INGAME_OE; - //angle0 = "rad 45"; //"rad -45"; // Positive value makes it look right in Buldozer, but mirrored ingame! - //angle1 = "rad 85"; //"rad -85"; - }; - }; - }; - class ace_m252: ace_m224 { - skeletonName = "ace_mortar_m252_skeleton"; - class animations: animations { - class MainTurret: MainTurret {}; - class MainTurret_RotateFast: MainTurret {}; - class OpticRevolve: OpticRevolve {}; - class MainTurretTraverse: MainTurretTraverse {}; - class MainGun: MainGun {}; - class OpticElevate: OpticElevate {}; - }; - }; - class ace_2b14: ace_m224 { - skeletonName="ace_mortar_2b14_skeleton"; - class animations: animations { - class MainTurret: MainTurret {}; - class MainTurret_RotateFast: MainTurret {}; - class OpticRevolve: OpticRevolve {}; - class MainTurretTraverse: MainTurretTraverse {}; - class MainGun: MainGun {}; - class OpticElevate: OpticElevate {}; - }; - }; - class ace_120_tampella: ace_m224 { - skeletonName="ace_mortar_tampella_skeleton"; - class animations: animations { - class MainTurret: MainTurret {}; - class MainTurret_RotateFast: MainTurret {}; - class OpticRevolve: OpticRevolve {}; - class MainTurretTraverse: MainTurretTraverse {}; - class MainGun: MainGun {}; - class OpticElevate: OpticElevate {}; - }; - }; -}; diff --git a/TO_MERGE/ace/arty_mortars/script_component.hpp b/TO_MERGE/ace/arty_mortars/script_component.hpp deleted file mode 100644 index b984060f52..0000000000 --- a/TO_MERGE/ace/arty_mortars/script_component.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#define COMPONENT sys_arty_mortars -#include "\x\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_ARTY_MORTARS - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_ARTY_MORTARS - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_ARTY_MORTARS -#endif - -#include "\x\ace\addons\main\script_macros.hpp" -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - diff --git a/TO_MERGE/ace/arty_mortars/stringtable.xml b/TO_MERGE/ace/arty_mortars/stringtable.xml deleted file mode 100644 index 64570d8609..0000000000 --- a/TO_MERGE/ace/arty_mortars/stringtable.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - -Drehe %1 links -Shift Mortar Left -Shift Mortar Left -Otočit minomet doleva -Shift Mortar Left -Obróć moździerz w lewo -Shift Mortar Left -Сдвинуть миномёт влево -Shift Mortar Left - - -Drehe %1 rechts -Shift Mortar Right -Shift Mortar Right -Otočit minomet doprava -Shift Mortar Right -Obróć moździerz w prawo -Shift Mortar Right -Сдвинуть миномёт вправо -Shift Mortar Right - - -Richtlatte aufnehmen -Pickup Aiming Point -Pickup Aiming Point -Sebrat zaměřovací tyč -Pickup Aiming Point -Zabierz słup celowniczy -Pickup Aiming Point -Взять стойку -Pickup Aiming Point - - -Richtlatte platzieren -Place Aiming Point -Place Aiming Point -Umístit zaměřovací tyč -Place Aiming Point -Ustaw słup celowniczy -Place Aiming Point -Установить прицельную стойку -Place Aiming Point - - - - diff --git a/TO_MERGE/ace/arty_range_tables/$NOBIN$ b/TO_MERGE/ace/arty_range_tables/$NOBIN$ deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/ace/arty_range_tables/$PBOPREFIX$ b/TO_MERGE/ace/arty_range_tables/$PBOPREFIX$ deleted file mode 100644 index 24a31b29b2..0000000000 --- a/TO_MERGE/ace/arty_range_tables/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\ace\Addons\sys_arty_range_tables \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/CfgAmmoBoxes.hpp b/TO_MERGE/ace/arty_range_tables/CfgAmmoBoxes.hpp deleted file mode 100644 index a931e82123..0000000000 --- a/TO_MERGE/ace/arty_range_tables/CfgAmmoBoxes.hpp +++ /dev/null @@ -1,6 +0,0 @@ -class ReammoBox; -class ACE_ArtyEquip_Box : ReammoBox { - class TransportWeapons { - ACE_M_WEP(ace_arty_rangeTable_m119, 20); - }; -}; diff --git a/TO_MERGE/ace/arty_range_tables/CfgEventHandlers.hpp b/TO_MERGE/ace/arty_range_tables/CfgEventHandlers.hpp deleted file mode 100644 index c9ea8a73ea..0000000000 --- a/TO_MERGE/ace/arty_range_tables/CfgEventHandlers.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_postInit)); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/CfgWeapons.hpp b/TO_MERGE/ace/arty_range_tables/CfgWeapons.hpp deleted file mode 100644 index 1895f4aef7..0000000000 --- a/TO_MERGE/ace/arty_range_tables/CfgWeapons.hpp +++ /dev/null @@ -1,72 +0,0 @@ -class CfgWeapons { - class ACE_Item; - class ace_arty_rangeTable_base: ACE_Item { - scope = 1; - ace_size = 500; - ace_weight = 0.1; - picture = QPATHTO_T(data\equip\w_table_ca.paa); - }; - - // mortars - class ace_arty_rangeTable_m224: ace_arty_rangeTable_base { - scope = 2; - descriptionshort = "M224 Tables"; - displayname = "M224 60mm Range Tables"; - ace_sys_arty_tableData = QUOTE(PATHTO(tables\m224)); - }; - class ace_arty_rangeTable_m252: ace_arty_rangeTable_base { - scope = 2; - descriptionshort = "M252 Tables"; - displayname = "M252 81mm Range Tables"; - ace_sys_arty_tableData = QUOTE(PATHTO(tables\m252)); - }; - class ace_arty_rangeTable_2b14: ace_arty_rangeTable_base { - scope = 2; - descriptionshort = "2B14 Tables"; - displayname = "2B14 82mm Range Tables"; - ace_sys_arty_tableData = QUOTE(PATHTO(tables\2b14)); - }; - class ace_arty_rangeTable_tampella: ace_arty_rangeTable_base { - scope = 2; - descriptionshort = "120mm Tampella Tables"; - displayname = "Tampella 120mm Range Tables"; - ace_sys_arty_tableData = QUOTE(PATHTO(tables\120_tampella)); - }; - // arty - class ace_arty_rangeTable_m119: ace_arty_rangeTable_base { - scope = 2; - descriptionshort = "M119 Tables"; - displayname = "M119 105mm Range Tables"; - ace_arty_tableData = QUOTE(PATHTO(tables\m119)); - }; - /* - class ace_arty_rangeTable_d30: ace_arty_rangeTable_base { - descriptionshort = "D30 Tables"; - displayname = "D30 122mm Range Tables"; - ace_sys_arty_tableData = QUOTE(PATHTO(tables\d30)); - }; - */ - - //////////////// legacy tables - // mortars - class ace_arty_rangeTable_m224_legacy: ace_arty_rangeTable_m224 { // no longer needed for bis click boom artillery, fall back to the real thing - }; - class ace_arty_rangeTable_m252_legacy: ace_arty_rangeTable_m252 { // no longer needed for bis click boom artillery - }; - class ace_arty_rangeTable_2b14_legacy: ace_arty_rangeTable_2b14{ // no longer needed for bis click boom artillery - }; - - // arty - class ace_arty_rangeTable_m119_legacy: ace_arty_rangeTable_base { - scope = 2; - descriptionshort = "M119 Tables"; - displayname = "M119 105mm Range Tables"; - ace_arty_tableData = QUOTE(PATHTO(tables\m119_legacy)); - }; - class ace_arty_rangeTable_d30_legacy: ace_arty_rangeTable_base { - scope = 2; - descriptionshort = "D30 Tables"; - displayname = "D30 122mm Range Tables"; - ace_arty_tableData = QUOTE(PATHTO(tables\d30_legacy)); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/XEH_postInit.sqf b/TO_MERGE/ace/arty_range_tables/XEH_postInit.sqf deleted file mode 100644 index 042d18e2b0..0000000000 --- a/TO_MERGE/ace/arty_range_tables/XEH_postInit.sqf +++ /dev/null @@ -1 +0,0 @@ -#include "script_component.hpp" ADDON = false; ["player", [ace_sys_interaction_key_self], 4, [QPATHTO_F(fnc_menuDef_self), "main"]] call CBA_ui_fnc_add; ADDON = true; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/XEH_preInit.sqf b/TO_MERGE/ace/arty_range_tables/XEH_preInit.sqf deleted file mode 100644 index 3bccbe8d71..0000000000 --- a/TO_MERGE/ace/arty_range_tables/XEH_preInit.sqf +++ /dev/null @@ -1 +0,0 @@ -#include "script_component.hpp" PREP(rangeTable); \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/config.cpp b/TO_MERGE/ace/arty_range_tables/config.cpp deleted file mode 100644 index 75f6fec0ce..0000000000 --- a/TO_MERGE/ace/arty_range_tables/config.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "script_component.hpp" -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = { - "ace_arty_rangeTable_m119", - "ace_arty_rangeTable_m224_legacy", - "ace_arty_rangeTable_m252_legacy", - "ace_arty_rangeTable_2b14_legacy", - "ace_arty_rangeTable_m119_legacy", - "ace_arty_rangeTable_d30_legacy" - }; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"CAWeapons", "ace_main", "ace_sys_arty", "ace_sys_interaction" }; - VERSION_CONFIG; - }; -}; - -PRELOAD_ADDONS; - -class CfgVehicles { - #include "CfgAmmoBoxes.hpp" -}; - -#include "CfgWeapons.hpp" -#include "CfgEventHandlers.hpp" -#include "dialog.hpp" diff --git a/TO_MERGE/ace/arty_range_tables/data/equip/w_table_ca.paa b/TO_MERGE/ace/arty_range_tables/data/equip/w_table_ca.paa deleted file mode 100644 index 5a8ac7be99..0000000000 Binary files a/TO_MERGE/ace/arty_range_tables/data/equip/w_table_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_range_tables/data/rangetable_ca.paa b/TO_MERGE/ace/arty_range_tables/data/rangetable_ca.paa deleted file mode 100644 index 2297fc9e21..0000000000 Binary files a/TO_MERGE/ace/arty_range_tables/data/rangetable_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/arty_range_tables/dialog.hpp b/TO_MERGE/ace/arty_range_tables/dialog.hpp deleted file mode 100644 index 285ac0866d..0000000000 --- a/TO_MERGE/ace/arty_range_tables/dialog.hpp +++ /dev/null @@ -1,249 +0,0 @@ -#define ReadAndWrite 0 //! any modifications enabled -#define ReadAndCreate 1 //! only adding new class members is allowed -#define ReadOnly 2 //! no modifications enabled -#define ReadOnlyVerified 3 //! no modifications enabled, CRC test applied - -// Control types -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_STRUCTURED_TEXT 13 -#define CT_LISTNBOX 102 -// Static styles -#define ST_LEFT 0 -#define ST_RIGHT 1 -#define ST_CENTER 0x02 -#define ST_UP 0x08 -#define ST_DOWN 0x04 -#define ST_VCENTER 0x0c -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX2 112 - -// Colors -#define LightARMAGrey {0.72549, 0.72549, 0.72549, 0.75} -#define DarkARMAGreen {0.20392, 0.40000, 0.05882, 1.0} -#define MedARMAGrey {0.67549, 0.67549, 0.67549, 0.65} -#define LightARMAGreen {0.83921, 1.00000, 0.54901, 1.00000} -#define Transparent {0,0,0,0} -#define BlackSolid {0,0,0,1} -#define WhiteSolid {1,1,1,1} -#define BlackSolidA "#000000" - -#define BackColor {0.34, 0.34, 0.34, 0.5} -#define MainColor {0.9, 0.9, 0.9, 1} -#define Pink {1,0.3686,0.98,1} - -//Fonts -#define Font "TahomaB" - -#define true 1 -#define false 0 - -// Top left coordinates of dialog window -#define INITX SafeZoneX + SafeZoneW*0.5 - 0.17 -#define INITY SafeZoneY + 0 - -//Range card -#define INITX_RNG INITX -#define INITY_RNG INITY+0.15 -#define INITX_RNG1 0.37 - -#define ROWPOS(y) ((0.0209*y)*SafeZoneH) -#define COLPOS(x) ((0.029075*x)*SafeZoneW) - -class RscText; -class ace_sys_arty_rangeTables_RscText: RscText { - type = CT_STATIC; - idc = -1; - style = ST_LEFT; - colorBackground[] = Transparent; - colorText[] = BlackSolid; - font = Font; - sizeEx = 0.021; //((0.0209*y)*SafeZoneH) - linespacing = 1.0; - text = ; - shadow = 0; -}; - -class RscFrame; -class RscButton; -class ace_sys_arty_rangeTables_RscButton: RscButton { - access = ReadAndWrite; - idc = -1; - type = CT_BUTTON; - style = ST_CENTER; - default = false; - x = 0; - y = 0; - w = 0.3; - h = 0.1; - text = ""; - font = Font; - sizeEx = 0.024; - colorText[] = {0, 0, 0, 1}; - colorDisabled[] = Transparent; - colorBackground[] = Transparent; - colorBackgroundDisabled[] = Transparent; - colorBackgroundActive[] = Transparent; - offsetX = 0.002; - offsetY = 0.002; - offsetPressedX = 0.001; - offsetPressedY = 0.001; - colorFocused[] = Transparent; - colorShadow[] = {0, 0, 0, 0}; - colorBorder[] = {0, 0, 0, 0}; - borderSize = 0; - soundEnter[] = {"", 0.1, 1}; - soundPush[] = {"", 0.1, 1}; - soundClick[] = {"", 0.1, 1}; - soundEscape[] = {"", 0.1, 1}; - shadow = 0; -}; - -class ace_sys_arty_rangeTables_RscPicture { - access = ReadAndWrite; - type = 0; - idc = -1; - style = 48; - colorBackground[] = {0, 0, 0, 0}; - colorText[] = {1, 1, 1, 1}; - font = Font; - sizeEx = 0; - lineSpacing = 0; - text = ""; - borderSize = 0; -}; - -class RscCombo; -class ace_sys_arty_rangeTables_RscComboBox { - type = CT_COMBO; - style = "0 + 0x10"; - font = Font; - sizeEx = 0.022; - color[] = {1,1,1,1}; - colorText[] = {1,1,1,1}; - colorScrollbar[] = {1,1,1,1}; - colorSelect[] = {1,0,1,1 }; - colorSelect2[] = {1,1,0,1}; - colorSelectBackground[] = {0,0,0,1}; - colorSelectBackground2[] = {1,1,1,1}; - period = 1.200000; - colorBackground[] = {0,0,0,1}; - maxHistoryDelay = 1.000000; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - wholeHeight = ROWPOS(4.1); - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - class ScrollBar { - color[] = {0,1,0,1}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.300000}; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; -}; - -class RscListNBox; -class ace_sys_arty_rangeTables_RscListNBox: RscListNBox { - type = 102; - idc = -1; - style = ST_SINGLE; - font = "TahomaB"; - color[] = {0,0,0,1}; - colorText[] = {0,0,0,0.75}; - colorScrollbar[] = {0.95,0.,0.95,1}; - colorSelect[] = {0,0,0,1}; // text - colorSelect2[] = {0,1,0,1}; - colorSelectBackground[] = {0.9,0.9,0.9,1}; - colorSelectBackground2[] = {0.9,0.9,0.9,1}; // background - period = 0; - sizeEx = 0.022; - colorBackground[] = {1,0,0,1}; - columns[] = {0,0.08,0.16,0.24}; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - shadow = 0; - rowHeight = ROWPOS(1); - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - maxHistoryDelay = 0; - drawSideArrows = 0; - idcLeft = 10061; - idcRight = 10062; - class ScrollBar { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; -}; -class ace_sys_arty_rangeTables_RangeTable { - idd = 2999; - movingEnable = true; - objects[] = {}; - class controlsBackground { - class Frame : ace_sys_arty_rangeTables_RscPicture { - text = QPATHTO_T(data\rangetable_ca.paa); - x = -0.000361398 * safezoneW + safezoneX; - y = -0.097232 * safezoneH + safezoneY; - w = 0.553948 * safezoneW; - h = 1.20385 * safezoneH; - moving = 0; - }; - }; - class controls { - class Combo_Round: RscCombo { // Selection: HE, Smoke, ILLUM, whatever - idc = 4020; - colorText[] = {0,0,0,1}; - colorBackground[] = {0.91,0.91,0.91,1}; - x = 0.216675 * safezoneW + safezoneX; - y = 0.0662958 * safezoneH + safezoneY; - w = 0.0605361 * safezoneW; - h = 0.0215816 * safezoneH; - }; - class Combo_Charge: RscCombo { // Charge selector - idc = 4021; - colorText[] = {0,0,0,1}; - colorBackground[] = {0.91,0.91,0.91,1}; - x = 0.030643 * safezoneW + safezoneX; - y = 0.0480134 * safezoneH + safezoneY; - w = 0.0621397 * safezoneW; - h = 0.0225973 * safezoneH; - }; - class ListNBox: ace_sys_arty_rangeTables_RscListNBox { - idc = 4022; - x = 0.0311783 * safezoneW + safezoneX; - y = 0.242012 * safezoneH + safezoneY; - w = 0.239084 * safezoneW; - h = 0.6 * safezoneH; - columns[] = {0,0.14,0.28,0.41,0.57}; - }; - class Btn_CloseRC : ace_sys_arty_rangeTables_RscButton { - idc = 3999; - text = "x"; - colorText[] = {0,0,0,1}; - x = 0.270542 * safezoneW + safezoneX; - y = 0.0262543 * safezoneH + safezoneY; - w = 0.0102861 * safezoneW; - h = 0.0165031 * safezoneH; - action = "closeDialog 1"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/fnc_menuDef_self.sqf b/TO_MERGE/ace/arty_range_tables/fnc_menuDef_self.sqf deleted file mode 100644 index a5da629d07..0000000000 --- a/TO_MERGE/ace/arty_range_tables/fnc_menuDef_self.sqf +++ /dev/null @@ -1 +0,0 @@ -/* line breaks are ignored in this file, no // comments or preprocessor directives */ /* todo: try saving at utf-8 */ private ["_menuDef", "_target", "_params", "_menuName", "_menuRsc", "_menus"]; _target = _this select 0; _params = _this select 1; _menuName = ""; _menuRsc = "popup"; if (typeName _params == typeName []) then { if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; _menuName = _params select 0; _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; } else { _menuName = _params; }; _menus = [ [ ["main", localize "STR_ACE_MENU_EQUIPPLAYER", _menuRsc], [ ["M119 Range Tables", { ["\x\ace\addons\sys_arty_range_tables\tables\m119.sqf"] call ace_sys_arty_range_tables_fnc_rangeTable }, "", "", "", -1, 1, player hasWeapon "ace_arty_rangeTable_m119"], ["M224 Range Tables", { ["\x\ace\addons\sys_arty_range_tables\tables\m224.sqf"] call ace_sys_arty_range_tables_fnc_rangeTable }, "", "", "", -1, 1, (player hasWeapon "ace_arty_rangeTable_m224" || {player hasWeapon "ace_arty_rangeTable_m224_legacy"})], ["M252 Range Tables", { ["\x\ace\addons\sys_arty_range_tables\tables\m252.sqf"] call ace_sys_arty_range_tables_fnc_rangeTable }, "", "", "", -1,1, (player hasWeapon "ace_arty_rangeTable_m252" || {player hasWeapon "ace_arty_rangeTable_m252_legacy"})], ["2B14 Range Tables", { ["\x\ace\addons\sys_arty_range_tables\tables\2b14.sqf"] call ace_sys_arty_range_tables_fnc_rangeTable }, "", "", "", -1, 1, (player hasWeapon "ace_arty_rangeTable_2b14" || {player hasWeapon "ace_arty_rangeTable_2b14_legacy"})], ["D-30 Range Tables", { ["\x\ace\addons\sys_arty_range_tables\tables\d30_legacy.sqf"] call ace_sys_arty_range_tables_fnc_rangeTable }, "", "", "", -1, 1, player hasWeapon "ace_arty_rangeTable_d30_legacy"], ["Tampella Range Tables", { ["\x\ace\addons\sys_arty_range_tables\tables\120_tampella.sqf"] call ace_sys_arty_range_tables_fnc_rangeTable }, "", "", "", -1, 1, player hasWeapon "ace_arty_rangeTable_tampella"] ] ] ]; _menuDef = []; { if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; } forEach _menus; if (count _menuDef == 0) then { hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this} else {""}, __FILE__]; diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _this, __FILE__]; }; _menuDef \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/fnc_rangeTable.sqf b/TO_MERGE/ace/arty_range_tables/fnc_rangeTable.sqf deleted file mode 100644 index 1e2fc854c7..0000000000 --- a/TO_MERGE/ace/arty_range_tables/fnc_rangeTable.sqf +++ /dev/null @@ -1,75 +0,0 @@ -#include "script_component.hpp" - -_dataFile = _this select 0; -_tableData = call COMPILE_FILE2_SYS(_dataFile); -_tableData_tables = _tableData select 0; -_tableData_mags = _tableData select 1; -_tableData_charges = _tableData select 2; - -ace_sys_arty_ammunition_selectRangeTable = { - _dataFile = _this select 0; - _tableData = call COMPILE_FILE2_SYS(_dataFile); - _tableData_tables = _tableData select 0; - _tableData_mags = _tableData select 1; - _tableData_charges = _tableData select 2; - - _selectedMag = _tableData_mags select (lbCurSel 4020); - _selectedCharge = _tableData_charges select (lbCurSel 4021); - _selectedTable = []; - - //scopeName "selectRangeTable_base"; - { // foreach mags - _mag = _x; - _magName = _mag select 0; - _magClass = _mag select 1; - if (_magName == _selectedMag) then { // correct mag - _charges = _mag select 2; - { //foreach charges - _charge = _x; - _chargeName = _charge select 0; - _chargeClass = _charge select 1; - if (_chargeName == _selectedCharge) then { // correct charge - _table = _charge select 2; - _selectedTable = _table; - // breakTo "selectRangeTable_base"; - }; - } foreach _charges; - }; - } foreach _tableData_tables; - - // apply range table - lnbClear 4022; - { - // 0: range, 1: elevation, 2: altitude -100m elev, 3: altitude -100m time, 4: time of flight - lnbAddRow [4022, [str (_x select 0), str (_x select 1), str (_x select 2), str (_x select 3), str (_x select 4)]]; - } foreach _selectedTable; - -}; - -// create dialog -_dialog = createDialog "ace_sys_arty_rangeTables_RangeTable"; -waituntil {_dialog}; - -with uiNamespace do { - display = findDisplay 2999; - - // fill mags combo - { - lbAdd [4020, _x]; - } foreach _tableData_mags; - lbSetCurSel [4020, 0]; - - // fill charges combo - { - lbAdd [4021, _x]; - } foreach _tableData_charges; - lbSetCurSel [4021, 0]; - - // set onchange event handlers - combo_round = display displayCtrl 4020; - combo_round ctrlAddEventHandler ["LBSelChanged", '["'+_dataFile+'"] call ace_sys_arty_ammunition_selectRangeTable']; - combo_charge = display displayCtrl 4021; - combo_charge ctrlAddEventHandler ["LBSelChanged", '["'+_dataFile+'"] call ace_sys_arty_ammunition_selectRangeTable']; -}; -// fill range table -[_dataFile] call ace_sys_arty_ammunition_selectRangeTable; diff --git a/TO_MERGE/ace/arty_range_tables/generateTable.sqf b/TO_MERGE/ace/arty_range_tables/generateTable.sqf deleted file mode 100644 index 629bbf2c0b..0000000000 --- a/TO_MERGE/ace/arty_range_tables/generateTable.sqf +++ /dev/null @@ -1,199 +0,0 @@ -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -/* -input -_ownPos = _this select 0; -_targetPos = _this select 1; -_vehicle = _this select 2; -_weapon = _this select 3; -_magazine = _this select 4; -_charge = _this select 5; -*/ - -// "ace_arty_105mm_m1_m782_pd_chg1" - -_m119Data = [ - 45, // min elevation - 70, // max elevation - "m782", // fuze - [ - [ - "HE", // name - "m1", // classname - 0, // burst height - [ // charges: name, class - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "WP", - "m84a1", - 0, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "Illum", - "m314a3", - 500, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "DPICM", - "m916", - 0, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ] - ] -]; - -_data = _m119Data; - -// start making table -//_mags = []; -//_charges = []; -_tables = []; - -_minElevation = _data select 0; -_maxElevation = _data select 1; -_fuze = _data select 2; -_rounds = _data select 3; -{ // foreach rounds - _roundArray = _x; - _roundName = _roundArray select 0; - _round = _roundArray select 1; - _roundBurstingHeight = _roundArray select 2; - _charges = _roundArray select 3; - - diag_log (_roundName); // debug - - _tables_round = [_roundName, _round, []]; // building tables array - { // foreach charge - _chargeArray = _x; - _chargeName = _chargeArray select 0; - _charge = _chargeArray select 1; - - diag_log (_chargeName); // debug - - _mag = format ["ace_arty_105mm_%1_%2_time_%3", _round, _fuze, _charge]; - - if (isClass (configFile >> "cfgMagazines" >> _mag)) then { // valid mag class - - // make btab - diag_log (_roundBurstingHeight); // debug - _btab = [_mag, _minElevation, _maxElevation +2, 1, -200, _roundBurstingHeight +100, 100] call DEMO_fnc_getBTable; - - // make range table - _tables_table = []; - _range = 100; - _belowMinRange = true; - _belowMaxRange = true; - while {_belowMaxRange} do { - diag_log (str _range); // debug - _fs = [_range, _roundBurstingHeight, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, _roundBurstingHeight -100, _btab] call DEMO_fnc_calcFiringSolution; - - if (count _fs > 0) then { // valid result - if (_fs select 0 <= _maxElevation) then { // within elevation limit - _belowMinRange = false; - - //save range table - _elevation = _fs select 0; - _elevation = round(DEG2MIL(_elevation)); - - _flightTime = _fs select 2; - _flightTime = (round (_flightTime * 10)) / 10; - - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - _elevationAltitude = round(DEG2MIL(_elevationAltitude)); - - _tables_table = _tables_table + [[_range, _elevation, _elevationAltitude, _flightTime]]; - }; - } else { // invalid result - if (!_belowMinRange) then { // if past min range - _belowMaxRange = false; // end loop - }; - }; - _range = _range + 100; - }; // end ranges loop - _tables_charge = [_chargeName, _charge, _tables_table]; // building tables array - _tables_round set [2, (_tables_round select 2) + [_tables_charge]]; // building tables array - } else { // invalid class - diag_log ("ace_sys_arty generate tables; error: invalid magazine "+_mag); // error log - }; - } foreach _charges; - _tables = _tables + [_tables_round]; -} foreach _rounds; - -// output, need to add newlines -_tablesString = "_tables = [" + toString[10]; -_roundIndex = 1; -{ // foreach round - _roundArray = _x; - _tablesString = _tablesString + format ['["%1","%2",[', _roundArray select 0, _roundArray select 1] + toString[10]; - _charges = _x select 2; - _chargeIndex = 1; - { // foreach charge - _chargeArray = _x; - - if (_chargeIndex < count _charges) then { - _tablesString = _tablesString + (str _chargeArray) + "," + toString[10]; - } else { - _tablesString = _tablesString + (str _chargeArray) + toString[10]; - }; - _chargeIndex = _chargeIndex + 1; - } foreach _charges; - - if (_roundIndex < count _tables) then { - _tablesString = _tablesString + "]]," + toString[10]; - } else { - _tablesString = _tablesString + "]]" + toString[10]; - }; - - _roundIndex = _roundIndex + 1; -} foreach _tables; - _tablesString = _tablesString + "];" + toString[10]; - -diag_log _tablesString; -copyToClipboard _tablesString; - -hint "table generation done"; -/* -hint "generate 1"; -_mags = ["ace_arty_105mm_m1_m782_pd_chg1", "ace_arty_105mm_m1_m782_pd_chg2", "ace_arty_105mm_m1_m782_pd_chg3", "ace_arty_105mm_m1_m782_pd_chg4", "ace_arty_105mm_m1_m782_pd_chg5", "ace_arty_105mm_m1_m782_pd_chg6", "ace_arty_105mm_m1_m782_pd_chg7", "ace_arty_105mm_m1_m782_pd_chg8"]; -{ - _mag = _x; - - //hint format ["%1", DEMO_fnc_calcBallistics]; - _btab = [_mag, 45, 70, 1, -200, 100, 100] call DEMO_fnc_getBTable; - - //copyToClipboard format ["%1", _btab]; - diag_log "btab:"; - diag_log (format ["%1", _btab]); - diag_log "ranges:"; - _range = 0; - for "_range" from 25 to 20000 step 25 do { - hintSilent format ["%1", _range]; - _fs = [_range, 0, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, -100, _btab] call DEMO_fnc_calcFiringSolution; - diag_log (format ["%1", _fs]); - diag_log (format ["%1", _fsAltitude]); - - if (count _fs > 0) then { - _elevation = _fs select 0; - _flightTime = _fs select 2; - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - diag_log (format ["[%1,%2,%3,%4]", _range, _elevation, _elevationAltitude, _flightTime]); - }; - }; -} foreach _mags; - -//copyToClipboard format ["%1", _table]; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/license.txt b/TO_MERGE/ace/arty_range_tables/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/arty_range_tables/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/ballComp.hpp b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/ballComp.hpp deleted file mode 100644 index 6cb5b95a69..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/ballComp.hpp +++ /dev/null @@ -1,376 +0,0 @@ -#include "defines.inc" - -#define COLOR_DARK {0.2, 0.26, 0.2, 0.7} -#define COLOR_NOCOLOR {0, 0, 0, 0} -#define COLOR_BLACK {0, 0, 0, 1} - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_LIST 5 - -#define ST_LEFT 0x00 - -class bArty_rscList { - type = CT_LIST; - style = ST_LEFT; - font = "BitStream"; - sizeEx = 0.025; - color[] = {1,1,1,1 }; - colorText[] = {0.543000,0.574200,0.410200,1.000000 }; - colorScrollbar[] = {0,1,0,1 }; - colorSelect[] = {0.950000,0.950000,0.950000,1 }; - colorSelect2[] = {0.950000,0.950000,0.950000,1 }; - colorSelectBackground[] = {0,0,0,1 }; - colorSelectBackground2[] = {0.543000,0.574200,0.410200,1.000000 }; - period = 1.200000; - colorBackground[] = {0,0,0,1 }; - maxHistoryDelay = 1.000000; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - - class ScrollBar { - color[] = {0,1,0,1 }; - colorActive[] = {1,1,1,1 }; - colorDisabled[] = {1,1,1,0.300000 }; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; -}; - -class bArty_rscText { - access = 0; - idc = -1; - type = CT_STATIC; - style = ST_LEFT; - w = 0.1; - h = 0.05; - font = Zeppelin32; - sizeEx = 0.023; - colorBackground[] = COLOR_NOCOLOR; - colorText[] = COLOR_BLACK; - text = ""; - -}; - -class bArty_RscEdit { - type = CT_EDIT; - idc = -1; - style = ST_LEFT; - x = 0; - y = 0; - w = 0.2; - h = 0.4; - font = "TahomaB"; - sizeEx = 0.02; - colorText[] = {0, 0, 0, 1}; - colorSelection[] = {0.5, 0.5, 0.5, 1}; - autocomplete = false; - text = ""; -}; - -class bArty_rscButton { - access = 0; - type = CT_BUTTON; - style = ST_LEFT; - x = 0; y = 0; - w = 0.3; h = 0.1; - - // text properties - text = ""; - font = Zeppelin32; - sizeEx = 0.024; - colorText[] = {0.95, 0.95, 0.95, 1}; - colorDisabled[] = {0.4, 0.4, 0.4, 1}; - colorBackground[] = {1, 0.537, 0, 0.5}; - colorBackgroundActive[] = {1, 0.537, 0, 1}; - colorBackgroundDisabled[] = {0.58, 0.1147, 0.1108, 1}; - offsetX = 0.003; - offsetY = 0.003; - offsetPressedX = 0.002; - offsetPressedY = 0.002; - colorFocused[] = {1, 0.537, 0, 1}; - colorShadow[] = {0.023529, 0, 0.0313725, 1}; - colorBorder[] = {0.023529, 0, 0.0313725, 1}; - borderSize = 0.008; // when negative, the border is on the right side of background - - // sounds - soundEnter[] = {"", 0.1, 1}; - soundPush[] = {"", 0.1, 1}; - soundClick[] = {"", 0.1, 1}; - soundEscape[] = {"", 0.1, 1}; -}; - -class bArty_ballCompRsc { - idd = BALLCOMP_IDD; - movingEnable = 1; - fadein = 0.0; - fadeout = 0.0; - duration = 1e6; - access = 0; - onLoad = "_this spawn ballCompCtrl;"; - - class objects { - }; - - class controlsBackground { - class Background { - idc = -1; // set to -1, unneeded - type = CT_STATIC; // constant - style = ST_LEFT; // constant - text = ""; - font = "TahomaB"; - sizeEx = 0.023; - - colorBackground[] = COLOR_DARK; - colorText[] = { 0, 0, 0, 1 }; - - x = 0.05; - y = 0.05; - w = 0.9; - h = 0.9; - }; - }; - - class controls { - - class titleText : bArty_rscText { - idc = -1; - x = 0.2; - y = 0.1; - w = 0.6; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - colorText[] = { 1, 1, 1, 1 }; - style = ST_CENTER; - sizeEx = 0.05; - text = "Ballistic Computer"; - }; - - class TgtEastingText : bArty_rscText { - idc = -1; - x = 0.1; - y = 0.3; - w = 0.15; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = "Target Easting:"; - sizeEx = 0.03; - }; - - class BoxTgtEasting : bArty_RscEdit { - idc = TGTEASTING_IDC; - text = ""; - x = 0.25; - y = 0.3; - w = 0.1; - h = 0.05; - colorText[] = {1, 1, 1, 1}; - }; - - class TgtNorthingText : bArty_rscText { - idc = -1; - x = 0.1; - y = 0.4; - w = 0.15; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = "Target Northing:"; - sizeEx = 0.03; - }; - - class BoxTgtNorthing : bArty_RscEdit { - idc = TGTNORTHING_IDC; - text = ""; - x = 0.25; - y = 0.4; - w = 0.1; - h = 0.05; - colorText[] = {1, 1, 1, 1}; - }; - - class TgtElevationText : bArty_rscText { - idc = -1; - x = 0.1; - y = 0.5; - w = 0.15; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = "Target Elevation:"; - sizeEx = 0.03; - }; - - class BoxTgtElevation : bArty_RscEdit { - idc = TGTELEV_IDC; - text = ""; - x = 0.25; - y = 0.5; - w = 0.1; - h = 0.05; - colorText[] = {1, 1, 1, 1}; - }; - - class PosEastingText : bArty_rscText { - idc = -1; - x = 0.1; - y = 0.6; - w = 0.15; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = "Your Easting:"; - sizeEx = 0.03; - }; - - class BoxPosEasting : bArty_RscEdit { - idc = POSEASTING_IDC; - text = ""; - x = 0.25; - y = 0.6; - w = 0.1; - h = 0.05; - colorText[] = {1, 1, 1, 1}; - }; - - class PosNorthingText : bArty_rscText { - idc = -1; - x = 0.1; - y = 0.7; - w = 0.15; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = "Your Northing:"; - sizeEx = 0.03; - }; - - class BoxPosNorthing : bArty_RscEdit { - idc = POSNORTHING_IDC; - text = ""; - x = 0.25; - y = 0.7; - w = 0.1; - h = 0.05; - colorText[] = {1, 1, 1, 1}; - }; - - class PosElevationText : bArty_rscText { - idc = -1; - x = 0.1; - y = 0.8; - w = 0.15; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = "Your Elevation:"; - sizeEx = 0.03; - }; - - class BoxPosElevation : bArty_RscEdit { - idc = POSELEV_IDC; - text = ""; - x = 0.25; - y = 0.8; - w = 0.1; - h = 0.05; - colorText[] = {1, 1, 1, 1}; - }; - - class RoundText : bArty_rscText { - idc = -1; - x = 0.4; - y = 0.2; - w = 0.15; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = "Round:"; - sizeEx = 0.03; - }; - - class ListRound : bArty_rscList { - idc = ROUND_IDC; - x = 0.4; - y = 0.3; - w = 0.2; - h = 0.12; - rowHeight = 0.025; - wholeHeight = 4 * 0.025; // 3 lines to display + 1 line of the unelapsed control - }; - - class ResultElevationText : bArty_rscText { - idc = ELEV_IDC; - x = 0.65; - y = 0.2; - w = 0.25; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = ""; - sizeEx = 0.03; - }; - - class ResultAzimuthText : bArty_rscText { - idc = AZI_IDC; - x = 0.65; - y = 0.3; - w = 0.25; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = ""; - sizeEx = 0.03; - }; - - class ResultChargeText : bArty_rscText { - idc = CHARGE_IDC; - x = 0.65; - y = 0.4; - w = 0.25; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = ""; - sizeEx = 0.03; - }; - - class ResultTOFText : bArty_rscText { - idc = TOF_IDC; - x = 0.65; - y = 0.5; - w = 0.25; - h = 0.04; - colorBackground[] = { 0, 0, 0, 0 }; - style = ST_LEFT; - text = ""; - sizeEx = 0.03; - }; - - class BtnCalc : bArty_rscButton { - idc = CALC_IDC; - text = "Calculate Firing Solution"; - x = 0.4; - y = 0.7; - w = 0.2; - action = "id = [vehicle player] execVM 'bScripts\arty\calculate.sqf';"; - }; - - class BtnExit : bArty_rscButton { - idc = -1; - text = "Exit"; - x = 0.7; - y = 0.8; - w = 0.15; - action = "closeDialog 0;"; - }; - }; -}; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/ballCompCtrl.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/ballCompCtrl.sqf deleted file mode 100644 index df952fd7d2..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/ballCompCtrl.sqf +++ /dev/null @@ -1,83 +0,0 @@ -//Written by beta -//Ballistics Computer dialog control - - -#include "defines.inc" - -disableSerialization; - -private ["_display", "_ctrl"]; - -_display = _this select 0; - -_ctrl = _display displayCtrl ROUND_IDC; - -//TODO: add only magazine classes that side should have - -_ctrl lbAdd "60mm HE"; -_ctrl lbSetData [0, "ACE_1Rnd_60mmHE_M224"]; -_ctrl lbAdd "60mm WP"; -_ctrl lbSetData [1, "ACE_1Rnd_60mmWP_M224"]; -_ctrl lbAdd "60mm IL"; -_ctrl lbSetData [2, "ACE_1Rnd_60mmHE_M224"]; //TODO: "ACE_1Rnd_60mmIL_M224" doesnt work with btab -_ctrl lbAdd "81mm HE"; -_ctrl lbSetData [3, "ACE_1Rnd_81mmHE_M252"]; -_ctrl lbAdd "81mm WP"; -_ctrl lbSetData [4, "ACE_1Rnd_81mmWP_M252"]; -_ctrl lbAdd "81mm IL"; -_ctrl lbSetData [5, "ACE_1Rnd_81mmHE_M252"]; //TODO: "ACE_1Rnd_81mmIL_M252" doesnt work with btab -_ctrl lbAdd "82mm HE"; -_ctrl lbSetData [6, "ACE_1Rnd_82mmHE_2B14"]; -_ctrl lbAdd "82mm WP"; -_ctrl lbSetData [7, "ACE_1Rnd_82mmWP_2B14"]; -_ctrl lbAdd "82mm IL"; -_ctrl lbSetData [8, "ACE_1Rnd_82mmHE_2B14"]; //TODO: "ACE_1Rnd_82mmIL_2B14" doesnt work with btab - -_ctrl = _display displayCtrl AZI_IDC; -_ctrl ctrlSetText bArty_azimuth; -_ctrl = _display displayCtrl ELEV_IDC; -_ctrl ctrlSetText bArty_elevation; -_ctrl = _display displayCtrl CHARGE_IDC; -_ctrl ctrlSetText bArty_charge; -_ctrl = _display displayCtrl TOF_IDC; -_ctrl ctrlSetText bArty_tof; - -_ctrl = _display displayCtrl TGTEASTING_IDC; -_ctrl ctrlSetText bArty_tgtEasting; -_ctrl = _display displayCtrl TGTNORTHING_IDC; -_ctrl ctrlSetText bArty_tgtNorthing; -_ctrl = _display displayCtrl TGTELEV_IDC; -_ctrl ctrlSetText bArty_tgtElev; -_ctrl = _display displayCtrl POSEASTING_IDC; -_ctrl ctrlSetText bArty_posEasting; -_ctrl = _display displayCtrl POSNORTHING_IDC; -_ctrl ctrlSetText bArty_posNorthing; -_ctrl = _display displayCtrl POSELEV_IDC; -_ctrl ctrlSetText bArty_posElev; - -while {dialog} do -{ - _ctrl = _display displayCtrl AZI_IDC; - bArty_azimuth = ctrlText _ctrl; - _ctrl = _display displayCtrl ELEV_IDC; - bArty_elevation = ctrlText _ctrl; - _ctrl = _display displayCtrl CHARGE_IDC; - bArty_charge = ctrlText _ctrl; - _ctrl = _display displayCtrl TOF_IDC; - bArty_tof = ctrlText _ctrl; - - _ctrl = _display displayCtrl TGTEASTING_IDC; - bArty_tgtEasting = ctrlText _ctrl; - _ctrl = _display displayCtrl TGTNORTHING_IDC; - bArty_tgtNorthing = ctrlText _ctrl; - _ctrl = _display displayCtrl TGTELEV_IDC; - bArty_tgtElev = ctrlText _ctrl; - _ctrl = _display displayCtrl POSEASTING_IDC; - bArty_posEasting = ctrlText _ctrl; - _ctrl = _display displayCtrl POSNORTHING_IDC; - bArty_posNorthing = ctrlText _ctrl; - _ctrl = _display displayCtrl POSELEV_IDC; - bArty_posElev = ctrlText _ctrl; - - sleep 1; -}; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/calculate.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/calculate.sqf deleted file mode 100644 index b2c5d0931f..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/calculate.sqf +++ /dev/null @@ -1,160 +0,0 @@ -//Written by beta -//Calculate firemission - - -#include "defines.inc" - -disableSerialization; - -private ["_azimuth", "_elevation", "_pos", "_tgtPos", "_eastingTgt", "_northingTgt", "_elevationTgt", "_eastingPos", "_northingPos", "_elevationPos", "_ctrl", "_readyFlag", "_tgtGridFlag", "_tgtElevFlag", "_posGridFlag", "_posElevFlag", "_magazine", "_magazineFlag", "_charge", "_weapon", "_vehicle", "_chargeStr"]; - -_readyFlag = false; - -_ctrl = (findDisplay BALLCOMP_IDD) displayCtrl ROUND_IDC; -_magazine = ""; -_magazine = _ctrl lbData (lbCurSel _ctrl); - -_magazineFlag = false; -if (_magazine != "") then -{ - _magazineFlag = true; -}; - -_ctrl = (findDisplay BALLCOMP_IDD) displayCtrl TGTEASTING_IDC; -_eastingTgt = ctrlText _ctrl; -_ctrl = (findDisplay BALLCOMP_IDD) displayCtrl TGTNORTHING_IDC; -_northingTgt = ctrlText _ctrl; - -_tgtGridFlag = false; -if ((_northingTgt != "") && (_eastingTgt != "")) then -{ - _tgtGridFlag = true; -}; - -_ctrl = (findDisplay BALLCOMP_IDD) displayCtrl POSEASTING_IDC; -_eastingPos = ctrlText _ctrl; -_ctrl = (findDisplay BALLCOMP_IDD) displayCtrl POSNORTHING_IDC; -_northingPos = ctrlText _ctrl; - -_posGridFlag = false; -if ((_northingPos != "") && (_eastingPos != "")) then -{ - _posGridFlag = true; -}; - -_ctrl = (findDisplay BALLCOMP_IDD) displayCtrl TGTELEV_IDC; -_elevationTgt = ctrlText _ctrl; - -_tgtElevFlag = false; -if (_elevationTgt != "") then -{ - _tgtElevFlag = true; -}; - -_ctrl = (findDisplay BALLCOMP_IDD) displayCtrl POSELEV_IDC; -_elevationPos = ctrlText _ctrl; - -_posElevFlag = false; -if (_elevationPos != "") then -{ - _posElevFlag = true; -}; - -if (_magazineFlag) then -{ - if (_tgtGridFlag) then - { - if (_tgtElevFlag) then - { - if (_posGridFlag) then - { - if (_posElevFlag) then - { - _readyFlag = true; - } - else - { - hint "You must input a valid elevation for your position."; - }; - } - else - { - hint "You must input a valid six, eight, or ten figure grid reference for your position."; - }; - } - else - { - hint "You must input a valid elevation for the target position."; - }; - } - else - { - hint "You must input a valid six, eight, or ten figure grid reference for the target position."; - }; -} -else -{ - hint "You must select a round type."; -}; - -if (_readyFlag) then -{ - _tgtPos = [[_eastingTgt, _northingTgt], true] call CBA_fnc_mapGridToPos; - _tgtPos = [_tgtPos select 0, _tgtPos select 1, parseNumber _elevationTgt]; - - _pos = [[_eastingPos, _northingPos], true] call CBA_fnc_mapGridToPos; - _pos = [_pos select 0, _pos select 1, parseNumber _elevationPos]; - - _firingSolution = []; - _charge = ""; - _chargeStr = ""; - _vehicle = ""; - _weapon = ""; - - switch (_magazine) do - { - case "ACE_1Rnd_60mmHE_M224": { _vehicle = "ACE_M224"; _weapon = "ACE_M224_Tri"; }; - case "ACE_1Rnd_60mmWP_M224": { _vehicle = "ACE_M224"; _weapon = "ACE_M224_Tri"; }; - case "ACE_1Rnd_60mmIL_M224": { _vehicle = "ACE_M224"; _weapon = "ACE_M224_Tri"; }; - case "ACE_1Rnd_81mmHE_M252": { _vehicle = "ACE_M252"; _weapon = "ACE_M252_Tri"; }; - case "ACE_1Rnd_81mmWP_M252": { _vehicle = "ACE_M252"; _weapon = "ACE_M252_Tri"; }; - case "ACE_1Rnd_81mmIL_M252": { _vehicle = "ACE_M252"; _weapon = "ACE_M252_Tri"; }; - case "ACE_1Rnd_82mmHE_2B14": { _vehicle = "ACE_2B14_82mm"; _weapon = "ACE_2B14_82mm_Tri"; }; - case "ACE_1Rnd_82mmWP_2B14": { _vehicle = "ACE_2B14_82mm"; _weapon = "ACE_2B14_82mm_Tri"; }; - case "ACE_1Rnd_82mmIL_2B14": { _vehicle = "ACE_2B14_82mm"; _weapon = "ACE_2B14_82mm_Tri"; }; - }; - - { - _firingSolution = [_pos, _tgtPos, _vehicle, _weapon, _magazine, _x] call bArty_fnc_getSolution; - - if ((_firingSolution select 1) > 0) exitWith - { - _charge = _x; - }; - } forEach ["Single1", "Single2", "Single3"]; - - switch (_charge) do - { - case "Single1": { _chargeStr = "Close"; }; - case "Single2": { _chargeStr = "Medium"; }; - case "Single3": { _chargeStr = "Far"; }; - }; - - if ((_firingSolution select 1) > 0) then - { - _ctrl = (findDisplay BALLCOMP_IDD) displayCtrl AZI_IDC; - _ctrl ctrlSetText ("Azimuth (mils): " + (str (_firingSolution select 0))); - _ctrl = (findDisplay BALLCOMP_IDD) displayCtrl ELEV_IDC; - _ctrl ctrlSetText ("Elevation (mils): " + (str (_firingSolution select 1))); - _ctrl = (findDisplay BALLCOMP_IDD) displayCtrl TOF_IDC; - _ctrl ctrlSetText ("Time of Flight: " + (_firingSolution select 2) + "s"); - _ctrl = (findDisplay BALLCOMP_IDD) displayCtrl CHARGE_IDC; - _ctrl ctrlSetText ("Charge: " + _chargeStr); - - hint "Fire solution calculated."; - } - else - { - hint "Target grid reference out of range."; - }; -}; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/defines.inc b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/defines.inc deleted file mode 100644 index cfc4d6c9fd..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/defines.inc +++ /dev/null @@ -1,13 +0,0 @@ -#define BALLCOMP_IDD 1210 -#define TGTEASTING_IDC 1211 -#define TGTNORTHING_IDC 1212 -#define TGTELEV_IDC 1213 -#define POSEASTING_IDC 1214 -#define POSNORTHING_IDC 1215 -#define POSELEV_IDC 1216 -#define CALC_IDC 1217 -#define ROUND_IDC 1218 -#define ELEV_IDC 1219 -#define AZI_IDC 1220 -#define CHARGE_IDC 1221 -#define TOF_IDC 1222 diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_getSolution.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_getSolution.sqf deleted file mode 100644 index e3461c5509..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_getSolution.sqf +++ /dev/null @@ -1,226 +0,0 @@ -//#include "\x\addons\balca\defs.hpp" - -private ["_pos", "_role", "_block_input","_veh","_turret","_use_sim", -"_mag","_shell","_displayName","_typicalSpeed","_friction","_timeToLive","_initSpeed","_minElev","_maxElev","_currentWeaponMode",//ammo info -"_scale","_gravity",//const -"_tpos","_cpos","_ppos","_ndist","_ndir","_altitude_impact",//target info -"_i","_step","_simstep","_adjust","_celev","_table","_tab","_calculating",//variables for calculating -"_low_solution","_flytime_low","_high_solution","_flytime_high","_balca_target"];//result - -_ownPos = _this select 0; -_targetPos = _this select 1; -_vehicle = _this select 2; -_weapon = _this select 3; -_magazine = _this select 4; -_charge = _this select 5; - -//_starttime = time; -_scale = 100; //scale of moving markers on balca display (meters) -_veh = vehicle player; -//_pos = _this select 0; -_pos = _targetPos; -_use_sim = true; -_tpos = _pos; -_gravity = 9.80665; -//_ppos = [((positioncameratoworld [0,0,0]) select 0),((positioncameratoworld [0,0,0]) select 1),((getposASL _veh) select 2)-((getposATL _veh) select 2)+((positioncameratoworld [0,0,0]) select 2)]; -_ppos = _ownPos; - -//getting ammo cfg -//_weap = currentWeapon _veh; -_weap = _weapon; -//_mag = currentMagazine _veh; -_mag = _magazine; -_displayName = getText (configFile >> "CfgMagazines" >> _mag >> "displayName"); -_initSpeed = getnumber(configFile >> "cfgMagazines" >> _mag >> "initSpeed"); -//if (GET_IS_OA) then { - _currentWeaponMode = _charge; - _artilleryCharge = getnumber(configFile >> "cfgWeapons" >> _weap >> _currentWeaponMode >> "artilleryCharge"); - if (_artilleryCharge > 0) then {_initSpeed = _initSpeed*_artilleryCharge}; - //hint format ["Get solution %1",[_currentWeaponMode,_mag]]; -//}; -//hint format ["%1",[_weap,_currentWeaponMode,_initSpeed,_artilleryCharge]]; -_shell = gettext(configFile >> "cfgMagazines" >> _mag >> "ammo"); -_typicalSpeed = getnumber(configFile >> "cfgAmmo" >> _shell >> "typicalSpeed"); -//_thrustTime = getnumber(configFile >> "cfgAmmo" >> _shell >> "thrustTime"); -_thrust = getnumber(configFile >> "cfgAmmo" >> _shell >> "thrust"); -//_maxSpeed = getnumber(configFile >> "cfgAmmo" >> _shell >> "maxSpeed"); -//_sideAirFriction = getnumber(configFile >> "cfgAmmo" >> _shell >> "sideAirFriction"); -_friction = -(getnumber(configFile >> "cfgAmmo" >> _shell >> "airFriction")); -_timeToLive = getnumber(configFile >> "cfgAmmo" >> _shell >> "timeToLive"); - -//getting turret cfg -_minElev = -90; -_maxElev = 90; -if !(_vehicle isKindOf "CAManBase") then { - _role = assignedVehicleRole player; - if ((_role select 0 == "Turret") && !(_vehicle isKindOf "ParachuteBase")) then { - _turret = _role select 1; - }; - _path = configFile >> "CfgVehicles" >> _vehicle; - { - _path = _path >> "Turrets"; - _path = _path select _x; - if (isClass _path) then { - _weapons = getArray (_path >> "weapons"); - { - if (_x == _weap) then - { - _minElev = getnumber (_path >> "minElev"); - _maxElev = getnumber (_path >> "maxElev"); - } - } foreach _weapons; - }; - } foreach _turret; -}; -//diag_log format ["elev %1 %2",_minElev,_maxElev]; - -//relative target coordinates -_vecToTarget = [(_tpos select 0) - (_ppos select 0), (_tpos select 1) - (_ppos select 1), (_tpos select 2) - (_ppos select 2)]; -_altitude_impact = (_vectotarget select 2); -_ndir = (( _vecToTarget select 0) atan2 (_vecToTarget select 1)); -_npitch = atan((_vecToTarget select 2)/(_vecToTarget call ACE_fnc_magnitude)); -if (_ndir < 0) then {_ndir = _ndir+360;}; - -_ndist = _ppos distance _tpos; - -_dirmult = atan(_scale/_ndist); - -//current shell have thruster and ballistics cannot be calculated -if ((_thrust > 0)&& {((_shell isKindOf "MissileCore")||(_shell isKindOf "RocketCore"))}) exitWith { - _balca_target = [2,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[(round(_npitch*1000)/1000),1,0],[(round(_npitch*1000)/1000),1,0]]; - balca_target = _balca_target; -}; -_balca_target = [1,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[0,1,0],[0,1,0]]; - -if (_friction == 0) then { - if (_ndist>.7071067810*(.7071067810*_initSpeed+(.5*_initSpeed^2-2*_gravity*_altitude_impact)^(1/2))*_initSpeed/_gravity) then { - _balca_target = [0,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[0,1,0],[0,1,0]]; - }else{ - _low_solution = atan((_altitude_impact*(_initSpeed^2-_altitude_impact*_gravity+(_initSpeed^4-2*_initSpeed^2*_altitude_impact*_gravity-_gravity^2*_ndist^2)^(1/2))/(_altitude_impact^2+_ndist^2)+_gravity)/(_initSpeed^2-_altitude_impact*_gravity+(_initSpeed^4-2*_initSpeed^2*_altitude_impact*_gravity-_gravity^2*_ndist^2)^(1/2))*(_altitude_impact^2+_ndist^2)/_ndist); - _flytime_low = _ndist/(_initSpeed*cos(_low_solution)); - _ls_mult = atan((_altitude_impact*(_initSpeed^2-_altitude_impact*_gravity+(_initSpeed^4-2*_initSpeed^2*_altitude_impact*_gravity-_gravity^2*(_ndist + _scale)^2)^(1/2))/(_altitude_impact^2+(_ndist + _scale)^2)+_gravity)/(_initSpeed^2-_altitude_impact*_gravity+(_initSpeed^4-2*_initSpeed^2*_altitude_impact*_gravity-_gravity^2*(_ndist + _scale)^2)^(1/2))*(_altitude_impact^2+(_ndist + _scale)^2)/(_ndist + _scale))-_low_solution; - - _high_solution = -atan(2*(_gravity-1/2*_altitude_impact*(-2*_initSpeed^2+2*_gravity*_altitude_impact+2*(_initSpeed^4-2*_initSpeed^2*_gravity*_altitude_impact-_gravity^2*_ndist^2)^(1/2))/(_altitude_impact^2+_ndist^2))/(-2*_initSpeed^2+2*_gravity*_altitude_impact+2*(_initSpeed^4-2*_initSpeed^2*_gravity*_altitude_impact-_gravity^2*_ndist^2)^(1/2))*(_altitude_impact^2+_ndist^2)/_ndist); - _flytime_high = _ndist/(_initSpeed*cos(_high_solution)); - _hs_mult = _high_solution + atan(2*(_gravity-1/2*_altitude_impact*(-2*_initSpeed^2+2*_gravity*_altitude_impact+2*(_initSpeed^4-2*_initSpeed^2*_gravity*_altitude_impact-_gravity^2*(_ndist+_scale)^2)^(1/2))/(_altitude_impact^2+(_ndist+_scale)^2))/(-2*_initSpeed^2+2*_gravity*_altitude_impact+2*(_initSpeed^4-2*_initSpeed^2*_gravity*_altitude_impact-_gravity^2*(_ndist+_scale)^2)^(1/2))*(_altitude_impact^2+(_ndist+_scale)^2)/(_ndist+_scale)); - - //_balca_target = [2,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)],[_high_solution,_hs_mult,str(round(_flytime_high*100)/100)+" / "+str(_timeToLive)]]; - _balca_target = [2,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)],[_high_solution,_hs_mult,str(round(_flytime_high*100)/100)]]; - }; - -}else{ -//trying to obtain solution through formula (fast) -_low_solution = [_ndist,_initSpeed,_friction,_altitude_impact] call bArty_fnc_solution; -if (!(_low_solution > -200)or(([30,_altitude_impact,_initspeed,_friction,0.5,1.028] call bArty_fnc_sim) select 1 < _ndist)) then //formula returns complex value when target not reachable - {_balca_target = [0,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[0,1,0],[0,1,0]];} //target not reachable with current shell - else {//calculating - balca_target = _balca_target; - if (_vehicle isKindOf "StaticMortar") then {_minElev = 40}; - _balca_target = [1,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[0,1,0],[0,1,0]]; - //calculation of low solution - if ((_low_solution > 12)and(_minElev<40)and(_friction>0.0001)and(_use_sim)) then //solution not preciese, need to use simulation - { - _table = [([10,_altitude_impact,_initspeed,_friction,0.5,1.028] call bArty_fnc_sim)]; - _step = 5; - _simstep = 0.5; - _adjust = 1.004; - _calculating = true; - for [{_i = 10}, {((_i < 40)and(_calculating))}, {_i = _i+_step}] do - { - _tab = [_i,_altitude_impact,_initspeed,_friction,_simstep,_adjust] call bArty_fnc_sim; - _table set [count _table,_tab]; - if ((count _table)>=2) then { - if ((_step==1)and(((_table select ((count _table) - 1)) select 1 > _ndist)and((_table select ((count _table) - 2)) select 1 < _ndist))) then - { - _calculating = false; - }; - if ((_step==5)and(((_table select ((count _table) - 1)) select 1 > _ndist)and((_table select ((count _table) - 2)) select 1 < _ndist))) then - { - _step = 1; - _celev = [_ndist,(_table select ((count _table) - 1)),(_table select ((count _table) - 2))] call bArty_fnc_interp; - _i = floor(_celev - 2); - _simstep = 0.1; - _adjust = 1.004; - _table = [([_i,_altitude_impact,_initspeed,_friction,_simstep,_adjust] call bArty_fnc_sim)]; - }; - }; - }; - /*diag_log format ["ls %1 %2", - (_table select ((count _table) - 1)), - (_table select ((count _table) - 2))];*/ - if ((_table select ((count _table) - 1)) select 1 > _ndist) then - { - _low_solution = [_ndist,(_table select ((count _table) - 1)),(_table select ((count _table) - 2))] call bArty_fnc_interp; - _ls_mult = ([(_ndist+_scale),(_table select ((count _table) - 1)),(_table select ((count _table) - 2))] call bArty_fnc_interp)-_low_solution; - _flytime_low = (_table select ((count _table) - 1)) select 2; - //_balca_target = [2,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)]]; - _balca_target = [2,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)]]; - } else { - _balca_target = [0,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[0,1,0],[0,1,0]]; - }; - } - else //solution preciese, just need to calculate flytime - { - _flytime_low = -ln((-_ndist*_friction+_initspeed*cos(_low_solution))/_initspeed/cos(_low_solution))/_friction; - _ls_mult = ([(_ndist+_scale),_initSpeed,_friction,_altitude_impact] call bArty_fnc_lowSolution)-_low_solution; - //_balca_target = [2,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)]]; - _balca_target = [2,[_displayName,_mag,_currentWeaponMode],[(round(_ndist)),_tpos],[(round(_ndir*1000)/1000),_dirmult,(round(_npitch*1000)/1000)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)+" / "+str(_timeToLive)],[_low_solution,_ls_mult,str(round(_flytime_low*100)/100)]]; - }; - //calculation of high solution - if (((_balca_target select 0) == 2)and(_use_sim)) then - { - _table = []; - if (_vehicle isKindOf "StaticMortar") then {_maxElev = 90;_tab = [90,0]}else{; - _tab = [_maxElev,_altitude_impact,_initspeed,_friction,0.5,1] call bArty_fnc_sim;};//0.1,1.0062 0.5,1.0165 - if (_tab select 1 < _ndist) then //turret's max_elev enough to reach target - { - _table = [_tab]; - _step = -5; - _simstep = 0.5; - _adjust = 1.028; - _calculating = true; - for [{_i = (_maxElev-5)}, {((_i > 40)and(_calculating))}, {_i = _i+_step}] do - { - _tab = [_i,_altitude_impact,_initspeed,_friction,_simstep,_adjust] call bArty_fnc_sim; - _table set [count _table,_tab]; - if ((count _table)>=2) then { - if ((_step==-1)and(((_table select ((count _table) - 1)) select 1 > _ndist)and((_table select ((count _table) - 2)) select 1 < _ndist))) then - { - _calculating = false; - }; - if ((_step==-5)and(((_table select ((count _table) - 1)) select 1 > _ndist)and((_table select ((count _table) - 2)) select 1 < _ndist))) then - { - _step = -1; - _celev = [_ndist,(_table select ((count _table) - 1)),(_table select ((count _table) - 2))] call bArty_fnc_interp; - _i = floor(_celev + 3); - if (_i>90) then {_i=90}; - _simstep = 0.1; - _adjust = 1.0062; - _table = [([_i,_altitude_impact,_initspeed,_friction,_simstep,_adjust] call bArty_fnc_sim)]; - }; - }; - }; - /*diag_log format ["hs %1 %2", - (_table select ((count _table) - 1)), - (_table select ((count _table) - 2))];*/ - if ((_table select ((count _table) - 1)) select 1 > _ndist) then - { - _high_solution = [_ndist,(_table select ((count _table) - 1)),(_table select ((count _table) - 2))] call bArty_fnc_interp; - _hs_mult = _high_solution-([(_ndist+_scale),(_table select ((count _table) - 1)),(_table select ((count _table) - 2))] call bArty_fnc_interp); - _flytime_high = ((_table select ((count _table) - 1)) select 2); - //_balca_target set[5,[_high_solution,_hs_mult,str(round(_flytime_high*100)/100)+" / "+str(_timeToLive)]]; - _balca_target set[5,[_high_solution,_hs_mult,str(round(_flytime_high*100)/100)]]; - }; - }; - }; - };//end calculating -}; -//player globalChat format ["%1", _balca_target]; - -_azimuth = round((_balca_target select 3) select 0); -_elevation = round(((_balca_target select 5) select 0)*17.78); //1 degree ~= 17.78 mils -_flightTime = (_balca_target select 5) select 2; - -_return = [_azimuth, _elevation, _flightTime, _balca_target]; - -_return \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_interp.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_interp.sqf deleted file mode 100644 index afcb7bbb9b..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_interp.sqf +++ /dev/null @@ -1,19 +0,0 @@ -private ["_ndist","_dist1","_dist2","_elev1","_elev2","_nelev","_slide"]; - -_ndist = _this select 0; -_elev1 = (_this select 1) select 0; -_dist1 = (_this select 1) select 1; -_elev2 = (_this select 2) select 0; -_dist2 = (_this select 2) select 1; - -if (_dist2 > _dist1) then { -_slide = (_ndist-_dist1)/(_dist2-_dist1); -}else{//high -_slide = (_ndist-_dist2)/(_dist1-_dist2); -}; - -_nelev = _elev2-(_elev2-_elev1)*_slide; - -//diag_log format ["%1 < %2 < %3 | %4 < %5 < %6 | %7",_dist1,_ndist,_dist2,_elev1,_nelev,_elev2, _slide]; - -_nelev; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_lowSolution.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_lowSolution.sqf deleted file mode 100644 index afc1a6e5ca..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_lowSolution.sqf +++ /dev/null @@ -1,11 +0,0 @@ -private ["_low_solution","_ndist","_initSpeed","_friction","_altitude_impact","_gravity"]; - -_ndist = _this select 0; -_initSpeed = _this select 1; -_friction = _this select 2; -_altitude_impact = _this select 3; -_gravity = 9.80665; - -_low_solution = atan((_gravity*exp(2.*_ndist*_friction)*_ndist-1.*_gravity*_ndist-2.*_ndist^2*_friction*_gravity+2.*_ndist*_friction^2*_initspeed^2*_altitude_impact+_altitude_impact*(4.*_ndist^2*_friction^4*_initspeed^4+8.*_ndist*_friction^3*_initspeed^2*_altitude_impact*_gravity+4.*_friction^2*_initspeed^2*_altitude_impact*_gravity-4.*_friction^2*_initspeed^2*_altitude_impact*_gravity*exp(2.*_ndist*_friction)-1.*_gravity^2*exp(4.*_ndist*_friction)+2.*_gravity^2*exp(2.*_ndist*_friction)+4.*_ndist*_gravity^2*exp(2.*_ndist*_friction)*_friction-1.*_gravity^2-4.*_ndist*_friction*_gravity^2-4.*_ndist^2*_friction^2*_gravity^2)^(1/2))/(2.*_ndist^2*_friction^2*_initspeed^2+2.*_altitude_impact*_friction*_ndist*_gravity+_altitude_impact*_gravity-1.*_altitude_impact*_gravity*exp(2.*_ndist*_friction)+_ndist*(4.*_ndist^2*_friction^4*_initspeed^4+8.*_ndist*_friction^3*_initspeed^2*_altitude_impact*_gravity+4.*_friction^2*_initspeed^2*_altitude_impact*_gravity-4.*_friction^2*_initspeed^2*_altitude_impact*_gravity*exp(2.*_ndist*_friction)-1.*_gravity^2*exp(4.*_ndist*_friction)+2.*_gravity^2*exp(2.*_ndist*_friction)+4.*_ndist*_gravity^2*exp(2.*_ndist*_friction)*_friction-1.*_gravity^2-4.*_ndist*_friction*_gravity^2-4.*_ndist^2*_friction^2*_gravity^2)^(1/2))^(1/2)*(1/(2.*_ndist^2*_friction^2*_initspeed^2+2.*_altitude_impact*_friction*_ndist*_gravity+_altitude_impact*_gravity-1.*_altitude_impact*_gravity*exp(2.*_ndist*_friction)+_ndist*(4.*_ndist^2*_friction^4*_initspeed^4+8.*_ndist*_friction^3*_initspeed^2*_altitude_impact*_gravity+4.*_friction^2*_initspeed^2*_altitude_impact*_gravity-4.*_friction^2*_initspeed^2*_altitude_impact*_gravity*exp(2.*_ndist*_friction)-1.*_gravity^2*exp(4.*_ndist*_friction)+2.*_gravity^2*exp(2.*_ndist*_friction)+4.*_ndist*_gravity^2*exp(2.*_ndist*_friction)*_friction-1.*_gravity^2-4.*_ndist*_friction*_gravity^2-4.*_ndist^2*_friction^2*_gravity^2)^(1/2))^(1/2))); - -_low_solution; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_sim.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_sim.sqf deleted file mode 100644 index f86f0e83a5..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_sim.sqf +++ /dev/null @@ -1,32 +0,0 @@ -private ["_celev", "_altitude_impact", "_initspeed", "_airfriction", "_deltat","_adjust"]; -private ["_gravity", "_pos_x", "_pos_y", "_speed", "_speed_x", "_speed_y", "_flytime", "_altitude_apogee"]; - -_celev = _this select 0; -_altitude_impact = _this select 1; -_initspeed = _this select 2; -_airfriction = _this select 3; -_deltat = _this select 4; -_adjust = _this select 5; - -_gravity = 9.80665; - -// Init -_pos_x = 0; -_pos_y = 0; -_speed_x = _initspeed * cos(_celev); -_speed_y = _initspeed * sin(_celev); -_flytime = 0; -_altitude_apogee = 0; - -while {_pos_y > _altitude_impact || _speed_y > 0} do -{ - _pos_x = _pos_x + (_speed_x * _deltat); - _pos_y = _pos_y + (_speed_y * _deltat); - _speed = sqrt(_speed_x^2+_speed_y^2); - _speed_x = _speed_x - (_airfriction * _speed_x * _speed * _deltat); - _speed_y = _speed_y - (_airfriction * _speed_y * _speed * _deltat) - (_gravity * _deltat); - _flytime = _flytime + _deltat; -}; -_pos_x = _pos_x*_adjust; - -[_celev,_pos_x, _flytime] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_weaponMode.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_weaponMode.sqf deleted file mode 100644 index 238344fce8..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/fnc_weaponMode.sqf +++ /dev/null @@ -1,2 +0,0 @@ -//to decieve A2 spellcheck and make BalCa compatible with A2 again -(currentWeaponMode player) \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/generateRangeTable.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/generateRangeTable.sqf deleted file mode 100644 index 227689fde0..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/generateRangeTable.sqf +++ /dev/null @@ -1,24 +0,0 @@ - -/* -input -_ownPos = _this select 0; -_targetPos = _this select 1; -_vehicle = _this select 2; -_weapon = _this select 3; -_magazine = _this select 4; -_charge = _this select 5; -*/ - -_table = []; -for "_range" from 100 to 2000 step 25 do { - _firingSolution = [[0, 0, 0], [_range, 0, 0], "M252", "M252", "ACE_1Rnd_81mmHE_M252", "Single1"] call bArty_fnc_getSolution; - _firingSolutionAltitude = [[0, 0, 0], [_range, 0, -100], "M252", "M252", "ACE_1Rnd_81mmHE_M252", "Single1"] call bArty_fnc_getSolution; - - // _return = [_azimuth, _elevation, _flightTime, _balca_target]; - _elevation = _firingSolution select 1; - _flightTime = _firingSolution select 1; - _elevationAltitude = (_firingSolutionAltitude select 1) - _elevation; - - _table = _table + [_range, _elevation, _elevationAltitude, _flightTime]; -}; -copyToClipboard format ["%1", _table]; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/openBallComp.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/openBallComp.sqf deleted file mode 100644 index 543f78e4c9..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/openBallComp.sqf +++ /dev/null @@ -1,12 +0,0 @@ -//Written by beta -//Open/close the ballistic computer - - -#include "defines.inc" - -if (isNull (findDisplay BALLCOMP_IDD)) then { - createDialog "bArty_BallCompRsc"; -} -else { - closeDialog 0; -}; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/register.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/register.sqf deleted file mode 100644 index 2924e34cae..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/register.sqf +++ /dev/null @@ -1,9 +0,0 @@ -//Written by beta -//Register weapon for targeting - - -private ["_weapon"]; - -_weapon = _this select 0; - -_weapon setVariable ["ace_sys_crewserved_disableDisassemble", false, false]; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/setupArty.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/setupArty.sqf deleted file mode 100644 index 2063a1d03e..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/setupArty.sqf +++ /dev/null @@ -1,33 +0,0 @@ -//Written by beta -//Init file - - -sleep 5; //wait for start - -ballCompCtrl = compile preprocessFileLineNumbers "bScripts\arty\ballCompCtrl.sqf"; -bArty_fnc_getSolution = compile preprocessFileLineNumbers "bScripts\arty\fnc_getSolution.sqf"; -bArty_fnc_lowSolution = compile preprocessFileLineNumbers "bScripts\arty\fnc_lowSolution.sqf"; -bArty_fnc_interp = compile preprocessFileLineNumbers "bScripts\arty\fnc_interp.sqf"; -bArty_fnc_sim = compile preprocessFileLineNumbers "bScripts\arty\fnc_sim.sqf"; -bArty_fnc_weaponMode = compile preprocessFileLineNumbers "bScripts\arty\fnc_weaponMode.sqf"; - -bArty_elevation = "Elevation (mils): "; -bArty_azimuth = "Azimuth (mils): "; -bArty_tof = "Time of Flight: "; -bArty_charge = "Charge: "; -bArty_tgtEasting = ""; -bArty_tgtNorthing = ""; -bArty_tgtElev = ""; -bArty_posEasting = ""; -bArty_posNorthing = ""; -bArty_posElev = ""; - -["ace_sys_crewserved_noam", { - _weapon = _this; - if (_weapon isKindOf "StaticMortar") then - { - [_weapon] execVM "bScripts\arty\register.sqf"; - }; -}] call CBA_fnc_addEventHandler; - -[] execVM "bScripts\arty\setupArtyActions.sqf"; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/setupArtyActions.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/setupArtyActions.sqf deleted file mode 100644 index 4383cf23bd..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/bScripts/arty/setupArtyActions.sqf +++ /dev/null @@ -1,5 +0,0 @@ -//Written by beta -//Setup player arty actions - - -b_ballCompAct = player addAction ["Ballistics Computer Dialog", "bScripts\arty\openBallComp.sqf", [], -1, false, true, "", "('Moscow_Bombing_File' in weapons player) && !dialog"]; //TODO: replace with ballistic computer diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/description.ext b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/description.ext deleted file mode 100644 index d57c6b7da1..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/description.ext +++ /dev/null @@ -1,23 +0,0 @@ -//Written by beta -//Description file - -#include "dialog.hpp" -#include "bScripts\arty\ballComp.hpp" - -respawn = "BASE"; -respawndelay = 10; -disabledAI = 1; - -//mission loading text -onLoadMission = ""; - -//mission time -onLoadMissionTime = true; - -class Header -{ - gameType = Coop; //DM, Team, Coop, CTI - minPlayers = 2; //min # of players the mission supports - maxPlayers = 36; //Max # of players the mission supports - playerCountMultipleOf = 1; //Unknown -}; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/dialog.hpp b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/dialog.hpp deleted file mode 100644 index 3c1711b63c..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/dialog.hpp +++ /dev/null @@ -1,562 +0,0 @@ -#define ReadAndWrite 0 //! any modifications enabled -#define ReadAndCreate 1 //! only adding new class members is allowed -#define ReadOnly 2 //! no modifications enabled -#define ReadOnlyVerified 3 //! no modifications enabled, CRC test applied - -// Control types -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_STRUCTURED_TEXT 13 -#define CT_LISTNBOX 102 -// Static styles -#define ST_LEFT 0 -#define ST_RIGHT 1 -#define ST_CENTER 0x02 -#define ST_UP 0x08 -#define ST_DOWN 0x04 -#define ST_VCENTER 0x0c -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX2 112 - -// Colors -#define LightARMAGrey {0.72549, 0.72549, 0.72549, 0.75} -#define DarkARMAGreen {0.20392, 0.40000, 0.05882, 1.0} -#define MedARMAGrey {0.67549, 0.67549, 0.67549, 0.65} -#define LightARMAGreen {0.83921, 1.00000, 0.54901, 1.00000} -#define Transparent {0,0,0,0} -#define BlackSolid {0,0,0,1} -#define WhiteSolid {1,1,1,1} -#define BlackSolidA "#000000" - -#define BackColor {0.34, 0.34, 0.34, 0.5} -#define MainColor {0.9, 0.9, 0.9, 1} -#define Pink {1,0.3686,0.98,1} - -//Fonts -#define Font "TahomaB" - -#define true 1 -#define false 0 - -// Top left coordinates of dialog window -#define INITX SafeZoneX + SafeZoneW*0.5 - 0.17 -#define INITY SafeZoneY + 0 - -//Range card -#define INITX_RNG INITX -#define INITY_RNG INITY+0.15 -#define INITX_RNG1 0.37 - -#define ROWPOS(y) ((0.0209*y)*SafeZoneH) -#define COLPOS(x) ((0.029075*x)*SafeZoneW) - -class RscText; -class ace_sys_arty_rangeTables_RscText: RscText { - type = CT_STATIC; - idc = -1; - style = ST_LEFT; - colorBackground[] = Transparent; - colorText[] = BlackSolid; - font = Font; - sizeEx = 0.021; - linespacing = 1.0; - text = ; - shadow = 0; -}; -class RscTextRightAl; -class ace_sys_arty_rangeTables_RscTextRightAl: RscTextRightAl { - type = CT_STATIC; - idc = -1; - style = ST_RIGHT; - colorBackground[] = Transparent; - colorText[] = BlackSolid; - font = Font; - sizeEx = 0.024; - linespacing = 1.0; - text = ; - shadow = 0; -}; -class RscStructuredText; -class ace_sys_arty_rangeTables_RscStructuredText: RscStructuredText { - access = ReadAndWrite; - type = CT_STRUCTURED_TEXT; - style = ST_VCENTER; - size = 0.0208333; - colorText[] = BlackSolid; - class Attributes { - font = Font; - color = BlackSolidA; - align = "center"; - shadow = 0; - }; -}; - -//class RscListBox; -class RscListBox { - idc = -1; - type = CT_LISTBOX; - style = 0 + 0x10; - font = "Zeppelin32"; - sizeEx = 0.04221; - rowHeight = 0.03; - color[] = {1, 1, 1, 1}; - colorText[] = {1, 1, 1, 0.75}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0.6, 0.8392, 0.4706, 1.0}; - colorSelectBackground2[] = {0.6, 0.8392, 0.4706, 1.0}; - columns[] = {0.1, 0.7, 0.1, 0.1}; - period = 0; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"\ca\ui\data\sound\new1", 0.09, 1}; - - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; -}; -class ace_sys_arty_rangeTables_RscListBox: RscListBox { - access = ReadAndWrite; - style = ST_LEFT; - idc = -1; - color[] = BlackSolid; - colorSelect[] = BlackSolid; - colorSelectBackground[] = Transparent; - colorSelect2[] = Transparent; - colorSelectBackground2[] = Transparent; - colorText[] = BlackSolid; - colorBackground[] = Transparent; - colorScrollbar[] = BlackSolid; - colorBorder[] = BlackSolid; - font = "BitStream"; - sizeEx = 0.022; - rowHeight = 0.024; - canDrag = 0; - shadow = 0; -}; -class RscFrame; -class RscButton; -class ace_sys_arty_rangeTables_RscButton: RscButton { - access = ReadAndWrite; - idc = -1; - type = CT_BUTTON; - style = ST_CENTER; - default = false; - x = 0; - y = 0; - w = 0.3; - h = 0.1; - text = ""; - font = "TahomaB"; - sizeEx = 0.024; - colorText[] = {0, 0, 0, 1}; - colorDisabled[] = Transparent; - colorBackground[] = Transparent; - colorBackgroundDisabled[] = Transparent; - colorBackgroundActive[] = Transparent; - offsetX = 0.002; - offsetY = 0.002; - offsetPressedX = 0.001; - offsetPressedY = 0.001; - colorFocused[] = Transparent; - colorShadow[] = {0, 0, 0, 0}; - colorBorder[] = {0, 0, 0, 0}; - borderSize = 0; - soundEnter[] = {"", 0.1, 1}; - soundPush[] = {"", 0.1, 1}; - soundClick[] = {"", 0.1, 1}; - soundEscape[] = {"", 0.1, 1}; - shadow = 0; -}; -class RscEdit; -class ace_sys_arty_rangeTables_RscEdit: RscEdit { - type = CT_EDIT; - idc = -1; - style = ST_CENTER + ST_VCENTER; - font = Font; - sizeEx = 0.024; - colorText[] = BlackSolid; - colorSelection[] = DarkARMAGreen; - autocomplete = false; - text = ; - shadow = 0; -}; -class ace_sys_arty_rangeTables_RscPicture { - access = ReadAndWrite; - type = 0; - idc = -1; - style = 48; - colorBackground[] = {0, 0, 0, 0}; - colorText[] = {1, 1, 1, 1}; - font = "TahomaB"; - sizeEx = 0; - lineSpacing = 0; - text = ""; - borderSize = 0; -}; -class ace_sys_arty_rangeTables_MainBack: ace_sys_arty_rangeTables_RscText { - text = ""; - colorText[] = BackColor; - colorBackground[] = BackColor; -}; -class ace_sys_arty_rangeTables_ControlBack: ace_sys_arty_rangeTables_MainBack { - text = "\CA\UI\Data\ui_gradient_reverse_gs.paa"; - colorText[] = BackColor; - colorBackground[] = BackColor; -}; -class ace_sys_arty_rangeTables_TitleBack: ace_sys_arty_rangeTables_RscPicture{ - text = "\CA\UI\Data\ui_gradient_title_gs.paa"; - colorText[] = BackColor; - colorBackground[] = BackColor; -}; -class ace_sys_arty_rangeTables_ArrowDown: ace_sys_arty_rangeTables_RscPicture{ - text = "\CA\UI\textures\arrow_down.paa"; - colorText[] = BlackSolid; //DarkARMAGreen; - colorBackground[] = Transparent; -}; -class ace_sys_arty_rangeTables_ArrowUp: ace_sys_arty_rangeTables_ArrowDown{ - text = "\CA\UI\textures\arrow_up.paa"; -}; -class ace_sys_arty_rangeTables_ArrowLeft: ace_sys_arty_rangeTables_ArrowDown{ - text = QPATHTO_T(data\arrow_left.paa); -}; -class ace_sys_arty_rangeTables_ArrowRight: ace_sys_arty_rangeTables_ArrowDown{ - text = QPATHTO_T(data\arrow_right.paa); -}; - -class RscCombo { - idc = -1; - type = 4; - style = 1; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - colorSelect[] = {0.023529, 0, 0.0313725, 1}; - colorText[] = {0.023529, 0, 0.0313725, 1}; - colorBackground[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.023529, 0, 0.0313725, 1}; - arrowEmpty = "\ca\ui\data\ui_arrow_combo_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_combo_active_ca.paa"; - wholeHeight = 0.45; - color[] = {0, 0, 0, 0.6}; - colorActive[] = {0, 0, 0, 1}; - colorDisabled[] = {0, 0, 0, 0.3}; - font = "Zeppelin32"; - sizeEx = 0.031; - soundSelect[] = {"\ca\ui\data\sound\new1", 0.09, 1}; - soundExpand[] = {"\ca\ui\data\sound\new1", 0.09, 1}; - soundCollapse[] = {"\ca\ui\data\sound\new1", 0.09, 1}; - maxHistoryDelay = 1.0; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; -}; -class ace_sys_arty_rangeTables_RscComboBox { - type = CT_COMBO; - style = "0 + 0x10"; - font = "TahomaB"; - sizeEx = 0.015*SafeZoneH; - color[] = {1,1,1,1}; - colorText[] = {1,1,1,1}; - colorScrollbar[] = {1,1,1,1}; - colorSelect[] = {1,0,1,1 }; - colorSelect2[] = {1,1,0,1}; - colorSelectBackground[] = {0,0,0,1}; - colorSelectBackground2[] = {1,1,1,1}; - period = 1.200000; - colorBackground[] = {0,0,0,1}; - maxHistoryDelay = 1.000000; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - wholeHeight = ROWPOS(4.1); - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - class ScrollBar { - color[] = {0,1,0,1}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.300000}; - thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; - border = "\ca\ui\data\ui_border_scroll_ca.paa"; - }; -}; - -class RscListNBox; -class ace_sys_arty_rangeTables_RscListNBox: RscListNBox -{ - type = 102; - idc = -1; - style = ST_SINGLE; - font = "TahomaB"; - color[] = {0,0,0,1}; - colorText[] = {0,0,0,0.75}; - colorScrollbar[] = {0.95,0.,0.95,1}; - colorSelect[] = {0,0,0,1}; // text - colorSelect2[] = {0,1,0,1}; - colorSelectBackground[] = {0.9,0.9,0.9,1}; - colorSelectBackground2[] = {0.9,0.9,0.9,1}; // background - period = 0; - sizeEx = 0.015*SafeZoneH; - colorBackground[] = {1,0,0,1}; - columns[] = {0,0.08,0.16,0.24}; - soundSelect[] = {"", 0.0, 1}; - soundExpand[] = {"", 0.0, 1}; - soundCollapse[] = {"", 0.0, 1}; - rowHeight = ROWPOS(1); - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - maxHistoryDelay = 0; - drawSideArrows = 0; - idcLeft = 10061; - idcRight = 10062; - class ScrollBar - { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; -}; -/*class ace_sys_arty_rangeTables_RscListNBox: ace_sys_arty_rangeTables_RscListBox -{ - type = 102; - drawSideArrows = 0; - idcLeft = 10061; - idcRight = 10062; - canDrag = 0; - columns = [0, 0.08, 0.16, 0.24]; -};*/ - -class ace_sys_arty_rangeTables_RangeTable { - idd = 2999; - movingEnable = true; - - controlsBackground[] = {Frame, InnerFrame}; - class Frame : ace_sys_arty_rangeTables_MainBack { - x = INITX_RNG1 -0.01; y = INITY_RNG - 0.02; w = 0.44; h = 0.617; - moving = 1; - }; - class InnerFrame : ace_sys_arty_rangeTables_MainBack { - x = INITX_RNG1 - 0.003; y = INITY_RNG - 0.01; w = 0.426; h = 0.597; - moving = 1; - colorBackground[] = MainColor; - text = ""; - colorText[] = BlackSolid; - }; - - objects[] = {}; - controls[] = { - Combo_Round, - Combo_Charge, - Txt_HeaderRange, - Txt_HeaderRange_Units, - Txt_HeaderElevation, - Txt_HeaderElevation_Units, - Txt_HeaderAltitude, - Txt_HeaderAltitudeElev, - Txt_HeaderAltitudeElev_Units, - Txt_HeaderAltitudeTime, - Txt_HeaderAltitudeTime_Units, - Txt_HeaderTimeOfFlight, - Txt_HeaderTimeOfFlight_Units, - - /*Txt_HeaderDrop_Line1, - Txt_HeaderDrop_Line2, - Txt_HeaderDrop_Units, - Txt_HeaderRight_Line1, - Txt_HeaderRight_Line2, - Txt_HeaderRight_Units,*/ - /*LB,*/ - ListNBox, - /*Column, - Column1, - Column2,*/ - /*Column3,*/ - Btn_CloseRC - }; - - //class Combo_Round: ace_sys_arty_rangeTables_RscComboBox { - class Combo_Round: RscCombo { - idc = 4020; - x = INITX_RNG1 + 0.01; y = INITY_RNG + 0.01; w = 0.13; h = 0.04; - }; - class Combo_Charge: RscCombo { - idc = 4021; - x = INITX_RNG1 + 0.17; y = INITY_RNG + 0.01; w = 0.13; h = 0.04; - }; - /*class Combo_Charge: ace_sys_arty_rangeTables_RscComboBox { - idc = 4021; - x = INITX_RNG1 + 0.16; y = INITY_RNG + 0.01; w = 0.1; h = 0.04; - };*/ - - class Txt_HeaderRange : ace_sys_arty_rangeTables_RscText { - idc = 4002; - style = ST_MULTI; - text = "Range"; - x = INITX_RNG1 + 0; y = INITY_RNG + 0.06; w = 0.08; h = 0.08; - }; - class Txt_HeaderRange_Units: ace_sys_arty_rangeTables_RscText { - idc = 4009; - text = "m"; - x = INITX_RNG1 + 0; y = INITY_RNG + 0.14; w = 0.08; h = 0.03; - }; - - class Txt_HeaderElevation: ace_sys_arty_rangeTables_RscText { - idc = 4003; - style = ST_MULTI; - text = "Elev"; - x = INITX_RNG1 + 0.08; y = INITY_RNG + 0.06; w = 0.08; h = 0.08; - }; - class Txt_HeaderElevation_Units: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "mil"; - x = INITX_RNG1 + 0.08; y = INITY_RNG + 0.14; w = 0.08; h = 0.03; - }; - - class Txt_HeaderAltitude: ace_sys_arty_rangeTables_RscText { - idc = 4004; - style = ST_MULTI; - text = "Altitude -100m\n Change in"; - x = INITX_RNG1 + 0.16; y = INITY_RNG + 0.06; w = 0.16; h = 0.06; - }; - class Txt_HeaderAltitudeElev: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "Elev"; - x = INITX_RNG1 + 0.16; y = INITY_RNG + 0.10; w = 0.08; h = 0.03; - }; - class Txt_HeaderAltitudeTime: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "Time"; - x = INITX_RNG1 + 0.24; y = INITY_RNG + 0.10; w = 0.08; h = 0.03; - }; - class Txt_HeaderAltitudeElev_Units: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "mil"; - x = INITX_RNG1 + 0.16; y = INITY_RNG + 0.14; w = 0.08; h = 0.03; - }; - class Txt_HeaderAltitudeTime_Units: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "sec"; - x = INITX_RNG1 + 0.24; y = INITY_RNG + 0.14; w = 0.08; h = 0.03; - }; - - class Txt_HeaderTimeOfFlight: ace_sys_arty_rangeTables_RscText { - idc = 4004; - style = ST_MULTI; - text = "Time\nOf\nFlight"; - x = INITX_RNG1 + 0.32; y = INITY_RNG + 0.06; w = 0.08; h = 0.08; - }; - class Txt_HeaderTimeOfFlight_Units: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "sec"; - x = INITX_RNG1 + 0.32; y = INITY_RNG + 0.14; w = 0.08; h = 0.03; - }; -/* - class Txt_HeaderDrop_Line1: ace_sys_arty_rangeTables_RscText { - idc = 4004; - text = "Drop"; - x = INITX_RNG1 + 0.2; y = INITY_RNG + 0.035; w = 0.1; h = 0.03; - }; - class Txt_HeaderDrop_Line2: ace_sys_arty_rangeTables_RscText { - idc = 4004; - text = "100m"; - x = INITX_RNG1 + 0.2; y = INITY_RNG + 0.055; w = 0.1; h = 0.03; - }; - class Txt_HeaderDrop_Units: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "mil"; - x = INITX_RNG1 + 0.2; y = INITY_RNG + 0.1; w = 0.1; h = 0.03; - }; - - class Txt_HeaderRight_Line1: ace_sys_arty_rangeTables_RscText { - idc = 4004; - text = "Right"; - x = INITX_RNG1 + 0.25; y = INITY_RNG + 0.035; w = 0.1; h = 0.03; - }; - class Txt_HeaderRight_Line2: ace_sys_arty_rangeTables_RscText { - idc = 4004; - text = "100m"; - x = INITX_RNG1 + 0.25; y = INITY_RNG + 0.055; w = 0.1; h = 0.03; - }; - class Txt_HeaderRight_Units: ace_sys_arty_rangeTables_RscText { - idc = 40010; - text = "mil"; - x = INITX_RNG1 + 0.25; y = INITY_RNG + 0.1; w = 0.1; h = 0.03; - }; - */ - - /*class LB: ace_sys_arty_rangeTables_RscListBox { - idc = 4005; - x = INITX_RNG1 + 0; y = INITY_RNG + 0.14; w = 0.34; h = 0.4; - moving = 1; - };*/ - class ListNBox: ace_sys_arty_rangeTables_RscListNBox { - idc = 4022; - x = INITX_RNG1 + 0; y = INITY_RNG + 0.18; w = 0.42; h = 0.4; - //columns[] = {-0.02,0.213,0.447,0.68,0.913}; - columns[] = {-0.02,0.17,0.36,0.55,0.74}; - //moving = 1; - }; - - /*class Column : ace_sys_arty_rangeTables_RscButton { //ACE_SYS_SA_RscText - idc = 4006; - text = ""; - x = INITX_RNG1 + 0.08; y = INITY_RNG + 0.14; w = 0.00015; h = 0.402; - colorBackground[] = Transparent; - colorBorder[] = {0.5,0.5,0.5,0.5};//BlackSolid;//{0.67549, 0.67549, 0.67549, 0.25}; - BorderSize = 0.00015; - action = ""; - }; - class Column1: Column { - idc = 4007; - x = INITX_RNG1 + 0.16; - }; - class Column2: Column { - idc = 4007; - x = INITX_RNG1 + 0.24; - };*/ - /*class Column3: Column { - idc = 4007; - x = INITX_RNG1 + 0.22; - };*/ - - class Btn_CloseRC : ace_sys_arty_rangeTables_RscButton { - idc = 3999; - text = "x"; - x = INITX_RNG1 + 0.395; y = INITY_RNG + 0; w = 0.025; h = 0.025; - action = "closeDialog 1"; - }; -}; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_calcBallistics.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_calcBallistics.sqf deleted file mode 100644 index 2edc01a039..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_calcBallistics.sqf +++ /dev/null @@ -1,122 +0,0 @@ -// Ballistic table generator -// -// Creates pre-rendered ballistic data for use with ARTY. -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -private ["_offsetTable", "_offsetIdx", "_useElevation", "_addTab", "_offsetEntry"]; - -_magazine = _this select 0; -_emin = _this select 1; -_emax = _this select 2; -_estep = _this select 3; -_hmin = _this select 4; -_hmax = _this select 5; -_hstep = _this select 6; -_muzzle_velocity = _this select 7; - -_ammo = getText(configFile >> "CfgMagazines" >> _magazine >> "ammo"); -if((count _this) < 8) then { - _muzzle_velocity = getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); -}; -_airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); - -// Grab offset table if it exists. Offsets are used for calculating rocket artillery trajectories. -// The number of entries in the offset table must match the number of entries in the generated ballistic table, -// based on the elevation step value. - - -_grav = -9.80665; // Gravity constant. -_fps = 60; // Frames per second for calculation. - -// Stops -_minrange = 99999999; -_maxrange = 0; - -// Initialize resultant set of data -_btab = []; -_elevation = 0; - -for [{_elevation=_emin},{_elevation<=_emax},{_elevation=_elevation+_estep}] do { - // Initial params - _vgate = 0; - _gaterng = 0; - _x = 0; - _y = 0.1; - _vx = 0; - _vy = 0; - _ymax = 0; - _xmax = 0; - _vel = _muzzle_velocity; - _fc = 0; - _tof = 0; - - - _useElevation = _elevation; - - // Set t0 parameters - _vx = _vel * cos(_useElevation); - _vy = _vel * sin(_useElevation); - _frame = 1 / _fps; - - _slices = []; - _agate = _hmax; - - while {_y >= _hmin} do - { - // Calculate next velocity frame - _vx = _vx + (_vx * _vel * _airFriction * _frame); - _vy = _vy + (_vy * _vel * _airFriction * _frame); - _vy = _vy + (_grav * _frame); - _vel = sqrt(_vx*_vx + _vy*_vy); - _elev = asin (_vy / _vel); - // Increment positions - _y = _y + (_vy * _frame); - _x = _x + (_vx * _frame); - - // Record max altitude and range - if (_y > _ymax) then - { - _ymax = _y; - }; - if (_x > _xmax) then - { - _xmax = _x; - }; - - // Take slices - - if ((_y < _agate) && (_vy < 0) && (_agate >= _hmin)) then - { - while {_agate > _y} do {_agate = _agate - _hstep;}; - _slices = _slices + [[_x, _y, _fc*_frame, _vel, _elev]]; - }; - - // Increment frame count. - _fc = _fc + 1; - }; - _xmax = _x; - - if (_xmax < _minrange) then - { - _minrange = _xmax; - }; - if (_xmax > _maxrange) then - { - _maxrange = _xmax; - }; - - // Order slices lowest to highest - _rSlices = []; - for [{_a = count(_slices)-1;},{_a >= 0},{_a = _a - 1}] do - { - _rSlices = _rSlices + [_slices select _a]; - }; - - // Put calculated rocket decay points into table if offsets are used. - _addTab = [_elevation, _ymax, _rSlices]; - _btab set [count _btab, _addTab]; -}; - -[_btab, _minrange, _maxrange] diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_calcFiringSolution.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_calcFiringSolution.sqf deleted file mode 100644 index bad7cceb09..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_calcFiringSolution.sqf +++ /dev/null @@ -1,140 +0,0 @@ -scriptName format ["%1ARTY\data\scripts\ARTY_tof.sqf (_this: %1)",_this]; -// ARTY_firingSolution.sqf -// -// Use the ballistics table to calculate a firing solution - -#define GETELEV(T,I) ((##T## select ##I##) select 0) -#define GETMAXHEIGHT(T,I) ((##T## select ##I##) select 1) -#define GETSLICES(T,I) ((##T## select ##I##) select 2) - -// Rocket ballistics values -#define GETOFFSETH(T,I) ((##T## select ##I##) select 3) -#define GETOFFSETV(T,I) ((##T## select ##I##) select 4) -#define GETDECAYELEV(T,I) ((##T## select ##I##) select 5) -#define GETDECAYSPD(T,I) ((##T## select ##I##) select 6) - -private ["_firingPos", "_targetPos", "_btab", "_position", "_btab", "_i", "_sliceN", "_sliceNN", "_hmin", "_hmax", "_hstep", "_deltaX", "_deltaY", "_fs"]; - -_deltaX = _this select 0; -_deltaY = _this select 1; -_ballistics = _this select 2; - -_btab = _ballistics select 0; -_minRange = _ballistics select 1; -_maxRange = _ballistics select 2; -_hmin = _ballistics select 3; -_hmax = _ballistics select 4; -_hstep = _ballistics select 5; - -// Blank fs to return if there is an error (i.e. out of range) -_blank = []; - -// _deltaX = [_firingPos select 0, _firingPos select 1, 0] distance [_targetPos select 0, _targetPos select 1, 0]; -// _deltaY = (_targetPos select 2) - (_firingPos select 2); - -// Out of range if height deltaY exceeds height differential in either direction. -if (_deltaY < _hmin || _deltaY > _hmax) exitWith { - if (BIS_ARTY_DEBUG==1) then {textLogFormat ["dY of %1 exceeds vertical range of artillery.", _deltaY];}; - _blank -}; - -_hrange = _hmax - _hmin; -_colL = floor((_deltaY - _hmin)/_hstep); -_colH = ceil((_deltaY - _hmin)/_hstep); - -// deltaY is on a boundary -if (_colL == _colH) then {_colH = _colH + 1}; - -_muY = ((_deltaY - _hmin) - _colL*_hstep) / (_colH*_hstep - _colL*_hstep); - -_distN = 9999999; -_rowN = -1; -_rowNN = -1; -for [{_i=1},{_i < ((count _btab) - 1)},{_i=_i+1}] do -{ - _prevSliceCount = count (GETSLICES(_btab, _i-1)); // Enforce boundary conditions that will come in when picking NN - _slices = GETSLICES(_btab, _i); - _nextSliceCount = count (GETSLICES(_btab, _i+1)); - if ((count _slices) > _colH && - _prevSliceCount > _colH && - _nextSliceCount > _colH) then - { - _v1 = _slices select _colL; // Select data vectors - _v2 = _slices select _colH; - _testVec = [[_v1 select 0], [_v2 select 0], _muY] call BIS_ARTY_VEC_LERP; // Interpolate - _testDist = _testVec select 0; - - if (abs(_testDist - _deltaX) < _distN) then - { - _distN = abs(_testDist - _deltaX); - _rowN = _i; - }; - }; -}; - -// Select nearest neighbor. -_n1 = GETSLICES(_btab,_rowN-1); -_v11 = _n1 select _colL; -_v12 = _n1 select _colH; -_n2 = GETSLICES(_btab,_rowN+1);; -_v21 = _n2 select _colL; -_v22 = _n2 select _colH; -_s1 = [_v11, _v12, _muY] call BIS_ARTY_VEC_LERP; -_s2 = [_v21, _v22, _muY] call BIS_ARTY_VEC_LERP; - -_d1 = _s1 select 0; -_d2 = _s2 select 0; -if (abs(_d1 - _deltaX) < abs(_d2 - _deltaX)) then -{ - _rowNN = (_rowN - 1); - _sliceNN = _s1; -} else { - _rowNN = (_rowN + 1); - _sliceNN = _s2; -}; - -// Check out of range condition in the horizontal -if ((_deltaX < _d1 && _deltaX < _d2) || - (_deltaX > _d1 && _deltaX > _d2)) exitWith { - if (BIS_ARTY_DEBUG==1) then {textLogFormat ["dY = %1, dX = %2 out of firing envelope.", _deltaY, _deltaX];}; - _blank -}; - -_n0 = GETSLICES(_btab,_rowN); -_v1 = _n0 select _colL; -_v2 = _n0 select _colH; -_sliceN = [_v1, _v2, _muY] call BIS_ARTY_VEC_LERP; - -_elevN = GETELEV(_btab,_rowN); -_elevNN = GETELEV(_btab,_rowNN); - -_muX = (_deltaX - (_sliceN select 0)) / ((_sliceNN select 0) - (_sliceN select 0)); - -// Check the type of ballistics table being worked with (single or rocket) -if (count (_btab select 0) >= 7) then -{ - // Load rocket parameters - _offHN = GETOFFSETH(_btab,_rowN); - _offVN = GETOFFSETV(_btab,_rowN); - _decayElevN = GETDECAYELEV(_btab,_rowN); - _decaySpdN = GETDECAYSPD(_btab,_rowN); - _offHNN = GETOFFSETH(_btab,_rowNN); - _offVNN = GETOFFSETV(_btab,_rowNN); - _decayElevNN = GETDECAYELEV(_btab,_rowNN); - _decaySpdNN = GETDECAYSPD(_btab,_rowNN); - - // Rocket-based firing solution. - _fs = [[_elevN, (_sliceN select 0), (_sliceN select 2), (_sliceN select 1), _offHN, _offVN, _decayElevN, _decaySpdN], - [_elevNN, (_sliceNN select 0), (_sliceNN select 2), (_sliceNN select 1), _offHNN, _offVNN, _decayElevNN, _decaySpdNN], - _muX] call BIS_ARTY_VEC_LERP; -} -else -{ - // Single projectile firing solution. - _fs = [[_elevN, (_sliceN select 0), (_sliceN select 2), (_sliceN select 1), (_sliceN select 3), (_sliceN select 4)], - [_elevNN, (_sliceNN select 0), (_sliceNN select 2), (_sliceNN select 1), (_sliceNN select 3), (_sliceNN select 4)], - _muX] call BIS_ARTY_VEC_LERP; -}; - -_fs - diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_firingSolution.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_firingSolution.sqf deleted file mode 100644 index f405dd72b2..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_firingSolution.sqf +++ /dev/null @@ -1,78 +0,0 @@ -//fnc_firingSolution.sqf -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC -#define ELEVATION(sol) (floor DEG2MIL((sol select 0))) -#define TOF(sol) ((sol select 2)) - -if((count DEMO_btabHigh) < 1) then { - DEMO_btabHigh = [DEMO_MAGAZINE, 45, 69, 1, -2000, 2000, 50] call DEMO_fnc_getBTable; - DEMO_btabLow = [DEMO_MAGAZINE, 0, 45, 1, -2000, 2000, 50] call DEMO_fnc_getBTable; -}; - -_ammo = getText(configFile >> "CfgMagazines" >> DEMO_MAGAZINE >> "ammo"); -_isBaseEjecting = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_ISBASEEJECTING"); -_baseEjectingHob = 0; -_baseEjectingSpeed = 1; -_doBaseEjectCompensate = 0; -if(_isBaseEjecting == 1) then { - _baseEjectingHob = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_BASEEJECT_HOB"); - _baseEjectingSpeed = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_BASEEJECT_POWER"); - _doBaseEjectCompensate = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_ARTY_BASEEJECT_COMPENSATE"); -}; - -_gun = _this select 0; -_targetPos = _this select 1; -_dof = _this select 2; // direction of fire in mils -player sideChat format["c: %1", _doBaseEjectCompensate]; -_targetPos set[2, (getTerrainHeightASL _targetPos) + _baseEjectingHob]; - -_x1 = (getPosASL _gun) select 0; -_x2 = _targetPos select 0; -_y1 = (getPosASL _gun) select 1; -_y2 = _targetPos select 1; -_azimuth = (180 + (((_x1 - _x2) atan2 (_y1 - _y2))) mod 360); - - -_azimuth = DEG2MIL(_azimuth); -_deflection = _azimuth - _dof; - - - - -//ensure return is between 0-360 -//if (_deflection < 0) then {_deflection = _deflection + 6400}; -if (_deflection > 6400) then {_deflection = _deflection - 6400}; - -_deflection = round(3200 + _deflection); -_out = "Solutions:\n"; -_firingPos = (getPosASL _gun); -_deltaX = [_firingPos select 0, _firingPos select 1, 0] distance [_targetPos select 0, _targetPos select 1, 0]; -_deltaY = (_targetPos select 2) - (_firingPos select 2); - -player sideChat format["alt dif: %1", _deltaY]; - - - -_high = [_deltaX, _deltaY, DEMO_btabHigh] call DEMO_fnc_calcFiringSolution; -if((count _high) > 0) then { - if(_isBaseEjecting == 1 && _doBaseEjectCompensate == 1) then { - _d = [-0.001064, (_high select 4)*0.65, (_high select 5), _baseEjectingHob] call DEMO_fnc_simpleBallistics; - if(_d > 20) then { - _high = [_deltaX-(_d*0.65), _deltaY, DEMO_btabHigh] call DEMO_fnc_calcFiringSolution; - }; - }; - _out = _out + format["High | El: %1 Df: %2 TOF: %3\n", ELEVATION(_high), _deflection, TOF(_high)]; -}; -_low = [_deltaX, _deltaY, DEMO_btabLow] call DEMO_fnc_calcFiringSolution; -if((count _low) > 0) then { - if(_isBaseEjecting == 1 && _doBaseEjectCompensate == 1) then { - player sideChat "CCCCCCC"; - _d = [-0.001064, (_low select 4)*0.65, (_low select 5), _baseEjectingHob] call DEMO_fnc_simpleBallistics; - if(_d > 20) then { - _low = [_deltaX-(_d*0.65), _deltaY, DEMO_btabLow] call DEMO_fnc_calcFiringSolution; - }; - }; - _out = _out + format["Low | El: %1 Df: %2 TOF: %3", ELEVATION(_low), _deflection, TOF(_low)]; -}; -hintSilent _out; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_getBTable.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_getBTable.sqf deleted file mode 100644 index e90ea08d8a..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/fnc_getBTable.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//fnc_getBTable.sqf -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -_magazine = _this select 0; -_emin = _this select 1; -_emax = _this select 2; -_estep = _this select 3; -_hmin = _this select 4; -_hmax = _this select 5; -_hstep = _this select 6; -_muzzle_velocity = _this select 7; - -_btable = _this call DEMO_fnc_calcBallistics; -//player sideChat "btab"; -[(_btable select 0), (_btable select 1), (_btable select 2), _hmin, _hmax, _hstep, _muzzle_velocity] - diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable.sqf deleted file mode 100644 index bfc3d51a00..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable.sqf +++ /dev/null @@ -1,206 +0,0 @@ -/***************************************************************/ -/* If this is broken it's because I fucked with calcBallistics */ -/***************************************************************/ - -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -/* -input -_ownPos = _this select 0; -_targetPos = _this select 1; -_vehicle = _this select 2; -_weapon = _this select 3; -_magazine = _this select 4; -_charge = _this select 5; -*/ - -// "ace_arty_105mm_m1_m782_pd_chg1" - -_m119Data = [ - 45, // min elevation - 70, // max elevation - "m782", // fuze - [ - [ - "HE", // name - "m1", // classname - 0, // burst height - [ // charges: name, class - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "WP", - "m84a1", - 150, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "Illum", - "m314a3", - 600, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "DPICM", - "m916", - 50, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ] - ] -]; - -_data = _m119Data; - -// start making table -//_mags = []; -//_charges = []; -_tables = []; - -_minElevation = _data select 0; -_maxElevation = _data select 1; -_fuze = _data select 2; -_rounds = _data select 3; -{ // foreach rounds - _roundArray = _x; - _roundName = _roundArray select 0; - _round = _roundArray select 1; - _roundBurstingHeight = _roundArray select 2; - _charges = _roundArray select 3; - - diag_log (_roundName); // debug - - _tables_round = [_roundName, _round, []]; // building tables array - { // foreach charge - _chargeArray = _x; - _chargeName = _chargeArray select 0; - _charge = _chargeArray select 1; - - diag_log (_chargeName); // debug - - _mag = format ["ace_arty_105mm_%1_%2_time_%3", _round, _fuze, _charge]; - - if (isClass (configFile >> "cfgMagazines" >> _mag)) then { // valid mag class - - // make btab - diag_log (_roundBurstingHeight); // debug - _btab = [_mag, _minElevation, _maxElevation +2, 1, -200, _roundBurstingHeight +100, 100] call DEMO_fnc_getBTable; - - // make range table - _tables_table = []; - _range = 100; - _belowMinRange = true; - _belowMaxRange = true; - while {_belowMaxRange} do { - diag_log (str _range); // debug - _fs = [_range, _roundBurstingHeight, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, _roundBurstingHeight -100, _btab] call DEMO_fnc_calcFiringSolution; - - if (count _fs > 0) then { // valid result - if (_fs select 0 <= _maxElevation) then { // within elevation limit - _belowMinRange = false; - - //save range table - _elevation = _fs select 0; - _elevation = round(DEG2MIL(_elevation)); - - _flightTime = _fs select 2; - _flightTime = (round (_flightTime * 10)) / 10; - - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - _elevationAltitude = round(DEG2MIL(_elevationAltitude)); - - _flightTimeAltitude = (_fsAltitude select 2) - (_fs select 2); - _flightTimeAltitude = (round (_flightTimeAltitude * 10)) / 10; - - _tables_table = _tables_table + [[_range, _elevation, _elevationAltitude, _flightTimeAltitude, _flightTime]]; - }; - } else { // invalid result - if (!_belowMinRange) then { // if past min range - _belowMaxRange = false; // end loop - }; - }; - _range = _range + 100; - }; // end ranges loop - _tables_charge = [_chargeName, _charge, _tables_table]; // building tables array - _tables_round set [2, (_tables_round select 2) + [_tables_charge]]; // building tables array - } else { // invalid class - diag_log ("ace_sys_arty generate tables; error: invalid magazine "+_mag); // error log - }; - } foreach _charges; - _tables = _tables + [_tables_round]; -} foreach _rounds; - -// output, need to add newlines -_tablesString = "_tables = [" + toString[10]; -_roundIndex = 1; -{ // foreach round - _roundArray = _x; - _tablesString = _tablesString + format ['["%1","%2",[', _roundArray select 0, _roundArray select 1] + toString[10]; - _charges = _x select 2; - _chargeIndex = 1; - { // foreach charge - _chargeArray = _x; - - if (_chargeIndex < count _charges) then { - _tablesString = _tablesString + (str _chargeArray) + "," + toString[10]; - } else { - _tablesString = _tablesString + (str _chargeArray) + toString[10]; - }; - _chargeIndex = _chargeIndex + 1; - } foreach _charges; - - if (_roundIndex < count _tables) then { - _tablesString = _tablesString + "]]," + toString[10]; - } else { - _tablesString = _tablesString + "]]" + toString[10]; - }; - - _roundIndex = _roundIndex + 1; -} foreach _tables; - _tablesString = _tablesString + "];" + toString[10]; - -diag_log _tablesString; -copyToClipboard _tablesString; - -hint "table generation done"; -/* -hint "generate 1"; -_mags = ["ace_arty_105mm_m1_m782_pd_chg1", "ace_arty_105mm_m1_m782_pd_chg2", "ace_arty_105mm_m1_m782_pd_chg3", "ace_arty_105mm_m1_m782_pd_chg4", "ace_arty_105mm_m1_m782_pd_chg5", "ace_arty_105mm_m1_m782_pd_chg6", "ace_arty_105mm_m1_m782_pd_chg7", "ace_arty_105mm_m1_m782_pd_chg8"]; -{ - _mag = _x; - - //hint format ["%1", DEMO_fnc_calcBallistics]; - _btab = [_mag, 45, 70, 1, -200, 100, 100] call DEMO_fnc_getBTable; - - //copyToClipboard format ["%1", _btab]; - diag_log "btab:"; - diag_log (format ["%1", _btab]); - diag_log "ranges:"; - _range = 0; - for "_range" from 25 to 20000 step 25 do { - hintSilent format ["%1", _range]; - _fs = [_range, 0, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, -100, _btab] call DEMO_fnc_calcFiringSolution; - diag_log (format ["%1", _fs]); - diag_log (format ["%1", _fsAltitude]); - - if (count _fs > 0) then { - _elevation = _fs select 0; - _flightTime = _fs select 2; - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - diag_log (format ["[%1,%2,%3,%4]", _range, _elevation, _elevationAltitude, _flightTime]); - }; - }; -} foreach _mags; - -//copyToClipboard format ["%1", _table]; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable.sqf.backup_2011-02-04 b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable.sqf.backup_2011-02-04 deleted file mode 100644 index 13068676d3..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable.sqf.backup_2011-02-04 +++ /dev/null @@ -1,203 +0,0 @@ -/***************************************************************/ -/* If this is broken it's because I fucked with calcBallistics */ -/***************************************************************/ - -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -/* -input -_ownPos = _this select 0; -_targetPos = _this select 1; -_vehicle = _this select 2; -_weapon = _this select 3; -_magazine = _this select 4; -_charge = _this select 5; -*/ - -// "ace_arty_105mm_m1_m782_pd_chg1" - -_m119Data = [ - 45, // min elevation - 70, // max elevation - "m782", // fuze - [ - [ - "HE", // name - "m1", // classname - 0, // burst height - [ // charges: name, class - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "WP", - "m84a1", - 0, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "Illum", - "m314a3", - 0, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "DPICM", - "m916", - 0, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ] - ] -]; - -_data = _m119Data; - -// start making table -//_mags = []; -//_charges = []; -_tables = []; - -_minElevation = _data select 0; -_maxElevation = _data select 1; -_fuze = _data select 2; -_rounds = _data select 3; -{ // foreach rounds - _roundArray = _x; - _roundName = _roundArray select 0; - _round = _roundArray select 1; - _roundBurstingHeight = _roundArray select 2; - _charges = _roundArray select 3; - - diag_log (_roundName); // debug - - _tables_round = [_roundName, _round, []]; // building tables array - { // foreach charge - _chargeArray = _x; - _chargeName = _chargeArray select 0; - _charge = _chargeArray select 1; - - diag_log (_chargeName); // debug - - _mag = format ["ace_arty_105mm_%1_%2_time_%3", _round, _fuze, _charge]; - - if (isClass (configFile >> "cfgMagazines" >> _mag)) then { // valid mag class - - // make btab - diag_log (_roundBurstingHeight); // debug - _btab = [_mag, _minElevation, _maxElevation +2, 1, -200, _roundBurstingHeight +100, 100] call DEMO_fnc_getBTable; - - // make range table - _tables_table = []; - _range = 100; - _belowMinRange = true; - _belowMaxRange = true; - while {_belowMaxRange} do { - diag_log (str _range); // debug - _fs = [_range, _roundBurstingHeight, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, _roundBurstingHeight -100, _btab] call DEMO_fnc_calcFiringSolution; - - if (count _fs > 0) then { // valid result - if (_fs select 0 <= _maxElevation) then { // within elevation limit - _belowMinRange = false; - - //save range table - _elevation = _fs select 0; - _elevation = round(DEG2MIL(_elevation)); - - _flightTime = _fs select 2; - _flightTime = (round (_flightTime * 10)) / 10; - - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - _elevationAltitude = round(DEG2MIL(_elevationAltitude)); - - _tables_table = _tables_table + [[_range, _elevation, _elevationAltitude, _flightTime]]; - }; - } else { // invalid result - if (!_belowMinRange) then { // if past min range - _belowMaxRange = false; // end loop - }; - }; - _range = _range + 100; - }; // end ranges loop - _tables_charge = [_chargeName, _charge, _tables_table]; // building tables array - _tables_round set [2, (_tables_round select 2) + [_tables_charge]]; // building tables array - } else { // invalid class - diag_log ("ace_sys_arty generate tables; error: invalid magazine "+_mag); // error log - }; - } foreach _charges; - _tables = _tables + [_tables_round]; -} foreach _rounds; - -// output, need to add newlines -_tablesString = "_tables = [" + toString[10]; -_roundIndex = 1; -{ // foreach round - _roundArray = _x; - _tablesString = _tablesString + format ['["%1","%2",[', _roundArray select 0, _roundArray select 1] + toString[10]; - _charges = _x select 2; - _chargeIndex = 1; - { // foreach charge - _chargeArray = _x; - - if (_chargeIndex < count _charges) then { - _tablesString = _tablesString + (str _chargeArray) + "," + toString[10]; - } else { - _tablesString = _tablesString + (str _chargeArray) + toString[10]; - }; - _chargeIndex = _chargeIndex + 1; - } foreach _charges; - - if (_roundIndex < count _tables) then { - _tablesString = _tablesString + "]]," + toString[10]; - } else { - _tablesString = _tablesString + "]]" + toString[10]; - }; - - _roundIndex = _roundIndex + 1; -} foreach _tables; - _tablesString = _tablesString + "];" + toString[10]; - -diag_log _tablesString; -copyToClipboard _tablesString; - -hint "table generation done"; -/* -hint "generate 1"; -_mags = ["ace_arty_105mm_m1_m782_pd_chg1", "ace_arty_105mm_m1_m782_pd_chg2", "ace_arty_105mm_m1_m782_pd_chg3", "ace_arty_105mm_m1_m782_pd_chg4", "ace_arty_105mm_m1_m782_pd_chg5", "ace_arty_105mm_m1_m782_pd_chg6", "ace_arty_105mm_m1_m782_pd_chg7", "ace_arty_105mm_m1_m782_pd_chg8"]; -{ - _mag = _x; - - //hint format ["%1", DEMO_fnc_calcBallistics]; - _btab = [_mag, 45, 70, 1, -200, 100, 100] call DEMO_fnc_getBTable; - - //copyToClipboard format ["%1", _btab]; - diag_log "btab:"; - diag_log (format ["%1", _btab]); - diag_log "ranges:"; - _range = 0; - for "_range" from 25 to 20000 step 25 do { - hintSilent format ["%1", _range]; - _fs = [_range, 0, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, -100, _btab] call DEMO_fnc_calcFiringSolution; - diag_log (format ["%1", _fs]); - diag_log (format ["%1", _fsAltitude]); - - if (count _fs > 0) then { - _elevation = _fs select 0; - _flightTime = _fs select 2; - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - diag_log (format ["[%1,%2,%3,%4]", _range, _elevation, _elevationAltitude, _flightTime]); - }; - }; -} foreach _mags; - -//copyToClipboard format ["%1", _table]; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable_balca.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable_balca.sqf deleted file mode 100644 index af74dd0bb7..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable_balca.sqf +++ /dev/null @@ -1,40 +0,0 @@ - -/* -input -_ownPos = _this select 0; -_targetPos = _this select 1; -_vehicle = _this select 2; -_weapon = _this select 3; -_magazine = _this select 4; -_charge = _this select 5; -*/ - -_table = []; -for "_range" from 25 to 2000 step 25 do { - - - - _vehicle = "ACE_M252"; - _weapon = "ACE_M252_Tri"; - _magazine = "ACE_1Rnd_81mmHE_M252"; - _charge = "Single1"; - - /* - _firingSolution = [[0, 0, 0], [_range, 0, 0], _vehicle, _weapon, _magazine, _charge] call bArty_fnc_getSolution; - _firingSolutionAltitude = [[0, 0, 0], [_range, 0, -100], _vehicle, _weapon, _magazine, _charge] call bArty_fnc_getSolution; - */ - - _firingSolution = [[0, 0, 0], [_range, 0, 0], _vehicle, _weapon, _magazine, _charge] call bArty_fnc_getSolution; - _firingSolutionAltitude = [[0, 0, 0], [_range, 0, -100], _vehicle, _weapon, _magazine, _charge] call bArty_fnc_getSolution; - - // _return = [_azimuth, _elevation, _flightTime, _balca_target]; - _elevation = _firingSolution select 1; - _flightTime = _firingSolution select 2; - //_elevationAltitude = (_firingSolutionAltitude select 1) - _elevation; - _elevationAltitude = _firingSolutionAltitude select 1; - - _table = _table + [[_range, _elevation, _elevationAltitude, _flightTime]]; -}; -copyToClipboard format ["%1", _table]; - -hint "table generation done"; \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable_legacy.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable_legacy.sqf deleted file mode 100644 index 9efb0e8324..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/generateTable_legacy.sqf +++ /dev/null @@ -1,348 +0,0 @@ -#define MILPREC 17.7777777777778 -#define DEG2MIL(deg) (((deg*MILPREC)) min 6400) -#define MIL2DEG(mil) mil/MILPREC - -/* -input -_ownPos = _this select 0; -_targetPos = _this select 1; -_vehicle = _this select 2; -_weapon = _this select 3; -_magazine = _this select 4; -_charge = _this select 5; -*/ - -// "ace_arty_105mm_m1_m782_pd_chg1" - -_m119Data = [ - 45, // min elevation - 70, // max elevation - "m782", // fuze - [ - [ - "HE", // name - "m1", // classname - 0, // burst height - [ // charges: name, class - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "WP", - "m84a1", - 0, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "Illum", - "m314a3", - 500, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ], - [ - "DPICM", - "m916", - 0, - [ - ["charge 1", "chg1"], ["charge 2", "chg2"], ["charge 3", "chg3"], ["charge 4", "chg4"], ["charge 5", "chg5"], ["charge 6", "chg6"], ["charge 7", "chg7"], ["charge 8", "chg8"] - ] - ] - ] -]; - -_m224Data = [ - "ACE_M224", // vehicle - "ACE_M224_Tri", // weapon - 45, // min elev - 85.21875, // max elev - [["Close",0.27], ["Medium",0.6], ["Far",1]], // charges - [ - [ - "HE", - "ACE_1Rnd_60mmHE_M224", - 0 // burst height - ], - [ - "WP", - "ACE_1Rnd_60mmWP_M224", - 0 // burst height - ], - [ - "Illum", - "ACE_1Rnd_60mmILLUM_M224", - 250 // burst height - ] - ] -]; - -_m252Data = [ - "ACE_M224", // vehicle - "ACE_M224_Tri", // weapon - 45, // min elev - 85.21875, // max elev - [["Close",0.27], ["Medium",0.6], ["Far",1]], // charges - [ - [ - "HE", - "ACE_1Rnd_81mmHE_M252", - 0 // burst height - ], - [ - "WP", - "ACE_1Rnd_81mmWP_M252", - 0 // burst height - ], - [ - "Illum", - "ACE_1Rnd_81mmILLUM_M252", - 250 // burst height - ] - ] -]; - -_2b14Data = [ - "ACE_M224", // vehicle - "ACE_M224_Tri", // weapon - 45, // min elev - 85, // max elev - [["Close",0.35], ["Medium",0.7], ["Far",1]], // charges - [ - [ - "HE", - "ACE_1Rnd_82mmHE_2B14", - 0 // burst height - ], - [ - "WP", - "ACE_1Rnd_82mmWP_2B14", - 0 // burst height - ], - [ - "Illum", - "ACE_1Rnd_82mmILLUM_2B14", - 250 // burst height - ] - ] -]; - -_m119Data = [ - "ACE_M224", // vehicle - "ACE_M224_Tri", // weapon - 45, // min elevation - 70, // max elevation - [["Close",0.67], ["Medium",0.81], ["Far",1]], // charges - [ - [ - "HE", - "30Rnd_105mmHE_M119", - 0 // burst height - ], - [ - "WP", - "30Rnd_105mmWP_M119", - 0 // burst height - ], - [ - "Illum", - "30Rnd_105mmILLUM_M119", - 300 // burst height - ] - ] -]; - -_d30Data = [ - "ACE_M224", // vehicle - "ACE_M224_Tri", // weapon - 45, // min elevation - 70, // max elevation - [["Close",0.67], ["Medium",0.83], ["Far",1]], // charges - [ - [ - "HE", - "30Rnd_122mmHE_D30", - 0 // burst height - ], - [ - "WP", - "30Rnd_122mmWP_D30", - 0 // burst height - ], - [ - "Illum", - "30Rnd_122mmILLUM_D30", - 300 // burst height - ] - ] -]; - - -_data = _m119Data; - -// start making table -//_mags = []; -//_charges = []; -_tables = []; - -_vehicle = _data select 0; -_weapon = _data select 1; -_minElevation = _data select 2; -_maxElevation = _data select 3; -_charges = _data select 4; -_rounds = _data select 5; -{ // foreach rounds - _roundArray = _x; - _roundName = _roundArray select 0; - _round = _roundArray select 1; - _roundBurstingHeight = _roundArray select 2; - - _initSpeed = getNumber (configFile >> "CfgMagazines" >> _round >> "initspeed"); - - _tables_round = [_roundName, _round, []]; // building tables array - { - _charge = _x; - diag_log(_charge); - _chargeName = _charge select 0; - _chargeMultiplier = _charge select 1; - diag_log(_initSpeed); - diag_log(_chargeMultiplier); - _velocity = _initSpeed * _chargeMultiplier; - - // make btab - _btab = [_round, _minElevation, _maxElevation +2, 1, -200, _roundBurstingHeight +100, 100, _velocity] call DEMO_fnc_getBTable; - - // make range table - _tables_table = []; - _range = 100; - _step = 100; - if (_velocity < 100) then { - _step = 25; - } else { - if (_velocity < 200) then { - _step = 50; - } - }; - _belowMinRange = true; - _belowMaxRange = true; - while {_belowMaxRange} do { - diag_log (str _range); // debug - _fs = [_range, _roundBurstingHeight, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, _roundBurstingHeight -100, _btab] call DEMO_fnc_calcFiringSolution; - - if (count _fs > 0) then { // valid result - if (_fs select 0 <= _maxElevation) then { // within elevation limit - _belowMinRange = false; - - //save range table - _elevation = _fs select 0; - _elevation = round(DEG2MIL(_elevation)); - - _flightTime = _fs select 2; - _flightTime = (round (_flightTime * 10)) / 10; - - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - _elevationAltitude = round(DEG2MIL(_elevationAltitude)); - - _flightTimeAltitude = (_fsAltitude select 2) - (_fs select 2); - _flightTimeAltitude = (round (_flightTimeAltitude * 10)) / 10; - - _tables_table = _tables_table + [[_range, _elevation, _elevationAltitude, _flightTimeAltitude, _flightTime]]; - }; - } else { // invalid result - if (!_belowMinRange) then { // if past min range - _belowMaxRange = false; // end loop - }; - }; - _range = _range + _step; - }; // end ranges loop - _tables_charge = [_chargeName, "", _tables_table]; // building tables array - _tables_round set [2, (_tables_round select 2) + [_tables_charge]]; // building tables array - - - } foreach _charges; - - _tables = _tables + [_tables_round]; -} foreach _rounds; - - - /*_charges = []; - _configCharges = getArray (configFile >> "CfgWeapons" >> _weapon >> "modes"); - { - _charge = _x; - _showToPlayer = getArray (configFile >> "CfgWeapons" >> _weapon >> _charge >> "showtoplayer"); - if (_showToPlayer == 1) then { - _artilleryCharge = getArray (configFile >> "CfgWeapons" >> _weapon >> _charge >> "artillerycharge"); - _charges = _charges + [[_displayName, _artilleryCharge]]; - } - - } foreach _configCharges;*/ - - -// output, need to add newlines -_tablesString = "_tables = [" + toString[10]; -_roundIndex = 1; -{ // foreach round - _roundArray = _x; - _tablesString = _tablesString + format ['["%1","%2",[', _roundArray select 0, _roundArray select 1] + toString[10]; - _charges = _x select 2; - _chargeIndex = 1; - { // foreach charge - _chargeArray = _x; - - if (_chargeIndex < count _charges) then { - _tablesString = _tablesString + (str _chargeArray) + "," + toString[10]; - } else { - _tablesString = _tablesString + (str _chargeArray) + toString[10]; - }; - _chargeIndex = _chargeIndex + 1; - } foreach _charges; - - if (_roundIndex < count _tables) then { - _tablesString = _tablesString + "]]," + toString[10]; - } else { - _tablesString = _tablesString + "]]" + toString[10]; - }; - - _roundIndex = _roundIndex + 1; -} foreach _tables; - _tablesString = _tablesString + "];" + toString[10]; - -diag_log _tablesString; -copyToClipboard _tablesString; - -hint "table generation done"; -/* -hint "generate 1"; -_mags = ["ace_arty_105mm_m1_m782_pd_chg1", "ace_arty_105mm_m1_m782_pd_chg2", "ace_arty_105mm_m1_m782_pd_chg3", "ace_arty_105mm_m1_m782_pd_chg4", "ace_arty_105mm_m1_m782_pd_chg5", "ace_arty_105mm_m1_m782_pd_chg6", "ace_arty_105mm_m1_m782_pd_chg7", "ace_arty_105mm_m1_m782_pd_chg8"]; -{ - _mag = _x; - - //hint format ["%1", DEMO_fnc_calcBallistics]; - _btab = [_mag, 45, 70, 1, -200, 100, 100] call DEMO_fnc_getBTable; - - //copyToClipboard format ["%1", _btab]; - diag_log "btab:"; - diag_log (format ["%1", _btab]); - diag_log "ranges:"; - _range = 0; - for "_range" from 25 to 20000 step 25 do { - hintSilent format ["%1", _range]; - _fs = [_range, 0, _btab] call DEMO_fnc_calcFiringSolution; - _fsAltitude = [_range, -100, _btab] call DEMO_fnc_calcFiringSolution; - diag_log (format ["%1", _fs]); - diag_log (format ["%1", _fsAltitude]); - - if (count _fs > 0) then { - _elevation = _fs select 0; - _flightTime = _fs select 2; - _elevationAltitude = (_fsAltitude select 0) - (_fs select 0); - diag_log (format ["[%1,%2,%3,%4]", _range, _elevation, _elevationAltitude, _flightTime]); - }; - }; -} foreach _mags; - -//copyToClipboard format ["%1", _table]; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/init.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/init.sqf deleted file mode 100644 index f2b8de1f0f..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/init.sqf +++ /dev/null @@ -1,10 +0,0 @@ -DEMO_fnc_firingSolution = (compile preprocessFileLineNumbers "fnc_firingSolution.sqf"); -DEMO_fnc_getBTable = (compile preprocessFileLineNumbers "fnc_getBTable.sqf"); -DEMO_fnc_calcBallistics = (compile preprocessFileLineNumbers "fnc_calcBallistics.sqf"); -DEMO_fnc_calcFiringSolution = (compile preprocessFileLineNumbers "fnc_calcFiringSolution.sqf"); - -execVM "bScripts\arty\setupArty.sqf"; - - -player addAction ["Range Table", "rangeTable.sqf"]; -//player addAction ["Generate Table", "generateTable.sqf"]; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/items.cpp b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/items.cpp deleted file mode 100644 index 65f70677cd..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/items.cpp +++ /dev/null @@ -1,37 +0,0 @@ -class ace_sys_arty_rangeTable_base: ACE_Item { - scope = 2; - ace_size = 500; - ace_weight = 0.1; - picture = "\x\ace\addons\sys_goggles\data\equip\g_earplug_ca.paa"; -}; -/* -// mortars -class ace_sys_arty_rangeTable_m224: ace_sys_arty_rangeTable_base { - descriptionshort = "M224 Tables"; - displayname = "M224 60mm Range Tables"; - ace_sys_arty_tableData = "\x\ace\addons\sys_arty\rangeTables\m224.sqf"; -}; -class ace_sys_arty_rangeTable_m252: ace_sys_arty_rangeTable_base { - descriptionshort = "M252 Tables"; - displayname = "M252 81mmRange Tables"; - ace_sys_arty_tableData = "\x\ace\addons\sys_arty\rangeTables\m252.sqf"; -}; -class ace_sys_arty_rangeTable_2b14: ace_sys_arty_rangeTable_base { - descriptionshort = "2B14 Tables"; - displayname = "2B14 82mm Range Tables"; - ace_sys_arty_tableData = "\x\ace\addons\sys_arty\rangeTables\2b14.sqf"; -}; -*/ -// arty -class ace_sys_arty_rangeTable_m119: ace_sys_arty_rangeTable_base { - descriptionshort = "M119 Tables"; - displayname = "M119 105mm Range Tables"; - ace_sys_arty_tableData = "\x\ace\addons\sys_arty_ammunition\rangeTables\m119.sqf"; -}; -/* -class ace_sys_arty_rangeTable_d30: ace_sys_arty_rangeTable_base { - descriptionshort = "D30 Tables"; - displayname = "D30 122mm Range Tables"; - ace_sys_arty_tableData = "\x\ace\addons\sys_arty\rangeTables\d30.sqf"; -}; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/mission.sqm b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/mission.sqm deleted file mode 100644 index 92944d7a27..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/mission.sqm +++ /dev/null @@ -1,1830 +0,0 @@ -version=11; -class Mission -{ - addOns[]= - { - "takistan", - "cacharacters2", - "CAWeapons_M252_81mm_Mortar", - "acex_c_weapon", - "CAWheeled", - "ace_sys_arty_m119", - "ace_sys_arty_ammunition" - }; - addOnsAuto[]= - { - "cacharacters2", - "CAWeapons_M252_81mm_Mortar", - "acex_c_weapon", - "CAWheeled", - "ace_sys_arty_m119", - "ace_sys_arty_ammunition", - "takistan" - }; - randomSeed=2732302; - class Intel - { - startWeather=0.40000001; - forecastWeather=0.40000001; - year=2009; - day=28; - hour=16; - minute=20; - }; - class Groups - { - items=27; - class Item0 - { - side="WEST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={5558.7109,83.040001,11285.709}; - azimut=170; - id=0; - side="WEST"; - vehicle="USMC_Soldier"; - player="PLAYER COMMANDER"; - leader=1; - skill=0.60000002; - init="this addWeapon ""ace_arty_rangeTable_m119""; this addWeapon ""ace_arty_rangeTable_m224_legacy""; this addWeapon ""ace_arty_rangeTable_m252_legacy""; this addWeapon ""ace_arty_rangeTable_2b14_legacy""; this addWeapon ""ace_arty_rangeTable_m119_legacy""; this addWeapon ""ace_arty_rangeTable_d30_legacy"";"; - }; - }; - }; - class Item1 - { - side="WEST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={5375.813,314.40927,6707.1558}; - azimut=140; - id=6; - side="WEST"; - vehicle="USMC_Soldier"; - player="PLAY CDG"; - leader=1; - skill=0.60000002; - }; - }; - }; - class Item2 - { - side="EAST"; - class Vehicles - { - items=12; - class Item0 - { - position[]={5767.6592,278.85172,5740.9902}; - id=7; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={5770.6592,278.40649,5735.9902}; - id=8; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={5772.6592,277.83368,5735.9902}; - id=9; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={5774.6592,277.26086,5735.9902}; - id=10; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={5776.6592,276.71436,5735.9902}; - id=11; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={5778.6592,276.17035,5735.9902}; - id=12; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={5780.6592,275.62634,5735.9902}; - id=13; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={5782.6592,275.10489,5735.9902}; - id=14; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={5784.6592,274.60809,5735.9902}; - id=15; - side="EAST"; - vehicle="RU_Soldier_AR"; - skill=0.2; - }; - class Item9 - { - position[]={5786.6592,274.11206,5735.9902}; - id=16; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item10 - { - position[]={5788.6592,273.63098,5735.9902}; - id=17; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item11 - { - position[]={5790.6592,273.16058,5735.9902}; - id=18; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item3 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={5838.7363,284.67468,5600.1553}; - id=19; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={5841.7363,285.07489,5595.1553}; - id=20; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={5843.7363,284.71494,5595.1553}; - id=21; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={5845.7363,284.3692,5595.1553}; - id=22; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={5847.7363,284.02359,5595.1553}; - id=23; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={5849.7363,283.67075,5595.1553}; - id=24; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={5851.7363,283.32065,5595.1553}; - id=25; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={5853.7363,282.97186,5595.1553}; - id=26; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={5857.7363,282.27451,5595.1553}; - id=28; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={5859.7363,281.93207,5595.1553}; - id=29; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={5861.7363,281.58762,5595.1553}; - id=30; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item4 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={5855.7363,282.62018,5595.1553}; - id=27; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item5 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={6117.271,305.34241,5584.1719}; - id=31; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={6120.271,305.5733,5579.1719}; - id=32; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={6122.271,305.59601,5579.1719}; - id=33; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={6124.271,305.57681,5579.1719}; - id=34; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={6126.271,305.69791,5579.1719}; - id=35; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={6128.271,305.88235,5579.1719}; - id=36; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={6130.271,306.05518,5579.1719}; - id=37; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={6132.271,306.24429,5579.1719}; - id=38; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={6136.271,306.62094,5579.1719}; - id=40; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={6138.271,306.8132,5579.1719}; - id=41; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={6140.271,307.009,5579.1719}; - id=42; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item6 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={6134.271,306.43854,5579.1719}; - id=39; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item7 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={6123.1035,302.60333,5862.4092}; - id=43; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={6126.1035,302.17374,5857.4092}; - id=44; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={6128.1035,302.26013,5857.4092}; - id=45; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={6130.1035,302.3465,5857.4092}; - id=46; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={6132.1035,302.44241,5857.4092}; - id=47; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={6134.1035,302.564,5857.4092}; - id=48; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={6136.1035,302.68561,5857.4092}; - id=49; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={6138.1035,302.8125,5857.4092}; - id=50; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={6142.1035,303.16449,5857.4092}; - id=52; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={6144.1035,303.31824,5857.4092}; - id=53; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={6146.1035,303.49423,5857.4092}; - id=54; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item8 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={6140.1035,302.98853,5857.4092}; - id=51; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item9 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={5920.0088,275.46823,5704.4697}; - id=55; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={5923.0088,276.19321,5699.4697}; - id=56; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={5925.0088,277.24915,5699.4697}; - id=57; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={5927.0088,278.31674,5699.4697}; - id=58; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={5929.0088,279.39496,5699.4697}; - id=59; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={5931.0088,280.47342,5699.4697}; - id=60; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={5933.0088,281.52289,5699.4697}; - id=61; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={5935.0088,282.55969,5699.4697}; - id=62; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={5939.0088,284.60046,5699.4697}; - id=64; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={5941.0088,285.5701,5699.4697}; - id=65; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={5943.0088,286.5397,5699.4697}; - id=66; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item10 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={5937.0088,283.59653,5699.4697}; - id=63; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item11 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={6002.4238,287.0231,5520.0444}; - id=67; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={6005.4238,287.47079,5515.0444}; - id=68; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={6007.4238,287.69382,5515.0444}; - id=69; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={6009.4238,287.92743,5515.0444}; - id=70; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={6011.4238,288.14694,5515.0444}; - id=71; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={6013.4238,288.43073,5515.0444}; - id=72; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={6015.4238,288.79556,5515.0444}; - id=73; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={6017.4238,289.17206,5515.0444}; - id=74; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={6021.4238,290.02991,5515.0444}; - id=76; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={6023.4238,290.49973,5515.0444}; - id=77; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={6025.4238,290.99881,5515.0444}; - id=78; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item12 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={6019.4238,289.5787,5515.0444}; - id=75; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item13 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={6278.8535,333.72748,5748.2036}; - id=79; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={6281.8535,334.72079,5743.2036}; - id=80; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={6283.8535,335.2648,5743.2036}; - id=81; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={6285.8535,335.80869,5743.2036}; - id=82; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={6287.8535,336.34872,5743.2036}; - id=83; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={6289.8535,336.87323,5743.2036}; - id=84; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={6291.8535,337.39807,5743.2036}; - id=85; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={6293.8535,337.9227,5743.2036}; - id=86; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={6297.8535,338.96594,5743.2036}; - id=88; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={6299.8535,339.48755,5743.2036}; - id=89; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={6301.8535,340.00916,5743.2036}; - id=90; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item14 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={6295.8535,338.44434,5743.2036}; - id=87; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item15 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={6017.02,323.96954,5970.8867}; - id=91; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={6020.02,324.81625,5965.8867}; - id=92; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={6022.02,325.02371,5965.8867}; - id=93; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={6024.02,325.25412,5965.8867}; - id=94; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={6026.02,325.45349,5965.8867}; - id=95; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={6028.02,325.62784,5965.8867}; - id=96; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={6030.02,325.85825,5965.8867}; - id=97; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={6032.02,326.09235,5965.8867}; - id=98; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={6036.02,326.60895,5965.8867}; - id=100; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={6038.02,326.87238,5965.8867}; - id=101; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={6040.02,327.0932,5965.8867}; - id=102; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item16 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={6034.02,326.33234,5965.8867}; - id=99; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item17 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={5794.416,249.43272,5925.2554}; - id=103; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={5797.416,249.86166,5920.2554}; - id=104; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={5799.416,249.85034,5920.2554}; - id=105; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={5801.416,249.86339,5920.2554}; - id=106; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={5803.416,249.88579,5920.2554}; - id=107; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={5805.416,249.9082,5920.2554}; - id=108; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={5807.416,249.94925,5920.2554}; - id=109; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={5809.416,250.00365,5920.2554}; - id=110; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={5813.416,250.13925,5920.2554}; - id=112; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={5815.416,250.24165,5920.2554}; - id=113; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={5817.416,250.34351,5920.2554}; - id=114; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item18 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={5811.416,250.05939,5920.2554}; - id=111; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item19 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={5630.9761,326.59268,5814.3013}; - id=115; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={5633.9761,327.54736,5809.3013}; - id=116; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={5635.9761,327.08728,5809.3013}; - id=117; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={5637.9761,326.6178,5809.3013}; - id=118; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={5639.9761,325.98737,5809.3013}; - id=119; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={5641.9761,325.40814,5809.3013}; - id=120; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={5643.9761,324.84619,5809.3013}; - id=121; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={5645.9761,324.19336,5809.3013}; - id=122; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={5649.9761,322.95554,5809.3013}; - id=124; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={5651.9761,322.26532,5809.3013}; - id=125; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={5653.9761,321.59528,5809.3013}; - id=126; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item20 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={5647.9761,323.56357,5809.3013}; - id=123; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item21 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={5756.2319,336.17737,5459.2832}; - id=127; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={5759.2319,336.94333,5454.2832}; - id=128; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={5761.2319,336.62012,5454.2832}; - id=129; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={5763.2319,336.29697,5454.2832}; - id=130; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={5765.2319,335.96396,5454.2832}; - id=131; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={5767.2319,335.61514,5454.2832}; - id=132; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={5769.2319,335.2702,5454.2832}; - id=133; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={5771.2319,334.92749,5454.2832}; - id=134; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={5775.2319,334.19101,5454.2832}; - id=136; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={5777.2319,333.86423,5454.2832}; - id=137; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={5779.2319,333.49307,5454.2832}; - id=138; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item22 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={5773.2319,334.55627,5454.2832}; - id=135; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item23 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={6231.7388,332.73544,5453.4819}; - id=139; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={6234.7388,334.16827,5448.4819}; - id=140; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={6236.7388,334.68668,5448.4819}; - id=141; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={6238.7388,335.20511,5448.4819}; - id=142; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={6240.7388,335.72076,5448.4819}; - id=143; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={6242.7388,336.23599,5448.4819}; - id=144; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={6244.7388,336.75278,5448.4819}; - id=145; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={6246.7388,337.27118,5448.4819}; - id=146; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={6250.7388,338.30792,5448.4819}; - id=148; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={6252.7388,338.82632,5448.4819}; - id=149; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={6254.7388,339.34473,5448.4819}; - id=150; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item24 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={6248.7388,337.78949,5448.4819}; - id=147; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - class Item25 - { - side="EAST"; - class Vehicles - { - items=11; - class Item0 - { - position[]={6046.1758,299.64764,5747.0098}; - id=151; - side="EAST"; - vehicle="RU_Soldier_SL"; - player="PLAY CDG"; - leader=1; - rank="LIEUTENANT"; - skill=0.59999996; - }; - class Item1 - { - position[]={6049.1758,300.24228,5742.0098}; - id=152; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item2 - { - position[]={6051.1758,300.22327,5742.0098}; - id=153; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="SERGEANT"; - skill=0.46666664; - }; - class Item3 - { - position[]={6053.1758,300.22064,5742.0098}; - id=154; - side="EAST"; - vehicle="RU_Soldier_LAT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item4 - { - position[]={6055.1758,300.22702,5742.0098}; - id=155; - side="EAST"; - vehicle="RU_Soldier_GL"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item5 - { - position[]={6057.1758,300.23343,5742.0098}; - id=156; - side="EAST"; - vehicle="RU_Soldier_Marksman"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item6 - { - position[]={6059.1758,300.27399,5742.0098}; - id=157; - side="EAST"; - vehicle="RU_Soldier_MG"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item7 - { - position[]={6061.1758,300.33798,5742.0098}; - id=158; - side="EAST"; - vehicle="RU_Soldier_AT"; - rank="CORPORAL"; - skill=0.33333331; - }; - class Item8 - { - position[]={6065.1758,300.56119,5742.0098}; - id=160; - side="EAST"; - vehicle="RU_Soldier_LAT"; - skill=0.2; - }; - class Item9 - { - position[]={6067.1758,300.7276,5742.0098}; - id=161; - side="EAST"; - vehicle="RU_Soldier_GL"; - skill=0.2; - }; - class Item10 - { - position[]={6069.1758,300.89606,5742.0098}; - id=162; - side="EAST"; - vehicle="RU_Soldier"; - skill=0.2; - }; - }; - }; - class Item26 - { - side="EAST"; - class Vehicles - { - items=1; - class Item0 - { - position[]={6063.1758,300.42035,5742.0098}; - id=159; - side="EAST"; - vehicle="RU_Soldier_AR"; - leader=1; - skill=0.2; - }; - }; - }; - }; - class Vehicles - { - items=5; - class Item0 - { - position[]={5560.2642,83.040001,11282.228}; - azimut=170; - id=1; - side="EMPTY"; - vehicle="M252"; - leader=1; - skill=0.60000002; - }; - class Item1 - { - position[]={5552.1978,83.040001,11284.653}; - id=2; - side="EMPTY"; - vehicle="ACE_WeaponBox_BIS_US"; - skill=0.60000002; - }; - class Item2 - { - position[]={5547.2437,83.040001,11285.056}; - id=3; - side="EMPTY"; - vehicle="UAZ_AGS30_CDF"; - skill=0.60000002; - }; - class Item3 - { - position[]={5565.6748,83.040001,11284.639}; - azimut=180; - id=4; - side="EMPTY"; - vehicle="ace_arty_m119"; - leader=1; - skill=0.60000002; - }; - class Item4 - { - position[]={5562.3257,83.040001,11289.103}; - azimut=170; - id=5; - side="EMPTY"; - vehicle="ace_arty_105mm_ammo_m1"; - leader=1; - skill=0.60000002; - init="this addMagazineCargo [""ace_arty_105mm_m916"", 50];"; - }; - }; - class Sensors - { - items=3; - class Item0 - { - position[]={5577.5869,83.040001,11286.386}; - a=0; - b=0; - activationBy="ALPHA"; - repeating=1; - interruptable=1; - age="UNKNOWN"; - text="Generate Tables"; - expActiv="script = call compile preprocessFileLineNumbers ""generateTable.sqf"";"; - class Effects - { - }; - }; - class Item1 - { - position[]={5581.4668,90.056564,11535.605}; - a=0; - b=0; - activationBy="ALPHA"; - repeating=1; - interruptable=1; - age="UNKNOWN"; - text="Generate Tables"; - expActiv="script = call compile preprocessFileLineNumbers ""generateTable.sqf"";"; - class Effects - { - }; - }; - class Item2 - { - position[]={5627.2944,87.212227,11535.605}; - a=0; - b=0; - activationBy="BRAVO"; - repeating=1; - interruptable=1; - age="UNKNOWN"; - text="Generate Tables legacy"; - expActiv="script = call compile preprocessFileLineNumbers ""generateTable_legacy.sqf"";"; - class Effects - { - }; - }; - }; -}; -class Intro -{ - addOns[]= - { - "takistan" - }; - addOnsAuto[]= - { - "takistan" - }; - randomSeed=3855692; - class Intel - { - startWeather=0.40000001; - forecastWeather=0.40000001; - year=2009; - day=28; - hour=16; - minute=20; - }; -}; -class OutroWin -{ - addOns[]= - { - "takistan" - }; - addOnsAuto[]= - { - "takistan" - }; - randomSeed=4357661; - class Intel - { - startWeather=0.40000001; - forecastWeather=0.40000001; - year=2009; - day=28; - hour=16; - minute=20; - }; -}; -class OutroLoose -{ - addOns[]= - { - "takistan" - }; - addOnsAuto[]= - { - "takistan" - }; - randomSeed=2965517; - class Intel - { - startWeather=0.40000001; - forecastWeather=0.40000001; - year=2009; - day=28; - hour=16; - minute=20; - }; -}; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/rangeTable.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/rangeTable.sqf deleted file mode 100644 index 1e99b29b73..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/rangeTable.sqf +++ /dev/null @@ -1,74 +0,0 @@ -_dataFile = "tables\m119.sqf"; -//_dataFile = "tables\m224_legacy.sqf"; -_tableData = call compile preprocessFileLineNumbers _dataFile; -_tableData_tables = _tableData select 0; -_tableData_mags = _tableData select 1; -_tableData_charges = _tableData select 2; - -ace_sys_arty_ammunition_selectRangeTable = { - _dataFile = _this select 0; - _tableData = call compile preprocessFileLineNumbers _dataFile; - _tableData_tables = _tableData select 0; - _tableData_mags = _tableData select 1; - _tableData_charges = _tableData select 2; - - _selectedMag = _tableData_mags select (lbCurSel 4020); - _selectedCharge = _tableData_charges select (lbCurSel 4021); - _selectedTable = []; - - //scopeName "selectRangeTable_base"; - { // foreach mags - _mag = _x; - _magName = _mag select 0; - _magClass = _mag select 1; - if (_magName == _selectedMag) then { // correct mag - _charges = _mag select 2; - { //foreach charges - _charge = _x; - _chargeName = _charge select 0; - _chargeClass = _charge select 1; - if (_chargeName == _selectedCharge) then { // correct charge - _table = _charge select 2; - _selectedTable = _table; - // breakTo "selectRangeTable_base"; - }; - } foreach _charges; - }; - } foreach _tableData_tables; - - // apply range table - lnbClear 4022; - { - // 0: range, 1: elevation, 2: altitude -100m elev, 3: altitude -100m time, 4: time of flight - lnbAddRow [4022, [str (_x select 0), str (_x select 1), str (_x select 2), str (_x select 3), str (_x select 4)]]; - } foreach _selectedTable; - -}; - -// create dialog -_dialog = createDialog "ace_sys_arty_rangeTables_RangeTable"; -waituntil {_dialog}; - -with uiNamespace do { - display = findDisplay 2999; - - // fill mags combo - { - lbAdd [4020, _x]; - } foreach _tableData_mags; - lbSetCurSel [4020, 0]; - - // fill charges combo - { - lbAdd [4021, _x]; - } foreach _tableData_charges; - lbSetCurSel [4021, 0]; - - // set onchange event handlers - combo_round = display displayCtrl 4020; - combo_round ctrlAddEventHandler ["LBSelChanged", '["'+_dataFile+'"] call ace_sys_arty_ammunition_selectRangeTable']; - combo_charge = display displayCtrl 4021; - combo_charge ctrlAddEventHandler ["LBSelChanged", '["'+_dataFile+'"] call ace_sys_arty_ammunition_selectRangeTable']; -}; -// fill range table -[_dataFile] call ace_sys_arty_ammunition_selectRangeTable; diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf deleted file mode 100644 index a7dbee7c99..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf +++ /dev/null @@ -1,44 +0,0 @@ -_tableData_tables = [ -["HE","m1",[ -["charge 1","chg1",[[2200,1243,6,0.7,36.5],[2300,1223,6,0.7,36.3],[2400,1202,7,0.7,36],[2500,1180,8,0.7,35.7],[2600,1157,9,0.7,35.3],[2700,1133,10,0.8,34.9],[2800,1107,11,0.8,34.5],[2900,1079,13,0.9,34],[3000,1050,14,0.9,33.4],[3100,1016,17,1,32.8],[3200,977,22,1.1,32],[3300,931,29,1.3,31],[3400,864,47,1.8,29.4]]], -["charge 2","chg2",[[2600,1227,5,0.6,39.1],[2700,1209,6,0.6,38.8],[2800,1190,6,0.7,38.5],[2900,1171,7,0.7,38.2],[3000,1150,8,0.7,37.9],[3100,1129,9,0.7,37.5],[3200,1106,9,0.7,37.1],[3300,1082,11,0.8,36.6],[3400,1056,12,0.8,36.1],[3500,1028,14,0.9,35.5],[3600,997,17,1,34.9],[3700,961,20,1.1,34],[3800,917,27,1.3,33],[3900,853,45,1.8,31.3]]], -["charge 3","chg3",[[3000,1233,4,0.6,42.7],[3100,1218,5,0.6,42.5],[3200,1202,5,0.6,42.2],[3300,1186,5,0.6,41.9],[3400,1169,6,0.6,41.6],[3500,1151,6,0.7,41.3],[3600,1133,7,0.7,41],[3700,1114,8,0.7,40.6],[3800,1094,8,0.7,40.2],[3900,1072,9,0.7,39.7],[4000,1050,10,0.8,39.2],[4100,1025,12,0.8,38.7],[4200,998,14,0.9,38.1],[4300,969,16,1,37.3],[4400,934,20,1.1,36.4],[4500,890,28,1.4,35.3],[4600,823,49,2,33.4]]], -["charge 4","chg4",[[3500,1241,4,0.5,47.2],[3600,1228,4,0.5,46.9],[3700,1215,4,0.6,46.7],[3800,1201,4,0.6,46.5],[3900,1188,4,0.6,46.2],[4000,1173,5,0.6,46],[4100,1159,5,0.6,45.7],[4200,1144,5,0.6,45.4],[4300,1128,6,0.6,45],[4400,1112,6,0.6,44.7],[4500,1095,7,0.7,44.3],[4600,1077,7,0.7,43.9],[4700,1058,8,0.7,43.5],[4800,1039,9,0.7,43],[4900,1017,10,0.8,42.4],[5000,995,11,0.8,41.9],[5100,970,13,0.9,41.2],[5200,941,16,1,40.4],[5300,909,19,1.1,39.5],[5400,866,27,1.4,38.2]]], -["charge 5","chg5",[[4300,1242,3,0.5,53.3],[4400,1232,3,0.5,53.1],[4500,1222,3,0.5,52.9],[4600,1211,3,0.5,52.7],[4700,1200,3,0.5,52.5],[4800,1189,3,0.5,52.2],[4900,1177,3,0.5,52],[5000,1165,4,0.5,51.7],[5100,1153,4,0.5,51.5],[5200,1141,4,0.5,51.2],[5300,1128,4,0.6,50.9],[5400,1115,5,0.6,50.6],[5500,1102,5,0.6,50.2],[5600,1088,5,0.6,49.9],[5700,1073,6,0.6,49.5],[5800,1058,6,0.6,49.1],[5900,1042,7,0.6,48.7],[6000,1026,7,0.7,48.2],[6100,1008,8,0.7,47.7],[6200,989,9,0.7,47.2],[6300,969,10,0.8,46.6],[6400,947,11,0.8,45.9],[6500,923,13,0.9,45.1],[6600,895,16,1,44.2],[6700,861,20,1.2,43],[6800,812,32,1.7,41.3]]], -["charge 6","chg6",[[5400,1243,2,0.4,61.2],[5500,1235,2,0.4,61],[5600,1227,2,0.4,60.9],[5700,1218,2,0.4,60.7],[5800,1210,2,0.4,60.5],[5900,1201,2,0.5,60.3],[6000,1192,2,0.5,60.1],[6100,1183,2,0.5,59.9],[6200,1174,2,0.5,59.6],[6300,1165,3,0.5,59.4],[6400,1155,3,0.5,59.2],[6500,1145,3,0.5,58.9],[6600,1135,3,0.5,58.7],[6700,1125,3,0.5,58.4],[6800,1115,3,0.5,58.1],[6900,1104,3,0.5,57.8],[7000,1093,4,0.5,57.5],[7100,1082,4,0.5,57.2],[7200,1070,4,0.5,56.8],[7300,1058,4,0.6,56.5],[7400,1046,5,0.6,56.1],[7500,1033,5,0.6,55.7],[7600,1020,5,0.6,55.3],[7700,1006,6,0.6,54.8],[7800,992,6,0.6,54.3],[7900,976,6,0.7,53.8],[8000,960,7,0.7,53.3],[8100,943,8,0.7,52.7],[8200,924,9,0.8,52],[8300,904,10,0.8,51.2],[8400,880,12,0.9,50.3],[8500,854,15,1.1,49.3],[8600,821,19,1.2,48]]], -["charge 7","chg7",[[6900,1241,1,0.4,71.2],[7000,1234,1,0.4,71],[7100,1228,1,0.4,70.8],[7200,1221,1,0.4,70.7],[7300,1214,1,0.4,70.5],[7400,1207,1,0.4,70.3],[7500,1201,2,0.4,70.1],[7600,1194,2,0.4,70],[7700,1187,2,0.4,69.8],[7800,1179,2,0.4,69.6],[7900,1172,2,0.4,69.4],[8000,1165,2,0.4,69.1],[8100,1157,2,0.4,68.9],[8200,1150,2,0.4,68.7],[8300,1142,2,0.4,68.5],[8400,1134,2,0.4,68.2],[8500,1126,2,0.4,68],[8600,1118,2,0.4,67.7],[8700,1110,2,0.4,67.5],[8800,1102,2,0.4,67.2],[8900,1093,2,0.5,66.9],[9000,1085,3,0.5,66.7],[9100,1076,3,0.5,66.4],[9200,1067,3,0.5,66.1],[9300,1057,3,0.5,65.7],[9400,1048,3,0.5,65.4],[9500,1038,3,0.5,65.1],[9600,1028,3,0.5,64.7],[9700,1018,3,0.5,64.3],[9800,1007,4,0.5,63.9],[9900,996,4,0.5,63.5],[10000,985,4,0.5,63.1],[10100,973,5,0.6,62.6],[10200,961,5,0.6,62.1],[10300,948,5,0.6,61.6],[10400,935,5,0.6,61.1],[10500,921,6,0.6,60.5],[10600,905,6,0.7,59.9],[10700,889,7,0.7,59.2],[10800,872,8,0.7,58.4],[10900,852,9,0.8,57.5],[11000,830,11,0.9,56.5],[11100,803,14,1.1,55.3]]], -["charge 8","chg8",[[8400,1240,1,0.4,81],[8500,1234,1,0.4,80.9],[8600,1229,1,0.4,80.7],[8700,1223,1,0.4,80.6],[8800,1218,1,0.4,80.4],[8900,1212,1,0.4,80.3],[9000,1207,1,0.4,80.1],[9100,1201,1,0.4,79.9],[9200,1196,1,0.4,79.7],[9300,1190,1,0.4,79.6],[9400,1184,1,0.4,79.4],[9500,1178,1,0.4,79.2],[9600,1172,1,0.4,79],[9700,1166,1,0.4,78.8],[9800,1160,1,0.4,78.6],[9900,1154,1,0.4,78.4],[10000,1148,1,0.4,78.2],[10100,1142,1,0.4,78],[10200,1135,1,0.4,77.8],[10300,1129,1,0.4,77.6],[10400,1122,1,0.4,77.3],[10500,1116,2,0.4,77.1],[10600,1109,2,0.4,76.9],[10700,1102,2,0.4,76.6],[10800,1095,2,0.4,76.4],[10900,1088,2,0.4,76.1],[11000,1081,2,0.4,75.9],[11100,1074,2,0.4,75.6],[11200,1067,2,0.4,75.3],[11300,1059,2,0.4,75],[11400,1052,2,0.4,74.7],[11500,1044,2,0.4,74.4],[11600,1036,2,0.4,74.1],[11700,1028,2,0.4,73.8],[11800,1020,2,0.4,73.5],[11900,1012,2,0.5,73.1],[12000,1003,3,0.5,72.7],[12100,994,3,0.5,72.4],[12200,985,3,0.5,72],[12300,976,3,0.5,71.6],[12400,966,3,0.5,71.2],[12500,957,3,0.5,70.7],[12600,947,3,0.5,70.3],[12700,936,3,0.5,69.8],[12800,925,4,0.5,69.3],[12900,914,4,0.6,68.8],[13000,902,4,0.6,68.2],[13100,890,4,0.6,67.6],[13200,877,5,0.6,67],[13300,863,5,0.6,66.3],[13400,848,6,0.7,65.6],[13500,832,7,0.7,64.8],[13600,814,8,0.8,63.8]]] -]], -["WP","m84a1",[ -["charge 1","chg1",[[2200,1230,7,0.7,35.1],[2300,1208,8,0.7,34.8],[2400,1185,9,0.8,34.5],[2500,1162,10,0.8,34.1],[2600,1136,11,0.8,33.7],[2700,1110,12,0.9,33.2],[2800,1080,14,0.9,32.7],[2900,1048,17,1,32.1],[3000,1012,21,1.1,31.3],[3100,967,28,1.3,30.3],[3200,907,42,1.7,28.9]]], -["charge 2","chg2",[[2500,1234,6,0.7,38],[2600,1215,6,0.7,37.7],[2700,1196,7,0.7,37.4],[2800,1176,8,0.7,37.1],[2900,1155,8,0.7,36.8],[3000,1133,9,0.8,36.4],[3100,1109,10,0.8,35.9],[3200,1084,12,0.9,35.4],[3300,1057,14,0.9,34.9],[3400,1027,16,1,34.2],[3500,992,20,1.1,33.5],[3600,951,26,1.3,32.5],[3700,895,39,1.7,31.1]]], -["charge 3","chg3",[[2900,1239,5,0.6,41.7],[3000,1224,5,0.6,41.5],[3100,1207,5,0.6,41.2],[3200,1191,6,0.6,40.9],[3300,1174,6,0.7,40.6],[3400,1156,7,0.7,40.3],[3500,1137,7,0.7,39.9],[3600,1117,8,0.7,39.5],[3700,1096,9,0.8,39.1],[3800,1074,10,0.8,38.6],[3900,1051,11,0.8,38.1],[4000,1025,13,0.9,37.5],[4100,996,16,1,36.8],[4200,963,19,1.1,36],[4300,924,25,1.3,34.9],[4400,868,40,1.8,33.3]]], -["charge 4","chg4",[[3500,1233,4,0.6,46],[3600,1220,4,0.6,45.8],[3700,1206,4,0.6,45.6],[3800,1192,5,0.6,45.3],[3900,1178,5,0.6,45],[4000,1163,5,0.6,44.7],[4100,1148,6,0.6,44.4],[4200,1132,6,0.6,44.1],[4300,1115,7,0.7,43.7],[4400,1098,7,0.7,43.3],[4500,1080,8,0.7,42.9],[4600,1061,9,0.7,42.5],[4700,1040,10,0.8,41.9],[4800,1018,11,0.8,41.4],[4900,994,12,0.9,40.7],[5000,967,15,1,40],[5100,937,18,1.1,39.1],[5200,899,24,1.3,38],[5300,845,38,1.8,36.3]]], -["charge 5","chg5",[[4300,1237,3,0.5,52.3],[4400,1226,3,0.5,52.1],[4500,1215,3,0.5,51.9],[4600,1204,3,0.5,51.7],[4700,1193,3,0.5,51.4],[4800,1182,4,0.5,51.2],[4900,1170,4,0.5,50.9],[5000,1158,4,0.5,50.6],[5100,1145,4,0.6,50.4],[5200,1132,5,0.6,50.1],[5300,1119,5,0.6,49.7],[5400,1105,5,0.6,49.4],[5500,1091,5,0.6,49],[5600,1076,6,0.6,48.6],[5700,1061,6,0.6,48.2],[5800,1045,7,0.7,47.8],[5900,1028,7,0.7,47.3],[6000,1010,8,0.7,46.8],[6100,990,9,0.8,46.2],[6200,969,11,0.8,45.6],[6300,946,12,0.9,44.8],[6400,920,14,1,44],[6500,890,18,1.1,43],[6600,849,26,1.5,41.5]]], -["charge 6","chg6",[[5400,1239,2,0.4,60.3],[5500,1231,2,0.4,60.2],[5600,1223,2,0.4,60],[5700,1214,2,0.4,59.8],[5800,1205,2,0.5,59.6],[5900,1196,2,0.5,59.4],[6000,1187,3,0.5,59.1],[6100,1178,3,0.5,58.9],[6200,1169,3,0.5,58.7],[6300,1159,3,0.5,58.4],[6400,1149,3,0.5,58.2],[6500,1139,3,0.5,57.9],[6600,1129,3,0.5,57.7],[6700,1119,3,0.5,57.4],[6800,1108,4,0.5,57.1],[6900,1097,4,0.5,56.8],[7000,1086,4,0.5,56.4],[7100,1074,4,0.5,56.1],[7200,1062,4,0.6,55.7],[7300,1049,5,0.6,55.3],[7400,1036,5,0.6,54.9],[7500,1023,5,0.6,54.5],[7600,1009,6,0.6,54],[7700,994,6,0.6,53.5],[7800,979,7,0.7,53],[7900,962,7,0.7,52.4],[8000,944,8,0.7,51.8],[8100,925,9,0.8,51.1],[8200,904,11,0.9,50.3],[8300,879,13,1,49.3],[8400,850,17,1.2,48.2],[8500,811,25,1.5,46.6]]], -["charge 7","chg7",[[6900,1238,1,0.4,70.4],[7000,1231,1,0.4,70.2],[7100,1225,1,0.4,70],[7200,1218,1,0.4,69.9],[7300,1211,1,0.4,69.7],[7400,1204,2,0.4,69.5],[7500,1197,2,0.4,69.3],[7600,1190,2,0.4,69.1],[7700,1183,2,0.4,68.9],[7800,1176,2,0.4,68.7],[7900,1169,2,0.4,68.5],[8000,1161,2,0.4,68.3],[8100,1154,2,0.4,68.1],[8200,1146,2,0.4,67.8],[8300,1138,2,0.4,67.6],[8400,1130,2,0.4,67.4],[8500,1122,2,0.4,67.1],[8600,1114,2,0.4,66.9],[8700,1106,2,0.4,66.6],[8800,1097,2,0.5,66.3],[8900,1088,3,0.5,66],[9000,1079,3,0.5,65.7],[9100,1070,3,0.5,65.4],[9200,1061,3,0.5,65.1],[9300,1051,3,0.5,64.8],[9400,1042,3,0.5,64.4],[9500,1032,3,0.5,64],[9600,1021,4,0.5,63.7],[9700,1011,4,0.5,63.3],[9800,1000,4,0.5,62.9],[9900,988,4,0.6,62.4],[10000,976,4,0.6,62],[10100,964,5,0.6,61.5],[10200,951,5,0.6,60.9],[10300,937,6,0.6,60.4],[10400,923,6,0.7,59.8],[10500,908,7,0.7,59.1],[10600,891,7,0.7,58.4],[10700,873,8,0.8,57.6],[10800,853,10,0.9,56.7],[10900,829,12,1,55.6],[11000,801,16,1.2,54.3]]] -]], -["Illum","m314a3",[ -["charge 1","chg1",[[2000,1241,8,0.8,32.6],[2100,1218,10,0.9,32.2],[2200,1193,11,0.9,31.8],[2300,1167,13,1,31.4],[2400,1138,15,1,30.9],[2500,1107,17,1.1,30.3],[2600,1071,22,1.3,29.5],[2700,1029,28,1.4,28.6],[2800,971,44,1.9,27.2]]], -["charge 2","chg2",[[2400,1226,7,0.8,35.4],[2500,1205,8,0.8,35.1],[2600,1184,9,0.8,34.7],[2700,1161,10,0.9,34.3],[2800,1136,12,0.9,33.8],[2900,1110,14,1,33.3],[3000,1081,16,1.1,32.7],[3100,1049,19,1.2,31.9],[3200,1010,25,1.4,31],[3300,960,37,1.7,29.7]]], -["charge 3","chg3",[[2800,1234,6,0.7,39.4],[2900,1217,6,0.7,39.1],[3000,1200,7,0.7,38.8],[3100,1181,7,0.7,38.4],[3200,1162,8,0.8,38.1],[3300,1142,9,0.8,37.7],[3400,1121,10,0.8,37.2],[3500,1099,11,0.9,36.7],[3600,1074,13,0.9,36.2],[3700,1047,15,1,35.5],[3800,1017,19,1.1,34.7],[3900,981,23,1.3,33.8],[4000,933,34,1.7,32.4]]], -["charge 4","chg4",[[3300,1244,4,0.6,44.2],[3400,1230,4,0.6,43.9],[3500,1216,5,0.6,43.7],[3600,1201,5,0.6,43.4],[3700,1186,6,0.7,43.1],[3800,1171,6,0.7,42.8],[3900,1155,6,0.7,42.4],[4000,1138,7,0.7,42.1],[4100,1121,7,0.7,41.7],[4200,1103,8,0.7,41.3],[4300,1083,9,0.8,40.8],[4400,1062,10,0.8,40.3],[4500,1040,12,0.9,39.7],[4600,1015,13,1,39],[4700,987,17,1.1,38.2],[4800,954,21,1.2,37.2],[4900,912,30,1.6,35.9]]], -["charge 5","chg5",[[4200,1236,3,0.5,50.4],[4300,1225,3,0.5,50.2],[4400,1213,3,0.5,50],[4500,1202,4,0.5,49.7],[4600,1190,4,0.6,49.5],[4700,1178,4,0.6,49.2],[4800,1165,4,0.6,48.9],[4900,1153,5,0.6,48.6],[5000,1139,5,0.6,48.3],[5100,1126,5,0.6,48],[5200,1112,6,0.7,47.6],[5300,1097,6,0.7,47.2],[5400,1082,7,0.7,46.8],[5500,1065,7,0.7,46.4],[5600,1048,8,0.7,45.9],[5700,1030,9,0.8,45.4],[5800,1011,10,0.8,44.8],[5900,990,11,0.9,44.1],[6000,966,13,1,43.4],[6100,939,16,1.1,42.5],[6200,908,20,1.3,41.4],[6300,863,31,1.7,39.7]]], -["charge 6","chg6",[[5300,1240,2,0.5,58.7],[5400,1231,2,0.5,58.5],[5500,1222,2,0.5,58.3],[5600,1213,2,0.5,58.1],[5700,1204,3,0.5,57.9],[5800,1195,3,0.5,57.7],[5900,1186,3,0.5,57.5],[6000,1176,3,0.5,57.2],[6100,1167,3,0.5,57],[6200,1157,3,0.5,56.7],[6300,1147,3,0.5,56.4],[6400,1136,3,0.5,56.2],[6500,1126,4,0.5,55.9],[6600,1115,4,0.5,55.5],[6700,1104,4,0.5,55.2],[6800,1092,4,0.6,54.9],[6900,1080,5,0.6,54.5],[7000,1068,5,0.6,54.2],[7100,1055,5,0.6,53.7],[7200,1042,6,0.6,53.3],[7300,1028,6,0.7,52.9],[7400,1013,6,0.7,52.4],[7500,998,7,0.7,51.8],[7600,981,8,0.7,51.3],[7700,964,9,0.8,50.6],[7800,945,10,0.8,49.9],[7900,923,11,0.9,49.1],[8000,899,14,1,48.2],[8100,871,17,1.2,47.1],[8200,832,25,1.6,45.4]]], -["charge 7","chg7",[[6800,1239,1,0.4,68.9],[6900,1232,1,0.4,68.8],[7000,1226,1,0.4,68.6],[7100,1219,2,0.4,68.4],[7200,1212,2,0.4,68.2],[7300,1205,2,0.4,68],[7400,1198,2,0.4,67.8],[7500,1191,2,0.4,67.7],[7600,1183,2,0.4,67.4],[7700,1176,2,0.4,67.2],[7800,1169,2,0.4,67],[7900,1161,2,0.4,66.8],[8000,1153,2,0.4,66.6],[8100,1145,2,0.5,66.3],[8200,1137,2,0.5,66.1],[8300,1129,2,0.5,65.8],[8400,1121,2,0.5,65.6],[8500,1113,3,0.5,65.3],[8600,1104,3,0.5,65],[8700,1095,3,0.5,64.7],[8800,1086,3,0.5,64.4],[8900,1077,3,0.5,64.1],[9000,1068,3,0.5,63.8],[9100,1058,3,0.5,63.4],[9200,1048,3,0.5,63.1],[9300,1038,4,0.5,62.7],[9400,1028,4,0.5,62.3],[9500,1017,4,0.5,61.9],[9600,1005,4,0.6,61.5],[9700,994,4,0.6,61],[9800,982,5,0.6,60.5],[9900,969,5,0.6,60],[10000,956,6,0.6,59.5],[10100,942,6,0.7,58.9],[10200,927,6,0.7,58.3],[10300,911,7,0.8,57.6],[10400,893,8,0.8,56.8],[10500,874,10,0.9,56],[10600,852,12,1,54.9],[10700,826,15,1.2,53.7]]] -]], -["DPICM","m916",[ -["charge 1","chg1",[[2200,1236,6,0.7,35.9],[2300,1216,7,0.7,35.6],[2400,1194,8,0.7,35.2],[2500,1171,8,0.7,34.9],[2600,1147,10,0.8,34.5],[2700,1122,11,0.8,34.1],[2800,1095,12,0.9,33.6],[2900,1065,14,0.9,33.1],[3000,1032,17,1,32.4],[3100,995,21,1.1,31.7],[3200,949,28,1.3,30.7],[3300,886,44,1.8,29.2]]], -["charge 2","chg2",[[2500,1240,5,0.6,38.7],[2600,1222,6,0.7,38.4],[2700,1203,6,0.7,38.1],[2800,1183,7,0.7,37.8],[2900,1163,8,0.7,37.5],[3000,1142,8,0.7,37.1],[3100,1120,9,0.8,36.7],[3200,1096,11,0.8,36.3],[3300,1070,12,0.8,35.8],[3400,1043,14,0.9,35.2],[3500,1012,16,1,34.6],[3600,977,20,1.1,33.8],[3700,934,27,1.3,32.7],[3800,875,41,1.7,31.2]]], -["charge 3","chg3",[[2900,1244,4,0.6,42.3],[3000,1229,5,0.6,42.1],[3100,1213,5,0.6,41.8],[3200,1197,5,0.6,41.6],[3300,1180,6,0.6,41.3],[3400,1162,6,0.6,41],[3500,1144,7,0.7,40.6],[3600,1125,7,0.7,40.3],[3700,1106,8,0.7,39.9],[3800,1085,9,0.7,39.4],[3900,1062,10,0.8,39],[4000,1038,12,0.8,38.4],[4100,1012,13,0.9,37.8],[4200,983,16,1,37.1],[4300,949,20,1.1,36.2],[4400,908,26,1.3,35.1],[4500,847,44,1.9,33.4]]], -["charge 4","chg4",[[3500,1237,4,0.5,46.6],[3600,1224,4,0.6,46.4],[3700,1211,4,0.6,46.1],[3800,1197,4,0.6,45.9],[3900,1183,5,0.6,45.6],[4000,1168,5,0.6,45.4],[4100,1154,5,0.6,45.1],[4200,1138,6,0.6,44.7],[4300,1122,6,0.6,44.4],[4400,1105,6,0.6,44],[4500,1088,7,0.7,43.6],[4600,1069,8,0.7,43.2],[4700,1050,9,0.7,42.7],[4800,1029,10,0.8,42.2],[4900,1007,11,0.8,41.6],[5000,982,13,0.9,41],[5100,955,15,1,40.2],[5200,923,19,1.1,39.3],[5300,883,25,1.3,38.1],[5400,824,43,2,36.2]]], -["charge 5","chg5",[[4300,1240,3,0.5,52.8],[4400,1229,3,0.5,52.6],[4500,1219,3,0.5,52.4],[4600,1208,3,0.5,52.2],[4700,1197,3,0.5,52],[4800,1185,3,0.5,51.7],[4900,1174,4,0.5,51.5],[5000,1162,4,0.5,51.2],[5100,1149,4,0.5,50.9],[5200,1137,4,0.6,50.6],[5300,1124,4,0.6,50.3],[5400,1110,5,0.6,50],[5500,1097,5,0.6,49.6],[5600,1082,5,0.6,49.3],[5700,1067,6,0.6,48.9],[5800,1052,6,0.6,48.5],[5900,1035,7,0.7,48],[6000,1018,8,0.7,47.5],[6100,1000,8,0.7,47],[6200,980,9,0.8,46.4],[6300,958,11,0.8,45.7],[6400,935,13,0.9,45],[6500,908,15,1,44.1],[6600,875,19,1.2,43],[6700,832,28,1.5,41.5]]], -["charge 6","chg6",[[5400,1241,2,0.4,60.8],[5500,1233,2,0.4,60.6],[5600,1225,2,0.4,60.4],[5700,1216,2,0.4,60.2],[5800,1207,2,0.5,60],[5900,1199,2,0.5,59.8],[6000,1190,2,0.5,59.6],[6100,1181,2,0.5,59.4],[6200,1171,3,0.5,59.2],[6300,1162,3,0.5,58.9],[6400,1152,3,0.5,58.7],[6500,1142,3,0.5,58.4],[6600,1132,3,0.5,58.2],[6700,1122,3,0.5,57.9],[6800,1111,3,0.5,57.6],[6900,1101,4,0.5,57.3],[7000,1089,4,0.5,57],[7100,1078,4,0.5,56.6],[7200,1066,4,0.5,56.3],[7300,1054,4,0.6,55.9],[7400,1041,5,0.6,55.5],[7500,1028,5,0.6,55.1],[7600,1015,5,0.6,54.7],[7700,1000,6,0.6,54.2],[7800,985,6,0.7,53.7],[7900,969,7,0.7,53.1],[8000,952,8,0.7,52.5],[8100,934,9,0.8,51.9],[8200,914,10,0.8,51.2],[8300,892,11,0.9,50.3],[8400,867,14,1,49.3],[8500,836,18,1.2,48.1]]], -["charge 7","chg7",[[6900,1239,1,0.4,70.8],[7000,1233,1,0.4,70.6],[7100,1226,1,0.4,70.4],[7200,1219,1,0.4,70.3],[7300,1213,1,0.4,70.1],[7400,1206,2,0.4,69.9],[7500,1199,2,0.4,69.7],[7600,1192,2,0.4,69.5],[7700,1185,2,0.4,69.3],[7800,1178,2,0.4,69.1],[7900,1170,2,0.4,68.9],[8000,1163,2,0.4,68.7],[8100,1156,2,0.4,68.5],[8200,1148,2,0.4,68.3],[8300,1140,2,0.4,68],[8400,1132,2,0.4,67.8],[8500,1124,2,0.4,67.6],[8600,1116,2,0.4,67.3],[8700,1108,2,0.4,67],[8800,1099,2,0.5,66.8],[8900,1091,2,0.5,66.5],[9000,1082,3,0.5,66.2],[9100,1073,3,0.5,65.9],[9200,1064,3,0.5,65.6],[9300,1055,3,0.5,65.3],[9400,1045,3,0.5,64.9],[9500,1035,3,0.5,64.6],[9600,1025,4,0.5,64.2],[9700,1014,4,0.5,63.8],[9800,1003,4,0.5,63.4],[9900,992,4,0.5,63],[10000,981,4,0.6,62.5],[10100,969,5,0.6,62],[10200,956,5,0.6,61.5],[10300,943,5,0.6,61],[10400,929,6,0.6,60.4],[10500,914,6,0.7,59.8],[10600,898,7,0.7,59.2],[10700,881,8,0.8,58.4],[10800,863,9,0.8,57.6],[10900,841,11,0.9,56.6],[11000,817,13,1,55.5]]], -["charge 8","chg8",[[8300,1244,1,0.4,80.8],[8400,1239,1,0.4,80.7],[8500,1233,1,0.4,80.5],[8600,1228,1,0.4,80.4],[8700,1222,1,0.4,80.2],[8800,1217,1,0.4,80],[8900,1211,1,0.4,79.9],[9000,1206,1,0.4,79.7],[9100,1200,1,0.4,79.5],[9200,1194,1,0.4,79.4],[9300,1189,1,0.4,79.2],[9400,1183,1,0.4,79],[9500,1177,1,0.4,78.8],[9600,1171,1,0.4,78.6],[9700,1165,1,0.4,78.4],[9800,1159,1,0.4,78.2],[9900,1153,1,0.4,78],[10000,1146,1,0.4,77.8],[10100,1140,1,0.4,77.6],[10200,1134,1,0.4,77.4],[10300,1127,1,0.4,77.2],[10400,1121,2,0.4,77],[10500,1114,2,0.4,76.7],[10600,1107,2,0.4,76.5],[10700,1101,2,0.4,76.2],[10800,1094,2,0.4,76],[10900,1087,2,0.4,75.7],[11000,1080,2,0.4,75.5],[11100,1072,2,0.4,75.2],[11200,1065,2,0.4,74.9],[11300,1057,2,0.4,74.6],[11400,1050,2,0.4,74.3],[11500,1042,2,0.4,74],[11600,1034,2,0.4,73.7],[11700,1026,2,0.4,73.3],[11800,1018,2,0.5,73],[11900,1009,3,0.5,72.6],[12000,1000,3,0.5,72.3],[12100,992,3,0.5,71.9],[12200,982,3,0.5,71.5],[12300,973,3,0.5,71.1],[12400,963,3,0.5,70.7],[12500,953,3,0.5,70.2],[12600,943,3,0.5,69.8],[12700,932,4,0.5,69.3],[12800,921,4,0.6,68.8],[12900,910,4,0.6,68.2],[13000,898,5,0.6,67.6],[13100,885,5,0.6,67],[13200,871,5,0.6,66.4],[13300,857,6,0.7,65.6],[13400,841,7,0.7,64.8],[13500,824,7,0.8,64],[13600,805,9,0.9,63]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum", "DPICM"]; -_tableData_charges = ["charge 1", "charge 2", "charge 3", "charge 4", "charge 5", "charge 6", "charge 7", "charge 8"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf.backup b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf.backup deleted file mode 100644 index a3e902bb19..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf.backup +++ /dev/null @@ -1,44 +0,0 @@ -_tableData_tables = [ -["HE","m1",[ -["charge 1","chg1",[[2200,1240,6,36.4],[2300,1220,7,36.2],[2400,1198,7,35.9],[2500,1176,8,35.5],[2600,1153,9,35.2],[2700,1128,10,34.8],[2800,1102,11,34.3],[2900,1074,13,33.8],[3000,1043,15,33.3],[3100,1009,18,32.6],[3200,969,23,31.7],[3300,920,30,30.7],[3400,842,56,28.8]]], -["charge 2","chg2",[[2500,1242,5,39.2],[2600,1224,6,38.9],[2700,1206,6,38.7],[2800,1187,7,38.4],[2900,1167,7,38.1],[3000,1146,8,37.7],[3100,1124,9,37.3],[3200,1101,9,36.9],[3300,1076,11,36.4],[3400,1050,12,35.9],[3500,1021,14,35.3],[3600,988,17,34.6],[3700,951,22,33.7],[3800,903,30,32.6],[3900,826,57,30.6]]], -["charge 3","chg3",[[3000,1229,4,42.5],[3100,1214,5,42.3],[3200,1198,5,42],[3300,1181,6,41.7],[3400,1164,6,41.4],[3500,1146,7,41.1],[3600,1127,7,40.7],[3700,1108,8,40.4],[3800,1087,9,39.9],[3900,1066,9,39.5],[4000,1042,11,39],[4100,1017,12,38.4],[4200,989,14,37.7],[4300,957,17,36.9],[4400,920,22,36],[4500,871,32,34.6]]], -["charge 4","chg4",[[3500,1236,4,46.9],[3600,1223,4,46.7],[3700,1210,4,46.5],[3800,1196,4,46.2],[3900,1182,5,46],[4000,1168,5,45.7],[4100,1153,5,45.4],[4200,1137,5,45.1],[4300,1121,6,44.7],[4400,1105,6,44.4],[4500,1087,7,44],[4600,1069,7,43.6],[4700,1050,8,43.1],[4800,1029,9,42.6],[4900,1007,10,42.1],[5000,983,12,41.4],[5100,957,14,40.7],[5200,926,17,39.9],[5300,890,22,38.8],[5400,839,33,37.2]]], -["charge 5","chg5",[[4300,1237,3,53],[4400,1227,3,52.8],[4500,1216,3,52.6],[4600,1205,3,52.4],[4700,1194,3,52.1],[4800,1182,3,51.9],[4900,1171,4,51.7],[5000,1159,4,51.4],[5100,1146,4,51.1],[5200,1134,4,50.8],[5300,1121,4,50.5],[5400,1107,5,50.2],[5500,1093,5,49.8],[5600,1079,6,49.5],[5700,1064,6,49.1],[5800,1048,6,48.7],[5900,1032,7,48.2],[6000,1014,7,47.7],[6100,996,8,47.2],[6200,976,9,46.6],[6300,954,11,45.9],[6400,930,13,45.2],[6500,903,14,44.3],[6600,871,19,43.2],[6700,828,27,41.7]]], -["charge 6","chg6",[[5400,1237,2,60.8],[5500,1229,2,60.6],[5600,1220,2,60.4],[5700,1212,2,60.2],[5800,1203,2,60],[5900,1194,2,59.8],[6000,1185,2,59.6],[6100,1175,2,59.4],[6200,1166,3,59.2],[6300,1156,3,58.9],[6400,1146,3,58.7],[6500,1137,3,58.4],[6600,1126,3,58.1],[6700,1116,3,57.9],[6800,1105,3,57.6],[6900,1094,4,57.2],[7000,1083,4,56.9],[7100,1071,4,56.6],[7200,1059,4,56.2],[7300,1046,4,55.8],[7400,1033,5,55.4],[7500,1020,5,55],[7600,1006,6,54.6],[7700,991,6,54.1],[7800,976,7,53.5],[7900,959,7,53],[8000,942,8,52.4],[8100,923,9,51.7],[8200,901,10,50.9],[8300,878,12,50],[8400,851,15,49],[8500,816,21,47.6]]], -["charge 7","chg7",[[6800,1240,1,70.7],[6900,1233,1,70.6],[7000,1227,1,70.4],[7100,1220,1,70.2],[7200,1213,1,70.1],[7300,1206,2,69.9],[7400,1199,2,69.7],[7500,1192,2,69.5],[7600,1185,2,69.3],[7700,1177,2,69.1],[7800,1170,2,68.9],[7900,1163,2,68.7],[8000,1155,2,68.5],[8100,1147,2,68.2],[8200,1140,2,68],[8300,1132,2,67.8],[8400,1123,2,67.5],[8500,1115,2,67.3],[8600,1107,2,67],[8700,1098,2,66.7],[8800,1090,2,66.4],[8900,1081,3,66.1],[9000,1072,3,65.8],[9100,1062,3,65.5],[9200,1053,3,65.2],[9300,1043,3,64.8],[9400,1033,3,64.5],[9500,1023,3,64.1],[9600,1012,3,63.7],[9700,1001,4,63.3],[9800,990,4,62.9],[9900,978,4,62.5],[10000,966,4,62],[10100,953,5,61.5],[10200,940,5,60.9],[10300,926,5,60.4],[10400,910,6,59.7],[10500,894,7,59.1],[10600,877,8,58.3],[10700,858,9,57.5],[10800,837,10,56.5],[10900,812,13,55.4]]], -["charge 8","chg8",[[8200,1242,1,80.5],[8300,1236,1,80.4],[8400,1231,1,80.2],[8500,1226,1,80.1],[8600,1220,1,79.9],[8700,1214,1,79.7],[8800,1209,1,79.6],[8900,1203,1,79.4],[9000,1197,1,79.2],[9100,1191,1,79.1],[9200,1186,1,78.9],[9300,1180,1,78.7],[9400,1174,1,78.5],[9500,1167,1,78.3],[9600,1161,1,78.1],[9700,1155,1,77.9],[9800,1149,1,77.7],[9900,1142,1,77.5],[10000,1136,1,77.3],[10100,1129,1,77.1],[10200,1123,1,76.8],[10300,1116,2,76.6],[10400,1109,2,76.4],[10500,1103,2,76.1],[10600,1095,2,75.9],[10700,1088,2,75.6],[10800,1081,2,75.3],[10900,1074,2,75.1],[11000,1066,2,74.8],[11100,1059,2,74.5],[11200,1051,2,74.2],[11300,1043,2,73.9],[11400,1035,2,73.6],[11500,1027,2,73.2],[11600,1019,2,72.9],[11700,1010,2,72.6],[11800,1001,3,72.2],[11900,992,3,71.8],[12000,983,3,71.4],[12100,974,3,71],[12200,964,3,70.6],[12300,954,3,70.1],[12400,944,3,69.7],[12500,933,4,69.2],[12600,922,4,68.7],[12700,910,4,68.1],[12800,898,4,67.6],[12900,885,5,67],[13000,872,5,66.3],[13100,857,6,65.6],[13200,842,6,64.8],[13300,825,7,64],[13400,806,8,63]]] -]], -["WP","m84a1",[ -["charge 1","chg1",[[2200,1240,6,36.4],[2300,1220,7,36.2],[2400,1198,7,35.9],[2500,1176,8,35.5],[2600,1153,9,35.2],[2700,1128,10,34.8],[2800,1102,11,34.3],[2900,1074,13,33.8],[3000,1043,15,33.3],[3100,1009,18,32.6],[3200,969,23,31.7],[3300,920,30,30.7],[3400,842,56,28.8]]], -["charge 2","chg2",[[2500,1242,5,39.2],[2600,1224,6,38.9],[2700,1206,6,38.7],[2800,1187,7,38.4],[2900,1167,7,38.1],[3000,1146,8,37.7],[3100,1124,9,37.3],[3200,1101,9,36.9],[3300,1076,11,36.4],[3400,1050,12,35.9],[3500,1021,14,35.3],[3600,988,17,34.6],[3700,951,22,33.7],[3800,903,30,32.6],[3900,826,57,30.6]]], -["charge 3","chg3",[[3000,1229,4,42.5],[3100,1214,5,42.3],[3200,1198,5,42],[3300,1181,6,41.7],[3400,1164,6,41.4],[3500,1146,7,41.1],[3600,1127,7,40.7],[3700,1108,8,40.4],[3800,1087,9,39.9],[3900,1066,9,39.5],[4000,1042,11,39],[4100,1017,12,38.4],[4200,989,14,37.7],[4300,957,17,36.9],[4400,920,22,36],[4500,871,32,34.6]]], -["charge 4","chg4",[[3500,1236,4,46.9],[3600,1223,4,46.7],[3700,1210,4,46.5],[3800,1196,4,46.2],[3900,1182,5,46],[4000,1168,5,45.7],[4100,1153,5,45.4],[4200,1137,5,45.1],[4300,1121,6,44.7],[4400,1105,6,44.4],[4500,1087,7,44],[4600,1069,7,43.6],[4700,1050,8,43.1],[4800,1029,9,42.6],[4900,1007,10,42.1],[5000,983,12,41.4],[5100,957,14,40.7],[5200,926,17,39.9],[5300,890,22,38.8],[5400,839,33,37.2]]], -["charge 5","chg5",[[4300,1237,3,53],[4400,1227,3,52.8],[4500,1216,3,52.6],[4600,1205,3,52.4],[4700,1194,3,52.1],[4800,1182,3,51.9],[4900,1171,4,51.7],[5000,1159,4,51.4],[5100,1146,4,51.1],[5200,1134,4,50.8],[5300,1121,4,50.5],[5400,1107,5,50.2],[5500,1093,5,49.8],[5600,1079,6,49.5],[5700,1064,6,49.1],[5800,1048,6,48.7],[5900,1032,7,48.2],[6000,1014,7,47.7],[6100,996,8,47.2],[6200,976,9,46.6],[6300,954,11,45.9],[6400,930,13,45.2],[6500,903,14,44.3],[6600,871,19,43.2],[6700,828,27,41.7]]], -["charge 6","chg6",[[5400,1237,2,60.8],[5500,1229,2,60.6],[5600,1220,2,60.4],[5700,1212,2,60.2],[5800,1203,2,60],[5900,1194,2,59.8],[6000,1185,2,59.6],[6100,1175,2,59.4],[6200,1166,3,59.2],[6300,1156,3,58.9],[6400,1146,3,58.7],[6500,1137,3,58.4],[6600,1126,3,58.1],[6700,1116,3,57.9],[6800,1105,3,57.6],[6900,1094,4,57.2],[7000,1083,4,56.9],[7100,1071,4,56.6],[7200,1059,4,56.2],[7300,1046,4,55.8],[7400,1033,5,55.4],[7500,1020,5,55],[7600,1006,6,54.6],[7700,991,6,54.1],[7800,976,7,53.5],[7900,959,7,53],[8000,942,8,52.4],[8100,923,9,51.7],[8200,901,10,50.9],[8300,878,12,50],[8400,851,15,49],[8500,816,21,47.6]]], -["charge 7","chg7",[[6800,1240,1,70.7],[6900,1233,1,70.6],[7000,1227,1,70.4],[7100,1220,1,70.2],[7200,1213,1,70.1],[7300,1206,2,69.9],[7400,1199,2,69.7],[7500,1192,2,69.5],[7600,1185,2,69.3],[7700,1177,2,69.1],[7800,1170,2,68.9],[7900,1163,2,68.7],[8000,1155,2,68.5],[8100,1147,2,68.2],[8200,1140,2,68],[8300,1132,2,67.8],[8400,1123,2,67.5],[8500,1115,2,67.3],[8600,1107,2,67],[8700,1098,2,66.7],[8800,1090,2,66.4],[8900,1081,3,66.1],[9000,1072,3,65.8],[9100,1062,3,65.5],[9200,1053,3,65.2],[9300,1043,3,64.8],[9400,1033,3,64.5],[9500,1023,3,64.1],[9600,1012,3,63.7],[9700,1001,4,63.3],[9800,990,4,62.9],[9900,978,4,62.5],[10000,966,4,62],[10100,953,5,61.5],[10200,940,5,60.9],[10300,926,5,60.4],[10400,910,6,59.7],[10500,894,7,59.1],[10600,877,8,58.3],[10700,858,9,57.5],[10800,837,10,56.5],[10900,812,13,55.4]]] -]], -["Illum","m314a3",[ -["charge 1","chg1",[[2100,1224,9,33],[2200,1200,10,32.6],[2300,1175,11,32.2],[2400,1148,13,31.7],[2500,1120,15,31.2],[2600,1087,18,30.6],[2700,1050,22,29.8],[2800,1006,30,28.8],[2900,944,47,27.3]]], -["charge 2","chg2",[[2400,1230,7,36],[2500,1210,8,35.7],[2600,1189,8,35.3],[2700,1167,9,35],[2800,1143,11,34.5],[2900,1118,12,34.1],[3000,1091,14,33.5],[3100,1061,17,32.8],[3200,1027,21,32.1],[3300,986,27,31.1],[3400,930,41,29.6]]], -["charge 3","chg3",[[2800,1236,5,39.9],[2900,1219,6,39.6],[3000,1202,6,39.3],[3100,1184,7,39],[3200,1165,8,38.6],[3300,1146,8,38.2],[3400,1125,9,37.8],[3500,1103,10,37.3],[3600,1080,12,36.8],[3700,1054,14,36.2],[3800,1026,16,35.5],[3900,993,19,34.7],[4000,953,27,33.6],[4100,896,43,31.9]]], -["charge 4","chg4",[[3300,1244,4,44.5],[3400,1230,4,44.3],[3500,1216,5,44],[3600,1201,5,43.8],[3700,1187,5,43.5],[3800,1171,6,43.2],[3900,1156,6,42.8],[4000,1139,7,42.5],[4100,1122,7,42.1],[4200,1103,8,41.7],[4300,1084,9,41.2],[4400,1064,10,40.7],[4500,1042,11,40.2],[4600,1018,13,39.5],[4700,991,15,38.8],[4800,961,18,37.9],[4900,923,25,36.8],[5000,867,41,35]]], -["charge 5","chg5",[[4200,1234,3,50.7],[4300,1222,3,50.4],[4400,1211,3,50.2],[4500,1199,4,50],[4600,1188,4,49.7],[4700,1175,4,49.4],[4800,1163,4,49.1],[4900,1150,5,48.8],[5000,1137,5,48.5],[5100,1123,5,48.2],[5200,1109,6,47.8],[5300,1094,6,47.5],[5400,1079,7,47],[5500,1062,7,46.6],[5600,1045,8,46.1],[5700,1027,8,45.6],[5800,1008,10,45],[5900,987,11,44.4],[6000,963,13,43.6],[6100,937,15,42.8],[6200,906,20,41.7],[6300,863,29,40.2]]], -["charge 6","chg6",[[5200,1244,2,58.9],[5300,1235,2,58.7],[5400,1227,2,58.5],[5500,1218,2,58.3],[5600,1209,2,58.1],[5700,1200,3,57.9],[5800,1191,3,57.7],[5900,1181,3,57.5],[6000,1171,3,57.2],[6100,1161,3,57],[6200,1151,3,56.7],[6300,1141,3,56.4],[6400,1131,3,56.1],[6500,1120,4,55.8],[6600,1109,4,55.5],[6700,1097,4,55.2],[6800,1085,4,54.8],[6900,1073,5,54.5],[7000,1060,5,54.1],[7100,1048,5,53.7],[7200,1034,5,53.2],[7300,1020,6,52.8],[7400,1005,7,52.3],[7500,989,7,51.7],[7600,972,8,51.1],[7700,954,9,50.5],[7800,934,10,49.7],[7900,911,12,48.9],[8000,886,14,47.9],[8100,855,19,46.7],[8200,810,31,44.8]]], -["charge 7","chg7",[[6700,1240,1,68.9],[6800,1233,1,68.7],[6900,1226,2,68.5],[7000,1219,2,68.4],[7100,1212,2,68.2],[7200,1205,2,68],[7300,1198,2,67.8],[7400,1191,2,67.6],[7500,1183,2,67.4],[7600,1176,2,67.2],[7700,1168,2,67],[7800,1161,2,66.8],[7900,1153,2,66.5],[8000,1145,2,66.3],[8100,1137,2,66],[8200,1129,2,65.8],[8300,1120,2,65.5],[8400,1112,2,65.2],[8500,1103,2,65],[8600,1094,3,64.7],[8700,1085,3,64.4],[8800,1076,3,64],[8900,1067,3,63.7],[9000,1057,3,63.4],[9100,1047,3,63],[9200,1036,4,62.6],[9300,1026,4,62.3],[9400,1015,4,61.9],[9500,1003,4,61.4],[9600,992,4,61],[9700,979,5,60.5],[9800,967,5,60],[9900,953,5,59.4],[10000,939,6,58.9],[10100,924,7,58.2],[10200,908,7,57.5],[10300,890,8,56.8],[10400,871,9,55.9],[10500,849,11,54.9],[10600,822,15,53.6]]] -]], -["DPICM","m916",[ -["charge 1","chg1",[[2200,1240,6,36.4],[2300,1220,7,36.2],[2400,1198,7,35.9],[2500,1176,8,35.5],[2600,1153,9,35.2],[2700,1128,10,34.8],[2800,1102,11,34.3],[2900,1074,13,33.8],[3000,1043,15,33.3],[3100,1009,18,32.6],[3200,969,23,31.7],[3300,920,30,30.7],[3400,842,56,28.8]]], -["charge 2","chg2",[[2500,1242,5,39.2],[2600,1224,6,38.9],[2700,1206,6,38.7],[2800,1187,7,38.4],[2900,1167,7,38.1],[3000,1146,8,37.7],[3100,1124,9,37.3],[3200,1101,9,36.9],[3300,1076,11,36.4],[3400,1050,12,35.9],[3500,1021,14,35.3],[3600,988,17,34.6],[3700,951,22,33.7],[3800,903,30,32.6],[3900,826,57,30.6]]], -["charge 3","chg3",[[3000,1229,4,42.5],[3100,1214,5,42.3],[3200,1198,5,42],[3300,1181,6,41.7],[3400,1164,6,41.4],[3500,1146,7,41.1],[3600,1127,7,40.7],[3700,1108,8,40.4],[3800,1087,9,39.9],[3900,1066,9,39.5],[4000,1042,11,39],[4100,1017,12,38.4],[4200,989,14,37.7],[4300,957,17,36.9],[4400,920,22,36],[4500,871,32,34.6]]], -["charge 4","chg4",[[3500,1236,4,46.9],[3600,1223,4,46.7],[3700,1210,4,46.5],[3800,1196,4,46.2],[3900,1182,5,46],[4000,1168,5,45.7],[4100,1153,5,45.4],[4200,1137,5,45.1],[4300,1121,6,44.7],[4400,1105,6,44.4],[4500,1087,7,44],[4600,1069,7,43.6],[4700,1050,8,43.1],[4800,1029,9,42.6],[4900,1007,10,42.1],[5000,983,12,41.4],[5100,957,14,40.7],[5200,926,17,39.9],[5300,890,22,38.8],[5400,839,33,37.2]]], -["charge 5","chg5",[[4300,1237,3,53],[4400,1227,3,52.8],[4500,1216,3,52.6],[4600,1205,3,52.4],[4700,1194,3,52.1],[4800,1182,3,51.9],[4900,1171,4,51.7],[5000,1159,4,51.4],[5100,1146,4,51.1],[5200,1134,4,50.8],[5300,1121,4,50.5],[5400,1107,5,50.2],[5500,1093,5,49.8],[5600,1079,6,49.5],[5700,1064,6,49.1],[5800,1048,6,48.7],[5900,1032,7,48.2],[6000,1014,7,47.7],[6100,996,8,47.2],[6200,976,9,46.6],[6300,954,11,45.9],[6400,930,13,45.2],[6500,903,14,44.3],[6600,871,19,43.2],[6700,828,27,41.7]]], -["charge 6","chg6",[[5400,1237,2,60.8],[5500,1229,2,60.6],[5600,1220,2,60.4],[5700,1212,2,60.2],[5800,1203,2,60],[5900,1194,2,59.8],[6000,1185,2,59.6],[6100,1175,2,59.4],[6200,1166,3,59.2],[6300,1156,3,58.9],[6400,1146,3,58.7],[6500,1137,3,58.4],[6600,1126,3,58.1],[6700,1116,3,57.9],[6800,1105,3,57.6],[6900,1094,4,57.2],[7000,1083,4,56.9],[7100,1071,4,56.6],[7200,1059,4,56.2],[7300,1046,4,55.8],[7400,1033,5,55.4],[7500,1020,5,55],[7600,1006,6,54.6],[7700,991,6,54.1],[7800,976,7,53.5],[7900,959,7,53],[8000,942,8,52.4],[8100,923,9,51.7],[8200,901,10,50.9],[8300,878,12,50],[8400,851,15,49],[8500,816,21,47.6]]], -["charge 7","chg7",[[6800,1240,1,70.7],[6900,1233,1,70.6],[7000,1227,1,70.4],[7100,1220,1,70.2],[7200,1213,1,70.1],[7300,1206,2,69.9],[7400,1199,2,69.7],[7500,1192,2,69.5],[7600,1185,2,69.3],[7700,1177,2,69.1],[7800,1170,2,68.9],[7900,1163,2,68.7],[8000,1155,2,68.5],[8100,1147,2,68.2],[8200,1140,2,68],[8300,1132,2,67.8],[8400,1123,2,67.5],[8500,1115,2,67.3],[8600,1107,2,67],[8700,1098,2,66.7],[8800,1090,2,66.4],[8900,1081,3,66.1],[9000,1072,3,65.8],[9100,1062,3,65.5],[9200,1053,3,65.2],[9300,1043,3,64.8],[9400,1033,3,64.5],[9500,1023,3,64.1],[9600,1012,3,63.7],[9700,1001,4,63.3],[9800,990,4,62.9],[9900,978,4,62.5],[10000,966,4,62],[10100,953,5,61.5],[10200,940,5,60.9],[10300,926,5,60.4],[10400,910,6,59.7],[10500,894,7,59.1],[10600,877,8,58.3],[10700,858,9,57.5],[10800,837,10,56.5],[10900,812,13,55.4]]], -["charge 8","chg8",[[8200,1242,1,80.5],[8300,1236,1,80.4],[8400,1231,1,80.2],[8500,1226,1,80.1],[8600,1220,1,79.9],[8700,1214,1,79.7],[8800,1209,1,79.6],[8900,1203,1,79.4],[9000,1197,1,79.2],[9100,1191,1,79.1],[9200,1186,1,78.9],[9300,1180,1,78.7],[9400,1174,1,78.5],[9500,1167,1,78.3],[9600,1161,1,78.1],[9700,1155,1,77.9],[9800,1149,1,77.7],[9900,1142,1,77.5],[10000,1136,1,77.3],[10100,1129,1,77.1],[10200,1123,1,76.8],[10300,1116,2,76.6],[10400,1109,2,76.4],[10500,1103,2,76.1],[10600,1095,2,75.9],[10700,1088,2,75.6],[10800,1081,2,75.3],[10900,1074,2,75.1],[11000,1066,2,74.8],[11100,1059,2,74.5],[11200,1051,2,74.2],[11300,1043,2,73.9],[11400,1035,2,73.6],[11500,1027,2,73.2],[11600,1019,2,72.9],[11700,1010,2,72.6],[11800,1001,3,72.2],[11900,992,3,71.8],[12000,983,3,71.4],[12100,974,3,71],[12200,964,3,70.6],[12300,954,3,70.1],[12400,944,3,69.7],[12500,933,4,69.2],[12600,922,4,68.7],[12700,910,4,68.1],[12800,898,4,67.6],[12900,885,5,67],[13000,872,5,66.3],[13100,857,6,65.6],[13200,842,6,64.8],[13300,825,7,64],[13400,806,8,63]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum", "DPICM"]; -_tableData_charges = ["charge 1", "charge 2", "charge 3", "charge 4", "charge 5", "charge 6", "charge 7", "charge 8"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf.backup2 b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf.backup2 deleted file mode 100644 index 92b8bfc985..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m119.sqf.backup2 +++ /dev/null @@ -1,44 +0,0 @@ -_tableData_tables = [ -["HE","m1",[ -["charge 1","chg1",[[2200,1243,6,36.5],[2300,1223,6,36.3],[2400,1202,7,36],[2500,1180,8,35.7],[2600,1157,9,35.3],[2700,1133,10,34.9],[2800,1107,11,34.5],[2900,1079,13,34],[3000,1050,14,33.4],[3100,1016,17,32.8],[3200,977,22,32],[3300,931,29,31],[3400,864,47,29.4]]], -["charge 2","chg2",[[2600,1227,5,39.1],[2700,1209,6,38.8],[2800,1190,6,38.5],[2900,1171,7,38.2],[3000,1150,8,37.9],[3100,1129,9,37.5],[3200,1106,9,37.1],[3300,1082,11,36.6],[3400,1056,12,36.1],[3500,1028,14,35.5],[3600,997,17,34.9],[3700,961,20,34],[3800,917,27,33],[3900,853,45,31.3]]], -["charge 3","chg3",[[3000,1233,4,42.7],[3100,1218,5,42.5],[3200,1202,5,42.2],[3300,1186,5,41.9],[3400,1169,6,41.6],[3500,1151,6,41.3],[3600,1133,7,41],[3700,1114,8,40.6],[3800,1094,8,40.2],[3900,1072,9,39.7],[4000,1050,10,39.2],[4100,1025,12,38.7],[4200,998,14,38.1],[4300,969,16,37.3],[4400,934,20,36.4],[4500,890,28,35.3],[4600,823,49,33.4]]], -["charge 4","chg4",[[3500,1241,4,47.2],[3600,1228,4,46.9],[3700,1215,4,46.7],[3800,1201,4,46.5],[3900,1188,4,46.2],[4000,1173,5,46],[4100,1159,5,45.7],[4200,1144,5,45.4],[4300,1128,6,45],[4400,1112,6,44.7],[4500,1095,7,44.3],[4600,1077,7,43.9],[4700,1058,8,43.5],[4800,1039,9,43],[4900,1017,10,42.4],[5000,995,11,41.9],[5100,970,13,41.2],[5200,941,16,40.4],[5300,909,19,39.5],[5400,866,27,38.2]]], -["charge 5","chg5",[[4300,1242,3,53.3],[4400,1232,3,53.1],[4500,1222,3,52.9],[4600,1211,3,52.7],[4700,1200,3,52.5],[4800,1189,3,52.2],[4900,1177,3,52],[5000,1165,4,51.7],[5100,1153,4,51.5],[5200,1141,4,51.2],[5300,1128,4,50.9],[5400,1115,5,50.6],[5500,1102,5,50.2],[5600,1088,5,49.9],[5700,1073,6,49.5],[5800,1058,6,49.1],[5900,1042,7,48.7],[6000,1026,7,48.2],[6100,1008,8,47.7],[6200,989,9,47.2],[6300,969,10,46.6],[6400,947,11,45.9],[6500,923,13,45.1],[6600,895,16,44.2],[6700,861,20,43],[6800,812,32,41.3]]], -["charge 6","chg6",[[5400,1243,2,61.2],[5500,1235,2,61],[5600,1227,2,60.9],[5700,1218,2,60.7],[5800,1210,2,60.5],[5900,1201,2,60.3],[6000,1192,2,60.1],[6100,1183,2,59.9],[6200,1174,2,59.6],[6300,1165,3,59.4],[6400,1155,3,59.2],[6500,1145,3,58.9],[6600,1135,3,58.7],[6700,1125,3,58.4],[6800,1115,3,58.1],[6900,1104,3,57.8],[7000,1093,4,57.5],[7100,1082,4,57.2],[7200,1070,4,56.8],[7300,1058,4,56.5],[7400,1046,5,56.1],[7500,1033,5,55.7],[7600,1020,5,55.3],[7700,1006,6,54.8],[7800,992,6,54.3],[7900,976,6,53.8],[8000,960,7,53.3],[8100,943,8,52.7],[8200,924,9,52],[8300,904,10,51.2],[8400,880,12,50.3],[8500,854,15,49.3],[8600,821,19,48]]], -["charge 7","chg7",[[6900,1241,1,71.2],[7000,1234,1,71],[7100,1228,1,70.8],[7200,1221,1,70.7],[7300,1214,1,70.5],[7400,1207,1,70.3],[7500,1201,2,70.1],[7600,1194,2,70],[7700,1187,2,69.8],[7800,1179,2,69.6],[7900,1172,2,69.4],[8000,1165,2,69.1],[8100,1157,2,68.9],[8200,1150,2,68.7],[8300,1142,2,68.5],[8400,1134,2,68.2],[8500,1126,2,68],[8600,1118,2,67.7],[8700,1110,2,67.5],[8800,1102,2,67.2],[8900,1093,2,66.9],[9000,1085,3,66.7],[9100,1076,3,66.4],[9200,1067,3,66.1],[9300,1057,3,65.7],[9400,1048,3,65.4],[9500,1038,3,65.1],[9600,1028,3,64.7],[9700,1018,3,64.3],[9800,1007,4,63.9],[9900,996,4,63.5],[10000,985,4,63.1],[10100,973,5,62.6],[10200,961,5,62.1],[10300,948,5,61.6],[10400,935,5,61.1],[10500,921,6,60.5],[10600,905,6,59.9],[10700,889,7,59.2],[10800,872,8,58.4],[10900,852,9,57.5],[11000,830,11,56.5],[11100,803,14,55.3]]], -["charge 8","chg8",[[8400,1240,1,81],[8500,1234,1,80.9],[8600,1229,1,80.7],[8700,1223,1,80.6],[8800,1218,1,80.4],[8900,1212,1,80.3],[9000,1207,1,80.1],[9100,1201,1,79.9],[9200,1196,1,79.7],[9300,1190,1,79.6],[9400,1184,1,79.4],[9500,1178,1,79.2],[9600,1172,1,79],[9700,1166,1,78.8],[9800,1160,1,78.6],[9900,1154,1,78.4],[10000,1148,1,78.2],[10100,1142,1,78],[10200,1135,1,77.8],[10300,1129,1,77.6],[10400,1122,1,77.3],[10500,1116,2,77.1],[10600,1109,2,76.9],[10700,1102,2,76.6],[10800,1095,2,76.4],[10900,1088,2,76.1],[11000,1081,2,75.9],[11100,1074,2,75.6],[11200,1067,2,75.3],[11300,1059,2,75],[11400,1052,2,74.7],[11500,1044,2,74.4],[11600,1036,2,74.1],[11700,1028,2,73.8],[11800,1020,2,73.5],[11900,1012,2,73.1],[12000,1003,3,72.7],[12100,994,3,72.4],[12200,985,3,72],[12300,976,3,71.6],[12400,966,3,71.2],[12500,957,3,70.7],[12600,947,3,70.3],[12700,936,3,69.8],[12800,925,4,69.3],[12900,914,4,68.8],[13000,902,4,68.2],[13100,890,4,67.6],[13200,877,5,67],[13300,863,5,66.3],[13400,848,6,65.6],[13500,832,7,64.8],[13600,814,8,63.8]]] -]], -["WP","m84a1",[ -["charge 1","chg1",[[2200,1230,7,35.1],[2300,1208,8,34.8],[2400,1185,9,34.5],[2500,1162,10,34.1],[2600,1136,11,33.7],[2700,1110,12,33.2],[2800,1080,14,32.7],[2900,1048,17,32.1],[3000,1012,21,31.3],[3100,967,28,30.3],[3200,907,42,28.9]]], -["charge 2","chg2",[[2500,1234,6,38],[2600,1215,6,37.7],[2700,1196,7,37.4],[2800,1176,8,37.1],[2900,1155,8,36.8],[3000,1133,9,36.4],[3100,1109,10,35.9],[3200,1084,12,35.4],[3300,1057,14,34.9],[3400,1027,16,34.2],[3500,992,20,33.5],[3600,951,26,32.5],[3700,895,39,31.1]]], -["charge 3","chg3",[[2900,1239,5,41.7],[3000,1224,5,41.5],[3100,1207,5,41.2],[3200,1191,6,40.9],[3300,1174,6,40.6],[3400,1156,7,40.3],[3500,1137,7,39.9],[3600,1117,8,39.5],[3700,1096,9,39.1],[3800,1074,10,38.6],[3900,1051,11,38.1],[4000,1025,13,37.5],[4100,996,16,36.8],[4200,963,19,36],[4300,924,25,34.9],[4400,868,40,33.3]]], -["charge 4","chg4",[[3500,1233,4,46],[3600,1220,4,45.8],[3700,1206,4,45.6],[3800,1192,5,45.3],[3900,1178,5,45],[4000,1163,5,44.7],[4100,1148,6,44.4],[4200,1132,6,44.1],[4300,1115,7,43.7],[4400,1098,7,43.3],[4500,1080,8,42.9],[4600,1061,9,42.5],[4700,1040,10,41.9],[4800,1018,11,41.4],[4900,994,12,40.7],[5000,967,15,40],[5100,937,18,39.1],[5200,899,24,38],[5300,845,38,36.3]]], -["charge 5","chg5",[[4300,1237,3,52.3],[4400,1226,3,52.1],[4500,1215,3,51.9],[4600,1204,3,51.7],[4700,1193,3,51.4],[4800,1182,4,51.2],[4900,1170,4,50.9],[5000,1158,4,50.6],[5100,1145,4,50.4],[5200,1132,5,50.1],[5300,1119,5,49.7],[5400,1105,5,49.4],[5500,1091,5,49],[5600,1076,6,48.6],[5700,1061,6,48.2],[5800,1045,7,47.8],[5900,1028,7,47.3],[6000,1010,8,46.8],[6100,990,9,46.2],[6200,969,11,45.6],[6300,946,12,44.8],[6400,920,14,44],[6500,890,18,43],[6600,849,26,41.5]]], -["charge 6","chg6",[[5400,1239,2,60.3],[5500,1231,2,60.2],[5600,1223,2,60],[5700,1214,2,59.8],[5800,1205,2,59.6],[5900,1196,2,59.4],[6000,1187,3,59.1],[6100,1178,3,58.9],[6200,1169,3,58.7],[6300,1159,3,58.4],[6400,1149,3,58.2],[6500,1139,3,57.9],[6600,1129,3,57.7],[6700,1119,3,57.4],[6800,1108,4,57.1],[6900,1097,4,56.8],[7000,1086,4,56.4],[7100,1074,4,56.1],[7200,1062,4,55.7],[7300,1049,5,55.3],[7400,1036,5,54.9],[7500,1023,5,54.5],[7600,1009,6,54],[7700,994,6,53.5],[7800,979,7,53],[7900,962,7,52.4],[8000,944,8,51.8],[8100,925,9,51.1],[8200,904,11,50.3],[8300,879,13,49.3],[8400,850,17,48.2],[8500,811,25,46.6]]], -["charge 7","chg7",[[6900,1238,1,70.4],[7000,1231,1,70.2],[7100,1225,1,70],[7200,1218,1,69.9],[7300,1211,1,69.7],[7400,1204,2,69.5],[7500,1197,2,69.3],[7600,1190,2,69.1],[7700,1183,2,68.9],[7800,1176,2,68.7],[7900,1169,2,68.5],[8000,1161,2,68.3],[8100,1154,2,68.1],[8200,1146,2,67.8],[8300,1138,2,67.6],[8400,1130,2,67.4],[8500,1122,2,67.1],[8600,1114,2,66.9],[8700,1106,2,66.6],[8800,1097,2,66.3],[8900,1088,3,66],[9000,1079,3,65.7],[9100,1070,3,65.4],[9200,1061,3,65.1],[9300,1051,3,64.8],[9400,1042,3,64.4],[9500,1032,3,64],[9600,1021,4,63.7],[9700,1011,4,63.3],[9800,1000,4,62.9],[9900,988,4,62.4],[10000,976,4,62],[10100,964,5,61.5],[10200,951,5,60.9],[10300,937,6,60.4],[10400,923,6,59.8],[10500,908,7,59.1],[10600,891,7,58.4],[10700,873,8,57.6],[10800,853,10,56.7],[10900,829,12,55.6],[11000,801,16,54.3]]] -]], -["Illum","m314a3",[ -["charge 1","chg1",[[2000,1241,8,32.6],[2100,1218,10,32.2],[2200,1193,11,31.8],[2300,1167,13,31.4],[2400,1138,15,30.9],[2500,1107,17,30.3],[2600,1071,22,29.5],[2700,1029,28,28.6],[2800,971,44,27.2]]], -["charge 2","chg2",[[2400,1226,7,35.4],[2500,1205,8,35.1],[2600,1184,9,34.7],[2700,1161,10,34.3],[2800,1136,12,33.8],[2900,1110,14,33.3],[3000,1081,16,32.7],[3100,1049,19,31.9],[3200,1010,25,31],[3300,960,37,29.7]]], -["charge 3","chg3",[[2800,1234,6,39.4],[2900,1217,6,39.1],[3000,1200,7,38.8],[3100,1181,7,38.4],[3200,1162,8,38.1],[3300,1142,9,37.7],[3400,1121,10,37.2],[3500,1099,11,36.7],[3600,1074,13,36.2],[3700,1047,15,35.5],[3800,1017,19,34.7],[3900,981,23,33.8],[4000,933,34,32.4]]], -["charge 4","chg4",[[3300,1244,4,44.2],[3400,1230,4,43.9],[3500,1216,5,43.7],[3600,1201,5,43.4],[3700,1186,6,43.1],[3800,1171,6,42.8],[3900,1155,6,42.4],[4000,1138,7,42.1],[4100,1121,7,41.7],[4200,1103,8,41.3],[4300,1083,9,40.8],[4400,1062,10,40.3],[4500,1040,12,39.7],[4600,1015,13,39],[4700,987,17,38.2],[4800,954,21,37.2],[4900,912,30,35.9]]], -["charge 5","chg5",[[4200,1236,3,50.4],[4300,1225,3,50.2],[4400,1213,3,50],[4500,1202,4,49.7],[4600,1190,4,49.5],[4700,1178,4,49.2],[4800,1165,4,48.9],[4900,1153,5,48.6],[5000,1139,5,48.3],[5100,1126,5,48],[5200,1112,6,47.6],[5300,1097,6,47.2],[5400,1082,7,46.8],[5500,1065,7,46.4],[5600,1048,8,45.9],[5700,1030,9,45.4],[5800,1011,10,44.8],[5900,990,11,44.1],[6000,966,13,43.4],[6100,939,16,42.5],[6200,908,20,41.4],[6300,863,31,39.7]]], -["charge 6","chg6",[[5300,1240,2,58.7],[5400,1231,2,58.5],[5500,1222,2,58.3],[5600,1213,2,58.1],[5700,1204,3,57.9],[5800,1195,3,57.7],[5900,1186,3,57.5],[6000,1176,3,57.2],[6100,1167,3,57],[6200,1157,3,56.7],[6300,1147,3,56.4],[6400,1136,3,56.2],[6500,1126,4,55.9],[6600,1115,4,55.5],[6700,1104,4,55.2],[6800,1092,4,54.9],[6900,1080,5,54.5],[7000,1068,5,54.2],[7100,1055,5,53.7],[7200,1042,6,53.3],[7300,1028,6,52.9],[7400,1013,6,52.4],[7500,998,7,51.8],[7600,981,8,51.3],[7700,964,9,50.6],[7800,945,10,49.9],[7900,923,11,49.1],[8000,899,14,48.2],[8100,871,17,47.1],[8200,832,25,45.4]]], -["charge 7","chg7",[[6800,1239,1,68.9],[6900,1232,1,68.8],[7000,1226,1,68.6],[7100,1219,2,68.4],[7200,1212,2,68.2],[7300,1205,2,68],[7400,1198,2,67.8],[7500,1191,2,67.7],[7600,1183,2,67.4],[7700,1176,2,67.2],[7800,1169,2,67],[7900,1161,2,66.8],[8000,1153,2,66.6],[8100,1145,2,66.3],[8200,1137,2,66.1],[8300,1129,2,65.8],[8400,1121,2,65.6],[8500,1113,3,65.3],[8600,1104,3,65],[8700,1095,3,64.7],[8800,1086,3,64.4],[8900,1077,3,64.1],[9000,1068,3,63.8],[9100,1058,3,63.4],[9200,1048,3,63.1],[9300,1038,4,62.7],[9400,1028,4,62.3],[9500,1017,4,61.9],[9600,1005,4,61.5],[9700,994,4,61],[9800,982,5,60.5],[9900,969,5,60],[10000,956,6,59.5],[10100,942,6,58.9],[10200,927,6,58.3],[10300,911,7,57.6],[10400,893,8,56.8],[10500,874,10,56],[10600,852,12,54.9],[10700,826,15,53.7]]] -]], -["DPICM","m916",[ -["charge 1","chg1",[[2200,1236,6,35.9],[2300,1216,7,35.6],[2400,1194,8,35.2],[2500,1171,8,34.9],[2600,1147,10,34.5],[2700,1122,11,34.1],[2800,1095,12,33.6],[2900,1065,14,33.1],[3000,1032,17,32.4],[3100,995,21,31.7],[3200,949,28,30.7],[3300,886,44,29.2]]], -["charge 2","chg2",[[2500,1240,5,38.7],[2600,1222,6,38.4],[2700,1203,6,38.1],[2800,1183,7,37.8],[2900,1163,8,37.5],[3000,1142,8,37.1],[3100,1120,9,36.7],[3200,1096,11,36.3],[3300,1070,12,35.8],[3400,1043,14,35.2],[3500,1012,16,34.6],[3600,977,20,33.8],[3700,934,27,32.7],[3800,875,41,31.2]]], -["charge 3","chg3",[[2900,1244,4,42.3],[3000,1229,5,42.1],[3100,1213,5,41.8],[3200,1197,5,41.6],[3300,1180,6,41.3],[3400,1162,6,41],[3500,1144,7,40.6],[3600,1125,7,40.3],[3700,1106,8,39.9],[3800,1085,9,39.4],[3900,1062,10,39],[4000,1038,12,38.4],[4100,1012,13,37.8],[4200,983,16,37.1],[4300,949,20,36.2],[4400,908,26,35.1],[4500,847,44,33.4]]], -["charge 4","chg4",[[3500,1237,4,46.6],[3600,1224,4,46.4],[3700,1211,4,46.1],[3800,1197,4,45.9],[3900,1183,5,45.6],[4000,1168,5,45.4],[4100,1154,5,45.1],[4200,1138,6,44.7],[4300,1122,6,44.4],[4400,1105,6,44],[4500,1088,7,43.6],[4600,1069,8,43.2],[4700,1050,9,42.7],[4800,1029,10,42.2],[4900,1007,11,41.6],[5000,982,13,41],[5100,955,15,40.2],[5200,923,19,39.3],[5300,883,25,38.1],[5400,824,43,36.2]]], -["charge 5","chg5",[[4300,1240,3,52.8],[4400,1229,3,52.6],[4500,1219,3,52.4],[4600,1208,3,52.2],[4700,1197,3,52],[4800,1185,3,51.7],[4900,1174,4,51.5],[5000,1162,4,51.2],[5100,1149,4,50.9],[5200,1137,4,50.6],[5300,1124,4,50.3],[5400,1110,5,50],[5500,1097,5,49.6],[5600,1082,5,49.3],[5700,1067,6,48.9],[5800,1052,6,48.5],[5900,1035,7,48],[6000,1018,8,47.5],[6100,1000,8,47],[6200,980,9,46.4],[6300,958,11,45.7],[6400,935,13,45],[6500,908,15,44.1],[6600,875,19,43],[6700,832,28,41.5]]], -["charge 6","chg6",[[5400,1241,2,60.8],[5500,1233,2,60.6],[5600,1225,2,60.4],[5700,1216,2,60.2],[5800,1207,2,60],[5900,1199,2,59.8],[6000,1190,2,59.6],[6100,1181,2,59.4],[6200,1171,3,59.2],[6300,1162,3,58.9],[6400,1152,3,58.7],[6500,1142,3,58.4],[6600,1132,3,58.2],[6700,1122,3,57.9],[6800,1111,3,57.6],[6900,1101,4,57.3],[7000,1089,4,57],[7100,1078,4,56.6],[7200,1066,4,56.3],[7300,1054,4,55.9],[7400,1041,5,55.5],[7500,1028,5,55.1],[7600,1015,5,54.7],[7700,1000,6,54.2],[7800,985,6,53.7],[7900,969,7,53.1],[8000,952,8,52.5],[8100,934,9,51.9],[8200,914,10,51.2],[8300,892,11,50.3],[8400,867,14,49.3],[8500,836,18,48.1]]], -["charge 7","chg7",[[6900,1239,1,70.8],[7000,1233,1,70.6],[7100,1226,1,70.4],[7200,1219,1,70.3],[7300,1213,1,70.1],[7400,1206,2,69.9],[7500,1199,2,69.7],[7600,1192,2,69.5],[7700,1185,2,69.3],[7800,1178,2,69.1],[7900,1170,2,68.9],[8000,1163,2,68.7],[8100,1156,2,68.5],[8200,1148,2,68.3],[8300,1140,2,68],[8400,1132,2,67.8],[8500,1124,2,67.6],[8600,1116,2,67.3],[8700,1108,2,67],[8800,1099,2,66.8],[8900,1091,2,66.5],[9000,1082,3,66.2],[9100,1073,3,65.9],[9200,1064,3,65.6],[9300,1055,3,65.3],[9400,1045,3,64.9],[9500,1035,3,64.6],[9600,1025,4,64.2],[9700,1014,4,63.8],[9800,1003,4,63.4],[9900,992,4,63],[10000,981,4,62.5],[10100,969,5,62],[10200,956,5,61.5],[10300,943,5,61],[10400,929,6,60.4],[10500,914,6,59.8],[10600,898,7,59.2],[10700,881,8,58.4],[10800,863,9,57.6],[10900,841,11,56.6],[11000,817,13,55.5]]], -["charge 8","chg8",[[8300,1244,1,80.8],[8400,1239,1,80.7],[8500,1233,1,80.5],[8600,1228,1,80.4],[8700,1222,1,80.2],[8800,1217,1,80],[8900,1211,1,79.9],[9000,1206,1,79.7],[9100,1200,1,79.5],[9200,1194,1,79.4],[9300,1189,1,79.2],[9400,1183,1,79],[9500,1177,1,78.8],[9600,1171,1,78.6],[9700,1165,1,78.4],[9800,1159,1,78.2],[9900,1153,1,78],[10000,1146,1,77.8],[10100,1140,1,77.6],[10200,1134,1,77.4],[10300,1127,1,77.2],[10400,1121,2,77],[10500,1114,2,76.7],[10600,1107,2,76.5],[10700,1101,2,76.2],[10800,1094,2,76],[10900,1087,2,75.7],[11000,1080,2,75.5],[11100,1072,2,75.2],[11200,1065,2,74.9],[11300,1057,2,74.6],[11400,1050,2,74.3],[11500,1042,2,74],[11600,1034,2,73.7],[11700,1026,2,73.3],[11800,1018,2,73],[11900,1009,3,72.6],[12000,1000,3,72.3],[12100,992,3,71.9],[12200,982,3,71.5],[12300,973,3,71.1],[12400,963,3,70.7],[12500,953,3,70.2],[12600,943,3,69.8],[12700,932,4,69.3],[12800,921,4,68.8],[12900,910,4,68.2],[13000,898,5,67.6],[13100,885,5,67],[13200,871,5,66.4],[13300,857,6,65.6],[13400,841,7,64.8],[13500,824,7,64],[13600,805,9,63]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum", "DPICM"]; -_tableData_charges = ["charge 1", "charge 2", "charge 3", "charge 4", "charge 5", "charge 6", "charge 7", "charge 8"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m224_legacy.sqf b/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m224_legacy.sqf deleted file mode 100644 index 68d4686fd8..0000000000 --- a/TO_MERGE/ace/arty_range_tables/missions/ace_arty_rangeTables.Takistan/tables/m224_legacy.sqf +++ /dev/null @@ -1,21 +0,0 @@ -_tableData_tables = [ -["HE","ACE_1Rnd_60mmHE_M224",[ -["Close","",[[100,1483,11,13.3],[125,1453,14,13.2],[150,1422,18,13.2],[175,1391,21,13.1],[200,1359,25,13],[225,1326,30,12.9],[250,1291,34,12.7],[275,1255,40,12.6],[300,1216,47,12.4],[325,1175,56,12.2],[350,1129,66,12],[375,1078,81,11.6],[400,1015,105,11.2],[425,927,150,10.5]]], -["Medium","",[[400,1505,2,29.6],[450,1493,2,29.6],[500,1481,3,29.5],[550,1469,3,29.5],[600,1457,3,29.4],[650,1445,4,29.4],[700,1432,4,29.3],[750,1420,4,29.3],[800,1407,5,29.2],[850,1395,5,29.1],[900,1382,5,29],[950,1369,6,29],[1000,1356,6,28.9],[1050,1342,7,28.8],[1100,1329,7,28.7],[1150,1315,7,28.6],[1200,1301,8,28.4],[1250,1287,9,28.3],[1300,1272,9,28.2],[1350,1257,10,28],[1400,1242,11,27.9],[1450,1227,11,27.7],[1500,1211,12,27.6],[1550,1194,13,27.4],[1600,1177,14,27.2],[1650,1159,16,27],[1700,1141,17,26.7],[1750,1121,19,26.5],[1800,1101,20,26.2],[1850,1079,23,25.9],[1900,1056,25,25.6],[1950,1030,29,25.2],[2000,1001,34,24.7],[2050,968,41,24.2],[2100,926,54,23.4],[2150,862,84,22.2]]], -["Far","",[[1100,1506,1,49.3],[1200,1498,1,49.3],[1300,1489,1,49.2],[1400,1480,1,49.2],[1500,1472,1,49.1],[1600,1463,1,49.1],[1700,1454,1,49],[1800,1445,1,49],[1900,1436,1,48.9],[2000,1428,2,48.8],[2100,1419,2,48.7],[2200,1409,2,48.7],[2300,1400,2,48.6],[2400,1391,2,48.5],[2500,1382,2,48.4],[2600,1373,2,48.3],[2700,1363,2,48.2],[2800,1354,2,48.1],[2900,1344,2,48],[3000,1334,3,47.9],[3100,1324,3,47.7],[3200,1315,3,47.6],[3300,1304,3,47.5],[3400,1294,3,47.3],[3500,1284,3,47.2],[3600,1274,3,47],[3700,1263,4,46.8],[3800,1252,4,46.7],[3900,1241,4,46.5],[4000,1230,4,46.3],[4100,1218,4,46.1],[4200,1207,5,45.9],[4300,1195,5,45.7],[4400,1183,5,45.4],[4500,1170,6,45.2],[4600,1157,6,44.9],[4700,1144,6,44.6],[4800,1130,7,44.3],[4900,1116,7,44],[5000,1101,8,43.7],[5100,1085,8,43.3],[5200,1069,9,43],[5300,1052,10,42.5],[5400,1033,11,42],[5500,1013,13,41.5],[5600,991,14,40.9],[5700,966,17,40.2],[5800,938,21,39.4],[5900,901,29,38.3],[6000,840,53,36.4]]] -]], -["WP","ACE_1Rnd_60mmWP_M224",[ -["Close","",[[100,1483,11,13.3],[125,1453,14,13.2],[150,1422,18,13.2],[175,1391,21,13.1],[200,1359,25,13],[225,1326,30,12.9],[250,1291,34,12.7],[275,1255,40,12.6],[300,1216,47,12.4],[325,1175,56,12.2],[350,1129,66,12],[375,1078,81,11.6],[400,1015,105,11.2],[425,927,150,10.5]]], -["Medium","",[[400,1505,2,29.6],[450,1493,2,29.6],[500,1481,3,29.5],[550,1469,3,29.5],[600,1457,3,29.4],[650,1445,4,29.4],[700,1432,4,29.3],[750,1420,4,29.3],[800,1407,5,29.2],[850,1395,5,29.1],[900,1382,5,29],[950,1369,6,29],[1000,1356,6,28.9],[1050,1342,7,28.8],[1100,1329,7,28.7],[1150,1315,7,28.6],[1200,1301,8,28.4],[1250,1287,9,28.3],[1300,1272,9,28.2],[1350,1257,10,28],[1400,1242,11,27.9],[1450,1227,11,27.7],[1500,1211,12,27.6],[1550,1194,13,27.4],[1600,1177,14,27.2],[1650,1159,16,27],[1700,1141,17,26.7],[1750,1121,19,26.5],[1800,1101,20,26.2],[1850,1079,23,25.9],[1900,1056,25,25.6],[1950,1030,29,25.2],[2000,1001,34,24.7],[2050,968,41,24.2],[2100,926,54,23.4],[2150,862,84,22.2]]], -["Far","",[[1100,1506,1,49.3],[1200,1498,1,49.3],[1300,1489,1,49.2],[1400,1480,1,49.2],[1500,1472,1,49.1],[1600,1463,1,49.1],[1700,1454,1,49],[1800,1445,1,49],[1900,1436,1,48.9],[2000,1428,2,48.8],[2100,1419,2,48.7],[2200,1409,2,48.7],[2300,1400,2,48.6],[2400,1391,2,48.5],[2500,1382,2,48.4],[2600,1373,2,48.3],[2700,1363,2,48.2],[2800,1354,2,48.1],[2900,1344,2,48],[3000,1334,3,47.9],[3100,1324,3,47.7],[3200,1315,3,47.6],[3300,1304,3,47.5],[3400,1294,3,47.3],[3500,1284,3,47.2],[3600,1274,3,47],[3700,1263,4,46.8],[3800,1252,4,46.7],[3900,1241,4,46.5],[4000,1230,4,46.3],[4100,1218,4,46.1],[4200,1207,5,45.9],[4300,1195,5,45.7],[4400,1183,5,45.4],[4500,1170,6,45.2],[4600,1157,6,44.9],[4700,1144,6,44.6],[4800,1130,7,44.3],[4900,1116,7,44],[5000,1101,8,43.7],[5100,1085,8,43.3],[5200,1069,9,43],[5300,1052,10,42.5],[5400,1033,11,42],[5500,1013,13,41.5],[5600,991,14,40.9],[5700,966,17,40.2],[5800,938,21,39.4],[5900,901,29,38.3],[6000,840,53,36.4]]] -]], -["Illum","ACE_1Rnd_60mmILLUM_M224",[ -["Close","",[]], -["Medium","",[[350,1511,3,27.4],[400,1498,3,27.3],[450,1485,3,27.3],[500,1471,4,27.2],[550,1458,4,27.2],[600,1445,5,27.1],[650,1431,5,27],[700,1418,6,27],[750,1404,6,26.9],[800,1390,7,26.8],[850,1376,7,26.7],[900,1362,8,26.6],[950,1347,8,26.5],[1000,1332,9,26.4],[1050,1317,10,26.2],[1100,1301,10,26.1],[1150,1285,11,25.9],[1200,1269,12,25.8],[1250,1252,13,25.6],[1300,1235,15,25.4],[1350,1217,16,25.2],[1400,1198,17,25],[1450,1178,19,24.7],[1500,1158,21,24.4],[1550,1135,24,24.1],[1600,1112,28,23.8],[1650,1086,32,23.4],[1700,1056,38,22.9],[1750,1021,48,22.3],[1800,974,65,21.4]]], -["Far","",[[1000,1513,1,48.1],[1100,1504,1,48],[1200,1495,1,48],[1300,1486,1,47.9],[1400,1477,1,47.9],[1500,1468,1,47.8],[1600,1459,1,47.8],[1700,1450,1,47.7],[1800,1441,1,47.6],[1900,1432,2,47.6],[2000,1423,2,47.5],[2100,1413,2,47.4],[2200,1404,2,47.3],[2300,1395,2,47.2],[2400,1385,2,47.1],[2500,1375,2,47],[2600,1366,2,46.9],[2700,1356,2,46.8],[2800,1346,3,46.7],[2900,1336,3,46.6],[3000,1326,3,46.4],[3100,1316,3,46.3],[3200,1305,3,46.1],[3300,1295,3,46],[3400,1284,4,45.8],[3500,1273,4,45.7],[3600,1262,4,45.5],[3700,1251,4,45.3],[3800,1239,4,45.1],[3900,1228,5,44.9],[4000,1216,5,44.7],[4100,1203,5,44.4],[4200,1191,6,44.2],[4300,1178,6,44],[4400,1165,6,43.7],[4500,1151,7,43.4],[4600,1137,7,43.1],[4700,1122,8,42.7],[4800,1106,9,42.4],[4900,1090,9,42],[5000,1073,10,41.6],[5100,1054,11,41.1],[5200,1034,13,40.6],[5300,1013,15,40],[5400,988,17,39.3],[5500,959,22,38.5],[5600,923,29,37.3],[5700,861,56,35.3]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["Close", "Medium", "Far"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/script_component.hpp b/TO_MERGE/ace/arty_range_tables/script_component.hpp deleted file mode 100644 index b304e55736..0000000000 --- a/TO_MERGE/ace/arty_range_tables/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT sys_arty_range_tables -#include "\x\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_ARTY_RANGE_TABLES - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_ARTY_RANGE_TABLES - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_ARTY_RANGE_TABLES -#endif - -#include "\x\ace\addons\main\script_macros.hpp" diff --git a/TO_MERGE/ace/arty_range_tables/stringtable.xml b/TO_MERGE/ace/arty_range_tables/stringtable.xml deleted file mode 100644 index 2cf7278b5b..0000000000 --- a/TO_MERGE/ace/arty_range_tables/stringtable.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -M119 Tabelle -M119 Range Table -M119 Range Table -M119 Balistické tabulky -M119 Range Table -Tabela balistyczna M119 -M119 Range Table -M119 Баллистические Таблицы -M119 Range Table - - - - - diff --git a/TO_MERGE/ace/arty_range_tables/tables/120_tampella.sqf b/TO_MERGE/ace/arty_range_tables/tables/120_tampella.sqf deleted file mode 100644 index 0f7c07faf2..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/120_tampella.sqf +++ /dev/null @@ -1,32 +0,0 @@ -// 82mm Shell Ballistics (TODO) -// HE: Max Range with full increments : 6200 -// WP: Max Range (same ballistics as HE): 6200 (use same shell) [not much data found] -// ILLUM: Max Range: 2670 - -_tableData_tables = [ -["HE","he",[ -["charge 0","chg0",[[200,1497,5,1,20.3],[300,1445,7,1,20.1],[400,1390,10,1,19.9],[500,1332,14,1.1,19.7],[600,1271,18,1.1,19.3],[700,1203,24,1.2,18.9],[800,1124,34,1.4,18.2],[900,1024,54,1.7,17.2]]], -["charge 1","chg1",[[500,1496,2,0.7,32.4],[600,1475,2,0.7,32.3],[700,1454,3,0.7,32.2],[800,1432,3,0.7,32.1],[900,1410,4,0.7,32],[1000,1387,4,0.7,31.9],[1100,1364,5,0.7,31.7],[1200,1340,5,0.7,31.5],[1300,1316,6,0.7,31.3],[1400,1291,7,0.7,31.1],[1500,1265,8,0.8,30.8],[1600,1238,9,0.8,30.5],[1700,1209,10,0.8,30.2],[1800,1179,11,0.9,29.8],[1900,1147,13,0.9,29.4],[2000,1112,15,0.9,28.9],[2100,1073,18,1,28.4],[2200,1030,23,1.1,27.7],[2300,977,31,1.3,26.7],[2400,906,48,1.7,25.4]]], -["charge 2","chg2",[[700,1510,1,0.5,41.8],[800,1497,1,0.5,41.8],[900,1484,1,0.5,41.7],[1000,1470,1,0.5,41.6],[1100,1457,2,0.5,41.6],[1200,1443,2,0.5,41.5],[1300,1430,2,0.5,41.4],[1400,1416,2,0.5,41.3],[1500,1402,2,0.6,41.2],[1600,1388,2,0.6,41.1],[1700,1373,3,0.6,40.9],[1800,1359,3,0.6,40.8],[1900,1344,3,0.6,40.7],[2000,1329,3,0.6,40.5],[2100,1313,4,0.6,40.3],[2200,1298,4,0.6,40.2],[2300,1282,4,0.6,40],[2400,1265,4,0.6,39.8],[2500,1248,5,0.6,39.5],[2600,1231,5,0.6,39.3],[2700,1213,6,0.6,39],[2800,1194,6,0.7,38.7],[2900,1175,7,0.7,38.4],[3000,1155,8,0.7,38.1],[3100,1134,8,0.7,37.7],[3200,1111,9,0.8,37.3],[3300,1088,10,0.8,36.9],[3400,1063,11,0.8,36.4],[3500,1035,13,0.9,35.8],[3600,1005,16,0.9,35.2],[3700,971,19,1.1,34.4],[3800,930,25,1.2,33.4],[3900,874,37,1.6,32]]], -["charge 3","chg3",[[1000,1505,1,0.5,49.4],[1100,1495,1,0.5,49.3],[1200,1485,1,0.5,49.3],[1300,1476,1,0.5,49.3],[1400,1466,1,0.5,49.2],[1500,1456,1,0.5,49.1],[1600,1446,1,0.5,49],[1700,1436,1,0.5,49],[1800,1425,1,0.5,48.9],[1900,1415,1,0.5,48.8],[2000,1405,2,0.5,48.7],[2100,1394,2,0.5,48.6],[2200,1384,2,0.5,48.5],[2300,1373,2,0.5,48.4],[2400,1362,2,0.5,48.3],[2500,1351,2,0.5,48.2],[2600,1340,2,0.5,48],[2700,1329,2,0.5,47.9],[2800,1317,2,0.5,47.7],[2900,1306,3,0.5,47.6],[3000,1294,3,0.5,47.4],[3100,1282,3,0.5,47.2],[3200,1270,3,0.5,47.1],[3300,1257,3,0.5,46.9],[3400,1244,3,0.5,46.7],[3500,1231,4,0.5,46.5],[3600,1218,4,0.6,46.2],[3700,1205,4,0.6,46],[3800,1191,4,0.6,45.7],[3900,1176,5,0.6,45.5],[4000,1161,5,0.6,45.2],[4100,1146,5,0.6,44.9],[4200,1130,6,0.6,44.5],[4300,1114,6,0.6,44.2],[4400,1096,7,0.7,43.8],[4500,1078,7,0.7,43.4],[4600,1059,8,0.7,43],[4700,1039,9,0.8,42.5],[4800,1018,10,0.8,42],[4900,994,11,0.8,41.4],[5000,969,14,0.9,40.7],[5100,940,16,1,39.9],[5200,906,20,1.1,38.9],[5300,861,29,1.5,37.6]]], -["charge 4","chg4",[[1300,1510,0,0.4,59.2],[1400,1503,0,0.4,59.1],[1500,1496,1,0.4,59.1],[1600,1488,1,0.4,59],[1700,1481,1,0.4,59],[1800,1474,1,0.4,58.9],[1900,1467,1,0.4,58.9],[2000,1459,1,0.4,58.8],[2100,1452,1,0.4,58.8],[2200,1445,1,0.4,58.7],[2300,1437,1,0.4,58.6],[2400,1430,1,0.4,58.6],[2500,1422,1,0.4,58.5],[2600,1415,1,0.4,58.4],[2700,1407,1,0.4,58.3],[2800,1399,1,0.4,58.3],[2900,1392,1,0.4,58.2],[3000,1384,1,0.4,58.1],[3100,1376,1,0.4,58],[3200,1368,1,0.4,57.9],[3300,1360,1,0.4,57.8],[3400,1352,1,0.4,57.7],[3500,1344,1,0.4,57.5],[3600,1336,2,0.4,57.4],[3700,1327,2,0.4,57.3],[3800,1319,2,0.4,57.2],[3900,1310,2,0.4,57],[4000,1302,2,0.4,56.9],[4100,1293,2,0.4,56.8],[4200,1284,2,0.4,56.6],[4300,1275,2,0.5,56.5],[4400,1266,2,0.5,56.3],[4500,1257,2,0.5,56.1],[4600,1247,2,0.5,56],[4700,1238,2,0.5,55.8],[4800,1228,2,0.5,55.6],[4900,1218,3,0.5,55.4],[5000,1209,3,0.5,55.2],[5100,1198,3,0.5,55],[5200,1188,3,0.5,54.7],[5300,1177,3,0.5,54.5],[5400,1166,3,0.5,54.2],[5500,1156,3,0.5,54],[5600,1144,4,0.5,53.7],[5700,1132,4,0.5,53.4],[5800,1121,4,0.5,53.1],[5900,1108,4,0.6,52.8],[6000,1096,5,0.6,52.5],[6100,1083,5,0.6,52.1],[6200,1069,5,0.6,51.8],[6300,1055,6,0.6,51.4],[6400,1040,6,0.6,51],[6500,1025,6,0.6,50.5],[6600,1009,7,0.7,50],[6700,992,8,0.7,49.5],[6800,973,8,0.7,49],[6900,954,10,0.8,48.3],[7000,932,11,0.8,47.6],[7100,908,12,0.9,46.8],[7200,880,15,1,45.8],[7300,846,20,1.2,44.6]]] -]], -["WP","wp",[ -["charge 0","chg0",[[200,1497,5,1,20.3],[300,1445,7,1,20.1],[400,1390,10,1,19.9],[500,1332,14,1.1,19.7],[600,1271,18,1.1,19.3],[700,1203,24,1.2,18.9],[800,1124,34,1.4,18.2],[900,1024,54,1.7,17.2]]], -["charge 1","chg1",[[500,1496,2,0.7,32.4],[600,1475,2,0.7,32.3],[700,1454,3,0.7,32.2],[800,1432,3,0.7,32.1],[900,1410,4,0.7,32],[1000,1387,4,0.7,31.9],[1100,1364,5,0.7,31.7],[1200,1340,5,0.7,31.5],[1300,1316,6,0.7,31.3],[1400,1291,7,0.7,31.1],[1500,1265,8,0.8,30.8],[1600,1238,9,0.8,30.5],[1700,1209,10,0.8,30.2],[1800,1179,11,0.9,29.8],[1900,1147,13,0.9,29.4],[2000,1112,15,0.9,28.9],[2100,1073,18,1,28.4],[2200,1030,23,1.1,27.7],[2300,977,31,1.3,26.7],[2400,906,48,1.7,25.4]]], -["charge 2","chg2",[[700,1510,1,0.5,41.8],[800,1497,1,0.5,41.8],[900,1484,1,0.5,41.7],[1000,1470,1,0.5,41.6],[1100,1457,2,0.5,41.6],[1200,1443,2,0.5,41.5],[1300,1430,2,0.5,41.4],[1400,1416,2,0.5,41.3],[1500,1402,2,0.6,41.2],[1600,1388,2,0.6,41.1],[1700,1373,3,0.6,40.9],[1800,1359,3,0.6,40.8],[1900,1344,3,0.6,40.7],[2000,1329,3,0.6,40.5],[2100,1313,4,0.6,40.3],[2200,1298,4,0.6,40.2],[2300,1282,4,0.6,40],[2400,1265,4,0.6,39.8],[2500,1248,5,0.6,39.5],[2600,1231,5,0.6,39.3],[2700,1213,6,0.6,39],[2800,1194,6,0.7,38.7],[2900,1175,7,0.7,38.4],[3000,1155,8,0.7,38.1],[3100,1134,8,0.7,37.7],[3200,1111,9,0.8,37.3],[3300,1088,10,0.8,36.9],[3400,1063,11,0.8,36.4],[3500,1035,13,0.9,35.8],[3600,1005,16,0.9,35.2],[3700,971,19,1.1,34.4],[3800,930,25,1.2,33.4],[3900,874,37,1.6,32]]], -["charge 3","chg3",[[1000,1505,1,0.5,49.4],[1100,1495,1,0.5,49.3],[1200,1485,1,0.5,49.3],[1300,1476,1,0.5,49.3],[1400,1466,1,0.5,49.2],[1500,1456,1,0.5,49.1],[1600,1446,1,0.5,49],[1700,1436,1,0.5,49],[1800,1425,1,0.5,48.9],[1900,1415,1,0.5,48.8],[2000,1405,2,0.5,48.7],[2100,1394,2,0.5,48.6],[2200,1384,2,0.5,48.5],[2300,1373,2,0.5,48.4],[2400,1362,2,0.5,48.3],[2500,1351,2,0.5,48.2],[2600,1340,2,0.5,48],[2700,1329,2,0.5,47.9],[2800,1317,2,0.5,47.7],[2900,1306,3,0.5,47.6],[3000,1294,3,0.5,47.4],[3100,1282,3,0.5,47.2],[3200,1270,3,0.5,47.1],[3300,1257,3,0.5,46.9],[3400,1244,3,0.5,46.7],[3500,1231,4,0.5,46.5],[3600,1218,4,0.6,46.2],[3700,1205,4,0.6,46],[3800,1191,4,0.6,45.7],[3900,1176,5,0.6,45.5],[4000,1161,5,0.6,45.2],[4100,1146,5,0.6,44.9],[4200,1130,6,0.6,44.5],[4300,1114,6,0.6,44.2],[4400,1096,7,0.7,43.8],[4500,1078,7,0.7,43.4],[4600,1059,8,0.7,43],[4700,1039,9,0.8,42.5],[4800,1018,10,0.8,42],[4900,994,11,0.8,41.4],[5000,969,14,0.9,40.7],[5100,940,16,1,39.9],[5200,906,20,1.1,38.9],[5300,861,29,1.5,37.6]]], -["charge 4","chg4",[[1300,1510,0,0.4,59.2],[1400,1503,0,0.4,59.1],[1500,1496,1,0.4,59.1],[1600,1488,1,0.4,59],[1700,1481,1,0.4,59],[1800,1474,1,0.4,58.9],[1900,1467,1,0.4,58.9],[2000,1459,1,0.4,58.8],[2100,1452,1,0.4,58.8],[2200,1445,1,0.4,58.7],[2300,1437,1,0.4,58.6],[2400,1430,1,0.4,58.6],[2500,1422,1,0.4,58.5],[2600,1415,1,0.4,58.4],[2700,1407,1,0.4,58.3],[2800,1399,1,0.4,58.3],[2900,1392,1,0.4,58.2],[3000,1384,1,0.4,58.1],[3100,1376,1,0.4,58],[3200,1368,1,0.4,57.9],[3300,1360,1,0.4,57.8],[3400,1352,1,0.4,57.7],[3500,1344,1,0.4,57.5],[3600,1336,2,0.4,57.4],[3700,1327,2,0.4,57.3],[3800,1319,2,0.4,57.2],[3900,1310,2,0.4,57],[4000,1302,2,0.4,56.9],[4100,1293,2,0.4,56.8],[4200,1284,2,0.4,56.6],[4300,1275,2,0.5,56.5],[4400,1266,2,0.5,56.3],[4500,1257,2,0.5,56.1],[4600,1247,2,0.5,56],[4700,1238,2,0.5,55.8],[4800,1228,2,0.5,55.6],[4900,1218,3,0.5,55.4],[5000,1209,3,0.5,55.2],[5100,1198,3,0.5,55],[5200,1188,3,0.5,54.7],[5300,1177,3,0.5,54.5],[5400,1166,3,0.5,54.2],[5500,1156,3,0.5,54],[5600,1144,4,0.5,53.7],[5700,1132,4,0.5,53.4],[5800,1121,4,0.5,53.1],[5900,1108,4,0.6,52.8],[6000,1096,5,0.6,52.5],[6100,1083,5,0.6,52.1],[6200,1069,5,0.6,51.8],[6300,1055,6,0.6,51.4],[6400,1040,6,0.6,51],[6500,1025,6,0.6,50.5],[6600,1009,7,0.7,50],[6700,992,8,0.7,49.5],[6800,973,8,0.7,49],[6900,954,10,0.8,48.3],[7000,932,11,0.8,47.6],[7100,908,12,0.9,46.8],[7200,880,15,1,45.8],[7300,846,20,1.2,44.6]]] -]], -["ILLUM","illum",[ -["charge 0","chg0",[[200,1497,5,1,20.3],[300,1445,7,1,20.1],[400,1390,10,1,19.9],[500,1332,14,1.1,19.7],[600,1271,18,1.1,19.3],[700,1203,24,1.2,18.9],[800,1124,34,1.4,18.2],[900,1024,54,1.7,17.2]]], -["charge 1","chg1",[[500,1496,2,0.7,32.4],[600,1475,2,0.7,32.3],[700,1454,3,0.7,32.2],[800,1432,3,0.7,32.1],[900,1410,4,0.7,32],[1000,1387,4,0.7,31.9],[1100,1364,5,0.7,31.7],[1200,1340,5,0.7,31.5],[1300,1316,6,0.7,31.3],[1400,1291,7,0.7,31.1],[1500,1265,8,0.8,30.8],[1600,1238,9,0.8,30.5],[1700,1209,10,0.8,30.2],[1800,1179,11,0.9,29.8],[1900,1147,13,0.9,29.4],[2000,1112,15,0.9,28.9],[2100,1073,18,1,28.4],[2200,1030,23,1.1,27.7],[2300,977,31,1.3,26.7],[2400,906,48,1.7,25.4]]], -["charge 2","chg2",[[700,1510,1,0.5,41.8],[800,1497,1,0.5,41.8],[900,1484,1,0.5,41.7],[1000,1470,1,0.5,41.6],[1100,1457,2,0.5,41.6],[1200,1443,2,0.5,41.5],[1300,1430,2,0.5,41.4],[1400,1416,2,0.5,41.3],[1500,1402,2,0.6,41.2],[1600,1388,2,0.6,41.1],[1700,1373,3,0.6,40.9],[1800,1359,3,0.6,40.8],[1900,1344,3,0.6,40.7],[2000,1329,3,0.6,40.5],[2100,1313,4,0.6,40.3],[2200,1298,4,0.6,40.2],[2300,1282,4,0.6,40],[2400,1265,4,0.6,39.8],[2500,1248,5,0.6,39.5],[2600,1231,5,0.6,39.3],[2700,1213,6,0.6,39],[2800,1194,6,0.7,38.7],[2900,1175,7,0.7,38.4],[3000,1155,8,0.7,38.1],[3100,1134,8,0.7,37.7],[3200,1111,9,0.8,37.3],[3300,1088,10,0.8,36.9],[3400,1063,11,0.8,36.4],[3500,1035,13,0.9,35.8],[3600,1005,16,0.9,35.2],[3700,971,19,1.1,34.4],[3800,930,25,1.2,33.4],[3900,874,37,1.6,32]]], -["charge 3","chg3",[[1000,1505,1,0.5,49.4],[1100,1495,1,0.5,49.3],[1200,1485,1,0.5,49.3],[1300,1476,1,0.5,49.3],[1400,1466,1,0.5,49.2],[1500,1456,1,0.5,49.1],[1600,1446,1,0.5,49],[1700,1436,1,0.5,49],[1800,1425,1,0.5,48.9],[1900,1415,1,0.5,48.8],[2000,1405,2,0.5,48.7],[2100,1394,2,0.5,48.6],[2200,1384,2,0.5,48.5],[2300,1373,2,0.5,48.4],[2400,1362,2,0.5,48.3],[2500,1351,2,0.5,48.2],[2600,1340,2,0.5,48],[2700,1329,2,0.5,47.9],[2800,1317,2,0.5,47.7],[2900,1306,3,0.5,47.6],[3000,1294,3,0.5,47.4],[3100,1282,3,0.5,47.2],[3200,1270,3,0.5,47.1],[3300,1257,3,0.5,46.9],[3400,1244,3,0.5,46.7],[3500,1231,4,0.5,46.5],[3600,1218,4,0.6,46.2],[3700,1205,4,0.6,46],[3800,1191,4,0.6,45.7],[3900,1176,5,0.6,45.5],[4000,1161,5,0.6,45.2],[4100,1146,5,0.6,44.9],[4200,1130,6,0.6,44.5],[4300,1114,6,0.6,44.2],[4400,1096,7,0.7,43.8],[4500,1078,7,0.7,43.4],[4600,1059,8,0.7,43],[4700,1039,9,0.8,42.5],[4800,1018,10,0.8,42],[4900,994,11,0.8,41.4],[5000,969,14,0.9,40.7],[5100,940,16,1,39.9],[5200,906,20,1.1,38.9],[5300,861,29,1.5,37.6]]], -["charge 4","chg4",[[1300,1510,0,0.4,59.2],[1400,1503,0,0.4,59.1],[1500,1496,1,0.4,59.1],[1600,1488,1,0.4,59],[1700,1481,1,0.4,59],[1800,1474,1,0.4,58.9],[1900,1467,1,0.4,58.9],[2000,1459,1,0.4,58.8],[2100,1452,1,0.4,58.8],[2200,1445,1,0.4,58.7],[2300,1437,1,0.4,58.6],[2400,1430,1,0.4,58.6],[2500,1422,1,0.4,58.5],[2600,1415,1,0.4,58.4],[2700,1407,1,0.4,58.3],[2800,1399,1,0.4,58.3],[2900,1392,1,0.4,58.2],[3000,1384,1,0.4,58.1],[3100,1376,1,0.4,58],[3200,1368,1,0.4,57.9],[3300,1360,1,0.4,57.8],[3400,1352,1,0.4,57.7],[3500,1344,1,0.4,57.5],[3600,1336,2,0.4,57.4],[3700,1327,2,0.4,57.3],[3800,1319,2,0.4,57.2],[3900,1310,2,0.4,57],[4000,1302,2,0.4,56.9],[4100,1293,2,0.4,56.8],[4200,1284,2,0.4,56.6],[4300,1275,2,0.5,56.5],[4400,1266,2,0.5,56.3],[4500,1257,2,0.5,56.1],[4600,1247,2,0.5,56],[4700,1238,2,0.5,55.8],[4800,1228,2,0.5,55.6],[4900,1218,3,0.5,55.4],[5000,1209,3,0.5,55.2],[5100,1198,3,0.5,55],[5200,1188,3,0.5,54.7],[5300,1177,3,0.5,54.5],[5400,1166,3,0.5,54.2],[5500,1156,3,0.5,54],[5600,1144,4,0.5,53.7],[5700,1132,4,0.5,53.4],[5800,1121,4,0.5,53.1],[5900,1108,4,0.6,52.8],[6000,1096,5,0.6,52.5],[6100,1083,5,0.6,52.1],[6200,1069,5,0.6,51.8],[6300,1055,6,0.6,51.4],[6400,1040,6,0.6,51],[6500,1025,6,0.6,50.5],[6600,1009,7,0.7,50],[6700,992,8,0.7,49.5],[6800,973,8,0.7,49],[6900,954,10,0.8,48.3],[7000,932,11,0.8,47.6],[7100,908,12,0.9,46.8],[7200,880,15,1,45.8],[7300,846,20,1.2,44.6]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["charge 0", "charge 1", "charge 2", "charge 3", "charge 4"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/2b14.sqf b/TO_MERGE/ace/arty_range_tables/tables/2b14.sqf deleted file mode 100644 index 8fec752548..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/2b14.sqf +++ /dev/null @@ -1,35 +0,0 @@ -// 82mm Shell Ballistics (TODO) -// HE: Max Range with full increments : 6200 -// WP: Max Range (same ballistics as HE): 6200 (use same shell) [not much data found] -// ILLUM: Max Range: 2670 - -_tableData_tables = [ -["HE","he",[ -["charge 0","chg0",[[100,1494,9,1.3,14.1],[200,1384,20,1.4,13.8],[300,1260,36,1.5,13.3],[400,1105,67,1.8,12.5]]], -["charge 1","chg1",[[300,1488,4,0.9,23.9],[400,1450,5,0.9,23.7],[500,1410,7,0.9,23.6],[600,1369,8,0.9,23.4],[700,1327,10,0.9,23.1],[800,1282,13,1,22.8],[900,1234,16,1,22.5],[1000,1182,20,1.1,22],[1100,1123,26,1.2,21.4],[1200,1053,36,1.4,20.6],[1300,960,57,1.7,19.4]]], -["charge 2","chg2",[[500,1492,2,0.7,31.7],[600,1470,3,0.7,31.6],[700,1447,3,0.7,31.5],[800,1424,3,0.7,31.4],[900,1401,4,0.7,31.2],[1000,1377,5,0.7,31.1],[1100,1353,5,0.7,30.9],[1200,1328,6,0.7,30.7],[1300,1302,7,0.7,30.5],[1400,1275,8,0.8,30.3],[1500,1248,9,0.8,30],[1600,1218,10,0.8,29.7],[1700,1188,11,0.8,29.3],[1800,1155,13,0.9,28.9],[1900,1119,15,0.9,28.4],[2000,1080,19,1,27.8],[2100,1035,23,1.1,27.2],[2200,981,31,1.3,26.2],[2300,909,48,1.7,24.9]]], -["charge 3","chg3",[[600,1507,1,0.6,37.9],[700,1492,1,0.6,37.8],[800,1476,2,0.6,37.8],[900,1460,2,0.6,37.7],[1000,1444,2,0.6,37.6],[1100,1427,2,0.6,37.5],[1200,1411,3,0.6,37.4],[1300,1394,3,0.6,37.3],[1400,1377,3,0.6,37.1],[1500,1359,4,0.6,37],[1600,1341,4,0.6,36.8],[1700,1323,4,0.6,36.7],[1800,1305,5,0.6,36.5],[1900,1286,5,0.6,36.3],[2000,1266,6,0.7,36],[2100,1246,6,0.7,35.8],[2200,1225,7,0.7,35.5],[2300,1203,7,0.7,35.2],[2400,1180,8,0.7,34.9],[2500,1157,9,0.8,34.5],[2600,1131,10,0.8,34.1],[2700,1105,12,0.8,33.7],[2800,1075,14,0.9,33.2],[2900,1044,16,0.9,32.6],[3000,1008,19,1,31.9],[3100,966,24,1.2,31.1],[3200,913,34,1.4,29.9],[3300,822,69,2.4,27.7]]], -["charge 4","chg4",[[800,1501,1,0.5,42.7],[900,1488,1,0.5,42.7],[1000,1476,1,0.5,42.6],[1100,1463,1,0.5,42.5],[1200,1450,2,0.5,42.5],[1300,1437,2,0.5,42.4],[1400,1424,2,0.5,42.3],[1500,1410,2,0.5,42.2],[1600,1397,2,0.5,42.1],[1700,1383,2,0.5,42],[1800,1369,3,0.6,41.8],[1900,1355,3,0.5,41.7],[2000,1341,3,0.5,41.6],[2100,1326,3,0.6,41.4],[2200,1312,4,0.6,41.2],[2300,1296,4,0.6,41],[2400,1281,4,0.6,40.9],[2500,1265,4,0.6,40.7],[2600,1249,5,0.6,40.4],[2700,1232,5,0.6,40.2],[2800,1215,5,0.6,39.9],[2900,1197,6,0.6,39.7],[3000,1179,6,0.7,39.4],[3100,1160,7,0.7,39.1],[3200,1140,7,0.7,38.7],[3300,1119,8,0.7,38.3],[3400,1096,9,0.7,37.9],[3500,1073,11,0.8,37.4],[3600,1048,12,0.8,36.9],[3700,1020,14,0.9,36.3],[3800,989,16,1,35.6],[3900,954,20,1.1,34.8],[4000,910,27,1.3,33.7],[4100,847,44,1.8,32]]], -["charge 5","chg5",[[900,1507,1,0.5,47.2],[1000,1497,1,0.5,47.1],[1100,1486,1,0.5,47.1],[1200,1475,1,0.5,47],[1300,1465,1,0.5,47],[1400,1454,1,0.5,46.9],[1500,1443,1,0.5,46.8],[1600,1432,1,0.5,46.8],[1700,1421,2,0.5,46.7],[1800,1410,2,0.5,46.6],[1900,1398,2,0.5,46.5],[2000,1387,2,0.5,46.4],[2100,1375,2,0.5,46.3],[2200,1364,2,0.5,46.1],[2300,1352,2,0.5,46],[2400,1340,2,0.5,45.9],[2500,1328,3,0.5,45.7],[2600,1315,3,0.5,45.6],[2700,1302,3,0.5,45.4],[2800,1290,3,0.5,45.2],[2900,1276,3,0.5,45.1],[3000,1263,3,0.5,44.9],[3100,1249,4,0.6,44.7],[3200,1236,4,0.6,44.4],[3300,1221,4,0.6,44.2],[3400,1206,5,0.6,44],[3500,1191,5,0.6,43.7],[3600,1176,5,0.6,43.4],[3700,1160,6,0.6,43.1],[3800,1143,6,0.6,42.8],[3900,1126,6,0.6,42.5],[4000,1108,7,0.7,42.1],[4100,1089,8,0.7,41.7],[4200,1069,9,0.7,41.2],[4300,1047,9,0.7,40.8],[4400,1024,11,0.8,40.2],[4500,999,13,0.9,39.6],[4600,972,15,0.9,38.9],[4700,940,18,1.1,38.1],[4800,903,23,1.2,37.1],[4900,852,34,1.6,35.6]]], -["charge 6","chg6",[[1000,1510,1,0.4,50.9],[1100,1500,1,0.4,50.8],[1200,1491,1,0.5,50.8],[1300,1482,1,0.5,50.7],[1400,1473,1,0.5,50.6],[1500,1463,1,0.5,50.6],[1600,1454,1,0.5,50.5],[1700,1444,1,0.5,50.5],[1800,1435,1,0.5,50.4],[1900,1425,1,0.5,50.3],[2000,1415,1,0.5,50.2],[2100,1405,1,0.5,50.1],[2200,1395,2,0.5,50],[2300,1385,2,0.5,49.9],[2400,1375,2,0.5,49.8],[2500,1365,2,0.5,49.7],[2600,1354,2,0.5,49.6],[2700,1344,2,0.5,49.5],[2800,1333,2,0.5,49.3],[2900,1322,2,0.5,49.2],[3000,1311,2,0.5,49],[3100,1300,3,0.5,48.9],[3200,1289,3,0.5,48.7],[3300,1277,3,0.5,48.6],[3400,1265,3,0.5,48.4],[3500,1254,3,0.5,48.2],[3600,1241,3,0.5,48],[3700,1229,3,0.5,47.8],[3800,1216,4,0.5,47.5],[3900,1203,4,0.5,47.3],[4000,1190,4,0.6,47.1],[4100,1176,4,0.6,46.8],[4200,1162,5,0.6,46.5],[4300,1148,5,0.6,46.2],[4400,1133,5,0.6,45.9],[4500,1117,6,0.6,45.6],[4600,1101,6,0.6,45.2],[4700,1084,7,0.6,44.8],[4800,1066,7,0.7,44.4],[4900,1047,8,0.7,43.9],[5000,1028,9,0.7,43.4],[5100,1006,10,0.8,42.9],[5200,983,12,0.9,42.3],[5300,958,13,0.9,41.6],[5400,929,16,1,40.7],[5500,894,20,1.1,39.7],[5600,849,30,1.5,38.3]]] -]], -["WP","wp",[ -["charge 0","chg0",[[100,1494,9,1.3,14.1],[200,1384,20,1.4,13.8],[300,1260,36,1.5,13.3],[400,1105,67,1.8,12.5]]], -["charge 1","chg1",[[300,1488,4,0.9,23.9],[400,1450,5,0.9,23.7],[500,1410,7,0.9,23.6],[600,1369,8,0.9,23.4],[700,1327,10,0.9,23.1],[800,1282,13,1,22.8],[900,1234,16,1,22.5],[1000,1182,20,1.1,22],[1100,1123,26,1.2,21.4],[1200,1053,36,1.4,20.6],[1300,960,57,1.7,19.4]]], -["charge 2","chg2",[[500,1492,2,0.7,31.7],[600,1470,3,0.7,31.6],[700,1447,3,0.7,31.5],[800,1424,3,0.7,31.4],[900,1401,4,0.7,31.2],[1000,1377,5,0.7,31.1],[1100,1353,5,0.7,30.9],[1200,1328,6,0.7,30.7],[1300,1302,7,0.7,30.5],[1400,1275,8,0.8,30.3],[1500,1248,9,0.8,30],[1600,1218,10,0.8,29.7],[1700,1188,11,0.8,29.3],[1800,1155,13,0.9,28.9],[1900,1119,15,0.9,28.4],[2000,1080,19,1,27.8],[2100,1035,23,1.1,27.2],[2200,981,31,1.3,26.2],[2300,909,48,1.7,24.9]]], -["charge 3","chg3",[[600,1507,1,0.6,37.9],[700,1492,1,0.6,37.8],[800,1476,2,0.6,37.8],[900,1460,2,0.6,37.7],[1000,1444,2,0.6,37.6],[1100,1427,2,0.6,37.5],[1200,1411,3,0.6,37.4],[1300,1394,3,0.6,37.3],[1400,1377,3,0.6,37.1],[1500,1359,4,0.6,37],[1600,1341,4,0.6,36.8],[1700,1323,4,0.6,36.7],[1800,1305,5,0.6,36.5],[1900,1286,5,0.6,36.3],[2000,1266,6,0.7,36],[2100,1246,6,0.7,35.8],[2200,1225,7,0.7,35.5],[2300,1203,7,0.7,35.2],[2400,1180,8,0.7,34.9],[2500,1157,9,0.8,34.5],[2600,1131,10,0.8,34.1],[2700,1105,12,0.8,33.7],[2800,1075,14,0.9,33.2],[2900,1044,16,0.9,32.6],[3000,1008,19,1,31.9],[3100,966,24,1.2,31.1],[3200,913,34,1.4,29.9],[3300,822,69,2.4,27.7]]], -["charge 4","chg4",[[800,1501,1,0.5,42.7],[900,1488,1,0.5,42.7],[1000,1476,1,0.5,42.6],[1100,1463,1,0.5,42.5],[1200,1450,2,0.5,42.5],[1300,1437,2,0.5,42.4],[1400,1424,2,0.5,42.3],[1500,1410,2,0.5,42.2],[1600,1397,2,0.5,42.1],[1700,1383,2,0.5,42],[1800,1369,3,0.6,41.8],[1900,1355,3,0.5,41.7],[2000,1341,3,0.5,41.6],[2100,1326,3,0.6,41.4],[2200,1312,4,0.6,41.2],[2300,1296,4,0.6,41],[2400,1281,4,0.6,40.9],[2500,1265,4,0.6,40.7],[2600,1249,5,0.6,40.4],[2700,1232,5,0.6,40.2],[2800,1215,5,0.6,39.9],[2900,1197,6,0.6,39.7],[3000,1179,6,0.7,39.4],[3100,1160,7,0.7,39.1],[3200,1140,7,0.7,38.7],[3300,1119,8,0.7,38.3],[3400,1096,9,0.7,37.9],[3500,1073,11,0.8,37.4],[3600,1048,12,0.8,36.9],[3700,1020,14,0.9,36.3],[3800,989,16,1,35.6],[3900,954,20,1.1,34.8],[4000,910,27,1.3,33.7],[4100,847,44,1.8,32]]], -["charge 5","chg5",[[900,1507,1,0.5,47.2],[1000,1497,1,0.5,47.1],[1100,1486,1,0.5,47.1],[1200,1475,1,0.5,47],[1300,1465,1,0.5,47],[1400,1454,1,0.5,46.9],[1500,1443,1,0.5,46.8],[1600,1432,1,0.5,46.8],[1700,1421,2,0.5,46.7],[1800,1410,2,0.5,46.6],[1900,1398,2,0.5,46.5],[2000,1387,2,0.5,46.4],[2100,1375,2,0.5,46.3],[2200,1364,2,0.5,46.1],[2300,1352,2,0.5,46],[2400,1340,2,0.5,45.9],[2500,1328,3,0.5,45.7],[2600,1315,3,0.5,45.6],[2700,1302,3,0.5,45.4],[2800,1290,3,0.5,45.2],[2900,1276,3,0.5,45.1],[3000,1263,3,0.5,44.9],[3100,1249,4,0.6,44.7],[3200,1236,4,0.6,44.4],[3300,1221,4,0.6,44.2],[3400,1206,5,0.6,44],[3500,1191,5,0.6,43.7],[3600,1176,5,0.6,43.4],[3700,1160,6,0.6,43.1],[3800,1143,6,0.6,42.8],[3900,1126,6,0.6,42.5],[4000,1108,7,0.7,42.1],[4100,1089,8,0.7,41.7],[4200,1069,9,0.7,41.2],[4300,1047,9,0.7,40.8],[4400,1024,11,0.8,40.2],[4500,999,13,0.9,39.6],[4600,972,15,0.9,38.9],[4700,940,18,1.1,38.1],[4800,903,23,1.2,37.1],[4900,852,34,1.6,35.6]]], -["charge 6","chg6",[[1000,1510,1,0.4,50.9],[1100,1500,1,0.4,50.8],[1200,1491,1,0.5,50.8],[1300,1482,1,0.5,50.7],[1400,1473,1,0.5,50.6],[1500,1463,1,0.5,50.6],[1600,1454,1,0.5,50.5],[1700,1444,1,0.5,50.5],[1800,1435,1,0.5,50.4],[1900,1425,1,0.5,50.3],[2000,1415,1,0.5,50.2],[2100,1405,1,0.5,50.1],[2200,1395,2,0.5,50],[2300,1385,2,0.5,49.9],[2400,1375,2,0.5,49.8],[2500,1365,2,0.5,49.7],[2600,1354,2,0.5,49.6],[2700,1344,2,0.5,49.5],[2800,1333,2,0.5,49.3],[2900,1322,2,0.5,49.2],[3000,1311,2,0.5,49],[3100,1300,3,0.5,48.9],[3200,1289,3,0.5,48.7],[3300,1277,3,0.5,48.6],[3400,1265,3,0.5,48.4],[3500,1254,3,0.5,48.2],[3600,1241,3,0.5,48],[3700,1229,3,0.5,47.8],[3800,1216,4,0.5,47.5],[3900,1203,4,0.5,47.3],[4000,1190,4,0.6,47.1],[4100,1176,4,0.6,46.8],[4200,1162,5,0.6,46.5],[4300,1148,5,0.6,46.2],[4400,1133,5,0.6,45.9],[4500,1117,6,0.6,45.6],[4600,1101,6,0.6,45.2],[4700,1084,7,0.6,44.8],[4800,1066,7,0.7,44.4],[4900,1047,8,0.7,43.9],[5000,1028,9,0.7,43.4],[5100,1006,10,0.8,42.9],[5200,983,12,0.9,42.3],[5300,958,13,0.9,41.6],[5400,929,16,1,40.7],[5500,894,20,1.1,39.7],[5600,849,30,1.5,38.3]]] -]], -["ILLUM","illum",[ -["charge 0","chg0",[[100,1474,13,1.5,12.8],[200,1338,29,1.6,12.5],[300,1178,57,1.8,11.8],[400,893,177,2.9,9.9]]], -["charge 1","chg1",[[300,1495,3,0.8,24.6],[400,1458,4,0.8,24.5],[500,1422,6,0.9,24.4],[600,1384,7,0.9,24.2],[700,1344,9,0.9,24],[800,1303,11,0.9,23.7],[900,1259,13,1,23.4],[1000,1212,16,1,23],[1100,1161,21,1.1,22.5],[1200,1103,27,1.2,21.9],[1300,1033,37,1.4,21],[1400,935,63,1.9,19.7]]], -["charge 2","chg2",[[500,1493,2,0.7,31.8],[600,1471,2,0.7,31.8],[700,1449,3,0.7,31.7],[800,1426,3,0.7,31.6],[900,1403,4,0.7,31.4],[1000,1380,4,0.7,31.3],[1100,1356,5,0.7,31.1],[1200,1331,6,0.7,30.9],[1300,1306,7,0.7,30.7],[1400,1279,7,0.8,30.5],[1500,1252,8,0.8,30.2],[1600,1223,10,0.8,29.9],[1700,1193,11,0.8,29.5],[1800,1161,13,0.9,29.1],[1900,1126,15,0.9,28.7],[2000,1088,18,1,28.1],[2100,1046,22,1.1,27.5],[2200,995,28,1.2,26.6],[2300,929,42,1.5,25.4]]], -["charge 3","chg3",[[600,1507,1,0.6,37.7],[700,1491,1,0.6,37.7],[800,1475,2,0.6,37.6],[900,1459,2,0.6,37.5],[1000,1442,2,0.6,37.4],[1100,1426,2,0.6,37.3],[1200,1409,3,0.6,37.2],[1300,1392,3,0.6,37.1],[1400,1375,3,0.6,37],[1500,1357,4,0.6,36.8],[1600,1339,4,0.6,36.7],[1700,1321,4,0.6,36.5],[1800,1302,5,0.6,36.3],[1900,1283,5,0.6,36.1],[2000,1263,6,0.7,35.8],[2100,1242,6,0.7,35.6],[2200,1221,7,0.7,35.3],[2300,1199,8,0.7,35],[2400,1176,8,0.7,34.7],[2500,1152,9,0.8,34.3],[2600,1126,11,0.8,33.9],[2700,1098,12,0.8,33.5],[2800,1068,14,0.9,32.9],[2900,1036,16,1,32.3],[3000,999,20,1.1,31.6],[3100,954,27,1.3,30.7],[3200,896,38,1.6,29.4]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["charge 0", "charge 1", "charge 2", "charge 3", "charge 4"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/2b14_legacy.sqf b/TO_MERGE/ace/arty_range_tables/tables/2b14_legacy.sqf deleted file mode 100644 index bc5505be9c..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/2b14_legacy.sqf +++ /dev/null @@ -1,21 +0,0 @@ -_tableData_tables = [ -["HE","ACE_1Rnd_82mmHE_2B14",[ -["Close","",[[100,1497,9,1.3,14.2],[125,1471,11,1.3,14.1],[150,1445,14,1.3,14.1],[175,1418,16,1.4,14],[200,1390,19,1.4,13.9],[225,1362,22,1.4,13.9],[250,1333,26,1.4,13.8],[275,1303,29,1.5,13.7],[300,1272,34,1.5,13.5],[325,1239,39,1.6,13.4],[350,1205,45,1.6,13.2],[375,1167,52,1.7,13],[400,1127,61,1.8,12.7],[425,1082,73,1.9,12.4],[450,1028,91,2.1,12.1],[475,961,121,2.4,11.5]]], -["Medium","",[[350,1510,2,0.7,28.4],[400,1497,3,0.7,28.4],[450,1484,3,0.7,28.3],[500,1471,3,0.7,28.3],[550,1458,4,0.7,28.3],[600,1445,4,0.7,28.2],[650,1431,4,0.7,28.1],[700,1418,5,0.7,28.1],[750,1404,5,0.7,28],[800,1390,6,0.7,27.9],[850,1376,6,0.8,27.8],[900,1362,6,0.8,27.8],[950,1348,7,0.8,27.7],[1000,1333,8,0.8,27.5],[1050,1318,8,0.8,27.4],[1100,1303,9,0.8,27.3],[1150,1288,9,0.8,27.2],[1200,1272,10,0.8,27.1],[1250,1256,11,0.8,26.9],[1300,1239,12,0.9,26.7],[1350,1222,13,0.9,26.6],[1400,1205,14,0.9,26.4],[1450,1186,15,0.9,26.2],[1500,1168,16,0.9,26],[1550,1148,18,1,25.8],[1600,1127,19,1,25.5],[1650,1105,22,1.1,25.2],[1700,1082,24,1.1,24.9],[1750,1056,27,1.2,24.6],[1800,1028,31,1.3,24.1],[1850,997,37,1.4,23.7],[1900,960,47,1.6,23.1],[1950,912,62,1.9,22.3]]], -["Far","",[[800,1499,1,0.5,40.6],[900,1487,1,0.5,40.5],[1000,1474,2,0.5,40.5],[1100,1461,2,0.5,40.4],[1200,1448,2,0.5,40.3],[1300,1435,2,0.5,40.2],[1400,1422,2,0.5,40.1],[1500,1408,2,0.5,40],[1600,1395,3,0.5,39.9],[1700,1381,3,0.5,39.8],[1800,1367,3,0.5,39.7],[1900,1353,3,0.5,39.6],[2000,1339,4,0.6,39.4],[2100,1324,4,0.6,39.3],[2200,1310,4,0.6,39.1],[2300,1295,5,0.6,38.9],[2400,1280,5,0.6,38.8],[2500,1264,5,0.6,38.6],[2600,1248,6,0.6,38.3],[2700,1231,6,0.6,38.1],[2800,1215,7,0.6,37.9],[2900,1197,7,0.6,37.6],[3000,1179,8,0.7,37.3],[3100,1160,8,0.7,37],[3200,1140,9,0.7,36.7],[3300,1120,10,0.7,36.3],[3400,1098,12,0.8,35.9],[3500,1074,13,0.8,35.5],[3600,1049,15,0.9,34.9],[3700,1021,17,1,34.3],[3800,989,21,1.1,33.6],[3900,951,27,1.2,32.7],[4000,899,41,1.6,31.5]]] -]], -["WP","ACE_1Rnd_82mmWP_2B14",[ -["Close","",[[100,1497,9,1.3,14.2],[125,1471,11,1.3,14.1],[150,1445,14,1.3,14.1],[175,1418,16,1.4,14],[200,1390,19,1.4,13.9],[225,1362,22,1.4,13.9],[250,1333,26,1.4,13.8],[275,1303,29,1.5,13.7],[300,1272,34,1.5,13.5],[325,1239,39,1.6,13.4],[350,1205,45,1.6,13.2],[375,1167,52,1.7,13],[400,1127,61,1.8,12.7],[425,1082,73,1.9,12.4],[450,1028,91,2.1,12.1],[475,961,121,2.4,11.5]]], -["Medium","",[[350,1510,2,0.7,28.4],[400,1497,3,0.7,28.4],[450,1484,3,0.7,28.3],[500,1471,3,0.7,28.3],[550,1458,4,0.7,28.3],[600,1445,4,0.7,28.2],[650,1431,4,0.7,28.1],[700,1418,5,0.7,28.1],[750,1404,5,0.7,28],[800,1390,6,0.7,27.9],[850,1376,6,0.8,27.8],[900,1362,6,0.8,27.8],[950,1348,7,0.8,27.7],[1000,1333,8,0.8,27.5],[1050,1318,8,0.8,27.4],[1100,1303,9,0.8,27.3],[1150,1288,9,0.8,27.2],[1200,1272,10,0.8,27.1],[1250,1256,11,0.8,26.9],[1300,1239,12,0.9,26.7],[1350,1222,13,0.9,26.6],[1400,1205,14,0.9,26.4],[1450,1186,15,0.9,26.2],[1500,1168,16,0.9,26],[1550,1148,18,1,25.8],[1600,1127,19,1,25.5],[1650,1105,22,1.1,25.2],[1700,1082,24,1.1,24.9],[1750,1056,27,1.2,24.6],[1800,1028,31,1.3,24.1],[1850,997,37,1.4,23.7],[1900,960,47,1.6,23.1],[1950,912,62,1.9,22.3]]], -["Far","",[[800,1499,1,0.5,40.6],[900,1487,1,0.5,40.5],[1000,1474,2,0.5,40.5],[1100,1461,2,0.5,40.4],[1200,1448,2,0.5,40.3],[1300,1435,2,0.5,40.2],[1400,1422,2,0.5,40.1],[1500,1408,2,0.5,40],[1600,1395,3,0.5,39.9],[1700,1381,3,0.5,39.8],[1800,1367,3,0.5,39.7],[1900,1353,3,0.5,39.6],[2000,1339,4,0.6,39.4],[2100,1324,4,0.6,39.3],[2200,1310,4,0.6,39.1],[2300,1295,5,0.6,38.9],[2400,1280,5,0.6,38.8],[2500,1264,5,0.6,38.6],[2600,1248,6,0.6,38.3],[2700,1231,6,0.6,38.1],[2800,1215,7,0.6,37.9],[2900,1197,7,0.6,37.6],[3000,1179,8,0.7,37.3],[3100,1160,8,0.7,37],[3200,1140,9,0.7,36.7],[3300,1120,10,0.7,36.3],[3400,1098,12,0.8,35.9],[3500,1074,13,0.8,35.5],[3600,1049,15,0.9,34.9],[3700,1021,17,1,34.3],[3800,989,21,1.1,33.6],[3900,951,27,1.2,32.7],[4000,899,41,1.6,31.5]]] -]], -["Illum","ACE_1Rnd_82mmILLUM_2B14",[ -["Close","",[]], -["Medium","",[[350,1502,3,0.8,26],[400,1488,4,0.8,26],[450,1474,4,0.8,25.9],[500,1459,4,0.9,25.9],[550,1445,5,0.9,25.8],[600,1430,6,0.9,25.7],[650,1415,6,0.9,25.7],[700,1400,7,0.9,25.6],[750,1384,7,0.9,25.5],[800,1369,8,0.9,25.4],[850,1353,9,0.9,25.3],[900,1337,10,0.9,25.1],[950,1320,11,1,25],[1000,1303,11,1,24.9],[1050,1286,13,1,24.7],[1100,1268,14,1,24.5],[1150,1250,15,1,24.3],[1200,1230,17,1.1,24.1],[1250,1210,18,1.1,23.9],[1300,1189,20,1.2,23.6],[1350,1167,23,1.2,23.4],[1400,1143,26,1.3,23],[1450,1117,30,1.4,22.7],[1500,1088,35,1.5,22.2],[1550,1055,42,1.6,21.7],[1600,1015,55,1.9,21],[1650,832,206,5.3,17.2]]], -["Far","",[[700,1509,1,0.5,39],[800,1495,1,0.5,39],[900,1482,2,0.5,38.9],[1000,1469,2,0.5,38.9],[1100,1455,2,0.6,38.8],[1200,1441,2,0.6,38.7],[1300,1428,2,0.6,38.6],[1400,1414,3,0.6,38.5],[1500,1400,3,0.6,38.4],[1600,1386,3,0.6,38.3],[1700,1371,3,0.6,38.1],[1800,1356,4,0.6,38],[1900,1342,4,0.6,37.8],[2000,1326,4,0.6,37.7],[2100,1311,5,0.6,37.5],[2200,1295,5,0.6,37.3],[2300,1279,6,0.6,37.1],[2400,1263,6,0.6,36.9],[2500,1246,7,0.7,36.6],[2600,1228,7,0.7,36.4],[2700,1210,8,0.7,36.1],[2800,1191,8,0.7,35.8],[2900,1171,9,0.7,35.5],[3000,1151,11,0.8,35.1],[3100,1129,12,0.8,34.7],[3200,1105,13,0.9,34.3],[3300,1080,15,0.9,33.7],[3400,1052,18,1,33.2],[3500,1020,22,1.1,32.4],[3600,981,28,1.3,31.5],[3700,928,43,1.8,30.2]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["Close", "Medium", "Far"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/d30_legacy.sqf b/TO_MERGE/ace/arty_range_tables/tables/d30_legacy.sqf deleted file mode 100644 index dce3baee1d..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/d30_legacy.sqf +++ /dev/null @@ -1,21 +0,0 @@ -_tableData_tables = [ -["HE","30Rnd_122mmHE_D30",[ -["Close","",[[4500,1240,4,0.5,49.8],[4600,1230,4,0.5,49.7],[4700,1220,4,0.5,49.5],[4800,1210,4,0.5,49.3],[4900,1200,4,0.5,49.1],[5000,1189,4,0.5,48.9],[5100,1178,5,0.5,48.6],[5200,1167,5,0.5,48.4],[5300,1156,5,0.5,48.2],[5400,1145,5,0.5,47.9],[5500,1133,6,0.6,47.6],[5600,1120,6,0.6,47.3],[5700,1107,7,0.6,47],[5800,1094,7,0.6,46.7],[5900,1081,7,0.6,46.4],[6000,1066,8,0.6,46],[6100,1051,9,0.7,45.6],[6200,1035,10,0.7,45.2],[6300,1018,11,0.8,44.7],[6400,1000,12,0.8,44.2],[6500,979,14,0.9,43.6],[6600,957,16,1,42.9],[6700,930,20,1.1,42.1],[6800,897,27,1.4,41],[6900,843,47,2.1,39.1]]], -["Medium","",[[6900,1240,2,0.4,61.8],[7000,1234,2,0.4,61.6],[7100,1227,2,0.4,61.5],[7200,1221,3,0.4,61.3],[7300,1214,3,0.4,61.2],[7400,1208,3,0.4,61],[7500,1201,3,0.4,60.8],[7600,1194,3,0.4,60.7],[7700,1187,3,0.4,60.5],[7800,1180,3,0.4,60.3],[7900,1173,3,0.4,60.1],[8000,1166,3,0.4,59.9],[8100,1159,3,0.4,59.7],[8200,1151,4,0.4,59.5],[8300,1144,4,0.4,59.3],[8400,1136,4,0.4,59.1],[8500,1128,4,0.5,58.9],[8600,1120,4,0.5,58.6],[8700,1112,4,0.5,58.4],[8800,1103,4,0.5,58.1],[8900,1094,5,0.5,57.9],[9000,1086,5,0.5,57.6],[9100,1076,5,0.5,57.3],[9200,1067,5,0.5,57],[9300,1057,6,0.5,56.7],[9400,1047,6,0.6,56.4],[9500,1037,6,0.6,56],[9600,1026,7,0.6,55.6],[9700,1014,7,0.6,55.2],[9800,1002,8,0.6,54.8],[9900,990,9,0.7,54.3],[10000,976,9,0.7,53.9],[10100,961,10,0.8,53.3],[10200,945,12,0.8,52.7],[10300,927,14,0.9,52],[10400,906,16,1,51.1],[10500,879,23,1.3,50],[10600,838,37,2,48.2]]], -["Far","",[[10000,1241,2,0.3,74.4],[10100,1236,2,0.3,74.3],[10200,1232,2,0.3,74.2],[10300,1228,2,0.3,74.1],[10400,1223,2,0.3,73.9],[10500,1219,2,0.3,73.8],[10600,1214,2,0.3,73.7],[10700,1210,2,0.3,73.6],[10800,1205,2,0.3,73.4],[10900,1200,2,0.3,73.3],[11000,1196,2,0.3,73.1],[11100,1191,2,0.3,73],[11200,1186,2,0.3,72.8],[11300,1181,2,0.3,72.7],[11400,1177,2,0.3,72.5],[11500,1172,2,0.4,72.4],[11600,1167,2,0.4,72.2],[11700,1162,2,0.4,72.1],[11800,1157,2,0.4,71.9],[11900,1151,2,0.4,71.7],[12000,1146,2,0.4,71.6],[12100,1141,3,0.4,71.4],[12200,1135,3,0.4,71.2],[12300,1130,3,0.4,71],[12400,1125,3,0.4,70.8],[12500,1119,3,0.4,70.6],[12600,1113,3,0.4,70.4],[12700,1107,3,0.4,70.2],[12800,1102,3,0.4,70],[12900,1096,3,0.4,69.8],[13000,1090,3,0.4,69.6],[13100,1084,3,0.4,69.3],[13200,1077,4,0.4,69.1],[13300,1071,4,0.4,68.8],[13400,1064,4,0.4,68.6],[13500,1057,4,0.5,68.3],[13600,1050,4,0.5,68],[13700,1043,4,0.5,67.8],[13800,1036,4,0.5,67.4],[13900,1028,5,0.5,67.1],[14000,1021,5,0.5,66.8],[14100,1013,5,0.5,66.5],[14200,1005,5,0.5,66.1],[14300,996,5,0.5,65.8],[14400,987,6,0.6,65.4],[14500,978,6,0.6,65],[14600,968,7,0.6,64.5],[14700,957,7,0.6,64],[14800,946,8,0.7,63.5],[14900,933,9,0.8,62.9],[15000,920,10,0.8,62.3],[15100,905,12,0.9,61.6],[15200,888,15,1.1,60.7],[15300,865,19,1.3,59.6],[15400,831,31,2,57.7]]] -]], -["WP","30Rnd_122mmWP_D30",[ -["Close","",[[4500,1240,4,0.5,49.8],[4600,1230,4,0.5,49.7],[4700,1220,4,0.5,49.5],[4800,1210,4,0.5,49.3],[4900,1200,4,0.5,49.1],[5000,1189,4,0.5,48.9],[5100,1178,5,0.5,48.6],[5200,1167,5,0.5,48.4],[5300,1156,5,0.5,48.2],[5400,1145,5,0.5,47.9],[5500,1133,6,0.6,47.6],[5600,1120,6,0.6,47.3],[5700,1107,7,0.6,47],[5800,1094,7,0.6,46.7],[5900,1081,7,0.6,46.4],[6000,1066,8,0.6,46],[6100,1051,9,0.7,45.6],[6200,1035,10,0.7,45.2],[6300,1018,11,0.8,44.7],[6400,1000,12,0.8,44.2],[6500,979,14,0.9,43.6],[6600,957,16,1,42.9],[6700,930,20,1.1,42.1],[6800,897,27,1.4,41],[6900,843,47,2.1,39.1]]], -["Medium","",[[6900,1240,2,0.4,61.8],[7000,1234,2,0.4,61.6],[7100,1227,2,0.4,61.5],[7200,1221,3,0.4,61.3],[7300,1214,3,0.4,61.2],[7400,1208,3,0.4,61],[7500,1201,3,0.4,60.8],[7600,1194,3,0.4,60.7],[7700,1187,3,0.4,60.5],[7800,1180,3,0.4,60.3],[7900,1173,3,0.4,60.1],[8000,1166,3,0.4,59.9],[8100,1159,3,0.4,59.7],[8200,1151,4,0.4,59.5],[8300,1144,4,0.4,59.3],[8400,1136,4,0.4,59.1],[8500,1128,4,0.5,58.9],[8600,1120,4,0.5,58.6],[8700,1112,4,0.5,58.4],[8800,1103,4,0.5,58.1],[8900,1094,5,0.5,57.9],[9000,1086,5,0.5,57.6],[9100,1076,5,0.5,57.3],[9200,1067,5,0.5,57],[9300,1057,6,0.5,56.7],[9400,1047,6,0.6,56.4],[9500,1037,6,0.6,56],[9600,1026,7,0.6,55.6],[9700,1014,7,0.6,55.2],[9800,1002,8,0.6,54.8],[9900,990,9,0.7,54.3],[10000,976,9,0.7,53.9],[10100,961,10,0.8,53.3],[10200,945,12,0.8,52.7],[10300,927,14,0.9,52],[10400,906,16,1,51.1],[10500,879,23,1.3,50],[10600,838,37,2,48.2]]], -["Far","",[[10000,1241,2,0.3,74.4],[10100,1236,2,0.3,74.3],[10200,1232,2,0.3,74.2],[10300,1228,2,0.3,74.1],[10400,1223,2,0.3,73.9],[10500,1219,2,0.3,73.8],[10600,1214,2,0.3,73.7],[10700,1210,2,0.3,73.6],[10800,1205,2,0.3,73.4],[10900,1200,2,0.3,73.3],[11000,1196,2,0.3,73.1],[11100,1191,2,0.3,73],[11200,1186,2,0.3,72.8],[11300,1181,2,0.3,72.7],[11400,1177,2,0.3,72.5],[11500,1172,2,0.4,72.4],[11600,1167,2,0.4,72.2],[11700,1162,2,0.4,72.1],[11800,1157,2,0.4,71.9],[11900,1151,2,0.4,71.7],[12000,1146,2,0.4,71.6],[12100,1141,3,0.4,71.4],[12200,1135,3,0.4,71.2],[12300,1130,3,0.4,71],[12400,1125,3,0.4,70.8],[12500,1119,3,0.4,70.6],[12600,1113,3,0.4,70.4],[12700,1107,3,0.4,70.2],[12800,1102,3,0.4,70],[12900,1096,3,0.4,69.8],[13000,1090,3,0.4,69.6],[13100,1084,3,0.4,69.3],[13200,1077,4,0.4,69.1],[13300,1071,4,0.4,68.8],[13400,1064,4,0.4,68.6],[13500,1057,4,0.5,68.3],[13600,1050,4,0.5,68],[13700,1043,4,0.5,67.8],[13800,1036,4,0.5,67.4],[13900,1028,5,0.5,67.1],[14000,1021,5,0.5,66.8],[14100,1013,5,0.5,66.5],[14200,1005,5,0.5,66.1],[14300,996,5,0.5,65.8],[14400,987,6,0.6,65.4],[14500,978,6,0.6,65],[14600,968,7,0.6,64.5],[14700,957,7,0.6,64],[14800,946,8,0.7,63.5],[14900,933,9,0.8,62.9],[15000,920,10,0.8,62.3],[15100,905,12,0.9,61.6],[15200,888,15,1.1,60.7],[15300,865,19,1.3,59.6],[15400,831,31,2,57.7]]] -]], -["Illum","30Rnd_122mmILLUM_D30",[ -["Close","",[[4400,1238,4,0.5,48.6],[4500,1228,4,0.5,48.4],[4600,1218,4,0.5,48.2],[4700,1207,4,0.5,48],[4800,1197,5,0.5,47.7],[4900,1186,5,0.5,47.5],[5000,1174,5,0.6,47.3],[5100,1163,6,0.6,47],[5200,1151,6,0.6,46.7],[5300,1139,6,0.6,46.5],[5400,1126,7,0.6,46.1],[5500,1113,7,0.6,45.8],[5600,1099,8,0.6,45.5],[5700,1085,8,0.6,45.1],[5800,1070,9,0.7,44.7],[5900,1054,10,0.7,44.3],[6000,1036,11,0.8,43.8],[6100,1018,13,0.9,43.3],[6200,998,14,0.9,42.7],[6300,976,17,1,42],[6400,949,20,1.2,41.1],[6500,916,28,1.4,40],[6600,859,50,2.3,38.1]]], -["Medium","",[[6800,1239,2,0.4,60.7],[6900,1233,3,0.4,60.6],[7000,1226,3,0.4,60.4],[7100,1220,3,0.4,60.3],[7200,1213,3,0.4,60.1],[7300,1206,3,0.4,59.9],[7400,1199,3,0.4,59.8],[7500,1192,3,0.4,59.6],[7600,1185,3,0.4,59.4],[7700,1178,3,0.4,59.2],[7800,1171,3,0.4,59],[7900,1163,3,0.4,58.8],[8000,1156,4,0.4,58.6],[8100,1148,4,0.5,58.4],[8200,1140,4,0.5,58.2],[8300,1132,4,0.5,57.9],[8400,1124,4,0.5,57.7],[8500,1115,5,0.5,57.4],[8600,1107,5,0.5,57.2],[8700,1098,5,0.5,56.9],[8800,1088,5,0.5,56.6],[8900,1079,6,0.5,56.3],[9000,1069,6,0.6,56],[9100,1059,6,0.6,55.7],[9200,1049,6,0.6,55.3],[9300,1038,7,0.6,54.9],[9400,1027,8,0.6,54.5],[9500,1015,8,0.7,54.1],[9600,1002,9,0.7,53.6],[9700,988,10,0.7,53.1],[9800,973,11,0.8,52.6],[9900,957,12,0.9,52],[10000,939,14,1,51.2],[10100,918,18,1.1,50.4],[10200,891,23,1.4,49.3],[10300,849,39,2.1,47.4]]], -["Far","",[[9900,1240,2,0.3,73.6],[10000,1236,2,0.3,73.5],[10100,1231,2,0.3,73.3],[10200,1227,2,0.3,73.2],[10300,1222,2,0.3,73.1],[10400,1218,2,0.3,72.9],[10500,1213,2,0.3,72.8],[10600,1209,2,0.3,72.7],[10700,1204,2,0.3,72.5],[10800,1199,2,0.3,72.4],[10900,1194,2,0.3,72.2],[11000,1190,2,0.3,72.1],[11100,1185,2,0.3,72],[11200,1180,2,0.4,71.8],[11300,1175,2,0.4,71.6],[11400,1170,2,0.4,71.5],[11500,1165,2,0.4,71.3],[11600,1160,2,0.4,71.1],[11700,1154,2,0.4,71],[11800,1149,3,0.4,70.8],[11900,1144,3,0.4,70.6],[12000,1138,3,0.4,70.4],[12100,1133,3,0.4,70.2],[12200,1127,3,0.4,70],[12300,1122,3,0.4,69.8],[12400,1116,3,0.4,69.6],[12500,1110,3,0.4,69.4],[12600,1104,3,0.4,69.2],[12700,1098,3,0.4,69],[12800,1092,3,0.4,68.7],[12900,1085,3,0.4,68.5],[13000,1079,4,0.4,68.3],[13100,1072,4,0.4,68],[13200,1066,4,0.5,67.7],[13300,1059,4,0.5,67.5],[13400,1052,4,0.5,67.2],[13500,1044,5,0.5,66.9],[13600,1037,5,0.5,66.6],[13700,1029,5,0.5,66.3],[13800,1021,5,0.5,65.9],[13900,1013,5,0.5,65.6],[14000,1004,6,0.6,65.2],[14100,995,6,0.6,64.8],[14200,986,7,0.6,64.4],[14300,976,7,0.7,63.9],[14400,965,8,0.7,63.4],[14500,954,9,0.7,62.9],[14600,942,9,0.8,62.3],[14700,929,11,0.8,61.7],[14800,914,12,0.9,61],[14900,896,15,1.1,60.1],[15000,875,19,1.3,59],[15100,840,33,2.1,57.1]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["Close", "Medium", "Far"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/m119.sqf b/TO_MERGE/ace/arty_range_tables/tables/m119.sqf deleted file mode 100644 index a7dbee7c99..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/m119.sqf +++ /dev/null @@ -1,44 +0,0 @@ -_tableData_tables = [ -["HE","m1",[ -["charge 1","chg1",[[2200,1243,6,0.7,36.5],[2300,1223,6,0.7,36.3],[2400,1202,7,0.7,36],[2500,1180,8,0.7,35.7],[2600,1157,9,0.7,35.3],[2700,1133,10,0.8,34.9],[2800,1107,11,0.8,34.5],[2900,1079,13,0.9,34],[3000,1050,14,0.9,33.4],[3100,1016,17,1,32.8],[3200,977,22,1.1,32],[3300,931,29,1.3,31],[3400,864,47,1.8,29.4]]], -["charge 2","chg2",[[2600,1227,5,0.6,39.1],[2700,1209,6,0.6,38.8],[2800,1190,6,0.7,38.5],[2900,1171,7,0.7,38.2],[3000,1150,8,0.7,37.9],[3100,1129,9,0.7,37.5],[3200,1106,9,0.7,37.1],[3300,1082,11,0.8,36.6],[3400,1056,12,0.8,36.1],[3500,1028,14,0.9,35.5],[3600,997,17,1,34.9],[3700,961,20,1.1,34],[3800,917,27,1.3,33],[3900,853,45,1.8,31.3]]], -["charge 3","chg3",[[3000,1233,4,0.6,42.7],[3100,1218,5,0.6,42.5],[3200,1202,5,0.6,42.2],[3300,1186,5,0.6,41.9],[3400,1169,6,0.6,41.6],[3500,1151,6,0.7,41.3],[3600,1133,7,0.7,41],[3700,1114,8,0.7,40.6],[3800,1094,8,0.7,40.2],[3900,1072,9,0.7,39.7],[4000,1050,10,0.8,39.2],[4100,1025,12,0.8,38.7],[4200,998,14,0.9,38.1],[4300,969,16,1,37.3],[4400,934,20,1.1,36.4],[4500,890,28,1.4,35.3],[4600,823,49,2,33.4]]], -["charge 4","chg4",[[3500,1241,4,0.5,47.2],[3600,1228,4,0.5,46.9],[3700,1215,4,0.6,46.7],[3800,1201,4,0.6,46.5],[3900,1188,4,0.6,46.2],[4000,1173,5,0.6,46],[4100,1159,5,0.6,45.7],[4200,1144,5,0.6,45.4],[4300,1128,6,0.6,45],[4400,1112,6,0.6,44.7],[4500,1095,7,0.7,44.3],[4600,1077,7,0.7,43.9],[4700,1058,8,0.7,43.5],[4800,1039,9,0.7,43],[4900,1017,10,0.8,42.4],[5000,995,11,0.8,41.9],[5100,970,13,0.9,41.2],[5200,941,16,1,40.4],[5300,909,19,1.1,39.5],[5400,866,27,1.4,38.2]]], -["charge 5","chg5",[[4300,1242,3,0.5,53.3],[4400,1232,3,0.5,53.1],[4500,1222,3,0.5,52.9],[4600,1211,3,0.5,52.7],[4700,1200,3,0.5,52.5],[4800,1189,3,0.5,52.2],[4900,1177,3,0.5,52],[5000,1165,4,0.5,51.7],[5100,1153,4,0.5,51.5],[5200,1141,4,0.5,51.2],[5300,1128,4,0.6,50.9],[5400,1115,5,0.6,50.6],[5500,1102,5,0.6,50.2],[5600,1088,5,0.6,49.9],[5700,1073,6,0.6,49.5],[5800,1058,6,0.6,49.1],[5900,1042,7,0.6,48.7],[6000,1026,7,0.7,48.2],[6100,1008,8,0.7,47.7],[6200,989,9,0.7,47.2],[6300,969,10,0.8,46.6],[6400,947,11,0.8,45.9],[6500,923,13,0.9,45.1],[6600,895,16,1,44.2],[6700,861,20,1.2,43],[6800,812,32,1.7,41.3]]], -["charge 6","chg6",[[5400,1243,2,0.4,61.2],[5500,1235,2,0.4,61],[5600,1227,2,0.4,60.9],[5700,1218,2,0.4,60.7],[5800,1210,2,0.4,60.5],[5900,1201,2,0.5,60.3],[6000,1192,2,0.5,60.1],[6100,1183,2,0.5,59.9],[6200,1174,2,0.5,59.6],[6300,1165,3,0.5,59.4],[6400,1155,3,0.5,59.2],[6500,1145,3,0.5,58.9],[6600,1135,3,0.5,58.7],[6700,1125,3,0.5,58.4],[6800,1115,3,0.5,58.1],[6900,1104,3,0.5,57.8],[7000,1093,4,0.5,57.5],[7100,1082,4,0.5,57.2],[7200,1070,4,0.5,56.8],[7300,1058,4,0.6,56.5],[7400,1046,5,0.6,56.1],[7500,1033,5,0.6,55.7],[7600,1020,5,0.6,55.3],[7700,1006,6,0.6,54.8],[7800,992,6,0.6,54.3],[7900,976,6,0.7,53.8],[8000,960,7,0.7,53.3],[8100,943,8,0.7,52.7],[8200,924,9,0.8,52],[8300,904,10,0.8,51.2],[8400,880,12,0.9,50.3],[8500,854,15,1.1,49.3],[8600,821,19,1.2,48]]], -["charge 7","chg7",[[6900,1241,1,0.4,71.2],[7000,1234,1,0.4,71],[7100,1228,1,0.4,70.8],[7200,1221,1,0.4,70.7],[7300,1214,1,0.4,70.5],[7400,1207,1,0.4,70.3],[7500,1201,2,0.4,70.1],[7600,1194,2,0.4,70],[7700,1187,2,0.4,69.8],[7800,1179,2,0.4,69.6],[7900,1172,2,0.4,69.4],[8000,1165,2,0.4,69.1],[8100,1157,2,0.4,68.9],[8200,1150,2,0.4,68.7],[8300,1142,2,0.4,68.5],[8400,1134,2,0.4,68.2],[8500,1126,2,0.4,68],[8600,1118,2,0.4,67.7],[8700,1110,2,0.4,67.5],[8800,1102,2,0.4,67.2],[8900,1093,2,0.5,66.9],[9000,1085,3,0.5,66.7],[9100,1076,3,0.5,66.4],[9200,1067,3,0.5,66.1],[9300,1057,3,0.5,65.7],[9400,1048,3,0.5,65.4],[9500,1038,3,0.5,65.1],[9600,1028,3,0.5,64.7],[9700,1018,3,0.5,64.3],[9800,1007,4,0.5,63.9],[9900,996,4,0.5,63.5],[10000,985,4,0.5,63.1],[10100,973,5,0.6,62.6],[10200,961,5,0.6,62.1],[10300,948,5,0.6,61.6],[10400,935,5,0.6,61.1],[10500,921,6,0.6,60.5],[10600,905,6,0.7,59.9],[10700,889,7,0.7,59.2],[10800,872,8,0.7,58.4],[10900,852,9,0.8,57.5],[11000,830,11,0.9,56.5],[11100,803,14,1.1,55.3]]], -["charge 8","chg8",[[8400,1240,1,0.4,81],[8500,1234,1,0.4,80.9],[8600,1229,1,0.4,80.7],[8700,1223,1,0.4,80.6],[8800,1218,1,0.4,80.4],[8900,1212,1,0.4,80.3],[9000,1207,1,0.4,80.1],[9100,1201,1,0.4,79.9],[9200,1196,1,0.4,79.7],[9300,1190,1,0.4,79.6],[9400,1184,1,0.4,79.4],[9500,1178,1,0.4,79.2],[9600,1172,1,0.4,79],[9700,1166,1,0.4,78.8],[9800,1160,1,0.4,78.6],[9900,1154,1,0.4,78.4],[10000,1148,1,0.4,78.2],[10100,1142,1,0.4,78],[10200,1135,1,0.4,77.8],[10300,1129,1,0.4,77.6],[10400,1122,1,0.4,77.3],[10500,1116,2,0.4,77.1],[10600,1109,2,0.4,76.9],[10700,1102,2,0.4,76.6],[10800,1095,2,0.4,76.4],[10900,1088,2,0.4,76.1],[11000,1081,2,0.4,75.9],[11100,1074,2,0.4,75.6],[11200,1067,2,0.4,75.3],[11300,1059,2,0.4,75],[11400,1052,2,0.4,74.7],[11500,1044,2,0.4,74.4],[11600,1036,2,0.4,74.1],[11700,1028,2,0.4,73.8],[11800,1020,2,0.4,73.5],[11900,1012,2,0.5,73.1],[12000,1003,3,0.5,72.7],[12100,994,3,0.5,72.4],[12200,985,3,0.5,72],[12300,976,3,0.5,71.6],[12400,966,3,0.5,71.2],[12500,957,3,0.5,70.7],[12600,947,3,0.5,70.3],[12700,936,3,0.5,69.8],[12800,925,4,0.5,69.3],[12900,914,4,0.6,68.8],[13000,902,4,0.6,68.2],[13100,890,4,0.6,67.6],[13200,877,5,0.6,67],[13300,863,5,0.6,66.3],[13400,848,6,0.7,65.6],[13500,832,7,0.7,64.8],[13600,814,8,0.8,63.8]]] -]], -["WP","m84a1",[ -["charge 1","chg1",[[2200,1230,7,0.7,35.1],[2300,1208,8,0.7,34.8],[2400,1185,9,0.8,34.5],[2500,1162,10,0.8,34.1],[2600,1136,11,0.8,33.7],[2700,1110,12,0.9,33.2],[2800,1080,14,0.9,32.7],[2900,1048,17,1,32.1],[3000,1012,21,1.1,31.3],[3100,967,28,1.3,30.3],[3200,907,42,1.7,28.9]]], -["charge 2","chg2",[[2500,1234,6,0.7,38],[2600,1215,6,0.7,37.7],[2700,1196,7,0.7,37.4],[2800,1176,8,0.7,37.1],[2900,1155,8,0.7,36.8],[3000,1133,9,0.8,36.4],[3100,1109,10,0.8,35.9],[3200,1084,12,0.9,35.4],[3300,1057,14,0.9,34.9],[3400,1027,16,1,34.2],[3500,992,20,1.1,33.5],[3600,951,26,1.3,32.5],[3700,895,39,1.7,31.1]]], -["charge 3","chg3",[[2900,1239,5,0.6,41.7],[3000,1224,5,0.6,41.5],[3100,1207,5,0.6,41.2],[3200,1191,6,0.6,40.9],[3300,1174,6,0.7,40.6],[3400,1156,7,0.7,40.3],[3500,1137,7,0.7,39.9],[3600,1117,8,0.7,39.5],[3700,1096,9,0.8,39.1],[3800,1074,10,0.8,38.6],[3900,1051,11,0.8,38.1],[4000,1025,13,0.9,37.5],[4100,996,16,1,36.8],[4200,963,19,1.1,36],[4300,924,25,1.3,34.9],[4400,868,40,1.8,33.3]]], -["charge 4","chg4",[[3500,1233,4,0.6,46],[3600,1220,4,0.6,45.8],[3700,1206,4,0.6,45.6],[3800,1192,5,0.6,45.3],[3900,1178,5,0.6,45],[4000,1163,5,0.6,44.7],[4100,1148,6,0.6,44.4],[4200,1132,6,0.6,44.1],[4300,1115,7,0.7,43.7],[4400,1098,7,0.7,43.3],[4500,1080,8,0.7,42.9],[4600,1061,9,0.7,42.5],[4700,1040,10,0.8,41.9],[4800,1018,11,0.8,41.4],[4900,994,12,0.9,40.7],[5000,967,15,1,40],[5100,937,18,1.1,39.1],[5200,899,24,1.3,38],[5300,845,38,1.8,36.3]]], -["charge 5","chg5",[[4300,1237,3,0.5,52.3],[4400,1226,3,0.5,52.1],[4500,1215,3,0.5,51.9],[4600,1204,3,0.5,51.7],[4700,1193,3,0.5,51.4],[4800,1182,4,0.5,51.2],[4900,1170,4,0.5,50.9],[5000,1158,4,0.5,50.6],[5100,1145,4,0.6,50.4],[5200,1132,5,0.6,50.1],[5300,1119,5,0.6,49.7],[5400,1105,5,0.6,49.4],[5500,1091,5,0.6,49],[5600,1076,6,0.6,48.6],[5700,1061,6,0.6,48.2],[5800,1045,7,0.7,47.8],[5900,1028,7,0.7,47.3],[6000,1010,8,0.7,46.8],[6100,990,9,0.8,46.2],[6200,969,11,0.8,45.6],[6300,946,12,0.9,44.8],[6400,920,14,1,44],[6500,890,18,1.1,43],[6600,849,26,1.5,41.5]]], -["charge 6","chg6",[[5400,1239,2,0.4,60.3],[5500,1231,2,0.4,60.2],[5600,1223,2,0.4,60],[5700,1214,2,0.4,59.8],[5800,1205,2,0.5,59.6],[5900,1196,2,0.5,59.4],[6000,1187,3,0.5,59.1],[6100,1178,3,0.5,58.9],[6200,1169,3,0.5,58.7],[6300,1159,3,0.5,58.4],[6400,1149,3,0.5,58.2],[6500,1139,3,0.5,57.9],[6600,1129,3,0.5,57.7],[6700,1119,3,0.5,57.4],[6800,1108,4,0.5,57.1],[6900,1097,4,0.5,56.8],[7000,1086,4,0.5,56.4],[7100,1074,4,0.5,56.1],[7200,1062,4,0.6,55.7],[7300,1049,5,0.6,55.3],[7400,1036,5,0.6,54.9],[7500,1023,5,0.6,54.5],[7600,1009,6,0.6,54],[7700,994,6,0.6,53.5],[7800,979,7,0.7,53],[7900,962,7,0.7,52.4],[8000,944,8,0.7,51.8],[8100,925,9,0.8,51.1],[8200,904,11,0.9,50.3],[8300,879,13,1,49.3],[8400,850,17,1.2,48.2],[8500,811,25,1.5,46.6]]], -["charge 7","chg7",[[6900,1238,1,0.4,70.4],[7000,1231,1,0.4,70.2],[7100,1225,1,0.4,70],[7200,1218,1,0.4,69.9],[7300,1211,1,0.4,69.7],[7400,1204,2,0.4,69.5],[7500,1197,2,0.4,69.3],[7600,1190,2,0.4,69.1],[7700,1183,2,0.4,68.9],[7800,1176,2,0.4,68.7],[7900,1169,2,0.4,68.5],[8000,1161,2,0.4,68.3],[8100,1154,2,0.4,68.1],[8200,1146,2,0.4,67.8],[8300,1138,2,0.4,67.6],[8400,1130,2,0.4,67.4],[8500,1122,2,0.4,67.1],[8600,1114,2,0.4,66.9],[8700,1106,2,0.4,66.6],[8800,1097,2,0.5,66.3],[8900,1088,3,0.5,66],[9000,1079,3,0.5,65.7],[9100,1070,3,0.5,65.4],[9200,1061,3,0.5,65.1],[9300,1051,3,0.5,64.8],[9400,1042,3,0.5,64.4],[9500,1032,3,0.5,64],[9600,1021,4,0.5,63.7],[9700,1011,4,0.5,63.3],[9800,1000,4,0.5,62.9],[9900,988,4,0.6,62.4],[10000,976,4,0.6,62],[10100,964,5,0.6,61.5],[10200,951,5,0.6,60.9],[10300,937,6,0.6,60.4],[10400,923,6,0.7,59.8],[10500,908,7,0.7,59.1],[10600,891,7,0.7,58.4],[10700,873,8,0.8,57.6],[10800,853,10,0.9,56.7],[10900,829,12,1,55.6],[11000,801,16,1.2,54.3]]] -]], -["Illum","m314a3",[ -["charge 1","chg1",[[2000,1241,8,0.8,32.6],[2100,1218,10,0.9,32.2],[2200,1193,11,0.9,31.8],[2300,1167,13,1,31.4],[2400,1138,15,1,30.9],[2500,1107,17,1.1,30.3],[2600,1071,22,1.3,29.5],[2700,1029,28,1.4,28.6],[2800,971,44,1.9,27.2]]], -["charge 2","chg2",[[2400,1226,7,0.8,35.4],[2500,1205,8,0.8,35.1],[2600,1184,9,0.8,34.7],[2700,1161,10,0.9,34.3],[2800,1136,12,0.9,33.8],[2900,1110,14,1,33.3],[3000,1081,16,1.1,32.7],[3100,1049,19,1.2,31.9],[3200,1010,25,1.4,31],[3300,960,37,1.7,29.7]]], -["charge 3","chg3",[[2800,1234,6,0.7,39.4],[2900,1217,6,0.7,39.1],[3000,1200,7,0.7,38.8],[3100,1181,7,0.7,38.4],[3200,1162,8,0.8,38.1],[3300,1142,9,0.8,37.7],[3400,1121,10,0.8,37.2],[3500,1099,11,0.9,36.7],[3600,1074,13,0.9,36.2],[3700,1047,15,1,35.5],[3800,1017,19,1.1,34.7],[3900,981,23,1.3,33.8],[4000,933,34,1.7,32.4]]], -["charge 4","chg4",[[3300,1244,4,0.6,44.2],[3400,1230,4,0.6,43.9],[3500,1216,5,0.6,43.7],[3600,1201,5,0.6,43.4],[3700,1186,6,0.7,43.1],[3800,1171,6,0.7,42.8],[3900,1155,6,0.7,42.4],[4000,1138,7,0.7,42.1],[4100,1121,7,0.7,41.7],[4200,1103,8,0.7,41.3],[4300,1083,9,0.8,40.8],[4400,1062,10,0.8,40.3],[4500,1040,12,0.9,39.7],[4600,1015,13,1,39],[4700,987,17,1.1,38.2],[4800,954,21,1.2,37.2],[4900,912,30,1.6,35.9]]], -["charge 5","chg5",[[4200,1236,3,0.5,50.4],[4300,1225,3,0.5,50.2],[4400,1213,3,0.5,50],[4500,1202,4,0.5,49.7],[4600,1190,4,0.6,49.5],[4700,1178,4,0.6,49.2],[4800,1165,4,0.6,48.9],[4900,1153,5,0.6,48.6],[5000,1139,5,0.6,48.3],[5100,1126,5,0.6,48],[5200,1112,6,0.7,47.6],[5300,1097,6,0.7,47.2],[5400,1082,7,0.7,46.8],[5500,1065,7,0.7,46.4],[5600,1048,8,0.7,45.9],[5700,1030,9,0.8,45.4],[5800,1011,10,0.8,44.8],[5900,990,11,0.9,44.1],[6000,966,13,1,43.4],[6100,939,16,1.1,42.5],[6200,908,20,1.3,41.4],[6300,863,31,1.7,39.7]]], -["charge 6","chg6",[[5300,1240,2,0.5,58.7],[5400,1231,2,0.5,58.5],[5500,1222,2,0.5,58.3],[5600,1213,2,0.5,58.1],[5700,1204,3,0.5,57.9],[5800,1195,3,0.5,57.7],[5900,1186,3,0.5,57.5],[6000,1176,3,0.5,57.2],[6100,1167,3,0.5,57],[6200,1157,3,0.5,56.7],[6300,1147,3,0.5,56.4],[6400,1136,3,0.5,56.2],[6500,1126,4,0.5,55.9],[6600,1115,4,0.5,55.5],[6700,1104,4,0.5,55.2],[6800,1092,4,0.6,54.9],[6900,1080,5,0.6,54.5],[7000,1068,5,0.6,54.2],[7100,1055,5,0.6,53.7],[7200,1042,6,0.6,53.3],[7300,1028,6,0.7,52.9],[7400,1013,6,0.7,52.4],[7500,998,7,0.7,51.8],[7600,981,8,0.7,51.3],[7700,964,9,0.8,50.6],[7800,945,10,0.8,49.9],[7900,923,11,0.9,49.1],[8000,899,14,1,48.2],[8100,871,17,1.2,47.1],[8200,832,25,1.6,45.4]]], -["charge 7","chg7",[[6800,1239,1,0.4,68.9],[6900,1232,1,0.4,68.8],[7000,1226,1,0.4,68.6],[7100,1219,2,0.4,68.4],[7200,1212,2,0.4,68.2],[7300,1205,2,0.4,68],[7400,1198,2,0.4,67.8],[7500,1191,2,0.4,67.7],[7600,1183,2,0.4,67.4],[7700,1176,2,0.4,67.2],[7800,1169,2,0.4,67],[7900,1161,2,0.4,66.8],[8000,1153,2,0.4,66.6],[8100,1145,2,0.5,66.3],[8200,1137,2,0.5,66.1],[8300,1129,2,0.5,65.8],[8400,1121,2,0.5,65.6],[8500,1113,3,0.5,65.3],[8600,1104,3,0.5,65],[8700,1095,3,0.5,64.7],[8800,1086,3,0.5,64.4],[8900,1077,3,0.5,64.1],[9000,1068,3,0.5,63.8],[9100,1058,3,0.5,63.4],[9200,1048,3,0.5,63.1],[9300,1038,4,0.5,62.7],[9400,1028,4,0.5,62.3],[9500,1017,4,0.5,61.9],[9600,1005,4,0.6,61.5],[9700,994,4,0.6,61],[9800,982,5,0.6,60.5],[9900,969,5,0.6,60],[10000,956,6,0.6,59.5],[10100,942,6,0.7,58.9],[10200,927,6,0.7,58.3],[10300,911,7,0.8,57.6],[10400,893,8,0.8,56.8],[10500,874,10,0.9,56],[10600,852,12,1,54.9],[10700,826,15,1.2,53.7]]] -]], -["DPICM","m916",[ -["charge 1","chg1",[[2200,1236,6,0.7,35.9],[2300,1216,7,0.7,35.6],[2400,1194,8,0.7,35.2],[2500,1171,8,0.7,34.9],[2600,1147,10,0.8,34.5],[2700,1122,11,0.8,34.1],[2800,1095,12,0.9,33.6],[2900,1065,14,0.9,33.1],[3000,1032,17,1,32.4],[3100,995,21,1.1,31.7],[3200,949,28,1.3,30.7],[3300,886,44,1.8,29.2]]], -["charge 2","chg2",[[2500,1240,5,0.6,38.7],[2600,1222,6,0.7,38.4],[2700,1203,6,0.7,38.1],[2800,1183,7,0.7,37.8],[2900,1163,8,0.7,37.5],[3000,1142,8,0.7,37.1],[3100,1120,9,0.8,36.7],[3200,1096,11,0.8,36.3],[3300,1070,12,0.8,35.8],[3400,1043,14,0.9,35.2],[3500,1012,16,1,34.6],[3600,977,20,1.1,33.8],[3700,934,27,1.3,32.7],[3800,875,41,1.7,31.2]]], -["charge 3","chg3",[[2900,1244,4,0.6,42.3],[3000,1229,5,0.6,42.1],[3100,1213,5,0.6,41.8],[3200,1197,5,0.6,41.6],[3300,1180,6,0.6,41.3],[3400,1162,6,0.6,41],[3500,1144,7,0.7,40.6],[3600,1125,7,0.7,40.3],[3700,1106,8,0.7,39.9],[3800,1085,9,0.7,39.4],[3900,1062,10,0.8,39],[4000,1038,12,0.8,38.4],[4100,1012,13,0.9,37.8],[4200,983,16,1,37.1],[4300,949,20,1.1,36.2],[4400,908,26,1.3,35.1],[4500,847,44,1.9,33.4]]], -["charge 4","chg4",[[3500,1237,4,0.5,46.6],[3600,1224,4,0.6,46.4],[3700,1211,4,0.6,46.1],[3800,1197,4,0.6,45.9],[3900,1183,5,0.6,45.6],[4000,1168,5,0.6,45.4],[4100,1154,5,0.6,45.1],[4200,1138,6,0.6,44.7],[4300,1122,6,0.6,44.4],[4400,1105,6,0.6,44],[4500,1088,7,0.7,43.6],[4600,1069,8,0.7,43.2],[4700,1050,9,0.7,42.7],[4800,1029,10,0.8,42.2],[4900,1007,11,0.8,41.6],[5000,982,13,0.9,41],[5100,955,15,1,40.2],[5200,923,19,1.1,39.3],[5300,883,25,1.3,38.1],[5400,824,43,2,36.2]]], -["charge 5","chg5",[[4300,1240,3,0.5,52.8],[4400,1229,3,0.5,52.6],[4500,1219,3,0.5,52.4],[4600,1208,3,0.5,52.2],[4700,1197,3,0.5,52],[4800,1185,3,0.5,51.7],[4900,1174,4,0.5,51.5],[5000,1162,4,0.5,51.2],[5100,1149,4,0.5,50.9],[5200,1137,4,0.6,50.6],[5300,1124,4,0.6,50.3],[5400,1110,5,0.6,50],[5500,1097,5,0.6,49.6],[5600,1082,5,0.6,49.3],[5700,1067,6,0.6,48.9],[5800,1052,6,0.6,48.5],[5900,1035,7,0.7,48],[6000,1018,8,0.7,47.5],[6100,1000,8,0.7,47],[6200,980,9,0.8,46.4],[6300,958,11,0.8,45.7],[6400,935,13,0.9,45],[6500,908,15,1,44.1],[6600,875,19,1.2,43],[6700,832,28,1.5,41.5]]], -["charge 6","chg6",[[5400,1241,2,0.4,60.8],[5500,1233,2,0.4,60.6],[5600,1225,2,0.4,60.4],[5700,1216,2,0.4,60.2],[5800,1207,2,0.5,60],[5900,1199,2,0.5,59.8],[6000,1190,2,0.5,59.6],[6100,1181,2,0.5,59.4],[6200,1171,3,0.5,59.2],[6300,1162,3,0.5,58.9],[6400,1152,3,0.5,58.7],[6500,1142,3,0.5,58.4],[6600,1132,3,0.5,58.2],[6700,1122,3,0.5,57.9],[6800,1111,3,0.5,57.6],[6900,1101,4,0.5,57.3],[7000,1089,4,0.5,57],[7100,1078,4,0.5,56.6],[7200,1066,4,0.5,56.3],[7300,1054,4,0.6,55.9],[7400,1041,5,0.6,55.5],[7500,1028,5,0.6,55.1],[7600,1015,5,0.6,54.7],[7700,1000,6,0.6,54.2],[7800,985,6,0.7,53.7],[7900,969,7,0.7,53.1],[8000,952,8,0.7,52.5],[8100,934,9,0.8,51.9],[8200,914,10,0.8,51.2],[8300,892,11,0.9,50.3],[8400,867,14,1,49.3],[8500,836,18,1.2,48.1]]], -["charge 7","chg7",[[6900,1239,1,0.4,70.8],[7000,1233,1,0.4,70.6],[7100,1226,1,0.4,70.4],[7200,1219,1,0.4,70.3],[7300,1213,1,0.4,70.1],[7400,1206,2,0.4,69.9],[7500,1199,2,0.4,69.7],[7600,1192,2,0.4,69.5],[7700,1185,2,0.4,69.3],[7800,1178,2,0.4,69.1],[7900,1170,2,0.4,68.9],[8000,1163,2,0.4,68.7],[8100,1156,2,0.4,68.5],[8200,1148,2,0.4,68.3],[8300,1140,2,0.4,68],[8400,1132,2,0.4,67.8],[8500,1124,2,0.4,67.6],[8600,1116,2,0.4,67.3],[8700,1108,2,0.4,67],[8800,1099,2,0.5,66.8],[8900,1091,2,0.5,66.5],[9000,1082,3,0.5,66.2],[9100,1073,3,0.5,65.9],[9200,1064,3,0.5,65.6],[9300,1055,3,0.5,65.3],[9400,1045,3,0.5,64.9],[9500,1035,3,0.5,64.6],[9600,1025,4,0.5,64.2],[9700,1014,4,0.5,63.8],[9800,1003,4,0.5,63.4],[9900,992,4,0.5,63],[10000,981,4,0.6,62.5],[10100,969,5,0.6,62],[10200,956,5,0.6,61.5],[10300,943,5,0.6,61],[10400,929,6,0.6,60.4],[10500,914,6,0.7,59.8],[10600,898,7,0.7,59.2],[10700,881,8,0.8,58.4],[10800,863,9,0.8,57.6],[10900,841,11,0.9,56.6],[11000,817,13,1,55.5]]], -["charge 8","chg8",[[8300,1244,1,0.4,80.8],[8400,1239,1,0.4,80.7],[8500,1233,1,0.4,80.5],[8600,1228,1,0.4,80.4],[8700,1222,1,0.4,80.2],[8800,1217,1,0.4,80],[8900,1211,1,0.4,79.9],[9000,1206,1,0.4,79.7],[9100,1200,1,0.4,79.5],[9200,1194,1,0.4,79.4],[9300,1189,1,0.4,79.2],[9400,1183,1,0.4,79],[9500,1177,1,0.4,78.8],[9600,1171,1,0.4,78.6],[9700,1165,1,0.4,78.4],[9800,1159,1,0.4,78.2],[9900,1153,1,0.4,78],[10000,1146,1,0.4,77.8],[10100,1140,1,0.4,77.6],[10200,1134,1,0.4,77.4],[10300,1127,1,0.4,77.2],[10400,1121,2,0.4,77],[10500,1114,2,0.4,76.7],[10600,1107,2,0.4,76.5],[10700,1101,2,0.4,76.2],[10800,1094,2,0.4,76],[10900,1087,2,0.4,75.7],[11000,1080,2,0.4,75.5],[11100,1072,2,0.4,75.2],[11200,1065,2,0.4,74.9],[11300,1057,2,0.4,74.6],[11400,1050,2,0.4,74.3],[11500,1042,2,0.4,74],[11600,1034,2,0.4,73.7],[11700,1026,2,0.4,73.3],[11800,1018,2,0.5,73],[11900,1009,3,0.5,72.6],[12000,1000,3,0.5,72.3],[12100,992,3,0.5,71.9],[12200,982,3,0.5,71.5],[12300,973,3,0.5,71.1],[12400,963,3,0.5,70.7],[12500,953,3,0.5,70.2],[12600,943,3,0.5,69.8],[12700,932,4,0.5,69.3],[12800,921,4,0.6,68.8],[12900,910,4,0.6,68.2],[13000,898,5,0.6,67.6],[13100,885,5,0.6,67],[13200,871,5,0.6,66.4],[13300,857,6,0.7,65.6],[13400,841,7,0.7,64.8],[13500,824,7,0.8,64],[13600,805,9,0.9,63]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum", "DPICM"]; -_tableData_charges = ["charge 1", "charge 2", "charge 3", "charge 4", "charge 5", "charge 6", "charge 7", "charge 8"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/m119_legacy.sqf b/TO_MERGE/ace/arty_range_tables/tables/m119_legacy.sqf deleted file mode 100644 index 1fdcd36f62..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/m119_legacy.sqf +++ /dev/null @@ -1,21 +0,0 @@ -_tableData_tables = [ -["HE","30Rnd_105mmHE_M119",[ -["Close","",[[4100,1237,4,0.5,47.4],[4200,1226,4,0.5,47.2],[4300,1215,4,0.5,47],[4400,1203,5,0.5,46.7],[4500,1192,5,0.5,46.5],[4600,1180,5,0.5,46.3],[4700,1168,5,0.5,46.1],[4800,1156,6,0.5,45.8],[4900,1143,6,0.6,45.5],[5000,1129,7,0.6,45.2],[5100,1116,7,0.6,44.9],[5200,1101,7,0.6,44.6],[5300,1087,8,0.6,44.2],[5400,1071,9,0.7,43.9],[5500,1054,9,0.7,43.5],[5600,1037,11,0.7,43],[5700,1018,12,0.8,42.5],[5800,997,14,0.8,41.9],[5900,975,16,0.9,41.3],[6000,949,19,1,40.5],[6100,917,24,1.2,39.6],[6200,873,36,1.7,38.2]]], -["Medium","",[[5900,1244,3,0.4,57.4],[6000,1236,3,0.4,57.2],[6100,1229,3,0.4,57.1],[6200,1221,3,0.4,56.9],[6300,1214,3,0.4,56.8],[6400,1206,3,0.4,56.6],[6500,1198,3,0.4,56.4],[6600,1190,3,0.4,56.2],[6700,1182,4,0.4,56],[6800,1174,4,0.5,55.8],[6900,1165,4,0.5,55.6],[7000,1157,4,0.5,55.4],[7100,1148,4,0.5,55.2],[7200,1139,4,0.5,55],[7300,1130,5,0.5,54.7],[7400,1121,5,0.5,54.5],[7500,1111,5,0.5,54.2],[7600,1102,5,0.5,53.9],[7700,1091,5,0.5,53.6],[7800,1081,6,0.6,53.3],[7900,1070,6,0.6,53],[8000,1059,7,0.6,52.7],[8100,1047,7,0.6,52.3],[8200,1035,7,0.6,51.9],[8300,1022,8,0.7,51.5],[8400,1008,9,0.7,51.1],[8500,994,10,0.7,50.6],[8600,979,10,0.7,50.1],[8700,961,12,0.8,49.5],[8800,943,14,0.9,48.8],[8900,921,17,1,48],[9000,895,21,1.2,47],[9100,857,33,1.7,45.5]]], -["Far","",[[9000,1243,2,0.3,70.8],[9100,1238,2,0.3,70.7],[9200,1233,2,0.3,70.6],[9300,1229,2,0.3,70.5],[9400,1224,2,0.4,70.3],[9500,1219,2,0.4,70.2],[9600,1214,2,0.4,70.1],[9700,1209,2,0.4,69.9],[9800,1204,2,0.4,69.8],[9900,1198,2,0.4,69.6],[10000,1193,2,0.4,69.5],[10100,1188,2,0.4,69.3],[10200,1183,2,0.4,69.2],[10300,1177,2,0.4,69],[10400,1172,2,0.4,68.9],[10500,1166,2,0.4,68.7],[10600,1161,3,0.4,68.5],[10700,1155,3,0.4,68.4],[10800,1149,3,0.4,68.2],[10900,1144,3,0.4,68],[11000,1138,3,0.4,67.8],[11100,1132,3,0.4,67.6],[11200,1126,3,0.4,67.4],[11300,1120,3,0.4,67.2],[11400,1113,3,0.4,67],[11500,1107,3,0.4,66.8],[11600,1100,3,0.4,66.5],[11700,1094,4,0.4,66.3],[11800,1087,4,0.4,66.1],[11900,1080,4,0.5,65.8],[12000,1073,4,0.4,65.6],[12100,1066,4,0.4,65.3],[12200,1058,4,0.5,65],[12300,1051,4,0.5,64.7],[12400,1043,5,0.5,64.4],[12500,1035,5,0.5,64.1],[12600,1026,5,0.5,63.8],[12700,1018,5,0.5,63.4],[12800,1009,6,0.6,63.1],[12900,999,6,0.6,62.7],[13000,990,7,0.6,62.3],[13100,979,7,0.6,61.9],[13200,968,8,0.7,61.4],[13300,957,8,0.7,60.9],[13400,944,9,0.8,60.3],[13500,930,11,0.8,59.7],[13600,915,12,0.9,59],[13700,898,14,1,58.2],[13800,877,18,1.2,57.2],[13900,846,28,1.7,55.7]]] -]], -["WP","30Rnd_105mmWP_M119",[ -["Close","",[[4100,1237,4,0.5,47.4],[4200,1226,4,0.5,47.2],[4300,1215,4,0.5,47],[4400,1203,5,0.5,46.7],[4500,1192,5,0.5,46.5],[4600,1180,5,0.5,46.3],[4700,1168,5,0.5,46.1],[4800,1156,6,0.5,45.8],[4900,1143,6,0.6,45.5],[5000,1129,7,0.6,45.2],[5100,1116,7,0.6,44.9],[5200,1101,7,0.6,44.6],[5300,1087,8,0.6,44.2],[5400,1071,9,0.7,43.9],[5500,1054,9,0.7,43.5],[5600,1037,11,0.7,43],[5700,1018,12,0.8,42.5],[5800,997,14,0.8,41.9],[5900,975,16,0.9,41.3],[6000,949,19,1,40.5],[6100,917,24,1.2,39.6],[6200,873,36,1.7,38.2]]], -["Medium","",[[5900,1244,3,0.4,57.4],[6000,1236,3,0.4,57.2],[6100,1229,3,0.4,57.1],[6200,1221,3,0.4,56.9],[6300,1214,3,0.4,56.8],[6400,1206,3,0.4,56.6],[6500,1198,3,0.4,56.4],[6600,1190,3,0.4,56.2],[6700,1182,4,0.4,56],[6800,1174,4,0.5,55.8],[6900,1165,4,0.5,55.6],[7000,1157,4,0.5,55.4],[7100,1148,4,0.5,55.2],[7200,1139,4,0.5,55],[7300,1130,5,0.5,54.7],[7400,1121,5,0.5,54.5],[7500,1111,5,0.5,54.2],[7600,1102,5,0.5,53.9],[7700,1091,5,0.5,53.6],[7800,1081,6,0.6,53.3],[7900,1070,6,0.6,53],[8000,1059,7,0.6,52.7],[8100,1047,7,0.6,52.3],[8200,1035,7,0.6,51.9],[8300,1022,8,0.7,51.5],[8400,1008,9,0.7,51.1],[8500,994,10,0.7,50.6],[8600,979,10,0.7,50.1],[8700,961,12,0.8,49.5],[8800,943,14,0.9,48.8],[8900,921,17,1,48],[9000,895,21,1.2,47],[9100,857,33,1.7,45.5]]], -["Far","",[[9000,1243,2,0.3,70.8],[9100,1238,2,0.3,70.7],[9200,1233,2,0.3,70.6],[9300,1229,2,0.3,70.5],[9400,1224,2,0.4,70.3],[9500,1219,2,0.4,70.2],[9600,1214,2,0.4,70.1],[9700,1209,2,0.4,69.9],[9800,1204,2,0.4,69.8],[9900,1198,2,0.4,69.6],[10000,1193,2,0.4,69.5],[10100,1188,2,0.4,69.3],[10200,1183,2,0.4,69.2],[10300,1177,2,0.4,69],[10400,1172,2,0.4,68.9],[10500,1166,2,0.4,68.7],[10600,1161,3,0.4,68.5],[10700,1155,3,0.4,68.4],[10800,1149,3,0.4,68.2],[10900,1144,3,0.4,68],[11000,1138,3,0.4,67.8],[11100,1132,3,0.4,67.6],[11200,1126,3,0.4,67.4],[11300,1120,3,0.4,67.2],[11400,1113,3,0.4,67],[11500,1107,3,0.4,66.8],[11600,1100,3,0.4,66.5],[11700,1094,4,0.4,66.3],[11800,1087,4,0.4,66.1],[11900,1080,4,0.5,65.8],[12000,1073,4,0.4,65.6],[12100,1066,4,0.4,65.3],[12200,1058,4,0.5,65],[12300,1051,4,0.5,64.7],[12400,1043,5,0.5,64.4],[12500,1035,5,0.5,64.1],[12600,1026,5,0.5,63.8],[12700,1018,5,0.5,63.4],[12800,1009,6,0.6,63.1],[12900,999,6,0.6,62.7],[13000,990,7,0.6,62.3],[13100,979,7,0.6,61.9],[13200,968,8,0.7,61.4],[13300,957,8,0.7,60.9],[13400,944,9,0.8,60.3],[13500,930,11,0.8,59.7],[13600,915,12,0.9,59],[13700,898,14,1,58.2],[13800,877,18,1.2,57.2],[13900,846,28,1.7,55.7]]] -]], -["Illum","30Rnd_105mmILLUM_M119",[ -["Close","",[[4000,1235,4,0.5,46],[4100,1224,5,0.6,45.8],[4200,1212,5,0.6,45.6],[4300,1200,5,0.6,45.3],[4400,1188,5,0.6,45.1],[4500,1176,6,0.6,44.8],[4600,1163,6,0.6,44.6],[4700,1150,7,0.6,44.3],[4800,1136,7,0.6,44],[4900,1122,8,0.7,43.7],[5000,1107,8,0.7,43.3],[5100,1091,9,0.7,42.9],[5200,1075,10,0.7,42.5],[5300,1057,11,0.8,42.1],[5400,1038,12,0.8,41.6],[5500,1018,14,0.9,41],[5600,996,16,1,40.4],[5700,969,20,1.1,39.6],[5800,938,25,1.3,38.6],[5900,892,39,1.8,37.2]]], -["Medium","",[[5800,1243,3,0.4,56.3],[5900,1235,3,0.4,56.1],[6000,1227,3,0.4,56],[6100,1220,3,0.4,55.8],[6200,1212,3,0.4,55.6],[6300,1204,3,0.4,55.4],[6400,1196,3,0.4,55.2],[6500,1188,4,0.5,55],[6600,1179,4,0.5,54.8],[6700,1171,4,0.5,54.6],[6800,1162,4,0.5,54.4],[6900,1153,4,0.5,54.2],[7000,1144,5,0.5,53.9],[7100,1135,5,0.5,53.7],[7200,1125,5,0.5,53.4],[7300,1115,5,0.6,53.1],[7400,1105,6,0.6,52.9],[7500,1095,6,0.6,52.6],[7600,1084,6,0.6,52.3],[7700,1073,7,0.6,51.9],[7800,1061,7,0.6,51.6],[7900,1049,8,0.7,51.2],[8000,1036,8,0.7,50.8],[8100,1023,9,0.7,50.3],[8200,1008,10,0.7,49.8],[8300,993,11,0.8,49.3],[8400,976,12,0.9,48.7],[8500,957,14,0.9,48],[8600,935,17,1.1,47.2],[8700,909,22,1.3,46.2],[8800,870,34,1.8,44.7]]], -["Far","",[[8900,1243,2,0.3,70],[9000,1238,2,0.3,69.8],[9100,1233,2,0.3,69.7],[9200,1228,2,0.3,69.6],[9300,1223,2,0.3,69.4],[9400,1218,2,0.3,69.3],[9500,1213,2,0.4,69.2],[9600,1207,2,0.4,69],[9700,1202,2,0.4,68.9],[9800,1197,2,0.4,68.7],[9900,1192,2,0.4,68.6],[10000,1186,2,0.4,68.4],[10100,1181,2,0.4,68.2],[10200,1175,2,0.4,68.1],[10300,1170,3,0.4,67.9],[10400,1164,3,0.4,67.7],[10500,1158,3,0.4,67.5],[10600,1153,3,0.4,67.4],[10700,1147,3,0.4,67.2],[10800,1141,3,0.4,67],[10900,1135,3,0.4,66.8],[11000,1129,3,0.4,66.6],[11100,1122,3,0.4,66.4],[11200,1116,3,0.4,66.1],[11300,1109,4,0.4,65.9],[11400,1103,4,0.4,65.7],[11500,1096,4,0.5,65.4],[11600,1089,4,0.5,65.2],[11700,1082,4,0.5,64.9],[11800,1075,4,0.5,64.7],[11900,1067,4,0.5,64.4],[12000,1060,5,0.5,64.1],[12100,1052,5,0.5,63.8],[12200,1044,5,0.5,63.5],[12300,1036,5,0.5,63.2],[12400,1027,5,0.5,62.8],[12500,1018,6,0.6,62.5],[12600,1009,6,0.6,62.1],[12700,999,7,0.6,61.7],[12800,989,8,0.7,61.2],[12900,978,7,0.7,60.8],[13000,966,9,0.7,60.3],[13100,954,10,0.8,59.7],[13200,940,11,0.8,59.1],[13300,925,12,0.9,58.4],[13400,908,15,1,57.6],[13500,886,19,1.3,56.6],[13600,855,27,1.7,55]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["Close", "Medium", "Far"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/m224.sqf b/TO_MERGE/ace/arty_range_tables/tables/m224.sqf deleted file mode 100644 index d4e48d9775..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/m224.sqf +++ /dev/null @@ -1,26 +0,0 @@ -_tableData_tables = [ -["HE","m720a1",[ -["charge 0","chg0",[[100,1474,13,1.5,12.8],[200,1338,29,1.6,12.5],[300,1178,57,1.8,11.8],[400,893,177,2.9,9.9]]], -["charge 1","chg1",[[300,1493,3,0.8,24.4],[400,1456,5,0.8,24.3],[500,1419,6,0.9,24.2],[600,1380,8,0.9,24],[700,1340,9,0.9,23.8],[800,1298,11,0.9,23.5],[900,1253,14,1,23.1],[1000,1205,17,1,22.8],[1100,1152,22,1.1,22.2],[1200,1092,29,1.2,21.6],[1300,1017,41,1.5,20.7],[1400,906,76,2.1,19.1]]], -["charge 2","chg2",[[400,1510,2,0.7,31],[500,1487,2,0.7,31],[600,1464,3,0.7,30.9],[700,1440,3,0.7,30.8],[800,1417,4,0.7,30.7],[900,1392,4,0.7,30.5],[1000,1367,5,0.7,30.4],[1100,1342,6,0.7,30.2],[1200,1315,7,0.7,30],[1300,1288,8,0.8,29.7],[1400,1259,9,0.8,29.5],[1500,1230,10,0.8,29.1],[1600,1198,11,0.8,28.8],[1700,1165,13,0.9,28.4],[1800,1128,15,0.9,27.9],[1900,1088,19,1,27.4],[2000,1043,24,1.1,26.7],[2100,989,31,1.3,25.8],[2200,915,49,1.7,24.5]]], -["charge 3","chg3",[[500,1509,1,0.6,34.7],[600,1490,2,0.6,34.6],[700,1471,2,0.6,34.5],[800,1453,2,0.6,34.4],[900,1433,3,0.6,34.3],[1000,1414,3,0.6,34.2],[1100,1394,4,0.6,34.1],[1200,1374,4,0.7,34],[1300,1353,4,0.7,33.8],[1400,1332,5,0.7,33.6],[1500,1310,5,0.7,33.4],[1600,1288,6,0.7,33.2],[1700,1265,7,0.7,33],[1800,1241,7,0.7,32.7],[1900,1216,8,0.8,32.4],[2000,1190,9,0.8,32],[2100,1162,11,0.8,31.7],[2200,1133,12,0.8,31.3],[2300,1101,14,0.9,30.8],[2400,1066,17,1,30.2],[2500,1027,21,1.1,29.5],[2600,981,26,1.2,28.7],[2700,922,38,1.5,27.5],[2800,805,93,2.8,24.9]]], -["charge 4","chg4",[[700,1498,1,0.6,39.1],[800,1483,1,0.6,39],[900,1468,2,0.6,38.9],[1000,1453,2,0.6,38.8],[1100,1437,2,0.6,38.8],[1200,1422,2,0.6,38.7],[1300,1406,3,0.6,38.5],[1400,1390,3,0.6,38.4],[1500,1374,3,0.6,38.3],[1600,1357,3,0.6,38.2],[1700,1341,4,0.6,38],[1800,1323,4,0.6,37.8],[1900,1306,4,0.6,37.6],[2000,1288,5,0.6,37.4],[2100,1269,5,0.6,37.2],[2200,1250,6,0.7,37],[2300,1231,6,0.7,36.7],[2400,1211,7,0.7,36.5],[2500,1190,7,0.7,36.2],[2600,1167,8,0.7,35.8],[2700,1144,9,0.7,35.5],[2800,1120,10,0.8,35],[2900,1094,11,0.8,34.6],[3000,1065,13,0.9,34.1],[3100,1034,15,0.9,33.5],[3200,1000,18,1,32.8],[3300,959,24,1.2,31.9],[3400,907,33,1.5,30.7],[3500,816,70,2.5,28.5]]] -]], -["WP","m722a1",[ -["charge 0","chg0",[[100,1474,13,1.5,12.8],[200,1338,29,1.6,12.5],[300,1178,57,1.8,11.8],[400,893,177,2.9,9.9]]], -["charge 1","chg1",[[300,1493,3,0.8,24.4],[400,1456,5,0.8,24.3],[500,1419,6,0.9,24.2],[600,1380,8,0.9,24],[700,1340,9,0.9,23.8],[800,1298,11,0.9,23.5],[900,1253,14,1,23.1],[1000,1205,17,1,22.8],[1100,1152,22,1.1,22.2],[1200,1092,29,1.2,21.6],[1300,1017,41,1.5,20.7],[1400,906,76,2.1,19.1]]], -["charge 2","chg2",[[400,1510,2,0.7,31],[500,1487,2,0.7,31],[600,1464,3,0.7,30.9],[700,1440,3,0.7,30.8],[800,1417,4,0.7,30.7],[900,1392,4,0.7,30.5],[1000,1367,5,0.7,30.4],[1100,1342,6,0.7,30.2],[1200,1315,7,0.7,30],[1300,1288,8,0.8,29.7],[1400,1259,9,0.8,29.5],[1500,1230,10,0.8,29.1],[1600,1198,11,0.8,28.8],[1700,1165,13,0.9,28.4],[1800,1128,15,0.9,27.9],[1900,1088,19,1,27.4],[2000,1043,24,1.1,26.7],[2100,989,31,1.3,25.8],[2200,915,49,1.7,24.5]]], -["charge 3","chg3",[[500,1509,1,0.6,34.7],[600,1490,2,0.6,34.6],[700,1471,2,0.6,34.5],[800,1453,2,0.6,34.4],[900,1433,3,0.6,34.3],[1000,1414,3,0.6,34.2],[1100,1394,4,0.6,34.1],[1200,1374,4,0.7,34],[1300,1353,4,0.7,33.8],[1400,1332,5,0.7,33.6],[1500,1310,5,0.7,33.4],[1600,1288,6,0.7,33.2],[1700,1265,7,0.7,33],[1800,1241,7,0.7,32.7],[1900,1216,8,0.8,32.4],[2000,1190,9,0.8,32],[2100,1162,11,0.8,31.7],[2200,1133,12,0.8,31.3],[2300,1101,14,0.9,30.8],[2400,1066,17,1,30.2],[2500,1027,21,1.1,29.5],[2600,981,26,1.2,28.7],[2700,922,38,1.5,27.5],[2800,805,93,2.8,24.9]]], -["charge 4","chg4",[[700,1498,1,0.6,39.1],[800,1483,1,0.6,39],[900,1468,2,0.6,38.9],[1000,1453,2,0.6,38.8],[1100,1437,2,0.6,38.8],[1200,1422,2,0.6,38.7],[1300,1406,3,0.6,38.5],[1400,1390,3,0.6,38.4],[1500,1374,3,0.6,38.3],[1600,1357,3,0.6,38.2],[1700,1341,4,0.6,38],[1800,1323,4,0.6,37.8],[1900,1306,4,0.6,37.6],[2000,1288,5,0.6,37.4],[2100,1269,5,0.6,37.2],[2200,1250,6,0.7,37],[2300,1231,6,0.7,36.7],[2400,1211,7,0.7,36.5],[2500,1190,7,0.7,36.2],[2600,1167,8,0.7,35.8],[2700,1144,9,0.7,35.5],[2800,1120,10,0.8,35],[2900,1094,11,0.8,34.6],[3000,1065,13,0.9,34.1],[3100,1034,15,0.9,33.5],[3200,1000,18,1,32.8],[3300,959,24,1.2,31.9],[3400,907,33,1.5,30.7],[3500,816,70,2.5,28.5]]] -]], -["Illum","m721",[ -["charge 1","chg1",[[300,1493,3,0.8,24.4],[400,1456,5,0.8,24.3],[500,1419,6,0.9,24.2],[600,1380,8,0.9,24],[700,1340,9,0.9,23.8],[800,1298,11,0.9,23.5],[900,1253,14,1,23.1],[1000,1205,17,1,22.8],[1100,1152,22,1.1,22.2],[1200,1092,29,1.2,21.6],[1300,1017,41,1.5,20.7],[1400,906,76,2.1,19.1]]], -["charge 2","chg2",[[400,1510,2,0.7,31],[500,1487,2,0.7,31],[600,1464,3,0.7,30.9],[700,1440,3,0.7,30.8],[800,1417,4,0.7,30.7],[900,1392,4,0.7,30.5],[1000,1367,5,0.7,30.4],[1100,1342,6,0.7,30.2],[1200,1315,7,0.7,30],[1300,1288,8,0.8,29.7],[1400,1259,9,0.8,29.5],[1500,1230,10,0.8,29.1],[1600,1198,11,0.8,28.8],[1700,1165,13,0.9,28.4],[1800,1128,15,0.9,27.9],[1900,1088,19,1,27.4],[2000,1043,24,1.1,26.7],[2100,989,31,1.3,25.8],[2200,915,49,1.7,24.5]]], -["charge 3","chg3",[[500,1509,1,0.6,34.7],[600,1490,2,0.6,34.6],[700,1471,2,0.6,34.5],[800,1453,2,0.6,34.4],[900,1433,3,0.6,34.3],[1000,1414,3,0.6,34.2],[1100,1394,4,0.6,34.1],[1200,1374,4,0.7,34],[1300,1353,4,0.7,33.8],[1400,1332,5,0.7,33.6],[1500,1310,5,0.7,33.4],[1600,1288,6,0.7,33.2],[1700,1265,7,0.7,33],[1800,1241,7,0.7,32.7],[1900,1216,8,0.8,32.4],[2000,1190,9,0.8,32],[2100,1162,11,0.8,31.7],[2200,1133,12,0.8,31.3],[2300,1101,14,0.9,30.8],[2400,1066,17,1,30.2],[2500,1027,21,1.1,29.5],[2600,981,26,1.2,28.7],[2700,922,38,1.5,27.5],[2800,805,93,2.8,24.9]]], -["charge 4","chg4",[[700,1498,1,0.6,39.1],[800,1483,1,0.6,39],[900,1468,2,0.6,38.9],[1000,1453,2,0.6,38.8],[1100,1437,2,0.6,38.8],[1200,1422,2,0.6,38.7],[1300,1406,3,0.6,38.5],[1400,1390,3,0.6,38.4],[1500,1374,3,0.6,38.3],[1600,1357,3,0.6,38.2],[1700,1341,4,0.6,38],[1800,1323,4,0.6,37.8],[1900,1306,4,0.6,37.6],[2000,1288,5,0.6,37.4],[2100,1269,5,0.6,37.2],[2200,1250,6,0.7,37],[2300,1231,6,0.7,36.7],[2400,1211,7,0.7,36.5],[2500,1190,7,0.7,36.2],[2600,1167,8,0.7,35.8],[2700,1144,9,0.7,35.5],[2800,1120,10,0.8,35],[2900,1094,11,0.8,34.6],[3000,1065,13,0.9,34.1],[3100,1034,15,0.9,33.5],[3200,1000,18,1,32.8],[3300,959,24,1.2,31.9],[3400,907,33,1.5,30.7],[3500,816,70,2.5,28.5]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["charge 0", "charge 1", "charge 2", "charge 3", "charge 4"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/m224_legacy.sqf b/TO_MERGE/ace/arty_range_tables/tables/m224_legacy.sqf deleted file mode 100644 index 31319bd034..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/m224_legacy.sqf +++ /dev/null @@ -1,21 +0,0 @@ -_tableData_tables = [ -["HE","ACE_1Rnd_60mmHE_M224",[ -["Close","",[[100,1394,32,1.8,10],[125,1338,42,1.8,9.8],[150,1279,55,1.9,9.7],[175,1213,71,2,9.4],[200,1139,93,2.2,9.1],[225,1047,129,2.4,8.7],[250,894,221,3.1,7.8]]], -["Medium","",[[250,1498,4,0.9,22.5],[300,1477,5,0.9,22.5],[350,1456,5,0.9,22.4],[400,1435,7,0.9,22.3],[450,1413,7,0.9,22.2],[500,1391,8,0.9,22.1],[550,1369,9,0.9,22],[600,1346,11,1,21.9],[650,1323,12,1,21.8],[700,1299,14,1,21.6],[750,1274,15,1,21.5],[800,1248,17,1,21.3],[850,1221,19,1.1,21.1],[900,1193,22,1.1,20.8],[950,1163,25,1.2,20.6],[1000,1131,29,1.2,20.3],[1050,1096,33,1.3,19.9],[1100,1056,40,1.4,19.5],[1150,1011,50,1.6,18.9],[1200,952,69,1.9,18.2],[1250,849,125,2.8,16.7]]], -["Far","",[[600,1512,1,0.5,37.6],[650,1505,1,0.5,37.5],[700,1497,1,0.5,37.5],[750,1490,2,0.5,37.5],[800,1482,2,0.6,37.4],[850,1475,2,0.6,37.4],[900,1467,2,0.6,37.4],[950,1460,2,0.6,37.3],[1000,1452,2,0.6,37.3],[1050,1444,2,0.6,37.3],[1100,1437,2,0.6,37.2],[1150,1429,3,0.6,37.2],[1200,1421,3,0.6,37.1],[1250,1413,3,0.6,37.1],[1300,1406,3,0.6,37],[1350,1398,3,0.6,37],[1400,1390,3,0.6,36.9],[1450,1382,3,0.6,36.8],[1500,1374,4,0.6,36.8],[1550,1366,4,0.6,36.7],[1600,1357,4,0.6,36.6],[1650,1349,4,0.6,36.6],[1700,1341,4,0.6,36.5],[1750,1332,4,0.6,36.4],[1800,1324,5,0.6,36.3],[1850,1315,5,0.6,36.2],[1900,1307,5,0.6,36.2],[1950,1298,5,0.6,36.1],[2000,1289,5,0.6,36],[2050,1280,6,0.6,35.9],[2100,1271,6,0.6,35.8],[2150,1262,6,0.6,35.6],[2200,1253,6,0.6,35.5],[2250,1243,7,0.6,35.4],[2300,1233,7,0.7,35.3],[2350,1224,7,0.7,35.2],[2400,1214,8,0.7,35],[2450,1203,8,0.7,34.9],[2500,1193,8,0.7,34.7],[2550,1183,9,0.7,34.6],[2600,1172,9,0.7,34.4],[2650,1161,10,0.7,34.2],[2700,1149,10,0.7,34.1],[2750,1138,11,0.8,33.9],[2800,1126,12,0.8,33.7],[2850,1113,12,0.8,33.5],[2900,1100,13,0.8,33.2],[2950,1087,14,0.9,33],[3000,1073,15,0.9,32.8],[3050,1058,16,0.9,32.5],[3100,1043,18,1,32.2],[3150,1026,20,1,31.9],[3200,1009,22,1.1,31.5],[3250,989,24,1.1,31.1],[3300,968,28,1.2,30.7],[3350,944,33,1.4,30.1],[3400,915,40,1.6,29.5],[3450,876,55,1.9,28.6]]] -]], -["WP","ACE_1Rnd_60mmWP_M224",[ -["Close","",[[100,1394,32,1.8,10],[125,1338,42,1.8,9.8],[150,1279,55,1.9,9.7],[175,1213,71,2,9.4],[200,1139,93,2.2,9.1],[225,1047,129,2.4,8.7],[250,894,221,3.1,7.8]]], -["Medium","",[[250,1498,4,0.9,22.5],[300,1477,5,0.9,22.5],[350,1456,5,0.9,22.4],[400,1435,7,0.9,22.3],[450,1413,7,0.9,22.2],[500,1391,8,0.9,22.1],[550,1369,9,0.9,22],[600,1346,11,1,21.9],[650,1323,12,1,21.8],[700,1299,14,1,21.6],[750,1274,15,1,21.5],[800,1248,17,1,21.3],[850,1221,19,1.1,21.1],[900,1193,22,1.1,20.8],[950,1163,25,1.2,20.6],[1000,1131,29,1.2,20.3],[1050,1096,33,1.3,19.9],[1100,1056,40,1.4,19.5],[1150,1011,50,1.6,18.9],[1200,952,69,1.9,18.2],[1250,849,125,2.8,16.7]]], -["Far","",[[600,1512,1,0.5,37.6],[650,1505,1,0.5,37.5],[700,1497,1,0.5,37.5],[750,1490,2,0.5,37.5],[800,1482,2,0.6,37.4],[850,1475,2,0.6,37.4],[900,1467,2,0.6,37.4],[950,1460,2,0.6,37.3],[1000,1452,2,0.6,37.3],[1050,1444,2,0.6,37.3],[1100,1437,2,0.6,37.2],[1150,1429,3,0.6,37.2],[1200,1421,3,0.6,37.1],[1250,1413,3,0.6,37.1],[1300,1406,3,0.6,37],[1350,1398,3,0.6,37],[1400,1390,3,0.6,36.9],[1450,1382,3,0.6,36.8],[1500,1374,4,0.6,36.8],[1550,1366,4,0.6,36.7],[1600,1357,4,0.6,36.6],[1650,1349,4,0.6,36.6],[1700,1341,4,0.6,36.5],[1750,1332,4,0.6,36.4],[1800,1324,5,0.6,36.3],[1850,1315,5,0.6,36.2],[1900,1307,5,0.6,36.2],[1950,1298,5,0.6,36.1],[2000,1289,5,0.6,36],[2050,1280,6,0.6,35.9],[2100,1271,6,0.6,35.8],[2150,1262,6,0.6,35.6],[2200,1253,6,0.6,35.5],[2250,1243,7,0.6,35.4],[2300,1233,7,0.7,35.3],[2350,1224,7,0.7,35.2],[2400,1214,8,0.7,35],[2450,1203,8,0.7,34.9],[2500,1193,8,0.7,34.7],[2550,1183,9,0.7,34.6],[2600,1172,9,0.7,34.4],[2650,1161,10,0.7,34.2],[2700,1149,10,0.7,34.1],[2750,1138,11,0.8,33.9],[2800,1126,12,0.8,33.7],[2850,1113,12,0.8,33.5],[2900,1100,13,0.8,33.2],[2950,1087,14,0.9,33],[3000,1073,15,0.9,32.8],[3050,1058,16,0.9,32.5],[3100,1043,18,1,32.2],[3150,1026,20,1,31.9],[3200,1009,22,1.1,31.5],[3250,989,24,1.1,31.1],[3300,968,28,1.2,30.7],[3350,944,33,1.4,30.1],[3400,915,40,1.6,29.5],[3450,876,55,1.9,28.6]]] -]], -["Illum","ACE_1Rnd_60mmILLUM_M224",[ -["Close","",[]], -["Medium","",[[200,1505,6,1.2,19.3],[250,1481,7,1.2,19.3],[300,1456,9,1.2,19.2],[350,1431,10,1.2,19.1],[400,1405,12,1.3,19],[450,1379,14,1.3,18.8],[500,1352,17,1.3,18.6],[550,1323,20,1.4,18.4],[600,1293,23,1.4,18.2],[650,1262,27,1.5,17.9],[700,1227,32,1.6,17.6],[750,1190,40,1.7,17.2],[800,1146,50,1.9,16.7],[850,1092,69,2.3,16]]], -["Far","",[[600,1508,2,0.6,35.8],[650,1500,2,0.6,35.8],[700,1492,2,0.6,35.8],[750,1484,2,0.6,35.7],[800,1476,2,0.6,35.7],[850,1469,2,0.6,35.7],[900,1461,2,0.6,35.6],[950,1453,2,0.6,35.6],[1000,1445,3,0.6,35.5],[1050,1436,3,0.6,35.5],[1100,1428,3,0.6,35.4],[1150,1420,3,0.6,35.4],[1200,1412,3,0.6,35.3],[1250,1404,3,0.6,35.3],[1300,1395,4,0.6,35.2],[1350,1387,4,0.6,35.1],[1400,1379,4,0.6,35.1],[1450,1370,4,0.6,35],[1500,1361,4,0.6,34.9],[1550,1353,5,0.6,34.8],[1600,1344,5,0.7,34.8],[1650,1335,5,0.7,34.7],[1700,1326,5,0.7,34.6],[1750,1317,6,0.7,34.5],[1800,1308,6,0.7,34.4],[1850,1299,6,0.7,34.3],[1900,1289,6,0.7,34.2],[1950,1280,7,0.7,34.1],[2000,1270,7,0.7,33.9],[2050,1260,7,0.7,33.8],[2100,1250,8,0.7,33.7],[2150,1240,8,0.7,33.5],[2200,1229,9,0.8,33.4],[2250,1219,9,0.8,33.2],[2300,1208,9,0.8,33.1],[2350,1197,10,0.8,32.9],[2400,1185,10,0.8,32.8],[2450,1174,11,0.8,32.6],[2500,1161,12,0.9,32.4],[2550,1149,13,0.9,32.2],[2600,1136,13,0.9,31.9],[2650,1123,15,0.9,31.7],[2700,1109,16,0.9,31.5],[2750,1094,17,1,31.2],[2800,1079,18,1,30.9],[2850,1062,20,1.1,30.6],[2900,1044,23,1.2,30.2],[2950,1025,26,1.2,29.8],[3000,1004,29,1.3,29.3],[3050,979,35,1.5,28.8],[3100,949,44,1.8,28.1],[3150,904,64,2.3,27]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["Close", "Medium", "Far"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/m252.sqf b/TO_MERGE/ace/arty_range_tables/tables/m252.sqf deleted file mode 100644 index 420537c9c1..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/m252.sqf +++ /dev/null @@ -1,26 +0,0 @@ -_tableData_tables = [ -["HE","m821a2",[ -["charge 0","chg0",[[100,1500,8,1.3,14.4],[200,1396,18,1.4,14.2],[300,1281,31,1.5,13.8],[400,1142,55,1.7,13.1],[500,908,147,2.7,11.3]]], -["charge 1","chg1",[[400,1485,3,0.8,27.3],[500,1456,4,0.8,27.2],[600,1426,5,0.8,27.1],[700,1395,6,0.8,27],[800,1364,7,0.8,26.8],[900,1331,8,0.8,26.6],[1000,1297,9,0.8,26.3],[1100,1261,11,0.9,26],[1200,1223,13,0.9,25.7],[1300,1183,15,1,25.3],[1400,1138,19,1,24.8],[1500,1088,24,1.1,24.1],[1600,1030,31,1.3,23.4],[1700,952,48,1.6,22.2]]], -["charge 2","chg2",[[600,1501,1,0.6,36.5],[700,1484,2,0.6,36.5],[800,1467,2,0.6,36.4],[900,1450,2,0.6,36.3],[1000,1432,2,0.6,36.2],[1100,1415,3,0.6,36.1],[1200,1397,3,0.6,36],[1300,1378,3,0.6,35.8],[1400,1360,4,0.6,35.7],[1500,1341,4,0.6,35.5],[1600,1321,5,0.6,35.4],[1700,1301,5,0.7,35.2],[1800,1281,6,0.7,34.9],[1900,1260,6,0.7,34.7],[2000,1238,7,0.7,34.4],[2100,1215,7,0.7,34.2],[2200,1192,8,0.7,33.8],[2300,1167,9,0.8,33.5],[2400,1140,11,0.8,33.1],[2500,1112,12,0.8,32.6],[2600,1082,14,0.9,32.1],[2700,1049,16,1,31.5],[2800,1011,20,1.1,30.8],[2900,967,26,1.2,30],[3000,909,38,1.5,28.7]]], -["charge 3","chg3",[[800,1504,1,0.5,43.5],[900,1492,1,0.5,43.5],[1000,1480,1,0.5,43.4],[1100,1468,1,0.5,43.3],[1200,1455,1,0.5,43.3],[1300,1443,2,0.5,43.2],[1400,1430,2,0.5,43.1],[1500,1417,2,0.5,43],[1600,1404,2,0.5,42.9],[1700,1391,2,0.5,42.8],[1800,1377,2,0.5,42.7],[1900,1364,3,0.5,42.6],[2000,1350,3,0.5,42.4],[2100,1336,3,0.6,42.3],[2200,1322,3,0.6,42.1],[2300,1308,3,0.6,41.9],[2400,1293,4,0.6,41.8],[2500,1278,4,0.6,41.6],[2600,1263,4,0.6,41.4],[2700,1247,4,0.6,41.1],[2800,1230,5,0.6,40.9],[2900,1214,5,0.6,40.7],[3000,1197,6,0.6,40.4],[3100,1179,6,0.6,40.1],[3200,1160,7,0.7,39.8],[3300,1141,7,0.7,39.4],[3400,1121,8,0.7,39.1],[3500,1099,9,0.7,38.6],[3600,1077,10,0.8,38.2],[3700,1053,11,0.8,37.7],[3800,1027,13,0.9,37.1],[3900,997,15,0.9,36.5],[4000,965,18,1,35.7],[4100,926,23,1.2,34.7],[4200,875,34,1.5,33.4]]], -["charge 4","chg4",[[1000,1505,1,0.5,49.4],[1100,1495,1,0.5,49.3],[1200,1485,1,0.5,49.3],[1300,1476,1,0.5,49.3],[1400,1466,1,0.5,49.2],[1500,1456,1,0.5,49.1],[1600,1446,1,0.5,49],[1700,1436,1,0.5,49],[1800,1425,1,0.5,48.9],[1900,1415,1,0.5,48.8],[2000,1405,2,0.5,48.7],[2100,1394,2,0.5,48.6],[2200,1384,2,0.5,48.5],[2300,1373,2,0.5,48.4],[2400,1362,2,0.5,48.3],[2500,1351,2,0.5,48.2],[2600,1340,2,0.5,48],[2700,1329,2,0.5,47.9],[2800,1317,2,0.5,47.7],[2900,1306,3,0.5,47.6],[3000,1294,3,0.5,47.4],[3100,1282,3,0.5,47.2],[3200,1270,3,0.5,47.1],[3300,1257,3,0.5,46.9],[3400,1244,3,0.5,46.7],[3500,1231,4,0.5,46.5],[3600,1218,4,0.6,46.2],[3700,1205,4,0.6,46],[3800,1191,4,0.6,45.7],[3900,1176,5,0.6,45.5],[4000,1161,5,0.6,45.2],[4100,1146,5,0.6,44.9],[4200,1130,6,0.6,44.5],[4300,1114,6,0.6,44.2],[4400,1096,7,0.7,43.8],[4500,1078,7,0.7,43.4],[4600,1059,8,0.7,43],[4700,1039,9,0.8,42.5],[4800,1018,10,0.8,42],[4900,994,11,0.8,41.4],[5000,969,14,0.9,40.7],[5100,940,16,1,39.9],[5200,906,20,1.1,38.9],[5300,861,29,1.5,37.6]]] -]], -["WP","m375a3",[ -["charge 0","chg0",[[100,1480,12,1.4,13.1],[200,1351,26,1.5,12.8],[300,1202,50,1.7,12.2],[400,978,122,2.4,10.8]]], -["charge 1","chg1",[[300,1507,3,0.8,26.2],[400,1475,3,0.8,26.1],[500,1443,4,0.8,26],[600,1410,5,0.8,25.9],[700,1375,7,0.8,25.7],[800,1340,8,0.9,25.5],[900,1304,10,0.9,25.2],[1000,1265,12,0.9,24.9],[1100,1224,14,1,24.6],[1200,1180,17,1,24.1],[1300,1131,21,1.1,23.6],[1400,1075,27,1.2,22.9],[1500,1007,39,1.4,22],[1600,907,68,2,20.5]]], -["charge 2","chg2",[[600,1495,2,0.6,35.4],[700,1477,2,0.6,35.3],[800,1459,2,0.6,35.2],[900,1440,2,0.6,35.1],[1000,1422,3,0.6,35],[1100,1403,3,0.6,34.9],[1200,1383,3,0.6,34.8],[1300,1364,4,0.6,34.6],[1400,1344,4,0.7,34.5],[1500,1323,5,0.7,34.3],[1600,1302,5,0.7,34.1],[1700,1280,6,0.7,33.8],[1800,1258,7,0.7,33.6],[1900,1235,7,0.7,33.3],[2000,1210,8,0.7,33],[2100,1185,9,0.8,32.7],[2200,1158,10,0.8,32.3],[2300,1130,12,0.8,31.9],[2400,1099,13,0.9,31.4],[2500,1065,16,1,30.8],[2600,1028,19,1,30.2],[2700,984,25,1.2,29.4],[2800,929,35,1.4,28.3],[2900,838,68,2.3,26.3]]], -["charge 3","chg3",[[800,1500,1,0.5,42.5],[900,1487,1,0.5,42.4],[1000,1475,1,0.5,42.4],[1100,1462,1,0.5,42.3],[1200,1449,2,0.5,42.2],[1300,1435,2,0.5,42.2],[1400,1422,2,0.5,42.1],[1500,1409,2,0.5,42],[1600,1395,2,0.5,41.9],[1700,1381,2,0.5,41.7],[1800,1367,3,0.6,41.6],[1900,1353,3,0.6,41.5],[2000,1338,3,0.6,41.3],[2100,1323,3,0.6,41.2],[2200,1308,4,0.6,41],[2300,1293,4,0.6,40.8],[2400,1277,4,0.6,40.6],[2500,1261,4,0.6,40.4],[2600,1245,5,0.6,40.2],[2700,1228,5,0.6,39.9],[2800,1210,5,0.6,39.7],[2900,1192,6,0.6,39.4],[3000,1173,7,0.7,39.1],[3100,1154,7,0.7,38.7],[3200,1133,8,0.7,38.4],[3300,1112,9,0.7,38],[3400,1089,10,0.8,37.6],[3500,1065,11,0.8,37.1],[3600,1039,13,0.9,36.5],[3700,1010,15,0.9,35.9],[3800,977,18,1,35.2],[3900,939,23,1.2,34.2],[4000,890,31,1.4,33]]], -["charge 4","chg4",[[900,1504,1,0.5,46.4],[1000,1494,1,0.5,46.4],[1100,1483,1,0.5,46.3],[1200,1472,1,0.5,46.3],[1300,1461,1,0.5,46.2],[1400,1449,1,0.5,46.1],[1500,1438,1,0.5,46.1],[1600,1427,2,0.5,46],[1700,1415,2,0.5,45.9],[1800,1404,2,0.5,45.8],[1900,1392,2,0.5,45.7],[2000,1380,2,0.5,45.6],[2100,1368,2,0.5,45.5],[2200,1356,2,0.5,45.3],[2300,1344,3,0.5,45.2],[2400,1331,3,0.5,45],[2500,1319,3,0.5,44.9],[2600,1306,3,0.5,44.7],[2700,1292,3,0.5,44.6],[2800,1279,3,0.5,44.4],[2900,1265,4,0.6,44.2],[3000,1251,4,0.6,44],[3100,1237,4,0.6,43.8],[3200,1222,4,0.6,43.5],[3300,1207,5,0.6,43.3],[3400,1192,5,0.6,43],[3500,1176,5,0.6,42.7],[3600,1159,6,0.6,42.4],[3700,1142,6,0.6,42.1],[3800,1124,7,0.7,41.7],[3900,1105,7,0.7,41.4],[4000,1086,8,0.7,41],[4100,1065,9,0.7,40.5],[4200,1043,10,0.8,40],[4300,1019,12,0.8,39.4],[4400,992,13,0.9,38.8],[4500,963,16,1,38.1],[4600,929,20,1.1,37.2],[4700,886,27,1.3,36],[4800,820,48,2,34.1]]] -]], -["Illum","m853a1",[ -["charge 1","chg1",[[300,1507,3,0.8,26.2],[400,1475,3,0.8,26.1],[500,1443,4,0.8,26],[600,1410,5,0.8,25.9],[700,1375,7,0.8,25.7],[800,1340,8,0.9,25.5],[900,1304,10,0.9,25.2],[1000,1265,12,0.9,24.9],[1100,1224,14,1,24.6],[1200,1180,17,1,24.1],[1300,1131,21,1.1,23.6],[1400,1075,27,1.2,22.9],[1500,1007,39,1.4,22],[1600,907,68,2,20.5]]], -["charge 2","chg2",[[600,1495,2,0.6,35.4],[700,1477,2,0.6,35.3],[800,1459,2,0.6,35.2],[900,1440,2,0.6,35.1],[1000,1422,3,0.6,35],[1100,1403,3,0.6,34.9],[1200,1383,3,0.6,34.8],[1300,1364,4,0.6,34.6],[1400,1344,4,0.7,34.5],[1500,1323,5,0.7,34.3],[1600,1302,5,0.7,34.1],[1700,1280,6,0.7,33.8],[1800,1258,7,0.7,33.6],[1900,1235,7,0.7,33.3],[2000,1210,8,0.7,33],[2100,1185,9,0.8,32.7],[2200,1158,10,0.8,32.3],[2300,1130,12,0.8,31.9],[2400,1099,13,0.9,31.4],[2500,1065,16,1,30.8],[2600,1028,19,1,30.2],[2700,984,25,1.2,29.4],[2800,929,35,1.4,28.3],[2900,838,68,2.3,26.3]]], -["charge 3","chg3",[[800,1500,1,0.5,42.5],[900,1487,1,0.5,42.4],[1000,1475,1,0.5,42.4],[1100,1462,1,0.5,42.3],[1200,1449,2,0.5,42.2],[1300,1435,2,0.5,42.2],[1400,1422,2,0.5,42.1],[1500,1409,2,0.5,42],[1600,1395,2,0.5,41.9],[1700,1381,2,0.5,41.7],[1800,1367,3,0.6,41.6],[1900,1353,3,0.6,41.5],[2000,1338,3,0.6,41.3],[2100,1323,3,0.6,41.2],[2200,1308,4,0.6,41],[2300,1293,4,0.6,40.8],[2400,1277,4,0.6,40.6],[2500,1261,4,0.6,40.4],[2600,1245,5,0.6,40.2],[2700,1228,5,0.6,39.9],[2800,1210,5,0.6,39.7],[2900,1192,6,0.6,39.4],[3000,1173,7,0.7,39.1],[3100,1154,7,0.7,38.7],[3200,1133,8,0.7,38.4],[3300,1112,9,0.7,38],[3400,1089,10,0.8,37.6],[3500,1065,11,0.8,37.1],[3600,1039,13,0.9,36.5],[3700,1010,15,0.9,35.9],[3800,977,18,1,35.2],[3900,939,23,1.2,34.2],[4000,890,31,1.4,33]]], -["charge 4","chg4",[[1000,1502,1,0.5,48.5],[1100,1492,1,0.5,48.4],[1200,1482,1,0.5,48.4],[1300,1471,1,0.5,48.3],[1400,1461,1,0.5,48.3],[1500,1451,1,0.5,48.2],[1600,1441,1,0.5,48.1],[1700,1430,1,0.5,48],[1800,1419,1,0.5,48],[1900,1409,2,0.5,47.9],[2000,1398,2,0.5,47.8],[2100,1387,2,0.5,47.7],[2200,1376,2,0.5,47.6],[2300,1365,2,0.5,47.4],[2400,1354,2,0.5,47.3],[2500,1342,2,0.5,47.2],[2600,1331,2,0.5,47],[2700,1319,3,0.5,46.9],[2800,1307,3,0.5,46.7],[2900,1295,3,0.5,46.6],[3000,1282,3,0.5,46.4],[3100,1270,3,0.5,46.2],[3200,1257,3,0.6,46],[3300,1244,4,0.5,45.8],[3400,1230,4,0.5,45.6],[3500,1216,4,0.6,45.4],[3600,1202,4,0.6,45.1],[3700,1188,5,0.6,44.9],[3800,1173,5,0.6,44.6],[3900,1157,5,0.6,44.3],[4000,1141,6,0.6,44],[4100,1125,6,0.6,43.6],[4200,1108,7,0.7,43.3],[4300,1089,7,0.7,42.9],[4400,1071,8,0.7,42.5],[4500,1050,9,0.7,42],[4600,1029,10,0.8,41.5],[4700,1006,11,0.8,40.9],[4800,981,13,0.9,40.3],[4900,952,16,1,39.5],[5000,919,19,1.1,38.6],[5100,877,26,1.3,37.4],[5200,812,47,2.1,35.3]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["charge 0", "charge 1", "charge 2", "charge 3", "charge 4"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/arty_range_tables/tables/m252_legacy.sqf b/TO_MERGE/ace/arty_range_tables/tables/m252_legacy.sqf deleted file mode 100644 index dac4194f0f..0000000000 --- a/TO_MERGE/ace/arty_range_tables/tables/m252_legacy.sqf +++ /dev/null @@ -1,21 +0,0 @@ -_tableData_tables = [ -["HE","ACE_1Rnd_81mmHE_M252",[ -["Close","",[[100,1483,11,1.4,13.3],[125,1453,14,1.4,13.2],[150,1422,18,1.4,13.2],[175,1391,21,1.5,13.1],[200,1359,25,1.5,13],[225,1326,30,1.5,12.9],[250,1291,34,1.6,12.7],[275,1255,40,1.6,12.6],[300,1216,47,1.7,12.4],[325,1175,56,1.7,12.2],[350,1129,66,1.8,12],[375,1078,81,2,11.6],[400,1015,105,2.2,11.2],[425,927,150,2.6,10.5]]], -["Medium","",[[400,1505,2,0.7,29.6],[450,1493,2,0.7,29.6],[500,1481,3,0.7,29.5],[550,1469,3,0.7,29.5],[600,1457,3,0.7,29.4],[650,1445,4,0.7,29.4],[700,1432,4,0.7,29.3],[750,1420,4,0.7,29.3],[800,1407,5,0.7,29.2],[850,1395,5,0.7,29.1],[900,1382,5,0.7,29],[950,1369,6,0.7,29],[1000,1356,6,0.7,28.9],[1050,1342,7,0.7,28.8],[1100,1329,7,0.7,28.7],[1150,1315,7,0.7,28.6],[1200,1301,8,0.8,28.4],[1250,1287,9,0.8,28.3],[1300,1272,9,0.8,28.2],[1350,1257,10,0.8,28],[1400,1242,11,0.8,27.9],[1450,1227,11,0.8,27.7],[1500,1211,12,0.8,27.6],[1550,1194,13,0.9,27.4],[1600,1177,14,0.9,27.2],[1650,1159,16,0.9,27],[1700,1141,17,1,26.7],[1750,1121,19,1,26.5],[1800,1101,20,1,26.2],[1850,1079,23,1.1,25.9],[1900,1056,25,1.1,25.6],[1950,1030,29,1.2,25.2],[2000,1001,34,1.3,24.7],[2050,968,41,1.5,24.2],[2100,926,54,1.8,23.4],[2150,862,84,2.4,22.2]]], -["Far","",[[1100,1506,1,0.4,49.3],[1200,1498,1,0.4,49.3],[1300,1489,1,0.4,49.2],[1400,1480,1,0.4,49.2],[1500,1472,1,0.4,49.1],[1600,1463,1,0.4,49.1],[1700,1454,1,0.4,49],[1800,1445,1,0.4,49],[1900,1436,1,0.4,48.9],[2000,1428,2,0.4,48.8],[2100,1419,2,0.4,48.7],[2200,1409,2,0.4,48.7],[2300,1400,2,0.4,48.6],[2400,1391,2,0.4,48.5],[2500,1382,2,0.4,48.4],[2600,1373,2,0.4,48.3],[2700,1363,2,0.4,48.2],[2800,1354,2,0.4,48.1],[2900,1344,2,0.4,48],[3000,1334,3,0.4,47.9],[3100,1324,3,0.5,47.7],[3200,1315,3,0.5,47.6],[3300,1304,3,0.5,47.5],[3400,1294,3,0.5,47.3],[3500,1284,3,0.5,47.2],[3600,1274,3,0.5,47],[3700,1263,4,0.5,46.8],[3800,1252,4,0.5,46.7],[3900,1241,4,0.5,46.5],[4000,1230,4,0.5,46.3],[4100,1218,4,0.5,46.1],[4200,1207,5,0.5,45.9],[4300,1195,5,0.5,45.7],[4400,1183,5,0.5,45.4],[4500,1170,6,0.6,45.2],[4600,1157,6,0.6,44.9],[4700,1144,6,0.6,44.6],[4800,1130,7,0.6,44.3],[4900,1116,7,0.6,44],[5000,1101,8,0.6,43.7],[5100,1085,8,0.7,43.3],[5200,1069,9,0.7,43],[5300,1052,10,0.7,42.5],[5400,1033,11,0.8,42],[5500,1013,13,0.8,41.5],[5600,991,14,0.9,40.9],[5700,966,17,1,40.2],[5800,938,21,1.1,39.4],[5900,901,29,1.4,38.3],[6000,840,53,2.2,36.4]]] -]], -["WP","ACE_1Rnd_81mmWP_M252",[ -["Close","",[[100,1483,11,1.4,13.3],[125,1453,14,1.4,13.2],[150,1422,18,1.4,13.2],[175,1391,21,1.5,13.1],[200,1359,25,1.5,13],[225,1326,30,1.5,12.9],[250,1291,34,1.6,12.7],[275,1255,40,1.6,12.6],[300,1216,47,1.7,12.4],[325,1175,56,1.7,12.2],[350,1129,66,1.8,12],[375,1078,81,2,11.6],[400,1015,105,2.2,11.2],[425,927,150,2.6,10.5]]], -["Medium","",[[400,1505,2,0.7,29.6],[450,1493,2,0.7,29.6],[500,1481,3,0.7,29.5],[550,1469,3,0.7,29.5],[600,1457,3,0.7,29.4],[650,1445,4,0.7,29.4],[700,1432,4,0.7,29.3],[750,1420,4,0.7,29.3],[800,1407,5,0.7,29.2],[850,1395,5,0.7,29.1],[900,1382,5,0.7,29],[950,1369,6,0.7,29],[1000,1356,6,0.7,28.9],[1050,1342,7,0.7,28.8],[1100,1329,7,0.7,28.7],[1150,1315,7,0.7,28.6],[1200,1301,8,0.8,28.4],[1250,1287,9,0.8,28.3],[1300,1272,9,0.8,28.2],[1350,1257,10,0.8,28],[1400,1242,11,0.8,27.9],[1450,1227,11,0.8,27.7],[1500,1211,12,0.8,27.6],[1550,1194,13,0.9,27.4],[1600,1177,14,0.9,27.2],[1650,1159,16,0.9,27],[1700,1141,17,1,26.7],[1750,1121,19,1,26.5],[1800,1101,20,1,26.2],[1850,1079,23,1.1,25.9],[1900,1056,25,1.1,25.6],[1950,1030,29,1.2,25.2],[2000,1001,34,1.3,24.7],[2050,968,41,1.5,24.2],[2100,926,54,1.8,23.4],[2150,862,84,2.4,22.2]]], -["Far","",[[1100,1506,1,0.4,49.3],[1200,1498,1,0.4,49.3],[1300,1489,1,0.4,49.2],[1400,1480,1,0.4,49.2],[1500,1472,1,0.4,49.1],[1600,1463,1,0.4,49.1],[1700,1454,1,0.4,49],[1800,1445,1,0.4,49],[1900,1436,1,0.4,48.9],[2000,1428,2,0.4,48.8],[2100,1419,2,0.4,48.7],[2200,1409,2,0.4,48.7],[2300,1400,2,0.4,48.6],[2400,1391,2,0.4,48.5],[2500,1382,2,0.4,48.4],[2600,1373,2,0.4,48.3],[2700,1363,2,0.4,48.2],[2800,1354,2,0.4,48.1],[2900,1344,2,0.4,48],[3000,1334,3,0.4,47.9],[3100,1324,3,0.5,47.7],[3200,1315,3,0.5,47.6],[3300,1304,3,0.5,47.5],[3400,1294,3,0.5,47.3],[3500,1284,3,0.5,47.2],[3600,1274,3,0.5,47],[3700,1263,4,0.5,46.8],[3800,1252,4,0.5,46.7],[3900,1241,4,0.5,46.5],[4000,1230,4,0.5,46.3],[4100,1218,4,0.5,46.1],[4200,1207,5,0.5,45.9],[4300,1195,5,0.5,45.7],[4400,1183,5,0.5,45.4],[4500,1170,6,0.6,45.2],[4600,1157,6,0.6,44.9],[4700,1144,6,0.6,44.6],[4800,1130,7,0.6,44.3],[4900,1116,7,0.6,44],[5000,1101,8,0.6,43.7],[5100,1085,8,0.7,43.3],[5200,1069,9,0.7,43],[5300,1052,10,0.7,42.5],[5400,1033,11,0.8,42],[5500,1013,13,0.8,41.5],[5600,991,14,0.9,40.9],[5700,966,17,1,40.2],[5800,938,21,1.1,39.4],[5900,901,29,1.4,38.3],[6000,840,53,2.2,36.4]]] -]], -["Illum","ACE_1Rnd_81mmILLUM_M252",[ -["Close","",[]], -["Medium","",[[350,1511,3,0.8,27.4],[400,1498,3,0.8,27.3],[450,1485,3,0.8,27.3],[500,1471,4,0.8,27.2],[550,1458,4,0.8,27.2],[600,1445,5,0.8,27.1],[650,1431,5,0.8,27],[700,1418,6,0.8,27],[750,1404,6,0.8,26.9],[800,1390,7,0.9,26.8],[850,1376,7,0.9,26.7],[900,1362,8,0.9,26.6],[950,1347,8,0.9,26.5],[1000,1332,9,0.9,26.4],[1050,1317,10,0.9,26.2],[1100,1301,10,0.9,26.1],[1150,1285,11,0.9,25.9],[1200,1269,12,1,25.8],[1250,1252,13,1,25.6],[1300,1235,15,1,25.4],[1350,1217,16,1,25.2],[1400,1198,17,1.1,25],[1450,1178,19,1.1,24.7],[1500,1158,21,1.2,24.4],[1550,1135,24,1.2,24.1],[1600,1112,28,1.3,23.8],[1650,1086,32,1.4,23.4],[1700,1056,38,1.6,22.9],[1750,1021,48,1.8,22.3],[1800,974,65,2.2,21.4]]], -["Far","",[[1000,1513,1,0.4,48.1],[1100,1504,1,0.4,48],[1200,1495,1,0.4,48],[1300,1486,1,0.4,47.9],[1400,1477,1,0.4,47.9],[1500,1468,1,0.4,47.8],[1600,1459,1,0.4,47.8],[1700,1450,1,0.4,47.7],[1800,1441,1,0.4,47.6],[1900,1432,2,0.4,47.6],[2000,1423,2,0.5,47.5],[2100,1413,2,0.5,47.4],[2200,1404,2,0.5,47.3],[2300,1395,2,0.5,47.2],[2400,1385,2,0.5,47.1],[2500,1375,2,0.5,47],[2600,1366,2,0.5,46.9],[2700,1356,2,0.5,46.8],[2800,1346,3,0.5,46.7],[2900,1336,3,0.5,46.6],[3000,1326,3,0.5,46.4],[3100,1316,3,0.5,46.3],[3200,1305,3,0.5,46.1],[3300,1295,3,0.5,46],[3400,1284,4,0.5,45.8],[3500,1273,4,0.5,45.7],[3600,1262,4,0.5,45.5],[3700,1251,4,0.5,45.3],[3800,1239,4,0.5,45.1],[3900,1228,5,0.5,44.9],[4000,1216,5,0.6,44.7],[4100,1203,5,0.6,44.4],[4200,1191,6,0.6,44.2],[4300,1178,6,0.6,44],[4400,1165,6,0.6,43.7],[4500,1151,7,0.6,43.4],[4600,1137,7,0.6,43.1],[4700,1122,8,0.7,42.7],[4800,1106,9,0.7,42.4],[4900,1090,9,0.7,42],[5000,1073,10,0.8,41.6],[5100,1054,11,0.8,41.1],[5200,1034,13,0.8,40.6],[5300,1013,15,0.9,40],[5400,988,17,1,39.3],[5500,959,22,1.2,38.5],[5600,923,29,1.4,37.3],[5700,861,56,2.4,35.3]]] -]] -]; -_tableData_mags = ["HE", "WP", "Illum"]; -_tableData_charges = ["Close", "Medium", "Far"]; -//return -[_tableData_tables, _tableData_mags, _tableData_charges] \ No newline at end of file diff --git a/TO_MERGE/ace/frag/$PBOPREFIX$ b/TO_MERGE/ace/frag/$PBOPREFIX$ deleted file mode 100644 index c08682245e..0000000000 --- a/TO_MERGE/ace/frag/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\uo\addons\sys_frag \ No newline at end of file diff --git a/TO_MERGE/ace/frag/CfgAmmo.hpp b/TO_MERGE/ace/frag/CfgAmmo.hpp deleted file mode 100644 index c9d13d3ce3..0000000000 --- a/TO_MERGE/ace/frag/CfgAmmo.hpp +++ /dev/null @@ -1,352 +0,0 @@ -#define BASE_DRAG -0.01 -#define HD_MULT 5 -#define BASE_DRAG_HD (BASE_DRAG*HD_MULT) - -class CfgAmmo { - //class ace_arty_105mm_m1_m782_time; - //class ace_arty_105mm_m1_m782_prox: ace_arty_105mm_m1_m782_time {}; - //class ace_arty_105mm_m1_m782_delay: ace_arty_105mm_m1_m782_prox { - // ACE_FRAG_SKIP = 1; - //}; - class Bo_GBU12_LGB; - class Nou_GBU12 : Bo_GBU12_LGB { - ACE_FRAG_CLASSES[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; - ACE_FRAG_METAL = 140000; - ACE_FRAG_CHARGE = 87000; - ACE_FRAG_GURNEY_C = 2320; - ACE_FRAG_GURNEY_K = 1/2; - sideAirFriction = 0.04; - airFriction = 0.04; - laserLock = 0; - }; - - class GrenadeBase; - class Grenade; - class GrenadeHand: Grenade { - ACE_FRAG_SKIP = 0; - ACE_FRAG_FORCE = 1; - // This is a good high-drag frag type for grenades. - ACE_FRAG_CLASSES[] = {"ACE_frag_medium_HD"}; - /* - These values are based on the M67 Grenade, should be tweaked for - individual grenades. - */ - ACE_FRAG_METAL = 210; // metal in grams - ACE_FRAG_CHARGE = 185; // explosive in grams - ACE_FRAG_GURNEY_C = 2843; // Gurney velocity constant for explosive type. See: http://en.wikipedia.org/wiki/Gurney_equations - ACE_FRAG_GURNEY_K = 3/5; // Gurney shape factor, in this case a sphere. See: http://en.wikipedia.org/wiki/Gurney_equations - }; - class GrenadeHand_stone: GrenadeHand { - ACE_FRAG_SKIP = 1; - }; - class SmokeShell: GrenadeHand { - ACE_FRAG_SKIP = 1; - }; - - class RocketBase; - //class R_Hydra_HE: RocketBase { - // ACE_FRAG_SKIP = 1; - //}; - - //class R_57mm_HE: RocketBase { - // ACE_FRAG_SKIP = 1; - //}; - - class R_80mm_HE: RocketBase { - ACE_FRAG_SKIP = 1; - }; - - //class R_S8T_AT: RocketBase { - // ACE_FRAG_SKIP = 1; - //}; - - class BombCore; - class Bo_Mk82: BombCore { - ACE_FRAG_CLASSES[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; - ACE_FRAG_METAL = 140000; - ACE_FRAG_CHARGE = 87000; - ACE_FRAG_GURNEY_C = 2320; - ACE_FRAG_GURNEY_K = 1/2; - }; - - - class G_40mm_HE: GrenadeBase { - ACE_FRAG_SKIP = 0; - ACE_FRAG_FORCE = 1; - }; - - class ACE_G_40mm_HEDP: G_40mm_HE { - }; - class ACE_G_40mm_HE: ACE_G_40mm_HEDP { - }; - class ACE_G_40mm_Practice: ACE_G_40mm_HE { - ACE_FRAG_SKIP = 1; - }; - class ACE_G40mm_HE_VOG25P: G_40mm_HE { - ACE_FRAG_SKIP = 0; - ACE_FRAG_FORCE = 1; - }; - - //class R_SMAW_HEDP; - //class R_MEEWS_HEDP : R_SMAW_HEDP { - // ACE_FRAG_FORCE = 1; - // ACE_FRAG_MULTIPLIER = 1.2; - //}; - - //class MissileBase; - //class M_Hellfire_AT: MissileBase { - // ACE_FRAG_FORCE = 1; - // ACE_FRAG_MULTIPLIER = 1.75; - //}; - - /* - class B_762x51_Ball; - class ACE_frag_base: B_762x51_Ball { ////TODO: B_762x45_Ball no longer exists, is this a valid replacement? - model = "\A3\Weapons_f\ammo\shell"; - timeToLive = 12; - typicalSpeed = 800; - // Fix sounds - effectFly = "AmmoClassic"; - soundDefault1[] = {"A3\sounds_f\weapons\hits\concrete_1.wav",0.158114,1,30}; - soundDefault2[] = {"A3\sounds_f\weapons\hits\concrete_2.wav",0.158114,1,30}; - soundDefault3[] = {"A3\sounds_f\weapons\hits\concrete_3.wav",0.158114,1,30}; - soundDefault4[] = {"A3\sounds_f\weapons\hits\concrete_4.wav",0.158114,1,30}; - soundDefault5[] = {"A3\sounds_f\weapons\hits\concrete_5.wav",0.158114,1,30}; - soundDefault6[] = {"A3\sounds_f\weapons\hits\concrete_6.wav",0.158114,1,30}; - soundDefault7[] = {"A3\sounds_f\weapons\hits\concrete_7.wav",0.158114,1,30}; - soundDefault8[] = {"A3\sounds_f\weapons\hits\concrete_8.wav",0.158114,1,30}; - soundGroundSoft1[] = {"A3\sounds_f\weapons\hits\soft_ground_1.wav",0.02811705,1,30}; - soundGroundSoft2[] = {"A3\sounds_f\weapons\hits\soft_ground_2.wav",0.02811705,1,30}; - soundGroundSoft3[] = {"A3\sounds_f\weapons\hits\soft_ground_3.wav",0.02811705,1,30}; - soundGroundSoft4[] = {"A3\sounds_f\weapons\hits\soft_ground_4.wav",0.02811705,1,30}; - soundGroundSoft5[] = {"A3\sounds_f\weapons\hits\soft_ground_5.wav",0.02811705,1,30}; - soundGroundSoft6[] = {"A3\sounds_f\weapons\hits\soft_ground_6.wav",0.02811705,1,30}; - soundGroundSoft7[] = {"A3\sounds_f\weapons\hits\soft_ground_7.wav",0.02811705,1,30}; - soundGroundSoft8[] = {"A3\sounds_f\weapons\hits\soft_ground_8.wav",0.02811705,1,30}; - soundGroundHard1[] = {"A3\sounds_f\weapons\hits\hard_ground_1.wav",0.62946,1,40}; - soundGroundHard2[] = {"A3\sounds_f\weapons\hits\hard_ground_2.wav",0.62946,1,40}; - soundGroundHard3[] = {"A3\sounds_f\weapons\hits\hard_ground_3.wav",0.62946,1,40}; - soundGroundHard4[] = {"A3\sounds_f\weapons\hits\hard_ground_4.wav",0.62946,1,40}; - soundGroundHard5[] = {"A3\sounds_f\weapons\hits\hard_ground_5.wav",0.62946,1,40}; - soundGroundHard6[] = {"A3\sounds_f\weapons\hits\hard_ground_6.wav",0.62946,1,40}; - soundGroundHard7[] = {"A3\sounds_f\weapons\hits\hard_ground_7.wav",0.62946,1,40}; - soundGroundHard8[] = {"A3\sounds_f\weapons\hits\hard_ground_8.wav",0.62946,1,40}; - soundMetal1[] = {"A3\sounds_f\weapons\hits\metal_1.wav",0.158114,1,45}; - soundMetal2[] = {"A3\sounds_f\weapons\hits\metal_2.wav",0.158114,1,45}; - soundMetal3[] = {"A3\sounds_f\weapons\hits\metal_3.wav",0.158114,1,45}; - soundMetal4[] = {"A3\sounds_f\weapons\hits\metal_4.wav",0.158114,1,45}; - soundMetal5[] = {"A3\sounds_f\weapons\hits\metal_5.wav",0.158114,1,45}; - soundMetal6[] = {"A3\sounds_f\weapons\hits\metal_6.wav",0.158114,1,45}; - soundMetal7[] = {"A3\sounds_f\weapons\hits\metal_7.wav",0.158114,1,45}; - soundMetal8[] = {"A3\sounds_f\weapons\hits\metal_8.wav",0.158114,1,45}; - soundGlass1[] = {"A3\sounds_f\weapons\hits\glass_1.wav",0.177828,1,25}; - soundGlass2[] = {"A3\sounds_f\weapons\hits\glass_2.wav",0.177828,1,25}; - soundGlass3[] = {"A3\sounds_f\weapons\hits\glass_3.wav",0.177828,1,25}; - soundGlass4[] = {"A3\sounds_f\weapons\hits\glass_4.wav",0.177828,1,25}; - soundGlass5[] = {"A3\sounds_f\weapons\hits\glass_5.wav",0.177828,1,25}; - soundGlass6[] = {"A3\sounds_f\weapons\hits\glass_6.wav",0.177828,1,25}; - soundGlass7[] = {"A3\sounds_f\weapons\hits\glass_7.wav",0.177828,1,25}; - soundGlass8[] = {"A3\sounds_f\weapons\hits\glass_8.wav",0.177828,1,25}; - soundGlassArmored1[] = {"A3\sounds_f\weapons\hits\glass_arm_1.wav",0.177828,1,30}; - soundGlassArmored2[] = {"A3\sounds_f\weapons\hits\glass_arm_2.wav",0.177828,1,30}; - soundGlassArmored3[] = {"A3\sounds_f\weapons\hits\glass_arm_3.wav",0.177828,1,30}; - soundGlassArmored4[] = {"A3\sounds_f\weapons\hits\glass_arm_4.wav",0.177828,1,30}; - soundGlassArmored5[] = {"A3\sounds_f\weapons\hits\glass_arm_5.wav",0.177828,1,30}; - soundGlassArmored6[] = {"A3\sounds_f\weapons\hits\glass_arm_6.wav",0.177828,1,30}; - soundGlassArmored7[] = {"A3\sounds_f\weapons\hits\glass_arm_7.wav",0.177828,1,30}; - soundGlassArmored8[] = {"A3\sounds_f\weapons\hits\glass_arm_8.wav",0.177828,1,30}; - soundVehiclePlate1[] = {"A3\sounds_f\weapons\hits\metal_plate_1.wav",0.281170,1,40}; - soundVehiclePlate2[] = {"A3\sounds_f\weapons\hits\metal_plate_2.wav",0.281170,1,40}; - soundVehiclePlate3[] = {"A3\sounds_f\weapons\hits\metal_plate_3.wav",0.281170,1,40}; - soundVehiclePlate4[] = {"A3\sounds_f\weapons\hits\metal_plate_4.wav",0.281170,1,40}; - soundVehiclePlate5[] = {"A3\sounds_f\weapons\hits\metal_plate_5.wav",0.281170,1,40}; - soundVehiclePlate6[] = {"A3\sounds_f\weapons\hits\metal_plate_6.wav",0.281170,1,40}; - soundVehiclePlate7[] = {"A3\sounds_f\weapons\hits\metal_plate_7.wav",0.281170,1,40}; - soundVehiclePlate8[] = {"A3\sounds_f\weapons\hits\metal_plate_8.wav",0.281170,1,40}; - soundWood1[] = {"A3\sounds_f\weapons\hits\wood_1.wav",0.158114,1,30}; - soundWood2[] = {"A3\sounds_f\weapons\hits\wood_2.wav",0.158114,1,30}; - soundWood3[] = {"A3\sounds_f\weapons\hits\wood_3.wav",0.158114,1,30}; - soundWood4[] = {"A3\sounds_f\weapons\hits\wood_4.wav",0.158114,1,30}; - soundWood5[] = {"A3\sounds_f\weapons\hits\wood_5.wav",0.158114,1,30}; - soundWood6[] = {"A3\sounds_f\weapons\hits\wood_6.wav",0.158114,1,30}; - soundWood7[] = {"A3\sounds_f\weapons\hits\wood_7.wav",0.158114,1,30}; - soundWood8[] = {"A3\sounds_f\weapons\hits\wood_8.wav",0.158114,1,30}; - soundHitBody1[] = {"A3\sounds_f\weapons\hits\body_1.wav",0.0177828,1,25}; - soundHitBody2[] = {"A3\sounds_f\weapons\hits\body_2.wav",0.0177828,1,25}; - soundHitBody3[] = {"A3\sounds_f\weapons\hits\body_3.wav",0.0177828,1,25}; - soundHitBody4[] = {"A3\sounds_f\weapons\hits\body_4.wav",0.0177828,1,25}; - soundHitBody5[] = {"A3\sounds_f\weapons\hits\body_5.wav",0.0177828,1,25}; - soundHitBody6[] = {"A3\sounds_f\weapons\hits\body_6.wav",0.0177828,1,25}; - soundHitBody7[] = {"A3\sounds_f\weapons\hits\body_7.wav",0.0177828,1,25}; - soundHitBody8[] = {"A3\sounds_f\weapons\hits\body_8.wav",0.0177828,1,25}; - soundHitBuilding1[] = {"A3\sounds_f\weapons\hits\building_1.wav",0.251189,1,30}; - soundHitBuilding2[] = {"A3\sounds_f\weapons\hits\building_2.wav",0.251189,1,30}; - soundHitBuilding3[] = {"A3\sounds_f\weapons\hits\building_3.wav",0.251189,1,30}; - soundHitBuilding4[] = {"A3\sounds_f\weapons\hits\building_4.wav",0.251189,1,30}; - soundHitBuilding5[] = {"A3\sounds_f\weapons\hits\building_5.wav",0.251189,1,30}; - soundHitBuilding6[] = {"A3\sounds_f\weapons\hits\building_6.wav",0.251189,1,30}; - soundHitBuilding7[] = {"A3\sounds_f\weapons\hits\building_7.wav",0.251189,1,30}; - soundHitBuilding8[] = {"A3\sounds_f\weapons\hits\building_8.wav",0.251189,1,30}; - soundHitFoliage1[] = {"A3\sounds_f\weapons\hits\foliage_1.wav",0.177828,1,25}; - soundHitFoliage2[] = {"A3\sounds_f\weapons\hits\foliage_2.wav",0.177828,1,25}; - soundHitFoliage3[] = {"A3\sounds_f\weapons\hits\foliage_3.wav",0.177828,1,25}; - soundHitFoliage4[] = {"A3\sounds_f\weapons\hits\foliage_4.wav",0.177828,1,25}; - soundHitFoliage5[] = {"A3\sounds_f\weapons\hits\foliage_5.wav",0.177828,1,25}; - soundHitFoliage6[] = {"A3\sounds_f\weapons\hits\foliage_6.wav",0.177828,1,25}; - soundHitFoliage7[] = {"A3\sounds_f\weapons\hits\foliage_7.wav",0.177828,1,25}; - soundHitFoliage8[] = {"A3\sounds_f\weapons\hits\foliage_8.wav",0.177828,1,25}; - soundPlastic1[] = {"A3\sounds_f\weapons\hits\plastic_1.wav",0.177828,1,25}; - soundPlastic2[] = {"A3\sounds_f\weapons\hits\plastic_2.wav",0.177828,1,25}; - soundPlastic3[] = {"A3\sounds_f\weapons\hits\plastic_3.wav",0.177828,1,25}; - soundPlastic4[] = {"A3\sounds_f\weapons\hits\plastic_4.wav",0.177828,1,25}; - soundPlastic5[] = {"A3\sounds_f\weapons\hits\plastic_5.wav",0.177828,1,25}; - soundPlastic6[] = {"A3\sounds_f\weapons\hits\plastic_6.wav",0.177828,1,25}; - soundPlastic7[] = {"A3\sounds_f\weapons\hits\plastic_7.wav",0.177828,1,25}; - soundPlastic8[] = {"A3\sounds_f\weapons\hits\plastic_8.wav",0.177828,1,25}; - soundConcrete1[] = {"A3\sounds_f\weapons\hits\concrete_1.wav",0.177828,1,35}; - soundConcrete2[] = {"A3\sounds_f\weapons\hits\concrete_2.wav",0.177828,1,35}; - soundConcrete3[] = {"A3\sounds_f\weapons\hits\concrete_3.wav",0.177828,1,35}; - soundConcrete4[] = {"A3\sounds_f\weapons\hits\concrete_4.wav",0.177828,1,35}; - soundConcrete5[] = {"A3\sounds_f\weapons\hits\concrete_5.wav",0.177828,1,35}; - soundConcrete6[] = {"A3\sounds_f\weapons\hits\concrete_6.wav",0.177828,1,35}; - soundConcrete7[] = {"A3\sounds_f\weapons\hits\concrete_7.wav",0.177828,1,35}; - soundConcrete8[] = {"A3\sounds_f\weapons\hits\concrete_8.wav",0.177828,1,35}; - soundRubber1[] = {"A3\sounds_f\weapons\hits\tyre_1.wav",0.158114,1,25}; - soundRubber2[] = {"A3\sounds_f\weapons\hits\tyre_2.wav",0.158114,1,25}; - soundRubber3[] = {"A3\sounds_f\weapons\hits\tyre_3.wav",0.158114,1,25}; - soundRubber4[] = {"A3\sounds_f\weapons\hits\tyre_4.wav",0.158114,1,25}; - soundRubber5[] = {"A3\sounds_f\weapons\hits\tyre_5.wav",0.158114,1,25}; - soundRubber6[] = {"A3\sounds_f\weapons\hits\tyre_6.wav",0.158114,1,25}; - soundRubber7[] = {"A3\sounds_f\weapons\hits\tyre_7.wav",0.158114,1,25}; - soundRubber8[] = {"A3\sounds_f\weapons\hits\tyre_8.wav",0.158114,1,25}; - soundWater1[] = {"A3\sounds_f\weapons\hits\water_01.wav",0.158114,1,25}; - soundWater2[] = {"A3\sounds_f\weapons\hits\water_02.wav",0.158114,1,25}; - soundWater3[] = {"A3\sounds_f\weapons\hits\water_03.wav",0.158114,1,25}; - soundWater4[] = {"A3\sounds_f\weapons\hits\water_04.wav",0.158114,1,25}; - soundWater5[] = {"A3\sounds_f\weapons\hits\water_05.wav",0.158114,1,25}; - soundWater6[] = {"A3\sounds_f\weapons\hits\water_06.wav",0.158114,1,25}; - soundWater7[] = {"A3\sounds_f\weapons\hits\water_07.wav",0.158114,1,25}; - soundWater8[] = {"A3\sounds_f\weapons\hits\water_08.wav",0.158114,1,25}; - hitGroundSoft[] = {"soundGroundSoft1",0.2,"soundGroundSoft2",0.2,"soundGroundSoft3",0.1,"soundGroundSoft4",0.1,"soundGroundSoft5",0.1,"soundGroundSoft6",0.1,"soundGroundSoft7",0.1,"soundGroundSoft8",0.1}; - hitGroundHard[] = {"soundGroundHard1",0.2,"soundGroundHard2",0.2,"soundGroundHard3",0.1,"soundGroundHard4",0.1,"soundGroundHard5",0.1,"soundGroundHard6",0.1,"soundGroundHard7",0.1,"soundGroundHard8",0.1}; - hitMan[] = {"soundHitBody1",0.125,"soundHitBody2",0.125,"soundHitBody3",0.125,"soundHitBody4",0.125,"soundHitBody5",0.125,"soundHitBody6",0.125,"soundHitBody7",0.125,"soundHitBody8",0.125}; - hitArmor[] = {"soundVehiclePlate1",0.125,"soundVehiclePlate2",0.125,"soundVehiclePlate3",0.125,"soundVehiclePlate4",0.125,"soundVehiclePlate5",0.125,"soundVehiclePlate6",0.125,"soundVehiclePlate7",0.125,"soundVehiclePlate8",0.125}; - hitBuilding[] = {"soundHitBuilding1",0.2,"soundHitBuilding2",0.2,"soundHitBuilding3",0.1,"soundHitBuilding4",0.1,"soundHitBuilding5",0.1,"soundHitBuilding6",0.1,"soundHitBuilding7",0.1,"soundHitBuilding8",0.1}; - hitFoliage[] = {"soundHitFoliage1",0.125,"soundHitFoliage2",0.125,"soundHitFoliage3",0.125,"soundHitFoliage4",0.125,"soundHitFoliage5",0.125,"soundHitFoliage6",0.125,"soundHitFoliage7",0.125,"soundHitFoliage8",0.125}; - hitWood[] = {"soundWood1",0.125,"soundWood2",0.125,"soundWood3",0.125,"soundWood4",0.125,"soundWood5",0.125,"soundWood6",0.125,"soundWood7",0.125,"soundWood8",0.125}; - hitGlass[] = {"soundGlass1",0.125,"soundGlass2",0.125,"soundGlass3",0.125,"soundGlass4",0.125,"soundGlass5",0.125,"soundGlass6",0.125,"soundGlass7",0.125,"soundGlass8",0.125}; - hitGlassArmored[] = {"soundGlassArmored1",0.125,"soundGlassArmored2",0.125,"soundGlassArmored3",0.125,"soundGlassArmored4",0.125,"soundGlassArmored5",0.125,"soundGlassArmored6",0.125,"soundGlassArmored7",0.125,"soundGlassArmored8",0.125}; - hitConcrete[] = {"soundConcrete1",0.125,"soundConcrete2",0.125,"soundConcrete3",0.125,"soundConcrete4",0.125,"soundConcrete5",0.125,"soundConcrete6",0.125,"soundConcrete7",0.125,"soundConcrete8",0.125}; - hitRubber[] = {"soundRubber1",0.125,"soundRubber2",0.125,"soundRubber3",0.125,"soundRubber4",0.125,"soundRubber5",0.125,"soundRubber6",0.125,"soundRubber7",0.125,"soundRubber8",0.125}; - hitPlastic[] = {"soundPlastic1",0.125,"soundPlastic2",0.125,"soundPlastic3",0.125,"soundPlastic4",0.125,"soundPlastic5",0.125,"soundPlastic6",0.125,"soundPlastic7",0.125,"soundPlastic8",0.125}; - hitDefault[] = {"soundDefault1",0.2,"soundDefault2",0.2,"soundDefault3",0.1,"soundDefault4",0.1,"soundDefault5",0.1,"soundDefault6",0.1,"soundDefault7",0.1,"soundDefault8",0.1}; - hitMetal[] = {"soundMetal1",0.125,"soundMetal2",0.125,"soundMetal3",0.125,"soundMetal4",0.125,"soundMetal5",0.125,"soundMetal6",0.125,"soundMetal7",0.125,"soundMetal8",0.125}; - hitMetalplate[] = {"soundVehiclePlate1",0.125,"soundVehiclePlate2",0.125,"soundVehiclePlate3",0.125,"soundVehiclePlate4",0.125,"soundVehiclePlate5",0.125,"soundVehiclePlate6",0.125,"soundVehiclePlate7",0.125,"soundVehiclePlate8",0.125}; - hitWater[] = {"soundWater1",0.125,"soundWater2",0.125,"soundWater3",0.125,"soundWater4",0.125,"soundWater5",0.125,"soundWater6",0.125,"soundWater7",0.125,"soundWater8",0.125}; - bulletFly1[] = {"A3\sounds_f\weapons\hits\bullet_by_1.wav",1,1,35}; - bulletFly2[] = {"A3\sounds_f\weapons\hits\bullet_by_2.wav",1,1,35}; - bulletFly3[] = {"A3\sounds_f\weapons\hits\bullet_by_3.wav",1,1,35}; - bulletFly4[] = {"A3\sounds_f\weapons\hits\bullet_by_4.wav",1,1,35}; - bulletFly5[] = {"A3\sounds_f\weapons\hits\bullet_by_5.wav",1,1,35}; - bulletFly6[] = {"A3\sounds_f\weapons\hits\bullet_by_6.wav",1,1,35}; - bulletFly7[] = {"A3\sounds_f\weapons\hits\bullet_by_7.wav",1,1,35}; - bulletFly8[] = {"A3\sounds_f\weapons\hits\bullet_by_8.wav",1,1,35}; - bulletFly[] = {"bulletFly1",0.166,"bulletFly2",0.166,"bulletFly3",0.166,"bulletFly4",0.166,"bulletFly5",0.166,"bulletFly6",0.167,"bulletFly7",0.166,"bulletFly8",0.167}; - supersonicCrackNear[] = {"A3\sounds_f\weapons\hits\sscrack1.wav",1,1,35}; - supersonicCrackFar[] = {"A3\sounds_f\weapons\hits\sscrack2.wav",1,1,135}; - }; - */ - - class B_65x39_Caseless; - class ACE_frag_base: B_65x39_Caseless { - timeToLive = 12; - typicalSpeed = 1500; - deflecting = 65; - }; - - class ACE_frag_tiny: ACE_frag_base { - hit = 6; - airFriction = BASE_DRAG; - caliber = 0.75; - }; - - class ACE_frag_tiny_HD: ACE_frag_base { - hit = 6; - airFriction = BASE_DRAG_HD; - caliber = 0.75; - }; - - class ACE_frag_small: ACE_frag_base { - hit = 12; - airFriction = BASE_DRAG*0.9; - }; - - class ACE_frag_small_HD: ACE_frag_base { - hit = 12; - airFriction = BASE_DRAG_HD*0.9; - }; - - class ACE_frag_medium: ACE_frag_base { - hit = 14; - airFriction = BASE_DRAG*0.75; - caliber = 1.2; - }; - - class ACE_frag_medium_HD: ACE_frag_base { - hit = 14; - airFriction = BASE_DRAG_HD*0.75; - caliber = 1.2; - }; - - class ACE_frag_large: ACE_frag_base { - hit = 28; - indirectHit = 2; - indirectHitRange = 0.25; - airFriction = BASE_DRAG*0.65; - caliber = 2; - explosive = 0; - - }; - - class ACE_frag_large_HD: ACE_frag_large { - hit = 28; - indirectHit = 2; - indirectHitRange = 0.25; - airFriction = BASE_DRAG_HD*0.65; - caliber = 2; - - - }; - - class ACE_frag_huge: ACE_frag_large { - hit = 40; - indirectHit = 4; - indirectHitRange = 0.5; - airFriction = BASE_DRAG*0.5; - caliber = 2.8; - }; - - class ACE_frag_huge_HD: ACE_frag_large { - hit = 40; - indirectHit = 4; - indirectHitRange = 0.5; - airFriction = BASE_DRAG_HD*0.5; - caliber = 2.8; - }; - - class ACE_frag_spall_small: ACE_frag_small { - timeToLive = 0.1; - }; - - class ACE_frag_spall_medium: ACE_frag_medium { - timeToLive = 0.15; - }; - - class ACE_frag_spall_large: ACE_frag_large { - timeToLive = 0.25; - }; - - class ACE_frag_spall_huge: ACE_frag_huge { - timeToLive = 0.3; - }; -}; diff --git a/TO_MERGE/ace/frag/CfgEventhandlers.hpp b/TO_MERGE/ace/frag/CfgEventhandlers.hpp deleted file mode 100644 index 121b24d062..0000000000 --- a/TO_MERGE/ace/frag/CfgEventhandlers.hpp +++ /dev/null @@ -1,17 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; - -class Extended_FiredBIS_EventHandlers { - class AllVehicles { - ADDON = QUOTE(_this call FUNC(fired)); - }; -}; diff --git a/TO_MERGE/ace/frag/CfgVehicles.hpp b/TO_MERGE/ace/frag/CfgVehicles.hpp deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/ace/frag/XEH_post_init.sqf b/TO_MERGE/ace/frag/XEH_post_init.sqf deleted file mode 100644 index 25cb5132c8..0000000000 --- a/TO_MERGE/ace/frag/XEH_post_init.sqf +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" -[QUOTE(ffsBIS), "oneachframe", QUOTE(FUNC(onFrame))] call BIS_fnc_addStackedEventHandler; -if(isServer) then { - [QGVAR(frag_eh), { _this call FUNC(frago); }] call CBA_fnc_addClientToServerEventhandler; -}; -GVAR(replacedBisArtyWrapper) = false; -[] spawn { - waitUntil { - if(!(isNil "BIS_ARTY_F_ShellFlight")) then { - ACE_WRAPPER_BIS_ARTY_F_ShellFlight = BIS_ARTY_F_ShellFlight; - BIS_ARTY_F_ShellFlight = FUNC(BIS_ARTY_WRAPPER); - GVAR(replacedBisArtyWrapper) = true; - }; - sleep 4; - GVAR(replacedBisArtyWrapper) - }; -}; diff --git a/TO_MERGE/ace/frag/XEH_pre_Init.sqf b/TO_MERGE/ace/frag/XEH_pre_Init.sqf deleted file mode 100644 index 406e6e7f63..0000000000 --- a/TO_MERGE/ace/frag/XEH_pre_Init.sqf +++ /dev/null @@ -1,45 +0,0 @@ -#include "script_component.hpp" - -#define ACE_TRACE_DRAW_INC 1 -ADDON = false; - -PREP(fired); -PREP(frago); -PREP(trackFragRound); -PREP(spallTrack); -PREP(doSpall); -PREP(vectorDiffFast); - -GVAR(trackedObjects) = []; -GVAR(blackList) = []; -GVAR(traceFrags) = false; - -GVAR(replacedBisArtyWrapper) = false; - -GVAR(TOTALFRAGS) = 0; - -GVAR(spallIsTrackingCount) = 0; -GVAR(spallHPData) = []; - -GVAR(traces) = []; -GVAR(tracesStarted) = false; -GVAR(traceID) = -1; -GVAR(autoTrace) = true; - - -// * Other Shit */ -PREP(frag_trace); -PREP(denyFrag); -PREP(BIS_ARTY_WRAPPER); -PREP(startTracing); -PREP(stopTracing); -PREP(clearTraces); -PREP(trackTrace); -PREP(addTrack); -PREP(drawTraces); -PREP(removeTrack); -PREP(spallHP); -PREP(addBlackList); -PREP(addManualTrack); - -ADDON = true; diff --git a/TO_MERGE/ace/frag/config.cpp b/TO_MERGE/ace/frag/config.cpp deleted file mode 100644 index acde4575b2..0000000000 --- a/TO_MERGE/ace/frag/config.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "script_component.hpp" -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "A3_Misc_F", "A3_Weapons_F" }; - version = VERSION; - author[] = {"Nou"}; - }; -}; - -//PRELOAD_ADDONS; - -#include "CfgEventhandlers.hpp" -#include "CfgAmmo.hpp" diff --git a/TO_MERGE/ace/frag/data/icon/ace_frag_ico_ca.paa b/TO_MERGE/ace/frag/data/icon/ace_frag_ico_ca.paa deleted file mode 100644 index 54114e391c..0000000000 Binary files a/TO_MERGE/ace/frag/data/icon/ace_frag_ico_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/frag/fnc_BIS_ARTY_WRAPPER.sqf b/TO_MERGE/ace/frag/fnc_BIS_ARTY_WRAPPER.sqf deleted file mode 100644 index ee7881277b..0000000000 --- a/TO_MERGE/ace/frag/fnc_BIS_ARTY_WRAPPER.sqf +++ /dev/null @@ -1,13 +0,0 @@ -#include "script_component.hpp" -_ret = [(_this select 6)] call FUNC(removeTrack); -if(!_ret) then { - [(_this select 6)] call FUNC(addBlackList); -}; -_this call ACE_WRAPPER_BIS_ARTY_F_ShellFlight; -_catEntry = BIS_ARTY_SHELLCAT select ((count BIS_ARTY_SHELLCAT) - 1); -_shell = _catEntry select 0; -_ARTY_DeployOnImpact = getText (configFile >> "CfgAmmo" >> "ARTY_DeployOnImpact"); -if(_ARTY_DeployOnImpact == "") then { - _this set[6, _shell]; - _this call FUNC(fired); -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_addBlackList.sqf b/TO_MERGE/ace/frag/fnc_addBlackList.sqf deleted file mode 100644 index f7b3faf902..0000000000 --- a/TO_MERGE/ace/frag/fnc_addBlackList.sqf +++ /dev/null @@ -1,4 +0,0 @@ -#include "script_component.hpp" -private ["_round"]; -_round = _this select 0; -GVAR(blackList) set[(count GVAR(blackList)), _round]; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_addManualTrack.sqf b/TO_MERGE/ace/frag/fnc_addManualTrack.sqf deleted file mode 100644 index 1719842240..0000000000 --- a/TO_MERGE/ace/frag/fnc_addManualTrack.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" -private ["_round"]; -_round = _this select 0; -if(alive _round) then { - GVAR(trackedObjects) set[(count GVAR(trackedObjects)), _round]; - [FUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), (typeOf _round), time, objNull, false, 0, 0]] call cba_fnc_addPerFrameHandler; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_addTrack.sqf b/TO_MERGE/ace/frag/fnc_addTrack.sqf deleted file mode 100644 index 4ffaef5a7c..0000000000 --- a/TO_MERGE/ace/frag/fnc_addTrack.sqf +++ /dev/null @@ -1,20 +0,0 @@ -#include "script_component.hpp" -if(GVAR(autoTrace)) then { - [] call FUNC(startTracing); -}; - -// setAccTime 0.05; -_index = (count GVAR(traces)); -_obj = _this select 1; -_origin = _this select 0; -_color = [1,0,0,1]; -if((count _this) > 2) then { - _color = _this select 2; -}; -_positions = []; -_objVel = velocity _obj; -_objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); -_positions set[(count _positions), [(getPos _obj), _objTVel]]; -_data = [_origin, typeOf _origin, typeOf _obj, _objTVel, _positions, _color]; -GVAR(traces) set[_index, _data]; -[FUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_clearTraces.sqf b/TO_MERGE/ace/frag/fnc_clearTraces.sqf deleted file mode 100644 index b301094044..0000000000 --- a/TO_MERGE/ace/frag/fnc_clearTraces.sqf +++ /dev/null @@ -1,2 +0,0 @@ -#include "script_component.hpp" -GVAR(traces) = []; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_denyFrag.sqf b/TO_MERGE/ace/frag/fnc_denyFrag.sqf deleted file mode 100644 index 5459f0160a..0000000000 --- a/TO_MERGE/ace/frag/fnc_denyFrag.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" - -private ["_ret"]; -_ret = [(_this select 0)] call FUNC(removeTrack); -if(!_ret) then { - [(_this select 0)] call FUNC(addBlackList); -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_doSpall.sqf b/TO_MERGE/ace/frag/fnc_doSpall.sqf deleted file mode 100644 index 0735ab3b65..0000000000 --- a/TO_MERGE/ace/frag/fnc_doSpall.sqf +++ /dev/null @@ -1,169 +0,0 @@ -//fnc_doSpall.sqf -#include "script_component.hpp" -#ifdef DEBUG_MODE_FULL - GVAR(traceFrags) = true; -#endif -// player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; -private ["_params", "_initialData", "_hpData", "_roundType", "_round", "_object", "_caliber", "_explosive", - "_idh", "_alive", "_exit", "_vm", "_velocity", "_unitDir", "_oldVelocity", "_curVelocity", "_diff", "_polar", - "_pos", "_spallPos", "_i", "_pos1", "_pos2", "_blah", "_data", "_spallPolar", "_c", "_warn", "_m", "_k", - "_gC", "_shellType", "_fragPower", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", - "_fragment"]; - - -_params = _this select 0; -[(_this select 1)] call cba_fnc_removePerFrameHandler; -_hitData = _params select 0; -_initialData = GVAR(spallHPData) select (_hitData select 0); -_hpData = (_hitData select 1) select (_params select 1); - - -_object = _hpData select 0; -_object removeEventHandler ["hitPart", _initialData select 0]; -_foundObjects = _initialData select 7; -_index = _foundObjects find _object; -if(_index != -1) then { - _foundObjecsts set[_index, nil]; -}; - -_roundType = (_initialData select 2); -_round = (_initialData select 3); -_object = (_initialData select 1); - -_caliber = getNumber(configFile >> "CfgAmmo" >> _roundType >> "caliber"); -_explosive = getNumber(configFile >> "CfgAmmo" >> _roundType >> "explosive"); -_idh = getNumber(configFile >> "CfgAmmo" >> _roundType >> "indirectHitRange"); - -_alive = true; -if(!alive _round && (_initialData select 6) == 1) then { - _alive = false; -}; - -if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { - // player sideChat format["BBBB"]; - _exit = false; - _vm = 1; - _velocity = _initialData select 5; - _unitDir = _velocity call BIS_fnc_unitVector; - - _oldVelocity = _velocity call BIS_fnc_magnitude; - _curVelocity = (velocity _round) call BIS_fnc_magnitude; - - if(alive _round) then { - _diff = [_velocity, (velocity _round)] call FUNC(vectorDiffFast); - _polar = _diff call CBA_fnc_vect2polar; - // player sideChat format["polar: %1", _polar]; - if((abs(_polar select 1) > 45 || abs(_polar select 2) > 45)) then { - if(_caliber < 2.5) then { - // player sideChat format["exit!"]; - _exit = true; - } else { - _vm = 1-(_curVelocity/_oldVelocity); - }; - }; - }; - if(!_exit) then { - _unitDir = _velocity call BIS_fnc_unitVector; - _pos = _hpData select 3; - _spallPos = nil; - for "_i" from 0 to 100 do { - _pos1 = [ - (_pos select 0) + (((_unitDir select 0)*0.01)*_i), - (_pos select 1) + (((_unitDir select 1)*0.01)*_i), - (_pos select 2) + (((_unitDir select 2)*0.01)*_i) - ]; - _pos2 = [ - (_pos select 0) + (((_unitDir select 0)*0.01)*(_i+1)), - (_pos select 1) + (((_unitDir select 1)*0.01)*(_i+1)), - (_pos select 2) + (((_unitDir select 2)*0.01)*(_i+1)) - ]; - // _blah = [_object, "FIRE"] intersect [_object worldToModel (ASLtoATL _pos1), _object worldToModel (ASLtoATL _pos2)]; - // diag_log text format["b: %1", _blah]; - - // _data = [nil, nil, nil, 1, [[ASLtoATL _pos1, 1], [ASLtoATL _pos2, 1]]]; - // NOU_TRACES set[(count NOU_TRACES), _data]; - - if(!lineIntersects [_pos1, _pos2]) exitWith { - // player sideChat format["FOUND!"]; - _spallPos = _pos2; - }; - }; - if(!isNil "_spallPos") then { - _spallPolar = _velocity call CBA_fnc_vect2polar; - - if(_explosive > 0) then { - // player sideChat format["EXPLOSIVE!"]; - _warn = false; - _c = getNumber(configFile >> "CfgAmmo" >> _roundType >> "ACE_frag_CHARGE"); - if(_c == 0) then { _c = 1; _warn = true;}; - _m = getNumber(configFile >> "CfgAmmo" >> _roundType >> "ACE_frag_METAL"); - if(_m == 0) then { _m = 2; _warn = true;}; - _k = getNumber(configFile >> "CfgAmmo" >> _roundType >> "ACE_frag_GURNEY_K"); - if(_k == 0) then { _k = 1/2; _warn = true;}; - _gC = getNumber(configFile >> "CfgAmmo" >> _roundType >> "ACE_frag_GURNEY_C"); - if(_gC == 0) then { _gC = 2440; _warn = true;}; - - if(_warn) then { - diag_log text format["Ammo class %1 lacks proper explosive properties definitions for sys_frag!", _roundType]; //TODO: turn this off when we get closer to release - }; - - _fragPower = (((_m/_c)+_k)^-(1/2))*_gC; - _spallPolar set[0, _fragPower*0.66]; - }; - - _fragTypes = [ - "ACE_frag_spall_small", "ACE_frag_spall_small", "ACE_frag_spall_small", - "ACE_frag_spall_small","ACE_frag_spall_medium","ACE_frag_spall_medium","ACE_frag_spall_medium", - "ACE_frag_spall_medium", "ACE_frag_spall_large", "ACE_frag_spall_large", "ACE_frag_spall_huge", - "ACE_frag_spall_huge" - - ]; - - // diag_log text format["SPALL POWER: %1", _spallPolar select 0]; - _spread = 15+(random 25); - _spallCount = 5+(random 10); - for "_i" from 1 to _spallCount do { - _elev = ((_spallPolar select 2)-_spread)+(random (_spread*2)); - _dir = ((_spallPolar select 1)-_spread)+(random (_spread*2)); - if(abs _elev > 90) then { - _dir = _dir + 180; - }; - _dir = _dir % 360; - _vel = (_spallPolar select 0)*0.33*_vm; - _vel = (_vel-(_vel*0.25))+(random (_vel*0.5)); - - _spallFragVect = [_vel, _dir, _elev] call CBA_fnc_polar2vect; - _fragType = round (random ((count _fragTypes)-1)); - _fragment = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; - _fragment setPosASL _spallPos; - _fragment setVelocity _spallFragVect; - // [fnc_spallTrackPFH, 0, [_fragment, diag_tickTime]] call cba_fnc_addPerFrameHandler; - if(GVAR(traceFrags)) then { - [player, _fragment, [1,0.5,0,1]] call FUNC(addTrack); - }; - }; - _spread = 5+(random 5); - _spallCount = 3+(random 5); - for "_i" from 1 to _spallCount do { - _elev = ((_spallPolar select 2)-_spread)+(random (_spread*2)); - _dir = ((_spallPolar select 1)-_spread)+(random (_spread*2)); - if(abs _elev > 90) then { - _dir = _dir + 180; - }; - _dir = _dir % 360; - _vel = (_spallPolar select 0)*0.55*_vm; - _vel = (_vel-(_vel*0.25))+(random (_vel*0.5)); - - _spallFragVect = [_vel, _dir, _elev] call CBA_fnc_polar2vect; - _fragType = round (random ((count _fragTypes)-1)); - _fragment = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; - _fragment setPosASL _spallPos; - _fragment setVelocity _spallFragVect; - // [fnc_spallTrackPFH, 0, [_fragment, diag_tickTime]] call cba_fnc_addPerFrameHandler; - if(GVAR(traceFrags)) then { - [player, _fragment, [1,0,0,1]] call FUNC(addTrack); - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_drawTraces.sqf b/TO_MERGE/ace/frag/fnc_drawTraces.sqf deleted file mode 100644 index 8e3ab6146e..0000000000 --- a/TO_MERGE/ace/frag/fnc_drawTraces.sqf +++ /dev/null @@ -1,32 +0,0 @@ -#include "script_component.hpp" -{ - _positions = _x select 4; - _color = _x select 5; - _index = 0; - _max = count _positions; - _startSpeed = (_positions select 0) select 1; - if(_startSpeed <= 0) then { - _startSpeed = 0.01; - }; - _lastSpd = []; - _lastPos = []; - while {_index < _max} do { - _data1 = _positions select _index; - _data2 = nil; - if(_index + ACE_TRACE_DRAW_INC >= _max) then { - _data2 = _positions select (_max - 1); - } else { - _data2 = _positions select (_index + ACE_TRACE_DRAW_INC); - }; - - _pos1 = _data1 select 0; - _pos2 = _data2 select 0; - _index = _index + ACE_TRACE_DRAW_INC; - - - drawLine3D [_pos1, _pos2, _color]; - _lastPos = _pos2; - _lastSpd = _data1 select 1; - }; - // drawIcon3D ["", [1,0,0,1], _lastPos, 0, 0, 0, format["%1m/s", _lastSpd], 1, 0.05, "PuristaMedium"]; -} forEach GVAR(traces); \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_fired.sqf b/TO_MERGE/ace/frag/fnc_fired.sqf deleted file mode 100644 index 5910d2481b..0000000000 --- a/TO_MERGE/ace/frag/fnc_fired.sqf +++ /dev/null @@ -1,50 +0,0 @@ -#include "script_component.hpp" -/* -private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall"]; -if !(isNil QGVAR(enabled) && {GVAR(enabled)}) exitWith {}; - -_gun = _this select 0; -_type = _this select 4; -_round = _this select 6; - -if(_round in GVAR(blackList)) exitWith { - GVAR(blackList) = GVAR(blackList) - [_round]; -}; - -_doFragTrack = false; -if(_gun == player) then { - _doFragTrack = true; -} else { - if((gunner _gun) == player) then { - _doFragTrack = true; - } else { - if(local _gun && {!(isPlayer (gunner _gun))} && {!(isPlayer _gun)}) then { - _doFragTrack = true; - }; - }; -}; -_doSpall = true; -if(_doSpall) then { - if(GVAR(spallIsTrackingCount) <= 0) then { - GVAR(spallHPData) = []; - }; - if(GVAR(spallIsTrackingCount) > 5) then { - // player sideChat "LIMT!"; - _doSpall = false; - } else { - GVAR(spallIsTrackingCount) = GVAR(spallIsTrackingCount) + 1; - }; -}; -// player sideChat format["c: %1", GVAR(spallIsTrackingCount)]; -[player, _round, [1,0,0,1]] call FUNC(addTrack); -if(_doFragTrack && alive _round) then { - GVAR(trackedObjects) set[(count GVAR(trackedObjects)), _round]; - _spallTrack = []; - _spallTrackID = []; - [FUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), _type, time, _gun, _doSpall, _spallTrack, _spallTrackID]] call cba_fnc_addPerFrameHandler; - if(_doSpall) then { - [_round, 2, _spallTrack, _spallTrackID] call FUNC(spallTrack); - }; - // player sideChat "WTF2"; -}; -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_frag_trace.sqf b/TO_MERGE/ace/frag/fnc_frag_trace.sqf deleted file mode 100644 index 9b0c8dc3db..0000000000 --- a/TO_MERGE/ace/frag/fnc_frag_trace.sqf +++ /dev/null @@ -1,10 +0,0 @@ -#include "script_component.hpp" - -private ["_params", "_shell"]; -_params = _this select 0; -_shell = _params select 0; -if(alive _shell) then { - drop ["\Ca\Data\Cl_basic","","Billboard",1,30,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,1,0,1]],[0],0.0,2.0,"","",""]; -} else { - [_this select 1] call FUNC(removeBISPFH); -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_frago.sqf b/TO_MERGE/ace/frag/fnc_frago.sqf deleted file mode 100644 index 08599079b2..0000000000 --- a/TO_MERGE/ace/frag/fnc_frago.sqf +++ /dev/null @@ -1,230 +0,0 @@ -//fnc_frago.sqf -// #define DEBUG_MODE_FULL -#include "script_component.hpp" - -#define FRAG_VEC_VAR 0.004 - -#define MAX_FRAG_COUNT 50 - -if(!isServer) exitWith { }; - -// _startTime = diag_tickTime; -private ["_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", - "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", - "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_target", "_boundingBox", - "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", - "_currentCount", "_count", "_vecVar", "_i", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", - "_sectorSize", "_sectorOffset", "_randomDir"]; - - -_round = _this select 0; -_lastPos = _this select 1; -_lastVel = _this select 2; -_shellType = _this select 3; -_gun = nil; -if((count _this) > 5) then { - _gun = _this select 5; -}; - -_fragTypes = [ - "ACE_frag_tiny", "ACE_frag_tiny", "ACE_frag_tiny", - "ACE_frag_tiny_HD", "ACE_frag_tiny_HD", "ACE_frag_tiny_HD", - "ACE_frag_small","ACE_frag_small","ACE_frag_small","ACE_frag_small", - "ACE_frag_small_HD","ACE_frag_small_HD","ACE_frag_small_HD","ACE_frag_small_HD", - "ACE_frag_medium_HD", "ACE_frag_medium_HD", "ACE_frag_medium_HD", "ACE_frag_medium_HD", "ACE_frag_medium_HD" - ]; - -_warn = false; -if(isArray (configFile >> "CfgAmmo" >> _shellType >> "ACE_frag_CLASSES")) then { - _fragTypes = getArray (configFile >> "CfgAmmo" >> _shellType >> "ACE_frag_CLASSES"); -} else { - _warn = true; -}; - -_atlPos = ASLtoATL _lastPos; - -_isArmed = true; -if(!isNil "_gun") then { - _fuseDist = getNumber(configFile >> "CfgAmmo" >> _shellType >> "fuseDistance"); - _isArmed = ((getPosASL _gun) distance _lastPos > _fuseDist); -}; - -_indirectHitRange = getNumber(configFile >> "CfgAmmo" >> _shellType >> "indirecthitrange"); -_fragRange = 20*_indirectHitRange*4; -// _c = 185; // grams of comp-b -// _m = 210; // grams of fragmentating metal -// _k = 3/5; // spherical K factor -// _gC = 2843; // Gurney constant of comp-b in /ms - -// _c = 429; // grams of tritonal -// _m = 496; // grams of fragmentating metal -// _k = 1/2; // spherical K factor -// _gC = 2320; // Gurney constant of tritonal in /ms - - -_c = getNumber(configFile >> "CfgAmmo" >> _shellType >> "ACE_frag_CHARGE"); -if(_c == 0) then { _c = 1; _warn = true;}; -_m = getNumber(configFile >> "CfgAmmo" >> _shellType >> "ACE_frag_METAL"); -if(_m == 0) then { _m = 2; _warn = true;}; -_k = getNumber(configFile >> "CfgAmmo" >> _shellType >> "ACE_frag_GURNEY_K"); -if(_k == 0) then { _k = 1/2; _warn = true;}; -_gC = getNumber(configFile >> "CfgAmmo" >> _shellType >> "ACE_frag_GURNEY_C"); -if(_gC == 0) then { _gC = 2440; _warn = true;}; - -if(_warn) then { - diag_log text format["Ammo class %1 lacks proper explosive properties definitions for sys_frag!", _shellType]; //TODO: turn this off when we get closer to release -}; - -_fragPower = (((_m/_c)+_k)^-(1/2))*_gC; -_fragPower = _fragPower*0.8; // Gunery equation is for a non-fragmenting metal, imperical value of 80% represents fragmentation - -_fragPowerRandom = _fragPower*0.5; -if((_atlPos select 2) < 0.5) then { - _lastPos set[2, (_lastPos select 2)+0.5]; -}; - -// _manObjects = _atlPos nearEntities ["CaManBase", _fragRange]; - -// setAccTime 0.01; - -//_objects = nearestObjects [_atlPos, ["AllVehicles"], _fragRange]; // Not sure if tracking "ReammoBox" is required, if so revert this change for _objects -_objects = _atlPos nearEntities [["Car", "Motorcycle", "Tank", "StaticWeapon", "CAManBase", "Air", "Ship"], _fragRange]; - -// _objects = _manObjects; -// Target also people inside vehicles or manning weapons -_crew = []; -{ - { - _crew set [count _crew,_x] - } forEach (crew _x); -} forEach _objects; - -_objects = _objects - _crew; -_objects = _objects + _crew; - -_fragCount = 0; - -_fragArcs = []; -_fragArcs set[360, 0]; - -#ifdef DEBUG_MODE_FULL - player sideChat format["_fragRange: %1", _fragRange]; - player sideChat format["_objects: %1", _objects]; -#endif -_doRandom = false; -if(_isArmed && (count _objects) > 0) then { - { - //if(random(1) > 0.5) then { - _target = _x; - if(alive _target) then { - _boundingBox = boundingBox _target; - _targetPos = (getPosASL _target); - _distance = _targetPos distance _lastPos; - _add = (((_boundingBox select 1) select 2)/2)+((((_distance-(_fragpower/8)) max 0)/_fragPower)*10); - _bbX = (abs((_boundingBox select 0) select 0))+((_boundingBox select 1) select 0); - _bbY = (abs((_boundingBox select 0) select 1))+((_boundingBox select 1) select 1); - _bbZ = (abs((_boundingBox select 0) select 2))+((_boundingBox select 1) select 2); - _cubic = _bbX*_bbY*_bbZ; - if(_cubic > 1) then { - _doRandom = true; - - _targetVel = (velocity _target); - - _targetPos set[2, (_targetPos select 2)+_add]; - _targetPos set[0, (_targetPos select 0)+((_targetVel select 0)*(_distance/_fragPower))]; - _targetPos set[1, (_targetPos select 1)+((_targetVel select 1)*(_distance/_fragPower))]; - - _baseVec = [_lastPos, _targetPos] call BIS_fnc_vectorFromXToY; - - _dir = floor(_baseVec call CBA_fnc_vectDir); - _currentCount = _fragArcs select _dir; - if(isNil "_currentCount") then { - _currentCount = 0; - }; - if(_currentCount < 20) then { - _count = ceil(random(sqrt(_m/1000))); - _vecVar = FRAG_VEC_VAR; - if(!(_target isKindOf "Man")) then { - _vecVar = ((sqrt _cubic)/2000)+FRAG_VEC_VAR; - if((count (crew _target)) == 0 && _count > 0) then { - _count = 0 max (_count/2); - }; - }; - for "_i" from 1 to _count do { - _vec = +_baseVec; - - _vec set[0, (_vec select 0)-(_vecVar/2)+(random _vecVar)]; - _vec set[1, (_vec select 1)-(_vecVar/2)+(random _vecVar)]; - _vec set[2, (_vec select 2)-(_vecVar/2)+(random _vecVar)]; - - _fp = (_fragPower-(random (_fragPowerRandom))); - _vel = [ - (_vec select 0)*_fp, - (_vec select 1)*_fp, - (_vec select 2)*_fp - ]; - - _fragType = round (random ((count _fragTypes)-1)); - _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; - // diag_log text format["fp: %1 %2", _fp, typeOf _fragObj]; - _fragObj setPosASL _lastPos; - _fragObj setVectorDir _vec; - _fragObj setVelocity _vel; - #ifdef DEBUG_MODE_FULL - GVAR(TOTALFRAGS) = GVAR(TOTALFRAGS) + 1; - GVAR(traceFrags) = true; - #endif - if(GVAR(traceFrags)) then { - [player, _fragObj, [1,0,0,1]] call FUNC(addTrack); - }; - _fragCount = _fragCount + 1; - _currentCount = _currentCount + 1; - }; - _fragArcs set[_dir, _currentCount]; - }; - }; - }; - //}; - if(_fragCount > MAX_FRAG_COUNT) exitWith {}; - } forEach _objects; - if(_fragCount > MAX_FRAG_COUNT) exitWith {}; - _randomCount = (ceil((MAX_FRAG_COUNT-_fragCount)*0.1)) max 0; - _sectorSize = 360 / (_randomCount max 1); - // _doRandom = false; - if(_doRandom) then { - for "_i" from 1 to _randomCount do { - // Distribute evenly - _sectorOffset = 360 * (_i - 1) / (_randomCount max 1); - _randomDir = random(_sectorSize); - _vec = [cos(_sectorOffset + _randomDir), sin(_sectorOffset + _randomDir), sin(30 - (random 45))]; - - _fp = (_fragPower-(random (_fragPowerRandom))); - - _vel = [ - (_vec select 0)*_fp, - (_vec select 1)*_fp, - (_vec select 2)*_fp - ]; - - _fragType = round (random ((count _fragTypes)-1)); - _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; - _fragObj setPosASL _lastPos; - _fragObj setVectorDir _vec; - _fragObj setVelocity _vel; - #ifdef DEBUG_MODE_FULL - GVAR(TOTALFRAGS) = GVAR(TOTALFRAGS) + 1; - // [FUNC(frag_trace), 0, [_fragObj]] call cba_fnc_addPerFrameHandler; - GVAR(traceFrags) = true; - #endif - if(GVAR(traceFrags)) then { - [player, _fragObj, [1,0.5,0,1]] call FUNC(addTrack); - }; - _fragCount = _fragCount + 1; - }; - }; -}; -// #ifdef DEBUG_MODE_FULL - // player sideChat format["total frags: %1", GVAR(TOTALFRAGS)]; - // player sideChat format["tracks: %1", (count GVAR(trackedObjects))]; -// #endif -// _endTime = diag_tickTime; diff --git a/TO_MERGE/ace/frag/fnc_removeTrack.sqf b/TO_MERGE/ace/frag/fnc_removeTrack.sqf deleted file mode 100644 index b72830051a..0000000000 --- a/TO_MERGE/ace/frag/fnc_removeTrack.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -private ["_ret"]; -_ret = true; -if(IS_ARRAY((_this select 0))) then { - _ret = false; -} else { - if((_this select 0) in GVAR(trackedObjects)) then { - GVAR(trackedObjects) = GVAR(trackedObjects) - [(_this select 0)]; - } else { - _ret = false; - }; -}; -_ret \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_spallHP.sqf b/TO_MERGE/ace/frag/fnc_spallHP.sqf deleted file mode 100644 index aeba4e7a5d..0000000000 --- a/TO_MERGE/ace/frag/fnc_spallHP.sqf +++ /dev/null @@ -1,29 +0,0 @@ -#include "script_component.hpp" - -private ["_initialData", "_currentCount", "_hpData", "_round", "_hpRound"]; -//player sideChat format["f: %1 c: %2", (_this select 0), (count GVAR(spallHPData))]; -if((_this select 0) <= (count GVAR(spallHPData))) then { - _initialData = GVAR(spallHPData) select (_this select 0); - if(!isNil "_initialData") then { - _hpRound = ((_this select 1) select 0) select 2; - _round = _initialData select 3; - _hpDirect = ((_this select 1) select 0) select 10; - if(_hpDirect && {_round == _hpRound}) then { - - { - _hpData = _x; - _round = _initialData select 3; - // diag_log text format["HPDUMP-------------------------------------"]; - // { - // _hp = _x; - // diag_log text format["%1 --", _forEachIndex]; - // { - // diag_log text format["%1: %2", _forEachIndex, _x]; - // } forEach _hp; - // } forEach (_this select 1); - [FUNC(doSpall), 0, [_this, _forEachIndex]] call cba_fnc_addPerFrameHandler; - // player sideChat "WEEE"; - } forEach (_this select 1); - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_spallTrack.sqf b/TO_MERGE/ace/frag/fnc_spallTrack.sqf deleted file mode 100644 index 31e9c228bb..0000000000 --- a/TO_MERGE/ace/frag/fnc_spallTrack.sqf +++ /dev/null @@ -1,40 +0,0 @@ -//fnc_spallTrack.sqf -#include "script_component.hpp" -private ["_params", "_round", "_multiplier", "_delta", "_curPos", "_velocity", "_velocityStep", "_forwardPos", "_intersectsWith", "_index", "_i", "_test", "_hpId", "_data"]; -// setAccTime 0; -_round = _this select 0; -_multiplier = _this select 1; -_foundObjects = _this select 2; -_foundObjectHPIds = _this select 3; - -_delta = (1/diag_fps)*_multiplier; -_curPos = getPosASL _round; -_velocity = velocity _round; - -_velocityStep = [ - (_velocity select 0)*_delta, - (_velocity select 1)*_delta, - (_velocity select 2)*_delta - ]; -_forwardPos = [ - (_curPos select 0) + (_velocityStep select 0), - (_curPos select 1) + (_velocityStep select 1), - (_curPos select 2) + (_velocityStep select 2) - ]; - -_intersectsWith = lineIntersectsWith [_curPos, _forwardPos]; - -if(count _intersectsWith > 0) then { - // player sideChat format["inter: %1", _intersectsWith]; - { - if(!(_x in _foundObjects)) then { - // diag_log text format["Adding HP: %1", _x]; - _index = (count GVAR(spallHPData)); - _hpId = _x addEventHandler ["hitPart", format["[%1, _this] call " + QUOTE(FUNC(spallHP)), _index]]; - _foundObjects set[(count _foundObjects), _x]; - _foundObjectHPIds set[(count _foundObjectHPIds), _hpId]; - _data = [_hpId, _x, typeOf _round, _round, _curPos, _velocity, 0, _foundObjects, _foundObjectHPIds]; - GVAR(spallHPData) set[_index, _data]; - }; - } forEach _intersectsWith; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_startTracing.sqf b/TO_MERGE/ace/frag/fnc_startTracing.sqf deleted file mode 100644 index 31f4b99762..0000000000 --- a/TO_MERGE/ace/frag/fnc_startTracing.sqf +++ /dev/null @@ -1,5 +0,0 @@ -#include "script_component.hpp" -if(!GVAR(tracesStarted)) then { - GVAR(tracesStarted) = true; - GVAR(traceID) = [FUNC(drawTraces), 0, []] call cba_fnc_addPerFrameHandler; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_stopTracing.sqf b/TO_MERGE/ace/frag/fnc_stopTracing.sqf deleted file mode 100644 index 02b4fd7f59..0000000000 --- a/TO_MERGE/ace/frag/fnc_stopTracing.sqf +++ /dev/null @@ -1,5 +0,0 @@ -#include "script_component.hpp" -if(GVAR(tracesStarted)) then { - GVAR(tracesStarted) = false; - [GVAR(traceID)] call FUNC(removeBISPFH); -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_trackFragRound.sqf b/TO_MERGE/ace/frag/fnc_trackFragRound.sqf deleted file mode 100644 index 2780a85664..0000000000 --- a/TO_MERGE/ace/frag/fnc_trackFragRound.sqf +++ /dev/null @@ -1,52 +0,0 @@ -//fnc_trackFragRound.sqf -#include "script_component.hpp" -private ["_params", "_round", "_lastPos", "_lastVel", "_type", "_time", "_doSpall", "_skip", "_explosive", "_indirectRange", "_force", "_fragPower"]; -_params = _this select 0; -_round = _params select 0; -_lastPos = _params select 1; -_lastVel = _params select 2; -_type = _params select 3; -_time = _params select 4; -_doSpall = _params select 6; -_spallTrack = _params select 7; -_foundObjectHPIds = _params select 8; - -if (!alive _round) then { - [_this select 1] call FUNC(removeBISPFH); - if(_time != time && {_round in GVAR(trackedObjects)} && {!(_round in GVAR(blackList))}) then { - GVAR(trackedObjects) = GVAR(trackedObjects) - [_round]; - _skip = getNumber (configFile >> "CfgAmmo" >> _type >> "ACE_FRAG_SKIP"); - if(_skip == 0) then { - _explosive = getNumber (configFile >> "CfgAmmo" >> _type >> "explosive"); - _indirectRange = getNumber (configFile >> "CfgAmmo" >> _type >> "indirectHitRange"); - _force = getNumber (configFile >> "CfgAmmo" >> _type >> "ACE_FRAG_FORCE"); - _fragPower = getNumber(configFile >> "CfgAmmo" >> _type >> "indirecthit")*(sqrt(_indirectRange)); - if((_explosive > 0.5 && {_indirectRange >= 4.5} && {_fragPower >= 35}) || {_force == 1} ) then { - [QGVAR(frag_eh), _params] call CBA_fnc_clientToServerEvent; - GVAR(trackedObjects) = GVAR(trackedObjects) - [_round]; - }; - }; - }; - if(_doSpall) then { - GVAR(spallIsTrackingCount) = GVAR(spallIsTrackingCount) - 1; - // diag_log text format["F: %1", _foundObjectHPIds]; - { - if(!isNil "_x") then { - _x removeEventHandler ["hitPart", _foundObjectHPIds select _forEachIndex]; - }; - } forEach _spallTrack; - }; -} else { - if(!(_round in GVAR(trackedObjects)) || {_round in GVAR(blackList)}) then { - [_this select 1] call FUNC(removeBISPFH); - if(_round in GVAR(blackList)) then { - GVAR(blackList) = GVAR(blackList) - [_round]; - }; - }; - - _params set[1, (getPosASL _round)]; - _params set[2, (velocity _round)]; - if(_doSpall) then { - [_round, 1, _spallTrack, _foundObjectHPIds] call FUNC(spallTrack); - }; -}; diff --git a/TO_MERGE/ace/frag/fnc_trackTrace.sqf b/TO_MERGE/ace/frag/fnc_trackTrace.sqf deleted file mode 100644 index 71b4a9a866..0000000000 --- a/TO_MERGE/ace/frag/fnc_trackTrace.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" -_params = _this select 0; -_tracerObj = _params select 0; -_index = _params select 1; - -if(alive _tracerObj && (count GVAR(traces)) > 0) then { - _data = GVAR(traces) select _index; - _positions = _data select 4; - _objVel = velocity _tracerObj; - _objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); - _positions set[(count _positions), [(getPos _tracerObj), _objTVel]]; -} else { - [(_this select 1)] call FUNC(removeBISPFH); -}; \ No newline at end of file diff --git a/TO_MERGE/ace/frag/fnc_vectorDiffFast.sqf b/TO_MERGE/ace/frag/fnc_vectorDiffFast.sqf deleted file mode 100644 index 0a41860727..0000000000 --- a/TO_MERGE/ace/frag/fnc_vectorDiffFast.sqf +++ /dev/null @@ -1,15 +0,0 @@ -#include "script_component.hpp" -private["_p1","_p2","_return"]; - -_p1 = _this select 0; -_p2 = _this select 1; - -if ((count _p1) != (count _p2)) then {textLogFormat ["BIS_FNC Error: vectors not of same size"]}; - -_return = []; - -{ - _return set[_forEachIndex, (_p2 select _forEachIndex) - _x]; -} forEach _p1; - -_return diff --git a/TO_MERGE/ace/frag/script_component.hpp b/TO_MERGE/ace/frag/script_component.hpp deleted file mode 100644 index 8f8efb4c0b..0000000000 --- a/TO_MERGE/ace/frag/script_component.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#define COMPONENT sys_frag -#include "\x\uo\Addons\main\script_mod.hpp" - -#define DEBUG_ENABLED_SYS_FRAG - -#ifdef DEBUG_ENABLED_SYS_FRAG - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_FRAG - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_FRAG -#endif - -#include "\x\uo\Addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/ace/frag/stringtable.xml b/TO_MERGE/ace/frag/stringtable.xml deleted file mode 100644 index aed1a9028a..0000000000 --- a/TO_MERGE/ace/frag/stringtable.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -(Æ) Disable Fragmentation -(Æ) Zakázat fragmentaci granátů -(Æ) Weapons: Keine Schrapnelle -(Æ) Wyłącz głowice fragmentacyjne -(Æ) Выключить разлёт осколков -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation - - - - diff --git a/TO_MERGE/ace/laser/$PBOPREFIX$ b/TO_MERGE/ace/laser/$PBOPREFIX$ deleted file mode 100644 index c8eeb197c8..0000000000 --- a/TO_MERGE/ace/laser/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\uo\Addons\sys_laser \ No newline at end of file diff --git a/TO_MERGE/ace/laser/CfgEventhandlers.hpp b/TO_MERGE/ace/laser/CfgEventhandlers.hpp deleted file mode 100644 index 1fcfc0244f..0000000000 --- a/TO_MERGE/ace/laser/CfgEventhandlers.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; diff --git a/TO_MERGE/ace/laser/CfgVehicles.hpp b/TO_MERGE/ace/laser/CfgVehicles.hpp deleted file mode 100644 index 1c5887bd38..0000000000 --- a/TO_MERGE/ace/laser/CfgVehicles.hpp +++ /dev/null @@ -1,9 +0,0 @@ -class CfgVehicles { - class All; - - class LaserTarget: All { - class EventHandlers { - init = QUOTE(_this call FUNC(laser_init)); - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/laser/XEH_post_init.sqf b/TO_MERGE/ace/laser/XEH_post_init.sqf deleted file mode 100644 index 6904ee6c47..0000000000 --- a/TO_MERGE/ace/laser/XEH_post_init.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" -NO_DEDICATED; - diff --git a/TO_MERGE/ace/laser/XEH_pre_init.sqf b/TO_MERGE/ace/laser/XEH_pre_init.sqf deleted file mode 100644 index 8a4b3166b8..0000000000 --- a/TO_MERGE/ace/laser/XEH_pre_init.sqf +++ /dev/null @@ -1,26 +0,0 @@ -#include "script_component.hpp" - -PREP(rotateVectLineGetMap); -PREP(rotateVectLine); -PREP(shootRay); -PREP(shootCone); -PREP(checkLos); - -PREP(findLaserDesignator); -PREP(findStrongestRay); - -PREP(translateToModelSpace); -PREP(translateToWeaponSpace); - -PREP(laser_init); - -GVAR(laser) = nil; // a single hud draws 1 laser at a time - -PREP(laserTargetPFH); - -ACE_LASERS = []; - -ACE_DEFAULT_LASER_CODE = 1000; -ACE_DEFAULT_FIRE_SELECTION = [FIREMODE_DIRECT_LOAL, ACE_DEFAULT_LASER_CODE]; - -FUNC(getPosASL) = {visiblePositionASL (_this select 0)}; \ No newline at end of file diff --git a/TO_MERGE/ace/laser/config.cpp b/TO_MERGE/ace/laser/config.cpp deleted file mode 100644 index ee1b9f1996..0000000000 --- a/TO_MERGE/ace/laser/config.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "a3_ui_f" }; - version = VERSION; - }; -}; - -#include "CfgEventhandlers.hpp" -#include "CfgVehicles.hpp" \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_checkLos.sqf b/TO_MERGE/ace/laser/fnc_checkLos.sqf deleted file mode 100644 index f0df153887..0000000000 --- a/TO_MERGE/ace/laser/fnc_checkLos.sqf +++ /dev/null @@ -1,31 +0,0 @@ -#include "script_component.hpp" - -private ["_pos1", "_pos2", "_spacing", "_vectorTo", "_x", "_y", "_z", "_distance", "_count", "_return", "_alt", "_pos", "_designator", "_seeker"]; -_pos1 = _this select 0; -_pos2 = _this select 1; -_designator = _this select 2; -_seeker = _this select 3; -_spacing = 100; -if((count _this) > 4) then { - _spacing = _this select 4; -}; - -_return = true; -_vectorTo = [_pos2, _pos1] call BIS_fnc_vectorFromXToY; - -_x = (_vectorTo select 0)*0.25; -_y = (_vectorTo select 1)*0.25; -_z = (_vectorTo select 2)*0.25; - -_pos2 = [(_pos2 select 0) + _x, (_pos2 select 1) + _y, (_pos2 select 2) + _z]; - -// player sideChat format["new los check"]; -if(terrainIntersect [_pos2, _pos1]) then { - _return = false; -} else { - if(lineIntersects [_pos2, _pos1]) then { // should take as arguments and add to this command objects to exclude - target and observer - // player sideChat format["with: %1", lineIntersectsWith [_pos1, _pos2]]; - _return = false; - }; -}; -_return; \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_findLaserDesignator.sqf b/TO_MERGE/ace/laser/fnc_findLaserDesignator.sqf deleted file mode 100644 index 8a2e4caf29..0000000000 --- a/TO_MERGE/ace/laser/fnc_findLaserDesignator.sqf +++ /dev/null @@ -1,70 +0,0 @@ -#include "script_component.hpp" - -private ["_missile", "_headingPitch", "_found", "_vectorTo", "_polarTo", "_dir", "_vertOk", "_horzOk", "_fov", - "_closestDistance", "_pos1", "_pos2", "_disCheck", "_currentTarget", "_potentialTargets", "_offset", "_vector"]; -_missile = _this select 0; -_laserCode = _this select 1; -_fov = if (count _this > 2) then {_this select 2} else {75}; -_vector = if (count _this > 3) then {_this select 3} else {vectorDir _missile}; -_offset = if (count _this > 4) then {_this select 4} else {[0,0,0]}; - -_headingPitch = _vector call CBA_fnc_vect2polar; -_currentTarget = nil; -_found = false; - -LOG("Searching lasers"); -if(!(isNil "ACE_LASERS")) then { - _potentialTargets = []; - TRACE_1("", ACE_LASERS); - - { - if(!(isNull _x)) then { - _sensorPos = ATLtoASL(_missile modelToWorld _offset); - _vectorTo = [_sensorPos, ([_x] call FUNC(getPosASL))] call BIS_fnc_vectorFromXToY; - _polarTo = _vectorTo call CBA_fnc_vect2polar; - _dir = _polarTo select 1; - _dir = _dir - (_headingPitch select 1); - - TRACE_4("Calc", _sensorPos, _vectorTo, _polarTo, _dir); - - if (_dir < 0) then {_dir = _dir + 360}; - if (_dir > 360) then {_dir = _dir - 360}; - _vertOk = false; - _horzOk = false; - if(_dir < _fov || {_dir > (360-_fov)}) then { - _horzOk = true; - }; - if(abs((abs(_polarTo select 2))-(abs(_headingPitch select 2))) < _fov) then { - _vertOk = true; - }; - - TRACE_2("Results", _vertOk, _horzOk); - - if(_vertOk && {_horzOk}) then { - // Does the laser currently have our current code, if we have one? - _targetCode = _x getVariable ["ACE_LASERTARGET_CODE", ACE_DEFAULT_LASER_CODE]; - TRACE_1("Target in sight, checking code", _targetCode, _laserCode); - if(_targetCode == _laserCode) then { - _potentialTargets set[(count _potentialTargets), _x]; - }; - }; - }; - - } forEach ACE_LASERS; - - TRACE_1("", _potentialTargets); - - _closestDistance = 100000; - { - _pos1 = (getPosASL _missile); - _pos2 = ([_x] call FUNC(getPosASL)); - _disCheck = _pos1 distance _pos2; - // shouldn't this bail out when a valid target is found instead of iterating over all potential targets ? - if(_disCheck < _closestDistance && {[_pos1, _pos2, _x, _missile] call FUNC(checkLos)}) then { - _found = true; - _currentTarget = _x; - _closestDistance = _disCheck; - }; - } forEach _potentialTargets; -}; -[_found, _currentTarget] \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_findStrongestRay.sqf b/TO_MERGE/ace/laser/fnc_findStrongestRay.sqf deleted file mode 100644 index db85ce8b3d..0000000000 --- a/TO_MERGE/ace/laser/fnc_findStrongestRay.sqf +++ /dev/null @@ -1,49 +0,0 @@ -#include "script_component.hpp" - -_list = _this select 0; -_checkPos = _this select 1; -_spots = []; -_outliers = []; -_spot = []; -_testPos = (_list select 0) select 0; -{ - _samplePos = _x select 0; - if(!lineIntersects [_samplePos, _checkPos] && {!terrainIntersectASL [_samplePos, _checkPos]}) then { - if(_samplePos distance _testPos < 2) then { - _spot pushBack _samplePos; - } else { - _outliers pushBack _samplePos; - }; - }; -} forEach _list; -_spots pushBack _spot; - -if(count _outliers > 0) then { - for "_i" from 1 to 3 do { - _remainingSpots = _outliers; - _outliers = []; - _spot = []; - _testPos = (_remainingSpots select 0); - { - _samplePos = _x; - if(!lineIntersects [_samplePos, _checkPos] && {!terrainIntersectASL [_samplePos, _checkPos]}) then { - if(_samplePos distance _testPos < 2) then { - _spot pushBack _samplePos; - } else { - _outliers pushBack _samplePos; - }; - }; - } forEach _remainingSpots; - _spots pushBack _spot; - }; -}; -_largest = 0; -_largestSpot = []; -{ - if((count _x) > _largest) then { - _largest = (count _x); - _largestSpot = _x; - }; -} forEach _spots; -// player sideChat format["g: %1", _spots]; -_largestSpot select (random (floor(count _largestSpot))); \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_laserTargetPFH.sqf b/TO_MERGE/ace/laser/fnc_laserTargetPFH.sqf deleted file mode 100644 index bf526f464e..0000000000 --- a/TO_MERGE/ace/laser/fnc_laserTargetPFH.sqf +++ /dev/null @@ -1,26 +0,0 @@ -#include "script_component.hpp" - -private["_args", "_laserTarget"]; -//TRACE_1("enter", _this); -_args = _this select 0; -_laserTarget = _args select 0; - -if(isNull _laserTarget || !alive player) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - REM(ACE_LASERS, _laserTarget); -}; - -_end = diag_tickTime; - -#ifdef DEBUG_MODE_FULL -// Iconize the location of the actual laserTarget -_pos = [_laserTarget] call FUNC(getPosASL); -drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,0,1], (ASLtoATL _pos), 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; - -{ - drawLine3D [ASLtoATL (_x select 0), ASLtoATL (_x select 1), (_x select 2)]; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", (_x select 2), ASLtoATL (_x select 1), 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; -} forEach DRAW_LINES; -DRAW_LINES = []; -#endif - diff --git a/TO_MERGE/ace/laser/fnc_laser_init.sqf b/TO_MERGE/ace/laser/fnc_laser_init.sqf deleted file mode 100644 index 4c6b0b5f2a..0000000000 --- a/TO_MERGE/ace/laser/fnc_laser_init.sqf +++ /dev/null @@ -1,25 +0,0 @@ -#include "script_component.hpp" -PARAMS_1(_laserTarget); - -TRACE_1("enter", _this); - -// Add the target to the global targets array -// Everyone tracks them - -// Add the laser localized to the laser array, and give it the default localized code -PUSH(ACE_LASERS, _laserTarget); -// Check the vehicle, otherwise use the default -_laserTarget setVariable ["ACE_LASERTARGET_CODE", ACE_DEFAULT_LASER_CODE, false]; -// Clean the lasers of any null objects while we are here -REM(ACE_LASERS, objNull); - -if(!(local _laserTarget)) exitWith { }; -// The target is local, so its on this client -if(!isDedicated) then { - _laserTarget setVariable ["ACE_LASERTARGET_SHOOTER", player, true]; - - [FUNC(laserTargetPFH), 0, [_laserTarget, player]] call cba_fnc_addPerFrameHandler; -} else { - // server side ownership of laser - //_laserTarget setVariable ["ACE_LASERTARGET_SHOOTER", nil, false]; -}; diff --git a/TO_MERGE/ace/laser/fnc_rotateVectLine.sqf b/TO_MERGE/ace/laser/fnc_rotateVectLine.sqf deleted file mode 100644 index b0360cc330..0000000000 --- a/TO_MERGE/ace/laser/fnc_rotateVectLine.sqf +++ /dev/null @@ -1,38 +0,0 @@ -#include "script_component.hpp" - -_map = _this select 0; -_theta = _this select 1; - -_p = _map select 0; -_p1 = _map select 1; -_p2 = _map select 2; - -_q1 = +(_map select 3); -_q2 = +(_map select 4); -_u = _map select 5; -_d = _map select 6; - -/* Step 4 */ -_q2 set[0, (_q1 select 0) * cos(_theta) - (_q1 select 1) * sin(_theta)]; -_q2 set[1, (_q1 select 0) * sin(_theta) + (_q1 select 1) * cos(_theta)]; -_q2 set[2, (_q1 select 2)]; - -/* Inverse of step 3 */ -_q1 set[0, (_q2 select 0) * _d + (_q2 select 2) * (_u select 0)]; -_q1 set[1, (_q2 select 1)]; -_q1 set[2, - (_q2 select 0) * (_u select 0) + (_q2 select 2) * _d]; - -/* Inverse of step 2 */ -if (_d != 0) then { - _q2 set[0, (_q1 select 0)]; - _q2 set[1, (_q1 select 1) * (_u select 2) / _d + (_q1 select 2) * (_u select 1) / _d]; - _q2 set[2, - (_q1 select 1) * (_u select 1) / _d + (_q1 select 2) * (_u select 2) / _d]; -} else { - _q2 = _q1; -}; - -/* Inverse of step 1 */ -_q1 set[0, (_q2 select 0) + (_p1 select 0)]; -_q1 set[1, (_q2 select 1) + (_p1 select 1)]; -_q1 set[2, (_q2 select 2) + (_p1 select 2)]; -_q1; \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_rotateVectLineGetMap.sqf b/TO_MERGE/ace/laser/fnc_rotateVectLineGetMap.sqf deleted file mode 100644 index fdbd6533ef..0000000000 --- a/TO_MERGE/ace/laser/fnc_rotateVectLineGetMap.sqf +++ /dev/null @@ -1,37 +0,0 @@ -#include "script_component.hpp" - -private ["_p", "_theta", "_p1", "_p2", "_q1", "_q2", "_u", "_d"]; -_p = _this select 0; -_p1 = _this select 1; -_p2 = _this select 2; - -_q1 = []; -_q2 = []; -_u = []; - -/* Step 1 */ -_q1 set[0, (_p select 0) - (_p1 select 0)]; -_q1 set[1, (_p select 1) - (_p1 select 1)]; -_q1 set[2, (_p select 2) - (_p1 select 2)]; - -_u set[0, (_p2 select 0) - (_p1 select 0)]; -_u set[1, (_p2 select 1) - (_p1 select 1)]; -_u set[2, (_p2 select 2) - (_p1 select 2)]; -_u = _u call BIS_fnc_unitVector; -_d = sqrt((_u select 1)*(_u select 1) + (_u select 2)*(_u select 2)); - -/* Step 2 */ -if (_d != 0) then { - _q2 set[0, (_q1 select 0)]; - _q2 set[1, (_q1 select 1) * (_u select 2) / _d - (_q1 select 2) * (_u select 1) / _d]; - _q2 set[2, (_q1 select 1) * (_u select 1) / _d + (_q1 select 2) * (_u select 2) / _d]; -} else { - _q2 = _q1; -}; - -/* Step 3 */ -_q1 set[0, (_q2 select 0) * _d - (_q2 select 2) * (_u select 0)]; -_q1 set[1, (_q2 select 1)]; -_q1 set[2, (_q2 select 0) * (_u select 0) + (_q2 select 2) * _d]; - -[_p, _p1, _p2, _q1, _q2, _u, _d] \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_shootCone.sqf b/TO_MERGE/ace/laser/fnc_shootCone.sqf deleted file mode 100644 index 8d2d7fef66..0000000000 --- a/TO_MERGE/ace/laser/fnc_shootCone.sqf +++ /dev/null @@ -1,66 +0,0 @@ -#include "script_component.hpp" - -_divergence = 0.3; -_pos = _this select 0; -_vec = _this select 1; -_longestReturn = -1000000000; -_shortestReturn = 1000000000; -_resultPositions = []; -_p1 = [0,0,0]; -_p2 = +_vec; -_p = (_vec call CBA_fnc_vect2polar); -_v = [(_p select 0), (_p select 1), (_p select 2)+90] call CBA_fnc_polar2vect; -_cp = [_vec, _v] call BIS_fnc_crossProduct; - -_vecRotateMap = [_cp, _p1, _p2] call FUNC(rotateVectLineGetMap); - -_result = [_pos, _vec] call FUNC(shootRay); -_resultPos = _result select 0; -if(!isNil "_resultPos") then { - _distance = _result select 1; - if(_distance < _shortestReturn) then { - _shortestReturn = _distance; - }; - if(_distance > _longestReturn) then { - _longestReturn = _distance; - }; - _resultPositions set[(count _resultPositions), _result]; -#ifdef DEBUG_MODE_FULL - DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; -#endif -}; -_count = 8; - -_pos2 = [ - (_pos select 0)+((_vec select 0)*1000), - (_pos select 1)+((_vec select 1)*1000), - (_pos select 2)+((_vec select 2)*1000) - ]; -{ - for "_i" from 0 to ceil(_count*_x) do { - _radOffset = random 360; - _offset = [_vecRotateMap, (((360/_count)*_i)+_radOffset) mod 360] call FUNC(rotateVectLine); - _offsetPos = [ - (_pos2 select 0)+((_offset select 0)*(_divergence*_x)), - (_pos2 select 1)+((_offset select 1)*(_divergence*_x)), - (_pos2 select 2)+((_offset select 2)*(_divergence*_x)) - ]; - _offsetVector = [_pos, _offsetPos] call BIS_fnc_vectorFromXtoY; - _result = [_pos, _offsetVector] call FUNC(shootRay); - _resultPos = _result select 0; - if(!isNil "_resultPos") then { - _distance = _result select 1; - if(_distance < _shortestReturn) then { - _shortestReturn = _distance; - }; - if(_distance > _longestReturn) then { - _longestReturn = _distance; - }; - _resultPositions set[(count _resultPositions), _result]; -#ifdef DEBUG_MODE_FULL - DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; -#endif - }; - }; -} forEach [1,0.5,0.25]; -[_longestReturn, _shortestReturn, _resultPositions]; \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_shootRay.sqf b/TO_MERGE/ace/laser/fnc_shootRay.sqf deleted file mode 100644 index 768194e351..0000000000 --- a/TO_MERGE/ace/laser/fnc_shootRay.sqf +++ /dev/null @@ -1,30 +0,0 @@ -#include "script_component.hpp" - -private ["_pos", "_vec", "_distance", "_resultPos", "_fidelity", "_lastPos", "_i", "_nextPos"]; -scopeName "main"; -_pos = _this select 0; -_vec = _this select 1; -_distance = 0; -_resultPos = nil; -_fidelity = [1000,100,10,1,0.1]; -_lastPos = +_pos; -{ - scopeName "mainSearch"; - for "_i" from 1 to 10 do { - _nextPos = [ - (_lastPos select 0)+((_vec select 0)*_x), - (_lastPos select 1)+((_vec select 1)*_x), - (_lastPos select 2)+((_vec select 2)*_x) - ]; - - if(lineIntersects [_lastPos, _nextPos] || terrainIntersectASL [_lastPos, _nextPos]) then { - _resultPos = _lastPos; - breakTo "mainSearch"; - } else { - _distance = _distance + _x; - _lastPos = _nextPos; - }; - }; - -} forEach _fidelity; -[_resultPos, _distance]; \ No newline at end of file diff --git a/TO_MERGE/ace/laser/fnc_translateToWeaponSpace.sqf b/TO_MERGE/ace/laser/fnc_translateToWeaponSpace.sqf deleted file mode 100644 index 406d81b145..0000000000 --- a/TO_MERGE/ace/laser/fnc_translateToWeaponSpace.sqf +++ /dev/null @@ -1,22 +0,0 @@ -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_offset = _offset vectorDiff _origin; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = [ - ((_xVec select 0)*_x) + ((_xVec select 1)*_y) + ((_xVec select 2)*_z), - ((_yVec select 0)*_x) + ((_yVec select 1)*_y) + ((_yVec select 2)*_z), - ((_zVec select 0)*_x) + ((_zVec select 1)*_y) + ((_zVec select 2)*_z) - ]; - -_out; \ No newline at end of file diff --git a/TO_MERGE/ace/laser/script_component.hpp b/TO_MERGE/ace/laser/script_component.hpp deleted file mode 100644 index 860a585ed6..0000000000 --- a/TO_MERGE/ace/laser/script_component.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#define COMPONENT sys_laser -#include "\x\uo\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_LASER - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_LASER - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_LASER -#endif - -#include "\x\uo\Addons\main\script_macros.hpp" - - -#define FIREMODE_DIRECT_LOAL 1 \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/$PBOPREFIX$ b/TO_MERGE/ace/missileguidance/$PBOPREFIX$ deleted file mode 100644 index 2a9b50c27f..0000000000 --- a/TO_MERGE/ace/missileguidance/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\uo\Addons\sys_missileguidance \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/CfgAmmo.hpp b/TO_MERGE/ace/missileguidance/CfgAmmo.hpp deleted file mode 100644 index 1fdd580724..0000000000 --- a/TO_MERGE/ace/missileguidance/CfgAmmo.hpp +++ /dev/null @@ -1,10 +0,0 @@ -class CfgAmmo { - class MissileBase; - - class M_PG_AT : MissileBase { - irLock = 0; - laserLock = 0; - airLock = 0; - manualControl = 0; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/CfgEventhandlers.hpp b/TO_MERGE/ace/missileguidance/CfgEventhandlers.hpp deleted file mode 100644 index faa5edef0b..0000000000 --- a/TO_MERGE/ace/missileguidance/CfgEventhandlers.hpp +++ /dev/null @@ -1,17 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; - -class Extended_FiredBIS_EventHandlers { - class AllVehicles { - ADDON = QUOTE(_this call FUNC(fired)); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/CfgWeapons.hpp b/TO_MERGE/ace/missileguidance/CfgWeapons.hpp deleted file mode 100644 index 33c2bfe8de..0000000000 --- a/TO_MERGE/ace/missileguidance/CfgWeapons.hpp +++ /dev/null @@ -1,34 +0,0 @@ -class CfgWeapons { - class CannonCore; - class LauncherCore; - class Mode_SemiAuto; - - class RocketPods: LauncherCore { - canLock = 1; - }; - class missiles_DAGR: RocketPods { - canLock = 1; - }; - /* - class autocannon_Base_F: CannonCore { - canLock = 1; - }; - class cannon_120mm: CannonCore { - canLock = 1; - - class player : Mode_SemiAuto { - canLock = 1; - }; - }; - class gatling_25mm: CannonCore { - canLock = 1; - }; - class autocannon_35mm: CannonCore { - canLock = 1; - }; - - class launch_NLAW_F: Launcher_Base_F - { - canLock = 1; - };*/ -}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/XEH_post_init.sqf b/TO_MERGE/ace/missileguidance/XEH_post_init.sqf deleted file mode 100644 index 6904ee6c47..0000000000 --- a/TO_MERGE/ace/missileguidance/XEH_post_init.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" -NO_DEDICATED; - diff --git a/TO_MERGE/ace/missileguidance/XEH_pre_init.sqf b/TO_MERGE/ace/missileguidance/XEH_pre_init.sqf deleted file mode 100644 index 8aa557f838..0000000000 --- a/TO_MERGE/ace/missileguidance/XEH_pre_init.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -PREP(rotateVectLineGetMap); -PREP(rotateVectLine); - -PREP(translateToModelSpace); -PREP(translateToWeaponSpace); - -PREP(fired); - -PREP(guidance_DAGR); -PREP(guidance_LGB); -PREP(guidance_HellfireII); -FUNC(getPosASL) = {visiblePositionASL (_this select 0)}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/config.cpp b/TO_MERGE/ace/missileguidance/config.cpp deleted file mode 100644 index 85ca535182..0000000000 --- a/TO_MERGE/ace/missileguidance/config.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "uo_sys_laser", "a3_ui_f" }; - version = VERSION; - }; -}; - -#include "CfgEventhandlers.hpp" -#include "CfgAmmo.hpp" -#include "CfgWeapons.hpp" \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_fired.sqf b/TO_MERGE/ace/missileguidance/fnc_fired.sqf deleted file mode 100644 index dd0cba4fb8..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_fired.sqf +++ /dev/null @@ -1,11 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -//_this=[TEST_AI_HELICOPTER,"missiles_DAGR","missiles_DAGR","Far_AI","M_PG_AT","24Rnd_PG_missiles",163988: rocket_01_fly_f.p3d] -TRACE_1("enter", _this); -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - -if(!local _shooter) exitWith { false }; -if(_weapon == "missiles_DAGR") then { - //_this call FUNC(guidance_DAGR); - _this call FUNC(guidance_HellfireII); -}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_guidance_DAGR.sqf b/TO_MERGE/ace/missileguidance/fnc_guidance_DAGR.sqf deleted file mode 100644 index 9e9663a859..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_guidance_DAGR.sqf +++ /dev/null @@ -1,113 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -FUNC(guidance_DIRECT_LOAL_PFH) = { - //TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _dagr = _args select 6; - _curVelocity = velocity _dagr; - - if(!alive _dagr || isNull _dagr || isNull _shooter) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _targets = [_dagr, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call uo_sys_laser_fnc_findLaserDesignator; - TRACE_2("Targets", _target, _targets); - - if((_targets select 0)) then { - _target = _targets select 1; - - // player sideChat "FUCK!"; - // drop ["\a3\data_f\Cl_basic","","Billboard",1,20,(getPos _dagr),[0,0,0],1,1.275,1.0,0.0,[5],[[1,0,0,1]],[0],0.0,2.0,"","",""]; - - - _yVec = vectorDir _dagr; - _zVec = vectorUp _dagr; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _dagrPos = getPosASL _dagr; - // player sideChat "G!"; - _targetPos = getPosASL _target; - if((count _targetPos) > 0) then { - _distanceToTarget = _dagrPos vectorDistance _targetPos; - - _addHeight = [0,0,(_dagrPos distance _targetPos)*0.02]; - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - #endif - - _targetPos = _targetPos vectorAdd _addHeight; - - _def = 0.0050; - - _targetVectorSeeker = [_dagr, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - // _targetVectorSeeker = _dagr worldToModel (ASLtoATL _targetPos); - // _targetVectorSeeker = [0,0,0] vectorFromTo _targetVectorSeeker; - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_def; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _def; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_def; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _def; - }; - }; - #ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _dagrPos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _dagrPos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _dagrPos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _dagrPos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_dagr, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - // _outVector = _dagr modelToWorld [_yaw, 1, _pitch]; - // _outVector = ATLtoASL _outVector; - _vectorTo = _dagrPos vectorFromTo _outVector; - - // hintSilent format["v: %1", _vectorTo]; - - // _dagr setVectorDir _vectorTo; - _dagr setVectorDirAndUp [_vectorTo, vectorUp _dagr]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; -}; - -FUNC(guidance_DAGR_DIRECT_LOAL) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_DIRECT_LOAL_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -_fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_DEFAULT_FIRE_SELECTION]; - -switch (_fireMode select 0) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - default { - LOG("Initiating DAGR FIREMODE_DIRECT_LOAL"); - _this call FUNC(guidance_DAGR_DIRECT_LOAL); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_guidance_HellfireII.sqf b/TO_MERGE/ace/missileguidance/fnc_guidance_HellfireII.sqf deleted file mode 100644 index 733f4bce17..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_guidance_HellfireII.sqf +++ /dev/null @@ -1,249 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" - -FUNC(guidance_Hellfire_LOAL_HI_PFH) = { - //TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _missile = _args select 6; - _curVelocity = velocity _missile; - - if(!alive _missile || isNull _missile || isNull _shooter) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _launchPos = _shooter getVariable [QGVAR(launchPos), nil]; - if(isNil "_launchPos") then { - TRACE_1("Setting launch parameters", ""); - _launchPos = getPosASL _shooter; - _shooter setVariable [QGVAR(launchPos), _launchPos, false]; - _shooter setVariable [QGVAR(launchTime), diag_tickTime, false]; - }; - - _targets = [_missile, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call uo_sys_laser_fnc_findLaserDesignator; - _addHeight = [0,0,0]; - if((_targets select 0)) then { - _target = _targets select 1; - TRACE_2("Targets", _target, _targets); - - _yVec = vectorDir _missile; - _zVec = vectorUp _missile; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _missilePos = getPosASL _missile; - // player sideChat "G!"; - _targetPos = getPosASL _target; - TRACE_4("Phase Check", _launchPos, _missilePos, _targetPos, (_missilePos distance _targetPos)); - if((count _targetPos) > 0) then { - _distanceToTarget = _missilePos vectorDistance _targetPos; - - _defPitch = 0.05; - - if((_launchPos distance _missilePos) < 400 && (_targetPos distance _missilePos) > 400) then { - _addHeight = [0,0,(_targetPos select 2) + ((_launchPos distance _targetPos)*2)]; - TRACE_1("Climb phase", _addHeight); - //_defPitch = 0.1; - } else { - // Covered half the distance, go terminal - if((_missilePos distance _targetPos) < (_launchPos distance _targetPos) / 2) then { - TRACE_1("TERMINAL", ""); - } else { - if((_missilePos select 2) > (_targetPos select 2)) then { - _heightDiff = (_missilePos select 2) - (_targetPos select 2); - TRACE_1("Coasting", _heightDiff); - _addHeight = [0,0, _heightDiff]; - }; - }; - }; - _targetPos = _targetPos vectorAdd _addHeight; - - _defYaw = 0.0035; - - - _targetVectorSeeker = [_missile, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_defYaw; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _defYaw; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_defPitch; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _defPitch; - }; - }; - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - - _light = "#lightpoint" createVehicleLocal (getPos _missile); - _light setLightBrightness 1.0; - _light setLightAmbient [1.0, 0.0, 0.0]; - _light setLightColor [1.0, 0.0, 0.0]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _missilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _missilePos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _missilePos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _missilePos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_missile, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - - _vectorTo = _missilePos vectorFromTo _outVector; - _missile setVectorDirAndUp [_vectorTo, vectorUp _missile]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; -}; - -FUNC(guidance_Hellfire_LOAL_DIR_PFH) = { - //TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _missile = _args select 6; - _curVelocity = velocity _missile; - - if(!alive _missile || isNull _missile || isNull _shooter) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _launchPos = _shooter getVariable [QGVAR(launchPos), nil]; - if(isNil "_launchPos") then { - TRACE_1("Setting launch parameters", ""); - _launchPos = getPosASL _shooter; - _shooter setVariable [QGVAR(launchPos), _launchPos, false]; - _shooter setVariable [QGVAR(launchTime), diag_tickTime, false]; - }; - - _targets = [_missile, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call uo_sys_laser_fnc_findLaserDesignator; - _addHeight = [0,0,0]; - if((_targets select 0)) then { - _target = _targets select 1; - TRACE_2("Targets", _target, _targets); - - _yVec = vectorDir _missile; - _zVec = vectorUp _missile; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _missilePos = getPosASL _missile; - // player sideChat "G!"; - _targetPos = getPosASL _target; - TRACE_4("Phase Check", _launchPos, _missilePos, _targetPos, (_missilePos distance _targetPos)); - if((count _targetPos) > 0) then { - _distanceToTarget = _missilePos vectorDistance _targetPos; - - if((_launchPos distance _missilePos) < 400 && (_targetPos distance _missilePos) > 400) then { - _addHeight = [0,0,(_targetPos select 2) + (_missilePos distance _targetPos)*0.5]; - TRACE_1("Climb phase", _addHeight); - } else { - // Covered half the distance, go terminal - if((_missilePos distance _targetPos) < (_launchPos distance _targetPos) / 2) then { - TRACE_1("TERMINAL", ""); - } else { - if((_missilePos select 2) > (_targetPos select 2)) then { - _heightDiff = (_missilePos select 2) - (_targetPos select 2); - TRACE_1("Coasting", _heightDiff); - _addHeight = [0,0, _heightDiff]; - }; - }; - }; - _targetPos = _targetPos vectorAdd _addHeight; - - _defYaw = 0.0035; - _defPitch = 0.0075; - - _targetVectorSeeker = [_missile, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_defYaw; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _defYaw; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_defPitch; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _defPitch; - }; - }; - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - - _light = "#lightpoint" createVehicleLocal (getPos _missile); - _light setLightBrightness 1.0; - _light setLightAmbient [1.0, 0.0, 0.0]; - _light setLightColor [1.0, 0.0, 0.0]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _missilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _missilePos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _missilePos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _missilePos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_missile, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - - _vectorTo = _missilePos vectorFromTo _outVector; - _missile setVectorDirAndUp [_vectorTo, vectorUp _missile]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; -}; - - -FUNC(guidance_Hellfire_LOAL_HI) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_Hellfire_LOAL_HI_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - - -FUNC(guidance_Hellfire_LOAL_DIR) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_Hellfire_LOAL_DIR_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -_fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_DEFAULT_FIRE_SELECTION]; - -switch (_fireMode select 0) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - default { - LOG("Initiating Hellfire II FIREMODE_LOAL_DIR"); - _this call FUNC(guidance_Hellfire_LOAL_HI); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_guidance_LGB.sqf b/TO_MERGE/ace/missileguidance/fnc_guidance_LGB.sqf deleted file mode 100644 index e9e8754f19..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_guidance_LGB.sqf +++ /dev/null @@ -1,109 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" - -FUNC(guidance_LGB_LOAL_PFH) = { - //TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _lgb = _args select 6; - _curVelocity = velocity _lgb; - - if(!alive _lgb) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _targets = [_lgb, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call uo_laser_fnc_findLaserDesignator; - //TRACE_2("Targets", _target, _targets); - - if((_targets select 0)) then { - _target = _targets select 1; - - // player sideChat "FUCK!"; - // drop ["\a3\data_f\Cl_basic","","Billboard",1,20,(getPos _lgb),[0,0,0],1,1.275,1.0,0.0,[5],[[1,0,0,1]],[0],0.0,2.0,"","",""]; - - - _yVec = vectorDir _lgb; - _zVec = vectorUp _lgb; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _lgbPos = getPosASL _lgb; - // player sideChat "G!"; - _targetPos = getPosASL _target; - if((count _targetPos) > 0) then { - // player sideChat format["f: %1", _targetPos]; - _addHeight = [0,0,(_lgbPos distance _targetPos)*0.06]; - // drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - _targetPos = _targetPos vectorAdd _addHeight; - - - - _def = 0.0025; - - _targetVectorSeeker = [_lgb, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - // _targetVectorSeeker = _lgb worldToModel (ASLtoATL _targetPos); - // _targetVectorSeeker = [0,0,0] vectorFromTo _targetVectorSeeker; - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_def; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _def; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_def; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _def; - }; - }; - #ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _lgbPos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _lgbPos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _lgbPos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _lgbPos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_lgb, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - // _outVector = _lgb modelToWorld [_yaw, 1, _pitch]; - // _outVector = ATLtoASL _outVector; - _vectorTo = _lgbPos vectorFromTo _outVector; - - // hintSilent format["v: %1", _vectorTo]; - - // _lgb setVectorDir _vectorTo; - _lgb setVectorDirAndUp [_vectorTo, vectorUp _lgb]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _lgbPos vectorDistance _targetPos]; - #endif - }; - }; -}; - -FUNC(guidance_LGB_LOAL) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - [FUNC(guidance_LGB_LOAL_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -_fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_DEFAULT_FIRE_SELECTION]; - -switch (_fireMode select 0) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - default { - LOG("Initiating FIREMODE_DIRECT_LOAL"); - _this call FUNC(guidance_LGB_LOAL); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_rotateVectLine.sqf b/TO_MERGE/ace/missileguidance/fnc_rotateVectLine.sqf deleted file mode 100644 index b0360cc330..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_rotateVectLine.sqf +++ /dev/null @@ -1,38 +0,0 @@ -#include "script_component.hpp" - -_map = _this select 0; -_theta = _this select 1; - -_p = _map select 0; -_p1 = _map select 1; -_p2 = _map select 2; - -_q1 = +(_map select 3); -_q2 = +(_map select 4); -_u = _map select 5; -_d = _map select 6; - -/* Step 4 */ -_q2 set[0, (_q1 select 0) * cos(_theta) - (_q1 select 1) * sin(_theta)]; -_q2 set[1, (_q1 select 0) * sin(_theta) + (_q1 select 1) * cos(_theta)]; -_q2 set[2, (_q1 select 2)]; - -/* Inverse of step 3 */ -_q1 set[0, (_q2 select 0) * _d + (_q2 select 2) * (_u select 0)]; -_q1 set[1, (_q2 select 1)]; -_q1 set[2, - (_q2 select 0) * (_u select 0) + (_q2 select 2) * _d]; - -/* Inverse of step 2 */ -if (_d != 0) then { - _q2 set[0, (_q1 select 0)]; - _q2 set[1, (_q1 select 1) * (_u select 2) / _d + (_q1 select 2) * (_u select 1) / _d]; - _q2 set[2, - (_q1 select 1) * (_u select 1) / _d + (_q1 select 2) * (_u select 2) / _d]; -} else { - _q2 = _q1; -}; - -/* Inverse of step 1 */ -_q1 set[0, (_q2 select 0) + (_p1 select 0)]; -_q1 set[1, (_q2 select 1) + (_p1 select 1)]; -_q1 set[2, (_q2 select 2) + (_p1 select 2)]; -_q1; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_rotateVectLineGetMap.sqf b/TO_MERGE/ace/missileguidance/fnc_rotateVectLineGetMap.sqf deleted file mode 100644 index fdbd6533ef..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_rotateVectLineGetMap.sqf +++ /dev/null @@ -1,37 +0,0 @@ -#include "script_component.hpp" - -private ["_p", "_theta", "_p1", "_p2", "_q1", "_q2", "_u", "_d"]; -_p = _this select 0; -_p1 = _this select 1; -_p2 = _this select 2; - -_q1 = []; -_q2 = []; -_u = []; - -/* Step 1 */ -_q1 set[0, (_p select 0) - (_p1 select 0)]; -_q1 set[1, (_p select 1) - (_p1 select 1)]; -_q1 set[2, (_p select 2) - (_p1 select 2)]; - -_u set[0, (_p2 select 0) - (_p1 select 0)]; -_u set[1, (_p2 select 1) - (_p1 select 1)]; -_u set[2, (_p2 select 2) - (_p1 select 2)]; -_u = _u call BIS_fnc_unitVector; -_d = sqrt((_u select 1)*(_u select 1) + (_u select 2)*(_u select 2)); - -/* Step 2 */ -if (_d != 0) then { - _q2 set[0, (_q1 select 0)]; - _q2 set[1, (_q1 select 1) * (_u select 2) / _d - (_q1 select 2) * (_u select 1) / _d]; - _q2 set[2, (_q1 select 1) * (_u select 1) / _d + (_q1 select 2) * (_u select 2) / _d]; -} else { - _q2 = _q1; -}; - -/* Step 3 */ -_q1 set[0, (_q2 select 0) * _d - (_q2 select 2) * (_u select 0)]; -_q1 set[1, (_q2 select 1)]; -_q1 set[2, (_q2 select 0) * (_u select 0) + (_q2 select 2) * _d]; - -[_p, _p1, _p2, _q1, _q2, _u, _d] \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_translateToModelSpace.sqf b/TO_MERGE/ace/missileguidance/fnc_translateToModelSpace.sqf deleted file mode 100644 index 1e2e930ac7..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_translateToModelSpace.sqf +++ /dev/null @@ -1,16 +0,0 @@ -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = (((_xVec vectorMultiply _x) vectorAdd (_yVec vectorMultiply _y)) vectorAdd (_zVec vectorMultiply _z)) vectorAdd _origin; - -_out; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/fnc_translateToWeaponSpace.sqf b/TO_MERGE/ace/missileguidance/fnc_translateToWeaponSpace.sqf deleted file mode 100644 index 406d81b145..0000000000 --- a/TO_MERGE/ace/missileguidance/fnc_translateToWeaponSpace.sqf +++ /dev/null @@ -1,22 +0,0 @@ -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_offset = _offset vectorDiff _origin; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = [ - ((_xVec select 0)*_x) + ((_xVec select 1)*_y) + ((_xVec select 2)*_z), - ((_yVec select 0)*_x) + ((_yVec select 1)*_y) + ((_yVec select 2)*_z), - ((_zVec select 0)*_x) + ((_zVec select 1)*_y) + ((_zVec select 2)*_z) - ]; - -_out; \ No newline at end of file diff --git a/TO_MERGE/ace/missileguidance/script_component.hpp b/TO_MERGE/ace/missileguidance/script_component.hpp deleted file mode 100644 index 7e1e641e00..0000000000 --- a/TO_MERGE/ace/missileguidance/script_component.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#define COMPONENT sys_missileguidance -#include "\x\uo\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_MISSILEGUIDANCE - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_MISSILEGUIDANCE - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_MISSILEGUIDANCE -#endif - -#include "\x\uo\Addons\main\script_macros.hpp" - -#define FIREMODE_DIRECT_LOAL 1 \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/$PBOPREFIX$ b/TO_MERGE/ace/sys_cargo/$PBOPREFIX$ deleted file mode 100644 index b279a734a5..0000000000 --- a/TO_MERGE/ace/sys_cargo/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\sys_cargo \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/ACE_readme.txt b/TO_MERGE/ace/sys_cargo/ACE_readme.txt deleted file mode 100644 index 2308056ca7..0000000000 --- a/TO_MERGE/ace/sys_cargo/ACE_readme.txt +++ /dev/null @@ -1,44 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -# # -# ADVANCED COMBAT ENVIRONMENT FILE # -# # -///////////////////////////////////////////////////////////////////////////////// - - -#===========# -| Component | -#===========# - -ace_sys_crewserved - -#================# -| Main author(s) | -#================# - -rocko - Maintenance, Configs, Dialogs - -#=================# -| Contact details | -#=================# - -Mail: rocko@dev-heaven.net -Page: http://dev-heaven.net/projects/show/ace-mod2 - - - -///////////////////////////////////////////////////////////////////////////////// -# # -# ADVANCED COMBAT ENVIRONMENT FILE # -# # -///////////////////////////////////////////////////////////////////////////////// -// // -# Copyright 2009 A.C.E MOD, ALL RIGHTS RESERVED # -// // -// This product is licensed for personal use only. Commercial distribution // -// prohibited. Military use prohibited. Use prohibited if any component // -// of this distribution removed or modified without express written consent // -// of the developer. For further licensing details please refer to the // -// End User License Agreement provided within this PBO file. // -// Any questions or comments, please contact contact@acemod.net // -// // -///////////////////////////////////////////////////////////////////////////////// diff --git a/TO_MERGE/ace/sys_cargo/CfgEventHandlers.hpp b/TO_MERGE/ace/sys_cargo/CfgEventHandlers.hpp deleted file mode 100644 index fe968e32f4..0000000000 --- a/TO_MERGE/ace/sys_cargo/CfgEventHandlers.hpp +++ /dev/null @@ -1,27 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit)); - }; -}; -class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_postInit)); - }; -}; -class Extended_Killed_EventHandlers { - class AllVehicles { - class ADDON { - killed = QUOTE(_this call FUNC(clearCargo)); - exclude[] = {"Man"}; //Exclude Animals and Humans - }; - }; -}; - -class Extended_InitPost_EventHandlers { - class AllVehicles { - class ADDON { - Init = QUOTE(if (alive (_this select 0)) then {_this call FUNC(init)}); - exclude[] = {"Man"}; //Exclude Animals and Humans - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/CfgFunctions.hpp b/TO_MERGE/ace/sys_cargo/CfgFunctions.hpp deleted file mode 100644 index 44de214529..0000000000 --- a/TO_MERGE/ace/sys_cargo/CfgFunctions.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// ----------------------------------------------------------------------------- -// Automatically generated by 'functions_config.rb' -// DO NOT MANUALLY EDIT THIS FILE! -// ----------------------------------------------------------------------------- - -class CfgFunctions { - class ACE { - class Cargo { - // ACE_fnc_canLoadCargo - class canLoadCargo { - description = "Checks if vehicle is able to load cargo"; - file = "\z\ace\Addons\sys_cargo\fnc_canLoadCargo.sqf"; - }; - // ACE_fnc_listCargo - class listCargo { - description = "Lists cargo of a vehicle."; - file = "\z\ace\Addons\sys_cargo\fnc_listCargo.sqf"; - }; - // ACE_fnc_loadCargo - class loadCargo { - description = "Load cargo into vehicles."; - file = "\z\ace\Addons\sys_cargo\fnc_loadCargo.sqf"; - }; - // ACE_fnc_unloadCargo - class unloadCargo { - description = "Unloads cargo from a vehicle."; - file = "\z\ace\Addons\sys_cargo\fnc_unloadCargo.sqf"; - }; - }; - }; -}; diff --git a/TO_MERGE/ace/sys_cargo/CfgVehicles.hpp b/TO_MERGE/ace/sys_cargo/CfgVehicles.hpp deleted file mode 100644 index df5c64a0de..0000000000 --- a/TO_MERGE/ace/sys_cargo/CfgVehicles.hpp +++ /dev/null @@ -1,89 +0,0 @@ -class CfgVehicles { - // TODO: add more cases ? - class All; - class Land; - class Man: Land { ACE_NOCARGOLOAD; }; - class LandVehicle: Land { ACE_LOAD_ONLY; }; - class Tank: LandVehicle { ACE_GEAR_ONLY; }; // Tank must be also ACE_LOAD_ONLY, because some obvious APCs like Bradley are inherited from class Tank instead of Tracked_APC - // TODO: Add exceptions for real class Tank !! - //class T72_Base: Tank - //class ZSU_Base: Tank - //class M1A1: Tank - //class T34: Tank - //class MLRS: Tank - //class 2S6M_Tunguska: Tank - //class M113_Base: Tank { ACE_LOAD_ONLY; }; - //class M2A2_Base: Tank { ACE_LOAD_ONLY; }; - //class T55_Base: Tank - //class BAF_FV510_D: Tank { ACE_LOAD_ONLY; }; - - class Tracked_APC: Tank { ACE_LOAD_ONLY; }; - class Car: LandVehicle { ACE_LOAD_ONLY; }; - //class BIS_alice_emptydoor: Car { ACE_NOCARGOLOAD; }; // FU DOOR - class PaperCar: Car { ACE_NOCARGOLOAD; }; - class Wheeled_APC: Car { ACE_LOAD_ONLY; }; - class Motorcycle: Landvehicle { ACE_CARGO_ONLY; }; - class StaticWeapon: LandVehicle { ACE_CARGO_ONLY; }; - //class StaticCanon: StaticWeapon { ACE_NOCARGOLOAD; }; - class Air; - class Helicopter: Air { ACE_LOAD_ONLY; }; - class ParachuteBase: Helicopter { ACE_NOCARGOLOAD; }; - class Plane: Air { ACE_LOAD_ONLY; }; - class Ship; - class SmallShip: Ship { ACE_LOAD_ONLY; }; - class BigShip: Ship { ACE_LOAD_ONLY; }; - class Ship_F; - class Boat_F: Ship_F { ACE_LOAD_ONLY; }; - - class Rubber_duck_base_F: Boat_F { - ACE_CARGO_ONLY; - ACE_Weight = 260; - }; - class Boat_Armed_01_base_F: Boat_F { ACE_LOAD_ONLY; }; - class Static: All { ACE_NOCARGOLOAD; }; - class Strategic; - class ReammoBox: Strategic { ACE_CARGO_ONLY; }; - class Library_WeaponHolder: Strategic { ACE_NOCARGOLOAD; }; - class WeaponHolder: ReammoBox { ACE_NOCARGOLOAD; }; - class Thing: All { ACE_NOCARGOLOAD; }; - class Wreck: Thing { ACE_NOCARGOLOAD; }; - class ACE_Object: Thing { ACE_NOCARGOLOAD; }; - - // TODO: Move to another hpp file - class thingX: Thing { ACE_NOCARGOLOAD; }; - class RoadCone_F: thingX { ACE_CARGO_ONLY; ACE_Weight = 1; }; - class FloatingStructure_F; - class RoadCone_L_F: FloatingStructure_F { ACE_CARGO_ONLY; ACE_Weight = 1; }; - - - - class ReammoBox_F: thingX { ACE_CARGO_ONLY; }; - /*class FoldChair: Thing { - ACE_CARGO_ONLY; - ACE_Weight = 1; - class Useractions { - class Sit { - displayname = "Sit"; - radius = 2; - position = "Component1"; - onlyforPlayer = 1; - condition = "alive this"; - statement= "player setPosASL getPosASL this; player setDir ((getDir this)+90); player switchMove 'ACE_CoolSit'; player call ace_sys_cargo_fnc_standup"; - }; - }; - };*/ - - // TODO: Add more stuff, like RoadCones, BarbedWire, Other small items to be carried - // Stuff that is to be CARRIED: - /* - - Arty Shells - done - - Fuel Can - done - - RoadCone -done - - Signs (TODO: Need to specify which ones) - - Barbed wire (TODO: Need rolled model to be unrolles for sys_razorwire or so) - - Sparewheel for small cars - - Suitcase - - - - Anything that comes to mind then - */ -}; diff --git a/TO_MERGE/ace/sys_cargo/Defines.hpp b/TO_MERGE/ace/sys_cargo/Defines.hpp deleted file mode 100644 index dd7d2d1b98..0000000000 --- a/TO_MERGE/ace/sys_cargo/Defines.hpp +++ /dev/null @@ -1,318 +0,0 @@ -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 -#define ST_KEEP_ASPECT_RATIO 0x800 -#define ST_TITLE ST_TITLE_BAR + ST_CENTER -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 -#define SL_TEXTURES 0x10 -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontM "PuristaMedium" -#define FontHTML "PuristaMedium" - - -class ACE_CARGO_RscBgFrame { - type=CT_STATIC; - idc=-1; - style=ST_FRAME; - colorBackground[]={0.4, 0.4, 0.4, 0.75}; - colorText[]={0, 0, 0, 1}; - font=FontM; - SizeEX=0.025; - text=""; -}; -class ACE_CARGO_RscBackground { - colorBackground[]={0.4, 0.4, 0.4, 0.75}; - text=""; - type=CT_STATIC; - idc=-1; - style=ST_LEFT; - colorText[]={1, 1, 1, 1}; - font=FontM; - sizeEx=0.04; -}; -class ACE_CARGO_RscPicture { - type=CT_STATIC; - idc=-1; - style=ST_PICTURE; - colorBackground[]={0, 0, 0, 0}; - colorText[]={1, 1, 1, 1}; - font=FontM; - sizeEx=0.02; - text=""; -}; -class ACE_CARGO_RscButton { - type=CT_BUTTON; - idc=-1; - style=ST_CENTER; - colorText[]={0, 0, 0, 1}; - font=FontHTML; - sizeEx=0.025; - soundPush[]={"", 0.2, 1}; - soundClick[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundClick",0.09,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",0.09,1}; - default=false; - text=""; - action=""; - colorActive[]={0, 0, 0, 0}; - colorDisabled[]={0, 0, 0, 0.1}; - colorBackground[]={0,0,0,0.3}; - colorBackgroundActive[]={0,0,0,0.4}; - colorBackgroundDisabled[]={0,0,0,0.3}; - colorFocused[]={0.84,1,0.55,1}; - colorShadow[]={1, 1, 1, 0.1}; - colorBorder[]={0, 0, 0, 0.1}; - offsetX=0; - offsetY=0; - offsetPressedX=0; - offsetPressedY=0; - borderSize=0; - soundEnter[]={"", 0.15, 1}; -}; -class ACE_CARGO_RscButton2:ACE_CARGO_RscButton { - x=-1.0; - y=-1.0; - idc=-1; - w=0.01; - h=0.01; - default=true; -}; -class ACE_CARGO_RscShortcutButton { - type = 16; - idc = -1; - style = 0; - default = 0; - w = 0.183825; - h = 0.104575; - color[] = {0.543,0.5742,0.4102,1}; - color2[] = {0.95,0.95,0.95,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,0.4}; - colorDisabled[] = {1,1,1,0.25}; - periodFocus = 1.2; - periodOver = 0.8; - class HitZone { - left = 0.004; - top = 0.029; - right = 0.004; - bottom = 0.029; - }; - class ShortcutPos { - left = 0.0145; - top = 0.026; - w = 0.0392157; - h = 0.0522876; - }; - class TextPos { - left = 0.05; - top = 0.034; - right = 0.005; - bottom = 0.005; - }; - animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa"; - animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\disabled_ca.paa"; - animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\over_ca.paa"; - animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\focus_ca.paa"; - animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\down_ca.paa"; - animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa"; - period = 0.4; - font = "PuristaMedium"; - size = 0.03921; - sizeEx = 0.03921; - text = ""; - soundEnter[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundEnter",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundPush",0.09,1}; - soundClick[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundClick",0.09,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",0.09,1}; - action = ""; - class Attributes { - font = "PuristaMedium"; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; - class AttributesImage { - font = "PuristaMedium"; - color = "#E5E5E5"; - align = "left"; - }; - textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)"; -}; -class ACE_CARGO_RscShortcutButtonMain: ACE_CARGO_RscShortcutButton { - type = 16; - idc = -1; - style = 0; - default = 0; - w = 0.313726; - h = 0.104575; - color[] = {0.543,0.5742,0.4102,1}; - colorDisabled[] = {1,1,1,0.25}; - colorFocused[] = {1, 1, 1, 0};//Check - colorBackgroundFocused[] = {1, 1, 1, 0};//Check - class HitZone { - left = 0; - top = 0; - right = 0; - bottom = 0; - }; - class ShortcutPos { - left = 0.0204; - top = 0.026; - w = 0.0392157; - h = 0.0522876; - }; - class TextPos { - left = 0.08; - top = 0.034; - right = 0.005; - bottom = 0.005; - }; - animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa"; - animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\disabled_ca.paa"; - animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\over_ca.paa"; - animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\focus_ca.paa"; - animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\down_ca.paa"; - animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa"; - period = 0.5; - font = "PuristaMedium"; - size = 0.03921; - sizeEx = 0.03921; - text = ""; - soundEnter[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundEnter",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundPush",0.09,1}; - soundClick[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundClick",0.09,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",0.09,1}; - action = ""; - class Attributes { - font = "PuristaMedium"; - color = "#E5E5E5"; - align = "left"; - shadow = "false"; - }; - class AttributesImage { - font = "PuristaMedium"; - color = "#E5E5E5"; - align = "false"; - }; -}; -class ACE_CARGO_RscEdit { - type=CT_EDIT; - idc=-1; - style=ST_LEFT; - font=FontHTML; - sizeEx=0.02; - colorText[]={0, 0, 0, 1}; - colorSelection[]={0.5, 0.5, 0.5, 1}; - autocomplete=false; - text=""; -}; -class ACE_CARGO_RscLB_C { - style=ST_LEFT; - idc=-1; - colorSelect[]={0.4, 0.4, 0.4, 1}; - colorSelectBackground[]={0.2, 0.2, 0.2, 1}; - colorText[]={0.2, 0.2, 0.2, 1}; - colorBackground[]={0.4, 0.4, 0.4, 1}; - font=FontHTML; - sizeEx=0.025; - rowHeight=0.04; -}; -class ACE_CARGO_RscListBox:ACE_CARGO_RscLB_C { - soundSelect[]={"", 0.1, 1}; - type=CT_LISTBOX; -}; -class ACE_CARGO_RscCombo: ACE_CARGO_RscLB_C { - sizeEx=0.02; - type=CT_COMBO; - wholeHeight=0.3; - soundSelect[]={"", 0.15, 1}; - soundExpand[]={"", 0.15, 1}; - soundCollapse[]={"", 0.15, 1}; - maxHistoryDelay = 1; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - class ScrollBar { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - }; - color[] ={0,0,0,0.6}; - colorActive[] ={0,0,0,1}; - colorDisabled[] ={0,0,0,0.3}; - colorSelectBackground[] ={0.543,0.5742,0.4102,1}; -}; -class ACE_CARGO_RscSliderH { - access=0; - type=CT_SLIDER; - idc=-1; - sizeEx=0.025; - style=1024; - color[]={0.2, 0.2, 0.2, 1}; - colorActive[]={1, 1, 1, 1}; -}; -class ACE_CARGO_RscSliderV { - access=0; - type=CT_SLIDER; - idc=-1; - sizeEx=0.025; - style=0; - color[]={0.2, 0.2, 0.2, 1}; - colorActive[]={1, 1, 1, 1}; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/Dialog.hpp b/TO_MERGE/ace/sys_cargo/Dialog.hpp deleted file mode 100644 index 4cb6e7b39f..0000000000 --- a/TO_MERGE/ace/sys_cargo/Dialog.hpp +++ /dev/null @@ -1,178 +0,0 @@ -/* ace_sys_cargo | (c) 2013 by rocko */ - -#include "Defines.hpp" - -#define __X SafeZoneX -#define __Y SafeZoneY -#define __W SafeZoneW -#define __H SafeZoneH - -#define UICOMBO 5 // LISTBOX - -class ACE_CARGOUIList { - w = 0.275; - h = 0.04; - colorSelect[] = {0.023529,0,0.0313725,1}; - colorText[] = {0.023529,0,0.0313725,1}; - colorBackground[] = {0.95,0.95,0.95,1}; - colorSelectBackground[] = {0.543,0.5742,0.4102,1}; - colorScrollbar[] = {0.023529,0,0.0313725,1}; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - wholeHeight = 0.45; - color[] = {0,0,0,0.6}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - font = "PuristaMedium"; - sizeEx = 0.029; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - maxHistoryDelay = 1; - class listScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - }; -}; - -class ACE_CARGOUIComboBox: ACE_CARGOUIList { - type = UICOMBO; - style = 0; - idc = -1; - sizeEx = 0.025; - wholeHeight = 0.3; -}; - -class ACE_CARGO_RscText { - type = CT_STATIC; - idc = -1; - style = ST_LEFT; - x = 0.0; - y = 0.0; - w = 0.3; - h = 0.03; - sizeEx = 0.023; - colorBackground[] = {0.5, 0.5, 0.5, 0.75}; - colorText[] = { 0, 0, 0, 1 }; - font = "PuristaMedium"; - text = ""; -}; - -class ACE_Cargo_List { - name="ACE_Cargo_List"; - idd=-1; - movingEnable=0; - objects[]={}; - onLoad = "uiNamespace setVariable ['ACE_Cargo_List', _this select 0];['back'] call ace_sys_cargo_fnc_onload"; - onUnload = "[ace_sys_cargo_vehicle,objnull,0,0] call ace_sys_cargo_fnc_cbusy;"; - class controlsBackground { - class BG: ACE_CARGO_RscText { - idc = -1; - type = 0; - style = 48; - x = 0.270792 * safezoneW + safezoneX; - y = 0.224911 * safezoneH + safezoneY; - w = 0.455752 * safezoneW; - h = 0.547272 * safezoneH; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {0,0,0,0}; - text = "z\ace\addons\sys_cargo\data\rsc\ace_ui_background_ca.paa"; - font = "PuristaMedium"; - sizeEx = 0.032; - }; - }; - class controls { - class Title: ACE_CARGO_RscText { - idc = 30; - x = 0.289755 * safezoneW + safezoneX; - y = 0.231139 * safezoneH + safezoneY; - w = 0.0458417 * safezoneW; - h = 0.0550178 * safezoneH; - sizeEx = 0.05; - colorBackground[] = {1, 1, 1, 0.0}; - colorText[] = {0.643, 0.5742, 0.4102, 1.0}; - text = ""; - }; - class Content: ACE_CARGOUIComboBox { - idc = 99; - text = ""; - x = 0.277061 * safezoneW + safezoneX; - y = 0.283526 * safezoneH + safezoneY; - w = 0.416083 * safezoneW; - h = 0.322891 * safezoneH; - colorSelect[] = {1, 1, 1, 1}; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {0.8,0.8,0.8,1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorScrollbar[] = {0.2, 0.2, 0.2, 1}; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - wholeHeight = 0.45; - rowHeight = 0.06; - color[] = {0.8, 0.8, 0.8, 1}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - font = "PuristaMedium"; - sizeEx = 0.035; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - maxHistoryDelay = 1; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - - class listScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - }; - //onLBSelChanged = QUOTE([_this,'back'] call FUNC(lbselchanged)); - onLBSelChanged = "[_this,'back'] call ace_sys_cargo_fnc_lbselchanged"; - }; - - class Apply_B: ACE_CARGO_RscShortcutButtonMain { - idc=10; - x = 0.451603 * safezoneW + safezoneX; - y = 0.618615 * safezoneH + safezoneY; - w = 0.103494 * safezoneW; - h = 0.0451332 * safezoneH; - size = 0.02; - sizeEx = 0.02; - text = $STR_DIAG_ACE_CARGO_UNLOAD; - //action = QUOTE([GVAR(vehicle),'back'] call FUNC(unload)); - action = "[ace_sys_cargo_vehicle,'back'] call ace_sys_cargo_fnc_unload"; - }; - - class Quit_B: Apply_B { - idc = 20; - x = 0.566379 * safezoneW + safezoneX; - text = $STR_DIAG_ACE_CARGO_CANCEL; - action = "closeDialog 0;"; - }; - }; -}; - -class ACE_CargoFront_List: ACE_Cargo_List { - name="ACE_CargoFront_List"; - onLoad = "uiNamespace setVariable ['ACE_CargoFront_List', _this select 0];['front'] call ace_sys_cargo_fnc_onload"; - class controls: controls { - class Title: Title {}; - class Content: Content { - onLBSelChanged = "[_this,'front'] call ace_sys_cargo_fnc_lbselchanged"; - }; - class Apply_B: Apply_B { - action = "[ace_sys_cargo_vehicle,'front'] call ace_sys_cargo_fnc_unload"; - }; - class Quit_B: Quit_B {}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/XEH_postInit.sqf b/TO_MERGE/ace/sys_cargo/XEH_postInit.sqf deleted file mode 100644 index ae0cc4c176..0000000000 --- a/TO_MERGE/ace/sys_cargo/XEH_postInit.sqf +++ /dev/null @@ -1,9 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -#include "script_component.hpp" - -ADDON = false; - -//["All", [ace_sys_interaction_key], 2, [QPATHTO_F(fnc_menuDef), "main"]] call CBA_ui_fnc_add; - -ADDON = true; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/XEH_preInit.sqf b/TO_MERGE/ace/sys_cargo/XEH_preInit.sqf deleted file mode 100644 index 6b5bef730b..0000000000 --- a/TO_MERGE/ace/sys_cargo/XEH_preInit.sqf +++ /dev/null @@ -1,295 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\a3\editor_f\Data\Scripts\dikCodes.h" - -#define __CONF_MAGAZINES configFile >> "CfgMagazines" -#define __CONF_WEAPONS configFile >> "CfgWeapons" - -ADDON = false; - -if (!isDedicated) then { - ["All", [ace_sys_interaction_key], 2, [QPATHTO_F(fnc_menuDef), "main"]] call CBA_ui_fnc_add; -}; - -PREP(carry); -PREP(carry2); -PREP(drag); -PREP(push); -PREP(load); -PREP(loadCargo); // Workaround -PREP(unloadCargo); // Workaround -PREP(listCargo); // Workaround -PREP(unload); -PREP(onload); -PREP(view); - -PREP(init); - -[QGVAR(setvel), {(_this select 0) setVelocity (_this select 1)}] call ACE_fnc_addReceiverOnlyEventhandler; - -// TODO: Complete rewrite needed: -/* -Function should determine wether an object can be dragged or carried or carried in pairs -Push option ONLY for boat type vehicles (to drop them back into water) - -Carrying objects should be 0 - 30 kg (Carring above 20 kilo slows you down) -Dragging should be 30 - 80 kg -Carrying in pairs should be 80 - 180 kg - -An object that can be dragged should also be able to be carried in pairs - -Everything > 180 kg, needs to be loaded and transported by another vehicle or lifted by air - -*/ - -FUNC(determineCargo) = { -// TODO: Make easier.... -// Immobile: 0 -// Carry: 1 Light objects weight exceeds no more than 20 kg!!! -// Drag: 2 Heavy objects that could not be CARRIED, weight > 15 kg < 100kg -// Push: 3 Heavy objects that could not be CARRIED or DRAGGED, weight > 100 kg! -// Carry with 2 people: 4 Heavy objects (if _type is ((2 && > 80) || (3 && < 200) && _helper) but a second player (_helper) is close ~5 meters) - -// Rev. 2: -// Carry: 1 (0-30 kg) -// Drag: 2 (30-80kg) -// Carry 2 4 (80-145kg) -// Drag OR Carry 2 5 (30-145kg and because its cool) // One override comes from CSW direct, other entities should get a special config entry (e.g ammoboxes etc) - - private ["_weight","_volume","_canDrag","_canCarry","_canPush","_type"]; - - // Calculate volume of cargo to determine weight. - PARAMS_2(_target,_method); - _volume = 0; - _weight = 0; - _canDrag = false; - _canPush = false; - _canCarry = false; - if (getNumber (configFile >> "CfgVehicles" >> typeOf _target >> "ACE_canBeCargo") == 1) then { - _weight = [_target] call FUNC(weight); - - _canCarry = (_weight < __MAXCARRYWEIGHT); - _canDrag = (!_canCarry && {(_weight + __MAXCARRYWEIGHT) <= __MAXDRAGWEIGHT}); - - TRACE_2("DC",_volume,_weight); - switch (true) do { - // PUSH for Boats - case (_target isKindOf "Zodiac" || {_target isKindOf "PBX"}): { _canDrag = false; _canPush = true; _canCarry = false; }; - case (_target isKindOf "ACE_Stretcher"): { _canDrag = false; _canPush = false; _canCarry = false; }; - }; - // Check sys_crewserved override - if (getNumber(configFile >> "CfgVehicles" >> typeOf _target >> "ACE" >>"ACE_CREWSERVED" >> "canDrag") == 1) then { - _canDrag = true; _canPush = false; _canCarry = false; - }; - if (getNumber(configFile >> "CfgVehicles" >> typeOf _target >> "ACE" >>"ACE_CREWSERVED" >> "canCarry") == 1) then { - _canDrag = true; _canPush = false; _canCarry = true; - }; - // Check if a shot mortar - if (_target getVariable ["ace_sys_arty_shoton",false]) then { - _canDrag = false; _canCarry = false; - }; - }; - - if (_canCarry && {!_canDrag} && {!_canPush}) then { _type = 1; }; - if (!_canCarry && {_canDrag} && {!_canPush}) then { _type = 2; }; - if (_canPush && {!_canDrag} && {!_canCarry}) then { _type = 3; }; - if (!_canPush && {!_canDrag} && {!_canCarry}) then { _type = 0; }; - if (!_canCarry && {!_canDrag} && {!_canPush} && {_weight <= __MAXCARRYWEIGHTBY2}) then { _type = 4; }; - if (_canCarry && {_canDrag} && {!_canPush} && {_weight <= __MAXCARRYWEIGHTBY2}) then { _type = 5; }; - - - if (_method == "set") then { - _target setVariable [QGVAR(type),_type,true]; - }; - TRACE_1("DC Carrying method",_type); - _type -}; - -FUNC(clearCargo) = { - private ["_cargolist","_cargofrontlist"]; - PARAMS_1(_vehicle); - _cargolist = [_vehicle] call ACE_fnc_listCargo; - _cargofrontlist = _vehicle getVariable [QGVAR(content_front),[]]; - if (count _cargolist < 1 && {count _cargofrontlist < 1}) exitWith {}; - { - deleteVehicle _x; - } foreach _cargolist + _cargofrontlist; - // TODO: Determine explosives loaded? Create Secondaries for loaded shells, ammoboxes, ammocans etc - // Perhaps should be called from external with explosions, sys_destruction ... - _vehicle setVariable [QGVAR(content),[],true]; - _vehicle setVariable [QGVAR(content_front),[],true]; -}; - -FUNC(determineFrontCargo) = { - PARAMS_1(_vehicle); - private ["_frontLoadingCapability","_l1","_l2","_pl1","_pl2","_pos","_chksum","_max","_cur","_capacity_full"]; - _frontLoadingCapability = true; - if !((typeOf _vehicle) isKindOf "Car") exitWith { // Only on class Car for now... - [false,true,[0,0,0]] - }; - // TODO: Get class ACE value - // Find position between frontlights - _l1 = getText(configFile >> "CfgVehicles" >> typeOf _vehicle >> "Reflectors" >> "Left" >> "selection"); - _l2 = getText(configFile >> "CfgVehicles" >> typeOf _vehicle >> "Reflectors" >> "Right" >> "selection"); - _pl1 = _vehicle selectionPosition _l1; - _pl2 = _vehicle selectionPosition _l2; - _pos = [0,(_pl1 select 1)+0.1,(_pl2 select 2)-0.4]; - _chksum = (_pos select 0)+(_pos select 1)+(_pos select 2); - // TODO: Error if model not conform or has no lights - - // Return position to attach and bool value for 2 in 1 function - if (_chksum == 0.1) then { - _frontLoadingCapability = false; - }; - //_max = getNumber(configFile >> "CfgVehicles" >> typeOf _vehicle >> "ACE" >> "ACE_CARGO" >> "FrontLoadingCapacity"); - _max = 1; - _cur = _vehicle getVariable [QGVAR(content_front),[]]; - _cur = count _cur; - _capacity_free = if (_max - _cur == 0) then {false} else {true}; - [_frontLoadingCapability,_capacity_free,_pos] -}; - -FUNC(attachToFront) = { - PARAMS_2(_cargo,_vehicle); - private ["_currentFrontCargo","_pos"]; - _pos = (_vehicle call FUNC(determineFrontCargo)) select 2; - [_cargo,"set"] call FUNC(determineCargo); - ["","","",["stop",player getVariable QGVAR(carried_object)]] call FUNC(carry); - _cargo attachTo [_vehicle,_pos,""]; - _cargo setVariable [QGVAR(attached_front),true,true]; - _currentFrontCargo = _vehicle getVariable [QGVAR(content_front),[]]; - _currentFrontCargo set [count _currentFrontCargo,_cargo]; - _vehicle setVariable [QGVAR(content_front),_currentFrontCargo]; -}; - -FUNC(detachFront) = { - PARAMS_1(_cargo); - //private "_currentFrontCargo"; - detach _cargo; - _cargo setVariable [QGVAR(attached_front),false,true]; - //_currentFrontCargo = _vehicle getVariable [QGVAR(content_front),[]]; - //if (count _currentFrontCargo < 1) exitWith {}; - //_currentFrontCargo - [_cargo]; - //_vehicle setVariable [QGVAR(content_front),_currentFrontCargo]; -}; - -// TODO: Outsource funcs to external - -// Busy func -FUNC(busy) = { - PARAMS_2(_v,_s); - if (_s == 1) then { - _v setVariable [QGVAR(busy), true, true]; - } else { - _v setVariable [QGVAR(busy), false, true]; - }; -}; - -// Easy set/reset busy states -FUNC(cbusy) = { - PARAMS_4(_v,_c,_sv,_sc); - if (_sv == 1) then { [_v,1] call FUNC(busy); } else { [_v,0] call FUNC(busy); }; - if (_sc == 1) then { [_c,1] call FUNC(busy); } else { [_c,0] call FUNC(busy); }; -}; - -// Volume stuff -FUNC(volume) = { - PARAMS_1(_target); - _bbox = boundingBox _target; - _bc = abs((_bbox select 0) select 0) + abs((_bbox select 1) select 0); - _lc = abs((_bbox select 0) select 1) + abs((_bbox select 1) select 1); - _hc = abs((_bbox select 0) select 2) + abs((_bbox select 1) select 2); - _volume = (_lc * _bc * _hc); - TRACE_1("V Volume",_volume); - _volume; -}; - -// Weight stuff -FUNC(weight) = { - PARAMS_1(_cargo); - private ["_content_weight","_w1","_w2","_volume","_baseweight","_weight"]; - _content_weight = { - PARAMS_2(_items,_type); - private ["_cargo_weight","_item"]; - _cargo_weight = 0; - _item = _items select 0; - if (count _item > 0) then { - _count = _items select 1; - for "_i" from 0 to (count _item - 1) do { - _item_x = _item select _i; - _count_x = _count select _i; - _ItemWeight = switch _type do { - case "m": { 0.075 * getNumber(__CONF_MAGAZINES >> _item_x >> "mass") }; - default { 0.075* getNumber(__CONF_WEAPONS >> _item_x >> "mass") }; - }; - _ItemWeight = _ItemWeight * _count_x; - _cargo_weight = _cargo_weight + _ItemWeight; - }; - //_cargo_weight = _cargo_weight + _cargo_weight; - }; - _cargo_weight; - }; - _w1 = [getMagazineCargo _cargo, "m"] call _content_weight; - _w2 = [getWeaponCargo _cargo, "w"] call _content_weight; - #ifdef DEBUG_MODE_FULL - diag_log format["Weight of all weapons in box: %1",_w2]; - diag_log format["Weight of all magazines in box: %1",_w1]; - #endif - _volume = _cargo call FUNC(volume); - // Check if a weight value was defined and use this prior to calculated weight - _baseweight = if (isNumber(configFile >> "CfgVehicles" >> typeOf _cargo >> "mass")) then { - 0.075 * getNumber(configFile >> "CfgVehicles" >> typeOf _cargo >> "mass"); - } else { - (_volume * 0.5); - }; - TRACE_1("W Weight",_baseweight); - _weight = _baseweight + _w1 + _w2; - _weight; -}; - -GVAR(busy) = { - _this getVariable [QGVAR(busy), false] -}; -GVAR(BOXBusy) = { - PARAMS_2(_box,_busy); - _box setVariable [QGVAR(BOXBusy), _busy == 1, true]; -}; - -FUNC(dragkeydown) = { - // Eventhandler to stop "C" key press while dragging - PARAMS_5(_control,_dikCode,_shift,_ctrl,_alt); - _dikCode_check = actionKeys "TactToggle" + actionKeys "stand" + actionKeys "prone" + actionkeys "crouch" + actionkeys "moveup" + actionkeys "movedown"; //stop standing up while dragging - (_dikCode in _dikCode_check) -}; - -FUNC(lbselchanged) = { - private ["_disp", "_ctrl","_ui"]; - PARAMS_2(_data,_location); - _ui = if (_location == "back") then { "ACE_Cargo_List" } else { "ACE_CargoFront_List" }; - _disp = uiNamespace getVariable _ui; - _ctrl = _disp displayCtrl 10; - if ((_data select 1) != -1) then { - if (!(ctrlEnabled _ctrl) && !(player in crew GVAR(vehicle) || player getVariable [QGVAR(carrying),false])) then { - _ctrl ctrlEnable true; - _ctrl ctrlCommit 0; - }; - } else { - if (ctrlEnabled _ctrl) then { - _ctrl ctrlEnable false; - _ctrl ctrlCommit 0; - }; - }; -}; - -//FUNC(respawn) = { -// (findDisplay 46) displayRemoveEventHandler ["KeyDown", GVAR(drag_keyDownEHId)]; -//}; - -//FUNC(standup) = { -// PARAMS_1(_unit); -// _unit addAction ["Stand up", QPATHTO_F(fnc_exec), _unit, 0, false, true, "", "local _target"]; -//}; - -ADDON = true; diff --git a/TO_MERGE/ace/sys_cargo/box/$PBOPREFIX$ b/TO_MERGE/ace/sys_cargo/box/$PBOPREFIX$ deleted file mode 100644 index 4f2ee63135..0000000000 --- a/TO_MERGE/ace/sys_cargo/box/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\sys_cargo\box \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/box/config.cpp b/TO_MERGE/ace/sys_cargo/box/config.cpp deleted file mode 100644 index 766b9ba034..0000000000 --- a/TO_MERGE/ace/sys_cargo/box/config.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "script_component.hpp" -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {QUOTE(MAIN_ADDON)}; - version = VERSION; - }; -}; - - diff --git a/TO_MERGE/ace/sys_cargo/box/license.txt b/TO_MERGE/ace/sys_cargo/box/license.txt deleted file mode 100644 index 7113bf4340..0000000000 --- a/TO_MERGE/ace/sys_cargo/box/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/sys_cargo/box/script_component.hpp b/TO_MERGE/ace/sys_cargo/box/script_component.hpp deleted file mode 100644 index 483522b490..0000000000 --- a/TO_MERGE/ace/sys_cargo/box/script_component.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#define COMPONENT sys_cargo_box -#define MAINCOMPONENT sys_cargo -#define SUBCOMPONENT box -#define ADDONS sys_cargo_box - -#ifdef MAINCOMPONENT - #ifdef SUBCOMPONENT - #define PATHTO_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\MAINCOMPONENT\SUBCOMPONENT\##var3.sqf - #define PATHTOF_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\MAINCOMPONENT\SUBCOMPONENT\##var3 - #define PATHTOF2_SYS(var1,var2,var3) MAINPREFIX\##var1\SUBPREFIX\MAINCOMPONENT\SUBCOMPONENT\##var3 - #endif -#endif -#include "\z\ace\addons\main\script_mod.hpp" -#include "\z\ace\addons\main\script_macros.hpp" diff --git a/TO_MERGE/ace/sys_cargo/config.cpp b/TO_MERGE/ace/sys_cargo/config.cpp deleted file mode 100644 index 8c857cfd93..0000000000 --- a/TO_MERGE/ace/sys_cargo/config.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "script_component.hpp" - -#include "\z\ace\addons\main\script_config.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "ace_common", "ace_c_vehicle", "ace_c_weapon", "ace_sys_interaction" }; - version = VERSION; - author[] = {"Rocko"}; - }; -}; - -PRELOAD_ADDONS; - -#include "CfgVehicles.hpp" -#include "CfgEventHandlers.hpp" -#include "Dialog.hpp" -#include "CfgFunctions.hpp" diff --git a/TO_MERGE/ace/sys_cargo/data/rsc/ace_ui_background_ca.paa b/TO_MERGE/ace/sys_cargo/data/rsc/ace_ui_background_ca.paa deleted file mode 100644 index a2bf2a383e..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/data/rsc/ace_ui_background_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/fnc_canLoadCargo.sqf b/TO_MERGE/ace/sys_cargo/fnc_canLoadCargo.sqf deleted file mode 100644 index 040f2af75d..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_canLoadCargo.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/* -Function: ACE_fnc_canLoadCargo - -Description: - Checks if vehicle is able to load cargo - -Parameters: - _vehicle - Vehicle to load cargo into. [Object] -Returns: - true if _vehicle is able to load cargo, otherwise false. - -Example: - (begin example) - _result = [myTruck] call ACE_fnc_canLoadCargo; - (end) - -Author: - Xeno -*/ - -#include "script_component.hpp" - -PARAMS_1(_vehicle); - -if (isNil "_vehicle" || {isNull _vehicle}) exitWith {false}; - -(getNumber(configFile >> "CfgVehicles" >> typeOf _vehicle >> "ACE_canBeLoad") == 1) \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/fnc_carry.sqf b/TO_MERGE/ace/sys_cargo/fnc_carry.sqf deleted file mode 100644 index 6aa145d305..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_carry.sqf +++ /dev/null @@ -1,153 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -#include "script_component.hpp" - -#define CARRYOFFSET 0.5 - -private["_unit","_action","_box","_pos2","_dir","_modelPos","_params","_track"]; - -if (dialog) then { closeDialog 0; }; - -if (count _this < 2) then { - _params = ["","","",["start", _this select 0]]; -} else { - _params = _this; -}; - -// TODO: Check other interactions, entering a car while carrying something, ladders, dying - -//["","",_action,["stop",_box]] spawn FUNC(carry) - -_unit = player; -_action = (_params select 3) select 0; -_box = (_params select 3) select 1; // TODO: should be (_this select 0) - -switch _action do { - case "start": { - // Monitor Roadway LOD occlusion - _track = true; - - if (_unit getVariable [QGVAR(carrying),false] || {_unit getVariable [QGVAR(dragging),false]}) exitWith { - [localize "STR_ACE_CARGO_ERR_OCC",[1,0,0,1],true,0] spawn ace_fnc_visual; - }; - if (_box getVariable [QGVAR(busy),false]) exitWith { - [localize "STR_ACE_CARGO_ERR_OCC",[1,0,0,1],true,0] spawn ace_fnc_visual; - }; - if ((_unit distance _box) <= 2.5) then { - [objnull,_box,1,1] call FUNC(cbusy); - detach _box; - _safetyCarryOffset = _box getVariable [QGVAR(carryOffsetInc),0]; - _offset = 0.6 + _safetyCarryOffset; - _box attachTo [_unit,[0,_offset,1]]; // Obs: Boxes that have a roadway lod, cause player flying into air. Need to make sure box clips into player to avoid this OR move box that far away so that roadway lod makes no contact with player (0.4 = clipping, 0.7 = outbound) - _unit setVariable [QGVAR(carrying), true, false]; - _unit setVariable [QGVAR(carried_object),_box]; // TODO: Probably should be extended to all stuff we attachto player, so it becomes tracked - _box setDir (_dir - (getDir _unit)); - _unit selectWeapon (primaryWeapon _unit); - _unit switchMove "amovpercmstpslowwrfldnon"; //"amovpercmstpslowwrfldnon_player_idlesteady03"; - _weight = [_box] call FUNC(weight); - [_unit,_weight] call INC_MASS; // TODO: Get Weight - if (_weight > 13) then { - _unit forceWalk true; - }; - // TODO: Move to config properties to automatically decide what to do with special items - - - //Ruckcratechek - if (_box isKindOf "ACE_Rucksack_crate") then { - _box setVectorDirAndUp [[-0.0204803,-0.585819,0.810183],[0.00794978,-0.810423,-0.585792]]; - _track = false; - }; - //Artyshell - if (_box isKindOf "ACE_Arty_ShellHolder") then { - _box setVariable ["ACE_ARTY_OWNER", _unit, true]; - _unit setVariable ["ACE_ARTY_CARRY_SHELL", _box, false]; - _box attachTo [_unit,[0.2,0.5,1.15]]; - _track = false; - }; - - #define ACE_TEXT_RED(Text) ("" + ##Text + "") - - // TODO: Use displayName of carriedObject if it has one.... - _carry_action = _unit addAction[ACE_TEXT_RED((localize "STR_ACE_CARGO_CARRYRELASE")),QPATHTO_F(fnc_carry),["stop",_box],-100,false,false,"","_target == player"]; - _unit setVariable [QGVAR(carrying_action_index),_carry_action]; - //GVAR(drag_keyDownEHId) = (findDisplay 46) displayAddEventHandler ["KeyDown", "_this call ace_sys_cargo_fnc_dragkeydown"]; // Add "C" key down eventhandler - _fired_i = _unit addEventHandler ["fired", {(_this select 0) setVariable ["ace_sys_cargo_forcedrop",true]}]; - _getin_i = _unit addEventhandler ["getin",{(_this select 0) setVariable ["ace_sys_cargo_forcedrop",true];}]; - _unit setVariable [QGVAR(carryFEH),_fired_i]; - _unit setVariable [QGVAR(carryGIH),_getin_i]; - _unit setVariable [QGVAR(forcedrop),false]; - _box setVariable [QUOTE(GVARMAIN(attachedBy)), QUOTE(COMPONENT), true]; - }; - - // Service Loop - while { _unit getVariable QGVAR(carrying) } do { - _bugflyHeight1 = ((getposasl _box) select 2); //diag_log format ["h1: %1",_bugflyHeight1]; - sleep 0.25; - _bugflyHeight2 = ((getposasl _box) select 2); //diag_log format ["h2: %1",_bugflyHeight2]; - _animdrop = !(weaponLowered player); // ["aidlpercmstpsraswrfldnon_idlesteady04","aidlpercmstpsraswrfldnon_aiming01","aidlpercmstpsraswrfldnon_idlesteady02","aidlpercmstpsraswrfldnon_idlesteady03","aidlpercmstpsraswrfldnon_idlesteady01","aidlpercmstpsraswrfldnon_aiming02"]; - _standing = ((_unit call CBA_fnc_getUnitAnim) select 0) in ["stand"]; - _forcedrop = _unit getVariable [QGVAR(forcedrop),false]; - // DBG - //player sidechat format ["%1 %2 %3",_animdrop,_standing,_forcedrop]; - if (!_standing || {_animdrop} || {_forcedrop}) then { ["","",0,["stop",_box]] spawn FUNC(carry) }; - _bugflyRate = (_bugflyHeight2 - _bugflyHeight1) * 4; - //player globalchat format ["%1",_bugflyRate]; - if (_track && {speed _unit == 0} && {_bugflyRate > 10}) then { - _curBoxOffset = _box getVariable [QGVAR(carryOffsetInc),0]; - _newBoxOffset = _curBoxOffset + 0.2; - _box setVariable [QGVAR(carryOffsetInc),_newBoxOffset,true]; // Set new safety carrying offset to avoid further bugging - player setposATL [(getposATL player select 0), (getposATL player select 1), 0]; - ["","",0,["stop",_box]] spawn FUNC(carry); - }; - sleep 0.25; - }; - }; - case "stop": { - if (local _unit) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - _box = (_this select 3) select 1; - - _bldg = [_unit,0.1] call ACE_fnc_inBuilding; - - _unit setVariable [QGVAR(carried_pos_end), getPosATL _unit, false]; - - - _posZ = if (_bldg) then { ((_unit modelToWorld [0,0,0]) select 2) - 0.05 } else { (getPosATL _unit) select 2 }; - _pos_end = _unit getVariable [QGVAR(carried_pos_end),(getPosATL _unit)]; - _pos_end set [0,(_pos_end select 0)+(sin (direction _unit) * 1.4)]; - _pos_end set [1,(_pos_end select 1)+(cos (direction _unit) * 1.4)]; - _pos_end set [2,_posZ]; - - detach _box; - _box setPosATL _pos_end; - - _unit setVariable [QGVAR(carried_pos_end), nil, false]; - _unit removeaction (_unit getVariable QGVAR(carrying_action_index)); - _unit setVariable [QGVAR(carrying), false, false]; - - [objnull,_box,0,0] call FUNC(cbusy); - - // Ruckcratecheck - if (_box isKindOf "ACE_Rucksack_crate") then { - _box setVectorDirAndUp [[-0.0204803,-0.585819,0.810183],[0.00794978,-0.810423,-0.585792]]; - }; - //Artyshell - if (_box isKindOf "ACE_Arty_ShellHolder") then { - _box setVariable ["ACE_ARTY_OWNER", nil, true]; - _unit setVariable ["ACE_ARTY_CARRY_SHELL", nil, false]; - }; - - _unit forceWalk false; - _weight = [_box] call FUNC(weight); - [_unit,0] call INC_MASS; // TODO: Get Weight - // Remove "C" key down eventhandler - //(findDisplay 46) displayRemoveEventHandler ["KeyDown", GVAR(drag_keyDownEHId)]; - _unit removeEventhandler ["fired",(_unit getVariable QGVAR(carryFEH))]; - _unit removeEventhandler ["getin",(_unit getVariable QGVAR(carryGIH))]; - _unit setVariable [QGVAR(carryFEH),-1]; - _unit setVariable [QGVAR(carryGIH),-1]; - _unit setVariable [QGVAR(forcedrop),false]; - _box setVariable [QUOTE(GVARMAIN(attachedBy)), "", true]; - }; -}; - -false diff --git a/TO_MERGE/ace/sys_cargo/fnc_carry2.sqf b/TO_MERGE/ace/sys_cargo/fnc_carry2.sqf deleted file mode 100644 index 9550400c23..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_carry2.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private "_var"; - -PARAMS_3(_component,_unit,_type); - -switch (_type) do { - case "CARRIER": { - if (_component getVariable [QGVAR(busy),false]) then { - [localize "STR_ACE_CARGO_ERR_OCC",[1,0,0,1],true,0] spawn ace_fnc_visual; - } else { - [_component,_unit,0,["front", "grab"]] execVM QPATHTO_C(ua_carry2.sqf); - }; - }; - case "HELPER": { - [_component,_unit,0,["back", "grab"]] execVM QPATHTO_C(ua_carry2.sqf); - }; -}; - -false diff --git a/TO_MERGE/ace/sys_cargo/fnc_drag.sqf b/TO_MERGE/ace/sys_cargo/fnc_drag.sqf deleted file mode 100644 index 466df43c21..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_drag.sqf +++ /dev/null @@ -1,106 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -#include "script_component.hpp" - -private["_unit","_action","_box","_pos2","_dir","_modelPos","_drag_action","_params","_modelPosZ"]; - -if (dialog) then { closeDialog 0; }; - -if (count _this < 2) then { - _params = ["","","",["start", _this select 0]]; -} else { - _params = _this; -}; - -_unit = player; -_action = (_params select 3) select 0; -_box = (_params select 3) select 1; // TODO: should be (_this select 0) -switch _action do { - case "start": { - if ({alive _x} count (crew _box) > 0) exitWith {}; - //if (_box call CBA_fnc_locked) exitWith {}; - if ((_unit distance _box) > 2.5) exitWith { [localize "STR_ACE_CARGO_ERR_NOWEP",[1,0,0,1],true,0] spawn ace_fnc_visual; }; - if (_unit getVariable [QGVAR(carrying),false] || {_unit getVariable [QGVAR(dragging),false]}) exitWith { - [localize "STR_ACE_CARGO_ERR_OCC",[1,0,0,1],true,0] spawn ace_fnc_visual; - }; - if (_box getVariable [QGVAR(busy),false]) exitWith { - [localize "STR_ACE_CARGO_ERR_OCC",[1,0,0,1],true,0] spawn ace_fnc_visual; - }; - if ((_unit distance _box) <= 2.5) then { - [objnull,_box,1,1] call FUNC(cbusy); - detach _box; - _unit playActionNow "grabDrag"; - _pos2 = getPosATL _box; - _dir = getDir _box; - _modelPos = _unit worldToModel _pos2; //is ATL format - if (_box isKindOf "StaticWeapon") then { - if (typeOf _box in ["ACE_M252","ACE_M224_1","ACE_2b14_82mm","ACE_120Tampella_Baseplate","ACE_120Tampella_Barrel"]) then { _modelPosZ = 0; } else { _modelPosZ = 0.8; }; - } else { _modelPosZ = 0; }; - - - - //_modelPosZ = if (typeOf _box in ["ACE_M252","ACE_M224_1","ACE_2b14_82mm"]) then { 0 }; // Argh!!1: TODO: Fix ACE mortar axis - _box attachTo [_unit,[_modelPos select 0,_modelPos select 1,_modelPosZ],""]; - _unit setVariable [QGVAR(dragging), true, false]; - _unit setVariable [QGVAR(dragged_object),_box]; // TODO: Probably should be extended to all stuff we attachto player, so it becomes tracked - _box setDir (_dir - (getDir _unit)); - //Ruckcratechek - if (_box isKindOf "ACE_Rucksack_crate") then { - _box setVectorDirAndUp [[-0.0204803,-0.585819,0.810183],[0.00794978,-0.810423,-0.585792]]; - }; - _box lock true; - #define ACE_TEXT_RED(Text) ("" + ##Text + "") - _drag_action = _unit addAction [ACE_TEXT_RED((localize "STR_ACE_CARGO_RELASE")),QPATHTO_F(fnc_drag),["stop",_box],-100,false,false,"","_target == player"]; - GVAR(drag_keyDownEHId) = (findDisplay 46) displayAddEventHandler ["KeyDown", "_this call ace_sys_cargo_fnc_dragkeydown"]; // Add "C" key down eventhandler - }; - - waitUntil { animationState _unit == "ACINPKNLMSTPSRASWRFLDNON" }; - - - _weight = ([_box] call FUNC(weight)) * sin 45; - [_unit,_weight] call INC_MASS; - - while { alive _unit && {_unit getVariable QGVAR(dragging)} } do { - sleep 0.5; - - if !(animationState _unit in ["acinpknlmstpsraswrfldnon","acinpknlmwlksraswrfldb"]) exitWith { - _unit setVariable [QGVAR(dragging), false, false]; - _unit setVariable [QGVAR(dragged_object),objNull]; - _unit switchMove "ACINPKNLMSTPSRASWRFLDNON"; - ["","",_drag_action,["stop",_box]] spawn FUNC(drag); - }; - }; - }; - case "stop": { - // Remove "C" key down eventhandler - (findDisplay 46) displayRemoveEventHandler ["KeyDown", GVAR(drag_keyDownEHId)]; - - // Dragging in building?? - _bldg = [_unit,0.1] call ACE_fnc_inBuilding; - - _box = (_this select 3) select 1; - _unit setVariable [QGVAR(dragged_pos_end), getPosATL _box, false]; - _box lock false; - _unit playAction "released"; - detach _box; - _posZ = if (_bldg) then { ((_unit modelToWorld [0,0,0]) select 2) - 0.05 } else { (getPosATL _unit) select 2 }; - _pos_end = _unit getVariable QGVAR(dragged_pos_end); - _box setPosATL [_pos_end select 0, _pos_end select 1, _posZ]; - _unit setVariable [QGVAR(dragged_pos_end), nil, false]; - _unit removeaction (_this select 2); - _unit setVariable [QGVAR(dragging), false, false]; - [objnull,_box,0,0] call FUNC(cbusy); - - // Ruckcratecheck - if (_box isKindOf "ACE_Rucksack_crate") then { - _box setVectorDirAndUp [[-0.0204803,-0.585819,0.810183],[0.00794978,-0.810423,-0.585792]]; - }; - if (_box isKindOf "StaticWeapon") then { - //_box setVariable ["ace_sys_crewserved_pitch",0,true]; - [_box] call ace_sys_crewserved_fnc_setPitch_stored; // Screwsup - }; - [_unit,0] call INC_MASS; - }; -}; - -false diff --git a/TO_MERGE/ace/sys_cargo/fnc_exec.sqf b/TO_MERGE/ace/sys_cargo/fnc_exec.sqf deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/ace/sys_cargo/fnc_init.sqf b/TO_MERGE/ace/sys_cargo/fnc_init.sqf deleted file mode 100644 index b796199983..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_init.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* ace_sys_cargo | (c) 2014 by rocko */ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -if (productVersion select 2 <= 110) exitWith {}; - -PARAMS_1(_vehicle); - -_m = getMass _vehicle; -_com = getCenterOfMass _vehicle; -_currentcontent = _vehicle getVariable [QGVAR(content), []]; -if (count _currentcontent > 0) then { - _vehicle setVariable [QGVAR(content), []]; - _error = format["You cannot bypass the loading function for (%1) - ",_vehicle]; TRACE_1("Content hack detected",""); - WARNING(_error); -}; - -_vehicle setVariable [QGVAR(mass),_m]; -_vehicle setVariable [QGVAR(comass),_com]; - -_vehicle setVariable [QGVAR(ready),true]; - diff --git a/TO_MERGE/ace/sys_cargo/fnc_listCargo.sqf b/TO_MERGE/ace/sys_cargo/fnc_listCargo.sqf deleted file mode 100644 index 044638aa65..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_listCargo.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/* -Function: ACE_fnc_listCargo - -Description: - Lists cargo of a vehicle. - -Parameters: - _vehicle - Vehicle to load cargo into. (Must exist) [Object] -Returns: - Array - -Example: - (begin example) - ["MyTruck"] call ACE_fnc_listCargo; - (end) - -Author: - rocko -*/ - -#include "script_component.hpp" - -PARAMS_1(_vehicle); - -_currentcargo = _vehicle getVariable [QGVAR(content), []]; -TRACE_1("",_currentcargo); -_currentcargo diff --git a/TO_MERGE/ace/sys_cargo/fnc_load.sqf b/TO_MERGE/ace/sys_cargo/fnc_load.sqf deleted file mode 100644 index 33e7d0c5d2..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_load.sqf +++ /dev/null @@ -1,105 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private["_unit","_action","_box","_pos2","_dir","_modelPos","_drag_action","_params","_process"]; - -if (dialog) then { closeDialog 0; }; - -PARAMS_2(_cargo,_vehicle); - -private "_dragnet"; -// Fix, when a player is dragging an object dragging doesn't stop, -_dragnet = player getVariable [QGVAR(dragging), false]; -if (_dragnet) exitWith { - (localize "STR_ACE_DRAGQUEENSTOP") spawn ace_fnc_visual; -}; -// Box is in process? -if (_cargo getVariable [QGVAR(busy),false]) exitWith { - [localize "STR_ACE_CARGO_ERR_OCC",[1,0,0,1],true,0] spawn ace_fnc_visual; -}; - -// Mexican hidden in a box? -if ({alive _x} count (crew _cargo) > 0) exitWith { (localize "STR_ACE_CARGO_ERR_MEXICO") spawn ace_fnc_visual; }; - -// Store each cargo element loaded into vehicle -_currentcontent = _vehicle getVariable [QGVAR(content), []]; -TRACE_1("Current content",_currentcontent); - -// Weight managment -// Max capacity and weight limits for the vehicle -_volume_vehicle = [_vehicle] call FUNC(volume); -_size_vehicle = sizeOf (typeOf _vehicle); -_weight_vehicle = floor (_volume_vehicle * _size_vehicle * 4); -_weight_vehicle_maxload = floor (_weight_vehicle / 5); -_weight_vehicle_current = 0; -if (count _currentcontent > 0) then { - { - private ["_w"]; - _w = [_x, 0] call FUNC(weight); - _weight_vehicle_current = _weight_vehicle_current + _w; - } foreach _currentcontent; -}; -TRACE_5("V S W Wmax Wcur",_volume_vehicle, _size_vehicle, _weight_vehicle, _weight_vehicle_maxload, _weight_vehicle_current); - -// Max capacity and weight limits for the cargo -_volume_cargo = [_cargo] call FUNC(volume); -_weight_cargo = [_cargo,0] call FUNC(weight); -TRACE_1("",_weight_cargo); - -_loading_allowed = ((_weight_vehicle_maxload - _weight_vehicle_current) >= _weight_cargo); - -TRACE_1("",_loading_allowed); -if !(_loading_allowed) exitWith { (localize "STR_ACE_CARGO_ERR_HEAVY") spawn ace_fnc_visual; }; - -//set busy state for vehicle -[_vehicle,_cargo,1,1] call FUNC(cbusy); - -if (local player) then { - #ifndef DEBUG_MODE_FULL - #define __DELAY ((50/145) * _weight_cargo) // 50 seconds to load a 145kg heavy object alone - _potHelper = (position player) nearEntities ["CaManBase",5] - [player]; - if (player in _potHelper) then { _potHelper = _potHelper - [player] }; - _time = if (count _potHelper > 0) then { __DELAY / 2 } else { __DELAY }; - - player setVariable ["ACE_PB_Result", 0]; - [_time,[localize "STR_ACE_CARGO_LOADING"],true,true] spawn ace_progressbar; - waitUntil { (player getVariable "ACE_PB_Result" != 0) }; - _process = (player getVariable "ACE_PB_Result" == 1); - player setVariable ["ACE_PB_Result", 0]; - #endif - #ifdef DEBUG_MODE_FULL - _process = true; - #endif -}; -if (!_process) exitWith { - // Reset busy state for vehicle - [_vehicle,_cargo,0,0] call FUNC(cbusy); -}; - -// Load -_newcontent = _currentcontent; -_newcontent set [count _newcontent,_cargo]; -TRACE_1("New content", _newcontent); - -_vehicle setVariable [QGVAR(content), _newcontent, true]; // Add cargo variables - -// Store loading position = unloading cargo will make the cargo appear at the same spot where it was when a player loaded it -// Relative to transporter -_cargo setVariable [QGVAR(Distance), (_cargo distance _vehicle), true]; - -// Hide _cargo -// Avoid cargo setPosing in water and accidentally killing it -_cargo_pos = getPosATL _cargo; -#ifndef DEBUG_MODE_FULL // TEST MODE TO CHECK WETHER LOADED OBJECTS ARE DELETED - detach _cargo; - //_cargo setPos [_cargo_pos select 0, _cargo_pos select 1, (_cargo_pos select 2) - 20]; - // Put stuff to [0,0,0] no matter what - _cargo setPos [0,0,0]; -#endif - -// SetVariable -[_cargo,"set"] call FUNC(determineCargo); // Using "set", so data is only stored over net if object is loaded only - -// Reset busy state for vehicle -[_vehicle,_cargo,0,0] call FUNC(cbusy); diff --git a/TO_MERGE/ace/sys_cargo/fnc_loadCargo.sqf b/TO_MERGE/ace/sys_cargo/fnc_loadCargo.sqf deleted file mode 100644 index dbc7eedc94..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_loadCargo.sqf +++ /dev/null @@ -1,81 +0,0 @@ -/* -Function: ACE_fnc_loadCargo - -Description: - Load cargo into vehicles. - -Parameters: - _cargo - Cargo object to load. (Must exist) [Array of one or more objects] - _vehicle - Vehicle to load cargo into. (Must exist) [Object] -Returns: - nothing - -Example: - (begin example) - [[myCrate1, myCrate2], myTruck] call ACE_fnc_loadCargo; - (end) - -Author: - rocko -*/ - -#include "script_component.hpp" - -PARAMS_2(_cargo,_vehicle); - -private "_error"; -{ - _preloading_allowed = true; - if (isNull _x) then { _error = format["Cargo (%1) does not exist",_x]; _preloading_allowed = false; TRACE_1("Cargo isNull",""); }; - if (isNil "_x") then { _error = format["Cargo (%1) does not exist",_x]; _preloading_allowed = false; TRACE_1("Cargo isNil",""); }; - if (isNull _vehicle) then { _error = format["Vehicle (%1) does not exist",_vehicle]; _preloading_allowed = false; TRACE_1("Vehicle isNull",""); }; - if (_x getVariable [QGVAR(busy),false]) then { _error = format["Cargo (%1) is busy",_x]; _preloading_allowed = false; TRACE_1("Cargo is busy",""); }; - if ({alive _x} count (crew _x) > 0) then { _error = format["Cargo (%1) has crew",_x]; _preloading_allowed = false; TRACE_1("Cargo is occupied",""); }; - - TRACE_1("Current cargo processed",_x); - _currentcontent = _vehicle getVariable [QGVAR(content), []]; TRACE_1("Current content",_currentcontent); - _volume_vehicle = [_vehicle] call FUNC(volume); - _size_vehicle = sizeOf (typeOf _vehicle); - _weight_vehicle = floor (_volume_vehicle * _size_vehicle * 4); - _weight_vehicle_maxload = floor (_weight_vehicle / 5); - _weight_vehicle_current = 0; - if (count _currentcontent > 0) then { - { - private ["_w"]; - _w = [_x] call FUNC(weight); - _weight_vehicle_current = _weight_vehicle_current + _w; - } foreach _currentcontent; - }; - TRACE_5("VSWWmaxWcur",_volume_vehicle, _size_vehicle, _weight_vehicle, _weight_vehicle_maxload, _weight_vehicle_current); - - _volume_cargo = [_x] call FUNC(volume); TRACE_1("",_volume_cargo); - _weight_cargo = [_x] call FUNC(weight); TRACE_1("",_weight_cargo); - _loading_allowed = ((_weight_vehicle_maxload - _weight_vehicle_current) >= _weight_cargo); TRACE_1("",_loading_allowed); - if (!_loading_allowed) then { _error = format["Weight/Volume of cargo (%1) exceeds allowed values for %2",_x,(typeOf _vehicle)]; }; - if (_loading_allowed && {_preloading_allowed}) then { - _newcontent = _currentcontent; - _newcontent set [count _newcontent,_x]; TRACE_1("New content", _newcontent); - _vehicle setVariable [QGVAR(content), _newcontent, true]; // Add cargo variables - _cargo_pos = getPosATL _x; - detach _x; - // TODO: Test enableSimulation = false; on loaded object - - //_x setPos [_cargo_pos select 0, _cargo_pos select 1, (_cargo_pos select 2) - 20]; TRACE_1("Setpos cargo item",(getPos _x)); - // Put stuff to [0,0,0] no matter what - _x setPos [0,0,0]; - - //_x spawn { // Check if cargo item is below surface - // private "_cargo_item"; - // _cargo_item = _this; - // sleep 5; - // if ((getPos _cargo_item select 2) > 0) then { - // TRACE_1("Item hiding below surface failed, setting to [0,0,0]",""); - // _cargo_item setPos [0,0,0]; // TODO: allowdamage false while on "hiding pos"?? - // }; - //}; - - [_x,"set"] call FUNC(determineCargo); - } else { - WARNING(_error); - }; -} foreach _cargo; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/fnc_menuDef.sqf b/TO_MERGE/ace/sys_cargo/fnc_menuDef.sqf deleted file mode 100644 index be911d19f9..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_menuDef.sqf +++ /dev/null @@ -1,206 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\a3\editor_f\Data\Scripts\dikCodes.h" - -private ["_menuDef", "_target", "_params", "_menuName", "_menuRsc", "_menus"]; -private ["_vehicle", "_displayNameVehicle","_exit","_nearestVehicle"]; -private ["_canDrag","_canPush"]; -private ["_weight"]; - -PARAMS_2(_target,_params); - -_menuDef = []; - -if (typeOf _target == "Weaponholder") exitWith { closeDialog 0; _menuDef }; -// Needs to be fixed in CBA if possible, objects that inherit from any class used for interaction, but should not be able to interacted with, -// e.g class Weaponholder, which inherits from Reammobox! - -_menuName = ""; -_menuRsc = "popup"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; -//----------------------------------------------------------------------------- - -// TODO: Sort functions and scripts! -// Hacked -if (_target isKindOf "ACE_Arty_AimingStakes") exitWith {_menuDef}; - - -// Only allow loading of ammoboxes atm. Later extend to different vehicles (small) or objects -_loadthing = (getNumber (configFile >> "CfgVehicles" >> typeOf _target >> "ACE_canBeLoad") == 1); -_gearthing = (getNumber (configFile >> "CfgVehicles" >> typeOf _target >> "ACE_canGear") == 1); - -// Get exceptional vehicle that can only store gear parts (used in sys_eject - weaponcheck) -// This is used to allow players access the cargo space of non-sys_cargo vehicles! -if (_gearthing) then { - _loadthing = true; -}; - -_cargothing = getNumber (configFile >> "CfgVehicles" >> typeOf _target >> "ACE_canBeCargo") == 1; -_canBeCarried = getNumber (configFile >> "CfgVehicles" >> typeOf _target >> "ACE_canBeCarried") == 1; -_onSling = _target getVariable ["ace_sys_slingload_isLoaded",false]; -TRACE_5("",_target,_loadthing,_cargothing,_gearthing,_canBeCarried); - -if !(_loadthing || {_cargothing} || {_canBeCarried}) exitWith {_menuDef}; - -#define __TMW getNumber(configFile >> "CfgVehicles" >> typeOf _vehicle >> "transportMaxWeapons") -#define __TMM getNumber(configFile >> "CfgVehicles" >> typeOf _vehicle >> "transportMaxMagazines") - -GVAR(target) = _target; - -_displayNameCargo = getText (configFile >> "CfgVehicles" >> typeOf _target >> "displayNameShort"); -if (_displayNameCargo == "") then {_displayNameCargo = typeOf _target}; - -_nearestVehicle = objNull; -if (isNull _target) then {objNull} else { - _ar = nearestObjects [_target, ["Car", "Ship", "Air","Tank"], 8]; - _filter_ar = [_ar, {_x isKindOf "ACE_JerryCan"}] call BIS_fnc_conditionalSelect; - if (count _filter_ar > 0) then { - _ar = _ar - _filter_ar; - }; - if (count _ar > 0) then { _nearestVehicle = _ar select 0 }; -}; -_nearestVehicleDistance = _target distance _nearestVehicle; // Loading distance. Should normally be relatively small -_vehicle = if (!isNull _nearestVehicle && {_nearestVehicleDistance < (2 + (_nearestVehicle call BIS_fnc_boundingCircle)/2)}) then {_nearestVehicle} else {objNull}; - -GVAR(vehicle) = _vehicle; // Set the cargo vehicle to the target, unless a different vehicle was found near - -TRACE_2("TARGET & VEHICLE",_target,_vehicle); - -_vehicleAvailable = !isNull _vehicle && {alive _vehicle}; -if (_vehicleAvailable) then { - _displayNameVehicle = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - if (_displayNameVehicle == "") then {_displayNameVehicle = typeOf _vehicle}; - TRACE_2("Found",GVAR(vehicle),_vehicleAvailable); - // Check if found vehicle has cargo capacity - if (getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "ACE_canBeLoad") != 1 || {(__TMW == 0 && {__TMM == 0})} || {_vehicle getVariable [QGVAR(busy),false]}) exitWith { - _vehicleAvailable = false; - TRACE_1("...Vehicle cannot transport anything",""); - TRACE_1("...Vehicle has no cargo space",""); - }; -}; - -// Check wether player isInFront of vehicle or behind it. - -_inFront = if !(isNull GVAR(vehicle)) then { [GVAR(vehicle),player,0.1] call ACE_fnc_inFront; } else { false }; -_currentCargo = _target getVariable [QGVAR(content),[]]; -_currentCargo_front = _target getVariable [QGVAR(content_front),[]]; -_type = [_target,"check"] call FUNC(determineCargo); - -private ["_canLoadFront","_frontLoadFree"]; -if (!isNull GVAR(vehicle)) then { - _frontLoading = GVAR(vehicle) call FUNC(determineFrontCargo); - _canLoadFront = _frontLoading select 0; - _frontLoadFree = _frontLoading select 1; -} else { - _canLoadFront = false; - _frontLoadFree = false; -}; -_isCarryingFrontLoadItem = false; -if (player getVariable [QGVAR(carrying),false]) then { - _frontCargoItem = player getVariable QGVAR(carried_object); - if (getNumber (configFile >> "CfgVehicles" >> typeOf _frontCargoItem >> "ACE_canLoadFront") == 1) then { - _isCarryingFrontLoadItem = true; - }; -}; - -// Carry in pairs stuff -// ---------------------------------- -_helperNear = false; -_helper = objNull; -if (_type in [4,5]) then { - _potHelper = (position player) nearEntities ["CaManBase",5] - [player]; - if (player in _potHelper) then { - _potHelper = _potHelper - [player]; - }; - if (count _potHelper > 0) then { - _isPlayer = false; - { - if (isplayer _x) exitWith { _helperNear = true; _helper = _x; }; /// ADD "!" to 'isplayer check' if TESTING in SP !!!!! - } foreach _potHelper; - }; -}; -// Check if component has a front carrier, so the HELP XX CARRYING option comes alive -_canBeCarriedInPairs = (isNil {_target getVariable [QGVAR(carrier_front), nil]}); - -// Check if component has a back carrier -_hasCarrierBack = (!isNil {_target getVariable [QGVAR(carrier_back), nil]}); -_hasCarrierFront = (!isNil {_target getVariable [QGVAR(carrier_front), nil]}); -// Check if component is busy, i.e about to become loaded into something -_nameCarrierFront = if (_hasCarrierFront) then { name (_target getVariable QGVAR(carrier_front)) } else { "" }; - -TRACE_4("",_canBeCarriedInPairs,_hasCarrierBack,_hasCarrierFront,_nameCarrierFront); - -GVAR(helper) = _helper; TRACE_1("",_helper); - -_menus = [ - [ - ["main", "", _menuRsc], - [ - [format [localize "STR_ACE_CARGO_CARRY",_displayNameCargo], // Carry alone - { [GVAR(target)] spawn FUNC(carry) }, - "", "", "", -1, - //1, ({alive _x} count (crew _target) == 0) && {alive _target} && {_cargothing} && {_type == 1} && {!(_target getVariable [QGVAR(attached_front),false])} && {!(player getVariable [QGVAR(carrying),false])}], - 1, _canBeCarried && {ACE_SELFINTERACTION_RESTRICTED} || {({alive _x} count (crew _target) == 0) && {alive _target} && {_cargothing} && {_type == 1} && {!(_target getVariable [QGVAR(attached_front),false])} && {!(player getVariable [QGVAR(carrying),false])} && {!_onSling} && {ACE_SELFINTERACTION_RESTRICTED}}], - - [format [localize "STR_ACE_CARGO_CARRY2",_displayNameCargo], // Carry in pairs - { [GVAR(target),player, "CARRIER"] spawn FUNC(carry2) }, - "", "", "", -1, - _helperNear, _canBeCarriedInPairs && {alive _target} && {!_hasCarrierFront} && {_cargothing} && {_type in [2,4,5]} && {!(_target getVariable [QGVAR(attached_front),false])} && {!(player getVariable [QGVAR(carrying),false])} && {!_onSling} && {ACE_SELFINTERACTION_RESTRICTED}], - - [format [localize "STR_ACE_CARGO_CARRY2_HELP",_nameCarrierFront], // Carry in pairs Help - { [GVAR(target),player, "HELPER"] spawn FUNC(carry2) }, - "", "", "", -1, - 1, _hasCarrierFront && {!_hasCarrierBack} && {alive _target} && {_cargothing} && {_type in [4,5]} && {!(_target getVariable [QGVAR(attached_front),false])} && {!(player getVariable [QGVAR(carrying),false])} && {ACE_SELFINTERACTION_RESTRICTED}], - - [localize "STR_ACE_CARGO_DRAG", // Drag - { [GVAR(target)] spawn FUNC(drag) }, - "", "", "", -1, - 1, ({alive _x} count (crew _target) == 0) && {alive _target} && {_cargothing} && {(player == vehicle player)} && {_type in [2,5]} && {!_onSling} && {ACE_SELFINTERACTION_RESTRICTED}], - - [format [localize "STR_ACE_CARGO_PUSH",_displayNameCargo], // Push - { [GVAR(target)] spawn FUNC(push) }, - "", "", "", -1, - 1, alive _target && {_cargothing} && {_type == 3} && {!_onSling} && {ACE_SELFINTERACTION_RESTRICTED}], - - [format[localize "STR_ACE_LOADCARGO", _displayNameVehicle], // Loading cargo is now only at the vehicles trunk! - {[GVAR(target),GVAR(vehicle)] spawn FUNC(load) }, - "", "", "", -1, - GVAR(vehicle) != GVAR(target) && {_type in [1,2,4,5]}, _vehicleAvailable && {_cargothing} && {alive _target} && {!_inFront} && {!(player getVariable [QGVAR(carrying),false])} && {!_onSling} && {ACE_SELFINTERACTION_RESTRICTED}], - - ["Attach in front", //TODO: localize // Attaching stuff on the front of the vehicle (looks kool but maybe useless) - {[(player getVariable QGVAR(carried_object)),GVAR(vehicle)] spawn FUNC(attachToFront) }, - "", "", "", -1, - GVAR(vehicle) != GVAR(target), _loadthing && {alive _target} && {_inFront} && {_canLoadFront} && {_isCarryingFrontLoadItem} && {_frontLoadFree} && {!_onSling} && {ACE_SELFINTERACTION_RESTRICTED}], - - [localize "STR_ACE_SHOWCARGO", // Cargo access is now only at the vehicles trunk! - { closeDialog 0; createDialog "ACE_Cargo_List" }, - "", "", "", -1, - count _currentCargo > 0, alive _target && {_loadthing} && {getPos _target select 2 < 2} && {!_inFront} && {ACE_SELFINTERACTION_RESTRICTED}], - - [localize "STR_ACE_SHOWCARGO", // Cargo access for items attached to vehicle front - { closeDialog 0; createDialog "ACE_CargoFront_List" }, - "", "", "", -1, - count _currentCargo_front > 0, alive _target && {_loadthing} && {getPos _target select 2 < 2} && {_inFront} && {ACE_SELFINTERACTION_RESTRICTED}] - ] - ] -]; - -//----------------------------------------------------------------------------- - -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this} else {""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _this, __FILE__]; -}; - -_menuDef // return value diff --git a/TO_MERGE/ace/sys_cargo/fnc_onload.sqf b/TO_MERGE/ace/sys_cargo/fnc_onload.sqf deleted file mode 100644 index fc6179826f..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_onload.sqf +++ /dev/null @@ -1,11 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_1(_location); - -TRACE_1("Dialog open ... list",_location); -[_location] call FUNC(view); - -false \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/fnc_push.sqf b/TO_MERGE/ace/sys_cargo/fnc_push.sqf deleted file mode 100644 index d4f2817473..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_push.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_1(_target); -_volume = [_target] call FUNC(volume); -_weight = [_target,_volume] call FUNC(weight); - -_push_direction = getDir player; - -_acceleration = 0.02 * _weight; - -_vel = velocity _target; -_pos = getPos _target; - -TRACE_5("",_volume,_weight,_push_direction,_acceleration,_vel); - -_new_vel = [(_vel select 0)+(sin _push_direction*_acceleration),(_vel select 1)+(cos _push_direction*_acceleration),_vel select 2]; -TRACE_1("",_new_vel); - -if (_target isKindOf "Static") then { - _new_pos = [(_pos select 0)+(sin _push_direction*(_acceleration/2)),(_pos select 1)+(cos _push_direction*(_acceleration/2)),_pos select 2]; - _target setPos _new_pos; - _target setPosATL _new_pos; -} else { - [QGVAR(setvel), [_target,_new_vel]] call ACE_fnc_receiverOnlyEvent; -}; -_target spawn { - _target = _this; - sleep 4; - [QGVAR(setvel), [_target,[0,0,0]]] call ACE_fnc_receiverOnlyEvent; - //_pos = getPos _target; - //_target setPos _pos; -}; diff --git a/TO_MERGE/ace/sys_cargo/fnc_unload.sqf b/TO_MERGE/ace/sys_cargo/fnc_unload.sqf deleted file mode 100644 index da12b7c5e7..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_unload.sqf +++ /dev/null @@ -1,85 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_2(_vehicle,_location); - -private ["_disp", "_ctrl", "_index", "_currentcontent", "_vehicle", "_cargo", "_newcontent", "_hasPlaceholder", "_placeholder", "_pos","_ui","_dir"]; - -_ui = if (_location == "back") then {"ACE_Cargo_List"} else {"ACE_CargoFront_List"}; -_disp = uiNamespace getVariable _ui; -_ctrl = _disp displayCtrl 99; - -_index = lbCurSel _ctrl; -if (_index < 0) exitWith { if (dialog) then { closeDialog 0; }; }; -if (dialog) then {closeDialog 0}; - -// Remove cargo item -_currentcontent = if (_location == "back") then { _vehicle getVariable [QGVAR(content), []] } else { _vehicle getVariable [QGVAR(content_front), []] }; -if (isNil "_currentcontent") exitWith {}; -_cargo = _currentcontent select _index; TRACE_1("Unloading _cargo",_cargo); -if (_cargo in _currentcontent) then { - _newcontent = _currentcontent - [_cargo]; - if (_location == "back") then { - TRACE_1("Unloading cargo from trunk",""); - _vehicle setVariable [QGVAR(content), _newcontent, true]; // Add cargo variables - } else { - TRACE_1("Unloading cargo from front",""); - _vehicle setVariable [QGVAR(content_front), _newcontent, true]; // Add cargo variables - [_cargo] call FUNC(detachFront); - }; - if (count _newcontent < 1) then { - _hasPlaceholder = _vehicle getVariable [QGVAR(hasPlaceholder), false]; - if (_hasPlaceholder) then { - _vehicle setVariable [QGVAR(hasPlaceholder), false, true]; // Reset placeholder variable - _placeholder = _vehicle getVariable QGVAR(POB); - detach _placeholder; - deleteVehicle _placeholder; - }; - }; - _at_player = _cargo getVariable [QGVAR(atplayer),false]; - _distance = if (_at_player) then { 1.5 } else { _cargo getVariable [QGVAR(Distance),4]; }; - if (_location == "back") then { - _dir = if (_at_player) then { getDir player + 180 } else { getDir _vehicle - 180 + (random 20) - (random 20); }; - } else { - _dir = if (_at_player) then { getDir player + 180 } else { getDir _vehicle + (random 20) - (random 20); }; - }; - _posV = if (_at_player) then { getPosATL player; } else { getPosATL _vehicle; }; - _unloadPos = [(_posV select 0) + ((sin _dir) * _distance), (_posV select 1) + ((cos _dir) * _distance),_posV select 2]; - - // TODO: Move to config properties to automatically decide what to do with special items - // Ruckcrate check - if (_cargo isKindOf "ACE_Rucksack_crate") then { - _cargo setVectorDirAndUp [[-0.0204803,-0.585819,0.810183],[0.00794978,-0.810423,-0.585792]]; - _cargo_owner = _cargo getVariable "ACE_SYS_CARGO_OWNER"; - if (_cargo_owner == name player) then { - _backpack = toArray(typeOf _cargo); - for "_x" from ((count _backpack) - 6) to ((count _backpack) - 1) do { - _backpack set [_x, nil]; - }; - _backpack = toString(_backpack); - [_cargo,player,nil,_backpack] execVM "\z\ace\addons\sys_ruck\act_TakeRuck.sqf"; - }; - }; - - if (_cargo isKindOf "StaticWeapon") then { - _cargo setVariable ["ace_sys_crewserved_pitch",0,true]; - }; - - if ([_cargo,""] call FUNC(determineCargo) == 1) then { - if !(player getVariable [QGVAR(carrying),false]) then { - [_cargo] spawn FUNC(carry); - }; - }; - if (surfaceIsWater _unloadPos) then { - _unloadPos set [2, (getPosASL player select 2)]; - _cargo setposASL _unloadPos; - } else { - _cargo setpos _unloadPos; - }; - - player reveal _cargo; -}; - -[_vehicle,objnull,0,0] call FUNC(cbusy); diff --git a/TO_MERGE/ace/sys_cargo/fnc_unloadCargo.sqf b/TO_MERGE/ace/sys_cargo/fnc_unloadCargo.sqf deleted file mode 100644 index 6924290b42..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_unloadCargo.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/* -Function: ACE_fnc_unloadCargo - -Description: - Unloads cargo from a vehicle. - -Parameters: - _cargo - Cargo object to load. (Must exist) [Array of one or more objects] - _vehicle - Vehicle to load cargo into. (Must exist) [Object] -Returns: - nothing - -Example: - (begin example) - [[myCrate1, myCrate2], myTruck] call ACE_fnc_unloadCargo; - (end) - -Author: - rocko -*/ - -#include "script_component.hpp" - -PARAMS_2(_cargo,_vehicle); -private ["_index", "_currentcontent", "_vehicle", "_cargo", "_newcontent", "_hasPlaceholder", "_placeholder", "_pos"]; - -_currentcontent = _vehicle getVariable QGVAR(content); -if (isNil "_currentcontent") exitWith {}; -{ - if (_x in _currentcontent) then { - _newcontent = _currentcontent - [_x]; - _vehicle setVariable [QGVAR(content), _newcontent, true]; // Add cargo variables - - _dir = getDir _vehicle - 180 + (random 20) - (random 20); - _posV = getPosATL _vehicle; - _unloadPos = [(_posV select 0) + ((sin _dir) * 4), (_posV select 1) + ((cos _dir) * 4),_posV select 2]; - _x setpos _unloadPos; - if (_x isKindOf "ACE_Rucksack_crate") then { - _x setVectorDirAndUp [[-0.0204803,-0.585819,0.810183],[0.00794978,-0.810423,-0.585792]]; - }; - if (_x isKindOf "StaticWeapon") then { - _x setVariable ["ace_sys_crewserved_pitch",0,true]; - }; - }; -} foreach _cargo; -[_vehicle,objnull,0,0] call FUNC(cbusy); diff --git a/TO_MERGE/ace/sys_cargo/fnc_view.sqf b/TO_MERGE/ace/sys_cargo/fnc_view.sqf deleted file mode 100644 index b06a52cada..0000000000 --- a/TO_MERGE/ace/sys_cargo/fnc_view.sqf +++ /dev/null @@ -1,65 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -private ["_disp", "_ctrl", "_currentcargo", "_item", "_typei", "_name", "_pic", "_dummy", "_weight", "_text", "_index","_ui"]; - -PARAMS_1(_location); - -// Prevent viewing of dialog if vehicle is already accessed by other player // TODO: Better not show in interaction menu -if (GVAR(target) getVariable [QGVAR(busy),false]) exitWith { - [] spawn { - sleep 0.1; - if (dialog) then { closeDialog 0 }; - [localize "STR_ACE_CARGO_ERR_OCC",[1,0,0,1],true,0] spawn ace_fnc_visual; - }; -}; - -_ui = if (_location == "back") then {"ACE_Cargo_List"} else {"ACE_CargoFront_List"}; -_disp = uiNamespace getVariable _ui; -_ctrl = _disp displayCtrl 99; -_tit = _disp displayCtrl 30; - -// Set vehicle busy to prevent multi unloading -[GVAR(target),objnull,1,1] call FUNC(cbusy); - -_currentcargo = if (_location == "back") then { GVAR(target) getVariable [QGVAR(content), []] } else { GVAR(target) getVariable [QGVAR(content_front), []] }; -lbClear _ctrl; - -if (count _currentcargo > 0) then { - _dn = getText(configFile >> "CfgVehicles" >> typeOf GVAR(target) >> "displayName"); - _tit ctrlSetText format[localize "STR_DIAG_ACE_CARGO_TITLE",_dn]; - for "_x" from 0 to (count _currentcargo) - 1 do { - _item = _currentcargo select _x; - _typei = typeOf _item; - _name = _item getVariable "ace_sys_cargo_name"; - if (isNil "_name") then { - _name = getText(configFile >> "CfgVehicles" >> _typei >> "displayName"); - }; - _pic = getText (configFile >> "cfgVehicles" >> _typei >> "icon"); - if (_pic == "" || {_pic == "iconThing"}) then { - _pic = "\ca\data\data\Unknown_object.paa"; - }; - _weight = [_item,1] call FUNC(weight); - // Disable low weight stuff - _text = if (_weight <= 5) then { - _name - } else { - format["%1 %2 kg", _name, round _weight] - }; - _index = _ctrl lbAdd _text; - _ctrl lbSetPicture [_index, _pic]; - }; - _ctrl lbSetCurSel 0; -}; - -if (player in crew GVAR(vehicle) || {count _currentcargo == 0} || {player getVariable [QGVAR(carrying),false]}) then { (_disp displayCtrl 10) ctrlEnable false; _disp displayCtrl 10 ctrlCommit 0; }; // Cannot unload from inside - -[] spawn { - while {dialog} do { - sleep 0.1; - }; - [GVAR(target),objnull,0,0] call FUNC(cbusy); -}; - - diff --git a/TO_MERGE/ace/sys_cargo/license.txt b/TO_MERGE/ace/sys_cargo/license.txt deleted file mode 100644 index 7113bf4340..0000000000 --- a/TO_MERGE/ace/sys_cargo/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/sys_cargo/script_component.hpp b/TO_MERGE/ace/sys_cargo/script_component.hpp deleted file mode 100644 index 8aabd2fc1f..0000000000 --- a/TO_MERGE/ace/sys_cargo/script_component.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#define COMPONENT sys_cargo -#include "\z\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_sys_cargo - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_sys_cargo - #define DEBUG_SETTINGS DEBUG_SETTINGS_sys_cargo -#endif - -#include "\z\ace\addons\main\script_macros.hpp" - -// #define JERRYCAN_M ACE_JerryCan_M_15 -#define JERRYCAN_W ACE_JerryCan_Dummy_15 -#define JERRYCAN_V ACE_JerryCan_15 - -#define SPARETYRE_W ACE_Spare_Tyre_Dummy -#define SPARETYRE_V ACE_Spare_Tyre - -#define __MAXCARRYVOLUME 0.7 -#define __MAXCARRYWEIGHT 30 //20 -#define __MAXCARRYWEIGHTBY2 145 //200 -#define __MAXDRAGVOLUME 1.5 -#define __MAXDRAGWEIGHT 80 //100 -#define __MAXPUSHVOLUME 3.2 -#define __MAXPUSHWEIGHT 120 -#define __MAXLOADVOLUME 1.7 //ccm -#define __MAXLOADWEIGHT 200 \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/slingload/$PBOPREFIX$ b/TO_MERGE/ace/sys_cargo/slingload/$PBOPREFIX$ deleted file mode 100644 index 7a4828212a..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\sys_cargo\slingload \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/slingload/CfgEventhandlers.hpp b/TO_MERGE/ace/sys_cargo/slingload/CfgEventhandlers.hpp deleted file mode 100644 index d21e1e0f0f..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/CfgEventhandlers.hpp +++ /dev/null @@ -1,6 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit)); - clientInit = QUOTE(call COMPILE_FILE(XEH_preClientInit)); - }; -}; diff --git a/TO_MERGE/ace/sys_cargo/slingload/CfgMagazines.hpp b/TO_MERGE/ace/sys_cargo/slingload/CfgMagazines.hpp deleted file mode 100644 index 84bd5f1ae2..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/CfgMagazines.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#define __MASS 0.94 -class CfgMagazines { - class CA_Magazine; - class ACE_Rope_MRL: CA_Magazine { // Base - scope = 1; - displayName = $STR_DN_ACE_ROPE_MRL; - picture = QPATHTO_T(data\equip\m_rope_ca.paa); - model = QPATHTO_M(m_ace_rope.p3d); - type = "3 * 256"; - ammo = "FakeAmmo"; - count = 1; - initSpeed = 0; - maxLeadSpeed = 0; - nameSound = "mine"; - ACE_Weight = 2; // Diameter: 40 mm , Weight: 94 kg / 100 m - ACE_Size = 400; - ACE_NoPack = 1; // Not packable - ACE_SlingRope = 1; - descriptionShort = ""; - }; - class ACE_Rope_M5: ACE_Rope_MRL { - scope = 2; - displayName = $STR_DN_ACE_ROPE_M5; - ACE_Size = 64; - ACE_Weight = 14.3256; - }; -}; diff --git a/TO_MERGE/ace/sys_cargo/slingload/CfgVehicles.hpp b/TO_MERGE/ace/sys_cargo/slingload/CfgVehicles.hpp deleted file mode 100644 index 9794e96d46..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/CfgVehicles.hpp +++ /dev/null @@ -1,101 +0,0 @@ -class CfgVehicles { - class Thing; - class ACE_Slingrope_L: Thing { - scope = 1; - animated = 0; - displayName = ""; - model=QPATHTO_M(ace_slingrope_L.p3d); - destructype = "Destructno"; - cost = 0; - armor = 999999; - ace_slingrope=1; - XEH_DISABLED; - }; - - class ACE_Slingrope_M: ACE_Slingrope_L { - model=QPATHTO_M(ace_slingrope_M.p3d); - ace_slingrope=1; - }; - - class ACE_Slingrope_P: ACE_Slingrope_L { - model=QPATHTO_M(ace_slingrope_P.p3d); - ace_slingrope=1; - }; - - class ACE_Slingrope: ACE_Slingrope_L { - model=QPATHTO_M(ace_slingrope.p3d); - ace_slingrope=1; - }; - - // GeoLifter points - // Max Load - // Vehicle Weight - // TODO: Correct values - class Air; - class Helicopter: Air { ACE_canLift = 0; }; - class Plane: Air { ACE_canLift = 0; }; - /*class UH60_Base; - class MH60S: UH60_Base { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0,1.54,-5.1}}; - ACE_MaxLoad = 5886; - ACE_Weight = 5224; - }; - class UH60M_US_base_EP1; - class UH60M_EP1: UH60M_US_base_EP1 { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0,1.25,-5.25}}; - ACE_MaxLoad = 5886; - ACE_Weight = 5224; - }; - class UH1_Base: Helicopter { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0,-4.3,-4.9}}; - ACE_MaxLoad = 3000; - ACE_Weight = 5370; - }; - class UH1H_Base: Helicopter { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0,1.2,-4.8}}; - ACE_MaxLoad = 3000; - ACE_Weight = 5370; - }; - class MV22: Plane { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0,0,-5.9}}; - ACE_MaxLoad = 6800; - ACE_Weight = 15000; - }; - class Mi24_Base: Helicopter { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{-0.1,2.5,-5.2}}; - ACE_MaxLoad = 2600; - ACE_Weight = 11000; - }; - class Mi17_base: Helicopter { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0,1.9,-5.5}}; - ACE_MaxLoad = 5900; - ACE_Weight = 7100; - }; - class CH47_base_EP1: Helicopter { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0,0,-5.6}}; - ACE_MaxLoad = 10000; - ACE_Weight = 12000; - }; - class AH6_Base_EP1; - class MH6J_EP1: AH6_Base_EP1 { - ACE_canLift = 0; - ACE_GeoLifterAttachment[] = {{0,-0.8,0.5}}; - ACE_MaxLoad = 1000; - ACE_Weight = 3370; - }; - /// BAFF - class BAF_Merlin_HC3_D: Helicopter { - ACE_canLift = 1; - ACE_GeoLifterAttachment[] = {{0.2,2.5,-4.9}}; - ACE_MaxLoad = 6000; - ACE_Weight = 11000; - };*/ -}; diff --git a/TO_MERGE/ace/sys_cargo/slingload/CfgWeapons.hpp b/TO_MERGE/ace/sys_cargo/slingload/CfgWeapons.hpp deleted file mode 100644 index db6ec69286..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/CfgWeapons.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class CfgWeapons { - class Default; - class Put: Default { - class ACE_Dummy_Utility; - class ace_sys_ravlifter: ACE_Dummy_Utility { - magazines[] = { - "ACE_Rope_MRL","ACE_Rope_M5" - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/slingload/XEH_preClientInit.sqf b/TO_MERGE/ace/sys_cargo/slingload/XEH_preClientInit.sqf deleted file mode 100644 index 6b9c90e91b..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/XEH_preClientInit.sqf +++ /dev/null @@ -1,13 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; -LOG(MSG_INIT); - -PREP(addAction); - -[QGVAR(wh), {player reveal _this}] call CBA_fnc_addEventHandler; -[QGVAR(action), {_this call FUNC(addaction)}] call CBA_fnc_addEventhandler; - -[["LandVehicle","Air","Boat","Thing","StaticWeapon","Reammobox"], [ace_sys_interaction_key], 6, [QPATHTO_F(fnc_menuDef), "main"]] call CBA_ui_fnc_add; - -ADDON = true; diff --git a/TO_MERGE/ace/sys_cargo/slingload/XEH_preInit.sqf b/TO_MERGE/ace/sys_cargo/slingload/XEH_preInit.sqf deleted file mode 100644 index 7c785f3063..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/XEH_preInit.sqf +++ /dev/null @@ -1,12 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; -LOG(MSG_INIT); - -PREP(hasropemag); - -PREP(attachSlingRopeToHelicopter); -PREP(attachSlingRopeToCargo); -PREP(detachSlingRopeFromCargo); - -ADDON = true; diff --git a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope.p3d b/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope.p3d deleted file mode 100644 index 23aa8836d3..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope.p3d and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_L.p3d b/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_L.p3d deleted file mode 100644 index 78d0661760..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_L.p3d and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_M.p3d b/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_M.p3d deleted file mode 100644 index 4e06c0a803..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_M.p3d and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_P.p3d b/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_P.p3d deleted file mode 100644 index 02334c7ea8..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/ace_slingrope_P.p3d and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/config.cpp b/TO_MERGE/ace/sys_cargo/slingload/config.cpp deleted file mode 100644 index b9ba9dfed7..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/config.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[]= { - "ACE_Slingrope_L", - "ACE_Slingrope_M", - "ACE_Slingrope_P", - "ACE_Slingrope" - }; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { - "ace_common","ace_c_weapon", "ace_sys_interaction" - }; - version = VERSION; - author[] = {"Rocko"}; - }; - - // Backwards - class ace_sys_ravlifter { - units[]= {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {QUOTE(MAIN_ADDON)}; - version = VERSION; - }; -}; - -PRELOAD_ADDONS; - -#include "CfgVehicles.hpp" -#include "CfgEventhandlers.hpp" -#include "CfgMagazines.hpp" -#include "CfgWeapons.hpp" - - diff --git a/TO_MERGE/ace/sys_cargo/slingload/data/Anilla.paa b/TO_MERGE/ace/sys_cargo/slingload/data/Anilla.paa deleted file mode 100644 index 530dd1cc34..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/data/Anilla.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/data/ace_rope_co.paa b/TO_MERGE/ace/sys_cargo/slingload/data/ace_rope_co.paa deleted file mode 100644 index 94f934a57a..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/data/ace_rope_co.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/data/equip/m_rope_ca.paa b/TO_MERGE/ace/sys_cargo/slingload/data/equip/m_rope_ca.paa deleted file mode 100644 index 096a14cdfb..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/data/equip/m_rope_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/data/metal8.paa b/TO_MERGE/ace/sys_cargo/slingload/data/metal8.paa deleted file mode 100644 index c7987e2e81..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/data/metal8.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/data/soga.paa b/TO_MERGE/ace/sys_cargo/slingload/data/soga.paa deleted file mode 100644 index 1bbd1d5500..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/data/soga.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/fnc_addAction.sqf b/TO_MERGE/ace/sys_cargo/slingload/fnc_addAction.sqf deleted file mode 100644 index 0d7b49b926..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/fnc_addAction.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -#define ACE_TEXT_RED(Text) ("" + ##Text + "") - -private ["_helicopter", "_currentAction"]; - -_helicopter = _this; -_currentAction = _helicopter getVariable [QGVAR(cutAction), -1]; - -// Prevent double action -if (_currentAction != -1) then { _helicopter removeAction _currentAction }; - -_action_cut = _helicopter addaction [ACE_TEXT_RED(localize "STR_UA_ACE_RELEASESLING"), QPATHTO_F(ua_release_cargo),_helicopter,99,true,true,"","(driver _target) in _target"]; // err, driver target should always be in target :P -_helicopter setVariable [QGVAR(cutAction), _action_cut]; diff --git a/TO_MERGE/ace/sys_cargo/slingload/fnc_attachSlingRopeToCargo.sqf b/TO_MERGE/ace/sys_cargo/slingload/fnc_attachSlingRopeToCargo.sqf deleted file mode 100644 index 48d935d55c..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/fnc_attachSlingRopeToCargo.sqf +++ /dev/null @@ -1,23 +0,0 @@ -#include "script_component.hpp" - -PARAMS_1(_cargo); - -if (GVAR(disabled)) exitWith { - _cargo spawn { - private "_magHolder"; - sleep 2; - _magHolder = "WeaponHolder" createVehicle [0,0,0]; - _magholder addMagazineCargoGlobal ["ACE_Rope_M5", 1]; - [QGVAR(wh), _magHolder] call CBA_fnc_globalEvent; - _magHolder setPos [((position _this) select 0) + 2, ((position _this) select 1) + 2, 0]; - }; -}; - -player playmove "AinvPknlMstpSlayWrflDnon_medic"; -sleep 5; -player removeMagazine "ACE_Rope_M5"; -_cargo setVariable [QGVAR(hasSlingRope), true, true]; - -// TODO: Process - -// TODO: Visual attached sling rope to cargo, to indicate something is prepared. diff --git a/TO_MERGE/ace/sys_cargo/slingload/fnc_attachSlingRopeToHelicopter.sqf b/TO_MERGE/ace/sys_cargo/slingload/fnc_attachSlingRopeToHelicopter.sqf deleted file mode 100644 index 42c77dbe43..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/fnc_attachSlingRopeToHelicopter.sqf +++ /dev/null @@ -1,116 +0,0 @@ -#include "script_component.hpp" - -PARAMS_2(_cargo,_helicopter); - -//TODO: Check if helicopter is already filled with cargo aka soldiers, if so, make sling rope break if speed > 50 -// Cargo becomes damaged and slingrope unuseable - -// TODO: Cargo limits -// TODO: Move to process.sqf ? -_crew = crew _helicopter; -_passengers = []; -{ - if ((assignedVehicleRole _x) select 0 == "CARGO") then { - _passengers set [count _passengers, _x]; - }; -} foreach _crew; -//_passenger_weight = 80 * count _passengers; - -private["_cable","_pp","_reduction","_rel","_slingrope_type"]; - -_bboxHelicopter = boundingBox _helicopter; -_bh = abs((_bboxHelicopter select 0) select 2) + (abs((_bboxHelicopter select 1) select 2) * 1.2); -_lh = abs((_bboxHelicopter select 0) select 0) + abs((_bboxHelicopter select 1) select 0); -_hh = abs((_bboxHelicopter select 0) select 1) + abs((_bboxHelicopter select 1) select 1); -_volumeH = _lh * _bh * _hh; - -_bboxCargo = boundingBox _cargo; -_bc = abs((_bboxCargo select 0) select 0) + abs((_bboxCargo select 1) select 0); -_lc = abs((_bboxCargo select 0) select 1) + abs((_bboxCargo select 1) select 1); -_hc = abs((_bboxCargo select 0) select 2) + abs((_bboxCargo select 1) select 2); -_volumeC = _lc * _bc * _hc; - -_tope = 16; -_abort = false; - -// Find the correct sling rope model -if (_volumeC > 0.001) then { - _rel = _volumeH / _volumeC; - if (_rel >= _tope) then { - _slingrope_type = switch (true) do { - case(_volumeC < 150): {1}; - case (_volumeC < 200): {2}; - default {2}; - }; - if (_rel < 20) then { - _slingrope_type = 1; - _volumeC = (_lc * 100) / _bc; - if (_volumeC > 100) then {_volumeC = _volumeC - 100}; - if (_volumeC > 20) then {_slingrope_type = 2}; - }; - } else { _slingrope_type = 2; }; -}; - -if (_abort) exitWith { - _msg1 = "An error occured with the slingload feature."; - hint _msg1; - #ifdef DEBUG_MODE_FULL - _msg2 = format ["H: %1 C: %2", typeOf _helicopter, typeOf _cargo]; - LOG(_msg1); LOG(_msg2); - #endif -}; - -// Execute the lift - -_Obx = 0; -_Oby = 0; -_Obz = 0; - -_dist = -(_helicopter distance _cargo); -_cargo attachTo [_helicopter, [0,0, _dist + 0]]; -_dir = direction _cargo - direction _helicopter; - -if ("Air" counttype [_cargo] > 0) then { _dir = 0; }; -if ("Ship" counttype [_cargo] > 0) then { _dir = 0; }; -if ("Landvehicle" counttype [_cargo] > 0) then { _dir = 0;_slingrope_type = 1; }; -if ("Motorcycle" counttype [_cargo] > 0) then { _slingrope_type = 1; }; - -_center = getArray(configFile >> "CfgVehicles" >> typeOf _helicopter >> "ACE_GeoLifterAttachment") select 0; -_cx = _center select 0; -_cy = _center select 1; -_cz = _center select 2; - -switch (_slingrope_type) do { - case 1: { - _cable = "ACE_Slingrope_L" createvehicle [0,0,0]; - _cable attachto [_helicopter, [_cx + 0.02,_cy - 0.1,_cz + 0.4]]; - _helicopter setvariable [QGVAR(slingrope), _cable,true]; - _pp = _cable selectionposition "Anclaje"; - _cargo attachto [_cable, [_pp select 0, _pp select 1, _pp select 2]]; - _cargo attachto [_cable, [_Obx+(_pp select 0), _Oby+(_pp select 1), _Obz+(_pp select 2)]]; - _cargo setdir _dir; _cargo setpos getpos _cargo; - _reduction = 1.0025; - }; - case 2: { - _cable = "ACE_Slingrope_M" createvehicle [0,0,0]; - _cable attachto [_helicopter, [_cx,_cy,_cz]]; - _helicopter setvariable [QGVAR(slingrope),_cable,true]; - _pp = _cable selectionposition "Anclaje"; - _cargo attachto [_cable, [_Obx+(_pp select 0), _Oby+(_pp select 1), _Obz+(_pp select 2) + 0.5]]; - _cargo setdir _dir; _cargo setpos getpos _cargo; - _reduction = 1.0050; - }; -}; - -// Set variables -_helicopter setVariable [QGVAR(isTransporting),true,true]; -_helicopter setVariable [QGVAR(cargoHeight),(_cargo modeltoworld [0,0,0]) select 2,true]; -_helicopter setVariable [QGVAR(cargo),_cargo,true]; - -// Visual for helicopter -localize "STR_UA_ACE_CARGOHELIHOOKED" spawn ace_fnc_visual; - -[_helicopter, _reduction, _cargo] spawn COMPILE_FILE(process); // Main process loop // TODO: Evaluate some more events for this - -// Add CUT action for driver of helicopter -[QGVAR(action), _helicopter] call CBA_fnc_globalEvent; diff --git a/TO_MERGE/ace/sys_cargo/slingload/fnc_detachSlingRopeFromCargo.sqf b/TO_MERGE/ace/sys_cargo/slingload/fnc_detachSlingRopeFromCargo.sqf deleted file mode 100644 index 5605c01d48..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/fnc_detachSlingRopeFromCargo.sqf +++ /dev/null @@ -1,8 +0,0 @@ -#include "script_component.hpp" - -PARAMS_1(_cargo); - -player playmove "AinvPknlMstpSlayWrflDnon_medic"; -sleep 5; -player addMagazine "ACE_Rope_M5"; -_cargo setVariable [QGVAR(hasSlingRope), false, true]; diff --git a/TO_MERGE/ace/sys_cargo/slingload/fnc_hasropemag.sqf b/TO_MERGE/ace/sys_cargo/slingload/fnc_hasropemag.sqf deleted file mode 100644 index 98a50e5ff5..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/fnc_hasropemag.sqf +++ /dev/null @@ -1,9 +0,0 @@ -private ["_r"]; - -#include "script_component.hpp" - -_r = ""; -{ - if (getNumber(configFile >> "CfgMagazines" >> _x >> "ACE_SlingRope") == 1) exitWith {_r = _x}; -} forEach magazines player; -_r \ No newline at end of file diff --git a/TO_MERGE/ace/sys_cargo/slingload/fnc_menuDef.sqf b/TO_MERGE/ace/sys_cargo/slingload/fnc_menuDef.sqf deleted file mode 100644 index 521bfcc194..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/fnc_menuDef.sqf +++ /dev/null @@ -1,117 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\a3\editor_f\Data\Scripts\dikCodes.h" - -private ["_menuDef", "_target", "_params", "_menuName", "_menuRsc", "_menus"]; - -PARAMS_2(_target,_params); - -if (isNil "_target") exitWith {}; -if (isNull _target) exitWith {}; - -if (typeOf _target == "Weaponholder") exitWith { closeDialog 0 }; -// Needs to be fixed in CBA if possible, objects that inherit from any class used for interaction, but should not be able to interacted with, -// e.g class Weaponholder, which inherits from Reammobox! - -_menuName = ""; -_menuRsc = "popup"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; - -//----------------------------------------------------------------------------- -#define __ADD_SLING (localize "STR_UA_ACE_ATTACHROPECARGO") -#define __REM_SLING (localize "STR_UA_ACE_DETACHROPECARGO") -#define __ADD_SLING_HELI (localize "STR_UA_ACE_ATTACHROPECARGOHELI") - -_displayNameCargo = getText (configFile >> "CfgVehicles" >> typeOf _target >> "displayName"); -if (_displayNameCargo == "") then { _displayNameCargo = typeOf _target; }; - -if (_target isKindOf "StaticShip") then {_target = objNull}; // disable LHD, which is a "building"/"strategic"/"StaticShip" - -if (isNull _target) exitWith {}; - -_cargoHasSlingRope = _target getVariable [QGVAR(hasSlingRope), false]; -_cargoIsLoaded = _target getVariable [QGVAR(isLoaded), false]; -_cargoIsEmpty = ({alive _x} count crew _target == 0); -_cargoIsAttachedToSomethingElse = (_target getVariable ["ace_puller_attached",false]); // || _cargo getVariable ["",false]) // TODO: sys_maintenance_towing // TODO: set a more global var then system specific -_playerHasSlingRope = ("ACE_Rope_M5" in magazines player); - -_playerInCargo = vehicle player != player && {player in (vehicle _target)}; -TRACE_5("",_cargoHasSlingRope,_cargoIsLoaded,_cargoIsEmpty,_playerHasSlingRope,_playerInCargo); - -private["_helicopter"]; -_nearestHelicopter = if (isNull _target) then {objNull} else {nearestObject [_target, "Helicopter"]}; -_nearestHelicopterDist = _target distance _nearestHelicopter; -_helicopter = if (!(isNull _nearestHelicopter) && {isEngineOn _nearestHelicopter} && {_nearestHelicopterDist < 11}) then { _nearestHelicopter; } else { objNull; }; // If helicopter is flying and distance to cargo < minDist -// TODO: Might get fuzzy with the fucking LHD crap carrier - -_helicopterAvailable = (alive _helicopter && {!isNull _helicopter}); -TRACE_1("",_helicopterAvailable); - -_displayNameHelicopter = ""; -_helicopterCanLift = false; -_helicopterIsTransporting = true; // true, Failsafe #1 - -if (_helicopterAvailable) then { - _displayNameHelicopter = getText (configFile >> "CfgVehicles" >> typeOf _helicopter >> "displayName"); - if (_displayNameHelicopter == "") then { _displayNameHelicopter = typeOf _helicopter; }; - - _helicopterIsTransporting = _helicopter getVariable [QGVAR(isTransporting), false]; - _helicopterCanLift = (getNumber(configFile >> "CfgVehicles" >> typeOf _helicopter >> "ACE_canLift") == 1); - - TRACE_1("",_displayNameHelicopter); - TRACE_1("",_helicopterIsTransporting); - TRACE_1("",_helicopterCanLift); -}; - -_disable = _helicopter getVariable [QUOTE(ACE_Slingload_Rule),[]]; -if (typeOf _target in _disable) exitWith { - (localize "STR_DN_ACE_HOOKERBLOCKAGE") spawn ACE_fnc_visual; -}; - -_weight = getNumber(configFile >> "CfgVehicles" >> typeOf _helicopter >> "ACE_MaxLoad") > _target call ace_sys_cargo_fnc_weight; // TODO: Alternative mass and/or ACE_Weight - -GVAR(targets) = [_target,_helicopter]; - -// Attach sling rope to x -_menus = -[ - [ - ["main", _displayNameCargo, _menuRsc], - [ - // Attach sling rope to cargo - [__ADD_SLING, - { [(GVAR(targets) select 0)] spawn FUNC(attachSlingRopeToCargo) }, - "", "", "", DIK_N, 1, alive _target && {!_cargoHasSlingRope} && {_playerHasSlingRope} && {!_playerInCargo} && {ACE_SELFINTERACTION_RESTRICTED}], - // Detach sling rope from cargo - [__REM_SLING, - { [(GVAR(targets) select 0)] spawn FUNC(detachSlingRopeFromCargo) }, - "", "", "", DIK_N, 1, alive _target && {_cargoHasSlingRope} && {!_cargoIsLoaded} && {!_playerInCargo} && {ACE_SELFINTERACTION_RESTRICTED}], - // Attach sling rope to helicopter - [format[(__ADD_SLING_HELI+"%1"), (if (_nearestHelicopterDist < 15) then {format[" %1m", (round ((_target distance _nearestHelicopter)*10))/10]} else {""})], - { GVAR(targets) spawn FUNC(attachSlingRopeToHelicopter) }, - "", "", "", DIK_G, - _cargoIsEmpty && {!_cargoIsAttachedToSomethingElse} && {(_helicopterAvailable || {!isNull _nearestHelicopter})} && {!_helicopterIsTransporting} && {_helicopterCanLift} && {_weight}, - alive _target && {_cargoHasSlingRope} && {!_cargoIsLoaded} && {!_playerInCargo} && {ACE_SELFINTERACTION_RESTRICTED}] - ] - ] -]; - -//----------------------------------------------------------------------------- -_menuDef = []; -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this} else {""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _params, __FILE__]; -}; - -_menuDef // return value diff --git a/TO_MERGE/ace/sys_cargo/slingload/license.txt b/TO_MERGE/ace/sys_cargo/slingload/license.txt deleted file mode 100644 index 7113bf4340..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/sys_cargo/slingload/m_ace_rope.p3d b/TO_MERGE/ace/sys_cargo/slingload/m_ace_rope.p3d deleted file mode 100644 index 61f471e1c6..0000000000 Binary files a/TO_MERGE/ace/sys_cargo/slingload/m_ace_rope.p3d and /dev/null differ diff --git a/TO_MERGE/ace/sys_cargo/slingload/process.sqf b/TO_MERGE/ace/sys_cargo/slingload/process.sqf deleted file mode 100644 index f82027e842..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/process.sqf +++ /dev/null @@ -1,27 +0,0 @@ -#include "script_component.hpp" - -PARAMS_3(_helicopter,_reduc,_cargo); - -/* Would be nice to have the rope animated in such way, that the slingrope between cargo and helicopter changes in length/look etc. -// Set heliocopter higher to align attached load with ground level -_z_cargo = getPosASL _cargo; -_z_helicopter = getPosASL _helicopter; -_z_diff = (_z_helicopter select 2) - (_z_cargo select 2); -_helicopter setPosASL [(_z_helicopter select 0),(_z_helicopter select 1), (_z_helicopter select 2) + _z_diff]; -*/ - -// TODO: Local ? -if (local driver _helicopter) then { - while {(_helicopter getvariable QGVAR(isTransporting)) && {canmove _helicopter} && {alive _helicopter} && {alive driver _helicopter}} do { - _helicopter setvelocity [ - ((velocity _helicopter) select 0)/_reduc, - ((velocity _helicopter) select 1)/_reduc, - ((velocity _helicopter) select 2) - ]; - // TODO: Track damage of cargo and helicopter = Cargo can be shot from slingload - // TODO: Cargo collision - // TODO: Landing event - - sleep 0.05; - }; -}; diff --git a/TO_MERGE/ace/sys_cargo/slingload/script_component.hpp b/TO_MERGE/ace/sys_cargo/slingload/script_component.hpp deleted file mode 100644 index 047543d5ce..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/script_component.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#define MAINCOMPONENT sys_cargo -#define SUBCOMPONENT slingload - -#define COMPONENT DOUBLES(MAINCOMPONENT,SUBCOMPONENT) -#define ADDONS COMPONENT - -#ifdef MAINCOMPONENT - #ifdef SUBCOMPONENT - #define PATHTO_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\MAINCOMPONENT\SUBCOMPONENT\##var3.sqf - #define PATHTOF_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\MAINCOMPONENT\SUBCOMPONENT\##var3 - #define PATHTOF2_SYS(var1,var2,var3) MAINPREFIX\##var1\SUBPREFIX\MAINCOMPONENT\SUBCOMPONENT\##var3 - #endif -#endif -#include "\z\ace\addons\main\script_mod.hpp" -#include "\z\ace\addons\main\script_macros.hpp" diff --git a/TO_MERGE/ace/sys_cargo/slingload/ua_release_cargo.sqf b/TO_MERGE/ace/sys_cargo/slingload/ua_release_cargo.sqf deleted file mode 100644 index 6b35dcde97..0000000000 --- a/TO_MERGE/ace/sys_cargo/slingload/ua_release_cargo.sqf +++ /dev/null @@ -1,78 +0,0 @@ -#include "script_component.hpp" - -_helicopter = _this select 3; - -_cargo = _helicopter getvariable QGVAR(cargo); -_altobj = _helicopter getvariable QGVAR(cargoHeight); - -_helicopter setvariable [QGVAR(isTransporting), false, true]; -_helicopter setvariable [QGVAR(cargoHeight), 0]; -_helicopter setvariable [QGVAR(cargo), objnull]; - -// TODO: playsound >clonk< - -// Sling rope is still attached to the cargo - -detach (_helicopter getVariable QGVAR(slingrope)); -detach _cargo; -deleteVehicle (_helicopter getVariable QGVAR(slingrope)); // Delete physical rope object - -_helicopter setVariable [QGVAR(slingrope), objnull]; - -_helicopter removeAction (_helicopter getvariable QGVAR(cutAction)); -_helicopter setVariable [QGVAR(cutAction), -1]; - -if ((getpos _cargo) select 2 < 2) then { - _altfinal = ((getposASL _cargo) select 2) - ((getpos _cargo) select 2); - _cargo setposASL [getpos _cargo select 0, getpos _cargo select 1, _altfinal]; -} else { - _vel = velocity _helicopter; - _retro = _vel select 2; - _altant = (getpos _cargo) select 2; - _cargo setvelocity [_vel select 0, _vel select 1, -1]; - _helicopter setvelocity [_vel select 0, _vel select 1, _retro]; - - _dam = 0.00; - _delay = 0.01; - - sleep 0.25; - - _static = (_cargo isKindOf "Static"); - if (!_static) then { - if ((getpos _cargo select 2) == _altant) then { - _static = true; - }; - }; - - _pos = getPos _cargo; - - // TODO: Possible cause for statics staying in the air? - while {(position _cargo select 2) > 0} do { - if (_dam < 1) then {_dam = _dam + _delay}; - if (_static) then {_cargo setpos [_pos select 0, _pos select 1, (getpos _cargo select 2) - 0.25]}; - sleep _delay; - }; - if (_static) then {_cargo setpos [_pos select 0, _pos select 1, 0]}; - _cargo setdamage (damage _cargo + _dam); -}; - -_cargo setVariable [QGVAR(isLoaded),false,true]; - -// Create slingrope next to cargo object -_cargo spawn { - private ["_magHolder"]; - sleep 2; - _magHolder = "WeaponHolder" createVehicle [0,0,0]; - _magholder addMagazineCargoGlobal ["ACE_Rope_M5", 1]; - [QGVAR(wh), _magHolder] call CBA_fnc_globalEvent; - _magHolder setPos [((position _this) select 0)+2, ((position _this) select 1)+2,0]; -}; -_cargo setVariable [QGVAR(hasSlingRope), false, true]; - -// Unlock -if (_cargo call CBA_fnc_locked) then { - _lockedBefore = _cargo getVariable [QGVAR(locked), false]; - if !(_lockedBefore) then { - [QGVAR(lock), [_cargo, false]] call CBA_fnc_globalEvent; - }; -}; diff --git a/TO_MERGE/ace/sys_cargo/ua_carry2.sqf b/TO_MERGE/ace/sys_cargo/ua_carry2.sqf deleted file mode 100644 index 66e515dd6d..0000000000 --- a/TO_MERGE/ace/sys_cargo/ua_carry2.sqf +++ /dev/null @@ -1,192 +0,0 @@ -/* ace_sys_cargo | (c) 2010,2011 by rocko */ - -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -#define ACE_TEXT_RED(Text) ("" + ##Text + "") - -PARAMS_4(_component,_unit,_id,_ar); - -_position = _ar select 0; -_action = _ar select 1; -if (_component == _unit) then { - _component = _ar select 2; -}; - -TRACE_3("",_position,_action,_component); - -if (isNil QUOTE(FUNC(sease))) then { - FUNC(ease) = { - private "_unit"; - _unit action ["WeaponOnBack", _unit]; - }; -}; - -if (isNil QUOTE(FUNC(sdrop))) then { - FUNC(sdrop) = { - PARAMS_1(_component); - private ["_carrier_front","_carrier_back"]; - _carrier_front = _component getVariable QGVAR(carrier_front); - _carrier_front removeAction GVAR(drop_action); - _carrier_back = _component getVariable QGVAR(carrier_back); - detach _carrier_back; - detach _component; - _component setPosATL [getPos _component select 0, getPos _component select 1, 0]; - _carrier_front setVariable [QGVAR(monitoring),false,true]; - - _component setVariable [QGVAR(carrier_front), nil, true]; - _component setVariable [QGVAR(carrier_back), nil, true]; - TRACE_1("Dropping component",""); - _component setVelocity [0,0,0]; - - { - //_x setVariable ["ace_sys_stamina_mass",0,true]; // The function is bullshit - but why? - [_x,0] call INC_MASS; - _x removeEventhandler ["fired",(_x getVariable QGVAR(carryFEH))]; - _x removeEventhandler ["getin",(_x getVariable QGVAR(carryGIH))]; - _x setVariable [QGVAR(carryFEH),-1]; - _x setVariable [QGVAR(carryGIH),-1]; - _x setVariable [QGVAR(forcedrop),false]; - _x forceWalk false; - _x forceWalk false; - } foreach [_carrier_front,_carrier_back]; - [objnull,_component,0,0] call FUNC(cbusy); - }; -}; - -switch (toLower _action) do { - case "grab": { // GRAB ACTION - switch (toLower _position) do { - case "front": { - _unit setDir direction _component; // Front position is "driver" - _attachPos = if (count getArray(configFile >> "CfgVehicles" >> typeOf _component >> "attachPosFront") > 0) then { - getArray(configFile >> "CfgVehicles" >> typeOf _component >> "attachPosFront") - } else { [0,-0.5,0.5] }; - _component attachTo [_unit, _attachPos, ""]; // Attach component to front carrier - _component setVariable [QGVAR(carrier_front), _unit, true]; // SetVariable front carrier onto component - [objnull,_component,1,1] call FUNC(cbusy); - - // Add "drop" action, GLOBAL, since we handle player only - GVAR(drop_action) = _unit addAction [ - ACE_TEXT_RED((localize "STR_ACE_CARGO_CARRYRELASE")), - "\z\ace\addons\sys_cargo\ua_carry2.sqf", - ["", "drop",_component], - -1,false,true,"","" - ]; // 0 - target, 1 - caller, 2 - id , 3 - ar=[0 - "", 1 - action] - - if (local _unit) then { - _unit setVariable [QGVAR(monitoring), true]; - }; - //_unit call FUNC(ease); // Put weapon on back while carrying in pairs - - // Stamina Boost on taking knee + pushing loaded stretcher up - _weight = ([_component] call FUNC(weight))/2; - [_unit,_weight] call INC_MASS; - //_unit setVariable ["ace_sys_stamina_mass",_weight,false]; // TODO: Fix weight - _fired_i = _unit addEventHandler ["fired", {(_this select 0) setVariable ["ace_sys_cargo_forcedrop",true]}]; - _getin_i = _unit addEventhandler ["getin",{(_this select 0) setVariable ["ace_sys_cargo_forcedrop",true];}]; - _unit setVariable [QGVAR(carryFEH),_fired_i]; - _unit setVariable [QGVAR(carryGIH),_getin_i]; - _unit setVariable [QGVAR(forcedrop),false]; - }; - case "back": { // Back position is following - _attachPos = if (count getArray(configFile >> "CfgVehicles" >> typeOf _component >> "attachPosRear") > 0) then { - getArray(configFile >> "CfgVehicles" >> typeOf _component >> "attachPosRear") - } else { [0,-0.5,0.5] }; - _unit attachTo [(_component getVariable QGVAR(carrier_front)),_attachPos,""]; // Attach helper to the front carrier - _component setVariable [QGVAR(carrier_back), _unit, true]; // SetVariable back carrier to component - - // Stamina Boost on taking knee + pushing loaded stretcher up - _weight = ([_component] call FUNC(weight))/2; - [_unit,_weight] call INC_MASS; - //_unit setVariable ["ace_sys_stamina_mass",_weight,false]; - _fired_i = _unit addEventHandler ["fired", {(_this select 0) setVariable ["ace_sys_cargo_forcedrop",true]}]; - _getin_i = _unit addEventhandler ["getin",{(_this select 0) setVariable ["ace_sys_cargo_forcedrop",true];}]; - _unit setVariable [QGVAR(carryFEH),_fired_i]; - _unit setVariable [QGVAR(carryGIH),_getin_i]; - _unit setVariable [QGVAR(forcedrop),false]; - }; - }; - }; - case "drop": { // Drop action - _component call FUNC(sdrop); - }; -}; - -TRACE_1("",(_unit getVariable QGVAR(monitoring))); - -// Monitoring script for the front carrier -if (_position == "front") then { - _count = 0; - while { _unit getVariable QGVAR(monitoring) } do { // CALLED WHEN USING GRAB ONLY ! - - TRACE_1("While running",""); - - _carrier_front = _component getVariable QGVAR(carrier_front); - _carrier_back = _component getVariable QGVAR(carrier_back); - - // Check for front carrier, when there is no back carrier within 10 seconds, front carrier drops stretcher again - if (_count > 8 && {isNil "_carrier_back"}) then { - _component call FUNC(sdrop); - //_carrier_front removeAction GVAR(drop_action); - if (local _carrier_front) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - TRACE_1("Dropping: No helper",""); - }; - - // Check if the front carrier entered a vehicle! TODO - - // While none of the carriers is dead or unconscious nothing happens - if !(alive _carrier_front) then { - _component call FUNC(sdrop); - TRACE_1("Frontcarrier dead",""); - }; - if !(alive _carrier_back) then { - _component call FUNC(sdrop); - TRACE_1("Backcarrier dead",""); - }; - - // Too fast - if ((velocity _carrier_front call ACE_fnc_magnitude) > 5.51) then { - _component call FUNC(sdrop); - if (local _carrier_front) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - TRACE_1("Too fast",""); - }; - - // TODO: Carrier front and back are unconsciousnes (i.e back carriers is unconscious and would be dragged in stretcher) - // TODO: Wrong animation: Taking out Binocular, Raising weapon (combat ready), taking a knee, going prone - // Allow tacticool movement for carrying CSWs - _dropConditionAnim = if (_component isKindOf "StaticWeapon") then { ["stand","kneel"] } else { ["stand"] }; - if !(((_carrier_front call CBA_fnc_getUnitAnim) select 0) in _dropConditionAnim) then { - _component call FUNC(sdrop); - if (local _carrier_front) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - TRACE_1("Wrong animation",""); - }; - if !(((_carrier_back call CBA_fnc_getUnitAnim) select 0) in _dropConditionAnim) then { - _component call FUNC(sdrop); - if (local _carrier_back) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - TRACE_1("Wrong animation Backcarrier",""); - }; - - // TODO: Anything else not allowed, firing, entering vehicles, climbing up ladders - // Ladders - if ((animationState _carrier_front) in ["ladderrifleon","laddercivilon"]) then { - _component call FUNC(sdrop); - if (local _carrier_front) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - TRACE_1("Wrong animation: LADDER",""); - }; - //_dropConditionAnim2 = (animationState _unit) in ["aidlpercmstpsraswrfldnon_idlesteady04","aidlpercmstpsraswrfldnon_aiming01","aidlpercmstpsraswrfldnon_idlesteady02","aidlpercmstpsraswrfldnon_idlesteady03","aidlpercmstpsraswrfldnon_idlesteady01","aidlpercmstpsraswrfldnon_aiming02"]; - //if ((animationState _carrier_front) in _dropConditionAnim2) then { - // _component call FUNC(sdrop); - // if (local _carrier_front) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - //}; - //if ((animationState _carrier_back) in _dropConditionAnim2) then { - // _component call FUNC(sdrop); - // if (local _carrier_back) then { localize "STR_ACE_CARGO_DROPPED" call ace_fnc_visual; }; - //}; - - sleep 1; - INC(_count); - }; - _unit setVariable [QGVAR(monitoring),false]; - TRACE_1("Carrying aborted",""); -}; diff --git a/TO_MERGE/ace/sys_maptools/$PBOPREFIX$ b/TO_MERGE/ace/sys_maptools/$PBOPREFIX$ deleted file mode 100644 index 31623dfb0a..0000000000 --- a/TO_MERGE/ace/sys_maptools/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\sys_maptools \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/ACE_readme.txt b/TO_MERGE/ace/sys_maptools/ACE_readme.txt deleted file mode 100644 index b2389c1453..0000000000 --- a/TO_MERGE/ace/sys_maptools/ACE_readme.txt +++ /dev/null @@ -1,56 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////// -# # -# ADVANCED COMBAT ENVIRONMENT FILE # -# # -///////////////////////////////////////////////////////////////////////////////// - - -#===========# -| Component | -#===========# - -ace_sys_maptools - -#================# -| Main author(s) | -#================# - -Nou - -#===============# -| Local credits | -#===============# - -Nou - -#=============================# -| Rough component description | -#=============================# - - - -#=================# -| Contact details | -#=================# - - -Page: http://dev-heaven.net/projects/show/ace-mod2 - - - -///////////////////////////////////////////////////////////////////////////////// -# # -# ADVANCED COMBAT ENVIRONMENT FILE # -# # -///////////////////////////////////////////////////////////////////////////////// -// // -# Copyright 2009 A.C.E MOD, ALL RIGHTS RESERVED # -// // -// This product is licensed for personal use only. Commercial distribution // -// prohibited. Military use prohibited. Use prohibited if any component // -// of this distribution removed or modified without express written consent // -// of the developer. For further licensing details please refer to the // -// End User License Agreement provided within this PBO file. // -// Any questions or comments, please contact contact@acemod.net // -// // -///////////////////////////////////////////////////////////////////////////////// diff --git a/TO_MERGE/ace/sys_maptools/CfgEventhandlers.hpp b/TO_MERGE/ace/sys_maptools/CfgEventhandlers.hpp deleted file mode 100644 index 8eacbe5b6b..0000000000 --- a/TO_MERGE/ace/sys_maptools/CfgEventhandlers.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_preClientInit)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_postClientInit)); - }; -}; diff --git a/TO_MERGE/ace/sys_maptools/XEH_postClientInit.sqf b/TO_MERGE/ace/sys_maptools/XEH_postClientInit.sqf deleted file mode 100644 index 486e473fd3..0000000000 --- a/TO_MERGE/ace/sys_maptools/XEH_postClientInit.sqf +++ /dev/null @@ -1,54 +0,0 @@ -#include "script_component.hpp" - -/* - * Get Key Configs - */ - -if (!GVAR(Enabled)) exitwith {}; - -[QGVAR(data), {_this call FUNC(handleData)}] call ACE_fnc_addReceiverOnlyEventhandler; -[QGVAR(execcopy), {_this spawn FUNC(beginCopy)}] call ACE_fnc_addReceiverOnlyEventhandler; - -FUNC(beginCopy) = { - private ["_complete", "_sendCount", "_count", "_line"]; - PARAMS_2(_target,_copier); - _complete = true; - - _sendCount = (count GVAR(RulerLines)); - if (_target == player) then { - [QGVAR(data), [_copier, _sendCount]] call ACE_fnc_receiverOnlyEvent; - _count = 0; - { - _line = _x; - if !(isNil "_x") then { - if ((_copier distance player) > 1.5) exitWith { - _complete = false; - }; - [QGVAR(data), [_copier, _x]] call ACE_fnc_receiverOnlyEvent; - sleep .25; - }; - _count = _count + 1; - if (_count > _sendCount) exitWith { - _complete = true; - }; - } forEach(GVAR(RulerLines)); - [QGVAR(data), [_copier, _complete]] call ACE_fnc_receiverOnlyEvent; - }; -}; - -_this spawn { - while {true} do { - if (scriptDone GVAR(IconScalerPID)) then { - waitUntil {sleep 1; !isNull (findDisplay 12)}; - ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["MouseButtonClick", '[_this] call FUNC(ClickHandler)']; - ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["KeyDown", '[_this, true] call FUNC(KeyBoardHandler)']; - ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["KeyUp", '[_this, false] call FUNC(KeyBoardHandler)']; - ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["mouseButtonDown", '[_this, true] call FUNC(MouseHandler)']; - ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["mouseButtonUp", '[_this, false] call FUNC(MouseHandler)']; - ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["mouseMoving", '_this call FUNC(DragHandler)']; - - GVAR(IconScalerPID) = [_this] spawn FUNC(IconScaler); - }; - sleep 2; - }; -}; diff --git a/TO_MERGE/ace/sys_maptools/XEH_preClientInit.sqf b/TO_MERGE/ace/sys_maptools/XEH_preClientInit.sqf deleted file mode 100644 index b25243ad3e..0000000000 --- a/TO_MERGE/ace/sys_maptools/XEH_preClientInit.sqf +++ /dev/null @@ -1,53 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; - -PREP(KeyBoardHandler); -PREP(ClickHandler); -PREP(IconScaler); -PREP(DragHandler); -PREP(MouseHandler); -PREP(OverObject); -PREP(FreeHandLine); -PREP(EndFreehandLine); -PREP(SelectLine); -PREP(DeSelectLine); -PREP(DeleteLine); -PREP(StraightLine); -PREP(EndStraightLine); -PREP(handleData); -PREP(copymap); - -GVAR(Enabled) = true; -GVAR(MouseDown) = false; -GVAR(DragOK) = false; -GVAR(OffDrag) = false; -GVAR(LastDragPosition) = []; -GVAR(RulerStartPos) = []; -GVAR(MouseShift) = false; -GVAR(LastDragAzimuth) = -1000; -GVAR(MapLineNumber) = 0; -GVAR(MapLineSegmentStart) = [0, 0, 0]; -GVAR(MapLineColor) = 0; -GVAR(MapPreviousDir) = 0; -GVAR(RulerKeyDown) = -1000; -GVAR(RemoteLinesCount) = 0; -GVAR(UpHandlerFnc) = {}; -GVAR(LineSegment) = 0; -GVAR(LastLineSegment) = []; -GVAR(FreeHandLines) = []; -GVAR(LineColors) = ["ColorBlack", "ColorBlue", "ColorBrown", "ColorGreen", "ColorRed", "ColorKhaki", "ColorPink", "ColorYellow", "ColorWhite"]; -GVAR(SelectedLine) = ""; -GVAR(SelectedType) = -1; -GVAR(RulerLines) = []; -GVAR(CopyNumber) = 0; -GVAR(CurrentTarget) = nil; -GVAR(CopyNumber) = 0; -GVAR(CopyTotal) = 0; -GVAR(LocalTransmitChannel) = -1; -GVAR(DragAction) = ""; -GVAR(IconScalerPID) = _this spawn {}; - -["CAManBase", [ace_sys_interaction_key], -2, [QPATHTO_F(fnc_copymap_menuDef), "main"]] call CBA_ui_fnc_add; - -ADDON = true; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/ace_maptools.p3d b/TO_MERGE/ace/sys_maptools/ace_maptools.p3d deleted file mode 100644 index 854e8e4374..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/ace_maptools.p3d and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/config.cpp b/TO_MERGE/ace/sys_maptools/config.cpp deleted file mode 100644 index f3cb310b42..0000000000 --- a/TO_MERGE/ace/sys_maptools/config.cpp +++ /dev/null @@ -1,111 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = { "ACE_Map_Tools" }; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"A3_UI_F", "ace_common", "ace_sys_interaction"}; - version = VERSION; - author[] = {"Noubernou"}; - class ACE_Options { // ACE Options - group = "ITEMS"; - title = $STR_ACE_MAPTOOLS_NAME; // Empty (WITH A SPACE IN BETWEEN!!!!!) if no CAPTION TEXT is wanted - class place_ruler { // Points to CBA Events, e.g for the keypress registered within CBA - title = $STR_ACE_MAPTOOLS_PLACERULER; - }; - class align_ruler { - title = $STR_ACE_MAPTOOLS_ALIGNRULER; - }; - class start_drawing { - title = $STR_ACE_MAPTOOLS_STARTDRAWING; - }; - class end_straight_line { - title = $STR_ACE_MAPTOOLS_ENDSTRAIGHTLINE; - }; - class delete_line { - title = $STR_ACE_MAPTOOLS_DELETELINE; - }; - }; - }; -}; - -PRELOAD_ADDONS; - -class CfgMarkers { - class Empty; - class FlatCompass: Empty { - name="Flat Compass"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = true; - }; - class FlatCompass50: FlatCompass { - name="Flat Compass 50%"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass_50.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = true; - }; - class FlatCompass25: FlatCompass { - name="Flat Compass 25%"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass_25.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = true; - }; - class FlatCompass12: FlatCompass { - name="Flat Compass 12.5%"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass_12.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = true; - }; - class FlatCompassRose: Empty { - name="Flat Compass Rose"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass_rose.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = false; - }; - class FlatCompassRose50: FlatCompassRose { - name="Flat Compass Rose 50%"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass_rose_50.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = false; - }; - class FlatCompassRose25: FlatCompassRose { - name="Flat Compass Rose 25%"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass_rose_25.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = false; - }; - class FlatCompassRose12: FlatCompassRose { - name="Flat Compass Rose 12.5"; - icon=QUOTE(PATHTOF(data\rsc\flat_compass_rose_12.paa)); - color[]={1,1,1,1.000000}; - size=32; - shadow = false; - }; -}; - -class CfgWeapons { - class ItemCore; - class ACE_Map_Tools: ItemCore { - scope = 2; - displayName = "$STR_ACE_MAPTOOLS_NAME"; - class ItemInfo { - mass = 1; - type = 401; - }; - model = QPATHTO_M(ace_maptools.p3d); - picture = QPATHTO_T(data\equip\w_maptools_ca.paa); - descriptionShort = "$STR_ACE_MAPTOOLS_NAME"; - ACE_NOARMORY; - }; -}; - -#include "CfgEventhandlers.hpp" diff --git a/TO_MERGE/ace/sys_maptools/data/equip/w_maptools_ca.paa b/TO_MERGE/ace/sys_maptools/data/equip/w_maptools_ca.paa deleted file mode 100644 index 7d554f4638..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/equip/w_maptools_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass.paa deleted file mode 100644 index 8bff5b23a0..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_12.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_12.paa deleted file mode 100644 index 837634e6cf..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_12.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_25.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_25.paa deleted file mode 100644 index ca48fbaf15..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_25.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_50.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_50.paa deleted file mode 100644 index 15eaed1387..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_50.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose.paa deleted file mode 100644 index cd1bf19f72..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_12.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_12.paa deleted file mode 100644 index 9133c7f431..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_12.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_25.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_25.paa deleted file mode 100644 index a28d8a11b3..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_25.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_50.paa b/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_50.paa deleted file mode 100644 index 58273c02ef..0000000000 Binary files a/TO_MERGE/ace/sys_maptools/data/rsc/flat_compass_rose_50.paa and /dev/null differ diff --git a/TO_MERGE/ace/sys_maptools/fnc_ClickHandler.sqf b/TO_MERGE/ace/sys_maptools/fnc_ClickHandler.sqf deleted file mode 100644 index 67329100f2..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_ClickHandler.sqf +++ /dev/null @@ -1,164 +0,0 @@ -///////////////////////////////////////////////////// -// ruler.sqf -// by nou -// -// please see the documentation in add_ruler.sqf -// -// There is a lot of things that should be documented in here -// but I do not have the time right now. It is pretty easy to -// follow though. I hope! ;) -///////////////////////////////////////////////////// -#include "script_component.hpp" -if (inITEMS("ACE_Map_Tools",player)) then { - disableSerialization; - _params = _this select 0; - - _ctrlId = _params select 0; - _mouseBtnId = _params select 1; - _scrX = _params select 2; - _scrY = _params select 3; - _shiftBtn = _params select 4; - _ctrlBtn = _params select 5; - _altBtn = _params select 6; - - _colors = GVAR(LineColors); - - _pos = _ctrlId ctrlMapScreenToWorld [_scrX, _scrY]; - _offSet = 543*2; - - - if(GVAR(RulerKeyDown) != -1000) then { - switch(GVAR(RulerKeyDown)) do { - case (["CBA","events","ace_sys_maptools","Place_Ruler","key"] call ace_settings_fnc_getNumber): { - _startPos = _pos; - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRuler)); - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRose)); - - GVAR(RulerStartPos) = _pos; - - _marker = createMarkerLocal [QUOTE(DOUBLES(ADDON,compassRuler)), [_startPos select 0, ((_startPos select 1)+_offSet)]]; - _marker setMarkerTypeLocal "FlatCompass"; - - _markerRose = createMarkerLocal [QUOTE(DOUBLES(ADDON,compassRose)), [_startPos select 0, ((_startPos select 1)+(_offSet))]]; - _markerRose setMarkerTypeLocal "FlatCompassRose"; - GVAR(MapPreviousDir) = 0; - }; - case (["CBA","events","ace_sys_maptools","Align_Ruler","key"] call ace_settings_fnc_getNumber): { - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRuler)); - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRose)); - _startPos = GVAR(RulerStartPos); - - _marker = createMarkerLocal [QUOTE(DOUBLES(ADDON,compassRuler)), [_startPos select 0, ((_startPos select 1)+_offSet)]]; - _marker setMarkerTypeLocal "FlatCompass"; - - _markerRose = createMarkerLocal [QUOTE(DOUBLES(ADDON,compassRose)), [_startPos select 0, ((_startPos select 1)+(_offSet))]]; - _markerRose setMarkerTypeLocal "FlatCompassRose"; - - _endPos = _pos; - _x1 = _startPos select 0; - _x2 = _endPos select 0; - _y1 = _startPos select 1; - _y2 = _endPos select 1; - _az = (180 + (((_x1 - _x2) atan2 (_y1 - _y2))) mod 360); - - _sliceStartX = (_startPos select 0) + sin(_az)*_offSet; - _sliceStartY = (_startPos select 1) + cos(_az)*_offSet; - _marker setMarkerDirLocal _az; - _marker setMarkerPosLocal [_sliceStartX, _sliceStartY]; - GVAR(MapPreviousDir) = _az; - }; - - - case (["CBA","events","ace_sys_maptools","Start_Drawing","key"] call ace_settings_fnc_getNumber): { - if(!GVAR(MouseDown)) then { - if((GVAR(MapLineSegmentStart) select 0) == (_pos select 0) && {(GVAR(MapLineSegmentStart) select 1) == (GVAR(MapLineSegmentStart) select 1)}) then { - GVAR(MapLineColor) = GVAR(MapLineColor) + 1; - if(GVAR(MapLineColor) > (count _colors)-1) then { - GVAR(MapLineColor) = 0; - }; - }; - _color = _colors select GVAR(MapLineColor); - GVAR(MapLineSegmentStart) = _pos; - _originMarkerName = QUOTE(DOUBLES(ADDON,line_origin)); - deleteMarkerLocal _originMarkerName; - _origin = createMarkerLocal [_originMarkerName, _pos]; - _origin setMarkerShapeLocal "ICON"; - _origin setMarkerTypeLocal "mil_dot"; - _origin setMarkerTextLocal ""; - _origin setMarkerColorLocal _color; - }; - }; - - case (["CBA","events","ace_sys_maptools","End_Straight_Line","key"] call ace_settings_fnc_getNumber): { - if(!GVAR(MouseDown) && {((format["%1", (getMarkerType QUOTE(DOUBLES(ADDON,line_origin)))]) != "")}) then { - _ctrl = ((findDisplay 12) displayCtrl 51); - _endPos = _pos; - _x1 = GVAR(MapLineSegmentStart) select 0; - _x2 = _endPos select 0; - _y1 = GVAR(MapLineSegmentStart) select 1; - _y2 = _endPos select 1; - _az = (180 + (((_x1 - _x2) atan2 (_y1 - _y2))) mod 360); - _distance = [_x1, _y1, 0] distance [_x2, _y2, 0]; - _posX = (GVAR(MapLineSegmentStart) select 0) + sin(_az)*(_distance/2); - _posY = (GVAR(MapLineSegmentStart) select 1) + cos(_az)*(_distance/2); - - _originMarkerName = QUOTE(DOUBLES(ADDON,line_origin)); - - deleteMarkerLocal _originMarkerName; - _name = format["%2_line_segment_%1", (count GVAR(RulerLines)), QUOTE(ADDON)]; - _color = _colors select GVAR(MapLineColor); - _line = createMarkerLocal [_name, [_posX, _posY, 0]]; - _line setMarkerShapeLocal "RECTANGLE"; - _line setMarkerSizeLocal [0, (_distance/2)]; - _line setMarkerBrushLocal "BORDER"; - _line setMarkerColorLocal _color; - _line setMarkerDirLocal _az; - _newLine = [1, _name, [_posX, _posY, 0], (_distance/2), _az, _color]; - GVAR(RulerLines) set[(count GVAR(RulerLines)), _newLine]; - }; - }; - }; - } else { - _selected = false; - for "_i" from 0 to (count GVAR(RulerLines))-1 do { - _x = (GVAR(RulerLines) select _i); - if(!(isNil "_x")) then { - if((count _x) > 2) then { - switch (_x select 0) do { - case 1: { - _overLine = [_x select 2, _pos, (getMarkerSize (_x select 1)), _x select 4] call FUNC(OverObject); - if(_overLine) exitWith { - [] call FUNC(DeSelectLine); - GVAR(SelectedLine) = _i; - GVAR(SelectedType) = 1; - [] call FUNC(SelectLine); - _selected = true; - }; - }; - case 2: { - _lineCount = _x select 2; - if(!(isNil "_lineCount")) then { - for "_c" from 0 to _lineCount-1 do { - _marker = format["%3_freehand_%1_%2", _i, _c, QUOTE(ADDON)]; - _overLine = [(getMarkerPos _marker), _pos, (getMarkerSize _marker), (markerDir _marker)] call FUNC(OverObject); - if(_overLine) exitWith { - [] call FUNC(DeSelectLine); - GVAR(SelectedLine) = _i; - GVAR(SelectedType) = 2; - [] call FUNC(SelectLine); - _selected = true; - }; - }; - }; - }; - }; - }; - }; - if(_selected) exitWith {}; - }; - if(!_selected) then { - [] call FUNC(DeSelectLine); - }; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_CopyMap.sqf b/TO_MERGE/ace/sys_maptools/fnc_CopyMap.sqf deleted file mode 100644 index 54bdb5642f..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_CopyMap.sqf +++ /dev/null @@ -1,6 +0,0 @@ -//copyMap.sqf -#include "script_component.hpp" -_target = _this; -if(GVAR(CopyTotal) == 0) then { - [QGVAR(execcopy), [_target, player]] call ACE_fnc_receiverOnlyEvent; -}; diff --git a/TO_MERGE/ace/sys_maptools/fnc_DeSelectLine.sqf b/TO_MERGE/ace/sys_maptools/fnc_DeSelectLine.sqf deleted file mode 100644 index 4183c7795e..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_DeSelectLine.sqf +++ /dev/null @@ -1,20 +0,0 @@ -//DeSelectLine.sqf -#include "script_component.hpp" -switch (GVAR(SelectedType)) do { - case 1: { - _line = GVAR(RulerLines) select GVAR(SelectedLine); - (_line select 1) setMarkerSizeLocal [0, (getMarkerSize (_line select 1)) select 1]; - }; - - case 2: { - _line = GVAR(RulerLines) select GVAR(SelectedLine); - _lineCount = _line select 2; - if(!(isNil "_lineCount")) then { - for "_x" from 0 to _lineCount do { - _marker = format["%3_freehand_%1_%2", GVAR(SelectedLine), _x, QUOTE(ADDON)]; - _marker setMarkerSizeLocal [0, (getMarkerSize _marker) select 1]; - }; - }; - }; - default {}; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_DeleteLine.sqf b/TO_MERGE/ace/sys_maptools/fnc_DeleteLine.sqf deleted file mode 100644 index 9ef8e41217..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_DeleteLine.sqf +++ /dev/null @@ -1,24 +0,0 @@ -//DeleteLine.sqf -#include "script_component.hpp" -switch (GVAR(SelectedType)) do { - case 1: { - _line = GVAR(RulerLines) select GVAR(SelectedLine); - deleteMarkerLocal (_line select 1); - GVAR(RulerLines) set [GVAR(SelectedLine), nil]; - GVAR(SelectedLine) = ""; - GVAR(SelectedType) = -1; - }; - case 2: { - _lineCount = ((GVAR(RulerLines) select GVAR(SelectedLine)) select 2); - if(!(isNil "_lineCount")) then { - for "_x" from 0 to _lineCount do { - _marker = format["%3_freehand_%1_%2", GVAR(SelectedLine), _x, QUOTE(ADDON)]; - deleteMarkerLocal _marker; - }; - }; - GVAR(RulerLines) set [GVAR(SelectedLine), nil]; - GVAR(SelectedLine) = ""; - GVAR(SelectedType) = -1; - }; - default {}; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_DragHandler.sqf b/TO_MERGE/ace/sys_maptools/fnc_DragHandler.sqf deleted file mode 100644 index 7c7ec0d2b5..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_DragHandler.sqf +++ /dev/null @@ -1,86 +0,0 @@ -//handleDrag.sqf -#include "script_component.hpp" -if(inITEMS("ACE_Map_Tools",player)) then { - if(GVAR(MouseDown)) then { - _pos = [_this select 1, _this select 2]; - _mPos = ((findDisplay 12) displayCtrl 51) posScreenToWorld _pos; - if(GVAR(RulerKeyDown) == -1000 || {GVAR(RulerKeyDown) == 42}) then { - _marker = QUOTE(DOUBLES(ADDON,compassRuler)); - _markerType = (markerType _marker); - if("FlatCompass" == _markerType || - {"FlatCompass50" == _markerType} || - {"FlatCompass25" == _markerType} || - {"FlatCompass12" == _markerType} || - {"FlatCompass6" == _markerType} - ) then { - if(!GVAR(OffDrag)) then { - _overCompass = false; - _startPos = GVAR(RulerStartPos); - _prevDir = GVAR(MapPreviousDir); - _offSet = 543*2; - _sliceStartX = (_startPos select 0) + sin(_prevDir)*_offSet; - _sliceStartY = (_startPos select 1) + cos(_prevDir)*_offSet; - _size = [755*2, 1460*2]; - - if(!GVAR(DragOK)) then { - _overCompass = [[_sliceStartX, _sliceStartY], _mPos, _size, _prevDir] call FUNC(OverObject); - }; - if(_overCompass || {GVAR(DragOK)}) then { - GVAR(DragOK) = true; - if(GVAR(MouseShift)) then { - _x1 = _startPos select 0; - _x2 = _mPos select 0; - _y1 = _startPos select 1; - _y2 = _mPos select 1; - _az = (180 + (((_x1 - _x2) atan2 (_y1 - _y2))) mod 360); - if(GVAR(LastDragAzimuth) == -1000) then { - GVAR(LastDragAzimuth) = _az; - }; - _azDif = _az - GVAR(LastDragAzimuth); - GVAR(LastDragAzimuth) = _az; - _az = _prevDir + _azDif; - _sliceStartX = (_startPos select 0) + sin(_az)*_offSet; - _sliceStartY = (_startPos select 1) + cos(_az)*_offSet; - QUOTE(DOUBLES(ADDON,compassRuler)) setMarkerDirLocal _az; - QUOTE(DOUBLES(ADDON,compassRuler)) setMarkerPosLocal [_sliceStartX, _sliceStartY]; - GVAR(MapPreviousDir) = _az; - } else { - if((count GVAR(LastDragPosition)) < 1) then { - GVAR(LastDragPosition) = _mPos; - }; - _difX = (_mPos select 0) - (GVAR(LastDragPosition) select 0); - _difY = (_mPos select 1) - (GVAR(LastDragPosition) select 1); - _compassPos = markerPos QUOTE(DOUBLES(ADDON,compassRose)); - _rulerPos = markerPos QUOTE(DOUBLES(ADDON,compassRuler)); - QUOTE(DOUBLES(ADDON,compassRose)) setMarkerPosLocal [(_compassPos select 0) + _difX, (_compassPos select 1) + _difY]; - QUOTE(DOUBLES(ADDON,compassRuler)) setMarkerPosLocal [(_rulerPos select 0) + _difX, (_rulerPos select 1) + _difY]; - GVAR(RulerStartPos) = [(_startPos select 0) + _difX, (_startPos select 1) + _difY]; - }; - } else { - GVAR(OffDrag) = true; - }; - }; - }; - } else { - switch(GVAR(RulerKeyDown)) do { - case (["CBA","events","ace_sys_maptools","Start_Drawing","key"] call ace_settings_fnc_getNumber): { - if(GVAR(DragAction) == "" || {GVAR(DragAction) == QGVAR(FreeHandLine)}) then { - GVAR(DragAction) = QGVAR(FreeHandLine); - _this call FUNC(FreeHandLine); - GVAR(UpHandlerFnc) = FUNC(EndFreehandLine); - }; - - }; - case (["CBA","events","ace_sys_maptools","End_Straight_Line","key"] call ace_settings_fnc_getNumber): { - if(GVAR(DragAction) == "" || {GVAR(DragAction) == QGVAR(StraightLine)}) then { - GVAR(DragAction) = QGVAR(StraightLine); - _this call FUNC(StraightLine); - GVAR(UpHandlerFnc) = FUNC(EndStraightLine); - }; - }; - default {}; - }; - }; - GVAR(LastDragPosition) = _mPos; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_EndFreehandLine.sqf b/TO_MERGE/ace/sys_maptools/fnc_EndFreehandLine.sqf deleted file mode 100644 index 52dac22086..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_EndFreehandLine.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//EndFreehandLine.sqf -#include "script_component.hpp" -if(GVAR(LineSegment) > 0) then { - _newLineParts = []; - _color = ""; - for "_i" from 0 to GVAR(LineSegment)-1 do { - _x = format["%3_freehand_%1_%2", (count GVAR(RulerLines)), _i, QUOTE(ADDON)]; - _seg = [[(markerPos _x) select 0, (markerPos _x) select 1], ((getMarkerSize _x) select 1), (markerDir _x)]; - _newLineParts set[(count _newLineParts), _seg]; - _color = (markerColor _x); - }; - _newLine = [2, (count GVAR(RulerLines)), GVAR(LineSegment), _newLineParts, _color]; - GVAR(RulerLines) set[(count GVAR(RulerLines)), _newLine]; -}; - - -GVAR(LastLineSegment) = []; -GVAR(LineSegment) = 0; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_EndStraightLine.sqf b/TO_MERGE/ace/sys_maptools/fnc_EndStraightLine.sqf deleted file mode 100644 index c2448aa9ff..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_EndStraightLine.sqf +++ /dev/null @@ -1,27 +0,0 @@ -//EndStraightLine.sqf -#include "script_component.hpp" -if((format["%1", (getMarkerType QUOTE(DOUBLES(ADDON,line_origin)))]) != "") then { - _tempName = QUOTE(DOUBLES(ADDON,temp_line)); - _name = format["%2_line_segment_%1", (count GVAR(RulerLines)), QUOTE(ADDON)]; - _newLine = [1, _name, (markerPos _tempName), ((getMarkerSize _tempName) select 1), (markerDir _tempName), (getMarkerColor _tempName)]; - _pos = _newLine select 2; - _length = _newLine select 3; - _az = _newLine select 4; - _color = _newLine select 5; - - _line = createMarkerLocal [_name, _pos]; - _line setMarkerShapeLocal "RECTANGLE"; - _line setMarkerSizeLocal [0, _length]; - _line setMarkerColorLocal _color; - _line setMarkerBrushLocal "BORDER"; - _line setMarkerDirLocal _az; - - _originMarkerName = QUOTE(DOUBLES(ADDON,line_origin)); - deleteMarkerLocal _originMarkerName; - deleteMarkerLocal _tempName; - - GVAR(RulerLines) set[(count GVAR(RulerLines)), _newLine]; -}; - - - diff --git a/TO_MERGE/ace/sys_maptools/fnc_FreeHandLine.sqf b/TO_MERGE/ace/sys_maptools/fnc_FreeHandLine.sqf deleted file mode 100644 index 774f79f975..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_FreeHandLine.sqf +++ /dev/null @@ -1,35 +0,0 @@ -//FreeHandLine.sqf -#include "script_component.hpp" -disableSerialization; - -_pos = [_this select 1, _this select 2]; -_mPos = ((findDisplay 12) displayCtrl 51) posScreenToWorld _pos; -if((count GVAR(LastLineSegment)) < 2) then { - GVAR(LastLineSegment) = _mPos; -}; -_lastPos = GVAR(LastLineSegment); -if((count _lastPos) > 0 && GVAR(RulerKeyDown) == (["CBA","events","ace_sys_maptools","Start_Drawing","key"] call ace_settings_fnc_getNumber)) then { - _length = _mPos distance _lastPos; - _map = -1; - waitUntil{_map = ((findDisplay 12) displayCtrl 51); !isNull _map}; - _scale = ctrlMapScale _map; - _minLength = ((_scale*20) max 2); - if(_length > _minLength) then { - _x1 = _lastPos select 0; - _x2 = _mPos select 0; - _y1 = _lastPos select 1; - _y2 = _mPos select 1; - _az = (180 + (((_x1 - _x2) atan2 (_y1 - _y2))) mod 360); - _segmentX = (_lastPos select 0) + sin(_az)*(_length/2); - _segmentY = (_lastPos select 1) + cos(_az)*(_length/2); - _name = format["%3_freehand_%1_%2", (count GVAR(RulerLines)), GVAR(LineSegment), QUOTE(ADDON)]; - GVAR(LineSegment) = GVAR(LineSegment) + 1; - _segment = createMarkerLocal [_name, [_segmentX, _segmentY, 0]]; - _segment setMarkerShapeLocal "RECTANGLE"; - _segment setMarkerSizeLocal [0, (_length/2)]; - _segment setMarkerDirLocal _az; - _segment setMarkerColorLocal (GVAR(LineColors) select GVAR(MapLineColor)); - _segment setMarkerBrushLocal "BORDER"; - GVAR(LastLineSegment) = _mPos; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_IconScaler.sqf b/TO_MERGE/ace/sys_maptools/fnc_IconScaler.sqf deleted file mode 100644 index fd86f05738..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_IconScaler.sqf +++ /dev/null @@ -1,84 +0,0 @@ -//handleScale.sqf -#include "script_component.hpp" -if(!isDedicated) then { - disableSerialization; - _map = -1; - waitUntil {_map = ((findDisplay 12) displayCtrl 51); !isNull _map}; - _magicW = (4.0395/0.00651044)*2; - _magicH = (4.23508/0.00909978)*2; - _o = 1; - waitUntil { - if (visibleMap && {inITEMS("ACE_Map_Tools",player)} && {!ace_common_spectator_SPECTATINGON}) then { - if (count GVAR(RulerStartPos) == 0) then { - _startPos = [0,0,0]; - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRuler)); - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRose)); - - GVAR(RulerStartPos) = _startPos; - - _marker = createMarkerLocal [QUOTE(DOUBLES(ADDON,compassRuler)), [_startPos select 0, ((_startPos select 1)+(543*2))]]; - _marker setMarkerTypeLocal "FlatCompass"; - - _markerRose = createMarkerLocal [QUOTE(DOUBLES(ADDON,compassRose)), [_startPos select 0, ((_startPos select 1)+(543*2))]]; - _markerRose setMarkerTypeLocal "FlatCompassRose"; - GVAR(MapPreviousDir) = 0; - }; - _marker = QUOTE(DOUBLES(ADDON,compassRuler)); - _markerRose = QUOTE(DOUBLES(ADDON,compassRose)); - _markerType = (markerType _marker); - if ("FlatCompass" == _markerType || - {"FlatCompass50" == _markerType} || - {"FlatCompass25" == _markerType} || - {"FlatCompass12" == _markerType} || - {"FlatCompass6" == _markerType} - ) then { - _scale = ctrlMapScale _map; - if(_scale <= 0.5) then { - _marker setMarkerTypeLocal "FlatCompass"; - _markerRose setMarkerTypeLocal "FlatCompassRose"; - }; - if(_scale > 0.5) then { - _marker setMarkerTypeLocal "FlatCompass50"; - _markerRose setMarkerTypeLocal "FlatCompassRose50"; - }; - // if(_scale > 0.7) then { - // _marker setMarkerTypeLocal "FlatCompass25"; - // _markerRose setMarkerTypeLocal "FlatCompassRose25"; - // }; - // if(_scale > 1) then { - // _marker setMarkerTypeLocal "FlatCompass12"; - // _markerRose setMarkerTypeLocal "FlatCompassRose12"; - // }; - _sample = _map posScreenToWorld [0.5, 0.5]; - _offset = [(_sample select 0) + 100, (_sample select 1) + 100]; - _screenOffset = _map posWorldToScreen _offset; - _difW = abs ((_screenOffset select 0) - 0.5); - _difH = abs ((_screenOffset select 1) - 0.5); - - - - - _difW = _difW/(_o/_scale); - _oScaleW = (_difW*_magicW); - _cScaleW = (_o/_scale)*_oScaleW; - _oScaleH = (_difH*_magicH); - _cScaleH = (_o/_scale)*_oScaleH; - QUOTE(DOUBLES(ADDON,compassRuler)) setMarkerSizeLocal [_cScaleW, _oScaleH]; - QUOTE(DOUBLES(ADDON,compassRose)) setMarkerSizeLocal [_cScaleW, _oScaleH]; - }; - } else { - if (ace_common_spectator_SPECTATINGON || {!(inITEMS("ACE_Map_Tools",player))}) then { - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRuler)); - deleteMarkerLocal QUOTE(DOUBLES(ADDON,compassRose)); - }; - _actionId = -1; - GVAR(MouseDown) = false; - GVAR(DragOK) = false; - GVAR(OffDrag) = false; - GVAR(MouseShift) = false; - GVAR(RulerKeyDown) = -1000; - sleep 1; - }; - false - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_KeyBoardHandler.sqf b/TO_MERGE/ace/sys_maptools/fnc_KeyBoardHandler.sqf deleted file mode 100644 index 7ced3d1980..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_KeyBoardHandler.sqf +++ /dev/null @@ -1,25 +0,0 @@ -///////////////////////////////////////////////////// -// testkb.sqf -// by nou -// -// please see the documentation in add_ruler.sqf -///////////////////////////////////////////////////// -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_2(_event,_down); - -if(_down) then { - GVAR(RulerKeyDown) = (_event select 1); - switch (GVAR(RulerKeyDown)) do { - case (["CBA","events","ace_sys_maptools","Delete_Line","key"] call ace_settings_fnc_getNumber): { - [] call FUNC(DeleteLine); - }; - default {}; - }; -} else { - GVAR(RulerKeyDown) = -1000; - [] call GVAR(UpHandlerFnc); - GVAR(UpHandlerFnc) = {}; - GVAR(DragAction) = ""; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_MouseHandler.sqf b/TO_MERGE/ace/sys_maptools/fnc_MouseHandler.sqf deleted file mode 100644 index 15c5c518e9..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_MouseHandler.sqf +++ /dev/null @@ -1,27 +0,0 @@ -///////////////////////////////////////////////////// -// mouseHandler.sqf -// by nou -// -// please see the documentation in add_ruler.sqf -///////////////////////////////////////////////////// -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -PARAMS_2(_event,_down); - -if ((_event select 1) == 0) then { - if(_down) then { - GVAR(MouseShift) = _event select 4; - GVAR(MouseDown) = true; - } else { - GVAR(MouseDown) = false; - GVAR(DragOK) = false; - GVAR(OffDrag) = false; - GVAR(LastDragPosition) = []; - GVAR(MouseShift) = false; - GVAR(LastDragAzimuth) = -1000; - [] call GVAR(UpHandlerFnc); - GVAR(UpHandlerFnc) = {}; - GVAR(DragAction) = ""; - }; -}; diff --git a/TO_MERGE/ace/sys_maptools/fnc_OverObject.sqf b/TO_MERGE/ace/sys_maptools/fnc_OverObject.sqf deleted file mode 100644 index 6a76ad4b41..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_OverObject.sqf +++ /dev/null @@ -1,37 +0,0 @@ -//overCompass.sqf -#include "script_component.hpp" -private ["_posx","_posy","_tx","_ty","_cDir","_in","_objectPosition", "_mapPosition", "_size"]; -_objectPosition = _this select 0; -_mapPosition = _this select 1; -_size = _this select 2; -_cDir = _this select 3; -_posx = _objectPosition select 0; -_posy = _objectPosition select 1; -//_tx = _size select 0; -_tx = 5; -_ty = _size select 1; -_scalarresult = false; - -_difx = (_mapPosition select 0) - _posx; -_dify = (_mapPosition select 1) - _posy; -if(_difx == 0) then { - _difx = 0.001; -}; -if(_dify == 0) then { - _dify = 0.001; -}; -_dir = atan (_difx / _dify); -if (_dify < 0) then {_dir = _dir + 180}; -_relativedir = _cDir - _dir; -_adis = abs (_tx / cos (90 - _relativedir)); -_bdis = abs (_ty / cos _relativedir); -_borderdis = _adis min _bdis; -_positiondis = _mapPosition distance _objectPosition; - -_in = if (_scalarresult) then { - _positiondis - _borderdis; -} else { - (_positiondis < _borderdis) -}; - -_in \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_SelectLine.sqf b/TO_MERGE/ace/sys_maptools/fnc_SelectLine.sqf deleted file mode 100644 index b29a7824e6..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_SelectLine.sqf +++ /dev/null @@ -1,22 +0,0 @@ -//SelectLine.sqf -#include "script_component.hpp" -switch (GVAR(SelectedType)) do { - case 1: { - _line = GVAR(RulerLines) select GVAR(SelectedLine); - (_line select 1) setMarkerSizeLocal [5, (getMarkerSize (_line select 1)) select 1]; - }; - - case 2: { - _line = GVAR(RulerLines) select GVAR(SelectedLine); - _lineCount = _line select 2; - if !(isNil "_lineCount") then { - for "_x" from 0 to _lineCount do { - _marker = format["%3_freehand_%1_%2", GVAR(SelectedLine), _x, QUOTE(ADDON)]; - _marker setMarkerSizeLocal [5, (getMarkerSize _marker) select 1]; - }; - }; - }; - - default {}; -}; - \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_StraightLine.sqf b/TO_MERGE/ace/sys_maptools/fnc_StraightLine.sqf deleted file mode 100644 index be43e668db..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_StraightLine.sqf +++ /dev/null @@ -1,28 +0,0 @@ -//StraightLine.sqf -#include "script_component.hpp" -_pos = [_this select 1, _this select 2]; -_mPos = ((findDisplay 12) displayCtrl 51) posScreenToWorld _pos; -_lastPos = (markerPos QUOTE(DOUBLES(ADDON,line_origin))); - -if((format["%1", (getMarkerType QUOTE(DOUBLES(ADDON,line_origin)))]) != "") then { - - _length = _mPos distance _lastPos; - if(_length > 2) then { - _x1 = _lastPos select 0; - _x2 = _mPos select 0; - _y1 = _lastPos select 1; - _y2 = _mPos select 1; - _az = (180 + (((_x1 - _x2) atan2 (_y1 - _y2))) mod 360); - _segmentX = (_lastPos select 0) + sin(_az)*(_length/2); - _segmentY = (_lastPos select 1) + cos(_az)*(_length/2); - - _name = QUOTE(DOUBLES(ADDON,temp_line)); - deleteMarker _name; - _segment = createMarkerLocal [_name, [_segmentX, _segmentY, 0]]; - _segment setMarkerShapeLocal "RECTANGLE"; - _segment setMarkerSizeLocal [0, (_length/2)]; - _segment setMarkerDirLocal _az; - _segment setMarkerColorLocal (GVAR(LineColors) select GVAR(MapLineColor)); - _segment setMarkerBrushLocal "BORDER"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/fnc_copymap_menuDef.sqf b/TO_MERGE/ace/sys_maptools/fnc_copymap_menuDef.sqf deleted file mode 100644 index c99f4dda10..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_copymap_menuDef.sqf +++ /dev/null @@ -1,49 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -#include "\a3\editor_f\Data\Scripts\dikCodes.h" - -private ["_menuDef", "_target", "_params", "_menuName", "_menuRsc", "_menus"]; - -_target = _this select 0; -_params = _this select 1; - -_menuName = ""; -_menuRsc = "popup"; - -if (typeName _params == typeName []) then { - if (count _params < 1) exitWith {diag_log format["Error: Invalid params: %1, %2", _this, __FILE__];}; - _menuName = _params select 0; - _menuRsc = if (count _params > 1) then {_params select 1} else {_menuRsc}; -} else { - _menuName = _params; -}; - -//----------------------------------------------------------------------------- -#define __COPY (localize "STR_ACE_MAPTOOLS_COPYUA") - -GVAR(target) = _target; - -_menus = -[ - [ - ["main", _menuName, _menuRsc], - [ - [__COPY, - QUOTE(GVAR(target) call ace_sys_maptools_fnc_CopyMap), - "", "", "", -1, 1,ace_sys_maptools_Enabled && {"ACE_Map_Tools" in (weapons GVAR(target))}] - ] - ] -]; - -//----------------------------------------------------------------------------- -_menuDef = []; -{ - if (_x select 0 select 0 == _menuName) exitWith {_menuDef = _x}; -} forEach _menus; - -if (count _menuDef == 0) then { - hintC format ["Error: Menu not found: %1\n%2\n%3", str _menuName, if (_menuName == "") then {_this} else {""}, __FILE__]; - diag_log format ["Error: Menu not found: %1, %2, %3", str _menuName, _params, __FILE__]; -}; - -_menuDef // return value diff --git a/TO_MERGE/ace/sys_maptools/fnc_handleData.sqf b/TO_MERGE/ace/sys_maptools/fnc_handleData.sqf deleted file mode 100644 index 85a443bd88..0000000000 --- a/TO_MERGE/ace/sys_maptools/fnc_handleData.sqf +++ /dev/null @@ -1,60 +0,0 @@ -#include "script_component.hpp" - -_target = _this select 0; -_x = _this select 1; -if(_target == player) then { - switch((typeName _x)) do { - case "ARRAY": { - switch (_x select 0) do { - case 1: { - _pos = _x select 2; - _length = _x select 3; - _az = _x select 4; - _color = _x select 5; - _markerName = format["%2_line_segment_%1", (count GVAR(RulerLines)), QUOTE(ADDON)]; - _lineName = createMarkerLocal [_markerName, _pos]; - _lineName setMarkerShapeLocal "RECTANGLE"; - _lineName setMarkerSizeLocal [0, _length]; - _lineName setMarkerColorLocal _color; - _lineName setMarkerBrushLocal "BORDER"; - _lineName setMarkerDirLocal _az; - GVAR(RulerLines) set[(count GVAR(RulerLines)), _line]; - }; - case 2: { - _line = _x; - _lineCount = _line select 2; - if(!(isNil "_lineCount")) then { - for "_i" from 0 to _lineCount-1 do { - _markerName = format["%3_freehand_%1_%2", (count GVAR(RulerLines)), _i, QUOTE(ADDON)]; - _pos = ((_x select 3) select _i) select 0; - _length = ((_x select 3) select _i) select 1; - _az = ((_x select 3) select _i) select 2; - _color = _x select 4; - _lineName = createMarkerLocal [_markerName, _pos]; - _lineName setMarkerShapeLocal "RECTANGLE"; - _lineName setMarkerSizeLocal [0, _length]; - _lineName setMarkerColorLocal _color; - _lineName setMarkerBrushLocal "BORDER"; - _lineName setMarkerDirLocal _az; - }; - GVAR(RulerLines) set[(count GVAR(RulerLines)), _line]; - }; - }; - }; - hintSilent format[localize "STR_ACE_MAPTOOLS_COPYSTAT", GVAR(CopyNumber), GVAR(CopyTotal)]; - GVAR(CopyNumber) = GVAR(CopyNumber) + 1; - }; - case "SCALAR": { - GVAR(CopyTotal) = _x; - }; - case "BOOL": { - if(_x) then { - hintSilent localize "STR_ACE_MAPTOOLS_COPYSUC"; - } else { - hintSilent localize "STR_ACE_MAPTOOLS_COPYFAIL"; - }; - GVAR(CopyTotal) = 0; - GVAR(CopyNumber) = 0; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/sys_maptools/license.txt b/TO_MERGE/ace/sys_maptools/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/sys_maptools/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/sys_maptools/script_component.hpp b/TO_MERGE/ace/sys_maptools/script_component.hpp deleted file mode 100644 index ca06970b87..0000000000 --- a/TO_MERGE/ace/sys_maptools/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT sys_maptools -#include "\z\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_MAPTOOLS - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_MAPTOOLS - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_MAPTOOLS -#endif - -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/$PBOPREFIX$ b/TO_MERGE/ace/wep_dragon/$PBOPREFIX$ deleted file mode 100644 index 918ec8bf98..0000000000 --- a/TO_MERGE/ace/wep_dragon/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\uo\Addons\sys_wep_dragon \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/CfgAmmo.hpp b/TO_MERGE/ace/wep_dragon/CfgAmmo.hpp deleted file mode 100644 index e9da6d412a..0000000000 --- a/TO_MERGE/ace/wep_dragon/CfgAmmo.hpp +++ /dev/null @@ -1,77 +0,0 @@ -class CfgAmmo { - class MissileBase; - class ShellBase; - - class ace_m47_dragon_serviceCharge : ShellBase { - hit = 1; - indirectHit = 2; - indirectHitRange = 1; - typicalSpeed = 100; - explosive = 1; - cost = 300; - model = "\ca\weapons\empty"; - airFriction = 0; - timeToLive = 1; - explosionTime = 0.001; - soundFly[] = {"",1,1}; - soundEngine[] = {"",1,4}; - CraterEffects = ""; - explosionEffects = "ace_m47_serviceExplosion"; - hitarmor[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitbuilding[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitconcrete[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitdefault[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitfoliage[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitglass[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitglassarmored[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitgroundhard[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitgroundsoft[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitiron[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitman[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitmetal[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitmetalplate[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitplastic[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitrubber[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitwood[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - sounddefault1[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject", 56.2341, 1, 1800}; - sounddefault2[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject", 56.2341, 1, 1800}; - sounddefault3[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject", 56.2341, 1, 1800}; - soundHit[] = {"\x\ace\addons\sys_arty_ammunition\Sounds\base_eject",56.23413,1,1800}; - }; - - class M_47_AT_EP1: MissileBase { - ace_towsmoke = 0; // no trail - six_tracerenable = 0; // can't find it? - ace_guidance_type = "dragon"; - soundFly[] = {"",0,1,0}; - soundEngine[] = {"",0,1,0}; - }; - - class ace_missile_dragon : M_47_AT_EP1 { - model = PATHTOF(models\dragon.p3d); - maxSpeed = 120; - thrust = 0; - initTime = 0; - thrustTime = 0; - sideAirFriction = 0.025; - explosionEffects = ""; - CraterEffects = ""; - hitarmor[] = {"soundhit", 1}; - hitbuilding[] = {"soundhit", 1}; - hitconcrete[] = {"soundhit", 1}; - hitdefault[] = {"soundhit", 1}; - hitfoliage[] = {"soundhit", 1}; - hitglass[] = {"soundhit", 1}; - hitglassarmored[] = {"soundhit", 1}; - hitgroundhard[] = {"soundhit", 1}; - hitgroundsoft[] = {"soundhit", 1}; - hitiron[] = {"soundhit", 1}; - hitman[] = {"soundhit", 1}; - hitmetal[] = {"soundhit", 1}; - hitmetalplate[] = {"soundhit", 1}; - hitplastic[] = {"soundhit", 1}; - hitrubber[] = {"soundhit", 1}; - hitwood[] = {"soundhit", 1}; - soundhit[] = {"", 0, 1}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/CfgEventhandlers.hpp b/TO_MERGE/ace/wep_dragon/CfgEventhandlers.hpp deleted file mode 100644 index d22d71eb89..0000000000 --- a/TO_MERGE/ace/wep_dragon/CfgEventhandlers.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/CfgMagazines.hpp b/TO_MERGE/ace/wep_dragon/CfgMagazines.hpp deleted file mode 100644 index 904f53a0c9..0000000000 --- a/TO_MERGE/ace/wep_dragon/CfgMagazines.hpp +++ /dev/null @@ -1,7 +0,0 @@ -class CfgMagazines { - class CA_LauncherMagazine; - - class Dragon_EP1: CA_LauncherMagazine { - model = PATHTOF(models\ace_m47_magazine.p3d); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/CfgVehicles.hpp b/TO_MERGE/ace/wep_dragon/CfgVehicles.hpp deleted file mode 100644 index ec8e60a23f..0000000000 --- a/TO_MERGE/ace/wep_dragon/CfgVehicles.hpp +++ /dev/null @@ -1,64 +0,0 @@ -class CfgVehicles { - class LandVehicle; - - class StaticWeapon : LandVehicle { - class Turrets; - }; - - class StaticATWeapon : StaticWeapon { - class Turrets: Turrets { - class MainTurret; - }; - }; - - class ACE_M47_Static_Base : StaticATWeapon { - class Turrets: Turrets { - class MainTurret : MainTurret { - class ViewOptics; - }; - }; - } - - class ACE_M47_Static: ACE_M47_Static_Base { - scope = 1; // Hide it for now - model = PATHTOF(models\ace_m47_static.p3d); - displayName = "M47 Dragon"; - class Turrets: Turrets { - class MainTurret: MainTurret { - gunnerAction = "LowKORD_Gunner"; - GVAR(tracker) = "TOWLauncherSingle"; - gunnerOpticsModel = "\ca\Weapons_e\optics_m47"; - weapons[] = {"ACE_M47StaticLauncher"}; - magazines[] = {}; - class ViewOptics : ViewOptics { - initFov = DRAGON_FOV; - minFov = DRAGON_FOV; - maxFov = DRAGON_FOV; - }; - }; - }; - class AnimationSources { - class rest_rotate { - source="user"; - animPeriod=0.00001; - initPhase=-0.35; - maxValue="3.60"; - minValue="-3.60"; - }; - class optic_hide { - source="user"; - animPeriod=0.0001; - initPhase=1; - maxValue="1"; - minValue="0"; - }; - class missile_hide { - source="user"; - animPeriod=0.0001; - initPhase=0; - maxValue="1"; - minValue="0"; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/CfgWeapons.hpp b/TO_MERGE/ace/wep_dragon/CfgWeapons.hpp deleted file mode 100644 index 851796b260..0000000000 --- a/TO_MERGE/ace/wep_dragon/CfgWeapons.hpp +++ /dev/null @@ -1,45 +0,0 @@ -class CfgWeapons { - class Weapon_Bag_Base; - class B_AT_01_weapon_F: Weapon_Bag_Base { - }; - class ACE_M47StaticLauncher: B_AT_01_weapon_F { - displayName = "M47 Dragon"; - canLock = 0; - handAnim[] = {"OFP2_ManSkeleton","\Ca\weapons_E\Data\Anim\M47.rtm"}; - sound[] = {"Ca\Sounds_E\Weapons_E\M47\M47_1",3.1622777,1,1200}; - drySound[] = {"Ca\Sounds_E\Weapons_E\M47\dry",0.0001,1,10}; - reloadMagazineSound[] = {"Ca\Sounds_E\Weapons_E\M47\rocket_reload",1.0,1,30}; - soundFly[] = {"",3.1622777,1,500}; - initSpeed = 20; - magazines[] = {"Dragon_EP1"}; - reloadTime = 0; - magazineReloadTime = 0; - }; - - class Launcher; - class M47Launcher_EP1: Launcher { - displayName = "M47 Dragon"; - canlock = 0; - model = PATHTOF(models\ace_m47_magazine.p3d); - picture = PATHTOF(textures\m47_dragon_item_ca.paa); - }; - class ACE_M47_Daysight: M47Launcher_EP1 { - displayName = $STR_DN_ACE_DRAGONSUP36; // Stay next to tubes in gear dialogs - model = PATHTOF(models\ace_m47_optic.p3d); - picture = PATHTOF(textures\m47_daysight_item_ca.paa); - optics = 1; - weaponInfoType = "RscWeaponEmpty"; - modelOptics = "\ca\Weapons_e\optics_m47"; - reloadaction = ""; - showSwitchAction = 1; - useAsBinocular = 1; - uipicture = ""; - descriptionshort = "SU-36/P Daysight"; - ace_disposable = 0; - magazines[] = {}; - type = 4096; - opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"}; - opticsZoomMin = 0.015; - opticsZoomMax = 0.015; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/XEH_post_init.sqf b/TO_MERGE/ace/wep_dragon/XEH_post_init.sqf deleted file mode 100644 index 6904ee6c47..0000000000 --- a/TO_MERGE/ace/wep_dragon/XEH_post_init.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" -NO_DEDICATED; - diff --git a/TO_MERGE/ace/wep_dragon/XEH_pre_init.sqf b/TO_MERGE/ace/wep_dragon/XEH_pre_init.sqf deleted file mode 100644 index dc30361926..0000000000 --- a/TO_MERGE/ace/wep_dragon/XEH_pre_init.sqf +++ /dev/null @@ -1,2 +0,0 @@ -#include "script_component.hpp" - diff --git a/TO_MERGE/ace/wep_dragon/config.cpp b/TO_MERGE/ace/wep_dragon/config.cpp deleted file mode 100644 index 775fd26357..0000000000 --- a/TO_MERGE/ace/wep_dragon/config.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = { "ACE_M47_Static" }; - weapons[] = { "ACE_M47StaticLauncher", "M47Launcher_EP1", "ACE_M47_Daysight" }; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "a3_data_f", "a3_static_f"}; - version = VERSION; - }; -}; - -#include "CfgEventhandlers.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgAmmo.hpp" -#include "CfgMagazines.hpp" \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/fnc_dragon_fired.sqf b/TO_MERGE/ace/wep_dragon/fnc_dragon_fired.sqf deleted file mode 100644 index ff97232aea..0000000000 --- a/TO_MERGE/ace/wep_dragon/fnc_dragon_fired.sqf +++ /dev/null @@ -1,135 +0,0 @@ -//fnc_fired.sqf -#include "script_component.hpp" -#define DRAGON_VELOCITY 100 -#define SERVICE_INTERVAL 0.3 -#define DRAGON_SERVICE_COUNT 60 -#define DRAGON_TRIM 1 -#define TRACKINTERVAL 0.025 - -if ((_this select 0) == player || {(gunner (_this select 0)) == player}) then { - if ((typeOf (_this select 6)) == "M_47_AT_EP1") then { - _missile = (_this select 6); - _vel = velocity _missile; - _ppos = getPosASL _missile; - _missile setPosATL [_ppos select 0, _ppos select 1, 5000]; - _unitVec = _vel call ACE_fnc_unitVector; - _spawnPos = [(_ppos select 0) + (_unitVec select 0), (_ppos select 1) + (_unitVec select 1), (_ppos select 2) + (_unitVec select 2)]; - _shell = "ace_missile_dragon" createVehicle _spawnPos; - _this set[6, _shell]; - _shell setPosASL _spawnPos; - - _newVel = [_unitVec, DRAGON_VELOCITY*1.25] call ACE_fnc_vectorMultiply; - _shell setVelocity _newVel; - _shell setVectorDir _unitVec; - _gunner = _this select 0; - //setAccTime 0.2; - - [ - { - _unitVec = (velocity _shell) call ACE_fnc_unitVector; - _polar = _unitVec call CBA_fnc_vect2polar; - _spos = getPosATL _shell; - _ppos = getPosASL _shell; - _screenPos = if (_spos select 2 > _ppos select 2) then {worldToScreen _ppos} else {worldToScreen _spos}; - - if (count _screenPos > 0 && {alive _gunner}) then { - _x = (((_screenPos select 0) - 0.5) max -1) min 1; - _y = (((_screenPos select 1) - 0.45) max -1) min 1; - _m = ((_shell distance _gunner)*0.009); - - //player sideChat format["x: %1, y: %2 m: %3 di: %4 spd: %5", _x*_m, _y*_m*-1, _m, (_shell distance _gunner), (speed _shell)]; - - _yDeg = 2.1; - _xDeg = 1.6; - _difEl = _yDeg*(_y*_m); - _difEl = ((_difEl min _yDeg) max (_yDeg*-1)); - if(_difEl < 0) then { - _difEl = _difEl / 2; - }; - _dir = _xDeg*(_x*_m)*-1; - _dir = ((_dir min _xDeg) max (_xDeg*-1)); - _difDir = (_polar select 1) + _dir; - if (_difDir < 0) then {_difDir = _difDir + 360}; - if (_difDir > 360) then {_difDir = _difDir - 360}; - //drop ["\Ca\Data\Cl_basic","","Billboard",1,5,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,0.25]],[0],0.0,2.0,"","",""]; - _firedAdjust = false; - _shellVelocity = velocity _shell; - _speed = (3.6*sqrt((_shellVelocity select 0)^2 + (_shellVelocity select 1)^2 + (_shellVelocity select 2)^2))*0.278; - //hint format["speed: %1\ndistance: %2\ntime: %3", _speed, (_gunner distance _shell), diag_tickTime-_startTime]; - if (diag_tickTime >= _timerCorrect && {_chargeCount > 0}) then { - if ((abs _dir) >= _xDeg/2) then { - _firedAdjust = true; - _difDir = (_polar select 1) + (_dir*0.25); - if (_difDir < 0) then {_difDir = _difDir + 360}; - if (_difDir > 360) then {_difDir = _difDir - 360}; - //player sideChat "CORRECT!"; - _timerCorrect = diag_tickTime+(SERVICE_INTERVAL*2); - _newVel = [DRAGON_VELOCITY, (_difDir), (_polar select 2)+(_difEl*0.25)+DRAGON_TRIM] call CBA_fnc_polar2vect; - _shell setVelocity _newVel; - _shell setVectorDir (_newVel call ACE_fnc_unitVector); - "ace_m47_dragon_serviceCharge" createVehicle (getPos _shell); - _chargeCount = _chargeCount - 1; - }; - }; - - if (!_firedAdjust && {diag_tickTime >= _timer} && {_chargeCount > 0}) then { - _timer = diag_tickTime+SERVICE_INTERVAL; - - _newVel = [DRAGON_VELOCITY, _difDir, (_polar select 2)+(_difEl)+DRAGON_TRIM] call CBA_fnc_polar2vect; - //_newVel = [(velocity _shell), _newVel] call ACE_fnc_vectorAdd; - // if(_difEl > 0) then { - // drop ["\Ca\Data\Cl_basic","","Billboard",1,5,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,1,0,1]],[0],0.0,2.0,"","",""]; - // } else { - // drop ["\Ca\Data\Cl_basic","","Billboard",1,5,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,0,1,1]],[0],0.0,2.0,"","",""]; - // }; - _shell setVelocity _newVel; - _shell setVectorDir (_newVel call ACE_fnc_unitVector); - - // charge FX - _shellCharge = "ace_m47_dragon_serviceCharge" createVehicle _ppos; - _shellCharge setPosASL _ppos; - _chargeCount = _chargeCount - 1; - }; - }; - _missile setPosATL [_ppos select 0, _ppos select 1, 5000]; - _prevTime = diag_tickTime; - }, - [_shell,_gunner,_unitVec,_missile], - 0.0, // delay - { - //init - _shell = _this select 0; - _gunner = _this select 1; - _chargeCount = DRAGON_SERVICE_COUNT; - _timer = diag_tickTime+SERVICE_INTERVAL; - _timerCorrect = _timer; - _originalVec = _this select 2; - _originalPolar = _originalVec call CBA_fnc_vect2polar; - _targetPolar = +_originalPolar; - _startTime = diag_tickTime; - _lastX = 1000; - _lastY = 1000; - // Return original missile at explosion - _missile = _this select 3; - // start from beginning - _prevTime = diag_tickTime - TRACKINTERVAL; - }, - { - // exit - if !(isNull _missile) then { - _missile setVelocity _newVel; - _missile setVectorDir (_newVel call ACE_fnc_unitVector); - _missile setPosASL _ppos; - }; - }, - { - diag_tickTime - _prevTime > TRACKINTERVAL - }, - {!alive _shell}, - [ - "_shell", "_gunner", "_chargeCount", "_timer", "_originalVec", "_originalPolar", "_timerCorrect", "_startTime", "_lastX", "_lastY", - "_missile", "_ppos", "_newVel", "_prevTime" - ] - ] call cba_common_fnc_addPerFrameHandlerLogic; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_dragon/license.txt b/TO_MERGE/ace/wep_dragon/license.txt deleted file mode 100644 index ff5ec3e450..0000000000 --- a/TO_MERGE/ace/wep_dragon/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/ace/wep_dragon/model.cfg b/TO_MERGE/ace/wep_dragon/model.cfg deleted file mode 100644 index 6aeaf2e95e..0000000000 --- a/TO_MERGE/ace/wep_dragon/model.cfg +++ /dev/null @@ -1,96 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - - class ace_m47_static_skeleton: Default { - skeletonInherit = "Default"; - skeletonBones[] = { - "bipod","", - "grav_box","bipod", - "launcher","grav_box", - "optic","launcher", - "missile","launcher" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - }; - - class ace_m47_static: Default { - sectionsInherit = "Default"; - sections[] = {}; - skeletonName = "ace_m47_static_skeleton"; - class Animations { - class MainGun { - type="rotation"; - selection="launcher"; - sourceAddress = "clamp"; - source="MainGun"; - axis="elevate_axis"; - animPeriod=0.01; - initPhase=0; - maxValue="rad 360"; - minValue="rad -360"; - angle1="rad 360"; - angle0="rad -360"; - }; - class MainTurret { - type="rotation"; - source="MainTurret"; - selection="bipod"; - sourceAddress = "loop"; - axis="rotate_axis"; - animPeriod=0.005; - minValue="rad -360"; - maxValue="rad +360"; - angle0="rad -360"; - angle1="rad +360"; - }; - class rest_rotate { - type="rotation"; - selection="grav_box"; - sourceAddress = "clamp"; - source="user"; - axis="elevate_axis"; - animPeriod=0.00001; - initPhase=-0.35; - maxValue="3.60"; - minValue="-3.60"; - angle1="rad -360"; - angle0="rad 360"; - }; - class optic_hide - { - type = "hide"; - source = "user"; - selection = "optic"; - animPeriod = 0.0001; - minValue = 0; - maxValue = 1; - minPhase = 0; - maxPhase = 1; - hideValue = 0.99; - initPhase = 1; - }; - class missile_hide - { - type = "hide"; - source = "user"; - selection = "missile"; - animPeriod = 0.0001; - minValue = 0; - maxValue = 1; - minPhase = 0; - maxPhase = 1; - hideValue = 0.99; - }; - }; - }; -}; diff --git a/TO_MERGE/ace/wep_dragon/models/ace_m47_magazine.p3d b/TO_MERGE/ace/wep_dragon/models/ace_m47_magazine.p3d deleted file mode 100644 index e8464fc389..0000000000 Binary files a/TO_MERGE/ace/wep_dragon/models/ace_m47_magazine.p3d and /dev/null differ diff --git a/TO_MERGE/ace/wep_dragon/models/ace_m47_optic.p3d b/TO_MERGE/ace/wep_dragon/models/ace_m47_optic.p3d deleted file mode 100644 index 839892f686..0000000000 Binary files a/TO_MERGE/ace/wep_dragon/models/ace_m47_optic.p3d and /dev/null differ diff --git a/TO_MERGE/ace/wep_dragon/models/ace_m47_static.p3d b/TO_MERGE/ace/wep_dragon/models/ace_m47_static.p3d deleted file mode 100644 index 15c4d5ef15..0000000000 Binary files a/TO_MERGE/ace/wep_dragon/models/ace_m47_static.p3d and /dev/null differ diff --git a/TO_MERGE/ace/wep_dragon/models/dragon.p3d b/TO_MERGE/ace/wep_dragon/models/dragon.p3d deleted file mode 100644 index 42ce5780f2..0000000000 Binary files a/TO_MERGE/ace/wep_dragon/models/dragon.p3d and /dev/null differ diff --git a/TO_MERGE/ace/wep_dragon/script_component.hpp b/TO_MERGE/ace/wep_dragon/script_component.hpp deleted file mode 100644 index 18c1aa72e8..0000000000 --- a/TO_MERGE/ace/wep_dragon/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT sys_wep_dragon -#include "\x\uo\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_WEP_DRAGON - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_WEP_DRAGON - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_WEP_DRAGON -#endif - -#include "\x\uo\Addons\main\script_macros.hpp" diff --git a/TO_MERGE/ace/wep_dragon/textures/dragon_text.paa b/TO_MERGE/ace/wep_dragon/textures/dragon_text.paa deleted file mode 100644 index a8a3787292..0000000000 Binary files a/TO_MERGE/ace/wep_dragon/textures/dragon_text.paa and /dev/null differ diff --git a/TO_MERGE/ace/wep_dragon/textures/m47_daysight_item_ca.paa b/TO_MERGE/ace/wep_dragon/textures/m47_daysight_item_ca.paa deleted file mode 100644 index 9768f42b9c..0000000000 Binary files a/TO_MERGE/ace/wep_dragon/textures/m47_daysight_item_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/wep_dragon/textures/m47_dragon_item_ca.paa b/TO_MERGE/ace/wep_dragon/textures/m47_dragon_item_ca.paa deleted file mode 100644 index 0e87574794..0000000000 Binary files a/TO_MERGE/ace/wep_dragon/textures/m47_dragon_item_ca.paa and /dev/null differ diff --git a/TO_MERGE/ace/wep_javelin/$PBOPREFIX$ b/TO_MERGE/ace/wep_javelin/$PBOPREFIX$ deleted file mode 100644 index 7b53b3ab81..0000000000 --- a/TO_MERGE/ace/wep_javelin/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -x\uo\Addons\sys_wep_javelin \ No newline at end of file diff --git a/TO_MERGE/ace/wep_javelin/CfgEventhandlers.hpp b/TO_MERGE/ace/wep_javelin/CfgEventhandlers.hpp deleted file mode 100644 index 70e16353cd..0000000000 --- a/TO_MERGE/ace/wep_javelin/CfgEventhandlers.hpp +++ /dev/null @@ -1,17 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; - -class Extended_FiredBIS_EventHandlers { - class CAManBase { - ADDON = QUOTE(_this call FUNC(fired)); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_javelin/CfgOptics.hpp b/TO_MERGE/ace/wep_javelin/CfgOptics.hpp deleted file mode 100644 index 53f36710fb..0000000000 --- a/TO_MERGE/ace/wep_javelin/CfgOptics.hpp +++ /dev/null @@ -1,50 +0,0 @@ -class RscControlsGroup; -class RscPicture; -class RscMapControl; - -// Taken from AGM for optics management. - -class RscInGameUI { - class RscOptics_titan { - - class CA_javelin_elements_group: RscControlsGroup { - class Controls { - class CA_Javelin_Day_mode_off: RscPicture {}; - class CA_Javelin_SEEK_off: CA_Javelin_Day_mode_off { - idc = 1005; - }; - // From AGM - class GetLockedTarget: RscMapControl { - onDraw = QUOTE(_this call FUNC(onGetLockedTarget)); - idc = -1; - w = 0; - h = 0; - }; - }; - }; - }; -}; - -// on colorText[] = {0.2941, 0.8745, 0.2157, 1.0}; -// off colorText[] = {0.2941, 0.2941, 0.2941, 1.0}; -// orange colorText[] = {0.9255, 0.5216, 0.1216, 1.0}; - -/* -CA_javelin_elements_group: 170 -CA_Javelin_Day_mode_off: 1001 -CA_Javelin_Day_mode: 160 -CA_Javelin_WFOV_mode_off: 1004 -CA_Javelin_WFOV_mode_group: 163 -CA_Javelin_NFOV_mode_off: 1003 -CA_Javelin_NFOV_mode_group: 162 -CA_Javelin_SEEK_off: 1005 //1001 -CA_Javelin_SEEK: 166 -CA_Javelin_Missle_off: 1032 -CA_Javelin_Missle: 167 -CA_Javelin_CLU_off: 1027 -CA_Javelin_HangFire_off: 1028 -CA_Javelin_TOP_off: 1006 -CA_Javelin_DIR: 1007 -CA_Javelin_FLTR_mode_off: 1002 -CA_Javelin_FLTR_mode: 161 -*/ \ No newline at end of file diff --git a/TO_MERGE/ace/wep_javelin/XEH_post_init.sqf b/TO_MERGE/ace/wep_javelin/XEH_post_init.sqf deleted file mode 100644 index 6904ee6c47..0000000000 --- a/TO_MERGE/ace/wep_javelin/XEH_post_init.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" -NO_DEDICATED; - diff --git a/TO_MERGE/ace/wep_javelin/XEH_pre_init.sqf b/TO_MERGE/ace/wep_javelin/XEH_pre_init.sqf deleted file mode 100644 index 8682a8a2e9..0000000000 --- a/TO_MERGE/ace/wep_javelin/XEH_pre_init.sqf +++ /dev/null @@ -1,4 +0,0 @@ -#include "script_component.hpp" - -PREP(fired); -PREP(onGetLockedTarget); \ No newline at end of file diff --git a/TO_MERGE/ace/wep_javelin/config.cpp b/TO_MERGE/ace/wep_javelin/config.cpp deleted file mode 100644 index 19758ee057..0000000000 --- a/TO_MERGE/ace/wep_javelin/config.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "uo_sys_laser", "a3_ui_f", "a3_weapons_f" }; - version = VERSION; - }; -}; - -#include "CfgEventhandlers.hpp" -#include "CfgOptics.hpp" \ No newline at end of file diff --git a/TO_MERGE/ace/wep_javelin/fnc_fired.sqf b/TO_MERGE/ace/wep_javelin/fnc_fired.sqf deleted file mode 100644 index d7f85691b2..0000000000 --- a/TO_MERGE/ace/wep_javelin/fnc_fired.sqf +++ /dev/null @@ -1,130 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" -//_this=[TEST_AI_HELICOPTER,"missiles_DAGR","missiles_DAGR","Far_AI","M_PG_AT","24Rnd_PG_missiles",163988: rocket_01_fly_f.p3d] -TRACE_1("enter", _this); -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - -FUNC(guidance_Javelin_LOBL_HI_PFH) = { - TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _missile = _args select 6; - _curVelocity = velocity _missile; - - if(!alive _missile || isNull _missile || isNull _shooter) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - TRACE_2("Setting launch parameters", GVAR(currentTarget), GVAR(currentTargetPos)); - _target = GVAR(currentTarget); - - _addHeight = [0,0,0]; - if(!isNil "_target") then { - - _yVec = vectorDir _missile; - _zVec = vectorUp _missile; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _missilePos = getPosASL _missile; - // player sideChat "G!"; - _targetPos = GVAR(currentTargetPos); - - TRACE_4("Phase Check", _launchPos, _missilePos, _targetPos, (_missilePos distance _targetPos)); - if((count _targetPos) > 0) then { - _distanceToTarget = _missilePos vectorDistance _targetPos; - - _defPitch = 0.05; - - if((_launchPos distance _missilePos) < 400 && (_targetPos distance _missilePos) > 400) then { - _addHeight = [0,0,(_targetPos select 2) + ((_launchPos distance _targetPos)*2)]; - TRACE_1("Climb phase", _addHeight); - //_defPitch = 0.1; - } else { - // Covered half the distance, go terminal - if((_missilePos distance _targetPos) < (_launchPos distance _targetPos) / 2) then { - TRACE_1("TERMINAL", ""); - } else { - if((_missilePos select 2) > (_targetPos select 2)) then { - _heightDiff = (_missilePos select 2) - (_targetPos select 2); - TRACE_1("Coasting", _heightDiff); - _addHeight = [0,0, _heightDiff]; - }; - }; - }; - _targetPos = _targetPos vectorAdd _addHeight; - - _defYaw = 0.0035; - - - _targetVectorSeeker = [_missile, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_defYaw; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _defYaw; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_defPitch; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _defPitch; - }; - }; - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - - _light = "#lightpoint" createVehicleLocal (getPos _missile); - _light setLightBrightness 1.0; - _light setLightAmbient [1.0, 0.0, 0.0]; - _light setLightColor [1.0, 0.0, 0.0]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _missilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _missilePos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _missilePos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _missilePos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_missile, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - - _vectorTo = _missilePos vectorFromTo _outVector; - _missile setVectorDirAndUp [_vectorTo, vectorUp _missile]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; -}; - -FUNC(guidance_Javelin_LOBL_HI) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_Javelin_LOBL_HI_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -if(!local _shooter) exitWith { false }; -if(_weapon == "launch_B_Titan_short_F") then { - _fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_DEFAULT_FIRE_SELECTION]; - - switch (_fireMode select 0) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - default { - LOG("Initiating Javelin FIREMODE_LOBL_HI"); - _this call FUNC(guidance_Javelin_LOBL_HI); - }; -}; -}; \ No newline at end of file diff --git a/TO_MERGE/ace/wep_javelin/fnc_onGetLockedTarget.sqf b/TO_MERGE/ace/wep_javelin/fnc_onGetLockedTarget.sqf deleted file mode 100644 index cd8609c7c8..0000000000 --- a/TO_MERGE/ace/wep_javelin/fnc_onGetLockedTarget.sqf +++ /dev/null @@ -1,8 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" - -// Store the current cursor target for guidance -GVAR(currentTarget) = cursorTarget; -GVAR(currentTargetPos) = screenToWorld [0.5,0.5]; - -TRACE_2("Tracking optics target draw", GVAR(currentTarget), GVAR(currentTargetPos)); \ No newline at end of file diff --git a/TO_MERGE/ace/wep_javelin/script_component.hpp b/TO_MERGE/ace/wep_javelin/script_component.hpp deleted file mode 100644 index 72c3268c97..0000000000 --- a/TO_MERGE/ace/wep_javelin/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT sys_wep_javelin -#include "\x\uo\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_SYS_WEP_JAVELIN - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_SYS_WEP_JAVELIN - #define DEBUG_SETTINGS DEBUG_SETTINGS_SYS_WEP_JAVELIN -#endif - -#include "\x\uo\Addons\main\script_macros.hpp" diff --git a/TO_MERGE/agm/Armour/config.cpp b/TO_MERGE/agm/Armour/config.cpp deleted file mode 100644 index 080298a2ae..0000000000 --- a/TO_MERGE/agm/Armour/config.cpp +++ /dev/null @@ -1,258 +0,0 @@ -class CfgPatches { - class AGM_Armour { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"KoffeinFlummi", "Adanteh"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - }; -}; - -class CfgFunctions { - class AGM_Armour { - class AGM_Armour { - file = "AGM_Armour\functions"; - class cookOff; - class getHitPointBySelection; - class handleDamage; - class init; - }; - }; -}; - -class Extended_Init_EventHandlers { - class AllVehicles { - class AGM_Armour { - init = "_this call AGM_Armour_fnc_init"; - }; - }; -}; - -class CfgSFX { - class AGM_CookOff { - name = "Cook-Off"; - sounds[] = {"cookoff"}; - cookoff[] = {"\AGM_Armour\sounds\cookoff.wav",6,1.8,400,1,0,0,0}; - empty[] = {"",0,0,0,0,0,0,0}; - }; -}; - -class CfgVehicles { - /* - * AGM_Armour_AmmoLocation: - * HitPoint classname that holds the magazine of the vehicle - * AGM_Armour_CookOffLocations: - * Positions to spawn cookoff particle effects at - * AGM_Armour_CookOffOnTurret: - * Positions placed on turret? - * - * These 2 will be introduced in v0.96: - * AGM_Armour_TurretObject: - * Object to spawn to simulate turret flying off; "" to not spawn enything - * AGM_Armour_TurretPosition: - * Position to spawn turret at - * - * All positions are Y-up, just like in Oxygen/Object Builder. - */ - - class Sound; - class AGM_Sound_CookOff: Sound { - sound = "AGM_CookOff"; - scope = 2; - }; - - class Land; - class LandVehicle: Land { - AGM_Armour_AmmoLocation = "HitTurret"; - AGM_Armour_CookOffLocations[] = {{0,-0.2,0}}; - AGM_Armour_CookOffOnTurret[] = {0}; - explosionEffect = ""; - }; - class Tank: LandVehicle { - // 2 hatches on the turret; fits most tanks - AGM_Armour_CookOffLocations[] = {{-0.6,-0.3,1.65}, {0.5,-0.3,1.65}}; - AGM_Armour_CookOffOnTurret[] = {1, 1 }; - }; - - // Small explosions for cars with explosive ammunition - class MRAP_01_gmg_base_F; - class B_MRAP_01_gmg_F: MRAP_01_gmg_base_F { - explosionEffect = "FuelExplosion"; - }; - class MRAP_02_gmg_base_F; - class O_MRAP_01_gmg_F: MRAP_02_gmg_base_F { - explosionEffect = "FuelExplosion"; - }; - class MRAP_03_gmg_base_F; - class I_MRAP_03_gmg_F: MRAP_03_gmg_base_F { - explosionEffect = "FuelExplosion"; - }; - - // Big explosions for tracked vehicles and wheeled APCs - class Tank_F: Tank { - explosionEffect = "FuelExplosionBig"; - }; - class Car_F; - class Wheeled_APC_F: Car_F { - explosionEffect = "FuelExplosionBig"; - }; - class APC_Wheeled_03_base_F: Wheeled_APC_F { - explosionEffect = "FuelExplosionBig"; - }; - class APC_Wheeled_01_base_F: Wheeled_APC_F { - explosionEffect = "FuelExplosionBig"; - }; - class APC_Wheeled_02_base_F: Wheeled_APC_F { - explosionEffect = "FuelExplosionBig"; - }; - - class B_MBT_01_base_F; - class B_MBT_01_cannon_F: B_MBT_01_base_F { - AGM_Armour_AmmoLocation = "HitHull"; - //AGM_Armour_TurretObject = "AGM_Turret_MBT_01"; - //AGM_Armour_TurretPosition[] = {3,3,0}; - AGM_Armour_CookOffLocations[] = {{-0.3,-0.3,1.8}}; - AGM_Armour_CookOffOnTurret[] = {1}; - }; - class B_MBT_01_arty_base_F; - class B_MBT_01_arty_F: B_MBT_01_arty_base_F { - AGM_Armour_CookOffLocations[] = {{0.7,-0.3,3.5}}; - AGM_Armour_CookOffOnTurret[] = {1}; - }; - class B_MBT_01_mlrs_base_F; - class B_MBT_01_mlrs_F: B_MBT_01_mlrs_base_F { - AGM_Armour_CookOffLocations[] = {{0,-0.3,1.65}}; - AGM_Armour_CookOffOnTurret[] = {0}; - }; - class B_APC_Tracked_01_base_F; - class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { - AGM_Armour_AmmoLocation = "HitHull"; - AGM_Armour_CookOffLocations[] = {{0.5,-0.3,1.3}}; - AGM_Armour_CookOffOnTurret[] = {0}; - }; - class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { - AGM_Armour_CookOffLocations[] = {{-0.4,-0.3,1.9}, {0.3,-0.3,1.9}}; - AGM_Armour_CookOffOnTurret[] = {1, 1 }; - }; - class B_APC_Wheeled_01_base_F; - class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { - AGM_Armour_CookOffLocations[] = {{-0.3,0,1.85}, {0.3,0,1.85}}; - AGM_Armour_CookOffOnTurret[] = {1, 1 }; - }; - - class I_APC_tracked_03_base_F; - class I_APC_tracked_03_cannon_F: I_APC_tracked_03_base_F { - AGM_Armour_CookOffLocations[] = {{-0.4,-0.3,1.5}, {0.7,-0.3,1.5}}; - AGM_Armour_CookOffOnTurret[] = {1, 1 }; - }; - class I_APC_Wheeled_03_base_F; - class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { - AGM_Armour_CookOffLocations[] = {{0,-0.6,0}}; - AGM_Armour_CookOffOnTurret[] = {0}; - }; - - class O_MBT_02_base_F; - class O_MBT_02_cannon_F: O_MBT_02_base_F { - AGM_Armour_CookOffLocations[] = {{-0.6,-0.3,1.65}, {0.5,-0.3,1.65}}; - AGM_Armour_CookOffOnTurret[] = {1, 1 }; - }; - class O_MBT_02_arty_base_F; - class O_MBT_02_arty_F: O_MBT_02_arty_base_F { - AGM_Armour_CookOffLocations[] = {{0.7,-0.3,3.5}}; - AGM_Armour_CookOffOnTurret[] = {1}; - }; - class O_APC_Tracked_02_base_F; - class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { - AGM_Armour_CookOffLocations[] = {{-0.4,0.2,3.6}, {0.3,0.2,3.6}}; - AGM_Armour_CookOffOnTurret[] = {1, 1 }; - }; - class O_APC_Tracked_02_cannon_F: O_APC_Tracked_02_base_F { - AGM_Armour_CookOffLocations[] = {{0,-0.5,1.65}}; - AGM_Armour_CookOffOnTurret[] = {1}; - }; - class O_APC_Wheeled_02_base_F; - class O_APC_Wheeled_02_rcws_F: O_APC_Wheeled_02_base_F { - AGM_Armour_AmmoLocation = "HitHull"; - AGM_Armour_CookOffLocations[] = {{0,-0.4,1}}; - AGM_Armour_CookOffOnTurret[] = {0}; - }; - - - /* - class O_MBT_02_base_F; - class O_MBT_02_cannon_F: O_MBT_02_base_F { - AGM_Armour_TurretObject = "AGM_Turret_MBT_02"; - AGM_Armour_TurretPosition[] = {0.9,3,1.5}; - };*/ - - // Turret Objects - /* - class thingX; - class AGM_Turret_MBT_01: thingX { - scope = 1; - model = "\A3\Structures_F\Wrecks\Wreck_Slammer_turret_F.p3d"; - }; - class AGM_Turret_MBT_02: thingX { - scope = 1; - model = "\A3\Structures_F\Wrecks\Wreck_T72_turret_F.p3d"; - }; - */ -}; - -class CfgCloudlets { - class AGM_CookOff { - angle = 0; - angleVar = 0; - animationName = ""; - animationSpeed[] = {1}; - animationSpeedCoef = 1; - beforeDestroyScript = ""; - bounceOnSurface = 0.6; - bounceOnSurfaceVar = 0; - circleRadius = 0; - circleVelocity[] = {2,2,2}; - color[] = {{1,1,1,-4},{1,1,1,-3},{1,1,1,-2},{1,1,1,-1},{1,1,1,0}}; - colorCoef[] = {1,1,1,1}; - colorVar[] = {0,0,0,2}; - destroyOnWaterSurface = 0; - destroyOnWaterSurfaceOffset = 0; - interval = 0.004; - keepOnSurface = 0; - lifeTime = 1; - lifeTimeVar = 0; - moveVelocity[] = {0,4,0}; - moveVelocityVar[] = {1,2,1}; - moveVelocityVarConst[] = {0,0,0}; - onSurface = 1; - onTimerScript = ""; - particleEffects = ""; - particleFSFrameCount = 32; - particleFSIndex = 0; - particleFSLoop = 0; - particleFSNtieth = 16; - particleShape = "\A3\data_f\ParticleEffects\Universal\Universal"; - particleType = "Billboard"; - position[] = {0,0,0}; - positionVar[] = {0,0,0}; - positionVarConst[] = {0,0,0}; - postEffects = ""; - randomDirectionIntensity = 1; - randomDirectionIntensityVar = 2; - randomDirectionPeriod = 5; - randomDirectionPeriodVar = 1; - rotationVelocity = 1; - rotationVelocityVar = 3; - rubbing = 0; - size[] = {0.01,0.5,1,1,1.5,0.01,0.001}; - sizeCoef = 1; - sizeVar = 0.1; - surfaceOffset = 0; - timerPeriod = 1; - volume = 0.45; - weight = 0.4; - }; -}; diff --git a/TO_MERGE/agm/Armour/functions/fn_cookOff.sqf b/TO_MERGE/agm/Armour/functions/fn_cookOff.sqf deleted file mode 100644 index 0804c9b244..0000000000 --- a/TO_MERGE/agm/Armour/functions/fn_cookOff.sqf +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Start a cook-off in the given vehicle. - * - * Arguments: - * 0: Vehicle - * - * Return Value: - * Boom. - */ - -if !(local (_this select 0)) then { - [_this, "AGM_Armour_fnc_cookOff", (_this select 0)] call AGM_Core_fnc_execRemoteFnc; -}; - -if ((_this select 0) getVariable ["AGM_Armour_isCookingOff", False]) exitWith {}; -(_this select 0) setVariable ["AGM_Armour_isCookingOff", True]; - -_this spawn { - private ["_vehicle", "_positions", "_onTurret"]; - - _vehicle = _this select 0; - _positions = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Armour_CookOffLocations"); - _onTurret = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Armour_CookOffOnTurret"); - - sleep 0.5 + (random 0.3); - - // guesstimate turret center; intersect weapon direction with front axis. - // if you find a better method, yell at me. - _gunBeg = _vehicle selectionPosition (getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "gunBeg")); - _gunEnd = _vehicle selectionPosition (getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "gunEnd")); - _weaponDir = _gunEnd vectorFromTo _gunBeg; // this may seem counterintuitive, but it's BIS we're talking about. - _turretAxis = [-1,-1]; - if (abs (_weaponDir select 0) > 0.05 and !(isArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "memoryPointGun"))) then { - _y = (_gunBeg select 1) - ((_gunBeg select 0) / (_weaponDir select 0)) * (_weaponDir select 1); - if (_y < 5) then { - _turretAxis set [0, 0]; - _turretAxis set [1, _y]; - }; - }; - - ["Armour", nil, { - AGM_TurretAxis = _turretAxis; - addMissionEventHandler ["Draw3D", { - drawLine3D [(vehicle player) modelToWorld (AGM_TurretAxis + [-5]), (vehicle player) modelToWorld (AGM_TurretAxis + [10]), [1,0,0,1]]; - }]; - }] call AGM_Debug_fnc_log; - - // Smoke out of cannon and hatches - _smokeBarrel = "#particlesource" createVehicle [0,0,0]; - _smokeBarrel setParticleClass "MediumDestructionSmoke"; - _smokeBarrel attachTo [_vehicle, _vehicle selectionPosition (getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "gunBeg"))]; - - _smokes = []; - { - _position = [ - - (_x select 0), - - (_x select 2), - (_x select 1) - ]; -/* if (_onTurret select _forEachIndex == 1 and _turretAxis select 0 != -1) then { - _weaponDirDeg = ((_weaponDir select 0) atan2 (_weaponDir select 1)) * -1; - _posX = (_position select 0) - (_turretAxis select 0); - _posY = (_position select 1) - (_turretAxis select 1); - _posNewX = _posX * cos _weaponDirDeg - _posY * sin _weaponDirDeg; - _posNewY = _posX * sin _weaponDirDeg - _posY * cos _weaponDirDeg; - _position set [0, _posNewX + (_turretAxis select 0)]; - _position set [1, _posNewY + (_turretAxis select 1)]; - };*/ - - _smoke = "#particlesource" createVehicle [0,0,0]; - _smoke setParticleClass "ObjectDestructionSmoke1_2Smallx"; - _smoke attachTo [_vehicle, _position]; - _smokes pushBack _smoke; - } forEach _positions; - - sleep 3 + (random 2); - - // this shit is busy being on fire, can't go driving around all over the place - _vehicle setFuel 0; - - _light = "#lightpoint" createVehicle [0,0,0]; - _light lightAttachObject [_vehicle, [0,0,4]]; - - [_light, "{_this setLightBrightness 0.7; _this setLightAmbient [1,0.4,0.15]; _this setLightColor [1,0.4,0.15];}"] call AGM_Core_fnc_execRemoteFnc; - - // CookOffs - _fires = []; - { - _position = [ - - (_x select 0), - - (_x select 2), - (_x select 1) - ]; - if (_onTurret select _forEachIndex == 1 and _turretAxis select 0 != -1) then { - _weaponDirDeg = ((_weaponDir select 0) atan2 (_weaponDir select 1)) * -1; - _posX = (_position select 0) - (_turretAxis select 0); - _posY = (_position select 1) - (_turretAxis select 1); - _posNewX = _posX * cos _weaponDirDeg - _posY * sin _weaponDirDeg; - _posNewY = _posX * sin _weaponDirDeg - _posY * cos _weaponDirDeg; - _position set [0, _posNewX + (_turretAxis select 0)]; - _position set [1, _posNewY + (_turretAxis select 1)]; - }; - - _fire = "#particlesource" createVehicle [0,0,0]; - _fire setParticleClass "AGM_CookOff"; - _fire attachTo [_vehicle, _position]; - _fires pushBack _fire; - } forEach _positions; - - _sound = createSoundSource ["AGM_Sound_CookOff", getPos _vehicle, [], 0]; - - // indicator for the crew - yo, your shit's on fire - { - if ([_x] call AGM_Core_fnc_isPlayer) then { - [[_vehicle], "{(_this select 0) spawn {for '_i' from 0 to 11 do {if (vehicle AGM_player != _this) exitWith {}; [] call BIS_fnc_flamesEffect; sleep 0.4;};};}", _x] call AGM_Core_fnc_execRemoteFnc; - }; - } forEach (crew _vehicle); - - sleep (4 + random 1); - - deleteVehicle _smokeBarrel; - [_smokes, {deleteVehicle _this}] call AGM_Core_fnc_map; - [_fires, {deleteVehicle _this}] call AGM_Core_fnc_map; - deleteVehicle _light; - _sound setPosASL [-10000, -10000, 1000]; //deleteVehicle _sound; - - (_this select 0) setVariable ["AGM_Armour_isCookingOff", False]; - if (local _vehicle and damage _vehicle < 1) then { - _vehicle setDamage 1; - /* @todo: this is for v0.96 - _turretClass = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Armour_TurretObject"); - if (_turretClass != "") then { - _turretPos = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Armour_TurretPosition"); - _position = [ - - (_turretPos select 0), - - (_turretPos select 2), - (_turretPos select 1) - ]; - _turret = _turretClass createVehicle (_vehicle modelToWorld _position); - // @todo - //_turret setVectorUp [random 1, random 1, 1]; - //_turret setVelocity [random 7, random 7, 8 + random 5]; - };*/ - }; -}; diff --git a/TO_MERGE/agm/Armour/functions/fn_getHitPointBySelection.sqf b/TO_MERGE/agm/Armour/functions/fn_getHitPointBySelection.sqf deleted file mode 100644 index 48bd7cbcf8..0000000000 --- a/TO_MERGE/agm/Armour/functions/fn_getHitPointBySelection.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Finds out the hitpoint classname of the given selection. - * (works only for main and MainTurret hitpoints) - * - * Arguments: - * 0: Vehicle - * 1: Selection name - * - * Return Value: - * None - */ - -private ["_vehicle", "_selectionName"]; - -_vehicle = _this select 0; -_selectionName = _this select 1; - -_vehicleConfig = configFile >> "CfgVehicles" >> typeOf _vehicle; -_hitPoints = ("True" configClasses (_vehicleConfig >> "HitPoints")) + - ("True" configClasses (_vehicleConfig >> "Turrets" >> "MainTurret" >> "HitPoints")); - -_hitPoint = ""; -for "_i" from 0 to (count _hitPoints - 1) do { - if (getText ((_hitPoints select _i) >> "name") == _selectionName) exitWith { - _hitPoint = configName (_hitPoints select _i); - }; -}; - -_hitPoint diff --git a/TO_MERGE/agm/Armour/functions/fn_handleDamage.sqf b/TO_MERGE/agm/Armour/functions/fn_handleDamage.sqf deleted file mode 100644 index 218b312e6d..0000000000 --- a/TO_MERGE/agm/Armour/functions/fn_handleDamage.sqf +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Handles all incoming damage for vehicles. - * - * Arguments: - * HandleDamage EH - * - * Return Value: - * Damage to be inflicted. - */ - -_vehicle = _this select 0; -_selectionName = _this select 1; -_damage = _this select 2; -_source = _this select 3; -_projectile = _this select 4; - -if (typeName _projectile == "OBJECT") then { - _projectile = typeOf _projectile; -}; - -// It's already dead, who cares? -if (damage _vehicle >= 1) exitWith {}; - -// Find out what hitpoint the selection belongs to. -_hitpoint = [_vehicle, _selectionName] call AGM_Armour_fnc_getHitPointBySelection; - -// Determine type of vehicle and whether the selection is critical. -_type = ""; -_critical = True; -if (_vehicle isKindOf "Car_F") then { - if (_vehicle isKindOf "Wheeled_APC_F") then { - _type = "tank"; - } else { - _type = "car"; - }; - _critical = _hitpoint in ["HitHull", "HitFuel", ""]; -}; -if (_vehicle isKindOf "Tank_F") then { - _type = "tank"; - _critical = _hitpoint in ["HitHull", ""]; -}; -if (_vehicle isKindOf "Helicopter") then { - _type = "heli"; - _critical = _hitpoint in ["HitHull", ""]; -}; -if (_vehicle isKindOf "Plane") then { - _type = "plane"; - _critical = _hitpoint in ["HitHull", ""]; -}; -if (_vehicle isKindOf "Ship_F") then { - _type = "ship"; - _critical = _hitpoint in ["HitHull", ""]; -}; -if (_vehicle isKindOf "StaticWeapon") then { - _type = "static"; - _critical = _hitpoint in ["HitHull", ""]; -}; - -// Are we doing anything with this type of vehicle? -if !(_type in ["tank", "car"]) exitWith {}; - -// Change in damage -_newDamage = _damage - (_vehicle getHit _selectionName); - -// Prevent total destruction of car unless round used is explosive -if (_type == "car") exitWith { - if (!_critical or (getNumber (configFile >> "CfgAmmo" >> _projectile >> "explosive") > 0.5)) then { - if (!(_vehicle getVariable ["AGM_Armour_isEngineSmoking", False]) and _hitpoint == "HitEngine" and _damage > 0.9) then { - _vehicle setVariable ["AGM_Armour_isEngineSmoking", True, True]; - _pos = [ - 0, - (((boundingBoxReal _vehicle) select 1) select 1) - 4, - (((boundingBoxReal _vehicle) select 0) select 2) + 2 - ]; - _smoke = "#particlesource" createVehicle [0,0,0]; - _smoke setParticleClass "ObjectDestructionSmoke1_2Smallx"; - _smoke attachTo [_vehicle, _pos]; - [_vehicle, _smoke] spawn { - _vehicle = _this select 0; - _smoke = _this select 1; - _time = time; - waitUntil {sleep 5; isNull _vehicle or !(alive _vehicle) or ((_vehicle getHitPointDamage "HitEngine") < 0.9) or (_time + 240 < time)}; - deleteVehicle _smoke; - }; - }; - _damage - } else { - _damage min 0.89 - }; -}; - -// Prevent total destruction of tank unless ammo storage is hit -if (_type == "tank") exitWith { - - // Determine ammo storage location - _target = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Armour_AmmoLocation"); - - // Ammo was hit, high chance for cook-off - if (_hitpoint == _target and _damage > 0.5 and random 1 > 0.3) then { - [_vehicle] call AGM_Armour_fnc_cookOff; - }; - - // Ammo wasn't hit, slim chance for cook-off (only for high-damage weapons) - if (_hitpoint != target and _hitpoint in ["HitBody", "HitTurret", ""] and _newDamage > (0.6 + random 0.3)) then { - [_vehicle] call AGM_Armour_fnc_cookOff; - }; - - // Prevent destruction, let cook-off handle it if necessary - if (_critical) then { - _damage min 0.89 - } else { - _damage - }; -}; - -// this shouldn't happen, but who knows -_damage diff --git a/TO_MERGE/agm/Armour/functions/fn_init.sqf b/TO_MERGE/agm/Armour/functions/fn_init.sqf deleted file mode 100644 index 7306ae1bdd..0000000000 --- a/TO_MERGE/agm/Armour/functions/fn_init.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Because CBA's EHs sucks. - * - * Arguments: - * Init EH - * - * Return Value: - * None - */ - -_vehicle = _this select 0; -if (_vehicle isKindOf "CAManBase") exitWith {}; - -_vehicle addEventHandler ["HandleDamage", {_this call AGM_Armour_fnc_handleDamage}]; diff --git a/TO_MERGE/agm/Armour/sounds/cookoff.wav b/TO_MERGE/agm/Armour/sounds/cookoff.wav deleted file mode 100644 index 169986617b..0000000000 Binary files a/TO_MERGE/agm/Armour/sounds/cookoff.wav and /dev/null differ diff --git a/TO_MERGE/agm/FastRoping/agm_fastroping_helper.p3d b/TO_MERGE/agm/FastRoping/agm_fastroping_helper.p3d deleted file mode 100644 index e473e619e8..0000000000 Binary files a/TO_MERGE/agm/FastRoping/agm_fastroping_helper.p3d and /dev/null differ diff --git a/TO_MERGE/agm/FastRoping/animbase/agm_fastroping.p3d b/TO_MERGE/agm/FastRoping/animbase/agm_fastroping.p3d deleted file mode 100644 index e83160849a..0000000000 Binary files a/TO_MERGE/agm/FastRoping/animbase/agm_fastroping.p3d and /dev/null differ diff --git a/TO_MERGE/agm/FastRoping/config.cpp b/TO_MERGE/agm/FastRoping/config.cpp deleted file mode 100644 index 18cff1a62a..0000000000 --- a/TO_MERGE/agm/FastRoping/config.cpp +++ /dev/null @@ -1,161 +0,0 @@ -class CfgPatches { - class AGM_FastRoping { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - }; -}; - -class CfgFunctions { - class AGM_FastRoping { - class AGM_FastRoping { - file = "\AGM_FastRoping\functions"; - class createRope; - class cutRopes; - class deployRopes; - class fastRope; - }; - }; -}; - -class CfgVehicles { - //class AGM_FastRoping_Helper: B_UAV_01_F { - class UAV_01_base_F; - class AGM_FastRoping_Helper: UAV_01_base_F { - scope = 1; - model = "agm_fastroping\agm_fastroping_helper.p3d"; - isUav = 0; - }; - - class Air; - class Helicopter: Air { - AGM_FastRoping = 0; - AGM_FastRoping_Positions[] = {}; - class AGM_SelfActions { - class AGM_DeployRopes { - displayName = "$STR_AGM_FastRoping_DeployRopes"; - enableInside = 1; - condition = "(locked _vehicle <= 1) and !(_vehicle getVariable ['AGM_RopesDeployed', False]) and (getPos _vehicle select 2) > 5 and (getNumber (configFile >> 'CfgVehicles' >> typeOf _vehicle >> 'AGM_FastRoping')) == 1"; - statement = "[_vehicle] call AGM_FastRoping_fnc_deployRopes"; - showDisabled = 0; - priority = 1; - icon = ""; - }; - class AGM_FastRope { - displayName = "$STR_AGM_FastRoping_FastRope"; - enableInside = 1; - condition = "(locked _vehicle <= 1) and (_vehicle getVariable ['AGM_RopesDeployed', False]) and (vectorMagnitude (velocity _vehicle) < 4) and (count ([_vehicle getVariable ['AGM_RopesOccupied', []], {!_this}] call AGM_Core_fnc_filter) > 0)"; - statement = "[_player, _vehicle] call AGM_FastRoping_fnc_fastRope"; - showDisabled = 0; - priority = 1; - icon = ""; - }; - class AGM_CutRopes { - displayName = "$STR_AGM_FastRoping_CutRopes"; - enableInside = 1; - condition = "(_vehicle getVariable ['AGM_RopesDeployed', False]) and (count ([_vehicle getVariable ['AGM_RopesOccupied', []], {_this}] call AGM_Core_fnc_filter) == 0)"; - statement = "[_vehicle] call AGM_FastRoping_fnc_cutRopes"; - showDisabled = 0; - priority = 1; - icon = ""; - }; - }; - }; - class Plane: Air { - AGM_FastRoping = 0; - AGM_FastRoping_Positions[] = {}; - class AGM_SelfActions { - class AGM_DeployRopes { - displayName = "$STR_AGM_FastRoping_DeployRopes"; - enableInside = 1; - condition = "(locked _vehicle <= 1) and !(_vehicle getVariable ['AGM_RopesDeployed', False]) and (getPos _vehicle select 2) > 5 and (getNumber (configFile >> 'CfgVehicles' >> typeOf _vehicle >> 'AGM_FastRoping')) == 1"; - statement = "[_vehicle] call AGM_FastRoping_fnc_deployRopes"; - showDisabled = 0; - priority = 1; - icon = ""; - }; - class AGM_FastRope { - displayName = "$STR_AGM_FastRoping_FastRope"; - enableInside = 1; - condition = "(locked _vehicle <= 1) and (_vehicle getVariable ['AGM_RopesDeployed', False]) and (vectorMagnitude (velocity _vehicle) < 4) and (count ([_vehicle getVariable ['AGM_RopesOccupied', []], {!_this}] call AGM_Core_fnc_filter) > 0)"; - statement = "[_player, _vehicle] call AGM_FastRoping_fnc_fastRope"; - showDisabled = 0; - priority = 1; - icon = ""; - }; - class AGM_CutRopes { - displayName = "$STR_AGM_FastRoping_CutRopes"; - enableInside = 1; - condition = "(_vehicle getVariable ['AGM_RopesDeployed', False]) and (count ([_vehicle getVariable ['AGM_RopesOccupied', []], {_this}] call AGM_Core_fnc_filter) == 0)"; - statement = "[_vehicle] call AGM_FastRoping_fnc_cutRopes"; - showDisabled = 0; - priority = 1; - icon = ""; - }; - }; - }; - - class Helicopter_Base_F; - class Helicopter_Base_H: Helicopter_Base_F {}; - - // Ghosthawk - class Heli_Transport_01_base_F: Helicopter_Base_H { - AGM_FastRoping = 1; - AGM_FastRoping_Positions[] = {{1.2, 2.5, 0.25}, {-1.1, 2.5, 0.25}}; - }; - - // Chinook - class B_Heli_Transport_03_base_F: Helicopter_Base_H { - AGM_FastRoping = 1; - AGM_FastRoping_Positions[] = {{0, 1, -1.9}, {0, -5, 0.5}}; - }; - - // Wildcat - class I_Heli_light_03_base_F: Helicopter_Base_F { - AGM_FastRoping = 1; - AGM_FastRoping_Positions[] = {{1.2, 2.5, 0.25}, {-1.1, 2.5, 0.25}}; - }; - - // Merlin - class Heli_Transport_02_base_F: Helicopter_Base_H { - AGM_FastRoping = 1; - AGM_FastRoping_Positions[] = {{1.4, 2.5, 0.25}, {-1.2, 2.5, 0.25}}; - }; - - // Kasatka - class Heli_Light_02_base_F: Helicopter_Base_H { - AGM_FastRoping = 1; - AGM_FastRoping_Positions[] = {{1.4, 1.4, 0.05}, {-1.4, 1.4, 0.05}}; - }; - - // Kajman - class Heli_Attack_02_base_F: Helicopter_Base_F { - AGM_FastRoping = 1; - AGM_FastRoping_Positions[] = {{1.4, 1.4, 0}, {-1.2, 1.4, 0}}; - }; -}; - -class CfgMovesBasic { - class DefaultDie; - class ManActions { - AGM_FastRoping = "AGM_FastRoping"; - }; -}; -class CfgMovesMaleSdr: CfgMovesBasic { - class States { - class Crew; - class AGM_FastRoping: Crew { - file = "agm_fastroping\data\agm_fastroping.rtm"; - interpolateTo[] = {"Unconscious",1}; - disableWeapons = 1; - disableWeaponsLong = 1; - canReload = 0; - }; - }; -}; diff --git a/TO_MERGE/agm/FastRoping/data/agm_fastroping.rtm b/TO_MERGE/agm/FastRoping/data/agm_fastroping.rtm deleted file mode 100644 index 9742732a56..0000000000 Binary files a/TO_MERGE/agm/FastRoping/data/agm_fastroping.rtm and /dev/null differ diff --git a/TO_MERGE/agm/FastRoping/functions/fn_createRope.sqf b/TO_MERGE/agm/FastRoping/functions/fn_createRope.sqf deleted file mode 100644 index 00f6e7124a..0000000000 --- a/TO_MERGE/agm/FastRoping/functions/fn_createRope.sqf +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Creates a rope for the vehicle at the given position. - * - * Arguments: - * 0: Vehicle - * 1: Position - * 2: Spawn bottom part of rope in place? (Default: False) - * - * Return Value: - * Array: - * 0: rope 1 - * 1: rope 2 - * 2-3: helper objects - * - * __/| - * | <- rope 1 - * | - * X <- helper 1; attached to player - * | - * | <- rope 2 - * | - * X <- helper 2 - */ - -#define HELPER "AGM_FastRoping_Helper" -#define ROPELENGTH 35 -#define OFFSET 2 - -private ["_vehicle", "_pos", "_inPlace", "_helper1", "_helper1", "_helper2", "_rope1", "_rope2"]; - -_vehicle = _this select 0; -_pos = _this select 1; -_inPlace = False; -if (count _this > 2) then { - _inPlace = _this select 2; -}; - -if (typeName _pos == "STRING") then { - _pos = _vehicle selectionPosition _pos; -}; - -_posWorld = _vehicle modelToWorld _pos; - -// modelToWorld seems to ignore buildings; let's fix that. -_posWorld = _posWorld vectorDiff ((getPosATL _vehicle) vectorDiff (getPos _vehicle)); -_posWorld set [2, (_posWorld select 2) - OFFSET]; - -_posWorld2 =+ _posWorld; -if (_inPlace) then { - _posWorld2 set [2, ((_posWorld select 2) - (ROPELENGTH - OFFSET)) max 0]; -}; - -_helper1 = HELPER createVehicle _posWorld; -_helper1 allowDamage False; - -_helper2 = HELPER createVehicle _posWorld2; -_helper2 allowDamage False; - -//_rope1 = ropeCreate [_helper1, [0,0,0], _helper1, [0,0,0], OFFSET]; -_rope1 = ropeCreate [_vehicle, _pos, _helper1, [0,0,0], OFFSET + 1]; -_rope2 = ropeCreate [_helper1, [0,0,0], _helper2, [0,0,0], ROPELENGTH - (OFFSET + 1)]; - -if (_inPlace) then { - _roof = ((getPosATL _vehicle) vectorDiff (getPos _vehicle)) select 2; - _helper2 setPosATL [ - (getPosATL _helper1) select 0, - (getPosATL _helper1) select 1, - (((getPosATL _helper1) select 2) - ROPELENGTH) max (_roof + 1) - ]; -} else { - _helper2 setPosATL (getPosATL _helper1); -}; - -[_rope1, _rope2, _helper1, _helper2] diff --git a/TO_MERGE/agm/FastRoping/functions/fn_cutRopes.sqf b/TO_MERGE/agm/FastRoping/functions/fn_cutRopes.sqf deleted file mode 100644 index ce956d33b3..0000000000 --- a/TO_MERGE/agm/FastRoping/functions/fn_cutRopes.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Cuts the ropes from the helicopter - * - * Arguments: - * 0: helicopter - * - * Return Value: - * None - */ - -_vehicle = _this select 0; - -_ropes = _vehicle getVariable "AGM_Ropes"; -{ - (_x select 2) ropeDetach (_x select 0); - ropeDestroy (_x select 0); - _x spawn { - sleep 60; - ropeDestroy (_this select 1); - deleteVehicle (_this select 2); - deleteVehicle (_this select 3); - }; -} forEach _ropes; - -_vehicle setVariable ["AGM_RopesDeployed", False, True]; diff --git a/TO_MERGE/agm/FastRoping/functions/fn_deployRopes.sqf b/TO_MERGE/agm/FastRoping/functions/fn_deployRopes.sqf deleted file mode 100644 index 3fa594d31f..0000000000 --- a/TO_MERGE/agm/FastRoping/functions/fn_deployRopes.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Deploys the ropes necessary for fast roping. - * - * Arguments: - * 0: The helicopter - * - * Return Value: - * None - */ - -#define HELPER "AGM_FastRoping_Helper" -#define ROPELENGTH 35 -#define OFFSET 2 - -_vehicle = _this select 0; - -if !(local _vehicle) exitWith { - [[_vehicle], "AGM_FastRoping_fnc_deployRopes", _vehicle] call AGM_Core_fnc_execRemoteFnc; -}; - -_ropePositions = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_FastRoping_Positions"); -_ropes = [_ropePositions, {[objNull, objNull, objNull]}] call AGM_Core_fnc_map; -_occupied = [_ropePositions, {False}] call AGM_Core_fnc_map; - -for "_i" from 0 to ((count _ropes) - 1) do { - _ropePositions = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_FastRoping_Positions"); - _pos = _ropePositions select _i; - - _ropes set [_i, [_vehicle, _pos] call AGM_FastRoping_fnc_createRope]; -}; - -_vehicle setVariable ["AGM_RopesDeployed", True, True]; -_vehicle setVariable ["AGM_Ropes", _ropes, True]; -_vehicle setVariable ["AGM_RopesOccupied", _occupied, True]; diff --git a/TO_MERGE/agm/FastRoping/functions/fn_fastRope.sqf b/TO_MERGE/agm/FastRoping/functions/fn_fastRope.sqf deleted file mode 100644 index ad3fc6e05a..0000000000 --- a/TO_MERGE/agm/FastRoping/functions/fn_fastRope.sqf +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Starts fast roping for a certain unit - * - * Arguments: - * 0: Unit - * 1: Helicopter - * - * Return Value: - * None - */ - -#define ROPELENGTH 35 - -_unit = _this select 0; -_vehicle = _this select 1; - -_ropes = _vehicle getVariable "AGM_Ropes"; -_occupied = _vehicle getVariable "AGM_RopesOccupied"; - -_index = -1; -for "_i" from 0 to ((count _occupied) - 1) do { - if !(_occupied select _i) exitWith { - _index = _i; - }; -}; - -_occupied set [_index, True]; -_vehicle setVariable ["AGM_RopesOccupied", _occupied, True]; - -_rope = _ropes select _index; -_rope1 = _rope select 0; -_rope2 = _rope select 1; -_helper = _rope select 2; -_unit disableCollisionWith _helper; - -[time, _unit, _vehicle, _index, _rope, _index] spawn { - _time = _this select 0; - _unit = _this select 1; - _vehicle = _this select 2; - _index = _this select 3; - _rope = _this select 4; - _index = _this select 5; - - _rope1 = _rope select 0; - _rope2 = _rope select 1; - _helper = _rope select 2; - - _unit allowDamage False; - moveOut _unit; - waitUntil {vehicle _unit == _unit}; - - _helper setVectorUp [0,0,1]; - _unit attachTo [_helper, [0,0,0]]; - - _vector = (getPos _unit) vectorFromTo (getPos _vehicle); - _unit setVectorDir _vector; - - [[_rope1, _rope2], "{ropeUnwind [_this select 0, 6, 35];ropeUnwind [_this select 1, 6, 0];}", _helper] call AGM_Core_fnc_execRemoteFnc; - - sleep 0.1; - _unit allowDamage True; - [_unit, "AGM_FastRoping", 2] call AGM_Core_fnc_doAnimation; - - waitUntil { - ([_unit] + ([[_helper] call AGM_Core_fnc_getPitchBankYaw, {_this * -1}] call AGM_Core_fnc_map)) call AGM_Core_fnc_setPitchBankYaw; - _time + 1 < time and ((getPos _helper select 2) < 1 or (time >= (_time + ROPELENGTH / 6)) or (vectorMagnitude (velocity _vehicle) > 5)) - }; - - _unit allowDamage False; - _unit spawn { - sleep 0.5; - _this allowDamage True; - }; - - detach _unit; - [_unit, "", 2] call AGM_Core_fnc_doAnimation; - _unit setVectorUp [0,0,1]; - - // delete and recreate rope - {deleteVehicle _x;} forEach _rope; - _ropePositions = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_FastRoping_Positions"); - _pos = _ropePositions select _index; - [ - [_vehicle, _pos, _index], - "{_ropes = (_this select 0) getVariable 'AGM_Ropes';_ropes set [(_this select 2), [(_this select 0), (_this select 1), True] call AGM_FastRoping_fnc_createRope];(_this select 0) setVariable ['AGM_Ropes', _ropes, True];}", - _vehicle - ] call AGM_Core_fnc_execRemoteFnc; - - // free rope for next unit - _occupied = _vehicle getVariable "AGM_RopesOccupied"; - _occupied set [_index, False]; - _vehicle setVariable ["AGM_RopesOccupied", _occupied, True]; -}; diff --git a/TO_MERGE/agm/FastRoping/stringtable.xml b/TO_MERGE/agm/FastRoping/stringtable.xml deleted file mode 100644 index ee94e4a5e7..0000000000 --- a/TO_MERGE/agm/FastRoping/stringtable.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - Deploy Ropes - Seile vorbereiten - Rozwiń liny - Desplegar cuerdas - Развернуть веревку - Připravit lana - - - Fast Rope - Abseilen - Zjedź na linie - Descender por cuerda - Спуститься по веревке - Slanování - - - Cut Ropes - Seile trennen - Odetnij liny - Cortar cuerdas - Перерезать веревку - Odstranit lana - - - \ No newline at end of file diff --git a/TO_MERGE/agm/Headless/.DONTPACK b/TO_MERGE/agm/Headless/.DONTPACK deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/agm/Headless/config.cpp b/TO_MERGE/agm/Headless/config.cpp deleted file mode 100644 index f936da7485..0000000000 --- a/TO_MERGE/agm/Headless/config.cpp +++ /dev/null @@ -1,24 +0,0 @@ -class CfgPatches { - class AGM_Headless { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2"}; - authorUrl = "https://github.com/commy2/"; - }; -}; - -class CfgFunctions { - class AGM_Headless { - class AGM_Headless { - file = "\AGM_Headless\functions"; - class getData; - class logLongString; - class spawnGroups; - }; - }; -}; diff --git a/TO_MERGE/agm/Headless/functions/fn_getData.sqf b/TO_MERGE/agm/Headless/functions/fn_getData.sqf deleted file mode 100644 index 94919d142c..0000000000 --- a/TO_MERGE/agm/Headless/functions/fn_getData.sqf +++ /dev/null @@ -1,84 +0,0 @@ -// by commy2 - -private ["_sides", "_allGroups", "_data", "_count"]; - -_sides = _this; - -// get groups -_allGroups = []; -{ - if (side _x in _sides) then { - _allGroups pushBack _x; - }; -} forEach allGroups; - -// get data -_data = []; -_count = count _allGroups; diag_log text "["; -{ - private ["_units", "_vehicles", "_positions", "_directions", "_vehiclePositions", "_vehicleDirections", "_vehicleIDs", "_index", "_waypoints"]; - - _side = ([civilian, west, east, resistance] find side _x) max 0; - - _units = []; - _vehicles = []; - _positions = []; - _directions = []; - _vehiclePositions = []; - _vehicleDirections = []; - _vehicleIDs = []; - { - _units pushBack typeOf _x; - if (_x != vehicle _x) then { - _index = _vehicles find vehicle _x; - if (_index == -1) then { - _index = _vehicles pushBack vehicle _x; - _vehiclePositions pushBack position vehicle _x; - _vehicleDirections pushBack direction vehicle _x; - }; - _vehicleIDs pushBack _index; - } else { - _vehicleIDs pushBack -1; - }; - - _positions pushBack position _x; - _directions pushBack direction _x; - } forEach units _x; - - _vehicles = [_vehicles, {typeOf _this}] call AGM_Core_fnc_map; - - _waypoints = []; - { - private "_waypointData"; - - _waypointData = [ - waypointName _x, - waypointType _x, - waypointDescription _x, - waypointPosition _x, - waypointCompletionRadius _x, - waypointSpeed _x, - waypointHousePosition _x, - waypointLoiterRadius _x, - waypointLoiterType _x, - waypointCombatMode _x, - /*waypointAttachedObject _x, - waypointAttachedVehicle _x,*/ - waypointShow _x, - waypointVisible _x, - waypointBehaviour _x, - waypointFormation _x, - waypointScript _x, - waypointStatements _x, - waypointTimeout _x - ]; - - _waypoints set [_forEachIndex, _waypointData]; - } forEach waypoints _x; - - _data pushBack [_side, _units, _positions, _directions, _vehicles, _vehicleIDs, _vehiclePositions, _vehicleDirections, _waypoints]; - - [str [_side, _units, _positions, _vehicles, _vehicleIDs, _vehiclePositions, _waypoints] + ([",", ""] select (count _data == _count))] call AGM_Headless_fnc_logLongString; -} forEach _allGroups; diag_log text "] call AGM_Headless_fnc_spawnGroups;"; - -_data diff --git a/TO_MERGE/agm/Headless/functions/fn_logLongString.sqf b/TO_MERGE/agm/Headless/functions/fn_logLongString.sqf deleted file mode 100644 index 160fbfbc4a..0000000000 --- a/TO_MERGE/agm/Headless/functions/fn_logLongString.sqf +++ /dev/null @@ -1,15 +0,0 @@ -// by commy2 - -private ["_array", "_string"]; - -_array = toArray (_this select 0); - -while {count _array > 1024} do { - _string = + _array; - - _string resize 1024; - diag_log text toString _string; - - _array deleteRange [0, 1023]; -}; -diag_log text toString _array; diff --git a/TO_MERGE/agm/Headless/functions/fn_spawnGroups.sqf b/TO_MERGE/agm/Headless/functions/fn_spawnGroups.sqf deleted file mode 100644 index 9963545c2e..0000000000 --- a/TO_MERGE/agm/Headless/functions/fn_spawnGroups.sqf +++ /dev/null @@ -1,65 +0,0 @@ -// by commy2 - -{ - private ["_side", "_units", "_positions", "_directions", "_vehicles", "_vehicleIDs", "_vehiclePositions", "_vehicleDirections", "_waypoints", "_vehicle", "_group1", "_unit", "_index", "_waypoint", "_waypointData"]; - - _side = [civilian, west, east, resistance] select (_x select 0); - _units = _x select 1; - _positions = _x select 2; - _directions = _x select 3; - _vehicles = _x select 4; - _vehicleIDs = _x select 5; - _vehiclePositions = _x select 6; - _vehicleDirections = _x select 7; - _waypoints = _x select 8; - - { - _vehicle = createVehicle [_x, _vehiclePositions select _forEachIndex, [], 0, "FORM"]; - _vehicle setDir (_vehicleDirections select _forEachIndex); - _vehicles set [_forEachIndex, _vehicle]; - } forEach _vehicles; - - _group1 = createGroup _side; - - { - _unit = _group1 createUnit [_x, _positions select _forEachIndex, [], 0, "FORM"]; - _index = _vehicleIDs select _forEachIndex; - if (_index == -1) then { - _unit setDir (_directions select _forEachIndex); - } else { - _unit moveInAny (_vehicles select _index); - }; - } forEach _units; - - { - deleteWaypoint _x; - } forEach waypoints _group1; - - for "_index" from 0 to (count _waypoints - 1) do { - _waypointData = _waypoints select _index; - - _waypoint = _group1 addWaypoint [_waypointData select 3, _waypointData select 4]; - - _waypoint setWaypointName (_waypointData select 0); - _waypoint setWaypointType (_waypointData select 1); - _waypoint setWaypointDescription (_waypointData select 2); - _waypoint setWaypointPosition (_waypointData select 3); - _waypoint setWaypointCompletionRadius (_waypointData select 4); - _waypoint setWaypointSpeed (_waypointData select 5); - _waypoint setWaypointHousePosition (_waypointData select 6); - _waypoint setWaypointLoiterRadius (_waypointData select 7); - _waypoint setWaypointLoiterType (_waypointData select 8); - _waypoint setWaypointCombatMode (_waypointData select 9); - /*_waypoint waypointAttachObject (_waypointData select 10); - _waypoint waypointAttachVehicle (_waypointData select 11);*/ - _waypoint showWaypoint (_waypointData select 10); - _waypoint setWaypointVisible (_waypointData select 11); - _waypoint setWaypointBehaviour (_waypointData select 12); - _waypoint setWaypointFormation (_waypointData select 13); - _waypoint setWaypointScript (_waypointData select 14); - _waypoint setWaypointStatements (_waypointData select 15); - _waypoint setWaypointTimeout (_waypointData select 16); - - {vehicle _x doMove position vehicle _x} forEach units _group1; - }; -} forEach _this; diff --git a/TO_MERGE/agm/Logistics/DiagnoseDialog.hpp b/TO_MERGE/agm/Logistics/DiagnoseDialog.hpp deleted file mode 100644 index 891c4a83e6..0000000000 --- a/TO_MERGE/agm/Logistics/DiagnoseDialog.hpp +++ /dev/null @@ -1,104 +0,0 @@ - -class AGM_Rsc_Control_Base; -class AGM_Rsc_Display_Base; - -class AGM_Repair_Diagnose_Dialog { - idd = -1; - movingEnable = 0; - onLoad = "uiNamespace setVariable ['AGM_dlgDiagnose', _this select 0];"; - objects[] = {}; - - class controlsBackground { - class Background { - idc = -1; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0.25}; - colorText[] = {0, 0, 0, 0}; - x = 0;//"safezoneX"; - y = 0;//"safezoneY"; - w = 1;//"safezoneW"; - h = 1;//"safezoneH"; - }; - - /*class Progress_Bar { - idc = 1; - moving = 0; - text = ""; - font = "PuristaMedium"; - sizeEx = "1 / 40 / (getResolution select 5)"; - lineSpacing = 0; - access = 0; - type = 0; - style = 2; - size = 1; - colorBackground[] = {1, 0.647, 0, 0.5}; - colorText[] = {1,1,1,1}; - x = "safezoneX + 0.1 * safezoneW"; - y = "safezoneY + 0.2 * safezoneH"; - w = "0.0 * safezoneW"; - h = "0.01 * safezoneH"; - };*/ - - class LFWheel : Background{//AGM_Rsc_Control_Base { - idc = 10; - colorBackground[] = {1, 1, 1, 1}; - x = "5.5 / 16"; - y = "1 / 9"; - w = "0.5 / 16"; - h = "1.5 / 9"; - }; - class LF2Wheel : LFWheel { - idc = 11; - y = "3 / 9"; - }; - class LMWheel : LFWheel { - idc = 12; - y = "5 / 9"; - }; - class LBWheel : LFWheel { - idc = 13; - y = "7 / 9"; - }; - - class RFWheel : LFWheel { - idc = 14; - x = "10 / 16"; - }; - class RF2Wheel : RFWheel { - idc = 15; - y = "3 / 9"; - }; - class RMWheel : RFWheel { - idc = 16; - y = "5 / 9"; - }; - class RBWheel : RFWheel { - idc = 17; - y = "7 / 9"; - }; - - class Body : LFWheel { - idc = 20; - x = "7 / 16"; - y = "4 / 9"; - w = "2 / 16"; - h = "1.5 / 9"; - }; - class Engine : Body { - idc = 21; - y = "2 / 9"; - }; - class Fuel : Body { - idc = 22; - y = "6 / 9"; - }; - }; -}; diff --git a/TO_MERGE/agm/Logistics/FuelCapacities.hpp b/TO_MERGE/agm/Logistics/FuelCapacities.hpp deleted file mode 100644 index d9f539bfe9..0000000000 --- a/TO_MERGE/agm/Logistics/FuelCapacities.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#define AGM_FUELCAPACITY_KART 4 -#define AGM_FUELCAPACITY_QUAD 15 -#define AGM_FUELCAPACITY_OFFROARD 80 // http://www.nissan.de/content/dam/services/DE/brochure/NISSAN_Navara_Broschuere+Preisliste_DE.pdf -#define AGM_FUELCAPACITY_VAN 80 // @todo - -#define AGM_FUELCAPACITY_MATV 163 // fuel capacity of humvee (can't find informations for M-ATV) -#define AGM_FUELCAPACITY_PUNISHER 200 // This is guesswork and should be adjusted for all vehicles individually in the future @todo -#define AGM_FUELCAPACITY_FENNEK 230 // http://de.wikipedia.org/wiki/Sp%C3%A4hwagen_Fennek - -#define AGM_FUELCAPACITY_HEMTT 587 // http://en.wikipedia.org/wiki/Heavy_Expanded_Mobility_Tactical_Truck -#define AGM_FUELCAPACITY_KAMAZ 420 // @todo -#define AGM_FUELCAPACITY_TYPHOON 420 // @todo - -#define AGM_FUELCAPACITY_PATRIA 600 // @todo -#define AGM_FUELCAPACITY_ARMA 600 // @todo -#define AGM_FUELCAPACITY_PANDUR 228 // http://www.pandur.at/panzer2.htm - -#define AGM_FUELCAPACITY_NAMER 1400 // assumed to be the same as the merkava -#define AGM_FUELCAPACITY_BMP 800 // @todo -#define AGM_FUELCAPACITY_WARRIOR 770 // http://arcaneafvs.com/warrior.html (don't ask) - -#define AGM_FUELCAPACITY_MERKAVA 1400 // http://en.wikipedia.org/wiki/Merkava -#define AGM_FUELCAPACITY_T100 1600 // http://www.tanksim.com/topic3.htm -#define AGM_FUELCAPACITY_LEOPARD 1200 // http://en.wikipedia.org/wiki/Leopard_2 - -#define AGM_FUELCAPACITYCARGO_VAN 5000 // guesswork based on relative size compared to the othes -#define AGM_FUELCAPACITYCARGO_HEMTT 9464 // http://oshkoshdefense.com/variants/m978a4-fuel-servicing-truck-tanker/ -#define AGM_FUELCAPACITYCARGO_KAMAZ 7125 // guesswork based on relative size compared to HEMTT -#define AGM_FUELCAPACITYCARGO_TYPHOON 7125 // guesswork based on relative size compared to HEMTT -#define AGM_FUELCAPACITYCARGO_CRV 0 // this thing doesn't carry any fuel (I think) -#define AGM_FUELCAPACITYCARGO_SKYCRANE 3000 // no idea - -#define AGM_FUELCAPACITYCARGO_ISOCONT 24000 //http://www.seacoglobal.com/equipment/tank-container/standards/ (a bit less due the ingame varriant) -#define AGM_FUELCAPACITYCARGO_BARREL 200 //https://en.wikipedia.org/wiki/Drum_%28container%29 -#define AGM_FUELCAPACITYCARGO_4BARREL 800 //200*4 diff --git a/TO_MERGE/agm/Logistics/Macros.hpp b/TO_MERGE/agm/Logistics/Macros.hpp deleted file mode 100644 index b03ac8f4d3..0000000000 --- a/TO_MERGE/agm/Logistics/Macros.hpp +++ /dev/null @@ -1,279 +0,0 @@ - -#define KEY_WHEEL_4X4 \ - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel"}; \ - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - -#define KEY_WHEEL_6X6_FRONT \ - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel", "HitLBWheel", "HitRBWheel"}; \ - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLF2Wheel, STR_AGM_Repair_HitRF2Wheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - -#define KEY_WHEEL_6X6_REAR \ - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLMWheel", "HitRMWheel", "HitLBWheel", "HitRBWheel"}; \ - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLMWheel, STR_AGM_Repair_HitRMWheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - -#define KEY_WHEEL_6X6_REAR_KAMAZ \ - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLMWheel", "HitRMWheel", "HitLF2Wheel", "HitRF2Wheel"}; \ - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLMWheel, STR_AGM_Repair_HitRMWheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - -#define KEY_WHEEL_6X6_STOMPER \ - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel", "HitLMWheel", "HitRMWheel"}; \ - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLMWheel, STR_AGM_Repair_HitRMWheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - -#define KEY_WHEEL_8X8 \ - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel", "HitLMWheel", "HitRMWheel", "HitLBWheel", "HitRBWheel"}; \ - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLF2Wheel, STR_AGM_Repair_HitRF2Wheel, STR_AGM_Repair_HitLMWheel, STR_AGM_Repair_HitRMWheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - - -#define MACRO_LOADABLE \ - class AGM_loadItem { \ - displayName = "$STR_AGM_Logistics_LoadItem"; \ - distance = 4; \ - condition = "[AGM_Interaction_Target] call AGM_Logistics_fnc_canLoadItem"; \ - statement = "[AGM_Interaction_Target, AGM_Logistics_targetVehicle] call AGM_Logistics_fnc_openLoadUI"; \ - showDisabled = 1; \ - priority = 1.6; \ - icon = "\A3\ui_f\data\igui\cfg\actions\gear_ca.paa"; \ - }; - -#define MACRO_NOT_LOADABLE \ - class AGM_loadItem { \ - condition = "false"; \ - }; - -#define MACRO_UNLOAD \ - class AGM_loadItemCarried { \ - displayName = "$STR_AGM_Logistics_LoadItem"; \ - distance = 4; \ - condition = "[AGM_Interaction_Target] call AGM_Logistics_fnc_canLoadItemCarried"; \ - statement = "[player getVariable 'AGM_carriedItem', AGM_Interaction_Target] call AGM_Logistics_fnc_openLoadUI"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 1.6; \ - icon = "\A3\ui_f\data\igui\cfg\actions\gear_ca.paa"; \ - }; \ - class AGM_unloadBox { \ - displayName = "$STR_AGM_Logistics_Unload"; \ - distance = 4; \ - condition = "[AGM_Interaction_Target] call AGM_Logistics_fnc_hasLoadedItems && {alive AGM_Interaction_Target}"; \ - statement = "[AGM_Interaction_Target] call AGM_Logistics_fnc_openUnloadUI"; \ - showDisabled = 1; \ - priority = 1.5; \ - icon = "\A3\ui_f\data\igui\cfg\actions\gear_ca.paa"; \ - }; - -#define MACRO_RELOAD_MAGS \ - class AGM_reloadMagazines { \ - displayName = "$STR_AGM_Logistics_ReloadMagazines"; \ - distance = 4; \ - condition = "count ([player, AGM_Interaction_Target] call AGM_Logistics_fnc_getLoadableMagazines) > 0"; \ - statement = "[AGM_Interaction_Target] call AGM_Logistics_fnc_openMagazineMenu"; \ - showDisabled = 1; \ - priority = 1.45; \ - icon = "\A3\ui_f\data\igui\cfg\actions\reammo_ca.paa"; \ - }; - -#define MACRO_DRAGABLE \ - class AGM_DragItem { \ - displayName = "$STR_AGM_Drag_StartDrag"; \ - distance = 4; \ - condition = "!(player call AGM_Drag_fnc_isDraggingObject)"; \ - conditionShow = "[AGM_Interaction_Target, player] call AGM_Drag_fnc_isDraggable"; \ - statement = "[AGM_Interaction_Target, player] call AGM_Drag_fnc_dragObject"; \ - showDisabled = 0; \ - priority = 3; \ - icon = "\A3\ui_f\data\igui\cfg\actions\gear_ca.paa"; \ - hotkey = "R"; \ - }; -// tooltip = "Drag this object."; \ - -#define MACRO_NOT_DRAGABLE \ - class AGM_DragItem { \ - condition = "false"; \ - }; -#define MACRO_GETIN_STATIC \ - class AGM_GetIn { \ - displayName = "$STR_AGM_StaticWeapons_GetIn"; \ - distance = 4; \ - condition = "[AGM_Interaction_Target] call AGM_StaticWeapons_fnc_canGetIn"; \ - statement = "[AGM_Interaction_Target] call AGM_StaticWeapons_fnc_getIn"; \ - showDisabled = 0; \ - priority = 1; \ - }; \ - class AGM_RotateClockwise { \ - displayName = "$STR_AGM_StaticWeapons_RotateClockwise"; \ - distance = 4; \ - condition = "[AGM_Interaction_Target, true] call AGM_StaticWeapons_fnc_canRotate"; \ - statement = "[AGM_Interaction_Target, true] call AGM_StaticWeapons_fnc_rotate"; \ - showDisabled = 1; \ - priority = 2.1; \ - icon = "AGM_Logistics\ui\rotate_cw_ca.paa"; \ - }; \ - class AGM_RotateCounterclockwise { \ - displayName = "$STR_AGM_StaticWeapons_RotateCounterclockwise"; \ - distance = 4; \ - condition = "[AGM_Interaction_Target, false] call AGM_StaticWeapons_fnc_canRotate"; \ - statement = "[AGM_Interaction_Target, false] call AGM_StaticWeapons_fnc_rotate"; \ - showDisabled = 1; \ - priority = 2; \ - icon = "AGM_Logistics\ui\rotate_ccw_ca.paa"; \ - }; - -#define MACRO_NOT_GETINABLE_STATIC \ - class AGM_GetIn { \ - condition = "false"; \ - }; \ - class AGM_RotateClockwise { \ - condition = "false"; \ - }; \ - class AGM_RotateCounterclockwise { \ - condition = "false"; \ - }; \ - -#define MACRO_CUTWIRE \ - class AGM_Wirecutter_cut { \ - displayName = "$STR_AGM_CutFence"; \ - distance = 4; \ - condition = "'ToolKit' in items player && {alive AGM_Interaction_Target}"; \ - statement = "[5, AGM_Interaction_Target] call AGM_Wirecutter_fnc_cutDownFence"; \ - showDisabled = 1; \ - priority = 2.1; \ - icon = "AGM_Logistics\ui\wirecutter_ca.paa"; \ - }; - -#define MACRO_CUTWIRE_LONG \ - class AGM_Wirecutter_cut { \ - displayName = "$STR_AGM_CutFence"; \ - distance = 4; \ - condition = "'ToolKit' in items player && {alive AGM_Interaction_Target}"; \ - statement = "[5, AGM_Interaction_Target] call AGM_Wirecutter_fnc_cutDownFence"; \ - showDisabled = 1; \ - priority = 2.1; \ - icon = "AGM_Logistics\ui\wirecutter_ca.paa"; \ - }; - -#define MACRO_CARRYJERRYCAN \ - class AGM_CarryJerrycan { \ - displayName = "$STR_AGM_Drag_StartCarry"; \ - distance = 4; \ - condition = "[player, AGM_Interaction_Target] call AGM_Drag_fnc_isCarryable"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Drag_fnc_carryJerrycan"; \ - showDisabled = 1; \ - priority = 3; \ - icon = "\A3\ui_f\data\igui\cfg\actions\gear_ca.paa"; \ - }; \ - class AGM_DropJerrycan { \ - displayName = "$STR_AGM_Drag_EndCarry"; \ - distance = 4; \ - condition = "[player, AGM_Interaction_Target] call AGM_Drag_fnc_isCarryingObject"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Drag_fnc_dropJerrycan"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 3; \ - icon = "\A3\ui_f\data\igui\cfg\actions\gear_ca.paa"; \ - }; \ - class AGM_CheckFuelJerrycan { \ - displayName = "$STR_AGM_Resupply_CheckFuelJerryCan"; \ - distance = 4; \ - condition = "alive AGM_Interaction_Target"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_getFuelAmountJerrycan"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 3; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; - -#define MACRO_CHECKFUEL \ - class AGM_CheckFuelSelf { \ - displayName = "$STR_AGM_Resupply_CheckFuelJerryCan"; \ - condition = "(player getVariable ['AGM_carriedItem', objNull]) isKindOf 'AGM_JerryCan'"; \ - statement = "[player] call AGM_Resupply_fnc_getFuelAmountJerrycan"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 3; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; - -#define MACRO_REFUEL \ - class AGM_RefuelCargo { \ - displayName = "$STR_AGM_Resupply_RefuelVehicleCargo"; \ - distance = 4; \ - condition = "[AGM_Interaction_Target] call AGM_Resupply_fnc_canRefuelCargo"; \ - statement = "[AGM_Interaction_Target] call AGM_Resupply_fnc_refuelVehicleCargo"; \ - showDisabled = 0; \ - priority = 1.225; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; \ - class AGM_Refuel { \ - displayName = "$STR_AGM_Resupply_RefuelVehicle"; \ - distance = 4; \ - condition = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_canRefuel"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_refuelVehicle"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 1.245; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; \ - class AGM_DrainFuel { \ - displayName = "$STR_AGM_Resupply_DrainFuel"; \ - distance = 4; \ - condition = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_canDrainFuel"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_drainFuel"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 1.235; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; \ - class AGM_CheckFuel { \ - displayName = "$STR_AGM_Resupply_CheckFuel"; \ - distance = 4; \ - condition = "alive AGM_Interaction_Target && {speed AGM_Interaction_Target == 0}"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_getFuelAmount"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 1.295; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; - -#define MACRO_REFUELCARGO \ - class AGM_DrainFuelCargo { \ - displayName = "$STR_AGM_Resupply_DrainFuelCargo"; \ - distance = 4; \ - condition = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_canDrainFuelCargo"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_drainFuelCargo"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 1.22; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; \ - class AGM_CheckFuelCargo { \ - displayName = "$STR_AGM_Resupply_CheckFuelCargo"; \ - distance = 4; \ - condition = "alive AGM_Interaction_Target && {speed AGM_Interaction_Target == 0}"; \ - statement = "[player, AGM_Interaction_Target] call AGM_Resupply_fnc_getFuelAmountCargo"; \ - exceptions[] = {"AGM_Drag_isNotDragging"}; \ - showDisabled = 0; \ - priority = 1.24; \ - icon = "\A3\ui_f\data\igui\cfg\actions\refuel_ca.paa"; \ - }; - -#define MACRO_REFUEL_UAV \ - class AGM_RefuelUAV { \ - displayName = "$STR_AGM_UAVs_Recharge"; \ - distance = 4; \ - condition = "'AGM_UAVBattery' in items player && {fuel cursorTarget < 1}"; \ - statement = "[cursorTarget, player] call AGM_UAVs_fnc_refuel"; \ - showDisabled = 0; \ - priority = 1.245; \ - icon = "AGM_Logistics\ui\AGM_battery.paa"; \ - }; - -#define MACRO_PARADROP \ - class AGM_DropCargo { \ - displayName = "$STR_AGM_Paradrop_Unload"; \ - distance = 4; \ - condition = "getNumber(configFile >> 'CfgVehicles' >> typeOf vehicle player >> 'AGM_Paradrop') == 1 && {getPosATL vehicle player select 2 > 60} && {count (vehicle player getVariable ['AGM_Logistics_loadedItems', []]) > 0}"; \ - conditionShow = "getNumber(configFile >> 'CfgVehicles' >> typeOf vehicle player >> 'AGM_Paradrop') == 1"; \ - statement = "[vehicle player] call AGM_Paradrop_fnc_paradrop"; \ - priority = 1; \ - enableInside = 1; \ - }; diff --git a/TO_MERGE/agm/Logistics/agm_battery.p3d b/TO_MERGE/agm/Logistics/agm_battery.p3d deleted file mode 100644 index 60bf0f28a6..0000000000 Binary files a/TO_MERGE/agm/Logistics/agm_battery.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/agm_track.p3d b/TO_MERGE/agm/Logistics/agm_track.p3d deleted file mode 100644 index a3026317f8..0000000000 Binary files a/TO_MERGE/agm/Logistics/agm_track.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/agm_wheel.p3d b/TO_MERGE/agm/Logistics/agm_wheel.p3d deleted file mode 100644 index 4229f7391d..0000000000 Binary files a/TO_MERGE/agm/Logistics/agm_wheel.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/config.cpp b/TO_MERGE/agm/Logistics/config.cpp deleted file mode 100644 index 807d3a5438..0000000000 --- a/TO_MERGE/agm/Logistics/config.cpp +++ /dev/null @@ -1,1334 +0,0 @@ -class CfgPatches { - class AGM_Logistics { - units[] = {"AGM_JerryCan", "AGM_SpareTrack", "AGM_SpareWheel", "AGM_SandbagBarrier_Crate", "AGM_RazorWire_Crate"}; - weapons[] = {"AGM_UAVBattery"}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2", "KoffeinFlummi", "Garth 'L-H' de Wet", "marc_book", "gpgpgpgp", "nic547"}; - authorUrl = "https://github.com/commy2/"; - }; -}; - -/* - Drag, Logistics: by Garth 'L-H' de Wet - UAVs, Repair: by marc_book - Wirecutter: by gpgpgpgp - StaticWeapons, Resupply: by commy2 - Something: by KoffeinFlummi -*/ - -class CfgFunctions { - class AGM_Logistics { - class AGM_Logistics { - file = "\AGM_Logistics\functions"; - class canLoadItem; - class canLoadItemCarried; - class canLoadMagazine; - class hasLoadedItems; - class initLoadedObject; - class getLoadableMagazines; - class getLoadPoints; - class getPosLoadable; - class getWeaponsOfMagazine; - class loadItem; - class loadItemAbort; - class loadItemCallback; - class loadMagazine; - class loadMagazineCallback; - class loadMagazineRemote; - class openLoadUI; - class openMagazineMenu; - class openUnloadUI; - class remainingSpace; - class unloadItem; - class unloadItemCallback; - class spawnObject; - }; - }; - class AGM_Drag { - class AGM_Drag { - file="\AGM_Logistics\functions\Drag"; - class initialise{postInit = 1;}; - class makeDraggable; - class makeUndraggable; - class dragObject; - class releaseObject; - class isDraggingObject; - class handleScrollWheel; - class isDraggable; - class GetWeight; - class isCarryable; - class isCarryingObject; - class carryJerrycan; - class dropJerrycan; - }; - }; - class AGM_Repair { - class AGM_Repair { - file = "\AGM_Logistics\functions\Repair"; - class canRemoveWheel; - class canRepair; - class canRepairTrack; - class canRepairWheel; - class checkVehicle; - class checkVehicleCallback; - class getHitPointName; - class getNearestRepairer; - class getNearestTrack; - class getNearestWheel; - class module; - class openSelectWheelUI; - class openSelectWheelUI_Salvage; - class removeWheel; - class removeWheelAbort; - class removeWheelCallback; - class repair; - class repairAbort; - class repairCallback; - class repairTrack; - class repairTrackAbort; - class repairTrackCallback; - class repairWheel; - class repairWheelAbort; - class repairWheelCallback; - class setDamage; - class setHitPointDamage; - }; - }; - class AGM_StaticWeapons { - class AGM_StaticWeapons { - file = "\AGM_Logistics\functions\StaticWeapons"; - class canGetIn; - class canRotate; - class getIn; - class rotate; - }; - }; - class AGM_UAVs { - class AGM_UAVs { - file = "\AGM_Logistics\functions\UAVs"; - class refuel; - class refuelCallback; - }; - }; - class AGM_Wirecutter { - class AGM_Wirecutter { - file = "\AGM_Logistics\functions\Wirecutter"; - class cutDownFence; - class cutDownFenceAbort; - class cutDownFenceCallback; - }; - }; - class AGM_Resupply { - class AGM_Resupply { - file = "\AGM_Logistics\functions\Resupply"; - class getFuelAmount; - class getFuelAmountCallback; - class getFuelAmountCargo; - class getFuelAmountCargoCallback; - class getFuelAmountJerrycan; - class getNearestRefueler; - class canDrainFuel; - class canDrainFuelCargo; - class canRefuel; - class canRefuelCargo; - class drainFuel; - class drainFuelCallback; - class drainFuelCargo; - class drainFuelCargoCallback; - class refuelVehicle; - class refuelVehicleCallback; - class refuelVehicleCargo; - class refuelVehicleCargoCallback; - }; - }; - class AGM_Paradrop { - class AGM_Paradrop { - file = "\AGM_Logistics\functions\Paradrop"; - class paradrop; - }; - }; - class AGM_Fortifications { - class AGM_Fortifications { - file = "\AGM_Logistics\functions\Fortifications"; - class initialise{postInit = 1;}; - class canSetupBarrier; - class setupApprove; - class setupBarrier; - class setupCancel; - class openSelectBarrierlUI; - }; - }; -}; - -class Extended_PostInit_EventHandlers { - class AGM_Logistics { - serverInit = "call compile preprocessFileLineNumbers '\AGM_Logistics\serverInit.sqf'"; - }; -}; - -// Drop carried item if the unit enters a vehicle, dies or assembles or disassembels a weapon -class Extended_GetIn_EventHandlers { - class AllVehicles { - class AGM_DropItem { - clientGetIn = "if (player == _this select 2) then {(_this select 2) call AGM_Drag_fnc_releaseObject}"; - }; - }; -}; -class Extended_Killed_EventHandlers { - class CAManBase { - class AGM_DropItem { - clientKilled = "if (player == _this select 0) then {(_this select 0) call AGM_Drag_fnc_releaseObject}"; - }; - }; -}; -class Extended_WeaponAssembled_EventHandlers { - class CAManBase { - class AGM_DropItem { - clientWeaponAssembled = "if (player == _this select 0) then {(_this select 0) call AGM_Drag_fnc_releaseObject}"; - }; - }; -}; -class Extended_WeaponDisassembled_EventHandlers { - class CAManBase { - class AGM_DropItem { - clientWeaponDisassembled = "if (player == _this select 0) then {(_this select 0) call AGM_Drag_fnc_releaseObject}"; - }; - }; -}; - -class AGM_Core_canInteractConditions { - class AGM_Drag_isNotDragging { - condition = "!(_player getVariable ['AGM_isDragging', false])"; - }; -}; - -class CfgAddons { - class AGM_Repair_Items { - list[] = {"AGM_Repair_Track", "AGM_Repair_Wheel"}; - }; -}; - -class CfgSounds { - class AGM_Wirecutter_sound { - name = "AGM_wirecutter_sound"; - sound[] = {"AGM_Logistics\sound\wire_cut.ogg", "db-0", 1}; - titles[] = {}; - }; - class AGM_Wirecutter_sound_long { - name = "AGM_wirecutter_sound_long"; - sound[] = {"AGM_Logistics\sound\wire_cut_long.ogg", "db-0", 1}; - titles[] = {}; - }; -}; - -#include - -class CfgVehicleClasses { - class AGM_Repair_Items { - displayName = "AGM"; - }; -}; - -#include - -class CfgVehicles { - class Man; - class CAManBase: Man { - class AGM_SelfActions { - // Sometimes it is not possible to target an object that you are dragging - // particularly noticeable on Stratis on the dock wall. - // Adding a self option to release will fix this. - class AGM_ReleaseItemSelf { - displayName = "$STR_AGM_Drag_EndDrag"; - condition = "player call AGM_Drag_fnc_isDraggingObject"; - statement = "player call AGM_Drag_fnc_releaseObject"; - exceptions[] = {"AGM_Drag_isNotDragging"}; - showDisabled = 0; - priority = 2.1; - hotkey = "R"; - }; - MACRO_CHECKFUEL - }; - }; - - class LandVehicle; - class Car: LandVehicle { - AGM_Vehicle_Cargo = 4; - class AGM_Actions { - MACRO_UNLOAD - MACRO_REFUEL - }; - }; - class Tank: LandVehicle { - AGM_Vehicle_Cargo = 4; - class AGM_Actions { - MACRO_UNLOAD - MACRO_REFUEL - MACRO_RELOAD_MAGS - }; - }; - - // Repair wheeled vehicles - class Car_F: Car { - KEY_WHEEL_4X4 - class HitPoints; // @todo - AGM_fuelCapacity = 60; // in liter. - class AGM_Actions: AGM_Actions { - class AGM_Repair { - displayName = "$STR_AGM_Repair"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = ""; - showDisabled = 1; - priority = 1.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - subMenu[] = {"AGM_Repair", 0}; - - class AGM_Repair_checkVehicle { - displayName = "$STR_AGM_Repair_checkVehicle"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = "[AGM_Interaction_Target] call AGM_Repair_fnc_checkVehicle"; - showDisabled = 1; - priority = 1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Wheels { - displayName = "$STR_AGM_Repair_RepairWheel"; - distance = 4; - condition = "[AGM_Interaction_Target, ['HitLFWheel', 'HitLBWheel', 'HitLMWheel', 'HitLF2Wheel', 'HitRFWheel', 'HitRBWheel', 'HitRMWheel', 'HitRF2Wheel']] call AGM_Repair_fnc_canRepairWheel"; - statement = "[AGM_Interaction_Target, ['HitLFWheel', 'HitLBWheel', 'HitLMWheel', 'HitLF2Wheel', 'HitRFWheel', 'HitRBWheel', 'HitRMWheel', 'HitRF2Wheel']] call AGM_Repair_fnc_openSelectWheelUI"; - showDisabled = 1; - priority = 0.9; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Remove_Wheels { - displayName = "$STR_AGM_Repair_RemoveWheel"; - distance = 4; - condition = "[AGM_Interaction_Target, ['HitLFWheel', 'HitLBWheel', 'HitLMWheel', 'HitLF2Wheel', 'HitRFWheel', 'HitRBWheel', 'HitRMWheel', 'HitRF2Wheel']] call AGM_Repair_fnc_canRemoveWheel"; - statement = "[AGM_Interaction_Target, ['HitLFWheel', 'HitLBWheel', 'HitLMWheel', 'HitLF2Wheel', 'HitRFWheel', 'HitRBWheel', 'HitRMWheel', 'HitRF2Wheel']] call AGM_Repair_fnc_openSelectWheelUI_Salvage"; - showDisabled = 1; - priority = 0.8; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Body { - displayName = "$STR_AGM_Repair_HitBody"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitBody'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitBody'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.5; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Engine { - displayName = "$STR_AGM_Repair_HitEngine"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Fuel { - displayName = "$STR_AGM_Repair_HitFuel"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.3; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Gun { - displayName = "$STR_AGM_Repair_HitGun"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitGun'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitGun'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.2; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Turret { - displayName = "$STR_AGM_Repair_HitTurret"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitTurret'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitTurret'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - }; - }; - }; - class Kart_01_Base_F: Car_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_KART; - }; - class MRAP_01_base_F: Car_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_MATV; - }; - class MRAP_02_base_F: Car_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_PUNISHER; - }; - class MRAP_03_base_F: Car_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_FENNEK; - }; - class Quadbike_01_base_F: Car_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_QUAD; - }; - class Offroad_01_base_f: Car_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_OFFROARD; - }; - class UGV_01_base_F: Car_F { - KEY_WHEEL_6X6_STOMPER - }; - - class Truck_F: Car_F { - AGM_Vehicle_Cargo = 8; - KEY_WHEEL_6X6_REAR - class HitPoints: HitPoints { // @todo - class HitLFWheel; - class HitLBWheel; - class HitLMWheel; - class HitLF2Wheel; - class HitRFWheel; - class HitRBWheel; - class HitRMWheel; - class HitRF2Wheel; - }; - AGM_fuelCapacity = 240; // in liter. - class AGM_Actions; - }; - class Wheeled_APC_F: Car_F { - KEY_WHEEL_6X6_REAR - AGM_fuelCapacity = 600; // in liter. - }; - - // Repair tracked vehicles - class Tank_F: Tank { - AGM_fuelCapacity = 1500; // in liter. - class AGM_Actions: AGM_Actions { - class AGM_Repair { - displayName = "$STR_AGM_Repair"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = ""; - showDisabled = 1; - priority = 1.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - subMenu[] = {"AGM_Repair", 0}; - - class AGM_Repair_checkVehicle { - displayName = "$STR_AGM_Repair_checkVehicle"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = "[AGM_Interaction_Target] call AGM_Repair_fnc_checkVehicle"; - showDisabled = 1; - priority = 1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Hull { - displayName = "$STR_AGM_Repair_HitHull"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.5; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_LTrack { - displayName = "$STR_AGM_Repair_HitLTrack"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitLTrack'] call AGM_Repair_fnc_canRepairTrack"; - statement = "[AGM_Interaction_Target, 'HitLTrack'] call AGM_Repair_fnc_repairTrack"; - showDisabled = 0; - priority = 0.42; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_RTrack { - displayName = "$STR_AGM_Repair_HitRTrack"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitRTrack'] call AGM_Repair_fnc_canRepairTrack"; - statement = "[AGM_Interaction_Target, 'HitRTrack'] call AGM_Repair_fnc_repairTrack"; - showDisabled = 0; - priority = 0.41; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Engine { - displayName = "$STR_AGM_Repair_HitEngine"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - /*class AGM_Repair_Fuel { - displayName = "$STR_AGM_Repair_HitFuel"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.3; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - };*/ - class AGM_Repair_Gun { - displayName = "$STR_AGM_Repair_HitGun"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitGun'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitGun'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.2; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Turret { - displayName = "$STR_AGM_Repair_HitTurret"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitTurret'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitTurret'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - }; - }; - }; - class MBT_01_base_F: Tank_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_MERKAVA; - }; - class MBT_02_base_F: Tank_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_T100; - }; - class MBT_03_base_F: Tank_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_LEOPARD; - }; - - class Air; - // Repair helicopters - class Helicopter: Air { - AGM_Paradrop = 0; - AGM_fuelCapacity = 240; // in liter. - AGM_Vehicle_Cargo = 8; - class AGM_Actions { - MACRO_UNLOAD - MACRO_REFUEL - MACRO_RELOAD_MAGS - class AGM_Repair { - displayName = "$STR_AGM_Repair"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = ""; - showDisabled = 1; - priority = 1.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - subMenu[] = {"AGM_Repair", 0}; - - class AGM_Repair_checkVehicle { - displayName = "$STR_AGM_Repair_checkVehicle"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = "[AGM_Interaction_Target] call AGM_Repair_fnc_checkVehicle"; - showDisabled = 1; - priority = 1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Body { - displayName = "$STR_AGM_Repair_HitHull"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.5; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Engine { - displayName = "$STR_AGM_Repair_HitEngine"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Fuel { - displayName = "$STR_AGM_Repair_HitFuel"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.3; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Avionics { - displayName = "$STR_AGM_Repair_HitAvionics"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitAvionics'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitAvionics'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.2; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_HRotor { - displayName = "$STR_AGM_Repair_HitHRotor"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitHRotor'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitHRotor'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.15; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_VRotor { - displayName = "$STR_AGM_Repair_HitVRotor"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitVRotor'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitVRotor'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - }; - }; - class AGM_SelfActions { - MACRO_PARADROP - }; - }; - - class Heli_Transport_02_base_F; - class I_Heli_Transport_02_F : Heli_Transport_02_base_F { - AGM_Vehicle_Cargo = 20; - AGM_Paradrop = 1; - }; - - // Repair fixed wing aircraft - class Plane: Air { - AGM_Paradrop = 0; - AGM_fuelCapacity = 600; // in liter. - AGM_Vehicle_Cargo = 4; - class AGM_Actions { - MACRO_UNLOAD - MACRO_REFUEL - MACRO_RELOAD_MAGS - class AGM_Repair { - displayName = "$STR_AGM_Repair"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = ""; - showDisabled = 1; - priority = 1.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - subMenu[] = {"AGM_Repair", 0}; - - class AGM_Repair_checkVehicle { - displayName = "$STR_AGM_Repair_checkVehicle"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = "[AGM_Interaction_Target] call AGM_Repair_fnc_checkVehicle"; - showDisabled = 1; - priority = 1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Body { - displayName = "$STR_AGM_Repair_HitHull"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.5; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - /*class AGM_Repair_Engine { - displayName = "$STR_AGM_Repair_HitEngine"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Fuel { - displayName = "$STR_AGM_Repair_HitFuel"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.3; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Avionics { - displayName = "$STR_AGM_Repair_HitAvionics"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitAvionics'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitAvionics'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.2; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - };*/ - }; - }; - }; - - // boats - class Ship; - class Ship_F: Ship { - AGM_fuelCapacity = 40; // in liter. - AGM_Vehicle_Cargo = 4; - - class AGM_Actions { - MACRO_UNLOAD - MACRO_REFUEL - class AGM_Repair { - displayName = "$STR_AGM_Repair"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = ""; - showDisabled = 1; - priority = 1.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - subMenu[] = {"AGM_Repair", 0}; - - class AGM_Repair_checkVehicle { - displayName = "$STR_AGM_Repair_checkVehicle"; - distance = 4; - condition = "alive AGM_Interaction_Target"; - statement = "[AGM_Interaction_Target] call AGM_Repair_fnc_checkVehicle"; - showDisabled = 1; - priority = 1; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Body { - displayName = "$STR_AGM_Repair_HitHull"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitHull'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.5; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Engine { - displayName = "$STR_AGM_Repair_HitEngine"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitEngine'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.4; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - class AGM_Repair_Fuel { - displayName = "$STR_AGM_Repair_HitFuel"; - distance = 4; - condition = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_canRepair"; - statement = "[AGM_Interaction_Target, 'HitFuel'] call AGM_Repair_fnc_repair"; - showDisabled = 0; - priority = 0.3; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - }; - }; - }; - - // Static weapons - class StaticWeapon: LandVehicle { - AGM_Size = 2; // 1 = small, 2 = large - class AGM_Actions { - MACRO_DRAGABLE - MACRO_GETIN_STATIC - MACRO_LOADABLE - }; - }; - - //remove actions from Taru Pods - class Pod_Heli_Transport_04_base_F: StaticWeapon { - class AGM_Actions: AGM_Actions { - MACRO_NOT_DRAGABLE - MACRO_NOT_GETINABLE_STATIC - MACRO_NOT_LOADABLE - }; - }; - - class StaticMortar; - class Mortar_01_base_F: StaticMortar { - AGM_Size = 2; // 1 = small, 2 = large - class AGM_Actions { - MACRO_DRAGABLE - MACRO_GETIN_STATIC - MACRO_LOADABLE - }; - }; - - // Ammo boxes - class ThingX; - class ReammoBox_F: ThingX { - AGM_Size = 2; // 1 = small, 2 = large - AGM_CarryPosition[] = {0,1,1}; // offset from player to attach object. - class AGM_Actions { - MACRO_LOADABLE - }; - }; - - class Slingload_base_F: ReammoBox_F { - class AGM_Actions: AGM_Actions { - MACRO_NOT_LOADABLE - }; - }; - - class EAST_Box_Base: ReammoBox_F { - class AGM_Actions: AGM_Actions { - MACRO_DRAGABLE - }; - }; - class IND_Box_Base: ReammoBox_F { - class AGM_Actions: AGM_Actions { - MACRO_DRAGABLE - }; - }; - /*class FIA_Box_Base_F: ReammoBox_F { - class AGM_Actions: AGM_Actions { - MACRO_DRAGABLE - }; - };*/ - class NATO_Box_Base: ReammoBox_F { - class AGM_Actions: AGM_Actions { - MACRO_DRAGABLE - }; - }; - // Remove Larger crate dragging support. - // Would be better to allow some sort of joint push/drag functionality - // Requiring 2 units to access the larger crates and attaching them together (a crappy method of doing it) - // in order to move the bigger ones. Currently simply remove support. - // I believe these crates are currently broken (hitbox doesn't work or something) in 1.22 (2014-07-04) - class Box_East_AmmoVeh_F: EAST_Box_Base { - //transportAmmo = 30000; - class AGM_Actions: AGM_Actions { - MACRO_NOT_DRAGABLE - }; - }; - class Box_NATO_AmmoVeh_F: NATO_Box_Base { - //transportAmmo = 30000; - class AGM_Actions: AGM_Actions { - MACRO_NOT_DRAGABLE - }; - }; - class Box_IND_AmmoVeh_F: IND_Box_Base { - //transportAmmo = 30000; - class AGM_Actions: AGM_Actions { - MACRO_NOT_DRAGABLE - }; - }; - - class Helicopter_Base_F; - class UAV_01_base_F: Helicopter_Base_F { - class AGM_Actions { - MACRO_DRAGABLE - MACRO_REFUEL_UAV - }; - }; - - // New Items - class Land_CanisterFuel_F; - class AGM_JerryCan: Land_CanisterFuel_F { - author = "$STR_AGM_Core_AGMTeam"; - AGM_Size = 1; // 1 = small, 2 = large - class AGM_Actions { - MACRO_LOADABLE - MACRO_CARRYJERRYCAN - }; - icon = "iconObject_circle"; - displayName = "$STR_AGM_Repair_JerryCan"; - mapSize = 0.7; - accuracy = 0.2; - vehicleClass = "AGM_Repair_Items"; - destrType = "DesturctNo"; - }; - - class AGM_SpareTrack: ThingX { - author = "Hawkins"; - AGM_Size = 1; // 1 = small, 2 = large - AGM_CarryPosition[] = {0,1,1}; // offset from player to attach object. - scope = 2; - model = "\AGM_Logistics\agm_track.p3d"; - icon = "iconObject_circle"; - displayName = "$STR_AGM_Repair_SpareTrack"; - mapSize = 0.7; - accuracy = 0.2; - vehicleClass = "AGM_Repair_Items"; - destrType = "DesturctNo"; - - class AGM_Actions { - MACRO_DRAGABLE - MACRO_LOADABLE - }; - }; - - class AGM_SpareWheel: ThingX { - author = "Hawkins"; - AGM_Size = 1; // 1 = small, 2 = large - AGM_CarryPosition[] = {0,1,1}; // offset from player to attach object. - scope = 2; - model = "\AGM_Logistics\agm_wheel.p3d"; - icon = "iconObject_circle"; - displayName = "$STR_AGM_Repair_SpareWheel"; - mapSize = 0.7; - accuracy = 0.2; - vehicleClass = "AGM_Repair_Items"; - destrType = "DesturctNo"; - picture = "\AGM_Logistics\ui\tire_ca.paa"; - - class AGM_Actions { - MACRO_DRAGABLE - MACRO_LOADABLE - }; - }; - - class Land_WoodenBox_F; - class AGM_SandbagBarrier_Crate: Land_WoodenBox_F { - author = "$STR_AGM_Core_AGMTeam"; - AGM_Size = 1; // 1 = small, 2 = large - AGM_CarryPosition[] = {0,1,1}; // offset from player to attach object. - icon = "iconObject_circle"; - displayName = "$STR_AGM_Fortifications_SandbagBarrierCrate"; - mapSize = 0.7; - accuracy = 0.2; - vehicleClass = "AGM_Repair_Items"; - destrType = "DesturctNo"; - class AGM_Actions { - MACRO_DRAGABLE - MACRO_LOADABLE - class AGM_PlaceFortification { - displayName = "Place Fortification"; - distance = 4; - condition = "[player, AGM_Interaction_Target, ['Land_BagFence_Long_F', 'Land_BagFence_Round_F']] call AGM_Fortifications_fnc_canSetupBarrier"; - statement = "[player, AGM_Interaction_Target, ['Land_BagFence_Long_F', 'Land_BagFence_Round_F']] call AGM_Fortifications_fnc_openSelectBarrierlUI"; - showDisabled = 0; - priority = 0.5; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - }; - }; - class AGM_RazorWire_Crate: AGM_SandbagBarrier_Crate { - author = "$STR_AGM_Core_AGMTeam"; - displayName = "$STR_AGM_Fortifications_RazorWireCrate"; - class AGM_Actions: AGM_Actions { - class AGM_PlaceFortification { - displayName = "Place Fortification"; - distance = 4; - condition = "[player, AGM_Interaction_Target, 'Land_Razorwire_F'] call AGM_Fortifications_fnc_canSetupBarrier"; - statement = "[player, AGM_Interaction_Target, 'Land_Razorwire_F'] call AGM_Fortifications_fnc_setupBarrier"; - showDisabled = 0; - priority = 0.5; - icon = "\A3\ui_f\data\igui\cfg\actions\repair_ca.paa"; - }; - }; - }; - - // Misc box content - class Box_NATO_Support_F; - class AGM_Box_Misc: Box_NATO_Support_F { - class TransportItems { - class _xx_AGM_UAVBattery { - count = 6; - name = "AGM_UAVBattery"; - }; - }; - }; - - // wire cutter - class Wall_F; - class Land_Net_Fence_4m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_Net_Fence_8m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE_LONG - }; - }; - class Land_Net_FenceD_8m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_New_WiredFence_5m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_New_WiredFence_10m_Dam_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_New_WiredFence_10m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE_LONG - }; - }; - class Land_Pipe_fence_4m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_Pipe_fence_4mNoLC_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_SportGround_fence_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_Wired_Fence_4m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_Wired_Fence_4mD_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - class Land_Wired_Fence_8m_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE_LONG - }; - }; - class Land_Wired_Fence_8mD_F: Wall_F { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - - class NonStrategic; - class Land_Razorwire_F: NonStrategic { - class AGM_Actions { - MACRO_CUTWIRE - }; - }; - - // disable default arma refueling and repair - class House_Small_F; - class Land_FuelStation_Feed_F: House_Small_F { - class AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = 50000; - transportFuel = 0; - }; - class Land_fs_feed_F: House_Small_F { - class AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = 50000; - transportFuel = 0; - }; - - // APC - class APC_Wheeled_01_base_F: Wheeled_APC_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_PATRIA; - - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel", "HitLMWheel", "HitRMWheel", "HitLBWheel", "HitRBWheel"}; - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLF2Wheel, STR_AGM_Repair_HitRF2Wheel, STR_AGM_Repair_HitLMWheel, STR_AGM_Repair_HitRMWheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - }; - class APC_Wheeled_02_base_F: Wheeled_APC_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_ARMA; - }; - class APC_Wheeled_03_base_F: Wheeled_APC_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_PANDUR; - - AGM_Wheels[] = {"HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel", "HitLMWheel", "HitRMWheel", "HitLBWheel", "HitRBWheel"}; - AGM_WheelsLocalized[] = {STR_AGM_Repair_HitLFWheel, STR_AGM_Repair_HitRFWheel, STR_AGM_Repair_HitLF2Wheel, STR_AGM_Repair_HitRF2Wheel, STR_AGM_Repair_HitLMWheel, STR_AGM_Repair_HitRMWheel, STR_AGM_Repair_HitLBWheel, STR_AGM_Repair_HitRBWheel}; - }; - class APC_Tracked_01_base_F: Tank_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_NAMER; - }; - class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F { - class AGM_Actions; - }; - class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_canRepair = 1; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_CRV; - transportRepair = 0; - transportFuel = 0; - }; - class APC_Tracked_02_base_F: Tank_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_BMP; - }; - class APC_tracked_03_base_F: Tank_F { - AGM_fuelCapacity = AGM_FUELCAPACITY_WARRIOR; - }; - - // Trucks BLU - class Truck_01_base_F: Truck_F { - KEY_WHEEL_8X8 - AGM_fuelCapacity = AGM_FUELCAPACITY_HEMTT; - class AGM_Actions; - }; - class B_Truck_01_transport_F: Truck_01_base_F { - /*class AGM_Load { @todo - class MidLoad { - displayName = "Middle of truck"; - loadSize = 2; // Size of object, 1 = small, 2 = large - LoadPosition[]={0.05,-4,-0.6}; // Offset when attaching. - memoryPoint = "exhaustEnd"; // the memory position on the vehicle to use for the attaching and offset. - }; - UnLoadPosition[]={0,-6,-1.0}; // Position objects will be unloaded to. modelToWorld offset. - };*/ - }; - class B_Truck_01_mover_F: B_Truck_01_transport_F {}; - class B_Truck_01_Repair_F: B_Truck_01_mover_F { - AGM_canRepair = 1; - transportRepair = 0; - }; - class B_Truck_01_fuel_F: B_Truck_01_mover_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_HEMTT; - transportFuel = 0; - }; - /*class B_Truck_01_ammo_F: B_Truck_01_mover_F { - transportAmmo = 30000; - };*/ - - // Trucks INDEP - class Truck_02_base_F: Truck_F { - KEY_WHEEL_6X6_REAR_KAMAZ - AGM_fuelCapacity = AGM_FUELCAPACITY_KAMAZ; - class AGM_Actions: AGM_Actions {}; - }; - class O_Truck_02_box_F: Truck_02_base_F { // this is the repair variant because fuck naming conventions - AGM_canRepair = 1; - transportRepair = 0; - }; - class O_Truck_02_medical_F: O_Truck_02_box_F { // medic inherits from repairer - AGM_canRepair = 0; - }; - class O_Truck_02_fuel_F: Truck_02_base_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_KAMAZ; - transportFuel = 0; - }; - /*class O_Truck_02_ammo_F: Truck_02_base_F { - transportAmmo = 30000; - };*/ - class I_Truck_02_box_F: Truck_02_base_F { // this is the repair variant because fuck naming conventions - AGM_canRepair = 1; - transportRepair = 0; - }; - class I_Truck_02_medical_F: I_Truck_02_box_F { // medic inherits from repairer - AGM_canRepair = 0; - }; - class I_Truck_02_fuel_F: Truck_02_base_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_KAMAZ; - transportFuel = 0; - }; - /*class I_Truck_02_ammo_F: Truck_02_base_F { - transportAmmo = 30000; - };*/ - - // Trucks RED - class Truck_03_base_F: Truck_F { - KEY_WHEEL_6X6_FRONT - AGM_fuelCapacity = AGM_FUELCAPACITY_TYPHOON; - // @todo delete extra hit points - /*class HitPoints: HitPoints { - class HitLFWheel: HitLFWheel {}; - class HitLF2Wheel: HitLF2Wheel {}; - delete HitLMWheel; - class HitLBWheel: HitLBWheel {}; - class HitRFWheel: HitRFWheel {}; - class HitRF2Wheel: HitRF2Wheel {}; - delete HitRMWheel; - class HitRBWheel: HitRBWheel {}; - };*/ - class AGM_Actions: AGM_Actions {}; - }; - class O_Truck_03_repair_F: Truck_03_base_F { - AGM_canRepair = 1; - transportRepair = 0; - }; - class O_Truck_03_fuel_F: Truck_03_base_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_TYPHOON; - transportFuel = 0; - }; - /*class O_Truck_03_ammo_F: Truck_03_base_F { - transportAmmo = 30000; - };*/ - - // Trucks CIV - class Van_01_base_F: Truck_F { - KEY_WHEEL_4X4 - AGM_fuelCapacity = AGM_FUELCAPACITY_VAN; - class AGM_Actions: AGM_Actions {}; - }; - class I_G_Van_01_fuel_F: Van_01_base_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_VAN; - transportFuel = 0; - }; - class C_Van_01_fuel_F: Van_01_base_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_VAN; - transportFuel = 0; - }; - - // heli addon - class Helicopter_Base_H; - class Heli_Transport_04_base_F: Helicopter_Base_H { - class AGM_Actions; - }; - class O_Heli_Transport_04_fuel_F: Heli_Transport_04_base_F { - class AGM_Actions: AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_SKYCRANE; - transportFuel = 0; - }; - class O_Heli_Transport_04_repair_F: Heli_Transport_04_base_F { - AGM_canRepair = 1; - transportRepair = 0; - }; - // Fuel tanks - class CargoNet_01_base_F; - class CargoNet_01_barrels_F:CargoNet_01_base_F { - class AGM_Actions{ - MACRO_REFUELCARGO - MACRO_LOADABLE - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_4BARREL; - }; - class Items_Base_F; - class Land_MetalBarrel_F:Items_Base_F { - class AGM_Actions { - MACRO_REFUELCARGO - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_BARREL; - }; - class Slingload_01_Base_F; - class B_Slingload_01_Fuel_F:Slingload_01_Base_F { - class AGM_Actions { - MACRO_REFUELCARGO - MACRO_LOADABLE - }; - AGM_fuelCapacityCargo = AGM_FUELCAPACITYCARGO_ISOCONT; - transportFuel = 0; - }; - //Hawkeye104 AGM Repair Module - class Module_F; - class AGM_ModuleRepair: Module_F { - author = "Hawkeye104"; - category = "AGM"; - displayName = "Repair System"; - function = "AGM_Repair_fnc_module"; - scope = 2; - isGlobal = 1; - icon = "\AGM_Logistics\UI\Icon_Module_Repair_ca.paa"; - class Arguments { - //Time to repair heavy damage e.g. engine, fuel line, body - class TimeRepair { - displayName = "Heavy Repair Time"; - description = "Time to repair engine/turret/body/fuel components (in seconds). Default: 10"; - typeName = "NUMBER"; - defaultValue = 10; - }; - //Time to replace a wheel - class TimeWheelRepair { - displayName = "Wheel Replace Time"; - description = "Time to replace a wheel (in seconds). Default: 10"; - typeName = "NUMBER"; - defaultValue = 10; - }; - //Time to replace a track - class TimeTrackRepair { - displayName = "Track Replace Time"; - description = "Time to replace a track (in seconds). Default: 10"; - typeName = "NUMBER"; - defaultValue = 10; - }; - //Maximum damage that can be repaired - //See Logistics\functions\Repair\fn_repairCallback.sqf - class MaxDamageRepair { - displayName = "Maximum Repaired Damage"; - description = "Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage. Decimal Value. Default: 0"; - typeName = "NUMBER"; - defaultValue = 0; - }; - }; - }; -}; - -// Handle vehicle magazines -class CfgMagazines { - class CA_LauncherMagazine; - class Titan_AA: CA_LauncherMagazine { - AGM_LoadTime = 10; - AGM_MagazineReloadType = 1; - }; - - class Titan_AP: Titan_AA { - }; - - class Titan_AT: Titan_AA { - }; -}; - -class CfgWeapons { - class MissileLauncher; - class missiles_titan: MissileLauncher { - AGM_Magazines[] = {"Titan_AA"}; - }; - - class ItemCore; - class InventoryItem_Base_F; - class ToolKitItem; - - // disable default arma repair - class ToolKit: ItemCore { - type = 4; - detectRange = -1; - simulation = "ItemMineDetector"; - class ItemInfo: ToolKitItem { - mass = 80; - type = 201; - }; - }; - - class AGM_ItemCore; - class AGM_UAVBattery: AGM_ItemCore { - scope = 2; - displayName = "$STR_AGM_UAVs_Battery_Name"; - descriptionShort = "$STR_AGM_UAVs_Battery_Description"; - model = "\AGM_Logistics\agm_battery.p3d"; - picture = "\AGM_Logistics\ui\AGM_battery.paa"; - class ItemInfo: InventoryItem_Base_F { - mass = 20; - }; - }; -}; - -class AGM_Parameters_Numeric { - AGM_Repair_TimeRepair = 10; - AGM_Repair_TimeWheelRepair = 10; - AGM_Repair_TimeTrackRepair = 10; - AGM_Repair_MaxDamageRepair = 0; -}; - -#include diff --git a/TO_MERGE/agm/Logistics/data/battery.rvmat b/TO_MERGE/agm/Logistics/data/battery.rvmat deleted file mode 100644 index 88e2fd06f2..0000000000 --- a/TO_MERGE/agm/Logistics/data/battery.rvmat +++ /dev/null @@ -1,79 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={1,1,1,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={0.01,0.01,0.01,1}; //amount of glossiness - the higher the number, the higher the glossiness -specularPower=500; //area of glossiness - the higher the number, the smaller the area -PixelShaderID="Super"; -VertexShaderID="Super"; - -class Stage1 { - texture="AGM_Logistics\data\battery_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 { - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,dt)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,mc)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 { - texture="AGM_Logistics\data\default_as.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,1}; - }; -}; -class Stage5 { - texture="AGM_Logistics\data\battery_smdi.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 { - texture="#(ai,64,64,1)fresnel(4.7,1.2)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage7 { - texture="a3\data_f\env_land_ca.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/agm/Logistics/data/battery_co.paa b/TO_MERGE/agm/Logistics/data/battery_co.paa deleted file mode 100644 index 14abfa75b0..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/battery_co.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/battery_nohq.paa b/TO_MERGE/agm/Logistics/data/battery_nohq.paa deleted file mode 100644 index 11b7e6e14d..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/battery_nohq.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/battery_smdi.paa b/TO_MERGE/agm/Logistics/data/battery_smdi.paa deleted file mode 100644 index 85ea45371f..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/battery_smdi.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/default_as.paa b/TO_MERGE/agm/Logistics/data/default_as.paa deleted file mode 100644 index b7efce459b..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/default_as.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/default_nohq.paa b/TO_MERGE/agm/Logistics/data/default_nohq.paa deleted file mode 100644 index fc53cf83b2..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/default_nohq.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/default_smdi.paa b/TO_MERGE/agm/Logistics/data/default_smdi.paa deleted file mode 100644 index 22e365f422..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/default_smdi.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/track.rvmat b/TO_MERGE/agm/Logistics/data/track.rvmat deleted file mode 100644 index 38528b54fe..0000000000 --- a/TO_MERGE/agm/Logistics/data/track.rvmat +++ /dev/null @@ -1,79 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={1,1,1,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={0.01,0.01,0.01,1}; //amount of glossiness - the higher the number, the higher the glossiness -specularPower=500; //area of glossiness - the higher the number, the smaller the area -PixelShaderID="Super"; -VertexShaderID="Super"; - -class Stage1 { - texture="AGM_Logistics\data\default_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 { - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,dt)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,mc)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 { - texture="AGM_Logistics\data\default_as.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,1}; - }; -}; -class Stage5 { - texture="AGM_Logistics\data\default_smdi.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 { - texture="#(ai,64,64,1)fresnel(4.7,1.2)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage7 { - texture="a3\data_f\env_land_ca.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/agm/Logistics/data/track_co.paa b/TO_MERGE/agm/Logistics/data/track_co.paa deleted file mode 100644 index 7a00514e0b..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/track_co.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/wheel.rvmat b/TO_MERGE/agm/Logistics/data/wheel.rvmat deleted file mode 100644 index ab09ea65ae..0000000000 --- a/TO_MERGE/agm/Logistics/data/wheel.rvmat +++ /dev/null @@ -1,79 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={1,1,1,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={0.01,0.01,0.01,1}; //amount of glossiness - the higher the number, the higher the glossiness -specularPower=500; //area of glossiness - the higher the number, the smaller the area -PixelShaderID="Super"; -VertexShaderID="Super"; - -class Stage1 { - texture="AGM_Logistics\data\wheel_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 { - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,dt)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 { - texture="#(argb,8,8,3)color(0,0,0,0,mc)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 { - texture="AGM_Logistics\data\default_as.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,1}; - }; -}; -class Stage5 { - texture="AGM_Logistics\data\default_smdi.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 { - texture="#(ai,64,64,1)fresnel(4.7,1.2)"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage7 { - texture="a3\data_f\env_land_ca.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/agm/Logistics/data/wheel_co.paa b/TO_MERGE/agm/Logistics/data/wheel_co.paa deleted file mode 100644 index aec7556509..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/wheel_co.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/data/wheel_nohq.paa b/TO_MERGE/agm/Logistics/data/wheel_nohq.paa deleted file mode 100644 index 4a8efb5720..0000000000 Binary files a/TO_MERGE/agm/Logistics/data/wheel_nohq.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_GetWeight.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_GetWeight.sqf deleted file mode 100644 index 0bb036e592..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_GetWeight.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/* - Name: AGM_Drag_fnc_GetWeight - - Author(s): - L-H - - Description: - Returns the weight of a crate. - - Parameters: - OBJECT - Crate to get weight of - - Returns: - NUMBER - Weight - - Example: - _weight = Crate1 call AGM_Drag_fnc_GetWeight; -*/ -private ["_totalWeight", "_fnc","_fnc_Extra"]; -_totalWeight = 0; -_fnc_Extra = { - private ["_weight", "_items"]; - _items = _this select 0; - _weight = 0; - { - _weight = _weight + (getNumber (ConfigFile >> (_this select 1) >> _x >> (_this select 2) >> "mass") * ((_items select 1) select _foreachIndex)); - } foreach (_items select 0); - - _weight -}; -_fnc = { - private ["_weight", "_items"]; - _items = _this select 0; - _weight = 0; - { - _weight = _weight + (getNumber (ConfigFile >> (_this select 1) >> _x >> "mass") * ((_items select 1) select _foreachIndex)); - } foreach (_items select 0); - - _weight -}; -_totalWeight = ([getMagazineCargo _this, "CfgMagazines"] call _fnc); -_totalWeight = _totalWeight + ([getItemCargo _this, "CfgWeapons", "ItemInfo"] call _fnc_Extra); -_totalWeight = _totalWeight + ([getWeaponCargo _this, "CfgWeapons", "WeaponSlotsInfo"] call _fnc_Extra); -_totalWeight = _totalWeight + ([getBackpackCargo _this, "CfgVehicles"] call _fnc); - -_totalWeight = _totalWeight * 0.5; // Mass in Arma isn't an exact amount but rather a volume/weight value. This attempts to work around that by making it a usable value. (sort of). - -_totalWeight diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_HandleScrollWheel.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_HandleScrollWheel.sqf deleted file mode 100644 index 0f46dda453..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_HandleScrollWheel.sqf +++ /dev/null @@ -1,45 +0,0 @@ -/* - Name: AGM_Drag_fnc_HandleScrollWheel - - Author(s): - L-H - - Description: - Handles raising and lowering the dragged weapon to be able to place it on top of objects. - - Parameters: - Number: Scroll amount - - Returns: - Boolean: Handled or not. - - Example: - 1.2 call AGM_Drag_fnc_HandleScrollWheel; -*/ -#define CLAMP(x,low,high) (if(x > high)then{high}else{if(x < low)then{low}else{x}}) - -private ["_handled", "_z", "_draggedObject"]; -_handled = false; -if (player call AGM_Drag_fnc_isDraggingObject) then { - if (AGM_Modifier > 0) then { - _z = (_this * 0.15); - AGM_Drag_CurrentHeightChange = CLAMP(AGM_Drag_CurrentHeightChange + _z,0,1.755); - if (AGM_Drag_CurrentHeightChange <= 1.75 AND {AGM_Drag_CurrentHeightChange >= 0}) then { - _handled = true; - _draggedObject = player getVariable ["AGM_carriedItem", objNull]; - if (isNull _draggedObject) exitWith {}; - - private ["_pos", "_max"]; - _pos = getPosATL _draggedObject; - _max = (player ModelToWorld [0,0,1.5]) select 2; - _z = (_pos select 2) + _z; - _pos set [2, CLAMP(_z,0,_max)]; - - detach _draggedObject; - _draggedObject setPosATL _pos; - _draggedObject attachTo [player]; - }; - }; -}; - -_handled diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_MakeDraggable.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_MakeDraggable.sqf deleted file mode 100644 index 58950525ff..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_MakeDraggable.sqf +++ /dev/null @@ -1,51 +0,0 @@ -/* - Name: AGM_Drag_fnc_makeDraggable - - Author(s): - L-H - - Description: - Initialises an object for drag usage. - Ensure it is only run on one client or the server. - - Parameters: - 0: OBJECT - Object (static weapon, crate, etc.) - 1: BOOLEAN - Weight accounting if a crate (Default: true) - - Returns: - Nothing - - Example: - // simply make an object draggable - StaticWeapon2 call AGM_Drag_fnc_makeDraggable; - // make a weapon crate draggable while ignoring its weight - [WeaponCrate,false] call AGM_Drag_fnc_makeDraggable; - - // Ensuring only the server initialises the object in the init for the object - if (isServer) then { - this call AGM_Drag_fnc_makeDraggable; - }; -*/ -private ["_nilTest", "_weightAccount", "_object", "_id"]; -if ((typeName _this) == "ARRAY") then { - _object = (_this select 0); - if (count _this > 1) then { - _weightAccount = (_this select 1); - }; -} else { - _object = _this; - _weightAccount = true; -}; -_nilTest = _object getVariable "AGM_dragActionID"; -if ((isNil "_nilTest") OR {_id == -1}) then { - _object setVariable ["AGM_isUsedBy", objNull, true]; - _object setVariable ["AGM_useWeight", _weightAccount, true]; - _object setVariable ["AGM_disableDrag", false, true]; - _id = [_object, localize "STR_AGM_Drag_StartDrag", 4, {!(player call AGM_Drag_fnc_isDraggingObject) AND {[AGM_Interaction_Target, player] call AGM_Drag_fnc_isDraggable}}, {[AGM_Interaction_Target, player] call AGM_Drag_fnc_dragObject;}, true, 2.2] call AGM_Interaction_fnc_addInteraction; - _object setVariable ["AGM_dragActionID", _id, true]; - _id = _object getVariable ["AGM_releaseActionID", -1]; - if (_id == -1) then { - _id = [_object, localize "STR_AGM_Drag_EndDrag", 4, {(player call AGM_Drag_fnc_isDraggingObject)}, {player call AGM_Drag_fnc_releaseObject;}, false, 2.1] call AGM_Interaction_fnc_addInteraction; - _object setVariable ["AGM_releaseActionID", _id, true]; - }; -}; diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_MakeUndraggable.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_MakeUndraggable.sqf deleted file mode 100644 index fdfc06f562..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_MakeUndraggable.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/* - Name: AGM_Drag_fnc_makeUndraggable - - Author(s): - L-H - - Description: - Makes an object undraggable. Also reverses the effects of a AGM_Drag_fnc_makeDraggable call. - - Parameters: - 0: OBJECT - Object (static weapon, crate, etc.) - - Returns: - Nothing - - Example: - // Remove drag functionality from an object - [StaticWeapon2] call AGM_Drag_fnc_makeUndraggable; -*/ -private ["_object", "_id"]; -_object = (_this select 0); - -if (_object getVariable ["AGM_inUse", false]) then { - private "_parentObject"; - _parentObject = attachedTo _object; - if (!isNull _parentObject AND {_parentObject call AGM_Drag_fnc_isDraggingObject}) then { - _parentObject call AGM_Drag_fnc_releaseObject; - } else { - _object setVariable ["AGM_isUsedBy", objNull, true]; - }; -}; -_object setVariable ["AGM_disableDrag", true, true]; - -_id = _object getVariable "AGM_dragActionID"; -if (!(isNil "_id") OR {_id != -1}) then { - _object setVariable ["AGM_dragActionID", -1, true]; - [_object, _id] call AGM_Interaction_fnc_removeInteraction; -}; diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_carryJerrycan.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_carryJerrycan.sqf deleted file mode 100644 index cb26cc5d8f..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_carryJerrycan.sqf +++ /dev/null @@ -1,49 +0,0 @@ -// by commy2 - -#define ANIM_CARRY "AmovPercMstpSnonWnonDnon" -#define ATTACH_POINT [0.01, 0, -0.19] - -_this spawn { - _unit = _this select 0; - _target = _this select 1; - - _unit setVariable ["AGM_isDragging", true]; - _unit setVariable ["AGM_carriedItem", _target, true]; - _target setVariable ["AGM_isUsedBy", _unit, true]; - - [_unit, _target, true] call AGM_Core_fnc_claim; - - if (currentWeapon _unit != "" && {currentWeapon _unit == primaryWeapon _unit} && {weaponLowered _unit} && {stance _unit == "STAND"}) then { - [_unit, "amovpercmstpsraswrfldnon"] call AGM_Core_fnc_doAnimation; - }; - _unit action ["SwitchWeapon", _unit, _unit, 99]; - - [_unit, ANIM_CARRY] call AGM_Core_fnc_doAnimation; - waitUntil {animationState _unit == ANIM_CARRY}; - - // exit here if the player releases the jerry can before the animation is finished - if !(_unit getVariable ["AGM_isDragging", false]) exitWith {}; - - _target attachTo [_unit, ATTACH_POINT, "RightHand"]; - [_target, "{_this setDir 273}", _target] call AGM_Core_fnc_execRemoteFnc; // the setPos getPos trick doesn't work for attached objects - - [_unit, "AGM_Logistics", true] call AGM_Core_fnc_setForceWalkStatus; - - _actionID = _unit getVariable ["AGM_Drag_ReleaseActionID", -1]; - - if (_actionID != -1) then { - _unit removeAction _actionID; - }; - _actionID = _unit addAction [format ["%1", localize "STR_AGM_Drag_EndDrag"], "player call AGM_Drag_fnc_releaseObject;", nil, 20, false, true, "","player call AGM_Drag_fnc_isDraggingObject"]; - - _unit setVariable ["AGM_Drag_ReleaseActionID", _actionID]; - - waitUntil { - if (stance _unit != "STAND" || {currentWeapon _unit != ""}) exitWith { - [_unit, _target] call AGM_Drag_fnc_dropJerrycan; - }; - - !(_unit getVariable ["AGM_isDragging", false]) - }; - _unit removeAction (_unit getVariable ["AGM_Drag_ReleaseActionID", -1]); -}; diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_dragObject.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_dragObject.sqf deleted file mode 100644 index 30333372b1..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_dragObject.sqf +++ /dev/null @@ -1,71 +0,0 @@ -/* - Name: AGM_Drag_fnc_dragObject - - Author(s): - L-H - - Description: - Prepares the passed unit to drag the passed weapon. - - Parameters: - 0: OBJECT - Dragged weapon - 1: OBJECT - Unit dragging - - Returns: - Nothing - - Example: - [StaticWeapon3, player] call AGM_Drag_fnc_dragObject; -*/ - -#define ANIM_CARRY ["amovpercmstpslowwrfldnon_acinpknlmwlkslowwrfldb_2", "amovpercmstpsraswpstdnon_acinpknlmwlksnonwpstdb_2", "amovpercmstpsnonwnondnon_acinpknlmwlksnonwnondb_2", "acinpknlmstpsraswrfldnon", "acinpknlmstpsnonwpstdnon", "acinpknlmstpsnonwnondnon"]; - -_this spawn { - _draggedObject = _this select 0; - _unit = _this select 1; - if (_draggedObject getVariable ["AGM_disableDrag", false]) exitWith {}; - _ableToDrag = true; - - if ((typeOf _draggedObject) isKindOf "StaticWeapon") then { - _gunner = gunner _draggedObject; - if (!isNull _gunner && {alive _gunner}) then { - _gunner setPosASL getPosASL _gunner; - }; - } else { // Crate handling - if (_draggedObject getVariable ["AGM_useWeight", true]) then { - _ableToDrag = ((_draggedObject call AGM_Drag_fnc_GetWeight) <= AGM_Drag_MaxWeight); - }; - }; - if (!_ableToDrag) exitWith { [localize "STR_AGM_Drag_UnableToDrag"] call AGM_Core_fnc_displayTextStructured;}; - if (primaryWeapon _unit == "") then { - _unit addWeapon "AGM_FakePrimaryWeapon"; - }; - _unit selectWeapon (primaryWeapon _unit); - - [_unit, _draggedObject, true] call AGM_Core_fnc_claim; - - _unit setVariable ["AGM_isDragging", true]; - _unit setVariable ["AGM_carriedItem", _draggedObject, true]; - - _unit playActionNow "grabDrag"; - waitUntil {animationState _unit in ANIM_CARRY}; - - // exit here if the player releases the jerry can before the animation is finished - if !(_unit getVariable ["AGM_isDragging", false]) exitWith { - _unit playAction "released"; - }; - - _attachPoint = [0,1.2, ((_draggedObject modelToWorld [0,0,0]) select 2) - ((_unit modelToWorld [0,0,0]) select 2)]; - _draggedObject attachTo [_unit, _attachPoint]; - - _actionID = _unit getVariable ["AGM_Drag_ReleaseActionID", -1]; - - if (_actionID != -1) then { - _unit removeAction _actionID; - }; - _actionID = _unit addAction [format ["%1", localize "STR_AGM_Drag_EndDrag"], "player call AGM_Drag_fnc_releaseObject;", nil, 20, false, true, "","player call AGM_Drag_fnc_isDraggingObject"]; - - _unit setVariable ["AGM_Drag_ReleaseActionID", _actionID]; - - AGM_Drag_CurrentHeightChange = 0; -}; diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_dropJerrycan.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_dropJerrycan.sqf deleted file mode 100644 index 249c6948fe..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_dropJerrycan.sqf +++ /dev/null @@ -1,19 +0,0 @@ -// by commy2 - -_unit = _this select 0; -_target =_this select 1; - -_unit setVariable ["AGM_isDragging", false]; -_unit setVariable ["AGM_carriedItem", objNull, true]; -_target setVariable ["AGM_isUsedBy", objNull, true]; - -[objNull, _target, true] call AGM_Core_fnc_claim; - -_unit allowDamage false; -detach _target; -[_unit, "AGM_Logistics", false] call AGM_Core_fnc_setForceWalkStatus; -_unit allowDamage true; - -_unit removeAction (_unit getVariable ["AGM_Drag_ReleaseActionID", -1]); - -[_target, "{_this setVectorUp (surfaceNormal getPosASL _this)}", _target] call AGM_Core_fnc_execRemoteFnc; diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_initialise.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_initialise.sqf deleted file mode 100644 index 690ca2bb09..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_initialise.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/* - Name: AGM_Drag_fnc_Initialise - - Author(s): - L-H - - Description: - Adds an EventHandler to check if a weapon has been assembled. - - Parameters: - Nothing - - Returns: - Nothing - - Example: - // Called by ArmA via Function Library - call AGM_Drag_fnc_Initialise; -*/ -AGM_Drag_CurrentHeightChange = 0; -[{(_this select 0) call AGM_Drag_fnc_HandleScrollWheel;}] call AGM_Core_fnc_addScrollWheelEventHandler; - -if (isNil "AGM_Drag_MaxWeight") then { - AGM_Drag_MaxWeight = 800; -}; diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_isCarryable.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_isCarryable.sqf deleted file mode 100644 index 9fd5fda8bd..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_isCarryable.sqf +++ /dev/null @@ -1,10 +0,0 @@ -// by commy2 - -private ["_unit", "_target"]; - -_unit = _this select 0; -_target = _this select 1; - -_unit == vehicle _unit && -{alive _target} && -{!(_target getVariable ["AGM_disableDrag", false])} diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_isCarryingObject.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_isCarryingObject.sqf deleted file mode 100644 index 9f0bd91083..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_isCarryingObject.sqf +++ /dev/null @@ -1,7 +0,0 @@ -// by commy2 - -private "_unit"; - -_unit = _this select 0; - -!isNull (_unit getVariable ["AGM_carriedItem", objNull]); diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_isDraggable.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_isDraggable.sqf deleted file mode 100644 index b4b78ffcad..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_isDraggable.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - Name: AGM_Drag_fnc_isDraggable - - Author(s): - L-H - - Description: - Checks if an object can be dragged - - Parameters: - OBJECT - Drag-able object - - Returns: - BOOLEAN - - Example: - [StaticWeapon, player] call AGM_Drag_fnc_isDraggable; -*/ -private ["_result", "_targetObject","_unit"]; -_result = true; -_targetObject = _this select 0; -_unit = _this select 1; - -if (_unit != (vehicle _unit)) exitWith {false}; -if (_targetObject getVariable ["AGM_disableDrag", false]) exitWith {false}; -//if (_targetObject getVariable ["AGM_inUse", false]) exitWith {false}; - -if ((typeOf _targetObject) isKindOf "StaticWeapon") then { - _result = isNull(gunner _targetObject); - if !(_result) then { - _result = !alive (gunner _targetObject); - }; -}; -if !(_result) exitWith {_result}; -_result = !(_unit call AGM_Drag_fnc_isDraggingObject) AND ((_unit distance _targetObject) < 3); -_result && {!([_targetObject] call AGM_Core_fnc_owned)} diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_isDraggingObject.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_isDraggingObject.sqf deleted file mode 100644 index ea7081099e..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_isDraggingObject.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/* - Name: AGM_Drag_fnc_isDraggingObject - - Author(s): - L-H - - Description: - Checks whether there is an attached dragged object to the passed unit. - - Parameters: - OBJECT: Unit - - Returns: - BOOLEAN: true if a dragged object is attached. - - Example: - _draggingObject = player call AGM_Drag_fnc_isDraggingObject; -*/ -private "_draggedObject"; -_draggedObject = _this getVariable ["AGM_carriedItem", objNull]; -if (isNull _draggedObject) exitWith {false}; - -true diff --git a/TO_MERGE/agm/Logistics/functions/Drag/fn_releaseObject.sqf b/TO_MERGE/agm/Logistics/functions/Drag/fn_releaseObject.sqf deleted file mode 100644 index 04fba820a1..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Drag/fn_releaseObject.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/* - Name: AGM_Drag_fnc_releaseObject - - Author(s): - L-H - - Description: - Releases dragged weapon from passed unit. - - Parameters: - OBJECT - Unit - - Returns: - Nothing - - Example: - player call AGM_Drag_fnc_releaseObject; -*/ -private ["_draggedObject", "_position"]; -_this removeWeapon "AGM_FakePrimaryWeapon"; -_draggedObject = _this getVariable ["AGM_carriedItem", objNull]; -if (_this == (vehicle _this)) then { // if the unit is the vehicle of the passed unit (avoids bugs with players entering vehicles while dragging - _this playAction "released"; -}; -if (isNull _draggedObject) exitWith {}; // If there is no dragged object exit now. - -[objNull, _draggedObject, true] call AGM_Core_fnc_claim; - -_this setVariable ["AGM_isDragging", false]; -_this setVariable ["AGM_carriedItem", objNull, true]; - -detach _draggedObject; -[_this, "AGM_Logistics", false] call AGM_Core_fnc_setForceWalkStatus; -_this removeAction (_this getVariable ["AGM_Drag_ReleaseActionID", -1]); -_draggedObject setDamage (damage _draggedObject); - -_position = getPosATL _draggedObject; -if (_position select 2 < 0) then { - _position set [2, 0]; - _draggedObject setPosATL _position; -}; -[_draggedObject, "{_this setVectorUp (surfaceNormal getPosASL _this)}", _draggedObject] call AGM_Core_fnc_execRemoteFnc; diff --git a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_canSetupBarrier.sqf b/TO_MERGE/agm/Logistics/functions/Fortifications/fn_canSetupBarrier.sqf deleted file mode 100644 index e0bbc3902c..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_canSetupBarrier.sqf +++ /dev/null @@ -1,8 +0,0 @@ -// by commy2 - -private "_crate"; - -_crate = _this select 1; - -isNull (missionNamespace getVariable ["AGM_Fortifications_Setup", objNull]) -&& {!([_crate] call AGM_Core_fnc_owned)} diff --git a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_initialise.sqf b/TO_MERGE/agm/Logistics/functions/Fortifications/fn_initialise.sqf deleted file mode 100644 index 0c67a97af5..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_initialise.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/* - Name: AGM_Fortifications_fnc_Initialise - - Author(s): - L-H, commy2 - - Description: - Adds an EventHandler to check if a weapon has been assembled. - - Parameters: - Nothing - - Returns: - Nothing - - Example: - // Called by ArmA via Function Library - call AGM_Fortifications_fnc_Initialise; -*/ - -[{ - if (!isNull (missionNamespace getVariable ["AGM_Fortifications_Setup", objNull])) then { - AGM_Fortifications_TweakedAngle = AGM_Fortifications_TweakedAngle + (_this select 0) min 240 max 120; - }; -}] call AGM_Core_fnc_addScrollWheelEventHandler; diff --git a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_openSelectBarrierlUI.sqf b/TO_MERGE/agm/Logistics/functions/Fortifications/fn_openSelectBarrierlUI.sqf deleted file mode 100644 index 213bff0948..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_openSelectBarrierlUI.sqf +++ /dev/null @@ -1,39 +0,0 @@ -// by commy2 - -private ["_unit", "_crate", "_types", "_count", "_actions", "_name", "_picture", "_type"]; - -_unit = _this select 0; -_crate = _this select 1; -_types = _this select 2; - -_count = count _types; - -_actions = ["Select Fortification Menu", "Select"] call AGM_Interaction_fnc_prepareSelectMenu; -for "_index" from 0 to (_count - 1) do { - _type = _types select _index; - - _name = getText (configFile >> "CfgVehicles" >> _type >> "displayName"); - _picture = "AGM_Interaction\UI\dot_ca.paa"; - - _actions = [ - _actions, - _name, - _picture, - _type - ] call AGM_Interaction_fnc_AddSelectableItem; -}; - -[ - _actions, - { - call AGM_Interaction_fnc_hideMenu; - _vehicle = AGM_Interaction_Target; - if ([player, _vehicle, _this] call AGM_Fortifications_fnc_canSetupBarrier) then { - [player, _vehicle, _this] call AGM_Fortifications_fnc_setupBarrier; - }; - }, - { - call AGM_Interaction_fnc_hideMenu; - if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenu}; - } -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupApprove.sqf b/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupApprove.sqf deleted file mode 100644 index 68dbeaa66a..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupApprove.sqf +++ /dev/null @@ -1,63 +0,0 @@ -// by Garth de Wet (LH), edited by commy2 - -if (AGM_Fortifications_pfeh_running) then { - ["AGM_Fortifications_Placement", "OnEachFrame"] call BIS_fnc_removeStackedEventHandler; - AGM_Fortifications_pfeh_running = false; -}; - -private "_setup"; - -_setup = AGM_Fortifications_Setup; - -AGM_Fortifications_Setup = objNull; -[AGM_Fortifications_placer, "AGM_Logistics", false] call AGM_Core_fnc_setForceWalkStatus; -AGM_Fortifications_placer = objNull; - -[player, "DefaultAction", player getVariable ["AGM_Fortifications_Place", -1]] call AGM_Core_fnc_removeActionEventHandler; -[player, "MenuBack", player getVariable ["AGM_Fortifications_Cancel", -1]] call AGM_Core_fnc_removeActionEventHandler; - -call AGM_Interaction_fnc_hideMouseHint; -_setup spawn { - _pos = getPosASL _this; - _dir = getDir _this; - - //_dir = if (_dir > 180) then {_dir - 180} else {180 + _dir}; // ? - - player setVariable ["AGM_PlantingExplosive", true]; - - player playActionNow "MedicOther"; - - sleep 5; - - deleteVehicle AGM_Fortifications_crate; - - // create global object - _type = typeOf _this; - _setup = _type createVehicle [0, 0, -10000]; - deleteVehicle _this; - _setup setDir _dir; - _setup setPosASL _pos; - - player setVariable ["AGM_PlantingExplosive", false]; - - _this enableSimulationGlobal true; - _this allowDamage true; - //_this setDamage 0; - - /*[_setup] spawn { - sleep 10; - - _setup = _this select 0; - - if (!isNull _setup) then { - _mag = _setup getVariable ["AGM_Class", ""]; - _dir = _setup getVariable ["AGM_Dir", 0]; - - sleep getNumber(ConfigFile >> "CfgMagazines" >> _mag >> "AGM_DelayTime"); - [player, GetPosATL _setup, _dir, _mag, _setup getVariable "AGM_Trigger", [_setup getVariable "AGM_Timer"], true] call AGM_Explosives_fnc_PlaceExplosive; - deleteVehicle _setup; - player RemoveMagazine _mag; - }; - };*/ - -}; diff --git a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupBarrier.sqf b/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupBarrier.sqf deleted file mode 100644 index 170a172025..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupBarrier.sqf +++ /dev/null @@ -1,45 +0,0 @@ -// by Garth de Wet (LH), edited by commy2 - -_this spawn { - _unit = _this select 0; - _crate = _this select 1; - _type = _this select 2; - - AGM_Fortifications_placer = _unit; - AGM_Fortifications_crate = _crate; - - [_unit, _crate] call AGM_Core_fnc_claim; - - AGM_Fortifications_Setup = _type createVehicleLocal [0, 0, -10000]; - AGM_Fortifications_Setup allowDamage false; - AGM_Fortifications_Setup enableSimulationGlobal false; - AGM_Fortifications_Setup attachTo [_unit, _unit worldToModel ((ASLtoATL eyePos player) vectorAdd (positionCameraToWorld [0, 0, 4] vectorDiff positionCameraToWorld [0, 0, 0]))]; - detach AGM_Fortifications_Setup; - - [_unit, "AGM_Logistics", true] call AGM_Core_fnc_setForceWalkStatus; - AGM_Fortifications_TweakedAngle = 180; - - ["AGM_Fortifications_Placement", "OnEachFrame", { - if (AGM_Fortifications_placer != player) exitWith { - call AGM_Fortifications_fnc_setupCancel; - }; - AGM_Fortifications_pfeh_running = true; - - _pos = (ASLtoATL eyePos player) vectorAdd (positionCameraToWorld [0, 0, 4] vectorDiff positionCameraToWorld [0, 0, 0]); - _pos set [2, 0]; - - if (getPosATL player distance _pos < 2 || {!alive player} || {player getVariable ["AGM_isUnconscious", false]} || {player != vehicle player}) exitWith { - call AGM_Fortifications_fnc_setupCancel; - }; - - AGM_Fortifications_Setup setPosATL _pos; - - if (AGM_Modifier == 0) then { - AGM_Fortifications_Setup setDir (AGM_Fortifications_TweakedAngle + getDir player); - }; - }] call BIS_fnc_addStackedEventHandler; - - [localize "STR_AGM_Fortifications_PlaceAction", localize "STR_AGM_Fortifications_CancelAction", localize "STR_AGM_Fortifications_ScrollAction"] call AGM_Interaction_fnc_showMouseHint; - _unit setVariable ["AGM_Fortifications_Place", [_unit, "DefaultAction", {AGM_Fortifications_pfeh_running && {!isNull AGM_Fortifications_Setup}}, {call AGM_Fortifications_fnc_setupApprove}] call AGM_Core_fnc_AddActionEventHandler]; - _unit setVariable ["AGM_Fortifications_Cancel", [_unit, "MenuBack", {AGM_Fortifications_pfeh_running && {!isNull AGM_Fortifications_Setup}}, {call AGM_Fortifications_fnc_setupCancel}] call AGM_Core_fnc_AddActionEventHandler]; -}; diff --git a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupCancel.sqf b/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupCancel.sqf deleted file mode 100644 index eccd30fabc..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Fortifications/fn_setupCancel.sqf +++ /dev/null @@ -1,25 +0,0 @@ -// by Garth de Wet (LH), edited by commy2 - -if (AGM_Fortifications_pfeh_running) then { - ["AGM_Fortifications_Placement", "OnEachFrame"] call BIS_fnc_removeStackedEventHandler; - AGM_Fortifications_pfeh_running = false; -}; - -if (!isNull (AGM_Fortifications_Setup)) then { - deleteVehicle AGM_Fortifications_Setup; -}; - -[objNull, AGM_Fortifications_crate] call AGM_Core_fnc_claim; - -AGM_Fortifications_Setup = objNull; - -if (isNil {AGM_Fortifications_placer}) then { - AGM_Fortifications_placer = objNull; -}; - -[AGM_Fortifications_placer, "AGM_Logistics", false] call AGM_Core_fnc_setForceWalkStatus; -AGM_Fortifications_placer = objNull; -call AGM_Interaction_fnc_hideMouseHint; - -[player, "DefaultAction", player getVariable ["AGM_Fortifications_Place", -1]] call AGM_Core_fnc_removeActionEventHandler; -[player, "MenuBack", player getVariable ["AGM_Fortifications_Cancel", -1]] call AGM_Core_fnc_removeActionEventHandler; diff --git a/TO_MERGE/agm/Logistics/functions/ParaDrop/fn_paraDrop.sqf b/TO_MERGE/agm/Logistics/functions/ParaDrop/fn_paraDrop.sqf deleted file mode 100644 index a00a025619..0000000000 --- a/TO_MERGE/agm/Logistics/functions/ParaDrop/fn_paraDrop.sqf +++ /dev/null @@ -1,42 +0,0 @@ -//marc_book, commy2, CAA-Picard - -private ["_vehicle", "_fnc_smoke", "_fnc_light", "_items", "_count", "_item", "_position", "_parachute", "_smoke", "_light"]; - -_this spawn { - _vehicle = _this select 0; - - _fnc_smoke = { - _smoke = "SmokeshellYellow" createVehicle (_position); - _smoke attachTo [_item, [0, 0, 0]]; - }; - - _fnc_light = { - _light = "Chemlight_yellow" createVehicle (_position); - _light attachTo [_item, [0, 0, 0]]; - }; - - _items = _vehicle getVariable ["AGM_Logistics_loadedItems", []]; - _count = count _items; - _item = _items select (_count - 1); - _items = _items - [_item]; - - _vehicle setVariable ["AGM_Logistics_loadedItems", _items, true]; - _position = ((vectorDir _vehicle) vectorMultiply -15) vectorAdd getPosASL _vehicle; - - detach _item; - _item setPosASL _position; - - sleep 0.7; - - _parachute = createVehicle ["B_Parachute_02_F", position _item, [], 0, "CAN_COLLIDE"]; - _parachute attachTo [_item, [0, 0, 0]]; - - detach _parachute; - _item attachTo [_parachute, [0, 0, -1]]; - - _light = [] call _fnc_light; - - waitUntil {sleep 0.1; position _item select 2 < 1}; - detach _item; - _smoke = [] call _fnc_smoke; -}; \ No newline at end of file diff --git a/TO_MERGE/agm/Logistics/functions/Repair/Macros.hqf b/TO_MERGE/agm/Logistics/functions/Repair/Macros.hqf deleted file mode 100644 index 6e35586a56..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/Macros.hqf +++ /dev/null @@ -1,17 +0,0 @@ - -#define ALL_HITPOINTS [ \ - "HitBody", "HitHull", "HitEngine", "HitFuel", \ - "HitTurret", "HitGun", \ - "HitLTrack", "HitRTrack", \ - "HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel", "HitLMWheel", "HitRMWheel", "HitLBWheel", "HitRBWheel", \ - "HitAvionics", "HitHRotor", "HitVRotor" \ -] - -#define ALL_HITPOINTS_GLASS [ \ - "HitBody", "HitHull", "HitEngine", "HitFuel", \ - "HitTurret", "HitGun", \ - "HitLTrack", "HitRTrack", \ - "HitLFWheel", "HitRFWheel", "HitLF2Wheel", "HitRF2Wheel", "HitLMWheel", "HitRMWheel", "HitLBWheel", "HitRBWheel", \ - "HitAvionics", "HitHRotor", "HitVRotor", \ - "HitRGlass", "HitLGlass", "HitGlass1", "HitGlass2", "HitGlass3", "HitGlass4", "HitGlass5", "HitGlass6" \ -] diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRemoveWheel.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_canRemoveWheel.sqf deleted file mode 100644 index 222b24a944..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRemoveWheel.sqf +++ /dev/null @@ -1,14 +0,0 @@ -// by commy2 - -private ["_vehicle", "_wheels"]; - -_vehicle = _this select 0; -//_wheels = _this select 1; - -_wheels = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Wheels"); - -_wheels = [_wheels, {_vehicle getHitPointDamage _this < 1}] call AGM_Core_fnc_filter; - -count _wheels > 0 -&& {alive _vehicle} -&& {speed _vehicle == 0} diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepair.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepair.sqf deleted file mode 100644 index 445102dce3..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepair.sqf +++ /dev/null @@ -1,11 +0,0 @@ -// by commy2 - -private ["_vehicle", "_part"]; - -_vehicle = _this select 0; -_part = _this select 1; - -("ToolKit" in items player || {!isNull ([_vehicle] call AGM_Repair_fnc_getNearestRepairer)}) -&& {alive _vehicle} -&& {speed _vehicle == 0} -&& {floor (3 * (_vehicle getHitPointDamage _part)) > 0} diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepairTrack.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepairTrack.sqf deleted file mode 100644 index 40dd7935db..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepairTrack.sqf +++ /dev/null @@ -1,14 +0,0 @@ -// by commy2 - -private ["_vehicle", "_part", "_spareTrack"]; - -_vehicle = _this select 0; -_part = _this select 1; - -_spareTrack = [player] call AGM_Repair_fnc_getNearestTrack; - -("ToolKit" in items player || {!isNull ([_vehicle] call AGM_Repair_fnc_getNearestRepairer)}) -&& {alive _vehicle} -&& {speed _vehicle == 0} -&& {!isNull _spareTrack} -&& {floor (3 * (_vehicle getHitPointDamage _part)) > 0} diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepairWheel.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepairWheel.sqf deleted file mode 100644 index e47fe932de..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_canRepairWheel.sqf +++ /dev/null @@ -1,17 +0,0 @@ -// by commy2 - -private ["_vehicle", "_wheels", "_spareWheel"]; - -_vehicle = _this select 0; -//_wheels = _this select 1; - -_wheels = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Wheels"); - -_wheels = [_wheels, {_vehicle getHitPointDamage _this == 1}] call AGM_Core_fnc_filter; - -_spareWheel = [player] call AGM_Repair_fnc_getNearestWheel; - -count _wheels > 0 -&& {alive _vehicle} -&& {speed _vehicle == 0} -&& {!isNull _spareWheel} diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_checkVehicle.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_checkVehicle.sqf deleted file mode 100644 index e1133620f0..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_checkVehicle.sqf +++ /dev/null @@ -1,10 +0,0 @@ -// commy2 - -private "_vehicle"; - -_vehicle = _this select 0; - -player playActionNow "Gear"; - -[8, [_vehicle], "AGM_Repair_fnc_checkVehicleCallback", localize "STR_AGM_Repair_CheckingVehicle"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_checkVehicleCallback.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_checkVehicleCallback.sqf deleted file mode 100644 index 8867290512..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_checkVehicleCallback.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Author: marc_book, commy2 - */ - -#include - -private ["_vehicle", "_displayName", "_string", "_height", "_damage", "_name"]; - -_vehicle = _this select 0; - -_displayName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - -_string = format ["%1

", format [localize "STR_AGM_Repair_VehicleName", _displayName]]; -_height = 1; - -{ - _damage = floor (3 * (_vehicle getHitPointDamage _x)); - - if (!isNil "_damage" && {_damage > 0}) then { - _name = [_x] call AGM_Repair_fnc_getHitPointName; - _string = _string + format [localize (["STR_AGM_Repair_HitPointDamaged", "STR_AGM_Repair_HitPointDamagedHeavy", "STR_AGM_Repair_HitPointDestroyed"] select (_damage - 1)), _name] + "
"; - _height = _height + 0.25; - }; -} forEach ALL_HITPOINTS; - -if (_height == 1) then { - _string = _string + localize "STR_AGM_Repair_Nothing"; - _height = 1.25; -}; - -_string = _string + "
"; -[composeText [lineBreak, parseText _string], _height] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_getHitPointName.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_getHitPointName.sqf deleted file mode 100644 index 49dddb63cc..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_getHitPointName.sqf +++ /dev/null @@ -1,9 +0,0 @@ -// by commy2 - -private ["_hitPoint", "_string"]; - -_hitPoint = _this select 0; - -_string = format ["STR_AGM_Repair_%1", _hitPoint]; - -if (isLocalized _string) then {localize _string} else {_hitPoint} diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestRepairer.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestRepairer.sqf deleted file mode 100644 index d79eadfa95..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestRepairer.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// by commy2 - -private ["_unit", "_nearObjects"]; - -_unit = _this select 0; - -_nearObjects = nearestObjects [_unit, ["Car", "Tank", "ReammoBox_F"], 10]; -{ - if !(getNumber (configFile >> "CfgVehicles" >> typeOf _x >> "AGM_canRepair") > 0) then { - _nearObjects set [_forEachIndex, objNull]; - }; -} forEach _nearObjects; -_nearObjects = _nearObjects - [objNull]; - -if (count _nearObjects == 0) exitWith {objNull}; -_nearObjects select 0 diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestTrack.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestTrack.sqf deleted file mode 100644 index c0fdf87eb8..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestTrack.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// by commy2 - -private ["_unit", "_nearObjects"]; - -_unit = _this select 0; - -_nearObjects = nearestObjects [_unit, ["AGM_SpareTrack"], 5]; -{ - if !([_unit, _x] call AGM_Core_fnc_canInteractWith) then { - _nearObjects set [_forEachIndex, objNull]; - }; -} forEach _nearObjects; -_nearObjects = _nearObjects - [objNull]; - -if (count _nearObjects == 0) exitWith {objNull}; -_nearObjects select 0 diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestWheel.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestWheel.sqf deleted file mode 100644 index 3c724de321..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_getNearestWheel.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// by commy2 - -private ["_unit", "_nearObjects"]; - -_unit = _this select 0; - -_nearObjects = nearestObjects [_unit, ["AGM_SpareWheel"], 5]; -{ - if !([_unit, _x] call AGM_Core_fnc_canInteractWith) then { - _nearObjects set [_forEachIndex, objNull]; - }; -} forEach _nearObjects; -_nearObjects = _nearObjects - [objNull]; - -if (count _nearObjects == 0) exitWith {objNull}; -_nearObjects select 0 diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_module.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_module.sqf deleted file mode 100644 index 2cfaed0cd1..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_module.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Author: KoffeinFlummi - * Edited from Medical Module - * Editor: Hawkeye104 - * - * Initializes the repair module. - * - * Arguments: - * Whatever the module provides. (I dunno.) - * - * Return Value: - * None - */ -if !(isServer) exitWith {}; - -_logic = _this select 0; -_units = _this select 1; -_activated = _this select 2; - -if !(_activated) exitWith {}; - -AGM_Repair_Module = true; - -[_logic, "AGM_Repair_TimeRepair", "TimeRepair" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_Repair_TimeWheelRepair", "TimeWheelRepair" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_Repair_TimeTrackRepair", "TimeTrackRepair" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_Repair_MaxDamageRepair", "MaxDamageRepair" ] call AGM_Core_fnc_readNumericParameterFromModule; - - -diag_log text "[AGM]: Repair Module Initialized."; \ No newline at end of file diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_openSelectWheelUI.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_openSelectWheelUI.sqf deleted file mode 100644 index 213a965e11..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_openSelectWheelUI.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// by commy2 - -private ["_vehicle", "_wheels", "_listIDC", "_count", "_index", "_wheel", "_name", "_picture", "_lbIndex"]; - -_vehicle = _this select 0; -//_wheels = _this select 1; - -_wheels = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Wheels"); - -_wheels = [_wheels, {AGM_Interaction_Target getHitPointDamage _this > 0}] call AGM_Core_fnc_filter; -_count = count _wheels; - -_actions = [localize "STR_AGM_Repair_SelectWheelMenu", localize "STR_AGM_Repair_SelectWheel"] call AGM_Interaction_fnc_prepareSelectMenu; -for "_index" from 0 to (_count - 1) do { - _wheel = _wheels select _index; - //_name = [_wheel] call AGM_Repair_fnc_getHitPointName; - _name = localize (getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_WheelsLocalized") select (getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Wheels") find _wheel)); - _picture = "AGM_Interaction\UI\dot_ca.paa"; - - if (_vehicle getHitPointDamage _wheel == 1) then { - _actions = [ - _actions, - _name, - _picture, - _wheel - ] call AGM_Interaction_fnc_AddSelectableItem; - }; -}; - -[ - _actions, - { - call AGM_Interaction_fnc_hideMenu; - _vehicle = AGM_Interaction_Target; - [_vehicle, _this] call AGM_Repair_fnc_repairWheel; - }, - { - call AGM_Interaction_fnc_hideMenu; - if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenu}; - } -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_openSelectWheelUI_Salvage.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_openSelectWheelUI_Salvage.sqf deleted file mode 100644 index 2d28b1506f..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_openSelectWheelUI_Salvage.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// by commy2 - -private ["_vehicle", "_wheels", "_listIDC", "_count", "_index", "_wheel", "_name", "_picture", "_lbIndex"]; - -_vehicle = _this select 0; -//_wheels = _this select 1; - -_wheels = getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Wheels"); - -_wheels = [_wheels, {AGM_Interaction_Target getHitPointDamage _this < 1}] call AGM_Core_fnc_filter; -_count = count _wheels; - -_actions = [localize "STR_AGM_Repair_SelectWheelMenu_Salvage", localize "STR_AGM_Repair_SelectWheel_Salvage"] call AGM_Interaction_fnc_prepareSelectMenu; -for "_index" from 0 to (_count - 1) do { - _wheel = _wheels select _index; - //_name = [_wheel] call AGM_Repair_fnc_getHitPointName; - _name = localize (getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_WheelsLocalized") select (getArray (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Wheels") find _wheel)); - _picture = "AGM_Interaction\UI\dot_ca.paa"; - - if (_vehicle getHitPointDamage _wheel < 1) then { - _actions = [ - _actions, - _name, - _picture, - _wheel - ] call AGM_Interaction_fnc_AddSelectableItem; - }; -}; - -[ - _actions, - { - call AGM_Interaction_fnc_hideMenu; - _vehicle = AGM_Interaction_Target; - [_vehicle, _this] call AGM_Repair_fnc_removeWheel; - }, - { - call AGM_Interaction_fnc_hideMenu; - if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenu}; - } -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheel.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheel.sqf deleted file mode 100644 index 051367d693..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheel.sqf +++ /dev/null @@ -1,20 +0,0 @@ -// by commy2 - -private ["_vehicle", "_part", "_isEngineer", "_time", "_name", "_string"]; - -_vehicle = _this select 0; -_part = _this select 1; - -_isEngineer = [player] call AGM_Core_fnc_isEngineer; - -_time = 10; -_time = _time + 10 * (_vehicle getHitPointDamage _part); -if !(_isEngineer) then {_time = _time + 10}; - -[player, "AinvPknlMstpSnonWnonDr_medic5", 0] call AGM_Core_fnc_doAnimation; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_RemovingWheel", _name]; - -[_time, [_vehicle, _part], "AGM_Repair_fnc_removeWheelCallback", _string, "AGM_Repair_fnc_removeWheelAbort"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheelAbort.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheelAbort.sqf deleted file mode 100644 index a6f20b7d0f..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheelAbort.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheelCallback.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheelCallback.sqf deleted file mode 100644 index b2193a6104..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_removeWheelCallback.sqf +++ /dev/null @@ -1,23 +0,0 @@ -// by commy2 - -private ["_vehicle", "_part", "_damage", "_wheel", "_name", "_string"]; - -_vehicle = _this select 0; -_part = _this select 1; - -_damage = _vehicle getHitPointDamage _part; - -// can't remove destroyed or already removed wheel -if (_damage == 1) exitWith {}; - -[_vehicle, _part, 1, true] call AGM_Repair_fnc_setHitPointDamage; - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; - -_wheel = ['AGM_SpareWheel', getPosASL player] call AGM_Logistics_fnc_spawnObject; -_wheel setdamage _damage; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_RemovedWheel", _name]; - -[_string] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repair.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repair.sqf deleted file mode 100644 index 1946b7566f..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repair.sqf +++ /dev/null @@ -1,27 +0,0 @@ -// by commy2 -// Edited by Hawkeye104 for compatibility with Repair Module - -private ["_vehicle", "_part", "_isEngineer", "_time", "_name", "_string", "_repairer"]; - -_vehicle = _this select 0; -_part = _this select 1; - -_isEngineer = [player] call AGM_Core_fnc_isEngineer; - -//New time calculation from repair module -_time = AGM_Repair_TimeRepair; -_time = _time + AGM_Repair_TimeRepair * (_vehicle getHitPointDamage _part); -if !(_isEngineer) then {_time = _time + 0.5 * AGM_Repair_TimeRepair}; - -[player, "AinvPknlMstpSnonWnonDr_medic5", 0] call AGM_Core_fnc_doAnimation; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_Repairing", _name]; - -[_time, [_vehicle, _part], "AGM_Repair_fnc_repairCallback", _string, "AGM_Repair_fnc_repairAbort"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; - -_repairer = [_vehicle] call AGM_Repair_fnc_getNearestRepairer; -if (!("ToolKit" in items player) && {!isNull _repairer}) then { - [_repairer] call AGM_Core_fnc_closeDialogIfTargetMoves; -}; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairAbort.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairAbort.sqf deleted file mode 100644 index a6f20b7d0f..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairAbort.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairCallback.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairCallback.sqf deleted file mode 100644 index 085d9b23bd..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairCallback.sqf +++ /dev/null @@ -1,17 +0,0 @@ -// by commy2 -// Edited by Hawkeye104 for compatibility with repair module - -private ["_vehicle", "_part", "_name", "_string"]; - -_vehicle = _this select 0; -_part = _this select 1; - -// Repair module parameter function call -[_vehicle, _part, AGM_Repair_MaxDamageRepair] call AGM_Repair_fnc_setHitPointDamage; - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_Repaired", _name]; - -[_string] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrack.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrack.sqf deleted file mode 100644 index abbb23fc1d..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrack.sqf +++ /dev/null @@ -1,33 +0,0 @@ -// by commy2 -// Edited by Hawkeye104 for compatibility with Repair Module - -private ["_vehicle", "_part", "_isEngineer", "_time", "_name", "_string", "_spareTrack", "_repairer"]; - -_vehicle = _this select 0; -_part = _this select 1; - -_isEngineer = [player] call AGM_Core_fnc_isEngineer; - -//New time calculation from repair module -_time = AGM_Repair_TimeTrackRepair; -_time = _time + AGM_Repair_TimeTrackRepair * (_vehicle getHitPointDamage _part); -if !(_isEngineer) then {_time = _time + 0.5 * AGM_Repair_TimeTrackRepair}; - -[player, "AinvPknlMstpSnonWnonDr_medic5", 0] call AGM_Core_fnc_doAnimation; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_Repairing", _name]; - -_spareTrack = [player] call AGM_Repair_fnc_getNearestTrack; -if (isNull _spareTrack) exitWith {}; - -[player, _spareTrack] call AGM_Core_fnc_claim; - -[_time, [_vehicle, _part, _spareTrack], "AGM_Repair_fnc_repairTrackCallback", _string, "AGM_Repair_fnc_repairTrackAbort"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; -[_spareTrack] call AGM_Core_fnc_closeDialogIfTargetMoves; - -_repairer = [_vehicle] call AGM_Repair_fnc_getNearestRepairer; -if (!("ToolKit" in items player) && {!isNull _repairer}) then { - [_repairer] call AGM_Core_fnc_closeDialogIfTargetMoves; -}; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrackAbort.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrackAbort.sqf deleted file mode 100644 index ed0b5f4b9d..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrackAbort.sqf +++ /dev/null @@ -1,9 +0,0 @@ -// by commy2 - -private "_spareTrack"; - -_spareTrack = _this select 2; - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; - -[objNull, _spareTrack] call AGM_Core_fnc_claim; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrackCallback.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrackCallback.sqf deleted file mode 100644 index 02d77840ee..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairTrackCallback.sqf +++ /dev/null @@ -1,20 +0,0 @@ -// by commy2 - -#define POST_REPAIR_DAMAGE 0 - -private ["_vehicle", "_part", "_spareTrack", "_name", "_string"]; - -_vehicle = _this select 0; -_part = _this select 1; -_spareTrack = _this select 2; - -deleteVehicle _spareTrack; - -[_vehicle, _part, POST_REPAIR_DAMAGE] call AGM_Repair_fnc_setHitPointDamage; - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_Repaired", _name]; - -[_string] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheel.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheel.sqf deleted file mode 100644 index 9f3d13aca5..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheel.sqf +++ /dev/null @@ -1,28 +0,0 @@ -// by commy2 -// Edited by Hawkeye104 for compatibility with Repair Module - -private ["_vehicle", "_part", "_isEngineer", "_time", "_name", "_string", "_spareWheel"]; - -_vehicle = _this select 0; -_part = _this select 1; - -_isEngineer = [player] call AGM_Core_fnc_isEngineer; - -//New time calculation from repair module -_time = AGM_Repair_TimeWheelRepair; -_time = _time + AGM_Repair_TimeWheelRepair * (_vehicle getHitPointDamage _part); -if !(_isEngineer) then {_time = _time + 0.5 * AGM_Repair_TimeWheelRepair}; - -[player, "AinvPknlMstpSnonWnonDr_medic5", 0] call AGM_Core_fnc_doAnimation; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_Repairing", _name]; - -_spareWheel = [player] call AGM_Repair_fnc_getNearestWheel; -if (isNull _spareWheel) exitWith {}; - -[player, _spareWheel] call AGM_Core_fnc_claim; - -[_time, [_vehicle, _part, _spareWheel], "AGM_Repair_fnc_repairWheelCallback", _string, "AGM_Repair_fnc_repairWheelAbort"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; -[_spareWheel] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheelAbort.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheelAbort.sqf deleted file mode 100644 index 4455c2b8d7..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheelAbort.sqf +++ /dev/null @@ -1,9 +0,0 @@ -// by commy2 - -private "_spareWheel"; - -_spareWheel = _this select 2; - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; - -[objNull, _spareWheel] call AGM_Core_fnc_claim; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheelCallback.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheelCallback.sqf deleted file mode 100644 index 760f6f6844..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_repairWheelCallback.sqf +++ /dev/null @@ -1,21 +0,0 @@ -// by commy2 - -#define POST_REPAIR_DAMAGE 0 - -private ["_vehicle", "_part", "_spareWheel", "_damage", "_name", "_string"]; - -_vehicle = _this select 0; -_part = _this select 1; -_spareWheel = _this select 2; - -_damage = damage _spareWheel; -deleteVehicle _spareWheel; - -[_vehicle, _part, _damage] call AGM_Repair_fnc_setHitPointDamage; - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; - -_name = [_part] call AGM_Repair_fnc_getHitPointName; -_string = format [localize "STR_AGM_Repair_Repaired", _name]; - -[_string] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_setDamage.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_setDamage.sqf deleted file mode 100644 index 5373ba1d55..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_setDamage.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Author: commy2, KoffeinFlummi - * - * Sets the structural damage of a vehicle without altering the hitPoints. - * THIS NEEDS TO BE CALLED FROM THE PC WHERE THE VEHICLE IS LOCAL. - * - * Arguments: - * 0: Vehicle - * 1: Damage - * - * Return Value: - * None - */ - -#include - -private ["_vehicle", "_damage", "_hitPoints", "_damageHitPoint"]; - -_vehicle = _this select 0; -_damage = _this select 1; - -_hitPoints = []; -{ - _damageHitPoint = _vehicle getHitPointDamage _x; - if (isNil "_damageHitPoint") then {_damageHitPoint = 0}; - - _hitPoints set [_forEachIndex, _damageHitPoint]; -} forEach ALL_HITPOINTS; - -_vehicle setDamage _damage; - -{ - _vehicle setHitPointDamage [_x, _hitPoints select _forEachIndex]; -} forEach ALL_HITPOINTS; diff --git a/TO_MERGE/agm/Logistics/functions/Repair/fn_setHitPointDamage.sqf b/TO_MERGE/agm/Logistics/functions/Repair/fn_setHitPointDamage.sqf deleted file mode 100644 index c15678e798..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Repair/fn_setHitPointDamage.sqf +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Author: commy2, KoffeinFlummi - * - * My very own setHitPointDamage since BIS's one is buggy when affecting a remote unit. - * It also doesn't change the overall damage. This does. - * - * Arguments: - * 0: vehicle - * 1: selection - * 2: damage - * 4: disable overall damage adjustment (optional) - * - * Return Value: - * - - */ - -#include - -private ["_vehicle", "_selection", "_damage", "_hitPoints", "_damageHitPoint", "_damageOld", "_damageSumOld", "_damageSumNew", "_damageNew"]; - -_vehicle = _this select 0; -_selection = _this select 1; -_damage = _this select 2; - -// Unit isn't local, give function to machine where it is. -if !(local _vehicle) exitWith { - [_this, "AGM_Repair_fnc_setHitPointDamage", _vehicle] call AGM_Core_fnc_execRemoteFnc; -}; - -// Check if overall damage adjustment is disabled -if (count _this > 3 && {_this select 3}) exitWith { - _vehicle setHitPointDamage [_selection, _damage]; -}; - -if !(_selection in ALL_HITPOINTS) exitWith { - _vehicle setHitPointDamage [_selection, _damage]; -}; - -_hitPoints = []; -{ - _damageHitPoint = _vehicle getHitPointDamage _x; - if (isNil "_damageHitPoint") then {_damageHitPoint = 0}; - - _hitPoints set [_forEachIndex, _damageHitPoint]; -} forEach ALL_HITPOINTS; - -_damageOld = damage _vehicle; -_damageSumOld = 0; -{ - _damageSumOld = _damageSumOld + _x; -} forEach _hitPoints; -_damageSumOld = _damageSumOld max 0.001; - -_hitPoints set [ALL_HITPOINTS find _selection, _damage]; - -_damageSumNew = 0; -{ - _damageSumNew = _damageSumNew + _x; -} forEach _hitPoints; - -_damageNew = _damageSumNew / count ALL_HITPOINTS; -if (_damageOld > 0) then { - _damageNew = _damageOld * (_damageSumNew / _damageSumOld); -}; - -_vehicle setDamage _damageNew; - -{ - _vehicle setHitPointDamage [_x, _hitPoints select _forEachIndex]; -} forEach ALL_HITPOINTS; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canDrainFuel.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_canDrainFuel.sqf deleted file mode 100644 index 6350ec7632..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canDrainFuel.sqf +++ /dev/null @@ -1,15 +0,0 @@ -// by commy2 - -private ["_unit", "_target", "_item", "_fuel"]; - -_unit = _this select 0; -_target = _this select 1; - -_item = _unit getVariable ["AGM_carriedItem", objNull]; -_fuel = _item getVariable ["AGM_amountFuel", 20]; - -_item isKindOf "AGM_JerryCan" -&& {alive _target} -&& {speed _target == 0} -&& {fuel _target > 0} -&& {_fuel < 20} diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canDrainFuelCargo.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_canDrainFuelCargo.sqf deleted file mode 100644 index 796b0956c2..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canDrainFuelCargo.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// by commy2 - -private ["_unit", "_target", "_item", "_fuel", "_fuelCargo"]; - -_unit = _this select 0; -_target = _this select 1; - -_item = _unit getVariable ["AGM_carriedItem", objNull]; -_fuel = _item getVariable ["AGM_amountFuel", 20]; -_fuelCargo = _target getVariable ["AGM_amountFuel", 9999]; - -_item isKindOf "AGM_JerryCan" -&& {alive _target} -&& {speed _target == 0} -&& {_fuelCargo > 0} -&& {_fuel < 20} diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canRefuel.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_canRefuel.sqf deleted file mode 100644 index 960a63effd..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canRefuel.sqf +++ /dev/null @@ -1,15 +0,0 @@ -// by commy2 - -private ["_unit", "_target", "_item", "_fuel"]; - -_unit = _this select 0; -_target = _this select 1; - -_item = _unit getVariable ["AGM_carriedItem", objNull]; -_fuel = _item getVariable ["AGM_amountFuel", 20]; - -_item isKindOf "AGM_JerryCan" -&& {alive _target} -&& {speed _target == 0} -&& {fuel _target < 1} -&& {_fuel > 0} diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canRefuelCargo.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_canRefuelCargo.sqf deleted file mode 100644 index e2a4f5a927..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_canRefuelCargo.sqf +++ /dev/null @@ -1,17 +0,0 @@ -// by commy2 - -private ["_target", "_vehicle", "_fuel"]; - -_target = _this select 0; - -_vehicle = [player] call AGM_Resupply_fnc_getNearestRefueler; - -_fuel = _vehicle getVariable ["AGM_amountFuelCargo", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacityCargo")]; - -!isNull _vehicle -&& {alive _target} -&& {alive _vehicle} -&& {speed _target == 0} -&& {speed _vehicle == 0} -&& {fuel _target < 1} -&& {_fuel > 0} diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuel.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuel.sqf deleted file mode 100644 index 07923de64f..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuel.sqf +++ /dev/null @@ -1,22 +0,0 @@ -// by commy2 - -#define TIME_PER_LITER 2 - -private ["_unit", "_vehicle", "_item", "_fuel", "_capacity", "_fuelVehicle", "_time"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -_item = _unit getVariable "AGM_carriedItem"; -if (isNil "_item") exitWith {}; - -_fuel = _item getVariable ["AGM_amountFuel", 20]; - -_capacity = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacity"); - -_fuelVehicle = fuel _vehicle * _capacity; - -_time = TIME_PER_LITER * (_fuelVehicle min 20) max 2; - -[_time, [_unit, _vehicle], "AGM_Resupply_fnc_drainFuelCallback", localize "STR_AGM_Resupply_DrainingFuel"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCallback.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCallback.sqf deleted file mode 100644 index 329dc26bf8..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCallback.sqf +++ /dev/null @@ -1,31 +0,0 @@ -// by commy2 - -private ["_unit", "_vehicle", "_item", "_fuel", "_capacity", "_fuelVehicle", "_displayName", "_text"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -_item = _unit getVariable "AGM_carriedItem"; -if (isNil "_item") exitWith {}; - -_fuel = _item getVariable ["AGM_amountFuel", 20]; - -_capacity = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacity"); - -_fuelVehicle = fuel _vehicle * _capacity; - -if (_fuel + _fuelVehicle < 20) then { - _fuel = _fuel + _fuelVehicle; - _fuelVehicle = 0; -} else { - _fuelVehicle = _fuelVehicle + _fuel - 20; - _fuel = 20; -}; - -[[_vehicle, _fuelVehicle / _capacity], "{(_this select 0) setFuel (_this select 1)}", _vehicle] call AGM_Core_fnc_execRemoteFnc; -_item setVariable ["AGM_amountFuel", _fuel, true]; - -_displayName = getText (configfile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - -_text = format [localize "STR_AGM_Resupply_DrainedFuel", _displayName]; -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCargo.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCargo.sqf deleted file mode 100644 index c55e6ecdbe..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCargo.sqf +++ /dev/null @@ -1,19 +0,0 @@ -// by commy2 - -#define TIME_PER_LITER 2 - -private ["_unit", "_vehicle", "_item", "_fuel", "_fuelCargo", "_time"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -_item = _unit getVariable "AGM_carriedItem"; -if (isNil "_item") exitWith {}; - -_fuel = _item getVariable ["AGM_amountFuel", 20]; -_fuelCargo = _vehicle getVariable ["AGM_amountFuelCargo", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacityCargo")]; - -_time = TIME_PER_LITER * (_fuelCargo min 20) max 2; - -[_time, [_unit, _vehicle], "AGM_Resupply_fnc_drainFuelCargoCallback", localize "STR_AGM_Resupply_DrainingFuelCargo"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCargoCallback.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCargoCallback.sqf deleted file mode 100644 index 0f1348f496..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_drainFuelCargoCallback.sqf +++ /dev/null @@ -1,28 +0,0 @@ -// by commy2 - -private ["_unit", "_vehicle", "_item", "_fuel", "_fuelCargo", "_displayName", "_text"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -_item = _unit getVariable "AGM_carriedItem"; -if (isNil "_item") exitWith {}; - -_fuel = _item getVariable ["AGM_amountFuel", 20]; -_fuelCargo = _vehicle getVariable ["AGM_amountFuelCargo", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacityCargo")]; - -if (_fuel + _fuelCargo < 20) then { - _fuel = _fuel + _fuelCargo; - _fuelCargo = 0; -} else { - _fuelCargo = _fuelCargo + _fuel - 20; - _fuel = 20; -}; - -_item setVariable ["AGM_amountFuel", _fuel, true]; -_vehicle setVariable ["AGM_amountFuelCargo", _fuelCargo, true]; - -_displayName = getText (configfile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - -_text = format [localize "STR_AGM_Resupply_DrainedFuelCargo", _displayName]; -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmount.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmount.sqf deleted file mode 100644 index c2fa0b7339..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmount.sqf +++ /dev/null @@ -1,11 +0,0 @@ -// by commy2 - -private ["_unit", "_vehicle"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -player playActionNow "Gear"; - -[2, [_vehicle], "AGM_Resupply_fnc_getFuelAmountCallback", localize "STR_AGM_Resupply_CheckingFuel"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCallback.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCallback.sqf deleted file mode 100644 index efc37dd246..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCallback.sqf +++ /dev/null @@ -1,13 +0,0 @@ -// by commy2 - -private ["_vehicle", "_capacity", "_fuel", "_text"]; - -_vehicle = _this select 0; - -_capacity = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacity"); - -_fuel = fuel _vehicle * _capacity; -_fuel = (round (10 * _fuel)) / 10; - -_text = format [localize "STR_AGM_Resupply_CheckedFuelVehicle", _fuel]; -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCargo.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCargo.sqf deleted file mode 100644 index 1afd698f35..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCargo.sqf +++ /dev/null @@ -1,11 +0,0 @@ -// by commy2 - -private ["_unit", "_vehicle"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -player playActionNow "Gear"; - -[2, [_vehicle], "AGM_Resupply_fnc_getFuelAmountCargoCallback", localize "STR_AGM_Resupply_CheckingFuelCargo"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCargoCallback.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCargoCallback.sqf deleted file mode 100644 index d87a31594c..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountCargoCallback.sqf +++ /dev/null @@ -1,10 +0,0 @@ -// by commy2 - -private ["_vehicle", "_fuel", "_text"]; - -_vehicle = _this select 0; - -_fuel = _vehicle getVariable ["AGM_amountFuelCargo", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacityCargo")]; - -_text = format [localize "STR_AGM_Resupply_CheckedFuelVehicleCargo", _fuel]; -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountJerrycan.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountJerrycan.sqf deleted file mode 100644 index e5b9ddfff8..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getFuelAmountJerrycan.sqf +++ /dev/null @@ -1,19 +0,0 @@ -// by commy2 - -private ["_unit", "_item", "_fuel", "_text"]; - -_unit = _this select 0; -_item = _this select 1; - -if (isNil "_item") then { - _item = _unit getVariable "AGM_carriedItem"; -}; -if (isNil "_item") exitWith {}; - -_fuel = _item getVariable ["AGM_amountFuel", 20]; -_fuel = (round (10 * _fuel)) / 10; - -_unit playActionNow "Gear"; - -_text = format [localize "STR_AGM_Resupply_CheckedFuel", _fuel]; -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getNearestRefueler.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_getNearestRefueler.sqf deleted file mode 100644 index 07ec0d2439..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_getNearestRefueler.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// by commy2 - -private ["_unit", "_nearObjects"]; - -_unit = _this select 0; - -_nearObjects = nearestObjects [_unit, ["house", "AllVehicles"], 10]; -{ - if (_x getVariable ["AGM_amountFuelCargo", getNumber (configFile >> "CfgVehicles" >> typeOf _x >> "AGM_fuelCapacityCargo")] <= 0) then { - _nearObjects set [_forEachIndex, objNull]; - }; -} forEach _nearObjects; -_nearObjects = _nearObjects - [objNull]; - -if (count _nearObjects == 0) exitWith {objNull}; -_nearObjects select 0 diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicle.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicle.sqf deleted file mode 100644 index 58c1626a14..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicle.sqf +++ /dev/null @@ -1,22 +0,0 @@ -// by commy2 - -#define TIME_PER_LITER 2 - -private ["_unit", "_vehicle", "_item", "_fuel", "_capacity", "_fuelVehicle", "_time"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -_item = _unit getVariable "AGM_carriedItem"; -if (isNil "_item") exitWith {}; - -_fuel = _item getVariable ["AGM_amountFuel", 20]; - -_capacity = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacity"); - -_fuelVehicle = fuel _vehicle * _capacity; - -_time = TIME_PER_LITER * (_capacity - _fuelVehicle min _fuel) max 2; - -[_time, [_unit, _vehicle], "AGM_Resupply_fnc_refuelVehicleCallback", localize "STR_AGM_Resupply_RefuelingVehicle"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCallback.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCallback.sqf deleted file mode 100644 index 39dd002f99..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCallback.sqf +++ /dev/null @@ -1,31 +0,0 @@ -// by commy2 - -private ["_unit", "_vehicle", "_item", "_fuel", "_capacity", "_fuelVehicle", "_displayName", "_text"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -_item = _unit getVariable "AGM_carriedItem"; -if (isNil "_item") exitWith {}; - -_fuel = _item getVariable ["AGM_amountFuel", 20]; - -_capacity = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacity"); - -_fuelVehicle = fuel _vehicle * _capacity; - -if (_fuel + _fuelVehicle < _capacity) then { - _fuelVehicle = _fuelVehicle + _fuel; - _fuel = 0; -} else { - _fuel = _fuel + _fuelVehicle - _capacity; - _fuelVehicle = _capacity; -}; - -[[_vehicle, _fuelVehicle / _capacity], "{(_this select 0) setFuel (_this select 1)}", _vehicle] call AGM_Core_fnc_execRemoteFnc; -_item setVariable ["AGM_amountFuel", _fuel, true]; - -_displayName = getText (configfile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - -_text = format [localize "STR_AGM_Resupply_RefueledVehicle", _displayName]; -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCargo.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCargo.sqf deleted file mode 100644 index 20653372b9..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCargo.sqf +++ /dev/null @@ -1,22 +0,0 @@ -// by commy2 - -#define TIME_PER_LITER 0.1 - -private ["_vehicle", "_source", "_fuelCargo", "_fuel", "_capacity", "_time"]; - -_vehicle = _this select 0; - -_source = [player] call AGM_Resupply_fnc_getNearestRefueler; -if (isNull _source) exitWith {}; - -_fuelCargo = _source getVariable ["AGM_amountFuelCargo", getNumber (configFile >> "CfgVehicles" >> typeOf _source >> "AGM_fuelCapacityCargo")]; - -_capacity = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacity"); - -_fuel = fuel _vehicle * _capacity; - -_time = TIME_PER_LITER * (_capacity - _fuel min _fuelCargo) max 2; - -[_time, [_vehicle, _source], "AGM_Resupply_fnc_refuelVehicleCargoCallback", localize "STR_AGM_Resupply_RefuelingVehicle"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; -[_source] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCargoCallback.sqf b/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCargoCallback.sqf deleted file mode 100644 index 4546035b97..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Resupply/fn_refuelVehicleCargoCallback.sqf +++ /dev/null @@ -1,28 +0,0 @@ -// by commy2 - -private ["_vehicle", "_target", "_fuel", "_capacity", "_fuelVehicle", "_displayName", "_text"]; - -_vehicle = _this select 0; -_source = _this select 1; - -_fuel = _source getVariable ["AGM_amountFuelCargo", getNumber (configFile >> "CfgVehicles" >> typeOf _source >> "AGM_fuelCapacityCargo")]; - -_capacity = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_fuelCapacity"); - -_fuelVehicle = fuel _vehicle * _capacity; - -if (_fuel + _fuelVehicle < _capacity) then { - _fuelVehicle = _fuelVehicle + _fuel; - _fuel = 0; -} else { - _fuel = _fuel + _fuelVehicle - _capacity; - _fuelVehicle = _capacity; -}; - -[[_vehicle, _fuelVehicle / _capacity], "{(_this select 0) setFuel (_this select 1)}", _vehicle] call AGM_Core_fnc_execRemoteFnc; -_source setVariable ["AGM_amountFuelCargo", _fuel, true]; - -_displayName = getText (configfile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - -_text = format [localize "STR_AGM_Resupply_RefueledVehicle", _displayName]; -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_canGetIn.sqf b/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_canGetIn.sqf deleted file mode 100644 index 384dd69bee..0000000000 --- a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_canGetIn.sqf +++ /dev/null @@ -1,22 +0,0 @@ -// by commy2 - -private ["_vehicle", "_config", "_turret", "_configTurret", "_memoryPointGunner", "_distance"]; - -_vehicle = _this select 0; - -_config = configFile >> "CfgVehicles" >> typeOf _vehicle; - -_turret = [typeOf _vehicle] call AGM_Core_fnc_getTurretGunner; -_configTurret = [_config, _turret] call AGM_Core_fnc_getTurretConfigPath; - -if (_turret isEqualTo []) exitWith {false}; - -_memoryPointGunner = getText (_configTurret >> "memoryPointsGetInGunner"); - -_distance = getNumber (_config >> "getInRadius"); - -isNull (gunner _vehicle) && -{alive _vehicle} && -{!(_vehicle lockedTurret _turret)} && -{getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "isUav") != 1} && -{player distance (_vehicle modeltoworld (_vehicle selectionPosition _memoryPointGunner)) < _distance || {vehicle player == _vehicle}} diff --git a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_canRotate.sqf b/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_canRotate.sqf deleted file mode 100644 index 89fc30e1af..0000000000 --- a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_canRotate.sqf +++ /dev/null @@ -1,8 +0,0 @@ -// by commy2 - -private "_vehicle"; - -_vehicle = _this select 0; - -isNull (gunner _vehicle) && -{alive _vehicle} diff --git a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_getIn.sqf b/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_getIn.sqf deleted file mode 100644 index 1728b6d5f6..0000000000 --- a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_getIn.sqf +++ /dev/null @@ -1,8 +0,0 @@ -// by commy2 - -_vehicle = _this select 0; - -player action [ - ["GetInGunner", "MoveToGunner"] select (vehicle player == _vehicle), - _vehicle -]; diff --git a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_rotate.sqf b/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_rotate.sqf deleted file mode 100644 index 51aa796a89..0000000000 --- a/TO_MERGE/agm/Logistics/functions/StaticWeapons/fn_rotate.sqf +++ /dev/null @@ -1,15 +0,0 @@ -// by commy2 - -player playActionNow "PutDown"; - -_this spawn { - _vehicle = _this select 0; - _isClockwise = _this select 1; - - sleep 1; - - _vehicle setDir getDir _vehicle + ([-22.5, 22.5] select _isClockwise); - _vehicle setPosASL getPosASL _vehicle; - - [_vehicle, "{_this setVectorUp (surfaceNormal getPosASL _this)}", _vehicle] call AGM_Core_fnc_execRemoteFnc; -}; diff --git a/TO_MERGE/agm/Logistics/functions/UAVs/fn_refuel.sqf b/TO_MERGE/agm/Logistics/functions/UAVs/fn_refuel.sqf deleted file mode 100644 index 7ed4fc10ed..0000000000 --- a/TO_MERGE/agm/Logistics/functions/UAVs/fn_refuel.sqf +++ /dev/null @@ -1,11 +0,0 @@ -_target = _this select 0; -_caller = _this select 1; - -[player, "AinvPknlMstpSnonWnonDr_medic5", 0] call AGM_Core_fnc_doAnimation; - -AGM_UAVs_refuelAbort = { - [player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; -}; - -[10,[_target,_caller], "AGM_UAVs_fnc_refuelCallback", localize "STR_AGM_UAVs_Battery_Recharge", "AGM_UAVs_refuelAbort"] call AGM_Core_fnc_progressBar; -[_target] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/UAVs/fn_refuelCallback.sqf b/TO_MERGE/agm/Logistics/functions/UAVs/fn_refuelCallback.sqf deleted file mode 100644 index 8154e567ab..0000000000 --- a/TO_MERGE/agm/Logistics/functions/UAVs/fn_refuelCallback.sqf +++ /dev/null @@ -1,7 +0,0 @@ -_target = _this select 0; -_caller = _this select 1; - -if !("AGM_UAVBattery" in items _caller) exitWith {}; - -_target setFuel 1; -_caller removeItem "AGM_UAVBattery"; diff --git a/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFence.sqf b/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFence.sqf deleted file mode 100644 index 2a805576be..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFence.sqf +++ /dev/null @@ -1,26 +0,0 @@ -// by gpgpgpgp, edited by commy2 - -private ["_fence", "_t"]; - -_t = _this select 0; -_fence = _this select 1; - -if (cadetMode) then { - { - [player, "{_this groupChat localize 'STR_AGM_CuttingFenceChat'}", _x] call AGM_Core_fnc_execRemoteFnc; - } forEach units group player; -}; - -if !([player] call AGM_Core_fnc_isEngineer) then { - _t = _t + 5; -}; - -[player, "AinvPknlMstpSnonWnonDr_medic5", 0] call AGM_Core_fnc_doAnimation; - -if (_t > 4.5) then { - playSound "AGM_wirecutter_sound_long"; -} else { - playSound "AGM_wirecutter_sound"; -}; - -[_t, [_fence], "AGM_Wirecutter_fnc_cutDownFenceCallback", localize "STR_AGM_CuttingFence", "AGM_Wirecutter_fnc_cutDownFenceAbort"] call AGM_Core_fnc_progressBar; diff --git a/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFenceAbort.sqf b/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFenceAbort.sqf deleted file mode 100644 index a6f20b7d0f..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFenceAbort.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -[player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; diff --git a/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFenceCallback.sqf b/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFenceCallback.sqf deleted file mode 100644 index 603429ba95..0000000000 --- a/TO_MERGE/agm/Logistics/functions/Wirecutter/fn_cutDownFenceCallback.sqf +++ /dev/null @@ -1,7 +0,0 @@ -_fence = _this select 0; - -if (alive player) then { - _fence setdamage 1; - [localize "STR_AGM_FenceCut"] call AGM_Core_fnc_displayTextStructured; - [player, "AmovPknlMstpSrasWrflDnon", 1] call AGM_Core_fnc_doAnimation; -}; diff --git a/TO_MERGE/agm/Logistics/functions/fn_canLoadItem.sqf b/TO_MERGE/agm/Logistics/functions/fn_canLoadItem.sqf deleted file mode 100644 index b73d89679d..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_canLoadItem.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/* - Name: AGM_Logistics_fnc_getLoadPoints - - Author: - commy2 - Garth de Wet (LH) - - Description: - - - Parameters: - 0: OBJECT - item to attempt to load - - Returns: - BOOLEAN - - Example: - _attachPoints = _truck call AGM_Logistics_fnc_getLoadPoints; -*/ -#define TRUNK_SELECTION "doplnovani" -#define MAX_DISTANCE 8 - -_nearestVehicles = [ - getPos player nearestObject "Car", - getPos player nearestObject "Tank", - getPos player nearestObject "Helicopter", - getPos player nearestObject "Plane", - getPos player nearestObject "Ship" -]; - -_distances = []; -{ - if (typeName _x == "OBJECT") then { - _distances pushBack (player distance _x); - }; -} forEach _nearestVehicles; - -_distance = MAX_DISTANCE; -{ - _distance = _distance min _x; -} forEach _distances; - -if (_distance == MAX_DISTANCE) exitWith {false}; -_result = false; - -AGM_Logistics_targetVehicle = _nearestVehicles select (_distances find _distance); -_size = getNumber(ConfigFile >> "CfgVehicles" >> Typeof(_this select 0) >> "AGM_Size"); -if (isClass (configFile >> "CfgVehicles" >> typeOf(AGM_Logistics_targetVehicle) >> "AGM_Load")) then { - _attachPoints = AGM_Logistics_targetVehicle call AGM_Logistics_fnc_getLoadPoints; - { - if ([_x select 1, _x select 3] call AGM_Logistics_fnc_remainingSpace >= _size) exitWith { - _result = true; - }; - } forEach _attachPoints; -} else { - _loadedItems = AGM_Logistics_targetVehicle getVariable ["AGM_Logistics_loadedItems", []]; - if ([getNumber (configFile >> "CfgVehicles" >> typeOf AGM_Logistics_targetVehicle >> "AGM_Vehicle_Cargo"), _loadedItems] call AGM_Logistics_fnc_remainingSpace >= _size) then { - _result = true; - }; -}; -_result && {_this select 0 != missionNamespace getVariable ["AGM_Fortifications_crate", objNull]} diff --git a/TO_MERGE/agm/Logistics/functions/fn_canLoadItemCarried.sqf b/TO_MERGE/agm/Logistics/functions/fn_canLoadItemCarried.sqf deleted file mode 100644 index d3af0163c5..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_canLoadItemCarried.sqf +++ /dev/null @@ -1,25 +0,0 @@ -// Original: Garth de Wet (LH), edited by commy2 - -private ["_vehicle", "_item", "_result", "_size", "_attachPoints", "_loadedItems"]; - -_vehicle = _this select 0; - -_item = player getVariable ["AGM_carriedItem", objNull]; -if (isNull _item) exitWith {false}; - -_result = false; -_size = getNumber(ConfigFile >> "CfgVehicles" >> Typeof(_item) >> "AGM_Size"); -if (isClass (configFile >> "CfgVehicles" >> typeOf(_vehicle) >> "AGM_Load")) then { - _attachPoints = _vehicle call AGM_Logistics_fnc_getLoadPoints; - { - if ([_x select 1, _x select 3] call AGM_Logistics_fnc_remainingSpace >= _size) exitWith { - _result = true; - }; - } count _attachPoints; -} else { - _loadedItems = _vehicle getVariable ["AGM_Logistics_loadedItems", []]; - if ([getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Vehicle_Cargo"), _loadedItems] call AGM_Logistics_fnc_remainingSpace >= _size) then { - _result = true; - }; -}; -_result diff --git a/TO_MERGE/agm/Logistics/functions/fn_canLoadMagazine.sqf b/TO_MERGE/agm/Logistics/functions/fn_canLoadMagazine.sqf deleted file mode 100644 index 658c3b63c1..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_canLoadMagazine.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/* - Name: AGM_Logistics_fnc_canLoadMagazine - - Author: - commy2 - Garth de Wet (LH) - - Description: - Checks whether the passed magazine can be loaded into the vehicle - - Parameters: - 0: OBJECT - vehicle to load - 1: STRING - name of magazine to load - - Returns: - BOOLEAN - - Example: - _canLoad = [AGM_Interaction_Target, "Titan_AA"] call AGM_Logistics_fnc_canLoadMagazine; -*/ -private ["_vehicle", "_magazine", "_weapon"]; -_vehicle = _this select 0; -_magazine = _this select 1; -_weapon = (_this call AGM_Logistics_fnc_getWeaponsOfMagazine) select 0; -_result = false; - -if (getNumber (configFile >> "CfgMagazines" >> _magazine >> "AGM_MagazineReloadType") == 1) then { - // The magazine is wrong, it needs to be the currently loaded magazine not the magazine to load. - _result = (_vehicle ammo _weapon) < getNumber (configFile >> "CfgMagazines" >> _magazine >> "count"); -} else { - _result = true; -}; - -_result diff --git a/TO_MERGE/agm/Logistics/functions/fn_getLoadPoints.sqf b/TO_MERGE/agm/Logistics/functions/fn_getLoadPoints.sqf deleted file mode 100644 index cec09883b1..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_getLoadPoints.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/* - Name: AGM_Logistics_fnc_getLoadPoints - - Author: Garth de Wet (LH) - - Description: - - - Parameters: - OBJECT - vehicle - - Returns: - ARRAY: - ARRAY: - 0: STRING - memory point - 1: NUMBER - load size - 2: ARRAY - load position - 0: NUMBER - X - 1: NUMBER - Y - 2: NUMBER - z - 3: ARRAY (OBJECTS) - Currently loaded items in load point - 4: STRING - Class name - - Example: - _attachPoints = _truck call AGM_Logistics_fnc_getLoadPoints; -*/ -private ["_result", "_config", "_count", "_class"]; -_result = []; - -_config = configFile >> "CfgVehicles" >> typeOf(_this) >> "AGM_Load"; -_count = count _config; - -for "_index" from 0 to (_count - 1) do { - _class = _config select _index; - if (isClass (_class)) then { - _result pushBack [getText (_class >> "memoryPoint"), getNumber (_class >> "loadSize"), GetArray(_class >> "loadPosition"), _this getVariable [format["AGM_Load_%1", configName _class], []], configName _class]; - }; -}; - -_result diff --git a/TO_MERGE/agm/Logistics/functions/fn_getLoadableMagazines.sqf b/TO_MERGE/agm/Logistics/functions/fn_getLoadableMagazines.sqf deleted file mode 100644 index 75c093f01e..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_getLoadableMagazines.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - Name: AGM_Logistics_fnc_getLoadableMagazines - - Author: - commy2 - Garth de Wet (LH) - - Description: - Gets all magazines loadable from the unit into the target vehicle - - Parameters: - 0: OBJECT - unit to check magazines of - 1: OBJECT - vehicle to check weapons and magazine types. - - Returns: - ARRAY - Loadable magazines of the unit for the vehicle. - - Example: - _mags = [player, AGM_Interaction_Target] call AGM_Logistics_fnc_getLoadableMagazines; -*/ -private ["_vehicle", "_weapons", "_magazines"]; -_unit = _this select 0; -_vehicle = _this select 1; - -_weapons = weapons _vehicle; - -_magazines = []; -{ - _magazines = _magazines + getArray (configfile >> "CfgWeapons" >> _x >> "AGM_Magazines"); -} forEach _weapons; - -_unitMagazines = magazines _unit; //(magazines _unit + magazineCargo _vehicle)) -{ - if (!(_x in _unitMagazines) || {!([_vehicle, _x] call AGM_Logistics_fnc_canLoadMagazine)}) then { - _magazines = _magazines - [_x]; - }; -} forEach _magazines; - -_magazines diff --git a/TO_MERGE/agm/Logistics/functions/fn_getPosLoadable.sqf b/TO_MERGE/agm/Logistics/functions/fn_getPosLoadable.sqf deleted file mode 100644 index 9f313fa4a5..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_getPosLoadable.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Author: PabstMirror - * - * Returns the position of the object, OR he position of the transport in case the object is loaded into cargo. - * - * Argument: - * 0: Any object (Object) - * - * Return value: - * Position of the object or transport (Position 3D). - */ - -private "_theCrate"; - -_theCrate = _this select 0; -{ - if (_theCrate in (_x getVariable ["AGM_Logistics_loadedItems", []])) exitWith { - _theCrate = _x; - }; -} forEach vehicles; - -getPos _theCrate diff --git a/TO_MERGE/agm/Logistics/functions/fn_getWeaponsOfMagazine.sqf b/TO_MERGE/agm/Logistics/functions/fn_getWeaponsOfMagazine.sqf deleted file mode 100644 index 2d03f46652..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_getWeaponsOfMagazine.sqf +++ /dev/null @@ -1,20 +0,0 @@ -// by commy2 - -private ["_vehicle", "_magazine", "_weapons", "_weaponMagazines", "_magazineWeapons"]; - -_vehicle = _this select 0; -_magazine = _this select 1; - -if (isNil "_magazine") exitWith {[]}; - -_weapons = weapons _vehicle; -_weaponMagazines = []; -{ - _weaponMagazines set [_forEachIndex, getArray (configFile >> "CfgWeapons" >> _x >> "AGM_Magazines")] -} forEach _weapons; - -_magazineWeapons = []; -{ - if (_magazine in _x) then {_magazineWeapons pushBack (_weapons select _forEachIndex);}; -} forEach _weaponMagazines; -_magazineWeapons diff --git a/TO_MERGE/agm/Logistics/functions/fn_hasLoadedItems.sqf b/TO_MERGE/agm/Logistics/functions/fn_hasLoadedItems.sqf deleted file mode 100644 index 73a2ca41b8..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_hasLoadedItems.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - Name: AGM_Logistics_fnc_hasLoadedItems - - Author: - Garth de Wet (LH) - - Description: - - - Parameters: - 0: OBJECT - vehicle to check for loaded items - - Returns: - BOOLEAN - - Example: - _vehicleLoaded = [_truck] call AGM_Logistics_fnc_hasLoadedItems; -*/ - -private ["_result", "_vehicle"]; - -_result = false; -_vehicle = _this select 0; - -// add default items -_items = _vehicle getVariable "AGM_Logistics_loadedItems"; -if (isNil "_items") then { - switch (true) do { - /* - "B_Truck_01_transport_F" - "O_Truck_02_transport_F" - "I_Truck_02_transport_F" - "O_Truck_03_transport_F" - */ - case (_vehicle isKindOf "Car_F") : { - [_vehicle] call compile preprocessFileLineNumbers "\AGM_Logistics\scripts\itemsCar.sqf"; - }; - case (_vehicle isKindOf "Tank_F") : { - [_vehicle] call compile preprocessFileLineNumbers "\AGM_Logistics\scripts\itemsTank.sqf"; - }; - }; -}; - -if (isClass (configFile >> "CfgVehicles" >> typeOf(_vehicle) >> "AGM_Load")) then { - _attachPoints = (_vehicle) call AGM_Logistics_fnc_getLoadPoints; - { - if (count (_x select 3) > 0) exitWith { - _result = true; - }; - } count _attachPoints; -} else { - _result = (count (_vehicle getVariable ["AGM_Logistics_loadedItems", []])) > 0; -}; - -_result diff --git a/TO_MERGE/agm/Logistics/functions/fn_initLoadedObject.sqf b/TO_MERGE/agm/Logistics/functions/fn_initLoadedObject.sqf deleted file mode 100644 index 0db052c525..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_initLoadedObject.sqf +++ /dev/null @@ -1,13 +0,0 @@ -// by commy2 - -private ["_vehicle", "_item", "_loadedItems"]; - -_vehicle = _this select 0; -_item = _this select 1; - -_loadedItems = _vehicle getVariable ["AGM_Logistics_loadedItems", []]; -_loadedItems pushBack _item; - -_item attachTo [AGM_Logistics_loadedItemsDummy, [0, 0, 0], ""]; - -_vehicle setVariable ["AGM_Logistics_loadedItems", _loadedItems, true]; diff --git a/TO_MERGE/agm/Logistics/functions/fn_loadItem.sqf b/TO_MERGE/agm/Logistics/functions/fn_loadItem.sqf deleted file mode 100644 index f4fec4da5a..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_loadItem.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/* - Name: AGM_Logistics_fnc_loadItem - - Author: - commy2 - Garth de Wet (LH) - - Description: - - - Parameters: - 0: OBJECT - Item to load - 1: OBJECT - Vehicle to load into - 2: STRING - Load point class - - Returns: - NOTHING - - Example: - [AGM_Interaction_Target, AGM_Logistics_targetVehicle, "MidLoad"] call AGM_Logistics_fnc_loadItem; -*/ -_item = _this select 0; -_vehicle = _this select 1; - -_item setVariable ["AGM_isUsedBy", player, true]; - -_size = getNumber(ConfigFile >> "CfgVehicles" >> Typeof(_item) >> "AGM_Size"); -if (isClass (configFile >> "CfgVehicles" >> typeOf(_vehicle) >> "AGM_Load")) exitWith { - _attachPoints = _vehicle call AGM_Logistics_fnc_getLoadPoints; - { - if ((_x select 4) == (_this select 2)) exitWith { - if ([_x select 1, _x select 3] call AGM_Logistics_fnc_remainingSpace >= _size) then { - [5 * _size, [_item, _vehicle, _x select 4, false], "AGM_Logistics_fnc_loadItemCallback", localize "STR_AGM_Logistics_LoadingItem", "AGM_Logistics_fnc_loadItemAbort"] call AGM_Core_fnc_progressBar; - }; - }; - } count _attachPoints; -}; -// Fallback to magic menu -[5 * _size, [_item, _vehicle, "", true], "AGM_Logistics_fnc_loadItemCallback", localize "STR_AGM_Logistics_LoadingItem", "AGM_Logistics_fnc_loadItemAbort"] call AGM_Core_fnc_progressBar; -[_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Logistics/functions/fn_loadItemAbort.sqf b/TO_MERGE/agm/Logistics/functions/fn_loadItemAbort.sqf deleted file mode 100644 index e6dc3cc09e..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_loadItemAbort.sqf +++ /dev/null @@ -1,7 +0,0 @@ -// by commy2 - -_item = _this select 0; - -if (_item != player getVariable ["AGM_carriedItem", objNull]) then { - _item setVariable ["AGM_isUsedBy", objNull, true]; -}; diff --git a/TO_MERGE/agm/Logistics/functions/fn_loadItemCallback.sqf b/TO_MERGE/agm/Logistics/functions/fn_loadItemCallback.sqf deleted file mode 100644 index 2958065eef..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_loadItemCallback.sqf +++ /dev/null @@ -1,66 +0,0 @@ -// by commy2 - -_item = _this select 0; -_vehicle = _this select 1; -_className = _this select 2; -_magicMenu = _this select 3; -_attachPoint = ""; -_attachPos = [0,0,0]; -_loaded = false; -_dummy = objNull; - -if (_item == player getVariable ["AGM_carriedItem", objNull]) then { - player call AGM_Drag_fnc_releaseObject; -}; - -// add default items -_items = _vehicle getVariable "AGM_Logistics_loadedItems"; -if (isNil "_items") then { - switch (true) do { - case (_vehicle isKindOf "Car_F") : { - [_vehicle] call compile preprocessFileLineNumbers "\AGM_Logistics\scripts\itemsCar.sqf"; - }; - case (_vehicle isKindOf "Tank_F") : { - [_vehicle] call compile preprocessFileLineNumbers "\AGM_Logistics\scripts\itemsTank.sqf"; - }; - }; -}; - -_size = getNumber(ConfigFile >> "CfgVehicles" >> Typeof(_item) >> "AGM_Size"); -if (!_magicMenu) then { - _attachPoints = _vehicle call AGM_Logistics_fnc_getLoadPoints; - { - if ((_x select 4) == _className) exitWith { - if ([_x select 1, _x select 3] call AGM_Logistics_fnc_remainingSpace >= _size) then { - _loadedItems = _x select 3; - _loadedItems pushBack _item; - _vehicle setVariable [format ["AGM_Load_%1", _className], _loadedItems, true]; - _loaded = true; - _attachPoint = _x select 0; - _attachPos = _x select 1; - }; - }; - } count _attachPoints; -} else { - _loadedItems = _vehicle getVariable ["AGM_Logistics_loadedItems", []]; - if ([getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_Vehicle_Cargo"), _loadedItems] call AGM_Logistics_fnc_remainingSpace >= _size) then { - _loadedItems pushBack _item; - _vehicle setVariable ["AGM_Logistics_loadedItems", _loadedItems, true]; - _loaded = true; - _dummy = AGM_Logistics_loadedItemsDummy; - }; -}; - -if (_Loaded) then { - //0 spawn AGM_Logistics_dropItem; - _item attachTo [_dummy, _attachPos, _attachPoint]; - _item enableSimulationGlobal false; - _item hideObjectGlobal true; - - _itemName = getText (configFile >> "CfgVehicles" >> typeOf _item >> "displayName"); - _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - - [format [localize "STR_AGM_Logistics_LoadedItem", _itemName, _vehicleName]] call AGM_Core_fnc_displayTextStructured; -}; - -_item setVariable ["AGM_isUsedBy", objNull, true]; diff --git a/TO_MERGE/agm/Logistics/functions/fn_loadMagazine.sqf b/TO_MERGE/agm/Logistics/functions/fn_loadMagazine.sqf deleted file mode 100644 index b024c24be1..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_loadMagazine.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/* - Name: AGM_Logistics_fnc_loadMagazine - - Author: - commy2 - Garth de Wet (LH) - - Description: - Loads the passed magazine into the vehicle from the passed unit - - Parameters: - 0: OBJECT - unit to perform loading - 1: OBJECT - vehicle to load - 2: STRING - name of magazine to load - - Returns: - Nothing - - Example: - [player,AGM_Interaction_Target, "Titan_AA"] call AGM_Logistics_fnc_loadMagazine; -*/ -private ["_unit", "_vehicle", "_magazine"]; -_unit = _this select 0; -_vehicle = _this select 1; -_magazine = _this select 2; - -_weapon = ([_vehicle, _magazine] call AGM_Logistics_fnc_getWeaponsOfMagazine) select 0; -if (_unit == player) then { - [10, [_unit, _vehicle, _magazine, _weapon], "AGM_Logistics_fnc_loadMagazineCallback", "Loading Magazine ..."] call AGM_Core_fnc_progressBar; -} else { - sleep 10; - [_unit, _vehicle, _magazine, _weapon] call AGM_Logistics_fnc_loadMagazineCallback; -}; diff --git a/TO_MERGE/agm/Logistics/functions/fn_loadMagazineCallback.sqf b/TO_MERGE/agm/Logistics/functions/fn_loadMagazineCallback.sqf deleted file mode 100644 index d21dc12af0..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_loadMagazineCallback.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/* - Name: AGM_Logistics_fnc_loadMagazineCallback - - Author: - commy2 - Garth de Wet (LH) - - Description: - - Parameters: - 0: OBJECT - unit to perform loading - 1: OBJECT - vehicle to load - 2: STRING - name of magazine to load - 3: STRING - Weapon - - Returns: - Nothing - - Example: - [player,AGM_Interaction_Target, "Titan_AA", "missiles_titan"] call AGM_Logistics_fnc_loadMagazineCallback; -*/ -private ["_unit", "_vehicle", "_magazine"]; -_unit = _this select 0; -_vehicle = _this select 1; -_magazine = _this select 2; -_weapon = _this select 3; - -if !([_vehicle, _magazine] call AGM_Logistics_fnc_canLoadMagazine) exitWith {}; - -if (_magazine in magazines _unit) then { - _unit removeMagazineGlobal _magazine; - - _itemName = getText (configFile >> "CfgMagazines" >> _magazine >> "displayName"); - _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - [format ["%1 loaded into %2", _itemName, _vehicleName], true] call AGM_Core_fnc_displayText; - - [[_vehicle, _magazine, _weapon], "AGM_Logistics_fnc_loadMagazineRemote", _vehicle] call AGM_Core_fnc_execRemoteFnc; -}; diff --git a/TO_MERGE/agm/Logistics/functions/fn_loadMagazineRemote.sqf b/TO_MERGE/agm/Logistics/functions/fn_loadMagazineRemote.sqf deleted file mode 100644 index f1e954a08e..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_loadMagazineRemote.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* - Name: AGM_Logistics_fnc_loadMagazineRemote - - Author: - Garth de Wet (LH) - - Description: - Loads the magazine into the vehicle. Is executed on the owner of the vehicle. (setAmmo requirement) - - Parameters: - 0: OBJECT - vehicle to load - 1: STRING - name of magazine to load - - Returns: - Nothing - - Example: - [AGM_Interaction_Target, "Titan_AA"] call AGM_Logistics_fnc_loadMagazineRemote; -*/ -private ["_vehicle", "_magazine", "_weapon"]; -_vehicle = _this select 0; -_magazine = _this select 1; -_weapon = _this select 2; - -if (getNumber (configFile >> "CfgMagazines" >> _magazine >> "AGM_MagazineReloadType") == 1) then { - _vehicle setAmmo [_weapon, (_vehicle ammo _weapon) + 1]; -} else { - _vehicle addMagazineGlobal _magazine; -}; diff --git a/TO_MERGE/agm/Logistics/functions/fn_openLoadUI.sqf b/TO_MERGE/agm/Logistics/functions/fn_openLoadUI.sqf deleted file mode 100644 index 864f844cfa..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_openLoadUI.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/* - Name: AGM_Logistics_fnc_openLoadUI - - Author: Garth de Wet (LH) - - Description: - Opens the UI for load position selection - - Parameters: - - - Returns: - Nothing - - Example: - [AGM_Interaction_Target, AGM_Logistics_targetVehicle] call AGM_Logistics_fnc_openLoadUI; -*/ -private ["_vehicle","_result", "_item", "_index"]; -_item = _this select 0; -_vehicle = _this select 1; - -AGM_Interaction_Target = _item; -AGM_Logistics_targetVehicle = _vehicle; - -if (isClass (configFile >> "CfgVehicles" >> typeOf(_vehicle) >> "AGM_Load")) exitWith { - _size = getNumber(ConfigFile >> "CfgVehicles" >> Typeof(_item) >> "AGM_Size"); - _attachPoints = _vehicle call AGM_Logistics_fnc_getLoadPoints; - - _actions = [localize "STR_AGM_Logistics_LoadMenu", localize "STR_AGM_Logistics_LoadItem"] call AGM_Interaction_fnc_prepareSelectMenu; - { - if ([_x select 1, _x select 3] call AGM_Logistics_fnc_remainingSpace >= _size) then { - _actions = [ - _actions, - getText (ConfigFile >> "CfgVehicles" >> typeOf(_vehicle) >> "AGM_Load" >> _x select 4 >> "DisplayName"), - getText (ConfigFile >> "CfgVehicles" >> typeOf(_vehicle) >> "picture"), - _x select 4 - ] call AGM_Interaction_fnc_AddSelectableItem; - }; - } count _attachPoints; - - [ - _actions, - { - call AGM_Interaction_fnc_hideMenu; - [AGM_Interaction_Target, AGM_Logistics_targetVehicle, _this] call AGM_Logistics_fnc_loadItem; - }, - { - call AGM_Interaction_fnc_hideMenu; - if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenu}; - } - ] call AGM_Interaction_fnc_openSelectMenu; -}; -call AGM_Interaction_fnc_hideMenu; -[AGM_Interaction_Target, AGM_Logistics_targetVehicle, ""] call AGM_Logistics_fnc_loadItem; diff --git a/TO_MERGE/agm/Logistics/functions/fn_openMagazineMenu.sqf b/TO_MERGE/agm/Logistics/functions/fn_openMagazineMenu.sqf deleted file mode 100644 index ee8670b42d..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_openMagazineMenu.sqf +++ /dev/null @@ -1,44 +0,0 @@ -/* - Name: AGM_Logistics_fnc_openMagazineMenu - - Author: Garth de Wet (LH) - - Description: - Opens the UI for selecting magazines to load into vehicle. - - Parameters: - 0: OBJECT - vehicle - - Returns: - Nothing - - Example: - [AGM_Interaction_Target] call AGM_Logistics_fnc_openMagazineMenu; -*/ -private ["_vehicle","_magazines"]; -AGM_Logistics_targetVehicle = _this select 0; -_magazines = [player, AGM_Logistics_targetVehicle] call AGM_Logistics_fnc_getLoadableMagazines; - -_listed = []; -_actions = [localize "STR_AGM_Logistics_MagazineMenu", localize "STR_AGM_Logistics_LoadItem"] call AGM_Interaction_fnc_prepareSelectMenu; -{ - if (!(_x in _listed) && {[AGM_Logistics_targetVehicle, _x] call AGM_Logistics_fnc_canLoadMagazine}) then { - _class = ConfigFile >> "CfgMagazines" >> _x; - _actions = [ - _actions, - getText (_class >> "DisplayName"), - getText (_class >> "picture"), - _x - ] call AGM_Interaction_fnc_AddSelectableItem; - _listed pushBack _x; - }; -} count _magazines; - -[ - _actions, - { - call AGM_Interaction_fnc_hideMenu; - [player, AGM_Logistics_targetVehicle, _this] call AGM_Logistics_fnc_loadMagazine; - }, - {if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenu};} -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/TO_MERGE/agm/Logistics/functions/fn_openUnloadUI.sqf b/TO_MERGE/agm/Logistics/functions/fn_openUnloadUI.sqf deleted file mode 100644 index 470e5fe5ac..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_openUnloadUI.sqf +++ /dev/null @@ -1,58 +0,0 @@ -/* - Name: AGM_Logistics_fnc_openUnloadUI - - Author: Garth de Wet (LH) - - Description: - Opens the UI for unload position selection - - Parameters: - 0: OBJECT - vehicle to open unload UI on - - Returns: - Nothing - - Example: - [AGM_Logistics_targetVehicle] call AGM_Logistics_fnc_openUnloadUI; -*/ -private ["_vehicle", "_index", "_listIDC"]; -_vehicle = _this select 0; - -AGM_Logistics_targetVehicle = _vehicle; -_actions = [localize "STR_AGM_Logistics_UnloadMenu", localize "STR_AGM_Logistics_UnloadItem"] call AGM_Interaction_fnc_prepareSelectMenu; -if (isClass (configFile >> "CfgVehicles" >> typeOf(_vehicle) >> "AGM_Load")) then { - _attachPoints = _vehicle call AGM_Logistics_fnc_getLoadPoints; - { - _class = _x select 4; - { - _actions = [ - _actions, - getText (ConfigFile >> "CfgVehicles" >> typeOf(_x) >> "displayName"), - getText (ConfigFile >> "CfgVehicles" >> typeOf(_x) >> "picture"), - ["AGM_Load_" + _class, _foreachIndex] - ] call AGM_Interaction_fnc_AddSelectableItem; - } foreach (_x select 3); - } count _attachPoints; -}; - -_attachPoints = _vehicle getVariable ["AGM_Logistics_loadedItems", []]; -{ - _actions = [ - _actions, - getText (ConfigFile >> "CfgVehicles" >> typeOf(_x) >> "displayName"), - getText (ConfigFile >> "CfgVehicles" >> typeOf(_x) >> "picture"), - ["AGM_Logistics_loadedItems", _foreachIndex] - ] call AGM_Interaction_fnc_AddSelectableItem; -} foreach _attachPoints; - -[ - _actions, - { - call AGM_Interaction_fnc_hideMenu; - [AGM_Logistics_targetVehicle, _this] spawn AGM_Logistics_fnc_unloadItem; - }, - { - call AGM_Interaction_fnc_hideMenu; - if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenu}; - } -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/TO_MERGE/agm/Logistics/functions/fn_remainingSpace.sqf b/TO_MERGE/agm/Logistics/functions/fn_remainingSpace.sqf deleted file mode 100644 index 25cf8c3c92..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_remainingSpace.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - Name: AGM_Logistics_fnc_remainingSpace - - Author: Garth de Wet (LH) - - Description: - - - Parameters: - 0: NUMBER - Load Size of vehicle - 1: ARRAY - Objects stored in vehicle - - Returns: - ARRAY: - ARRAY: - 0: STRING - memory point - 1: NUMBER - load size - 2: ARRAY - load position - 0: NUMBER - X - 1: NUMBER - Y - 2: NUMBER - z - 3: ARRAY (OBJECTS) - Currently loaded items in load point - - Example: - _freeSpace = [3, (_truck call AGM_Logistics_fnc_getLoadPoints) select 3] call AGM_Logistics_fnc_remainingSpace; -*/ -private ["_size", "_objects", "_usedSize", "_objSize"]; -_size = _this select 0; -_objects = _this select 1; -_usedSize = 0; -{ - _objSize = 1; - if (isNumber (ConfigFile >> "CfgVehicles" >> typeof(_x) >> "AGM_Size")) then { - _objSize = getNumber(ConfigFile >> "CfgVehicles" >> typeof(_x) >> "AGM_Size"); - }; - _usedSize = _usedSize + _objSize; -} count _objects; - -(_size - _usedSize) diff --git a/TO_MERGE/agm/Logistics/functions/fn_spawnObject.sqf b/TO_MERGE/agm/Logistics/functions/fn_spawnObject.sqf deleted file mode 100644 index 96ad3e377b..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_spawnObject.sqf +++ /dev/null @@ -1,17 +0,0 @@ -// by commy2 - -private ["_item", "_position", "_damage"]; - -_item = _this select 0; -_position = _this select 1; -_damage = _this select 2; - -if (isNil "_damage") then {_damage = 0}; - -_position = _position findEmptyPosition [0, 4, _item]; -if (count _position == 0) then {_position = _this select 1}; -_position set [2, 0]; - -_item = createVehicle [_item, _position, [], 0, "NONE"]; -_item setDamage _damage; -_item diff --git a/TO_MERGE/agm/Logistics/functions/fn_unloadItem.sqf b/TO_MERGE/agm/Logistics/functions/fn_unloadItem.sqf deleted file mode 100644 index c9fdf4ef81..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_unloadItem.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/* - Name: AGM_Logistics_fnc_loadItem - - Author: - commy2 - Garth de Wet (LH) - - Description: - - - Parameters: - 0: OBJECT - Item to load - 1: OBJECT - Vehicle to load into - 2: ARRAY - 0: String of variable name - 1: index within variable - - Returns: - NOTHING - - Example: - [AGM_Interaction_Target, AGM_Logistics_targetVehicle, ["AGM_Load_MidLoad", 1]] spawn AGM_Logistics_fnc_loadItem; -*/ -_vehicle = _this select 0; -_variableName = (_this select 1) select 0; -_varIndex = (_this select 1) select 1; -_item = (_vehicle getVariable _variableName) select _varIndex; - -_size = getNumber(ConfigFile >> "CfgVehicles" >> Typeof(_item) >> "AGM_Size"); - -if (!isNull(_item)) then { - [_size * 5, [_vehicle, _item, _variableName], "AGM_Logistics_fnc_unloadItemCallback", localize "STR_AGM_Logistics_UnloadingItem"] call AGM_Core_fnc_progressBar; - [_vehicle] call AGM_Core_fnc_closeDialogIfTargetMoves; -}; diff --git a/TO_MERGE/agm/Logistics/functions/fn_unloadItemCallback.sqf b/TO_MERGE/agm/Logistics/functions/fn_unloadItemCallback.sqf deleted file mode 100644 index b873dff2e3..0000000000 --- a/TO_MERGE/agm/Logistics/functions/fn_unloadItemCallback.sqf +++ /dev/null @@ -1,32 +0,0 @@ -// by commy2 -_vehicle = _this select 0; -_item = _this select 1; -_itemHolder = _this select 2; - -_loadedItems = _vehicle getVariable [_itemHolder, []]; - -// exit here if the item was unloaded by someone else -if !(_item in _loadedItems) exitWith {}; - -_loadedItems = _loadedItems - [_item]; -_vehicle setVariable [_itemHolder, _loadedItems, true]; - -player allowDamage false; -detach _item; -_item enableSimulationGlobal true; -_item hideObjectGlobal false; -[_item, "{{_x reveal _this} forEach allUnits}", 2] call AGM_Core_fnc_execRemoteFnc; - -_position = getPos player findEmptyPosition [0, 4, typeOf _item]; -if (count _position == 0) then {_position = getPosASL player}; -_position set [2, (getPosASL player) select 2]; - -_item setPosASL _position; -[_item, "{_this setVectorUp (surfaceNormal getPosASL _this)}", _item] call AGM_Core_fnc_execRemoteFnc; - -player reveal _item; -player allowDamage true; - -_itemName = getText (configFile >> "CfgVehicles" >> typeOf _item >> "displayName"); -_vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); -[format [localize "STR_AGM_Logistics_UnloadedItem", _itemName, _vehicleName]] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Logistics/scripts/itemsCar.sqf b/TO_MERGE/agm/Logistics/scripts/itemsCar.sqf deleted file mode 100644 index ffc89e115a..0000000000 --- a/TO_MERGE/agm/Logistics/scripts/itemsCar.sqf +++ /dev/null @@ -1,14 +0,0 @@ -// by commy2 - -private ["_vehicle", "_item"]; - -_vehicle = _this select 0; - -_item = ['AGM_JerryCan', [-1000, -1000, 100]] call AGM_Logistics_fnc_spawnObject; -[_vehicle, _item] call AGM_Logistics_fnc_initLoadedObject; - -// Do not add spare wheels to light vehicles like quad bikes and karts. -if (getMass _vehicle >= 1000) then { - _item = ['AGM_SpareWheel', [-1000, -1000, 100]] call AGM_Logistics_fnc_spawnObject; - [_vehicle, _item] call AGM_Logistics_fnc_initLoadedObject; -}; diff --git a/TO_MERGE/agm/Logistics/scripts/itemsTank.sqf b/TO_MERGE/agm/Logistics/scripts/itemsTank.sqf deleted file mode 100644 index 83c6bacd32..0000000000 --- a/TO_MERGE/agm/Logistics/scripts/itemsTank.sqf +++ /dev/null @@ -1,11 +0,0 @@ -// by commy2 - -private ["_vehicle", "_item"]; - -_vehicle = _this select 0; - -_item = ['AGM_SpareTrack', [-1000, -1000, 100]] call AGM_Logistics_fnc_spawnObject; -[_vehicle, _item] call AGM_Logistics_fnc_initLoadedObject; - -_item = ['AGM_SpareTrack', [-1000, -1000, 100]] call AGM_Logistics_fnc_spawnObject; -[_vehicle, _item] call AGM_Logistics_fnc_initLoadedObject; diff --git a/TO_MERGE/agm/Logistics/serverInit.sqf b/TO_MERGE/agm/Logistics/serverInit.sqf deleted file mode 100644 index 6e617fab36..0000000000 --- a/TO_MERGE/agm/Logistics/serverInit.sqf +++ /dev/null @@ -1,5 +0,0 @@ -// by commy2 - -AGM_Logistics_loadedItemsDummy = "Sign_Sphere10cm_F" createVehicle [-1000, -1000, 0]; -//AGM_Logistics_loadedItemsDummy setPosASL [-1000, -1000, 10]; -publicVariable "AGM_Logistics_loadedItemsDummy"; diff --git a/TO_MERGE/agm/Logistics/sound/wire_cut.ogg b/TO_MERGE/agm/Logistics/sound/wire_cut.ogg deleted file mode 100644 index 246b15432c..0000000000 Binary files a/TO_MERGE/agm/Logistics/sound/wire_cut.ogg and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/sound/wire_cut_long.ogg b/TO_MERGE/agm/Logistics/sound/wire_cut_long.ogg deleted file mode 100644 index 36d25c9c73..0000000000 Binary files a/TO_MERGE/agm/Logistics/sound/wire_cut_long.ogg and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/stringtable.xml b/TO_MERGE/agm/Logistics/stringtable.xml deleted file mode 100644 index 43d50f22df..0000000000 --- a/TO_MERGE/agm/Logistics/stringtable.xml +++ /dev/null @@ -1,1306 +0,0 @@ - - - - - - Load Menu - Menú de carga - Menu de chargement - Menu ładunku - Lademenü - Náklad vozidla - Menu de Carregamento - Menù di Caricamento - Berakodás menü - Меню загрузки - - - Load Item - Cargar objeto - Charger Objet - Załaduj obiekt - Gegenstand laden - Naložit Předmět - Carregar Item - Carica Oggetto - Tárgy berakodása - Загрузить прдмет - - - Loading ... - Cargando ... - Chargement... - Verladen ... - Ładowanie ... - Nakládání ... - Carregando ... - Caricamento ... - Berakodás ... - Загружаем ... - - - Unloading ... - Lade ab ... - Descargando ... - Déchargement ... - Rozładunku ... - Vykládání ... - Descarregando ... - Scaricamento ... - Kirakodás ... - Разгружаем ... - - - %1 loaded into %2 - %1 cargado en %2 - %1 chargé dans %2 - %1 in %2 verladen - %1 załadowano do %2 - %1 naloženo do %2 - %1 carregado em %2 - %1 caricato su %2 - %1 berakodva ide: %2 - %1 загружен в %2 - - - Unloaded %1 from %2 - %1 von %2 abgeladen - Descargado/a %1 de %2 - Déchargé %1 de %2 - Rozładowany %1 do %2 - Nezatížený %1 do %2 - %1 descarregado de %2 - Hai scaricato %1 da %2 - 1% kirakodva ebből: %2 - %1 разгружен из %2 - - - Unload Menu - Menú de descarga - Menu de déchargement - Menu rozładunku - Ablademenü - Vykládací menu - Menu de Descarregamento - Menù di Scaricamento - Kirakodás menü - Меню разгрузки - - - Unload Item - Descargar objecto - Décharger Objet - Wyładuj obiekt - Gegenstand abladen - Vyložit Předmět - Descarregar Item - Scarica Oggetto - Tárgy kirakodása - Разгрузить предмет - - - Magazines - Cargadores - Chargeurs - Magazynki - Magazine - Zásobníky - Carregadores - Caricatori - Fegyvertár menü - Магазины - - - Unload - Abladen - Descargar - Décharger - Wyładuj - Vyložit - Descarregar - Scarica - Tárkioldás - Разгрузить - - - Magazines - Magazine - Cargadores - Chargeurs - Magazynki - Zásobníky - Carregadores - Caricatori - Tárak - Магазины - - - - - Drag - Тащить - Arrastrar - Ciągnij - Táhnout - Tracter - Ziehen - Arrastar - Trascina - Húzás - - - Release - Отпустить - Soltar - Puść - Položit - Lâcher - Loslassen - Largar - Lascia - Elengedés - - - Unable to drag item due to weight - Слишком тяжелый предмет - No se puede arrastrar el objeto debido a su peso - Nie można ciągnąć tego przedmiotu z powodu jego wagi - Předmět je příliž těžký! - Trop lourd pour être tracté - Dieser Gegenstand kann nicht gezogen werden, da er zu schwer ist. - Não é possível carregar o item devido a seu peso - Non è possibile trascinare l'oggetto a causa del suo peso - Túl nehéz ahhoz, hogy elhúzd - - - Carry - Tragen - Portar - Nieś - Porter - Nést - Carregar - Trascina - Felvesz - Нести - - - Release - Отпустить - Soltar - Puść - Položit - Lâcher - Loslassen - Largar - Lascia - Lerak - - - - - Get in - Einsteigen - Entrar en - Servir - Wejdź - Nastoupit - Entrar - Sali - Beszállás - Зайти - - - Rotate weapon (CW) - Waffe drehen (rechts) - Girar arma (SH) - Orienter l'arme (SH) - Obróć broń (w prawo) - Otočit zbraň (vpravo) - Rotacionar arma (horário) - Ruota l'arma (senso orario) - Elfordítás jobbra - Повернуть оружие (вправо) - - - Rotate weapon (CCW) - Waffe drehen (links) - Girar arma (SAH) - Orienter l'arme (SAH) - Obróć broń (w lewo) - Otočit zbraň (vlevo) - Rotacionar arma (anti-horário) - Ruota l'arma (senso antiorario) - Elfordítás balra - Повернуть оружие (влево) - - - - - Jerry Can - Kanister - Bidón - Jerrican - Kanister - Kanystr - Bidão - Tanica - Benzineskanna - Канистра - - - Spare Track - Ersatzkette - Cadena de repuesto - Chenille de réserve - Zapasowa gąsienica - Náhradní pásy - Lagarta Reserva - Cingolo di scorta - Pót lánctalp - Запасная гусеница - - - Spare Wheel - Ersatzreifen - Rueda de repuesto - Roue de secours - Zapasowe koło - Náhradní Kolo - Roda Reserva - Ruota di scorta - Pótkerék - Запасное колесо - - - Vehicle: %1 - Fahrzeug: %1 - Vehículo: %1 - Véhicule: %1 - Pojazd: %1 - Vozidlo: %1 - Veículo: %1 - Veicolo: %1 - Jármű: %1 - Машина: %1 - - - Vehicle is undamaged - Fahrzeug ist unbeschädigt - Vehículo sin daños - Le véhicule n'est pas endommagé - Pojazd jest nienaruszony - Vozidlo není poškozené - Veículo não está danificado - Il veicolo non è danneggiato - A jármű nem sérült - Машина исправна - - - %1 is damaged - %1 ist beschädigt - %1 dañado - %1 est endommagé(e) - %1 jest uszkodzony - %1 je poškozený - %1 está danificado - %1 è danneggiato - A(z) %1 sérült - %1 поврежден - - - %1 is heavily damaged - %1 ist schwer beschädigt - %1 dañado severamente - %1 est gravement endommagé(e) - %1 jest mocno uszkodzony - %1 je velice poškozené - %1 está fortemente danificado - %1 è gravemente danneggiato - A(z) %1 súlyosan sérült - %1 сильно поврежден - - - %1 is destroyed - %1 ist zerstört - %1 destruido - %1 est détruit(e) - %1 jest zniszczony - %1 je zničené - %1 está destruído - %1 è distrutto - A(z) %1 megsemmisült - %1 уничтожен - - - Repair >> - Reparieren >> - Reparación >> - Réparer >> - Napraw >> - Opravit >> - Reparar >> - Ripara >> - Szerelés >> - Ремонт >> - - - Tracks - Ketten - Cadenas - Chenilles - Gąsienice - Pásy - Lagartas - Cingoli - Lánctalpak - Гусеницы - - - Wheels - Reifen - Ruedas - Roues - Koła - Kola - Rodas - Ruote - Kerekek - Колёса - - - Body - Karosserie - Carrocería - Blindage - Karoseria - Karoserie - Carroceria - Carrozzeria - Test - Кузов - - - Hull - Wanne - Casco - Caisse - Kadłub - Trup - Chassi - Scafo - Test - Корпус - - - Engine - Motor - Motor - Moteur - Silnik - Motor - Motor - Motore - Motor - Двигатель - - - Fuel Tank - Tank - Depósito - Réservoir - Zbiornik paliwa - Palivová nádrž - Tanque de Combustível - Serbatoio - Üzemanyagtank - Топливный бак - - - Main Turret - Turm - Torreta príncipal - Tourelle - Wieżyczka - Hlavní Věž - Torre principal - Torretta principale - Lövegtorony - Башню - - - Gun - Kanone - Cañón - Canon - Działo - Kanón - Canhão - Cannone - Ágyú - Пушку - - - Left Track - Linke Kette - Cadena izquierda - Chenille gauche - Lewa gąsienica - Levý Pás - Lagarta Esquerda - Cingolo sinistro - Bal lánctalp - Левую гусеницу - - - Right Track - Rechte Kette - Cadena derecha - Chenille droite - Prawa gąsienica - Pravý Pás - Lagarta Direita - Cingolo destro - Jobb lánctalp - Правую гусеницу - - - Left Front Wheel - Linkes Vorderrad - Rueda frontal izquierda - Roue avant-gauche - Przednie lewe koło - Levé přední Kolo - Roda Dianteira Esquerda - Ruota frontale sinistra - Bal első kerék - Левое переднее колесо - - - Right Front Wheel - Rechtes Vorderrad - Rueda frontal derecha - Roue avant-droite - Przednie prawe koło - Pravé přední Kolo - Roda Dianteira Direita - Ruota frontale destra - Jobb első kerék - Правое переднее колесо - - - Second Left Front Wheel - Zweites linkes Vorderrad - Segunda rueda frontal izquierda - Deuxième roue avant-gauche - Drugie przednie lewe koło - Druhé Levé přední Kolo - Segunda Roda Dianteira Esquerda - Seconda ruota frontale sinistra - Második bal első kerék - Второе переднее левое колесо - - - Second Right Front Wheel - Zweites rechtes Vorderrad - Segunda rueda frontal derecha - Deuxième roue avant-droite - Drugie przednie prawe koło - Druhé Pravé přední Kolo - Segunda Roda Dianteira Direita - Seconda ruota frontale destra - Második jobb hátsó kerék - Второе правое переднее колесо - - - Left Middle Wheel - Linkes mittleres Rad - Rueda central izquierda - Roue centre-gauche - Środkowe lewe koło - Levé prostřední Kolo - Roda Intermediária Esquerda - Ruota centrale sinistra - Bal középső kerék - Левое среднее колесо - - - Right Middle Wheel - Rechtes mittleres Rad - Rueda central derecha - Roue centre-droite - Środkowe prawe koło - Pravé prostřední Kolo - Roda Intermediária Direita - Ruota centrale destra - Jobb középső kerék - Правое среднее колесо - - - Left Rear Wheel - Linkes Hinterrad - Rueda trasera izquierda - Roue arrière-gauche - Tylnie lewe koło - Levé zadní Kolo - Roda Traseira Esquerda - Ruota posteriore sinistra - Bal hátsó kerék - Левое заднее колесо - - - Right Rear Wheel - Rechtes Hinterrad - Rueda trasera derecha - Roue arrière-droite - Tylnie prawe koło - Pravé zadní Kolo - Roda Traseira Direita - Ruota posteriore destra - Jobb hátsó kerék - Правое заднее колесо - - - Avionics - Avionik - Aviónica - Avionique - Awionika - Elektronika - Aviônica - Avionica - Avionika - Авионику - - - Main Rotor - Hauptrotor - Rotor principal - Rotor principal - Główny rotor - Hlavní Rotor - Rotor Principal - Rotore principale - Főrotor - Несущий винт - - - Tail Rotor - Heckrotor - Rotor de cola - Rotor anticouple - Tylni rotor - Zadní Rotor - Rotor de Cauda - Rotore di coda - Farokrotor - Рулевой винт - - - Glass (right) - Scheibe (rechts) - Ventana (derecha) - Vitre (droite) - Szyba (prawa) - Sklo (pravé) - Vidro (à direita) - Vetro destro - Jobb szélvédő - Стекло (справа) - - - Glass (left) - Scheibe (links) - Ventana (izquierda) - Vitre (gauche) - Szyba (lewa) - Sklo (pravé) - Vidro (à esquerda) - Vetro sinistro - Bal szélvédő - Стекло (слава) - - - Glass 1 - Scheibe 1 - Ventana 1 - Vitre 1 - Szyba 1 - Sklo 1 - Vidro 1 - Vetro 1 - Üveg 1 - Стекло 1 - - - Glass 2 - Scheibe 2 - Ventana 2 - Vitre 2 - Szyba 2 - Sklo 2 - Vidro 2 - Vetro 2 - Üveg 2 - Стекло 2 - - - Glass 3 - Scheibe 3 - Ventana 3 - Vitre 3 - Szyba 3 - Sklo 3 - Vidro 3 - Vetro 3 - Üveg 3 - Стекло 3 - - - Glass 4 - Scheibe 4 - Ventana 4 - Vitre 4 - Szyba 4 - Sklo 4 - Vidro 4 - Vetro 4 - Üveg 4 - Стекло 4 - - - Glass 5 - Scheibe 5 - Ventana 5 - Vitre 5 - Szyba 5 - Sklo 5 - Vidro 5 - Vetro 5 - Üveg 5 - Стекло 5 - - - Glass 6 - Scheibe 6 - Ventana 6 - Vitre 6 - Szyba 6 - Sklo 6 - Vidro 6 - Vetro 6 - Üveg 6 - Стекло 6 - - - There's no track! - Es ist keine Kette in der Nähe! - No hay cadena! - Pas de chenille! - Nie ma gąsienicy! - Chybí pás! - Não há lagarta! - Nessun cingolo disponibile! - Nincs lánctalp! - Нет гусеницы! - - - There's no wheel! - Es ist kein Reifen in der Nähe! - No hay rueda! - Pas de roue! - Nie ma koła! - Chybí kolo! - Não há roda! - Nessuna ruota disponibile! - Nincsen kerék! - Нет колеса! - - - Select Wheel Menu - Reifenwahlmenü - Seleccionar menú de rueda - Sélectionner Menu Roues - Wybierz menu kół - Zvolit kolo - Menu de Seleção de Roda - Seleziona il menù della ruota - Kerék menü kiválasztása - Меню выбора колес - - - Change Wheel - Reifen wechseln - Cambiar rueda - Changer Roue - Wymień koło - Vyměňit kolo - Trocar Roda - Sostituisci la ruota - Kerék cseréje - Поменять колесо - - - Select Wheel Menu - Reifenwahlmenü - Seleccionar menú de rueda - Sélectionner Menu Roues - Wybierz menu kół - Náklad vozidla - Menu de Seleção de Roda - Seleziona il menù della ruota - Kerék menü kiválasztása - Меню выбора колеса - - - Remove Wheel - Reifen entf. - Quitar rueda - Démonter Roue - Zdejmij koło - Odstranit Kolo - Remover Roda - Rimuovi la ruota - Kerék leszerelése - Снять колесо - - - Repairing %1 ... - Reparieren %1 ... - Reparando %1 ... - Réparation %1 ... - Naprawianie %1... - Opravuji %1 ... - Reparando %1 ... - Sto riparando %1 ... - %1 javítása - Ремонтируем %1 ... - - - Repaired %1 - %1 repariert - Reparado %1 - %1 réparé(e) - Naprawiono %1 - Opraveno - %1 - Reparado %1 - %1 Riparata/o - %1 megjavítva - %1 отремонтирован - - - Repair Wheel - Reifen aufziehen - Reparar rueda - Répare Roue - Napraw koło - Opravit Kolo - Reparar Roda - Ripara la ruota - Kerék javítása - Отремонтировать колесо - - - Remove Wheel - Reifen entfernen - Quitar rueda - Démonte Roue - Zdejmij koło - Odstranit Kolo - Remover Roda - Rimuovi la ruota - Kerék leszerelése - Снять колесо - - - Removing %1 ... - Entferne %1 ... - Zdejmowanie %1 ... - Quitando %1 ... - Démonte %1 ... - Odstraňuji %1 ... - Removendo %1 ... - Sto rimuovendo %1 ... - %1 leszerelése ... - Снимаем %1 ... - - - %1 removed - %1 entfernt - %1 quitado - %1 démontée - %1 zdjęte - %1 odstraněno - %1 removido(a) - %1 Rimossa/o - %1 leszerelve - % снято - - - Check Vehicle - Fahrzeug überprüfen - Comprobar vehículo - Vérifier Véhicule - Sprawdź pojazd - Zkontrolovat Vozidlo - Checar Veículo - Controlla il veicolo - Jármű átvizsgálása - Проверить машину - - - Checking Vehicle ... - Fahrzeug überprüfen ... - Comprobando vehículo - Vérification ... - Sprawdzanie pojazdu... - Kontroluji Vozidlo ... - Checando Veículo ... - Sto controllando ... - Jármű átvizsgálása ... - Проверяем машину ... - - - - - Drone is full - Drohne ist voll - El VANT está lleno - L'UAV est chargé - Dron jest naładowany - A drón fel van töltve - Dron je nabitý - O VANT está cheio - Il drone è pieno - БПЛА заполнен - - - You need a UAV Battery - Du brauchst eine UAV-Batterie - Necesitas una batería para VANT - Pas de batterie UAV - Potrzebujesz baterii UAV - Szükséged van egy UAV akkumulátorra - Potřebuješ UAV-Baterii - Você precisa de uma Bateria para VANT - Hai bisogno di una Batteria UAV - Требуется аккумулятор БПЛА - - - Recharge - Aufladen - Recargar - Recharger - Naładuj - Feltöltés - Dobít - Recarregar - Ricarica - Подзарядить - - - UAV Battery - UAV-Batterie - Batería para VANT - Batterie UAV - Bateria UAV - UAV akkumulátor - UAV-Baterie - Bateria para VANT - Batteria UAV - Аккумулятор БПЛА - - - Used to refuel Carried UAV's - Verwendet zum Aufladen von tragbaren UAV's - Usada para reabastecer el VANT - Utilisée pour recharger l'UAV - Używana do naładowania UAV - Hordozható UAV-ok működéséhez való akkumulátor - Používané k dobíjení UAV - Usada para reabastecer VANT - Usata per ricaricare la Batteria dell'UAV - Используется для подзарядки БПЛА - - - Recharging ... - Aufladen ... - Recargando ... - Rechargement ... - Ładowanie ... - Akku feltöltése ... - Dobíjení ... - Recarregando ... - In ricarica ... - Подзаряжаем ... - - - - - Cut Fence - Zaun schneiden - Cortar alambrado - Przetnij płot - Přestřihnout plot - Cisailler Clôture - Cortar Cerca - Taglia - Drótkerítés átvágása - Вырезать забор - - - Cutting Fences / Wires ... - Zaun / Draht schneiden ... - Cortando alambrado / cables ... - Przecinanie płotu / drutów ... - Přestřihnout plot / dráty ... - Cisaille l'obstacle ... - Cortando Cerca / Arame ... - Sto tagliando ... - Drótok elvágása ... - Вырезаем забор / провода ... - - - Cutting Fences! - Schneide Zaun! - Cortando alambrado! - Przecinanie płotu! - Stříhání plotu! - Cisaillage! - Cortando Cerca! - La sto tagliando! - Átvágom a drótkerítést! - Вырезаем забор! - - - Fence cut - Zaun geschnitten - Alambrado cortado - Płot przecięty - Plot přestřižen - Clôture cisaillée - Cerca cortada - Fatto! - Drótkerítés átvágva - Забор вырезан - - - - - Check Fuel - Treibstoff prüfen - Sprawdź poziom paliwa - Comprobar combustible - Jauger Réservoir - Zkontrolovat Palivo - Conferir Combustível - Controlla il carburante - Üzemagyag státusz - Проверить топливо - - - Check Fuel (Cargo) - Treibstoffvorrat prüfen - Sprawdź poziom paliwa (ładunek) - Comprobar combustible (en carga) - Jauger Citerne - Zkontrolovat Palivo (náklad) - Conferir Combustível (carregado) - Controlla il serbatoio - Üzemanyagtartály állapota - Проверить топливо в грузове - - - Check Jerrycan - Kanister prüfen - Sprawdź kanister - Comprobar bidón - Jauger Jerrican - Zkontrolovat Kanystr - Conferir Bidão - Controlla la tanica - Üzemanyagkanna állapota - Проверить канистру - - - Checking Fuel ... - Prüfe Treibstoff ... - Comprobando combustible ... - Jaugeage ... - Sprawdzanie poziomu paliwa ... - Kontroluji Palivo ... - Conferindo Combustível ... - Sto controllando il livello di carburante ... - Üzemanyagszint ellenőrzése ... - Проверяем топливо ... - - - Checking Fuel (Cargo) ... - Prüfe Treibstoffvorrat ... - Comprobando combustible en la carga... - Jaugeage ... - Sprawdzanie poziomu paliwa (ładunek) ... - Kontroluji Palivo (náklad) ... - Conferindo Combustível (carregado) ... - Sto controllando il carburante nel serbatoio ... - Üzemanyagtartály ellenőrzése ... - Проверяем топливо в грузове ... - - - Jerrycan has %1 litre(s) left - Kanister hat %1 Liter übrig - El bidón tiene %1 litro(s) - %1 litre(s) de carburant dans le jerrican - W kanistrze zostało %1 litr(ów) - Kanystru zbývá %1 litr(ů) - O bidão tem %1 litro(s) remanescente(s) - La tanica ha %1 litro/i rimanente/i - A kannában %1 liter maradt - В канистре %1 литра(ов) - - - Vehicle has %1 litre(s) left - Fahrzeug hat %1 Liter übrig - El vehículo tiene %1 litro(s) - %1 litre(s) dans le réservoir - W pojeździe zostało %1 litr(ów) - Vozidlu zbývá %1 litr(ů) - O veículo tem %1 litro(s) remanescente(s) - Il veicolo ha %1 litro/i rimanente/i - A járműben %1 liter maradt - В машине %1 литра(ов) - - - Vehicle has %1 litre(s) left in Cargo - Fahrzeug hat %1 Liter übrig im Vorrat - El vehículo tiene %1 litro(s) en la carga - %1 litre(s) dans la citerne - W ładunku pojazdu zostało %1 litr(ów) - Vozidlu zbývá %1 litr(ů) v nákladu - O veículo tem %1 litro(s) carregados remanescentes - Il veicolo ha %1 litro/i rimanente/i nel serbatoio - A tartályban %1 liter maradt - В канистре %1 литра(ов) в грузове - - - Refuel Vehicle - Fahrzeug betanken - Reabastecer vehículo - Ravitailler Réservoir - Zatankuj pojazd - Natankovat Vozidlo - Reabastecer Veículo - Fai rifornimento - Jármű megtankolása - Заправить машину - - - Refuel Vehicle - Fahrzeug betanken - Reabastecer vehículo - Ravitailler Citerne - Zatankuj pojazd - Natankovat Vozidlo - Reabastecer Veículo - Fai rifornimento - Tartály megtankolása - Заправить машину - - - Drain Fuel - Benzin ablassen - Drenar combustible - Vidanger Réservoir - Spuść paliwo - Vypustit Palivo - Drenar Combustível - Drena il carburante - Üzemanyagtank leszívása - Слить топливо - - - Drain Fuel Cargo - Benzinvorrat ablassen - Drenar combustible en la carga - Vidanger Citerne - Spuść paliwo z ładunku - Vypustit Palivo Nákladu - Drenar Combustível Carregado - Drena il carburante dal serbatoio - Üzemanyagtartály leszívása - Слить топливо из грузова - - - Refueling ... - Betanke ... - Reabasteciendo ... - Ravitaillement ... - Tankowanie ... - Tankování ... - Reabastecendo ... - Rifornendo ... - Tankolás ... - Заправляем ... - - - Draining Fuel ... - Benzin ablassen ... - Drenando combustible ... - Vidange ... - Spuszczanie paliwa ... - Vypouštění paliva ... - Drenando Combustível ... - Drenando ... - Leszívás ... - Сливаем топливо ... - - - Draining Fuel Cargo ... - Benzinvorrat ablassen ... - Drenando combustible de la carga - Vidange ... - Spuszczanie paliwa z ładunku ... - Vypouštění paliva nákladu ... - Drenando Combustível Carregado ... - Drenando dal serbatoio ... - Tartály leszívása ... - Сливаем топливо из грузова ... - - - Refueled %1 - %1 betankt - Reabastecido %1 - %1 ravitaillé - Zatankowano %1 - Natankováno - %1 - Reabastecido %1 - Rifornito %1 - %1 megtankolva - %1 заправлен - - - Drained Fuel - Benzin abgelassen - Combustible drenado - Réservoir vidangé - Spuszczono paliwo - Vypuštěné Palivo - Combustível Drenado - Carburante drenato - Leszívott üzemanyag - Топливо слито - - - Drained Fuel Cargo - Benzinvorrat abgelassen - Combustible en la carga drenado - Citerne vidangée - Spuszczono paliwo z ładunku - Vypuštěné Palivo Nákladu - Combustível Carregado Drenado - Carburante drenato dal serbatoio - Tartályból leszívott üzemanyag - Топливо из грузова слито - - - - - Airdrop Box - Box abwerfen - Lanzar caja con paracaídas - Aérolargage - Zrzut ładunku na spadochronie - Schodnit letecky bednu - Lançar Caixa com Paraquedas - Scatola paracadutabile - Légi utánpótlás láda - Сбросить груз - - - - - Sandbag Barrier Crate - Sandsack-Kiste - Caja sacos de arena - Skrzynia z workami z piaskiem - Sac de Sable (Caisse) - Pytlová bariéra (v krabici) - Caixa de Saco de Areia - Cassa di sacchi di sabbia - Homokzsák láda - Блок из мешков с песком - - - Razor Wire Crate - Stacheldraht-Kiste - Caja de alambre de púas - Skrzynia z drutem kolczastym - Concertina (Caisse) - Ostnatý drát (v krabici) - Caixa de Arame Farpado - Cassa di filo spinato - Szögesdrót láda - Блок колючей проволоки - - - Sandbag Barrier - Sandsackbarriere - Barrera de sacos de arena - Worki z piaskiem - Sacs de sable - Pytlová bariéra - Saco de Areia - Barriera di sacchi di sabbia - Homokzsák - Барьер из мешков с песком - - - Razor Wire - Stacheldraht - Alambre de púas - Drut kolczasty - Concertina - Ostnatý drát - Arame Farpado - Filo spinato - Szögesdrót - Колючая проволока - - - Place - Platzieren - Colocar - Umieść - Placer - Položit - Colocar - Posiziona - Elhelyez - Установить - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Cancelar - Annulla - Mégse - Отменить - - - Rotate - Drehen - Girar - Obróć - Tourner - Otočit - Rotacionar - Ruota - Forgatás - Повернуть - - - \ No newline at end of file diff --git a/TO_MERGE/agm/Logistics/ui/AGM_battery.paa b/TO_MERGE/agm/Logistics/ui/AGM_battery.paa deleted file mode 100644 index 5e6c0e1bf7..0000000000 Binary files a/TO_MERGE/agm/Logistics/ui/AGM_battery.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/ui/Icon_Module_Repair_ca.paa b/TO_MERGE/agm/Logistics/ui/Icon_Module_Repair_ca.paa deleted file mode 100644 index 5e3b00564c..0000000000 Binary files a/TO_MERGE/agm/Logistics/ui/Icon_Module_Repair_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/ui/rotate_ccw_ca.paa b/TO_MERGE/agm/Logistics/ui/rotate_ccw_ca.paa deleted file mode 100644 index d1274fc391..0000000000 Binary files a/TO_MERGE/agm/Logistics/ui/rotate_ccw_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/ui/rotate_cw_ca.paa b/TO_MERGE/agm/Logistics/ui/rotate_cw_ca.paa deleted file mode 100644 index f5f4b70e8c..0000000000 Binary files a/TO_MERGE/agm/Logistics/ui/rotate_cw_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/ui/tire_ca.paa b/TO_MERGE/agm/Logistics/ui/tire_ca.paa deleted file mode 100644 index 1d3b0e8375..0000000000 Binary files a/TO_MERGE/agm/Logistics/ui/tire_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Logistics/ui/wirecutter_ca.paa b/TO_MERGE/agm/Logistics/ui/wirecutter_ca.paa deleted file mode 100644 index 8cd2165385..0000000000 Binary files a/TO_MERGE/agm/Logistics/ui/wirecutter_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/HintConfig.hpp b/TO_MERGE/agm/Medical/HintConfig.hpp deleted file mode 100644 index 3d43b03450..0000000000 --- a/TO_MERGE/agm/Medical/HintConfig.hpp +++ /dev/null @@ -1,30 +0,0 @@ -// by commy2 - -class RscStructuredText; - -class RscTitles { - class AGM_Medical_RscHint { - idd = -1; - onLoad = "uiNamespace setVariable ['AGM_ctrlHint', (_this select 0) displayCtrl 1];"; - movingEnable = false; - duration = 10; - fadeIn = 0.2; - fadeOut = 0.2; - name = "AGM_Medical_RscHint"; - - class controls { - class HintBox: RscStructuredText { - idc = 1; - text = ""; - size = "1 / 40 / (getResolution select 5)"; - sizeEx = 1; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {0, 0, 0, 0.5}; - x = safeZoneW + safeZoneX - 0.2 * safezoneW; - y = safeZoneY + 0.2 * safezoneH; - w = 0.2 * safeZoneW; - h = 0.35 * SafeZoneH; - }; - }; - }; -}; diff --git a/TO_MERGE/agm/Medical/UI/IconMedical_ca.paa b/TO_MERGE/agm/Medical/UI/IconMedical_ca.paa deleted file mode 100644 index 796a768917..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/IconMedical_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/Medical_Icon_ca.paa b/TO_MERGE/agm/Medical/UI/Medical_Icon_ca.paa deleted file mode 100644 index 61933fafda..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/Medical_Icon_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/agm_bandage_ca.paa b/TO_MERGE/agm/Medical/UI/agm_bandage_ca.paa deleted file mode 100644 index 6309599b74..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/agm_bandage_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/agm_bloodbag_ca.paa b/TO_MERGE/agm/Medical/UI/agm_bloodbag_ca.paa deleted file mode 100644 index 14c3be9ce2..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/agm_bloodbag_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/agm_epipen_ca.paa b/TO_MERGE/agm/Medical/UI/agm_epipen_ca.paa deleted file mode 100644 index 4c6c5dae15..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/agm_epipen_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/agm_morphine_ca.paa b/TO_MERGE/agm/Medical/UI/agm_morphine_ca.paa deleted file mode 100644 index 3e34003c64..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/agm_morphine_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/diagnose_ca.paa b/TO_MERGE/agm/Medical/UI/diagnose_ca.paa deleted file mode 100644 index f4a15e18b5..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/diagnose_ca.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/parts/arm_left.paa b/TO_MERGE/agm/Medical/UI/parts/arm_left.paa deleted file mode 100644 index 2ded9898c2..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/parts/arm_left.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/parts/arm_right.paa b/TO_MERGE/agm/Medical/UI/parts/arm_right.paa deleted file mode 100644 index 9fa68090f7..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/parts/arm_right.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/parts/body.paa b/TO_MERGE/agm/Medical/UI/parts/body.paa deleted file mode 100644 index 6a7f5d4e2f..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/parts/body.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/parts/head.paa b/TO_MERGE/agm/Medical/UI/parts/head.paa deleted file mode 100644 index 98c2aa29a2..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/parts/head.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/parts/leg_left.paa b/TO_MERGE/agm/Medical/UI/parts/leg_left.paa deleted file mode 100644 index eca0781fb4..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/parts/leg_left.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/UI/parts/leg_right.paa b/TO_MERGE/agm/Medical/UI/parts/leg_right.paa deleted file mode 100644 index 6112a5588d..0000000000 Binary files a/TO_MERGE/agm/Medical/UI/parts/leg_right.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/agm_epipen.p3d b/TO_MERGE/agm/Medical/agm_epipen.p3d deleted file mode 100644 index 6078cc92c1..0000000000 Binary files a/TO_MERGE/agm/Medical/agm_epipen.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Medical/agm_morphine.p3d b/TO_MERGE/agm/Medical/agm_morphine.p3d deleted file mode 100644 index 38148476bd..0000000000 Binary files a/TO_MERGE/agm/Medical/agm_morphine.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Medical/clientInit.sqf b/TO_MERGE/agm/Medical/clientInit.sqf deleted file mode 100644 index e50d2567d8..0000000000 --- a/TO_MERGE/agm/Medical/clientInit.sqf +++ /dev/null @@ -1,148 +0,0 @@ -// by CAA-Picard - -private ["_currentBlood", "_time", "_blind", "_timeBlood", "_strength", "_currentBlood"]; - -if (!hasInterface) exitWith {}; - -AGM_Unconscious_CC = ppEffectCreate ["ColorCorrections", 4206]; -AGM_Unconscious_CC ppEffectForceInNVG True; -AGM_Unconscious_CC ppEffectAdjust [1,1,0, [0,0,0,1], [0,0,0,0], [1,1,1,1], [0.4,0.4,0,0,0,0.1,0.3]]; -AGM_Unconscious_CC ppEffectCommit 0; -AGM_Unconscious_RB = ppEffectCreate ["RadialBlur", 4207]; -AGM_Unconscious_RB ppEffectForceInNVG True; -AGM_Unconscious_RB ppEffectAdjust [0.01, 0.01, 0, 0]; -AGM_Unconscious_RB ppEffectCommit 0; -AGM_Blinding_CC = ppEffectCreate ["ColorCorrections", 4211]; -AGM_Blinding_CC ppEffectForceInNVG True; -AGM_Blinding_CC ppEffectAdjust [1,1,0, [1,1,1,0], [0,0,0,1], [0,0,0,0]]; -AGM_Blinding_CC ppEffectCommit 0; - -AGM_BloodLevel_CC = ppEffectCreate ["ColorCorrections", 4208]; -AGM_BloodLevel_CC ppEffectForceInNVG True; -AGM_BloodLevel_CC ppEffectAdjust [1,1,0, [0,0,0,0], [1,1,1,1], [0.2,0.2,0.2,0]]; -AGM_BloodLevel_CC ppEffectCommit 0; - -AGM_Pain_CA = ppEffectCreate ["chromAberration", 4209]; -AGM_Pain_CA ppEffectForceInNVG True; -AGM_Pain_CA ppEffectAdjust [0, 0, False]; -AGM_Pain_CA ppEffectCommit 0; -AGM_Pain_CC = ppEffectCreate ["ColorCorrections", 4210]; -AGM_Pain_CC ppEffectForceInNVG True; -AGM_Pain_CC ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1.3,1.3,0,0,0,0.2,2]]; -AGM_Pain_CC ppEffectCommit 0; - -// Spawn a thread to handle graphical effects for player, regardless of which unit he's controlling -0 spawn { - _time = time; - _timeBlood = 0; - _blind = False; - while {True} do { - // Detect if curator interface is open and then disable effects - if (!isNull(findDisplay 312)) then { - AGM_BloodLevel_CC ppEffectEnable False; - AGM_Unconscious_CC ppEffectEnable False; - AGM_Unconscious_RB ppEffectEnable False; - AGM_Blinding_CC ppEffectEnable False; - AGM_Pain_CC ppEffectEnable False; - AGM_Pain_CA ppEffectEnable False; - waitUntil {isNull(findDisplay 312)}; - }; - - // Detect if player is not alive and then disable effects and enable input - if (!(alive AGM_player)) then { - AGM_BloodLevel_CC ppEffectEnable False; - AGM_Unconscious_CC ppEffectEnable False; - AGM_Unconscious_RB ppEffectEnable False; - AGM_Blinding_CC ppEffectEnable False; - AGM_Pain_CC ppEffectEnable False; - AGM_Pain_CA ppEffectEnable False; - if !(isNull (uiNamespace getVariable ["AGM_Core_dlgDisableMouse", displayNull])) then { - [False] call AGM_Core_fnc_disableUserInput; - }; - waitUntil {alive AGM_player}; - }; - - // Unconciousness Effect - if (AGM_player getVariable ["AGM_isUnconscious", False]) then { - AGM_Unconscious_CC ppEffectEnable True; - AGM_Unconscious_RB ppEffectEnable True; - _blind = True; - if (isNull (uiNamespace getVariable ["AGM_Core_dlgDisableMouse", displayNull])) then { - [True, True] call AGM_Core_fnc_disableUserInput; - }; - } else { - AGM_Unconscious_CC ppEffectEnable False; - AGM_Unconscious_RB ppEffectEnable False; - if !(isNull (uiNamespace getVariable ["AGM_Core_dlgDisableMouse", displayNull])) then { - [False] call AGM_Core_fnc_disableUserInput; - }; - if (_blind) then { - // blinding strength depedent on light level - _strength = 0.78 * (call AGM_Core_fnc_ambientBrightness); - AGM_Blinding_CC ppEffectEnable True; - AGM_Blinding_CC ppEffectAdjust [1,1,_strength, [1,1,1,0], [0,0,0,1], [0,0,0,0]]; - AGM_Blinding_CC ppEffectCommit 0.01; - waitUntil {ppEffectCommitted AGM_Blinding_CC}; - AGM_Blinding_CC ppEffectAdjust [1,1,0, [1,1,1,0], [0,0,0,1], [0,0,0,0]]; - AGM_Blinding_CC ppEffectCommit (_strength * 2); - (_strength * 2) spawn { - sleep _this; - AGM_Blinding_CC ppEffectEnable False; - }; - _blind = False; - }; - }; - - // Pain Effect - _strength = AGM_player getVariable ["AGM_Pain", 0]; - _strength = _strength * (AGM_player getVariable ["AGM_Medical_CoefPain", AGM_Medical_CoefPain]); - if (profileNamespace getVariable ["AGM_alternativePainEffect", False]) then { - AGM_Pain_CA ppEffectEnable False; - if ((AGM_player getVariable ["AGM_Pain", 0]) > 0 && {alive AGM_player}) then { - AGM_Pain_CC ppEffectEnable True; - AGM_Pain_CC ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [(1 - _strength * 0.17) max 0,(1 - _strength * 0.17) max 0,0,0,0,0.2,2]]; - AGM_Pain_CC ppEffectCommit 1; - sleep (1.5 - (AGM_player getVariable ["AGM_Pain", 0])); - AGM_Pain_CC ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [(1 - _strength * 1.7) max 0,(1 - _strength * 1.7) max 0,0,0,0,0.2,2]]; - AGM_Pain_CC ppEffectCommit 1; - sleep 0.15; - } else { - AGM_Pain_CC ppEffectEnable False; - sleep 1; - }; - } else { - AGM_Pain_CC ppEffectEnable False; - if ((AGM_player getVariable ["AGM_Pain", 0]) > 0.05 && {alive AGM_player}) then { - AGM_Pain_CA ppEffectEnable True; - AGM_Pain_CA ppEffectAdjust [0.035 * _strength, 0.035 * _strength, False]; - AGM_Pain_CA ppEffectCommit 1; - sleep (1.5 - (AGM_player getVariable ["AGM_Pain", 0])); - AGM_Pain_CA ppEffectAdjust [0.35 * _strength, 0.35 * _strength, False]; - AGM_Pain_CA ppEffectCommit 1; - sleep 0.15; - } else { - AGM_Pain_CA ppEffectEnable False; - sleep 0.75; - }; - }; - - // Bleeding Effect - if (damage AGM_player > 0.1 and _timeBlood + 6 < time) then { - _timeBlood = time; - [(damage AGM_player) * 500] call BIS_fnc_bloodEffect; - }; - - // Blood Level Effect - _currentBlood = AGM_player getVariable ["AGM_Blood", 1]; - if (_currentBlood > 0.99) then { - AGM_BloodLevel_CC ppEffectEnable False; - } else { - AGM_BloodLevel_CC ppEffectEnable True; - AGM_BloodLevel_CC ppEffectAdjust [1, 1, 0, [0.0, 0.0, 0.0, 0.0], [1, 1, 1,_currentBlood], [0.2, 0.2, 0.2, 0]]; - AGM_BloodLevel_CC ppEffectCommit 0; - }; - - _time = time; - _damage = damage AGM_player; - }; -}; diff --git a/TO_MERGE/agm/Medical/config.cpp b/TO_MERGE/agm/Medical/config.cpp deleted file mode 100644 index 46fb98b361..0000000000 --- a/TO_MERGE/agm/Medical/config.cpp +++ /dev/null @@ -1,1070 +0,0 @@ -// PATCH CONFIG -class CfgPatches { - class AGM_Medical { - units[] = {"AGM_Box_Medical"}; - weapons[] = {"AGM_Bandage", "AGM_Morphine", "AGM_Epipen", "AGM_Bloodbag"}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - }; -}; - -class CfgFunctions { - class AGM_Medical { - class AGM_Medical { - file = "AGM_Medical\functions"; - class aiCanTreat; - class aiInitTask; - class aiTreat; - class checkDamage; - class diagnose; - class displayText; - class handleDamage; - class init; - class isDiagnosed; - class isInMedicalVehicle; - class itemCheck; - class knockOut; - class loadIntoVehicle; - class module; - class overdose; - class release; - class scream; - class setDamage; - class setHitPointDamage; - class takeItem; - class transport; - class treat; - class treatmentCallback; - class unloadPatients; - class wakeUp; - }; - }; -}; - -class Extended_Init_EventHandlers { - class CAManBase { - class AGM_Medical { - init = "(_this select 0) addEventHandler ['HandleDamage', {_this call AGM_Medical_fnc_handleDamage}]; _this call AGM_Medical_fnc_init"; - }; - }; -}; -class Extended_Respawn_EventHandlers { - class CAManBase { - class AGM_Medical { - respawn = "_this call AGM_Medical_fnc_init"; - }; - }; -}; -class Extended_Hit_EventHandlers { - class CAManBase { - class AGM_Medical { - hit = "if (alive (_this select 0) and !((_this select 0) getVariable ['AGM_isUnconscious', False]) and !([(_this select 0)] call AGM_Core_fnc_isPlayer)) then {[(_this select 0)] call AGM_Medical_fnc_scream;};"; - }; - }; -}; -class Extended_Take_EventHandlers { - class CAManBase { - class AGM_Medical { - take = "[(_this select 0)] call AGM_Medical_fnc_itemCheck;"; - }; - }; -}; -class Extended_GetOut_EventHandlers { - class All { - class AGM_Medical_LeaveVehicle { - getOut = "if (local (_this select 2) && {(_this select 2) getVariable ['AGM_isUnconscious', false]}) then {[_this select 2, 'unconscious', 2, true] call AGM_Core_fnc_doAnimation;}"; - }; - }; -}; - -class Extended_PostInit_EventHandlers { - class AGM_Medical { - init = "call compile preprocessFileLineNumbers '\AGM_Medical\init.sqf'"; - clientInit = "call compile preprocessFileLineNumbers '\AGM_Medical\clientInit.sqf'"; - }; -}; - -class AGM_Core_canInteractConditions { - class AGM_Medical_canTreat { - condition = "_player getVariable ['AGM_canTreat', true]"; - }; - class AGM_Medical_isConscious { - condition = "!(_player getVariable ['AGM_isUnconscious', false])"; - }; - class AGM_Medical_isNotOverdosing { - condition = "!(_player getVariable ['AGM_isOverdosing', false])"; - }; -}; - -class AGM_Core_Options { - class keepMedicalMenuOpen { - displayName = "$STR_AGM_Medical_KeepMenuOpen"; - default = 0; - }; - class alternativePainEffect { - displayName = "$STR_AGM_Medical_AlternativePainEffect"; - default = 0; - }; -}; - -class CfgVehicles { - #define ARM_LEG_ARMOR_DEFAULT 2 - #define ARM_LEG_ARMOR_BETTER 3 - #define ARM_LEG_ARMOR_CSAT 4 - - class Man; - class CAManBase: Man { - class HitPoints { - class HitHead; - class HitBody; - // "DEACTIVE" DEFAULT HITPOINTS - class HitHands { - armor = 999; //armor = 2; - explosionShielding = 0; //explosionShielding = 1; - material = -1; - minimalHit = 0; - name = ""; - passThrough = 1; - radius = 0; //radius = 0.06; - visual = "injury_hands"; - }; - class HitLegs { - armor = 999; //armor = 2; - explosionShielding = 0; //explosionShielding = 1; - material = -1; - minimalHit = 0; - name = ""; - passThrough = 1; - radius = 0; //radius = 0.08; - visual = "injury_legs"; - }; - - class HitLeftArm { - armor = ARM_LEG_ARMOR_DEFAULT; //2; - explosionShielding = 1; - material = -1; - minimalHit = 0; - name = "hand_l"; - passThrough = 1; - radius = 0.06; - visual = "injury_hands"; - }; - class HitRightArm: HitLeftArm { - name = "hand_r"; - }; - class HitLeftLeg { - armor = ARM_LEG_ARMOR_DEFAULT; //2; - explosionShielding = 1; - material = -1; - minimalHit = 0; - name = "leg_l"; - passThrough = 1; - radius = 0.08; - visual = "injury_legs"; - }; - class HitRightLeg: HitLeftLeg { - name = "leg_r"; - }; - }; - - class AGM_Actions { - class AGM_Medical { - displayName = "$STR_AGM_Medical_Treat"; - distance = 4; - condition = "_target getVariable ['AGM_isTreatable', true]"; - statement = ""; - showDisabled = 1; - enableInside = 1; - icon = "AGM_Medical\UI\Medical_Icon_ca.paa"; - priority = 6; - subMenu[] = {"AGM_Medical", 0}; - hotkey = "T"; - - class AGM_Diagnose { - displayName = "$STR_AGM_Medical_Diagnose"; - condition = "_target getVariable ['AGM_isTreatable', true]"; - statement = "[_player, _target, 'diagnose'] call AGM_Medical_fnc_treat;"; - icon = "AGM_Medical\UI\diagnose_ca.paa"; - showDisabled = 1; - enableInside = 1; - priority = 1; - }; - class AGM_Morphine { - displayName = "$STR_AGM_Medical_Inject_Morphine"; - condition = "([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and alive _target and 'AGM_Morphine' in itemsWithMagazines _player"; - statement = "[_player, _target, 'morphine'] call AGM_Medical_fnc_treat;"; - showDisabled = 1; - enableInside = 1; - icon = "AGM_Medical\UI\agm_morphine_ca.paa"; - priority = 0.9; - }; - class AGM_Epipen { - displayName = "$STR_AGM_Medical_Inject_Epinephrine"; - condition = "([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and alive _target and 'AGM_Epipen' in itemsWithMagazines _player and _target getVariable ['AGM_isUnconscious', False]"; - statement = "[_player, _target, 'epipen'] call AGM_Medical_fnc_treat;"; - showDisabled = 1; - enableInside = 1; - priority = 0.8; - icon = "AGM_Medical\UI\agm_epipen_ca.paa"; - }; - class AGM_BloodBag { - displayName = "$STR_AGM_Medical_Transfuse_Blood"; - condition = "([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and alive _target and 'AGM_Bloodbag' in itemsWithMagazines _player"; - statement = "[_player, _target, 'bloodbag'] call AGM_Medical_fnc_treat;"; - showDisabled = 1; - enableInside = 1; - priority = 0.7; - icon = "AGM_Medical\UI\agm_bloodbag_ca.paa"; - }; - class AGM_Bandage { - displayName = "$STR_AGM_Medical_Bandage"; - condition = "AGM_Medical_SingleBandage and ([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player and alive _target"; - statement = "[_player, _target, 'bandage', 'All'] call AGM_Medical_fnc_treat;"; - priority = 0.6; - conditionShow = "AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\body.paa"; - }; - class AGM_Bandage_Head { - displayName = "$STR_AGM_Medical_Bandage_HitHead"; - condition = "!AGM_Medical_SingleBandage and ([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player and alive _target"; - statement = "[_player, _target, 'bandage', 'HitHead'] call AGM_Medical_fnc_treat;"; - priority = 0.6; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\head.paa"; - }; - class AGM_Bandage_Body { - displayName = "$STR_AGM_Medical_Bandage_HitBody"; - condition = "!AGM_Medical_SingleBandage and ([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player and alive _target"; - statement = "[_player, _target, 'bandage', 'HitBody'] call AGM_Medical_fnc_treat;"; - priority = 0.5; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\body.paa"; - }; - class AGM_Bandage_LeftArm { - displayName = "$STR_AGM_Medical_Bandage_HitLeftArm"; - condition = "!AGM_Medical_SingleBandage and ([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player and alive _target"; - statement = "[_player, _target, 'bandage', 'HitLeftArm'] call AGM_Medical_fnc_treat;"; - priority = 0.4; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\arm_left.paa"; - }; - class AGM_Bandage_RightArm { - displayName = "$STR_AGM_Medical_Bandage_HitRightArm"; - condition = "!AGM_Medical_SingleBandage and ([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player and alive _target"; - statement = "[_player, _target, 'bandage', 'HitRightArm'] call AGM_Medical_fnc_treat;"; - priority = 0.3; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\arm_right.paa"; - }; - class AGM_Bandage_LeftLeg { - displayName = "$STR_AGM_Medical_Bandage_HitLeftLeg"; - condition = "!AGM_Medical_SingleBandage and ([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player and alive _target"; - statement = "[_player, _target, 'bandage', 'HitLeftLeg'] call AGM_Medical_fnc_treat;"; - priority = 0.2; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\leg_left.paa"; - }; - class AGM_Bandage_RightLeg { - displayName = "$STR_AGM_Medical_Bandage_HitRightLeg"; - condition = "!AGM_Medical_SingleBandage and ([_target] call AGM_Medical_fnc_isDiagnosed) and (_target getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player and alive _target"; - statement = "[_player, _target, 'bandage', 'HitRightLeg'] call AGM_Medical_fnc_treat;"; - priority = 0.15; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\leg_right.paa"; - }; - }; - - class AGM_Medical_Drag { - displayName = "$STR_AGM_Medical_Drag"; - distance = 4; - condition = "vehicle _player == _player and vehicle _target == _target and alive _target and _target getVariable ['AGM_isTreatable', true] and _target getVariable ['AGM_isUnconscious', False] and isNull (_player getVariable ['AGM_Transporting', objNull])"; - statement = "[_player, _target, 'drag'] call AGM_Medical_fnc_transport;"; - priority = 2.1; - icon = "AGM_Medical\UI\Medical_Icon_ca.paa"; - hotkey = "R"; - }; - class AGM_Medical_Carry { - displayName = "$STR_AGM_Medical_Carry"; - distance = 4; - condition = "vehicle _player == _player and vehicle _target == _target and alive _target and _target getVariable ['AGM_isTreatable', true] and _target getVariable ['AGM_isUnconscious', False] and isNull (_player getVariable ['AGM_Transporting', objNull])"; - statement = "[_player, _target, 'carry'] call AGM_Medical_fnc_transport;"; - priority = 2.0; - icon = "AGM_Medical\UI\Medical_Icon_ca.paa"; - hotkey = "C"; - }; - }; - - class AGM_SelfActions { - class AGM_Medical { - displayName = "$STR_AGM_Medical_Treat_Self"; - condition = "_player getVariable ['AGM_isTreatable', true]"; - statement = ""; - showDisabled = 1; - enableInside = 1; - priority = 6; - icon = "AGM_Medical\UI\Medical_Icon_ca.paa"; - subMenu[] = {"AGM_Medical", 1}; - hotkey = "T"; - - class AGM_Diagnose { - displayName = "$STR_AGM_Medical_Diagnose"; - condition = "_player getVariable ['AGM_isTreatable', true]"; - statement = "[_player, _player, 'diagnose'] call AGM_Medical_fnc_treat;"; - priority = 1; - showDisabled = 1; - enableInside = 1; - icon = "AGM_Medical\UI\diagnose_ca.paa"; - }; - class AGM_Morphine { - displayName = "$STR_AGM_Medical_Inject_Morphine"; - condition = "(_player getVariable ['AGM_isTreatable', true]) and 'AGM_Morphine' in itemsWithMagazines _player"; - statement = "[_player, _player, 'morphine'] call AGM_Medical_fnc_treat;"; - priority = 0.9; - showDisabled = 1; - enableInside = 1; - icon = "AGM_Medical\UI\agm_morphine_ca.paa"; - }; - - class AGM_Bandage { - displayName = "$STR_AGM_Medical_Bandage"; - condition = "AGM_Medical_SingleBandage and (_player getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player"; - statement = "[_player, _player, 'bandage', 'All'] call AGM_Medical_fnc_treat;"; - priority = 0.6; - conditionShow = "AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\body.paa"; - }; - class AGM_Bandage_Head { - displayName = "$STR_AGM_Medical_Bandage_HitHead"; - condition = "!AGM_Medical_SingleBandage and (_player getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player"; - statement = "[_player, _player, 'bandage', 'HitHead'] call AGM_Medical_fnc_treat;"; - priority = 0.6; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\head.paa"; - }; - class AGM_Bandage_Body { - displayName = "$STR_AGM_Medical_Bandage_HitBody"; - condition = "!AGM_Medical_SingleBandage and (_player getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player"; - statement = "[_player, _player, 'bandage', 'HitBody'] call AGM_Medical_fnc_treat;"; - priority = 0.5; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\body.paa"; - }; - class AGM_Bandage_LeftArm { - displayName = "$STR_AGM_Medical_Bandage_HitLeftArm"; - condition = "!AGM_Medical_SingleBandage and (_player getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player"; - statement = "[_player, _player, 'bandage', 'HitLeftArm'] call AGM_Medical_fnc_treat;"; - priority = 0.4; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\arm_left.paa"; - }; - class AGM_Bandage_RightArm { - displayName = "$STR_AGM_Medical_Bandage_HitRightArm"; - condition = "!AGM_Medical_SingleBandage and (_player getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player"; - statement = "[_player, _player, 'bandage', 'HitRightArm'] call AGM_Medical_fnc_treat;"; - priority = 0.3; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\arm_right.paa"; - }; - class AGM_Bandage_LeftLeg { - displayName = "$STR_AGM_Medical_Bandage_HitLeftLeg"; - condition = "!AGM_Medical_SingleBandage and (_player getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player"; - statement = "[_player, _player, 'bandage', 'HitLeftLeg'] call AGM_Medical_fnc_treat;"; - priority = 0.2; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\leg_left.paa"; - }; - class AGM_Bandage_RightLeg { - displayName = "$STR_AGM_Medical_Bandage_HitRightLeg"; - condition = "!AGM_Medical_SingleBandage and (_player getVariable ['AGM_isTreatable', true]) and 'AGM_Bandage' in itemsWithMagazines _player"; - statement = "[_player, _player, 'bandage', 'HitRightLeg'] call AGM_Medical_fnc_treat;"; - priority = 0.15; - conditionShow = "!AGM_Medical_SingleBandage"; - enableInside = 1; - icon = "AGM_Medical\UI\parts\leg_right.paa"; - }; - }; - - class AGM_Release { - displayName = "$STR_AGM_Medical_Release"; - distance = 4; - condition = "vehicle _player == _player and ((_player getVariable ['AGM_Transporting', objNull]) isKindOf 'Man')"; - statement = "[_player, (_player getVariable ['AGM_Transporting', objNull])] call AGM_Medical_fnc_release;"; - exceptions[] = {"AGM_Medical_canTreat"}; - icon = "AGM_Medical\UI\Medical_Icon_ca.paa"; - hotkey = "R"; - }; - }; - }; - - class SoldierWB: CAManBase {}; - class SoldierEB: CAManBase {}; - class SoldierGB: CAManBase {}; - - class B_Soldier_base_F: SoldierWB {}; - - class B_Soldier_04_f: B_Soldier_base_F { - class HitPoints: HitPoints { - class HitHead: HitHead {}; - class HitBody: HitBody {}; - class HitHands: HitHands {}; - class HitLegs: HitLegs {}; - - class HitLeftArm: HitLeftArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightArm: HitRightArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitLeftLeg: HitLeftLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightLeg: HitRightLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - }; - }; - - class B_Soldier_05_f: B_Soldier_base_F { - class HitPoints: HitPoints { - class HitHead: HitHead {}; - class HitBody: HitBody {}; - class HitHands: HitHands {}; - class HitLegs: HitLegs {}; - - class HitLeftArm: HitLeftArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightArm: HitRightArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitLeftLeg: HitLeftLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightLeg: HitRightLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - }; - }; - - class I_Soldier_base_F: SoldierGB {}; - - class I_Soldier_03_F: I_Soldier_base_F { - class HitPoints: HitPoints { - class HitHead: HitHead {}; - class HitBody: HitBody {}; - class HitHands: HitHands {}; - class HitLegs: HitLegs {}; - - class HitLeftArm: HitLeftArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightArm: HitRightArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitLeftLeg: HitLeftLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightLeg: HitRightLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - }; - }; - - class I_Soldier_04_F: I_Soldier_base_F { - class HitPoints: HitPoints { - class HitHead: HitHead {}; - class HitBody: HitBody {}; - class HitHands: HitHands {}; - class HitLegs: HitLegs {}; - - class HitLeftArm: HitLeftArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightArm: HitRightArm { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitLeftLeg: HitLeftLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - - class HitRightLeg: HitRightLeg { - armor = ARM_LEG_ARMOR_BETTER; - }; - }; - }; - - class O_Soldier_base_F: SoldierEB { - class HitPoints: HitPoints { - class HitHead: HitHead {}; - class HitBody: HitBody {}; - class HitHands: HitHands {}; - class HitLegs: HitLegs {}; - - class HitLeftArm: HitLeftArm { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - - class HitRightArm: HitRightArm { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - - class HitLeftLeg: HitLeftLeg { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - - class HitRightLeg: HitRightLeg { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - }; - }; - - class O_Soldier_02_F: O_Soldier_base_F { - class HitPoints: HitPoints { - class HitHead: HitHead {}; - class HitBody: HitBody {}; - class HitHands: HitHands {}; - class HitLegs: HitLegs {}; - - class HitLeftArm: HitLeftArm { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - - class HitRightArm: HitRightArm { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - - class HitLeftLeg: HitLeftLeg { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - - class HitRightLeg: HitRightLeg { - armor = ARM_LEG_ARMOR_CSAT; - passThrough = 0.85; - }; - }; - }; - - class LandVehicle; - class Car: LandVehicle { - class AGM_Actions { - class AGM_Unload { - displayName = "$STR_AGM_Medical_Unload"; - distance = 4; - condition = "return = false; {if (_x getVariable ['AGM_isUnconscious', False]) exitWith {return = true;};} foreach (crew _target); return and vehicle _player == _player and !(_target isKindOf 'Man')"; - statement = "[_player, _target] call AGM_Medical_fnc_unloadPatients;"; - }; - class AGM_Load { - displayName = "$STR_AGM_Medical_Load"; - distance = 4; - condition = "!(_target isKindOf 'Man') and vehicle _player == _player and (_player getVariable ['AGM_Transporting', objNull]) isKindOf 'Man' and _target emptyPositions 'cargo' > 0"; - statement = "[_player, _target] call AGM_Medical_fnc_loadIntoVehicle;"; - exceptions[] = {"AGM_Medical_canTreat"}; - }; - }; - }; - class Tank: LandVehicle { - class AGM_Actions { - class AGM_Unload { - displayName = "$STR_AGM_Medical_Unload"; - distance = 4; - condition = "return = false; {if (_x getVariable ['AGM_isUnconscious', False]) exitWith {return = true;};} foreach (crew _target); return and vehicle _player == _player and !(_target isKindOf 'Man')"; - statement = "[_player, _target] call AGM_Medical_fnc_unloadPatients;"; - }; - class AGM_Load { - displayName = "$STR_AGM_Medical_Load"; - distance = 4; - condition = "!(_target isKindOf 'Man') and vehicle _player == _player and (_player getVariable ['AGM_Transporting', objNull]) isKindOf 'Man' and _target emptyPositions 'cargo' > 0"; - statement = "[_player, _target] call AGM_Medical_fnc_loadIntoVehicle;"; - exceptions[] = {"AGM_Medical_canTreat"}; - }; - }; - }; - class Air; - class Helicopter: Air { - class AGM_Actions { - class AGM_Unload { - displayName = "$STR_AGM_Medical_Unload"; - distance = 4; - condition = "return = false; {if (_x getVariable ['AGM_isUnconscious', False]) exitWith {return = true;};} foreach (crew _target); return and vehicle _player == _player and !(_target isKindOf 'Man')"; - statement = "[_player, _target] call AGM_Medical_fnc_unloadPatients;"; - }; - class AGM_Load { - displayName = "$STR_AGM_Medical_Load"; - distance = 4; - condition = "!(_target isKindOf 'Man') and vehicle _player == _player and (_player getVariable ['AGM_Transporting', objNull]) isKindOf 'Man' and _target emptyPositions 'cargo' > 0"; - statement = "[_player, _target] call AGM_Medical_fnc_loadIntoVehicle;"; - exceptions[] = {"AGM_Medical_canTreat"}; - }; - }; - }; - class Ship; - class Ship_F: Ship { - class AGM_Actions { - class AGM_Unload { - displayName = "$STR_AGM_Medical_Unload"; - distance = 4; - condition = "return = false; {if (_x getVariable ['AGM_isUnconscious', False]) exitWith {return = true;};} foreach (crew _target); return and vehicle _player == _player and !(_target isKindOf 'Man')"; - statement = "[_player, _target] call AGM_Medical_fnc_unloadPatients;"; - }; - class AGM_Load { - displayName = "$STR_AGM_Medical_Load"; - distance = 4; - condition = "!(_target isKindOf 'Man') and vehicle _player == _player and (_player getVariable ['AGM_Transporting', objNull]) isKindOf 'Man' and _target emptyPositions 'cargo' > 0"; - statement = "[_player, _target] call AGM_Medical_fnc_loadIntoVehicle;"; - exceptions[] = {"AGM_Medical_canTreat"}; - }; - }; - }; - - class Box_NATO_Support_F; - class AGM_Box_Medical: Box_NATO_Support_F { - author = "$STR_AGM_Core_AGMTeam"; - displayName = "$STR_AGM_Medical_MedicalSupplies"; - transportmaxmagazines = 128; - transportmaxbackpacks = 0; - maximumload = 2000; - - class TransportMagazines {}; - class TransportWeapons {}; - class TransportItems { - class _xx_AGM_Bandage { - count = 64; - name = "AGM_Bandage"; - }; - /*class _xx_AGM_Bandage2 { - count = 4; - name = "AGM_Bandage"; - };*/ - class _xx_AGM_Morphine { - count = 24; - name = "AGM_Morphine"; - }; - class _xx_AGM_Epipen { - count = 24; - name = "AGM_Epipen"; - }; - class _xx_AGM_Bloodbag { - count = 16; - name = "AGM_Bloodbag"; - }; - }; - }; - - class Module_F; - class AGM_ModuleMedical: Module_F { - author = "$STR_AGM_Core_AGMTeam"; - category = "AGM"; - displayName = "Medical System"; - function = "AGM_Medical_fnc_module"; - scope = 2; - isGlobal = 1; - icon = "\AGM_Medical\UI\IconMedical_ca.paa"; - class Arguments { - class CoefDamage { - displayName = "Damage Coef."; - description = "Multiplier for the amount of damage received. Default: 1 (obviously)"; - typeName = "NUMBER"; - defaultValue = 1; - }; - class CoefBleeding { - displayName = "Bleeding Speed Coef."; - description = "Multiplier for the rate of bleeding. Default: 1 (obviously)"; - typeName = "NUMBER"; - defaultValue = 1; - }; - class CoefPain { - displayName = "Pain Effect Coef."; - description = "Multiplier for the intensity of the pain PP effect. Default: 1 (obviously)"; - typeName = "NUMBER"; - defaultValue = 1; - }; - class CoefNonMedic { - displayName = "Non-Medic Time Coef."; - description = "Multiplier for the treatment time of an untrained person compared to that of a trained medic. Default: 2"; - typeName = "NUMBER"; - defaultValue = 2; - }; - class MaxUnconsciousnessTime { - displayName = "Max Unconsc. Time"; - description = "Maximum time (in seconds) for a unit to be unconscious before dying. -1 disables this."; - typeName = "NUMBER"; - defaultValue = -1; - }; - class AllowNonmedics { - displayName = "Allow non-medics?"; - description = "Allow non-medics to use epipens and bloodbags? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class RequireDiagnosis { - displayName = "Require diagnosis?"; - description = "Require an unconscious patient to be diagnosed before allowing treatment? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class PreventInstaDeath { - displayName = "Prevent instant death?"; - description = "Prevent instant death and always put players in unconscious state instead? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class PreventDeathWhileUnconscious { - displayName = "Prevent death while unconscious?"; - description = "Make unconscious units invulnerable? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class SingleBandage { - displayName = "Single Bandage"; - description = "Use one bandage to heal the entire body? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class AllowChatWhileUnconscious { - displayName = "Unconscious can chat?"; - description = "Allow all players to use chat while unconcious? Admin can always use the chat regardless. Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class EnableOverdosing { - displayName = "Enable Overdosing?"; - description = "Enable morphine overdoses? Default: Yes"; - typeName = "BOOL"; - class values { - class Yes { - default = 1; - name = "Yes"; - value = 1; - }; - class No { - name = "No"; - value = 0; - }; - }; - }; - class RequireMEDEVAC { - displayName = "Require MEDEVAC?"; - description = "Only allow Epipens within synchronized triggers? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class AutomaticWakeup { - displayName = "Automatic Wakeup?"; - description = "Allow units to wake up by themselves? Default: Yes"; - typeName = "BOOL"; - class values { - class Yes { - default = 1; - name = "Yes"; - value = 1; - }; - class No { - name = "No"; - value = 0; - }; - }; - }; - class DisableScreams { - displayName = "Disable Screams?"; - description = "Disable screaming on hit? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - }; - }; -}; - -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class InventoryFirstAidKitItem_Base_F; - class MedikitItem; - - // ITEMS - class FirstAidKit: ItemCore { - type = 0; - class ItemInfo: InventoryFirstAidKitItem_Base_F { - mass = 4; - type = 201; - }; - }; - class Medikit: ItemCore { - type = 0; - class ItemInfo: MedikitItem { - mass = 60; - type = 201; - }; - }; - - class AGM_ItemCore; - class AGM_Bandage: AGM_ItemCore { - displayname = "$STR_AGM_Medical_Bandage_Name"; - descriptionshort = "$STR_AGM_Medical_Bandage_Description"; - model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; - picture = "\AGM_Medical\UI\AGM_bandage_ca.paa"; - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 2; - }; - }; - class AGM_Morphine: AGM_Bandage { - displayName = "$STR_AGM_Medical_Morphine_Name"; - descriptionShort = "$STR_AGM_Medical_Morphine_Description"; - model = "\AGM_Medical\agm_morphine.p3d"; - picture = "\AGM_Medical\UI\AGM_morphine_ca.paa"; - }; - class AGM_Epipen: AGM_Bandage { - displayName = "$STR_AGM_Medical_Epinephrine_Name"; - descriptionShort = "$STR_AGM_Medical_Epinephrine_Description"; - model = "\AGM_Medical\agm_epipen.p3d"; - picture = "\AGM_Medical\UI\AGM_epipen_ca.paa"; - }; - class AGM_Bloodbag: AGM_Bandage { - displayName = "$STR_AGM_Medical_Bloodbag_Name"; - descriptionShort = "$STR_AGM_Medical_Bloodbag_Description"; - model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; - picture = "\AGM_Medical\UI\AGM_bloodbag_ca.paa"; - class ItemInfo: ItemInfo { - mass = 10; - }; - }; -}; - -class CfgActions { - class None; - class HealSoldier: None { - hideOnUse = 1; - priority = 10; - shortcut = ""; - show = 0; - showWindow = 0; - text = "Treat %1"; - textDefault = ""; - textSimple = ""; - }; - class HealSoldierAuto: None { - hideOnUse = 1; - priority = 0; - shortcut = ""; - show = 0; - showWindow = 0; - text = "Heal soldier"; - textDefault = ""; - textSimple = ""; - }; - class HealSoldierSelf: None { - hideOnUse = 1; - priority = 10; - shortcut = ""; - show = 0; - showWindow = 0; - text = "Treat yourself"; - textDefault = ""; - textSimple = ""; - }; -}; - -// ANIMATIONS -class CfgMovesBasic { - class Default; - class Actions { - class NoActions; - class PistolStandActions: NoActions { - grabDrag = "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2"; - }; - class LauncherKneelActions: NoActions { - grabDrag = "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2"; - }; - class CivilStandActions: NoActions { - grabDrag = "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2"; - }; - }; -}; - -class CfgMovesMaleSdr: CfgMovesBasic { - class HealBase; - class States { - class AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_1; - class AcinPknlMstpSnonWnonDnon: AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_1 { - enableDirectControl = 1; - }; - class AcinPknlMwlkSnonWnonDb: AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_1 { - enableDirectControl = 1; - }; - - class Unconscious: Default { - ConnectTo[] = {}; - head = "headNo"; - forceAim = 1; - static = 1; - }; - - class AinvPknlMstpSnonWnonDnon_medic0: HealBase { - variantsPlayer[] = {}; - }; - }; -}; - -// BLOOD MIST EFFECTS -class CfgCloudlets { - class Blood; - class AGM_BloodMist: Blood { - particleShape = "\A3\data_f\ParticleEffects\Universal\Universal_02"; - particleFSNtieth = 8; - particleFSIndex = 4; - lifeTime = 1.8; - size[] = {"((hit + 5) max 30) / 40", "((hit + 5) max 30) / 80", "((hit + 5) max 30) / 150"}; - color[] = {{1,0.1,0.1,0.10}, {1,0.1,0.1,0.05}, {1,0.1,0.1,0.025}}; - randomDirectionPeriod = 0.5; - randomDirectionIntensity = 0.5; - }; -}; - -class ImpactEffectsBlood { - class AGM_BloodMist { - intensity = 1; - interval = 1; - lifeTime = 1; - position[] = {0,0,0}; - simulation = "particles"; - type = "AGM_BloodMist"; - }; -}; - -class AGM_Parameters_Numeric { - AGM_Medical_CoefDamage = 1.0; - AGM_Medical_CoefBleeding = 1.0; - AGM_Medical_CoefPain = 1.0; - AGM_Medical_CoefNonMedic = 2.0; - AGM_Medical_MaxUnconsciousnessTime = -1; -}; -class AGM_Parameters_Boolean { - // Boolean Parameters (0/1) - AGM_Medical_AllowNonMedics = 0; - AGM_Medical_RequireDiagnosis = 0; - AGM_Medical_PreventInstaDeath = 0; - AGM_Medical_PreventDeathWhileUnconscious = 0; - AGM_Medical_SingleBandage = 0; - AGM_Medical_AllowChatWhileUnconscious = 0; - AGM_Medical_EnableOverdosing = 1; - AGM_Medical_RequireMEDEVAC = 0; - AGM_Medical_AutomaticWakeup = 1; - AGM_Medical_DisableScreams = 0; -}; -#include diff --git a/TO_MERGE/agm/Medical/data/agm_epipen_co.paa b/TO_MERGE/agm/Medical/data/agm_epipen_co.paa deleted file mode 100644 index 0c05242cc5..0000000000 Binary files a/TO_MERGE/agm/Medical/data/agm_epipen_co.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/data/agm_morphine_co.paa b/TO_MERGE/agm/Medical/data/agm_morphine_co.paa deleted file mode 100644 index c0227500cb..0000000000 Binary files a/TO_MERGE/agm/Medical/data/agm_morphine_co.paa and /dev/null differ diff --git a/TO_MERGE/agm/Medical/functions/fn_aiCanTreat.sqf b/TO_MERGE/agm/Medical/functions/fn_aiCanTreat.sqf deleted file mode 100644 index 4ac0f8139f..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_aiCanTreat.sqf +++ /dev/null @@ -1,33 +0,0 @@ -// by commy2 - -private ["_medic", "_patient", "_task"]; - -_medic = _this select 0; -_patient = _this select 1; -_task = _this select 2; - -if ([_medic] call AGM_Core_fnc_isPlayer || {!alive _medic} || {!alive _patient} || {_medic getVariable ["AGM_isUnconscious", false]} || {_medic getVariable ["AGM_isCaptive", false]}) exitWith {false}; - -private "_result"; -_result = false; -switch (_task) do { - case ("bandage"): { - _result = damage _patient > 0 - && {"AGM_Bandage" in items _medic} - }; - case ("morphine"): { - _result = _patient getVariable ["AGM_Pain", 0] > 0 - && {"AGM_Morphine" in items _medic} - }; - case ("epipen"): { - _result = _patient getVariable ["AGM_isUnconscious", false] - && {"AGM_Epipen" in items _medic} - && {[_medic] call AGM_Core_fnc_isMedic || {_patient getVariable ["AGM_Medical_AllowNonMedics", AGM_Medical_AllowNonMedics]}} - && {!(_medic getVariable ["AGM_Medical_RequireMEDEVAC", AGM_Medical_RequireMEDEVAC])} - }; - case ("bloodbag"): { - _result = _patient getVariable ["AGM_Blood", 1] < 1 - && {[_medic] call AGM_Core_fnc_isMedic || {_patient getVariable ["AGM_Medical_AllowNonMedics", AGM_Medical_AllowNonMedics]}} - }; -}; -_result diff --git a/TO_MERGE/agm/Medical/functions/fn_aiInitTask.sqf b/TO_MERGE/agm/Medical/functions/fn_aiInitTask.sqf deleted file mode 100644 index d237dba624..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_aiInitTask.sqf +++ /dev/null @@ -1,17 +0,0 @@ -// by commy2 - -private ["_unit", "_need"]; -_unit = _this select 0; -_need = _this select 1; - -// can treat self? -if ([_unit, _unit, _need] call AGM_Medical_fnc_aiCanTreat) then {//systemChat format ["%1 : %2", [_unit, _unit, _need] call AGM_Medical_fnc_aiTreat, [_unit, _unit, _need]]; - [_unit, _unit, _need] call AGM_Medical_fnc_aiTreat; -} else { - // if not, then find group member that can treat instead - { - if ([_x, _unit, _need] call AGM_Medical_fnc_aiCanTreat) exitWith {//systemChat format ["%1 : %2", [_unit, _unit, _need] call AGM_Medical_fnc_aiTreat, [_unit, _unit, _need]]; - [_x, _unit, _need] call AGM_Medical_fnc_aiTreat; - }; - } forEach units group _unit; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_aiTreat.sqf b/TO_MERGE/agm/Medical/functions/fn_aiTreat.sqf deleted file mode 100644 index 91265bd835..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_aiTreat.sqf +++ /dev/null @@ -1,122 +0,0 @@ -// by commy2 - -private ["_medic", "_patient", "_task"]; - -_medic = _this select 0; -_patient = _this select 1; -_task = _this select 2; - -// exit if the unit already has a task -if (!scriptDone (_medic getVariable ["AGM_Medical_AITask", scriptNull])) exitWith {};//systemChat str _this;// - -// exit if the medic can't do te treatment -if !(_this call AGM_Medical_fnc_aiCanTreat) exitWith { - // continue walking freely - _medic doMove getPosASL _medic -}; - -// do treatment -private "_scriptHandle"; -_scriptHandle = _this spawn { - _medic = _this select 0; - _patient = _this select 1; - _task = _this select 2; - - // wait until ready again - waitUntil { - // exit if dead - if (!alive _medic || {!alive _patient} || {_medic getVariable ["AGM_isUnconscious", false]}) exitWith {true}; - - sleep 0.15; - _medic getVariable ["AGM_canTreat", true] - }; - - // wait until medic next to patient - if (_medic distanceSqr _patient > 4) then { - _doMoveLoop = _this spawn { - while {true} do { - (_this select 0) doMove getPosASL (_this select 1); - sleep 30; - }; - }; - - waitUntil { - // exit if dead - if (!alive _medic || {!alive _patient} || {_medic getVariable ["AGM_isUnconscious", false]}) exitWith {true}; - - sleep 0.15; - getPosASL _medic distanceSqr getPosASL _patient < 5 - }; - - terminate _doMoveLoop; - }; - - // exit if the medic can't do te treatment - if !(_this call AGM_Medical_fnc_aiCanTreat) exitWith { - // continue walking freely - _medic doMove getPosASL _medic - }; - - // halt - doStop _medic; - - // treat everything - _items = items _medic; - - switch (_task) do { - case ("bandage"): { - if (damage _patient > 0 && {"AGM_Bandage" in _items}) then { - [_medic, _patient, "bandage", "All"] call AGM_Medical_fnc_treat; - }; - }; - - case ("morphine"): { - if (_patient getVariable ["AGM_Pain", 0] > 0 && {"AGM_Morphine" in _items}) then { - [_medic, _patient, "morphine"] call AGM_Medical_fnc_treat; - }; - }; - - case ("epipen"): { - if (_patient getVariable ["AGM_isUnconscious", false] && {"AGM_Epipen" in _items}) then { - [_medic, _patient, "epipen"] call AGM_Medical_fnc_treat; - }; - }; - - case ("bloodbag"): { - if (_patient getVariable ["AGM_Blood", 1] < 1 && {"AGM_Bloodbag" in _items}) then { - [_medic, _patient, "bloodbag"] call AGM_Medical_fnc_treat; - }; - }; - }; - - // wait until ready again - waitUntil { - // exit if dead - if (!alive _medic || {!alive _patient} || {_medic getVariable ["AGM_isUnconscious", false]}) exitWith {true}; - - sleep 0.15; - _medic getVariable ["AGM_canTreat", true] - }; - - // check for next task on this patient - if (damage _patient > 0) exitWith { - [_medic, _patient, "bandage"] spawn AGM_Medical_fnc_aiTreat; - }; - - if (_patient getVariable ["AGM_Pain", 0] > 0) exitWith { - [_medic, _patient, "morphine"] spawn AGM_Medical_fnc_aiTreat; - }; - - if (_patient getVariable ["AGM_isUnconscious", false]) exitWith { - [_medic, _patient, "epipen"] spawn AGM_Medical_fnc_aiTreat; - }; - - if (_patient getVariable ["AGM_Blood", 1] < 1) exitWith { - [_medic, _patient, "bloodbag"] spawn AGM_Medical_fnc_aiTreat; - }; - - // otherwise continue walking freely - _medic doMove getPosASL _medic; -}; - -_medic setVariable ["AGM_Medical_AITask", _scriptHandle]; diff --git a/TO_MERGE/agm/Medical/functions/fn_checkDamage.sqf b/TO_MERGE/agm/Medical/functions/fn_checkDamage.sqf deleted file mode 100644 index 67495c25de..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_checkDamage.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Checks the unit for leg and arm damage, and removes orphan structural damage. - * - * Arguments: - + 0: Unit - * 1: Leg Damage - * 2: Arm Damage - * 3: Remove orphan damage? (Bool; optional, default No) - * - * Return Value: - * None - */ - -#define LEGDAMAGETRESHOLD1 1 -#define LEGDAMAGETRESHOLD2 1.7 -#define ARMDAMAGETRESHOLD1 1 -#define ARMDAMAGETRESHOLD2 1.7 - -private ["_unit", "_legdamage", "_armdamage", "_damagesum"]; - -_unit = _this select 0; -_legdamage = _this select 1; -_armdamage = _this select 2; - -// Leg Damage -// lightly wounded, only limit walking speed (forceWalk is for suckers) -if (_legdamage >= LEGDAMAGETRESHOLD1) then { - if (_unit getHitPointDamage "HitLegs" != 1) then {_unit setHitPointDamage ["HitLegs", 1]}; -} else { - if (_unit getHitPointDamage "HitLegs" != 0) then {_unit setHitPointDamage ["HitLegs", 0]}; -}; -// @ŧodo: force prone for completely fucked up legs. - -// Arm Damage -// fx only -if (_armdamage >= ARMDAMAGETRESHOLD1) then { - if (_unit getHitPointDamage "HitHands" != 1) then {_unit setHitPointDamage ["HitHands", 1]}; -} else { - if (_unit getHitPointDamage "HitHands" != 0) then {_unit setHitPointDamage ["HitHands", 0]}; -}; - -// remove leftover structural damage if unit is already fully healed -if (count _this > 3 and _this select 3) then { - _damagesum = (_unit getHitPointDamage "HitHead") + - (_unit getHitPointDamage "HitBody") + - (_unit getHitPointDamage "HitLeftArm") + - (_unit getHitPointDamage "HitRightArm") + - (_unit getHitPointDamage "HitLeftLeg") + - (_unit getHitPointDamage "HitRightLeg"); - if (_damagesum <= 0.06) then { - _unit setDamage 0; - }; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_diagnose.sqf b/TO_MERGE/agm/Medical/functions/fn_diagnose.sqf deleted file mode 100644 index 7113c1a598..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_diagnose.sqf +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Shows the player information about his patient. - * - * Arguments: - * 0: Unit to be diagnosed - * - * Return Value: - * None - */ - -private ["_unit", "_damages", "_bystanders", "_lightinjuries", "_heavyinjuries", "_blood", "_painkiller", "_pain"]; - -_unit = _this select 0; - -_damages = [ - ["HitHead", floor ((_unit getHitPointDamage "HitHead") * 100) / 100], - ["HitBody", floor ((_unit getHitPointDamage "HitBody") * 100) / 100], - ["HitLeftArm", floor ((_unit getHitPointDamage "HitLeftArm") * 100) / 100], - ["HitRightArm", floor ((_unit getHitPointDamage "HitRightArm") * 100) / 100], - ["HitLeftLeg", floor ((_unit getHitPointDamage "HitLeftLeg") * 100) / 100], - ["HitRightLeg", floor ((_unit getHitPointDamage "HitRightLeg") * 100) / 100] -]; - -_unit setVariable ["AGM_isDiagnosed", True, False]; - -// Tell bystanders what's up if necessary -if (AGM_Medical_RequireDiagnosis) then { - _bystanders = nearestObjects [AGM_player, ["CAManBase"], 10]; - [-1, { - if (AGM_player in (_this select 1)) then { - (_this select 0) setVariable ["AGM_isDiagnosed", true, false]; - }; - }, [_unit, _bystanders]] call CBA_fnc_globalExecute; -}; - -_string = format ["%1: %2", localize "STR_AGM_Medical_Patient", [_unit] call AGM_Core_fnc_getName]; - -if (damage _unit >= 1) exitWith { - _string = _string + "

" + localize "STR_AGM_Medical_PatientIsDead" + "
"; - [composeText [lineBreak, parseText _string]] call AGM_Medical_fnc_displayText; -}; - -// Consciousness -if (_unit getVariable ["AGM_isUnconscious", False]) then { - _string = _string + "

" + localize "STR_AGM_Medical_PatientIsUnconscious" + ""; -} else { - _string = _string + "

" + localize "STR_AGM_Medical_PatientIsAwake"; -}; - -// Injuries -_lightinjuries = ""; -_heavyinjuries = ""; -if (AGM_Medical_SingleBandage) then { - _string = _string + (switch True do { - case (damage _unit >= 0.5): {"

" + localize "STR_AGM_Medical_PatientHeavilyInjured" + ""}; - case (damage _unit < 0.5): {"

" + localize "STR_AGM_Medical_PatientLightlyInjured" + ""}; - default {"

" + localize "STR_AGM_Medical_PatientNotInjured"}; - }); -} else { - _heavyinjuries = ""; - { - if ((_x select 1) >= 0.5) then { - if (_heavyinjuries != "") then { _heavyinjuries = _heavyinjuries + ", "; }; - _heavyinjuries = _heavyinjuries + localize (format ["STR_AGM_Medical_%1", (_x select 0)]); - }; - } forEach _damages; - if (_heavyinjuries != "") then { - _string = _string + "

" + (localize "STR_AGM_Medical_PatientHeavyInjuries") + "
" + _heavyinjuries; - }; - - _lightinjuries = ""; - { - if ((_x select 1) < 0.5 and (_x select 1) > 0.01) then { - if (_lightinjuries != "") then { _lightinjuries = _lightinjuries + ", "; }; - _lightinjuries = _lightinjuries + localize (format ["STR_AGM_Medical_%1", (_x select 0)]); - }; - } forEach _damages; - if (_lightinjuries != "") then { - _string = _string + "

" + (localize "STR_AGM_Medical_PatientLightInjuries") + "
" + _lightinjuries; - }; - - if (_lightinjuries == "" and _heavyinjuries == "") then { - _string = _string + "

" + localize "STR_AGM_Medical_PatientNotInjured"; - }; -}; - -// Bleeding -if ((AGM_Medical_SingleBandage and damage _unit > 0) or (_heavyinjuries != "" or _lightinjuries != "")) then { - _string = _string + "

" + localize "STR_AGM_Medical_PatientBleeding" + " "; -} else { - _string = _string + "

" + localize "STR_AGM_Medical_PatientNotBleeding" + " "; -}; - -// Blood -_blood = _unit getVariable ["AGM_Blood", 1]; -_string = _string + (switch True do { - case (_blood < 0.4): {"" + localize "STR_AGM_Medical_PatientLostBlood" + ""}; - case (_blood < 1): {"" + localize "STR_AGM_Medical_PatientLostSomeBlood" + ""}; - default {localize "STR_AGM_Medical_PatientLostNoBlood"}; -}); - -// Painkillers -_painkiller = _unit getVariable ["AGM_Painkiller", 1]; -_string = _string + (switch True do { - case (_painkiller < 0.4): {"

" + localize "STR_AGM_Medical_PatientPainkillers" + " "}; - case (_painkiller < 0.9): {"

" + localize "STR_AGM_Medical_PatientSomePainkillers" + " "}; - default {"

" + localize "STR_AGM_Medical_PatientNoPainkillers" + " "}; -}); - -// Pain -_pain = _unit getVariable ["AGM_Pain", 0]; -_string = _string + (switch True do { - case (_pain > 0.4): {"" + localize "STR_AGM_Medical_PatientHeavyPain" + ""}; - case (_pain > 0.1): {"" + localize "STR_AGM_Medical_PatientLightPain" + ""}; - default {localize "STR_AGM_Medical_PatientNoPain"}; -}); - -_string = _string + ""; -[composeText [lineBreak, parseText _string]] call AGM_Medical_fnc_displayText; diff --git a/TO_MERGE/agm/Medical/functions/fn_displayText.sqf b/TO_MERGE/agm/Medical/functions/fn_displayText.sqf deleted file mode 100644 index 3fbaf4ee3e..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_displayText.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Author: commy2 - * - * Display a structured text. Used for medical diagnose. - * - * Argument: - * 0: Diagnosis (Text) - * - * Return value: - * Nothing - */ - -private ["_text", "_ctrlHint"]; - -_text = _this select 0; - -("AGM_RscHint" call BIS_fnc_rscLayer) cutRsc ["AGM_Medical_RscHint", "PLAIN", 0, true]; - -disableSerialization; -_ctrlHint = uiNamespace getVariable "AGM_ctrlHint"; -_ctrlHint ctrlSetStructuredText _text; diff --git a/TO_MERGE/agm/Medical/functions/fn_handleDamage.sqf b/TO_MERGE/agm/Medical/functions/fn_handleDamage.sqf deleted file mode 100644 index 52f96f8d94..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_handleDamage.sqf +++ /dev/null @@ -1,286 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Called when some dude gets shot. Or stabbed. Or blown up. Or pushed off a cliff. Or hit by a car. Or burnt. Or poisoned. Or gassed. Or cut. You get the idea. - * - * Arguments: - * 0: Unit that got hit (Object) - * 1: Name of the selection that was hit (String); "" for structural damage - * 2: Amount of damage inflicted (Number) - * 3: Shooter (Object); Null for explosion damage, falling, fire etc. - * 4: Projectile (Object or String) - * - * Return value: - * Damage value to be inflicted (optional) - */ - -#define UNCONSCIOUSNESSTRESHOLD 0.6 - -#define PAINKILLERTRESHOLD 0.1 -#define PAINLOSS 0.0001 - -#define BLOODTRESHOLD1 0.35 -#define BLOODTRESHOLD2 0 -#define BLOODLOSSRATE 0.04 - -#define ARMOURCOEF 2 - -private ["_unit", "_selectionName", "_damage", "_source", "_source", "_projectile", "_hitSelections", "_hitPoints", "_newDamage", "_found", "_cache_projectiles", "_cache_hitpoints", "_cache_damages"]; - -_unit = _this select 0; -_selectionName = _this select 1; -_damage = _this select 2; -_source = _this select 3; -_projectile = _this select 4; - -if (!local _unit) exitWith {nil}; //if not local, then return value shouldn't have any effect - -if (typeName _projectile == "OBJECT") then { - _projectile = typeOf _projectile; -}; - -// Prevent unnecessary processing -if (damage _unit >= 1) exitWith {}; - -_unit setVariable ["AGM_isDiagnosed", False, True]; - -// @todo: figure out if this still applies. - -// For some reason, everything is backwards in MP, -// so we need to untangle some things. -// -- seems fixed as of v1.36 -/*if (isMultiplayer) then { - _selectionName = switch (_selectionName) do { - case "hand_r" : {"leg_l"}; - case "leg_r" : {"hand_l"}; - case "legs" : {"hand_r"}; - default {_selectionName}; - }; -};*/ - -// This seems to only show up in MP too, but since it doesn't -// collide with anything, I'll check it in SP as well. -if (_selectionName == "r_femur_hit") then { - _selectionName = "leg_r"; -}; - -_hitSelections = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; -_hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; - -// If the damage is being weird, we just tell it to fuck off. -// (Returning 0 seems to cause issues though, so return 0.01) -if !(_selectionName in (_hitSelections + [""])) exitWith {0.01}; - -// Calculate change in damage. -_newDamage = _damage - (damage _unit); -if (_selectionName in _hitSelections) then { - _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))); -}; - -// Finished with the current frame, reset variables -// Note: sometimes handleDamage spans over 2 or even 3 frames. -if (diag_frameno > (_unit getVariable ["AGM_Medical_FrameNo", -3]) + 2) then { - _unit setVariable ["AGM_Medical_FrameNo", diag_frameno]; - _unit setVariable ["AGM_Medical_isFalling", False]; - _unit setVariable ["AGM_Medical_Projectiles", []]; - _unit setVariable ["AGM_Medical_HitPoints", []]; - _unit setVariable ["AGM_Medical_Damages", []]; - _unit setVariable ["AGM_Medical_PreventDeath", False]; - if (([_unit] call AGM_Core_fnc_isPlayer) or _unit getVariable ["AGM_allowUnconscious", False]) then { - if (!(_unit getVariable ["AGM_isUnconscious", False]) and - {_unit getVariable ["AGM_Medical_PreventInstaDeath", AGM_Medical_PreventInstaDeath]}) then { - _unit setVariable ["AGM_Medical_PreventDeath", True]; - }; - if ((_unit getVariable ["AGM_isUnconscious", False]) and - {_unit getVariable ["AGM_Medical_PreventDeathWhileUnconscious", AGM_Medical_PreventDeathWhileUnconscious]}) then { - _unit setVariable ["AGM_Medical_PreventDeath", True]; - }; - }; -}; - -_damage = _damage - _newDamage; - -if !(_unit getVariable ["AGM_allowDamage", True]) exitWith {_damage max 0.01}; - -_newDamage = _newDamage * (_unit getVariable ["AGM_Medical_CoefDamage", AGM_Medical_CoefDamage]); - -// Exclude falling damage to everything other than legs; reduce structural damage. -if (((velocity _unit) select 2 < -5) and (vehicle _unit == _unit)) then { - _unit setVariable ["AGM_Medical_isFalling", True]; -}; -if (_unit getVariable "AGM_Medical_isFalling" and !(_selectionName in ["", "leg_l", "leg_r"])) exitWith { - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))) max 0.01; -}; -if (_unit getVariable "AGM_Medical_isFalling") then { - _newDamage = _newDamage * 0.7; -}; - -// Increase damage for kinetic penetrators for people inside vehicles -// to simulate hot spikey things flying around (generally unpleasant). -// (only if AGM_Armour is used) -if (isClass (configFile >> "CfgPatches" >> "AGM_Armour") and _projectile != "" and vehicle _unit != _unit) then { - _hit = getNumber (configFile >> "CfgAmmo" >> _projectile >> "hit"); - if (_hit >= 100) then { - _hit = linearConversion [100, 1000, _hit, 0, ARMOURCOEF, True]; - _newDamage = _newDamage * (1 + _hit); - }; -}; - -// Make sure there's only one damaged selection per projectile per frame. -_cache_projectiles = _unit getVariable "AGM_Medical_Projectiles"; -_cache_hitpoints = _unit getVariable "AGM_Medical_HitPoints"; -_cache_damages = _unit getVariable "AGM_Medical_Damages"; -if (_selectionName != "" and !(_unit getVariable "AGM_Medical_isFalling")) then { - if (_projectile in _cache_projectiles) then { - _index = _cache_projectiles find _projectile; - _otherDamage = (_cache_damages select _index); - if (_otherDamage > _newDamage) then { - _newDamage = 0; - } else { - _hitPoint = _cache_hitpoints select _index; - _restore = ((_unit getHitPointDamage _hitPoint) - _otherDamage) max 0; - _unit setHitPointDamage [_hitPoint, _restore]; - // Make entry unfindable - _cache_projectiles set [_index, objNull]; - _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); - _cache_damages pushBack _newDamage; - }; - } else { - _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); - _cache_damages pushBack _newDamage; - }; -}; -_unit setVariable ["AGM_Medical_Projectiles", _cache_projectiles]; -_unit setVariable ["AGM_Medical_HitPoints", _cache_hitpoints]; -_unit setVariable ["AGM_Medical_Damages", _cache_damages]; - -// we want to move damage to another selection; have to do it ourselves. -// this is only the case for limbs, so this will not impact the killed EH. -if (_selectionName != (_this select 1)) then { - _unit setHitPointDamage [_hitPoints select (_hitSelections find _selectionName), _damage + _newDamage]; - _newDamage = 0; -}; - -_damage = _damage + _newDamage; - -// Assign orphan structural damage to torso; -// using spawn with custom damage handling here, but since I just -// move damage, this shouldn't be any issue for the Killed EH -_unit spawn { - sleep 0.001; - - _damagesum = (_this getHitPointDamage "HitHead") - + (_this getHitPointDamage "HitBody") - + (_this getHitPointDamage "HitLeftArm") - + (_this getHitPointDamage "HitRightArm") - + (_this getHitPointDamage "HitLeftLeg") - + (_this getHitPointDamage "HitRightLeg"); - if (_damagesum <= 0.06 and (damage _this) > 0.01) then { - _damage = damage _this; - _this setDamage 0; - _this setHitPointDamage ["HitBody", (_damage min 0.89)]; // just to be sure. - }; -}; - -// Leg & Arm Damage -_legdamage = (_unit getHitPointDamage "HitLeftLeg") + (_unit getHitPointDamage "HitRightLeg"); -if (_selectionName == "leg_l") then { - _legdamage = _damage + (_unit getHitPointDamage "HitRightLeg"); -}; -if (_selectionName == "leg_r") then { - _legdamage = (_unit getHitPointDamage "HitLeftLeg") + _damage; -}; - -_armdamage = (_unit getHitPointDamage "HitLeftArm") + (_unit getHitPointDamage "HitRightArm"); -if (_selectionName == "hand_l") then { - _armdamage = _damage + (_unit getHitPointDamage "HitRightArm"); -}; -if (_selectionName == "hand_r") then { - _armdamage = (_unit getHitPointDamage "HitLeftArm") + _damage; -}; - -[_unit, _legdamage, _armdamage] call AGM_Medical_fnc_checkDamage; - -// Unconsciousness -if (_selectionName == "" and - _damage >= UNCONSCIOUSNESSTRESHOLD and - _damage < 1 and - !(_unit getVariable ["AGM_isUnconscious", False] - )) then { - // random chance to kill AI instead of knocking them out, otherwise - // there'd be shittons of unconscious people after every firefight, - // causing executions. And nobody likes executions. - if (_unit getVariable ["AGM_allowUnconscious", ([_unit] call AGM_Core_fnc_isPlayer) or random 1 > 0.5]) then { - [_unit] call AGM_Medical_fnc_knockOut; - } else { - _damage = 1; - }; -}; - -// Bleeding -if (_selectionName == "" and damage _unit == 0) then { - _unit spawn { - while {damage _this > 0 and damage _this < 1} do { - if !([_this] call AGM_Medical_fnc_isInMedicalVehicle) then { - _blood = _this getVariable ["AGM_Blood", 1]; - _blood = _blood - BLOODLOSSRATE * (_this getVariable ["AGM_Medical_CoefBleeding", AGM_Medical_CoefBleeding]) * (damage _this); - _this setVariable ["AGM_Blood", _blood max 0, true]; - if (_blood <= BLOODTRESHOLD1 and !(_this getVariable ["AGM_isUnconscious", False])) then { - [_this] call AGM_Medical_fnc_knockOut; - }; - if (_blood <= BLOODTRESHOLD2 and {!AGM_Medical_PreventDeathWhileUnconscious}) then { - //_this setDamage 1; - _this setHitPointDamage ["HitHead", 1]; // fx: don't get the uniform bloody if there are no wounds - }; - }; - sleep 10; - }; - }; -}; - -// Pain Reduction -if (_unit getVariable ["AGM_Pain", 0] == 0) then { - _unit spawn { - while {_this getVariable ["AGM_Pain", 0] > 0} do { - sleep 1; - _pain = ((_this getVariable ["AGM_Pain", 0]) - 0.001) max 0; - _this setVariable ["AGM_Pain", _pain, True]; - }; - }; -}; -// Set Pain -_potentialPain = _damage * (_unit getVariable ["AGM_Painkiller", 1]); -if ((_selectionName == "") and (_potentialPain > _unit getVariable ["AGM_Pain", 0])) then { - _unit setVariable ["AGM_Pain", (_damage * (_unit getVariable ["AGM_Painkiller", 1])) min 1, True]; -}; - -// again, using spawn, but there shouldn't be any death, so the killed EH should be fine. -if ((_unit getVariable "AGM_Medical_PreventDeath") and {vehicle _unit != _unit} and {damage (vehicle _unit) >= 1}) then { - _unit setPosATL [ - (getPos _unit select 0) + (random 3) - 1.5, - (getPos _unit select 1) + (random 3) - 1.5, - 0 - ]; - if !(_unit getVariable ["AGM_isUnconscious", False]) then { - [_unit] call AGM_Medical_fnc_knockOut; - }; - _unit setVariable ["AGM_allowDamage", False]; - _unit spawn { - sleep 1; - _this setVariable ["AGM_allowDamage", True]; - }; -}; - -if ((_unit getVariable "AGM_Medical_PreventDeath")) then { - if ((_damage > 0.89) && (_selectionName in ["", "head", "body"])) then { //only change damage on hits that would be lethal - _damage = 0.89; - [_unit, "preventedDeath", [_unit]] call AGM_Core_fnc_callCustomEventHandlersGlobal; - if (!(_unit getVariable ["AGM_isUnconscious", False])) then { - [_unit] call AGM_Medical_fnc_knockOut; //knockOut when taking damage that should be lethal - }; - }; -}; - -_damage diff --git a/TO_MERGE/agm/Medical/functions/fn_init.sqf b/TO_MERGE/agm/Medical/functions/fn_init.sqf deleted file mode 100644 index a8b3e9c5c1..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_init.sqf +++ /dev/null @@ -1,45 +0,0 @@ -/* -Author: KoffeinFlummi - -Do I really need to explain what this does?! -*/ - -_unit = _this select 0; - -if !(local _unit) exitWith {}; - -_unit setVariable ["tf_globalVolume", 1]; -_unit setVariable ["tf_voiceVolume", 1, True]; -_unit setVariable ["tf_unable_to_use_radio", False, True]; - -_unit setVariable ["acre_sys_core_isDisabled", False, True]; -_unit setVariable ["acre_sys_core_globalVolume", 1]; - -if ("AGM_Unconscious" in ([_unit] call AGM_Core_fnc_getCaptivityStatus)) then { - [_unit, "AGM_Unconscious", false] call AGM_Core_fnc_setCaptivityStatus; -}; - -_unit setVariable ["AGM_isDiagnosed", False, True]; // Is the unit diagnosed? -_unit setVariable ["AGM_canTreat", True, False]; // Can unit treat others? -_unit setVariable ["AGM_isTreatable", True, True]; // Can unit be treated/diagnosed? - -_unit setVariable ["AGM_Blood", 1, True]; // Amount of blood in the body. -_unit setVariable ["AGM_isBleeding", False, True]; // Is the unit losing blood? (Rate is determined by damage.) -_unit setVariable ["AGM_Painkiller", 1, True]; // How much painkillers the guy is on. (smaller = more) -_unit setVariable ["AGM_Pain", 0, True]; // Amount of pain the unit is in. - -_unit setVariable ["AGM_isUnconscious", False, True]; // figure it out -_unit setVariable ["AGM_Unconscious", False, True]; // deprecated since v0.95 -_unit setVariable ["AGM_isOverdosing", False]; -_unit setVariable ["AGM_Transporting", objNull]; - -if !(_unit getVariable ["AGM_NoRadio_isMuted", false]) then { - [_unit] call AGM_Core_fnc_unmuteUnit; -}; - -_unit spawn { - while {alive _this} do { - [_this] call AGM_Medical_fnc_itemCheck; - sleep 1; - }; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_isDiagnosed.sqf b/TO_MERGE/agm/Medical/functions/fn_isDiagnosed.sqf deleted file mode 100644 index c40b449e42..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_isDiagnosed.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Checks if a unit is diagnosed and if that's even necessary. - * - * Arguments: - * 0: Unit to be treated. - * - * Return Value: - * Is unit diagnosed? (Bool) - */ - -private ["_unit"]; - -_unit = _this select 0; - -if !(AGM_player getVariable ["AGM_Medical_RequireDiagnosis", AGM_Medical_RequireDiagnosis]) exitWith {true}; -if !(_unit getVariable ["AGM_isUnconscious", False]) exitWith {true}; - -(_unit getVariable ["AGM_isDiagnosed", True]) diff --git a/TO_MERGE/agm/Medical/functions/fn_isInMedicalVehicle.sqf b/TO_MERGE/agm/Medical/functions/fn_isInMedicalVehicle.sqf deleted file mode 100644 index f13cbf6b0e..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_isInMedicalVehicle.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Checks if a unit is in a medical vehicle. - * - * Arguments: - * 0: unit to be checked (object) - * - * Return Value: - * Bool: is unit in medical vehicle? - */ - -private ["_unit", "_vehicle"]; - -_unit = _this select 0; -_vehicle = vehicle _unit; - -if (_unit == _vehicle) exitWith {false}; -if (_unit in [driver _vehicle, gunner _vehicle, commander _vehicle]) exitWith {false}; - -_vehicle getVariable ["AGM_isMedic", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] diff --git a/TO_MERGE/agm/Medical/functions/fn_itemCheck.sqf b/TO_MERGE/agm/Medical/functions/fn_itemCheck.sqf deleted file mode 100644 index f9efc6826b..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_itemCheck.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Checks the inventory of the unit and replaces items if necessary. - * - * Arguments: - * 0: Unit - * - * Return Value: - * None - */ - -_unit = _this select 0; - -while {count (itemsWithMagazines _unit) > count (itemsWithMagazines _unit - ["FirstAidKit"])} do { - _unit removeItem "FirstAidKit"; - _unit addItem "AGM_Bandage"; - _unit addItem "AGM_Bandage"; - _unit addItem "AGM_Morphine"; -}; -while {count (itemsWithMagazines _unit) > count (itemsWithMagazines _unit - ["Medikit"])} do { - _unit removeItem "Medikit"; - _unit addItemToBackpack "AGM_Epipen"; - _unit addItemToBackpack "AGM_Epipen"; - _unit addItemToBackpack "AGM_Epipen"; - _unit addItemToBackpack "AGM_Epipen"; - _unit addItemToBackpack "AGM_Bloodbag"; - _unit addItemToBackpack "AGM_Bloodbag"; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_knockOut.sqf b/TO_MERGE/agm/Medical/functions/fn_knockOut.sqf deleted file mode 100644 index 2842c17cdb..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_knockOut.sqf +++ /dev/null @@ -1,130 +0,0 @@ -/* - * By: KoffeinFlummi - * - * Knocks the given player out. - * - * Arguments: - * 0: Unit to be knocked out - * 1: Duration of knockout (optional) - * (if not set or set to -1, value depending on damage is chosen) - * - * Return Values: - * None - */ - -private ["_unit", "_duration", "_deadman", "_newGroup", "_wakeUpTimer", "_unconsciousnessTimer"]; - -_unit = _this select 0; -_duration = -1; -if (count _this > 1) then { - _duration = _this select 1; -}; - -//if (_unit getVariable ["AGM_isCaptive", False]) exitWith {_unit setDamage 1}; -if (_unit getVariable ["AGM_isUnconscious", False]) exitWith {}; - -// If an AI unit shoots a player, hand it off to him to calculate things. -// Puts less strain on the server. -if (!(local _unit) and ([_unit] call AGM_Core_fnc_isPlayer)) exitWith { - [_this, "AGM_Medical_fnc_knockOut", _unit] call AGM_Core_fnc_execRemoteFnc; -}; - -if (!([_unit] call AGM_Core_fnc_isPlayer) && {vehicle _unit != _unit}) exitWith {}; - -_unit setVariable ["AGM_Unconscious", True, True]; // deprecated since 0.95 -_unit setVariable ["AGM_isUnconscious", True, True]; -_unit setVariable ["AGM_canTreat", False, True]; - -_unit setVariable ["tf_globalVolume", 0.4]; -_unit setVariable ["tf_voiceVolume", 0, True]; -_unit setVariable ["tf_unable_to_use_radio", True, True]; - -_unit setVariable ["acre_sys_core_isDisabled", True, True]; -_unit setVariable ["acre_sys_core_globalVolume", 0.4]; - -if (_unit == AGM_player) then { - if (visibleMap) then {openMap false}; - closeDialog 0; - call AGM_Interaction_fnc_hideMenu; - - [True, True] call AGM_Core_fnc_disableUserInput; -}; - -[_unit, "AGM_Unconscious", True] call AGM_Core_fnc_setCaptivityStatus; - -_unit disableAI "MOVE"; -//_unit disableAI "ANIM"; -_unit disableAI "TARGET"; -_unit disableAI "AUTOTARGET"; -_unit disableAI "FSM"; -_unit disableConversation true; - -if !(_unit getVariable ["AGM_NoRadio_isMuted", false]) then { - [_unit] call AGM_Core_fnc_muteUnit; -}; - -// play appropriate anim -private "_fnc_playAnim"; -_fnc_playAnim = { - if (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> animationState _this >> "AGM_isLadder") == 1) then { - _this action ["LadderOff", nearestObject [position _this, "House"]]; - }; - - waitUntil {isTouchingGround _this}; - waitUntil {!([_this] call AGM_Core_fnc_inTransitionAnim) or !(alive _this)}; - if !(alive _this and _this getVariable "AGM_isUnconscious") exitWith {}; - [_this, "Unconscious", 1, True] call AGM_Core_fnc_doAnimation; - sleep 2; - if (animationState _this != "Unconscious" and _this getVariable ["AGM_isUnconscious", False]) then { - [_this, "Unconscious", 2, True] call AGM_Core_fnc_doAnimation; - }; -}; - -if (vehicle _unit != _unit) then { - _unit setVariable ["AGM_OriginalAnim", animationState _unit, True]; - [ - _unit, - ((configFile >> "CfgMovesMaleSdr" >> "States" >> animationState _unit >> "interpolateTo") call BIS_fnc_getCfgData) select 0, - 1, - True - ] call AGM_Core_fnc_doAnimation; - - // handle parachute - if (vehicle _unit isKindOf "ParachuteBase") then { - _unit spawn _fnc_playAnim; - }; -} else { - _unit spawn _fnc_playAnim; -}; - -// wake up unit after certain amount of time -if (_duration != -1 or _unit getVariable ["AGM_Medical_AutomaticWakeup", AGM_Medical_AutomaticWakeup]) then { - _wakeUpTimer = [_unit, _duration] spawn { - _unit = _this select 0; - _duration = _this select 1; - if (_duration != -1) then { - sleep _duration; - } else { - sleep (60 * (1 + (random 8)) * ((damage _unit) max 0.5)); - }; - if (!isNull _unit && {alive _unit}) then { - [_unit] call AGM_Medical_fnc_wakeUp; - }; - }; -}; -_unit setVariable ["AGM_WakeUpTimer", _wakeUpTimer]; - -// kill unit if the max uncon. time module option is used -_unconsciousnessTimer = [_unit] spawn { - _unit = _this select 0; - if (AGM_Medical_MaxUnconsciousnessTime >= 0) then { - sleep AGM_Medical_MaxUnconsciousnessTime; - if !(scriptDone (_unit getVariable "AGM_WakeUpTimer")) then { - terminate (_unit getVariable "AGM_WakeUpTimer"); - }; - _unit setDamage 1; - }; -}; -_unit setVariable ["AGM_UnconsciousnessTimer", _unconsciousnessTimer]; - -[_unit, "knockedOut", [_unit]] call AGM_Core_fnc_callCustomEventHandlersGlobal; diff --git a/TO_MERGE/agm/Medical/functions/fn_loadIntoVehicle.sqf b/TO_MERGE/agm/Medical/functions/fn_loadIntoVehicle.sqf deleted file mode 100644 index 88474850ba..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_loadIntoVehicle.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Loads the carried/dragged unit into a vehicle for transport. - * - * Arguments: - * 0: The unit that does the loading - * 1: The vehicle - * - * Return Value: - * - - */ - -private ["_unit", "_target", "_vehicle"]; - -_unit = _this select 0; -_vehicle = _this select 1; -_target = _unit getVariable ["AGM_Transporting", objNull]; - -if (count _this < 3 and {!(local _target)}) exitWith { - [_this + [_target], "AGM_Medical_fnc_loadIntoVehicle", _target] call AGM_Core_fnc_execRemoteFnc; -}; - -if (count _this > 2) then { - _target = _this select 2; -}; - -_unit setVariable ["AGM_Transporting", objNull, True]; - -detach _target; -_target moveInCargo _vehicle; -_target assignAsCargo _vehicle; - -[_unit, "", 2, True] call AGM_Core_fnc_doAnimation; -_target spawn { - sleep 0.5; - _this setVariable ["AGM_OriginalAnim", animationState _this, True]; - [ - _this, - ((configFile >> "CfgMovesMaleSdr" >> "States" >> animationState _this >> "interpolateTo") call BIS_fnc_getCfgData) select 0, - 2, - True - ] call AGM_Core_fnc_doAnimation; -}; - -_unit removeWeapon "AGM_FakePrimaryWeapon"; -_unit setVariable ["AGM_canTreat", True, True]; -_target setVariable ["AGM_isTreatable", True, True]; diff --git a/TO_MERGE/agm/Medical/functions/fn_module.sqf b/TO_MERGE/agm/Medical/functions/fn_module.sqf deleted file mode 100644 index 740e78c655..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_module.sqf +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Initializes the medical module. - * - * Arguments: - * Whatever the module provides. (I dunno.) - * - * Return Value: - * None - */ - -private ["_logic", "_units", "_activated"]; - -if !(isServer) exitWith {}; - -_logic = _this select 0; -_units = _this select 1; -_activated = _this select 2; - -if !(_activated) exitWith {}; - -AGM_Medical_Module = True; - -AGM_Medical_MEDEVACTriggers = [synchronizedObjects _logic, {triggerType _this != ""}] call AGM_Core_fnc_filter; -publicVariable "AGM_Medical_MEDEVACTriggers"; -AGM_Medical_MEDEVACVehicles = _units; -publicVariable "AGM_Medical_MEDEVACVehicles"; - -[_logic, "AGM_Medical_CoefDamage", "CoefDamage" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_Medical_CoefBleeding", "CoefBleeding" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_Medical_CoefPain", "CoefPain" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_Medical_CoefNonMedic", "CoefNonMedic" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_Medical_MaxUnconsciousnessTime", "MaxUnconsciousnessTime" ] call AGM_Core_fnc_readNumericParameterFromModule; - -[_logic, "AGM_Medical_AllowNonMedics", "AllowNonMedics" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_RequireDiagnosis", "RequireDiagnosis" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_PreventInstaDeath", "PreventInstaDeath" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_PreventDeathWhileUnconscious", "PreventDeathWhileUnconscious"] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_SingleBandage", "SingleBandage" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_AllowChatWhileUnconscious", "AllowChatWhileUnconscious" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_EnableOverdosing", "EnableOverdosing" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_RequireMEDEVAC", "RequireMEDEVAC" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_AutomaticWakeup", "AutomaticWakeup" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_Medical_DisableScreams", "DisableScreams" ] call AGM_Core_fnc_readBooleanParameterFromModule; - -diag_log text "[AGM]: Medical Module Initialized."; diff --git a/TO_MERGE/agm/Medical/functions/fn_overdose.sqf b/TO_MERGE/agm/Medical/functions/fn_overdose.sqf deleted file mode 100644 index 0ac18af6bc..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_overdose.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Kills the given unit with a morphine overdose. - * - * Arguments: - * 0: Unit - * - * Return Value: - * None - */ - -_unit = _this select 0; - -if (!AGM_Medical_EnableOverdosing) exitWith {}; - -if !(local _unit) exitWith { - [_this, "AGM_Medical_fnc_overdose", _unit] call AGM_Core_fnc_execRemoteFnc; -}; - -if !(_unit getVariable ["AGM_isUnconscious", False]) then { - [_unit, 99999] call AGM_Medical_fnc_knockOut; -} else { - if !(scriptDone (_unit getVariable "AGM_WakeUpTimer")) then { - terminate (_unit getVariable "AGM_WakeUpTimer"); - }; -}; - -_unit playAction "GestureSpasm4"; - -_unit spawn { - sleep 20; - [_this, "HitHead", 1, True] call AGM_Medical_fnc_setHitPointDamage; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_release.sqf b/TO_MERGE/agm/Medical/functions/fn_release.sqf deleted file mode 100644 index 739e2bdc3e..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_release.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Releases the given unit. - * - * Argument: - * 0: Unit to be released (Object) - * - * Return value: - * none - */ - -#define ANIM_DRAG ["amovpercmstpslowwrfldnon_acinpknlmwlkslowwrfldb_2", "amovpercmstpsraswpstdnon_acinpknlmwlksnonwpstdb_2", "amovpercmstpsnonwnondnon_acinpknlmwlksnonwnondb_2", "acinpknlmstpsraswrfldnon", "acinpknlmstpsnonwpstdnon", "acinpknlmstpsnonwnondnon"] - -private ["_unit", "_target"]; - -_unit = _this select 0; -_target = _this select 1; - -_unit removeWeapon "AGM_FakePrimaryWeapon"; -_unit setVariable ["AGM_Transporting", objNull, True]; -_unit setVariable ["AGM_canTreat", true, false]; -_target setVariable ["AGM_isTreatable", True, True]; - -detach _target; - -_unit removeAction (_unit getVariable "AGM_Medical_ReleaseID"); - -// animation was already handled by fnc_loadIntoVehicle -if (vehicle _target != _target) exitWith {}; - -if (vehicle _unit == _unit) then { - if (animationState _unit in ANIM_DRAG) then { - _unit playAction "released"; - } else { - [_unit, "", 2, True] call AGM_Core_fnc_doAnimation; - }; -}; -if (_target getVariable ["AGM_isUnconscious", False]) then { - [_target, "Unconscious", 2, True] call AGM_Core_fnc_doAnimation; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_scream.sqf b/TO_MERGE/agm/Medical/functions/fn_scream.sqf deleted file mode 100644 index 7f20f1f05b..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_scream.sqf +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * AAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRGH - * - * Arguments: - * 0: Unit to scream - * - * Return Value: - * loud noises - */ - -private ["_unit", "_screams", "_position"]; - -if (AGM_Medical_DisableScreams) exitWith {}; - -_unit = _this select 0; - -_screams = [ - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_01.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_02.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_03.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_04.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_05.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_06.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_07.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_08.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_09.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_10.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_11.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_12.wss", - "A3\sounds_f\characters\human-sfx\Person0\P0_hit_13.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_01.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_02.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_03.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_04.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_05.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_06.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_07.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_08.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_09.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_10.wss", - "A3\sounds_f\characters\human-sfx\Person1\P1_hit_11.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_01.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_02.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_03.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_04.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_05.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_06.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_07.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_08.wss", - "A3\sounds_f\characters\human-sfx\Person2\P2_hit_09.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_01.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_02.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_03.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_04.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_05.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_06.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_07.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_08.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_09.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_10.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_11.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_12.wss", - "A3\sounds_f\characters\human-sfx\Person3\P3_hit_13.wss" -]; - -_position = _unit modelToWorld (_unit selectionPosition "Head"); -_position set [2, (_position select 2) + ((getPosASLW _unit select 2) - (getPosATL _unit select 2) max 0)]; - -playSound3D [ - _screams select (floor random (count _screams)), - objNull, - False, - _position, - 2, - 1, - 300 -]; diff --git a/TO_MERGE/agm/Medical/functions/fn_setDamage.sqf b/TO_MERGE/agm/Medical/functions/fn_setDamage.sqf deleted file mode 100644 index 2f3c8825ed..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_setDamage.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Sets the structural damage of a unit without altering the hitPoints. - * THIS NEEDS TO BE CALLED FROM THE PC WHERE THE UNIT IS LOCAL. - * - * Arguments: - * 0: Unit - * 1: Damage - * - * Return Value: - * None - */ - -private ["_unit", "_damage", "_hitPoints"]; - -_unit = _this select 0; -_damage = _this select 1; - -if !(local _unit) exitWith { - [_this, "AGM_Medical_fnc_setDamage", _unit] call AGM_Core_fnc_execRemoteFnc; -}; - -_hitPoints = [ - (_unit getHitPointDamage "HitHead"), - (_unit getHitPointDamage "HitBody"), - (_unit getHitPointDamage "HitLeftArm"), - (_unit getHitPointDamage "HitRightArm"), - (_unit getHitPointDamage "HitLeftLeg"), - (_unit getHitPointDamage "HitRightLeg") -]; - -_unit setDamage _damage; - -_unit setHitPointDamage ["HitHead", (_hitPoints select 0)]; -_unit setHitPointDamage ["HitBody", (_hitPoints select 1)]; -_unit setHitPointDamage ["HitLeftArm", (_hitPoints select 2)]; -_unit setHitPointDamage ["HitRightArm", (_hitPoints select 3)]; -_unit setHitPointDamage ["HitLeftLeg", (_hitPoints select 4)]; -_unit setHitPointDamage ["HitRightLeg", (_hitPoints select 5)]; diff --git a/TO_MERGE/agm/Medical/functions/fn_setHitPointDamage.sqf b/TO_MERGE/agm/Medical/functions/fn_setHitPointDamage.sqf deleted file mode 100644 index e70ce8cf87..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_setHitPointDamage.sqf +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * My very own setHitPointDamage since BIS's one is buggy when affecting a remote unit. - * It also doesn't change the overall damage. This does. - * - * Arguments: - * 0: unit - * 1: selection - * 2: damage - * 3: disable overall damage adjustment (optional) - * - * Return Value: - * - - */ - -private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal"]; - -_unit = _this select 0; -_selection = _this select 1; -_damage = _this select 2; - -// Unit isn't local, give function to machine where it is. -if !(local _unit) exitWith { - [_this, "AGM_Medical_fnc_setHitPointDamage", _unit] call AGM_Core_fnc_execRemoteFnc; -}; - -// Check if overall damage adjustment is disabled -if (count _this > 3 && {_this select 3}) exitWith { - _unit setHitPointDamage [_selection, _damage]; -}; - -_selections = [ - "HitHead", - "HitBody", - "HitLeftArm", - "HitRightArm", - "HitLeftLeg", - "HitRightLeg" -]; - -if !(_selection in _selections) exitWith { - _unit setHitPointDamage [_selection, _damage]; -}; - -AGM_Medical_Unit = _unit; -_damages = [_selections, {AGM_Medical_Unit getHitPointDamage _this}] call AGM_Core_fnc_map; - -_damageOld = damage _unit; -_damageSumOld = 0; -{ - _damageSumOld = _damageSumOld + _x; -} forEach _damages; -_damageSumOld = _damageSumOld max 0.001; - -_damages set [_selections find _selection, _damage]; - -_damageSumNew = 0; -{ - _damageSumNew = _damageSumNew + _x; -} forEach _damages; - -_damageNew = _damageSumNew / 6; -if (_damageOld > 0) then { - _damageNew = _damageOld * (_damageSumNew / _damageSumOld); -}; - -if (_unit getVariable ["AGM_isUnconscious", False]) then { - if (_damageNew > 0.9 and {AGM_Medical_PreventDeathWhileUnconscious}) then { - _damageNew = 0.89; - }; -} else { - if (_damageNew > 0.9 and {AGM_Medical_PreventInstaDeath}) then { - _damageNew = 0.89; - }; -}; - -_unit setDamage _damageNew; - -{ - _damageFinal = (_damages select _forEachIndex); - if (_unit getVariable ["AGM_isUnconscious", False]) then { - if (_damageFinal > 0.9 and {AGM_Medical_PreventDeathWhileUnconscious}) then { - _damageFinal = 0.89; - }; - } else { - if (_damageFinal > 0.9 and {AGM_Medical_PreventInstaDeath}) then { - _damageFinal = 0.89; - }; - }; - - _unit setHitPointDamage [_x, _damageFinal]; -} forEach _selections; diff --git a/TO_MERGE/agm/Medical/functions/fn_takeItem.sqf b/TO_MERGE/agm/Medical/functions/fn_takeItem.sqf deleted file mode 100644 index 5ae3a9a1ca..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_takeItem.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Takes an item, preferrably from the cursorTarget first. - * - * Arguments: - * 0: The unit that does the treating. - * 1: The unit being treated. - * 2: The desired item (classname). - * - * Return Value: - * True if item was successfully take, false otherwise. - */ - -private ["_unit", "_target", "_item", "_config", "_displayName"]; - -_unit = _this select 0; -_target = _this select 1; -_item = _this select 2; -_config = configFile >> "CfgWeapons" >> _item >> "displayName"; -_displayName = getText _config; - -if ((_target == _unit) and (_item in items _unit)) exitWith { - _unit removeItem _item; - True -}; - -if (_item in (items _target)) exitWith { - if ([_target] call AGM_Core_fnc_isPlayer) then { - systemChat format [localize "STR_AGM_Medical_TakingItemPatient", _displayName]; - }; - _target removeItem _item; - if (!(local _target) and isPlayer _target) then { - [[_unit, _item, _config, _target], "{systemChat format [localize 'STR_AGM_Medical_TakingYourItem', [_this select 0] call AGM_Core_fnc_getName, getText (_this select 2)];}", _target] call AGM_Core_fnc_execRemoteFnc; - }; - True -}; - -if (_item in (items _unit)) exitWith { - _unit removeItem _item; - if ([_unit] call AGM_Core_fnc_isPlayer) then { - systemChat format [localize "STR_AGM_Medical_TakingItemSelf", _displayName]; - }; - True -}; - -[localize "STR_AGM_Medical_NoItem"] call AGM_Core_fnc_displayTextStructured; -False diff --git a/TO_MERGE/agm/Medical/functions/fn_transport.sqf b/TO_MERGE/agm/Medical/functions/fn_transport.sqf deleted file mode 100644 index 92d9581666..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_transport.sqf +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Start dragging the given unit. - * - * Argument: - * 0: Unit to do the dragging (Object) - * 1: Unit to be dragged (Object) - * 2: Type of transportation - * - "drag" - * - "carry" - * - * Return value: - * none - */ - -#define ANIM_DRAG ["amovpercmstpslowwrfldnon_acinpknlmwlkslowwrfldb_2", "amovpercmstpsraswpstdnon_acinpknlmwlksnonwpstdb_2", "amovpercmstpsnonwnondnon_acinpknlmwlksnonwnondb_2", "acinpknlmstpsraswrfldnon", "acinpknlmstpsnonwpstdnon", "acinpknlmstpsnonwnondnon"] - -_this spawn { - _unit = _this select 0; - _target = _this select 1; - _type = _this select 2; - - _target setVariable ["AGM_isTreatable", False, True]; - _unit setVariable ["AGM_canTreat", False, False]; - - // Everything but the rifle animation is fucked - if (primaryWeapon _unit == "") then { - _unit addWeapon "AGM_FakePrimaryWeapon"; - }; - _unit selectWeapon (primaryWeapon _unit); - - if (_type == "drag") then { - _target setDir (getDir _unit + 180) % 360; - _target setPos ((getPos _unit) vectorAdd ((vectorDir _unit) vectorMultiply 1.5)); - - _unit playActionNow "grabDrag"; - [_target, "{_this playActionNow 'grabDragged'}", _target] call AGM_Core_fnc_execRemoteFnc; - waitUntil {animationState _unit in ANIM_DRAG}; - } else { - _target setDir (getDir _unit + 180) % 360; - _target setPos ((getPos _unit) vectorAdd (vectorDir _unit)); - [_unit, "AcinPknlMstpSnonWnonDnon_AcinPercMrunSnonWnonDnon", 2, True] call AGM_Core_fnc_doAnimation; - [_target, "AinjPfalMstpSnonWrflDnon_carried_Up", 2, True] call AGM_Core_fnc_doAnimation; - sleep 15; - - /*_unit playActionNow "grabCarry"; - [_target, "{_this playActionNow 'grabCarried'}", _target] call AGM_Core_fnc_execRemoteFnc; - waitUntil {animationState _unit in ANIM_CARRY};*/ - }; - - _unit setVariable ["AGM_Transporting", _target, False]; - _releaseID = _unit addAction [format ["%1", localize "STR_AGM_Medical_Release"], "[(_this select 1), ((_this select 1) getVariable ['AGM_Transporting', objNull])] call AGM_Medical_fnc_release;", nil, 20, false, true, "", "!isNull (_this getVariable ['AGM_Transporting', objNull])"]; - _unit setVariable ["AGM_Medical_ReleaseID", _releaseID]; - - // unit woke up while picking him up, abandon ship - if !(_target getVariable ["AGM_isUnconscious", False] || {isNull (_unit getVariable ["AGM_Transporting", objNull])}) exitWith { - detach _target; - _target setVariable ["AGM_isTreatable", True, True]; - _unit setVariable ["AGM_canTreat", True, False]; - _unit removeWeapon "AGM_FakePrimaryWeapon"; - [_unit, "", 2, True] call AGM_Core_fnc_doAnimation; - _unit removeAction (_unit getVariable "AGM_Medical_ReleaseID"); - _unit setVariable ["AGM_Transporting", objNull, False]; - }; - - if (_type == "drag") then { - _target attachTo [_unit, [0, 1.1, 0.092]]; - [_target, "{_this setDir 180;}", _target] call AGM_Core_fnc_execRemoteFnc; - [_target, "AinjPpneMrunSnonWnonDb_still", 2, True] call AGM_Core_fnc_doAnimation; - } else { - _target attachTo [_unit, [0.4, -0.1, -1.25], "LeftShoulder"]; - [_target, "{_this setDir 195;}", _target] call AGM_Core_fnc_execRemoteFnc; - [_unit, "AcinPercMstpSnonWnonDnon", 2, True] call AGM_Core_fnc_doAnimation; - [_target, "AinjPfalMstpSnonWnonDf_carried_dead", 2, True] call AGM_Core_fnc_doAnimation; - }; - - // catch weird stuff happening - // (player getting in vehicle, either person dying etc.) - waitUntil {sleep 0.5; - vehicle _unit != _unit or - isNull (_unit getVariable ["AGM_Transporting", objNull]) or - !(alive _unit) or - !(alive _target) or - (_unit getVariable ["AGM_isUnconscious", False]) or - !(_target getVariable ["AGM_isUnconscious", False]) - }; - // release was properly done, do nothing - if (isNull (_unit getVariable ["AGM_Transporting", objNull])) exitWith {}; - // weird shit happened, properly release unit - [_unit, _unit getVariable ["AGM_Transporting", objNull]] call AGM_Medical_fnc_release; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_treat.sqf b/TO_MERGE/agm/Medical/functions/fn_treat.sqf deleted file mode 100644 index 3e0bacb40b..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_treat.sqf +++ /dev/null @@ -1,178 +0,0 @@ -/* - * By: KoffeinFlummi - * - * Starts the treatment of the unit. - * - * Arguments: - * 0: Unit that does the treating (Object) - * 1: Unit that is beeing treated (Object) - * 2: Type of treatment: - * - "diagnose" - * - "bandage" - * - "morphine" - * - "epipen" - * - "bloodbag" - * 3+: Additional parameters - * - * Return value: - * none - */ - -private ["_unit", "_target", "_type", "_inTrigger", "_item", "_animation", "_time", "_string"]; - -_unit = _this select 0; -_target = _this select 1; -_type = _this select 2; - -// check if unit is medic and if that's even necessary -if (_type in ["epipen", "bloodbag"] and - !(([_unit] call AGM_Core_fnc_isMedic) or - (_unit getVariable ["AGM_Medical_AllowNonMedics", AGM_Medical_AllowNonMedics]))) exitWith { - if ([_unit] call AGM_Core_fnc_isPlayer) then { - [localize "STR_AGM_Medical_NotTrained"] call AGM_Core_fnc_displayTextStructured; - }; -}; - -// check MEDEVAC conditions -_inTrigger = False; -{ - if (_inTrigger) exitWith {}; - _inTrigger = [_x, _target] call BIS_fnc_inTrigger; -} forEach (missionNamespace getVariable ["AGM_Medical_MEDEVACTriggers", []]); -{ - if (_inTrigger) exitWith {}; - _inTrigger = _target distance _x < 10; -} forEach (missionNamespace getVariable ["AGM_Medical_MEDEVACVehicles", []]); - -if (_type == "epipen" and (_unit getVariable ["AGM_Medical_RequireMEDEVAC", AGM_Medical_RequireMEDEVAC]) and !_inTrigger) exitWith { - if ([_unit] call AGM_Core_fnc_isPlayer) then { - [localize "STR_AGM_Medical_NotInMEDEVAC"] call AGM_Core_fnc_displayTextStructured; - }; -}; - -// morphine warning -if (_type == "morphine" and - _target != _unit and - [_target] call AGM_Core_fnc_isPlayer) then { - [[_unit] call AGM_Core_fnc_getName, "{systemChat format ['%1 %2', _this, localize 'STR_AGM_Medical_GivingYouMorphine'];}", _target] call AGM_Core_fnc_execRemoteFnc; -}; - -// remove item if necessary -_item = switch (_type) do { - case "bandage" : {"AGM_Bandage"}; - case "morphine" : {"AGM_Morphine"}; - case "epipen" : {"AGM_Epipen"}; - case "bloodbag" : {"AGM_Bloodbag"}; - default {""}; -}; -if (_item != "" and {!([_unit, _target, _item] call AGM_Medical_fnc_takeItem)}) exitWith {}; - -// code to be executed if action is aborted -AGM_Medical_treatmentAbort = { - _unit = _this select 0; - - if (vehicle _unit == _unit) then { - [_unit, "", 1] call AGM_Core_fnc_doAnimation; - }; - _unit setVariable ["AGM_canTreat", True, False]; -}; - -_unit setVariable ["AGM_canTreat", False, False]; - -// self-diagnosis is instant -if ( - (_target == _unit) and - (_type == "diagnose") - ) exitWith { - _this spawn AGM_Medical_fnc_treatmentCallback; -}; - -// play appropriate animation -_animation = switch (_type) do { - case "diagnose" : {"AinvPknlMstpSnonWnonDnon_medic3"}; - case "bandage" : {"AinvPknlMstpSnonWnonDnon_medic4"}; - case "morphine" : {"AinvPknlMstpSnonWnonDnon_medic1"}; - case "epipen" : {"AinvPknlMstpSnonWnonDnon_medic1"}; - case "bloodbag" : {"AinvPknlMstpSnonWnonDnon_medic1"}; - default {""}; -}; -if (stance _unit == "PRONE") then { - _animation = switch (currentWeapon _unit) do { - case (""): {"AinvPpneMstpSlayWnonDnon_medic"}; - case (primaryWeapon _unit): {"AinvPpneMstpSlayWrflDnon_medic"}; - case (handgunWeapon _unit): {"AinvPpneMstpSlayWpstDnon_medic"}; - default {"AinvPpneMstpSlayWnonDnon_medic"}; - }; -}; -if (_unit == _target) then { - _animation = switch (currentWeapon _unit) do { - case (""): { - ["AinvPknlMstpSlayWnonDnon_medic", "AinvPpneMstpSlayWnonDnon_medic"] select (stance _unit == "PRONE") - }; - case (primaryWeapon _unit): { - ["AinvPknlMstpSlayWrflDnon_medic", "AinvPpneMstpSlayWrflDnon_medic"] select (stance _unit == "PRONE") - }; - case (handgunWeapon _unit): { - ["AinvPknlMstpSlayWpstDnon_medic", "AinvPpneMstpSlayWpstDnon_medic"] select (stance _unit == "PRONE") - }; - default { - ["AinvPknlMstpSlayWnonDnon_medic", "AinvPpneMstpSlayWnonDnon_medic"] select (stance _unit == "PRONE") - }; - }; -}; - -if (vehicle _unit == _unit) then { - [_unit, _animation, 1] call AGM_Core_fnc_doAnimation; -}; - -// get time required for action to be completed -_time = switch (_type) do { - case "diagnose" : {5}; - case "bandage" : {8}; - case "morphine" : {5}; - case "epipen" : {5}; - case "bloodbag" : {20}; - default {10}; -}; -if !([_unit] call AGM_Core_fnc_isMedic) then { - _time = _time * (_unit getVariable ["AGM_Medical_CoefNonMedic", AGM_Medical_CoefNonMedic]); -}; -// increase treatment time when treating while prone or in (non-medical) vehicle -// (it's hard to bandage yourself in a tank you know) -if (stance _unit == "PRONE" or (vehicle _unit != _unit and !([vehicle _unit] call AGM_Core_fnc_isMedic))) then { - _time = _time * 1.2; -}; - -// select appropriate label for progress bar -_string = switch (_type) do { - case "diagnose" : {localize "STR_AGM_Medical_Diagnosing"}; - case "bandage" : { - _selection = _this select 3; - if (_selection == "All") then { - localize "STR_AGM_Medical_Bandaging" - } else { - localize format ["STR_AGM_Medical_Bandaging_%1", _selection] - }; - }; - case "morphine" : {localize "STR_AGM_Medical_Injecting_Morphine"}; - case "epipen" : {localize "STR_AGM_Medical_Injecting_Epinephrine"}; - case "bloodbag" : {localize "STR_AGM_Medical_Transfusing_Blood"}; - default {"Tell Flummi he's a dumbass ..."}; -}; - -// ai treat -if !([_unit] call AGM_Core_fnc_isPlayer) exitWith { - [_this, _time] spawn { - sleep ((_this select 1) * 0.6); - (_this select 0) call AGM_Medical_fnc_treatmentCallback; - }; -}; - -[ - _time, - _this, - "AGM_Medical_fnc_treatmentCallback", - _string, - "AGM_Medical_treatmentAbort" -] call AGM_Core_fnc_progressBar; -[_target, True] call AGM_Core_fnc_closeDialogIfTargetMoves; diff --git a/TO_MERGE/agm/Medical/functions/fn_treatmentCallback.sqf b/TO_MERGE/agm/Medical/functions/fn_treatmentCallback.sqf deleted file mode 100644 index fe51730b03..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_treatmentCallback.sqf +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Code to be executed upon the successfull treatment. - * - * Arguments: - * 0: Unit that does the treatment (Object) - * 1: Unit to be treated (Object) - * 2: Type of treatment: - * - "diagnose" - * - "bandage" - * - "morphine" - * - "epipen" - * - "bloodbag" - * 3+: additional parameters - * - * Return Value: - * None - */ - -#define BANDAGEHEAL 0.8 -#define MORPHINEHEAL 0.4 -#define BLOODBAGHEAL 0.7 - -private ["_unit", "_target", "_type"]; - -_unit = _this select 0; -_target = _this select 1; -_type = _this select 2; - -if ((_target != _unit or _type != "diagnose") and (vehicle _unit == _unit)) then { - [_unit, "", 1] call AGM_Core_fnc_doAnimation; -}; -_unit setVariable ["AGM_canTreat", True, False]; - -switch (_type) do { - case "diagnose" : { - // this is way too messy to all do here. - [_target] call AGM_Medical_fnc_diagnose; - }; - - case "bandage" : { - private ["_selection", "_damage"]; - - _selection = _this select 3; - if (_selection == "All") then { - _target setDamage ((damage _target - BANDAGEHEAL) max 0); - } else { - _damage = ((_target getHitPointDamage _selection) - BANDAGEHEAL) max 0; - [_target, _selection, _damage] call AGM_Medical_fnc_setHitPointDamage; - - [ - _target, - (_target getHitPointDamage "HitLeftLeg") + (_target getHitPointDamage "HitRightLeg"), - (_target getHitPointDamage "HitLeftArm") + (_target getHitPointDamage "HitRightArm"), - True - ] call AGM_Medical_fnc_checkDamage; - }; - }; - - case "morphine" : { - private ["_painkillerOld", "_painkiller"]; - - _painkillerOld = _target getVariable ["AGM_Painkiller", 1]; - - // reduce pain, pain sensitivity - _painkiller = (_painkillerOld - MORPHINEHEAL) max 0; - _pain = ((_target getVariable ["AGM_Pain", 0]) - MORPHINEHEAL) max 0; - _target setVariable ["AGM_Painkiller", _painkiller, True]; - _target setVariable ["AGM_Pain", _pain, True]; - - // overdose if necessary (unit was already full of painkillers) - if (_painkillerOld < 0.05 and _target getVariable ["AGM_Medical_EnableOverdosing", AGM_Medical_EnableOverdosing]) then { - [_target] call AGM_Medical_fnc_overdose; - }; - - // Painkiller Reduction - if (_painkillerOld == 1) then { - _target spawn { - while {_this getVariable ["AGM_Painkiller", 1] < 1} do { - sleep 1; - _painkiller = ((_this getVariable ["AGM_Painkiller", 1]) + 0.0015) min 1; - _this setVariable ["AGM_Painkiller", _painkiller, True]; - }; - }; - }; - }; - - case "epipen" : { - [_target] call AGM_Medical_fnc_wakeUp; // short and sweet - }; - - case "bloodbag" : { - private ["_blood"]; - - _blood = ((_target getVariable ["AGM_Blood", 1]) + BLOODBAGHEAL) min 1; - _target setVariable ["AGM_Blood", _blood, True]; - }; - - default {}; -}; - -// reopen menu if desired -if (profileNamespace getVariable ["AGM_keepMedicalMenuOpen", False] and _unit == AGM_player) then { - if (_target == _unit) then { - [3, _target, "AGM_Medical"] call AGM_Interaction_fnc_showMenu; - } else { - [2, _target, "AGM_Medical"] call AGM_Interaction_fnc_showMenu; - }; -}; diff --git a/TO_MERGE/agm/Medical/functions/fn_unloadPatients.sqf b/TO_MERGE/agm/Medical/functions/fn_unloadPatients.sqf deleted file mode 100644 index 2ea395391f..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_unloadPatients.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Unloads the wounded units from the vehicle. - * - * Arguments: - * 0: The unit that does the unloading - * 1: The vehicle - * - * Return Value: - * - - */ - - private ["_unit", "_vehicle", "_pos"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -if (count _this > 2) exitWith { - _target = _this select 2; - _pos = [ - (getPos _unit select 0) + (random 2) - 1, - (getPos _unit select 1) + (random 2) - 1, - 0 - ]; - moveOut _target; - unassignVehicle _target; - _target setPosATL _pos; -}; - -{ - if (_x getVariable ["AGM_isUnconscious", False]) then { - [_this + [_x], "AGM_Medical_fnc_unloadPatients", _x] call AGM_Core_fnc_execRemoteFnc; - _x setVariable ["AGM_OriginalAnim", "AmovPpneMstpSnonWnonDnon", True]; - }; -} forEach crew _vehicle; diff --git a/TO_MERGE/agm/Medical/functions/fn_wakeUp.sqf b/TO_MERGE/agm/Medical/functions/fn_wakeUp.sqf deleted file mode 100644 index 36f91758bd..0000000000 --- a/TO_MERGE/agm/Medical/functions/fn_wakeUp.sqf +++ /dev/null @@ -1,64 +0,0 @@ -/* - * By: KoffeinFlummi - * - * Wakes an unconscious player up. - * - * Arguments: - * 0: Unconscious unit (Object) - * - * Return Values: - * None - */ - -private ["_unit", "_position"]; - -_unit = _this select 0; - -// Hand it off to local unit -if !(local _unit) exitWith { - [_this, "AGM_Medical_fnc_wakeUp", _unit] call AGM_Core_fnc_execRemoteFnc; -}; - -_unit enableAI "MOVE"; -//_unit enableAI "ANIM"; -_unit enableAI "TARGET"; -_unit enableAI "AUTOTARGET"; -_unit enableAI "FSM"; -_unit disableConversation false; - -if !(_unit getVariable ["AGM_NoRadio_isMuted", false]) then { - [_unit] call AGM_Core_fnc_unmuteUnit; -}; - -_unit setVariable ["AGM_Unconscious", False, True]; // deprecated since 0.95 -_unit setVariable ["AGM_isUnconscious", False, True]; -_unit setVariable ["AGM_canTreat", True, True]; - -_unit setVariable ["tf_globalVolume", 1]; -_unit setVariable ["tf_voiceVolume", 1, True]; -_unit setVariable ["tf_unable_to_use_radio", False, True]; - -_unit setVariable ["acre_sys_core_isDisabled", False, True]; -_unit setVariable ["acre_sys_core_globalVolume", 1]; - -if (_unit == AGM_player) then { - [False] call AGM_Core_fnc_disableUserInput; -}; - -[_unit, "AGM_Unconscious", False] call AGM_Core_fnc_setCaptivityStatus; - -// handle parachute -if (vehicle _unit == _unit) then { - _unit setVariable ["AGM_OriginalAnim", "", True]; -}; - -[_unit, _unit getVariable "AGM_OriginalAnim", 2, True] call AGM_Core_fnc_doAnimation; - -[_unit, "wokeUp", [_unit]] call AGM_Core_fnc_callCustomEventHandlersGlobal; - -if !(scriptDone (_unit getVariable "AGM_UnconsciousnessTimer")) then { - terminate (_unit getVariable "AGM_UnconsciousnessTimer"); -}; -if !(scriptDone (_unit getVariable "AGM_WakeUpTimer")) then { - terminate (_unit getVariable "AGM_WakeUpTimer"); -}; diff --git a/TO_MERGE/agm/Medical/init.sqf b/TO_MERGE/agm/Medical/init.sqf deleted file mode 100644 index 8f239ca06e..0000000000 --- a/TO_MERGE/agm/Medical/init.sqf +++ /dev/null @@ -1,31 +0,0 @@ -// by commy2, handle AI - -0 spawn { - while {true} do { - sleep 10; - - _allGroups = [allGroups, {local _this}] call AGM_Core_fnc_filter; - - { - { - call { - if (damage _x > 0) exitWith { - [_x, "bandage"] call AGM_Medical_fnc_aiInitTask; - }; - - if (_x getVariable ["AGM_isUnconscious", false]) exitWith { - [_x, "epipen"] call AGM_Medical_fnc_aiInitTask; - }; - - if (_x getVariable ["AGM_Blood", 1] < 1) exitWith { - [_x, "bloodbag"] call AGM_Medical_fnc_aiInitTask; - }; - - if (_x getVariable ["AGM_Pain", 0] > 0) exitWith { - [_x, "morphine"] call AGM_Medical_fnc_aiInitTask; - }; - }; - } forEach units _x - } forEach _allGroups; - }; -}; diff --git a/TO_MERGE/agm/Medical/stringtable.xml b/TO_MERGE/agm/Medical/stringtable.xml deleted file mode 100644 index 55ca19978a..0000000000 --- a/TO_MERGE/agm/Medical/stringtable.xml +++ /dev/null @@ -1,877 +0,0 @@ - - - - - - Treat >> - Behandeln >> - Tratar >> - Opatrz >> - Vyšetřit >> - Лечение >> - Soigner >> - Ellátás >> - Tratar >> - Cura >> - - - Self-treatment >> - Selbst behandeln >> - Tratarse >> - Opatrz siebie >> - Vyšetřit sebe >> - Самолечение >> - Se soigner >> - Önellátás >> - Tratar-se >> - Curati >> - - - Diagnose - Diagnose - Diagnosticar - Diagnozuj - Diagnostikovat - Диагностика - Diagnostiquer - Diagnózis - Diagnosticar - Fai una diagnosi - - - Inject Morphine - Morphin injizieren - Inyectar Morfina - Wstrzyknij morfinę - Aplikovat Morfin - Ввести морфин - Morphine - Morfium - Injetar Morfina - Inietta Morfina - - - Inject Epinephrine - Epinephrine injizieren - Inyectar Epinefrina - Wtrzyknij adrenalinę - Aplikovat Adrenalin - Ввести андреналил - Adrénaline - Adrenalin - Injetar Epinefrina - Inietta Epinefrina - - - Transfuse Blood - Bluttransfusion - Transfundir sangre - Przetocz krew - Transfúze krve - Перелить кровь - Transfusion - Infúzió - Transfundir Sangue - Effettua Trasfusione - - - Bandage - Verbinden - Venda - Bandaż - Obvázat - Pansement - Benda - Kötözése - Atadura - Перевязать - - - Bandage Head - Kopf verbinden - Vendar la cabeza - Bandażuj głowę - Obvázat hlavu - Перевязать голову - Pansement Tête - Fej kötözése - Atar Cabeça - Benda la testa - - - Bandage Torso - Torso verbinden - Vendar el torso - Bandażuj tors - Obvázat hruď - Перевязать торс - Pansement Torse - Felsőtest kötözése - Atar Tronco - Benda il torso - - - Bandage Left Arm - Arm links verbinden - Vendar el brazo izquierdo - Bandażuj lewe ramię - Obvázat levou ruku - Перевязать левую руку - Pansement Bras Gauche - Bal kar kötözése - Atar Braço Esquerdo - Benda il braccio sinistro - - - Bandage Right Arm - Arm rechts verbinden - Vendar el brazo derecho - Bandażuj prawe ramię - Obvázat pravou ruku - Перевязать правую руку - Pansement Bras Droit - Jobb kar kötözése - Atar Braço Direito - Benda il braccio destro - - - Bandage Left Leg - Bein links verbinden - Vendar la pierna izquierda - Bandażuj lewą nogę - Obvázat levou nohu - Перевязать левую ногу - Pansement Jambe Gauche - Bal láb kötözése - Atar Perna Esquerda - Benda la gamba sinistra - - - Bandage Right Leg - Bein rechts verbinden - Vendar la pierna derecha - Bandażuj prawą nogę - Obvázat pravou nohu - Перевязать правую ногу - Pansement Jambe Droite - Jobb láb kötözése - Atar Perna Direita - Benda la gamba destra - - - Drag - Ziehen - Arrastrar - Ciągnij - Táhnout - Тащить - Tracter - Húzás - Arrastar - Trascina - - - Carry - Tragen - Cargar - Nieś - Nést - Нести - Porter - Cipelés - Carregar - Trasporta - - - Release - Loslassen - Soltar - Połóż - Položit - Отпустить - Déposer - Elenged - Largar - Lascia - - - Load Patient Into - Patient Einladen - Cargar el paciente en - Załaduj pacjenta - Naložit pacianta do - Погрузить пациента в - Embarquer le Patient - Sebesült berakása - Carregar Paciente Em - Carica paziente nel - - - Unload Patient - Patient Ausladen - Descargar el paciente - Wyładuj pacjenta - Vyložit pacienta - Выгрузить пациента - Débarquer le Patient - Sebesült kihúzása - Descarregar Paciente - Scarica il paziente - - - Diagnosing ... - Diagnostizieren ... - Diagnosticando ... - Diagnozowanie ... - Diagnostikuji ... - Диагоностика.... - Diagnostic ... - Ellenőrzés... - Diagnosticando ... - Eseguo la diagnosi ... - - - Injecting Morphine ... - Morphin injizieren ... - Inyectando Morfina ... - Wstrzykiwanie morfiny ... - Aplikuju Morfin ... - Введение морфина... - Injection de Morphine... - Morfium beadása... - Injetando Morfina ... - Inietto la morfina ... - - - Injecting Epinephrine ... - Epinephrine injizieren ... - Inyectando Epinefrina ... - Wstrzykiwanie adrenaliny ... - Aplikuju Adrenalin ... - Введение андреналина - Injection d'Adrénaline ... - Adrenalin beadása... - Injetando Epinefrina ... - Inietto l'epinefrina ... - - - Transfusing Blood ... - Bluttransfusion ... - Realizando transfusión ... - Przetaczanie krwi ... - Probíhá transfúze krve ... - Переливание крови... - Transfusion Sanguine ... - Infúzió... - Transfundindo Sangue ... - Effettuo la trasfusione ... - - - Bandaging ... - Verbinden ... - Vendando ... - Bandażowanie ... - Obvazuji ... - Pansement ... - Sto applicando la benda ... - Bekötözés... - Atando ... - Перевязывание.... - - - Bandaging Head ... - Kopf verbinden ... - Vendando la cabeza ... - Bandażowanie głowy ... - Obvazuji hlavu ... - Перевязывание головы.... - Pansement à la Tête ... - Fej bekötözése... - Atando Cabeça ... - Sto applicando la benda sulla testa ... - - - Bandaging Torso ... - Torso verbinden ... - Vendando el torso ... - Bandażowanie torsu ... - Obvazuji hruď ... - Перевязывание торса... - Pansement au Torse ... - Felsőtest bekötözése ... - Atando Tronco ... - Sto applicando la benda sul torso - - - Bandaging Left Arm ... - Linken Arm verbinden ... - Vendando el brazo izquierdo ... - Bandażowanie lewego ramienia ... - Obvazuji levou ruku ... - Перевязывание тела... - Pansement au Bras Gauche ... - Bal kar bekötözése... - Atando Braço Esquerdo ... - Sto applicando la benda sul braccio sinistro - - - Bandaging Right Arm ... - Rechten Arm verbinden ... - Vendando el brazo derecho ... - Bandażowanie prawego ramienia ... - Obvazuji pravou ruku ... - Перевязывание правой руки... - Pansement au Bras Droit ... - Jobb kar bekötözése... - Atando Braço Direito ... - Sto applicando la benda sul braccio destro - - - Bandaging Left Leg ... - Linkes Bein verbinden ... - Vendando la pierna izquierda ... - Bandażowanie lewej nogi ... - Obvazuji levou nohu ... - Перевязывание левой ноги... - Pansement à la Jambe Gauche ... - Bal láb bekötözése... - Atando Perna Esquerda ... - Sto applicando la benda sulla gamba sinistra - - - Bandaging Right Leg ... - Rechtes Bein verbinden ... - Vendando la pierna derecha ... - Bandażowanie prawej nogi ... - Obvazuji pravou nohu ... - Перевязывание правой ноги... - Pansement à la Jambe Droite ... - Jobb láb bekötözése... - Atando Perna Direita - Sto applicando la benda sulla gamba destra - - - [AGM] Medical Supplies - [AGM] Sanitätsmaterial - [AGM] Suministros médicos - [AGM] Medykamenty - [AGM] Zdravotnické zásoby - [AGM] Медикаменты - [AGM] Matériel Médical - [AGM] Elsősegély felszerelés - [AGM] Suprimentos Médicos - Cassa Medica [AGM] - - - Bandage - Bandage - Venda - Bandaż - Obvaz - Бинт - Pansement - Kötszer - Atadura - Bendaggio - - - Used to stop bleeding. - Verwendet zum Stoppen von Blutungen - Usada para detener el sangrado - Używany do zatamowania krwawienia. - Používané k zastavení krvácení. - Используется для остановки кровотечения. - Utilisé pour arrêter les hémorragies. - Vérzés elállításához. - Usado para parar sangramentos. - Usato per fermare l'emorragie - - - Morphine Autoinjector - Morphin-Autoinjektor - Autoinyector de Morfina - Strzykawka z morfiną - Morfin - Морфин - Syrette de Morphine - Morfium - Autoinjetor de Morfina - Autoiniettore di morfina - - - Heavy Painkiller - Starkes Schmerzmittel - Sedante fuerte - Mocny środek przeciwbólowy - Sedativa - Сильное обезболивающее. - Utilisé pour atténuer la douleur. - Erős fájdalomcsillapító - Forte Analgésico - Antidolorifico molto forte - - - Epinephrine Autoinjector - Epinephrin-Autoinjektor - Autoinyector de Epinefrina - Strzykawka z adrenaliną - Adrenalin - Андреналин - Syrette d'Adrénaline - Adrenalin - Autoinjetor de Epinefrina - Autoiniettore di epinefrina - - - Used to wake up unconscious units. - Benutzt zum Aufwecken bewusstloser Patienten. - Usado para despertar a pacientes inconscientes - Używana w celu ocucenia nieprzytomnego pacjenta - Používaný k probuzení člověka z bezvědomí - Используется для возвращения в сознание. - Utilisé pour réveiller un patient inconscient. - Ájultak felkeltéséhez. - Usado para despertar indivíduos inconscientes. - Usato per risvegliare le unità svenute. - - - Blood Bag - Blutkonserve - Bolsa de sangre - Worek z krwią - Krevní vak - Пакет с кровью - Poche de sang - Infúzió - Bolsa de Sangue - Sacca di sangue - - - Used to compensate for heavy blood loss. - Benutzt, um starken Blutverlust zu kompensieren. - Usada para compensar pérdidas de sangre severas. - Stosowany w celu skompensowania dużej utraty krwi. - Používá se pro kompenzaci při těžké ztrátě krve. - Используется при высокой потере крови. - Utilisé pour combler une perte de sang importante. - Nagyobb vérveszteség esetén - Usado para compensar grandes perdas de sangue. - Usata per compensare grandi perdite di sangue. - - - Head - Kopf - Cabeza - Głowa - Hlava - Голова - Tête - Fej - Cabeça - Testa - - - Torso - Torso - Torso - Tors - Hruď - Торс - Torse - Felsőtest - Tronco - Torso - - - Left Arm - Linker Arm - Brazo izquierdo - Lewe ramię - Levá ruka - Левая рука - Bras Gauche - Bal kar - Braço Esquerdo - Braccio sinistro - - - Right Arm - Rechter Arm - Brazo derecho - Prawe ramię - Pravá ruka - Правая рука - Bras Droit - Jobb kar - Braço Direito - Braccio destro - - - Left Leg - Linkes Bein - Pierna izquierda - Lewa noga - Levá noha - Левая нога - Jambe Gauche - Bal láb - Perna Esquerda - Gamba sinistra - - - Right Leg - Rechtes Bein - Pierna derecha - Prawa noga - Pravá noha - Правая нога - Jambe Droite - Jobb láb - Perna Direita - Gamba destra - - - Patient - Patient - Paciente - Pacjent - Pacient - Пациент - Patient - Páciens - Paciente - Paziente - - - - The patient is dead. - Der Patient ist tot. - El paciente está muerto. - Pacjent jest martwy. - Je mrtvý. - Пациент мертв. - Le patient est décédé. - Meghalt. - O paciente está morto. - Il paziente è morto. - - - The patient is unconscious. - Der Patient ist bewusstlos. - El paciente está inconsciente. - Pacjent jest nieprzytomny. - Pacient je v bezvědomí. - Пациент без сознания. - Le patient est inconscient. - Elájult. - O paciente está inconsciente. - Il paziente è svenuto. - - - The patient is awake. - Der Patient ist wach. - El paciente está despierto. - Pacjent jest przytomny. - Pacient je při vědomí. - Пациент в сознании. - Le patient est conscient. - Ébren van. - O paciente está acordado. - Il paziente è sveglio. - - - The patient is heavily injured. - Der Patient ist schwer verletzt. - El paciente está severament herido. - Pacjent jest ciężko ranny. - Pacient je těžce zraněn - Le patient est gravement blessé. - Il paziente è gravemente ferito. - Súlyosan sérült. - O paciente está gravemente ferido. - Пациен тяжело. - - - The patient is lightly injured. - Der Patient ist leicht verletzt. - El paciente está levemente herido. - Pacjent jest lekko ranny. - Pacient je lehce zraněn - Le patient est légèrement blessé. - Il paziente è leggermente ferito. - Könnyen sérült. - O paciente está levemente ferido. - Пациенто легко. - - - The patient has heavy injuries in: - Der Patient hat schwere Verletzungen in: - El paciente tiene heridas severas en: - Pacjent ma ciężkie obrażenia na: - Pacient má těžká zranění na místech: - Пациен тяжело ранен в: - Le patient est gravement blessé: - Súlyosan sérült a: - O paciente tem graves ferimentos em: - Il paziente ha gravi lesioni in : - - - The patient has light injuries in: - Der Patient hat leichte Verletzungen in: - El paciente tiene heridas leves en: - Pacjent ma lekkie obrażenia na: - Pacient má lehká zranění na místech: - Пациенто легко ранен в: - Le patient est légèrement blessé: - Könnyen sérült a: - O paciente tem leves ferimentos em: - Il paziente ha lesioni lievi in : - - - The patient is not injured. - Der Patient ist unverletzt. - El paciente no está herido. - Pacjent nie ma żadnych obrażeń. - Pacient neni zraněný. - Пациент не ранен. - Le patient n'est pas blessé. - Nem sérült. - O paciente não está ferido. - Il paziente non è ferito. - - - The patient is bleeding; - Der Patient blutet; - El paciente está sangrando. - Pacjent krwawi; - Pacient krvácí; - Пациент истекает кровью: - Le patient saigne - Vérzik; - O paciente está sangrando; - Il paziente sta sanguinando; - - - The patient is not bleeding; - Der Patient blutet nicht; - El paciente no está sangrando. - Pacjent nie krwawi; - Pacient nekrvácí; - Пациент не имеет кровотечений. - Le patient ne saigne pas - Nem vérzik; - O paciente não está sangrando; - Il paziente non sta sanguinando; - - - The patient has already lost a lot of blood. - Der Patient hat bereits große Mengen Blut verloren. - El paciente ha perdido mucha sangre. - Pacjent stracił już dużą ilość krwi. - Pacient stratil dost krve. - Высокая кровопотеря - et a perdu beaucoup de sang. - Már sok vért vesztett. - O paciente já perdeu bastante sangue. - Il paziente ha perso molto sangue. - - - The patient has already lost some blood. - Der Patient hat bereits etwas Blut verloren. - El paciente ha perdido algo de sangre. - PAcjent stracił już trochę krwi. - Pacient stratil málo krve. - Умеренная кровопотеря. - et a perdu un peu de sang. - Már vesztett vért. - O paciente já perdeu algum sangue. - Il paziente ha perso poco sangue. - - - The patient hasn't lost any blood. - Der Patient hat noch kein Blut verloren. - El paciente no ha perdido sangre. - Pacjent nie stracił krwi. - Pacient nestratil žádnou krev. - Кровяное давление в норме. - et n'a pas perdu de sang. - Nem vesztett vért. - O paciente não perdeu sangue. - Il paziente non ha perso sangue. - - - The patient is on heavy painkillers - Der Patient steht unter starkem Schmerzmitteleinfluss - El paciente está fuertemente sedado. - Pacjent jest pod wpływem działania dużej ilości morfiny - Pacient je na těžkých sedativech - У пациента высокая доза морфина в крови. - Le patient est lourdement sédaté, - Erős fájdalomcsillapítót kapott. - O paciente está sob efeito de fortes analgésicos - Il paziente è sotto effetto di forti antidolorifici - - - The patient is on some morphine - Der Patient steht unter schwachem Schmerzmitteleinfluss - El paciente está levemente sedado con morfina. - Pacjent jest pod wpływem działania morfiny - Pacient má v sobě morfium - Пациенту введен морфин. - Le patient est sédaté, - Kapot morfiumot. - O paciente está sob efeito de morfina - Il paziente è un po' fatto di morfina - - - The patient isn't on painkillers - Der Patient steht nicht unter dem Einfluss von Schmerzmitteln - El paciente no está sedado. - Pacjent nie przyjmował środków przeciwbólowych - Pacient není na sedativech - Обезболивающие не вводились. - Le patient n'est pas sédaté, - Nem kapott fájdalomcsillapítót. - O paciente não está sob efeito de analgésicos - Il paziente non è sotto effetto di antidolorifici - - - and in heavy pain. - und hat starke Schmerzen. - y con dolor severo. - i odczuwa silny ból. - a v těžkých bolestech. - и испытывает сильную боль. - et souffre beaucoup. - és súlyos fájdalmai vannak. - e com fortes dores. - e lamenta molto dolore. - - - and in light pain. - und hat leichte Schmerzen. - y con dolor leve. - i odczuwa lekki ból. - a v lehkých bolestech. - и испытывает легкую боль. - et souffre légèrement. - és enyhe fájdalmai vannak. - e com leves dores. - e lamenta poco dolore. - - - and not in pain. - und hat keine Schmerzen. - y sin dolor. - i nie odczuwa żadnego bólu. - a nemá bolesti. - не испытывает боли. - et ne souffre pas. - és nincsenek fájdalmai. - e sem dores. - e non lamenta dolore. - - - You are not trained to do that. - Dazu bist du nicht ausgebildet. - No estás entrenado para hacer eso. - Nie zostałeś przeszkolony aby to zrobić. - Na to nemáš dostatečné schopnosti. - Вы не умеете это делать. - Tu n'es pas formé pour ça. - Erre nem vagy kiképezve. - Você não está qualificado para fazer isto. - Non sei preparato per farlo. - - - is giving you morphine. - gibt dir Morphium. - está inyectandote morfina. - t'injecte de la morphine. - podaje Tobie morfinę. - morfiumot ad neked. - ti dává morfin. - está lhe dando morfina. - ti sta iniettando la morfina. - даёт вам морфин. - - - Reopen medical menu after treatment - Sanitätsmenü nach Behandlung öffnen - Reabrir el menú médico después de tratar - Orvosi menü újranyitása ellátás után - Po ošetření znovu otevřít zdravotnické menu - Otwórz ponownie menu medyczne po zakończeniu akcji leczenia - Réouvrir le menu médical après les soins - Reabrir menu médico após tratamento - Riapri il menù medico dopo il trattamento - По завершению лечения, снова открыть меню.. - - - You don't have the required item anymore. - Du hast das benötigte Material nicht mehr. - No tienes mas del objeto requerido. - Nie posiadasz już wymaganego przedmiotu - Tu n'as plus le matériel nécessaire. - Už nemáš potřebný předmět. - Non hai più l'oggetto richiesto - Você não possui mais o item médico requerido. - Nem rendelkezel a szükséges eszközzel. - У вас больше нет требующихся предметов. - - - Taking the patient's %1 ... - %1 des Patienten wird benutzt ... - Cogiendo al paciente %1... - Pobrano od pacjenta: %1 ... - Prendre %1 ... du patient - Beru pacientův %1 ... - Sto prendendo un %1 dal paziente ... - Pegando %1 do paciente ... - Elveszed a páciens ... - Используем %1 пациента ... - - - %1 is using your %2 ... - %1 benutzt dein(e) %2 ... - %1 está usando tu %2... - %1 pobrał od Ciebie %2 ... - %1 utilise ton %2 ... - %1 používá tvůj %2 ... - %1 sta usando il tuo %1 ... - %1 está usando seu %2 ... - %1 használja a %2 ... - %1 использует ваш %2 ... - - - Patient has no %1, using yours ... - %1 beim Patienten nicht vorhanden, eigenes Material wird genutzt ... - El paciente no tiene %1, usando el tuyo... - %1 nie znajduje się w ekwipunku pacjenta, używanie własnych zasobów ... - Le patient n'a pas de %1, tu utilises ton matériel ... - Pacient nemá žádný %1, používám vlastní ... - Il paziente non ha nessun %1, userai il tuo ... - O paciente não possui %1, usando o seu ... - A páciensnek nincs %1, a sajátodat használod ... - % 1 отсутствует в инвентаре пациента, используем собственный ... - - - Alternative Pain Effect - Alternativer Schmerzeffekt - Efecto de dolor alternativo - Alternativ fájdalomeffektus - Alternatywny efekt bólu - Alternativní efekt bolesti - Альтернативный эффект боли - - - This is not possible here. - Das ist hier nicht möglich. - Esto no es posible aquí. - Ezt nem lehet itten. - Nie możesz tego zrobić tutaj. - Zde to není možné. - Вы не можете сделать это здесь. - - - \ No newline at end of file diff --git a/TO_MERGE/agm/Optics/agm_optics_pip.p3d b/TO_MERGE/agm/Optics/agm_optics_pip.p3d deleted file mode 100644 index d331ce4acd..0000000000 Binary files a/TO_MERGE/agm/Optics/agm_optics_pip.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Optics/clientInit.sqf b/TO_MERGE/agm/Optics/clientInit.sqf deleted file mode 100644 index 7dca46fdc4..0000000000 --- a/TO_MERGE/agm/Optics/clientInit.sqf +++ /dev/null @@ -1,25 +0,0 @@ -// TMR: Optics initialization and functions -// (C) 2013 Ryan Schultz. See LICENSE. - -// Request a resource layer from the game engine. -AGM_Optics_scopeRSC = ["AGM_Optics_Scope"] call BIS_fnc_rscLayer; - -// Set global variables -AGM_Optics_inScope = false; // Is the scope up? -AGM_Optics_currentOptic = ""; // What optic is attached right now? - -0 = 0 spawn { - waituntil {!isNull (findDisplay 46)}; - - [] call AGM_Optics_fnc_initScope; - - // PiP technique by BadBenson - AGM_Optics_Camera = "camera" camCreate (positioncameratoworld [0,0,0]); - AGM_Optics_Camera camSetFov 0.7; - AGM_Optics_Camera camSetTarget player; - AGM_Optics_Camera camCommit 1; - "agm_optics_rendertarget0" setPiPEffect [2, 1.0, 1.0, 1.0, 0.0, [0.0, 1.0, 0.0, 0.25], [1.0, 0.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]]; - AGM_Optics_Camera cameraEffect ["INTERNAL", "BACK","agm_optics_rendertarget0"]; - - waitUntil {[] call AGM_Optics_fnc_mainLoop; False}; -}; diff --git a/TO_MERGE/agm/Optics/config.cpp b/TO_MERGE/agm/Optics/config.cpp deleted file mode 100644 index 429c57cbe2..0000000000 --- a/TO_MERGE/agm/Optics/config.cpp +++ /dev/null @@ -1,454 +0,0 @@ -class CfgPatches { - class AGM_Optics { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = 0.1; - author[] = {"Taosenai"}; - authorUrl = "http://www.ryanschultz.org/tmr/"; - }; -}; - -class CfgFunctions { - class AGM_Optics { - class AGM_Optics { - file = "AGM_Optics\functions"; - class firedEH; - class hideScope; - class initScope; - class mainLoop; - }; - }; -}; - -class Extended_PostInit_EventHandlers { - class AGM_Optics { - clientInit = "call compile preProcessFileLineNumbers '\AGM_Optics\clientInit.sqf'"; - }; -}; - -class Extended_FiredBIS_EventHandlers { - class CAManBase { - class AGM_Optics { - clientFiredBIS = "_this call AGM_Optics_fnc_firedEH;"; - }; - }; -}; - -class CfgOpticsEffect { - class AGM_OpticsRadBlur1 { - type = "radialblur"; - params[] = {0.015, 0, 0.14, 0.2}; - priority = 950; - }; -}; - - -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class InventoryMuzzleItem_Base_F; - class InventoryOpticsItem_Base_F; - - class optic_Hamr : ItemCore { - displayName = "HAMR 4x"; - descriptionShort = "High Accuracy Multi-Range Optic
Magnification: 4x
Reticle: CM-RW 6.5mm"; - scope = 2; - weaponInfoType = "AGM_RscWeapon"; - - AGM_Optics_enhanced = 1; - AGM_Optics_reticle = "\AGM_Optics\data\hamr\hamr-reticle65_ca.paa"; - AGM_Optics_reticleIllum = "\AGM_Optics\data\hamr\hamr-reticle65Illum_ca.paa"; - AGM_Optics_body = "\AGM_Optics\data\hamr\hamr-body_ca.paa"; - AGM_Optics_bodyNight = "\AGM_Optics\data\hamr\hamr-bodyNight_ca.paa"; - - model = "\A3\weapons_f\acc\acco_hamr_F"; - - class ItemInfo : InventoryOpticsItem_Base_F { - mass = 4; - optics = 1; - optictype = 1; - rmbhint = "HAMR"; - modeloptics = "\AGM_Optics\agm_optics_pip.p3d"; - - class OpticsModes { - class Hamr2Collimator { - AGM_Optics_enhanced = 0; - opticsID = 1; - useModelOptics = 0; - opticsppeffects[] = {}; - opticsFlare = 0; - opticsDisablePeripherialVision = 0; - opticsZoomMin = 0.375; - opticsZoomMax = 1; - opticsZoomInit = 0.75; - memoryPointCamera = "eye"; - visionMode[] = {}; - distanceZoomMin = 300; - distanceZoomMax = 300; - }; - - class Hamr2Scope { - cameradir = ""; - distanceZoomMin = 300; - distanceZoomMax = 300; - memorypointcamera = "opticView"; - opticsdisableperipherialvision = 0; - opticsdisplayname = "IHAMR"; - opticsflare = 1; - opticsid = 2; - opticsppeffects[] = {"OpticsCHAbera2", "OpticsBlur1", "AGM_OpticsRadBlur1"}; - opticszoominit = 0.0872664626; - opticszoommax = 0.0872664626; - opticszoommin = 0.0872664626; - discretefov[] = {0.0872664626}; - discreteinitindex = 0; - usemodeloptics = 1; - modeloptics = "\AGM_Optics\agm_optics_pip.p3d"; - visionmode[] = {"Normal", "NVG"}; - }; - }; - }; - }; - - class optic_Arco : ItemCore { - descriptionshort = "Advanced Rifle Combat Optic
Magnification: 4x
Reticle: SpecterDR 6.5mm"; - displayname = "ARCO 4x"; - picture = "\A3\weapons_F\Data\UI\gear_acco_Arco_CA.paa"; - scope = 2; - weaponInfoType = "AGM_RscWeapon"; - - model = "\A3\weapons_f\acc\acco_Arco_F"; - - AGM_Optics_enhanced = 1; - AGM_Optics_reticle = "\AGM_Optics\data\arco\arco-reticle65_ca.paa"; - AGM_Optics_reticleIllum = "\AGM_Optics\data\arco\arco-reticle65Illum_ca.paa"; - AGM_Optics_body = "\AGM_Optics\data\arco\arco-body_ca.paa"; - AGM_Optics_bodyNight = "\AGM_Optics\data\arco\arco-bodyNight_ca.paa"; - - class ItemInfo: InventoryOpticsItem_Base_F { - mass = 4; - optics = 1; - optictype = 1; - rmbhint = "ARCO"; - - class OpticsModes { - class ARCO2collimator { - AGM_Optics_enhanced = 0; - cameradir = ""; - distancezoommax = 300; - distancezoommin = 300; - memorypointcamera = "eye"; - opticsdisableperipherialvision = 0; - opticsdisplayname = "CQB"; - opticsflare = 0; - opticsid = 1; - opticsppeffects[] = {}; - opticszoominit = 0.75; - opticszoommax = 1.1; - opticszoommin = 0.375; - usemodeloptics = 0; - visionmode[] = {}; - }; - class ARCO2scope: ARCO2collimator { - cameradir = ""; - distanceZoomMin = 300; - distanceZoomMax = 300; - memorypointcamera = "opticView"; - opticsdisableperipherialvision = 0; - opticsdisplayname = "ARCO"; - opticsflare = 1; - opticsid = 2; - opticsppeffects[] = {"OpticsCHAbera2", "OpticsBlur1", "AGM_OpticsRadBlur1"}; - opticszoominit = 0.0872664626; // 0.0872664626 rad = 5 degrees - opticszoommax = 0.0872664626; // SpecterDR 4x is 6 degrees - opticszoommin = 0.0872664626; // Scope graphic in game covers 1 degree - discretefov[] = {0.0872664626}; - discreteinitindex = 0; - usemodeloptics = 1; - modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; - visionmode[] = {"Normal"}; - }; - }; - }; - }; - - class optic_MRCO : ItemCore { - displayName = "MRCO 1x/4x"; - descriptionShort = "Medium Range Combat Optic
Magnification: 1x/4x
Reticle: Pitbull Gen II 5.56mm"; - scope = 2; - weaponInfoType = "AGM_RscWeapon"; - - AGM_Optics_enhanced = 1; - AGM_Optics_reticle = "\AGM_Optics\data\mrco\mrco-reticle556_ca.paa"; - AGM_Optics_reticleIllum = "\AGM_Optics\data\mrco\mrco-reticle556Illum_ca.paa"; - AGM_Optics_body = "\AGM_Optics\data\mrco\mrco-body_ca.paa"; - AGM_Optics_bodyNight = "\AGM_Optics\data\mrco\mrco-bodyNight_ca.paa"; - - class ItemInfo : InventoryOpticsItem_Base_F { - opticType = 1; - mass = 4; - optics = 1; - modelOptics = "\A3\Weapons_f_beta\acc\reticle_MRCO_F"; - - class OpticsModes { - class MRCOcq { - AGM_Optics_enhanced = 0; - opticsID = 1; - useModelOptics = 0; - opticsPPEffects[] = {}; - opticsFlare = 0; - opticsDisablePeripherialVision = 0; - opticsZoomMin = 0.375; - opticsZoomMax = 1; - opticsZoomInit = 0.75; - memoryPointCamera = "eye"; - visionMode[] = {}; - distanceZoomMin = 100; - distanceZoomMax = 100; - }; - - class MRCOscope { - cameradir = ""; - distanceZoomMin = 300; - distanceZoomMax = 300; - memorypointcamera = "eye"; - opticsdisableperipherialvision = 0; - opticsdisplayname = "MRCO"; - opticsflare = 1; - opticsid = 2; - opticsppeffects[] = {"OpticsCHAbera2", "OpticsBlur2", "AGM_OpticsRadBlur1"}; - opticszoominit = 0.0872664626; - opticszoommax = 0.0872664626; - opticszoommin = 0.0872664626; - discretefov[] = {0.0872664626}; - discreteinitindex = 0; - usemodeloptics = 1; - modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; - visionmode[] = {"Normal"}; - }; - }; - }; - }; - - class optic_Nightstalker : ItemCore { - class ItemInfo: InventoryOpticsItem_Base_F { - class OpticsModes { - class NCTALKEP {}; - class Iron : NCTALKEP { - opticsppeffects[] = {}; // Fix Arma 3 bug - }; - }; - }; - }; - - class optic_SOS: ItemCore { - class ItemInfo: InventoryOpticsItem_Base_F { - modelOptics = "\AGM_Optics\agm_optics_pip.p3d"; - class OpticsModes { - class Snip { - visionMode[] = {"Normal","TI","NVG"}; - thermalMode[] = {5,6}; - opticsPPEffects[] = {"OpticsCHAbera1","radblur"}; - modelOptics[] = {"\AGM_Optics\agm_optics_pip.p3d","\AGM_Optics\agm_optics_pip.p3d"}; - }; - }; - - }; - }; - - class optic_DMS : ItemCore { - class ItemInfo: InventoryOpticsItem_Base_F { - class OpticsModes { - class Snip {}; - class Iron : Snip { - opticsppeffects[] = {}; // Fix Arma 3 bug - }; - }; - }; - }; - - class optic_LRPS : ItemCore { - descriptionshort = "Nightforce NXS Riflescope
Magnification: 5.5-22x"; - displayname = "NXS 5.5-22x"; - weaponinfotype = "AGM_RscWeapon"; - - AGM_Optics_enhanced = 1; - AGM_Optics_reticle = "\AGM_Optics\data\sos\sos-reticleMLR_ca.paa"; - AGM_Optics_reticleIllum = "\AGM_Optics\data\sos\sos-reticleMLRIllum_ca.paa"; - AGM_Optics_body = "\AGM_Optics\data\sos\sos-body_ca.paa"; - AGM_Optics_bodyNight = "\AGM_Optics\data\sos\sos-bodyNight_ca.paa"; - - class ItemInfo: InventoryOpticsItem_Base_F { - modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; - weaponinfotype = "RscWeaponRangeZeroingFOV"; - opticType = 2; // Sniper optics - - class OpticsModes { - // Based on Nightforce NXS 5.5-22 scope - class Snip { - cameradir = ""; - discretedistance[] = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300}; - discretedistanceinitindex = 0; - discreteinitindex = 0; - distancezoommax = 2300; - distancezoommin = 100; - memorypointcamera = "opticView"; - modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; - opticsdisableperipherialvision = 1; - opticsdisplayname = "SOS"; - opticsflare = 1; - opticsid = 1; - opticsppeffects[] = {"OpticsCHAbera1", "OpticsBlur1", "AGM_OpticsRadBlur1"}; - // How to determine opticszoom - // First do the basic math based on the listed FOV of the scope to - // get a baseline FOV - // 0.1 meter at 100 meters = 1 mrad - // - // 5.5x FOV -- 5.3 m at 100 m = 53 mrad - // = 0.053 rad = 3.037 deg FOV - - // 22x FOV -- 1.4 m at 100m = 14 mrad - // = 0.014 rad = 0.802 deg - - // The FOV you give the engine is based on a rather larger scope outline, so we - // have to do this extra work ourselves. - - // At 1680x1050 - // The width of a TMR optic viewfield is 864px - // The engine viewport width (which is what the below FOV is based on) is 980 - // (864/980) = (FOV to give engine / true FOV of optic) - // 864/980 * 0.053 = 0.04673 - // 864/980 * 0.014 = 0.01234 - - // Measured experimentally, these values seem quite right. - // Certainly they're close enough after you account for pixel density, etc. - - opticszoominit = 0.01234; - opticszoommax = 0.04673; - opticszoommin = 0.01234; - discretefov[] = {}; - usemodeloptics = 1; - visionmode[] = {"Normal"}; - }; - }; - }; - }; - - class optic_Yorris : ItemCore { - descriptionshort = "Burris FastFire II Red Dot Sight
Magnification: 1x"; - displayname = "FastFire II"; - }; - - class optic_MRD : ItemCore { - descriptionshort = "Eotech MRDS Red Dot Sight
Magnification: 1x"; - displayname = "MRDS"; - }; - - class optic_Holosight : ItemCore { - descriptionshort = "Eotech XPS3 Holographic Sight
Magnification: 1x"; - displayname = "XPS3 Holo"; - }; -}; - -class RscOpticsText; -class RscOpticsValue; -class RscInGameUI { - class RscUnitInfo; - class RscWeaponZeroing; - class AGM_RscWeapon : RscWeaponZeroing { - idd = -1; - controls[] = {"CA_Zeroing", "CA_FOVMode"}; - - onLoad ="with uiNameSpace do { AGM_OpticsIGUI = _this select 0 }"; - - class CA_FOVMode : RscOpticsValue { - idc = 154; - style = 2; - colorText[] = {0, 0, 0, 0}; - x = 0; - y = 0; - w = 0; - h = 0; - }; - }; -}; - -class RscTitles { - class AGM_Optics_Scope { - idd = -1; - onLoad = "with uiNameSpace do { AGM_Optics_Scope = _this select 0 };"; - onUnload = ""; - movingEnable = 1; - duration = 10000; - controls[] = {"Reticle", "ReticleNight", "BodyNight", "Body"}; - - class Reticle { - colorBackground[] = {0,0,0, 0}; - colorText[] = {1,1,1, 1}; - fade = 0; - font = "PuristaMedium"; - h = SafeZoneH; - idc = 1; - lineSpacing = 1.0; - movingEnable = 1; - size = 0; - sizeEx = 1; - style = 48; - text = ""; - type = 0; - w = SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)); - x = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)))/2); - y = SafeZoneY; - }; - - class ReticleNight : Reticle { - idc = 2; - text = ""; - }; - - class Body : Reticle { - idc = 6; - text = ""; - x = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)))); - y = SafeZoneY - (SafeZoneH/2); - w = SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)) * 2; - h = SafeZoneH * 2; - }; - - class BodyNight : Body { - idc = 5; - text = ""; - }; - }; -}; - -class PreloadTextures { - class CfgWeapons { - class optic_hamr { - AGM_Optics_body= "*"; - AGM_Optics_bodyNight = "*"; - AGM_Optics_reticle = "*"; - AGM_Optics_reticleIllum = "*"; - }; - class optic_arco { - AGM_Optics_body= "*"; - AGM_Optics_bodyNight = "*"; - AGM_Optics_reticle = "*"; - AGM_Optics_reticleIllum = "*"; - }; - class optic_mrco { - AGM_Optics_body= "*"; - AGM_Optics_bodyNight = "*"; - AGM_Optics_reticle = "*"; - AGM_Optics_reticleIllum = "*"; - }; - class optic_LRPS { - AGM_Optics_body= "*"; - AGM_Optics_bodyNight = "*"; - AGM_Optics_reticle = "*"; - AGM_Optics_reticleIllum = "*"; - }; - }; -}; diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle100.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle100.p3d deleted file mode 100644 index 365c9d5555..0000000000 Binary files a/TO_MERGE/agm/Optics/data/tmr_optics_reticle100.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle70.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle70.p3d deleted file mode 100644 index cbb0181a17..0000000000 Binary files a/TO_MERGE/agm/Optics/data/tmr_optics_reticle70.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle80.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle80.p3d deleted file mode 100644 index cbb0181a17..0000000000 Binary files a/TO_MERGE/agm/Optics/data/tmr_optics_reticle80.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle90.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle90.p3d deleted file mode 100644 index c2f1ae5ceb..0000000000 Binary files a/TO_MERGE/agm/Optics/data/tmr_optics_reticle90.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Optics/functions/fn_firedEH.sqf b/TO_MERGE/agm/Optics/functions/fn_firedEH.sqf deleted file mode 100644 index 1030fceefd..0000000000 --- a/TO_MERGE/agm/Optics/functions/fn_firedEH.sqf +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Original Author: Taosenai - * Adapted By: KoffeinFlummi - * - * Animates the scope when firing. - * - * Arguments: - * 0: Unit - * 1: Weapon - * 2: Muzzle - * 3: Mode - * 4: Ammo - * 5: Magazine - * 6: Projectile - * - * Return Value: - * None - */ - -if (_this select 0 != AGM_player) exitwith {}; // Sanity check - -0 = _this spawn { - disableSerialization; - - _weaponType = _this select 1; - _config = configFile >> "CfgWeapons" >> _weaponType; - _scope = uiNameSpace getVariable "AGM_Optics_Scope"; - - // @todo - _recoilMulti = getNumber (_config >> "tmr_smallarms_recoil_shakeMultiplier"); // Will be 0 if undefined - - if (_recoilMulti == 0) then { - _recoilMulti = 1; - }; - if (_recoilMulti > 2.6) then { - _recoilMulti = 2.6; // Don't get too high - }; - - // Reduce the reticle movement as the player drops into lower, supported stances. - _detectStance = (player selectionPosition "Neck" select 2); - if (_detectStance < 1.3) then { - _recoilMulti = _recoilMulti - 0.10; - }; - if (_detectStance < 0.7) then { - _recoilMulti = _recoilMulti - 0.20; - }; - - // Reduce reticle movement if the player is rested (tmr_autorest). - if (player getVariable ["tmr_autorest_rested", false]) then { - _recoilMulti = _recoilMulti - 0.20; - }; - - // Reduce reticle movement if the player is deployed (tmr_autorest). - if (player getVariable ["tmr_autorest_deployed", false]) then { - _recoilMulti = _recoilMulti - 0.30; - }; - _recoilMulti = 1; - // @endtodo - - - // Constants which determine how the scope recoils - _recoilScope = 0.03 * _recoilMulti + random 0.0015; - _recoilRing = 0.03 * _recoilMulti + random 0.0015; - - _randomScopeShiftX = 0.005 * _recoilMulti - random 0.011; - - _randomReticleShiftX = 0.0036 * _recoilMulti + random 0.0045; // Always tend up and right; - _randomReticleShiftY = -0.0046 * _recoilMulti - random 0.0055; - - ///////// - // Center everything - - // getResolution select 4 should return the aspect ratio, but it's totally wrong - // for triple head displays. We'll compute it manually. - _aspectRatio = (getResolution select 0) / (getResolution select 1); - - _reticleX = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / _aspectRatio)/2); - _reticleY = SafeZoneY; - _reticleW = SafeZoneWAbs / _aspectRatio; - _reticleH = SafeZoneH; - - // Reticle - (_scope displayCtrl 1) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; - // Reticle night (illum) - (_scope displayCtrl 2) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; - - _bodyX = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / _aspectRatio)); - _bodyY = SafeZoneY - (SafeZoneH/2); - _bodyW = SafeZoneWAbs / _aspectRatio * 2; - _bodyH = SafeZoneH * 2; - - // Body night - (_scope displayCtrl 5) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; - // Body - (_scope displayCtrl 6) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; - - _centerDelay = 0.01; - (_scope displayCtrl 1) ctrlCommit _centerDelay; - (_scope displayCtrl 2) ctrlCommit _centerDelay; - (_scope displayCtrl 5) ctrlCommit _centerDelay; - (_scope displayCtrl 6) ctrlCommit _centerDelay; - - ///////// - // Create and commit recoil effect - - // Move reticle - - (_scope displayCtrl 1) ctrlSetPosition [_reticleX - (_recoilScope/2) + _randomReticleShiftX, _reticleY - (_recoilScope/2) + _randomReticleShiftY, _reticleW + _recoilScope, _reticleH + _recoilScope]; - (_scope displayCtrl 2) ctrlSetPosition [_reticleX - (_recoilScope/2) + _randomReticleShiftX, _reticleY - (_recoilScope/2) + _randomReticleShiftY, _reticleW + _recoilScope, _reticleH + _recoilScope]; - - // Move body - - (_scope displayCtrl 5) ctrlSetPosition [_bodyX - (_recoilScope/2) + _randomScopeShiftX, _bodyY - (_recoilScope/2), _bodyW + _recoilScope, _bodyH + _recoilScope]; - (_scope displayCtrl 6) ctrlSetPosition [_bodyX - (_recoilScope/2) + _randomScopeShiftX, _bodyY - (_recoilScope/2), _bodyW + _recoilScope, _bodyH + _recoilScope]; - - _recoilDelay = 0.036; - _fa = false; - _cwm = currentWeaponMode player; - if (_cwm == "FullAuto" || _cwm == "manual" || _cwm == "Burst") then { - _recoilDelay = getNumber (_config >> _cwm >> "reloadTime")/2.2; - _fa = true; - }; - (_scope displayCtrl 1) ctrlCommit _recoilDelay; - (_scope displayCtrl 2) ctrlCommit _recoilDelay; - (_scope displayCtrl 5) ctrlCommit _recoilDelay; - (_scope displayCtrl 6) ctrlCommit _recoilDelay; - - ////////////// - - waituntil {sleep 0.01; ctrlCommitted (_scope displayCtrl 6)}; - - ////////////// - - ////// - // Bring them all back - (_scope displayCtrl 1) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; - (_scope displayCtrl 2) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; - (_scope displayCtrl 5) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; - (_scope displayCtrl 6) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; - - _recenterDelay = 0.09; - if (_fa) then { - _recenterDelay = getNumber (_config >> _cwm >> "reloadTime")/2.2; - }; - (_scope displayCtrl 1) ctrlCommit _recenterDelay; - (_scope displayCtrl 2) ctrlCommit _recenterDelay; - (_scope displayCtrl 5) ctrlCommit _recenterDelay; - (_scope displayCtrl 6) ctrlCommit _recenterDelay; -}; diff --git a/TO_MERGE/agm/Optics/functions/fn_hideScope.sqf b/TO_MERGE/agm/Optics/functions/fn_hideScope.sqf deleted file mode 100644 index 8b048f1bd7..0000000000 --- a/TO_MERGE/agm/Optics/functions/fn_hideScope.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Original Author: Taosenai - * Adapted By: KoffeinFlummi - * - * Hides the scope. - * - */ - -private ["_scope"]; - -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlSetTextColor [1,1,1,0]; -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlSetTextColor [1,1,1,0]; -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlSetTextColor [1,1,1,0]; -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlSetTextColor [1,1,1,0]; - -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlCommit 0; -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlCommit 0; -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlCommit 0; -((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlCommit 0; diff --git a/TO_MERGE/agm/Optics/functions/fn_initScope.sqf b/TO_MERGE/agm/Optics/functions/fn_initScope.sqf deleted file mode 100644 index f2e078ebbe..0000000000 --- a/TO_MERGE/agm/Optics/functions/fn_initScope.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Original Author: Taosenai - * Adapted By: KoffeinFlummi - * - * Initializes the scope resources. - * - */ - -private ["_display"]; - -// Make sure we only cutRsc when the resource isn't already available -if (isNil {uiNameSpace getVariable "AGM_Optics_Scope"} or {isNull (uiNameSpace getVariable "AGM_Optics_Scope")}) exitWith { - AGM_Optics_scopeRSC cutRsc ["AGM_Optics_Scope","PLAIN",0]; - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlSetTextColor [1,1,1,0]; - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlSetTextColor [1,1,1,0]; - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlSetTextColor [1,1,1,0]; - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlSetTextColor [1,1,1,0]; - - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlCommit 0; - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlCommit 0; - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlCommit 0; - ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlCommit 0; - True -}; -False diff --git a/TO_MERGE/agm/Optics/functions/fn_mainLoop.sqf b/TO_MERGE/agm/Optics/functions/fn_mainLoop.sqf deleted file mode 100644 index e73b56db37..0000000000 --- a/TO_MERGE/agm/Optics/functions/fn_mainLoop.sqf +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Original Author: Taosenai - * Adapted By: KoffeinFlummi - * - * Monitors the RscInGameUI and displays the overlays when needed. - * - * Arguments: - * None - * - * Return Value: - * None - */ - -if !(cameraOn == AGM_player && {alive AGM_player} && {!visibleMap} && {ctrlShown ((uinamespace getVariable "AGM_OpticsIGUI") displayCtrl 154)}) exitWith { - // Failed the state check, hide the scope if it's up - if (AGM_Optics_inScope) then { - // Hide the scope - AGM_Optics_inScope = false; - AGM_Optics_inScope_FOV = ([] call cba_fnc_getFOV) select 0; - - [] call AGM_Optics_fnc_hideScope; - }; -}; - -AGM_Optics_Camera setposATL (positioncameratoworld [0,0,0.4]); -AGM_Optics_Camera camPrepareTarget (positioncameratoworld [0,0,50]); -AGM_Optics_Camera camCommitPrepared 0; - -if (cameraView == "Gunner") then { - AGM_Optics_Camera camsetFOV 0.7; - AGM_Optics_Camera camcommit 0; -} else { - AGM_Optics_Camera camsetFOV 0.01; - AGM_Optics_Camera camcommit 0; -}; - -private ["_optic", "_scope"]; - -disableSerialization; - -// Get the name of the attached optic -_optic = (primaryWeaponItems AGM_player) select 2; -_scope = uiNameSpace getVariable "AGM_Optics_Scope"; - -// Init the scope (if needed) -[] call AGM_Optics_fnc_initScope; - -// Check if the optic has changed since we last drew it -_doUpdateAllLayers = false; -if (AGM_Optics_currentOptic != _optic) then { - AGM_Optics_currentOptic = _optic; - _doUpdateAllLayers = true; -}; - -// Check if Splendid Camera, unit switch, etc. has blanked out our displays for no good reason (grrr) -if (ctrlText (_scope displayCtrl 1) == "") then { - _doUpdateAllLayers = true; -}; - -// Draw the correct layers (don't show them) -if (_doUpdateAllLayers) then { - (_scope displayCtrl 1) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_reticle"); - (_scope displayCtrl 2) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_reticleIllum"); - (_scope displayCtrl 5) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_bodyNight"); - (_scope displayCtrl 6) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_body"); -}; - -// Stop processing if already in the scope view and FOV hasn't changed -if (AGM_Optics_inScope) exitwith {}; - -// Mark that we're in enhanced scope view -AGM_Optics_inScope = true; - -// Calculate lighting -_lighting = sunOrMoon; // 1 is day, 0 is night - -_nightOpacity = 1; -_dayOpacity = (0 max moonIntensity * (1 - (0 max overcast)))/5; - -if (_lighting == 1) then { - _nightOpacity = 0; - _dayOpacity = 1; -}; - -// Apply lighting and make layers visible -(_scope displayCtrl 1) ctrlSetTextColor [1,1,1,1]; -(_scope displayCtrl 2) ctrlSetTextColor [1,1,1,_nightOpacity]; -(_scope displayCtrl 5) ctrlSetTextColor [1,1,1,_nightOpacity]; -(_scope displayCtrl 6) ctrlSetTextColor [1,1,1,_dayOpacity]; - -(_scope displayCtrl 1) ctrlCommit 0; -(_scope displayCtrl 2) ctrlCommit 0; -(_scope displayCtrl 5) ctrlCommit 0; -(_scope displayCtrl 6) ctrlCommit 0; diff --git a/TO_MERGE/agm/Parachute/Gurtgeschirr.p3d b/TO_MERGE/agm/Parachute/Gurtgeschirr.p3d deleted file mode 100644 index 91456b87a8..0000000000 Binary files a/TO_MERGE/agm/Parachute/Gurtgeschirr.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Parachute/T10Schirm.p3d b/TO_MERGE/agm/Parachute/T10Schirm.p3d deleted file mode 100644 index 18ab0548f6..0000000000 Binary files a/TO_MERGE/agm/Parachute/T10Schirm.p3d and /dev/null differ diff --git a/TO_MERGE/agm/TopDownAttack/Optics.hpp b/TO_MERGE/agm/TopDownAttack/Optics.hpp deleted file mode 100644 index e44578bffd..0000000000 --- a/TO_MERGE/agm/TopDownAttack/Optics.hpp +++ /dev/null @@ -1,51 +0,0 @@ - -class RscControlsGroup; -class RscPicture; -class RscMapControl; - -class RscInGameUI { - class RscOptics_titan { - onLoad = "uiNamespace setVariable ['AGM_dlgJavelinOptics', _this select 0]; missionNamespace setVariable ['AGM_Disposable_modeJavelin', 0];"; - - class CA_javelin_elements_group: RscControlsGroup { - class Controls { - class CA_Javelin_Day_mode_off: RscPicture {}; - class CA_Javelin_SEEK_off: CA_Javelin_Day_mode_off { - idc = 1005; - }; - class GetLockedTarget: RscMapControl { - onDraw = "call AGM_TopDownAttack_fnc_getLockedTarget"; - idc = -1; - w = 0; - h = 0; - }; - }; - }; - }; -}; - -//_dlg = uiNamespace getVariable ["AGM_dlgJavelinOptics", displayNull]; _ctrl = _dlg displayCtrl 1006; _ctrl ctrlSetTextColor [0.2941,0.8745,0.2157,1.0] - -// on colorText[] = {0.2941, 0.8745, 0.2157, 1.0}; -// off colorText[] = {0.2941, 0.2941, 0.2941, 1.0}; -// orange colorText[] = {0.9255, 0.5216, 0.1216, 1.0}; - -/* -CA_javelin_elements_group: 170 -CA_Javelin_Day_mode_off: 1001 -CA_Javelin_Day_mode: 160 -CA_Javelin_WFOV_mode_off: 1004 -CA_Javelin_WFOV_mode_group: 163 -CA_Javelin_NFOV_mode_off: 1003 -CA_Javelin_NFOV_mode_group: 162 -CA_Javelin_SEEK_off: 1005 //1001 -CA_Javelin_SEEK: 166 -CA_Javelin_Missle_off: 1032 -CA_Javelin_Missle: 167 -CA_Javelin_CLU_off: 1027 -CA_Javelin_HangFire_off: 1028 -CA_Javelin_TOP_off: 1006 -CA_Javelin_DIR: 1007 -CA_Javelin_FLTR_mode_off: 1002 -CA_Javelin_FLTR_mode: 161 -*/ diff --git a/TO_MERGE/agm/TopDownAttack/config.cpp b/TO_MERGE/agm/TopDownAttack/config.cpp deleted file mode 100644 index 0fb6f920a2..0000000000 --- a/TO_MERGE/agm/TopDownAttack/config.cpp +++ /dev/null @@ -1,72 +0,0 @@ - -class CfgPatches { - class AGM_TopDownAttack { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2"}; - authorUrl = "https://github.com/commy2/"; - }; -}; - -class CfgFunctions { - class AGM_TopDownAttack { - class AGM_TopDownAttack { - file = "\AGM_TopDownAttack\functions"; - class canToggleTopDownAttack; - class getLockedTarget; - class toggleTopDownAttack; - class topDownAttack; - }; - }; -}; - -class Extended_FiredBIS_EventHandlers { - class CAManBase { - class AGM_TopDownAttack_FireMissile { - FiredBIS = "if (local (_this select 0)) then {_this call AGM_TopDownAttack_fnc_topDownAttack};"; - }; - }; -}; - -class AGM_Core_Default_Keys { - class toggleTopDownAttack { - displayName = "$STR_AGM_ToggleTopDownAttack"; - condition = "[_player] call AGM_TopDownAttack_fnc_canToggleTopDownAttack"; - statement = "[_player] call AGM_TopDownAttack_fnc_toggleTopDownAttack"; - key = 25; - shift = 0; - control = 0; - alt = 0; - }; -}; - -class CfgSounds { - class AGM_Sound_Locked1 { - sound[] = {"\A3\Sounds_F\weapons\Rockets\locked_3", 0.316228, 2.5, 200}; - titles[] = {}; - }; - class AGM_Sound_Locked2 { - sound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1", 0.316228, 1, 200}; - titles[] = {}; - }; -}; - -#include - -class CfgWeapons { - class Launcher_Base_F; - - class launch_Titan_base: Launcher_Base_F { - AGM_enableTopDownAttack = 0; - AGM_lockTargetMode = 0; - }; - class launch_Titan_short_base: launch_Titan_base { - AGM_enableTopDownAttack = 1; - AGM_lockTargetMode = 1; - }; -}; diff --git a/TO_MERGE/agm/TopDownAttack/functions/fn_canToggleTopDownAttack.sqf b/TO_MERGE/agm/TopDownAttack/functions/fn_canToggleTopDownAttack.sqf deleted file mode 100644 index 97eb1ddd00..0000000000 --- a/TO_MERGE/agm/TopDownAttack/functions/fn_canToggleTopDownAttack.sqf +++ /dev/null @@ -1,11 +0,0 @@ -// by commy2 - -private ["_player", "_ctrlJavelinMode"]; - -_player = _this select 0; - -disableSerialization; -_ctrlJavelinMode = (uiNamespace getVariable ["AGM_dlgJavelinOptics", displayNull]) displayCtrl 1006; - -getNumber (configFile >> "CfgWeapons" >> currentWeapon _player >> "AGM_enableTopDownAttack") == 1 -&& {ctrlShown _ctrlJavelinMode} diff --git a/TO_MERGE/agm/TopDownAttack/functions/fn_getLockedTarget.sqf b/TO_MERGE/agm/TopDownAttack/functions/fn_getLockedTarget.sqf deleted file mode 100644 index c7a924a62c..0000000000 --- a/TO_MERGE/agm/TopDownAttack/functions/fn_getLockedTarget.sqf +++ /dev/null @@ -1,11 +0,0 @@ -// by commy2 - -// cursorTarget doesn't work for lockable weapons in fired event handlers -if (!isNull cursorTarget) then { - AGM_TopDownAttack_LockedTarget = cursorTarget; - AGM_TopDownAttack_LockedTargetTime = time; -} else { - if (time - (missionNamespace getVariable ["AGM_TopDownAttack_LockedTargetTime", -1]) > 1) then { - AGM_TopDownAttack_LockedTarget = objNull; - }; -}; diff --git a/TO_MERGE/agm/TopDownAttack/functions/fn_toggleTopDownAttack.sqf b/TO_MERGE/agm/TopDownAttack/functions/fn_toggleTopDownAttack.sqf deleted file mode 100644 index cced4dd24b..0000000000 --- a/TO_MERGE/agm/TopDownAttack/functions/fn_toggleTopDownAttack.sqf +++ /dev/null @@ -1,23 +0,0 @@ -// by commy2 - -#define COLOR_ON [0.2941, 0.8745, 0.2157, 1.0] -#define COLOR_OFF [0.2941, 0.2941, 0.2941, 1.0] - -private ["_state", "_dlgJavelinOptics", "_ctrlJavelinModeTop", "_ctrlJavelinModeDir"]; - -_state = missionNamespace getVariable ["AGM_TopDownAttack_modeJavelin", 0]; - -_state = [1, 0] select _state; - -AGM_TopDownAttack_modeJavelin = _state; - -playSound "AGM_Sound_Click"; - -disableSerialization; -_dlgJavelinOptics = uiNamespace getVariable ["AGM_dlgJavelinOptics", displayNull]; - -_ctrlJavelinModeTop = _dlgJavelinOptics displayCtrl 1006; -_ctrlJavelinModeDir = _dlgJavelinOptics displayCtrl 1007; - -_ctrlJavelinModeTop ctrlSetTextColor ([COLOR_OFF, COLOR_ON] select _state); -_ctrlJavelinModeDir ctrlSetTextColor ([COLOR_ON, COLOR_OFF] select _state); diff --git a/TO_MERGE/agm/TopDownAttack/functions/fn_topDownAttack.sqf b/TO_MERGE/agm/TopDownAttack/functions/fn_topDownAttack.sqf deleted file mode 100644 index f96330f125..0000000000 --- a/TO_MERGE/agm/TopDownAttack/functions/fn_topDownAttack.sqf +++ /dev/null @@ -1,170 +0,0 @@ -// by commy2 - -if (getNumber (configFile >> "CfgWeapons" >> _this select 1 >> "AGM_enableTopDownAttack") != 1) exitWith {}; - -_this spawn { - _projectile = _this select 6; - - if (missionNamespace getVariable ["AGM_TopDownAttack_modeJavelin", 0] == 0) exitWith {}; - _flyInHeight = 100; - - // cursorTarget doesn't work for lockable weapons in fired event handlers - _target = missionNamespace getVariable ["AGM_TopDownAttack_LockedTarget", objNull]; - AGM_TopDownAttack_LockedTarget = objNull; - - // save values of the auto-guided missile - _type = typeOf _projectile; - _position = position _projectile; - _vector = [vectorDir _projectile, vectorUp _projectile]; - _velocity = velocity _projectile; - - deleteVehicle _projectile; - - // create new non-guided missile - _projectile = createVehicle [_type, _position, [], 0, "FLY"]; - _projectile setVectorDirAndUp _vector; - _projectile setVelocity _velocity; - - // common functions - _heightStart = getPosASL _projectile select 2; - _fnc_getHeight = {(getPosASL _this select 2) - _heightStart}; - - _fnc_getPitch = {asin (vectorDir _this select 2)}; - - _fnc_getHorizontalDistance = { - private "_v"; - - _v = getPosASL (_this select 0) vectorDiff getPosASL (_this select 1); - - sqrt ((_v select 0) ^ 2 + (_v select 1) ^ 2) - }; - - _fnc_getDirTo = { - private "_v"; - - _v = getPosASL (_this select 0) vectorFromTo getPosASL (_this select 1); - - (_v select 0) atan2 (_v select 1) - }; - - _getPitchTo = { - private ["_p", "_v"]; - - _p = getPosASL (_this select 1); - _p set [2, (_p select 2) + 1]; - - _v = getPosASL (_this select 0) vectorFromTo _p; - - asin (_v select 2) - }; - - _fnc_changeMissileDirection = { - private ["_projectile", "_v", "_l", "_r"]; - - _projectile = _this select 0; - _v = _this select 1; - - _l = sqrt ((_v select 0) ^ 2 + (_v select 1) ^ 2); - _r = -(_v select 2) / _l; - - _projectile setVectorDirAndUp [ - _v, - [ - (_v select 0) * _r, - (_v select 1) * _r, - _l - ] - ]; - _projectile setVelocity _v vectorMultiply vectorMagnitude velocity _projectile; - }; - - // init phase - sleep 0.5; - - // top down attack - if (!isNil "_flyInHeight") then { - // premature explosion - if (!alive _projectile) exitWith {}; - - // get in travel height phase, abrupt direction change - _vector = vectorDir _projectile; - _vector set [2, 2]; - _vector = vectorNormalized _vector; - - [_projectile, _vector] call _fnc_changeMissileDirection; - - // missile reached travel height, change direction again - waitUntil {!alive _projectile || {_projectile call _fnc_getHeight > _flyInHeight}}; - - // premature explosion2 - if (!alive _projectile) exitWith {}; - - // stay in travel height phase, another abrupt direction change - _vector = vectorDir _projectile; - _vector set [2, 0]; - _vector = vectorNormalized _vector; - - [_projectile, _vector] call _fnc_changeMissileDirection; - - // no target, self destruct - if (isNull _target) exitWith { - sleep 2; - deleteVehicle _projectile; - }; - - // loop to stay in travel height and correct altitude - _time = time; - while { - alive _projectile - && {!isNull _target} - && {[_projectile, _target] call _fnc_getHorizontalDistance > 100} - } do { - _height = _projectile call _fnc_getHeight; - _pitch = _projectile call _fnc_getPitch; - - _dir = ([_projectile, _target] call _fnc_getDirTo) - direction _projectile; - _up = if (abs (_flyInHeight - _height) < 1) then { - -_pitch min 10 max -10 - } else { - ([-20, 20] select (_height < _flyInHeight)) * (time - _time) - }; - - [_projectile, _dir, _up] call AGM_Core_fnc_changeProjectileDirection; - - _time = time; - sleep 0.05; - }; - }; - - // missile missed target or hit a bird or something - if (!alive _projectile) exitWith {}; - - // allah ackbar, motherfucker - while { - alive _projectile - && {!isNull _target} - } do { - - // flare near target. Target flare instead if the target isn't a flare already - // @todo some config values - if !(_target isKindOf "CMflareAmmo") then { - _flares = position _target nearObjects ["CMflareAmmo", 10]; - - _count = count _flares; - if (_count > 0) then { - _target = _flares select floor random _count; - }; - }; - - _height = _projectile call _fnc_getHeight; - _pitch = _projectile call _fnc_getPitch; - - _dir = ([_projectile, _target] call _fnc_getDirTo) - direction _projectile; - _up = ([_projectile, _target] call _getPitchTo) - (_projectile call _fnc_getPitch); - - [_projectile, _dir, _up] call AGM_Core_fnc_changeProjectileDirection; - - _time = time; - sleep 0.05; - }; -}; diff --git a/TO_MERGE/agm/TopDownAttack/stringtable.xml b/TO_MERGE/agm/TopDownAttack/stringtable.xml deleted file mode 100644 index bdede11d8f..0000000000 --- a/TO_MERGE/agm/TopDownAttack/stringtable.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - Toggle Top Down Attack - Angriffsmodus umschalten - Cambiar a ataque vertical - Fentröl-támadás kapcsolása - Przełącznik trybu ataku - Переключить режим атаки - Raketomet - Sepnout vertikální útok - - - \ No newline at end of file diff --git a/TO_MERGE/agm/Wind/clientInit.sqf b/TO_MERGE/agm/Wind/clientInit.sqf deleted file mode 100644 index af21636287..0000000000 --- a/TO_MERGE/agm/Wind/clientInit.sqf +++ /dev/null @@ -1,89 +0,0 @@ -// by CAA-Picard - -if !(hasInterface) exitWith {}; - -// Kestrel Stuff -AGM_isKestrel = false; -AGM_isKestrelWheel = false; - -0 spawn { - waitUntil {preloadTitleRsc ["AGM_Kestrel", "PLAIN"]}; - waitUntil {preloadTitleRsc ["AGM_KestrelWheel", "PLAIN"]}; - waitUntil {preloadTitleRsc ["AGM_KestrelWheel_Preload", "PLAIN"]}; -}; - -// Air temperature and air density -if (isNumber (configFile >> "CfgWorlds" >> worldName >> "AGM_TempMeanJan")) then { - AGM_TempMeanJan = getNumber (configFile >> "CfgWorlds" >> worldName >> "AGM_TempMeanJan"); - AGM_TempMeanJul = getNumber (configFile >> "CfgWorlds" >> worldName >> "AGM_TempMeanJul"); - AGM_TempAmplitudeJan = getNumber (configFile >> "CfgWorlds" >> worldName >> "AGM_TempAmplitudeJan"); - AGM_TempAmplitudeJul = getNumber (configFile >> "CfgWorlds" >> worldName >> "AGM_TempAmplitudeJul"); -} else { - _lat = - getNumber (configFile >> "CfgWorlds" >> worldName >> "latitude"); - if (_lat == 0) then {_lat = 0.1;}; - _yearlyTempMean = 28 min (28 - (abs(_lat) - 23.5) * (3.14159/180) * 6371 / 145); - AGM_TempMeanJan = _yearlyTempMean - _lat / abs(_lat) * ((abs(_lat) max 25) - 25) * 30 / 65; - AGM_TempMeanJul = _yearlyTempMean + _lat / abs(_lat) * ((abs(_lat) max 25) - 25) * 30 / 65; - AGM_TempAmplitudeJan = 10; - AGM_TempAmplitudeJul = 10; -}; - -0 spawn { - while {true} do { - _annualCoef = 0.5 - 0.5 * cos(360 * dateToNumber date); - _dailyTempMean = AGM_TempMeanJan * (1 - _annualCoef) + AGM_TempMeanJul * _annualCoef; - _dailyTempAmplitude = AGM_TempAmplitudeJan * (1 - _annualCoef) + AGM_TempAmplitudeJul * _annualCoef; - - _hourlyCoef = -0.5 * sin(360 * ((3 + (date select 3))/24 + (date select 4)/1440)); - AGM_Wind_currentTemperature = _dailyTempMean + _hourlyCoef * _dailyTempAmplitude - 2 * humidity - 4 * overcast; - AGM_Wind_currentRelativeDensity = (273.15 + 20) / (273.15 + AGM_Wind_currentTemperature); - sleep 60; - }; -}; - -// Wind & Temperature Readings -0 spawn { - while {true} do { - waitUntil {(inputAction "Compass" > 0 or inputAction "CompassToggle" > 0) and (vehicle player == player)}; - - _windStrength = sqrt((wind select 0) ^ 2 + (wind select 1) ^ 2); - - _arrowRscString = ""; - switch true do { - case (_windStrength <= 0.5) : {}; - case (_windStrength <= 3) : {_arrowRscString = "VeryLight";}; - case (_windStrength <= 5) : {_arrowRscString = "Light";}; - case (_windStrength <= 7) : {_arrowRscString = "Moderate";}; - default {_arrowRscString = "Strong";}; - }; - - _approxTemp = (round (AGM_Wind_currentTemperature / 5)) * 5; // in steps of 5 - hintSilent format ["%1: %2 °C", localize "STR_AGM_Wind_ApproximateTemp", _approxTemp]; - - // Draw arrow indicator - 186186 cutRsc ["AGM_Wind_Arrow", "PLAIN"]; - - // Calculate relative direction between player - #define numSectors 16 - _relAngle = windDir - (getdir (player)); - _sector = round(_relAngle / (360/numSectors)) + 1; - if (_sector < 1) then { - _sector = _sector + numSectors; - }; - if (_sector > numSectors) then { - _sector = _sector - numSectors; - }; - - // Update arrow indicator texture - _textureName = if (_arrowRscString == "") then { - "\AGM_Wind\ui\AGM_noWind.paa" - } else { - format["\AGM_Wind\ui\AGM_Wind%1-%2.paa", _arrowRscString, if (_sector < 10) then {"0"+str(_sector)} else {str(_sector)}] - }; - ((uiNamespace getVariable "AGM_Wind_Arrow") displayCtrl 185185) ctrlSetText _textureName; - - sleep 0.1; - //186186 cutText ["", "PLAIN"]; - hint ""; - }; -}; diff --git a/TO_MERGE/agm/Wind/config.cpp b/TO_MERGE/agm/Wind/config.cpp deleted file mode 100644 index 5ec1605d99..0000000000 --- a/TO_MERGE/agm/Wind/config.cpp +++ /dev/null @@ -1,369 +0,0 @@ -class CfgPatches { - class AGM_Wind { - units[] = {"AGM_Item_ItemKestrel"}; - weapons[] = {"AGM_ItemKestrel"}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"Falke", "commy2", "KoffeinFlummi", "CAA-Picard"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - }; -}; - -class CfgFunctions { - class AGM_Wind { - class AGM_Wind { - file = "AGM_Wind\functions"; - class firedEH; - class init; - class openKestrel; - }; - }; -}; - -class Extended_PostInit_EventHandlers { - class AGM_Wind { - serverInit = "if (isServer && {call AGM_Core_fnc_isAutoWind}) then {setWind [wind select 0, wind select 1, true]};"; - clientInit = "call compile preprocessFileLineNumbers '\AGM_Wind\clientInit.sqf'"; - }; -}; - -class Extended_InitPost_EventHandlers { - class CAManBase { - class AGM_Wind { - init = "_this call AGM_Wind_fnc_init"; - }; - }; -}; - -class Extended_Fired_EventHandlers { - class CAManBase { - class AGM_Wind { - clientFired = "_this call AGM_Wind_fnc_firedEH"; - }; - }; -}; - -class CfgWeapons { - class AGM_ItemCore; - class InventoryItem_Base_F; - - class AGM_ItemKestrel: AGM_ItemCore { - author = "Falke"; - scope = 2; - displayName = "$STR_AGM_Kestrel_Name"; - descriptionShort = "$STR_AGM_Kestrel_Description"; - model = "\AGM_Wind\kestrel4500.p3d"; - picture = "\AGM_Wind\data\4500NV.paa"; - icon = "iconObject_circle"; - mapSize = 0.034; - class ItemInfo: InventoryItem_Base_F { - mass = 2; - }; - }; -}; - -class CfgVehicles { - class Man; - class CAManBase: Man { - class AGM_SelfActions { - class AGM_OpenKestrel { - displayName = "$STR_AGM_Wind_OpenKestrel"; - condition = "'AGM_ItemKestrel' in items player && {!underwater player} && {cameraView != 'Gunner'} && {!AGM_isKestrel}"; - statement = "call AGM_Wind_fnc_openKestrel"; - showDisabled = 0; - priority = 2; - icon = "AGM_Wind\data\4500NV1.paa"; - hotkey = "K"; - }; - class AGM_CloseKestrel { - displayName = "$STR_AGM_Wind_CloseKestrel"; - condition = "AGM_isKestrel"; - statement = "AGM_isKestrel = false"; - showDisabled = 0; - priority = 2; - icon = "AGM_Wind\data\4500NV1.paa"; - hotkey = "K"; - }; - }; - }; - - class Item_Base_F; - class AGM_Item_ItemKestrel: Item_Base_F { - author = "Falke"; - scope = 2; - scopeCurator = 2; - displayName = "$STR_AGM_Kestrel_Name"; - vehicleClass = "Items"; - class TransportItems { - class AGM_ItemKestrel { - name = "AGM_ItemKestrel"; - count = 1; - }; - }; - }; - - class Box_NATO_Support_F; - class AGM_Box_Misc: Box_NATO_Support_F { - class TransportItems { - class _xx_AGM_ItemKestrel { - name = "AGM_ItemKestrel"; - count = 6; - }; - }; - }; -}; - - -class CfgAmmo { - class Default; - class BulletCore; - class B_127x108_Ball; - class B_127x99_Ball; - class BulletBase : BulletCore { - AGM_Bullet_Dispersion = 0; - }; - class B_127x108_APDS : B_127x108_Ball { - AGM_Bullet_Dispersion = 0.017; - }; - class B_127x99_SLAP : B_127x99_Ball { - AGM_Bullet_Dispersion = 0.017; - }; -}; - -class RscText; -class AGM_Rsc_Control_Base; -class AGM_Rsc_Display_Base; -class RscTitles { - titles[] = {AGM_Kestrel, AGM_KestrelWheel}; - - class AGM_Wind_Arrow { - idd = -1; - movingEnable=0; - duration=0.5; - fadeIn=0; - fadeOut=0.25; - onLoad = "with uiNameSpace do { AGM_Wind_Arrow = _this select 0 };"; - controls[] = {"AGM_Wind_Arrow_BG","AGM_Wind_Arrow_FW"}; - class AGM_Wind_Arrow_BG: RscText { - idc = -1; - type = 0; - style = 128; - colorBackground[] = {0,0,0,0}; - colorText[] = {0,0,0,0}; - text = ""; - sizeEx = 0.027; - x = "SafeZoneX + 0.001"; - y = "SafeZoneY + 0.05"; - w = 0.25; - h = 0.25; - size = 0.034; - }; - class AGM_Wind_Arrow_FW: AGM_Wind_Arrow_BG { - idc = 185185; - style = 48; - colorText[] = {1,1,1,1}; - sizeEx = 0.03; - text = ""; - }; - }; - - class AGM_Kestrel { - idd = -1; - movingEnable = 0; - enableSimulation = 1; - enableDisplay = 1; - onLoad = "_this spawn compile preprocessFileLineNumbers '\AGM_Wind\scripts\KestrelonLoad.sqf'"; - duration = 1e+011; - fadein = 0; - fadeout = 0; - name = "AGM_Kestrel"; - class RscPicture; - class RscText; - class controls { - class AGM_KestrelHUDpic: RscPicture { - idc = 42001; - type = 0; - text = "AGM_Wind\data\4500NV1.paa"; - style = 48 + 0x800; - x = safeZoneX -0.25; - y = safeZoneY + safeZoneH - 0.8; - h = 0.75; - w = 0.75; - scale = 1; - font = "PuristaMedium"; - sizeEx = 1; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {1, 1, 1, 1}; - shadow = 0; - }; - class AGM_KestrelHUDpic_Night: RscPicture { - idc = 42006; - type = 0; - text = "AGM_Wind\data\4500NV2.paa"; - style = 48 + 0x800; - x = safeZoneX -0.25; - y = safeZoneY + safeZoneH - 0.8; - h = 0.75; - w = 0.75; - scale = 1; - font = "PuristaMedium"; - sizeEx = 1; - colorText[] = {0,0,0,1-(sunOrMoon*sunOrMoon+(moonIntensity/5))}; - colorBackground[] = {1, 1, 1, 1}; - shadow = 0; - }; - class AGM_KestrelHUD1: RscText { - idc = 42002; - type = 0; - style = 1; - x = safeZoneX +0.08; - y = safeZoneY + safeZoneH -0.51; - h = 0.09; - w = 0.108; - sizeEx = 0.04; - lineSpacing = 1; - font = "PuristaMedium"; - text = " 0000"; - colorText[] = {0.0745,0.2196,0.1216, 0.7}; - colorBackground[] = {0, 0, 0, 0}; - shadow = 0; - }; - class AGM_KestrelHUD2: RscText { - idc = 42003; - type = 0; - style = 1; - x = safeZoneX +0.08; - y = safeZoneY + safeZoneH -0.48; - h = 0.09; - w = 0.108; - sizeEx = 0.04; - lineSpacing = 1; - font = "PuristaMedium"; - text = " 0000"; - colorText[] = {0.0745,0.2196,0.1216, 0.7}; - colorBackground[] = {0, 0, 0, 0}; - shadow = 0; - }; - class AGM_KestrelHUD3: RscText { - idc = 42004; - type = 0; - style = 1; - x = safeZoneX +0.08; - y = safeZoneY + safeZoneH -0.45; - h = 0.09; - w = 0.108; - sizeEx = 0.04; - lineSpacing = 1; - font = "PuristaMedium"; - text = " 0000"; - colorText[] = {0.0745,0.2196,0.1216, 0.7}; - colorBackground[] = {0, 0, 0, 0}; - shadow = 0; - }; - class AGM_KestrelHUD4: RscText { - idc = 42005; - type = 0; - style = 1; - //x = safeZoneX +0.068; - x = safeZoneX + 0.08; - y = safeZoneY + safeZoneH - 0.418; - h = 0.09; - w = 0.108; - //w = 0.138; - sizeEx = 0.04; - lineSpacing = 1; - font = "PuristaMedium"; - text = " 0000"; - colorText[] = {0.0745,0.2196,0.1216, 0.7}; - colorBackground[] = {0, 0, 0, 0}; - shadow = 0; - }; - }; - }; - class AGM_KestrelWheel { - idd = -1; - movingEnable = 0; - enableSimulation = 1; - enableDisplay = 1; - onLoad = "_this spawn compile preprocessFileLineNumbers '\AGM_Wind\scripts\KestrelonLoadRad.sqf'"; - duration = 1e+011; - fadein = 0; - fadeout = 0; - name = "AGM_KestrelWheel"; - class RscPicture; - class controls { - class AGM_KestrelHUDrad: RscPicture { - idc = 42010; - type = 0; - text = "AGM_Wind\data\kestrel_0.paa"; - style = 48 + 0x800; - x = safeZoneX + 0.07; - y = safeZoneY + safeZoneH - 0.76; - h = 0.15; - w = 0.15; - scale = 1; - font = "PuristaMedium"; - sizeEx = 1; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {1, 1, 1, 1}; - shadow = 0; - }; - }; - }; - - class AGM_KestrelWheel_Preload: AGM_Rsc_Display_Base { - class controlsBackground { - class Preload_0: AGM_Rsc_Control_Base { - text = "\AGM_Wind\data\kestrel_0.paa"; - }; - class Preload_1: Preload_0 { - text = "\AGM_Wind\data\kestrel_1.paa"; - }; - class Preload_2: Preload_0 { - text = "\AGM_Wind\data\kestrel_2.paa"; - }; - class Preload_3: Preload_0 { - text = "\AGM_Wind\data\kestrel_3.paa"; - }; - class Preload_4: Preload_0 { - text = "\AGM_Wind\data\kestrel_4.paa"; - }; - class Preload_5: Preload_0 { - text = "\AGM_Wind\data\kestrel_5.paa"; - }; - class Preload_6: Preload_0 { - text = "\AGM_Wind\data\kestrel_6.paa"; - }; - class Preload_7: Preload_0 { - text = "\AGM_Wind\data\kestrel_7.paa"; - }; - class Preload_8: Preload_0 { - text = "\AGM_Wind\data\kestrel_8.paa"; - }; - class Preload_9: Preload_0 { - text = "\AGM_Wind\data\kestrel_9.paa"; - }; - }; - }; -}; - -class CfgWorlds { - class CAWorld; - - class Stratis: CAWorld { - AGM_TempMeanJan = 7.4; - AGM_TempMeanJul = 25.9; - AGM_TempAmplitudeJan = 6.4; - AGM_TempAmplitudeJul = 9.2; - }; - - class Altis: CAWorld { - AGM_TempMeanJan = 7.4; - AGM_TempMeanJul = 25.9; - AGM_TempAmplitudeJan = 6.4; - AGM_TempAmplitudeJul = 9.2; - }; -}; diff --git a/TO_MERGE/agm/Wind/data/4500NV.paa b/TO_MERGE/agm/Wind/data/4500NV.paa deleted file mode 100644 index fd72433b9e..0000000000 Binary files a/TO_MERGE/agm/Wind/data/4500NV.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/4500NV1.paa b/TO_MERGE/agm/Wind/data/4500NV1.paa deleted file mode 100644 index 9a29b346fb..0000000000 Binary files a/TO_MERGE/agm/Wind/data/4500NV1.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/4500NV2.paa b/TO_MERGE/agm/Wind/data/4500NV2.paa deleted file mode 100644 index 992743a3a6..0000000000 Binary files a/TO_MERGE/agm/Wind/data/4500NV2.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/body.paa b/TO_MERGE/agm/Wind/data/body.paa deleted file mode 100644 index bec55bb418..0000000000 Binary files a/TO_MERGE/agm/Wind/data/body.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_0.paa b/TO_MERGE/agm/Wind/data/kestrel_0.paa deleted file mode 100644 index 190c25f100..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_0.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_1.paa b/TO_MERGE/agm/Wind/data/kestrel_1.paa deleted file mode 100644 index fe757888e4..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_1.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_2.paa b/TO_MERGE/agm/Wind/data/kestrel_2.paa deleted file mode 100644 index 1b0fda0a65..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_2.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_3.paa b/TO_MERGE/agm/Wind/data/kestrel_3.paa deleted file mode 100644 index 659f4597a3..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_3.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_4.paa b/TO_MERGE/agm/Wind/data/kestrel_4.paa deleted file mode 100644 index abb1ed6580..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_4.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_5.paa b/TO_MERGE/agm/Wind/data/kestrel_5.paa deleted file mode 100644 index 800ed80d8b..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_5.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_6.paa b/TO_MERGE/agm/Wind/data/kestrel_6.paa deleted file mode 100644 index 784e441c21..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_6.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_7.paa b/TO_MERGE/agm/Wind/data/kestrel_7.paa deleted file mode 100644 index 9452286c2d..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_7.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_8.paa b/TO_MERGE/agm/Wind/data/kestrel_8.paa deleted file mode 100644 index 31fe71ce84..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_8.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/data/kestrel_9.paa b/TO_MERGE/agm/Wind/data/kestrel_9.paa deleted file mode 100644 index 978506ef5d..0000000000 Binary files a/TO_MERGE/agm/Wind/data/kestrel_9.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/functions/fn_firedEH.sqf b/TO_MERGE/agm/Wind/functions/fn_firedEH.sqf deleted file mode 100644 index df714cf5df..0000000000 --- a/TO_MERGE/agm/Wind/functions/fn_firedEH.sqf +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Authors: KoffeinFlummi, esteldunedain - * - * Changes the bullet trajectory depending on wind, density and temperature. - * - * Arguments: - * Fired EH - * - * Return Value: - * none - */ - -private ["_unit", "_ammoType", "_round", "_dispersion", "_additionalVel"]; - -_unit = _this select 0; -_ammoType = _this select 4; -_round = _this select 5; - -if !(local _unit) exitWith {}; -if !([_unit] call AGM_Core_fnc_isPlayer) exitWith {}; -if (_round isKindOf "GrenadeHand") exitWith {}; - -// Additional dispersion -_dispersion = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "AGM_Bullet_Dispersion"); - -// Powder temp effect -_additionalVel = (vectorMagnitude (velocity _round)) * ((((AGM_Wind_currentTemperature + 273.13) / 288.13 - 1) / 2.5 + 1 ) - 1); - -[_round, ((random 2) - 1) * _dispersion, ((random 2) - 1) * _dispersion, _additionalVel] call AGM_Core_fnc_changeProjectileDirection; - -_this spawn { - _ammoType = _this select 4; - _round = _this select 5; - - _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _simulation = getText (configFile >> "CfgAmmo" >> _ammoType >> "simulation"); - _time = time; - - if (_airFriction >= 0 || {_simulation == "shotMissile"} || {_simulation == "shotRocket"}) then { - // Do not correct for airDensity if airFriction is not logical on the first place - _airFriction = -0.0007; - while {!isNull _round and alive _round} do { - _deltaTime = time - _time; - - _velocity = velocity _round; - _velocityNew = _velocity - // Calculate approximate wind drag - vectorDiff (wind vectorMultiply (vectorMagnitude (_velocity vectorDiff wind) * AGM_Wind_currentRelativeDensity * _airFriction * _deltaTime)); - _round setVelocity _velocityNew; - - _time = time; - sleep 0.05; - }; - } else { - // Calculate total drag based on aparent wind - while {!isNull _round and alive _round} do { - _deltaTime = time - _time; - - // See https://github.com/KoffeinFlummi/AGM/issues/996 and See https://github.com/KoffeinFlummi/AGM/issues/1732 - _velocity = velocity _round; - _aparentWind = wind vectorDiff _velocity; - _velocityNew = (_velocity - // Undo engine's drag calculation (airFriction * V^2 * dt) - vectorDiff (_velocity vectorMultiply (vectorMagnitude _velocity * _airFriction * _deltaTime))) - // Calculate total drag based on aparent wind - vectorDiff (_aparentWind vectorMultiply (vectorMagnitude _aparentWind * AGM_Wind_currentRelativeDensity * _airFriction * _deltaTime)); - - _round setVelocity _velocityNew; - - _time = time; - sleep 0.05; - }; - }; -}; diff --git a/TO_MERGE/agm/Wind/functions/fn_init.sqf b/TO_MERGE/agm/Wind/functions/fn_init.sqf deleted file mode 100644 index 1c7b385963..0000000000 --- a/TO_MERGE/agm/Wind/functions/fn_init.sqf +++ /dev/null @@ -1,9 +0,0 @@ -private ["_unit"]; - -_unit = _this select 0; - -// Substitute wind calculations for AI by lowering accuracy -if !(isPlayer _unit) exitWith { - _windStrength = sqrt((wind select 0) ^ 2 + (wind select 1) ^ 2); - _unit setSkill ["aimingAccuracy", (_unit skill "aimingAccuracy") * (1 - _windStrength / 14)]; -}; diff --git a/TO_MERGE/agm/Wind/functions/fn_openKestrel.sqf b/TO_MERGE/agm/Wind/functions/fn_openKestrel.sqf deleted file mode 100644 index 9fc7cefeb8..0000000000 --- a/TO_MERGE/agm/Wind/functions/fn_openKestrel.sqf +++ /dev/null @@ -1,7 +0,0 @@ -// by commy2 - -AGM_isKestrel = true; -AGM_isKestrelWheel = true; - -(["AGM_KestrelWheel"] call BIS_fnc_rscLayer) cutRsc ["AGM_KestrelWheel", "PLAIN", 0, false]; -(["AGM_Kestrel"] call BIS_fnc_rscLayer) cutRsc ["AGM_Kestrel", "PLAIN", 0, false]; diff --git a/TO_MERGE/agm/Wind/kestrel4500.p3d b/TO_MERGE/agm/Wind/kestrel4500.p3d deleted file mode 100644 index af487e33a6..0000000000 Binary files a/TO_MERGE/agm/Wind/kestrel4500.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Wind/kestrel4500rad.p3d b/TO_MERGE/agm/Wind/kestrel4500rad.p3d deleted file mode 100644 index 128c3be2d9..0000000000 Binary files a/TO_MERGE/agm/Wind/kestrel4500rad.p3d and /dev/null differ diff --git a/TO_MERGE/agm/Wind/scripts/KestrelonLoad.sqf b/TO_MERGE/agm/Wind/scripts/KestrelonLoad.sqf deleted file mode 100644 index 78e793deb0..0000000000 --- a/TO_MERGE/agm/Wind/scripts/KestrelonLoad.sqf +++ /dev/null @@ -1,125 +0,0 @@ -// by Falke - -disableSerialization; -_display = _this select 0; -_ctrl1 = _display displayCtrl 42001; -_ctrl2 = _display displayCtrl 42002; -_ctrl3 = _display displayCtrl 42003; -_ctrl4 = _display displayCtrl 42004; -_ctrl5 = _display displayCtrl 42005; -_ctrl6 = _display displayCtrl 42006; -_sleep1 = 0.5; -AGM_Kestrel_wind_Head=0; -//unIFormItems _player+backpackItems _player+vestItems _player -//assigneditems _player - -_player = AGM_player; - -IF (!("AGM_ItemKestrel" in items _player )) THEN {AGM_isKestrel = FALSE;}; -IF (underwater _player) THEN {AGM_isKestrel = FALSE;}; - -WHILE {AGM_isKestrel} DO { - _dSpotter = direction _player; - _windrarray = WIND; - _windrA= _windrarray select 0; - _windrB= _windrarray select 1; - _windrC= sqrt ((_windrA * _windrA) + (_windrB * _windrB)); - _windrD= _windrA atan2 _windrB; - _windrR = _dSpotter - _windrD; - IF (_windrR < 0) THEN {_windrR = 360+_windrR;}; - _windrBB = _windrC * sin (_windrR); - _windrAA = sqrt ((_windrC * _windrC) - (_windrBB * _windrBB)); - IF (_windrR < 90) THEN {_windrAA= _windrAA - (_windrAA*2);}; - IF (_windrR > 270) THEN {_windrAA= _windrAA - (_windrAA*2);}; - - _OrtPlayer = eyePos _player; - _Pos0 = _OrtPlayer select 0; - _Pos1 = _OrtPlayer select 1; - _Pos2 = _OrtPlayer select 2; - - // im Gebaude - _Ort=0; - IF (lineIntersects [_OrtPlayer, [_Pos0,_Pos1,_Pos2 + 15]]) THEN {_Ort=_Ort+1}; - /* - if (lineIntersects [_OrtPlayer, [_Pos0,_Pos1 + 15,_Pos2]]) then {_Ort=_Ort+1}; - if (lineIntersects [_OrtPlayer, [_Pos0,_Pos1 - 15,_Pos2]]) then {_Ort=_Ort+1}; - if (lineIntersects [_OrtPlayer, [_Pos0 + 15,_Pos1,_Pos2]]) then {_Ort=_Ort+1}; - if (lineIntersects [_OrtPlayer, [_Pos0 - 15,_Pos1,_Pos2]]) then {_Ort=_Ort+1}; - */ - IF (lineIntersects [[(_Pos0) , (_Pos1), (_Pos2)], [(_Pos0) - (sin windDir) * 15, (_Pos1) - (cos windDir) * 15, (_Pos2)]]) THEN {_Ort=_Ort+1}; - IF (lineIntersects [[(_Pos0) , (_Pos1), (_Pos2)], [(_Pos0) - (sin (windDir-90)) * 15, (_Pos1) - (cos (windDir-90)) * 15, (_Pos2)]]) THEN {_Ort=_Ort+1}; - IF (lineIntersects [[(_Pos0) , (_Pos1), (_Pos2)], [(_Pos0) - (sin (windDir+90)) * 15, (_Pos1) - (cos (windDir+90)) * 15, (_Pos2)]]) THEN {_Ort=_Ort+1}; - IF (lineIntersects [[(_Pos0) , (_Pos1), (_Pos2)], [(_Pos0) - (sin (windDir+180)) * 15, (_Pos1) - (cos (windDir+180)) * 15, (_Pos2)]]) THEN {_Ort=_Ort+1}; - if (_Ort>3) then {_windrAA=99.99;_windrBB=99.99}; - - // in Windrichtung - _Ort=0; - IF (lineIntersects [[(_Pos0) , (_Pos1), (_Pos2)], [(_Pos0) - (sin windDir) * 5, (_Pos1) - (cos windDir) * 5, (_Pos2)]]) THEN {_Ort=_Ort+1}; - IF (lineIntersects [[(_Pos0) , (_Pos1), (_Pos2)], [(_Pos0) - (sin (windDir-15)) * 5, (_Pos1) - (cos (windDir-15)) * 5, (_Pos2)]]) THEN {_Ort=_Ort+1}; - IF (lineIntersects [[(_Pos0) , (_Pos1), (_Pos2)], [(_Pos0) - (sin (windDir+15)) * 5, (_Pos1) - (cos (windDir+15)) * 5, (_Pos2)]]) THEN {_Ort=_Ort+1}; - //IF (lineIntersects [_OrtPLAYER, [_Pos0,_Pos1,_Pos2 + 10]]) THEN {_Ort=_Ort+1}; - IF (_Ort>2) THEN {_windrAA=99.99;_windrBB=99.99}; - - /* - onEachFrame { - _OrtPLAYER = eyePos _player; - _Pos0=_OrtPLAYER select 0; - _Pos1=_OrtPLAYER select 1; - _Pos2=_OrtPLAYER select 2; - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [(_Pos0) - (sin windDir) * 5, (_Pos1) - (cos windDir) * 5, (_Pos2)-(getPosASL _player SELECT 2)], [1,0,0,1]]; - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [(_Pos0) - (sin (windDir-15)) * 5, (_Pos1) - (cos (windDir-15)) * 5, (_Pos2)-(getPosASL _player SELECT 2)], [1,0,0,1]]; - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [(_Pos0) - (sin (windDir+15)) * 5, (_Pos1) - (cos (windDir+15)) * 5, (_Pos2)-(getPosASL _player SELECT 2)], [1,0,0,1]]; - - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [_Pos0,_Pos1,_Pos2 + 15-(getPosASL _player SELECT 2)], [0,0,1,1]]; - - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [(_Pos0) - (sin (windDir)) * 15, (_Pos1) - (cos (windDir)) * 15, (_Pos2)-(getPosASL _player SELECT 2)], [0,1,0,1]]; - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [(_Pos0) - (sin (windDir+90)) * 15, (_Pos1) - (cos (windDir+90)) * 15, (_Pos2)-(getPosASL _player SELECT 2)], [0,1,0,1]]; - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [(_Pos0) - (sin (windDir-90)) * 15, (_Pos1) - (cos (windDir-90)) * 15, (_Pos2)-(getPosASL _player SELECT 2)], [0,1,0,1]]; - drawLine3D [[(_Pos0) , (_Pos1), (_Pos2)-(getPosASL _player SELECT 2)], [(_Pos0) - (sin (windDir+180)) * 15, (_Pos1) - (cos (windDir+180)) * 15, (_Pos2)-(getPosASL _player SELECT 2)], [0,1,0,1]]; - }; - */ - //IF (vehicle _player != _player) THEN {_windrAA=0;_windrBB=0}; - IF (_player != vehicle _player) THEN {_windrAA=0;_windrBB=0}; - - IF (_windrAA == 99.99) then { - AGM_Kestrel_wind_Head = 0; - _windrAA= "0.00"; - _windrBB= "0.00"; - }ELSE{ - AGM_Kestrel_wind_Head=_windrAA; - IF (_windrAA < 0) THEN { - _windrAA= FORMAT["-%1",[_windrAA*-1, 1, 2] call CBA_fnc_FORMATNumber]; - }ELSE{ - _windrAA= FORMAT["%1",[_windrAA, 1, 2] call CBA_fnc_FORMATNumber]; - }; - IF (_windrBB < 0) THEN { - _windrBB= FORMAT["-%1",[_windrBB*-1, 1, 2] call CBA_fnc_FORMATNumber]; - }ELSE{ - _windrBB= FORMAT["%1",[_windrBB, 1, 2] call CBA_fnc_FORMATNumber]; - }; - }; - - _ctrl2 ctrlSetText _windrAA; - _ctrl3 ctrlSetText _windrBB; - _ctrl4 ctrlSetText FORMAT["%1",round (direction _player)]; - _ctrl5 ctrlSetText FORMAT["%1", (round (AGM_Wind_currentTemperature * 10)) / 10]; - _ctrl6 ctrlsettextcolor [0,0,0,1-(sunOrMoon*sunOrMoon+(moonIntensity/5))]; - - IF (!("AGM_ItemKestrel" in items _player)) THEN {AGM_isKestrel = FALSE;}; - IF ( - underwater _player || - //{_player != vehicle _player} || - {cameraView == "GUNNER"} || - {!alive _player} - ) THEN {AGM_isKestrel = FALSE;}; - IF (!AGM_isKestrel) THEN {_sleep1 = 0.01;}; - - SLEEP _sleep1; -}; -AGM_isKestrelWheel=False; -_ctrl1 ctrlShow false; -_ctrl2 ctrlShow false; -_ctrl3 ctrlShow false; -_ctrl4 ctrlShow false; -_ctrl5 ctrlShow false; -_ctrl6 ctrlShow false; diff --git a/TO_MERGE/agm/Wind/scripts/KestrelonLoadRad.sqf b/TO_MERGE/agm/Wind/scripts/KestrelonLoadRad.sqf deleted file mode 100644 index 82c7dcc7f5..0000000000 --- a/TO_MERGE/agm/Wind/scripts/KestrelonLoadRad.sqf +++ /dev/null @@ -1,22 +0,0 @@ -// by Falke - -disableSerialization; -_display1 = _this select 0; -_ctrl10 = _display1 displayCtrl 42010; -_rad1=1; -AGM_Kestrel_wind_Head=0; -while {AGM_isKestrelWheel} do { - _rad2=(AGM_Kestrel_wind_Head*2); - if (_rad2 > 5) then { _rad2=5; }; - if (_rad2 < -5) then { _rad2=-5; }; - _rad1=_rad1+_rad2; - if (_rad1 < 0) then { _rad1=_rad1+9; }; - if (_rad1 > 9) then { _rad1=_rad1-9; }; - waitUntil {preloadTitleRsc ["AGM_KestrelWheel_Preload", "PLAIN"]}; - _ctrl10 ctrlSetText format["AGM_Wind\data\kestrel_%1.paa",round _rad1]; - _Night = (sunOrMoon*sunOrMoon+(moonIntensity/5)); - _ctrl10 ctrlsettextcolor [_Night,_Night,_Night,1]; - sleep 0.01; - _i = 0; waitUntil {_i = _i + 1; _i > 1}; -}; -_ctrl10 ctrlShow false; diff --git a/TO_MERGE/agm/Wind/stringtable.xml b/TO_MERGE/agm/Wind/stringtable.xml deleted file mode 100644 index be69952adb..0000000000 --- a/TO_MERGE/agm/Wind/stringtable.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - Approximate Temperature - Ungefähre Temperatur - Temperatura aproximada - Estimer la température - Przybliżona temperatura - Odhadovaná teplota - Hőmérséklet nagyábol - Примерная температура - - - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - - - Applied Ballistics Meter - Applied Ballistics Meter - Anemómetro balístico - Applied Ballistics Meter - Urządzenie do monitorowania pogody - Zařízení pro měření vítru - Monitoraggio Balistico Attivo - Applied Ballistics Meter - Medidor Balístico Ativo - метеостанция - - - Open Kestrel - Kestrel öffnen - Abrir Kestrel - Ouvrir Kestrel - Otwórz Kestrel - Otevřít Kestrel - Abrir Kestrel - Apri Kestrel - Kestrel bekapcsolása - Открыть Kestrel - - - Close Kestrel - Kestrel schließen - Cerrar Kestrel - Fermer Kestrel - Zamknij Kestrel - Zavřít Kestrel - Fechar Kestrel - Chiudi Kestrel - Kestrel kikapcsolása - Закрыть Kestrel - - - \ No newline at end of file diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-01.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-01.paa deleted file mode 100644 index 9865029c93..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-01.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-02.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-02.paa deleted file mode 100644 index a02147e6ee..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-02.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-03.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-03.paa deleted file mode 100644 index 340cfdcd6e..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-03.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-04.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-04.paa deleted file mode 100644 index 6d8404fb86..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-04.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-05.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-05.paa deleted file mode 100644 index 2de5cdbd74..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-05.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-06.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-06.paa deleted file mode 100644 index c5e0a40af7..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-06.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-07.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-07.paa deleted file mode 100644 index 4df57f7585..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-07.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-08.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-08.paa deleted file mode 100644 index 8c5012502f..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-08.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-09.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-09.paa deleted file mode 100644 index 15173a56ab..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-09.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-10.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-10.paa deleted file mode 100644 index 83c860cecb..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-10.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-11.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-11.paa deleted file mode 100644 index 8beeb80d98..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-11.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-12.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-12.paa deleted file mode 100644 index d9a62f9e81..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-12.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-13.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-13.paa deleted file mode 100644 index 87a8dfcca9..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-13.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-14.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-14.paa deleted file mode 100644 index f9200aaf2d..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-14.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-15.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-15.paa deleted file mode 100644 index e3ee52d21e..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-15.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindLight-16.paa b/TO_MERGE/agm/Wind/ui/AGM_WindLight-16.paa deleted file mode 100644 index 9b835e62c4..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindLight-16.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-01.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-01.paa deleted file mode 100644 index fd4d255c35..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-01.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-02.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-02.paa deleted file mode 100644 index db6e8dcebc..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-02.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-03.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-03.paa deleted file mode 100644 index 300934ff37..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-03.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-04.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-04.paa deleted file mode 100644 index f7b8331dae..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-04.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-05.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-05.paa deleted file mode 100644 index a3b0a532ff..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-05.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-06.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-06.paa deleted file mode 100644 index 495ec6bc15..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-06.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-07.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-07.paa deleted file mode 100644 index d0471a4c4f..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-07.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-08.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-08.paa deleted file mode 100644 index 967e9d8ef7..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-08.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-09.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-09.paa deleted file mode 100644 index 54ef3eabf9..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-09.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-10.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-10.paa deleted file mode 100644 index e7608c2e02..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-10.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-11.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-11.paa deleted file mode 100644 index 6d1ce9418e..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-11.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-12.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-12.paa deleted file mode 100644 index 2b853dca89..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-12.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-13.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-13.paa deleted file mode 100644 index 56443ab4f9..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-13.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-14.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-14.paa deleted file mode 100644 index 06cb4610fb..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-14.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-15.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-15.paa deleted file mode 100644 index 5f548b6ac9..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-15.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-16.paa b/TO_MERGE/agm/Wind/ui/AGM_WindModerate-16.paa deleted file mode 100644 index 617e83193d..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindModerate-16.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-01.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-01.paa deleted file mode 100644 index 87c2db663c..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-01.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-02.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-02.paa deleted file mode 100644 index 8d29483635..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-02.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-03.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-03.paa deleted file mode 100644 index fc08f14e1b..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-03.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-04.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-04.paa deleted file mode 100644 index 3fbbd70302..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-04.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-05.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-05.paa deleted file mode 100644 index 2254b0d545..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-05.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-06.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-06.paa deleted file mode 100644 index 6054696d61..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-06.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-07.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-07.paa deleted file mode 100644 index d62308dfc9..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-07.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-08.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-08.paa deleted file mode 100644 index cce04ab099..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-08.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-09.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-09.paa deleted file mode 100644 index e2c53aec6f..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-09.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-10.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-10.paa deleted file mode 100644 index 609b54096a..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-10.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-11.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-11.paa deleted file mode 100644 index 705cc5bd10..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-11.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-12.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-12.paa deleted file mode 100644 index d8d585d6eb..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-12.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-13.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-13.paa deleted file mode 100644 index d903c832ab..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-13.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-14.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-14.paa deleted file mode 100644 index 91153a801b..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-14.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-15.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-15.paa deleted file mode 100644 index d0a34d79e4..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-15.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-16.paa b/TO_MERGE/agm/Wind/ui/AGM_WindStrong-16.paa deleted file mode 100644 index 1be25039e4..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindStrong-16.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-01.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-01.paa deleted file mode 100644 index 561e52ec88..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-01.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-02.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-02.paa deleted file mode 100644 index fbce91664a..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-02.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-03.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-03.paa deleted file mode 100644 index f20ced9770..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-03.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-04.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-04.paa deleted file mode 100644 index 6b104848da..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-04.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-05.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-05.paa deleted file mode 100644 index f8e30a0c64..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-05.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-06.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-06.paa deleted file mode 100644 index 3a11d94cba..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-06.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-07.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-07.paa deleted file mode 100644 index b956cb478b..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-07.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-08.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-08.paa deleted file mode 100644 index 090f630d8f..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-08.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-09.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-09.paa deleted file mode 100644 index d8b8b7eff1..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-09.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-10.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-10.paa deleted file mode 100644 index 0151ad3779..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-10.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-11.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-11.paa deleted file mode 100644 index 241980a1e0..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-11.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-12.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-12.paa deleted file mode 100644 index adcaf136fa..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-12.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-13.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-13.paa deleted file mode 100644 index d381f0cc9e..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-13.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-14.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-14.paa deleted file mode 100644 index 0e77f697e2..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-14.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-15.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-15.paa deleted file mode 100644 index ad283a4d76..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-15.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-16.paa b/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-16.paa deleted file mode 100644 index b7ae70a989..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_WindVeryLight-16.paa and /dev/null differ diff --git a/TO_MERGE/agm/Wind/ui/AGM_noWind.paa b/TO_MERGE/agm/Wind/ui/AGM_noWind.paa deleted file mode 100644 index 8fa262c286..0000000000 Binary files a/TO_MERGE/agm/Wind/ui/AGM_noWind.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/CfgAddons.h b/TO_MERGE/cse/sys_advanced_interaction/CfgAddons.h deleted file mode 100644 index 8e5d5504f1..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/CfgAddons.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgAddons { - class PreloadAddons { - class cse_sys_advanced_interaction { - list[] = {"cse_sys_advanced_interaction", "cse_moduleAmbientCivilians"}; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_advanced_interaction/CfgFunctions.h b/TO_MERGE/cse/sys_advanced_interaction/CfgFunctions.h deleted file mode 100644 index cebd88dc5e..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/CfgFunctions.h +++ /dev/null @@ -1,45 +0,0 @@ -class CfgFunctions { - class CSE { - class AdvancedInteraction { - file = "cse\cse_sys_advanced_Interaction\functions"; - class arrest_AIM { recompile = 1; }; - class displayArrestOptions_AIM { recompile = 1; }; - class load_AIM { recompile = 1; }; - class loadLocal_AIM { recompile = 1; }; - class move_AIM { recompile = 1; }; - class placedown_AIM { recompile = 1; }; - class release_AIM { recompile = 1; }; - class searchPerson_AIM { recompile = 1; }; - class searchPersonCondition_AIM { recompile = 1; }; - class unload_AIM { recompile = 1; }; - class onCivilianKilled_AIM { recompile = 1; }; - class getDialogLines_AIM { recompile = 1; }; - class getReactionTypeOfUnit_AIM { recompile = 1; }; - class playerStartConverationWith_AIM { recompile = 1; }; - class dialogMovementOrder_AIM { recompile = 1; }; - class fillDialogWithConversationLines_AIM { recompile = 1; }; - class personSpeaksLine_AIM { recompile = 1; }; - class getAvailableProfileSetsFor_AIM { recompile = 1; }; - class generateProfileInformation_AIM { recompile = 1; }; - class getPlayerSpokenLineType_AIM { recompile = 1; }; - class playerSpeaksLine_AIM { recompile = 1; }; - class personReactionToLine_AIM { recompile = 1; }; - class getProfileInformation_AIM { recompile = 1; }; - class getReactionLinesOfPerson_AIM { recompile = 1; }; - class addToConversationLog_AIM { recompile = 1; }; - class getALiVECivData_AIM { recompile = 1; }; - class isALIVECivlianSystemActive_AIM { recompile = 1; }; - class disarmPerson_AIM { recompile = 1; }; - class canDetain { recompile = 1; }; - class canPerformArrestActions_AIM { recompile = 1; }; - class canPerformAction_AIM { recompile = 1; }; - class callForSurrender_AIM { recompile = 1; }; - }; - - class AmbientCivilians { - file = "cse\cse_sys_advanced_Interaction\ambient\functions"; - class moduleAmbientcivilians { recompile = 1; }; - class getAvailableUnits_faction { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/CfgMagazines.h b/TO_MERGE/cse/sys_advanced_interaction/CfgMagazines.h deleted file mode 100644 index 746fdc6619..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/CfgMagazines.h +++ /dev/null @@ -1,104 +0,0 @@ - -// keep present for sometime, to allow backwards compatibility. Note: We will not support this in the code! - -class CfgMagazines { - class Default; - class CA_magazine: Default{}; - class cse_Keycuffs: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Keycuffs"; - picture = "cse\cse_sys_advanced_interaction\img\keycuffs.paa"; - descriptionShort = "Keycuffs, used for detaining a suspect"; - }; - class cse_HIIDE: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 3; - descriptionUse = "Biometric Scanner"; - descriptionShort = ""; - displayName = "Biometric Scanner (HIIDE)"; - picture = "cse\cse_sys_advanced_interaction\img\HIIDE.paa"; - model = "cse\cse_sys_advanced_interaction\hiide.p3d"; - }; - class cse_oldphone: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Old Phone"; - picture = "cse\cse_sys_advanced_interaction\img\oldphone.paa"; - model = "cse\cse_sys_advanced_interaction\mobile.p3d"; - }; - class cse_oldphone_folded: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Old Phone (Folded)"; - picture = "cse\cse_sys_advanced_interaction\img\oldphone.paa"; - model = "cse\cse_sys_advanced_interaction\mobile_folded.p3d"; - }; - class cse_watch_expensive: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Watch"; - picture ="cse\cse_sys_advanced_interaction\img\watch_expensive.paa"; - }; - class cse_wallet: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Wallet"; - picture = "cse\cse_sys_advanced_interaction\img\wallet.paa"; - }; - class cse_9v_battery: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "9 volt battery"; - picture = "cse\cse_sys_advanced_interaction\img\9v_battery.paa"; - model = "\A3\Structures_F_EPA\Items\Electronics\Battery_F.p3d"; - }; - class cse_notebook: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Notebook"; - picture = "cse\cse_sys_advanced_interaction\img\notebook.paa"; - }; - class cse_scissors: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Scissors"; - picture = "cse\cse_sys_advanced_interaction\img\scissor.paa"; - } ; - class cse_wires: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Wires"; - picture = "cse\cse_sys_advanced_interaction\img\wires.paa"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/CfgSounds.h b/TO_MERGE/cse/sys_advanced_interaction/CfgSounds.h deleted file mode 100644 index b21c8521f3..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/CfgSounds.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgSounds { - class cse_cable_tie_zipping { - name = "cse_cable_tie_zipping"; - sound[] = {"cse\cse_sys_advanced_interaction\sounds\cse_cable_tie_zipping.ogg","db-1",1.0}; - titles[] = {}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/CfgVehicles.h b/TO_MERGE/cse/sys_advanced_interaction/CfgVehicles.h deleted file mode 100644 index e47f165a49..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/CfgVehicles.h +++ /dev/null @@ -1,355 +0,0 @@ -class CfgVehicles -{ - class Logic; - class Module_F: Logic - { - class ArgumentsBaseUnits - { - }; - }; - class cse_sys_advanced_interaction: Module_F { - scope = 2; - displayName = "Advanced Interaction [CSE]"; - icon = "\cse\cse_main\data\cse_aim_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments - { - - class enableDetain { - displayName = "Allow detaining"; - description = "Allow players to detain other units"; - typeName = "NUMBER"; - defaultValue = 2; - class values { - class all {name="Everyone"; value=3; }; - class onlyOtherSide {name="Opposite side"; value=2; default=1;}; - class onlyAI {name="AI Only"; value=1; }; - class onlyOtherSideAI {name="Opposite side AI only"; value=0; }; - class disable {name="Disable"; value=-1; }; - }; - }; - class enableSearch { - displayName = "Allow search"; - description = "Allow players to search other units and vehicles"; - typeName = "NUMBER"; - defaultValue = 2; - class values { - class all {name="Everyone"; value=3; }; - class onlyOtherSide {name="Opposite side"; value=2; default=1;}; - class onlyAI {name="AI Only"; value=1; }; - class onlyOtherSideAI {name="Opposite side (AI Only)"; value=0; }; - class disable {name="Disable"; value=-1; }; - }; - }; - class enableBiometric { - displayName = "Biometric Scanner"; - description = "Allow players to use the biometric scanner on other units"; - typeName = "NUMBER"; - defaultValue = 2; - class values { - class all {name="Everyone"; value=3; }; - class onlyOtherSide {name="Opposite side"; value=2; default=1;}; - class onlyAI {name="AI Only"; value=1; }; - class onlyOtherSideAI {name="Opposite side (AI Only)"; value=0; }; - class disable {name="Disable"; value=-1; }; - }; - }; - class enableConversation { - displayName = "Enable Conversation"; - description = "Allow Conversation with civilians"; - typeName = "BOOL"; - defaultValue = false; - }; - class useEquipment { - displayName = "Equipment Required"; - description = "Is AIM equipment required for performing actions?"; - typeName = "BOOL"; - defaultValue = true; - }; - }; - }; - class cse_moduleAmbientCivilians: Module_F { - scope = 2; - displayName = "Ambient civilians [CSE]"; - icon = "\cse\cse_main\data\cse_aim_module.paa"; - category = "cseMisc"; - function = "cse_fnc_moduleAmbientcivilians"; - functionPriority = 1; - isGlobal = 0; - isTriggerActivated = 0; - class Arguments { - class maxCivilians { - displayName = "Max Civilians"; - description = "The maximum amount of civilians at any given time"; - typeName = "NUMBER"; - defaultValue = 50; - }; - class maxRadius { - displayName = "Max Radius"; - description = "The maximum radus around object"; - typeName = "NUMBER"; - defaultValue = 1000; - }; - class minPlayerDistance { - displayName = "Minimal Player distance"; - description = "The minimal distance players can be near spawn locations"; - typeName = "NUMBER"; - defaultValue = 250; - }; - class percentageOf { - displayName = "Percentage"; - description = "Chance of building occupied ( 1 = 100%, 0 = 0%)"; - typeName = "NUMBER"; - defaultValue = 0.3; - }; - - class factionOf { - displayName = "Faction"; - description = "Of what faction should the civilians be"; - typeName = "STRING"; - defaultValue = "CIV_F"; - }; - class weaponChance { - displayName = "Chance of Weapons"; - description = "What is the chance that spawned civilans have weapons"; - typeName = "NUMBER"; - defaultValue = 0; - }; - class hostilityToBlufor { - displayName = "Hostility to BLUFOR"; - description = "What is the initial stance towards BLUFOR"; - typeName = "NUMBER"; - defaultValue = 0; - }; - class hostilityToOPfor { - displayName = "Hostility to OPFOR"; - description = "What is the initial stance towards OPFOR"; - typeName = "NUMBER"; - defaultValue = 0; - }; - - }; - }; - class NATO_Box_Base; - class cse_advancedInteractionItems: NATO_Box_Base - { - scope = 2; - displayName = "Advanced Interaction Items [CSE]"; - author = "Combat Space Enhancement"; - model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; - class TransportWeapons - { - class _xx_cse_Keycuffs - { - weapon="cse_Keycuffs"; - count=5; - }; - class _xx_cse_HIIDE - { - weapon="cse_HIIDE"; - count=5; - }; - class _xx_cse_oldphone - { - weapon="cse_oldphone"; - count=5; - }; - class _xx_cse_oldphone_folded - { - weapon="cse_oldphone_folded"; - count=5; - }; - class _xx_cse_watch_expensive - { - weapon="cse_watch_expensive"; - count=5; - }; - class _xx_cse_wallet - { - weapon="cse_wallet"; - count=5; - }; - class _xx_cse_9v_battery - { - weapon="cse_9v_battery"; - count=5; - }; - class _xx_cse_notebook - { - weapon="cse_notebook"; - count=5; - }; - class _xx_cse_scissors - { - weapon="cse_scissors"; - count=5; - }; - class _xx_cse_wires - { - weapon="cse_wires"; - count=5; - }; - }; - }; - - class Item_Base_F; - class cse_KeycuffsItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Keycuffs"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_Keycuffs - { - name = "cse_Keycuffs"; - count = 1; - }; - }; - }; - class cse_HIIDEItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - descriptionUse = "Biometric Scanner"; - descriptionShort = ""; - displayName = "Biometric Scanner (HIIDE)"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_HIIDE - { - name = "cse_HIIDE"; - count = 1; - }; - }; - }; - class cse_oldphoneItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Old Phone"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_oldphone - { - name = "cse_oldphone"; - count = 1; - }; - }; - }; - class cse_oldphone_foldedItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Old Phone (Folded)"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_oldphone_folded - { - name = "cse_oldphone_folded"; - count = 1; - }; - }; - }; - class cse_watch_expensiveItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Watch"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_watch_expensive - { - name = "cse_watch_expensive"; - count = 1; - }; - }; - }; - class cse_walletItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Wallet"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_wallet - { - name = "cse_wallet"; - count = 1; - }; - }; - }; - class cse_9v_batteryItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "9 volt battery"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_9v_battery - { - name = "cse_9v_battery"; - count = 1; - }; - }; - }; - class cse_notebookItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Notebook"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_notebook - { - name = "cse_notebook"; - count = 1; - }; - }; - }; - class cse_scissorsItem: Item_Base_F { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Scissors"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_scissors - { - name = "cse_scissors"; - count = 1; - }; - }; - }; - class cse_wiresItem: Item_Base_F { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = "Wires"; - vehicleClass = "Items"; - scopeCurator = 2; - class TransportItems - { - class cse_wires - { - name = "cse_wires"; - count = 1; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/CfgWeapons.h b/TO_MERGE/cse/sys_advanced_interaction/CfgWeapons.h deleted file mode 100644 index 220f8d5150..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/CfgWeapons.h +++ /dev/null @@ -1,141 +0,0 @@ -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - - class cse_Keycuffs: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_KEYCUFFS_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\keycuffs.paa"; - descriptionShort = $STR_CSE_ITEM_KEYCUFFS_DESC; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_HIIDE: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - descriptionUse = $STR_CSE_ITEM_HIIDE_DESC; - descriptionShort = $STR_CSE_ITEM_HIIDE_DESC; - displayName = $STR_CSE_ITEM_HIIDE_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\HIIDE.paa"; - model = "\cse\cse_sys_advanced_interaction\hiide.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_oldphone: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_PHONE_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\oldphone.paa"; - model = "\cse\cse_sys_advanced_interaction\mobile.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_oldphone_folded: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_PHONE_FOLDED_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\oldphone.paa"; - model = "\cse\cse_sys_advanced_interaction\mobile_folded.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_watch_expensive: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_WATCH_EXPENSIVE_DISPLAY; - picture ="cse\cse_sys_advanced_interaction\img\watch_expensive.paa"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_wallet: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_WALLET_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\wallet.paa"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_9v_battery: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_9v_BATTERY_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\9v_battery.paa"; - model = "\A3\Structures_F_EPA\Items\Electronics\Battery_F.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_notebook: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_NOTEBOOK_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\notebook.paa"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_scissors: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_CSE_ITEM_SCISSORS_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\scissor.paa"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - class cse_wires: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - mass = 1; - displayName = $STR_CSE_ITEM_WIRES_DISPLAY; - picture = "\cse\cse_sys_advanced_interaction\img\wires.paa"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - - mass=10; - type=201; - }; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_advanced_interaction/Combat_Space_Enhancement.h deleted file mode 100644 index 01a86078ec..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/Combat_Space_Enhancement.h +++ /dev/null @@ -1,60 +0,0 @@ - -#define MENU_KEYBINDING 1 -#define ACTION_KEYBINDING 2 -#define CLIENT_SETTING 3 - -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_advanced_interaction { - init = "call compile preprocessFile 'cse\cse_sys_advanced_interaction\fn_aim_init.sqf';"; - name = "Advanced Interaction Module"; - class EventHandlers { - class CAManBase { - //init = "waituntil{player==player}; hint 'AIM TEST';"; - killed = "_this call cse_fnc_onCivilianKilled_AIM;"; - }; - }; - - class dialog_module { - class lines { - class agressive_OutOfMyFace { - text = "I already told you to go away! Now get out of my face!"; - }; - class agressive_YouWontListen: agressive_OutOfMyFace { - text = "You just won't listen, won't you?"; - }; - class agressive_SlapInFace: agressive_OutOfMyFace { - text = "Someone should slap you in the face."; - }; - class agressive_LeaveAlone: agressive_OutOfMyFace { - text = "Leave me alone!"; - }; - class friendly_hello_friend { - text = "Hello my friend!"; - stance = "Friendly"; - }; - class friendly_haveNiceDay: friendly_hello_friend { - text = "Good Sir, I hope you have a nice day"; - }; - class friendly_welcome: friendly_hello_friend { - text = "Welcome"; - }; - class friendly_whatbringsyouhere: friendly_hello_friend { - text = "Hello, what brings you here?"; - }; - }; - }; - - class Configurations { - class open_biometric_scanner_aim { - type = MENU_KEYBINDING; - title = "Open Biometric Scanner"; - description = "Opens the biometric scanner if the action is available. The action will be available if you are looking at another Person."; - value[] = {0,0,0,0}; - onPressed = "if (CSE_ENABLED_BIOMETRIC_SCANNER_AIM) then {_target = cursorTarget;if (!iSNull _target) then {if ((_target isKindOf 'CAManBase') && ((player distance _target) < 10)) then {[player,_target] call cse_fnc_biometricScanner;};};};"; - idd = 432231; - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/GUI.h b/TO_MERGE/cse/sys_advanced_interaction/GUI.h deleted file mode 100644 index 6ebf7b736c..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/GUI.h +++ /dev/null @@ -1,7 +0,0 @@ - -#include "biometric_scanner\define.hpp" -#include "biometric_scanner\biometricScannerDialog.hpp" - -#include "gui\define.h" -#include "gui\dialog_menu.h" -#include "gui\search_menu.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/ambient/functions/fn_getAvailableUnits_faction.sqf b/TO_MERGE/cse/sys_advanced_interaction/ambient/functions/fn_getAvailableUnits_faction.sqf deleted file mode 100644 index 9dbe7d817e..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/ambient/functions/fn_getAvailableUnits_faction.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/** - * fn_getAvailableGroups_faction.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_factionOfEntry", "_faction", "_factionConfig", "_return", "_sideN", "_sideT", "_sideConfig", "_entry", "_scopeOfEntry"]; -_faction = _this select 0; -_baseclass = _this select 1; - -_factionConfig = (configFile >> "CfgFactionClasses" >> _faction); -_return = []; -_filtered_non_base = []; -if (isclass _factionConfig) then { - _configCivs = (configFile >> "CfgVehicles"); - _numberOfConfig = count _configCivs; - for [{_i=0}, {(_i< _numberOfConfig)}, {_i=_i+1}] do { - _entry = _configCivs select _i; - if (isClass _entry) then { - _factionOfEntry = getText(_entry >> "faction"); - _scopeOfEntry = getNumber (_entry >> "scope"); - if (_factionOfEntry == _faction && _scopeOfEntry >= 2) then { - if ([_entry, _baseclass] call cse_fnc_inheritsFrom) then { - _return pushback (configName _entry); - } else { - _filtered_non_base pushback (configName _entry); - }; - }; - }; - }; - //}; -} else { - [] -}; -[format["Filtered non base config entries: %1", _filtered_non_base]] call cse_fnc_debug; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/ambient/functions/fn_moduleAmbientCivilians.sqf b/TO_MERGE/cse/sys_advanced_interaction/ambient/functions/fn_moduleAmbientCivilians.sqf deleted file mode 100644 index 3140bfea01..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/ambient/functions/fn_moduleAmbientCivilians.sqf +++ /dev/null @@ -1,201 +0,0 @@ -/** - * fn_moduleAmbientCivilians.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define BUILDING_SEARCH_RADIUS 1000 -#define PERCENTAGE_OF_BUILDINGS 0.3 -#define MINIMAL_DISTANCE_PLAYERS 10 -#define MAX_AMOUNT_CIVS_TOTAL 100 -#define MAX_UNITS_IN_GROUP 3 - -// only run this on the server -if !(isServer) exitwith {}; - -_this spawn { - waitUntil {time > 1}; - - _logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; - if (!isNull _logic) then { - _MAX_CIVS_TOTAL = _logic getvariable ["maxCivilians", MAX_AMOUNT_CIVS_TOTAL]; - _MAX_RADIUS = _logic getvariable ["maxRadius", BUILDING_SEARCH_RADIUS]; - _MIN_DISTANCE_PLAYERS = _logic getvariable ["minPlayerDistance", MINIMAL_DISTANCE_PLAYERS]; - _PERCENTAGE = _logic getvariable ["percentageOf", PERCENTAGE_OF_BUILDINGS]; - _FACTION_OF = _logic getVariable ["factionOf", "CIV_F"]; - - _availableUnitClasses = [_FACTION_OF, "CaManBase"] call cse_fnc_getAvailableUnits_faction; - [format["Found available classes: %1", _availableUnitClasses]] call cse_fnc_debug; - if (_availableUnitClasses isEqualTo []) exitwith { [format["AvailableClasses for %1 is empty", _FACTION_OF]] call cse_fnc_debug; }; - _allSpawnedUnits = []; - _allSpawnedGroups = []; - _playerUnits = []; - _allCheckedBuildings = []; - - while {alive _logic} do { - sleep 1; - if (isMultiplayer) then { - waituntil {count playableUnits > 0}; - _playerUnits = playableUnits; - } else { - _playerUnits = [player]; - }; - _spawnLocatationObjects = [_logic]; - - { - _playableUnit = _x; - if (count _allSpawnedUnits < _MAX_CIVS_TOTAL && {_playableUnit distance _logic < _MAX_RADIUS}) then { - _availableBuildings = []; - _buildingsWithInArea = nearestObjects [_playableUnit, ["house"], _MAX_RADIUS]; - { - _building = _x; - if !(_building in _allCheckedBuildings) then { - _buildingPos = [_x] call BIS_fnc_buildingPositions; - _invalid = false; - { - if (_building distance _x <= _MIN_DISTANCE_PLAYERS) exitwith { - _invalid = true; - }; - }foreach _playerUnits; - if !(_invalid) then { - _availableBuildings pushback [_building, _buildingPos]; - _allCheckedBuildings pushback _building; - }; - }; - }foreach _buildingsWithInArea; - - { - _building = _x select 0; - _buildingPos = _x select 1; - - if (({_x getvariable ["cse_ambientcivilianModule_Building", objNull] == _building}count _allSpawnedGroups) == 0 && (count _allSpawnedUnits < _MAX_CIVS_TOTAL)) then { - if (random(1) >= (1 - _PERCENTAGE)) then { - _group = createGroup civilian; - - _group setvariable ["cse_ambientcivilianModule_Building", _building]; - if (isNull _group) exitwith { - ["Group was null - most likely hit the 144 limit!"] call cse_fnc_debug; - }; - { - if ((random(1) >= 0.7 && (count _allSpawnedUnits < _MAX_CIVS_TOTAL) && {(count units _group < MAX_UNITS_IN_GROUP)})|| (count units _group == 0)) then { - _className = _availableUnitClasses select (round(random((count _availableUnitClasses)-1))); - _unit = _group createUnit [_className, _x, [], 0, "NONE"]; - _unit setOwner (owner _logic); - _allSpawnedUnits pushback _unit; - }; - }foreach _buildingPos; - - if (count units _group == 0) then { - deleteGroup _group; - } else { - _allSpawnedGroups pushback _group; - _group addWaypoint [(getPos _building), 100, 1, "initial_waypoint_ambientCiv"]; - [_group, 1] setWaypointSpeed "LIMITED"; - }; - }; - }; - - // lets exit, since we ran into the limit. - if ((count _allSpawnedUnits >= _MAX_CIVS_TOTAL)) exitwith {}; - }foreach _availableBuildings; - }; - }foreach _playerUnits; - - sleep 0.5; - - _unitsRemoved = 0; - { - _unit = _x; - _cannotRemove = false; - { - if (_unit distance _x <= _MIN_DISTANCE_PLAYERS) exitwith { - _cannotRemove = true; - }; - }foreach _playerUnits; - if !(_cannotRemove) then { - if ({(_unit distance _x > _MAX_RADIUS)}count _playerUnits == count _playerUnits) then { - deleteVehicle _unit; - _allSpawnedUnits set [_foreachIndex, ObjNull]; - _unitsRemoved = _unitsRemoved + 1; - }; - }; - }foreach _allSpawnedUnits; - _allSpawnedUnits = _allSpawnedUnits - [objNull]; - { - if (count units _x == 0) then { - deleteGroup _x; - _allSpawnedGroups set [_foreachIndex, ObjNull]; - } else { - _group = _x; - // HANDLE WAYPOINTS FOR GROUPS - if (currentWaypoint _group == (count waypoints _group)) then { - _building = _group getvariable "cse_ambientcivilianModule_Building"; - _group addWaypoint [(getPos _building), 200, currentWaypoint _group]; - }; - }; - }foreach _allSpawnedGroups; - _allSpawnedGroups = _allSpawnedGroups - [objNull]; - - sleep 0.5; - { - _building = _x; - _cannotRemove = false; - { - if (_building distance _x <= _MIN_DISTANCE_PLAYERS) exitwith { - _cannotRemove = true; - }; - }foreach _playerUnits; - if !(_cannotRemove) then { - if ({(_building distance _x > _MAX_RADIUS)}count _playerUnits == count _playerUnits) then { - _allCheckedBuildings set [_foreachIndex, ObjNull]; - }; - }; - }foreach _allCheckedBuildings; - _allCheckedBuildings = _allCheckedBuildings - [objNull]; - - if (_unitsRemoved > 0) then { - [format["%1- %2 - Removed %3", count _allSpawnedUnits, _allSpawnedUnits, _unitsRemoved]] call cse_fnc_debug; - }; - }; - - [["Finished ambient Civilians module. Cleaning up all units"]] call cse_fnc_Debug; - // Finished this module. Cleaning up everything. - _cleanUpStartTime = time; - // CLEAN UP ALL UNITS, ENSURE PLAYERS ARE NOT NEARBY - while {(count _allSpawnedUnits > 0 && count _allSpawnedGroups > 0)} do { - { - _unit = _x; - _cannotRemove = false; - { - if (_unit distance _x <= _MIN_DISTANCE_PLAYERS) exitwith { - _cannotRemove = true; - }; - }foreach _playerUnits; - - // force clean up if this loop has been running for 60 seconds already - if (!(_cannotRemove) || (time - _cleanUpStartTime > 60)) then { - if ({(_unit distance _x > _MAX_RADIUS)}count _playerUnits == count _playerUnits) then { - deleteVehicle _unit; - _allSpawnedUnits set [_foreachIndex, ObjNull]; - _unitsRemoved = _unitsRemoved + 1; - }; - }; - }foreach _allSpawnedUnits; - _allSpawnedUnits = _allSpawnedUnits - [objNull]; - { - if (count units _x == 0) then { - deleteGroup _x; - _allSpawnedGroups set [_foreachIndex, ObjNull]; - } else { - // HANDLE WAYPOINTS FOR GROUPS - - }; - }foreach _allSpawnedGroups; - _allSpawnedGroups = _allSpawnedGroups - [objNull]; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/battery.p3d b/TO_MERGE/cse/sys_advanced_interaction/battery.p3d deleted file mode 100644 index 1a0cf71a94..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/battery.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/Thumbs.db b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/Thumbs.db deleted file mode 100644 index b30616897b..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/Thumbs.db and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/biometricScannerDialog.hpp b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/biometricScannerDialog.hpp deleted file mode 100644 index 630b7a7263..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/biometricScannerDialog.hpp +++ /dev/null @@ -1,196 +0,0 @@ -// GBL_BiometricDialog -// Displays a HIIDE inderface for a biometric scan. -// by gobbo - -class cse_biometricScanner { - idd = 432231; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_biometricScanner', _this select 0];"; - - class controlsBackground { - class cse_backgroundImageScanner : cse_backgroundBase { - text = "cse\cse_sys_advanced_interaction\biometric_scanner\data\biometricScanner_background.paa"; - idc = 21314; - x = -0.3; - y = 0.2; - w = 1.6; - h = 1; - }; - - }; - - class controls { - - class cse_title: cse_staticBase { - idc = 100; - x = 0.29; - y = 0.45; - w = 0.33825; - h = 0.104575; - sizeEx = 0.04; - text = "HIIDE - "; - }; - class cse_subtitle: cse_staticBase { - idc = 101; - x = 0.29; - y = 0.49; - w = 0.33825; - h = 0.104575; - sizeEx = 0.025; - text = ""; - }; - - class cse_infoText1: cse_title { - idc = 111; - x = 100.3025; - y = 110.64; - w = 0.2; - h = 0.104575; - sizeEx = 0.03021; - text = ""; - style = ST_STATIC + ST_CENTER; - }; - class cse_infoText2: cse_infoText1 { - idc = 112; - x = 100.3025; - y = 110.69; - w = 0.2; - h = 0.104575; - sizeEx = 0.03021; - text = ""; - }; - - class cse_text1: cse_title { - idc = 121; - x = 100.3025; - y = 110.64; - w = 0.183825; - h = 0.104575; - sizeEx = 0.03021; - text = "NAME: "; - }; - class cse_text2: cse_text1 { - idc = 122; - x = 100.3025; - y = 110.69; - w = 0.183825; - h = 0.104575; - sizeEx = 0.03021; - text = "AGE: "; - }; - class cse_text3: cse_text1 { - idc = 123; - x = 100.3025; - y = 110.74; - w = 0.183825; - h = 0.104575; - sizeEx = 0.03021; - text = "Known Info: "; - }; - class cse_text4: cse_text1 { - idc = 124; - x = 100.3025; - y = 110.79; - w = 0.183825; - h = 0.104575; - sizeEx = 0.03021; - text = "Additional 1: "; - }; - class cse_text5: cse_text1 { - idc = 125; - x = 100.3025; - y = 110.84; - w = 0.183825; - h = 0.104575; - sizeEx = 0.03021; - text = "Additional 2: "; - }; - class cse_editableBox1: cse_editBase - { - idc = 701; - x = 100.42; - y = 110.68; - h = 0.03; - w = 0.3; - sizeEx = 0.03021; - text = ""; - autocomplete = ""; - }; - class cse_editableBox2: cse_editBase - { - idc = 702; - x = 100.42; - y = 110.73; - h = 0.03; - w = 0.3; - sizeEx = 0.03021; - text = ""; - autocomplete = ""; - }; - class cse_editableBox3: cse_editBase - { - idc = 703; - x = 100.42; - y = 110.78; - h = 0.03; - w = 0.3; - sizeEx = 0.03021; - text = ""; - autocomplete = ""; - }; - class cse_editableBox4: cse_editBase - { - idc = 704; - x = 100.42; - y = 110.83; - h = 0.03; - w = 0.3; - sizeEx = 0.03021; - text = ""; - autocomplete = ""; - }; - class cse_editableBox5: cse_editBase - { - idc = 705; - x = 100.42; - y = 110.88; - h = 0.03; - w = 0.3; - sizeEx = 0.03021; - text = ""; - autocomplete = ""; - }; - - class cse_option1 : cse_buttonBase { - idc = 151; - text = ""; - onButtonClick = ""; - x = 0.27; - y = 0.87; - w = 0.14; - h = 0.04; - color[] = {0.0, 0.0, 0.0, 1}; - color2[] = {0.0, 0.0, 0.0, 1}; - colorBackground[] = {1, 1, 1, 1}; - colorbackground2[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.5}; - animTextureNormal = "cse\cse_sys_advanced_interaction\biometric_scanner\data\scanner_button.paa"; - animTextureDisabled = "cse\cse_sys_advanced_interaction\biometric_scanner\data\scanner_button.paa"; - animTextureOver = "cse\cse_sys_advanced_interaction\biometric_scanner\data\scanner_button.paa"; - animTextureFocused = "cse\cse_sys_advanced_interaction\biometric_scanner\data\scanner_button.paa"; - animTexturePressed = "cse\cse_sys_advanced_interaction\biometric_scanner\data\scanner_button.paa"; - animTextureDefault = "cse\cse_sys_advanced_interaction\biometric_scanner\data\scanner_button.paa"; - }; - class cse_option2 : cse_option1 { - idc = 152; - text = ""; - x = 0.425; - }; - class cse_option3 : cse_option1 { - idc = 153; - text = ""; - x = 0.58; - }; - }; - objects[] = {}; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/biometricScanner_background.paa b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/biometricScanner_background.paa deleted file mode 100644 index 8931e0c8d5..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/biometricScanner_background.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/icon_biometricscanner.paa b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/icon_biometricscanner.paa deleted file mode 100644 index 424789eee8..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/icon_biometricscanner.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/scanner_button.paa b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/scanner_button.paa deleted file mode 100644 index 277ba5ab87..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/data/scanner_button.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/define.hpp b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/define.hpp deleted file mode 100644 index 49827e2dbd..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/define.hpp +++ /dev/null @@ -1,271 +0,0 @@ -// define.hpp - -#define true 1 -#define false 0 - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_ANIMATED_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define CT_LISTNBOX 102 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define ST_TITLE ST_TITLE_BAR + ST_CENTER - -// Slider styles -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 - -#define SL_TEXTURES 0x10 - -// Listbox styles -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontCSE "PuristaMedium" - -class cse_backgroundBase { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - colorBackground[] = {0,0,0,0}; - colorText[] = {1, 1, 1, 1}; - font = FontCSE; - text = ""; - sizeEx = 0.032; -}; - -class cse_editBase -{ - access = 0; - type = CT_EDIT; - style = ST_STATIC; - x = 0; - y = 0; - h = 1; - w = 1; - colorBackground[] = {0,0,0,0}; - colorText[] = {1,1,1,1}; - colorSelection[] = {1,1,1,0}; - colorDisabled[] = {1, 1, 1, 0.25}; - font = FontCSE; - sizeEx = 0.03921; - autocomplete = ""; - text = ""; - size = 0.03921; - shadow = 0; -}; - - -class cse_buttonBase { - idc = -1; - type = 16; - style = 0; - text = ""; - action = ""; - x = 0.0; - y = 0.0; - w = 0.2; - h = 0.04; - size = 0.03921; - sizeEx = 0.03921; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - colorBackground[] = {1, 1, 1, 0.6}; - colorbackground2[] = {1, 1, 1, 0.4}; - colorDisabled[] = {1, 1, 1, 0.25}; - colorFocused[] = {1,1,1,1}; - colorBackgroundFocused[] = {1,1,1,0.6}; - - periodFocus = 1.2; - periodOver = 0.8; - default = false; - class HitZone { - left = 0.00; - top = 0.00; - right = 0.00; - bottom = 0.00; - }; - - class ShortcutPos { - left = 0.00; - top = 0.00; - w = 0.00; - h = 0.00; - }; - - class TextPos { - left = 0.002; - top = 0.0004; - right = 0.0; - bottom = 0.00; - }; - textureNoShortcut = ""; - animTextureNormal = "cse\cse_gui\data\cse_cms_button.paa"; - animTextureDisabled = "cse\cse_gui\data\cse_cms_button.paa"; - animTextureOver = "cse\cse_gui\data\cse_cms_button.paa"; - animTextureFocused = "cse\cse_gui\data\cse_cms_button.paa"; - animTexturePressed = "cse\cse_gui\data\cse_cms_button.paa"; - animTextureDefault = "cse\cse_gui\data\cse_cms_button.paa"; - period = 0.5; - font = FontCSE; - soundEnter[] = {"\A3\ui_f\data\sound\onover",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\new1",0.0,0}; - soundClick[] = {"\A3\ui_f\data\sound\onclick",0.07,1}; - soundEscape[] = {"\A3\ui_f\data\sound\onescape",0.09,1}; - class Attributes { - font = FontCSE; - color = "#E5E5E5"; - align = "center"; - shadow = "true"; - }; - class AttributesImage { - font = FontCSE; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; -}; - - - -class cse_staticBase { - idc = -1; - type = CT_STATIC; - x = 0.0; - y = 0.0; - w = 0.183825; - h = 0.104575; - style = ST_LEFT; - font = FontCSE; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - text = ""; -}; - -class cse_listBoxBase { - type = CT_LISTBOX; - style = ST_MULTI; - font = FontCSE; - sizeEx = 0.03921; - color[] = {1, 1, 1, 1}; - colorText[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; - period = 1.2; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; - -class cse_comboBoxBase { - idc = -1; - type = 4; - style = 1; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - colorSelect[] = {0.023529,0,0.0313725,1}; - colorText[] = {0.023529,0,0.0313725,1}; - colorBackground[] = {0.95,0.95,0.95,1}; - colorSelectBackground[] = {0.543,0.5742,0.4102,1.0}; - colorScrollbar[] = {0.023529,0,0.0313725,1}; - arrowEmpty = ""; - arrowFull = ""; - wholeHeight = 0.45; - color[] = {0,0,0,0.6}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - font = FontCSE; - sizeEx = 0.031; - soundSelect[] = {"",0.09,1}; - soundExpand[] = {"",0.09,1}; - soundCollapse[] = {"",0.09,1}; - maxHistoryDelay = 1.0; - class ScrollBar - { - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScanStart.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScanStart.sqf deleted file mode 100644 index e7982c595d..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScanStart.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/* - NAME: fnc_biometricScanner - USAGE: opens the biometric Scanner dialog and starts up all functionality needed - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - - private ["_caller", "_cursor", "_interactionDialog", "_button1", "_button2", "_button3", "_textDisplays", "_infoDisplays", "_editableColums", "_positionCenter"]; - _caller = _this select 0; - _cursor = _this select 1; - CSE_biometricScannerTarget = _cursor; -ctrlSetText [100,"HIIDE - Scanning"]; - call cse_fnc_clearScreenBiometricScanner; - - disableSerialization; - _interactionDialog = uiNamespace getvariable "cse_biometricScanner"; - - _button1 = (_interactionDialog displayCtrl 151); - _button2 = (_interactionDialog displayCtrl 152); - _button3 = (_interactionDialog displayCtrl 153); - - // adjusting positions: - _textDisplays = [(_interactionDialog displayCtrl 111),(_interactionDialog displayCtrl 112)]; - _infoDisplays = [(_interactionDialog displayCtrl 121),(_interactionDialog displayCtrl 122),(_interactionDialog displayCtrl 123), - (_interactionDialog displayCtrl 124),(_interactionDialog displayCtrl 125)]; - _editableColums = [(_interactionDialog displayCtrl 701),(_interactionDialog displayCtrl 702),(_interactionDialog displayCtrl 703), - (_interactionDialog displayCtrl 704),(_interactionDialog displayCtrl 705)]; - - - - _button1 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_hiideMainMenu"]]; - - // LOGIN FUNCTIONALITY - _button1 ctrlSetText "Cancel"; - _button2 ctrlSetText ""; - _button3 ctrlSetText ""; - - _positionCenter = [0.35,0.54]; - { - _x ctrlSetPosition _positionCenter; - _positionCenter = [_positionCenter select 0, (_positionCenter select 1) + 0.05]; - }foreach _textDisplays; - (_interactionDialog displayCtrl 111) ctrlSetText "Scanning Database"; - (_interactionDialog displayCtrl 112) ctrlSetText "Please Wait"; - - (_interactionDialog displayCtrl 111) ctrlCommit 0.0001; - (_interactionDialog displayCtrl 112) ctrlCommit 0.0001; - - sleep 2 + random(10); - if (!dialog) exitwith{}; - - [player,CSE_biometricScannerTarget] call cse_fnc_biometricScannerInfo; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScanner.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScanner.sqf deleted file mode 100644 index 54aa84a87d..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScanner.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/* - NAME: fnc_biometricScanner - USAGE: opens the biometric Scanner dialog and starts up all functionality needed - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - -private ["_caller","_cursor"]; -_caller = _this select 0; -_cursor = _this select 1; -CSE_biometricScannerTarget = _cursor; -[] call cse_fnc_closeAllDialogs_f; -createDialog "cse_biometricScanner"; - -if (isnil ("cse_biometricScannerLogin")) then { - cse_biometricScannerLogin = false; -}; - -if (cse_biometricScannerLogin) then { - [player,CSE_biometricScannerTarget] call cse_fnc_hiideMainMenu; -} else { - call cse_fnc_biometricScannerLoginScreen; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerInfo.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerInfo.sqf deleted file mode 100644 index bc5fc90bdb..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerInfo.sqf +++ /dev/null @@ -1,77 +0,0 @@ -/* - NAME: fnc_biometricScanner - USAGE: opens the biometric Scanner dialog and starts up all functionality needed - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - - private ["_caller","_cursor"]; - _caller = _this select 0; - _cursor = _this select 1; - - call cse_fnc_clearScreenBiometricScanner; - - ctrlSetText [100,"HIIDE - Details"]; - - - disableSerialization; - _interactionDialog = uiNamespace getvariable "cse_biometricScanner"; - - _button1 = (_interactionDialog displayCtrl 151); - _button2 = (_interactionDialog displayCtrl 152); - _button3 = (_interactionDialog displayCtrl 153); - - // adjusting positions: - _textDisplays = [(_interactionDialog displayCtrl 111),(_interactionDialog displayCtrl 112)]; - _infoDisplays = [(_interactionDialog displayCtrl 121),(_interactionDialog displayCtrl 122),(_interactionDialog displayCtrl 123), - (_interactionDialog displayCtrl 124),(_interactionDialog displayCtrl 125)]; - _editableColums = [(_interactionDialog displayCtrl 701),(_interactionDialog displayCtrl 702),(_interactionDialog displayCtrl 703), - (_interactionDialog displayCtrl 704),(_interactionDialog displayCtrl 705)]; - - - - _button1 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_hiideMainMenu"]]; // logout - _button3 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_saveSettingsBiometric"]]; // scan something - - // LOGIN FUNCTIONALITY - _button1 ctrlSetText "Cancel"; - _button2 ctrlSetText ""; - _button3 ctrlSetText "Save"; - - _counter = 0; - _leftText = ["Name","DOB","Known Info","Additional"]; - _positionCenter = [0.3,0.54]; - { - if (_counter < count _leftText) then { - _x ctrlSetPosition _positionCenter; - _positionCenter = [_positionCenter select 0, (_positionCenter select 1) + 0.05]; - _x ctrlCommit 0.0001; - _x ctrlSetText (_leftText select _counter); - }; - _counter = _counter + 1; - }foreach _infoDisplays; - - _text = _cursor getvariable "cse_biometricScannerInfo"; - if (!isnil ("_text")) then { - ctrlSetText [701, _text select 0]; - ctrlSetText [702,_text select 1]; - ctrlSetText [703,_text select 2]; - ctrlSetText [704,_text select 3]; - ctrlSetText [705,_text select 4]; - ctrlSetText [101,"Entry in database found"]; - } else { - ctrlSetText [101,"No Entry in database found - Please fill in details"]; - }; - - _counter = 0; - _positionCenter = [0.42,0.58]; - { - if (_counter < count _leftText) then { - _x ctrlSetPosition _positionCenter; - _positionCenter = [_positionCenter select 0, (_positionCenter select 1) + 0.05]; - _x ctrlCommit 0.0001; - }; - _counter = _counter + 1; - }foreach _editableColums; diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerLogin.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerLogin.sqf deleted file mode 100644 index f484462ab6..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerLogin.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/* - NAME: fnc_biometricScannerLogin - USAGE: checks if the username and password have been typed correctly - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - -private ["_caller","_cursor","_return","_foundName"]; -_caller = _this select 0; -_cursor = _this select 1; -_return = false; -cse_biometricScannerLogin = false; - -_inputName = ctrlText 701; -_inputPass = ctrlText 702; - -_foundName = ""; -_foundUnit = ""; -if (Ismultiplayer) then { - { - if (isPlayer _x) then { - if ([_x] call cse_fnc_getName == _inputName) then { - _foundName = [_x] call cse_fnc_getName; - _foundUnit = _x; - }; - }; - }foreach playableUnits; -} else { - _foundName = [player] call cse_fnc_getName; - _foundUnit = player; -}; - -if (_foundName != _inputName) exitwith { - hint "Username incorrect!"; -}; - -if (_inputPass == "Password") then { - hint "Password and Username correct!"; - _return = true; -} else { - hint "Wrong Password!"; -}; - -if (_return) then { - [player,CSE_biometricScannerTarget] call cse_fnc_hiideMainMenu; - cse_biometricScannerLogin = true; -}; -[] spawn { - sleep 5; - hintSilent ""; -}; diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerLoginScreen.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerLoginScreen.sqf deleted file mode 100644 index 2796ef4b0d..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_biometricScannerLoginScreen.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - NAME: fnc_biometricScannerLoginScreen - USAGE: checks if the username and password have been typed correctly - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - -call cse_fnc_clearScreenBiometricScanner; -ctrlSetText [100,"HIIDE - Login"]; -disableSerialization; -_interactionDialog = uiNamespace getvariable "cse_biometricScanner"; -_button1 = (_interactionDialog displayCtrl 151); -_button2 = (_interactionDialog displayCtrl 152); -_button3 = (_interactionDialog displayCtrl 153); - -_button1 ctrlSetEventHandler ["ButtonClick", "closedialog 21314"]; -_button2 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_hiideMainMenu"]]; -_button3 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_biometricScannerLogin"]]; - -// LOGIN FUNCTIONALITY -_button1 ctrlSetText "Cancel"; -_button2 ctrlSetText "Iris Login"; -_button3 ctrlSetText "Login"; - - -(_interactionDialog displayCtrl 121) ctrlSetPosition [0.3,0.54]; -(_interactionDialog displayCtrl 121) ctrlCommit 0.0001; -(_interactionDialog displayCtrl 121) ctrlSetText "Username"; - -(_interactionDialog displayCtrl 122) ctrlSetposition [0.3,0.59]; -(_interactionDialog displayCtrl 122) ctrlCommit 0.0001; -(_interactionDialog displayCtrl 122) ctrlSetText "Password"; - -(_interactionDialog displayCtrl 701) ctrlSetposition [0.42,0.58]; -(_interactionDialog displayCtrl 701) ctrlCommit 0.0001; - -(_interactionDialog displayCtrl 702) ctrlSetposition [0.42,0.63]; -(_interactionDialog displayCtrl 702) ctrlCommit 0.0001; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_cancelBiometric.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_cancelBiometric.sqf deleted file mode 100644 index 7d84781973..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_cancelBiometric.sqf +++ /dev/null @@ -1,14 +0,0 @@ -/* - NAME: fnc_biometricScanner - USAGE: opens the biometric Scanner dialog and starts up all functionality needed - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - - private ["_caller","_cursor"]; - _caller = _this select 0; - _cursor = _this select 1; - -hint "cancel biometric "; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_clearScreenBiometricScanner.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_clearScreenBiometricScanner.sqf deleted file mode 100644 index c83303add8..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_clearScreenBiometricScanner.sqf +++ /dev/null @@ -1,52 +0,0 @@ - -/** - * fnc_clearScreenBiometricScanner.sqf - * @Descr: Clears the screen on the biometric scanner of all ctrl objects - * @Author: Glowbal - * - * @Arguments: [] - * @Return: nil - * @PublicAPI: false - */ - - -private ["_interactionDialog","_button1","_button2","_button3","_textDisplays","_infoDisplays","_editableColums"]; - -disableSerialization; -_interactionDialog = uiNamespace getvariable "cse_biometricScanner"; -_button1 = (_interactionDialog displayCtrl 151); -_button2 = (_interactionDialog displayCtrl 152); -_button3 = (_interactionDialog displayCtrl 153); - -// adjusting positions: -_textDisplays = [(_interactionDialog displayCtrl 111),(_interactionDialog displayCtrl 112)]; -_infoDisplays = [(_interactionDialog displayCtrl 121),(_interactionDialog displayCtrl 122),(_interactionDialog displayCtrl 123), - (_interactionDialog displayCtrl 124),(_interactionDialog displayCtrl 125)]; -_editableColums = [(_interactionDialog displayCtrl 701),(_interactionDialog displayCtrl 702),(_interactionDialog displayCtrl 703), - (_interactionDialog displayCtrl 704),(_interactionDialog displayCtrl 705)]; - -_position = [100.0,100.0]; -{ - _x ctrlsetText ""; - _x ctrlSetPosition _position; - _x ctrlCommit 0; -}foreach _textDisplays; -{ - _x ctrlSetPosition _position; - _x ctrlsetText ""; - _x ctrlCommit 0; - -}foreach _infoDisplays; -{ - _x ctrlsetText ""; - _x ctrlSetPosition _position; - _x ctrlCommit 0; -}foreach _editableColums; - -_button1 ctrlRemoveAllEventHandlers "ButtonClick"; -_button2 ctrlRemoveAllEventHandlers "ButtonClick"; -_button3 ctrlRemoveAllEventHandlers "ButtonClick"; -_button1 ctrlSetText ""; -_button2 ctrlSetText ""; -_button3 ctrlSetText ""; -ctrlSetText [101,""]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_conditionBiometricScanner.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_conditionBiometricScanner.sqf deleted file mode 100644 index cf47702902..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_conditionBiometricScanner.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/* - NAME: fnc_conditionBiometricScanner - USAGE: checks if unit can be checked with a biometric scanner - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: boolean -*/ - - - private ["_caller","_cursor"]; - _caller = _this select 0; - _cursor = _this select 1; - _return = false; - - if (_cursor iskindof "man" && group _cursor != group _caller) then { - _return = true; - }; - _return diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_hiideMainMenu.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_hiideMainMenu.sqf deleted file mode 100644 index bd86215877..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_hiideMainMenu.sqf +++ /dev/null @@ -1,50 +0,0 @@ -/* - NAME: fnc_biometricScanner - USAGE: opens the biometric Scanner dialog and starts up all functionality needed - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - - private ["_caller","_cursor"]; - _caller = _this select 0; - _cursor = _this select 1; - CSE_biometricScannerTarget = _cursor; - - disableSerialization; - _interactionDialog = uiNamespace getvariable "cse_biometricScanner"; - call cse_fnc_clearScreenBiometricScanner; - ctrlSetText [100,"HIIDE - Menu"]; - _button1 = (_interactionDialog displayCtrl 151); - _button2 = (_interactionDialog displayCtrl 152); - _button3 = (_interactionDialog displayCtrl 153); - -// adjusting positions: -_textDisplays = [(_interactionDialog displayCtrl 111),(_interactionDialog displayCtrl 112)]; -_infoDisplays = [(_interactionDialog displayCtrl 121),(_interactionDialog displayCtrl 122),(_interactionDialog displayCtrl 123), - (_interactionDialog displayCtrl 124),(_interactionDialog displayCtrl 125)]; -_editableColums = [(_interactionDialog displayCtrl 701),(_interactionDialog displayCtrl 702),(_interactionDialog displayCtrl 703), - (_interactionDialog displayCtrl 704),(_interactionDialog displayCtrl 705)]; - - - - _button1 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_biometricScannerLoginScreen; cse_biometricScannerLogin = false;"]]; - _button2 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_biometricScanStart"]]; // scan something - _button3 ctrlSetEventHandler ["ButtonClick", format["[player,CSE_biometricScannerTarget] spawn cse_fnc_biometricScanStart"]]; // scan something - - _button1 ctrlSetText "Logout"; - _button2 ctrlSetText "Scan Hands"; - _button3 ctrlSetText "Scan Iris"; - - - _positionCenter = [0.35,0.54]; - { - _x ctrlSetPosition _positionCenter; - _positionCenter = [_positionCenter select 0, (_positionCenter select 1) + 0.05]; - }foreach _textDisplays; - - (_interactionDialog displayCtrl 111) ctrlSetText "You are now logged in"; - (_interactionDialog displayCtrl 112) ctrlSetText "Select any option below to begin"; - (_interactionDialog displayCtrl 111) ctrlCommit 0.0001; - (_interactionDialog displayCtrl 112) ctrlCommit 0.0001; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_saveSettingsBiometric.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_saveSettingsBiometric.sqf deleted file mode 100644 index 48a303ccd5..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/fnc_saveSettingsBiometric.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* - NAME: fnc_biometricScanner - USAGE: Saves the information of the biometric scanner for _cursor UNIT - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - - private ["_caller","_cursor"]; - _caller = _this select 0; - _cursor = _this select 1; - - -_text1 = ctrlText 701; -_text2 = ctrlText 702; -_text3 = ctrlText 703; -_text4 = ctrlText 704; -_text5 = ctrlText 705; - -_cursor setvariable ["cse_biometricScannerInfo",[_text1,_text2,_text3,_text4,_text5],true]; -hint "Saved biometric"; - -[format["AIM - Biometric Scanner Saving. Target: %1 Information: %2",_cursor,[_text1,_text2,_text3,_text4,_text5]],2] call cse_fnc_debug; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/functions.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/functions.sqf deleted file mode 100644 index 7eb977eda8..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/functions.sqf +++ /dev/null @@ -1,12 +0,0 @@ - -cse_fnc_biometricScanner = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_biometricScanner.sqf"; -cse_fnc_conditionBiometricScanner = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_conditionBiometricScanner.sqf"; -cse_fnc_saveSettingsBiometric = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_saveSettingsBiometric.sqf"; -cse_fnc_cancelBiometric = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_cancelBiometric.sqf"; -cse_fnc_hiideMainMenu = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_hiideMainMenu.sqf"; -cse_fnc_clearScreenBiometricScanner = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_clearScreenBiometricScanner.sqf"; -cse_fnc_biometricScanStart = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_biometricScanStart.sqf"; -cse_fnc_biometricScannerInfo = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_biometricScannerInfo.sqf"; -cse_fnc_biometricScannerLogin = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_biometricScannerLogin.sqf"; -cse_fnc_biometricScannerLoginScreen = compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\fnc_biometricScannerLoginScreen.sqf"; - diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/init.sqf b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/init.sqf deleted file mode 100644 index bfcf654d80..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/init.sqf +++ /dev/null @@ -1,6 +0,0 @@ - - -call compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\functions.sqf"; - - [format["AIM - Biometric Scanner Component initialisation completed"],3] call cse_fnc_debug; - diff --git a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/scanner.png b/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/scanner.png deleted file mode 100644 index d8d304b120..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/biometric_scanner/scanner.png and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/config.cpp b/TO_MERGE/cse/sys_advanced_interaction/config.cpp deleted file mode 100644 index adcc70ea9e..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/config.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#define _ARMA_ -class CfgPatches -{ - class cse_sys_advanced_interaction - { - units[] = {"cse_advancedInteractionItems", "cse_KeycuffsItem", "cse_HIIDEItem", "cse_oldphoneItem", "cse_oldphone_foldedItem", "cse_watch_expensiveItem", "cse_walletItem", "cse_9v_batteryItem", "cse_notebookItem", "cse_scissorsItem", "cse_wiresItem"}; - weapons[] = {"cse_Keycuffs", "cse_HIIDE", "cse_oldphone", "cse_oldphone_folded", "cse_watch_expensive", "cse_wallet", "cse_9v_battery", "cse_notebook", "cse_scissors", "cse_wires"}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui","cse_main"}; - version = "0.10.0"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; - class cse_moduleAmbientCivilians - { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui","cse_main"}; - version = "0.10.0"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -#include "CfgAddOns.h" -#include "CfgVehicles.h" -#include "Combat_Space_Enhancement.h" -#include "GUI.h" - -// Here for backwards compatability. To be removed at a later moment. -// #include "CfgMagazines.h" - -#include "CfgWeapons.h" -#include "CfgFunctions.h" -#include "CfgSounds.h" - -// EOF \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/data/battery_co.paa b/TO_MERGE/cse/sys_advanced_interaction/data/battery_co.paa deleted file mode 100644 index 58a57b8333..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/data/battery_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/data/hiide_back.paa b/TO_MERGE/cse/sys_advanced_interaction/data/hiide_back.paa deleted file mode 100644 index 980599cdfe..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/data/hiide_back.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/data/hiide_side.paa b/TO_MERGE/cse/sys_advanced_interaction/data/hiide_side.paa deleted file mode 100644 index fc6c3866b8..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/data/hiide_side.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/data/mobile-folded.paa b/TO_MERGE/cse/sys_advanced_interaction/data/mobile-folded.paa deleted file mode 100644 index 2bf3e3c9cf..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/data/mobile-folded.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/data/mobile.paa b/TO_MERGE/cse/sys_advanced_interaction/data/mobile.paa deleted file mode 100644 index 2752620925..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/data/mobile.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/data/mobile_folded_side.paa b/TO_MERGE/cse/sys_advanced_interaction/data/mobile_folded_side.paa deleted file mode 100644 index 13cf71bdf3..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/data/mobile_folded_side.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/dialog_module/init.sqf b/TO_MERGE/cse/sys_advanced_interaction/dialog_module/init.sqf deleted file mode 100644 index d0acf782ad..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/dialog_module/init.sqf +++ /dev/null @@ -1,20 +0,0 @@ - - -if (Isnil ("cse_stance_systemBlufor")) then {cse_stance_systemBlufor = 10;}; -if (Isnil ("cse_stance_systemOpfor")) then {cse_stance_systemOpfor = 10;}; -if (Isnil ("cse_stance_systemRes")) then {cse_stance_systemRes = 10; }; - -[format["AIM - Conversation Component initialisation completed"],3] call cse_fnc_debug; - - -if (!isnil "CSE_SYS_AIM_DIALOG_MODULE_TALKTO_AIM") then { - player removeAction CSE_SYS_AIM_DIALOG_MODULE_TALKTO_AIM; - CSE_SYS_AIM_DIALOG_MODULE_TALKTO_AIM = nil; -}; -CSE_SYS_AIM_DIALOG_MODULE_TALKTO_AIM = player addAction ["Talk to", {[cursorTarget, _this select 1] call cse_fnc_playerStartConverationWith_AIM;}, [], 1, false, false, "", "((cursortarget isKindOf 'CAManBase') && [cursortarget] call cse_fnc_isAwake && !(IsPlayer cursorTarget))"]; - - -["cse_profile_information_aim", [], true, "aim"] call cse_fnc_defineVariable; -["cse_dialog_recorded_conversation_aim", [], false, "aim"] call cse_fnc_defineVariable; - -CSE_PERFORMING_TALKING_ACTION_AIM = false; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/dialog_module/talking_lines_default.sqf b/TO_MERGE/cse/sys_advanced_interaction/dialog_module/talking_lines_default.sqf deleted file mode 100644 index 6cfb9060da..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/dialog_module/talking_lines_default.sqf +++ /dev/null @@ -1,5 +0,0 @@ - -/** -* This file is here temporarly. It will be replaced by config entries in the near future. -* -*/ diff --git a/TO_MERGE/cse/sys_advanced_interaction/fn_aim_init.sqf b/TO_MERGE/cse/sys_advanced_interaction/fn_aim_init.sqf deleted file mode 100644 index ab9bdb70c5..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/fn_aim_init.sqf +++ /dev/null @@ -1,142 +0,0 @@ -private ["_args"]; -_args = _this; -CSE_ENABLED_DIALOG_INTERACTION_AIM = true; -CSE_USE_EQUIPMENT_AIM = false; -CSE_BIOMETRIC_SCANNER_SETTING_AIM = 0; -CSE_DETAIN_SETTING_AIM = 0; -CSE_SEARCH_SETTING_AIM = 0; - -{ - _value = _x select 1; - if (!isnil "_value") then { - if (_x select 0 == "enableDetain") exitwith { - CSE_DETAIN_SETTING_AIM = _value; - if ((_x select 1) > 0) then { - CSE_ENABLED_DETAIN_AIM = true; - } else { - CSE_ENABLED_DETAIN_AIM = false; - }; - }; - - if (_x select 0 == "enableSearch") exitwith { - CSE_SEARCH_SETTING_AIM = _value; - if ((_x select 1) > 0) then { - CSE_ENABLED_SEARCH_AIM = true; - } else { - CSE_ENABLED_SEARCH_AIM = false; - }; - }; - - if (_x select 0 == "enableBiometric") exitwith { - CSE_BIOMETRIC_SCANNER_SETTING_AIM = _x select 1; - if ((_x select 1) > 0) then { - CSE_ENABLED_BIOMETRIC_SCANNER_AIM = true; - } else { - CSE_ENABLED_BIOMETRIC_SCANNER_AIM = false; - }; - }; - if (_x select 0 == "enableConversation") exitwith { - CSE_ENABLED_DIALOG_INTERACTION_AIM = (_x select 1); - }; - - if (_x select 0 == "useEquipment") exitwith { - CSE_USE_EQUIPMENT_AIM = (_x select 1); - }; -} ; -}foreach _args; - -[format["AIM - Advanced Interaction initialisation started"],3] call cse_fnc_debug; -waituntil{!isnil "cse_gui"}; - -[format["AIM - Advanced Interaction initialisation completed"],3] call cse_fnc_debug; - - -cse_fnc_action_openBiometricScanner_AIM = { - private ["_target"]; - if (CSE_ENABLED_BIOMETRIC_SCANNER_AIM && (!CSE_USE_EQUIPMENT_AIM || [player, "cse_HIDDE"] call cse_fnc_hasItem)) then { - _target = cursorTarget; - if (!iSNull _target) then { - if ((_target isKindOf "CAManBase") && ((player distance _target) < 10)) then { - [player,_target] call cse_fnc_biometricScanner; - }; - }; - }; -}; - -if (CSE_ENABLED_BIOMETRIC_SCANNER_AIM) then { - - call compile preprocessFile "cse\cse_sys_advanced_interaction\biometric_scanner\init.sqf"; - _entries = [ - ["Biometric", - { - ([_this select 0, _this select 1, CSE_BIOMETRIC_SCANNER_SETTING_AIM, "cse_HIDDE"] call cse_fnc_canPerformAction_AIM) - }, "cse\cse_sys_advanced_interaction\biometric_scanner\data\icon_biometricscanner.paa", - { closeDialog 0; [(_this select 0),(_this select 1)] call cse_fnc_biometricScanner; }, "Use Biometric Scanner"] - ]; - ["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; - -if (CSE_ENABLED_SEARCH_AIM) then { - _entries = [ - ["Search", - { ([_this select 0, _this select 1, CSE_SEARCH_SETTING_AIM, ""] call cse_fnc_canPerformAction_AIM) }, CSE_ICON_PATH + "icon_search.paa", - { - closeDialog 0; [(_this select 0),(_this select 1)] call cse_fnc_searchPerson_AIM; - },"Search Person"] - ]; - ["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; - -if (CSE_ENABLED_DIALOG_INTERACTION_AIM) then { - call compile preprocessFile "cse\cse_sys_advanced_interaction\dialog_module\init.sqf"; - _entries = [ - ["Speak",{(((_this select 1) iskindof "CaManBase") && {((player distance (_this select 1)) < 10)} && {((_this select 1) != (_this select 0))} && {!Isplayer (_this select 1)})}, CSE_ICON_PATH + "icon_speak.paa", - { - if ([_this select 1] call cse_fnc_isAwake) then { - closeDialog 0; [_this select 1, player] call cse_fnc_playerStartConverationWith_AIM; - }; - },"Speak with Person"] - ]; - ["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; - -if (CSE_ENABLED_DETAIN_AIM) then { - _entries = [ - ["Arrest",{[player, _this select 1] call cse_fnc_canDetain}, CSE_ICON_PATH + "icon_handcuffs.paa", - { - closeDialog 0; [(_this select 0),(_this select 1)] call cse_fnc_arrest_AIM; - },"Arrest Person"], - - ["Release",{[player, _this select 1] call cse_fnc_canPerformArrestActions_AIM}, CSE_ICON_PATH + "icon_handcuffs.paa", - { - closeDialog 0; [(_this select 0),(_this select 1)] call cse_fnc_release_AIM; - },"Release Person"], - - ["Move",{[player, _this select 1] call cse_fnc_canPerformArrestActions_AIM}, CSE_ICON_PATH + "icon_movement.paa", - { - closeDialog 0; [(_this select 0),(_this select 1)] call cse_fnc_move_AIM; - },"Move Person"], - ["Place",{[player, _this select 1] call cse_fnc_canPerformArrestActions_AIM}, CSE_ICON_PATH + "icon_placedown.paa", - { - closeDialog 0; [(_this select 0),(_this select 1)] call cse_fnc_placedown_AIM; - },"Place down"], - ["Load",{[player, _this select 1] call cse_fnc_canPerformArrestActions_AIM}, CSE_ICON_PATH + "icon_place_in.paa", - { - closeDialog 0; [(_this select 0),(_this select 1)] call cse_fnc_load_AIM; - },"Load in nearby vehicle"] - ]; - ["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - - _entries = [ - ["Unload (Pris)", {((_this call cse_fnc_interactWithVehicle_Crew_Condition) && (count ((_this select 1) getvariable ["cse_loaded_detainees_AIM",[]]) > 0))}, CSE_ICON_PATH + "icon_open_dialog.paa", - { - closeDialog 0; - _loaded = ((_this select 1) getvariable ["cse_loaded_detainees_AIM",[]]); - { - [player,_x,false] call cse_fnc_unload_AIM; - }foreach _loaded - }, "Unload Prisoners"] - ]; - ["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_addToConversationLog_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_addToConversationLog_AIM.sqf deleted file mode 100644 index ac404ff451..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_addToConversationLog_AIM.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_addToConversationLog_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_caller","_type","_activity","_log"]; -_unit = _this select 0; -_nameOf = _this select 1; -_message = _this select 2; - -_log = [_unit,"cse_dialog_recorded_conversation_aim"] call cse_fnc_getVariable; -if (count _log >= 12) then { - _newLog = []; - _counter = 0; - { - if (_counter > 0) then { - _newLog pushback _x; - } else { - _counter = _counter + 1; - }; - }foreach _log; - _log = _newLog; -}; -_log set [count _log, [_nameOf,_message]]; - -[_unit,"cse_dialog_recorded_conversation_aim",_log] call cse_fnc_setVariable; diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_arrest_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_arrest_aim.sqf deleted file mode 100644 index 60c6fdb953..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_arrest_aim.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - NAME: fnc_setArrested - USAGE: switches state of unit to arrested - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - -private ["_caller","_cursor"]; -_caller = _this select 0; -_target = _this select 1; - -playSound "cse_cable_tie_zipping"; - -[_target, true] call cse_fnc_setArrestState; -hint format["You arrrest this person"]; - -if (CSE_USE_EQUIPMENT_AIM) then { - [_caller, "cse_Keycuffs", false] call cse_fnc_useItem; -}; diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_callForSurrender_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_callForSurrender_AIM.sqf deleted file mode 100644 index 749de803c9..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_callForSurrender_AIM.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/** - * fn_callForSurrender_AIM.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define DISTANCE_AWAY 50 - -// TODO add missing variables to private array -private ["_nearest"]; -_nearest = (player nearEntities [["CAManBase"], DISTANCE_AWAY]); - -_amountOpfor = {side _x == EAST} count _nearest; -_amountBlufor = {side _x == west} count _nearest; -_amountInd = {side _x == independent} count _nearest; - -_amountOfSideCaller = switch (playerSide) do { - case west: {_amountOpfor}; - case east: {_amountBlufor}; - case independent: {_amountInd}; - default {0}; -}; -if (_amountOfSideCaller == 0) exitwith {}; - -{ - if (side _x != playerSide && !(isPlayer _x)) then { - if (!(lineIntersects [eyePos player, eyePos _x, _x, player]) || (random(1)>=0.75)) then { - - _amountOfSideTarget = switch (side _x) do { - case west: {_amountOpfor}; - case east: {_amountBlufor}; - case independent: {_amountInd}; - default {0}; - }; - _magCount = count magazines _x; - _allWeapons = weapons _x; - _availableMags = 0; - { - if (isArray (configFile >> "CfgWeapons" >> _x >> "magazines")) then { - _magazineArray = getArray (configFile >> "CfgWeapons" >> _x >> "magazines"); - _canFitInWeapon = {_x in _magazineArray} count _magCount; - _availableMags = _availableMags + _canFitInWeapon; - }; - }foreach _allWeapons; - - if (_amountOfSideTarget / _amountOfSideCaller <= (0.1) + random(0.1)) then { - if (_availableMags <= 1) then { - // unit is out as well, so surrender here. - [format["UNIT %1 is surrendering", _x]] call cse_fnc_debug; - - // TODO implement surrender functionality - }; - }; - - }; - }; -}count _nearest; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canDetain.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canDetain.sqf deleted file mode 100644 index 974540cea5..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canDetain.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_canDetain.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_target", "_caller"]; -_caller = _this select 0; -_target = _this select 1; - - -([_caller, _target, CSE_DETAIN_SETTING_AIM, "cse_Keycuffs"] call cse_fnc_canPerformAction_AIM) && !([_target] call cse_fnc_isArrested); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canPerformAction_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canPerformAction_AIM.sqf deleted file mode 100644 index bd2fbfb892..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canPerformAction_AIM.sqf +++ /dev/null @@ -1,28 +0,0 @@ -/** - * fn_canPerformAction_AIM.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -private [ "_caller", "_target", "_return", "_settingNumber", "_item"]; -_caller = _this select 0; -_target = _this select 1; -_settingNumber = _this select 2; -_item = _this select 3; - -if ((_target iskindof "CaManBase") && {((_caller distance _target) < 10)} && (_caller != _target) && (!CSE_USE_EQUIPMENT_AIM || [_caller, _item] call cse_fnc_hasItem || _item == "")) exitwith { - - _return = switch (_settingNumber ) do { - case 3: {true}; - case 2: {side _caller != side _target}; - case 1: {!(isPlayer _target)}; - case 0: {side _caller != side _target && !(isPlayer _target)}; - default { false }; - }; - _return -}; -false; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canPerformArrestActions_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canPerformArrestActions_AIM.sqf deleted file mode 100644 index 62c1cd179c..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_canPerformArrestActions_AIM.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * fn_canPerformArrestActions_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_target", "_caller"]; -_caller = _this select 0; -_target = _this select 1; - - -([_caller, _target, CSE_DETAIN_SETTING_AIM, ""] call cse_fnc_canPerformAction_AIM) && ([_target] call cse_fnc_isArrested); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_dialogMovementOrder_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_dialogMovementOrder_AIM.sqf deleted file mode 100644 index 45dd2406c4..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_dialogMovementOrder_AIM.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_dialogMovementOrder_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_target","_order"]; -_target = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; -_order = [_this, 1, "",[""]] call BIS_fnc_Param; - -switch (_order) do { - case "Stop": { - _target stop true; - }; - case "Move": { - _target stop false; - }; - default { - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_disarmPerson_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_disarmPerson_AIM.sqf deleted file mode 100644 index cf63b2d13f..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_disarmPerson_AIM.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_disarmPerson_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_caller","_cursor", "_weaponHolder"]; -_caller = _this select 0; -_target = _this select 1; - -_weaponHolder = createVehicle ["GroundWeaponHolder" , getPos _target, [], 0, "NONE"]; - -{ - _target action ["DropWeapon", _weaponHolder, _X]; -}foreach weapons _target; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_displayArrestOptions_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_displayArrestOptions_aim.sqf deleted file mode 100644 index 29943eace0..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_displayArrestOptions_aim.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_displayArrestOptions_aim.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - _subMenus = [ - ["Arrest",{!(CSE_interactionTarget getvariable ["cse_unitArrested",false])}, - { - [(_this select 0),(_this select 1)] call cse_fnc_arrest_AIM; - - }], - - ["Release",{(CSE_interactionTarget getvariable ["cse_unitArrested",false])},{ - [(_this select 0),(_this select 1)] call cse_fnc_release_AIM; - }], - - ["Move",{(CSE_interactionTarget getvariable ["cse_unitArrested",false])},{ - [(_this select 0),(_this select 1)] call cse_fnc_move_AIM; - }], - - ["Place down",{(CSE_interactionTarget getvariable ["cse_unitArrested",false])},{ - [(_this select 0),(_this select 1)] call cse_fnc_placedown_AIM; - }] - ]; - ["Arresting",_this select 2,_subMenus] call cse_fnc_gui_displaySubMenuButtons; - diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_fillDialogWithConversationLines_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_fillDialogWithConversationLines_AIM.sqf deleted file mode 100644 index 6a8b2e7786..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_fillDialogWithConversationLines_AIM.sqf +++ /dev/null @@ -1,28 +0,0 @@ -/** - * fn_fillDialogWithConversationLines_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_display","_target","_list","_conversation"]; -_target = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; - -disableSerialization; -_display = uiNamespace getvariable "cse_dialog_menu_aim"; -_list = _display displayCtrl 200; - -while {dialog} do { - - lbClear 200; - _conversation = _target getvariable ["cse_dialog_recorded_conversation_aim",[]]; - { - _list lbAdd format["%1:",(_x select 0)]; - _list lbAdd (_x select 1); // should localize here! - }foreach _conversation; - - uisleep 0.1; // got to put this in a oneachframe EH instead! -}; diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_generateProfileInformation_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_generateProfileInformation_AIM.sqf deleted file mode 100644 index 42d5aa7939..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_generateProfileInformation_AIM.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/** - * fn_generateProfileInformation_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define SELECT_RANDOM_ITEM(ARRAY) ARRAY select (round(random(count ARRAY -1))); - -private ["_unit","_occupation","_dateOfBirth","_politicalViews","_culture","_homeTown", "_availableCultures","_availableOccupations", "_availablePoliticalStances", "_availableSidesToSupport", "_availableHomeTown", "_supportedSides", "_profile"]; -_unit = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; - -_occupation = "Soldier"; -_dateOfBirth = "0/0/0"; -_politicalViews = ["Unknown"]; -_culture = "Unknown"; -_homeTown = "Unknown"; - -_sideOfUnit = side _unit; -_factionOfUnit = faction _unit; - -_availableCultures = [_unit, _sideOfUnit, _factionOfUnit,"Cultures"] call cse_fnc_getAvailableProfileSetsFor_AIM; -_availableOccupations = [_unit, _sideOfUnit, _factionOfUnit,"Occupations"] call cse_fnc_getAvailableProfileSetsFor_AIM; -_availablePoliticalStances = [_unit, _sideOfUnit, _factionOfUnit,"PoliticalViews"] call cse_fnc_getAvailableProfileSetsFor_AIM; -_availableSidesToSupport = [_unit, _sideOfUnit, _factionOfUnit,"SupportedSides"] call cse_fnc_getAvailableProfileSetsFor_AIM; -_availableHomeTown = [_unit, _sideOfUnit, _factionOfUnit,"homeTown"] call cse_fnc_getAvailableProfileSetsFor_AIM; - - -_occupation = SELECT_RANDOM_ITEM(_availableOccupations); -_dateOfBirth = SELECT_RANDOM_ITEM(["Unknown"]); -_politicalViews = SELECT_RANDOM_ITEM(_availablePoliticalStances); -_culture = SELECT_RANDOM_ITEM(_availableCultures); -_supportedSides = SELECT_RANDOM_ITEM(_availableSidesToSupport); -_homeTown = SELECT_RANDOM_ITEM(_availableHomeTown); - -_profile = [_occupation, _dateOfBirth, _politicalViews, _culture, _supportedSides, _homeTown]; - -[_unit, "cse_profile_information_aim", _profile] call cse_fnc_setVariable; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getALiVECivData_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getALiVECivData_AIM.sqf deleted file mode 100644 index 348c9d9db6..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getALiVECivData_AIM.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_getALiVECivData_AIM.sqf - * Descr: Get the ALiVE Civ data from a Civilian unit - * Author: Glowbal - * - * Arguments: [unit OBJECT (Civilian unit to pull the data from.)] - * Return: ARRAY Civlian Data if system is enabled. Otherwise returns empty array. - * PublicAPI: true - */ - - -private ["_unit","_civData"]; -_unit = [_this, 0, ObjNull, [ObjNull]] call BIS_fnc_Param; -if ([] call cse_fnc_isLoaded_ALiVE_Mod) then { - //_civData = ["server","CSE_GET_AGENT_DATA_ALIVE_AIM",[[_unit],{call ALIVE_fnc_getAgentData}]] call ALiVE_fnc_BUS_RetVal; - _civData = [_unit] call ALIVE_fnc_getAgentData; // format: [ int POSTURE, array POSITION (HOME Postion), array TOWN Position, int Home town Posture] -} else { - _civData = []; -}; -_civData \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getAvailableProfileSetsFor_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getAvailableProfileSetsFor_AIM.sqf deleted file mode 100644 index 662c696b8b..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getAvailableProfileSetsFor_AIM.sqf +++ /dev/null @@ -1,112 +0,0 @@ -/** - * fn_getAvailableProfileSetsFor_AIM.sqf - * Descr: Get available options for a profile set. Profile sets can be any of the following: Cultures, Occupations, PoliticalViews, SupportedSides, homeTown. - * - * Author: Glowbal - * - * Arguments: [unit OBJECT, side SIDE, faction STRING (Faction classname), set STRING (What set should be returned) ] - * Return: ARRAY Returns an array with the available profile set options. Is an array of strings in all cases but homeTown, which returns a 2D array. - * PublicAPI: true - */ - - -#define ALL_LOCATIONS ["Strategic","StrongpointArea","FlatArea","FlatAreaCity","FlatAreaCitySmall","CityCenter","Airport","NameMarine","NameCityCapital","NameCity","NameVillage","NameLocal","Hill","ViewPoint","RockArea","BorderCrossing","VegetationBroadleaf","VegetationFir","VegetationPalm","VegetationVineyard"] -#define NEAREST_LOCATION_RADIUS 700 - - -private ["_side","_faction","_set","_return", "_result", "_locationClose", "_locationFar", "_locationsClose", "_locationsFar", "_htReturn"]; -_unit = _this select 0; -_side = _this select 1; -_faction = _this select 2; -_set = _this select 3; - -_return = switch (_set) do { - case "Cultures": { - switch (_side) do { - case civilian: { - ["Greek", "Other"] - }; - default {["Unknown"]}; - }; - }; - case "Occupations": { - switch (_side) do { - case civilian: { - ["Baker", "Butcher", "Mechanic", "Writer", "Law_Enforcement", "Retired", "None", "Unknown", "Farmer", "Software_Developer", "Hunter", "Artist", "Banker", "Fireman", "Cook", "Construction_Worker", "Fisher","Repair_man", "Cleaner", "Woods_man", "Painter"] - }; - default {["Soldier"]}; - }; - }; - case "PoliticalViews": { - switch (_side) do { - case civilian: { - ["Normal", "Radical", "Mild", "None"] - }; - default {["Unknown"]}; - }; - }; - case "SupportedSides": { - switch (_side) do { - case civilian: { - _stances = []; - if (cse_stance_systemBlufor > 10) then { - _stances pushback West; - }; - if (cse_stance_systemOpfor > 10) then { - _stances pushback east; - }; - if (cse_stance_systemRes > 10) then { - _stances pushback independent; - }; - if (count _stances == 0) then { - _stances set [ 0, Civilian ]; - }; - - _stances - }; - default {[_side]}; - }; - }; - case "homeTown": { - _htReturn = [["Unknown","Unknown"]]; - switch (_side) do { - case civilian: { - if ([] call cse_fnc_isLoaded_ALiVE_Mod) then { - ["ALiVE is loaded. Returning result with AlIVE settings", 1] call cse_fnc_debug; - _result = [_unit] call cse_fnc_getALiVECivData_AIM; - if (isnil "_result") then { - _result = []; - }; - _locationClose = ""; - _locationFar = ""; - if (count _result > 0) then { - _locationsClose = (nearestLocations [_result select 1, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - _locationsFar = (nearestLocations [_result select 2, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - if (count _locationsClose > 0) then { - _locationClose = text (_locationsClose select 0); - }; - if (count _locationsFar > 0) then { - if (count _locationsFar > 1) then { - _locationFar = text (_locationsClose select 1); - } else { - _locationFar = text (_locationsClose select 0); - }; - }; - _htReturn = [[_locationClose,_locationFar]]; - } else { - _htReturn = [["Unknown","Unknown"]]; - }; - } else { - _htReturn = [["Unknown","Unknown"]]; - }; - }; - default {_htReturn = [["Unknown","Unknown"]]}; - }; - _htReturn; - }; - default { - ["Unknown"] - }; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getDialogLines_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getDialogLines_AIM.sqf deleted file mode 100644 index d58ca2147e..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getDialogLines_AIM.sqf +++ /dev/null @@ -1,46 +0,0 @@ -// Made by Glowbal -// Input: unit, object (Civ AI) -// Returns String array, contains strings with possible sentences - -private ["_arrayWithStrings", "_behaviour"]; -_behaviour = _this select 0; -_arrayWithStrings = []; - -switch (_behaviour) do { - case "agressive": - { - _arrayWithStrings = CSE_AgressiveLines_AIM; - }; - - case "friendly": - { - _arrayWithStrings = CSE_FriendlyLines_AIM; - }; - - case "neutral": - { - _arrayWithStrings = CSE_NeutralLines_AIM; - }; - - case "careless": - { - _arrayWithStrings = CSE_CarelessLines_AIM; - }; - - case "hostile": - { - _arrayWithStrings = CSE_HostileLines_AIM; - }; - - case "lostchicken": - { - _arrayWithStrings = CSE_OtherLines_AIM; - }; - - case default - { - _arrayWithStrings = CSE_DefaultLines_AIM; - }; -}; - -_arrayWithStrings \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getPlayerSpokenLineType_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getPlayerSpokenLineType_AIM.sqf deleted file mode 100644 index e714408240..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getPlayerSpokenLineType_AIM.sqf +++ /dev/null @@ -1,74 +0,0 @@ -/** - * fn_getPlayerSpokenLineType_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define MEET_AND_GREET 0 -#define ASK_ABOUT_OCCUPATION 1 -#define ASK_ABOUT_STANCE 2 -#define ASK_ABOUT_HOME 3 -#define ASK_ABOUT_CULTURE 4 -#define ASK_ABOUT_DOB 5 -#define ASK_ABOUT_INTEL 6 -#define ASK_ABOUT_ENEMY 7 -#define GIVE_MONEY 8 -#define GIVE_AID_PACKAGE 9 -#define OFFER_MEDICAL_AID 10 - -private ["_target","_caller","_spokenLineType", "_spot", "_enemySide", "_allSides"]; -_target = _this select 0; -_caller = _this select 1; -_spokenLineType = _this select 2; - -_allSides = [west, independent, east, civilian]; -_spot = 0; -{ - if ((_x getFriend side _caller) < ((_allSides select _spot) getFriend side _caller)) then { - _spot = _foreachIndex; - }; -}foreach _allSides; -_enemySide = _allSides select _spot; - -switch (_spokenLineType) do { - case MEET_AND_GREET: { // meet & greet - ["Hello, how are you?",format["Hello, I am %1",[_caller] call cse_fnc_getName], "Hi", "Hello.."] - }; - case ASK_ABOUT_OCCUPATION: { - ["What do you do for a living?", "What is it that you do?", "What is your occupation?"] - }; - case ASK_ABOUT_STANCE: { - ["Who do you support?", "What do you think of our cause?"] - }; - case ASK_ABOUT_HOME: { - ["Where do you live?","Do you live nearby?","Where are you from?","What is your place?"] - }; - case ASK_ABOUT_CULTURE: { - ["From what area are you from?"] - }; - case ASK_ABOUT_DOB: { - ["How old are you?","From when are you?"] - }; - case ASK_ABOUT_INTEL: { - ["Do you know any information that could be of use for us?","Have you got any information for us?","Have you seen something suspicious?"] - }; - case ASK_ABOUT_ENEMY: { - [format["Have you seen %1 side?", _enemySide], format["Can you tell me anything about %1 side movements?", _enemySide]] - }; - case GIVE_MONEY: { - ["Sir, please accept this"] - }; - case GIVE_AID_PACKAGE: { - ["Sir, please accept this"] - }; - case OFFER_MEDICAL_AID: { - ["Do you need medical assistance?"] - }; - default { - ["Hello"] - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getProfileInformation_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getProfileInformation_AIM.sqf deleted file mode 100644 index 276babad4e..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getProfileInformation_AIM.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/** - * fn_getProfileInformation_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_set"]; -_unit = _this select 0; -_set = _this select 1; -if (count (_unit getvariable ["cse_profile_information_aim",[]]) == 0) then { - [_unit] call cse_fnc_generateProfileInformation_AIM; -}; -_profile = _unit getvariable ["cse_profile_information_aim",[]]; -// [_occupation, _dateOfBirth, _politicalViews, _culture, _supportedSides, _homeTown] - -switch (_set) do { - case "Culture": { - _profile select 3 - }; - case "Occupation": { - _profile select 0 - }; - case "PoliticalViews": { - _profile select 2 - }; - case "SupportedSides": { - _profile select 4 - }; - case "homeTown": { - _profile select 5 - }; - case "dateOfBirth": { - _profile select 6 - }; - default { - "Unknown" - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getReactionLinesOfPerson_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getReactionLinesOfPerson_AIM.sqf deleted file mode 100644 index 19b60b9fd2..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getReactionLinesOfPerson_AIM.sqf +++ /dev/null @@ -1,362 +0,0 @@ -/** - * fn_getReactionLinesOfPerson_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define MEET_AND_GREET 0 -#define ASK_ABOUT_OCCUPATION 1 -#define ASK_ABOUT_STANCE 2 -#define ASK_ABOUT_HOME 3 -#define ASK_ABOUT_CULTURE 4 -#define ASK_ABOUT_DOB 5 -#define ASK_ABOUT_INTEL 6 -#define ASK_ABOUT_ENEMY 7 -#define GIVE_MONEY 8 -#define GIVE_AID_PACKAGE 9 -#define OFFER_MEDICAL_AID 10 - -#define ALL_LOCATIONS ["Strategic","StrongpointArea","FlatArea","FlatAreaCity","FlatAreaCitySmall","CityCenter","Airport","NameMarine","NameCityCapital","NameCity","NameVillage","NameLocal","Hill","ViewPoint","RockArea","BorderCrossing","VegetationBroadleaf","VegetationFir","VegetationPalm","VegetationVineyard"] -#define NEAREST_LOCATION_RADIUS 700 - - -// TODO clean up this file. To massive, so split it up into multiple functions - -private ["_target", "_caller","_spokenLineType","_reactionType"]; -_target = _this select 0; // civilian -_caller = _this select 1; // usually the player -_spokenLineType = _this select 2; -_reactionType = _this select 3; - -switch (_reactionType) do { - case "agressive": { - switch (_spokenLineType) do { - case MEET_AND_GREET: { // meet & greet - ["Go away...","We don't need you here!", "I won't talk to you", "GO AWAY!"] - }; - case ASK_ABOUT_OCCUPATION: { - ["Non of your business!"] - }; - case ASK_ABOUT_STANCE: { - ["Non of your business!", "I am warning you!"] - }; - case ASK_ABOUT_HOME: { - ["So you can destroy that?","Pfft.. someone should do something about you.."] - }; - case ASK_ABOUT_CULTURE: { - ["HA! You should die", "What..."] - }; - case ASK_ABOUT_DOB: { - ["Non of your business!"] - }; - case ASK_ABOUT_INTEL: { - ["As if I will help you!"] - }; - case ASK_ABOUT_ENEMY: { - if !([_target] call cse_fnc_isArrested) then { - ["I will not tell you anything!"] - } else { - _nearEntities = _target nearEntities ["CaManBase", 1000]; - _enemyResults = []; - { - if (side _x != side _caller && {random(1)>0.8} && {side _x != side _target}) then { - _foundLocations = (nearestLocations [getPos _x, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - if !(_foundLocations isEqualTo []) then { - _enemyResults pushback format["Alright! Perhaps something can be found near %2", side _x, text(_foundLocations select 0)]; - }; - }; - }foreach _nearEntities; - if (_enemyResults isEqualTo []) then { - _enemyResults = ["I will never tell you anything!", "You won't get anything from me..", "I do not know anything!", "hmmph!"]; - }; - _enemyResults; - }; - }; - case GIVE_MONEY: { - ["I DONT NEED YOUR MONEY","So you are going to buy my favour?"] - }; - case GIVE_AID_PACKAGE: { - ["Go away!","I dont want this!"] - }; - case OFFER_MEDICAL_AID: { - ["I dont need your help"] - }; - default { - ["Go","Leave me!","Someone should do something about you.."] - }; - }; - }; - case "friendly": { - switch (_spokenLineType) do { - case MEET_AND_GREET: { // meet & greet - ["Hello...",format["Hello, I am %1",[_target] call cse_fnc_getName], "Hi", "How are you, sir?"] - }; - case ASK_ABOUT_OCCUPATION: { - [format["My occupation is %1",[_target, "Occupation"] call cse_fnc_getProfileInformation_AIM]] - }; - case ASK_ABOUT_STANCE: { - [format["I support %1", str ([_target, "SupportedSides"] call cse_fnc_getProfileInformation_AIM)]] - }; - case ASK_ABOUT_HOME: { - ["Sorry, I won't answer that", format["I live near %1, that is nearby %2",str (([_target, "homeTown"] call cse_fnc_getProfileInformation_AIM) select 0), str (([_target, "homeTown"] call cse_fnc_getProfileInformation_AIM) select 1)]] - }; - case ASK_ABOUT_CULTURE: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_DOB: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_INTEL: { - ["Sorry, I don't know"] - }; - case ASK_ABOUT_ENEMY: { - _nearEntities = _target nearEntities ["CaManBase", 1000]; - _enemyResults = []; - { - if (side _x != side _caller && {random(1)>0.2} && {side _x != side _target}) then { - _foundLocations = (nearestLocations [getPos _x, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - if !(_foundLocations isEqualTo []) then { - _enemyResults pushback format["There might be some from side %1 near %2", side _x, text(_foundLocations select 0)]; - }; - }; - }foreach _nearEntities; - if (_enemyResults isEqualTo []) then { - _enemyResults pushback "I'm afraid I cannot tell you anything"; - }; - _enemyResults; - }; - case GIVE_MONEY: { - ["Thank you"] - }; - case GIVE_AID_PACKAGE: { - ["Thank you"] - }; - case OFFER_MEDICAL_AID: { - ["Thank you"] - }; - default { - ["Hello"] - }; - }; - }; - case "neutral": { - switch (_spokenLineType) do { - case MEET_AND_GREET: { // meet & greet - ["Hello...",format["Hello, I am %1",[_target] call cse_fnc_getName], "Hi", "How are you, sir?"] - }; - case ASK_ABOUT_OCCUPATION: { - [format["My occupation is %1",[_target, "Occupation"] call cse_fnc_getProfileInformation_AIM]] - }; - case ASK_ABOUT_STANCE: { - [format["I support %1",str ([_target, "SupportedSides"] call cse_fnc_getProfileInformation_AIM)]] - }; - case ASK_ABOUT_HOME: { - ["Sorry, I won't answer that", format["I live near %1, that is nearby %2",str (([_target, "homeTown"] call cse_fnc_getProfileInformation_AIM) select 0), str (([_target, "homeTown"] call cse_fnc_getProfileInformation_AIM) select 1)]] - }; - case ASK_ABOUT_CULTURE: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_DOB: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_INTEL: { - ["Sorry, I don't know"] - }; - case ASK_ABOUT_ENEMY: { - _nearEntities = _target nearEntities ["CaManBase", 1000]; - _enemyResults = []; - { - if (side _x != side _caller && {random(1)>0.2} && {side _x != side _target}) then { - _foundLocations = (nearestLocations [getPos _x, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - if !(_foundLocations isEqualTo []) then { - _enemyResults pushback format["There might be some from side %1 near %2", side _x, text(_foundLocations select 0)]; - }; - }; - }foreach _nearEntities; - if (_enemyResults isEqualTo []) then { - _enemyResults pushback "I'm afraid I cannot tell you anything"; - }; - _enemyResults; - }; - case GIVE_MONEY: { - ["Thank you"] - }; - case GIVE_AID_PACKAGE: { - ["Thank you"] - }; - case OFFER_MEDICAL_AID: { - ["Thank you"] - }; - default { - ["Hello"] - }; - }; - }; - case "careless": { - switch (_spokenLineType) do { - case MEET_AND_GREET: { // meet & greet - ["Hello...",format["Hello, I am %1",[_target] call cse_fnc_getName], "Hi", "How are you, sir?"] - }; - case ASK_ABOUT_OCCUPATION: { - [format["My occupation is %1",[_target, "Occupation"] call cse_fnc_getProfileInformation_AIM]] - }; - case ASK_ABOUT_STANCE: { - [format["I support %1",str ([_target, "SupportedSides"] call cse_fnc_getProfileInformation_AIM)]] - }; - case ASK_ABOUT_HOME: { - ["Sorry, I won't answer that", format["I live near %1, that is nearby %2",str (([_target, "homeTown"] call cse_fnc_getProfileInformation_AIM) select 0), str (([_target, "homeTown"] call cse_fnc_getProfileInformation_AIM) select 1)]] - }; - case ASK_ABOUT_CULTURE: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_DOB: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_INTEL: { - ["Sorry, I don't know"] - }; - case ASK_ABOUT_ENEMY: { - _nearEntities = _target nearEntities ["CaManBase", 1000]; - _enemyResults = []; - { - if (side _x != side _caller && {random(1)>0.2} && {side _x != side _target}) then { - _foundLocations = (nearestLocations [getPos _x, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - if !(_foundLocations isEqualTo []) then { - _enemyResults pushback format["There might be some from side %1 near %2", side _x, text(_foundLocations select 0)]; - }; - }; - }foreach _nearEntities; - if (_enemyResults isEqualTo []) then { - _enemyResults pushback "I'm afraid I cannot tell you anything"; - }; - _enemyResults; - }; - case GIVE_MONEY: { - ["Thank you"] - }; - case GIVE_AID_PACKAGE: { - ["Thank you"] - }; - case OFFER_MEDICAL_AID: { - ["Thank you"] - }; - default { - ["Hello"] - }; - }; - }; - case "hostile": { - switch (_spokenLineType) do { - case MEET_AND_GREET: { // meet & greet - ["Go away...","We don't need you here!", "I won't talk to you", "GO AWAY!"] - }; - case ASK_ABOUT_OCCUPATION: { - ["Non of your business!", "What are you still doing here"] - }; - case ASK_ABOUT_STANCE: { - ["Non of your business!", "I am warning you!", "Should I push you in the face?"] - }; - case ASK_ABOUT_HOME: { - ["So you can destroy that?","Pfft.. someone should do something about you..", "Where do you live? Perhaps I should visit there.."] - }; - case ASK_ABOUT_CULTURE: { - ["HA! You should die", "What..."] - }; - case ASK_ABOUT_DOB: { - ["Non of your business!"] - }; - case ASK_ABOUT_INTEL: { - ["As if I will help you!"] - }; - case ASK_ABOUT_ENEMY: { - if !([_target] call cse_fnc_isArrested) then { - ["I will not tell you anything!"] - } else { - _nearEntities = _target nearEntities ["CaManBase", 1000]; - _enemyResults = []; - { - if (side _x != side _caller && {random(1)>0.8} && {side _x != side _target}) then { - _foundLocations = (nearestLocations [getPos _x, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - if !(_foundLocations isEqualTo []) then { - _enemyResults pushback format["Alright! Perhaps something can be found near %2", side _x, text(_foundLocations select 0)]; - }; - }; - }foreach _nearEntities; - if (_enemyResults isEqualTo []) then { - _enemyResults = ["I will never tell you anything!", "You won't get anything from me..", "I do not know anything!", "hmmph!"]; - }; - _enemyResults; - }; - }; - case GIVE_MONEY: { - ["I DONT NEED YOUR MONEY","So you are going to buy my favour?"] - }; - case GIVE_AID_PACKAGE: { - ["Go away!","I dont want this!"] - }; - case OFFER_MEDICAL_AID: { - ["I dont need your help"] - }; - default { - ["Go","Leave me!","Someone should do something about you.."] - }; - }; - }; - case default { - switch (_spokenLineType) do { - case MEET_AND_GREET: { // meet & greet - ["Hello...",format["Hello, I am %1",[_target] call cse_fnc_getName], "Hi", "How are you, sir?"] - }; - case ASK_ABOUT_OCCUPATION: { - [format["My occupation is %1",[_target, "Occupation"] call cse_fnc_getProfileInformation_AIM]] - }; - case ASK_ABOUT_STANCE: { - [format["I support %1",str ([_target, "SupportedSides"] call cse_fnc_getProfileInformation_AIM)]] - }; - case ASK_ABOUT_HOME: { - ["Sorry, I won't answer that"] - }; - case ASK_ABOUT_CULTURE: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_DOB: { - ["Sorry, I will not answer that"] - }; - case ASK_ABOUT_INTEL: { - _nearEntities = _target nearEntities ["CaManBase", 1000]; - _enemyResults = []; - { - if (side _x != side _caller && {random(1)>0.2} && {side _x != side _target}) then { - _foundLocations = (nearestLocations [getPos _x, ALL_LOCATIONS, NEAREST_LOCATION_RADIUS]); - if !(_foundLocations isEqualTo []) then { - _enemyResults pushback format["There might be some from side %1 near %2", side _x, text(_foundLocations select 0)]; - }; - }; - }foreach _nearEntities; - if (_enemyResults isEqualTo []) then { - _enemyResults pushback "I'm afraid I cannot tell you anything"; - }; - _enemyResults; - }; - case ASK_ABOUT_ENEMY: { - ["I am afraid I can't tell you anything"] - }; - case GIVE_MONEY: { - ["Thank you"] - }; - case GIVE_AID_PACKAGE: { - ["Thank you"] - }; - case OFFER_MEDICAL_AID: { - ["Thank you"] - }; - default { - ["Hello"] - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getReactionTypeOfUnit_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getReactionTypeOfUnit_AIM.sqf deleted file mode 100644 index 0bb558f173..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_getReactionTypeOfUnit_AIM.sqf +++ /dev/null @@ -1,58 +0,0 @@ -/** - * fn_getReactionTypeOfUnit_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_target","_caller","_stanceTowardsPlayerSide","_possibleReactionTypes","_selectedReactionType", "_selectNewReactionType", "_oldStance"]; -_target = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; -_caller = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param; - -_stanceTowardsPlayerSide = switch (side _caller) do { - case WEST: {cse_stance_systemBlufor}; - case EAST: {cse_stance_systemOpfor}; - case independent: {cse_stance_systemRes}; - default {0}; -}; -if (side _caller == side _target) then { - _stanceTowardsPlayerSide = 500; -}; - -_selectNewReactionType = false; -_reactionType = _target getvariable "CSE_SYS_AIM_REACTION_TYPE"; -if (isnil "_reactionType") then { - _selectNewReactionType = true; -} else { - _oldStance = _reactionType select 1; - if (abs(_oldStance - _stanceTowardsPlayerSide) > 50) then { - _selectNewReactionType = true; - ["Need to refresh stance"] call cse_fnc_debug; - } else { - _selectedReactionType = _reactionType select 0; - }; -}; - -if (_selectNewReactionType) then { - _possibleReactionTypes = switch (true) do { - case (_stanceTowardsPlayerSide > 200): { - ["friendly", "neutral", "careless"]; - }; - case (_stanceTowardsPlayerSide > 0 ): { - ["agressive", "friendly", "neutral", "careless"]; - }; - case (_stanceTowardsPlayerSide < -500): { - ["agressive", "hostile"]; - }; - default { - ["agressive", "careless", "hostile", "neutral"]; - }; - }; - - _selectedReactionType = (_possibleReactionTypes select round (random (count _possibleReactionTypes - 1))); - _target setvariable ["CSE_SYS_AIM_REACTION_TYPE",[_selectedReactionType, _stanceTowardsPlayerSide]]; -}; -_selectedReactionType \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_isALIVECivlianSystemActive_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_isALIVECivlianSystemActive_AIM.sqf deleted file mode 100644 index 6c798af500..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_isALIVECivlianSystemActive_AIM.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_isALiVECivilianSystemActive.sqf - * Descr: Check if the ALiVE Civilian system is active - * Author: Glowbal - * - * Arguments: [] - * Return: BOOL true if ALiVE civilian system is active - * PublicAPI: true - */ - -if ([] call cse_fnc_isLoaded_ALiVE_Mod) then { - (["server","Subject",[[1],{[] call ALIVE_fnc_isCivilianSystemActive}]] call ALiVE_fnc_BUS) -} else { - false; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_loadLocal_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_loadLocal_aim.sqf deleted file mode 100644 index d002d0e91f..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_loadLocal_aim.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/* -fnc_loadLocal.sqf -Usage: -Author: Glowbal - -Arguments: array [unit (object), vehicle (object), unit (object)] -Returns: - -Affects: -Executes: -*/ - -private ["_unit","_vehicle","_caller","_handle","_loaded"]; -_unit = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; -_vehicle = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param; -_caller = [_this, 2, ObjNull,[ObjNull]] call BIS_fnc_Param; - -_unit moveInCargo _vehicle; -_loaded = _vehicle getvariable ["cse_loaded_detainees_AIM",[]]; -_loaded pushback _unit; -_vehicle setvariable ["cse_loaded_detainees_AIM",_loaded,true]; -if (!([_unit] call cse_fnc_isAwake)) then { - _handle = [_unit,_vehicle] spawn { - private ["_unit","_vehicle"]; - _unit = _this select 0; - _vehicle = _this select 1; - waituntil {vehicle _unit == _vehicle}; - [_unit,([_unit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_load_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_load_aim.sqf deleted file mode 100644 index dd01e1c1fe..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_load_aim.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/* - fnc_load.sqf - Usage: loads specified unit into a vehicle - Author: Glowbal - - Arguments: array [unit (object), unit (object)] - Returns: none - - Affects: - Executes: -*/ - -private ["_caller", "_unit","_vehicle", "_loaded"]; -_caller = _this select 0; -_unit = _this select 1; - -if (!([_unit] call cse_fnc_isArrested)) exitwith { - hintSilent "This player is awake and cannot be loaded"; -}; - -_vehicle = [_caller, _unit] call cse_fnc_loadPerson_F; -if (!isNull _vehicle) then { - _loaded = _vehicle getvariable ["cse_loaded_detainees_AIM",[]]; - _loaded pushback _unit; - _vehicle setvariable ["cse_loaded_detainees_AIM",_loaded,true]; - - if (!isnil "CSE_DROP_ADDACTION_AIM") then { - _caller removeAction CSE_DROP_ADDACTION_AIM; - CSE_DROP_ADDACTION_AIM = nil; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_move_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_move_aim.sqf deleted file mode 100644 index e28c9ecbf2..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_move_aim.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - NAME: fnc_release - USAGE: switches state of unit to arrested - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - - private ["_caller","_cursor"]; - _caller = _this select 0; - _cursor = _this select 1; - - if ([_caller,_cursor,[-0.25,0.5,0]] call cse_fnc_carryObj) then { - //_cursor switchmove "UnaErcPoslechVelitele2"; - [_cursor,"UnaErcPoslechVelitele2",true] call cse_fnc_broadcastAnim; - hint format["You move this person"]; - } else { - //hint format["FAILED"]; - }; - diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_onCivilianKilled_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_onCivilianKilled_AIM.sqf deleted file mode 100644 index e9f12b3081..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_onCivilianKilled_AIM.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/** - * fn_onCivilianKilled_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_killer","_victem"]; -_killer = _this select 0; -_victem = _this select 1; -if (side _victem == civilian) then { - if (CSE_ENABLED_DIALOG_INTERACTION_AIM && {isPlayer _killer} && {local _victem}) then { - switch (side _killer) do { - case WEST: {cse_stance_systemBlufor = cse_stance_systemBlufor - (random 300); publicVariable "cse_stance_systemBlufor";}; - case EAST: { cse_stance_systemOpfor = cse_stance_systemOpfor - (random 300); publicVariable "cse_stance_systemOpfor";}; - case independent: {cse_stance_systemRes = cse_stance_systemRes - (random 300); publicVariable "cse_stance_systemRes";}; - default {}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_personReactionToLine_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_personReactionToLine_AIM.sqf deleted file mode 100644 index 2c97f3016a..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_personReactionToLine_AIM.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/** - * fn_personReactionToLine_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_target", "_caller", "_civilian", "_array","_position","_textFromCiv", "_conversation"]; -_target = _this select 0; -_caller = _this select 1; -_lineType = _this select 2; - -if ((_target getvariable ["cse_profile_information_aim",[]]) isEqualTo []) then { - [[_target], "cse_fnc_generateProfileInformation_AIM", false, false] call BIS_fnc_MP; - waituntil {!((_target getvariable ["cse_profile_information_aim",[]]) isEqualTo [])}; -}; -sleep 3; - -_array = [_target, _caller, _lineType, ([_target, _caller] call cse_fnc_getReactionTypeOfUnit_AIM)] call cse_fnc_getReactionLinesOfPerson_AIM; -_position = round (random (count _array -1)); -_textFromCiv = _array select _position; -titleText [_textFromCiv,"PLAIN DOWN"]; - -[_target,[_target] call cse_fnc_getName, _textFromCiv ] call cse_fnc_addToConversationLog_AIM; - -CSE_PERFORMING_TALKING_ACTION_AIM = false; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_personSpeaksLine_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_personSpeaksLine_AIM.sqf deleted file mode 100644 index e04e5b324a..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_personSpeaksLine_AIM.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_personSpeaksLine_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_target", "_caller", "_civilian", "_array","_position","_textFromCiv", "_conversation"]; -_target = _this select 0; -_caller = _this select 1; - -_array = [ ([_target, _caller] call cse_fnc_getReactionTypeOfUnit_AIM) , 0] call cse_fnc_getDialogLines_AIM; -_position = round (random (count _array -1)); -_textFromCiv = _array select _position; -titleText [_textFromCiv,"PLAIN DOWN"]; - -[_target,[_target] call cse_fnc_getName, _textFromCiv ] call cse_fnc_addToConversationLog_AIM; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_placedown_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_placedown_aim.sqf deleted file mode 100644 index 3e19aee8ac..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_placedown_aim.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/* - NAME: fnc_release - USAGE: switches state of unit to arrested - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - - private ["_caller","_cursor"]; - _caller = _this select 0; - _cursor = _this select 1; - [_caller,ObjNull] call cse_fnc_carryObj; - //_cursor switchmove "aidlpsitmstpsnonwnondnon_ground00"; - if ([_cursor] call cse_fnc_isAwake) then { - [_cursor,"aidlpsitmstpsnonwnondnon_ground00",true] call cse_fnc_broadcastAnim; - }; - hint format["You place this person on the ground"]; diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_playerSpeaksLine_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_playerSpeaksLine_AIM.sqf deleted file mode 100644 index d79e0374c3..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_playerSpeaksLine_AIM.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_playerSpeaksLine_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_target", "_caller", "_civilian", "_array","_position","_textFromCiv", "_conversation", "_typeSelected"]; -_target = _this select 0; -_caller = _this select 1; - -if (CSE_PERFORMING_TALKING_ACTION_AIM) exitwith {}; - -waituntil {!CSE_PERFORMING_TALKING_ACTION_AIM}; -CSE_PERFORMING_TALKING_ACTION_AIM = true; - -_typeSelected = lbCurSel 400; -_array = [_target, _caller, _typeSelected] call cse_fnc_getPlayerSpokenLineType_AIM; -_position = round (random (count _array -1)); -_textFromCiv = _array select _position; -titleText [_textFromCiv,"PLAIN DOWN"]; - - -[_target,[_caller] call cse_fnc_getName, _textFromCiv ] call cse_fnc_addToConversationLog_AIM; - - -_handle = [_target, _caller, _typeSelected] spawn cse_fnc_personReactionToLine_AIM; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_playerStartConverationWith_AIM.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_playerStartConverationWith_AIM.sqf deleted file mode 100644 index 5ee86247b6..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_playerStartConverationWith_AIM.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/** - * fn_playerStartConverationWith_AIM.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_target", "_caller", "_civilian", "_array","_position","_textFromCiv"]; -_target = _this select 0; -_caller = _this select 1; - -[_this] call cse_fnc_debug; -disableSerialization; -CSE_AIM_DIALOG_INTERACTION_TARGET_AIM = _target; -createDialog "cse_dialog_menu_aim"; -[_target] spawn cse_fnc_fillDialogWithConversationLines_AIM; - -if (count (_target getvariable ["cse_profile_information_aim",[]]) == 0) then { - //[_target] call cse_fnc_generateProfileInformation_AIM; - [[_target], "cse_fnc_generateProfileInformation_AIM", false, false] call BIS_fnc_MP; -}; - -lbadd [400, localize "STR_CSE_DIALOG_MEET_AND_GREET" ]; -lbadd [400, localize "STR_CSE_DIALOG_ASK_ABOUT_OCCUPATION" ]; -lbadd [400, localize "STR_CSE_DIALOG_ASK_ABOUT_STANCE" ]; -lbadd [400, localize "STR_CSE_DIALOG_ASK_ABOUT_HOME" ]; -lbadd [400, localize "STR_CSE_DIALOG_ASK_ABOUT_CULTURE" ]; -lbadd [400, localize "STR_CSE_DIALOG_ASK_ABOUT_DOB" ]; -lbadd [400, localize "STR_CSE_DIALOG_ASK_ABOUT_INTEL" ]; -lbadd [400, localize "STR_CSE_DIALOG_ASK_ABOUT_ENEMY" ]; -// lbadd [400, localize "STR_CSE_DIALOG_GIVE_MONEY" ]; -// lbadd [400, localize "STR_CSE_DIALOG_GIVE_AID_PACKAGE" ]; -// lbadd [400, localize "STR_CSE_DIALOG_OFFER_MEDICAL_AID" ]; -lbSetCurSel [400, 0]; - -ctrlSetText[12, "Name: "+ ([_target] call cse_fnc_getName)]; - -[_target] spawn { - _target = _this select 0; - [[_target,"Stop"],"cse_fnc_dialogMovementOrder_AIM",_target, false] spawn BIS_fnc_MP; - waituntil {!dialog}; - [[_target,"Move"],"cse_fnc_dialogMovementOrder_AIM",_target, false] spawn BIS_fnc_MP; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_release_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_release_aim.sqf deleted file mode 100644 index 8069151ee9..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_release_aim.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/* - NAME: fnc_release - USAGE: switches state of unit to arrested - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target , of type man - RETURN: void -*/ - - -private ["_caller","_cursor"]; -_caller = _this select 0; -_target = _this select 1; -[_caller,ObjNull] call cse_fnc_carryObj; -[_target, false] call cse_fnc_setArrestState; -hint format["You release this person"]; - -if (CSE_USE_EQUIPMENT_AIM) then { - // Disabled, as these are zipties. We would not be getting them back. -// _caller addItem "cse_Keycuffs"; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_searchPersonCondition_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_searchPersonCondition_aim.sqf deleted file mode 100644 index 7ae1a2d9ae..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_searchPersonCondition_aim.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/* - NAME: fnc_searchPersonCondition - USAGE: Checks if caller can search target - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target - RETURN: boolean -*/ - - - -private ["_caller","_cursor", "_return"]; -_caller = _this select 0; -_cursor = _this select 1; -_return = false; - -if (group _caller != group _cursor && {_cursor iskindof "CaManBase"} && {_cursor distance _caller < 5}) then { - _return = true; -}; - -_return diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_searchPerson_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_searchPerson_aim.sqf deleted file mode 100644 index 642f495094..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_searchPerson_aim.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/* - NAME: fnc_searchPerson - USAGE: Opens gear menu of target object for caller - AUTHOR: Glowbal - ARGUMENTS: OBJECT unit, OBJECT target - RETURN: void -*/ - - -private ["_caller","_cursor"]; -_caller = _this select 0; -_cursor = _this select 1; - -if ([_caller, _cursor] call cse_fnc_searchPersonCondition_AIM) then { - _caller action ["GEAR", _cursor]; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_unload_aim.sqf b/TO_MERGE/cse/sys_advanced_interaction/functions/fn_unload_aim.sqf deleted file mode 100644 index 8dc0909f3a..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/functions/fn_unload_aim.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/* -fnc_unload.sqf -Usage: -Author: Glowbal - -Arguments: array [unit (object), unit (object), vehicle (object)] -Returns: - -Affects: -Executes: -*/ - -private ["_caller", "_unit","_vehicle", "_drag", "_handle"]; -_caller = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; -_unit = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param; -_drag = [_this, 2, false, [false]] call BIS_fnc_Param; - -_vehicle = vehicle _unit; -if ([_caller, _unit] call cse_fnc_unloadPerson_F) then { - _loaded = _vehicle getvariable ["cse_loaded_detainees_AIM",[]]; - _loaded = _loaded - [_unit]; - _vehicle setvariable ["cse_loaded_detainees_AIM",_loaded,true]; - if (_drag) then { - if ((vehicle _caller) == _caller) then { - _handle = [_caller, _unit] spawn { - _caller = _this select 0; - _unit = _this select 1; - waituntil {(vehicle _unit == _unit)}; - [[_caller,_unit], "cse_fnc_move_AIM", _caller, false] spawn BIS_fnc_MP; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/gui/define.h b/TO_MERGE/cse/sys_advanced_interaction/gui/define.h deleted file mode 100644 index c521de470f..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/gui/define.h +++ /dev/null @@ -1,797 +0,0 @@ - -#ifndef CSE_DEFINE_H -#define CSE_DEFINE_H -// define.hpp - -#define true 1 -#define false 0 - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_ANIMATED_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define CT_LISTNBOX 102 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define ST_TITLE ST_TITLE_BAR + ST_CENTER - -// Slider styles -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 - -#define SL_TEXTURES 0x10 - -// Listbox styles -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontCSE "PuristaMedium" - -class cse_gui_backgroundBase { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - colorBackground[] = {0,0,0,0}; - colorText[] = {1, 1, 1, 1}; - font = FontCSE; - text = ""; - sizeEx = 0.032; -}; -class cse_gui_editBase -{ - access = 0; - type = 2; - x = 0; - y = 0; - h = 0.04; - w = 0.2; - colorBackground[] = - { - 0, - 0, - 0, - 1 - }; - colorText[] = - { - 0.95, - 0.95, - 0.95, - 1 - }; - colorSelection[] = - { - "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", - "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", - "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", - 1 - }; - autocomplete = ""; - text = ""; - size = 0.2; - style = "0x00 + 0x40"; - font = "PuristaMedium"; - shadow = 2; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorDisabled[] = - { - 1, - 1, - 1, - 0.25 - }; -}; - - - -class cse_gui_buttonBase { - idc = -1; - type = 16; - style = ST_LEFT; - text = ""; - action = ""; - x = 0.0; - y = 0.0; - w = 0.25; - h = 0.04; - size = 0.03921; - sizeEx = 0.03921; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - /*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"}; - colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8}; - */ - - colorBackground[] = {1,1,1,0.95}; - colorbackground2[] = {1,1,1,0.95}; - colorDisabled[] = {1,1,1,0.6}; - colorFocused[] = {1,1,1,1}; - colorBackgroundFocused[] = {1,1,1,1}; - periodFocus = 1.2; - periodOver = 0.8; - default = false; - class HitZone { - left = 0.00; - top = 0.00; - right = 0.00; - bottom = 0.00; - }; - - class ShortcutPos { - left = 0.00; - top = 0.00; - w = 0.00; - h = 0.00; - }; - - class TextPos { - left = 0.002; - top = 0.0004; - right = 0.0; - bottom = 0.00; - }; - textureNoShortcut = ""; - animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa"; - animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - period = 0.5; - font = FontCSE; - soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0}; - soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; - class Attributes { - font = FontCSE; - color = "#E5E5E5"; - align = "center"; - shadow = "true"; - }; - class AttributesImage { - font = FontCSE; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; -}; - -class cse_gui_RscProgress { - type = 8; - style = 0; - colorFrame[] = {1,1,1,0.7}; - colorBar[] = {1,1,1,0.7}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; -}; - - -class cse_gui_staticBase { - idc = -1; - type = CT_STATIC; - x = 0.0; - y = 0.0; - w = 0.183825; - h = 0.104575; - style = ST_LEFT; - font = FontCSE; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - text = ""; -}; - -class RscListBox; -class cse_gui_listBoxBase : RscListBox{ - type = CT_LISTBOX; - style = ST_MULTI; - font = FontCSE; - sizeEx = 0.03921; - color[] = {1, 1, 1, 1}; - colorText[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - period = 1.2; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; - - -class cse_gui_listNBox { - access = 0; - type = CT_LISTNBOX;// 102; - style =ST_MULTI; - w = 0.4; - h = 0.4; - font = FontCSE; - sizeEx = 0.031; - - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - columns[] = {0.0}; - color[] = {1, 1, 1, 1}; - - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - rows = 1; - - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - maxHistoryDelay = 1; - soundSelect[] = {"", 0.1, 1}; - period = 1; - shadow = 2; - class ScrollBar { - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - border = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "#(argb,8,8,3)color(1,1,1,1)"; - }; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - -class RscCombo; -class cse_gui_comboBoxBase: RscCombo { - idc = -1; - type = 4; - style = "0x10 + 0x200"; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - color[] = {0,0,0,0.6}; - colorActive[] = {1,0,0,1}; - colorBackground[] = {0,0,0,1}; - colorDisabled[] = {1,1,1,0.25}; - colorScrollbar[] = {1,0,0,1}; - colorSelect[] = {0,0,0,1}; - colorSelectBackground[] = {1,1,1,0.7}; - colorText[] = {1,1,1,1}; - - arrowEmpty = ""; - arrowFull = ""; - wholeHeight = 0.45; - font = FontCSE; - sizeEx = 0.031; - soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; - soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; - soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; - maxHistoryDelay = 1.0; - class ScrollBar - { - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - border = ""; - }; - class ComboScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - - -class cse_gui_mapBase { - moveOnEdges = 1; - x = "SafeZoneXAbs"; - y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "SafeZoneWAbs"; - h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 100; // Use 100 to hide markers - style = 48; - shadow = 0; - - ptsPerSquareSea = 5; - ptsPerSquareTxt = 3; - ptsPerSquareCLn = 10; - ptsPerSquareExp = 10; - ptsPerSquareCost = 10; - ptsPerSquareFor = 9; - ptsPerSquareForEdge = 9; - ptsPerSquareRoad = 6; - ptsPerSquareObj = 9; - showCountourInterval = 0; - scaleMin = 0.001; - scaleMax = 1.0; - scaleDefault = 0.16; - maxSatelliteAlpha = 0.85; - alphaFadeStartScale = 0.35; - alphaFadeEndScale = 0.4; - colorBackground[] = {0.969,0.957,0.949,1.0}; - colorSea[] = {0.467,0.631,0.851,0.5}; - colorForest[] = {0.624,0.78,0.388,0.5}; - colorForestBorder[] = {0.0,0.0,0.0,0.0}; - colorRocks[] = {0.0,0.0,0.0,0.3}; - colorRocksBorder[] = {0.0,0.0,0.0,0.0}; - colorLevels[] = {0.286,0.177,0.094,0.5}; - colorMainCountlines[] = {0.572,0.354,0.188,0.5}; - colorCountlines[] = {0.572,0.354,0.188,0.25}; - colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6}; - colorCountlinesWater[] = {0.491,0.577,0.702,0.3}; - colorPowerLines[] = {0.1,0.1,0.1,1.0}; - colorRailWay[] = {0.8,0.2,0.0,1.0}; - colorNames[] = {0.1,0.1,0.1,0.9}; - colorInactive[] = {1.0,1.0,1.0,0.5}; - colorOutside[] = {0.0,0.0,0.0,1.0}; - colorTracks[] = {0.84,0.76,0.65,0.15}; - colorTracksFill[] = {0.84,0.76,0.65,1.0}; - colorRoads[] = {0.7,0.7,0.7,1.0}; - colorRoadsFill[] = {1.0,1.0,1.0,1.0}; - colorMainRoads[] = {0.9,0.5,0.3,1.0}; - colorMainRoadsFill[] = {1.0,0.6,0.4,1.0}; - colorGrid[] = {0.1,0.1,0.1,0.6}; - colorGridMap[] = {0.1,0.1,0.1,0.6}; - colorText[] = {1, 1, 1, 0.85}; -font = "PuristaMedium"; -sizeEx = 0.0270000; -stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; -stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; -onMouseButtonClick = ""; -onMouseButtonDblClick = ""; - - fontLabel = "PuristaMedium"; - sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontGrid = "TahomaB"; - sizeExGrid = 0.02; - fontUnits = "TahomaB"; - sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontNames = "PuristaMedium"; - sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2"; - fontInfo = "PuristaMedium"; - sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontLevel = "TahomaB"; - sizeExLevel = 0.02; - text = "#(argb,8,8,3)color(1,1,1,1)"; - class ActiveMarker { - color[] = {0.30, 0.10, 0.90, 1.00}; - size = 50; - }; - class Legend - { - x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)"; - y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - font = "PuristaMedium"; - sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - colorBackground[] = {1,1,1,0.5}; - color[] = {0,0,0,1}; - }; - class Task - { - icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa"; - iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa"; - iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa"; - iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa"; - iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa"; - color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"}; - colorCreated[] = {1,1,1,1}; - colorCanceled[] = {0.7,0.7,0.7,1}; - colorDone[] = {0.7,1,0.3,1}; - colorFailed[] = {1,0.3,0.2,1}; - size = 27; - importance = 1; - coefMin = 1; - coefMax = 1; - }; - class Waypoint - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class WaypointCompleted - { - icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class CustomMark - { - icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa"; - size = 24; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {0,0,0,1}; - }; - class Command - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - size = 18; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {1,1,1,1}; - }; - class Bush - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = "14/2"; - importance = "0.2 * 14 * 0.05 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Rock - { - icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa"; - color[] = {0.1,0.1,0.1,0.8}; - size = 12; - importance = "0.5 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class SmallTree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.6 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Tree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.9 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class busstop - { - icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class fuelstation - { - icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class hospital - { - icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class church - { - icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class lighthouse - { - icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class power - { - icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powersolar - { - icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwave - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwind - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class quay - { - icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class shipwreck - { - icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class transmitter - { - icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class watertower - { - icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class Cross - { - icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Chapel - { - icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Bunker - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 14; - importance = "1.5 * 14 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fortress - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 16; - importance = "2 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fountain - { - icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa"; - size = 11; - importance = "1 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Ruin - { - icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa"; - size = 16; - importance = "1.2 * 16 * 0.05"; - coefMin = 1; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Stack - { - icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa"; - size = 20; - importance = "2 * 16 * 0.05"; - coefMin = 0.9; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Tourism - { - icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa"; - size = 16; - importance = "1 * 16 * 0.05"; - coefMin = 0.7; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class ViewTower - { - icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa"; - size = 16; - importance = "2.5 * 16 * 0.05"; - coefMin = 0.5; - coefMax = 4; - color[] = {0,0,0,1}; - }; -}; - -#endif \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/gui/dialog_menu.h b/TO_MERGE/cse/sys_advanced_interaction/gui/dialog_menu.h deleted file mode 100644 index beeff47d76..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/gui/dialog_menu.h +++ /dev/null @@ -1,172 +0,0 @@ -class cse_dialog_menu_aim { - idd = 54327; - movingEnable = false; - onLoad = "uiNamespace setVariable ['cse_dialog_menu_aim', _this select 0];"; - onUnload = "uiNamespace setVariable ['cse_dialog_menu_aim', nil];"; - class controlsBackground { - class HeaderBackground: cse_gui_backgroundBase{ - idc = -1; - type = CT_STATIC; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - text = ""; - }; - class CenterBackground: HeaderBackground { - y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - h = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = ""; - colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - }; - class LeftBackground: CenterBackground { - y = "4.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - h = "12.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "25 * (((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class RightBackground: LeftBackground { - x = "26.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - w = "12.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; - }; - }; - - class controls { - class HeaderName { - idc = 1; - type = CT_STATIC; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {0,0,0,0}; - text = "Dialog with Person"; - }; - - class labelShow : cse_gui_staticBase { - idc = 12; - x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "2.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "Name:"; - }; - class labelShow2: cse_gui_staticBase { - idc = 13; - x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "State:"; - }; - - class actionClose : cse_gui_buttonBase { - idc = 10; - text = "Close"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "6 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = "closedialog 0;"; - }; - - class listboxConversationOverView: cse_gui_listNBox { - idc = 200; - x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "23 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - colorBackground[] = {0, 0, 0, 0.9}; - colorSelectBackground[] = {0, 0, 0, 0.9}; - columns[] = {0.0, 0.25}; - }; - - class labelTitle: cse_gui_staticBase { - idc = 250; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "Conversation Selection"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - }; - - - class actionListBox1: cse_gui_listBoxBase { - idc = 400; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "7.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "11 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0,0,0, 0.9}; - colorSelectBackground[] = {0,0,0, 0.9}; - colorSelectBackground2[] = { 0.9, 0.9, 0.9, 0.9}; - color[] = {1, 1, 1, 1}; - colorText[] = {1, 1, 1, 1}; - colorSelect[] = {1, 1, 1, 1}; - colorSelect2[] = {0,0,0, 1}; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.75)"; - rowHeight = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.75)"; - }; - - class labelKey: cse_gui_staticBase { - idc = 300; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "6.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = ""; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - }; - - - class actionPerformAction: actionClose { - idc = 30; - text = "Say selected line type"; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "11 * (((safezoneW / safezoneH) min 1.2) / 40)"; - action = "[CSE_AIM_DIALOG_INTERACTION_TARGET_AIM, player] call cse_fnc_playerSpeaksLine_AIM; "; - animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {0,0,0, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - }; - - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/gui/search_menu.h b/TO_MERGE/cse/sys_advanced_interaction/gui/search_menu.h deleted file mode 100644 index f1c83f64b3..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/gui/search_menu.h +++ /dev/null @@ -1,26 +0,0 @@ -class cse_searchMenu_aim { - idd = 54327; - movingEnable = false; - onLoad = "uiNamespace setVariable ['cse_searchMenu_aim', _this select 0];"; - onUnload = "uiNamespace setVariable ['cse_searchMenu_aim', nil];"; - class controlsBackground { - class HeaderBackground: cse_gui_backgroundBase{ - idc = -1; - type = CT_STATIC; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - text = ""; - }; - }; - - class controls { - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_advanced_interaction/hiide.p3d b/TO_MERGE/cse/sys_advanced_interaction/hiide.p3d deleted file mode 100644 index 818c9ed45c..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/hiide.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/9v_battery.paa b/TO_MERGE/cse/sys_advanced_interaction/img/9v_battery.paa deleted file mode 100644 index c68a998b10..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/9v_battery.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/HIIDE.paa b/TO_MERGE/cse/sys_advanced_interaction/img/HIIDE.paa deleted file mode 100644 index 33f080ebb8..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/HIIDE.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/hexiblocks.paa b/TO_MERGE/cse/sys_advanced_interaction/img/hexiblocks.paa deleted file mode 100644 index 29f2f7b271..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/hexiblocks.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/keycuffs.paa b/TO_MERGE/cse/sys_advanced_interaction/img/keycuffs.paa deleted file mode 100644 index fde5797f66..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/keycuffs.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/notebook.paa b/TO_MERGE/cse/sys_advanced_interaction/img/notebook.paa deleted file mode 100644 index 7a603a5a95..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/notebook.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/oldphone.paa b/TO_MERGE/cse/sys_advanced_interaction/img/oldphone.paa deleted file mode 100644 index 1b24958231..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/oldphone.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/scissor.paa b/TO_MERGE/cse/sys_advanced_interaction/img/scissor.paa deleted file mode 100644 index d9ec6503e3..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/scissor.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/wallet.paa b/TO_MERGE/cse/sys_advanced_interaction/img/wallet.paa deleted file mode 100644 index 8a5ccf235a..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/wallet.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/watch_expensive.paa b/TO_MERGE/cse/sys_advanced_interaction/img/watch_expensive.paa deleted file mode 100644 index 7f7d5513b7..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/watch_expensive.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/img/wires.paa b/TO_MERGE/cse/sys_advanced_interaction/img/wires.paa deleted file mode 100644 index 180c212898..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/img/wires.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/mobile.p3d b/TO_MERGE/cse/sys_advanced_interaction/mobile.p3d deleted file mode 100644 index c4e10c9035..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/mobile.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/mobile_folded.p3d b/TO_MERGE/cse/sys_advanced_interaction/mobile_folded.p3d deleted file mode 100644 index 1e141ae0c7..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/mobile_folded.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/sounds/cse_cable_tie_zipping.ogg b/TO_MERGE/cse/sys_advanced_interaction/sounds/cse_cable_tie_zipping.ogg deleted file mode 100644 index 4f76037eb1..0000000000 Binary files a/TO_MERGE/cse/sys_advanced_interaction/sounds/cse_cable_tie_zipping.ogg and /dev/null differ diff --git a/TO_MERGE/cse/sys_advanced_interaction/stringtable.xml b/TO_MERGE/cse/sys_advanced_interaction/stringtable.xml deleted file mode 100644 index 49d8df22e8..0000000000 --- a/TO_MERGE/cse/sys_advanced_interaction/stringtable.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - Meet and Greet - Meet and Greet - Przedstaw się i przywitaj - Saludar - - - Ask about Occupation - Ask about Occupation - Zapytaj o zawód - Preguntar sobre su ocupación - - - Ask about Their supported side - Ask about Their supported side - Zapytaj którą stronę wspierają - Preguntar sobre su bando - - - Ask about there home - Ask about there home - Zapytaj o dom - Preguntar acerca de su hogar - - - Find out their culture - Find out their culture - Zapytaj o kulturę - Averigüe su cultura - - - Ask about Date of Birth - Ask about Date of Birth - Zapytaj o datę urodzenia - Preguntar fecha de nacimiento - - - Ask information - Ask information - Zapytaj o informację - Pedir información - - - Ask about enemy - Ask about enemy - Zapytaj o przeciwnika - Preguntar sobre el enemigo - - - Give Money - Give Money - Podaruj pieniądze - Dar Dinero - - - Give Aid Package - Give Aid Package - Podaruj apteczkę - Dar paquete de ayuda médica - - - Offer medical Aid - Offer medical Aid - Zaoferuj pomoc medyczną - Ofrecer ayuda médica - - - - - - Keycuffs - Bridas - - - Keycuffs, used for detaining a suspect - Bridas, usadas para detener a un sospechoso - - - - Biometric Scanner (HIIDE) - Escáner Biométrico (HIIDE) - - - Biometric Scanner (HIIDE) - Escáner Biométrico (HIIDE) - - - - Old Phone - Teléfono Antiguo - - - Old Phone - Teléfono Antiguo - - - - Old Phone (Folded) - Teléfono Antiguo (Cerrado) - - - Old Phone (Folded) - Teléfono Antiguo (Cerrado) - - - - Watch (Expensive) - Reloj (Caro) - - - Watch (Expensive) - Reloj (Caro) - - - - Wallet - Billetera - - - Wallet - Billetera - - - - 9 volt battery - Pila de 9 voltios - - - 9 volt battery - Pila de 9 voltios - - - - Notebook - Cuaderno - - - - - Notebook - Cuaderno - - - - Scissors - Tijeras - - - Scissors - Tijeras - - - - Wires - Alambre - - - Wires - Alambre - - - - diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgAmmo.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgAmmo.h deleted file mode 100644 index 255aced8d7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgAmmo.h +++ /dev/null @@ -1,1715 +0,0 @@ -class CfgAmmo -{ - class BulletBase; - class B_556x45_Ball_Tracer_Red; - class B_762x51_Tracer_Red; - class B_556x45_Ball - { - airFriction=-0.001265; - hit=8; - typicalSpeed=750; - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=62; - AB_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; - AB_ballisticCoefficients[]={0.151}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - AB_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; - }; - class AB_556x45_Ball_Mk262 : B_556x45_Ball - { - airFriction=-0.001125; - caliber=0.6; - deflecting=18; - hit=11; - typicalSpeed=836; - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=77; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.361}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={624, 816, 832, 838}; - AB_barrelLengths[]={7.5, 14.5, 18, 20}; - }; - class AB_556x45_Ball_Mk318 : B_556x45_Ball - { - airFriction=-0.001120; - caliber=0.6; - deflecting=18; - hit=9; - typicalSpeed=886; - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=62; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.307}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={780, 886, 950}; - AB_barrelLengths[]={10, 15.5, 20}; - }; - class AB_545x39_Ball_7N6M : B_556x45_Ball - { - airFriction=-0.001162; - caliber=0.5; - deflecting=18; - hit=7; - typicalSpeed=880; - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=52.9; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={780, 880, 920}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class AB_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Red - { - airFriction=-0.001162; - caliber=0.5; - deflecting=18; - hit=7; - typicalSpeed=883; - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=49.8; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={785, 883, 925}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class B_65x39_Caseless - { - airFriction=-0.000772; - typicalSpeed=800; - AB_caliber=0.264; - AB_bulletLength=1.295; - AB_bulletMass=123; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.263}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={760, 788, 800, 805}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class B_762x51_Ball - { - airFriction=-0.001035; - typicalSpeed=833; - hit=14; - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class AB_762x51_Ball_M118LR : B_762x51_Ball - { - airFriction=-0.0008525; - caliber=1.05; - hit=16; - typicalSpeed=790; - AB_caliber=0.308; - AB_bulletLength=1.24; - AB_bulletMass=175; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; - AB_velocityBoundaries[]={853, 549, 549, 549}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={750, 780, 790, 794}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class AB_762x51_Ball_Subsonic : B_762x51_Ball - { - airFriction=-0.000535; - caliber=0.5; - hit=16; - typicalSpeed=790; - AB_caliber=0.308; - AB_bulletLength=1.340; - AB_bulletMass=200; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.235}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={305, 325, 335, 340}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class AB_762x54_Ball_7N14 : B_762x51_Ball - { - airFriction=-0.001023; - caliber=0.95; - hit=15; - typicalSpeed=820; - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=152; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.4}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={700, 800, 820, 833}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class AB_762x54_Ball_7T2 : B_762x51_Tracer_Red - { - airFriction=-0.001023; - caliber=0.9; - hit=15; - typicalSpeed=800; - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class AB_762x35_Ball : B_762x51_Ball - { - airFriction=-0.000821; - caliber=0.9; - hit=11; - typicalSpeed=790; - AB_caliber=0.308; - AB_bulletLength=1.153; - AB_bulletMass=125; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; - AB_velocityBoundaries[]={792, 610, 488}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={620, 655, 675}; - AB_barrelLengths[]={9, 16, 20}; - }; - class AB_762x39_Ball : B_762x51_Ball - { - airFriction=-0.0015168; - hit=12; - typicalSpeed=716; - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=123; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class AB_762x39_Ball_57N231P : B_762x51_Tracer_Red - { - airFriction=-0.0015168; - hit=12; - typicalSpeed=716; - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=117; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class B_9x21_Ball - { - airFriction=-0.00125; - typicalSpeed=390; - hit=6; - AB_caliber=0.356; - AB_bulletLength=0.610; - AB_bulletMass=115; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.17}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={350, 390, 420}; - AB_barrelLengths[]={4, 5, 9}; - }; - class AB_9x18_Ball_57N181S : B_9x21_Ball - { - hit=5; - airFriction=-0.001234; - typicalSpeed=298; - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class AB_9x19_Ball : B_9x21_Ball - { - airFriction=-0.001234; - typicalSpeed=370; - hit=6; - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - class AB_10x25_Ball : B_9x21_Ball - { - airFriction=-0.00168; - typicalSpeed=425; - hit=7; - AB_caliber=0.5; - AB_bulletLength=0.764; - AB_bulletMass=165; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.189}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={360, 400, 430}; - AB_barrelLengths[]={4, 4.61, 9}; - }; - class AB_765x17_Ball: B_9x21_Ball - { - airFriction=-0.001213; - typicalSpeed=282; - hit=7; - AB_caliber=0.3125; - AB_bulletLength=0.610; - AB_bulletMass=65; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.118}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={282, 300, 320}; - AB_barrelLengths[]={4, 5, 9}; - }; - class AB_303_Ball : AB_762x51_Ball_M118LR - { - airFriction=-0.00083; - typicalSpeed=761; - AB_caliber=0.311; - AB_bulletLength=1.227; - AB_bulletMass=174; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.499, 0.493, 0.48}; - AB_velocityBoundaries[]={671, 549}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={748, 761, 765}; - AB_barrelLengths[]={20, 24, 26}; - }; - class B_408_Ball - { - airFriction=-0.000395; - typicalSpeed=910; - AB_caliber=0.408; - AB_bulletLength=2.126; - AB_bulletMass=410; - AB_transonicStabilityCoef=1; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.97}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={910}; - AB_barrelLengths[]={29}; - }; - class AB_106x83mm_Ball : B_408_Ball - { - AB_caliber=0.416; - AB_bulletLength=2.089; - AB_bulletMass=398; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.72}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={960}; - AB_barrelLengths[]={29}; - }; - class AB_338_Ball : B_408_Ball - { - airFriction=-0.000526; - caliber=1.55; - deflecting=12; - hit=20; - typicalSpeed=826; - AB_caliber=0.338; - AB_bulletLength=1.70; - AB_bulletMass=300; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.381}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={820, 826, 830}; - AB_barrelLengths[]={24, 26.5, 28}; - }; - class B_127x99_Ball - { - airFriction=-0.0006; - typicalSpeed=853; - AB_caliber=0.510; - AB_bulletLength=2.310; - AB_bulletMass=647; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.670}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={853}; - AB_barrelLengths[]={29}; - }; - class AB_127x99_Ball_AMAX : B_127x99_Ball - { - AB_caliber=0.510; - AB_bulletLength=2.540; - AB_bulletMass=750; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={1.050}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={860}; - AB_barrelLengths[]={29}; - }; - class B_127x108_Ball - { - typicalSpeed=820; - AB_caliber=0.511; - AB_bulletLength=2.520; - AB_bulletMass=745; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.63}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={820}; - AB_barrelLengths[]={28.7}; - }; - class B_45ACP_Ball - { - airFriction=-0.0007182; - typicalSpeed=250; - AB_caliber=0.452; - AB_bulletLength=0.68; - AB_bulletMass=230; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.195}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={230, 250, 285}; - AB_barrelLengths[]={4, 5, 9}; - }; - - class TMR_B_762x51_M118LR : B_762x51_Ball - { - AB_caliber=0.308; - AB_bulletLength=1.24; - AB_bulletMass=175; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; - AB_velocityBoundaries[]={853, 549, 549, 549}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={750, 780, 790, 794}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - - class RH_50_AE_Ball: BulletBase - { - AB_caliber=0.5; - AB_bulletLength=1.110; - AB_bulletMass=325; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.228}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={360, 398, 420}; - AB_barrelLengths[]={4, 6, 9}; - }; - class RH_454_Casull: BulletBase - { - AB_caliber=0.452; - AB_bulletLength=0.895; - AB_bulletMass=325; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.171}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={450, 490, 500}; - AB_barrelLengths[]={4, 7.5, 9}; - }; - class RH_32ACP: BulletBase - { - AB_caliber=0.3125; - AB_bulletLength=0.610; - AB_bulletMass=65; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.118}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={282, 300, 320}; - AB_barrelLengths[]={4, 5, 9}; - }; - class RH_45ACP: BulletBase - { - AB_caliber=0.452; - AB_bulletLength=0.68; - AB_bulletMass=230; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.195}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={230, 250, 285}; - AB_barrelLengths[]={4, 5, 9}; - }; - class RH_B_40SW: BulletBase - { - AB_caliber=0.4; - AB_bulletLength=0.447; - AB_bulletMass=135; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; - AB_velocityBoundaries[]={365, 305, 259}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={360, 380, 400}; - AB_barrelLengths[]={4, 6, 9}; - }; - class RH_44mag_ball: BulletBase - { - AB_caliber=0.429; - AB_bulletLength=0.804; - AB_bulletMass=200; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.172}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={360, 390, 420}; - AB_barrelLengths[]={4, 7.5, 9}; - }; - class RH_357mag_ball: BulletBase - { - AB_caliber=0.357; - AB_bulletLength=0.541; - AB_bulletMass=125; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.148}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={490, 510, 535}; - AB_barrelLengths[]={4, 6, 9}; - }; - class RH_762x25: BulletBase - { - AB_caliber=0.310; - AB_bulletLength=0.5455; - AB_bulletMass=86; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.17}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={360, 380, 400}; - AB_barrelLengths[]={4, 6, 9}; - }; - class RH_9x18_Ball: BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class RH_B_9x19_Ball: BulletBase - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - class RH_B_22LR_SD: BulletBase - { - AB_caliber=0.223; - AB_bulletLength=0.45; - AB_bulletMass=38; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.111}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={330, 340, 360}; - AB_barrelLengths[]={4, 6, 9}; - }; - class RH_57x28mm: BulletBase - { - AB_caliber=0.224; - AB_bulletLength=0.495; - AB_bulletMass=28; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.144}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={550, 625, 720}; - AB_barrelLengths[]={4, 6, 10.35}; - }; - - class RH_B_6x35: BulletBase - { - AB_caliber=0.224; - AB_bulletLength=0.445; - AB_bulletMass=65; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.26}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={730, 750, 760}; - AB_barrelLengths[]={8, 10, 12}; - }; - - class RH_556x45_B_Mk262 : B_556x45_Ball - { - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=77; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.361}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={624, 816, 832, 838}; - AB_barrelLengths[]={7.5, 14.5, 18, 20}; - }; - - class HLC_556NATO_SOST: BulletBase - { - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=62; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.307}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={780, 886, 950}; - AB_barrelLengths[]={10, 15.5, 20}; - }; - class HLC_556NATO_SPR: BulletBase - { - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=77; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.361}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={624, 816, 832, 838}; - AB_barrelLengths[]={7.5, 14.5, 18, 20}; - }; - class HLC_300Blackout_Ball: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.118; - AB_bulletMass=147; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.398}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={559, 609, 625}; - AB_barrelLengths[]={6, 16, 20}; - }; - class HLC_300Blackout_SMK: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.489; - AB_bulletMass=220; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.608}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={300, 320, 340}; - AB_barrelLengths[]={9, 16, 20}; - }; - class HLC_762x51_BTSub: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.340; - AB_bulletMass=200; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.235}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={305, 325, 335, 340}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class HLC_762x54_ball: BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=152; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.4}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={700, 800, 820, 833}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class HLC_762x54_tracer: BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class HLC_303Brit_B: BulletBase - { - AB_caliber=0.311; - AB_bulletLength=1.227; - AB_bulletMass=174; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.499, 0.493, 0.48}; - AB_velocityBoundaries[]={671, 549}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={748, 761, 765}; - AB_barrelLengths[]={20, 24, 26}; - }; - class HLC_792x57_Ball: BulletBase - { - AB_caliber=0.318; - AB_bulletLength=1.128; - AB_bulletMass=196; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.315}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={785, 800, 815}; - AB_barrelLengths[]={20, 23.62, 26}; - }; - class FH_545x39_Ball: BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=52.9; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={780, 880, 920}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class FH_545x39_7u1: FH_545x39_Ball - { - AB_bulletMass=80; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_muzzleVelocities[]={260, 303, 320}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class HLC_9x19_Ball: BulletBase - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - class HLC_9x19_GoldDot: HLC_9x19_Ball - { - AB_muzzleVelocities[]={350, 380, 420}; - }; - class HLC_9x19_Subsonic: HLC_9x19_Ball - { - AB_muzzleVelocities[]={300, 320, 340}; - }; - class HLC_10mm_FMJ: HLC_9x19_Ball - { - AB_caliber=0.5; - AB_bulletLength=0.764; - AB_bulletMass=165; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.189}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={360, 400, 430}; - AB_barrelLengths[]={4, 4.61, 9}; - }; - class HLC_9x19_M882_SMG: HLC_9x19_Ball - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - - class M_mas_545x39_Ball_7N6M : BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=52.9; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={780, 880, 920}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class M_mas_545x39_Ball_7T3M : BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=49.8; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={785, 883, 925}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class B_mas_556x45_Ball_Mk262 : B_556x45_Ball - { - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=77; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.361}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={624, 816, 832, 838}; - AB_barrelLengths[]={7.5, 14.5, 18, 20}; - }; - class B_mas_9x18_Ball_57N181S : BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class B_mas_9x21p_Ball: BulletBase - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - class B_mas_9x21_Ball: BulletBase - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - class B_mas_9x21d_Ball: BulletBase - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={210, 250, 285}; - AB_barrelLengths[]={4, 5, 9}; - }; - class B_mas_765x17_Ball: BulletBase - { - AB_caliber=0.3125; - AB_bulletLength=0.610; - AB_bulletMass=65; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.118}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={282, 300, 320}; - AB_barrelLengths[]={4, 5, 9}; - }; - class B_mas_762x39_Ball: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=123; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class B_mas_762x39_Ball_T: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=117; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class B_mas_762x51_Ball_M118LR : B_762x51_Ball - { - AB_caliber=0.308; - AB_bulletLength=1.24; - AB_bulletMass=175; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; - AB_velocityBoundaries[]={853, 549, 549, 549}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={750, 780, 790, 794}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class B_mas_762x54_Ball : BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=152; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.4}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={700, 800, 820, 833}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class B_mas_762x54_Ball_T : BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class BWA3_B_762x51_Ball_LR : BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.24; - AB_bulletMass=175; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; - AB_velocityBoundaries[]={853, 549, 549, 549}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={750, 780, 790, 794}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class BWA3_B_762x51_Ball_SD : BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.24; - AB_bulletMass=175; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={300, 340}; - AB_barrelLengths[]={16, 24}; - }; - - class BWA3_B_46x30_Ball : BulletBase - { - AB_caliber=0.193; - AB_bulletLength=0.512; - AB_bulletMass=31; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.1455}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 720, 730, 740}; - AB_barrelLengths[]={4, 7, 9, 12}; - }; - - class Trixie_338_Ball : BulletBase - { - AB_caliber=0.338; - AB_bulletLength=1.70; - AB_bulletMass=300; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.381}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={820, 826, 830}; - AB_barrelLengths[]={24, 26.5, 28}; - }; - class Trixie_303_Ball : BulletBase - { - AB_caliber=0.311; - AB_bulletLength=1.227; - AB_bulletMass=174; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.499, 0.493, 0.48}; - AB_velocityBoundaries[]={671, 549}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={748, 761, 765}; - AB_barrelLengths[]={20, 24, 26}; - }; - - class rhs_ammo_556x45_Mk318_Ball : BulletBase - { - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=62; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.307}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={780, 886, 950}; - AB_barrelLengths[]={10, 15.5, 20}; - }; - class rhs_ammo_556x45_Mk262_Ball : BulletBase - { - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=77; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.361}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={624, 816, 832, 838}; - AB_barrelLengths[]={7.5, 14.5, 18, 20}; - }; - class rhsammo_762x51_Ball : BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class rhs_B_545x39_Ball : BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=52.9; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={780, 880, 920}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class rhs_B_545x39_Ball_Tracer_Green : BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=49.8; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={785, 883, 925}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class rhs_B_762x54_Ball : BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=152; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.4}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={700, 800, 820, 833}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class rhs_B_762x54_Ball_Tracer_Green : BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class rhs_B_762x39_Ball : BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=123; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class rhs_B_762x39_Tracer : BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=117; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - - class R3F_9x19_Ball: BulletBase - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - class R3F_556x45_Ball: BulletBase - { - AB_caliber=0.224; - AB_bulletLength=0.906; - AB_bulletMass=62; - AB_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; - AB_ballisticCoefficients[]={0.151}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - AB_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; - }; - class R3F_762x51_Ball: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class R3F_762x51_Ball2: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.24; - AB_bulletMass=175; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; - AB_velocityBoundaries[]={853, 549, 549, 549}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={750, 780, 790, 794}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class R3F_127x99_Ball: BulletBase - { - AB_caliber=0.510; - AB_bulletLength=2.310; - AB_bulletMass=647; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.670}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={853}; - AB_barrelLengths[]={29}; - }; - class R3F_127x99_Ball2: BulletBase - { - AB_caliber=0.510; - AB_bulletLength=2.310; - AB_bulletMass=647; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.670}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={853}; - AB_barrelLengths[]={29}; - }; - - class CUP_B_545x39_Ball: BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=52.9; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={780, 880, 920}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_545x39_Ball_Tracer_Green: BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=49.8; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={785, 883, 925}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_545x39_Ball_Tracer_Red: BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=49.8; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={785, 883, 925}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_545x39_Ball_Tracer_White: BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=49.8; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={785, 883, 925}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase - { - AB_caliber=0.220; - AB_bulletLength=0.85; - AB_bulletMass=49.8; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.168}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=7; - AB_muzzleVelocities[]={785, 883, 925}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_762x39_Ball: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=123; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_762x39_Ball_Tracer_Green: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=117; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class B_762x39mm_KLT: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=123; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={650, 716, 750}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_9x18_Ball: BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class CUP_B_9x18_Ball_Tracer_Green: BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class CUP_B_9x18_Ball_Tracer_Red: BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class CUP_B_9x18_Ball_White_Tracer: BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 350}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class CUP_B_9x19_Ball: BulletBase - { - AB_caliber=0.355; - AB_bulletLength=0.610; - AB_bulletMass=124; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.165}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={340, 370, 400}; - AB_barrelLengths[]={4, 5, 9}; - }; - class CUP_B_762x51_noTracer: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class CUP_B_303_Ball: BulletBase - { - AB_caliber=0.311; - AB_bulletLength=1.227; - AB_bulletMass=174; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.499, 0.493, 0.48}; - AB_velocityBoundaries[]={671, 549}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={748, 761, 765}; - AB_barrelLengths[]={20, 24, 26}; - }; - class CUP_B_127x107_Ball_Green_Tracer: BulletBase - { - AB_caliber=0.511; - AB_bulletLength=2.520; - AB_bulletMass=745; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.63}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={820}; - AB_barrelLengths[]={28.7}; - }; - class CUP_B_127x108_Ball_Green_Tracer: BulletBase - { - AB_caliber=0.511; - AB_bulletLength=2.520; - AB_bulletMass=745; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.63}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={820}; - AB_barrelLengths[]={28.7}; - }; - class CUP_B_762x54_Ball_White_Tracer: BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class CUP_B_762x54_Ball_Red_Tracer: BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class CUP_B_762x54_Ball_Green_Tracer: BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase - { - AB_caliber=0.312; - AB_bulletLength=1.14; - AB_bulletMass=149; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.395}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={680, 750, 798, 800}; - AB_barrelLengths[]={16, 20, 24, 26}; - }; - class CUP_B_9x39_SP5: BulletBase - { - AB_caliber=0.364; - AB_bulletLength=1.24; - AB_bulletMass=250; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.275}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=1; - AB_muzzleVelocities[]={280, 300, 320}; - AB_barrelLengths[]={10, 16.3, 20}; - }; - class CUP_B_762x51_Tracer_Green: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class CUP_B_762x51_Tracer_Red: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class CUP_B_762x51_Tracer_Yellow: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class CUP_B_762x51_Tracer_White: BulletBase - { - AB_caliber=0.308; - AB_bulletLength=1.14; - AB_bulletMass=146; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.2}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={700, 800, 820, 833, 845}; - AB_barrelLengths[]={10, 16, 20, 24, 26}; - }; - class B_127x107_Ball: BulletBase - { - AB_caliber=0.511; - AB_bulletLength=2.520; - AB_bulletMass=745; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.63}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={820}; - AB_barrelLengths[]={28.7}; - }; - class CUP_B_9x18_SD: BulletBase - { - AB_caliber=0.365; - AB_bulletLength=0.610; - AB_bulletMass=92.6; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.125}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={298, 330, 340}; - AB_barrelLengths[]={3.8, 5, 9}; - }; - class CUP_B_765x17_Ball: BulletBase - { - AB_caliber=0.3125; - AB_bulletLength=0.610; - AB_bulletMass=65; - AB_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - AB_ballisticCoefficients[]={0.118}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={282, 300, 320}; - AB_barrelLengths[]={4, 5, 9}; - }; - class CUP_B_145x115_AP_Green_Tracer: BulletBase - { - AB_caliber=0.586; - AB_bulletLength=2.00; - AB_bulletMass=1010; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.620}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={1000}; - AB_barrelLengths[]={53}; - }; - class CUP_B_127x99_Ball_White_Tracer: BulletBase - { - AB_caliber=0.510; - AB_bulletLength=2.310; - AB_bulletMass=647; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.670}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ASM"; - AB_dragModel=1; - AB_muzzleVelocities[]={853}; - AB_barrelLengths[]={29}; - }; - class CUP_B_86x70_Ball_noTracer: BulletBase - { - AB_caliber=0.338; - AB_bulletLength=1.70; - AB_bulletMass=300; - AB_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - AB_ballisticCoefficients[]={0.381}; - AB_velocityBoundaries[]={}; - AB_standardAtmosphere="ICAO"; - AB_dragModel=7; - AB_muzzleVelocities[]={820, 826, 830}; - AB_barrelLengths[]={24, 26.5, 28}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgFunctions.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgFunctions.h deleted file mode 100644 index c35241da53..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgFunctions.h +++ /dev/null @@ -1,30 +0,0 @@ -class cfgFunctions { - class cse_AB_ballistics - { - class advancedBallistics { - file = "cse\cse_sys_ballistics\advancedBallistics\functions"; - class adjust_parallax { recompile = 1; }; - class adjust_turret { recompile = 1; }; - class advanced_ballistics { recompile = 1; }; - class advanced_ballistics_extension { recompile = 1; }; - class ammo_temperature_muzzle_velocity { recompile = 1; }; - class apply_turret_adjustments { recompile = 1; }; - class barrel_length_muzzle_velocity { recompile = 1; }; - class calculate_air_density { recompile = 1; }; - class calculate_atmospheric_correction { recompile = 1; }; - class calculate_hellmann_exponent { recompile = 1; }; - class calculate_retardation { recompile = 1; }; - class calculate_roughness_length { recompile = 1; }; - class calculate_stability_factor { recompile = 1; }; - class calculate_wind_speed { recompile = 1; }; - class climate_simulation { recompile = 1; }; - class display_protractor { recompile = 1; }; - class display_wind_info { recompile = 1; }; - class get_humidity_at_height { recompile = 1; }; - class get_temperature_at_height { recompile = 1; }; - class initialize_terrain_extension { recompile = 1; }; - class mirage_simulation { recompile = 1; }; - class synchronize_scope_zero { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgMagazines.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgMagazines.h deleted file mode 100644 index b1383e2d79..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgMagazines.h +++ /dev/null @@ -1,165 +0,0 @@ -class CfgMagazines -{ - class 7Rnd_408_Mag; - class 16Rnd_9x21_Mag; - class 30Rnd_556x45_Stanag; - class 30Rnd_556x45_Stanag_Tracer_Red; - class 200Rnd_65x39_cased_Box; - class 200Rnd_65x39_cased_Box_Tracer; - class 10Rnd_762x51_Mag; - class 20Rnd_762x51_Mag; - class 100Rnd_127x99_mag; - class 8Rnd_mas_9x18_Mag: 16Rnd_9x21_Mag - { - ammo="B_mas_9x18_Ball_57N181S"; - count=8; - displayName="8rnd 9mm Mag"; - picture="\A3\weapons_f\data\ui\M_16Rnd_9x21_CA.paa"; - descriptionshort="Caliber: 9x18 mm Makarov
Rounds: 8
Used in: Makarov"; - }; - class 64Rnd_mas_9x18_mag: 30Rnd_556x45_Stanag - { - ammo="B_mas_9x18_Ball_57N181S"; - count=64; - displayName="64rnds 9x18 Bizon"; - picture="\mas_us_rifle\ui\m_bizon_ca.paa"; - descriptionshort="Caliber: 9x18 mm cal
Rounds: 64
Used in: Bizon"; - }; - class 30Rnd_mas_545x39_mag: 30Rnd_556x45_Stanag - { - ammo="M_mas_545x39_Ball_7N6M"; - count=30; - descriptionshort="Caliber: 5.45x39 mm
Rounds: 30
Used in: AK74M,AKS74,AKSU"; - displayname="30rnd 5.45mm Mag"; - }; - class 30Rnd_mas_545x39_T_mag: 30Rnd_556x45_Stanag_Tracer_Red - { - ammo="M_mas_545x39_Ball_7T3M"; - count=30; - descriptionshort="Caliber: 5.45x39 mm Tracer
Rounds: 30
Used in: AK74M,AKS74,AKSU"; - displayname="30rnd 5.45mm Mag(Tracer)"; - }; - class 100Rnd_mas_545x39_mag: 200Rnd_65x39_cased_Box - { - ammo="M_mas_545x39_Ball_7N6M"; - count=100; - descriptionshort="Caliber: 5.45x39 mm
Rounds: 100
Used in: RPK74"; - displayname="100rnd 5.45mm Drum"; - mass=25; - }; - class 100Rnd_mas_545x39_T_mag: 200Rnd_65x39_cased_Box_Tracer - { - ammo="M_mas_545x39_Ball_7T3M"; - count=100; - descriptionshort="Caliber: 5.45x39 mm Tracer
Rounds: 100
Used in: RPK74"; - displayname="100rnd 5.45mm Drum(Tracer)"; - mass=25; - }; - class 30Rnd_mas_556x45_Mk262_Stanag: 30Rnd_556x45_Stanag - { - ammo="B_mas_556x45_Ball_Mk262"; - count=30; - descriptionshort="Caliber: 5.56x45 mm STANAG Mk262
Rounds: 30
Used in: M4,HK416,M16,SCAR-L"; - displayname="30rnd 5.56mm STANAG(Mk262)"; - }; - class 20Rnd_mas_762x51_M118LR_Stanag: 30Rnd_556x45_Stanag - { - ammo="B_mas_762x51_Ball_M118LR"; - count=20; - descriptionshort="Caliber: 7.62x51 mm STANAG M118LR
Rounds: 20
Used in: HK417,SR25,SCAR-H,EBR"; - displayname="20rnd 7.62mm Mag(M118LR)"; - picture="\A3\weapons_f\data\UI\M_20Rnd_762x51_CA.paa"; - }; - class 5Rnd_mas_762x51_M118LR_Stanag: 30Rnd_556x45_Stanag - { - ammo="B_mas_762x51_Ball_M118LR"; - count=5; - descriptionshort="Caliber: 7.62x51 mm STANAG M118LR
Rounds: 5
Used in: M24"; - displayname="5rnd 7.62mm Mag(M118LR)"; - picture="\A3\weapons_f\data\UI\m_M24_CA.paa"; - }; - - class Trixie_30x556_Mk262_Mag: 30Rnd_556x45_Stanag - { - scope=2; - author="Trixie"; - count=30; - descriptionshort="Caliber: 5.56x45mm
Rounds: 30
Used in: Mk12 SPR"; - displayname="30Rnd Mk262 5.56x45mm"; - ammo="cse_AB_556x45_Ball_Mk262"; - lastroundstracer=0; - tracersevery=0; - }; - class Trixie_20x762_M118LR_Mag: 20Rnd_762x51_Mag - { - scope=2; - author="Trixie"; - count=20; - descriptionshort="Caliber: 7.62x51mm
Rounds: 20
Used in: M110 SASS"; - displayname="20Rnd 7.62x51mm M118LR"; - ammo="cse_AB_762x51_Ball_M118LR"; - picture="\Trixie_recon\UI\20x762_mag.paa"; - lastroundstracer=0; - tracersevery=0; - }; - class Trixie_10x762_M118LR_Mag: 10Rnd_762x51_Mag - { - scope=2; - author="Trixie"; - count=10; - descriptionshort="Caliber: 7.62x51mm
Rounds: 10
Used in: CZ750"; - displayname="10Rnd 7.62x51mm M118LR"; - ammo="cse_AB_762x51_Ball_M118LR"; - picture="\Trixie_recon\UI\5x762_mag.paa"; - lastroundstracer=0; - tracersevery=0; - }; - class Trixie_5x762_M118LR_Mag: 10Rnd_762x51_Mag - { - scope=2; - author="Trixie"; - count=5; - descriptionshort="Caliber: 7.62x51mm
Rounds: 5
Used in: M40A3"; - displayname="5Rnd 7.62x51mm M118LR"; - ammo="cse_AB_762x51_Ball_M118LR"; - picture="\Trixie_recon\UI\5x762_mag.paa"; - lastroundstracer=0; - tracersevery=0; - }; - class Trixie_10x127_Mag: 100Rnd_127x99_mag - { - scope=2; - author="Trixie"; - count=10; - descriptionshort="Caliber: 12.7x99mm
Rounds: 10
Used in: Barret M107"; - displayname="10Rnd 12.7x99mm"; - ammo="B_127x99_Ball"; - picture="\Trixie_recon\UI\50BMGx10_mag.paa"; - lastroundstracer=0; - tracersevery=0; - }; - class Trixie_10x105_Mag: 100Rnd_127x99_mag - { - scope=2; - author="Trixie"; - count=10; - descriptionshort="Caliber: .416 Barrett
Rounds: 10
Used in: Barret M107"; - displayname="10Rnd 10.5x83mm"; - ammo="AB_106x83mm_Ball"; - picture="\Trixie_recon\UI\50BMGx10_mag.paa"; - lastroundstracer=0; - tracersevery=0; - }; - class Trixie_10x127_Amax_Mag: 100Rnd_127x99_mag - { - scope=2; - author="Trixie"; - count=10; - descriptionshort="Caliber: .50 BMG 750 gr A-MAX
Rounds: 10
Used in: Barret M107"; - displayname="10Rnd 12.7x99mm A-MAX"; - ammo="AB_127x99_Ball_AMAX"; - picture="\Trixie_recon\UI\50BMGx10_mag.paa"; - lastroundstracer=0; - tracersevery=0; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgSounds.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgSounds.h deleted file mode 100644 index d6c62fc98c..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgSounds.h +++ /dev/null @@ -1,9 +0,0 @@ -class CfgSounds -{ - class cse_AB_scope_click - { - name="cse_AB_scope_click"; - sound[]={"cse\cse_sys_ballistics\advancedballistics\sound\scope_click.wav",1,1}; - titles[]={}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgVehicles.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgVehicles.h deleted file mode 100644 index 9118494399..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgVehicles.h +++ /dev/null @@ -1,167 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_AB_moduleAdvancedBallistics: Module_F { - scope = 2; - displayName = "Advanced Ballistics [CSE]"; - icon = "\cse\cse_main\data\cse_backblast_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - author = "Ruthberg"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - - class FORCE_CLIENT_SETTINGS_OVERRIDE { - displayName = "Force Client Settings override"; - description = "Force Client Settings override"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class WIND_ENABLED { - displayName = "Wind drift"; - description = "Add wind drift"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class SPIN_DRIFT_ENABLED { - displayName = "Spin drift"; - description = "add spin drift"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class CORIOLIS_ENABLED { - displayName = "Horizontal Coriolis drift"; - description = "Horizontal Coriolis drift"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class EOETVOES_ENABLED { - displayName = "Vertical Coriolis drift"; - description = "Vertical Coriolis drift"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class ADVANCED_AIR_DRAG_ENABLED { - displayName = "Advanced air drag"; - description = "Enabled the advanced air drag model (only availible with compatible 3rd party ammunition)"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class ATMOSPHERIC_DENSITY_SIMULATION_ENABLED { - displayName = "Ambient air density "; - description = "The bullets ability to cut through air becomes affected by the ambient air density"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class TRANSONIC_REGION_ENABLED { - displayName = "Dispersion beyond supersonic"; - description = "Adds dispersion beyond supersonic flight of rifle bullets"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class MIL_TURRETS_ENABLED { - displayName = "Zero scope in 1/10 mil"; - description = "Adds the ability to zero your scope in 1/10 Mil steps"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class AMMO_TEMPERATURE_ENABLED { - displayName = "Ammo temperature"; - description = "Muzzle velocity changes with ammo temperature"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class DISABLED_IN_FULL_AUTO_MODE { - displayName = "Disabled during full auto"; - description = "Disables the advanced ballistics during full auto fire"; - typeName = "BOOL"; - defaultValue = 0; - }; - - class BULLET_TRACE_ENABLED { - displayName = "Bullet trace effect"; - description = "Adds a bullet trace effect to high caliber bullets"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class MIRAGE_ENABLED { - displayName = "Mirage and scope parallax"; - description = "Adds mirage and scope parallax adjustment"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class BARREL_LENGTH_INFLUENCE { - displayName = "Barrel length dependent"; - description = "Enables barrel length dependent muzzle velocity"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class VEHICLE_GUNNER_ENABLED { - displayName = "Vehicle Gunners"; - description = "Enables the advanced ballistics for rounds fired as vehicle gunner"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class EXTENSIONS_ENABLED { - displayName = "Extension allowed"; - description = "Allows the use of the DLL extension"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class INIT_MESSAGE_ENABLED { - displayName = "Initialization message"; - description = "Prints a system chat message once the terrain initialization is finished"; - typeName = "BOOL"; - defaultValue = 0; - }; - - class ONLY_ACTIVE_FOR_LOCAL_PLAYER { - displayName = "Local only"; - description = "Disables the advanced ballistics for bullets coming from other players"; - typeName = "BOOL"; - defaultValue = 0; - }; - - class ONLY_ACTIVE_FOR_PLAYER_GROUP { - displayName = "Group only"; - description = "Disables the advanced ballistics for bullets coming from players in other groups"; - typeName = "BOOL"; - defaultValue = 0; - }; - - class DISABLED_BY_DEFAULT { - displayName = "Disabled by default"; - description = "Allows you to enable the advanced ballistics selectively in the unit initialization"; - typeName = "BOOL"; - defaultValue = 0; - }; - - class PRECISION { - displayName = "Calculation precision"; - description = "Allows to reduces the calculation precision to avoid frame drops (1 - maximum precision, 2 - medium precision, 3 - minimal precision)"; - typeName = "NUMBER"; - defaultValue = 1; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgWeapons.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgWeapons.h deleted file mode 100644 index c7c976f3c4..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/CfgWeapons.h +++ /dev/null @@ -1,1598 +0,0 @@ -class CfgWeapons -{ - class MGun; - class MGunCore; - class Pistol_Base_F; - class Rifle_Base_F; - class Rifle_Long_Base_F; - class hgun_P07_F - { - AB_barrelTwist=10; - AB_barrelLength=4; - }; - class hgun_Rook40_F - { - AB_barrelTwist=10; - AB_barrelLength=4.4; - }; - class hgun_Pistol_heavy_01_F - { - AB_barrelTwist=16; - AB_barrelLength=4.5; - }; - class hgun_Pistol_heavy_02_F - { - AB_barrelTwist=16; - AB_barrelLength=3; - }; - class hgun_ACPC2_F - { - AB_barrelTwist=16; - AB_barrelLength=5; - }; - class hgun_PDW2000_F - { - AB_barrelTwist=9; - AB_barrelLength=7; - }; - class arifle_Katiba_F - { - AB_barrelTwist=8; - AB_barrelLength=228.7; - }; - class arifle_Katiba_C_F - { - AB_barrelTwist=8; - AB_barrelLength=26.8; - }; - class arifle_Katiba_GL_F - { - AB_barrelTwist=8; - AB_barrelLength=28.7; - }; - class arifle_MX_F - { - AB_barrelTwist=9; - AB_barrelLength=14.5; - }; - class arifle_MX_GL_F - { - AB_barrelTwist=9; - AB_barrelLength=14.5; - }; - class arifle_MX_SW_F - { - AB_barrelTwist=9; - AB_barrelLength=16.0; - }; - class arifle_MXC_F - { - AB_barrelTwist=8; - AB_barrelLength=10.5; - }; - class arifle_MXM_F - { - AB_barrelTwist=9; - AB_barrelLength=18; - }; - class arifle_SDAR_F - { - AB_barrelTwist=11.25; - AB_barrelLength=18; - }; - class SMG_02_F - { - AB_barrelTwist=10; - AB_barrelLength=7.7; - }; - class arifle_TRG20_F - { - AB_barrelTwist=7; - AB_barrelLength=15; - }; - class arifle_TRG21_F - { - AB_barrelTwist=7; - AB_barrelLength=18.1; - }; - class LMG_Zafir_F - { - AB_barrelTwist=12; - AB_barrelLength=18.1; - }; - class arifle_Mk20_F - { - AB_barrelTwist=7; - AB_barrelLength=17.4; - }; - class arifle_Mk20C_F - { - AB_barrelTwist=7; - AB_barrelLength=16; - }; - class arifle_Mk20_GL_F - { - AB_barrelTwist=7; - AB_barrelLength=16; - }; - class SMG_01_F - { - AB_barrelTwist=16; - AB_barrelLength=5.5; - }; - class srifle_DMR_01_F - { - AB_barrelTwist=9.5; - AB_barrelLength=24; - }; - class srifle_EBR_F - { - AB_barrelTwist=12; - AB_barrelLength=24; - }; - class LMG_Mk200_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; - class srifle_LRR_F - { - AB_barrelTwist=13; - AB_barrelLength=29; - }; - class srifle_GM6_F - { - AB_barrelTwist=15; - AB_barrelLength=43.3; - }; - class HMG_M2 - { - AB_barrelTwist=12; - AB_barrelLength=45; - }; - - class RH_deagle : Pistol_Base_F - { - AB_barrelTwist=19; - AB_barrelLength=6; - }; - class RH_sw659 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=7.44; - }; - class RH_usp : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=4.41; - }; - class RH_uspm : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=6; - }; - class RH_mak : Pistol_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=3.68; - }; - class RH_m1911 : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=5; - }; - class RH_kimber : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=5; - }; - class RH_m9 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.9; - }; - class RH_vz61 : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=4.5; - }; - class RH_tec9 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=5; - }; - class RH_muzi : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=5; - }; - class RH_g18 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.49; - }; - class RH_g17 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.49; - }; - class RH_tt33 : Pistol_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=4.6; - }; - class RH_mk2 : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=4; - }; - class RH_p226 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.4; - }; - class RH_g19 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4; - }; - class RH_gsh18 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.1; - }; - class RH_mateba : Pistol_Base_F - { - AB_barrelTwist=14; - AB_barrelLength=6; - }; - class RH_python : Pistol_Base_F - { - AB_barrelTwist=14; - AB_barrelLength=6; - }; - class RH_bull : Pistol_Base_F - { - AB_barrelTwist=24; - AB_barrelLength=6.5; - }; - class RH_ttracker : Pistol_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=4; - }; - class RH_mp412 : Pistol_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=6; - }; - class RH_fnp45 : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=4.5; - }; - class RH_fn57 : Pistol_Base_F - { - AB_barrelTwist=9.1; - AB_barrelLength=4.8; - }; - class RH_vp70 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.6; - }; - class RH_cz75 : Pistol_Base_F - { - AB_barrelTwist=9.7; - AB_barrelLength=4.7; - }; - - class RH_PDW : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=10; - }; - - class RH_ar10 : Rifle_Base_F - { - AB_barrelTwist=11.25; - AB_barrelLength=20.8; - }; - class RH_m4 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14.5; - }; - class RH_M4sbr : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=9; - }; - class RH_M16a1 : Rifle_Base_F - { - AB_barrelTwist=14; - AB_barrelLength=20; - }; - class RH_M16A2 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class RH_M16A3 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class RH_M16A4 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class RH_Mk12mod1 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18; - }; - class RH_SAMR : Rifle_Base_F - { - AB_barrelTwist=7.7; - AB_barrelLength=20; - }; - - class hlc_rifle_ak74 : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.3; - }; - class hlc_rifle_aks74u : Rifle_Base_F - { - AB_barrelTwist=6.3; - AB_barrelLength=8.3; - }; - class hlc_rifle_ak47 : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=16.3; - }; - class hlc_rifle_akm : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.3; - }; - class hlc_rifle_rpk : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=23.2; - }; - class hlc_rifle_aek971 : Rifle_Base_F - { - AB_barrelTwist=9.5; - AB_barrelLength=17; - }; - class hlc_rifle_saiga12k : Rifle_Base_F - { - AB_barrelTwist=0; - cse_AB_twistDirection=0; - AB_barrelLength=16.9; - }; - class hlc_ar15_base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=11.5; - }; - class hlc_rifle_bcmjack : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14.5; - }; - class hlc_rifle_Bushmaster300 : Rifle_Base_F - { - AB_barrelTwist=8; - AB_barrelLength=16; - }; - class hlc_rifle_SAMR : Rifle_Base_F - { - AB_barrelTwist=9; - AB_barrelLength=16; - }; - class hlc_rifle_honeybase : Rifle_Base_F - { - AB_barrelTwist=8; - AB_barrelLength=6; - }; - class hlc_rifle_SLRchopmod : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21; - }; - class hlc_rifle_LAR : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21; - }; - class hlc_rifle_c1A1 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21.7; - }; - class hlc_rifle_FAL5061 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=18; - }; - class hlc_rifle_STG58F : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21; - }; - class hlc_rifle_SLR : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21.7; - }; - class hlc_rifle_falosw : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=13; - }; - class hlc_rifle_psg1 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=25.6; - }; - class hlc_rifle_g3sg1 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=17.7; - }; - class hlc_rifle_hk51 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=8.31; - }; - class hlc_rifle_hk53 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=8.31; - }; - class hlc_rifle_g3a3 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=17.7; - }; - class hlc_M14_base : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=22; - }; - class hlc_rifle_m14sopmod : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=18; - }; - class hlc_lmg_M60E4 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=17; - }; - class hlc_lmg_m60 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=22; - }; - - class hlc_smg_mp5k_PDW : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=4.5; - }; - class hlc_smg_mp5a2 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=8.9; - }; - class hlc_smg_mp5a4 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=8.9; - }; - class hlc_smg_mp5n : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=8.9; - }; - class hlc_smg_mp5sd5 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=5.7; - }; - class hlc_smg_mp5sd6 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=5.7; - }; - class hlc_smg_9mmar : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=8.9; - }; - class hlc_smg_mp510 : Rifle_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=8.9; - }; - class hlc_smg_mp5a3 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=8.9; - }; - - class hgun_mas_usp_F: Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=4.41; - }; - class hgun_mas_m23_F: Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=5.87; - }; - class hgun_mas_acp_F: Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=5.03; - }; - class hgun_mas_m9_F: Pistol_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=4.9; - }; - class hgun_mas_bhp_F: Pistol_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=4.7; - }; - class hgun_mas_glock_F: Pistol_Base_F - { - AB_barrelTwist=9.84; - AB_barrelLength=4.48; - }; - class hgun_mas_glocksf_F: Pistol_Base_F - { - AB_barrelTwist=15.75; - AB_barrelLength=4.60; - }; - class hgun_mas_grach_F: Pistol_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=4.4; - }; - class hgun_mas_mak_F: Pistol_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=3.68; - }; - class hgun_mas_sa61_F: Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=4.5; - }; - class hgun_mas_uzi_F: Pistol_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=5.28; - }; - class arifle_mas_mk16 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=13.8; - }; - class arifle_mas_mk16_l : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18; - }; - class arifle_mas_mk17 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=16; - }; - class srifle_mas_m110 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=20; - magazines[]= - { - "20Rnd_mas_762x51_M118LR_Stanag", - "20Rnd_mas_762x51_Stanag", - "20Rnd_mas_762x51_T_Stanag", - "20Rnd_762x51_Mag" - }; - }; - class arifle_mas_ak_74m : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.34; - }; - class arifle_mas_ak_74m_gl : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.34; - }; - class srifle_mas_svd : Rifle_Base_F - { - AB_barrelTwist=9.4; - AB_barrelLength=24.4; - }; - class srifle_mas_m91 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=29; - }; - class srifle_mas_ksvk : Rifle_Base_F - { - AB_barrelTwist=18; - AB_barrelLength=39.37; - }; - class LMG_mas_rpk_F : Rifle_Base_F - { - AB_barrelTwist=7.68; - AB_barrelLength=23.2; - }; - class LMG_mas_pkm_F : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=25.4; - }; - class arifle_mas_aks74u : Rifle_Base_F - { - AB_barrelTwist=6.3; - AB_barrelLength=8.3; - }; - class arifle_mas_bizon : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=9.1; - }; - class arifle_mas_saiga : Rifle_Base_F - { - AB_barrelTwist=0; - cse_AB_twistDirection=0; - AB_barrelLength=16.93; - }; - class arifle_mas_hk416 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14.5; - }; - class arifle_mas_hk416_gl : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14.5; - }; - class arifle_mas_hk416c : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=9.0; - }; - class arifle_mas_hk416_m203c : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=9.0; - }; - class arifle_mas_hk417c : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=13; - }; - class arifle_mas_m4 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14.5; - }; - class arifle_mas_m4c : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=10.3; - }; - class arifle_mas_l119 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=16; - }; - class arifle_mas_l119_gl : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=16; - }; - class arifle_mas_l119_m203 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=16; - }; - class arifle_mas_m16 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class arifle_mas_m16_gl : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class srifle_mas_hk417 : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=16.5; - }; - class srifle_mas_sr25 : Rifle_Base_F - { - AB_barrelTwist=11.25; - AB_barrelLength=24; - magazines[]= - { - "20Rnd_mas_762x51_M118LR_Stanag", - "20Rnd_mas_762x51_Stanag", - "20Rnd_mas_762x51_T_Stanag", - "20Rnd_762x51_Mag" - }; - }; - class srifle_mas_ebr : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=18; - magazines[]= - { - "20Rnd_mas_762x51_M118LR_Stanag", - "20Rnd_mas_762x51_Stanag", - "20Rnd_mas_762x51_T_Stanag", - "20Rnd_762x51_Mag" - }; - }; - class srifle_mas_m24 : Rifle_Base_F - { - AB_barrelTwist=11.25; - AB_barrelLength=24; - magazines[]= - { - "5Rnd_mas_762x51_M118LR_Stanag", - "5Rnd_mas_762x51_Stanag", - "5Rnd_mas_762x51_T_Stanag" - }; - }; - class arifle_mas_mp5 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=8.9; - }; - class arifle_mas_mp5sd : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=5.7; - }; - class srifle_mas_m107 : Rifle_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=29; - }; - class LMG_mas_M249_F : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=16.3; - }; - class LMG_mas_M249a_F : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18; - }; - class LMG_mas_mk48_F : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=19.75; - }; - class LMG_mas_m240_F : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=24.8; - }; - class LMG_mas_mg3_F : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=22.2; - }; - class arifle_mas_g3 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=17.7; - }; - class arifle_mas_g3_m203 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=17.7; - }; - class arifle_mas_fal : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21; - }; - class arifle_mas_fal_m203 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21; - }; - class arifle_mas_m1014 : Rifle_Base_F - { - AB_barrelTwist=0; - cse_AB_twistDirection=0; - AB_barrelLength=18.5; - }; - - class BWA3_P8 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.25; - }; - class BWA3_MP7 : Pistol_Base_F - { - AB_barrelTwist=6.3; - AB_barrelLength=7.1; - }; - class BWA3_G36 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18.9; - }; - class BWA3_G36K : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; - class BWA3_G28_Standard : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=16.5; - }; - class BWA3_G27 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=16; - }; - class BWA3_MG4 : Rifle_Long_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18.9; - }; - class BWA3_MG5 : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21.6; - }; - class BWA3_G82 : Rifle_Long_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=29; - }; - - class Trixie_L131A1 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.5; - }; - class Trixie_XM8_Carbine : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; - class Trixie_XM8_Compact : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=9; - }; - class Trixie_XM8_SAW : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class Trixie_XM8_SAW_NB : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class Trixie_XM8_DMR : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class Trixie_XM8_DMR_NB : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class L129A1_base : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=16; - }; - class Trixie_Enfield : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=25.2; - }; - class Trixie_CZ550_Rail : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=23.622; - }; - class Trixie_FNFAL_Rail : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21; - }; - - class Trixie_M110 : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=20; - magazines[]= - { - "Trixie_20x762_M118LR_Mag", - "Trixie_20x762_Mag", - "Trixie_10x762_M118LR_Mag", - "Trixie_10x762_Mag" - }; - }; - class Trixie_MK12 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18; - magazines[]= - { - "Trixie_30x556_Mk262_Mag", - "30Rnd_556x45_Stanag", - "30Rnd_556x45_Stanag_Tracer_Red" - }; - }; - class Trixie_LM308MWS : Rifle_Base_F - { - AB_barrelTwist=11.25; - AB_barrelLength=16; - magazines[]= - { - "Trixie_20x762_M118LR_Mag", - "Trixie_20x762_Mag", - "Trixie_10x762_M118LR_Mag", - "Trixie_10x762_Mag" - }; - }; - class Trixie_M14DMR : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=22; - magazines[]= - { - "Trixie_20x762_M118LR_Mag", - "Trixie_20x762_Mag" - }; - }; - class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=18; - }; - class Trixie_M14DMR_NG_Short : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=18; - }; - class Trixie_M14 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=22; - }; - class Trixie_M40A3 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=24; - magazines[]= - { - "Trixie_5x762_M118LR_Mag", - "Trixie_5x762_Mag" - }; - }; - class Trixie_CZ750 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=26; - magazines[]= - { - "Trixie_10x762_M118LR_Mag", - "Trixie_10x762_Mag" - }; - }; - class Trixie_M24 : Rifle_Base_F - { - AB_barrelTwist=11.25; - AB_barrelLength=24; - magazines[]= - { - "Trixie_5x762_M118LR_Mag", - "Trixie_5x762_Mag" - }; - }; - class Trixie_AWM338 : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=27; - }; - class Trixie_M107 : Rifle_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=29; - }; - class Trixie_AS50 : Rifle_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=29; - }; - class L110A1_base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=13.7; - }; - class Trixie_L86A2_base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=25.4; - }; - class Trixie_l85a2_base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20.4; - }; - class L7A2_base : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=24.8; - }; - - class rhs_weap_pya : Pistol_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=4.4; - }; - class rhs_weap_pkp : Rifle_Long_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=25.9; - }; - class rhs_weap_pkm : Rifle_Long_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=25.4; - }; - class rhs_weap_rpk74m : Rifle_Long_Base_F - { - AB_barrelTwist=7.68; - AB_barrelLength=23.2; - }; - class rhs_weap_rpk74 : Rifle_Long_Base_F - { - AB_barrelTwist=7.68; - AB_barrelLength=23.2; - }; - class rhs_weap_ak74m : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.3; - }; - class rhs_weap_aks74u : Rifle_Base_F - { - AB_barrelTwist=6.3; - AB_barrelLength=8.3; - }; - class rhs_weap_akm : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.3; - }; - class rhs_weap_svd : Rifle_Base_F - { - AB_barrelTwist=9.4; - AB_barrelLength=24.4; - }; - class rhs_weap_svds : Rifle_Base_F - { - AB_barrelTwist=9.4; - AB_barrelLength=22.2; - }; - class rhs_weap_m4_Base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14.5; - }; - class rhs_weap_m16a4 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class rhs_weap_m16a4_carryhandle : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class rhs_weap_m16a4_grip : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class rhs_weap_m240B : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=24.8; - }; - class rhs_weap_m249_pip : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=16.3; - }; - - class R3F_PAMAS : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.9; - }; - class R3F_Famas_F1: Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=19.2; - }; - class R3F_Famas_surb: Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=15.9; - }; - class R3F_Minimi: Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=13.7; - }; - class R3F_Minimi_762: Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=19.8; - }; - class R3F_FRF2: Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=25.59; - }; - class R3F_PGM_Hecate_II: Rifle_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=27.6; - }; - class R3F_HK417S_HG : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=12; - }; - class R3F_HK417M : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=16; - }; - class R3F_HK417L : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=20; - }; - class R3F_M107 : Rifle_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=29; - }; - class R3F_HK416M : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14; - }; - class R3F_MP5SD : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=5.7; - }; - - class CUP_hgun_Colt1911 : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=5; - }; - class CUP_sgun_AA12 : Rifle_Base_F - { - AB_barrelTwist=0; - AB_twistDirection=0; - AB_barrelLength=18; - }; - class CUP_arifle_AK_Base : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=16.3; - }; - class CUP_arifle_AK107_Base : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.3; - }; - class CUP_arifle_AKS_Base : Rifle_Base_F - { - AB_barrelTwist=7.87; - AB_barrelLength=16.3; - }; - class CUP_arifle_AKS74U : Rifle_Base_F - { - AB_barrelTwist=6.3; - AB_barrelLength=8.3; - }; - class CUP_arifle_RPK74 : Rifle_Long_Base_F - { - AB_barrelTwist=7.68; - AB_barrelLength=23.2; - }; - class CUP_srifle_AS50 : Rifle_Long_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=29; - }; - class CUP_srifle_AWM_Base : Rifle_Long_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=27; - }; - class CUP_smg_bizon : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=9.1; - }; - class CUP_hgun_Compact : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=3.74; - }; - class CUP_srifle_CZ750 : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=26; - }; - class CUP_arifle_CZ805_Base : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=14; - }; - class CUP_arifle_CZ805_A1 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=14; - }; - class CUP_arifle_CZ805_A2 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=10.9; - }; - class CUP_srifle_DMR : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=22; - }; - class CUP_hgun_Duty : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=3.74; - }; - class CUP_arifle_FNFAL : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=21; - }; - class CUP_arifle_G36A : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18.9; - }; - class CUP_arifle_G36K : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; - class CUP_arifle_G36C : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=9; - }; - class CUP_arifle_MG36 : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18.9; - }; - class CUP_hgun_Glock17 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.49; - }; - class CUP_srifle_CZ550 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=23.622; - }; - class CUP_srifle_ksvk : Rifle_Long_Base_F - { - AB_barrelTwist=18; - AB_barrelLength=39.37; - }; - class CUP_lmg_L7A2 : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=24.8; - }; - class CUP_arifle_L85A2_Base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20.4; - }; - class CUP_lmg_L110A1 : Rifle_Long_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=13.7; - }; - class CUP_srifle_LeeEnfield : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=25.2; - }; - class CUP_hgun_M9 : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=4.9; - }; - class CUP_srifle_M14 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=22; - }; - class CUP_arifle_M16_Base : Rifle_Base_F - { - AB_barrelTwist=14; - AB_barrelLength=20; - }; - class CUP_arifle_M4_Base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14.5; - }; - class CUP_srifle_Mk12SPR : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18; - }; - class CUP_srifle_M24_des : Rifle_Base_F - { - AB_barrelTwist=11.25; - AB_barrelLength=24; - }; - class CUP_lmg_M60A4 : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=17; - }; - class CUP_srifle_M107_Base : Rifle_Long_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=29; - }; - class CUP_srifle_M110 : Rifle_Base_F - { - AB_barrelTwist=11; - AB_barrelLength=20; - }; - class CUP_lmg_M240 : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=24.8; - }; - class CUP_lmg_M249_para : Rifle_Long_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=16.3; - }; - class CUP_lmg_M249 : Rifle_Long_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18; - }; - class CUP_sgun_M1014 : Rifle_Base_F - { - AB_twistDirection=0; - AB_barrelTwist=0; - AB_barrelLength=18.5; - }; - class CUP_hgun_Makarov : Pistol_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=3.68; - }; - class CUP_hgun_MicroUzi : Pistol_Base_F - { - AB_barrelTwist=9.8; - AB_barrelLength=5; - }; - class CUP_lmg_Mk48_Base : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=19.75; - }; - class CUP_smg_MP5SD6 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=5.7; - }; - class CUP_smg_MP5A5 : Rifle_Base_F - { - AB_barrelTwist=10; - AB_barrelLength=8.9; - }; - class CUP_hgun_PB6P9 : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=4.1; - }; - class CUP_hgun_Phantom : Rifle_Base_F - { - AB_barrelTwist=9.7; - AB_barrelLength=4.7; - }; - class CUP_lmg_PKM : Rifle_Long_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=25.4; - }; - class CUP_lmg_Pecheneg : Rifle_Long_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=25.9; - }; - class CUP_hgun_TaurusTracker455 : Pistol_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=4; - }; - class CUP_arifle_Sa58P : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=15.4; - }; - class CUP_arifle_Sa58V : Rifle_Base_F - { - AB_barrelTwist=9.45; - AB_barrelLength=15.4; - }; - class CUP_hgun_SA61 : Pistol_Base_F - { - AB_barrelTwist=16; - AB_barrelLength=4.5; - }; - class CUP_sgun_Saiga12K: Rifle_Base_F - { - AB_barrelTwist=0; - AB_twistDirection=0; - AB_barrelLength=16.9; - } - class CUP_arifle_Mk16_CQC : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=10; - }; - class CUP_arifle_Mk16_STD : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=14; - }; - class CUP_arifle_Mk16_SV : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=18; - }; - class CUP_arifle_Mk17_CQC : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=13; - }; - class CUP_arifle_Mk17_STD : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=16; - }; - class CUP_arifle_Mk20 : Rifle_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=20; - }; - class CUP_srifle_SVD : Rifle_Base_F - { - AB_barrelTwist=9.4; - AB_barrelLength=24.4; - }; - class CUP_lmg_UK59 : Rifle_Long_Base_F - { - AB_barrelTwist=15; - AB_barrelLength=21.7; - }; - class CUP_DSHKM_W : MGun - { - AB_barrelTwist=15; - AB_barrelLength=42.1; - }; - class CUP_KPVT_W : MGun - { - AB_barrelTwist=17.91; - AB_barrelLength=53; - }; - class CUP_KPVB_W : MGun - { - AB_barrelTwist=17.91; - AB_barrelLength=53; - }; - class CUP_M134 : MGunCore - { - AB_barrelTwist=12; - AB_barrelLength=22; - }; - class CUP_M240_veh_W : Rifle_Long_Base_F - { - AB_barrelTwist=12; - AB_barrelLength=24.8; - }; - class CUP_PKT_W : MGun - { - AB_barrelTwist=9.45; - AB_barrelLength=28.43; - }; - class CUP_srifle_VSSVintorez : Rifle_Base_F - { - AB_barrelTwist=8.3; - AB_barrelLength=7.9; - }; - class CUP_arifle_XM8_Base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; - class CUP_arifle_XM8_Carbine : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; - class CUP_arifle_xm8_sharpshooter : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class CUP_arifle_xm8_SAW : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=20; - }; - class CUP_arifle_XM8_Compact : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=9; - }; - class CUP_arifle_XM8_Railed_Base : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; - class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F - { - AB_barrelTwist=7; - AB_barrelLength=12.5; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/Combat_Space_Enhancement.h deleted file mode 100644 index aa5753b490..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/Combat_Space_Enhancement.h +++ /dev/null @@ -1,16 +0,0 @@ -class Combat_Space_Enhancement { - class cfgModules { - class cse_AB_moduleAdvancedBallistics { - init = "call compile preprocessFile 'cse\cse_sys_ballistics\advancedballistics\init.sqf';"; - name = "Advanced Ballistics"; - class EventHandlers { - class AllVehicles { - fired = "call cse_ab_ballistics_fnc_advanced_ballistics; false"; - }; - class CAManBase { - take = "call cse_ab_ballistics_fnc_synchronize_scope_zero; false"; - }; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/UI.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/UI.h deleted file mode 100644 index 11255d108c..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/UI.h +++ /dev/null @@ -1 +0,0 @@ -#include "ui\rscTitles.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/config.cpp b/TO_MERGE/cse/sys_ballistics/advancedballistics/config.cpp deleted file mode 100644 index cdc4523906..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/config.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#define ST_LEFT 0 -#define ST_RIGHT 1 -#define ST_CENTER 2 - -class CfgPatches -{ - class cse_ab_advancedballistics - { - units[]={}; - weapons[]={}; - requiredVersion=1.26; - requiredAddons[]= - { - - }; - version="2.7"; - author[]= - { - "Ruthberg" - }; - }; -}; -class CfgAddons -{ - class PreloadAddons - { - class cse_ab_advancedballistics - { - list[]= - { - "cse_ab_advancedballistics" - }; - }; - }; -}; - -#include "CfgAmmo.h" -#include "CfgMagazines.h" -#include "CfgWeapons.h" -#include "CfgSounds.h" -#include "CfgVehicles.h" -#include "CfgFunctions.h" -#include "Combat_Space_Enhancement.h" -#include "UI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/defines.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/defines.h deleted file mode 100644 index 1b472bcb3b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/defines.h +++ /dev/null @@ -1,11 +0,0 @@ -#define GRAVITY 9.80665 -#define ABSOLUTE_ZERO_IN_CELSIUS -273.15 -#define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS) -#define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS) -#define UNIVERSAL_GAS_CONSTANT 8.314 -#define WATER_VAPOR_MOLAR_MASS 0.018016 -#define DRY_AIR_MOLAR_MASS 0.028964 -#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058 -#define STD_AIR_DENSITY_ICAO 1.22498 -#define STD_AIR_DENSITY_ASM 1.20885 -#define GET_TEMPERATURE_AT_HEIGHT(h) (cse_AB_Temperature - 0.0065 * (h)) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_adjust_parallax.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_adjust_parallax.sqf deleted file mode 100644 index 6c6daca94b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_adjust_parallax.sqf +++ /dev/null @@ -1,72 +0,0 @@ -/** - * fn_adjust_parralax.sqf - * @Descr: N/A - * @Author: Ruthberg - * - * @Arguments: [] - * @Return: [] - * @PublicAPI: false - */ - - -#include "defines.h" - -#define __dsp (uiNamespace getVariable "RscTurretDial") -#define __ctrl (__dsp displayCtrl 132949) - -private ["_direction", "_opticsName", "_opticType", "_parallax"]; -_direction = _this; -_opticsName = currentWeapon player; -_opticType = 0; - -if (!cse_AB_MirageEnabled) exitWith { false }; -if (!(weaponLowered player) && currentWeapon player == primaryWeapon player && count primaryWeaponItems player > 2) then { - _opticsName = (primaryWeaponItems player) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); -}; -if (_opticType != 2 && !(currentWeapon player in ["Binocular", "Rangefinder", "Laserdesignator"])) exitWith { false }; - -_parallax = player getVariable [format["cse_AB_Parallax:%1", _opticsName], 0]; - -switch (_direction) do -{ - case 0: - { - if (_parallax > 0) then { - _parallax = _parallax + 100; - }; - if (_parallax > 1000) then { - _parallax = 0; - }; - }; - case 1: - { - if (_parallax > 100) then { - _parallax = _parallax - 100; - }; - if (_parallax == 0) then { - _parallax = 1000; - }; - }; -}; - -cse_AB_WindInfo = false; -0 cutText ["", "PLAIN"]; -cse_AB_Protractor = false; -1 cutText ["", "PLAIN"]; - -2 cutRsc ["RscTurretDial", "PLAIN"]; - -if (_parallax > 0) then { - __ctrl ctrlSetText format["%1 m", round(_parallax)]; -} else { - __ctrl ctrlSetText "infinity"; -}; -__ctrl ctrlSetTextColor [0.8, 0.0, 0.0, 1.0]; - -if (_parallax != player getVariable [format["cse_AB_Parallax:%1", _opticsName], 0]) then { - player setVariable [format["cse_AB_Parallax:%1", _opticsName], _parallax, false]; - PlaySound "cse_AB_scope_click"; -}; - -true diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_adjust_turret.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_adjust_turret.sqf deleted file mode 100644 index 613a266f72..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_adjust_turret.sqf +++ /dev/null @@ -1,91 +0,0 @@ -#include "defines.h" - -#define __dsp (uiNamespace getVariable "RscTurretDial") -#define __ctrl (__dsp displayCtrl 132949) - -private ["_opticsName", "_opticType", "_scopeStep", "_turretAndDirection", "_majorStep", "_elevation", "_windage", "_zero"]; -_turretAndDirection = _this select 0; -_majorStep = _this select 1; - -if (!cse_AB_MilTurretsEnabled) exitWith { false }; -if (weaponLowered player) exitWith { false }; -if (vehicle player != player) exitWith { false }; -if (currentWeapon player != primaryWeapon player) exitWith { false }; -if (count primaryWeaponItems player < 3) exitWith { false }; - -_opticsName = (primaryWeaponItems player) select 2; -_opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); - -if (_opticType != 2) exitWith { false }; - -_elevation = player getVariable [format["cse_AB_Elevation:%1", _opticsName], 0]; -_windage = player getVariable [format["cse_AB_Windage:%1", _opticsName], 0]; -_zero = player getVariable [format["cse_AB_Zero:%1", _opticsName], profileNamespace getVariable [format["cse_AB_Zero:%1", _opticsName], 0]]; - -_scopeStep = 0.1; - -switch (_turretAndDirection) do -{ - case 0: { _elevation = _elevation + _scopeStep }; - case 1: { _elevation = _elevation - _scopeStep }; - case 2: { _windage = _windage - _scopeStep }; - case 3: { _windage = _windage + _scopeStep }; - case 4: { _zero = _zero + _scopeStep }; - case 5: { _zero = _zero - _scopeStep }; -}; - -if (_majorStep) then { - switch (_turretAndDirection) do - { - case 0: { _elevation = ceil(_elevation) }; - case 1: { _elevation = floor(_elevation) }; - case 2: { _windage = floor(_windage) }; - case 3: { _windage = ceil(_windage) }; - }; -}; - -_zero = -4 max _zero min 30; -_elevation = (-4 - _zero) max _elevation min (30 - _zero); -_windage = -20 max _windage min 20; - -cse_AB_WindInfo = false; -0 cutText ["", "PLAIN"]; -cse_AB_Protractor = false; -1 cutText ["", "PLAIN"]; - -2 cutRsc ["RscTurretDial", "PLAIN"]; - -switch (_turretAndDirection) do -{ - case 0; - case 1: { - __ctrl ctrlSetText format["%1 Mil", round(_elevation * 10) / 10]; - __ctrl ctrlSetTextColor [1.0, 1.0, 0.5, 1.0]; - }; - case 2; - case 3: { - __ctrl ctrlSetText format["%1 Mil", round(_windage * 10) / 10]; - __ctrl ctrlSetTextColor [0.8, 0.8, 1.0, 1.0]; - }; - case 4; - case 5: { - __ctrl ctrlSetText format["%1 Mil", round(_zero * 10) / 10]; - __ctrl ctrlSetTextColor [0, 0.5, 0.0, 1.0]; - }; -}; - -if (_elevation != player getVariable [format["cse_AB_Elevation:%1", _opticsName], 0]) then { - player setVariable [format["cse_AB_Elevation:%1", _opticsName], _elevation, true]; - PlaySound "cse_AB_scope_click"; -}; -if (_windage != player getVariable [format["cse_AB_Windage:%1", _opticsName], 0]) then { - player setVariable [format["cse_AB_Windage:%1", _opticsName], _windage, true]; - PlaySound "cse_AB_scope_click"; -}; -if (_zero != player getVariable [format["cse_AB_Zero:%1", _opticsName], 0]) then { - profileNamespace setVariable [format["cse_AB_Zero:%1", _opticsName], _zero]; - player setVariable [format["cse_AB_Zero:%1", _opticsName], _zero, true]; - PlaySound "cse_AB_scope_click"; -}; - -true diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_advanced_ballistics.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_advanced_ballistics.sqf deleted file mode 100644 index 701e22eb5d..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_advanced_ballistics.sqf +++ /dev/null @@ -1,345 +0,0 @@ -#include "defines.h" - -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_bulletTranslation", "_airFriction", "_dragModel", "_velocityBoundaryData", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_cse_AB_Elevation", "_cse_AB_Windage", "_ID"]; -_unit = _this select 0; -_weapon = _this select 1; -_mode = _this select 3; -_ammo = _this select 4; -_bullet = _this select 5; -_magazine = _this select 6; - -if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { - _bullet = _this select 6; - _magazine = _this select 5; -}; - -if (isDedicated) exitWith {}; -if (!alive _bullet) exitWith {}; -if (!(isPlayer _unit)) exitWith {}; -if (underwater _unit) exitWith {}; -if (!(_ammo isKindOf "BulletBase")) exitWith {}; -if (_unit distanceSqr player > 9000000) exitWith {}; -if (cse_AB_OnlyActiveForLocalPlayer && !(local _unit)) exitWith {}; -if (cse_AB_OnlyActiveForPlayerGroup && (group _unit != group player)) exitWith {}; -if (!cse_AB_VehicleGunnerEnabled && !(_unit isKindOf "Man")) exitWith {}; -if (cse_AB_DisabledInFullAutoMode && getNumber(configFile >> "cfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) exitWith {}; -if (!isServer && !((gunner _unit) getVariable ["cse_enabled_AdvancedBallistics", false])) exitWith {}; - -_airFriction = getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction"); -_muzzleVelocity = getNumber(configFile >> "cfgMagazines" >> _magazine >> "initSpeed"); - -_muzzleAccessory = (primaryWeaponItems _unit) select 0; -if (_muzzleAccessory != "" && isNumber(configFile >> "cfgWeapons" >> _muzzleAccessory >> "ItemInfo" >> "MagazineCoef" >> "initSpeed")) then { - _initSpeedCoef = getNumber(configFile >> "cfgWeapons" >> _muzzleAccessory >> "ItemInfo" >> "MagazineCoef" >> "initSpeed"); - _muzzleVelocity = _muzzleVelocity * _initSpeedCoef; -}; - -if (cse_AB_BarrelLengthInfluenceEnabled) then { - _muzzleVelocityShift = [_ammo, _weapon, _muzzleVelocity] call cse_ab_ballistics_fnc_barrel_length_muzzle_velocity; - if (_muzzleVelocityShift != 0) then { - _bulletVelocity = velocity _bullet; - _bulletSpeed = vectorMagnitude _bulletVelocity; - _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift * (_bulletSpeed / _muzzleVelocity))); - _bullet setVelocity _bulletVelocity; - _muzzleVelocity = _muzzleVelocity + _muzzleVelocityShift; - }; -}; - -if (cse_AB_AmmoTemperatureEnabled) then { - _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _muzzleVelocityShift = [_ammo, _temperature] call cse_ab_ballistics_fnc_ammo_temperature_muzzle_velocity; - if (_muzzleVelocityShift != 0) then { - _bulletVelocity = velocity _bullet; - _bulletSpeed = vectorMagnitude _bulletVelocity; - _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift * (_bulletSpeed / _muzzleVelocity))); - _bullet setVelocity _bulletVelocity; - _muzzleVelocity = _muzzleVelocity + _muzzleVelocityShift; - }; -}; - -_bulletTraceVisible = false; -if (cse_AB_BulletTraceEnabled && currentWeapon player == primaryWeapon player && count primaryWeaponItems player > 2) then { - _opticsName = (primaryWeaponItems player) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); - _bulletTraceVisible = (_opticType == 2 || currentWeapon player in ["Binocular", "Rangefinder", "Laserdesignator"]) && cameraView == "GUNNER"; -}; - -if (cse_AB_MilTurretsEnabled) then { - [_bullet, _unit] call cse_ab_ballistics_fnc_apply_turret_adjustments; -}; - -_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_caliber"); -_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_bulletLength"); -_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_bulletMass"); -_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "AB_barrelTwist"); -_stabilityFactor = 1.5; - -if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { - _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _barometricPressure = 1013.25 * exp(-(cse_AB_Altitude + ((getPosASL _bullet) select 2)) / 7990) - 10 * overcast; - _stabilityFactor = [_caliber, _bulletLength, _bulletMass, _barrelTwist, _muzzleVelocity, _temperature, _barometricPressure] call cse_ab_ballistics_fnc_calculate_stability_factor; -}; - -_twistDirection = 1; -if (isNumber(configFile >> "cfgWeapons" >> _weapon >> "AB_twistDirection")) then { - _twistDirection = getNumber(configFile >> "cfgWeapons" >> _weapon >> "AB_twistDirection"); - if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { - _twistDirection = 1; - }; -}; - -_transonicStabilityCoef = 0.5; -if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_transonicStabilityCoef")) then { - _transonicStabilityCoef = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_transonicStabilityCoef"); -}; - -_dragModel = 1; -_ballisticCoefficients = []; -_velocityBoundaries = []; -_atmosphereModel = "ICAO"; -if (cse_AB_AdvancedAirDragEnabled) then { - if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_dragModel")) then { - _dragModel = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_dragModel"); - if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { - _dragModel = 1; - }; - }; - if (isArray(configFile >> "cfgAmmo" >> _ammo >> "AB_ballisticCoefficients")) then { - _ballisticCoefficients = getArray(configFile >> "cfgAmmo" >> _ammo >> "AB_ballisticCoefficients"); - }; - if (isArray(configFile >> "cfgAmmo" >> _ammo >> "AB_velocityBoundaries")) then { - _velocityBoundaries = getArray(configFile >> "cfgAmmo" >> _ammo >> "AB_velocityBoundaries"); - }; - if (isText(configFile >> "cfgAmmo" >> _ammo >> "AB_standardAtmosphere")) then { - _atmosphereModel = getText(configFile >> "cfgAmmo" >> _ammo >> "AB_standardAtmosphere"); - }; -}; - -_index = count cse_AB_bulletDatabase; -if (count cse_AB_bulletDatabaseFreeIndices > 0) then { - _index = cse_AB_bulletDatabaseFreeIndices select 0; - cse_AB_bulletDatabaseFreeIndices = cse_AB_bulletDatabaseFreeIndices - [_index]; -}; - -cse_AB_bulletDatabase set[_index, [_bullet, _caliber, _airFriction, _muzzleVelocity, _stabilityFactor, _transonicStabilityCoef, _twistDirection, _unit, _bulletTraceVisible, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _index]]; -cse_AB_bulletDatabaseStartTime set[_index, time]; -cse_AB_bulletDatabaseSpeed set[_index, 0]; -cse_AB_bulletDatabaseFrames set[_index, 1]; -cse_AB_bulletDatabaseLastFrame set[_index, time]; -cse_AB_bulletDatabaseHDeflect set[_index, 0]; -cse_AB_bulletDatabaseSpinDrift set[_index, 0]; - -if ((cse_AB_bulletDatabaseOccupiedIndices pushBack _index) == 0) then { - ["AdvancedBallistics", "onEachFrame", { - private ["_bulletDatabaseEntry", "_bullet", "_caliber", "_muzzleVelocity", "_frames", "_speed", "_airFriction", "_airFrictionRef", "_dragModel", "_atmosphereModel", "_ballisticCoefficient", "_ballisticCoefficients", "_velocityBoundaries", "_airDensity", "_stabilityFactor", "_transonicStabilityCoef", "_twistDirection", "_unit", "_bulletTraceVisible", "_index", "_temperature", "_humidity", "_deltaT", "_TOF", "_bulletPosition", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_bulletSpeedAvg", "_wind", "_drag", "_dragRef", "_vect", "_accel", "_accelRef", "_centripetalAccel", "_pressure", "_pressureDeviation", "_windSourceObstacle", "_windSourceTerrain", "_height", "_roughnessLength"]; - - { - _bullet = (cse_AB_bulletDatabase select _x) select 0; - _index = (cse_AB_bulletDatabase select _x) select 13; - if (!alive _bullet) then { - cse_AB_bulletDatabaseOccupiedIndices = cse_AB_bulletDatabaseOccupiedIndices - [_index]; - cse_AB_bulletDatabaseFreeIndices pushBack _index; - }; - true - } count cse_AB_bulletDatabaseOccupiedIndices; - - if (count cse_AB_bulletDatabaseOccupiedIndices == 0) exitWith { - cse_AB_bulletDatabase = []; - cse_AB_bulletDatabaseStartTime = []; - cse_AB_bulletDatabaseSpeed = []; - cse_AB_bulletDatabaseFrames = []; - cse_AB_bulletDatabaseLastFrame = []; - cse_AB_bulletDatabaseHDeflect = []; - cse_AB_bulletDatabaseSpinDrift = []; - cse_AB_bulletDatabaseOccupiedIndices = []; - cse_AB_bulletDatabaseFreeIndices = []; - ["AdvancedBallistics", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; - }; - - { - _bulletDatabaseEntry = (cse_AB_bulletDatabase select _x); - _bullet = _bulletDatabaseEntry select 0; - _caliber = _bulletDatabaseEntry select 1; - _airFriction = _bulletDatabaseEntry select 2; - _muzzleVelocity = _bulletDatabaseEntry select 3; - _stabilityFactor = _bulletDatabaseEntry select 4; - _transonicStabilityCoef = _bulletDatabaseEntry select 5; - _twistDirection = _bulletDatabaseEntry select 6; - _unit = _bulletDatabaseEntry select 7; - _bulletTraceVisible = _bulletDatabaseEntry select 8; - _ballisticCoefficients = _bulletDatabaseEntry select 9; - _velocityBoundaries = _bulletDatabaseEntry select 10; - _atmosphereModel = _bulletDatabaseEntry select 11; - _dragModel = _bulletDatabaseEntry select 12; - _index = _bulletDatabaseEntry select 13; - - _TOF = time - (cse_AB_bulletDatabaseStartTime select _index); - - _bulletVelocity = velocity _bullet; - _bulletPosition = getPosASL _bullet; - - _bulletSpeed = vectorMagnitude _bulletVelocity; - _bulletDir = (_bulletVelocity select 0) atan2 (_bulletVelocity select 1); - - _speed = (cse_AB_bulletDatabaseSpeed select _index); - cse_AB_bulletDatabaseSpeed set[_index, _speed + _bulletSpeed]; - - _frames = (cse_AB_bulletDatabaseFrames select _index); - cse_AB_bulletDatabaseFrames set[_index, _frames + 1]; - - _bulletSpeedAvg = (_speed / _frames); - - if ((cse_AB_Precision < 2) || {_frames % cse_AB_Precision == _index % cse_AB_Precision}) then { - _deltaT = time - (cse_AB_bulletDatabaseLastFrame select _index); - cse_AB_bulletDatabaseLastFrame set[_index, time]; - - _trueVelocity = _bulletVelocity; - _trueSpeed = _bulletSpeed; - _wind = [0, 0, 0]; - if (cse_AB_WindEnabled && (vectorMagnitude wind) > 0) then { - _windSourceObstacle = _bulletPosition vectorDiff ((vectorNormalized wind) vectorMultiply 10); - _windSourceTerrain = _bulletPosition vectorDiff ((vectorNormalized wind) vectorMultiply 100); - - if (!(lineIntersects [_bulletPosition, _windSourceObstacle]) && !(terrainIntersectASL [_bulletPosition, _windSourceTerrain])) then { - _wind = wind; - _height = ASLToATL(_bulletPosition) select 2; - _height = 0 max _height min 20; - if (_height < 20) then { - _roughnessLength = _bulletPosition call cse_ab_ballistics_fnc_calculate_roughness_length; - _wind = _wind vectorMultiply (ln(_height / _roughnessLength) / ln(20 / _roughnessLength)); - }; - - _trueVelocity = _bulletVelocity vectorDiff _wind; - _trueSpeed = vectorMagnitude _trueVelocity; - }; - }; - - _airFrictionRef = _airFriction; - if (cse_AB_AdvancedAirDragEnabled && (count _ballisticCoefficients) == (count _velocityBoundaries) + 1) then { - _dragRef = _deltaT * _airFrictionRef * _bulletSpeed * _bulletSpeed; - _accelRef = (vectorNormalized _bulletVelocity) vectorMultiply (_dragRef); - _bulletVelocity = _bulletVelocity vectorDiff _accelRef; - - _ballisticCoefficient = (_ballisticCoefficients select 0); - for "_i" from (count _velocityBoundaries) - 1 to 0 step -1 do { - if (_bulletSpeed < (_velocityBoundaries select _i)) exitWith { - _ballisticCoefficient = (_ballisticCoefficients select (_i + 1)); - }; - }; - - if (cse_AB_AtmosphericDensitySimulationEnabled) then { - _pressure = 1013.25 * exp(-(cse_AB_Altitude + (_bulletPosition select 2)) / 7990) - 10 * overcast; - _temperature = GET_TEMPERATURE_AT_HEIGHT(_bulletPosition select 2); - _humidity = cse_AB_Humidity; - if (cse_AB_Humidity < 1 && fog > 0) then { - private ["_fogValue", "_fogDecay", "_fogBase"]; - _fogValue = fogParams select 0; - _fogDecay = fogParams select 1; - _fogBase = fogParams select 2; - _fogDensity = 1 - 0.05 * (_fogDecay / _fogValue * (_height - _fogBase))^2; - if (_fogDensity > 0) then { - _humidity = 1; - } else { - _humidity = cse_AB_Humidity + (1 - cse_AB_Humidity) * (0 max (1 + _fogDensity)); - }; - }; - _airDensity = STD_AIR_DENSITY_ICAO; - if (_humidity > 0) then { - private ["_pSat", "_vaporPressure", "_partialPressure"]; - // Saturation vapor pressure calculated according to: http://wahiduddin.net/calc/density_algorithms.htm - _pSat = 6.1078 * 10 ^ ((7.5 * _temperature) / (_temperature + 237.3)); - _vaporPressure = _humidity * _pSat; - _partialPressure = (_pressure * 100)- _vaporPressure; - - _airDensity = (_partialPressure * DRY_AIR_MOLAR_MASS + _vaporPressure * WATER_VAPOR_MOLAR_MASS) / (UNIVERSAL_GAS_CONSTANT * KELVIN(_temperature)); - } else { - _airDensity = (_pressure * 100) / (SPECIFIC_GAS_CONSTANT_DRY_AIR * KELVIN(_temperature)); - }; - - if (_atmosphereModel == "ICAO") then { - _ballisticCoefficient = (STD_AIR_DENSITY_ICAO / _airDensity) * _ballisticCoefficient; - } else { - _ballisticCoefficient = (STD_AIR_DENSITY_ASM / _airDensity) * _ballisticCoefficient; - }; - }; - - _drag = _deltaT * ([_dragModel, _ballisticCoefficient, _trueSpeed] call cse_ab_ballistics_fnc_calculate_retardation); - _accel = (vectorNormalized _trueVelocity) vectorMultiply (_drag); - _bulletVelocity = _bulletVelocity vectorDiff _accel; - } else { - if (cse_AB_AtmosphericDensitySimulationEnabled) then { - _pressureDeviation = 1013.25 * exp(-(cse_AB_Altitude + (_bulletPosition select 2)) / 7990) - 1013.25 - 10 * overcast; - _temperature = GET_TEMPERATURE_AT_HEIGHT(_bulletPosition select 2); - _humidity = cse_AB_Humidity; - if (cse_AB_Humidity < 1 && fog > 0) then { - private ["_fogValue", "_fogDecay", "_fogBase"]; - - _fogValue = fogParams select 0; - _fogDecay = fogParams select 1; - _fogBase = fogParams select 2; - _fogDensity = 1 - 0.05 * (_fogDecay / _fogValue * (_height - _fogBase))^2; - if (_fogDensity > 0) then { - _humidity = 1; - } else { - _humidity = cse_AB_Humidity + (1 - cse_AB_Humidity) * (0 max (1 + _fogDensity)); - }; - }; - _airFriction = _airFriction + ((_temperature - 15) * 0.0000015 + _humidity * 0.0000040 + _pressureDeviation * -0.0000009); - }; - - if (_airFriction != _airFrictionRef || vectorMagnitude _wind > 0) then { - _dragRef = _deltaT * _airFrictionRef * _bulletSpeed * _bulletSpeed; - _accelRef = (vectorNormalized _bulletVelocity) vectorMultiply (_dragRef); - _bulletVelocity = _bulletVelocity vectorDiff _accelRef; - - _drag = _deltaT * _airFriction * _trueSpeed * _trueSpeed; - _accel = (vectorNormalized _trueVelocity) vectorMultiply (_drag); - _bulletVelocity = _bulletVelocity vectorAdd _accel; - }; - }; - - if (cse_AB_CoriolisEnabled && _bulletSpeedAvg > 0) then { - _horizontalDeflection = 0.0000729 * (_unit distanceSqr _bullet) * sin(cse_AB_Latitude) / _bulletSpeedAvg; - _horizontalDeflectionPartial = _horizontalDeflection - (cse_AB_bulletDatabaseHDeflect select _index); - cse_AB_bulletDatabaseHDeflect set[_index, _horizontalDeflection]; - _vect = [sin(_bulletDir + 90) * _horizontalDeflectionPartial, cos(_bulletDir + 90) * _horizontalDeflectionPartial, 0]; - - _bulletPosition = _bulletPosition vectorAdd _vect; - }; - - if (cse_AB_EoetvoesEnabled) then { - _centripetalAccel = 2 * 0.0000729 * (_muzzleVelocity / -32.2) * cos(cse_AB_Latitude) * sin(_bulletDir); - _accel = [0, 0, -(_centripetalAccel * _deltaT)]; - - _bulletVelocity = _bulletVelocity vectorAdd _accel; - }; - - if (cse_AB_SpinDriftEnabled) then { - _spinDrift = _twistDirection * 0.0254 * 1.25 * (_stabilityFactor + 1.2) * _TOF ^ 1.83; - _spinDriftPartial = _spinDrift - (cse_AB_bulletDatabaseSpinDrift select _index); - cse_AB_bulletDatabaseSpinDrift set[_index, _spinDrift]; - _vect = [sin(_bulletDir + 90) * _spinDriftPartial, cos(_bulletDir + 90) * _spinDriftPartial, 0]; - - _bulletPosition = _bulletPosition vectorAdd _vect; - }; - }; - - if (cse_AB_TransonicRegionEnabled && _transonicStabilityCoef < 1) then { - if (_bulletSpeed < 345 && _bulletSpeedAvg > 340 && _bulletSpeed > 335) then { - _accel = [(random 0.8) - 0.4, (random 0.8) - 0.4, (random 0.8) - 0.4]; - _accel = _accel vectorMultiply (1 - _transonicStabilityCoef); - _bulletVelocity = _bulletVelocity vectorAdd _accel; - }; - }; - - if (_bulletTraceVisible && _bulletSpeed > 600 && _bullet distanceSqr _unit > 400) then { - drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.4*_caliber,0.2*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; - }; - - _bullet setVelocity _bulletVelocity; - _bullet setPosASL _bulletPosition; - true - } count cse_AB_bulletDatabaseOccupiedIndices; - - }] call BIS_fnc_addStackedEventHandler; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_advanced_ballistics_extension.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_advanced_ballistics_extension.sqf deleted file mode 100644 index 7d544d15e0..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_advanced_ballistics_extension.sqf +++ /dev/null @@ -1,171 +0,0 @@ -#include "defines.h" - -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_bulletTranslation", "_airFriction", "_dragModel", "_velocityBoundaryData", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_cse_AB_Elevation", "_cse_AB_Windage", "_ID"]; -_unit = _this select 0; -_weapon = _this select 1; -_mode = _this select 3; -_ammo = _this select 4; -_bullet = _this select 5; -_magazine = _this select 6; - -if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { - _bullet = _this select 6; - _magazine = _this select 5; -}; - -if (isDedicated) exitWith {}; -if (!alive _bullet) exitWith {}; -if (!(isPlayer _unit)) exitWith {}; -if (underwater _unit) exitWith {}; -if (!(_ammo isKindOf "BulletBase")) exitWith {}; -if (_unit distanceSqr player > 9000000) exitWith {}; -if (cse_AB_OnlyActiveForLocalPlayer && !(local _unit)) exitWith {}; -if (cse_AB_OnlyActiveForPlayerGroup && (group _unit != group player)) exitWith {}; -if (!cse_AB_VehicleGunnerEnabled && !(_unit isKindOf "Man")) exitWith {}; -if (cse_AB_DisabledInFullAutoMode && getNumber(configFile >> "cfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) exitWith {}; -if (!isServer && !((gunner _unit) getVariable ["cse_enabled_AdvancedBallistics", false])) exitWith {}; - -_airFriction = getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction"); -_muzzleVelocity = getNumber(configFile >> "cfgMagazines" >> _magazine >> "initSpeed"); - -_muzzleAccessory = (primaryWeaponItems _unit) select 0; -if (_muzzleAccessory != "" && isNumber(configFile >> "cfgWeapons" >> _muzzleAccessory >> "ItemInfo" >> "MagazineCoef" >> "initSpeed")) then { - _initSpeedCoef = getNumber(configFile >> "cfgWeapons" >> _muzzleAccessory >> "ItemInfo" >> "MagazineCoef" >> "initSpeed"); - _muzzleVelocity = _muzzleVelocity * _initSpeedCoef; -}; - -if (cse_AB_BarrelLengthInfluenceEnabled) then { - _muzzleVelocityShift = [_ammo, _weapon, _muzzleVelocity] call cse_ab_ballistics_fnc_barrel_length_muzzle_velocity; - if (_muzzleVelocityShift != 0) then { - _bulletVelocity = velocity _bullet; - _bulletSpeed = vectorMagnitude _bulletVelocity; - _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift * (_bulletSpeed / _muzzleVelocity))); - _bullet setVelocity _bulletVelocity; - _muzzleVelocity = _muzzleVelocity + _muzzleVelocityShift; - }; -}; - -if (cse_AB_AmmoTemperatureEnabled) then { - _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _muzzleVelocityShift = [_ammo, _temperature] call cse_ab_ballistics_fnc_ammo_temperature_muzzle_velocity; - if (_muzzleVelocityShift != 0) then { - _bulletVelocity = velocity _bullet; - _bulletSpeed = vectorMagnitude _bulletVelocity; - _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift * (_bulletSpeed / _muzzleVelocity))); - _bullet setVelocity _bulletVelocity; - _muzzleVelocity = _muzzleVelocity + _muzzleVelocityShift; - }; -}; - -_opticsName = ""; -_opticType = 0; -if (currentWeapon player == primaryWeapon player && count primaryWeaponItems player > 2) then { - _opticsName = (primaryWeaponItems player) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); -}; - -_bulletTraceVisible = (_opticType == 2 || currentWeapon player in ["Binocular", "Rangefinder", "Laserdesignator"]) && cameraView == "GUNNER"; - -if (cse_AB_MilTurretsEnabled) then { - [_bullet, _unit] call cse_ab_ballistics_fnc_apply_turret_adjustments; -}; - -_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_caliber"); -_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_bulletLength"); -_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_bulletMass"); -_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "AB_barrelTwist"); -_stabilityFactor = 1.5; - -if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { - _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _barometricPressure = 1013.25 * exp(-(cse_AB_Altitude + ((getPosASL _bullet) select 2)) / 7990) - 10 * overcast; - _stabilityFactor = [_caliber, _bulletLength, _bulletMass, _barrelTwist, _muzzleVelocity, _temperature, _barometricPressure] call cse_ab_ballistics_fnc_calculate_stability_factor; -}; - -_twistDirection = 1; -if (isNumber(configFile >> "cfgWeapons" >> _weapon >> "AB_twistDirection")) then { - _twistDirection = getNumber(configFile >> "cfgWeapons" >> _weapon >> "AB_twistDirection"); - if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { - _twistDirection = 1; - }; -}; - -_transonicStabilityCoef = 0.5; -if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_transonicStabilityCoef")) then { - _transonicStabilityCoef = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_transonicStabilityCoef"); -}; - -_dragModel = 1; -_ballisticCoefficients = []; -_velocityBoundaries = []; -_atmosphereModel = "ICAO"; -if (cse_AB_AdvancedAirDragEnabled) then { - if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_dragModel")) then { - _dragModel = getNumber(configFile >> "cfgAmmo" >> _ammo >> "AB_dragModel"); - if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { - _dragModel = 1; - }; - }; - if (isArray(configFile >> "cfgAmmo" >> _ammo >> "AB_ballisticCoefficients")) then { - _ballisticCoefficients = getArray(configFile >> "cfgAmmo" >> _ammo >> "AB_ballisticCoefficients"); - }; - if (isArray(configFile >> "cfgAmmo" >> _ammo >> "AB_velocityBoundaries")) then { - _velocityBoundaries = getArray(configFile >> "cfgAmmo" >> _ammo >> "AB_velocityBoundaries"); - }; - if (isText(configFile >> "cfgAmmo" >> _ammo >> "AB_standardAtmosphere")) then { - _atmosphereModel = getText(configFile >> "cfgAmmo" >> _ammo >> "AB_standardAtmosphere"); - }; -}; - -_index = count cse_AB_bulletDatabase; -if (count cse_AB_bulletDatabaseFreeIndices > 0) then { - _index = cse_AB_bulletDatabaseFreeIndices select 0; - cse_AB_bulletDatabaseFreeIndices = cse_AB_bulletDatabaseFreeIndices - [_index]; -}; - -"AdvancedBallistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", _index, _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _bullet, cse_AB_Latitude, cse_AB_Temperature, cse_AB_Altitude, cse_AB_Humidity, overcast, floor(time), time - floor(time)]; -cse_AB_bulletDatabase set[_index, [_bullet, _caliber, _bulletTraceVisible, _index]]; - -if ((cse_AB_bulletDatabaseOccupiedIndices pushBack _index) == 0) then { - ["AdvancedBallistics", "onEachFrame", { - private ["_bulletDatabaseEntry", "_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition", "_bulletVelocityShift", "_bulletPositionShift"]; - - { - _bulletDatabaseEntry = (cse_AB_bulletDatabase select _x); - _bullet = _bulletDatabaseEntry select 0; - _index = _bulletDatabaseEntry select 3; - if (!alive _bullet) then { - cse_AB_bulletDatabaseOccupiedIndices = cse_AB_bulletDatabaseOccupiedIndices - [_index]; - cse_AB_bulletDatabaseFreeIndices pushBack _index; - }; - true - } count cse_AB_bulletDatabaseOccupiedIndices; - - if (count cse_AB_bulletDatabaseOccupiedIndices == 0) exitWith { - cse_AB_bulletDatabase = []; - cse_AB_bulletDatabaseOccupiedIndices = []; - cse_AB_bulletDatabaseFreeIndices = []; - ["AdvancedBallistics", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; - }; - - { - _bulletDatabaseEntry = (cse_AB_bulletDatabase select _x); - _bullet = _bulletDatabaseEntry select 0; - _caliber = _bulletDatabaseEntry select 1; - _bulletTraceVisible = _bulletDatabaseEntry select 2; - _index = _bulletDatabaseEntry select 3; - - _bulletVelocity = velocity _bullet; - _bulletPosition = getPosASL _bullet; - - if (_bulletTraceVisible && vectorMagnitude _bulletVelocity > 600) then { - drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.4*_caliber,0.2*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; - }; - - call compile ("AdvancedBallistics" callExtension format["simulate:%1:%2:%3:%4:%5:%6:%7", _index, _bulletVelocity, _bulletPosition, wind, ASLToATL(_bulletPosition) select 2, floor(time), time - floor(time)]); - - true - } count cse_AB_bulletDatabaseOccupiedIndices; - - }] call BIS_fnc_addStackedEventHandler; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_ammo_temperature_muzzle_velocity.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_ammo_temperature_muzzle_velocity.sqf deleted file mode 100644 index 3158c82526..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_ammo_temperature_muzzle_velocity.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/** - * fn_ammo_temperature_muzzle_velocity.sqf - * @Descr: ? - * @Author: Ruthberg - * - * @Arguments: [Ammo Class Name, Temperature in C] - * @Return: [Muzzle Velocity Shift in m/s] - * @PublicAPI: true - */ - - -#include "defines.h" - -private ["_ammo", "_temperature", "_muzzleVelocityTable", "_muzzleVelocityShift", "_temperatureIndexA", "_temperatureIndexB", "_temperatureRatio"]; -_ammo = _this select 0; -_temperature = _this select 1; - -_muzzleVelocityTable = []; - -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "AB_ammoTempMuzzleVelocityShifts")) then { - _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "AB_ammoTempMuzzleVelocityShifts"); -}; - -if (count _muzzleVelocityTable != 11) exitWith { 0 }; - -_temperatureIndexA = floor((_temperature + 15) / 5); -_temperatureIndexA = 0 max _temperatureIndexA; -_temperatureIndexA = _temperatureIndexA min 10; - -_temperatureIndexB = ceil((_temperature + 15) / 5); -_temperatureIndexB = 0 max _temperatureIndexB; -_temperatureIndexB = _temperatureIndexB min 10; - -_temperatureRatio = ((_temperature + 15) / 5) - floor((_temperature + 15) / 5); - -_muzzleVelocityShift = (_muzzleVelocityTable select _temperatureIndexA) * (1 - _temperatureRatio) + (_muzzleVelocityTable select _temperatureIndexB) * _temperatureRatio; - -_muzzleVelocityShift diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_apply_turret_adjustments.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_apply_turret_adjustments.sqf deleted file mode 100644 index 147e5668e7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_apply_turret_adjustments.sqf +++ /dev/null @@ -1,37 +0,0 @@ -#include "defines.h" - -private ["_bullet", "_unit", "_opticsName", "_opticType", "_windage", "_elevation", "_zero", "_bulletVelocity", "_dir", "_elev", "_mag3D", "_mag2D"]; -_bullet = _this select 0; -_unit = _this select 1; - -_opticsName = ""; -_opticType = 0; -if (currentWeapon _unit == primaryWeapon _unit && count primaryWeaponItems _unit > 2) then { - _opticsName = (primaryWeaponItems _unit) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); -}; - -if (_opticType == 2) then { - _windage = _unit getVariable [format["cse_AB_Windage:%1", _opticsName], 0]; - _elevation = _unit getVariable [format["cse_AB_Elevation:%1", _opticsName], 0]; - _zero = _unit getVariable [format["cse_AB_Zero:%1", _opticsName], 0]; - - _elevation = _elevation + _zero; - - if (_windage != 0 || _elevation != 0) then { - _windage = _windage * 3.47 / 60; - _elevation = _elevation * 3.47 / 60; - - _bulletVelocity = (velocity _bullet); - _mag3D = vectorMagnitude _bulletVelocity; - _dir = (_bulletVelocity select 0) atan2 (_bulletVelocity select 1); - _elev = asin((_bulletVelocity select 2) / _mag3D); - - _dir = _dir + _windage; - _elev = _elev + _elevation; - - _mag2D = _mag3D * cos(_elev); - - _bullet setVelocity [_mag2D * sin(_dir), _mag2D * cos(_dir), _mag3D * sin(_elev)]; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_barrel_length_muzzle_velocity.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_barrel_length_muzzle_velocity.sqf deleted file mode 100644 index 54ad0b1e31..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_barrel_length_muzzle_velocity.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/** - * fn_barrel_length_muzzle_velocity.sqf - * @Descr: ? - * @Author: Ruthberg - * - * @Arguments: [Ammo Class Name, Weapon Class Name, Muzzle Velocity in m/s] - * @Return: [Muzzle Velocity in m/s] - * @PublicAPI: true - */ - - -#include "defines.h" - -private ["_ammo", "_weapon", "_barrelLength", "_muzzleVelocityTable", "_barrelLengthTable", "_muzzleVelocity", "_lowerIndex", "_upperIndex", "_barrelLengthRatio", "_muzzleVelocityNew"]; -_ammo = _this select 0; -_weapon = _this select 1; -_muzzleVelocity = _this select 2; - -_barrelLength = getNumber(configFile >> "cfgWeapons" >> _weapon >> "AB_barrelLength"); - -if (_barrelLength == 0) exitWith { 0 }; - -_muzzleVelocityTable = []; -_barrelLengthTable = []; - -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "AB_muzzleVelocities")) then { - _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "AB_muzzleVelocities"); -}; -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "AB_barrelLengths")) then { - _barrelLengthTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "AB_barrelLengths"); -}; - -if (count _muzzleVelocityTable != count _barrelLengthTable) exitWith { 0 }; -if (count _muzzleVelocityTable == 0 || count _barrelLengthTable == 0) exitWith { 0 }; -if (count _muzzleVelocityTable == 1) exitWith { (_muzzleVelocityTable select 0) - _muzzleVelocity }; - -_lowerIndex = 0; -_upperIndex = (count _barrelLengthTable) - 1; - -if (_barrelLength <= (_barrelLengthTable select _lowerIndex)) exitWith { (_muzzleVelocityTable select _lowerIndex) - _muzzleVelocity }; -if (_barrelLength >= (_barrelLengthTable select _upperIndex)) exitWith { (_muzzleVelocityTable select _upperIndex) - _muzzleVelocity }; - -for "_i" from 0 to (count _barrelLengthTable) - 1 do { - if (_barrelLength >= _barrelLengthTable select _i) then { - _lowerIndex = _i; - }; -}; -for "_i" from (count _barrelLengthTable) - 1 to 0 step -1 do { - if (_barrelLength <= _barrelLengthTable select _i) then { - _upperIndex = _i; - }; -}; - -_barrelLengthRatio = 0; -if ((_barrelLengthTable select _upperIndex) - (_barrelLengthTable select _lowerIndex) > 0) then { - _barrelLengthRatio = ((_barrelLengthTable select _upperIndex) - _barrelLength) / ((_barrelLengthTable select _upperIndex) - (_barrelLengthTable select _lowerIndex)); -}; - -_muzzleVelocityNew = (_muzzleVelocityTable select _lowerIndex) + ((_muzzleVelocityTable select _upperIndex) - (_muzzleVelocityTable select _lowerIndex)) * (1 - _barrelLengthRatio); - -_muzzleVelocityNew - _muzzleVelocity diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_air_density.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_air_density.sqf deleted file mode 100644 index 5cc23ad6ab..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_air_density.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_calculate_air_density.sqf - * @Descr: Calculates air density based on atmospheric pressure, temperature and rel.humidity - * @Author: Ruthberg - * - * @Arguments: [Temperature in C, Pressure in hPa, Relative Humidity as ratio 0.0-1.0] - * @Return: [Air Density in kg/m^3] - * @PublicAPI: true - */ - - -#include "defines.h" - -private ["_temperature", "_pressure", "_relativeHumidity"]; -_temperature = _this select 0; // in C -_pressure = _this select 1; // in hPa -_relativeHumidity = _this select 2; // as ratio 0-1 - -_pressure = _pressure * 100; - -if (_relativeHumidity > 0) then { - private ["_pSat", "_vaporPressure", "_partialPressure"]; - // Saturation vapor pressure calculated according to: http://wahiduddin.net/calc/density_algorithms.htm - _pSat = 6.1078 * 10 ^ ((7.5 * _temperature) / (_temperature + 237.3)); - _vaporPressure = _relativeHumidity * _pSat; - _partialPressure = _pressure - _vaporPressure; - - (_partialPressure * DRY_AIR_MOLAR_MASS + _vaporPressure * WATER_VAPOR_MOLAR_MASS) / (UNIVERSAL_GAS_CONSTANT * KELVIN(_temperature)) -} else { - _pressure / (SPECIFIC_GAS_CONSTANT_DRY_AIR * KELVIN(_temperature)) -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_atmospheric_correction.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_atmospheric_correction.sqf deleted file mode 100644 index bf47dec263..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_atmospheric_correction.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_calculate_atmospheric_correction.sqf - * @Descr: ? - * @Author: Ruthberg - * - * @Arguments: [Ballistic Coefficient, Temperature in C, Pressure in hPa, Relative Humidity as ratio in 0.0-1.0, Atm.Model = "ICAO" || "ASM"] - * @Return: [Corrected Ballistic Coefficient] - * @PublicAPI: true - */ - - -#include "defines.h" - -private ["_ballisticCoefficient", "_temperature", "_pressure", "_relativeHumidity", "_atmosphereModel", "_airDensity"]; -_ballisticCoefficient = _this select 0; -_temperature = _this select 1; // in C -_pressure = _this select 2; // in hPa -_relativeHumidity = _this select 3; // as ratio 0-1 -_atmosphereModel = _this select 4; // "ICAO" or "ASM" - -_airDensity = [_temperature, _pressure, _relativeHumidity] call cse_ab_ballistics_fnc_calculate_air_density; - -if (_atmosphereModel == "ICAO") then { - (STD_AIR_DENSITY_ICAO / _airDensity) * _ballisticCoefficient -} else { - (STD_AIR_DENSITY_ASM / _airDensity) * _ballisticCoefficient -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_hellmann_exponent.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_hellmann_exponent.sqf deleted file mode 100644 index 371718089c..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_hellmann_exponent.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/** - * fn_calculate_hellmann_exponent.sqf - * @Descr: Wikipedia: The Hellmann exponent depends upon the coastal location and the shape of the terrain on the ground, and the stability of the air. - * @Author: Ruthberg - * - * @Arguments: [position in ASL format] - * @Return: [Hellmann Exponent] - * @PublicAPI: true - */ - -#include "defines.h" - -private ["_hellmann_exponents", "_hellmann_index", "_windSource", "_nearObjects", "_isWater"]; - -// Source: https://en.wikipedia.org/wiki/Wind_gradient -// Entries 0-2 -> open water surface; Entries 3-5 -> flat open coast; Entries 6-8 -> human inhabited areas -// Sorting: open water surface/flat open coast/human inhabited areas & stable air/neutral air/unstable air -_hellmann_exponents = [0.27, 0.10, 0.06, 0.40, 0.16, 0.11, 0.60, 0.34, 0.27]; -_hellmann_exponent = 0.14; - -_windSource = _this vectorDiff ((vectorNormalized wind) vectorMultiply 25); - -_nearObjects = count (_windSource nearObjects ["Building", 50]); -_isWater = surfaceIsWater _this; - -_hellmann_index = 0 max floor(overcast * 3) min 2; - -if (_nearObjects >= 5) then { - _hellmann_exponent = _hellmann_exponents select (_hellmann_index + 6); -}; -if (_nearObjects < 5) then { - _hellmann_exponent = _hellmann_exponents select (_hellmann_index + 3); -}; -if (_nearObjects == 0 && _isWater) then { - _hellmann_exponent = _hellmann_exponents select (_hellmann_index + 0); -}; - -_hellmann_exponent diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_retardation.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_retardation.sqf deleted file mode 100644 index 3fcb3bc856..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_retardation.sqf +++ /dev/null @@ -1,129 +0,0 @@ -#include "defines.h" - -// Source: GNU Exterior Ballistics - -private ["_dragModel", "_dragCoefficient", "_velocity", "_A", "_M", "_result"]; -_dragModel = _this select 0; -_dragCoefficient = _this select 1; -_velocity = (_this select 2) * 3.2808399; - -_A = -1; -_M = -1; -_result = 0; - -switch _dragModel do { - case 1: - { - switch true do { - case (_velocity > 4230) : { _A = 0.0001477404177730177; _M = 1.9565; }; - case (_velocity > 3680) : { _A = 0.0001920339268755614; _M = 1.925 ; }; - case (_velocity > 3450) : { _A = 0.0002894751026819746; _M = 1.875 ; }; - case (_velocity > 3295) : { _A = 0.0004349905111115636; _M = 1.825 ; }; - case (_velocity > 3130) : { _A = 0.0006520421871892662; _M = 1.775 ; }; - case (_velocity > 2960) : { _A = 0.0009748073694078696; _M = 1.725 ; }; - case (_velocity > 2830) : { _A = 0.001453721560187286; _M = 1.675 ; }; - case (_velocity > 2680) : { _A = 0.002162887202930376; _M = 1.625 ; }; - case (_velocity > 2460) : { _A = 0.003209559783129881; _M = 1.575 ; }; - case (_velocity > 2225) : { _A = 0.003904368218691249; _M = 1.55 ; }; - case (_velocity > 2015) : { _A = 0.003222942271262336; _M = 1.575 ; }; - case (_velocity > 1890) : { _A = 0.002203329542297809; _M = 1.625 ; }; - case (_velocity > 1810) : { _A = 0.001511001028891904; _M = 1.675 ; }; - case (_velocity > 1730) : { _A = 0.0008609957592468259; _M = 1.75 ; }; - case (_velocity > 1595) : { _A = 0.0004086146797305117; _M = 1.85 ; }; - case (_velocity > 1520) : { _A = 0.0001954473210037398; _M = 1.95 ; }; - case (_velocity > 1420) : { _A = 0.00005431896266462351; _M = 2.125 ; }; - case (_velocity > 1360) : { _A = 0.000008847742581674416; _M = 2.375 ; }; - case (_velocity > 1315) : { _A = 0.000001456922328720298; _M = 2.625 ; }; - case (_velocity > 1280) : { _A = 0.0000002419485191895565; _M = 2.875 ; }; - case (_velocity > 1220) : { _A = 0.00000001657956321067612; _M = 3.25 ; }; - case (_velocity > 1185) : { _A = 0.0000000004745469537157371; _M = 3.75 ; }; - case (_velocity > 1150) : { _A = 0.00000000001379746590025088; _M = 4.25 ; }; - case (_velocity > 1100) : { _A = 0.0000000000004070157961147882; _M = 4.75 ; }; - case (_velocity > 1060) : { _A = 0.00000000000002938236954847331; _M = 5.125 ; }; - case (_velocity > 1025) : { _A = 0.00000000000001228597370774746; _M = 5.25 ; }; - case (_velocity > 980) : { _A = 0.00000000000002916938264100495; _M = 5.125 ; }; - case (_velocity > 945) : { _A = 0.0000000000003855099424807451; _M = 4.75 ; }; - case (_velocity > 905) : { _A = 0.00000000001185097045689854; _M = 4.25 ; }; - case (_velocity > 860) : { _A = 0.0000000003566129470974951; _M = 3.75 ; }; - case (_velocity > 810) : { _A = 0.00000001045513263966272; _M = 3.25 ; }; - case (_velocity > 780) : { _A = 0.0000001291159200846216; _M = 2.875 ; }; - case (_velocity > 750) : { _A = 0.0000006824429329105383; _M = 2.625 ; }; - case (_velocity > 700) : { _A = 0.000003569169672385163; _M = 2.375 ; }; - case (_velocity > 640) : { _A = 0.00001839015095899579; _M = 2.125 ; }; - case (_velocity > 600) : { _A = 0.00005711174688734240; _M = 1.950 ; }; - case (_velocity > 550) : { _A = 0.00009226557091973427; _M = 1.875 ; }; - case (_velocity > 250) : { _A = 0.00009337991957131389; _M = 1.875 ; }; - case (_velocity > 100) : { _A = 0.00007225247327590413; _M = 1.925 ; }; - case (_velocity > 65) : { _A = 0.00005792684957074546; _M = 1.975 ; }; - case (_velocity > 0) : { _A = 0.00005206214107320588; _M = 2.000 ; }; - }; - }; - case 2: - { - switch true do { - case (_velocity > 1674) : { _A = 0.0079470052136733; _M = 1.36999902851493; }; - case (_velocity > 1172) : { _A = 0.00100419763721974; _M = 1.65392237010294; }; - case (_velocity > 1060) : { _A = 0.0000000000000000000000715571228255369; _M = 7.91913562392361; }; - case (_velocity > 949) : { _A = 0.000000000139589807205091; _M = 3.81439537623717; }; - case (_velocity > 670) : { _A = 0.000234364342818625; _M = 1.71869536324748; }; - case (_velocity > 335) : { _A = 0.000177962438921838; _M = 1.76877550388679; }; - case (_velocity > 0) : { _A = 0.0000518033561289704; _M = 1.98160270524632; }; - }; - }; - case 5: - { - switch true do { - case (_velocity > 1730) : { _A = 0.00724854775171929; _M = 1.41538574492812; }; - case (_velocity > 1228) : { _A = 0.0000350563361516117; _M = 2.13077307854948; }; - case (_velocity > 1116) : { _A = 0.000000000000184029481181151; _M = 4.81927320350395; }; - case (_velocity > 1004) : { _A = 0.000000000000000000000134713064017409; _M = 7.8100555281422 ; }; - case (_velocity > 837) : { _A = 0.000000103965974081168; _M = 2.84204791809926; }; - case (_velocity > 335) : { _A = 0.0001093015938698234; _M = 1.81096361579504; }; - case (_velocity > 0) : { _A = 0.0000351963178524273; _M = 2.00477856801111; }; - }; - }; - case 6: - { - switch true do { - case (_velocity > 3236) : { _A = 0.0455384883480781; _M = 1.15997674041274; }; - case (_velocity > 2065) : { _A = 0.07167261849653769; _M = 1.10704436538885; }; - case (_velocity > 1311) : { _A = 0.00166676386084348; _M = 1.60085100195952; }; - case (_velocity > 1144) : { _A = 0.000000101482730119215; _M = 2.9569674731838 ; }; - case (_velocity > 1004) : { _A = 0.00000000000000000431542773103552; _M = 6.34106317069757; }; - case (_velocity > 670) : { _A = 0.0000204835650496866; _M = 2.11688446325998; }; - case (_velocity > 0) : { _A = 0.0000750912466084823; _M = 1.92031057847052; }; - }; - }; - case 7: - { - switch true do { - case (_velocity > 4200) : { _A = 0.00000000129081656775919; _M = 3.24121295355962; }; - case (_velocity > 3000) : { _A = 0.0171422231434847; _M = 1.27907168025204; }; - case (_velocity > 1470) : { _A = 0.00233355948302505; _M = 1.52693913274526; }; - case (_velocity > 1260) : { _A = 0.000797592111627665; _M = 1.67688974440324; }; - case (_velocity > 1110) : { _A = 0.00000000000571086414289273; _M = 4.3212826264889 ; }; - case (_velocity > 960) : { _A = 0.0000000000000000302865108244904; _M = 5.99074203776707; }; - case (_velocity > 670) : { _A = 0.00000752285155782535; _M = 2.1738019851075 ; }; - case (_velocity > 540) : { _A = 0.0000131766281225189; _M = 2.08774690257991; }; - case (_velocity > 0) : { _A = 0.0000134504843776525; _M = 2.08702306738884; }; - }; - }; - case 8: - { - switch true do { - case (_velocity > 3571) : { _A = 0.0112263766252305; _M = 1.33207346655961; }; - case (_velocity > 1841) : { _A = 0.0167252613732636; _M = 1.28662041261785; }; - case (_velocity > 1120) : { _A = 0.00220172456619625; _M = 1.55636358091189; }; - case (_velocity > 1088) : { _A = 0.00000000000000020538037167098; _M = 5.80410776994789; }; - case (_velocity > 976) : { _A = 0.00000000000592182174254121; _M = 4.29275576134191; }; - case (_velocity > 0) : { _A = 0.000043917343795117; _M = 1.99978116283334; }; - }; - }; -}; - -if (_A != -1 && _M != -1 && _velocity > 0 && _velocity < 10000) then { - _result = _A * (_velocity ^ _M) / _dragCoefficient; - _result = _result / 3.2808399; -}; - -_result diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_roughness_length.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_roughness_length.sqf deleted file mode 100644 index 285f8e4dea..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_roughness_length.sqf +++ /dev/null @@ -1,21 +0,0 @@ -#include "defines.h" - -private ["_roughness_lengths", "_windSource", "_nearBuildings", "_isWater"]; - -// Source: http://es.ucsc.edu/~jnoble/wind/extrap/index.html -_roughness_lengths = [0.0002, 0.0005, 0.0024, 0.03, 0.055, 0.1, 0.2, 0.4, 0.8, 1.6]; - -_windSource = _this vectorDiff ((vectorNormalized wind) vectorMultiply 25); - -_nearBuildings = count (_windSource nearObjects ["Building", 50]); -_isWater = surfaceIsWater _windSource; - -if (_nearBuildings == 0 && _isWater) exitWith { - 0.0005 -}; - -if (_nearBuildings >= 10) exitWith { - 1.6 -}; - -_roughness_lengths select (2 + (_nearBuildings min 6)) diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_stability_factor.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_stability_factor.sqf deleted file mode 100644 index c1a9f66bbd..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_stability_factor.sqf +++ /dev/null @@ -1,27 +0,0 @@ -#include "defines.h" - -private ["_caliber", "_bulletLength", "_bulletMass", "_barrelTwist", "_muzzleVelocity", "_temperature", "_barometricPressure", "_l", "_t", "_stabilityFactor"]; -_caliber = _this select 0; -_bulletLength = _this select 1; -_bulletMass = _this select 2; -_barrelTwist = _this select 3; -_muzzleVelocity = _this select 4; -_temperature = _this select 5; -_barometricPressure = _this select 6; - -// Source: http://www.jbmballistics.com/ballistics/bibliography/articles/miller_stability_1.pdf -_t = _barrelTwist / _caliber; -_l = _bulletLength / _caliber; - -_stabilityFactor = 30 * _bulletMass / (_t^2 * _caliber^3 * _l * (1 + _l^2)); - -_muzzleVelocity = _muzzleVelocity * 3.2808399; -if (_muzzleVelocity > 1120) then { - _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 2800) ^ (1/3); -} else { - _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 1120) ^ (1/3); -}; - -_stabilityFactor = _stabilityFactor * (_temperature + 273) / (15 + 273) * 1013.25 / _barometricPressure; - -_stabilityFactor diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_wind_speed.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_wind_speed.sqf deleted file mode 100644 index 51221f9057..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_calculate_wind_speed.sqf +++ /dev/null @@ -1,65 +0,0 @@ -#include "defines.h" - -private ["_windSpeed", "_windDir", "_height", "_newWindSpeed", "_windSource", "_roughnessLength"]; - -fnc_polar2vect = { - private ["_mag2D"]; - _mag2D = (_this select 0) * cos((_this select 2)); - [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; -}; - -_windSpeed = vectorMagnitude wind; -_windDir = (wind select 0) atan2 (wind select 1); - -// Wind gradient -if (_windSpeed > 0.05) then { - _height = (ASLToATL _this) select 2; - _height = 0 max _height min 20; - if (_height < 20) then { - _roughnessLength = _this call cse_ab_ballistics_fnc_calculate_roughness_length; - _windSpeed = _windSpeed * ln(_height / _roughnessLength) / ln(20 / _roughnessLength); - }; -}; - -// Terrain effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - _windSpeed = _newWindSpeed; -}; - -// Obstacle effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; - _windSpeed = _newWindSpeed; -}; -_windSpeed = 0 max _windSpeed; - -_windSpeed diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_climate_simulation.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_climate_simulation.sqf deleted file mode 100644 index 4e13f01706..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_climate_simulation.sqf +++ /dev/null @@ -1,117 +0,0 @@ -#include "defines.h" - -private ["_time", "_timeRatio", "_month", "_avgTemperature", "_pS1", "_pS2", "_cse_AB_Day_Temperature", "_cse_AB_Night_Temperature", "_cse_AB_Humidity"]; -_cse_AB_Day_Temperature = [1, 3, 9, 14, 19, 23, 25, 24, 21, 13, 7, 2]; -_cse_AB_Night_Temperature = [-4, -3, 0, 4, 9, 12, 14, 14, 10, 6, 2, -2]; -_cse_AB_Humidity = [82, 80, 78, 70, 71, 72, 70, 73, 78, 80, 83, 82]; - -// Climate graphs -if (toLower worldName in ["chernarus", "bootcamp_acr", "woodland_acr", "utes"]) then { - // Source: http://www.iten-online.ch/klima/europa/tschechien/prag.htm - _cse_AB_Day_Temperature = [1, 3, 9, 14, 19, 23, 25, 24, 21, 13, 7, 2]; - _cse_AB_Night_Temperature = [-4, -3, 0, 4, 9, 12, 14, 14, 10, 6, 2, -2]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Prague,Czech-Republic - _cse_AB_Humidity = [82, 80, 78, 70, 71, 72, 70, 73, 78, 80, 83, 82]; -}; - -if (toLower worldName in ["altis", "stratis"]) then { - // Source: http://www.iten-online.ch/klima/europa/griechenland/limnos.htm - _cse_AB_Day_Temperature = [10, 10, 12, 16, 21, 26, 29, 28, 25, 20, 15, 11]; - _cse_AB_Night_Temperature = [4, 4, 6, 8, 13, 17, 20, 20, 16, 12, 8, 6]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Limnos,Greece - _cse_AB_Humidity = [78, 77, 78, 74, 71, 60, 59, 61, 65, 72, 79, 80]; -}; - -if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", "provinggrounds_pmc"]) then { - // Source: http://www.iten-online.ch/klima/asien/afghanistan/kabul.htm - _cse_AB_Day_Temperature = [4.5, 5.5, 12.5, 19.2, 24.4, 30.2, 32.1, 32, 28.5, 22.4, 15, 8.3]; - _cse_AB_Night_Temperature = [-7.1, -5.7, 0.7, 6, 8.8, 12.4, 15.3, 14.3, 9.4, 3.9, -1.2, -4.7]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan - _cse_AB_Humidity = [68, 69, 62, 60, 49, 37, 38, 39, 40, 41, 56, 61]; -}; - -if (toLower worldName in ["fallujah"]) then { - // Source: http://www.iten-online.ch/klima/asien/irak/bagdad.htm - _cse_AB_Day_Temperature = [16, 19, 23, 29, 36, 41, 43, 43, 40, 33, 24, 17]; - _cse_AB_Night_Temperature = [4, 6, 10, 15, 20, 23, 25, 25, 21, 16, 10, 5]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Bagdad,Iraq - _cse_AB_Humidity = [69, 60, 55, 50, 36, 23, 21, 22, 29, 38, 58, 68]; -}; - -if (toLower worldName in ["fata", "Abbottabad"]) then { - // Source: http://www.iten-online.ch/klima/asien/pakistan/zhob.htm - _cse_AB_Day_Temperature = [12.4, 15.8, 20.8, 26.9, 32.8, 37, 36.8, 35.9, 33.8, 28.2, 22.2, 16.2]; - _cse_AB_Night_Temperature = [-0.6, 2.4, 7.4, 13.1, 18.2, 22.8, 23.8, 22.9, 19.2, 12, 5.6, 1.2]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Zhob,Pakistan - _cse_AB_Humidity = [50, 40, 42, 40, 30, 30, 50, 49, 40, 32, 38, 41]; -}; - -if (worldName in ["sfp_wamako"]) then { - // Source: http://www.iten-online.ch/klima/afrika/niger/tahoua.htm - _cse_AB_Day_Temperature = [33.4, 35, 38.4, 41.5, 41.4, 40, 35.6, 32.9, 35.8, 38.2, 36.4, 33.1]; - _cse_AB_Night_Temperature = [14.9, 16.3, 20.4, 23.7, 25.8, 24.8, 23.1, 22, 22.6, 21.6, 18.6, 15.3]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Tahoua,Niger - _cse_AB_Humidity = [68, 60, 57, 50, 32, 22, 20, 21, 25, 38, 58, 69]; -}; - -if (worldName in ["sfp_sturko"]) then { - // Source: http://www.iten-online.ch/klima/afrika/niger/tahoua.htm - _cse_AB_Day_Temperature = [2.2, 2.4, 5.1, 10.2, 16.1, 20.1, 21.1, 20.9, 17.2, 12.7, 7.4, 3.9]; - _cse_AB_Night_Temperature = [-2, -2.3, -0.7, 2.6, 7.1, 11.4, 13.1, 12.7, 10, 6.9, 3.1, -0.1]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,karlskrona,Sweden - _cse_AB_Humidity = [86, 85, 80, 72, 68, 69, 74, 77, 79, 81, 86, 88]; -}; - -if (worldName in ["Bornholm"]) then { - // Source: http://www.iten-online.ch/klima/afrika/niger/tahoua.htm - _cse_AB_Day_Temperature = [1.9, 1.7, 3.8, 8.1, 14, 18.1, 19.6, 19.8, 16.2, 11.9, 7.3, 3.9]; - _cse_AB_Night_Temperature = [-1.6, -2.1, -0.7, 1.7, 6.2, 10.7, 13, 13.1, 10.6, 7.2, 3.5, 0.1]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,allinge,Denmark - _cse_AB_Humidity = [85, 84, 80, 76, 69, 69, 76, 77, 79, 81, 86, 86]; -}; -if (worldName in ["Imrali"]) then { - // Source: http://www.iten-online.ch/klima/europa/tuerkei/bursa.htm - _cse_AB_Day_Temperature = [9.3, 10.7, 13.6, 18.8, 23.5, 28.2, 30.3, 30.2, 27, 21.4, 16.5, 11.8]; - _cse_AB_Night_Temperature = [1.4, 2.4, 3.7, 7.1, 10.9, 14.3, 16.5, 16.3, 13, 9.5, 6, 3.8]; - - // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Bursa,Turkey - _cse_AB_Humidity = [78, 75, 70, 70, 71, 61, 58, 59, 63, 69, 77, 76]; -}; - -while {true} do -{ - _time = daytime; - _month = date select 1; - - // Temperature - _timeRatio = abs(_time - 12) / 12; - - cse_AB_Temperature = (_cse_AB_Day_Temperature select (_month - 1)) * (1 - _timeRatio) + (_cse_AB_Night_Temperature select (_month - 1)) * _timeRatio; - cse_AB_Temperature = cse_AB_Temperature + cse_AB_temperatureShift - cse_AB_badWeatherShift * overcast; - cse_AB_Temperature = round(cse_AB_Temperature * 10) / 10; - - // Humidity - cse_AB_Humidity = (_cse_AB_Humidity select _month) / 100; - cse_AB_Humidity = cse_AB_Humidity + cse_AB_humidityShift; - - if (rain > 0 && overcast > 0.7) then { - cse_AB_Humidity = 1; - } else { - _avgTemperature = ((_cse_AB_Day_Temperature select (_month - 1)) + (_cse_AB_Night_Temperature select (_month - 1))) / 2; - _pS1 = 6.112 * exp((17.62 * _avgTemperature) / (243.12 + _avgTemperature)); - _PS2 = 6.112 * exp((17.62 * cse_AB_Temperature) / (243.12 + cse_AB_Temperature)); - cse_AB_Humidity = cse_AB_Humidity * _PS1 / _PS2; - }; - - cse_AB_Humidity = 0 max cse_AB_Humidity min 1; - - sleep 60; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_display_protractor.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_display_protractor.sqf deleted file mode 100644 index e8212cf6ba..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_display_protractor.sqf +++ /dev/null @@ -1,50 +0,0 @@ -#include "defines.h" - -#define __dsp (uiNamespace getVariable "RscProtractor") -#define __ctrl1 (__dsp displayCtrl 132950) -#define __ctrl2 (__dsp displayCtrl 132951) - -private ["_inclinationAngle", "_refPosition"]; - -if (cse_AB_Protractor) exitWith { - cse_AB_Protractor = false; - 1 cutText ["", "PLAIN"]; - true -}; -if (weaponLowered player) exitWith { true }; -if (vehicle player != player) exitWith { true }; -if (currentWeapon player != primaryWeapon player) exitWith { true }; - -[] spawn { - 2 cutText ["", "PLAIN"]; - cse_AB_WindInfo = false; - 0 cutText ["", "PLAIN"]; - cse_AB_Protractor = true; - - while {cse_AB_Protractor && !(weaponLowered player) && currentWeapon player == primaryWeapon player} do { - _refPosition = [SafeZoneX + 0.001, SafeZoneY + 0.001, 0.2, 0.2 * 4/3]; - - _inclinationAngle = asin((player weaponDirection currentWeapon player) select 2); - _inclinationAngle = -58 max _inclinationAngle min 58; - - 1 cutRsc ["RscProtractor", "PLAIN", 1, false]; - - __ctrl1 ctrlSetScale 0.75; - __ctrl1 ctrlCommit 0; - __ctrl1 ctrlSetText "cse\cse_sys_ballistics\advancedballistics\data\protractor.paa"; - __ctrl1 ctrlSetTextColor [1, 1, 1, 1]; - - __ctrl2 ctrlSetScale 0.75; - __ctrl2 ctrlSetPosition [(_refPosition select 0), (_refPosition select 1) - 0.0012 * _inclinationAngle, (_refPosition select 2), (_refPosition select 3)]; - __ctrl2 ctrlCommit 0; - __ctrl2 ctrlSetText "cse\cse_sys_ballistics\advancedballistics\data\protractor_marker.paa"; - __ctrl2 ctrlSetTextColor [1, 1, 1, 1]; - - sleep 0.1; - }; - - cse_AB_Protractor = false; - 1 cutText ["", "PLAIN"]; -}; - -true diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_display_wind_info.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_display_wind_info.sqf deleted file mode 100644 index 373621fde7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_display_wind_info.sqf +++ /dev/null @@ -1,64 +0,0 @@ -#include "defines.h" - -#define __dsp (uiNamespace getVariable "RscWindIntuitive") -#define __ctrl (__dsp displayCtrl 132948) - -private ["_windSpeed", "_windDir", "_playerDir", "_windIndex", "_windColor", "_newWindSpeed", "_windSource", "_height"]; - -if (cse_AB_WindInfo) exitWith { - cse_AB_WindInfo = false; - 0 cutText ["", "PLAIN"]; - true -}; -if (underwater player) exitWith { true }; -if (vehicle player != player) exitWith { true }; - -[] spawn { - 2 cutText ["", "PLAIN"]; - cse_AB_Protractor = false; - 1 cutText ["", "PLAIN"]; - cse_AB_WindInfo = true; - - while {cse_AB_WindInfo && !(underwater player) && vehicle player == player} do { - _windIndex = 12; - _windColor = [1, 1, 1, 1]; - - _windSpeed = (eyePos player) call cse_ab_ballistics_fnc_calculate_wind_speed; - - if (_windSpeed > 0.2) then { - _playerDir = getDir player; - _windDir = (wind select 0) atan2 (wind select 1); - _windIndex = round(((_playerDir - _windDir + 360) % 360) / 30); - _windIndex = _windIndex % 12; - }; - - // Color Codes from https://en.wikipedia.org/wiki/Beaufort_scale#Modern_scale - if (_windSpeed > 0.3) then { _windColor = [0.796, 1, 1, 1]; }; - if (_windSpeed > 1.5) then { _windColor = [0.596, 0.996, 0.796, 1]; }; - if (_windSpeed > 3.3) then { _windColor = [0.596, 0.996, 0.596, 1]; }; - if (_windSpeed > 5.4) then { _windColor = [0.6, 0.996, 0.4, 1]; }; - if (_windSpeed > 7.9) then { _windColor = [0.6, 0.996, 0.047, 1]; }; - if (_windSpeed > 10.7) then { _windColor = [0.8, 0.996, 0.059, 1]; }; - if (_windSpeed > 13.8) then { _windColor = [1, 0.996, 0.067, 1]; }; - if (_windSpeed > 17.1) then { _windColor = [1, 0.796, 0.051, 1]; }; - if (_windSpeed > 20.7) then { _windColor = [1, 0.596, 0.039, 1]; }; - if (_windSpeed > 24.4) then { _windColor = [1, 0.404, 0.031, 1]; }; - if (_windSpeed > 28.4) then { _windColor = [1, 0.22, 0.027, 1]; }; - if (_windSpeed > 32.6) then { _windColor = [1, 0.078, 0.027, 1]; }; - - 0 cutRsc ["RscWindIntuitive", "PLAIN", 1, false]; - - __ctrl ctrlSetScale 0.75; - __ctrl ctrlCommit 0; - - __ctrl ctrlSetText format["cse\cse_sys_ballistics\advancedballistics\data\wind%1.paa", _windIndex]; - __ctrl ctrlSetTextColor _windColor; - - sleep 0.5; - }; - - cse_AB_WindInfo = false; - 0 cutText ["", "PLAIN"]; -}; - -true diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_get_humidity_at_height.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_get_humidity_at_height.sqf deleted file mode 100644 index 76d6903cdf..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_get_humidity_at_height.sqf +++ /dev/null @@ -1,17 +0,0 @@ -#include "defines.h" - -private ["_fogValue", "_fogDecay", "_fogBase"]; - -if (cse_AB_Humidity < 1 && fog > 0) then { - _fogValue = fogParams select 0; - _fogDecay = fogParams select 1; - _fogBase = fogParams select 2; - _fogDensity = 1 - 0.05 * (_fogDecay / _fogValue * (_this - _fogBase))^2; - if (_fogDensity > 0) then { - 1 - } else { - cse_AB_Humidity + (1 - cse_AB_Humidity) * (0 max (1 + _fogDensity)) - }; -} else { - cse_AB_Humidity -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_get_temperature_at_height.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_get_temperature_at_height.sqf deleted file mode 100644 index b9c3207518..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_get_temperature_at_height.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "defines.h" - -GET_TEMPERATURE_AT_HEIGHT(_this) diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_initialize_terrain_extension.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_initialize_terrain_extension.sqf deleted file mode 100644 index 014de5c4ac..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_initialize_terrain_extension.sqf +++ /dev/null @@ -1,31 +0,0 @@ -if (!cse_AB_UseDLL) exitWith {}; - -[] spawn { - private ["_initStartTime", "_mapSize", "_mapGrids", "_gridCenter", "_gridHeight", "_gridNumObjects", "_gridSurfaceIsWater"]; - - _initStartTime = time; - _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize"); - - if (("AdvancedBallistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith { - if (cse_AB_InitMessageEnabled) then { - systemChat "AdvancedBallistics: Terrain already initialized"; - }; - }; - - _mapGrids = ceil(_mapSize / 50); - - for "_x" from 0 to _mapGrids * 50 step 50 do { - for "_y" from 0 to _mapGrids * 50 step 50 do { - _gridCenter = [_x + 25, _y + 25]; - _gridHeight = round(getTerrainHeightASL _gridCenter); - _gridNumObjects = count (_gridCenter nearObjects ["Building", 50]); - _gridSurfaceIsWater = if (surfaceIsWater _gridCenter) then {1} else {0}; - "AdvancedBallistics" callExtension format["set:%1:%2:%3", _gridHeight, _gridNumObjects, _gridSurfaceIsWater]; - }; - sleep 0.001; - }; - - if (cse_AB_InitMessageEnabled) then { - systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(time - _initStartTime)]; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_mirage_simulation.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_mirage_simulation.sqf deleted file mode 100644 index 3c7c01464d..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_mirage_simulation.sqf +++ /dev/null @@ -1,45 +0,0 @@ -#include "defines.h" - -private ["_opticsName", "_parallax", "_playerDirection", "_vectorToFocalPoint", "_focusLength", "_focalPoint", "_roughnessLength", "_distCoef", "_focalPlaneAngle", "_windSpeedRef", "_windSpeed", - "_particleSize", "_particleMoveVelocityRef", "_particleMoveVelocity", "_pASL", "_pATL", "_height"]; - -while {cse_AB_MirageEnabled} do { - _opticsName = currentWeapon player; - if (currentWeapon player == primaryWeapon player && count primaryWeaponItems player > 2) then { - _opticsName = (primaryWeaponItems player) select 2; - }; - _parallax = player getVariable [format["cse_AB_Parallax:%1", _opticsName], 0]; - - while {sunOrMoon == 1 && cameraView == "GUNNER" && _parallax > 0} do { - _vectorToFocalPoint = (ATLToASL(screenToWorld [0.5,0.5])) vectorDiff (getPosASL player); - _focusLength = vectorMagnitude _vectorToFocalPoint; - if (_focusLength > 0) then { - _vectorToFocalPoint = _vectorToFocalPoint vectorMultiply (_parallax / _focusLength); - }; - _focusLength = vectorMagnitude _vectorToFocalPoint; - _focalPoint = (getPosASL player) vectorAdd _vectorToFocalPoint; - - _roughnessLength = _focalPoint call cse_ab_ballistics_fnc_calculate_roughness_length; - _distCoef = (1 max (_focusLength / 100)) ^ 0.5; - _focalPlaneAngle = (getDir player) + 90; - _windSpeedRef = vectorMagnitude wind; - _particleSize = 0.5 * _distCoef; - _particleMoveVelocityRef = [0, 0, 0.01] vectorAdd ((vectorNormalized wind) vectorMultiply (0.1)); - for "_j" from -10 to 10 do { - for "_i" from -10 to 10 do { - _pASL = [(_focalPoint select 0) + _j / 2 * _distCoef * sin(_focalPlaneAngle), (_focalPoint select 1) + _j / 2 * _distCoef * cos(_focalPlaneAngle), (_focalPoint select 2) + _i / 2 * _distCoef]; - _pATL = ASLToATL _pASL; - _windSpeed = _windSpeedRef; - _height = _pATL select 2; - if (_height < 20) then { - _windSpeed = _windSpeed * ln(_height / _roughnessLength) / ln(20 / _roughnessLength); - }; - _particleMoveVelocity = _particleMoveVelocityRef vectorMultiply _windSpeed; - drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,8,_pATL,_particleMoveVelocity,0,1.275,1,0,[_particleSize,_particleSize],[[0,0,0,0.3],[0,0,0,0.15]],[1,0],0,0,"","",""]; - }; - }; - _parallax = player getVariable [format["cse_AB_Parallax:%1", _opticsName], 0]; - sleep 1; - }; - sleep 1; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_synchronize_scope_zero.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_synchronize_scope_zero.sqf deleted file mode 100644 index 13a8fb950a..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/functions/fn_synchronize_scope_zero.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "defines.h" - -private ["_opticsName", "_zeroPlayer", "_zeroProfileNamespace"]; - -if (count primaryWeaponItems player > 2) then -{ - _opticsName = (primaryWeaponItems player) select 2; - _zeroPlayer = player getVariable [format["cse_AB_Zero:%1", _opticsName], 0]; - _zeroProfileNamespace = profileNamespace getVariable [format["cse_AB_Zero:%1", _opticsName], 0]; - - if (_zeroProfileNamespace != 0 && _zeroPlayer != _zeroProfileNamespace) then { - player setVariable [format["cse_AB_Zero:%1", _opticsName], _zeroProfileNamespace, true]; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/init.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/init.sqf deleted file mode 100644 index 9fd1de801f..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/init.sqf +++ /dev/null @@ -1,36 +0,0 @@ -private ["_args"]; -_args = _this; -{ - _varName = "cse_ab_"+(_x select 0); - missionNamespace setvariable[_varName, _x select 1]; -}foreach _args; - -cse_ab_AdvancedBallistics = true; - -if (isNil "cse_AB_WindEnabled") then { cse_AB_WindEnabled = cse_AB_WIND_ENABLED }; -if (isNil "cse_AB_SpinDriftEnabled") then { cse_AB_SpinDriftEnabled = cse_AB_SPIN_DRIFT_ENABLED }; -if (isNil "cse_AB_CoriolisEnabled") then { cse_AB_CoriolisEnabled = cse_AB_CORIOLIS_ENABLED }; -if (isNil "cse_AB_EoetvoesEnabled") then { cse_AB_EoetvoesEnabled = cse_AB_EOETVOES_ENABLED }; -if (isNil "cse_AB_AdvancedAirDragEnabled") then { cse_AB_AdvancedAirDragEnabled = cse_AB_ADVANCED_AIR_DRAG_ENABLED }; -if (isNil "cse_AB_TransonicRegionEnabled") then { cse_AB_TransonicRegionEnabled = cse_AB_TRANSONIC_REGION_ENABLED }; -if (isNil "cse_AB_MilTurretsEnabled") then { cse_AB_MilTurretsEnabled = cse_AB_MIL_TURRETS_ENABLED }; -if (isNil "cse_AB_AmmoTemperatureEnabled") then { cse_AB_AmmoTemperatureEnabled = cse_AB_AMMO_TEMPERATURE_ENABLED }; -if (isNil "cse_AB_BulletTraceEnabled") then { cse_AB_BulletTraceEnabled = cse_AB_BULLET_TRACE_ENABLED }; -if (isNil "cse_AB_MirageEnabled") then { cse_AB_MirageEnabled = cse_AB_MIRAGE_ENABLED }; -if (isNil "cse_AB_AtmosphericDensitySimulationEnabled") then { cse_AB_AtmosphericDensitySimulationEnabled = cse_AB_ATMOSPHERIC_DENSITY_SIMULATION_ENABLED }; -if (isNil "cse_AB_BarrelLengthInfluenceEnabled") then { cse_AB_BarrelLengthInfluenceEnabled = cse_AB_BARREL_LENGTH_INFLUENCE }; -if (isNil "cse_AB_VehicleGunnerEnabled") then { cse_AB_VehicleGunnerEnabled = cse_AB_VEHICLE_GUNNER_ENABLED }; -if (isNil "cse_AB_ExtensionsEnabled") then { cse_AB_ExtensionsEnabled = cse_AB_EXTENSIONS_ENABLED }; -if (isNil "cse_AB_InitMessageEnabled") then { cse_AB_InitMessageEnabled = cse_AB_INIT_MESSAGE_ENABLED }; -if (isNil "cse_AB_OnlyActiveForLocalPlayer") then { cse_AB_OnlyActiveForLocalPlayer = cse_AB_ONLY_ACTIVE_FOR_LOCAL_PLAYER }; -if (isNil "cse_AB_OnlyActiveForPlayerGroup") then { cse_AB_OnlyActiveForPlayerGroup = cse_AB_ONLY_ACTIVE_FOR_PLAYER_GROUP }; -if (isNil "cse_AB_Precision") then { cse_AB_Precision = cse_AB_PRECISION }; -if (isNil "cse_AB_DisabledByDefault") then { cse_AB_DisabledByDefault = cse_AB_DISABLED_BY_DEFAULT in [true, 1] }; - -if (isNil "cse_AB_temperatureShift") then { cse_AB_temperatureShift = (random 3) - (random 3); publicVariable "cse_AB_temperatureShift"; }; -if (isNil "cse_AB_badWeatherShift") then { cse_AB_badWeatherShift = (random 1)^2 * 10; publicVariable "cse_AB_badWeatherShift"; }; -if (isNil "cse_AB_humidityShift") then { cse_AB_humidityShift = ((random 5) - (random 5)) / 100; publicVariable "cse_AB_humidityShift"; }; - -if (hasInterface) then { - call compile preprocessFileLineNumbers "cse\cse_sys_ballistics\advancedballistics\initClient.sqf"; -}; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/initClient.sqf b/TO_MERGE/cse/sys_ballistics/advancedballistics/initClient.sqf deleted file mode 100644 index b2f41b8a16..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/initClient.sqf +++ /dev/null @@ -1,169 +0,0 @@ -if (isNil "cse_AB_OnlyActiveForLocalPlayer") then { cse_AB_OnlyActiveForLocalPlayer = false; }; -if (isNil "cse_AB_DisabledInFullAutoMode") then { cse_AB_DisabledInFullAutoMode = false; }; -if (isNil "cse_AB_UseDLL") then { cse_AB_UseDLL = false; }; - -if (cse_AB_ExtensionsEnabled && ("AdvancedBallistics" callExtension "version") == "1.0") then { - cse_AB_UseDLL = true; - cse_ab_ballistics_fnc_advanced_ballistics = cse_ab_ballistics_fnc_advanced_ballistics_extension; -}; - -cse_AB_bulletDatabase = []; -cse_AB_bulletDatabaseStartTime = []; -cse_AB_bulletDatabaseSpeed = []; -cse_AB_bulletDatabaseFrames = []; -cse_AB_bulletDatabaseLastFrame = []; -cse_AB_bulletDatabaseHDeflect = []; -cse_AB_bulletDatabaseSpinDrift = []; -cse_AB_bulletDatabaseOccupiedIndices = []; -cse_AB_bulletDatabaseFreeIndices = []; - -cse_AB_WindInfo = false; -cse_AB_WindInfoStart = time; - -cse_AB_Protractor = false; -cse_AB_ProtractorStart = time; - -cse_AB_Altitude = 0; -cse_AB_Latitude = 50; - -cse_AB_Temperature = 15; -cse_AB_Humidity = 50; - -if (worldName in ["Chernarus", "Bootcamp_ACR", "Woodland_ACR", "utes"]) then { cse_AB_Latitude = 50; cse_AB_Altitude = 0; }; -if (worldName in ["Altis", "Stratis"]) then { cse_AB_Latitude = 40; cse_AB_Altitude = 0; }; -if (worldName in ["Takistan", "Zargabad", "Mountains_ACR"]) then { cse_AB_Latitude = 35; cse_AB_Altitude = 2000; }; -if (worldName in ["Shapur_BAF", "ProvingGrounds_PMC"]) then { cse_AB_Latitude = 35; cse_AB_Altitude = 100; }; -if (worldName in ["fallujah"]) then { cse_AB_Latitude = 33; cse_AB_Altitude = 0; }; -if (worldName in ["fata", "Abbottabad"]) then { cse_AB_Latitude = 30; cse_AB_Altitude = 1000; }; -if (worldName in ["sfp_wamako"]) then { cse_AB_Latitude = 14; cse_AB_Altitude = 0; }; -if (worldName in ["sfp_sturko"]) then { cse_AB_Latitude = 56; cse_AB_Altitude = 0; }; -if (worldName in ["Bornholm"]) then { cse_AB_Latitude = 55; cse_AB_Altitude = 0; }; -if (worldName in ["Imrali"]) then { cse_AB_Latitude = 40; cse_AB_Altitude = 0; }; -if (worldName in ["Caribou"]) then { cse_AB_Latitude = 68; cse_AB_Altitude = 0; }; -if (worldName in ["Namalsk"]) then { cse_AB_Latitude = 65; cse_AB_Altitude = 0; }; -if (worldName in ["MCN_Aliabad"]) then { cse_AB_Latitude = 36; cse_AB_Altitude = 0; }; -if (worldName in ["Clafghan"]) then { cse_AB_Latitude = 34; cse_AB_Altitude = 640; }; -if (worldName in ["Sangin", "hellskitchen"]) then { cse_AB_Latitude = 32; cse_AB_Altitude = 0; }; -if (worldName in ["Sara"]) then { cse_AB_Latitude = 40; cse_AB_Altitude = 0; }; -if (worldName in ["reshmaan"]) then { cse_AB_Latitude = 35; cse_AB_Altitude = 2000; }; -if (worldName in ["Thirsk"]) then { cse_AB_Latitude = 65; cse_AB_Altitude = 0; }; -if (worldName in ["lingor"]) then { cse_AB_Latitude = -4; cse_AB_Altitude = 0; }; - -waitUntil {!isNil "cse_gui"}; -waitUntil {!isNull player}; - -if (isNil {player getVariable "cse_enabled_AdvancedBallistics"}) then { - player setVariable ["cse_enabled_AdvancedBallistics", !cse_AB_DisabledByDefault, true]; -}; - -if (cse_AB_MilTurretsEnabled) then { - // Elevation minor step up - ["cse_sys_ballistics_AB_Adjustment_Up", (["cse_sys_ballistics_AB_Adjustment_Up","action",[200, 0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [0, false] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Up","action", "Minor adjustment up", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Elevation minor step down - ["cse_sys_ballistics_AB_Adjustment_Down", (["cse_sys_ballistics_AB_Adjustment_Down","action",[208, 0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [1, false] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Down","action", "Minor adjustment Down", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Windage minor step left - ["cse_sys_ballistics_AB_Adjustment_Left", (["cse_sys_ballistics_AB_Adjustment_Left","action",[203, 0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [2, false] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Left","action", "Minor adjustment Left", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Windage minor step right - ["cse_sys_ballistics_AB_Adjustment_Right", (["cse_sys_ballistics_AB_Adjustment_Right","action",[205, 0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [3, false] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Right","action", "Minor adjustment Right", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Elevation major step up - ["cse_sys_ballistics_AB_Adjustment_Up_major", (["cse_sys_ballistics_AB_Adjustment_Up_major","action",[200, 1,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [0, true] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Up_major","action", "Major adjustment up", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Elevation major step down - ["cse_sys_ballistics_AB_Adjustment_Down_major", (["cse_sys_ballistics_AB_Adjustment_Down_major","action",[208, 1,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [1, true] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Down_major","action", "Major adjustment Down", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Windage major step left - ["cse_sys_ballistics_AB_Adjustment_Left_major", (["cse_sys_ballistics_AB_Adjustment_Left_major","action",[203, 1,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [2, true] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Left_major","action", "Major adjustment Left_major", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Windage major step right - ["cse_sys_ballistics_AB_Adjustment_Right_major", (["cse_sys_ballistics_AB_Adjustment_Right_major","action",[205, 1,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [3, true] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - - ["cse_sys_ballistics_AB_Adjustment_Right_major","action", "Major adjustment Right", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - // Scope zero adjustment - ["cse_sys_ballistics_AB_Adjustment_Zero_Up", (["cse_sys_ballistics_AB_Adjustment_Zero_Up","action",[200, 1,1,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [4, false] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - ["cse_sys_ballistics_AB_Adjustment_Zero_Up","action", "Zero adjustment up", "Zero adjustment up"] call cse_fnc_settingsDefineDetails_F; - - ["cse_sys_ballistics_AB_Adjustment_Zero_Down", (["cse_sys_ballistics_AB_Adjustment_Zero_Down","action",[208, 1,1,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [5, false] call cse_ab_ballistics_fnc_adjust_turret; - }] call cse_fnc_addKeyBindingForAction_F; - ["cse_sys_ballistics_AB_Adjustment_Zero_Down","action", "Zero adjustment down", "Zero adjustment down"] call cse_fnc_settingsDefineDetails_F; -}; - -// Parallax Adjustment -if (cse_AB_MirageEnabled) then { - ["cse_sys_ballistics_AB_Adjustment_Parallax_Up", (["cse_sys_ballistics_AB_Adjustment_Parallax_Up","action",[200, 0,1,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - 0 call cse_ab_ballistics_fnc_adjust_parallax; - }] call cse_fnc_addKeyBindingForAction_F; - ["cse_sys_ballistics_AB_Adjustment_Parallax_Up","action", "Parallax adjustment up", "Parallax adjustment up"] call cse_fnc_settingsDefineDetails_F; - - ["cse_sys_ballistics_AB_Adjustment_Parallax_Down", (["cse_sys_ballistics_AB_Adjustment_Parallax_Down","action",[208, 0,1,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - 1 call cse_ab_ballistics_fnc_adjust_parallax; - }] call cse_fnc_addKeyBindingForAction_F; - ["cse_sys_ballistics_AB_Adjustment_Parallax_Down","action", "Parallax adjustment down", "Parallax adjustment down"] call cse_fnc_settingsDefineDetails_F; -}; - -// Show wind Info -["cse_sys_ballistics_AB_Display_Wind_Info", (["cse_sys_ballistics_AB_Display_Wind_Info","action",[37,1,0,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - _this call cse_ab_ballistics_fnc_display_wind_info; - }] call cse_fnc_addKeyBindingForAction_F; -["cse_sys_ballistics_AB_Display_Wind_Info","action", "Show wind info", "Show wind info"] call cse_fnc_settingsDefineDetails_F; - -// Show protractor -["cse_sys_ballistics_AB_Display_Protractor", (["cse_sys_ballistics_AB_Display_Protractor","action",[37,1,1,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - _this call cse_ab_ballistics_fnc_display_protractor; - }] call cse_fnc_addKeyBindingForAction_F; -["cse_sys_ballistics_AB_Display_Protractor","action", "Show protractor", "Show protractor"] call cse_fnc_settingsDefineDetails_F; - -_handle = _this spawn cse_ab_ballistics_fnc_climate_simulation; -_handle = _this spawn cse_ab_ballistics_fnc_mirage_simulation; -_handle = _this spawn cse_ab_ballistics_fnc_initialize_terrain_extension; diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/license.txt b/TO_MERGE/cse/sys_ballistics/advancedballistics/license.txt deleted file mode 100644 index eb925e129b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/license.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) <2014> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/sound/scope_click.wav b/TO_MERGE/cse/sys_ballistics/advancedballistics/sound/scope_click.wav deleted file mode 100644 index fada577045..0000000000 Binary files a/TO_MERGE/cse/sys_ballistics/advancedballistics/sound/scope_click.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/ui/rscTitles.h b/TO_MERGE/cse/sys_ballistics/advancedballistics/ui/rscTitles.h deleted file mode 100644 index 4d6ab56696..0000000000 --- a/TO_MERGE/cse/sys_ballistics/advancedballistics/ui/rscTitles.h +++ /dev/null @@ -1,92 +0,0 @@ -class RscTitles -{ - class RscWindIntuitive - { - idd=-1; - onLoad="with uiNameSpace do { RscWindIntuitive = _this select 0 };"; - movingEnable=0; - duration=60; - fadeIn="false"; - fadeOut="false"; - class controls - { - class RscWindIntuitive - { - idc=132948; - type=0; - style=48; - font="TahomaB"; - colorBackground[]={0,0,0,0}; - colorText[]={0,0,0,0}; - x="SafeZoneX + 0.001"; - y="SafeZoneY + 0.001"; - w=0.2; - h=0.2*4/3; - size=0.034; - sizeEx=0.027; - text=""; - }; - }; - }; - - class RscTurretDial - { - idd=-1; - onLoad="with uiNameSpace do { RscTurretDial = _this select 0 };"; - movingEnable=0; - duration=5; - fadeIn="false"; - fadeOut="false"; - class controls - { - class RscTurretDial - { - idc=132949; - type=0; - style=128; - font="TahomaB"; - colorBackground[]={0,0,0,0.8}; - colorText[]={1,1,1,1}; - x="SafeZoneX + 0.0025"; - y="SafeZoneY + 0.0025"; - w=0.10; - h=0.05; - sizeEx=0.03; - text=""; - }; - }; - }; - - class RscProtractor - { - idd=-1; - onLoad="with uiNameSpace do { RscProtractor = _this select 0 };"; - movingEnable=0; - duration=60; - fadeIn="false"; - fadeOut="false"; - class controls - { - class RscProtractorBase - { - idc=132950; - type=0; - style=48; - font="TahomaB"; - colorBackground[]={0,0,0,0}; - colorText[]={1,1,1,1}; - x="SafeZoneX + 0.001"; - y="SafeZoneY + 0.001"; - w=0.2; - h=0.2*4/3; - size=0.034; - sizeEx=0.027; - text=""; - }; - class RscProtractorMarker : RscProtractorBase - { - idc=132951; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/CfgFunctions.h b/TO_MERGE/cse/sys_ballistics/atragmx/CfgFunctions.h deleted file mode 100644 index 965add7ff7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/CfgFunctions.h +++ /dev/null @@ -1,48 +0,0 @@ -class cfgFunctions { - class CSE_ab_atragmx - { - class Atragmx { - file = "cse\cse_sys_ballistics\atragmx\functions"; - class add_new_gun { recompile = 1; }; - class calculate_range_card { recompile = 1; }; - class calculate_scope_base_angle { recompile = 1; }; - class calculate_solution { recompile = 1; }; - class calculate_target_range_assist { recompile = 1; }; - class calculate_target_solution { recompile = 1; }; - class calculate_target_speed_assist { recompile = 1; }; - class change_gun { recompile = 1; }; - class create_dialog { recompile = 1; }; - class cycle_range_card_columns { recompile = 1; }; - class cycle_scope_unit { recompile = 1; }; - class delete_gun { recompile = 1; }; - class parse_input { recompile = 1; }; - class reset_relative_click_memory { recompile = 1; }; - class save_gun { recompile = 1; }; - class show_add_new_gun { recompile = 1; }; - class show_gun_list { recompile = 1; }; - class show_main_page { recompile = 1; }; - class show_range_card { recompile = 1; }; - class show_range_card_setup { recompile = 1; }; - class show_target_range_assist { recompile = 1; }; - class show_target_speed_assist { recompile = 1; }; - class show_target_speed_assist_timer { recompile = 1; }; - class sord { recompile = 1; }; - class target_speed_assist_timer { recompile = 1; }; - class toggle_gun_list { recompile = 1; }; - class toggle_range_card { recompile = 1; }; - class toggle_range_card_setup { recompile = 1; }; - class toggle_target_range_assist { recompile = 1; }; - class toggle_target_speed_assist { recompile = 1; }; - class update_atmosphere { recompile = 1; }; - class update_gun { recompile = 1; }; - class update_range_card { recompile = 1; }; - class update_relative_click_memory { recompile = 1; }; - class update_result { recompile = 1; }; - class update_scope_unit { recompile = 1; }; - class update_target { recompile = 1; }; - class update_target_selection { recompile = 1; }; - class update_unit_selection { recompile = 1; }; - class update_zero_range { recompile = 1; }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/CfgVehicles.h b/TO_MERGE/cse/sys_ballistics/atragmx/CfgVehicles.h deleted file mode 100644 index f7e32ea91b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/CfgVehicles.h +++ /dev/null @@ -1,38 +0,0 @@ -class CfgVehicles -{ - class Item_Base_F; - class cse_ab_Item_ATragMX: Item_Base_F - { - scope=2; - scopeCurator=2; - displayName="ATragMX"; - author="Ruthberg"; - vehicleClass="Items"; - class TransportItems - { - class cse_ab_ATragMX - { - name="cse_ab_ATragMX"; - count=1; - }; - }; - }; - - - class NATO_Box_Base; - class cse_ballisticsItemsCrate: NATO_Box_Base - { - scope = 2; - displayName = "Ballistic Items [CSE]"; - author = "Combat Space Enhancement"; - model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; - class TransportWeapons - { - class _xx_cse_ab_ATragMX - { - weapon="cse_ab_ATragMX"; - count=5; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/CfgWeapons.h b/TO_MERGE/cse/sys_ballistics/atragmx/CfgWeapons.h deleted file mode 100644 index e0f74507cb..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/CfgWeapons.h +++ /dev/null @@ -1,20 +0,0 @@ -class CfgWeapons -{ - class ItemCore; - class InventoryItem_Base_F; - class cse_ab_ATragMX: ItemCore - { - scope=2; - value = 1; - count = 1; - type = 16; - displayName="ATragMX"; - picture="\cse\cse_sys_ballistics\atragmx\data\ATrag_Icon.paa"; - descriptionShort="Rugged PDA with ATragMX"; - class ItemInfo: InventoryItem_Base_F - { - mass=4; - type=201; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_ballistics/atragmx/Combat_Space_Enhancement.h deleted file mode 100644 index 3561558d2e..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/Combat_Space_Enhancement.h +++ /dev/null @@ -1,11 +0,0 @@ -class Combat_Space_Enhancement { - class EventHandlers { - class PostInit_EventHandlers { - class cse_ab_atragmx { - init = "call compile preprocessFile 'cse\cse_sys_ballistics\atragmx\XEH_postClientInit.sqf';"; - name = "ATragMX"; - author = "Ruthberg"; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/UI.h b/TO_MERGE/cse/sys_ballistics/atragmx/UI.h deleted file mode 100644 index 3b76303baf..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/UI.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "ui\defines.h" -#include "ui\display.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/XEH_postClientInit.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/XEH_postClientInit.sqf deleted file mode 100644 index 0ed32ddbc4..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/XEH_postClientInit.sqf +++ /dev/null @@ -1,32 +0,0 @@ -if (!hasInterface) exitwith{}; - -if (count (profileNamespace getVariable ["cse_ab_ATragMX_gunList", []]) > 0) then { - cse_ab_ATragMX_gunList = profileNamespace getVariable "cse_ab_ATragMX_gunList"; -} else { - // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Elevation Scope Step, Windage Scope Step, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Ammo Class Name, Magazine Class Name, BC, Drag Model, Atmosphere Model - cse_ab_ATragMX_gunList = [["12.7x108mm" , 820, 500, 0.255, -0.0005600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.700, 1, "ASM" ], - ["12.7x99mm" , 880, 500, 0.202, -0.0005600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ], - ["10.4x77mm" , 910, 500, 0.200, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ], - ["7.62x51mm" , 850, 500, 0.280, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"], - ["6.5x39mm" , 800, 500, 0.304, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless", "30Rnd_65x39_caseless_mag", 0.263, 1, "ICAO"], - ["5.56x45mm" , 920, 500, 0.259, -0.0012000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ], - ["5.56x45mm Mk262" , 850, 500, 0.294, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "RH_556x45_Mk262" , "RH_30Rnd_556x45_Mk262" , 0.361, 1, "ASM" ]]; - - profileNamespace setVariable ["cse_ab_ATragMX_gunList", cse_ab_ATragMX_gunList]; -}; - -call compile preprocessFile ("cse\cse_sys_ballistics\atragmx\init.sqf"); -//call compile preprocessFile ("\atragmx\fnc_sord.sqf"); - - -[] spawn { - waituntil {!isnil "cse_gui"}; - // TODO seperate config entry for this, outside module space. - ["cse_sys_ballistics_ATragMX_open", (["cse_sys_ballistics_ATragMX_open","menu",[197, 0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { _this call cse_ab_ATragMX_fnc_create_dialog; }, 0] call cse_fnc_addKeyBindingForMenu_F; - ["cse_sys_ballistics_ATragMX_open","menu", "Open ATragMX", "Opens the ATragMX dialog"] call cse_fnc_settingsDefineDetails_F; - - _entries = [ - ["ATragMX", {([player, 'cse_ab_ATragMX'] call cse_fnc_hasItem_CC)}, "cse\cse_sys_ballistics\atragmx\data\ATRAG_Icon.paa", { closeDialog 0; call cse_ab_ATragMX_fnc_create_dialog; }, "Use ATragMX"] - ]; - ["ActionMenu", "equipment", _entries] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/config.cpp b/TO_MERGE/cse/sys_ballistics/atragmx/config.cpp deleted file mode 100644 index e17c52e8db..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/config.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#define ST_LEFT 0 -#define ST_RIGHT 1 -#define ST_CENTER 2 - -class CfgPatches -{ - class cse_ab_atragmx - { - units[]={}; - weapons[]= {"cse_ab_ATragMX"}; - requiredVersion=1.26; - requiredAddons[]= {"cse_f_modules", "cse_main", "cse_f_configuration"}; - version="1.0"; - author[]= {"Ruthberg"}; - }; -}; -class CfgAddons -{ - class PreloadAddons - { - class cse_ab_atragmx - { - list[]= - { - "cse_ab_atragmx" - }; - }; - }; -}; - -#include "Combat_Space_Enhancement.h" -#include "CfgFunctions.h" -#include "CfgWeapons.h" -#include "CfgVehicles.h" -#include "UI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_add_new_gun.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_add_new_gun.sqf deleted file mode 100644 index 7c4d01c261..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_add_new_gun.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -private ["_gunName", "_gunProfileEntry"]; - -_gunName = ctrlText 11001; -if (_gunName != "") then { - _gunProfileEntry = [_gunName, 850, 500, 0.280, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "", "", 0.393, 1, "ICAO"]; - - cse_ab_ATragMX_gunList = cse_ab_ATragMX_gunList + [_gunProfileEntry]; - - lbAdd [6000, _gunProfileEntry select 0]; - - profileNamespace setVariable ["cse_ab_ATragMX_gunList", cse_ab_ATragMX_gunList]; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_range_card.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_range_card.sqf deleted file mode 100644 index 2ad0cd836a..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_range_card.sqf +++ /dev/null @@ -1,48 +0,0 @@ -#include "script_component.hpp" - -call cse_ab_ATragMX_fnc_parse_input; - -private ["_scopeBaseAngle"]; -_scopeBaseAngle = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 3); - -private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"]; -_bulletMass = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 12; -_boreHeight = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 5; -_airFriction = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 4; -_muzzleVelocity = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 1; -_bc = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 15; -_dragModel = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 16; -_atmosphereModel = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 17; - -private ["_temperature", "_barometricPressure", "_relativeHumidity"]; -_temperature = (cse_ab_ATragMX_temperature select cse_ab_ATragMX_currentTarget); -_barometricPressure = (cse_ab_ATragMX_barometricPressure select cse_ab_ATragMX_currentTarget); -_relativeHumidity = (cse_ab_ATragMX_relativeHumidity select cse_ab_ATragMX_currentTarget); -if (cse_ab_ATragMX_currentUnit == 1) then -{ - _temperature = (_temperature - 32) / 1.8; - _barometricPressure = _barometricPressure * 33.8638866667; -}; - -private ["_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"]; -_windSpeed = (cse_ab_ATragMX_windSpeed select cse_ab_ATragMX_currentTarget); -_windDirection = (cse_ab_ATragMX_windDirection select cse_ab_ATragMX_currentTarget); -_inclinationAngle = (cse_ab_ATragMX_inclinationAngle select cse_ab_ATragMX_currentTarget); -_targetSpeed = (cse_ab_ATragMX_targetSpeed select cse_ab_ATragMX_currentTarget); -_targetRange = cse_ab_ATragMX_rangeCardEndRange; -if (cse_ab_ATragMX_currentUnit != 2) then -{ - _targetRange = _targetRange / 1.0936133; -}; -if (cse_ab_ATragMX_currentUnit == 1) then -{ - _windSpeed = _windSpeed / 2.23693629; - _targetSpeed = _targetSpeed / 2.23693629; -}; - -cse_ab_ATragMX_rangeCardData = []; - -private ["_result"]; -_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, - _windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, true] call cse_ab_ATragMX_fnc_calculate_solution; - diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_scope_base_angle.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_scope_base_angle.sqf deleted file mode 100644 index 3e39d9a478..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_scope_base_angle.sqf +++ /dev/null @@ -1,20 +0,0 @@ -#include "script_component.hpp" - -private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_zeroRange"]; -_bulletMass = _this select 0; -_boreHeight = _this select 1; -_airFriction = _this select 2; -_muzzleVelocity = _this select 3; -_zeroRange = _this select 4; - -private ["_scopeBaseAngle"]; -_scopeBaseAngle = 0; - -private ["_temperature", "_barometricPressure", "_relativeHumidity"]; -_temperature = 15; -_barometricPressure = 1013.25; -_relativeHumidity = 0; - -_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, 0, 0, 0, 0, _zeroRange, _airFriction, 1, "ICAO", false] call cse_ab_ATragMX_fnc_calculate_solution; - -_scopeBaseAngle + (_result select 0) / 60 diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_solution.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_solution.sqf deleted file mode 100644 index 89b380cc17..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_solution.sqf +++ /dev/null @@ -1,123 +0,0 @@ -#include "script_component.hpp" - -private ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData"]; -_scopeBaseAngle = _this select 0; -_bulletMass = _this select 1; -_boreHeight = _this select 2; -_airFriction = _this select 3; -_muzzleVelocity = _this select 4; -_temperature = _this select 5; -_barometricPressure = _this select 6; -_relativeHumidity = _this select 7; -_simSteps = _this select 8; -_windSpeed = _this select 9; -_windDirection = _this select 10; -_inclinationAngle = _this select 11; -_targetSpeed = _this select 12; -_targetRange = _this select 13; -_bc = _this select 14; -_dragModel = _this select 15; -_atmosphereModel = _this select 16; -_storeRangeCardData = _this select 17; - -private ["_bulletPos", "_bulletVelocity", "_bulletAccel", "_gravity", "_deltaT"]; -_bulletPos = [0, 0, 0]; -_bulletVelocity = [0, 0, 0]; -_bulletAccel = [0, 0, 0]; -_gravity = [0, sin(_scopeBaseAngle + _inclinationAngle) * -9.80665, cos(_scopeBaseAngle + _inclinationAngle) * -9.80665]; -_deltaT = 1 / _simSteps; - -private ["_elevation", "_windage", "_lead", "_TOF", "_bulletSpeed", "_kineticEnergy"]; -_elevation = 0; -_windage = 0; -_lead = 0; -_TOF = 0; -_bulletSpeed = 0; - -private ["_n", "_range", "_rangeFactor"]; -_n = 0; -_range = 0; -_rangeFactor = 1; -if (_storeRangeCardData) then { - if (cse_ab_ATragMX_currentUnit != 2) then { - _rangeFactor = 1.0936133; - }; - cse_ab_ATragMX_rangeCardData = []; -}; - -private ["_wind"]; -if (["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) then { - _wind = [cos(270 - _windDirection * 30) * _windSpeed, sin(270 - _windDirection * 30) * _windSpeed, 0]; - if (cse_AB_AdvancedAirDragEnabled) then { - _bc = [_bc, _temperature, _barometricPressure, _relativeHumidity, _atmosphereModel] call cse_ab_ballistics_fnc_calculate_Atmospheric_Correction; - }; -}; - -_TOF = 0; - -_bulletPos set [0, 0]; -_bulletPos set [1, 0]; -_bulletPos set [2, -(_boreHeight / 100)]; - -_bulletVelocity set [0, 0]; -_bulletVelocity set [1, Cos(_scopeBaseAngle) * _muzzleVelocity]; -_bulletVelocity set [2, Sin(_scopeBaseAngle) * _muzzleVelocity]; - -while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do -{ - _bulletSpeed = vectorMagnitude _bulletVelocity; - - if (["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) then { - private ["_trueVelocity", "_trueSpeed", "_drag"]; - _trueVelocity = _bulletVelocity vectorDiff _wind; - _trueSpeed = vectorMagnitude _trueVelocity; - - if (cse_AB_AdvancedAirDragEnabled) then { - _drag = -1 * ([_dragModel, _bc, _trueSpeed] call cse_ab_ballistics_fnc_calculate_Retardation); - } else { - _bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction); - }; - _bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (_drag); - } else { - _bulletAccel = _bulletVelocity vectorMultiply (_bulletSpeed * _airFriction); - }; - - _bulletAccel = _bulletAccel vectorAdd _gravity; - - _bulletVelocity = _bulletVelocity vectorAdd (_bulletAccel vectorMultiply _deltaT); - _bulletPos = _bulletPos vectorAdd (_bulletVelocity vectorMultiply _deltaT); - - _TOF = _TOF + _deltaT; - - if (_storeRangeCardData) then { - _range = cse_ab_ATragMX_rangeCardStartRange + _n * cse_ab_ATragMX_rangeCardIncrement; - if ((_bulletPos select 1) * _rangeFactor >= _range && _range <= cse_ab_ATragMX_rangeCardEndRange) then { - if ((_bulletPos select 1) > 0) then { - _elevation = - atan((_bulletPos select 2) / (_bulletPos select 1)); - _windage = - atan((_bulletPos select 0) / (_bulletPos select 1)); - }; - if (_range != 0) then { - _lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _range); - }; - _kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2)); - _kineticEnergy = _kineticEnergy * 0.737562149; - - cse_ab_ATragMX_rangeCardData set [_n, [_range, _elevation * 60, _windage * 60, _lead, _TOF, _bulletSpeed, _kineticEnergy]]; - _n = _n + 1; - }; - }; -}; - -if ((_bulletPos select 1) > 0) then { - _elevation = - atan((_bulletPos select 2) / (_bulletPos select 1)); - _windage = - atan((_bulletPos select 0) / (_bulletPos select 1)); -}; - -if (_targetRange != 0) then { - _lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _targetRange); -}; - -_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2)); -_kineticEnergy = _kineticEnergy * 0.737562149; - -[_elevation * 60, _windage * 60, _lead, _TOF, _bulletSpeed, _kineticEnergy] diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_range_assist.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_range_assist.sqf deleted file mode 100644 index 76adcc77da..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_range_assist.sqf +++ /dev/null @@ -1,105 +0,0 @@ -#include "script_component.hpp" - -private ["_targetSize", "_imageSize", "_angle", "_estRange"]; - -_angle = parseNumber(ctrlText 7012); -_targetSize = parseNumber(ctrlText 7010); -if (cse_ab_ATragMX_rangeAssistUseTargetHeight) then -{ - _targetSize = _targetSize * cos(_angle); -}; -switch (cse_ab_ATragMX_rangeAssistTargetSizeUnit) do -{ - case 0: - { - _targetSize = _targetSize * 0.0254; - }; - case 1: - { - _targetSize = _targetSize * 0.3048; - }; - case 2: - { - _targetSize = _targetSize * 0.01; - }; -}; -_imageSize = parseNumber(ctrlText 7011); -switch (cse_ab_ATragMX_rangeAssistImageSizeUnit) do -{ - case 0: - { - _imageSize = _imageSize / 6400 * 360; - }; - case 1: - { - _imageSize = _imageSize / 60; - }; - case 2: - { - _imageSize = _imageSize / 60 / 1.047; - }; -}; -_estRange = parseNumber(ctrlText 7013); -if (cse_ab_ATragMX_currentUnit != 2) then -{ - _estRange = _estRange / 1.0936133; -}; - -switch (_this) do -{ - case 0: - { - _targetSize = tan(_imageSize) * _estRange; - - if (cse_ab_ATragMX_rangeAssistUseTargetHeight) then - { - _targetSize = _targetSize / cos(_angle); - }; - - switch (cse_ab_ATragMX_rangeAssistTargetSizeUnit) do - { - case 0: - { - _targetSize = _targetSize / 0.0254; - }; - case 1: - { - _targetSize = _targetSize / 0.3048; - }; - case 2: - { - _targetSize = _targetSize / 0.01; - }; - }; - - ctrlSetText [7010, Str(Round(_targetSize * 100) / 100)]; - }; - case 1: - { - _imageSize = atan(_targetSize / _estRange); - - switch (cse_ab_ATragMX_rangeAssistImageSizeUnit) do - { - case 0: - { - _imageSize = _imageSize * 6400 / 360; - }; - case 1: - { - _imageSize = _imageSize * 60; - }; - case 2: - { - _imageSize = _imageSize * 60 * 1.047; - }; - }; - - ctrlSetText [7011, Str(Round(_imageSize * 100) / 100)]; - }; - case 2: - { - _estRange = _targetSize / tan(_imageSize); - - ctrlSetText [7013, Str(Round(_estRange))]; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_solution.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_solution.sqf deleted file mode 100644 index 2b30a882fd..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_solution.sqf +++ /dev/null @@ -1,52 +0,0 @@ -#include "script_component.hpp" - -call cse_ab_ATragMX_fnc_parse_input; - -private ["_scopeBaseAngle"]; -_scopeBaseAngle = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 3); - -private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"]; -_bulletMass = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 12; -_boreHeight = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 5; -_airFriction = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 4; -_muzzleVelocity = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 1; -_bc = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 15; -_dragModel = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 16; -_atmosphereModel = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 17; - -private ["_temperature", "_barometricPressure", "_relativeHumidity"]; -_temperature = (cse_ab_ATragMX_temperature select cse_ab_ATragMX_currentTarget); -_barometricPressure = (cse_ab_ATragMX_barometricPressure select cse_ab_ATragMX_currentTarget); -_relativeHumidity = (cse_ab_ATragMX_relativeHumidity select cse_ab_ATragMX_currentTarget); -if (cse_ab_ATragMX_currentUnit == 1) then -{ - _temperature = (_temperature - 32) / 1.8; - _barometricPressure = _barometricPressure * 33.8638866667; -}; - -private ["_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"]; -_windSpeed = (cse_ab_ATragMX_windSpeed select cse_ab_ATragMX_currentTarget); -_windDirection = (cse_ab_ATragMX_windDirection select cse_ab_ATragMX_currentTarget); -_inclinationAngle = (cse_ab_ATragMX_inclinationAngle select cse_ab_ATragMX_currentTarget); -_targetSpeed = (cse_ab_ATragMX_targetSpeed select cse_ab_ATragMX_currentTarget); -_targetRange = (cse_ab_ATragMX_targetRange select cse_ab_ATragMX_currentTarget); -if (cse_ab_ATragMX_currentUnit != 2) then -{ - _targetRange = _targetRange / 1.0936133; -}; -if (cse_ab_ATragMX_currentUnit == 1) then -{ - _windSpeed = _windSpeed / 2.23693629; - _targetSpeed = _targetSpeed / 2.23693629; -}; - -_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, - _windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, false] call cse_ab_ATragMX_fnc_calculate_solution; - -cse_ab_ATragMX_elevationOutput set [cse_ab_ATragMX_currentTarget, _result select 0]; -cse_ab_ATragMX_windageOutput set [cse_ab_ATragMX_currentTarget, _result select 1]; -cse_ab_ATragMX_leadOutput set [cse_ab_ATragMX_currentTarget, _result select 2]; -cse_ab_ATragMX_tofOutput set [cse_ab_ATragMX_currentTarget, _result select 3]; -cse_ab_ATragMX_velocityOutput set [cse_ab_ATragMX_currentTarget, _result select 4]; - -call cse_ab_ATragMX_fnc_update_result; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_speed_assist.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_speed_assist.sqf deleted file mode 100644 index 1228db754a..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_calculate_target_speed_assist.sqf +++ /dev/null @@ -1,41 +0,0 @@ -#include "script_component.hpp" - -private ["_targetRange", "_numTicks", "_timeSecs", "_estSpeed"]; - -_targetRange = parseNumber(ctrlText 8004); -_numTicks = parseNumber(ctrlText 8005); -_timeSecs = parseNumber(ctrlText 8006); -_estSpeed = 0; - -if (cse_ab_ATragMX_currentUnit != 2) then -{ - _targetRange = _targetRange / 1.0936133; -}; - -switch (cse_ab_ATragMX_rangeAssistImageSizeUnit) do -{ - case 0: - { - _numTicks = _numTicks / 6400 * 360; - }; - case 1: - { - _numTicks = _numTicks / 60; - }; - case 2: - { - _numTicks = _numTicks / 60 / 1.047; - }; -}; - -if (_timeSecs > 0) then -{ - _estSpeed = tan(_numTicks) * _targetRange / _timeSecs; -}; - -if (cse_ab_ATragMX_currentUnit == 1) then -{ - _estSpeed = _estSpeed * 2.23693629; -}; - -ctrlSetText [8007, Str(Round(_estSpeed * 10) / 10)]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_change_gun.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_change_gun.sqf deleted file mode 100644 index 11c7403da9..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_change_gun.sqf +++ /dev/null @@ -1,23 +0,0 @@ -#include "script_component.hpp" - -if (_this < 0 || _this > (count cse_ab_ATragMX_gunList) - 1) exitWith {}; - -cse_ab_ATragMX_workingMemory set [cse_ab_ATragMX_currentTarget, +(cse_ab_ATragMX_gunList select _this)]; -cse_ab_ATragMX_currentGun set [cse_ab_ATragMX_currentTarget, _this]; - -lbSetCurSel [6000, (cse_ab_ATragMX_currentGun select cse_ab_ATragMX_currentTarget)]; - -if ((cse_ab_ATragMX_scopeUnits select (cse_ab_ATragMX_currentScopeUnit select cse_ab_ATragMX_currentTarget)) != "Clicks") then -{ - cse_ab_ATragMX_currentScopeUnit set [cse_ab_ATragMX_currentTarget, (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 6]; -}; - -call cse_ab_ATragMX_fnc_update_gun; - -cse_ab_ATragMX_elevationOutput set [cse_ab_ATragMX_currentTarget, 0]; -cse_ab_ATragMX_windageOutput set [cse_ab_ATragMX_currentTarget, 0]; -cse_ab_ATragMX_leadOutput set [cse_ab_ATragMX_currentTarget, 0]; -cse_ab_ATragMX_tofOutput set [cse_ab_ATragMX_currentTarget, 0]; -cse_ab_ATragMX_velocityOutput set [cse_ab_ATragMX_currentTarget, 0]; - -call cse_ab_ATragMX_fnc_update_result; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_create_dialog.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_create_dialog.sqf deleted file mode 100644 index 431c2d786f..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_create_dialog.sqf +++ /dev/null @@ -1,24 +0,0 @@ -#include "script_component.hpp" - -if (underwater player) exitWith { false }; -if (!([player, "cse_ab_ATragMX"] call cse_fnc_hasItem_CC)) exitWith { false }; - -execVM "cse\cse_sys_ballistics\atragmx\functions\fn_update_target_selection.sqf"; - -createDialog 'cse_ab_ATragMX_Display'; - -true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - -false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_add_new_gun.sqf"; -false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_gun_list.sqf"; -false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card.sqf"; -false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card_setup.sqf"; -false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_range_assist.sqf"; -false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist.sqf"; -false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist_timer.sqf"; - -{ - lbAdd [6000, _x select 0]; -} forEach cse_ab_ATragMX_gunList; - -true diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_cycle_range_card_columns.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_cycle_range_card_columns.sqf deleted file mode 100644 index 88208ceeb0..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_cycle_range_card_columns.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" - -cse_ab_ATragMX_rangeCardCurrentColumn = (cse_ab_ATragMX_rangeCardCurrentColumn + 1) % (count cse_ab_ATragMX_rangeCardLastColumns); - -ctrlSetText [5006, (cse_ab_ATragMX_rangeCardLastColumns select cse_ab_ATragMX_rangeCardCurrentColumn)]; - -call cse_ab_ATragMX_fnc_update_range_card; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_cycle_scope_unit.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_cycle_scope_unit.sqf deleted file mode 100644 index ce1030e417..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_cycle_scope_unit.sqf +++ /dev/null @@ -1,8 +0,0 @@ -#include "script_component.hpp" - -call cse_ab_ATragMX_fnc_parse_input; - -cse_ab_ATragMX_currentScopeUnit set [cse_ab_ATragMX_currentTarget, ((cse_ab_ATragMX_currentScopeUnit select cse_ab_ATragMX_currentTarget) + 1) % (count cse_ab_ATragMX_scopeUnits)]; - -call cse_ab_ATragMX_fnc_update_scope_unit; -call cse_ab_ATragMX_fnc_update_result; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_delete_gun.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_delete_gun.sqf deleted file mode 100644 index ba3c10a121..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_delete_gun.sqf +++ /dev/null @@ -1,19 +0,0 @@ -#include "script_component.hpp" - -private ["_index"]; -_index = lbCurSel 6000; - -if (_index == -1) exitWith {}; - -for "_i" from 0 to (count cse_ab_ATragMX_currentGun) - 1 do { - if ((cse_ab_ATragMX_currentGun select _i) > _index) then { - cse_ab_ATragMX_currentGun set [_i, (cse_ab_ATragMX_currentGun select _i) - 1]; - }; -}; - -cse_ab_ATragMX_gunList set [_index, 0]; -cse_ab_ATragMX_gunList = cse_ab_ATragMX_gunList - [0]; - -lbDelete [6000, _index]; - -profileNamespace setVariable ["cse_ab_ATragMX_gunList", cse_ab_ATragMX_gunList]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_parse_input.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_parse_input.sqf deleted file mode 100644 index eb8230f844..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_parse_input.sqf +++ /dev/null @@ -1,74 +0,0 @@ -#include "script_component.hpp" - -cse_ab_ATragMX_temperature set [cse_ab_ATragMX_currentTarget, parseNumber(ctrlText 200)]; -cse_ab_ATragMX_barometricPressure set [cse_ab_ATragMX_currentTarget, 0 max parseNumber(ctrlText 210)]; -cse_ab_ATragMX_relativeHumidity set [cse_ab_ATragMX_currentTarget, (0 max parseNumber(ctrlText 220) min 100) / 100]; - -cse_ab_ATragMX_windSpeed set [cse_ab_ATragMX_currentTarget, 0 max abs(parseNumber(ctrlText 300)) min 50]; -cse_ab_ATragMX_windDirection set [cse_ab_ATragMX_currentTarget, 1 max Round(parseNumber(ctrlText 310)) min 12]; -cse_ab_ATragMX_inclinationAngle set [cse_ab_ATragMX_currentTarget, -60 max parseNumber(ctrlText 320) min 60]; -cse_ab_ATragMX_targetSpeed set [cse_ab_ATragMX_currentTarget, 0 max abs(parseNumber(ctrlText 330)) min 50]; -cse_ab_ATragMX_targetRange set [cse_ab_ATragMX_currentTarget, 0 max abs(parseNumber(ctrlText 340)) min 4000]; - -private ["_boreHeight", "_bulletMass", "_airFriction", "_muzzleVelocity"]; -_boreHeight = parseNumber(ctrlText 100); -_bulletMass = parseNumber(ctrlText 110); -if ((["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) && cse_AB_AdvancedAirDragEnabled) then { - _airFriction = 0.1 max parseNumber(ctrlText 120) min 2; -} else { - _airFriction = parseNumber(ctrlText 120) / -1000; -}; -_muzzleVelocity = parseNumber(ctrlText 130); -if (cse_ab_ATragMX_currentUnit == 1) then -{ - _boreHeight = _boreHeight * 2.54; - _bulletMass = _bulletMass * 0.06479891; - _muzzleVelocity = _muzzleVelocity / 3.2808399; -}; -_boreHeight = 0.1 max _boreHeight min 10; -_bulletMass = 1 max _bulletMass min 100; -_muzzleVelocity = 100 max _muzzleVelocity min 1400; - -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [5, _boreHeight]; -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [12, _bulletMass]; -if ((["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) && cse_AB_AdvancedAirDragEnabled) then { - (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [15, _airFriction]; -} else { - (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [4, _airFriction]; -}; -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [1, _muzzleVelocity]; - -private ["_elevationCur", "_elevationCur", "_elevationScopeStep", "_windageScopeStep"]; -_elevationCur = parseNumber(ctrlText 402); -_windageCur = parseNumber(ctrlText 412); - -switch ((cse_ab_ATragMX_currentScopeUnit select cse_ab_ATragMX_currentTarget)) do -{ - case 0: - { - _elevationCur = _elevationCur * 3.38; - _windageCur = _windageCur * 3.38; - }; - - case 2: - { - _elevationCur = _elevationCur / 1.047; - _windageCur = _windageCur / 1.047; - }; - - case 3: - { - _elevationScopeStep = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 7); - _windageScopeStep = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 8); - - _elevationCur = _elevationCur * _elevationScopeStep; - _windageCur = _windageCur * _windageScopeStep; - }; -}; - -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [10, _elevationCur]; -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [11, _windageCur]; - -call cse_ab_ATragMX_fnc_update_gun; -call cse_ab_ATragMX_fnc_update_atmosphere; -call cse_ab_ATragMX_fnc_update_target; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_reset_relative_click_memory.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_reset_relative_click_memory.sqf deleted file mode 100644 index ac2f5d8120..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_reset_relative_click_memory.sqf +++ /dev/null @@ -1,6 +0,0 @@ -#include "script_component.hpp" - -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [10, 0]; -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [11, 0]; - -call cse_ab_ATragMX_fnc_update_result; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_save_gun.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_save_gun.sqf deleted file mode 100644 index 7db8f0dc1e..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_save_gun.sqf +++ /dev/null @@ -1,13 +0,0 @@ -#include "script_component.hpp" - -private ["_index"]; -_index = 0 max (lbCurSel 6000); - -cse_ab_ATragMX_gunList set [_index, +(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget)]; - -lbClear 6000; -{ - lbAdd [6000, _x select 0]; -} forEach cse_ab_ATragMX_gunList; - -profileNamespace setVariable ["cse_ab_ATragMX_gunList", cse_ab_ATragMX_gunList]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_add_new_gun.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_add_new_gun.sqf deleted file mode 100644 index a3172e3b30..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_add_new_gun.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [11000, 11001, 11002, 11003]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_gun_list.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_gun_list.sqf deleted file mode 100644 index c44cbe03fe..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_gun_list.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_main_page.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_main_page.sqf deleted file mode 100644 index d1f15db484..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_main_page.sqf +++ /dev/null @@ -1,4 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [10, 100, 11, 110, 12, 120, 13, 130, 14, 140, 20, 200, 21, 210, 22, 220, 30, 300, 31, 310, 32, 320, 33, 330, 34, 340, 40, 400, 401, 402, 403, 41, 410, 411, 412, 42, 420, - 500, 501, 502, 503, 600, 601, 602, 603, 1000, 2000, 3000, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_range_card.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_range_card.sqf deleted file mode 100644 index a49d9a04c1..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_range_card.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_range_card_setup.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_range_card_setup.sqf deleted file mode 100644 index 8325418451..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_range_card_setup.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_range_assist.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_range_assist.sqf deleted file mode 100644 index 72a88b953a..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_range_assist.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [7000, 7001, 7002, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7017, 7018, 7019, 7020]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_speed_assist.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_speed_assist.sqf deleted file mode 100644 index 37911e8a7f..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_speed_assist.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_speed_assist_timer.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_speed_assist_timer.sqf deleted file mode 100644 index bddaf3ddb6..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_show_target_speed_assist_timer.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -{ctrlShow [_x, _this]} forEach [9000, 9001, 9002]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_sord.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_sord.sqf deleted file mode 100644 index d888076798..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_sord.sqf +++ /dev/null @@ -1,22 +0,0 @@ -#include "script_component.hpp" - -cse_ab_ATragMX_COMPAT_LRF = ["Rangefinder", "Laserdesignator"]; - -private ["_fnc_atragmx"]; - -_fnc_atragmx = { - private ["_target", "_position", "_range", "_inclinationAngle"]; - - if ((local player) && (currentWeapon player) in cse_ab_ATragMX_COMPAT_LRF && (!isNull (_this select 0))) then { - _target = getPosATL (_this select 0); - _position = getPosATL player; - - _inclinationAngle = asin((player weaponDirection currentWeapon player) select 2); - _range = _position distance _target; - - cse_ab_ATragMX_inclinationAngle set [cse_ab_ATragMX_currentTarget, _inclinationAngle]; - cse_ab_ATragMX_targetRange set [cse_ab_ATragMX_currentTarget, _range]; - }; -}; - -//["ace_sys_rangefinder_Lazing", _fnc_atragmx] call CBA_fnc_addEventHandler; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_target_speed_assist_timer.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_target_speed_assist_timer.sqf deleted file mode 100644 index 2e1311161b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_target_speed_assist_timer.sqf +++ /dev/null @@ -1,30 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -if !(ctrlVisible 9000) then -{ - private ["_startTime"]; - - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist_timer.sqf"; - - ctrlSetFocus (_dsp displayCtrl 9002); - - _startTime = time; - - while {cse_ab_ATragMX_speedAssistTimer} do - { - sleep 0.1; - ctrlSetText [9001, Str(Round((time - _startTime) * 10) / 10)]; - }; - - cse_ab_ATragMX_speedAssistTimer = true; - - ctrlSetText [8006, Str(Round((time - _startTime) * 10) / 10)]; - - call cse_ab_ATragMX_fnc_calculate_target_speed_assist; - - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist_timer.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist.sqf"; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_gun_list.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_gun_list.sqf deleted file mode 100644 index dcd777e978..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_gun_list.sqf +++ /dev/null @@ -1,21 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -if (ctrlVisible 6000) then -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_gun_list.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - - if (_this) then { - (lbCurSel 6000) call cse_ab_ATragMX_fnc_change_gun; - }; -} else -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_gun_list.sqf"; - - ctrlSetFocus (_dsp displayCtrl 6002); - - lbSetCurSel [6000, (cse_ab_ATragMX_currentGun select cse_ab_ATragMX_currentTarget)]; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_range_card.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_range_card.sqf deleted file mode 100644 index 8d66b43f4a..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_range_card.sqf +++ /dev/null @@ -1,18 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -if (ctrlVisible 5006) then -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; -} else -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card.sqf"; - - ctrlSetFocus (_dsp displayCtrl 5001); - - call cse_ab_ATragMX_fnc_calculate_range_card; - call cse_ab_ATragMX_fnc_update_range_card; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_range_card_setup.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_range_card_setup.sqf deleted file mode 100644 index 72787248a4..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_range_card_setup.sqf +++ /dev/null @@ -1,29 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -if (ctrlVisible 10000) then -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card_setup.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card.sqf"; - - if (_this == 1) then - { - cse_ab_ATragMX_rangeCardStartRange = 0 max Round(parseNumber(ctrlText 10003)) min 3000; - cse_ab_ATragMX_rangeCardEndRange = 0 max Round(parseNumber(ctrlText 10004)) min 3000; - cse_ab_ATragMX_rangeCardIncrement = 1 max Round(parseNumber(ctrlText 10005)) min 3000; - - call cse_ab_ATragMX_fnc_calculate_range_card; - call cse_ab_ATragMX_fnc_update_range_card; - }; -} else -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_range_card_setup.sqf"; - - ctrlSetFocus (_dsp displayCtrl 10006); - - ctrlSetText [10003, Str(Round(cse_ab_ATragMX_rangeCardStartRange))]; - ctrlSetText [10004, Str(Round(cse_ab_ATragMX_rangeCardEndRange))]; - ctrlSetText [10005, Str(Round(cse_ab_ATragMX_rangeCardIncrement))]; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_target_range_assist.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_target_range_assist.sqf deleted file mode 100644 index fdaaadea2c..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_target_range_assist.sqf +++ /dev/null @@ -1,32 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -if (ctrlVisible 7000) then -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_range_assist.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - - if (_this == 1) then - { - ctrlSetText [320, Str(parseNumber(ctrlText 7012))]; - ctrlSetText [340, Str(parseNumber(ctrlText 7013))]; - }; -} else -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_range_assist.sqf"; - - ctrlSetFocus (_dsp displayCtrl 7018); - - ctrlSetText [7012, Str(parseNumber(ctrlText 320))]; - ctrlSetText [7013, Str(parseNumber(ctrlText 340))]; - - if (cse_ab_ATragMX_currentUnit != 2) then - { - ctrlSetText [7016, "Yards"]; - } else - { - ctrlSetText [7016, "Meters"]; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_target_speed_assist.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_target_speed_assist.sqf deleted file mode 100644 index f9efe70e40..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_toggle_target_speed_assist.sqf +++ /dev/null @@ -1,39 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -if (ctrlVisible 8000) then -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - - if (_this == 1) then - { - call cse_ab_ATragMX_fnc_calculate_target_speed_assist; - ctrlSetText [330, Str(parseNumber(ctrlText 8007))]; - }; -} else -{ - false execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_main_page.sqf"; - true execVM "cse\cse_sys_ballistics\atragmx\functions\fn_show_target_speed_assist.sqf"; - - ctrlSetFocus (_dsp displayCtrl 8012); - - ctrlSetText [8004, Str(Round((cse_ab_ATragMX_targetRange select cse_ab_ATragMX_currentTarget)))]; - - if (cse_ab_ATragMX_currentUnit != 2) then - { - ctrlSetText [8008, "Yards"]; - } else - { - ctrlSetText [8008, "Meters"]; - }; - - if (cse_ab_ATragMX_currentUnit != 1) then - { - ctrlSetText [8011, "m/s"]; - } else - { - ctrlSetText [8011, "mph"]; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_atmosphere.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_atmosphere.sqf deleted file mode 100644 index 32672abc7b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_atmosphere.sqf +++ /dev/null @@ -1,9 +0,0 @@ -#include "script_component.hpp" - -ctrlSetText [200, Str(Round((cse_ab_ATragMX_temperature select cse_ab_ATragMX_currentTarget) * 10) / 10)]; -if (cse_ab_ATragMX_currentUnit == 1) then { - ctrlSetText [210, Str(Round((cse_ab_ATragMX_barometricPressure select cse_ab_ATragMX_currentTarget) * 100) / 100)]; -} else { - ctrlSetText [210, Str(Round(cse_ab_ATragMX_barometricPressure select cse_ab_ATragMX_currentTarget))]; -}; -ctrlSetText [220, Str(Round((cse_ab_ATragMX_relativeHumidity select cse_ab_ATragMX_currentTarget) * 100 * 10) / 10)]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_gun.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_gun.sqf deleted file mode 100644 index 8d8dc295b9..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_gun.sqf +++ /dev/null @@ -1,38 +0,0 @@ -#include "script_component.hpp" - -ctrlSetText [1000, (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 0]; -if (cse_ab_ATragMX_currentUnit == 1) then -{ - ctrlSetText [ 100, Str(Round(((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 5) / 2.54 * 100) / 100)]; -} else -{ - ctrlSetText [ 100, Str(Round(((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 5) * 100) / 100)]; -}; -if (cse_ab_ATragMX_currentUnit == 1) then -{ - ctrlSetText [ 110, Str(Round(((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 12) * 15.4323584))]; -} else -{ - ctrlSetText [ 110, Str(Round((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 12))]; -}; -if ((["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) && cse_AB_AdvancedAirDragEnabled) then { - ctrlSetText [ 120, Str(Round(((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 15) * 1000) / 1000)]; -} else { - ctrlSetText [ 120, Str(Round(((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 4) * -1000 * 1000) / 1000)]; -}; -if (cse_ab_ATragMX_currentUnit == 1) then -{ - ctrlSetText [130, Str(Round(((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 1) * 3.2808399))]; -} else -{ - ctrlSetText [130, Str(Round((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 1))]; -}; -if (cse_ab_ATragMX_currentUnit == 2) then -{ - ctrlSetText [140, Str(Round((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 2))]; -} else -{ - ctrlSetText [140, Str(Round(((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 2) * 1.0936133))]; -}; - -call cse_ab_ATragMX_fnc_update_scope_unit; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_range_card.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_range_card.sqf deleted file mode 100644 index 13a0ddb1bf..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_range_card.sqf +++ /dev/null @@ -1,89 +0,0 @@ -#include "script_component.hpp" - -private ["_range", "_elevation", "_windage", "_lead", "_TOF", "_velocity", "_kineticEnergy", "_rangeOutput", "_elevationOutput", "_windageOutput", "_lastColumnOutput"]; -_lastColumnOutput = ""; - -ctrlSetText [5006, (cse_ab_ATragMX_rangeCardLastColumns select cse_ab_ATragMX_rangeCardCurrentColumn)]; - -if (cse_ab_ATragMX_currentUnit != 2) then -{ - ctrlSetText [5003, "Yards"]; -} else -{ - ctrlSetText [5003, "Meters"]; -}; - -lnbClear 5007; - -{ - _range = _x select 0; - _elevation = _x select 1; - _windage = _x select 2; - _lead = _x select 3; - _TOF = _x select 4; - _velocity = _x select 5; - _kineticEnergy = _x select 6; - - switch ((cse_ab_ATragMX_currentScopeUnit select cse_ab_ATragMX_currentTarget)) do - { - case 0: - { - _elevation = _elevation / 3.38; - _windage = _windage / 3.38; - }; - - case 2: - { - _elevation = _elevation * 1.047; - _windage = _windage * 1.047; - }; - - case 3: - { - _elevationScopeStep = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 7); - _windageScopeStep = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 8); - - _elevation = Round(_elevation / _elevationScopeStep); - _windage = Round(_windage / _windageScopeStep); - }; - }; - - _elevationOutput = Str(Round(_elevation * 100) / 100); - _windageOutput = Str(Round(_windage * 100) / 100); - - _rangeOutput = Str(_range); - if (_velocity < 340.29) then - { - _rangeOutput = _rangeOutput + "*"; - }; - - if (cse_ab_ATragMX_currentUnit == 1) then - { - _velocity = _velocity * 3.2808399; - }; - - switch (cse_ab_ATragMX_rangeCardCurrentColumn) do - { - case 0: - { - _lastColumnOutput = Str(Round(_lead * 100) / 100); - }; - - case 1: - { - _lastColumnOutput = Str(Round(_velocity)); - }; - - case 2: - { - _lastColumnOutput = Str(Round(_kineticEnergy)); - }; - - case 3: - { - _lastColumnOutput = Str(Round(_TOF * 100) / 100); - } - }; - - lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]]; -} forEach cse_ab_ATragMX_rangeCardData; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_relative_click_memory.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_relative_click_memory.sqf deleted file mode 100644 index ece99704d5..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_relative_click_memory.sqf +++ /dev/null @@ -1,6 +0,0 @@ -#include "script_component.hpp" - -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [10, (cse_ab_ATragMX_elevationOutput select cse_ab_ATragMX_currentTarget)]; -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [11, (cse_ab_ATragMX_windageOutput select cse_ab_ATragMX_currentTarget)]; - -call cse_ab_ATragMX_fnc_update_result; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_result.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_result.sqf deleted file mode 100644 index df130e90ad..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_result.sqf +++ /dev/null @@ -1,65 +0,0 @@ -#include "script_component.hpp" - -private ["_elevationAbs", "_elevationRel", "_elevationCur", "_windageAbs", "_windageRel", "_windageCur", "_lead", "_elevationScopeStep", "_windageScopeStep"]; -_elevationAbs = (cse_ab_ATragMX_elevationOutput select cse_ab_ATragMX_currentTarget); -_windageAbs = (cse_ab_ATragMX_windageOutput select cse_ab_ATragMX_currentTarget); - -_elevationCur = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 10; -_windageCur = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 11; - -_elevationRel = _elevationAbs - _elevationCur; -_windageRel = _windageAbs - _windageCur; - -_lead = (cse_ab_ATragMX_leadOutput select cse_ab_ATragMX_currentTarget); - -switch ((cse_ab_ATragMX_currentScopeUnit select cse_ab_ATragMX_currentTarget)) do -{ - case 0: - { - _elevationAbs = _elevationAbs / 3.38; - _windageAbs = _windageAbs / 3.38; - - _elevationRel = _elevationRel / 3.38; - _windageRel = _windageRel / 3.38; - - _elevationCur = _elevationCur / 3.38; - _windageCur = _windageCur / 3.38; - }; - - case 2: - { - _elevationAbs = _elevationAbs * 1.047; - _windageAbs = _windageAbs * 1.047; - - _elevationRel = _elevationRel * 1.047; - _windageRel = _windageRel * 1.047; - - _elevationCur = _elevationCur * 1.047; - _windageCur = _windageCur * 1.047; - }; - - case 3: - { - _elevationScopeStep = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 7); - _windageScopeStep = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 8); - - _elevationAbs = Round(_elevationAbs / _elevationScopeStep); - _windageAbs = Round(_windageAbs / _windageScopeStep); - - _elevationRel = Round(_elevationRel / _elevationScopeStep); - _windageRel = Round(_windageRel / _windageScopeStep); - - _elevationCur = Round(_elevationCur / _elevationScopeStep); - _windageCur = Round(_windageCur / _windageScopeStep); - }; -}; - -ctrlSetText [400, Str(Round(_elevationAbs * 100) / 100)]; -ctrlSetText [401, Str(Round(_elevationRel * 100) / 100)]; -ctrlSetText [402, Str(Round(_elevationCur * 100) / 100)]; - -ctrlSetText [410, Str(Round(_windageAbs * 100) / 100)]; -ctrlSetText [411, Str(Round(_windageRel * 100) / 100)]; -ctrlSetText [412, Str(Round(_windageCur * 100) / 100)]; - -ctrlSetText [420, Str(Round(_lead * 100) / 100)]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_scope_unit.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_scope_unit.sqf deleted file mode 100644 index 563d646a21..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_scope_unit.sqf +++ /dev/null @@ -1,4 +0,0 @@ -#include "script_component.hpp" - -ctrlSetText [2000, cse_ab_ATragMX_scopeUnits select (cse_ab_ATragMX_currentScopeUnit select cse_ab_ATragMX_currentTarget)]; -ctrlSetText [5000, cse_ab_ATragMX_scopeUnits select (cse_ab_ATragMX_currentScopeUnit select cse_ab_ATragMX_currentTarget)]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_target.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_target.sqf deleted file mode 100644 index 945599bcb8..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_target.sqf +++ /dev/null @@ -1,22 +0,0 @@ -#include "script_component.hpp" - -if (!isNil ("cse_ab_ATragMX_windSpeed")) then -{ - ctrlSetText [300, Str(Round((cse_ab_ATragMX_windSpeed select cse_ab_ATragMX_currentTarget) * 100) / 100)]; -}; -if (!isNil ("cse_ab_ATragMX_windDirection")) then -{ - ctrlSetText [310, Str(Round((cse_ab_ATragMX_windDirection select cse_ab_ATragMX_currentTarget)))]; -}; -if (!isNil ("cse_ab_ATragMX_inclinationAngle")) then -{ - ctrlSetText [320, Str(Round((cse_ab_ATragMX_inclinationAngle select cse_ab_ATragMX_currentTarget)))]; -}; -if (!isNil ("cse_ab_ATragMX_targetSpeed")) then -{ - ctrlSetText [330, Str(Round((cse_ab_ATragMX_targetSpeed select cse_ab_ATragMX_currentTarget) * 100) / 100)]; -}; -if (!isNil ("cse_ab_ATragMX_targetRange")) then -{ - ctrlSetText [340, Str(Round((cse_ab_ATragMX_targetRange select cse_ab_ATragMX_currentTarget)))]; -}; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_target_selection.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_target_selection.sqf deleted file mode 100644 index 7f477f6281..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_target_selection.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -(_dsp displayCtrl 500) ctrlEnable true; -(_dsp displayCtrl 501) ctrlEnable true; -(_dsp displayCtrl 502) ctrlEnable true; -(_dsp displayCtrl 503) ctrlEnable true; - -(_dsp displayCtrl 500 + cse_ab_ATragMX_currentTarget) ctrlEnable false; - -ctrlSetFocus (_dsp displayCtrl 3000); - -call cse_ab_ATragMX_fnc_update_unit_selection; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_unit_selection.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_unit_selection.sqf deleted file mode 100644 index cfb2ed6758..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_unit_selection.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -#define _dsp (uiNamespace getVariable "cse_ab_ATragMX_Display") - -(_dsp displayCtrl 600) ctrlEnable true; -(_dsp displayCtrl 601) ctrlEnable true; -(_dsp displayCtrl 602) ctrlEnable true; - -(_dsp displayCtrl 600 + cse_ab_ATragMX_currentUnit) ctrlEnable false; - -call cse_ab_ATragMX_fnc_update_gun; -call cse_ab_ATragMX_fnc_update_atmosphere; -call cse_ab_ATragMX_fnc_update_target; -call cse_ab_ATragMX_fnc_update_result; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_zero_range.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_zero_range.sqf deleted file mode 100644 index bdeffbc3f2..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/functions/fn_update_zero_range.sqf +++ /dev/null @@ -1,36 +0,0 @@ -#include "script_component.hpp" - -private ["_scopeBaseAngle"]; -_scopeBaseAngle = ((cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 3); - -private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"]; -_bulletMass = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 12; -_boreHeight = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 5; -_airFriction = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 4; -_muzzleVelocity = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 1; -_bc = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 15; -_dragModel = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 16; -_atmosphereModel = (cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) select 17; - -private ["_zeroRange"]; -_zeroRange = Round(parseNumber(ctrlText 140)); -if (cse_ab_ATragMX_currentUnit != 2) then -{ - _zeroRange = _zeroRange / 1.0936133; -}; - -private ["_temperature", "_barometricPressure", "_relativeHumidity"]; -_temperature = (cse_ab_ATragMX_temperature select cse_ab_ATragMX_currentTarget); -_barometricPressure = (cse_ab_ATragMX_barometricPressure select cse_ab_ATragMX_currentTarget); -_relativeHumidity = (cse_ab_ATragMX_relativeHumidity select cse_ab_ATragMX_currentTarget); -if (cse_ab_ATragMX_currentUnit == 1) then -{ - _temperature = (_temperature - 32) / 1.8; - _barometricPressure = _barometricPressure * 33.8638866667; -}; - -private ["_result"]; -_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, 0, 0, 0, 0, _zeroRange, _bc, _dragModel, _atmosphereModel, false] call cse_ab_ATragMX_fnc_calculate_solution; - -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [2, _zeroRange]; -(cse_ab_ATragMX_workingMemory select cse_ab_ATragMX_currentTarget) set [3, _scopeBaseAngle + (_result select 0) / 60]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/functions/script_component.hpp b/TO_MERGE/cse/sys_ballistics/atragmx/functions/script_component.hpp deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/init.sqf b/TO_MERGE/cse/sys_ballistics/atragmx/init.sqf deleted file mode 100644 index 0e5b2060e8..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/init.sqf +++ /dev/null @@ -1,41 +0,0 @@ -cse_ab_ATragMX_workingMemory = [+(cse_ab_ATragMX_gunList select 0), +(cse_ab_ATragMX_gunList select 0), +(cse_ab_ATragMX_gunList select 0), +(cse_ab_ATragMX_gunList select 0)]; - -cse_ab_ATragMX_scopeUnits = ["MILs", "TMOA", "SMOA", "Clicks"]; - -cse_ab_ATragMX_rangeCardStartRange = 200; -cse_ab_ATragMX_rangeCardEndRange = 2000; -cse_ab_ATragMX_rangeCardIncrement = 50; -cse_ab_ATragMX_rangeCardLastColumns = ["Lead", "RemV", "RemE", "TmFlt"]; -cse_ab_ATragMX_rangeCardCurrentColumn = 3; -cse_ab_ATragMX_rangeCardData = []; - -cse_ab_ATragMX_rangeAssistTargetSizeUnits = ["in", "ft", "cm", "m"]; -cse_ab_ATragMX_rangeAssistTargetSizeUnit = 2; -cse_ab_ATragMX_rangeAssistImageSizeUnits = ["MIL", "TMOA", "IOA"]; -cse_ab_ATragMX_rangeAssistImageSizeUnit = 0; -cse_ab_ATragMX_rangeAssistUseTargetHeight = true; - -cse_ab_ATragMX_speedAssistNumTicksUnits = ["MIL", "TMOA", "IOA"]; -cse_ab_ATragMX_speedAssistNumTicksUnit = 0; -cse_ab_ATragMX_speedAssistTimer = true; - -cse_ab_ATragMX_currentUnit = 2; -cse_ab_ATragMX_currentGun = [0, 0, 0, 0]; -cse_ab_ATragMX_currentTarget = 0; -cse_ab_ATragMX_currentScopeUnit = [0, 0, 0, 0]; - -cse_ab_ATragMX_temperature = [15, 15, 15, 15]; -cse_ab_ATragMX_barometricPressure = [1013.25, 1013.25, 1013.25, 1013.25]; -cse_ab_ATragMX_relativeHumidity = [0.5, 0.5, 0.5, 0.5]; - -cse_ab_ATragMX_windSpeed = [0, 0, 0, 0]; -cse_ab_ATragMX_windDirection = [12, 12, 12, 12]; -cse_ab_ATragMX_inclinationAngle = [0, 0, 0, 0]; -cse_ab_ATragMX_targetSpeed = [0, 0, 0, 0]; -cse_ab_ATragMX_targetRange = [0, 0, 0, 0]; - -cse_ab_ATragMX_elevationOutput = [0, 0, 0, 0]; -cse_ab_ATragMX_windageOutput = [0, 0, 0, 0]; -cse_ab_ATragMX_leadOutput = [0, 0, 0, 0]; -cse_ab_ATragMX_tofOutput = [0, 0, 0, 0]; -cse_ab_ATragMX_velocityOutput = [0, 0, 0, 0]; diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/license.txt b/TO_MERGE/cse/sys_ballistics/atragmx/license.txt deleted file mode 100644 index eb925e129b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/license.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) <2014> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/ui/defines.h b/TO_MERGE/cse/sys_ballistics/atragmx/ui/defines.h deleted file mode 100644 index 6a457f68bf..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/ui/defines.h +++ /dev/null @@ -1,182 +0,0 @@ -class cse_ab_ATragMX_RscText -{ - idc=-1; - type=0; - style=256; - colorDisabled[]={0,0,0,0.0}; - colorBackground[]={0,0,0,0}; - colorText[]={0,0,0,1}; - text=""; - x=0; - y=0; - h=0.037; - w=0.30; - font="TahomaB"; - SizeEx=0.03; - shadow=0; -}; -class cse_ab_ATragMX_RscButton -{ - text=""; - colorText[]={0,0,0,1}; - colorDisabled[]={0,0,0,0.0}; - colorBackground[]={0,0,0,0}; - colorBackgroundDisabled[]={0,0,0,0}; - colorBackgroundActive[]={0,0,0,0}; - colorFocused[]={0,0,0,0}; - colorShadow[]={0,0,0,0}; - colorBorder[]={0,0,0,1}; - soundEnter[]={"",0,1}; - soundPush[]={"",0,1}; - soundClick[]={"",0,1}; - soundEscape[]={"",0,1}; - type=1; - style="0x02+0x100"; - x=0; - y=0; - w=0.03; - h=0.03; - font="TahomaB"; - SizeEx=0.025; - offsetX=0.003; - offsetY=0.003; - offsetPressedX=0.0020; - offsetPressedY=0.0020; - borderSize=0; - shadow=0; -}; -class cse_ab_ATragMX_RscEdit -{ - access=0; - type=2; - style=ST_RIGHT; - x=0; - y=0; - w=0.05; - h=0.03; - colorDisabled[]={0,0,0,0.0}; - colorBackground[]={0,0,0,0}; - colorText[]={0,0,0,1}; - colorSelection[]={0,0,0,0.25}; - font="TahomaB"; - sizeEx=0.025; - text=""; - size=0.2; - autocomplete=""; - shadow=0; -}; -class cse_ab_ATragMX_RscToolbox -{ - type=6; - style=ST_LEFT; - x=0; - y=0; - w=0.2; - h=0.03; - colorDisabled[]={0,0,0,0.0}; - colorBackground[]={1,1,1,1}; - colorText[]={0,0,0,1}; - color[]={0,0,0,0}; - colorTextSelect[]={0.8,0.8,0.8,1}; - colorSelect[]={0,0,0,1}; - colorSelectedBg[]={0,0,0,1}; - colorTextDisable[]={0.4,0.4,0.4,1}; - colorDisable[]={0.4,0.4,0.4,1}; - font="TahomaB"; - sizeEx=0.027; - rows=1; - columns=2; - strings[]={"Entry 1","Entry 2"}; - values[]={1,0}; - onToolBoxSelChanged=""; -}; -class cse_ab_ATragMX_RscListBox -{ - idc=-1; - type=5; - style=0; - font="TahomaB"; - sizeEx=0.028; - rowHeight=0.03; - colorDisabled[]={0,0,0,0.0}; - colorBackground[]={1,1,1,1}; - colorText[]={0,0,0,1}; - colorScrollbar[]={0.95,0.95,0.95,1}; - colorSelect[]={0,0,0,1}; - colorSelect2[]={0,0,0,1}; - colorSelectBackground[]={0.925,0.925,0.925,1}; - colorSelectBackground2[]={0.925,0.925,0.925,1}; - period=0; - maxHistoryDelay=1.0; - autoScrollSpeed=-1; - autoScrollDelay=5; - autoScrollRewind=0; - soundSelect[]={"",0.09,1}; - - class ScrollBar { - color[]={1,1,1,0.6}; - colorActive[]={1,1,1,1}; - colorDisabled[]={1,1,1,0.3}; - thumb="\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull="\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty="\ca\ui\data\igui_arrow_top_ca.paa"; - border="\ca\ui\data\igui_border_scroll_ca.paa"; - }; - - class ListScrollBar : ScrollBar { - }; -}; -class cse_ab_ATragMX_RscListNBox: cse_ab_ATragMX_RscListBox -{ - idc=-1; - type=102; - columns[]={0.0, 0.225, 0.475, 0.725}; - drawSideArrows=0; - idcLeft=-1; - idcRight=-1; -}; -class cse_ab_ATragMX_RscControlsGroup -{ - type=15; - idc=-1; - style=16; - x=0; - y=0; - w=1; - h=1; - shadow=0; - class VScrollbar - { - color[]={1,1,1,0.6}; - width=0.021; - autoScrollSpeed=-1; - autoScrollDelay=5; - autoScrollRewind=0; - shadow=0; - }; - class HScrollbar - { - color[]={1,1,1,0.6}; - height=0.028; - shadow=0; - }; - class ScrollBar - { - color[]={1,1,1,0.6}; - colorActive[]={1,1,1,1}; - colorDisabled[]={1,1,1,0.3}; - thumb="#(argb,8,8,3)color(1,1,1,1)"; - arrowEmpty="#(argb,8,8,3)color(1,1,1,1)"; - arrowFull="#(argb,8,8,3)color(1,1,1,1)"; - border="#(argb,8,8,3)color(1,1,1,1)"; - }; - class Controls - { - }; -}; -class cse_ab_ATragMX_RscLineBreak -{ - idc=-1; - type=98; - shadow=0; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/ui/display.h b/TO_MERGE/cse/sys_ballistics/atragmx/ui/display.h deleted file mode 100644 index d82e6fb514..0000000000 --- a/TO_MERGE/cse/sys_ballistics/atragmx/ui/display.h +++ /dev/null @@ -1,1015 +0,0 @@ -class cse_ab_ATragMX_Display -{ - name="cse_ab_ATragMX_Display"; - idd=-1; - onLoad="uiNamespace setVariable ['cse_ab_ATragMX_Display', (_this select 0)]"; - movingEnable=1; - controlsBackground[]={}; - objects[]={}; - class controls - { - class BACKGROUND - { - moving=1; - type=0; - font="TahomaB"; - SizeEX=0.025; - idc=-1; - style=48; - x=0.55*safezoneW+safezoneX-0.256; - y=0.265*safezoneH+safezoneY-0.1; - w=1.024; - h=1.024*4/3; - colorBackground[]={1,1,1,1}; - colorText[]={1,1,1,1}; - text="cse\cse_sys_ballistics\atragmx\data\atrag.paa"; - }; - class POWER: cse_ab_ATragMX_RscButton - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.145; - y=0.265*safezoneH+safezoneY+0.94; - w=0.045; - h=0.045*4/3; - colorBackground[]={0,0,0,0.0}; - action="closeDialog 0"; - }; - class BACK: POWER - { - idc=-1; - w=0.06; - x=0.55*safezoneW+safezoneX+0.3122; - action="call compile preprocessFile 'cse\cse_sys_ballistics\atragmx\init.sqf'; call cse_ab_ATragMX_fnc_update_target_selection"; - }; - class WINDOWS: cse_ab_ATragMX_RscButton - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.130; - y=0.265*safezoneH+safezoneY+0.88; - w=0.035; - h=0.035*4/3; - colorBackground[]={0,0,0,0.0}; - }; - class OK: WINDOWS - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.347; - y=0.265*safezoneH+safezoneY+0.878; - }; - class TOP: cse_ab_ATragMX_RscButton - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.242; - y=0.265*safezoneH+safezoneY+0.85; - w=0.03; - h=0.03; - colorBackground[]={0,0,0,0.0}; - action="((cse_ab_ATragMX_currentGun select cse_ab_ATragMX_currentTarget) + (count cse_ab_ATragMX_gunList) - 1) % (count cse_ab_ATragMX_gunList) call cse_ab_ATragMX_fnc_change_gun"; - }; - class BOTTOM: TOP - { - idc=-1; - y=0.265*safezoneH+safezoneY+0.955; - action="((cse_ab_ATragMX_currentGun select cse_ab_ATragMX_currentTarget) + (count cse_ab_ATragMX_gunList) + 1) % (count cse_ab_ATragMX_gunList) call cse_ab_ATragMX_fnc_change_gun"; - }; - class LEFT: cse_ab_ATragMX_RscButton - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.1925; - y=0.265*safezoneH+safezoneY+0.9; - w=0.05; - h=0.03; - colorBackground[]={0,0,0,0}; - action="call cse_ab_ATragMX_fnc_parse_input; cse_ab_ATragMX_currentTarget = (4 + cse_ab_ATragMX_currentTarget - 1) % 4; call cse_ab_ATragMX_fnc_update_target_selection"; - }; - class RIGHT: LEFT - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.2725; - action="call cse_ab_ATragMX_fnc_parse_input; cse_ab_ATragMX_currentTarget = (4 + cse_ab_ATragMX_currentTarget + 1) % 4; call cse_ab_ATragMX_fnc_update_target_selection"; - }; - class TOP_LEFT: cse_ab_ATragMX_RscButton - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.162; - y=0.265*safezoneH+safezoneY+0.82; - w=0.031; - h=0.031*4/3; - colorBackground[]={0,0,0,0.0}; - }; - class TOP_RIGHT: TOP_LEFT - { - idc=-1; - x=0.55*safezoneW+safezoneX+0.315; - }; - - class TEXT_GUN_PROFILE: cse_ab_ATragMX_RscText - { - idc=1000; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.20; - w=0.18; - h=0.03; - style=ST_LEFT; - sizeEx=0.025; - text=""; - }; - class TEXT_D: cse_ab_ATragMX_RscButton - { - idc=600; - w=0.0231; - x=0.550*safezoneW+safezoneX+0.29; - y=0.265*safezoneH+safezoneY+0.20; - colorText[]={0,0,0,1}; - colorDisabled[]={0.8,0.8,0.8,1}; - colorBackgroundDisabled[]={0,0,0,1}; - colorBackgroundActive[]={0,0,0,0}; - text="D"; - action="cse_ab_ATragMX_currentUnit=0; call cse_ab_ATragMX_fnc_update_unit_selection"; - }; - class TEXT_E: TEXT_D - { - idc=601; - x=0.550*safezoneW+safezoneX+0.3131; - text="E"; - action="cse_ab_ATragMX_currentUnit=1; call cse_ab_ATragMX_fnc_update_unit_selection"; - }; - class TEXT_M: TEXT_E - { - idc=602; - x=0.550*safezoneW+safezoneX+0.3362; - text="M"; - action="cse_ab_ATragMX_currentUnit=2; call cse_ab_ATragMX_fnc_update_unit_selection"; - }; - class TEXT_RANGE_CARD: TEXT_D - { - idc=603; - w=0.03; - x=0.550*safezoneW+safezoneX+0.36; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - text="RC"; - action="call cse_ab_ATragMX_fnc_toggle_range_card"; - }; - - class TEXT_GUN: cse_ab_ATragMX_RscButton - { - idc=4000; - w=0.0925; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.25; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - text="Gun"; - }; - class TEXT_BORE_HEIGHT: TEXT_GUN_PROFILE - { - idc=10; - style=ST_LEFT; - y=0.265*safezoneH+safezoneY+0.285; - text="BH"; - }; - class TEXT_BORE_HEIGHT_INPUT: cse_ab_ATragMX_RscEdit - { - idc=100; - w=0.058; - x=0.550*safezoneW+safezoneX+0.145; - y=0.265*safezoneH+safezoneY+0.285; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_calculate_target_solution}"; - }; - class TEXT_BULLET_MASS: TEXT_BORE_HEIGHT - { - idc=11; - style=ST_LEFT; - y=0.265*safezoneH+safezoneY+0.320; - text="BW"; - }; - class TEXT_BULLET_MASS_INPUT: TEXT_BORE_HEIGHT_INPUT - { - idc=110; - y=0.265*safezoneH+safezoneY+0.320; - }; - class TEXT_AIR_FRICTION: TEXT_BORE_HEIGHT - { - idc=12; - y=0.265*safezoneH+safezoneY+0.355; - text="C1"; - }; - class TEXT_AIR_FRICTION_INPUT: TEXT_BORE_HEIGHT_INPUT - { - idc=120; - y=0.265*safezoneH+safezoneY+0.355; - }; - class TEXT_MUZZLE_VELOCITY: cse_ab_ATragMX_RscButton - { - idc=13; - style=0; - w=0.03; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.390; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - text="MV"; - }; - class TEXT_MUZZLE_VELOCITY_INPUT: TEXT_BORE_HEIGHT_INPUT - { - idc=130; - y=0.265*safezoneH+safezoneY+0.390; - }; - class TEXT_ZERO_RANGE: TEXT_BORE_HEIGHT - { - idc=14; - y=0.265*safezoneH+safezoneY+0.425; - text="ZR"; - }; - class TEXT_ZERO_RANGE_INPUT: TEXT_BORE_HEIGHT_INPUT - { - idc=140; - y=0.265*safezoneH+safezoneY+0.425; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_update_zero_range}"; - }; - class TEXT_ATMOSPHERE: TEXT_GUN - { - idc=4001; - x=0.550*safezoneW+safezoneX+0.205; - text="Atmsphr"; - }; - class TEXT_TEMPERATURE: TEXT_BULLET_MASS - { - idc=20; - x=0.550*safezoneW+safezoneX+0.20; - text="Tmp"; - }; - class TEXT_TEMPERATURE_INPUT: cse_ab_ATragMX_RscEdit - { - idc=200; - w=0.050; - x=0.550*safezoneW+safezoneX+0.245; - y=0.265*safezoneH+safezoneY+0.320; - text=""; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_calculate_target_solution}"; - }; - class TEXT_BAROMETRIC_PRESSURE: TEXT_AIR_FRICTION - { - idc=21; - x=0.550*safezoneW+safezoneX+0.20; - text="BP"; - }; - class TEXT_BAROMETRIC_PRESSURE_INPUT: TEXT_TEMPERATURE_INPUT - { - idc=210; - y=0.265*safezoneH+safezoneY+0.355; - }; - class TEXT_RELATIVE_HUMIDITY: TEXT_AIR_FRICTION - { - idc=22; - x=0.550*safezoneW+safezoneX+0.20; - y=0.265*safezoneH+safezoneY+0.390; - text="RH"; - }; - class TEXT_RELATIVE_HUMIDITY_INPUT: TEXT_TEMPERATURE_INPUT - { - idc=220; - y=0.265*safezoneH+safezoneY+0.390; - }; - class TEXT_TARGET_A: cse_ab_ATragMX_RscButton - { - idc=500; - w=0.0231; - x=0.550*safezoneW+safezoneX+0.205; - y=0.265*safezoneH+safezoneY+0.425; - colorText[]={0,0,0,1}; - colorDisabled[]={0.8,0.8,0.8,1}; - colorBackgroundDisabled[]={0,0,0,1}; - colorBackgroundActive[]={0,0,0,0}; - text="A"; - action="call cse_ab_ATragMX_fnc_parse_input; cse_ab_ATragMX_currentTarget=0; call cse_ab_ATragMX_fnc_update_target_selection"; - }; - class TEXT_TARGET_B: TEXT_TARGET_A - { - idc=501; - x=0.550*safezoneW+safezoneX+0.2281; - text="B"; - action="call cse_ab_ATragMX_fnc_parse_input; cse_ab_ATragMX_currentTarget=1; call cse_ab_ATragMX_fnc_update_target_selection"; - }; - class TEXT_TARGET_C: TEXT_TARGET_B - { - idc=502; - x=0.550*safezoneW+safezoneX+0.2512; - text="C"; - action="call cse_ab_ATragMX_fnc_parse_input; cse_ab_ATragMX_currentTarget=2; call cse_ab_ATragMX_fnc_update_target_selection"; - }; - class TEXT_TARGET_D: TEXT_TARGET_B - { - idc=503; - x=0.550*safezoneW+safezoneX+0.2743; - text="D"; - action="call cse_ab_ATragMX_fnc_parse_input; cse_ab_ATragMX_currentTarget=3; call cse_ab_ATragMX_fnc_update_target_selection"; - }; - - class TEXT_TARGET: TEXT_GUN - { - idc=4002; - x=0.550*safezoneW+safezoneX+0.3; - text="Target"; - }; - class TEXT_WIND_SPEED: TEXT_BORE_HEIGHT - { - idc=30; - x=0.550*safezoneW+safezoneX+0.3; - text="WS"; - }; - class TEXT_WIND_SPEED_INPUT: cse_ab_ATragMX_RscEdit - { - idc=300; - w=0.058; - x=0.550*safezoneW+safezoneX+0.335; - y=0.265*safezoneH+safezoneY+0.285; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_calculate_target_solution}"; - text="0"; - }; - class TEXT_WIND_DIRECTION: TEXT_BULLET_MASS - { - idc=31; - x=0.550*safezoneW+safezoneX+0.3; - text="WD"; - }; - class TEXT_WIND_DIRECTION_INPUT: TEXT_WIND_SPEED_INPUT - { - idc=310; - y=0.265*safezoneH+safezoneY+0.32; - }; - class TEXT_INCLINATION_ANGLE: TEXT_AIR_FRICTION - { - idc=32; - x=0.550*safezoneW+safezoneX+0.3; - text="IA"; - }; - class TEXT_INCLINATION_ANGLE_INPUT: TEXT_WIND_SPEED_INPUT - { - idc=320; - y=0.265*safezoneH+safezoneY+0.355; - }; - class TEXT_TARGET_SPEED: TEXT_MUZZLE_VELOCITY - { - idc=33; - x=0.550*safezoneW+safezoneX+0.3; - text="TS"; - action="call cse_ab_ATragMX_fnc_toggle_target_speed_assist"; - }; - class TEXT_TARGET_SPEED_INPUT: TEXT_WIND_SPEED_INPUT - { - idc=330; - y=0.265*safezoneH+safezoneY+0.39; - }; - class TEXT_TARGET_RANGE: TEXT_TARGET_SPEED - { - idc=34; - y=0.265*safezoneH+safezoneY+0.425; - text="TR"; - action="0 call cse_ab_ATragMX_fnc_toggle_target_range_assist"; - }; - class TEXT_TARGET_RANGE_INPUT: TEXT_WIND_SPEED_INPUT - { - idc=340; - y=0.265*safezoneH+safezoneY+0.425; - }; - - class TEXT_ELEVATION: TEXT_GUN_PROFILE - { - idc=40; - w=0.05; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.50; - text="Elev"; - }; - class TEXT_ABSOLUTE: TEXT_GUN_PROFILE - { - idc=4003; - w=0.07; - style=ST_CENTER; - x=0.550*safezoneW+safezoneX+0.17; - y=0.265*safezoneH+safezoneY+0.47; - text="Abs"; - }; - class TEXT_RELATIVE: TEXT_ABSOLUTE - { - idc=4004; - x=0.550*safezoneW+safezoneX+0.245; - text="Rel"; - }; - class TEXT_CURRENT: TEXT_ABSOLUTE - { - idc=4005; - x=0.550*safezoneW+safezoneX+0.32; - text="Cur"; - }; - class TEXT_ELEVATION_OUTPUT_ABSOLUTE: cse_ab_ATragMX_RscEdit - { - idc=400; - w=0.07; - x=0.550*safezoneW+safezoneX+0.17; - y=0.265*safezoneH+safezoneY+0.50; - text=""; - }; - class TEXT_ELEVATION_OUTPUT_RELATIVE: TEXT_ELEVATION_OUTPUT_ABSOLUTE - { - idc=401; - x=0.550*safezoneW+safezoneX+0.2465; - }; - class TEXT_ELEVATION_INPUT_CURRENT: TEXT_ELEVATION_OUTPUT_ABSOLUTE - { - idc=402; - x=0.550*safezoneW+safezoneX+0.323; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_parse_input; call cse_ab_ATragMX_fnc_update_result}"; - }; - class TEXT_WINDAGE: TEXT_ELEVATION - { - idc=41; - y=0.265*safezoneH+safezoneY+0.535; - text="Wind"; - }; - class TEXT_WINDAGE_OUTPUT_ABSOLUTE: TEXT_ELEVATION_OUTPUT_ABSOLUTE - { - idc=410; - y=0.265*safezoneH+safezoneY+0.535; - }; - class TEXT_WINDAGE_OUTPUT_RELATIVE: TEXT_WINDAGE_OUTPUT_ABSOLUTE - { - idc=411; - x=0.550*safezoneW+safezoneX+0.2465; - }; - class TEXT_WINDAGE_INPUT_CURRENT: TEXT_WINDAGE_OUTPUT_ABSOLUTE - { - idc=412; - x=0.550*safezoneW+safezoneX+0.323; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_parse_input; call cse_ab_ATragMX_fnc_update_result}"; - }; - class TEXT_LEAD: TEXT_GUN - { - idc=42; - w=0.05; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.57; - text="Lead"; - }; - class TEXT_LEAD_OUTPUT: TEXT_ELEVATION_OUTPUT_ABSOLUTE - { - idc=420; - y=0.265*safezoneH+safezoneY+0.57; - }; - class TEXT_RESET_SCOPE_ZERO: TEXT_GUN - { - idc=4006; - w=0.07; - style=ST_CENTER; - colorBackground[]={0,0,0,0}; - x=0.550*safezoneW+safezoneX+0.2465; - y=0.265*safezoneH+safezoneY+0.57; - text="Reset"; - action="call cse_ab_ATragMX_fnc_reset_relative_click_memory"; - }; - class TEXT_UPDATE_SCOPE_ZERO: TEXT_RESET_SCOPE_ZERO - { - idc=4007; - x=0.550*safezoneW+safezoneX+0.323; - text="Update"; - action="call cse_ab_ATragMX_fnc_update_relative_click_memory"; - }; - class TEXT_GUN_LIST: TEXT_GUN - { - idc=4008; - style=ST_LEFT; - y=0.265*safezoneH+safezoneY+0.65; - text="GunList"; - action="call cse_ab_ATragMX_fnc_toggle_gun_list"; - }; - class TEXT_SCOPE_UNIT: TEXT_GUN_LIST - { - idc=2000; - style=ST_CENTER; - x=0.550*safezoneW+safezoneX+0.205; - colorBackground[]={0,0,0,0}; - text="TMOA"; - action="call cse_ab_ATragMX_fnc_cycle_scope_unit"; - }; - class TEXT_CALCULATE: TEXT_SCOPE_UNIT - { - idc=3000; - style=ST_RIGHT; - x=0.550*safezoneW+safezoneX+0.3; - text="Calc"; - action="call cse_ab_ATragMX_fnc_calculate_target_solution"; - }; - - class TEXT_RANGE_CARD_SCOPE_UNIT: TEXT_GUN_PROFILE - { - idc=5000; - text=""; - }; - class TEXT_RANGE_CARD_SETUP: cse_ab_ATragMX_RscButton - { - idc=5001; - w=0.055675; - x=0.550*safezoneW+safezoneX+0.28; - y=0.265*safezoneH+safezoneY+0.20; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - text="Setup"; - action="call cse_ab_ATragMX_fnc_toggle_range_card_setup"; - }; - class TEXT_RANGE_CARD_DONE: TEXT_RANGE_CARD_SETUP - { - idc=5002; - x=0.550*safezoneW+safezoneX+0.3362; - text="Done"; - action="call cse_ab_ATragMX_fnc_toggle_range_card"; - }; - class TEXT_RANGE_CARD_COLUMN_1_CAPTION: cse_ab_ATragMX_RscButton - { - idc=5003; - style=ST_LEFT; - w=0.07; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.24; - colorBackground[]={0.15,0.21,0.23,0.3}; - text="Meters"; - }; - class TEXT_RANGE_CARD_COLUMN_2_CAPTION: TEXT_RANGE_CARD_COLUMN_1_CAPTION - { - idc=5004; - x=0.550*safezoneW+safezoneX+0.180625; - text="Elev"; - }; - class TEXT_RANGE_CARD_COLUMN_3_CAPTION: TEXT_RANGE_CARD_COLUMN_1_CAPTION - { - idc=5005; - x=0.550*safezoneW+safezoneX+0.25125; - text="Wind"; - }; - class TEXT_RANGE_CARD_COLUMN_4_CAPTION: TEXT_RANGE_CARD_COLUMN_1_CAPTION - { - idc=5006; - x=0.550*safezoneW+safezoneX+0.321875; - text="TmFlt"; - action="call cse_ab_ATragMX_fnc_cycle_range_card_columns"; - }; - class TEXT_RANGE_CARD_OUTPUT: cse_ab_ATragMX_RscListNBox - { - idc=5007; - idcLeft=50061; - idcRight=50062; - w=0.285; - h=0.42; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.27; - }; - - class TEXT_GUN_LIST_OUTPUT: cse_ab_ATragMX_RscListBox - { - idc=6000; - w=0.16; - h=0.45; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.24; - colorSelectBackground[]={0.15,0.21,0.23,0.3}; - colorSelectBackground2[]={0.15,0.21,0.23,0.3}; - onMouseButtonDblClick="true call cse_ab_ATragMX_fnc_toggle_gun_list"; - }; - class TEXT_GUN_LIST_COLUMN_CAPTION: TEXT_GUN_PROFILE - { - idc=6001; - w=0.16; - colorBackground[]={0.15,0.21,0.23,0.3}; - text="AtragGun.gun"; - }; - class TEXT_GUN_LIST_OPEN_GUN: cse_ab_ATragMX_RscButton - { - idc=6002; - style=ST_RIGHT; - w=0.115; - x=0.550*safezoneW+safezoneX+0.28; - y=0.265*safezoneH+safezoneY+0.20; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - sizeEx=0.024; - text="Open Gun"; - action="true call cse_ab_ATragMX_fnc_toggle_gun_list"; - }; - class TEXT_GUN_LIST_SAVE_GUN: TEXT_GUN_LIST_OPEN_GUN - { - idc=6003; - y=0.265*safezoneH+safezoneY+0.24; - text="Save Gun"; - action="call cse_ab_ATragMX_fnc_save_gun"; - }; - class TEXT_GUN_LIST_ADD_NEW_GUN: TEXT_GUN_LIST_OPEN_GUN - { - idc=6004; - y=0.265*safezoneH+safezoneY+0.28; - text="Add New Gun"; - action="false call cse_ab_ATragMX_fnc_show_gun_list; true call cse_ab_ATragMX_fnc_show_add_new_gun"; - }; - class TEXT_GUN_LIST_DELETE_GUN: TEXT_GUN_LIST_OPEN_GUN - { - idc=6005; - y=0.265*safezoneH+safezoneY+0.34; - text="Delete Gun"; - action="call cse_ab_ATragMX_fnc_delete_gun"; - }; - class TEXT_GUN_LIST_NOTE: TEXT_GUN_LIST_OPEN_GUN - { - idc=6006; - y=0.265*safezoneH+safezoneY+0.40; - text="Note"; - }; - class TEXT_GUN_LIST_DONE: TEXT_GUN_LIST_OPEN_GUN - { - idc=6007; - y=0.265*safezoneH+safezoneY+0.65; - text="Done"; - action="false call cse_ab_ATragMX_fnc_toggle_gun_list"; - }; - - class TEXT_TARGET_RANGE_ASSIST_CAPTION: cse_ab_ATragMX_RscText - { - idc=7000; - style=16+0x200; - lineSpacing=1.0; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.24; - w=0.29; - h=0.10; - sizeEx=0.022; - text="When using WIDTH to size a target, UP/Down Angle does not effect range calculation but will effect bullet drop."; - }; - class TEXT_TARGET_RANGE_ASSIST_MEASUREMENT_METHOD: TEXT_TARGET_RANGE_ASSIST_CAPTION - { - idc=7001; - style=ST_LEFT; - x=0.550*safezoneW+safezoneX+0.115; - y=0.265*safezoneH+safezoneY+0.35; - w=0.12; - h=0.03; - sizeEx=0.027; - text="Using Target:"; - }; - class TEXT_TARGET_RANGE_ASSIST_WIDTH_HEIGHT: cse_ab_ATragMX_RscToolbox - { - idc=7002; - w=0.14; - x=0.550*safezoneW+safezoneX+0.24; - y=0.265*safezoneH+safezoneY+0.35; - strings[]={"Height","Width"}; - values[]={1,0}; - onToolBoxSelChanged="cse_ab_ATragMX_rangeAssistUseTargetHeight=((_this select 1)==0)"; - }; - class TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE: TEXT_TARGET_RANGE_ASSIST_MEASUREMENT_METHOD - { - idc=7003; - style=ST_RIGHT; - x=0.550*safezoneW+safezoneX+0.10; - y=0.265*safezoneH+safezoneY+0.4; - text="Target Size"; - }; - class TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE - { - idc=7004; - y=0.265*safezoneH+safezoneY+0.45; - text="Image Size"; - }; - class TEXT_TARGET_RANGE_ASSIST_ANGLE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE - { - idc=7005; - y=0.265*safezoneH+safezoneY+0.5; - text="Angle"; - }; - class TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE - { - idc=7006; - y=0.265*safezoneH+safezoneY+0.55; - text="Est Range"; - }; - class TEXT_TARGET_RANGE_ASSIST_CALC_1: TEXT_MUZZLE_VELOCITY - { - idc=7007; - w=0.0231; - x=0.550*safezoneW+safezoneX+0.22; - y=0.265*safezoneH+safezoneY+0.4; - sizeEx=0.03; - text="!"; - action="0 call cse_ab_ATragMX_fnc_calculate_target_range_assist"; - }; - class TEXT_TARGET_RANGE_ASSIST_CALC_2: TEXT_TARGET_RANGE_ASSIST_CALC_1 - { - idc=7008; - y=0.265*safezoneH+safezoneY+0.45; - action="1 call cse_ab_ATragMX_fnc_calculate_target_range_assist"; - }; - class TEXT_TARGET_RANGE_ASSIST_CALC_3: TEXT_TARGET_RANGE_ASSIST_CALC_1 - { - idc=7009; - y=0.265*safezoneH+safezoneY+0.55; - action="2 call cse_ab_ATragMX_fnc_calculate_target_range_assist"; - }; - class TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT: cse_ab_ATragMX_RscEdit - { - idc=7010; - w=0.065; - x=0.550*safezoneW+safezoneX+0.2475; - y=0.265*safezoneH+safezoneY+0.4; - }; - class TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT - { - idc=7011; - y=0.265*safezoneH+safezoneY+0.45; - }; - class TEXT_TARGET_RANGE_ASSIST_ANGLE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT - { - idc=7012; - y=0.265*safezoneH+safezoneY+0.5; - }; - class TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT - { - idc=7013; - y=0.265*safezoneH+safezoneY+0.55; - }; - class TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_UNIT: TEXT_TARGET_RANGE_ASSIST_CALC_1 - { - idc=7014; - w=0.07; - x=0.550*safezoneW+safezoneX+0.32; - text="cm"; - action="cse_ab_ATragMX_rangeAssistTargetSizeUnit=(cse_ab_ATragMX_rangeAssistTargetSizeUnit+1) % (count cse_ab_ATragMX_rangeAssistTargetSizeUnits); ctrlSetText [7014, cse_ab_ATragMX_rangeAssistTargetSizeUnits select cse_ab_ATragMX_rangeAssistTargetSizeUnit]"; - }; - class TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_UNIT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_UNIT - { - idc=7015; - y=0.265*safezoneH+safezoneY+0.45; - text="MIL"; - action="cse_ab_ATragMX_rangeAssistImageSizeUnit=(cse_ab_ATragMX_rangeAssistImageSizeUnit+1) % (count cse_ab_ATragMX_rangeAssistImageSizeUnits); ctrlSetText [7015, cse_ab_ATragMX_rangeAssistImageSizeUnits select cse_ab_ATragMX_rangeAssistImageSizeUnit]"; - }; - class TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_UNIT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE - { - idc=7016; - style=ST_LEFT; - w=0.07; - x=0.550*safezoneW+safezoneX+0.32; - text="Meters"; - }; - class TEXT_TARGET_RANGE_ASSIST_DONE: cse_ab_ATragMX_RscButton - { - idc=7017; - style=ST_CENTER; - w=0.07; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.60; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - text="Done"; - action="1 call cse_ab_ATragMX_fnc_toggle_target_range_assist"; - }; - class TEXT_TARGET_RANGE_ASSIST_CANCEL: TEXT_TARGET_RANGE_ASSIST_DONE - { - idc=7018; - x=0.550*safezoneW+safezoneX+0.180625; - text="Cancel"; - action="0 call cse_ab_ATragMX_fnc_toggle_target_range_assist"; - }; - class TEXT_TARGET_RANGE_ASSIST_PREV: TEXT_TARGET_RANGE_ASSIST_DONE - { - idc=7019; - x=0.550*safezoneW+safezoneX+0.25125; - text="Prev"; - action=""; - }; - class TEXT_TARGET_RANGE_ASSIST_NEXT: TEXT_TARGET_RANGE_ASSIST_DONE - { - idc=7020; - x=0.550*safezoneW+safezoneX+0.321875; - text="Next"; - action=""; - }; - - class TEXT_TARGET_SPEED_ASSIST_TARGET_RANGE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE - { - idc=8000; - x=0.550*safezoneW+safezoneX+0.12; - text="Target Range"; - }; - class TEXT_TARGET_SPEED_ASSIST_NUM_TICKS: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE - { - idc=8001; - x=0.550*safezoneW+safezoneX+0.12; - text="Num Ticks"; - }; - class TEXT_TARGET_SPEED_ASSIST_TIME: TEXT_TARGET_RANGE_ASSIST_ANGLE - { - idc=8002; - x=0.550*safezoneW+safezoneX+0.12; - text="Time (secs)"; - }; - class TEXT_TARGET_SPEED_ASSIST_TARGET_ESTIMATED_SPEED: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE - { - idc=8003; - x=0.550*safezoneW+safezoneX+0.12; - text="Est Speed"; - }; - class TEXT_TARGET_SPEED_ASSIST_TARGET_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT - { - idc=8004; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_calculate_target_speed_assist}"; - }; - class TEXT_TARGET_SPEED_ASSIST_NUM_TICKS_INPUT: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_INPUT - { - idc=8005; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_calculate_target_speed_assist}"; - }; - class TEXT_TARGET_SPEED_ASSIST_TIME_INPUT: TEXT_TARGET_RANGE_ASSIST_ANGLE_INPUT - { - idc=8006; - onKeyUp="if (_this select 1 == 28) then {call cse_ab_ATragMX_fnc_calculate_target_speed_assist}"; - }; - class TEXT_TARGET_SPEED_ASSIST_TARGET_ESTIMATED_SPEED_OUTPUT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE - { - idc=8007; - w=0.065; - x=0.550*safezoneW+safezoneX+0.2475; - y=0.265*safezoneH+safezoneY+0.55; - colorBackground[]={0.15,0.21,0.23,0.3}; - text="0"; - }; - class TEXT_TARGET_SPEED_ASSIST_TARGET_RANGE_UNIT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_UNIT - { - idc=8008; - y=0.265*safezoneH+safezoneY+0.4; - text="Meters"; - }; - class TEXT_TARGET_SPEED_ASSIST_NUM_TICKS_UNIT: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_UNIT - { - idc=8009; - text="MIL"; - action="cse_ab_ATragMX_speedAssistNumTicksUnit=(cse_ab_ATragMX_speedAssistNumTicksUnit+1) % (count cse_ab_ATragMX_speedAssistNumTicksUnits); ctrlSetText [8009, cse_ab_ATragMX_speedAssistNumTicksUnits select cse_ab_ATragMX_speedAssistNumTicksUnit]; call cse_ab_ATragMX_fnc_calculate_target_speed_assist"; - }; - class TEXT_TARGET_SPEED_ASSIST_TIMER_START: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_UNIT - { - idc=8010; - y=0.265*safezoneH+safezoneY+0.5; - text="Start"; - action="execVM '\atragmx\functions\fnc_target_speed_assist_timer.sqf'"; - }; - class TEXT_TARGET_SPEED_ASSIST_TARGET_ESTIMATED_SPEED_UNIT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_UNIT - { - idc=8011; - text="m/s"; - }; - class TEXT_TARGET_SPEED_ASSIST_DONE: TEXT_TARGET_RANGE_ASSIST_DONE - { - idc=8012; - action="1 call cse_ab_ATragMX_fnc_toggle_target_speed_assist"; - }; - class TEXT_TARGET_SPEED_ASSIST_CANCEL: TEXT_TARGET_RANGE_ASSIST_CANCEL - { - idc=8013; - action="0 call cse_ab_ATragMX_fnc_toggle_target_speed_assist"; - }; - class TEXT_TARGET_SPEED_ASSIST_PREV: TEXT_TARGET_RANGE_ASSIST_PREV - { - idc=8014; - }; - class TEXT_TARGET_SPEED_ASSIST_NEXT: TEXT_TARGET_RANGE_ASSIST_NEXT - { - idc=8015; - }; - - class TEXT_TARGET_SPEED_ASSIST_TIMER_STOP_BACKGROUND: cse_ab_ATragMX_RscButton - { - idc=9000; - w=0.285; - h=0.49; - x=0.550*safezoneW+safezoneX+0.11; - y=0.265*safezoneH+safezoneY+0.2; - colorBackground[]={0,0,0,0}; - colorBackgroundActive[]={0,0,0,0}; - action="cse_ab_ATragMX_speedAssistTimer=false"; - } - class TEXT_TARGET_SPEED_ASSIST_TIME_OUTPUT: cse_ab_ATragMX_RscText - { - idc=9001; - x=0.550*safezoneW+safezoneX+0.22; - y=0.265*safezoneH+safezoneY+0.51; - w=0.08; - h=0.09; - style=ST_CENTER; - sizeEx=0.05; - text="0.0"; - }; - class TEXT_TARGET_SPEED_ASSIST_TIMER_STOP: cse_ab_ATragMX_RscButton - { - idc=9002; - style=ST_CENTER; - w=0.07; - h=0.04; - x=0.550*safezoneW+safezoneX+0.225; - y=0.265*safezoneH+safezoneY+0.60; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - text="Stop"; - action="cse_ab_ATragMX_speedAssistTimer=false"; - }; - - class TEXT_RANGE_CARD_SETUP_START_RANGE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE - { - idc=10000; - x=0.550*safezoneW+safezoneX+0.12; - text="Start Range"; - }; - class TEXT_RANGE_CARD_SETUP_END_RANGE: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE - { - idc=10001; - x=0.550*safezoneW+safezoneX+0.12; - text="End Range"; - }; - class TEXT_RANGE_CARD_SETUP_INCREMENT: TEXT_TARGET_RANGE_ASSIST_ANGLE - { - idc=10002; - x=0.550*safezoneW+safezoneX+0.12; - text="Increment"; - }; - class TEXT_RANGE_CARD_SETUP_START_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT - { - idc=10003; - onKeyUp="if (_this select 1 == 28) then {1 call cse_ab_ATragMX_fnc_toggle_range_card_setup}"; - }; - class TEXT_RANGE_CARD_SETUP_END_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_INPUT - { - idc=10004; - onKeyUp="if (_this select 1 == 28) then {1 call cse_ab_ATragMX_fnc_toggle_range_card_setup}"; - }; - class TEXT_RANGE_CARD_SETUP_INCREMENT_INPUT: TEXT_TARGET_RANGE_ASSIST_ANGLE_INPUT - { - idc=10005; - onKeyUp="if (_this select 1 == 28) then {1 call cse_ab_ATragMX_fnc_toggle_range_card_setup}"; - }; - class TEXT_RANGE_CARD_SETUP_DONE: TEXT_TARGET_SPEED_ASSIST_DONE - { - idc=10006; - action="1 call cse_ab_ATragMX_fnc_toggle_range_card_setup"; - }; - class TEXT_RANGE_CARD_SETUP_CANCEL: TEXT_TARGET_SPEED_ASSIST_CANCEL - { - idc=10007; - action="0 call cse_ab_ATragMX_fnc_toggle_range_card_setup"; - }; - class TEXT_RANGE_CARD_SETUP_PREV: TEXT_TARGET_SPEED_ASSIST_PREV - { - idc=10008; - }; - class TEXT_RANGE_CARD_SETUP_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT - { - idc=10009; - }; - - class TEXT_ADD_NEW_GUN_CAPTION: cse_ab_ATragMX_RscText - { - idc=11000; - style=ST_LEFT; - w=0.25; - h=0.04; - x=0.550*safezoneW+safezoneX+0.12; - y=0.265*safezoneH+safezoneY+0.24; - sizeEx=0.025; - text="New Gun Name"; - }; - class TEXT_ADD_NEW_GUN_GUN_NAME_INPUT: cse_ab_ATragMX_RscEdit - { - idc=11001; - style=ST_LEFT; - w=0.225; - h=0.04; - x=0.550*safezoneW+safezoneX+0.12; - y=0.265*safezoneH+safezoneY+0.28; - text=""; - }; - class TEXT_ADD_NEW_GUN_OK: cse_ab_ATragMX_RscButton - { - idc=11002; - style=ST_CENTER; - w=0.1; - h=0.04; - x=0.550*safezoneW+safezoneX+0.12; - y=0.265*safezoneH+safezoneY+0.33; - colorBackground[]={0.15,0.21,0.23,0.3}; - colorFocused[]={0.15,0.21,0.23,0.2}; - text="OK"; - action="call cse_ab_ATragMX_fnc_add_new_gun; false call cse_ab_ATragMX_fnc_show_add_new_gun; true call cse_ab_ATragMX_fnc_show_gun_list"; - }; - class TEXT_ADD_NEW_GUN_CANCEL: TEXT_ADD_NEW_GUN_OK - { - idc=11003; - x=0.550*safezoneW+safezoneX+0.245; - text="Cancel"; - action="false call cse_ab_ATragMX_fnc_show_add_new_gun; true call cse_ab_ATragMX_fnc_show_gun_list"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgFunctions.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgFunctions.h deleted file mode 100644 index 961697ae3b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgFunctions.h +++ /dev/null @@ -1,16 +0,0 @@ -class cfgFunctions { - class CSE_ab_kestrel4500 - { - class Kestrel { - file = "cse\cse_sys_ballistics\kestrel4500\functions"; - class button_pressed { recompile = 1; }; - class collect_data { recompile = 1; }; - class create_dialog { recompile = 1; }; - class display_kestrel { recompile = 1; }; - class generate_output_data { recompile = 1; }; - class update_display { recompile = 1; }; - class kestrel_mainLoop { recompile = 1; }; - class hasAdvancedBallisticsEnabled { recompile = 1; }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgSounds.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgSounds.h deleted file mode 100644 index 5c6ac6de09..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgSounds.h +++ /dev/null @@ -1,39 +0,0 @@ -class CfgSounds -{ - class cse_ab_kestrel4500_center_button_click - { - name="kestrel4500_center_button_click"; - sound[]={"cse\cse_sys_ballistics\kestrel4500\sound\kestrel_center_button_click.wav",1,1}; - titles[]={}; - }; - class cse_ab_kestrel4500_top_button_click - { - name="kestrel4500_top_button_click"; - sound[]={"cse\cse_sys_ballistics\kestrel4500\sound\kestrel_top_button_click.wav",1,1}; - titles[]={}; - }; - class cse_ab_kestrel4500_right_button_click - { - name="kestrel4500_right_button_click"; - sound[]={"cse\cse_sys_ballistics\kestrel4500\sound\kestrel_right_button_click.wav",1,1}; - titles[]={}; - }; - class cse_ab_kestrel4500_bottom_button_click - { - name="kestrel4500_bottom_button_click"; - sound[]={"cse\cse_sys_ballistics\kestrel4500\sound\kestrel_bottom_button_click.wav",1,1}; - titles[]={}; - }; - class cse_ab_kestrel4500_left_button_click - { - name="kestrel4500_left_button_click"; - sound[]={"cse\cse_sys_ballistics\kestrel4500\sound\kestrel_left_button_click.wav",1,1}; - titles[]={}; - }; - class cse_ab_kestrel4500_exit_button_click - { - name="kestrel4500_exit_button_click"; - sound[]={"cse\cse_sys_ballistics\kestrel4500\sound\kestrel_exit_button_click.wav",1,1}; - titles[]={}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgVehicles.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgVehicles.h deleted file mode 100644 index a77b370e9c..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/CfgVehicles.h +++ /dev/null @@ -1,37 +0,0 @@ -class CfgVehicles -{ - class Item_Base_F; - class cse_ab_Item_Kestrel4500: Item_Base_F - { - scope=2; - scopeCurator=2; - displayName="Kestrel4500"; - author="Ruthberg"; - vehicleClass="Items"; - class TransportItems - { - class cse_ab_Kestrel4500 - { - name="cse_ab_Kestrel4500"; - count=1; - }; - }; - }; - - class NATO_Box_Base; - class cse_ballisticsItemsCrate: NATO_Box_Base - { - scope = 2; - displayName = "Ballistic Items [CSE]"; - author = "Combat Space Enhancement"; - model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; - class TransportWeapons - { - class _xx_cse_ab_Kestrel4500 - { - weapon="cse_ab_Kestrel4500"; - count=5; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/Combat_space_enhancement.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/Combat_space_enhancement.h deleted file mode 100644 index e52dee03d7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/Combat_space_enhancement.h +++ /dev/null @@ -1,11 +0,0 @@ -class Combat_Space_Enhancement { - class EventHandlers { - class PostInit_EventHandlers { - class cse_ab_kestrel4500 { - init = "call compile preprocessFile 'cse\cse_sys_ballistics\kestrel4500\XEH_postClientInit.sqf';"; - name = "Kestrel 4500"; - author = "Ruthberg"; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/XEH_postClientInit.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/XEH_postClientInit.sqf deleted file mode 100644 index fc5b82e664..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/XEH_postClientInit.sqf +++ /dev/null @@ -1,19 +0,0 @@ -if (!hasInterface) exitwith{}; - -call compile preprocessFile "cse\cse_sys_ballistics\kestrel4500\init.sqf"; - - -[] spawn { - waituntil {!isnil "cse_gui"}; - // TODO seperate config entry for this, outside module space. - ["cse_sys_ballistics_Kestrel4500_open", (["cse_sys_ballistics_Kestrel4500_open","menu",[70, 0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { _this call cse_ab_kestrel4500_fnc_create_dialog; }, 790542] call cse_fnc_addKeyBindingForMenu_F; - ["cse_sys_ballistics_Kestrel4500_open","menu", "Open Kestrel4500", "Opens the Kestrel4500 dialog"] call cse_fnc_settingsDefineDetails_F; - - ["cse_sys_ballistics_Kestrel4500_show", (["cse_sys_ballistics_Kestrel4500_show","action",[70, 1,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { _this call cse_ab_kestrel4500_fnc_display_kestrel; }] call cse_fnc_addKeyBindingForAction_F; - ["cse_sys_ballistics_Kestrel4500_show","action", "Show Kestrel4500", "Show the Kestrel4500 without mouse."] call cse_fnc_settingsDefineDetails_F; - - _entries = [ - ["Kestrel 4500", {([player, 'cse_ab_Kestrel4500'] call cse_fnc_hasItem_CC)}, "cse\cse_sys_ballistics\kestrel4500\data\Kestrel4500_Icon.paa", { closeDialog 0; call cse_ab_Kestrel4500_fnc_create_dialog; }, "Use Kestrel 4500"] - ]; - ["ActionMenu", "equipment", _entries] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/cfgWeapons.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/cfgWeapons.h deleted file mode 100644 index c0350297f3..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/cfgWeapons.h +++ /dev/null @@ -1,20 +0,0 @@ -class CfgWeapons -{ - class ItemCore; - class InventoryItem_Base_F; - class cse_ab_Kestrel4500: ItemCore - { - scope=2; - value = 1; - count = 1; - type = 16; - displayName="Kestrel4500"; - picture= "\cse\cse_sys_ballistics\kestrel4500\data\Kestrel4500_Icon.paa"; - descriptionShort="Kestrel 4500 Pocket Weather Tracker"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/config.cpp b/TO_MERGE/cse/sys_ballistics/kestrel4500/config.cpp deleted file mode 100644 index 9f83f3df62..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/config.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#define ST_LEFT 0 -#define ST_RIGHT 1 -#define ST_CENTER 2 - -class CfgPatches -{ - class cse_ab_kestrel4500 - { - units[]={}; - weapons[]= {"cse_ab_Kestrel4500"}; - requiredVersion=1.26; - requiredAddons[]= {"cse_f_modules", "cse_main", "cse_f_configuration"}; - version="1.3"; - author[]= {"Ruthberg"}; - }; -}; -class CfgAddons -{ - class PreloadAddons - { - class cse_ab_kestrel4500 - { - list[]= - { - "cse_ab_kestrel4500" - }; - }; - }; -}; - -#include "combat_space_enhancement.h" -#include "CfgWeapons.h" -#include "CfgVehicles.h" -#include "CfgFunctions.h" -#include "CfgSounds.h" -#include "UI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_button_pressed.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_button_pressed.sqf deleted file mode 100644 index 6d0bfa7390..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_button_pressed.sqf +++ /dev/null @@ -1,40 +0,0 @@ -#include "script_component.hpp" - -switch (_this) do { - case 0: { // Enter - if (!cse_ab_Kestrel4500_MinAvgMax && (cse_ab_Kestrel4500_Menu == 2 || cse_ab_Kestrel4500_Menu == 3)) then { - cse_ab_Kestrel4500_RefHeading = getDir player; - }; - if (cse_ab_Kestrel4500_MinAvgMax && cse_ab_Kestrel4500_Menu > 0 && cse_ab_Kestrel4500_Menu < 4) then { - if (cse_ab_Kestrel4500_MinAvgMaxMode != 1) then { - { - cse_ab_Kestrel4500_MIN set [_x, 0]; - cse_ab_Kestrel4500_MAX set [_x, 0]; - cse_ab_Kestrel4500_TOTAL set [_x, 0]; - cse_ab_Kestrel4500_ENTRIES set [_x, 0]; - } forEach [1, 2, 3]; - }; - cse_ab_Kestrel4500_MinAvgMaxMode = (cse_ab_Kestrel4500_MinAvgMaxMode + 1) % 3; - }; - }; - case 1: { // Top - cse_ab_Kestrel4500_Menu = (cse_ab_Kestrel4500_Menu - 1 + (count cse_ab_Kestrel4500_Menus)) % (count cse_ab_Kestrel4500_Menus); - }; - case 2: { // Bottom - cse_ab_Kestrel4500_Menu = (cse_ab_Kestrel4500_Menu + 1 + (count cse_ab_Kestrel4500_Menus)) % (count cse_ab_Kestrel4500_Menus); - }; - case 3: { // Left - cse_ab_Kestrel4500_MinAvgMAx = !cse_ab_Kestrel4500_MinAvgMAx; - }; - case 4: { // Right - cse_ab_Kestrel4500_MinAvgMAx = !cse_ab_Kestrel4500_MinAvgMAx; - }; - case 5: { // Memory - }; - case 6: { // Backlight - }; -}; - -_null = _this spawn cse_ab_Kestrel4500_fnc_update_display; - -nil; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_collect_data.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_collect_data.sqf deleted file mode 100644 index c172855533..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_collect_data.sqf +++ /dev/null @@ -1,90 +0,0 @@ -#include "script_component.hpp" - -private ["_playerDir", "_windSpeed", "_windDir", "_crosswind", "_headwind", "_humidity", "_temperature", "_humidity", "_barometricPressure", "_altitude"]; - -if (isNil "cse_AB_Altitude") then {AB_Altitude = 0}; -if (isNil "cse_AB_Temperature") then {AB_Temperature = 0}; - -if (isNil "cse_ab_Kestrel4500_MIN" || isNil "cse_ab_Kestrel4500_MAX") then { - _temperature = 15; - _humidity = humidity; - if ((["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_f)) then { - _temperature = ((getPosASL player) select 2) call cse_ab_ballistics_fnc_get_temperature_at_height; - _humidity = ((getPosASL player) select 2) call cse_ab_ballistics_fnc_get_humidity_at_height; - }; - _barometricPressure = 1013.25 * exp(-(AB_Altitude + ((getPosASL player) select 2)) / 7990) - 10 * overcast; - _altitude = AB_Altitude + ((getPosASL player) select 2); - cse_ab_Kestrel4500_MIN = [0, 0, 0, 0, _temperature, _humidity, _barometricPressure, _altitude]; - cse_ab_Kestrel4500_MAX = [0, 0, 0, 0, _temperature, _humidity, _barometricPressure, _altitude]; -}; - -{ - cse_ab_Kestrel4500_ENTRIES set [_x, (cse_ab_Kestrel4500_ENTRIES select _x) + 1]; -} forEach [0, 4, 5, 6 ,7]; - -// Direction -_playerDir = getDir player; -cse_ab_Kestrel4500_MIN set [0, (cse_ab_Kestrel4500_MIN select 0) min _playerDir]; -cse_ab_Kestrel4500_MAX set [0, _playerDir max (cse_ab_Kestrel4500_MAX select 0)]; -cse_ab_Kestrel4500_TOTAL set [0, (cse_ab_Kestrel4500_TOTAL select 0) + _playerDir]; - -if (cse_ab_Kestrel4500_MinAvgMaxMode == 1) then { - { - cse_ab_Kestrel4500_ENTRIES set [_x, (cse_ab_Kestrel4500_ENTRIES select _x) + 1]; - } forEach [1, 2, 3]; - - // Wind SPD - _windSpeed = vectorMagnitude wind; - _windDir = (wind select 0) atan2 (wind select 1); - - if (call cse_ab_Kestrel4500_fnc_hasAdvancedBallisticsEnabled) then { - _windSpeed = (eyePos player) call cse_ab_ballistics_fnc_calculate_wind_speed; - }; - - _windSpeed = cos(_playerDir - _windDir) * _windSpeed; - cse_ab_Kestrel4500_MIN set [1, (cse_ab_Kestrel4500_MIN select 1) min abs(_windSpeed)]; - cse_ab_Kestrel4500_MAX set [1, abs(_windSpeed) max (cse_ab_Kestrel4500_MAX select 1)]; - cse_ab_Kestrel4500_TOTAL set [1, (cse_ab_Kestrel4500_TOTAL select 1) + abs(_windSpeed)]; - - // CROSSWIND - _crosswind = abs(sin(cse_ab_Kestrel4500_RefHeading - _playerDir) * _windSpeed); - cse_ab_Kestrel4500_MIN set [2, (cse_ab_Kestrel4500_MIN select 2) min _crosswind]; - cse_ab_Kestrel4500_MAX set [2, _crosswind max (cse_ab_Kestrel4500_MAX select 2)]; - cse_ab_Kestrel4500_TOTAL set [2, (cse_ab_Kestrel4500_TOTAL select 2) + _crosswind]; - - // HEADWIND - _headwind = abs(cos(cse_ab_Kestrel4500_RefHeading - _playerDir) * _windSpeed); - cse_ab_Kestrel4500_MIN set [3, (cse_ab_Kestrel4500_MIN select 3) min _headwind]; - cse_ab_Kestrel4500_MAX set [3, _headwind max (cse_ab_Kestrel4500_MAX select 3)]; - cse_ab_Kestrel4500_TOTAL set [3, (cse_ab_Kestrel4500_TOTAL select 3) + _headwind]; -}; - -// TEMP -_temperature = 15; -if ((["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_f)) then { - _temperature = ((getPosASL player) select 2) call cse_ab_ballistics_fnc_get_temperature_at_height; -}; -cse_ab_Kestrel4500_MIN set [4, (cse_ab_Kestrel4500_MIN select 4) min _temperature]; -cse_ab_Kestrel4500_MAX set [4, _temperature max (cse_ab_Kestrel4500_MAX select 4)]; -cse_ab_Kestrel4500_TOTAL set [4, (cse_ab_Kestrel4500_TOTAL select 4) + _temperature]; - -// HUMIDITY -_humidity = humidity; -if ((["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_f)) then { - _humidity = ((getPosASL player) select 2) call cse_ab_ballistics_fnc_get_humidity_at_height; -}; -cse_ab_Kestrel4500_MIN set [5, (cse_ab_Kestrel4500_MIN select 5) min _humidity]; -cse_ab_Kestrel4500_MAX set [5, _humidity max (cse_ab_Kestrel4500_MAX select 5)]; -cse_ab_Kestrel4500_TOTAL set [5, (cse_ab_Kestrel4500_TOTAL select 5) + _humidity]; - -// BARO -_barometricPressure = 1013.25 * exp(-(AB_Altitude + ((getPosASL player) select 2)) / 7990) - 10 * overcast; -cse_ab_Kestrel4500_MIN set [6, (cse_ab_Kestrel4500_MIN select 6) min _barometricPressure]; -cse_ab_Kestrel4500_MAX set [6, _barometricPressure max (cse_ab_Kestrel4500_MAX select 6)]; -cse_ab_Kestrel4500_TOTAL set [6, (cse_ab_Kestrel4500_TOTAL select 6) + _barometricPressure]; - -// ALTITUDE -_altitude = AB_Altitude + ((getPosASL player) select 2); -cse_ab_Kestrel4500_MIN set [7, (cse_ab_Kestrel4500_MIN select 7) min _altitude]; -cse_ab_Kestrel4500_MAX set [7, _altitude max (cse_ab_Kestrel4500_MAX select 7)]; -cse_ab_Kestrel4500_TOTAL set [7, (cse_ab_Kestrel4500_TOTAL select 7) + _altitude]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_create_dialog.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_create_dialog.sqf deleted file mode 100644 index 0290c730f0..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_create_dialog.sqf +++ /dev/null @@ -1,13 +0,0 @@ -#include "script_component.hpp" - -if (underwater player) exitWith { false }; -if (!([player] call cse_fnc_canInteract) || {!([player, "cse_ab_Kestrel4500"] call cse_fnc_hasItem_CC)}) exitwith {false}; - -cse_ab_Kestrel4500_Overlay = false; -3 cutText ["", "PLAIN"]; - -cse_ab_Kestrel4500 = true; -createDialog 'cse_ab_Kestrel4500_Display'; -[] spawn cse_ab_Kestrel4500_fnc_kestrel_mainLoop; - -true diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_display_kestrel.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_display_kestrel.sqf deleted file mode 100644 index a2812d6ed3..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_display_kestrel.sqf +++ /dev/null @@ -1,63 +0,0 @@ -#include "script_component.hpp" - -#define __dsp (uiNamespace getVariable "cse_ab_RscKestrel4500") -#define __ctrlcse_ab_Kestrel4500 (__dsp displayCtrl 75000) -#define __ctrlTop (__dsp displayCtrl 75100) -#define __ctrlCenterBig (__dsp displayCtrl 75200) -#define __ctrlCenterLine1Left (__dsp displayCtrl 75300) -#define __ctrlCenterLine2Left (__dsp displayCtrl 75301) -#define __ctrlCenterLine3Left (__dsp displayCtrl 75302) -#define __ctrlCenterLine1Right (__dsp displayCtrl 75303) -#define __ctrlCenterLine2Right (__dsp displayCtrl 75304) -#define __ctrlCenterLine3Right (__dsp displayCtrl 75305) -#define __ctrlInfoLine1 (__dsp displayCtrl 75400) -#define __ctrlInfoLine2 (__dsp displayCtrl 75401) - -if (cse_ab_Kestrel4500_Overlay) exitWith { - cse_ab_Kestrel4500_Overlay = false; - 3 cutText ["", "PLAIN"]; - true -}; -if (underwater player) exitWith { true }; -if (!([player, "cse_ab_Kestrel4500"] call cse_fnc_hasItem_CC)) exitWith { true }; - -if (cse_ab_Kestrel4500 && dialog) then { - cse_ab_Kestrel4500 = false; - closeDialog 0; -}; - -[] spawn { - private ["_outputData"]; - - cse_ab_Kestrel4500_Overlay = true; - - while {cse_ab_Kestrel4500_Overlay && (("cse_ab_Kestrel4500" in (uniformItems player)) || ("cse_ab_Kestrel4500" in (vestItems player)))} do { - _outputData = call cse_ab_Kestrel4500_fnc_generate_output_data; - - 3 cutRsc ["cse_ab_RscKestrel4500", "PLAIN", 1, false]; - - __ctrlTop ctrlSetText (_outputData select 0); - __ctrlCenterBig ctrlSetText (_outputData select 1); - - __ctrlTop ctrlSetText (_outputData select 0); - __ctrlCenterBig ctrlSetText (_outputData select 1); - - __ctrlCenterLine1Left ctrlSetText (_outputData select 2); - __ctrlCenterLine2Left ctrlSetText (_outputData select 3); - __ctrlCenterLine3Left ctrlSetText (_outputData select 4); - - __ctrlCenterLine1Right ctrlSetText (_outputData select 5); - __ctrlCenterLine2Right ctrlSetText (_outputData select 6); - __ctrlCenterLine3Right ctrlSetText (_outputData select 7); - - __ctrlInfoLine1 ctrlSetText (_outputData select 8); - __ctrlInfoLine2 ctrlSetText (_outputData select 9); - - sleep 1; - }; - - cse_ab_Kestrel4500_Overlay = false; - 3 cutText ["", "PLAIN"]; -}; - -true diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_generate_output_data.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_generate_output_data.sqf deleted file mode 100644 index 38627a7dfc..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_generate_output_data.sqf +++ /dev/null @@ -1,203 +0,0 @@ -#include "script_component.hpp" - -private ["_playerDir", "_textTop", "_textCenterBig", "_textCenterLine1Left", "_textCenterLine2Left", "_textCenterLine3Left", "_textCenterLine1Right", "_textCenterLine2Right", "_textCenterLine3Right", "_textInfoLine1", "_textInfoLine2", "_temperature", "_humidity", "_windSpeed", "_windDir", "_newWindSpeed", "_windSource", "_height"]; - -if (isNil "cse_AB_Altitude") then {AB_Altitude = 0}; -if (isNil "cse_AB_Temperature") then {AB_Temperature = 0}; - -call cse_ab_Kestrel4500_fnc_collect_data; - -_textTop = cse_ab_Kestrel4500_Menus select cse_ab_Kestrel4500_Menu; -_textCenterBig = ""; - -_textCenterLine1Left = ""; -_textCenterLine2Left = ""; -_textCenterLine3Left = ""; -_textCenterLine1Right = ""; -_textCenterLine2Right = ""; -_textCenterLine3Right = ""; - -_textInfoLine1 = ""; -_textInfoLine2 = ""; - -_windSpeed = vectorMagnitude wind; -_windDir = (wind select 0) atan2 (wind select 1); - -_temperature = 15; -_humidity = humidity; - -if (call cse_ab_Kestrel4500_fnc_hasAdvancedBallisticsEnabled) then { - _windSpeed = (eyePos player) call cse_ab_ballistics_fnc_calculate_wind_speed; - _temperature = ((getPosASL player) select 2) call cse_ab_ballistics_fnc_get_temperature_at_height; - _humidity = ((getPosASL player) select 2) call cse_ab_ballistics_fnc_get_humidity_at_height; -}; - -_playerDir = getDir player; -_windSpeed = cos(_playerDir - _windDir) * _windSpeed; - -cse_ab_Kestrel4500_Direction = 4 * floor(_playerDir / 90); -if (_playerDir % 90 > 10) then { cse_ab_Kestrel4500_Direction = cse_ab_Kestrel4500_Direction + 1}; -if (_playerDir % 90 > 35) then { cse_ab_Kestrel4500_Direction = cse_ab_Kestrel4500_Direction + 1}; -if (_playerDir % 90 > 55) then { cse_ab_Kestrel4500_Direction = cse_ab_Kestrel4500_Direction + 1}; -if (_playerDir % 90 > 80) then { cse_ab_Kestrel4500_Direction = cse_ab_Kestrel4500_Direction + 1}; -cse_ab_Kestrel4500_Direction = cse_ab_Kestrel4500_Direction % 16; - -switch (cse_ab_Kestrel4500_Menu) do { - case 0: { // Direction - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = format["%1", format["%1 %2", cse_ab_Kestrel4500_Directions select cse_ab_Kestrel4500_Direction, round(_playerDir)]]; - } else { - _textCenterLine1Left = "Min"; - _textCenterLine2Left = "Avg"; - _textCenterLine3Left = "Max"; - _textCenterLine1Right = "N/A"; - _textCenterLine2Right = "N/A"; - _textCenterLine3Right = "N/A"; - }; - }; - case 1: { // Wind SPD - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = Str(round(abs(_windSpeed) * 10) / 10); - } else { - _textCenterLine1Left = "Max"; - _textCenterLine2Left = "Avg"; - switch (cse_ab_Kestrel4500_MinAvgMaxMode) do { - case 0: { - _textCenterLine1Right = "--. -"; - _textCenterLine2Right = "--. -"; - _textInfoLine2 = "- average"; - }; - case 1: { - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MAX select 1) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 1) / (cse_ab_Kestrel4500_ENTRIES select 1) * 10) / 10); - _textInfoLine2 = "- stop"; - }; - case 2: { - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MAX select 1) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 1) / (cse_ab_Kestrel4500_ENTRIES select 1) * 10) / 10); - _textInfoLine2 = "- clear"; - }; - }; - }; - }; - case 2: { // CROSSWIND - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = Str(round(abs(sin(cse_ab_Kestrel4500_RefHeading - _playerDir) * _windSpeed) * 10) / 10); - _textInfoLine1 = format["%1 m/s @ %2", round((cos(_playerDir - _windDir) * _windSpeed) * 10) / 10, round(_playerDir)]; - _textInfoLine2 = "- set heading"; - } else { - _textCenterLine1Left = "Max"; - _textCenterLine2Left = "Avg"; - switch (cse_ab_Kestrel4500_MinAvgMaxMode) do { - case 0: { - _textCenterLine1Right = "--. -"; - _textCenterLine2Right = "--. -"; - _textInfoLine2 = "- average"; - }; - case 1: { - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MAX select 2) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 2) / (cse_ab_Kestrel4500_ENTRIES select 2) * 10) / 10); - _textInfoLine2 = "- stop"; - }; - case 2: { - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MAX select 2) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 2) / (cse_ab_Kestrel4500_ENTRIES select 2) * 10) / 10); - _textInfoLine2 = "- clear"; - }; - }; - }; - }; - case 3: { // HEADWIND - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = Str(round(abs(cos(cse_ab_Kestrel4500_RefHeading - _playerDir) * _windSpeed) * 10) / 10); - _textInfoLine1 = format["%1 m/s @ %2", round((cos(_playerDir - _windDir) * _windSpeed) * 10) / 10, round(_playerDir)]; - _textInfoLine2 = "- set heading"; - } else { - _textCenterLine1Left = "Max"; - _textCenterLine2Left = "Avg"; - switch (cse_ab_Kestrel4500_MinAvgMaxMode) do { - case 0: { - _textCenterLine1Right = "--. -"; - _textCenterLine2Right = "--. -"; - _textInfoLine2 = "- average"; - }; - case 1: { - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MAX select 3) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 3) / (cse_ab_Kestrel4500_ENTRIES select 3) * 10) / 10); - _textInfoLine2 = "- stop"; - }; - case 2: { - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MAX select 3) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 3) / (cse_ab_Kestrel4500_ENTRIES select 3) * 10) / 10); - _textInfoLine2 = "- clear"; - }; - }; - }; - }; - case 4: { // TEMP - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = Str(round(_temperature * 10) / 10); - } else { - _textCenterLine1Left = "Min"; - _textCenterLine2Left = "Avg"; - _textCenterLine3Left = "Max"; - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MIN select 4) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 4) / (cse_ab_Kestrel4500_ENTRIES select 4) * 10) / 10); - _textCenterLine3Right = Str(round((cse_ab_Kestrel4500_MAX select 4) * 10) / 10); - }; - }; - case 5: { // HUMIDITY - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = Str(round(_humidity * 100 * 10) / 10); - } else { - _textCenterLine1Left = "Min"; - _textCenterLine2Left = "Avg"; - _textCenterLine3Left = "Max"; - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MIN select 5) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 5) / (cse_ab_Kestrel4500_ENTRIES select 5) * 10) / 10); - _textCenterLine3Right = Str(round((cse_ab_Kestrel4500_MAX select 5) * 10) / 10); - }; - }; - case 6: { // BARO - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = Str(round((1013.25 * exp(-(AB_Altitude + ((getPosASL player) select 2)) / 7990) - 10 * overcast) * 10) / 10); - } else { - _textCenterLine1Left = "Min"; - _textCenterLine2Left = "Avg"; - _textCenterLine3Left = "Max"; - _textCenterLine1Right = Str(round((cse_ab_Kestrel4500_MIN select 6) * 10) / 10); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 6) / (cse_ab_Kestrel4500_ENTRIES select 6) * 10) / 10); - _textCenterLine3Right = Str(round((cse_ab_Kestrel4500_MAX select 6) * 10) / 10); - }; - }; - case 7: { // ALTITUDE - if (!cse_ab_Kestrel4500_MinAvgMax) then { - _textCenterBig = Str(round(AB_Altitude + ((getPosASL player) select 2))); - } else { - _textCenterLine1Left = "Min"; - _textCenterLine2Left = "Avg"; - _textCenterLine3Left = "Max"; - _textCenterLine1Right = Str(round(cse_ab_Kestrel4500_MIN select 7)); - _textCenterLine2Right = Str(round((cse_ab_Kestrel4500_TOTAL select 7) / (cse_ab_Kestrel4500_ENTRIES select 7))); - _textCenterLine3Right = Str(round(cse_ab_Kestrel4500_MAX select 7)); - }; - }; - case 8: { // User Screen 1 - _textCenterLine1Left = Str(round(_playerDir)); - _textCenterLine2Left = Str(round(AB_Altitude + ((getPosASL player) select 2))); - _textCenterLine3Left = Str(round(abs(_windSpeed) * 10) / 10); - _textCenterLine1Right = cse_ab_Kestrel4500_Directions select cse_ab_Kestrel4500_Direction; - _textCenterLine2Right = "m"; - _textCenterLine3Right = "m/s"; - }; - case 9: { // User Screen 2 - _textCenterLine1Left = Str(round(_temperature * 10) / 10); - _textCenterLine2Left = Str(round(_humidity * 100 * 10) / 10); - _textCenterLine3Left = Str(round((1013.25 * exp(-(AB_Altitude + ((getPosASL player) select 2)) / 7990) - 10 * overcast) * 10) / 10); - _textCenterLine1Right = "C"; - _textCenterLine2Right = "%"; - _textCenterLine3Right = "hPA"; - }; -}; - -[_textTop, _textCenterBig, _textCenterLine1Left, _textCenterLine2Left, _textCenterLine3Left, _textCenterLine1Right, _textCenterLine2Right, _textCenterLine3Right, _textInfoLine1, _textInfoLine2] diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_hasAdvancedBallisticsEnabled.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_hasAdvancedBallisticsEnabled.sqf deleted file mode 100644 index bff36a159c..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_hasAdvancedBallisticsEnabled.sqf +++ /dev/null @@ -1 +0,0 @@ -(["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_f) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_kestrel_mainLoop.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_kestrel_mainLoop.sqf deleted file mode 100644 index d5a141b6c7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_kestrel_mainLoop.sqf +++ /dev/null @@ -1,8 +0,0 @@ -#include "script_component.hpp" - -while {dialog} do { - _null = _this spawn cse_ab_Kestrel4500_fnc_update_display; - sleep 1; -}; - -cse_ab_Kestrel4500 = false; diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_update_display.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_update_display.sqf deleted file mode 100644 index 4923db22d3..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/fn_update_display.sqf +++ /dev/null @@ -1,19 +0,0 @@ -#include "script_component.hpp" - -private ["_outputData"]; - -_outputData = call cse_ab_Kestrel4500_fnc_generate_output_data; - -ctrlSetText [74100, _outputData select 0]; -ctrlSetText [74200, _outputData select 1]; - -ctrlSetText [74300, _outputData select 2]; -ctrlSetText [74301, _outputData select 3]; -ctrlSetText [74302, _outputData select 4]; - -ctrlSetText [74303, _outputData select 5]; -ctrlSetText [74304, _outputData select 6]; -ctrlSetText [74305, _outputData select 7]; - -ctrlSetText [74400, _outputData select 8]; -ctrlSetText [74401, _outputData select 9]; diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/script_component.hpp b/TO_MERGE/cse/sys_ballistics/kestrel4500/functions/script_component.hpp deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/init.sqf b/TO_MERGE/cse/sys_ballistics/kestrel4500/init.sqf deleted file mode 100644 index bda593a908..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/init.sqf +++ /dev/null @@ -1,19 +0,0 @@ -private ["_temperature", "_barometricPressure", "_altitude"]; - -cse_ab_Kestrel4500_Menus = ["Direction", "Wind SPD m/s", "CROSSWIND m/s", "HEADWIND m/s", "TEMP C", "HUMIDITY %", "BARO hPA", "ALTITUDE m", "User Screen 1", "User Screen 2"]; - -cse_ab_Kestrel4500_TOTAL = [0, 0, 0, 0, 0, 0, 0, 0]; -cse_ab_Kestrel4500_ENTRIES = [0, 0, 0, 0, 0, 0, 0, 0]; - -cse_ab_Kestrel4500_MinAvgMax = false; -cse_ab_Kestrel4500_MinAvgMaxMode = 0; - -cse_ab_Kestrel4500_Menu = 1; -cse_ab_Kestrel4500_Directions = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"]; -cse_ab_Kestrel4500_Direction = 0; - -cse_ab_Kestrel4500_RefHeading = 0; - -cse_ab_Kestrel4500 = false; -cse_ab_Kestrel4500_Overlay = false; -cse_ab_Kestrel4500_OverlayStart = diag_tickTime; diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/license.txt b/TO_MERGE/cse/sys_ballistics/kestrel4500/license.txt deleted file mode 100644 index eb925e129b..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/license.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) <2014> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/ui.h deleted file mode 100644 index ce5f794555..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui.h +++ /dev/null @@ -1,3 +0,0 @@ -#include "ui\defines.h" -#include "ui\display.h" -#include "ui\rscTitles.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/defines.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/defines.h deleted file mode 100644 index 88e19da70f..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/defines.h +++ /dev/null @@ -1,56 +0,0 @@ -#define ST_LEFT 0 -#define ST_RIGHT 1 -#define ST_CENTER 2 - -#ifndef CSE_KESTREL_DEFINES_H_ -#define CSE_KESTREL_DEFINES_H_ - -class Kestrel4500_RscText -{ - idc=-1; - type=0; - style=ST_CENTER; - colorDisabled[]={0,0,0,0}; - colorBackground[]={0,0,0,0}; - colorText[]={0,0,0,1}; - text=""; - x=0; - y=0; - w=0.1; - h=0.03; - font="TahomaB"; - sizeEx=0.04; - shadow=0; -}; -class Kestrel4500_RscButton -{ - text=""; - colorText[]={0,0,0,1}; - colorDisabled[]={0,0,0,0}; - colorBackground[]={0,0,0,0}; - colorBackgroundDisabled[]={0,0,0,0}; - colorBackgroundActive[]={0,0,0,0}; - colorFocused[]={0,0,0,0}; - colorShadow[]={0,0,0,0}; - colorBorder[]={0,0,0,1}; - soundEnter[]={"",0,1}; - soundPush[]={"",0,1}; - soundClick[]={"",0,1}; - soundEscape[]={"",0,1}; - type=1; - style="0x02+0x100"; - x=0; - y=0; - w=0.10; - h=0.03; - font="TahomaB"; - SizeEx=0.025; - offsetX=0.003; - offsetY=0.003; - offsetPressedX=0.0020; - offsetPressedY=0.0020; - borderSize=0; - shadow=0; -}; - -#endif \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/display.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/display.h deleted file mode 100644 index bce6030cd8..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/display.h +++ /dev/null @@ -1,162 +0,0 @@ -class cse_ab_Kestrel4500_Display { - name="cse_ab_Kestrel4500_Display"; - idd=790542; - onLoad="uiNamespace setVariable ['cse_ab_Kestrel4500_Display', (_this select 0)]"; - movingEnable=1; - controlsBackground[]={}; - objects[]={}; - class controls - { - class BACKGROUND - { - moving=1; - type=0; - font="TahomaB"; - SizeEX=0.025; - idc=-1; - style=48; - x=safezoneX; - y=safezoneY; - w=1.024; - h=1.024*4/3; - colorBackground[]={1,1,1,1}; - colorText[]={1,1,1,1}; - text="cse\cse_sys_ballistics\kestrel4500\data\kestrel4500.paa"; - - }; - class POWER: Kestrel4500_RscButton - { - idc=-1; - x=safezoneX+0.385; - y=safezoneY+1.125; - w=0.042; - h=0.042*4/3; - action="closeDialog 0"; - onMouseButtonDown = "playSound 'cse_ab_kestrel4500_exit_button_click'"; - }; - class ENTER: POWER - { - idc=-1; - x=safezoneX+0.46; - y=safezoneY+1.0; - w=0.1; - action="0 call CSE_ab_kestrel4500_fnc_button_pressed;"; - onMouseButtonDown = "playSound 'cse_ab_kestrel4500_center_button_click'"; - }; - class TOP: Kestrel4500_RscButton - { - idc=-1; - x=safezoneX+0.46; - y=safezoneY+0.93; - w=0.1; - h=0.03; - action="1 call CSE_ab_kestrel4500_fnc_button_pressed;"; - onMouseButtonDown = "playSound 'cse_ab_kestrel4500_top_button_click'"; - }; - class BOTTOM: TOP - { - idc=-1; - y=safezoneY+1.1; - action="2 call CSE_ab_kestrel4500_fnc_button_pressed;"; - onMouseButtonDown = "playSound 'cse_ab_kestrel4500_bottom_button_click'"; - }; - class LEFT: Kestrel4500_RscButton - { - idc=-1; - x=safezoneX+0.4; - y=safezoneY+0.97; - w=0.046; - h=0.11; - action="3 call CSE_ab_kestrel4500_fnc_button_pressed;"; - onMouseButtonDown = "playSound 'cse_ab_kestrel4500_left_button_click'"; - }; - class RIGHT: LEFT - { - idc=-1; - x=safezoneX+0.58; - action="4 call CSE_ab_kestrel4500_fnc_button_pressed;"; - onMouseButtonDown = "playSound 'cse_ab_kestrel4500_right_button_click'"; - }; - class MEMORY: Kestrel4500_RscButton - { - idc=-1; - x=safezoneX+0.395; - y=safezoneY+0.87; - w=0.05; - h=0.045*4/3; - action="5 call CSE_ab_kestrel4500_fnc_button_pressed;"; - }; - class BACKLIGHT: MEMORY - { - idc=-1; - x=safezoneX+0.585; - action="6 call CSE_ab_kestrel4500_fnc_button_pressed;"; - }; - - class TEXT_TOP: Kestrel4500_RscText - { - idc=74100; - x=safezoneX+0.40; - y=safezoneY+0.58; - w=0.22; - h=0.04; - text=""; - }; - class TEXT_CENTER_BIG: TEXT_TOP - { - idc=74200; - y=safezoneY+0.61; - h=0.10; - SizeEx=0.06; - text=""; - }; - class TEXT_CENTER_LINE_1_LEFT: TEXT_TOP - { - idc=74300; - y=safezoneY+0.60; - style=ST_LEFT; - h=0.10; - SizeEx=0.05; - text=""; - }; - class TEXT_CENTER_LINE2_LEFT: TEXT_CENTER_LINE_1_LEFT - { - idc=74301; - y=safezoneY+0.64; - text=""; - }; - class TEXT_CENTER_LINE_3_LEFT: TEXT_CENTER_LINE2_LEFT - { - idc=74302; - y=safezoneY+0.68; - text=""; - }; - class TEXT_CENTER_LINE_1_RIGHT: TEXT_CENTER_LINE_1_LEFT - { - idc=74303; - style=ST_RIGHT; - }; - class TEXT_CENTER_LINE2_RIGHT: TEXT_CENTER_LINE2_LEFT - { - idc=74304; - style=ST_RIGHT; - }; - class TEXT_CENTER_LINE_3_RIGHT: TEXT_CENTER_LINE_3_LEFT - { - idc=74305; - style=ST_RIGHT; - }; - class TEXT_INFO_LINE_1: TEXT_TOP - { - idc=74400; - y=safezoneY+0.69; - text=""; - }; - class TEXT_INFO_LINE_2: TEXT_TOP - { - idc=74401; - y=safezoneY+0.72; - text=""; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/rscTitles.h b/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/rscTitles.h deleted file mode 100644 index 2f18667c2d..0000000000 --- a/TO_MERGE/cse/sys_ballistics/kestrel4500/ui/rscTitles.h +++ /dev/null @@ -1,98 +0,0 @@ -class RscTitles -{ - class cse_ab_RscKestrel4500 - { - idd=-1; - onLoad="with uiNameSpace do { cse_ab_RscKestrel4500 = _this select 0 };"; - movingEnable=0; - duration=60; - fadeIn="false"; - fadeOut="false"; - class controls - { - class cse_ab_RscKestrel4500 - { - idc=75000; - moving=0; - type=0; - font="TahomaB"; - SizeEX=0.025*0.75; - style=48; - x=safezoneX-0.05; - y=safezoneY+0.7; - w=1.024*0.75; - h=1.024*4/3*0.75; - colorBackground[]={1,1,1,1}; - colorText[]={1,1,1,1}; - text="cse\cse_sys_ballistics\kestrel4500\data\kestrel4500.paa"; - - }; - class RscTextTop: Kestrel4500_RscText - { - idc=75100; - x=safezoneX-0.05+0.40*0.75; - y=safezoneY+0.7+0.58*0.75; - w=0.22*0.75; - h=0.04*0.75; - SizeEx=0.04*0.75; - text=""; - }; - class RscTextCenterBig: RscTextTop - { - idc=75200; - y=safezoneY+0.7+0.61*0.75; - h=0.10*0.75; - SizeEx=0.06*0.75; - text=""; - }; - class RscTextCenterLine1Left: RscTextTop - { - idc=75300; - y=safezoneY+0.7+0.60*0.75; - style=ST_LEFT; - h=0.10*0.75; - SizeEx=0.05*0.75; - text=""; - }; - class RscTextCenterLine2Left: RscTextCenterLine1Left - { - idc=75301; - y=safezoneY+0.7+0.64*0.75; - text=""; - }; - class RscTextCenterLine3Left: RscTextCenterLine2Left - { - idc=75302; - y=safezoneY+0.7+0.68*0.75; - text=""; - }; - class RscTextCenterLine1Right: RscTextCenterLine1Left - { - idc=75303; - style=ST_RIGHT; - }; - class RscTextCenterLine2Right: RscTextCenterLine2Left - { - idc=75304; - style=ST_RIGHT; - }; - class RscTextCenterLine3Right: RscTextCenterLine3Left - { - idc=75305; - style=ST_RIGHT; - }; - class RscTextInfoLine1: RscTextTop - { - idc=75400; - y=safezoneY+0.7+0.69*0.75; - text=""; - }; - class RscTextInfoLine2: RscTextTop - { - idc=75401; - y=safezoneY+0.7+0.72*0.75; - text=""; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_assignTrackerIDs_Server_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_assignTrackerIDs_Server_CC.sqf deleted file mode 100644 index 3b444910f0..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_assignTrackerIDs_Server_CC.sqf +++ /dev/null @@ -1,52 +0,0 @@ -/* - NAME: fnc_assignTrackersServer - USAGE: running serverside, assigning IDs to all newly found trackers - AUTHOR: Glowbal - ARGUMENTS: none - RETURN: void -*/ - -// SERVER SIDE ONLY - - -if !(isServer) exitwith{}; -private ["_storedIDs","_newID","_availableClasses"]; -_availableClasses = ["cse_m_tablet","cse_m_pda"]; - -waituntil {!isnil "CSE_CC_LOGIC_OBJECT_CC"}; -_storedIDs = []; -{ - _storedIDs set[count _storedIDs,[]]; -}foreach _availableClasses; -_newID = ""; -while {true} do { - { - private ["_unit","_IDCollection"]; - _unit = _x; - if (alive _unit) then { - _IDCollection = 0; - { - _foundIt = (_x in ((backpackItems _unit) + (uniformItems _unit)+ (vestItems _unit) + (assignedItems _unit))); - if (_foundIt) exitwith { - _newID = format["%1_%2",_x,count(_storedIDs select _IDCollection)+1]; - - _check = CSE_CC_LOGIC_OBJECT_CC getvariable _newID; - if (isnil "_check") then { - (_storedIDs select _IDCollection) set [count((_storedIDs select _IDCollection)),_newID]; - _trackerStatus = _unit getvariable ["cse_bft_info_cc",["Infantry"," ",true,false]]; - CSE_CC_LOGIC_OBJECT_CC setvariable [_newID,_trackerStatus,true]; - - if (_x in (assignedItems _unit)) then { - _unit unassignItem _x; - }; - [[_unit,_x,_newID], "cse_fnc_switchItem", owner _unit, false] spawn BIS_fnc_MP; - //waituntil {(!((_x in ((backpackItems _unit) + (uniformItems _unit)+ (vestItems _unit) + (assignedItems _unit)))) || (!alive _unit))}; - }; - }; - _IDCollection = _IDCollection + 1; - }foreach _availableClasses; - //sleep 0.001; - sleep 1; - }; - }foreach allUnits; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_assignTrackerInformation_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_assignTrackerInformation_CC.sqf deleted file mode 100644 index 0cd4f473dd..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_assignTrackerInformation_CC.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/* - fnc_assignTrackerInfo.sqf - Usage: Assigns tracker info for the BFT - Author: Glowbal - - Arguments: array [logic (OBJECT)] - Returns: void - - Affects: All localities - Executes: All Localities - -*/ - -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -if (!isNull _logic) then { - - _type = _logic getvariable ["type","Infantry"]; - _callsign = _logic getvariable ["callSign",""]; - _objects = synchronizedObjects _logic; - { - _x setvariable ["cse_bft_info_cc",[_type,_callsign,true,false]]; - }foreach _objects; - }; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFTSymbolOnPerson_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFTSymbolOnPerson_CC.sqf deleted file mode 100644 index ef8fa9e8b9..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFTSymbolOnPerson_CC.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/* - NAME: fnc_displayBFTSymbolOnPerson.sqf - USAGE: grabs BFT item and information from unit, then returns information - AUTHOR: Glowbal - ARGUMENTS: PERSON / UNIT. - RETURN: 2d ARRAY. Contains information about every tracker on unit. -*/ - -private ["_person","_trackers","_tracker","_newMarker","_filterLevel","_return"]; -_person = _this select 0; -_return = []; -_trackers = [_person] call cse_fnc_getAllBFTItems_CC; -{ - _trackerInfo = [_person] call cse_fnc_getTrackerInformation_CC; - - if (_trackerInfo select 2) then { - _prefix = switch (([_x] call cse_fnc_getDeviceSide_CC)) do { - case WEST: {"b_"}; - case EAST: {"o_"}; - case independent: {"n_"}; - default {"n_"}; - }; - - _prefix = "\A3\ui_f\data\map\markers\nato\" + _prefix; - _icon = switch (_trackerInfo select 0) do { - case "Infantry": {_prefix+"inf.paa"}; - case "Motorized": {_prefix+"motor_inf.paa"}; - case "Plane": {_prefix+"plane.paa"}; - case "Helicopter": {_prefix+"air.paa"}; - case "Armor": {_prefix+"armor.paa"}; - case "Naval": {_prefix+"naval.paa"}; - case "HQ": {_prefix+"hq.paa"}; - case "Medical": {_prefix+"med.paa"}; - case "Maintanance": {_prefix+"maint.paa"}; - case "Artillery": {_prefix+"art.paa"}; - case "Mortar": {_prefix+"mortar.paa"}; - case "Service": {_prefix+"service.paa"}; - case "Recon": {_prefix+"recon.paa"}; - case "Mechanized": {_prefix+"mech_inf.paa"}; - case "uav": {_prefix+"uav.paa"}; - case "Installation": {_prefix+"installation.paa"}; - default {_prefix+"unknown.paa"}; - }; - - _return pushback [_icon,getPos _person, (_trackerInfo select 1),CSE_SIDE_WEST_COLOR,_x,_person,([_x] call cse_fnc_getDeviceSide_CC)]; - }; -}foreach _trackers; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFTSymbols_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFTSymbols_CC.sqf deleted file mode 100644 index dbb77aed37..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFTSymbols_CC.sqf +++ /dev/null @@ -1,118 +0,0 @@ - -private ["_enableTracking","_toggleRoute","_toggleIntel","_return", "_iconType", "_callsign", "_person", "_trackerInfo"]; -_return = []; -if (!isDedicated) then { - { - _person = _x; - _trackerInfo = [_person] call cse_fnc_getTrackerInformation_CC; - if (_trackerInfo select 2) then { - _positionOf = getPosASL _person; - _trackers = [_person] call cse_fnc_getAllBFTItems_CC; - { - _sideOfDevice = ([_x] call cse_fnc_getDeviceSide_CC); - - _prefix = switch (_sideOfDevice) do { - case WEST: {"b_"}; - case EAST: {"o_"}; - case independent: {"n_"}; - default {"n_"}; - }; - - _prefix = "\A3\ui_f\data\map\markers\nato\" + _prefix; - _icon = switch (_trackerInfo select 0) do { - case "Infantry": {_prefix+"inf.paa"}; - case "Motorized": {_prefix+"motor_inf.paa"}; - case "Plane": {_prefix+"plane.paa"}; - case "Helicopter": {_prefix+"air.paa"}; - case "Armor": {_prefix+"armor.paa"}; - case "Naval": {_prefix+"naval.paa"}; - case "HQ": {_prefix+"hq.paa"}; - case "Medical": {_prefix+"med.paa"}; - case "Maintanance": {_prefix+"maint.paa"}; - case "Artillery": {_prefix+"art.paa"}; - case "Mortar": {_prefix+"mortar.paa"}; - case "Service": {_prefix+"service.paa"}; - case "Recon": {_prefix+"recon.paa"}; - case "Mechanized": {_prefix+"mech_inf.paa"}; - case "uav": {_prefix+"uav.paa"}; - case "Installation": {_prefix+"installation.paa"}; - default {_prefix+"unknown.paa"}; - }; - _return pushback [_icon, _positionOf, (_trackerInfo select 1), CSE_SIDE_WEST_COLOR, _x, _person, _sideOfDevice]; - }foreach _trackers; - }; - }foreach allUnits; - - { - _info = _x getvariable "cse_bft_info_cc"; - if (!isnil "_info") then { - if (isEngineOn _x) then { - _prefix = switch (side _x) do { - case WEST: {"b_"}; - case EAST: {"o_"}; - case independent: {"n_"}; - default {"n_"}; - }; - _prefix = "\A3\ui_f\data\map\markers\nato\" + _prefix; - _icon = switch (_info select 0) do { - case "Infantry": {_prefix+"inf.paa"}; - case "Motorized": {_prefix+"motor_inf.paa"}; - case "Plane": {_prefix+"plane.paa"}; - case "Helicopter": {_prefix+"air.paa"}; - case "Armor": {_prefix+"armor.paa"}; - case "Naval": {_prefix+"naval.paa"}; - case "HQ": {_prefix+"hq.paa"}; - case "Medical": {_prefix+"med.paa"}; - case "Maintanance": {_prefix+"maint.paa"}; - case "Artillery": {_prefix+"art.paa"}; - case "Mortar": {_prefix+"mortar.paa"}; - case "Service": {_prefix+"service.paa"}; - case "Recon": {_prefix+"recon.paa"}; - case "Mechanized": {_prefix+"mech_inf.paa"}; - case "uav": {_prefix+"uav.paa"}; - case "Installation": {_prefix+"installation.paa"}; - default {_prefix+"unknown.paa"}; - }; - - _return pushback [_icon,getPosASL _x, _info select 1,CSE_SIDE_WEST_COLOR,"vehicle",_x, side _x]; - }; - } else { - if !(_x in allUnitsUav) then { - if (local _x) then { - if (CSE_AUTO_ASSIGN_CALLSIGNS_CC == 0 || CSE_AUTO_ASSIGN_CALLSIGNS_CC == 1) then { - _iconType = switch (true) do { - case (_x isKindOf "Car"): {"Motorized"}; - case (_x isKindOf "Helicopter"): {"Helicopter"}; - case (_x isKindOf "Air"): {"Plane"}; - case (_x isKindOf "Armor"): {"Armor"}; - case (_x isKindOf "Boat"): {"Naval"}; - case (_x isKindOf "Artillery"): {"Artillery"}; - default {"Unknown"}; - }; - _callsign = [_x] call cse_fnc_findTargetName_gui; - _x setvariable ["cse_bft_info_cc", [_iconType, _callsign, false, true], true]; - }; - }; - }; - }; - - }foreach vehicles; - - if (CSE_AUTO_SHOW_UAV_TRACKERS_ON_BFT) then { - { - _info = _x getvariable "cse_bft_info_cc"; - if (isnil "_info") then { - if (isEngineOn _x) then { - _prefix = switch (side _x) do { - case WEST: {"b_"}; - case EAST: {"o_"}; - case independent: {"n_"}; - default {"n_"}; - }; - _return pushback [ "\A3\ui_f\data\map\markers\nato\" + _prefix + "uav.paa",getPosASL _x, [_x] call cse_fnc_findTargetName_gui,CSE_SIDE_WEST_COLOR,"uav",_x, side _x]; - }; - }; - }foreach allUnitsUav; - }; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFT_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFT_CC.sqf deleted file mode 100644 index c7fd6c9979..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_displayBFT_CC.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/** - * fn_displayBFT_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName", "_display"]; -_deviceName = _this select 0; -if (isnil "CSE_CURRENT_SELECTED_FILTER_CC_APP_CC") then { - CSE_CURRENT_SELECTED_FILTER_CC_APP_CC = -1; - CSE_TOGGLE_ROUTE_LAYER_CC = true; - CSE_TOGGLE_INTEL_LAYER_CC = true; - CSE_TOGGLE_CALLSIGNS_CC = true; - CSE_SELECTED_ICON_CC = ""; -}; - -if (isnil "CSE_INTEL_MARKER_COLLECTION_CC") then { - CSE_INTEL_MARKER_COLLECTION_CC = []; -}; -if (isnil "CSE_ROUTE_MARKER_COLLECTION_CC") then { - CSE_ROUTE_MARKER_COLLECTION_CC = []; -}; -if (isnil "CSE_TRACKER_ICONS") then { - CSE_TRACKER_ICONS = []; -}; - -/* - { - if (call (_X select 0)) then { - { - [_x,(_this select 0)] call cse_fnc_drawBFTMarker_CC; - }foreach (_x select 1); - }; - }foreach CSE_MARKER_COLLECTIONS_CC; -*/ - - -disableSerialization; -_display = uiNamespace getvariable _deviceName; -(_display displayCtrl 10) ctrlAddEventHandler ["draw"," - {[_x,(_this select 0)] call cse_fnc_drawBFTIcons_CC;}foreach CSE_TRACKER_ICONS; - - if (CSE_TOGGLE_INTEL_LAYER_CC) then {{[_x,(_this select 0)] call cse_fnc_drawBFTMarker_CC;}foreach CSE_INTEL_MARKER_COLLECTION_CC;}; - if (CSE_TOGGLE_ROUTE_LAYER_CC) then {{[_x,(_this select 0)] call cse_fnc_drawBFTMarker_CC;}foreach CSE_ROUTE_MARKER_COLLECTION_CC;}; - "]; - -(_display displayCtrl 10) ctrlAddEventHandler ["MouseButtonUp",'if ((_this select 1) == 0) then {[[_this select 2, _this select 3]] call cse_fnc_clickedOnMap_CC;};']; -(_display displayCtrl 10) ctrlAddEventHandler ["MouseMoving",'CSE_MOUSE_RELATIVE_POSITION = [_this select 1, _this select 2];']; -(_display displayCtrl 10) ctrlMapAnimAdd [0, 0.05, player]; -ctrlMapAnimCommit (_display displayCtrl 10); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_drawBFTIcons_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_drawBFTIcons_CC.sqf deleted file mode 100644 index 8dda24a02d..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_drawBFTIcons_CC.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/** - * fn_drawBFTIcons_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_trackerInfo", "_icon", "_pos", "_text", "_unit", "_side", "_color", "_map"]; -_trackerInfo = _this select 0; -_map = _this select 1; - -_icon = _trackerInfo select 0; -_pos = _trackerInfo select 1; -_text = _trackerInfo select 2; -_unit = _trackerInfo select 5; -_side = _trackerInfo select 6; - -if (([([] call cse_fnc_getCurrentDeviceName_CC)] call cse_fnc_getDeviceSide_CC) == _side || ([] call cse_fnc_getCurrentDeviceName_CC) == "") then { - if (!CSE_TOGGLE_CALLSIGNS_CC) then { - _text = ""; - }; - _color = _trackerInfo select 3; - if (_unit == player) then { - _color = [0.78,0.8,0.1,1]; - }; - _map drawIcon [_icon,_color, _pos, 30, 30, 0, _text, 0, 0.05, 'PuristaMedium', 'right']; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_drawBFTMarker_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_drawBFTMarker_CC.sqf deleted file mode 100644 index 56bdfbe297..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_drawBFTMarker_CC.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/** - * fn_drawBFTMarkers_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -_marker = _this select 0; -_map = _this select 1; -if !(_marker isEqualTo []) then { - _pos = _marker select 0; - _args = _marker select 1; - _icon = _args select 0; - _text = _args select 1; - _color = _args select 2; - - _timeOfPlacement = _marker select 2; - _side = _marker select 3; - if (([([] call cse_fnc_getCurrentDeviceName_CC)] call cse_fnc_getDeviceSide_CC) == _side) then { - _map drawIcon [_icon,_color, _pos, 30, 30, 0, _text, 0, 0.05, 'PuristaMedium', 'right']; - }; -}; diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getAllBFTItemsOfType_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getAllBFTItemsOfType_CC.sqf deleted file mode 100644 index ba07467985..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getAllBFTItemsOfType_CC.sqf +++ /dev/null @@ -1,17 +0,0 @@ - -private["_unit","_return","_toCheck"]; -_unit = _this select 0; -_item = _this select 1; -_return = []; - - -_itemArray = toArray _item; -{ - _compArray = toArray _x; - if (_compArray select 0 == _itemArray select 0) then { - if ([_item,_x] call BIS_fnc_inString) then { - _return pushback _x; - }; - }; -}foreach ([_unit] call cse_fnc_getAllBFTItems_CC); -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getAllBFTItems_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getAllBFTItems_CC.sqf deleted file mode 100644 index fdba4efc68..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getAllBFTItems_CC.sqf +++ /dev/null @@ -1,20 +0,0 @@ - -private["_unit","_return","_toCheck","_item"]; -_unit = _this select 0; -_return = []; -_toCheck = []; -if (!isNull _unit) then { - if (_unit iskindof "CaManBase") then { - _toCheck = items _unit; - }; - { - if (_x != "") then { - if (((toArray _x) select 0) == ((toArray 'c') select 0)) then { - if ([_x] call cse_fnc_isBFTItem_CC) then { - _return pushback _x; - }; - }; - }; - }foreach _toCheck; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getDeviceSide_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getDeviceSide_CC.sqf deleted file mode 100644 index c7579ad664..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getDeviceSide_CC.sqf +++ /dev/null @@ -1,13 +0,0 @@ - -private ["_device","_side","_deviceName"]; -_deviceName = _this select 0; -_side = playerSide; -if (isnil "CSE_REGISTERED_DEVICES_CC") then { - CSE_REGISTERED_DEVICES_CC = []; -}; -{ - if ((_x select 0) == _deviceName) exitwith { - _side = _x select 3; - }; -}foreach CSE_REGISTERED_DEVICES_CC; -_side \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getTrackerInformation_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getTrackerInformation_CC.sqf deleted file mode 100644 index e3a02ce5f0..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_getTrackerInformation_CC.sqf +++ /dev/null @@ -1,11 +0,0 @@ -/** - * fn_getTrackerInformation_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -((_this select 0) getvariable ["cse_bft_info_cc",["Infantry","",true,false]]) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hasItem_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hasItem_CC.sqf deleted file mode 100644 index 7598a06b8e..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hasItem_CC.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_hasItem_CC.sqf - * @Descr: Check if unit has an item of type. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, item STRING (Classname of CfgWeapons item)] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_unit","_item"]; -_unit = _this select 0; -_item = _this select 1; - -if !(_unit isKindOf "CAManBase") exitwith {false}; -(_item in ((items _unit) + (assignedItems _unit))); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hasTrackerItem_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hasTrackerItem_CC.sqf deleted file mode 100644 index 3ef814842e..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hasTrackerItem_CC.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_hasTrackerItem_CC.sqf - * @Descr: Check if unit has a BFT enabled item - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private["_unit"]; -_unit = _this select 0; -if (!isNull _unit && {(_unit iskindof "CaManBase")}) exitwith { - (({([_x] call cse_fnc_isBFTItem_CC)}count ((items _unit) + (assignedItems _unit))) > 0); -}; -false \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hideAllBFTSymbols_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hideAllBFTSymbols_CC.sqf deleted file mode 100644 index 34a871459d..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_hideAllBFTSymbols_CC.sqf +++ /dev/null @@ -1,6 +0,0 @@ -if (isnil "CSE_EXISTING_BFTRACKERS_CC") then { - CSE_EXISTING_BFTRACKERS_CC = []; -}; -{ - _x setMarkerAlphaLocal 0.0; -}foreach CSE_EXISTING_BFTRACKERS_CC; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_isBFTItem_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_isBFTItem_CC.sqf deleted file mode 100644 index 6761d70dbd..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_isBFTItem_CC.sqf +++ /dev/null @@ -1,11 +0,0 @@ -/** - * fn_isBFTItem_CC.sqf - * @Descr: Check if item has blue force tracking enabled. - * @Author: Glowbal - * - * @Arguments: [item STRING (Classname of item)] - * @Return: BOOL - * @PublicAPI: true - */ - -(getNumber(configFile >> "CfgWeapons" >> (_this select 0) >> "cse_blueForceTracker") == 1); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_removeIntelMarker_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_removeIntelMarker_CC.sqf deleted file mode 100644 index 1014d499fb..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_removeIntelMarker_CC.sqf +++ /dev/null @@ -1,45 +0,0 @@ -/* -fnc_removeIntelMarker.sqf -Usage: Removes intel marker nearest to given position -Author: Glowbal - -Arguments: array [position (Position 3D)] - 0: Position. Format: 3D [ x, y, z] -Returns: Void - -Affects: Global -Executes: Local - -Example: - [[50,20,0] call cse_fnc_removeIntelMarker_CC; -*/ - -private ["_mpSync","_args","_nearest","_lastestCount","_pos","_count","_position"]; -if (count _this < 2) exitwith { - _mpSync = [_this, count _this, "", [""]] call BIS_fnc_param; - if (isnil "_mpSync") then { - _mpSync = ""; - }; - if (_mpSync != "MP_SYNC") then { - _args = _this + ["MP_SYNC"]; - [_args, "cse_fnc_removeIntelMarker_CC", true, true] spawn BIS_fnc_MP; - }; -}; -if (isnil "CSE_INTEL_MARKER_COLLECTION_CC") then { - waituntil{!isnil "CSE_INTEL_MARKER_COLLECTION_CC"}; -}; -_position = [_this, 0, [0,0,0], [[]],3] call BIS_fnc_param; -_count = 0; -_nearest = 25; -_lastestCount = -1; -{ - _pos = (_x select 0); - if ((_pos distance _position) < _nearest) then { - _nearest = _pos distance _position; - _lastestCount = _count; - }; - _count = _count + 1; -}count CSE_INTEL_MARKER_COLLECTION_CC; -if (_lastestCount < 0) exitwith {}; - CSE_INTEL_MARKER_COLLECTION_CC set [ _lastestCount, "REMOVE"]; - CSE_INTEL_MARKER_COLLECTION_CC = CSE_INTEL_MARKER_COLLECTION_CC - ["REMOVE"]; diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_removeRouteMarker_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_removeRouteMarker_CC.sqf deleted file mode 100644 index 8affaa8cf1..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_removeRouteMarker_CC.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/* -fnc_removeRouteMarker.sqf -Usage: Removes route marker nearest to given position -Author: Glowbal - -Arguments: array [position (Position 3D)] - 0: Position. Format: 3D [ x, y, z] -Returns: Void - -Affects: Global -Executes: Local - -Example: - [[50,20,0] call cse_fnc_removeRouteMarker_CC; -*/ - -private ["_mpSync","_args","_nearest","_lastestCount","_pos","_count","_position"]; -if (count _this < 2) exitwith { - _mpSync = [_this, 1, "", [""]] call BIS_fnc_param; - - if (isnil "_mpSync") then { - _mpSync = ""; - }; - if (_mpSync != "MP_SYNC") then { - _args = _this + ["MP_SYNC"]; - [_args, "cse_fnc_removeRouteMarker_CC", true, true] spawn BIS_fnc_MP; - }; -}; -if (isnil "CSE_ROUTE_MARKER_COLLECTION_CC") then { - // This is a fix for waiting MP JIP synchronization. - waituntil{!isnil "CSE_ROUTE_MARKER_COLLECTION_CC"}; -}; - -_position = [_this, 0, [0,0,0], [[]],3] call BIS_fnc_param; -_count = 0; -_nearest = 25; -_lastestCount = -1; -{ - _pos = (_x select 0); - if ((_pos distance _position) < _nearest) then { - _nearest = _pos distance _position; - _lastestCount = _count; - }; - _count = _count + 1; -}count CSE_ROUTE_MARKER_COLLECTION_CC; -if (_lastestCount < 0) exitwith {}; -CSE_ROUTE_MARKER_COLLECTION_CC set [ _lastestCount, "REMOVE"]; -CSE_ROUTE_MARKER_COLLECTION_CC = CSE_ROUTE_MARKER_COLLECTION_CC - ["REMOVE"]; diff --git a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_setTrackerInformation_CC.sqf b/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_setTrackerInformation_CC.sqf deleted file mode 100644 index 321deef0c9..0000000000 --- a/TO_MERGE/cse/sys_cc/BlueForceTracking/functions/fn_setTrackerInformation_CC.sqf +++ /dev/null @@ -1,7 +0,0 @@ -private ["_id","_info"]; -_id = _this select 0; -_info = _this select 1; - -CSE_CC_LOGIC_OBJECT_CC setvariable [_id,_info,true]; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/CfgFactionClasses.h b/TO_MERGE/cse/sys_cc/CfgFactionClasses.h deleted file mode 100644 index b0fd80e0f9..0000000000 --- a/TO_MERGE/cse/sys_cc/CfgFactionClasses.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgFactionClasses -{ - class NO_CATEGORY; - class cseCCModule: NO_CATEGORY { - displayName = "CSE Command & Control"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/CfgFunctions.h b/TO_MERGE/cse/sys_cc/CfgFunctions.h deleted file mode 100644 index 4ec4bd24d7..0000000000 --- a/TO_MERGE/cse/sys_cc/CfgFunctions.h +++ /dev/null @@ -1,126 +0,0 @@ -class CfgFunctions { - class CSE { - class CC { - file = "cse\cse_sys_cc\Modules\functions"; - class assignTrackerInfo_CC { recompile = 1; }; - class modulePlaceIntelMarker_CC { recompile = 1; }; - }; - - class Tablets - { - file = "cse\cse_sys_cc\tablets\functions"; - class registerDevice_CC { recompile = 1; }; - class registerApp_CC{ recompile = 1; }; - class getDeviceSettings_CC { recompile = 1; }; - class openDevice_CC { recompile = 1; }; - class openDeviceSmall_CC { recompile = 1; }; - class openLastScreen_CC { recompile = 1; }; - class getLastScreen_CC { recompile = 1; }; - class openScreen_CC { recompile = 1; }; - class getCurrentApplication_CC { recompile = 1; }; - class openIntelMarkersMenu_CC { recompile = 1; }; - class openRouteMarkersMenu_CC { recompile = 1; }; - class openIconSelectMenu_CC { recompile = 1; }; - class isSideBarOpen_CC { recompile = 1; }; - class getCurrentDeviceName_CC { recompile = 1; }; - class clickedOnMap_CC { recompile = 1; }; - class clearDeviceScreen_CC { recompile = 1; }; - class isLoggedIn_CC { recompile = 1; }; - class setLoggedIn_CC { recompile = 1; }; - class placeMarker_CC { recompile = 1; }; - class placeMarkerGlobal_CC { recompile = 1; }; - class manageLayers_CC { recompile = 1; }; - }; - - class TabletResources - { - file = "cse\cse_sys_cc\TabletResources\functions"; - class setBackground_CC { recompile = 1; }; - class setMap_CC { recompile = 1; }; - class setNavBar_CC { recompile = 1; }; - class setPiP_CC { recompile = 1; }; - class setTitle_CC { recompile = 1; }; - class setSideBar_CC { recompile = 1; }; - class setOptionField_CC { recompile = 1; }; - class getFirstAvailableOptionField_CC { recompile = 1; }; - class removeOptionField_CC { recompile = 1; }; - class getOptionFieldOnPos_CC { recompile = 1; }; - class sideBarHasMap_CC { recompile = 1; }; - class setPopUpMenu_CC { recompile = 1; }; - class setPopUpOptions_CC { recompile = 1; }; - class popUpAccept_CC { recompile = 1; }; - class isPopUpOpen_CC { recompile = 1; }; - class getPopUpRatio_CC { recompile = 1; }; - class setProgramIcons_CC { recompile = 1; }; - class getSideBarOptionFields_CC { recompile = 1; }; - class isMapOpen_CC { recompile = 1; }; - class isPiPOpen_CC { recompile = 1; }; - class getSideBarRatio_CC { recompile = 1; }; - class getNavBarRatio_CC { recompile = 1; }; - class removeSelectMenu_CC { recompile = 1; }; - class isSelectMenuOpen_CC { recompile = 1; }; - class setBottomBar_CC { recompile = 1; }; - class isOpenBottomBar_CC { recompile = 1; }; - class showLoadingScreen_CC { recompile = 1; }; - class editIntelMarker_CC { recompile = 1; }; - }; - - class tabletScreens - { - file = "cse\cse_sys_cc\tabletScreens\functions"; - class openScreen_cc_app_CC { recompile = 1; }; - class openScreen_home_CC { recompile = 1; }; - class openScreen_login_CC { recompile = 1; }; - class openScreen_notepad_CC { recompile = 1; }; - class openScreen_settings_CC { recompile = 1; }; - class openScreen_startUp_CC { recompile = 1; }; - class openScreen_liveFeed_app_CC { recompile = 1; }; - }; - - class BlueForceTracking - { - file = "cse\cse_sys_cc\BlueForceTracking\functions"; - class displayBFT_CC { recompile = 1; }; - class displayBFTSymbols_CC { recompile = 1; }; - class displayBFTSymbolOnPerson_CC { recompile = 1; }; - class getAllBFTItems_CC { recompile = 1; }; - class hasTrackerItem_CC { recompile = 1; }; - class hasItem_CC { recompile = 1; }; - class getAllBFTItemsOfType_CC { recompile = 1; }; - class getDeviceSide_CC { recompile = 1; }; - class isBFTItem_CC { recompile = 1; }; - class hideAllBFTSymbols_CC { recompile = 1; }; - class assignTrackerIDs_Server_CC { recompile = 1; }; - class getTrackerInformation_CC { recompile = 1; }; - class setTrackerInformation_CC { recompile = 1; }; - class removeIntelMarker_CC { recompile = 1; }; - class removeRouteMarker_CC { recompile = 1; }; - class drawBFTIcons_CC { recompile = 1; }; - class drawBFTMarker_CC { recompile = 1; }; - }; - - class LiveFeed { - file = "cse\cse_sys_cc\LiveFeed\functions"; - class openScreen_LiveFeed_CC { recompile = 1; }; - class viewLiveFeed_CC { recompile = 1; }; - class setLiveFeedTargetObj_CC { recompile = 1; }; - class canViewFeed_CC { recompile = 1; }; - class getAllViewableFeeds_CC { recompile = 1; }; - class takeControlUAV_CC { recompile = 1; }; - }; - - class VehicleDisplaysBFT { - file = "cse\cse_sys_cc\vehicles\functions"; - class openFlight_Display_CC; - class hasFlightDisplay_CC; - class drawBFTMarker_Vehicles_CC; - class drawBFTIcons_Vehicles_CC; - class canUseOnBoard_BFT_Device_CC; - }; - - class FutureSoldier { - file = "cse\cse_sys_cc\FutureSoldier\functions"; - class startFutureSoldierDisplay_CC { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/CfgMagazines.h b/TO_MERGE/cse/sys_cc/CfgMagazines.h deleted file mode 100644 index 73260427c5..0000000000 --- a/TO_MERGE/cse/sys_cc/CfgMagazines.h +++ /dev/null @@ -1,59 +0,0 @@ -class CfgMagazines { - class Default; - class CA_magazine: Default{}; - class cse_m_tablet: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Military Tablet (NATO)"; - descriptionUse = "Military Tablet (NATO)"; - picture = "\cse\cse_sys_cc\data\m_tablet.paa"; - descriptionShort = "Military Tablet"; - mass = 5; - }; - class cse_m_pda: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - descriptionUse = "A PDA, for use in the field. NATO Software compatible."; - descriptionShort = "A PDA for use in the field (NATO)"; - displayName = "PDA (NATO)"; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - mass = 2; - }; - class cse_m_tablet_uk: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - descriptionUse = "UK Tablet. NATO Software compatible."; - descriptionShort = "A Tablet for use in the field (UK)"; - displayName = "Military Tablet (UK)"; - picture = "\cse\cse_sys_cc\data\uk_tablet.paa"; - mass = 5; - }; - class cse_m_tablet_o: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - descriptionUse = "OPFOR Tablet. OPFOR Software compatible."; - descriptionShort = "A Tablet for use in the field (OPFOR)"; - displayName = "Military Tablet (OPFOR)"; - picture = "\cse\cse_sys_cc\data\m_tablet.paa"; - mass = 5; - }; - class cse_m_pda_o: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - descriptionUse = "OPFOR PDA. OPFOR Software compatible."; - descriptionShort = "A PDA for use in the field (OPFOR)"; - displayName = "Military PDA (OPFOR)"; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - mass = 2; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/CfgVehicles.h b/TO_MERGE/cse/sys_cc/CfgVehicles.h deleted file mode 100644 index 733b58ef02..0000000000 --- a/TO_MERGE/cse/sys_cc/CfgVehicles.h +++ /dev/null @@ -1,370 +0,0 @@ -class CfgVehicles -{ - class Logic; - class Module_F: Logic - { - class ArgumentsBaseUnits - { - }; - }; - class cse_sys_cc: Module_F - { - scope = 2; - displayName = "Command and Control [CSE]"; - icon = "\cse\cse_main\data\cse_cc_module.paa"; - category = "cseCCModule"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments { - class allowFeeds { - displayName = "Enable Live Feeds"; - description = "Enable Live Feeds & UAV control"; - typeName = "BOOL"; - defaultValue = true; - }; - class showUAV { - displayName = "UAVs on BFT"; - description = "Automatically show UAVs on the BFT Map"; - typeName = "BOOL"; - defaultValue = true; - }; - class uavRestriction { - displayName = "Restrict UAV Feeds"; - description = "Should UAV Feeds be restricted"; - typeName = "BOOL"; - defaultValue = false; - }; - class allowVehicleDisplays { - displayName = "Vehicle Display"; - description = "Allow Vehicle Displays"; - typeName = "BOOL"; - defaultValue = false; - }; - class autoAssignCallSigns { - displayName = "Auto Assign Callsigns"; - description = "Automatically assign callsigns for units"; - typeName = "NUMBER"; - defaultValue = -1; - class values { - class disabled {name="Disabled"; value=-1; default=1; }; - class all {name="All"; value = 0; }; - class vehicles {name="Vehicles only"; value = 1; }; - class groups {name="Groups Only"; value = 2; }; - }; - }; - class allowDisplayOnMainMap { - displayName = "Allow Main Map"; - description = "Allow CC to be used on the main map"; - typeName = "BOOL"; - defaultValue = false; - }; - }; - }; - - class cse_assignTrackerInfo_CC: Module_F - { - scope = 2; - displayName = "Assign BFT Information [CSE]"; - icon = "\cse\cse_main\data\cse_cc_module.paa"; - category = "cseCCModule"; - function = "cse_fnc_assignTrackerInfo_CC"; - functionPriority = 1; - isGlobal = 2; - isTriggerActivated = 0; - isDisposable = 0; - author = "Combat Space Enhancement"; - class Arguments - { - class EnableList { - displayName = "List"; - description = "List of unit names that will be used for assigning the BFT information, separated by commas."; - defaultValue = ""; - }; - - class type - { - displayName = "Type of Icon"; - description = "What icon is being displayed on BFT"; - typeName = "STRING"; - class values { - class Infantry {name="Infantry"; value="Infantry"; default=1; }; - class Motorized {name="Motorized"; value="Motorized";}; - class Plane {name="Plane"; value="Plane";}; - class Helicopter {name="Helicopter"; value="Helicopter";}; - class Armor {name="Armor"; value="Armor";}; - class Naval {name="Naval"; value="Naval";}; - class HQ {name="HQ"; value="HQ";}; - class Medical {name="Medical"; value="Medical";}; - class Maintanance {name="Maintanance"; value="Maintanance";}; - class Artillery {name="Artillery"; value="Artillery";}; - class Mortar {name="Mortar"; value="Mortar";}; - class Service {name="Service"; value="Service";}; - class Recon {name="Recon"; value="Recon";}; - class Mechanized {name="Mechanized"; value="Mechanized";}; - class uav {name="uav"; value="uav";}; - }; - }; - class callSign - { - displayName = "Call Sign"; - description = "The Call Sign being displayed on BFT"; - typeName = "STRING"; - defaultValue = ""; - }; - }; - class ModuleDescription { - description = "Sync this module to objects to assign tracker information.
Please be aware that synchronizing this to JIP players does not work currently.
Visit our wiki (wiki.csemod.com) for more information."; - sync[] = {"Car","Air", "Amoured"}; - }; - }; - class cse_placeIntelMarker_CC: Module_F - { - scope = 2; - displayName = "Place SALUTE Report[CSE]"; - icon = "\cse\cse_main\data\cse_cc_module.paa"; - category = "cseCCModule"; - function = "cse_fnc_modulePlaceIntelMarker_CC"; - functionPriority = 1; - isGlobal = 0; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments - { - class Type - { - displayName = "Type of Icon"; - description = "What icon is being displayed on BFT"; - typeName = "STRING"; - class values { - class Infantry {name="Infantry"; value="Infantry"; default=1; }; - class Motorized {name="Motorized"; value="Motorized";}; - class Plane {name="Plane"; value="Plane";}; - class Helicopter {name="Helicopter"; value="Helicopter";}; - class Armor {name="Armor"; value="Armor";}; - class Naval {name="Naval"; value="Naval";}; - class HQ {name="HQ"; value="HQ";}; - class Medical {name="Medical"; value="Medical";}; - class Maintanance {name="Maintanance"; value="Maintanance";}; - class Artillery {name="Artillery"; value="Artillery";}; - class Mortar {name="Mortar"; value="Mortar";}; - class Service {name="Service"; value="Service";}; - class Recon {name="Recon"; value="Recon";}; - class Mechanized {name="Mechanized"; value="Mechanized";}; - class uav {name="uav"; value="uav";}; - }; - }; - class Side - { - displayName = "Side"; - description = "Side of the marker icon (Visual)"; - typeName = "STRING"; - class values { - class BLUFOR {name="BLUFOR"; value="BLUFOR"; default=1;}; - class OPFOR {name="OPFOR"; value="OPFOR";}; - class GREENFOR {name="GREENFOR"; value="GREENFOR";}; - class UNKNOWN {name="UNKNOWN"; value="UNKNOWN";}; - }; - }; - class Direction - { - displayName = "Direction"; - description = "Which direction is the moment"; - typeName = "STRING"; - class values { - class Static {name="Static"; value="Static"; default=1;}; - class North {name="North"; value="North";}; - class NorthEast {name="North East"; value="North East";}; - class East {name="East"; value="East";}; - class SouthEast {name="South East"; value="South East";}; - class South {name="South"; value="South";}; - class SouthWest {name="South West"; value="South West";}; - class West {name="West"; value="West";}; - class NorthWest {name="North West"; value="North West";}; - }; - }; - class Size - { - displayName = "Size"; - description = "What is the amount of Units spotted"; - typeName = "STRING"; - class values { - class Building {name="Building"; value="Building"; default=1;}; - class Fortication {name="Fortication"; value="Fortication";}; - class Pax {name="Pax"; value="Pax";}; - class FireTeam {name="Fire Team"; value="Fire Team";}; - class Section {name="Section"; value="Section";}; - class Platoon {name="Platoon"; value="Platoon";}; - class Company {name="Company"; value="Company";}; - class Battalion {name="Battalion"; value="Battalion";}; - class Regiment {name="Regiment"; value="Regiment";}; - class Brigade {name="Brigade"; value="Brigade";}; - }; - }; - class Number - { - displayName = "Number"; - description = "What is the amount of Units spotted"; - typeName = "STRING"; - class values { - class One {name="1x"; value="1x"; default=1;}; - class Two {name="2x"; value="2x";}; - class Three {name="3x"; value="3x";}; - class Four {name="4x"; value="4x";}; - class Five {name="5x"; value="5x";}; - class Six {name="6x"; value="6x";}; - class Seven {name="7x"; value="7x";}; - }; - }; - class Note - { - displayName = "Note"; - description = "Note for Salute Report"; - typeName = "STRING"; - defaultValue = ""; - }; - class PlacementSide - { - displayName = "Placement Side"; - description = "Side for which the marker will be placed."; - typeName = "STRING"; - class values { - class BLUFOR {name="BLUFOR"; value="west"; default=1;}; - class OPFOR {name="OPFOR"; value="east";}; - class GREENFOR {name="Independent"; value="independent";}; - }; - }; - - }; - }; - - - class Item_Base_F; - class cse_m_tabletItem: Item_Base_F - { - scope = 2; - scopeCurator = 2; - displayName = "Military Tablet (NATO)"; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_m_tablet - { - name = "cse_m_tablet"; - count = 1; - }; - }; - }; - class cse_m_pdaItem: Item_Base_F - { - scope = 2; - scopeCurator = 2; - displayName = "Military PDA (NATO)"; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_m_pda - { - name = "cse_m_pda"; - count = 1; - }; - }; - }; - class cse_m_tablet_uk_Item: Item_Base_F - { - scope = 2; - scopeCurator = 2; - displayName = "Military Tablet (UK)"; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_m_tablet_uk - { - name = "cse_m_tablet_uk"; - count = 1; - }; - }; - }; - class cse_m_tablet_o_Item: Item_Base_F - { - scope = 2; - scopeCurator = 2; - displayName = "Military Tablet (OPFOR)"; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_m_tablet_o - { - name = "cse_m_tablet_o"; - count = 1; - }; - }; - }; - class cse_m_pda_o_Item: Item_Base_F - { - scope = 2; - scopeCurator = 2; - displayName = "Military PDA (OPFOR)"; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_m_pda_o - { - name = "cse_m_pda_o"; - count = 1; - }; - }; - }; - - class NATO_Box_Base; - class cse_ccItems_W : NATO_Box_Base { - scope = 2; - accuracy = 1000; - displayName = "CC Devices [NATO] (CSE)"; - model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; - author = "Combat Space Enhancement"; - class TransportItems { - class cse_m_tablet { - name = "cse_m_tablet"; - count = 5; - }; - class cse_m_pda { - name = "cse_m_pda"; - count = 5; - }; - }; - }; - class cse_ccItems_O: cse_ccItems_W { - displayName = "CC Devices [OPFOR] (CSE)"; - class TransportItems { - class cse_m_tablet_o { - name = "cse_m_tablet_o"; - count = 5; - }; - class cse_m_pda_o { - name = "cse_m_pda_o"; - count = 5; - }; - }; - }; - class cse_ccItems_G: cse_ccItems_W { - displayName = "CC Devices [IND] (CSE)"; - class TransportItems { - class cse_m_tablet_g { - name = "cse_m_tablet_g"; - count = 5; - }; - class cse_m_pda_g { - name = "cse_m_pda_g"; - count = 5; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_cc/CfgWeapons.h b/TO_MERGE/cse/sys_cc/CfgWeapons.h deleted file mode 100644 index ba44c89ef0..0000000000 --- a/TO_MERGE/cse/sys_cc/CfgWeapons.h +++ /dev/null @@ -1,166 +0,0 @@ -class CfgWeapons { - - class ItemCore; - class InventoryItem_Base_F; - class cse_m_tablet: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = $STR_ITEM_CSE_M_TABLET_DISPLAY; - picture = "\cse\cse_sys_cc\data\m_tablet.paa"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - descriptionShort = $STR_ITEM_CSE_M_TABLET_DESC; - descriptionUse = $STR_ITEM_CSE_M_TABLET_DESC_USE; - cse_blueForceTracker = 1; // enable Blue Force Tracking for item - class ItemInfo: InventoryItem_Base_F - { - mass=6; - type=201; - - }; - }; - class cse_m_pda: cse_m_tablet - { - descriptionUse = $STR_ITEM_CSE_M_PDA_DESC_USE; - descriptionShort = $STR_ITEM_CSE_M_PDA_DESC; - displayName = $STR_ITEM_CSE_M_PDA_DISPLAY; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; - class cse_m_tablet_uk: cse_m_tablet - { - descriptionUse = $STR_ITEM_CSE_M_TABLET_UK_DESC_USE; - descriptionShort = $STR_ITEM_CSE_M_TABLET_UK_DESC; - displayName = $STR_ITEM_CSE_M_TABLET_UK_DISPLAY; - picture = "\cse\cse_sys_cc\data\uk_tablet.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=6; - type=201; - - }; - }; - class cse_m_tablet_o: cse_m_tablet - { - descriptionUse = $STR_ITEM_CSE_M_TABLET_O_DESC_USE; - descriptionShort = $STR_ITEM_CSE_M_TABLET_O_DESC; - displayName = $STR_ITEM_CSE_M_TABLET_O_DISPLAY; - picture = "\cse\cse_sys_cc\data\m_tablet.paa"; - }; - class cse_m_pda_o: cse_m_pda - { - descriptionUse = $STR_ITEM_CSE_M_PDA_O_DESC_USE; - descriptionShort = $STR_ITEM_CSE_M_PDA_O_DESC; - displayName = $STR_ITEM_CSE_M_PDA_O_DISPLAY; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; - - class cse_m_tablet_g: cse_m_tablet - { - descriptionUse = $STR_ITEM_CSE_M_TABLET_G_DESC_USE; - descriptionShort = $STR_ITEM_CSE_M_TABLET_G_DESC; - displayName = $STR_ITEM_CSE_M_TABLET_O_DISPLAY; - picture = "\cse\cse_sys_cc\data\m_tablet.paa"; - }; - class cse_m_pda_g: cse_m_pda - { - descriptionUse = $STR_ITEM_CSE_M_PDA_G_DESC_USE; - descriptionShort = $STR_ITEM_CSE_M_PDA_G_DESC; - displayName = $STR_ITEM_CSE_M_PDA_G_DISPLAY; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; - - class cse_itemHelmetCamera_W: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - descriptionUse = $STR_ITEM_CSE_HELMET_CAMERA_DESC_SHORT; - descriptionShort = $STR_ITEM_CSE_HELMET_CAMERA_DESC; - displayName = $STR_ITEM_CSE_HELMET_CAMERA_DISPLAY; - picture = "\cse\cse_sys_cc\data\helmet_camera.paa"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - simulation = "Weapon"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; - class cse_itemHelmetCamera_O: cse_itemHelmetCamera_W { - descriptionUse = $STR_ITEM_CSE_HELMET_CAMERA_O_DESC_SHORT; - descriptionShort = $STR_ITEM_CSE_HELMET_CAMERA_O_DESC; - displayName = $STR_ITEM_CSE_HELMET_CAMERA_O_DISPLAY; - picture = "\cse\cse_sys_cc\data\helmet_camera.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; - class cse_itemHelmetCamera_G: cse_itemHelmetCamera_W { - descriptionUse = $STR_ITEM_CSE_HELMET_CAMERA_G_DESC_SHORT; - descriptionShort = $STR_ITEM_CSE_HELMET_CAMERA_G_DESC; - displayName = $STR_ITEM_CSE_HELMET_CAMERA_G_DISPLAY; - picture = "\cse\cse_sys_cc\data\helmet_camera.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; - - class cse_trackerItem_w: cse_m_tablet { - displayName = $STR_ITEM_CSE_TRACKERITEM_W_DISPLAY; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - descriptionShort = $STR_ITEM_CSE_TRACKERITEM_W_DESC; - descriptionUse = $STR_ITEM_CSE_TRACKERITEM_W_DESC_SHORT; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - - }; - }; - class cse_trackerItem_o: cse_trackerItem_w { - displayName = $STR_ITEM_CSE_TRACKERITEM_O_DISPLAY; - descriptionShort = $STR_ITEM_CSE_TRACKERITEM_O_DESC; - descriptionUse = $STR_ITEM_CSE_TRACKERITEM_O_DESC_SHORT; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; - class cse_trackerItem_g: cse_trackerItem_w { - displayName = $STR_ITEM_CSE_TRACKERITEM_G_DISPLAY; - descriptionShort = $STR_ITEM_CSE_TRACKERITEM_G_DESC; - descriptionUse = $STR_ITEM_CSE_TRACKERITEM_G_DESC_SHORT; - picture = "\cse\cse_sys_cc\data\m_pda.paa"; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_cc/Combat_Space_Enhancement.h deleted file mode 100644 index a01b2f2245..0000000000 --- a/TO_MERGE/cse/sys_cc/Combat_Space_Enhancement.h +++ /dev/null @@ -1,30 +0,0 @@ -#define MENU_KEYBINDING 1 -#define ACTION_KEYBINDING 2 -#define CLIENT_SETTING 3 - -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_cc { - init = "call compile preprocessFile 'cse\cse_sys_cc\init_sys_cc.sqf';"; - name = "Command and Control"; - class Configurations { - class Command_and_Control { - type = MENU_KEYBINDING; - title = $STR_OPEN_CC_DEVICE_CONFIGURATION_TITLE; - description = $STR_OPEN_CC_DEVICE_CONFIGURATION_DESC; - value[] = {35,0,1,0}; - onPressed = "switch (true) do {case ([player,'cse_m_tablet'] call cse_fnc_hasItem_CC): {['cse_m_tablet'] call cse_fnc_openDevice_CC;};case ([player,'cse_m_tablet_uk'] call cse_fnc_hasItem_CC): {['cse_m_tablet_uk'] call cse_fnc_openDevice_CC;};case ([player,'cse_m_tablet_o'] call cse_fnc_hasItem_CC): {['cse_m_tablet_o'] call cse_fnc_openDevice_CC;};case ([player,'cse_m_pda'] call cse_fnc_hasItem_CC): {['cse_m_pda'] call cse_fnc_openDevice_CC;};case ([player,'cse_m_pda_o'] call cse_fnc_hasItem_CC): {['cse_m_pda_o'] call cse_fnc_openDevice_CC;};default {};};"; - idd = 590823; - }; - class OpenOnBoard_BFT_Device { - type = MENU_KEYBINDING; - title = $STR_OPEN_CC_ONBOARD_CONFIGURATION_TITLE; - description = $STR_OPEN_CC_ONBOARD_CONFIGURATION_DESC; - value[] = {0,0,0,0}; - onPressed = "[vehicle player] call cse_fnc_openFlight_Display_CC;"; - idd = 590823; - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/FutureSoldier/functions/fn_startFutureSoldierDisplay_CC.sqf b/TO_MERGE/cse/sys_cc/FutureSoldier/functions/fn_startFutureSoldierDisplay_CC.sqf deleted file mode 100644 index 949b69bf6d..0000000000 --- a/TO_MERGE/cse/sys_cc/FutureSoldier/functions/fn_startFutureSoldierDisplay_CC.sqf +++ /dev/null @@ -1,32 +0,0 @@ - -_code = { - if (isnil "CSE_INTEL_MARKER_COLLECTION_CC" || !(([player] call cse_fnc_hasTrackerItem_CC))) exitwith {}; - - _playerPos = (getPos player); - { - - _pos = _x select 0; - _args = _x select 1; - _icon = _args select 0; - _text = _args select 1; - _color = _args select 2; - _side = _x select 3; - if (playerSide == _side && {_playerPos distance _pos < 200}) then { - drawIcon3D [_icon,_color, _pos, 1, 1, 0, _text, 0, 0.03, 'PuristaMedium']; - }; - - false; - }count CSE_INTEL_MARKER_COLLECTION_CC; - - { - _pos = _x select 1; - _unit = _x select 5; - if (playerSide == (_x select 6) && {_playerPos distance _pos < 200} && {_unit != player}) then { - drawIcon3D [(_x select 0), (_X select 3), _pos, 1, 1, 0, (_x select 2), 0, 0.03, 'PuristaMedium']; - }; - false; - }count CSE_TRACKER_ICONS; - -}; - -["cse_futureSoldierDraw", [], _code] call cse_fnc_addTaskToPool_f; diff --git a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_canViewFeed_CC.sqf b/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_canViewFeed_CC.sqf deleted file mode 100644 index 262b0cd4e4..0000000000 --- a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_canViewFeed_CC.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_canViewFeed_CC.sqf - * @Descr: Check if the provided device can view the feed of target if available. - * @Author: Glowbal - * - * @Arguments: [target OBJECT, device STRING (Device classname)] - * @Return: BOOL True if targets feed can be viewed with devices of given classname. - * @PublicAPI: true - */ - -private ["_target", "_return", "_deviceName", "_item"]; -_target = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_deviceName = [_this, 1, "", [""]] call BIS_fnc_Param; - -_return = false; -if (_target isKindOf "CAManBase") then { - //if ([_target] call cse_fnc_hasTrackerItem_CC) then { - if (_target getvariable ["cse_hasCameraFeed_enabled_CC", false]) then { - _item = switch (([_deviceName] call cse_fnc_getDeviceSide_CC)) do { - case WEST: {"cse_itemHelmetCamera_W"}; - case EAST: {"cse_itemHelmetCamera_O"}; - case independent: {"cse_itemHelmetCamera_I"}; - default {""}; - }; - if (_item == "") exitwith{}; - if ([_target, _item] call cse_fnc_hasItem_CC) then { - _return = true; - }; - }; - //}; -} else { - if (_deviceName != "") then { - if (_target in allUnitsUAV) then { - if (side _target == ([_deviceName] call cse_fnc_getDeviceSide_CC)) then { - _return = true; - }; - }; - }; -}; -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_closeLiveFeedScreen_CC.sqf b/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_closeLiveFeedScreen_CC.sqf deleted file mode 100644 index 70f91897cf..0000000000 --- a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_closeLiveFeedScreen_CC.sqf +++ /dev/null @@ -1 +0,0 @@ -[_deviceName,"main","hide"] call cse_fnc_setPiP_CC; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_getAllviewableFeeds_CC.sqf b/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_getAllviewableFeeds_CC.sqf deleted file mode 100644 index d67cd977ac..0000000000 --- a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_getAllviewableFeeds_CC.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_getAllviewableFeeds_CC.sqf - * @Descr: Get all feeds that are viewable for provided device classname. - * @Author: Glowbal - * - * @Arguments: [deviceName STRING (Device classname)] - * @Return: ARRAY An array with objects that have a viewable feed. - * @PublicAPI: true - */ - -private ["_deviceName", "_return", "_displayText"]; -_deviceName = _this select 0; - -_return = []; -{ - if (_x isKindOf "CAManBase") then { - if ([_x, _deviceName] call cse_fnc_canViewFeed_CC) then { - _trackerInfo = [_x] call cse_fnc_getTrackerInformation_CC; - _displayText = _trackerInfo select 1; - if (_displayText == "") then { - _displayText = format["Unknown: ", _trackerInfo select 0]; - }; - _return pushback [_displayText, [_x]]; - }; - }; -}foreach allUnits; - -{ - if ([_x, _deviceName] call cse_fnc_canViewFeed_CC) then { - _trackerInfo = [_x] call cse_fnc_getTrackerInformation_CC; - _displayText = _trackerInfo select 1; - if (_displayText == "") then { - _displayText = format["UAV: %1", [_x] call cse_fnc_findTargetName_gui]; - }; - _return pushback [_displayText, [_x]]; - }; - -}foreach allUnitsUAV; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_openScreen_liveFeed_CC.sqf b/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_openScreen_liveFeed_CC.sqf deleted file mode 100644 index 8114a31851..0000000000 --- a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_openScreen_liveFeed_CC.sqf +++ /dev/null @@ -1,58 +0,0 @@ -/** - * fn_openScreen_liveFeed_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName", "_appOpening", "_display", "_background"]; -_deviceName = _this select 0; - -if (isnil "CSE_LIVEFEED_TARGET_CC") exitwith {}; // error -[_deviceName,"main","full"] call cse_fnc_setPiP_CC; -[true] call cse_fnc_viewLiveFeed_CC; - -CSE_PREVIOUS_APPLICATION_CC = [_deviceName] call cse_fnc_getCurrentApplication_CC; - -_appOpening = "LiveFeed_Viewing"; -if (CSE_LIVEFEED_TARGET_CC in allUnitsUAV) then { - _sideBarFullScreen = { - private["_deviceName","_cfg","_allowSidebar"]; - _deviceName = _this select 0; - - _allowSidebar = 0; - if (isnil 'CSE_REGISTERED_DEVICES_CC') then { - CSE_REGISTERED_DEVICES_CC = []; - }; - - { - if (_x select 0 == _deviceName) exitwith { - _allowSidebar = _x select 2; - }; - }foreach CSE_REGISTERED_DEVICES_CC; - _allowSidebar - }; - - _sideBarN = ([_deviceName] call _sideBarFullScreen); - if (_sideBarN == 1) then { - _appOpening = _appOpening + "_UAV"; - }; -}; - -call compile format["CSE_CURRENT_APPLICATION_%1_CC = '%2';",_deviceName, _appOpening]; - -if ([_deviceName] call cse_fnc_isSideBarOpen_CC) then { - [_deviceName,"right"] call cse_fnc_setSideBar_CC; -}; - -_display = uiNamespace getvariable _deviceName; -_background = _display displayCtrl 602; -_background ctrlSetPosition [0,0,0,0]; -_background ctrlSetBackgroundColor [0.9,0.9,0.9,1]; -_background ctrlCommit 0; - -(_display displayCtrl 603) ctrlSetText ""; -(_display displayCtrl 604) ctrlSetText ""; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_setLiveFeedTargetObj_CC.sqf b/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_setLiveFeedTargetObj_CC.sqf deleted file mode 100644 index 58e14f9ce8..0000000000 --- a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_setLiveFeedTargetObj_CC.sqf +++ /dev/null @@ -1,115 +0,0 @@ -/** - * fn_setLiveFeedTarget_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define QUAD_COPTER_POS [0,0,-0.5] -#define LARGE_UAV_POS [0,0.5,-1.0] -#define GAV_POS [0,0,1] - -private ["_target", "_camera", "_cameraAttachToPos"]; -_target = _this select 0; -CSE_LIVEFEED_TARGET_CC = _target; - -[format["Setting live feed target: %1",_this]] call cse_fnc_debug; - -if (isNull _target) then { - [false] call cse_fnc_viewLiveFeed_CC; -} else { - _camera = objNull; - if (isnil "CSE_PIP_CAMERA_CC") then { - _camera = "camera" camCreate (position _target); - CSE_PIP_CAMERA_CC = _camera; - _camera cameraEffect ["INTERNAL", "BACK", "rendertarget11"]; - } else { - if (isNull CSE_PIP_CAMERA_CC) then { - ["LiveFeed Camera was null. Creating a new one."] call cse_fnc_debug; - _camera = "camera" camCreate (position _target); - CSE_PIP_CAMERA_CC = _camera; - _camera cameraEffect ["INTERNAL", "BACK", "rendertarget11"]; - }; - _camera = CSE_PIP_CAMERA_CC; - }; - detach _camera; - if (_target isKindOf "CaManBase") then { - _camera attachto [_target,[-0.18,0.1,0.1], "head"]; - - [_target, _camera] spawn { - _target = _this select 0; - _camera = _this select 1; - while {((alive _target) && (CSE_LIVEFEED_TARGET_CC == _target) && alive _camera && dialog)} do { - if (vehicle _target != _target) then { - _positionInWorld = _target modelToWorld (_target selectionPosition "head"); - _vehPos = (vehicle _target) worldToModel _positionInWorld; - _camera attachTo [(vehicle _target),_vehPos]; - } else { - _camera attachto [_target,[-0.18,0.1,0.1], "head"]; - }; - }; - }; - - } else { - if ((_target in allUnitsUAV)) then { - // TODO Make this dynamic through an array. - _cameraAttachToPos = switch (typeOf _target) do { - case "B_UAV_01_F": { - QUAD_COPTER_POS; - }; - case "B_UAV_02_CAS_F": { - LARGE_UAV_POS; - }; - case "B_UAV_02_F": { - LARGE_UAV_POS; - }; - case "B_UGV_01_F": { - GAV_POS; - }; - case "B_UGV_01_rcws_F": { - GAV_POS; - }; - - case "O_UAV_01_F": { - QUAD_COPTER_POS; - }; - case "O_UAV_02_CAS_F": { - LARGE_UAV_POS; - }; - case "O_UAV_02_F": { - LARGE_UAV_POS; - }; - case "O_UGV_01_F": { - GAV_POS; - }; - case "O_UGV_01_rcws_F": { - GAV_POS; - }; - - case "I_UAV_01_F": { - QUAD_COPTER_POS; - }; - case "I_UAV_02_CAS_F": { - LARGE_UAV_POS; - }; - case "I_UAV_02_F": { - LARGE_UAV_POS; - }; - case "I_UGV_01_F": { - GAV_POS; - }; - case "I_UGV_01_rcws_F": { - GAV_POS; - }; - default { - QUAD_COPTER_POS; - }; - }; - - _camera attachto [_target,_cameraAttachToPos]; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_takeControlUAV_CC.sqf b/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_takeControlUAV_CC.sqf deleted file mode 100644 index ae383f31b6..0000000000 --- a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_takeControlUAV_CC.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_takeControlUAV_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [uav OBJECT (Of type UAV)] - * @Return: - * @PublicAPI: false - */ - -private ["_uav", "_continue"]; -_uav = _this select 0; -if (_uav in allUnitsUAV) then { - if (isnil "CSE_CONTROL_UAV_RESTRICTED_CC") then { - CSE_CONTROL_UAV_RESTRICTED_CC = false; - }; - _continue = true; - if (CSE_CONTROL_UAV_RESTRICTED_CC) then { - _continue = player getvariable ["cse_canControlUAVs_CC", false]; - }; - - if (!_continue) exitwith {}; // has no access to control the UAV. - if (!("GUNNER" in uavControl _uav)) then { - if (count (crew _uav) >= 2) then { - player remoteControl ((crew _uav) select 1); - _uav switchCamera "Gunner"; - closeDialog 0; - } else { - if (!("DRIVER" in uavControl _uav)) then { - if (count (crew _uav) >= 1) then { - player remoteControl ((crew _uav) select 0); - _uav switchCamera "INTERNAL"; - closeDialog 0; - }; - }; - }; - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_viewLiveFeed_CC.sqf b/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_viewLiveFeed_CC.sqf deleted file mode 100644 index cb8c3ff886..0000000000 --- a/TO_MERGE/cse/sys_cc/LiveFeed/functions/fn_viewLiveFeed_CC.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/** - * fn_viewLiveFeed_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_display","_view","_ctrl", "_camera"]; - -_view = _this select 0; - -disableSerialization; -_deviceName = [] call cse_fnc_getCurrentDeviceName_CC; -[format["fn_viewLiveFeed_CC %1 %2",_this, _deviceName]] call cse_fnc_debug; -_display = uiNamespace getvariable _deviceName; -_ctrl = (_display displayCtrl 20); - -if (_view) then { - _camera = objNull; - if (isnil "CSE_PIP_CAMERA_CC") then { - _camera = "camera" camCreate (position player); - CSE_PIP_CAMERA_CC = _camera; - _camera cameraEffect ["INTERNAL", "BACK","rendertarget11"]; - } else { - if (isNull CSE_PIP_CAMERA_CC) then { - ["LiveFeed Camera was null. Creating a new one."] call cse_fnc_debug; - _camera = "camera" camCreate (position player); - CSE_PIP_CAMERA_CC = _camera; - _camera cameraEffect ["INTERNAL", "BACK","rendertarget11"]; - }; - _camera = CSE_PIP_CAMERA_CC; - }; - "rendertarget11" setPiPEffect [0]; - _ctrl ctrlsettext "#(argb,256,256,1)r2t(rendertarget11,1.0)"; - _ctrl ctrlcommit 0; -} else { - _ctrl ctrlsettext ""; - _ctrl ctrlcommit 0; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/Modules/functions/fn_assignTrackerInfo_CC.sqf b/TO_MERGE/cse/sys_cc/Modules/functions/fn_assignTrackerInfo_CC.sqf deleted file mode 100644 index 05cb0865c2..0000000000 --- a/TO_MERGE/cse/sys_cc/Modules/functions/fn_assignTrackerInfo_CC.sqf +++ /dev/null @@ -1,69 +0,0 @@ -/** - * fn_assignTrackerInfo_CC.sqf - * @Descr: assigns tracker info for the BFT. Does not work well with JIP players. - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic", "_type", "_objects", "_callsign"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; - -[format["AssigningTrackerInfo called. Arguments are: %1", _this]] call cse_fnc_debug; -if (!isNull _logic) then { - - _type = _logic getvariable ["type","Infantry"]; - _callsign = _logic getvariable ["callSign",""]; - - _list = _logic getvariable ["EnableList",""]; - _splittedList = [_list, ","] call BIS_fnc_splitString; - _nilCheckPassedList = ""; - { - _x = [_x] call cse_fnc_string_removeWhiteSpace; - if !(isnil _x) then { - if (_nilCheckPassedList == "") then { - _nilCheckPassedList = _x; - } else { - _nilCheckPassedList = _nilCheckPassedList + ","+ _x; - }; - }; - }foreach _splittedList; - - _list = "[" + _nilCheckPassedList + "]"; - _parsedList = [] call compile _list; - _objects = synchronizedObjects _logic; - if (!(_objects isEqualTo []) && _parsedList isEqualTo []) then { - - /* - This has been enabled again to allow backwards compatability for older CSE missions. - */ - [["synchronizedObjects for the 'assign BFT Information' Module is deprecated. Please use the enable for list instead!"], 1] call cse_fnc_debug; - { - if (!isnil "_x") then { - if (typeName _x == typeName objNull) then { - if (local _x) then { - (vehicle _x) setvariable ["cse_bft_info_cc",[_type,_callsign,true,false],true]; - }; - }; - }; - }foreach _objects; - }; - - { - if (!isnil "_x") then { - if (typeName _x == typeName objNull) then { - if (local _x) then { - (vehicle _x) setvariable ["cse_bft_info_cc",[_type,_callsign,true,false],true]; - }; - }; - }; - }foreach _parsedList; - -} else { - [format["AssigningTrackerInfo called but logic is NULL"]] call cse_fnc_debug; - deleteVehicle _logic; -}; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/Modules/functions/fn_modulePlaceIntelMarker_CC.sqf b/TO_MERGE/cse/sys_cc/Modules/functions/fn_modulePlaceIntelMarker_CC.sqf deleted file mode 100644 index e4cbe90e65..0000000000 --- a/TO_MERGE/cse/sys_cc/Modules/functions/fn_modulePlaceIntelMarker_CC.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_modulePlaceIntelMarker_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private["_logic", "_placeMentSide"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -if (!isServer) exitwith{}; -if (!isNull _logic) then { - if (!isnil "cse_fnc_placeMarker_CC") then { - - _placeMentSide = _logic getvariable ["PlacementSide", "west"], - _placeMentSide = switch (_placeMentSide) do { - case "west": {west}; - case "east": {east}; - case "independent": {independent}; - default {west}; - }; - - [ - [ - _logic getvariable "Type", - _logic getvariable "Side", - _logic getvariable "Direction", - _logic getvariable "Size", - _logic getvariable "Number", - _logic getVariable "Note", - [0,0,0,0,0] - ], - ASLToATL getPosASL _logic, - "intel", _placeMentSide - ] call cse_fnc_placeMarker_CC; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/SupportRequests/fn_supportRequests_CC.sqf b/TO_MERGE/cse/sys_cc/SupportRequests/fn_supportRequests_CC.sqf deleted file mode 100644 index 0d9c673d22..0000000000 --- a/TO_MERGE/cse/sys_cc/SupportRequests/fn_supportRequests_CC.sqf +++ /dev/null @@ -1,9 +0,0 @@ -/* - Support Requests: - - - different amount of lines - - different priorities - - action on - - -*/ \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/UI.h b/TO_MERGE/cse/sys_cc/UI.h deleted file mode 100644 index 49e034d68b..0000000000 --- a/TO_MERGE/cse/sys_cc/UI.h +++ /dev/null @@ -1,5 +0,0 @@ -#include "ui\define.hpp" -#include "ui\cse_m_tablet.hpp" -#include "ui\cse_m_pda.hpp" -#include "ui\cse_m_tablet_uk.hpp" -#include "ui\m_flight_display.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/config.cpp b/TO_MERGE/cse/sys_cc/config.cpp deleted file mode 100644 index 332b69f12e..0000000000 --- a/TO_MERGE/cse/sys_cc/config.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#define _ARMA_ -class CfgPatches -{ - class cse_sys_cc - { - units[] = {"cse_m_tabletItem", "cse_m_pdaItem", "cse_m_tablet_uk_Item", "cse_m_tablet_o_Item", "cse_m_pda_o_Item"}; - weapons[] = {"cse_m_tablet","cse_m_pda","cse_m_tablet_uk","cse_m_tablet_o", "cse_m_pda_o"}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui","cse_main", "A3_Weapons_F", "A3_Weapons_F_Items"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; -class CfgAddons { - class PreloadAddons { - class cse_sys_cc { - list[] = {"cse_sys_cc"}; - }; - }; -}; - -#include "CfgFactionClasses.h" -#include "CfgVehicles.h" -#include "CfgWeapons.h" -#include "CfgFunctions.h" -#include "ui.h" -#include "Combat_Space_Enhancement.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/data/black_background.paa b/TO_MERGE/cse/sys_cc/data/black_background.paa deleted file mode 100644 index c1af9b82c8..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/black_background.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/button_dropdown_menu.paa b/TO_MERGE/cse/sys_cc/data/button_dropdown_menu.paa deleted file mode 100644 index a37ddb4ee8..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/button_dropdown_menu.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/button_dropdown_menu_hover.paa b/TO_MERGE/cse/sys_cc/data/button_dropdown_menu_hover.paa deleted file mode 100644 index 35c17ae73e..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/button_dropdown_menu_hover.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/dropdown_menu2.paa b/TO_MERGE/cse/sys_cc/data/dropdown_menu2.paa deleted file mode 100644 index 511e46aab9..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/dropdown_menu2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/empty_background.paa b/TO_MERGE/cse/sys_cc/data/empty_background.paa deleted file mode 100644 index 1e708c623d..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/empty_background.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/empty_background.png b/TO_MERGE/cse/sys_cc/data/empty_background.png deleted file mode 100644 index 7840c05423..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/empty_background.png and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/empty_background2.paa b/TO_MERGE/cse/sys_cc/data/empty_background2.paa deleted file mode 100644 index 8fdc404973..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/empty_background2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/helmet_camera.paa b/TO_MERGE/cse/sys_cc/data/helmet_camera.paa deleted file mode 100644 index dbf519925f..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/helmet_camera.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/home_icon.paa b/TO_MERGE/cse/sys_cc/data/home_icon.paa deleted file mode 100644 index 6f204172b4..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/home_icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/icons/Thumbs.db b/TO_MERGE/cse/sys_cc/data/icons/Thumbs.db deleted file mode 100644 index f2f0037220..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/icons/Thumbs.db and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/icons/calculator_icon.paa b/TO_MERGE/cse/sys_cc/data/icons/calculator_icon.paa deleted file mode 100644 index 0e583c2f0e..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/icons/calculator_icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/icons/icon_template.png b/TO_MERGE/cse/sys_cc/data/icons/icon_template.png deleted file mode 100644 index 06dc5e8601..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/icons/icon_template.png and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/icons/map-icon.paa b/TO_MERGE/cse/sys_cc/data/icons/map-icon.paa deleted file mode 100644 index 3d9638f361..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/icons/map-icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/icons/settings-icon.paa b/TO_MERGE/cse/sys_cc/data/icons/settings-icon.paa deleted file mode 100644 index 1d9a72d28c..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/icons/settings-icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/m_flight_display.paa b/TO_MERGE/cse/sys_cc/data/m_flight_display.paa deleted file mode 100644 index c84ce7914b..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/m_flight_display.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/m_pda.paa b/TO_MERGE/cse/sys_cc/data/m_pda.paa deleted file mode 100644 index 7c29772968..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/m_pda.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/m_tablet.paa b/TO_MERGE/cse/sys_cc/data/m_tablet.paa deleted file mode 100644 index 3aab4e4e78..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/m_tablet.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/m_vehicle_display.paa b/TO_MERGE/cse/sys_cc/data/m_vehicle_display.paa deleted file mode 100644 index d2fb6b4b3c..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/m_vehicle_display.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/menuIcon.paa b/TO_MERGE/cse/sys_cc/data/menuIcon.paa deleted file mode 100644 index 34e7a6e681..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/menuIcon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/sidebar_background.paa b/TO_MERGE/cse/sys_cc/data/sidebar_background.paa deleted file mode 100644 index 2c8ecbcfb9..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/sidebar_background.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/data/uk_tablet.paa b/TO_MERGE/cse/sys_cc/data/uk_tablet.paa deleted file mode 100644 index 04a83c08d5..0000000000 Binary files a/TO_MERGE/cse/sys_cc/data/uk_tablet.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_cc/init_server.sqf b/TO_MERGE/cse/sys_cc/init_server.sqf deleted file mode 100644 index 4a424150cf..0000000000 --- a/TO_MERGE/cse/sys_cc/init_server.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/* -server_init.sqf -Usage: Initalizes the Command and Control Server functionality -Author: Glowbal - -Arguments: array [] -Returns: void - -Affects: Server -Executes: All Localities -*/ - -//if (isServer) exitwith{}; - -if (isnil "CSE_CC_LOGIC_OBJECT_CC") then { - _group = createGroup sideLogic; - CSE_CC_LOGIC_OBJECT_CC = _group createUnit ["logic", [1,1,1], [], 0, "FORM"]; - publicVariable "CSE_CC_LOGIC_OBJECT_CC"; -// [] call cse_fnc_assignTrackerIDs_Server_CC; // temp disabled, switching to non id based??? -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/init_sys_cc.sqf b/TO_MERGE/cse/sys_cc/init_sys_cc.sqf deleted file mode 100644 index c58bb51cee..0000000000 --- a/TO_MERGE/cse/sys_cc/init_sys_cc.sqf +++ /dev/null @@ -1,147 +0,0 @@ -/** - * init_sys_cc.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_args"]; -_args = _this; -CSE_CONTROL_UAV_RESTRICTED_CC = false; -CSE_AUTO_SHOW_UAV_TRACKERS_ON_BFT = false; -CSE_ALLOW_LIVE_FEEDS_CC = true; -CSE_ALLOW_VEHICLE_DISPLAYS_CC = true; -CSE_AUTO_ASSIGN_CALLSIGNS_CC = -1; -CSE_VIEW_ON_MAIN_MAP_SETTING_CC = false; -CSE_VIEW_ON_MAIN_MAP_ALLOWED_CC = false; - -{ - if (_x select 0 == "uavRestriction") then { - CSE_CONTROL_UAV_RESTRICTED_CC = (_x select 1); - }; - if (_x select 0 == "showUAV") then { - CSE_AUTO_SHOW_UAV_TRACKERS_ON_BFT = _x select 1; - }; - if (_x select 0 == "allowFeeds") then { - CSE_ALLOW_LIVE_FEEDS_CC = _x select 1; - }; - if (_x select 0 == "allowVehicleDisplays") then { - CSE_ALLOW_VEHICLE_DISPLAYS_CC = _x select 1; - }; - if (_x select 0 == "autoAssignCallSigns") then { - CSE_AUTO_ASSIGN_CALLSIGNS_CC = _x select 1; - }; - if (_x select 0 == "allowDisplayOnMainMap") then { - CSE_VIEW_ON_MAIN_MAP_ALLOWED_CC = _x select 1; - }; -}foreach _args; - -[format["AIM - Command and Control initialisation started"],3] call cse_fnc_debug; -waituntil{!isnil "cse_gui"}; -[format["CC - Command and Control Module initialised"],2] call cse_fnc_debug; - - -["cse_sys_cc_allowUseOfMainMap", ["Enable", "Disable"], (["cse_sys_cc_allowUseOfMainMap", 0] call cse_fnc_getClientSideOptionFromProfile_F), { - CSE_VIEW_ON_MAIN_MAP_SETTING_CC = (_this select 1) == 0; -}] call cse_fnc_addClientSideOptions_f; - -["cse_sys_cc_allowUseOfMainMap","option","Use main map (CC)","Use Command and Control on the main map when you have a CC device. Read only."] call cse_fnc_settingsDefineDetails_F; - - - -["cse_m_tablet",[-0.03,0.06,1.014,0.827],1,WEST] call cse_fnc_registerDevice_CC; -["cse_m_pda",[0.2761,0.38,0.33,0.47],2,WEST] call cse_fnc_registerDevice_CC; - -["cse_m_tablet_o",[-0.03,0.06,1.014,0.827],1,EAST] call cse_fnc_registerDevice_CC; -["cse_m_pda_o",[0.2761,0.38,0.33,0.47],2,EAST] call cse_fnc_registerDevice_CC; - -["cse_m_tablet_g",[-0.03,0.06,1.014,0.827],1,independent] call cse_fnc_registerDevice_CC; -["cse_m_pda_g",[0.2761,0.38,0.33,0.47],2,independent] call cse_fnc_registerDevice_CC; - -["cse_m_tablet_uk",[-0.03,0.06,1.014,0.827],1,WEST] call cse_fnc_registerDevice_CC; - -cse_fnc_switchItem = { - private ["_unit","_orig","_newI"]; - _unit = _this select 0; - _orig = _this select 1; - _newI = _this select 2; - _unit removeItem _orig; - _unit addItem _newI; -}; - -CSE_DISPLAY_CC_VIEW_FULL_SCREEN_CC = false; -[] call compile preprocessFile "cse\cse_sys_cc\register_applications.sqf"; -[] call compile preprocessFile "cse\cse_sys_cc\init_server.sqf"; - -CSE_ICON_PATH = "cse\cse_gui\radialmenu\data\icons\"; -CSE_LIVEFEED_TARGET_CC = ObjNull; -_entries = [ - ["PDA (NATO)", {([player,"cse_m_pda"] call cse_fnc_hasItem_CC)}, CSE_ICON_PATH + "icon_pda.paa", {closeDialog 0; ["cse_m_pda"] call cse_fnc_openDevice_CC;}, "Open PDA (NATO)"], - ["Tablet (NATO)", {([player,"cse_m_tablet"] call cse_fnc_hasItem_CC)}, CSE_ICON_PATH + "icon_tablet.paa", {closeDialog 0; ["cse_m_tablet"] call cse_fnc_openDevice_CC;}, "Open Tablet (NATO)"], - ["Tablet (UK)", {([player,"cse_m_tablet_uk"] call cse_fnc_hasItem_CC)}, CSE_ICON_PATH + "icon_tablet_uk.paa", {closeDialog 0; ["cse_m_tablet_uk"] call cse_fnc_openDevice_CC;}, "Open Tablet (UK)"], - ["PDA (OPFOR)", {([player,"cse_m_pda_o"] call cse_fnc_hasItem_CC)}, CSE_ICON_PATH + "icon_pda.paa", {closeDialog 0; ["cse_m_pda_o"] call cse_fnc_openDevice_CC;}, "Open PDA (OPFOR)"], - ["Tablet (OPFOR)", {([player,"cse_m_tablet_o"] call cse_fnc_hasItem_CC)}, CSE_ICON_PATH + "icon_tablet.paa", {closeDialog 0; ["cse_m_tablet_o"] call cse_fnc_openDevice_CC;}, "Open Tablet (OPFOR)"], - ["PDA (IND)", {([player,"cse_m_pda_g"] call cse_fnc_hasItem_CC)}, CSE_ICON_PATH + "icon_pda.paa", {closeDialog 0; ["cse_m_pda_g"] call cse_fnc_openDevice_CC;}, "Open PDA (IND)"], - ["Tablet (IND)", {([player,"cse_m_tablet_g"] call cse_fnc_hasItem_CC)}, CSE_ICON_PATH + "icon_tablet.paa", {closeDialog 0; ["cse_m_tablet_g"] call cse_fnc_openDevice_CC;}, "Open Tablet (IND)"] -]; -["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - -cse_fnc_hasHelmetCameraItem_CC = { - (([player,"cse_itemHelmetCamera_W"] call cse_fnc_hasItem_CC) || ([player,"cse_itemHelmetCamera_O"] call cse_fnc_hasItem_CC) || ([player,"cse_itemHelmetCamera_G"] call cse_fnc_hasItem_CC)) -}; - -_entries = [ - ["Enable Camera", {(([] call cse_fnc_hasHelmetCameraItem_CC) && !(player getvariable ["cse_hasCameraFeed_enabled_CC", false]))}, CSE_ICON_PATH + "icon_helmetCam_small.paa", {closeDialog 0; player setvariable ["cse_hasCameraFeed_enabled_CC", true, true];}, "Turn on your helmet camera"], - ["Disable Camera", {(([] call cse_fnc_hasHelmetCameraItem_CC) && (player getvariable ["cse_hasCameraFeed_enabled_CC", false]))}, CSE_ICON_PATH + "icon_helmetCam_small.paa", {closeDialog 0; player setvariable ["cse_hasCameraFeed_enabled_CC", false, true];}, "Turn off your helmet camera"] -]; -["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - -// Request players to access their BFT device(s) -_entries = [ - ["PDA (NATO)", {([_this select 1,"cse_m_pda"] call cse_fnc_hasItem_CC) && (player != (_this select 1))}, CSE_ICON_PATH + "icon_pda.paa", {closeDialog 0; [player, _this select 1, "access_device", "%1 wants to access your BFT", "if !(_this select 2) exitwith {}; if ([_this select 1, 'cse_m_pda'] call cse_fnc_hasItem_CC) then { ['cse_m_pda'] call cse_fnc_openDevice_CC; };"] call cse_fnc_sendRequest_f;}, "Access PDA (NATO)"], - - ["Tablet (NATO)", {([_this select 1,"cse_m_tablet"] call cse_fnc_hasItem_CC) && (player != (_this select 1))}, CSE_ICON_PATH + "icon_tablet.paa", {closeDialog 0; [player, _this select 1, "access_device", "%1 wants to access your BFT", "if !(_this select 2) exitwith {}; if ([_this select 1, 'cse_m_tablet'] call cse_fnc_hasItem_CC) then { ['cse_m_tablet'] call cse_fnc_openDevice_CC; };"] call cse_fnc_sendRequest_f;}, "Access Tablet (NATO)"], - - ["Tablet (UK)", {([_this select 1,"cse_m_tablet_uk"] call cse_fnc_hasItem_CC) && (player != (_this select 1))}, CSE_ICON_PATH + "icon_tablet_uk.paa", {closeDialog 0; [player, _this select 1, "access_device", "%1 wants to access your BFT", "if !(_this select 2) exitwith {}; if ([_this select 1, 'cse_m_tablet_uk'] call cse_fnc_hasItem_CC) then { ['cse_m_tablet_uk'] call cse_fnc_openDevice_CC; };"] call cse_fnc_sendRequest_f;}, "Access Tablet (UK)"], - - ["PDA (OPFOR)", {([_this select 1,"cse_m_pda_o"] call cse_fnc_hasItem_CC) && (player != (_this select 1))}, CSE_ICON_PATH + "icon_pda.paa", {closeDialog 0; [player, _this select 1, "access_device", "%1 wants to access your BFT", "if !(_this select 2) exitwith {}; if ([_this select 1, 'cse_m_pda_o'] call cse_fnc_hasItem_CC) then { ['cse_m_pda_o'] call cse_fnc_openDevice_CC; };"] call cse_fnc_sendRequest_f;}, "Access PDA (OPFOR)"], - - ["Tablet (OPFOR)", {([_this select 1,"cse_m_tablet_o"] call cse_fnc_hasItem_CC) && (player != (_this select 1))}, CSE_ICON_PATH + "icon_tablet.paa", {closeDialog 0; [player, _this select 1, "access_device", "%1 wants to access your BFT", "if !(_this select 2) exitwith {}; if ([_this select 1, 'cse_m_tablet_o'] call cse_fnc_hasItem_CC) then { ['cse_m_tablet_o'] call cse_fnc_openDevice_CC; };"] call cse_fnc_sendRequest_f;}, "Access Tablet (OPFOR)"], - - ["PDA (IND)", {([_this select 1,"cse_m_pda_g"] call cse_fnc_hasItem_CC) && (player != (_this select 1))}, CSE_ICON_PATH + "icon_pda.paa", {closeDialog 0; [player, _this select 1, "access_device", "%1 wants to access your BFT", "if !(_this select 2) exitwith {}; if ([_this select 1, 'cse_m_pda_g'] call cse_fnc_hasItem_CC) then { ['cse_m_pda_g'] call cse_fnc_openDevice_CC; };"] call cse_fnc_sendRequest_f;}, "Access PDA (IND)"], - - ["Tablet (IND)", {([_this select 1,"cse_m_tablet_g"] call cse_fnc_hasItem_CC) && (player != (_this select 1))}, CSE_ICON_PATH + "icon_tablet.paa", {closeDialog 0; [player, _this select 1, "access_device", "%1 wants to access your BFT", "if !(_this select 2) exitwith {}; if ([_this select 1, 'cse_m_tablet_g'] call cse_fnc_hasItem_CC) then { ['cse_m_tablet_g'] call cse_fnc_openDevice_CC; };"] call cse_fnc_sendRequest_f;}, "Access Tablet (IND)"] -]; -["ActionMenu","interaction", _entries] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - -_entries = [ - ["BFT Display", {[player, vehicle player] call cse_fnc_canUseOnBoard_BFT_Device_CC}, CSE_ICON_PATH + "icon_m_flight_display.paa", {closeDialog 0; [vehicle player] call cse_fnc_openFlight_Display_CC;}, "Use onboard BFT Display"] -]; -["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - -if (hasInterface) then { - // set the event handlers for the map - { - _x spawn { - disableserialization; - waituntil {!isnull (finddisplay _this displayctrl 51)}; - - private "_control"; - _control = finddisplay _this displayctrl 51; - _control ctrlAddEventHandler ["draw"," - if ([player] call cse_fnc_hasTrackerItem_CC && CSE_VIEW_ON_MAIN_MAP_SETTING_CC && CSE_VIEW_ON_MAIN_MAP_ALLOWED_CC) then { - {[_x,(_this select 0)] call cse_fnc_drawBFTIcons_CC;}foreach CSE_TRACKER_ICONS; - if (CSE_TOGGLE_INTEL_LAYER_CC) then {{[_x,(_this select 0)] call cse_fnc_drawBFTMarker_CC;}foreach CSE_INTEL_MARKER_COLLECTION_CC;}; - if (CSE_TOGGLE_ROUTE_LAYER_CC) then {{[_x,(_this select 0)] call cse_fnc_drawBFTMarker_CC;}foreach CSE_ROUTE_MARKER_COLLECTION_CC;}; - }; - "]; - }; - } foreach [getnumber (configfile >> "RscDisplayMainMap" >> "idd"), getnumber (configfile >> "RscDisplayGetReady" >> "idd"), getnumber (configfile >> "RscDisplayClientGetReady" >> "idd"), getnumber (configfile >> "RscDisplayServerGetReady" >> "idd") - ]; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/register_applications.sqf b/TO_MERGE/cse/sys_cc/register_applications.sqf deleted file mode 100644 index 03baabb4c3..0000000000 --- a/TO_MERGE/cse/sys_cc/register_applications.sqf +++ /dev/null @@ -1,73 +0,0 @@ -/* -registerApplications.sqf -Usage: Registers applications for the Command and Control Module -Author: Glowbal - -Arguments: array [] -Returns: Void - -Affects: Clients -Executes: All Localities -*/ - -_r = profilenamespace getvariable ['Map_BLUFOR_R',0]; -_g = profilenamespace getvariable ['Map_BLUFOR_G',0.8]; -_b = profilenamespace getvariable ['Map_BLUFOR_B',1]; -_a = profilenamespace getvariable ['Map_BLUFOR_A',0.8]; -CSE_SIDE_WEST_COLOR = [_r,_g,_b,_a]; - -CSE_SIDE_EAST_COLOR = - [ - profilenamespace getvariable ['Map_OPFOR_R',0.5], - profilenamespace getvariable ['Map_OPFOR_G',0], - profilenamespace getvariable ['Map_OPFOR_B',0], - profilenamespace getvariable ['Map_OPFOR_A',0.8] - ]; - -_r = profilenamespace getvariable ['Map_Independent_R',0]; -_g = profilenamespace getvariable ['Map_Independent_G',1]; -_b = profilenamespace getvariable ['Map_Independent_B',1]; -_a = profilenamespace getvariable ['Map_OPFOR_A',0.8]; -CSE_SIDE_IND_COLOR = [_r,_g,_b,_a]; - -if (isDedicated) exitwith {}; - - ["home","","",1,[["Show BFT Icon","button","private '_var'; _var = [player] call cse_fnc_getTrackerInformation_CC; _var set [2, true]; player setvariable ['cse_bft_info_cc', _var, true]; ",0], ["Hide BFT Icon","button","private '_var'; _var = [player] call cse_fnc_getTrackerInformation_CC; _var set [2, false]; player setvariable ['cse_bft_info_cc', _var, true]; ",0]],[WEST,EAST,INDEPENDENT],"[_this select 0] call cse_fnc_openScreen_home_CC;", ["All"]]call cse_fnc_registerApp_CC; - - _sideBarCC_APP = [["Blue Force Tracking","label","",0], - ["Toggle Intel Layer","button","if (isnil 'CSE_TOGGLE_INTEL_LAYER_CC') then { CSE_TOGGLE_INTEL_LAYER_CC = true; } else { CSE_TOGGLE_INTEL_LAYER_CC = !CSE_TOGGLE_INTEL_LAYER_CC; };",0], - ["Toggle Route Layer","button","if (isnil 'CSE_TOGGLE_ROUTE_LAYER_CC') then { CSE_TOGGLE_ROUTE_LAYER_CC = true; } else { CSE_TOGGLE_ROUTE_LAYER_CC = !CSE_TOGGLE_ROUTE_LAYER_CC; };",0], - ["Toggle Callsigns","button","if (isnil 'CSE_TOGGLE_CALLSIGNS_CC') then { CSE_TOGGLE_CALLSIGNS_CC = true; } else { CSE_TOGGLE_CALLSIGNS_CC = !CSE_TOGGLE_CALLSIGNS_CC; };",0] - ]; - ["cc_app","C2","cse\cse_sys_cc\data\icons\map-icon.paa",0,_sideBarCC_APP,[WEST,EAST,INDEPENDENT],"[_this select 0,WEST] call cse_fnc_openScreen_cc_app_CC;", ["All"]] call cse_fnc_registerApp_CC; - - CSE_TOGGLE_CALLSIGNS_CC = true; - CSE_TOGGLE_ROUTE_LAYER_CC = true; - CSE_TOGGLE_INTEL_LAYER_CC = true; - -[] spawn { - waituntil { - CSE_TRACKER_ICONS = [] call cse_fnc_displayBFTSymbols_CC; - uisleep 5; - false; - }; -}; - - -if (CSE_ALLOW_LIVE_FEEDS_CC) then { - _sideBarCC_APP = [["Live Feed","label","",0], - ["Disconnect","button","[call cse_fnc_getCurrentDeviceName_CC, CSE_PREVIOUS_APPLICATION_CC] call cse_fnc_openScreen_CC; [call cse_fnc_getCurrentDeviceName_CC,'main', 'hidden'] call cse_fnc_setPiP_CC; ",0] - ]; - ["LiveFeed_Viewing","","", 1,_sideBarCC_APP,[WEST,EAST,INDEPENDENT],"if (!isNull CSE_LIVEFEED_TARGET_CC) then { if (CSE_LIVEFEED_TARGET_CC in allUnitsUAV) exitwith {}; if ([CSE_LIVEFEED_TARGET_CC, call cse_fnc_getCurrentDeviceName_CC] call cse_fnc_canViewFeed_CC) then {[_this select 0] call cse_fnc_openScreen_liveFeed_CC;} else {[_this select 0, 'LiveFeed_app'] call cse_fnc_openScreen_CC;}; };", ["All"]] call cse_fnc_registerApp_CC; - - - _sideBarCC_APP = [["Live Feed","label","",0], - ["Disconnect","button","[call cse_fnc_getCurrentDeviceName_CC, CSE_PREVIOUS_APPLICATION_CC] call cse_fnc_openScreen_CC; [call cse_fnc_getCurrentDeviceName_CC,'main', 'hidden'] call cse_fnc_setPiP_CC; ",0], - ["Take Control","button","if (!isNull CSE_LIVEFEED_TARGET_CC) then { if !(CSE_LIVEFEED_TARGET_CC in allUnitsUAV) exitwith {}; if ([CSE_LIVEFEED_TARGET_CC, call cse_fnc_getCurrentDeviceName_CC] call cse_fnc_canViewFeed_CC) then {[CSE_LIVEFEED_TARGET_CC] call cse_fnc_takeControlUAV_CC; }; };",0] - ]; - ["LiveFeed_Viewing_UAV","","", 1, _sideBarCC_APP,[WEST,EAST,INDEPENDENT],"if (!isNull CSE_LIVEFEED_TARGET_CC) then { if !(CSE_LIVEFEED_TARGET_CC in allUnitsUAV) exitwith {}; if ([CSE_LIVEFEED_TARGET_CC, call cse_fnc_getCurrentDeviceName_CC] call cse_fnc_canViewFeed_CC) then {[_this select 0] call cse_fnc_openScreen_liveFeed_CC;} else {[_this select 0, 'LiveFeed_app'] call cse_fnc_openScreen_CC;};};", ["All"]] call cse_fnc_registerApp_CC; - - - ["LiveFeed_app","TACNET","cse\cse_sys_cc\data\icons\icon_livefeed_app.paa", 0,[],[WEST,EAST,INDEPENDENT],"[_this select 0] call cse_fnc_openScreen_liveFeed_app_CC;", ["All"]] call cse_fnc_registerApp_CC; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/stringtable.xml b/TO_MERGE/cse/sys_cc/stringtable.xml deleted file mode 100644 index b25f4ec012..0000000000 --- a/TO_MERGE/cse/sys_cc/stringtable.xml +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - open BFT Tablet/PDA - Otwórz Tablet/PDA BFT - Abrir Tableta BFT/PDA - - - Opens the tablet or PDA from CC if you have one in your inventory. Tablet takes priority above PDA. - Otwiera tablet lub PDA z poziomu Konsoli Dowodzenia jeżeli posiadasz takowy na wyposażeniu. Tablet ma priorytet nad PDA. - Abre la Tableta o PDA desde CC si tienes una en el inventario. La Tableta tiene priorida sobre la PDA - - - - open On board BFT Device - Otwórz pokładowe urządzenie BFT - Abre el dispositivo BFT de a bordo - - - Opens the onboard BFT device of the vehicle the player is currently in, if available. - Otwiera pokładowe urządzenie BFT w pojeździe, w którym znajduje się gracz, jeżeli pojazd ten posiada takowe urzadzenie. - Abre el dispositivo BFT del vehículo del jugador, si estuviera disponible. - - - - - - Military Tablet (NATO) - Wojskowy Tablet (NATO) - Tableta Militar (OTAN) - - - Military Tablet (NATO) - Wojskowy Tablet (NATO) - Tableta Militar (OTAN) - - - Military Tablet (NATO) - Wojskowy Tablet (NATO) - Tableta Militar (OTAN) - - - - PDA (NATO) - PDA (NATO) - PDA (OTAN) - - - A PDA for use in the field (NATO) - Palmtop przystosowany do użytku w polu (NATO) - PDA para uso en el campo de batalla (OTAN) - - - A PDA, for use in the field (NATO) - Palmtop przystosowany do użytku w polu (NATO) - PDA para uso en el campo de batalla (OTAN) - - - - Military Tablet (UK/NATO) - Wojskowy Tablet (UK/NATO) - Tableta Militar (UK/OTAN) - - - A Tablet for use in the field (UK/NATO) - Tablet przystosowany do użytku w polu (UK/NATO) - Una Tableta para uso en el campo de batalla (UK/OTAN) - - - UK Tablet. Functions with NATO side. - Brytyjski Tablet. Współdziała dla strony NATO. - Tableta UK. Funciones del bando OTAN. - - - - Military Tablet (OPFOR) - Wojskowy Tablet (OPFOR) - Tableta Militar (OPFOR) - - - Military Tablet for OPFOR - Wojskowy Tablet dla strony OPFOR - Tableta Militar para OPFOR - - - OPFOR Tablet - Tablet OPFOR - Tableta Militar OPFOR - - - - PDA (OPFOR) - PDA (OPFOR) - PDA (OPFOR) - - - A PDA for use in the field (OPFOR) - Palmtop przystosowany do użytku w polu (OPFOR) - PDA para uso en el campo de batalla (OPFOR) - - - OPFOR PDA - PDA (OPFOR) - PDA OPFOR - - - - - Military Tablet (IND) - Wojskowy Tablet (IND) - Tableta Militar (IND) - - - Military Tablet for IND - Wojskowy Tablet dla strony INDFOR - Tableta Militar para IND - - - Independent Tablet - Wojskowy Tablet (IND) - Tableta del bando Independiente - - - - PDA (IND) - PDA (IND) - PDA (IND) - - - A PDA for use in the field (IND) - Palmtop przystosowany do użytku w polu (IND) - PDA para uso en el campo de batalla (IND) - - - Independent PDA - PDA (INDFOR) - PDA del bando Independiente - - - - Helmet Camera (NATO) - Kamera nahełmowa (NATO) - Cámara del Casco (OTAN) - - - Helmet Camera for NATO forces - Kamera nahełmowa dla sił NATO - Cámara del Casco para fuerzas de la OTAN - - - NATO Helmet Camera - Kamera nahełmowa NATO - Cámara del Casco OTAN - - - - Helmet Camera (OPFOR) - Kamera nahełmowa (OPFOR) - Cámara del Casco (OPFOR) - - - Helmet Camera for OPFOR forces - Kamera nahełmowa dla sił OPFOR - Cámara del Casco para fuerzas OPFOR - - - OPFOR Helmet Camera - Kamera nahełmowa OPFOR - Cámara del Casco OPFOR - - - - Helmet Camera (IND) - Kamera nahełmowa (IND) - Cámara del Casco (IND) - - - Helmet Camera for Independent - Kamera nahełmowa dla sił INDFOR - Cámara del Casco de los Independientes - - - IND Helmet Camera - Kamera nahełmowa INDFOR - Cámara del Casco IND - - - - - Blue Force Tracker (IND) - Blue Force Tracker (IND) - Blue Force Tracker (IND) - - - Blue Force Tracker for Independent - Blue Force Tracker dla strony INDFOR - Blue Force Tracker para Independentes - - - Blue Force Tracker (IND) - Blue Force Tracker (IND) - Blue Force Tracker (IND) - - - Blue Force Tracker (OPFOR) - Blue Force Tracker (OPFOR) - Blue Force Tracker (OPFOR) - - - Blue Force Tracker for OPFOR - Blue Force Tracker dla strony OPFOR - Blue Force Tracker para OPFOR - - - Blue Force Tracker (OPFOR) - Blue Force Tracker (OPFOR) - Blue Force Tracker (OPFOR) - - - Blue Force Tracker (BLUFOR) - Blue Force Tracker (BLUFOR) - Blue Force Tracker (BLUFOR) - - - Blue Force Tracker for BLUFOR - Blue Force Tracker dla strony BLUFOR - Blue Force Tracker para BLUFOR - - - Blue Force Tracker (BLUFOR) - Blue Force Tracker (BLUFOR) - Blue Force Tracker (BLUFOR) - - - - diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_editIntelMarker_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_editIntelMarker_CC.sqf deleted file mode 100644 index 8b5a5e147a..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_editIntelMarker_CC.sqf +++ /dev/null @@ -1,39 +0,0 @@ - -private ["_mpSync","_args","_nearest","_lastestCount","_pos","_count","_position"]; -_position = [_this, 0, [0,0,0], [[]],3] call BIS_fnc_param; -_nearest = 25; -_lastestCount = -1; - -_marker = []; -{ - _pos = (_x select 0); - if ((_pos distance _position) < _nearest) then { - _nearest = _pos distance _position; - _lastestCount = _foreachIndex; - _marker = _x; - }; -}foreach CSE_INTEL_MARKER_COLLECTION_CC; -if (_lastestCount < 0) exitwith {}; -_selection = _marker select 4; -_usedDesc = _marker select 5; -_inputDesc = if (_usedDesc) then { _marker select 1 select 1;} else { "" }; - -_device = call cse_fnc_getCurrentDeviceName_CC; -[_device,"open","SALUTE Report",format["[_this,%1,'intel', ([([] call cse_fnc_getCurrentDeviceName_CC)] call cse_fnc_getDeviceSide_CC)] call cse_fnc_updateMarker_CC",_position]] call cse_fnc_setPopUpMenu_CC; - -_opt = [ - ["Type:","combo","", - ["Infantry","Motorized","Plane","Helicopter","Armor","Naval","HQ","Medical","Maintanance","Artillery","Mortar","Service","Recon","Mechanized","uav","Installation","Unknown"], _selection select 0 - ], - ["Side:","combo","",["BLUFOR","OPFOR","GREENFOR","UNKNOWN"], _selection select 1], - ["direction:","combo","",["Static","North","North East","East","South East","South","South West","West","North West"], _selection select 2], - ["Size:","combo","",["Pax","Fire Team","Section","Platoon","Company","Battalion","Regiment", "Brigade"], _selection select 3], - ["","combo","",["1x","2x","3x","4x","5x","6x", "7x"], _selection select 4], - ["Description:","input",_inputDesc] - ]; -[_device,_opt] call cse_fnc_setPopUpOptions_CC; - -cse_fnc_updateMarker_CC = { - [CSE_CLICKED_ON_MAP_FOUND_INTELMARKER_CC] call cse_fnc_removeIntelMarker_CC; - _this call cse_fnc_placeMarker_CC; -}; diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getFirstAvailableOptionFieldMain_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getFirstAvailableOptionFieldMain_CC.sqf deleted file mode 100644 index e771e0b2bb..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getFirstAvailableOptionFieldMain_CC.sqf +++ /dev/null @@ -1,50 +0,0 @@ -/** - * fn_getFirstAvailableOptionFieldMain_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_LABEL_IDC 140 -#define START_COMBO_IDC 150 -#define START_BUTTON_IDC 160 -#define START_EDIT_IDC 171 -#define START_LB_IDC 180 - -private ["_deviceName","_display","_type","_idcStart","_return"]; -_deviceName = _this select 0; -_type = _this select 1; - - disableSerialization; - _display = uiNamespace getvariable _deviceName; - - _idcStart = switch (_type) do { - case "label": { - START_LABEL_IDC - }; - case "drop": { - START_COMBO_IDC - }; - case "button": { - START_BUTTON_IDC - }; - case "edit": { - START_EDIT_IDC - }; - case "lb": { - START_LB_IDC - }; - default {-1}; - }; - _return = controlNull; - for [{_i=_idcStart},{_i < _idcStart + 10},{_i=_i+1}] do { - _ctrl = (_display displayCtrl _i); - _foundPos = ctrlPosition _ctrl; - if (_foundPos select 2 <= 0) exitwith { - _return = _ctrl; - }; - }; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getFirstAvailableOptionField_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getFirstAvailableOptionField_CC.sqf deleted file mode 100644 index 082b309f7e..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getFirstAvailableOptionField_CC.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/** - * fn_getFirstAvailableOptionField_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_LABEL_IDC 40; -#define START_LB_IDC 50; -#define START_BUTTON_IDC 60; -#define START_EDIT_IDC 71; - -private ["_deviceName","_display","_type","_idcStart","_return"]; -_deviceName = _this select 0; -_type = _this select 1; - - disableSerialization; - _display = uiNamespace getvariable _deviceName; - - _idcStart = switch (_type) do { - case "label": { - START_LABEL_IDC - }; - case "drop": { - START_LB_IDC - }; - case "button": { - START_BUTTON_IDC - }; - case "edit": { - START_EDIT_IDC - }; - default {-1}; - }; - _return = controlNull; - for [{_i=_idcStart},{_i < _idcStart + 10},{_i=_i+1}] do { - _ctrl = (_display displayCtrl _i); - _foundPos = ctrlPosition _ctrl; - if (_foundPos select 2 <= 0) exitwith { - _return = _ctrl; - }; - }; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getMainOptionFieldCtrl_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getMainOptionFieldCtrl_CC.sqf deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getNavBarRatio_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getNavBarRatio_CC.sqf deleted file mode 100644 index c694eaf448..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getNavBarRatio_CC.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_getNavBarRatio_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings"]; -_deviceName = _this select 0; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_settings set[3,(_settings select 3) / 13]; - -_settings \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getOptionFieldOnPos_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getOptionFieldOnPos_CC.sqf deleted file mode 100644 index 1740122ded..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getOptionFieldOnPos_CC.sqf +++ /dev/null @@ -1,60 +0,0 @@ -/** - * fn_getOptionFieldOnPos_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_LABEL_IDC 40; -#define START_LB_IDC 50; -#define START_BUTTON_IDC 60; -#define START_EDIT_IDC 71; - -private ["_deviceName","_settings","_display","_pos","_ctrl","_options","_idcStart","_ctrlPosition","_return","_possibleTypes","_sideBarHeight","_buttonHeightwithSpacing","_buttonSpacing","_buttonHeight","_maxPositions"]; -_deviceName = _this select 0; -_pos = _this select 1; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_sideBarRatio = [_deviceName] call cse_fnc_getSideBarRatio_CC; -_navBarRatio = [_deviceName] call cse_fnc_getNavBarRatio_CC; -_maxPositions = (_settings select 3) / 0.05; -_maxPositions = 12; -_sideBarHeight = _sideBarRatio select 3; -_buttonHeightwithSpacing = _sideBarHeight / _maxPositions; -_buttonSpacing = _buttonHeightwithSpacing / 20; -_buttonHeight = _buttonHeightwithSpacing - _buttonSpacing; - -_ctrlPosition = [(_sideBarRatio select 0) + 0.001, (_sideBarRatio select 1) + (_navBarRatio select 3)/1.5, (_sideBarRatio select 2) - 0.002, _buttonHeight]; -_ctrlPosition set[1, (_ctrlPosition select 1) + (_pos * (_buttonHeight + _buttonSpacing))+ 0.002]; - -_display = uiNamespace getvariable _deviceName; -_return = controlNull; - - _possibleTypes = ["label","drop","button","edit"]; - { - _idcStart = switch (_x) do { - case "label": { - START_LABEL_IDC - }; - case "drop": { - START_LB_IDC - }; - case "button": { - START_BUTTON_IDC - }; - case "edit": {START_EDIT_IDC}; - default {-1}; - }; - private ["_i","_foundPos"]; - for [{_i=_idcStart},{_i < _idcStart + 10},{_i=_i+1}] do { - _ctrl = (_display displayCtrl _i); - _foundPos = ctrlPosition _ctrl; - - if (((_foundPos select 0 == _ctrlPosition select 0) && (_foundPos select 1 == _ctrlPosition select 1) && (_foundPos select 2 == _ctrlPosition select 2) && (_foundPos select 3 == _ctrlPosition select 3))) then { - _return = _ctrl; - }; - }; - }foreach _possibleTypes; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getPopUpRatio_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getPopUpRatio_CC.sqf deleted file mode 100644 index e4060260ec..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getPopUpRatio_CC.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_getPopUpRatio_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_spacingSide","_spacingTop","_widthOfPopUp","_heightOfPopUp"]; - disableSerialization; - _deviceName = (call cse_fnc_getCurrentDeviceName_CC); - _settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; - _spacingSide = (_settings select 2) / 10; - _spacingTop = (_settings select 3) / 10; - _widthOfPopUp = ((_settings select 2)) - (_spacingSide * 2); - _heightOfPopUp = ((_settings select 3)) - (_spacingTop * 2); - -([(_settings select 0) + _spacingSide, (_settings select 1) + _spacingTop,_widthOfPopUp, _heightOfPopUp]) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getSideBarOptionFields_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getSideBarOptionFields_CC.sqf deleted file mode 100644 index 3a7c478524..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getSideBarOptionFields_CC.sqf +++ /dev/null @@ -1,50 +0,0 @@ -/** - * fn_getSideBarOptionFields_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_currentApp","_cfg","_return","_posCounter","_pos"]; -_deviceName = _this select 0; -_return = []; -_currentApp = call cse_fnc_getCurrentApplication_CC; -_posCounter = 0; - -if (isnil 'CSE_REGISTERED_DEVICES_CC') then { - CSE_REGISTERED_DEVICES_CC = []; -}; - -{ - if (_x select 0 == _currentApp) exitwith { - { - private ["_text","_type","_action","_newOptionField"]; - _text = _x select 0; - _type = _x select 1; - _action = _x select 2; - _pos = _x select 3; - _option = [_text,_type,_action]; - - if (_pos < _posCounter) then { - _pos = _posCounter; - }; - if (_posCounter < _pos) then { - _posCounter = _pos; - }; - - - if (_type == "drop") then { - private ["_values","_valueCfg"]; - _values = (_x select 4); - _option set[3,_values]; - }; - _newOptionField = [_pos,_option]; - _return pushback _newOptionField; - _posCounter = _posCounter + 1; - }foreach (_x select 4); - }; -}foreach CSE_REGISTERED_APPLICATIONS_CC; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getSideBarRatio_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getSideBarRatio_CC.sqf deleted file mode 100644 index ea98c02ed2..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_getSideBarRatio_CC.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/** - * fn_getSideBarRatio_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl"]; -_deviceName = _this select 0; - -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_navBarSettings = [_deviceName] call cse_fnc_getNavBarRatio_CC; - -_sideBarFullScreen = { - private["_deviceName","_cfg","_allowSideBar"]; - _deviceName = _this select 0; - - _allowSidebar = 0; - if (isnil 'CSE_REGISTERED_DEVICES_CC') then { - CSE_REGISTERED_DEVICES_CC = []; - }; - - { - if (_x select 0 == _deviceName) exitwith { - _allowSidebar = _x select 2; - }; - }foreach CSE_REGISTERED_DEVICES_CC; - _allowSidebar -}; - -_sideBarN = ([_deviceName] call _sideBarFullScreen); -_return = switch (_sideBarN) do { - case 1: {[(_settings select 0) + ((_settings select 2)-((_settings select 2) / 4.5)), (_settings select 1) + (_navBarSettings select 3)/2, (_settings select 2)/4.5, (_settings select 3) - (_navBarSettings select 3)/2]}; - case 2: {[(_settings select 0) + ((_settings select 2)-((_settings select 2) / 1.5)), (_settings select 1)+ (_navBarSettings select 3)/2, (_settings select 2)/1.5, (_settings select 3) - (_navBarSettings select 3)/2]}; - case 3: {[_settings select 0, (_settings select 1)+ (_navBarSettings select 3)/2, _settings select 2, (_settings select 3) - (_navBarSettings select 3)/2]}; - default {[0,0,0,0]}; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isMapOpen_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isMapOpen_CC.sqf deleted file mode 100644 index 30499de28d..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isMapOpen_CC.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_isMapOpen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_return","_idc"]; -_deviceName = _this select 0; -_selected = _this select 1; -_display = uiNamespace getvariable _deviceName; -_idc = switch (_selected) do { - case "main": {10}; - case "sidebar": {11}; - default {10}; -}; -!((ctrlPosition ((_display displayCtrl _idc)) select 0 == 0) && ((ctrlPosition (_display displayCtrl _idc)) select 1 == 0)) diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isOpenBottomBar_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isOpenBottomBar_CC.sqf deleted file mode 100644 index bdbf29babc..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isOpenBottomBar_CC.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_isOpenBottomBar_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_return","_idc"]; -_deviceName = _this select 0; -_display = uiNamespace getvariable _deviceName; -_idc = 155; -!((ctrlPosition ((_display displayCtrl _idc)) select 0 == 0) && ((ctrlPosition (_display displayCtrl _idc)) select 2 == 0)) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isPiPOpen_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isPiPOpen_CC.sqf deleted file mode 100644 index 6f89467f3b..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isPiPOpen_CC.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_isPiPOpen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_return","_idc"]; -_deviceName = _this select 0; -_selected = _this select 1; -_display = uiNamespace getvariable _deviceName; -_idc = switch (_selected) do { - case "main": {20}; - case "sidebar": {21}; - default {20}; -}; -!((ctrlPosition ((_display displayCtrl _idc)) select 0 == 0) && ((ctrlPosition (_display displayCtrl _idc)) select 2 == 0)) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isPopUpOpen_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isPopUpOpen_CC.sqf deleted file mode 100644 index 77ac0b510b..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isPopUpOpen_CC.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fn_isPopUpOpen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName"]; -_deviceName = _this select 0; - - disableSerialization; - _display = uiNamespace getvariable _deviceName; - _backGroundCtrl = (_display displayCtrl 150); - _return = false; - { - if (_x != 0) then { - _return = true; - }; - }foreach (ctrlPosition _backGroundCtrl); - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isSelectMenuOpen_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isSelectMenuOpen_CC.sqf deleted file mode 100644 index 5313bd636f..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_isSelectMenuOpen_CC.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_isSelectMenuOpen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_IDC 260 -#define NUMBER_OF_IC 9 - -private ["_deviceName","_display"]; -_deviceName = _this select 0; -_display = uiNamespace getvariable _deviceName; - - -(((ctrlPosition (_display displayCtrl START_IDC)) select 2) != 0) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_popUpAccept_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_popUpAccept_CC.sqf deleted file mode 100644 index 6102fe4151..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_popUpAccept_CC.sqf +++ /dev/null @@ -1,78 +0,0 @@ -/** - * fn_popUpAccept_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_IDC_LABEL 240 -#define START_IDC_COMBO 250 -#define START_IDC_BTN 260 -#define START_IDC_LIST 280 -#define START_IDC_INPUT 270 - -private ["_deviceName","_display","_ctrlBtn","_ctrlLbl","_ctrlCmbo","_return","_name","_type","_action","_ctrlRight","_ctrlLeft","_content","_ctrlInput"]; -_deviceName = _this select 0; - -disableSerialization; -_display = uiNamespace getvariable _deviceName; - -_ctrlBtn = START_IDC_BTN; -_ctrlLbl = START_IDC_LABEL; -_ctrlCmbo = START_IDC_COMBO; -_ctrlInput = START_IDC_INPUT; -_return = []; -_selectables = []; -{ - _name = _x select 0; - _type = _x select 1; - _action = _x select 2; - - switch (_type) do { - case "btn": { - _ctrlRight = (_display displayCtrl _ctrlBtn); - _ctrlBtn = _ctrlBtn + 1; - _selectables pushback -1; - }; - case "label": { - _ctrlRight = (_display displayCtrl _ctrlLbl); - _ctrlLbl = _ctrlLbl + 1; - _selectables pushback -1; - }; - case "combo": { - _ctrlRight = (_display displayCtrl _ctrlCmbo); - _ctrlLeft = (_display displayCtrl _ctrlLbl); - _ctrlCmbo = _ctrlCmbo + 1; - _ctrlLbl = _ctrlLbl + 1; - - _content = (_x select 3); - if (isnil "_content") then { - _content = []; - }; - if (typeName _content != typeName []) then { - _content = []; - }; - - _selected = lbCurSel _ctrlRight; - if (_selected <0) then { - _selected = 0; - }; - _value = (_content select _selected); - _return pushback _value; - _selectables pushback _selected; - }; - case "input": { - _ctrlRight = (_display displayCtrl _ctrlInput); - _ctrlInput = _ctrlInput + 1; - _return pushback (ctrlText _ctrlRight); - _selectables pushback -1; - }; - default {}; - }; -}foreach CSE_POP_UP_OPTIONS_CC; -_return pushback _selectables; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_removeOptionField_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_removeOptionField_CC.sqf deleted file mode 100644 index 094de05005..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_removeOptionField_CC.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/** - * fn_removeOptionField_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_LABEL_IDC 40; -#define START_LB_IDC 50; -#define START_BUTTON_IDC 60; - - -private ["_deviceName","_pos","_return","_ctrl"]; -_deviceName = _this select 0; -_pos = _this select 1; -_ctrl = [_deviceName,_pos] call cse_fnc_getOptionFieldOnPos_CC; -_ctrl ctrlSetPosition [0,0,0,0]; -_ctrl ctrlCommit 0; - -_ctrl \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_removeSelectMenu_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_removeSelectMenu_CC.sqf deleted file mode 100644 index 87a62354fc..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_removeSelectMenu_CC.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_removeSelectMenu_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_IDC 260 -#define NUMBER_OF_IC 9 - - -private ["_deviceName","_display"]; -_deviceName = _this select 0; -_display = uiNamespace getvariable _deviceName; - -for [{_i=START_IDC},{_i < START_IDC + NUMBER_OF_IC},{_i=_i+1}] do { - (_display displayCtrl _i) ctrlSetPosition [0,0,0,0]; - (_display displayCtrl _i) ctrlCommit 0; -}; diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setBackground_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setBackground_CC.sqf deleted file mode 100644 index d042548c4e..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setBackground_CC.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/** - * fn_setBackground_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl","_newBackGround"]; -_deviceName = _this select 0; -_pos = _this select 1; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; - - -disableSerialization; -_display = uiNamespace getvariable _deviceName; -_ctrl = (_display displayCtrl 1); - -_newPos = switch (_pos) do { - case "full": {_settings}; - case "hidden": {[0,0,0,0]}; -}; - -_newBackGround = "cse\cse_sys_cc\data\empty_background2.paa"; -if (count _this > 2) then { - _newBackGround = switch (_this select 2) do { - case "black": {"cse\cse_sys_cc\data\black_background.paa"}; - default {"cse\cse_sys_cc\data\empty_background2.paa"}; - }; -}; - -_ctrl ctrlSetText _newBackGround; -_ctrl ctrlsetPosition _newPos; -_ctrl ctrlCommit 0; diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setBottomBar_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setBottomBar_CC.sqf deleted file mode 100644 index b15d094f93..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setBottomBar_CC.sqf +++ /dev/null @@ -1,65 +0,0 @@ -/** - * fn_setBottomBar_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl","_newBackGround"]; -_deviceName = _this select 0; -_pos = _this select 1; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_settings set[1,(_settings select 1) + (_settings select 3) - ((_settings select 3) / 13)]; -_settings set[3,(_settings select 3) / 13]; - -disableSerialization; -_display = uiNamespace getvariable _deviceName; -_ctrl = (_display displayCtrl 155); - -_newPos = switch (_pos) do { - case "show": {_settings}; - case "hidden": {[0,0,0,0]}; -}; -_ctrl ctrlsetPosition _newPos; -_ctrl ctrlCommit 0; - -_ctrl = (_display displayCtrl 156); -_ctrl ctrlsetPosition _newPos; -_ctrl ctrlSetText ""; -_ctrl ctrlCommit 0; - -if (_pos == "Show") then { - [_deviceName] spawn { - _deviceName = _this select 0; - disableSerialization; - _display = uiNamespace getvariable _deviceName; - _ctrl = (_display displayCtrl 156); - _mapCtrl = (_display displayCtrl 10); - if (isnil "CSE_MOUSE_RELATIVE_POSITION") then { - CSE_MOUSE_RELATIVE_POSITION = [0,0]; - }; - - while {([_deviceName] call cse_fnc_isOpenBottomBar_CC)} do { - if !([_deviceName, "main"] call cse_fnc_isPiPOpen_CC) then { - _WorldCoord = _mapCtrl posScreenToWorld CSE_MOUSE_RELATIVE_POSITION; - _WorldCoord set [2, 0]; - _mousePosition = mapGridPosition _WorldCoord; - _positionPlayer = mapGridPosition player; - _playerPos = getPos player; - _playerPos set [2, 0]; - _ctrl ctrlSetText format["CUR: %1 TAG: %2 DIS: %3",_positionPlayer,_mousePosition, _playerPos distance _WorldCoord]; - } else { - _targetPos = getPos CSE_LIVEFEED_TARGET_CC; - _targetPos set [2, 0]; - _mousePosition = mapGridPosition _targetPos; - _positionPlayer = mapGridPosition player; - _playerPos = getPos player; - _playerPos set [2, 0]; - _ctrl ctrlSetText format["CUR: %1 TAG: %2 DIS: %3",_positionPlayer,_mousePosition, _playerPos distance _targetPos]; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setMainOptionField_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setMainOptionField_CC.sqf deleted file mode 100644 index 0ba7c73878..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setMainOptionField_CC.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_setMainOptionField_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl","_options","_buttonHeightwithSpacing","_sideBarHeight","_buttonHeight","_buttonSpacing"]; -_deviceName = _this select 0; -_pos = round(_this select 1); -_options = _this select 2; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_sideBarRatio = [_deviceName] call cse_fnc_getSideBarRatio_CC; -_navBarRatio = [_deviceName] call cse_fnc_getNavBarRatio_CC; -_maxPositions = (_settings select 3) / 0.05; -_maxPositions = 12; diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setMap_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setMap_CC.sqf deleted file mode 100644 index 55737c4cbd..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setMap_CC.sqf +++ /dev/null @@ -1,80 +0,0 @@ -/** - * fn_setMap_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl","_newPos"]; -_deviceName = _this select 0; -_selected = _this select 1; -_pos = _this select 2; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; - -disableSerialization; -_display = uiNamespace getvariable _deviceName; - -_idc = switch (_selected) do { - case "main": {10}; - case "sidebar": {11}; - default {10}; -}; - -_ctrl = (_display displayCtrl _idc); - -_sideBarRatio = [_deviceName] call cse_fnc_getSideBarRatio_CC; -_navBarRatio = [_deviceName] call cse_fnc_getNavBarRatio_CC; -_navBarHeight = _navBarRatio select 3; -_sideBarWidth = _sideBarRatio select 2; - - -_fullScreenSideBar = [_settings select 0,(_settings select 1) + _navBarHeight, (_settings select 2) - _sideBarWidth, (_settings select 3) - (_navBarHeight*2)]; -_fullScreenNoSideBar = [_settings select 0,(_settings select 1) + _navBarHeight, (_settings select 2), (_settings select 3) - (_navBarHeight*2)]; - -_newPos = switch (_pos) do { - case "full": { - [_deviceName,"show"] call cse_fnc_setBottomBar_CC; - if ([_deviceName] call cse_fnc_isSideBarOpen_CC) then { - _fullScreenSideBar - } else { - _fullScreenNoSideBar - }; - }; - default { /* includes hidden */ - [_deviceName,"hidden"] call cse_fnc_setBottomBar_CC; - [0,0,0,0] - }; -}; -if (_selected == "sidebar") then { - _sideBarMapWidth = _sideBarWidth - 0.02; - _sideBarMapHeight = ((_sideBarRatio select 3) / 12) * 2; - _newPos = switch (_pos) do { - case "top": {[(_sideBarRatio select 0) + 0.01 , (_settings select 1) + _navBarHeight + _sideBarMapWidth,_sideBarMapWidth, _sideBarMapHeight]}; - case "center": {[(_sideBarRatio select 0) + 0.01, (_settings select 1) + (_sideBarRatio select 3) - _sideBarMapWidth*2,_sideBarMapWidth, _sideBarMapHeight]}; - case "bottom": {[(_sideBarRatio select 0) + 0.01, (_settings select 1) + (_sideBarRatio select 3) - _sideBarMapWidth,_sideBarMapWidth, _sideBarMapHeight]}; - case "hidden": {[0,0,0,0]}; - default {[0,0,0,0]}; - }; - if (_pos == "invisable" || _pos == "visable") then { - _newPos = ctrlPosition _ctrl; - if (_pos == "invisable") then { - _ctrl ctrlShow false; - } else { - _ctrl ctrlShow true; - }; - }; -}; -_ctrl ctrlsetPosition _newPos; -_ctrl ctrlCommit 0; -_ctrl ctrlEnable true; -if (_selected == "sidebar" && !(_pos == "visable" || _pos == "invisable" || _pos == "hidden")) then { - if ([_deviceName] call cse_fnc_isSideBarOpen_CC) then { - [_deviceName,"sidebar","visable"] call cse_fnc_setMap_CC; - } else { - [_deviceName,"sidebar","invisable"] call cse_fnc_setMap_CC; - }; -}; -_ctrl \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setNavBar_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setNavBar_CC.sqf deleted file mode 100644 index 402f494afd..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setNavBar_CC.sqf +++ /dev/null @@ -1,73 +0,0 @@ - - -private ["_deviceName","_settings","_display","_pos","_ctrl", "_moment", "_lastNumber"]; -_deviceName = _this select 0; -_pos = _this select 1; -_settings = [_deviceName] call cse_fnc_getNavBarRatio_CC; - -disableSerialization; -_display = uiNamespace getvariable _deviceName; -_ctrl = (_display displayCtrl 3); - -_newPos = switch (_pos) do { - case "top": {_settings}; - case "hidden": {[0,0,0,0]}; -}; -_ctrl ctrlsetPosition _newPos; -_ctrl ctrlCommit 0; - -_allowsideBar = { - private["_deviceName","_cfg","_allowSideBar"]; - _deviceName = _this select 0; - _allowSidebar = 0; - if (isnil 'CSE_REGISTERED_DEVICES_CC') then { - CSE_REGISTERED_DEVICES_CC = []; - }; - - { - if (_x select 0 == _deviceName) exitwith { - _allowSidebar = _x select 2; - }; - }foreach CSE_REGISTERED_DEVICES_CC; - (_allowSidebar > 0) -}; - -if ([_deviceName] call _allowsideBar) then { - _openSideBarCtrl = (_display displayCtrl 4); - _openSideBarCtrl ctrlSetPosition [ - (_settings select 0) + (( _settings select 2) - (_settings select 3)), - (_settings select 1), - (_settings select 3), - (_settings select 3) - ]; - _openSideBarCtrl ctrlCommit 0; - _openSideBarCtrl ctrlSetEventHandler ["ButtonClick", format["['%1','toggle'] call cse_fnc_setSideBar_CC;",_deviceName]]; -}; - -_navBarIconHomeCtrl = (_display displayCtrl 199); -_navBarIconHomeCtrl ctrlSetPosition [(_settings select 0),(_settings select 1),(_settings select 3),(_settings select 3)]; -_navBarIconHomeCtrl ctrlSetText "cse\cse_sys_cc\data\home_icon.paa"; -_navBarIconHomeCtrl ctrlCommit 0; - -(_display displayCtrl 198) ctrlSetPosition [(_settings select 0),(_settings select 1),(_settings select 3),(_settings select 3)]; -(_display displayCtrl 198) ctrlCommit 0; -(_display displayCtrl 198) ctrlSetEventHandler ["ButtonClick", format["['%1','home'] call cse_fnc_openScreen_CC;",_deviceName]]; - -_infoLabelCtrl = (_display displayCtrl 5); -_infoLabelCtrl ctrlSetPosition [ - (_settings select 0), - (_settings select 1),(_settings select 2) - (_settings select 3),(_settings select 3) -]; -_infoLabelCtrl ctrlCommit 0; -[_infoLabelCtrl] spawn { - disableSerialization; - _infoLabelCtrl = _this select 0; - while {dialog} do { - _lastNumber = date select 4; - _moment = format["%1:%2",date select 3, _lastNumber]; - if (_lastNumber < 10) then { - _moment = format["%1:0%2",date select 3, _lastNumber]; - }; - _infoLabelCtrl ctrlSetText _moment; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setOptionField_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setOptionField_CC.sqf deleted file mode 100644 index 1acc9cb491..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setOptionField_CC.sqf +++ /dev/null @@ -1,79 +0,0 @@ -/** - * fn_setOptionField_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl","_options","_buttonHeightwithSpacing","_sideBarHeight","_buttonHeight","_buttonSpacing"]; -_deviceName = _this select 0; -_pos = round(_this select 1); -_options = _this select 2; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_sideBarRatio = [_deviceName] call cse_fnc_getSideBarRatio_CC; -_navBarRatio = [_deviceName] call cse_fnc_getNavBarRatio_CC; -_maxPositions = (_settings select 3) / 0.05; -_maxPositions = 12; - -_sideBarHeight = _sideBarRatio select 3; -_buttonHeightwithSpacing = _sideBarHeight / _maxPositions; -_buttonSpacing = _buttonHeightwithSpacing / 20; -_buttonHeight = _buttonHeightwithSpacing - _buttonSpacing; - -_type = _options select 1; - -if (((_pos < 0) || _pos >= _maxPositions) && !(_type == "map")) exitwith {}; - - disableSerialization; - _display = uiNamespace getvariable _deviceName; - _ctrlPosition = [(_sideBarRatio select 0) + 0.001, (_sideBarRatio select 1) + (_navBarRatio select 3)/ 1.5, (_sideBarRatio select 2) - 0.002, _buttonHeight]; - _ctrlPosition set[1, (_ctrlPosition select 1) + (_pos * (_buttonHeight + _buttonSpacing))+ 0.002]; - //_ctrlPosition set[2, 0.2]; - //_ctrlPosition set[3,0.04]; - - _labelText = _options select 0; - - [_deviceName,_pos] call cse_fnc_removeOptionField_CC; - _ctrl = [_deviceName,_type] call cse_fnc_getFirstAvailableOptionField_CC; - _ctrl ctrlSetPosition _ctrlPosition; - //_ctrl ctrlSetFontHeight _buttonHeight; - - switch (_type) do { - case "label": { - _ctrl ctrlSetText _labelText; - }; - case "edit": { - _ctrl ctrlSetText ""; - }; - case "drop": { - private ["_index","_availableSelection"]; - _availableSelection = _options select 3; - lbClear _ctrl; - if (count _availableSelection > 0) then { - _index = 0; - { - _ctrl lbadd (_x select 0); - _ctrl lbSetData [_index, (_x select 1)]; - _index = _index + 1; - }foreach _availableSelection; - } else { - //private ["_refill"]; - //_refill = getText ((_cfg select _i) >> "refill"); - //[_deviceName, _ctrl] call compile _refill; - }; - _ctrl ctrlSetEventHandler ["LBSelChanged", format["['%1',_this] call %2;",_deviceName,compile (_options select 2)]]; - }; - case "button": { - _ctrl ctrlSetText _labelText; - _ctrl ctrlSetEventHandler ["ButtonClick", format["['%1',_this] call %2;",_deviceName,compile (_options select 2)]]; - }; - case "map": { - [_deviceName,"sidebar","bottom"] call cse_fnc_setMap_CC; - }; - default {}; - }; - _ctrl ctrlCommit 0; -_ctrl \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPiP_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPiP_CC.sqf deleted file mode 100644 index 3f4a671a8e..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPiP_CC.sqf +++ /dev/null @@ -1,81 +0,0 @@ -/** - * fn_setPiP_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl","_newPos"]; -_deviceName = _this select 0; -_selected = _this select 1; -_pos = _this select 2; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; - -disableSerialization; -_display = uiNamespace getvariable _deviceName; - -_idc = switch (_selected) do { - case "main": {20}; - case "sidebar": {21}; - default {20}; -}; - -_ctrl = (_display displayCtrl _idc); - -_sideBarRatio = [_deviceName] call cse_fnc_getSideBarRatio_CC; -_navBarRatio = [_deviceName] call cse_fnc_getNavBarRatio_CC; -_navBarHeight = _navBarRatio select 3; -_sideBarWidth = _sideBarRatio select 2; - - -_fullScreenSideBar = [_settings select 0,(_settings select 1) + _navBarHeight, (_settings select 2) - _sideBarWidth, (_settings select 3) - (_navBarHeight*2)]; -_fullScreenNoSideBar = [_settings select 0,(_settings select 1) + _navBarHeight, (_settings select 2), (_settings select 3) - (_navBarHeight*2)]; - -_newPos = switch (_pos) do { - case "full": { - [_deviceName,"show"] call cse_fnc_setBottomBar_CC; - if ([_deviceName] call cse_fnc_isSideBarOpen_CC) then { - _fullScreenSideBar - } else { - _fullScreenNoSideBar - }; - }; - default { /* includes hidden */ - [_deviceName,"hidden"] call cse_fnc_setBottomBar_CC; - [0,0,0,0] - }; -}; -if (_selected == "sidebar") then { - _sideBarMapWidth = _sideBarWidth - 0.02; - _sideBarMapHeight = ((_sideBarRatio select 3) / 12) * 2; - _newPos = switch (_pos) do { - case "top": {[(_sideBarRatio select 0) + 0.01 , (_settings select 1) + _navBarHeight + _sideBarMapWidth,_sideBarMapWidth, _sideBarMapHeight]}; - case "center": {[(_sideBarRatio select 0) + 0.01, (_settings select 1) + (_sideBarRatio select 3) - _sideBarMapWidth*2,_sideBarMapWidth, _sideBarMapHeight]}; - case "bottom": {[(_sideBarRatio select 0) + 0.01, (_settings select 1) + (_sideBarRatio select 3) - _sideBarMapWidth,_sideBarMapWidth, _sideBarMapHeight]}; - case "hidden": {[0,0,0,0]}; - default {[0,0,0,0]}; - }; - if (_pos == "invisable" || _pos == "visable") then { - _newPos = ctrlPosition _ctrl; - if (_pos == "invisable") then { - _ctrl ctrlShow false; - } else { - _ctrl ctrlShow true; - }; - }; -}; -_ctrl ctrlsetPosition _newPos; -_ctrl ctrlCommit 0; -_ctrl ctrlEnable true; - -if (_selected == "sidebar" && !(_pos == "visable" || _pos == "invisable" || _pos == "hidden")) then { - if ([_deviceName] call cse_fnc_isSideBarOpen_CC) then { - [_deviceName,"sidebar","visable"] call cse_fnc_setPiP_CC; - } else { - [_deviceName,"sidebar","invisable"] call cse_fnc_setPiP_CC; - }; -}; -_ctrl \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPopUpMenu_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPopUpMenu_CC.sqf deleted file mode 100644 index e16ac1f669..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPopUpMenu_CC.sqf +++ /dev/null @@ -1,102 +0,0 @@ -/** - * fn_setPopUpMenu_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_toggle","_deviceName","_position","_display","_backGroundCtrl"]; -_deviceName = _this select 0; -_toggle = _this select 1; - - -//if (([_deviceName] call cse_fnc_isPopUpOpen_CC) && _toggle == "open") exitwith { }; - -disableSerialization; -_display = uiNamespace getvariable _deviceName; -_backGroundCtrl = (_display displayCtrl 150); -_headerCtrl = (_display displayCtrl 151); -_headerTitle = (_display displayCtrl 152); - -_buttonClose = (_display displayCtrl 154); -_buttonAccept = (_display displayCtrl 153); -if (_toggle == "open") then { - disableSerialization; - - //_navBarSettings = [_deviceName] call cse_fnc_getNavBarRatio_CC; - if ([_deviceName] call cse_fnc_isSideBarOpen_CC) then { - [_deviceName,"hidden"] call cse_fnc_setSideBar_CC; - }; - (_display displayCtrl 10) ctrlEnable false; - - _settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; - _spacingSide = (_settings select 2) / 10; - _spacingTop = (_settings select 3) / 10; - _widthOfPopUp = ((_settings select 2)) - (_spacingSide * 2); - _heightOfPopUp = ((_settings select 3)) - (_spacingTop * 2); - - _newPos = [(_settings select 0) + _spacingSide, (_settings select 1) + _spacingTop,_widthOfPopUp, _heightOfPopUp]; - _backGroundCtrl ctrlSetPosition _newPos; - _backGroundCtrl ctrlCommit 0; - - _newPos set [3,_heightOfPopUp / 10]; - _headerCtrl ctrlSetPosition _newPos; - _headerCtrl ctrlCommit 0; - - _headerTitle ctrlSetPosition _newPos; - _headerTitle ctrlCommit 0; - - _newPos set [1, (_newPos select 1) + (_heightOfPopUp - (_heightOfPopUp / 10))]; - _newPos set [2, (_newPos select 2) / 2]; - _buttonClose ctrlSetPosition _newPos; - _buttonClose ctrlCommit 0; - - _newPos set [0, (_newPos select 0) + (_newPos select 2)]; - _buttonAccept ctrlSetPosition _newPos; - _buttonAccept ctrlCommit 0; - - _title = _this select 2; - if (isnil "_title") then { - _title = ""; - }; - if (typeName _title != typeName "") then { - _title = ""; - }; - ctrlSetText[152,_title]; - - - _buttonClose ctrlSetEventHandler ["ButtonClick", format["['%1','close'] call cse_fnc_setPopUpMenu_CC",_deviceName]]; - - _onAccept = (_this select 3); - if (isnil "_onAccept") then { - _onAccept = ""; - }; - if (typeName _onAccept != typeName "") then { - _onAccept = ""; - }; - _buttonAccept ctrlSetEventHandler ["ButtonClick", format["(['%1'] call cse_fnc_popUpAccept_CC) call %2; ['%1','close'] call cse_fnc_setPopUpMenu_CC;",_deviceName,compile _onAccept]]; - - [_deviceName, (_display displayCtrl 10)] spawn { - waituntil {!([_this select 0] call cse_fnc_isPopUpOpen_CC)}; - (_this select 1) ctrlEnable true; - }; -} else { - _newPos = [0,0,0,0]; - _backGroundCtrl ctrlSetPosition _newPos; - _backGroundCtrl ctrlCommit 0; - _headerCtrl ctrlSetPosition _newPos; - _headerCtrl ctrlCommit 0; - _headerTitle ctrlSetPosition _newPos; - _headerTitle ctrlCommit 0; - - _buttonClose ctrlSetPosition _newPos; - _buttonClose ctrlCommit 0; - - _buttonAccept ctrlSetPosition _newPos; - _buttonAccept ctrlCommit 0; - ctrlSetText[152,""]; - [_deviceName,[]] call cse_fnc_setPopUpOptions_CC; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPopUpOptions_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPopUpOptions_CC.sqf deleted file mode 100644 index a655ab3ba6..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setPopUpOptions_CC.sqf +++ /dev/null @@ -1,132 +0,0 @@ -/** - * fn_setPopUpOptions_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_IDC_LABEL 242 -#define START_IDC_COMBO 250 -#define START_IDC_BTN 260 -#define START_IDC_LIST 280 -#define START_IDC_INPUT 270 - -private["_deviceName","_options","_display","_settings","_spacingSide", "_spacingTop","_positionLeft","_positionRight","_widthOfPopUp","_heightOfPopUp","_ctrl","_ctrlInput", "_select"]; -_deviceName = _this select 0; -_options = _this select 1; - -_settings = ([_deviceName] call cse_fnc_getDeviceSettings_CC); -_spacingSide = (_settings select 2) / 10; -_spacingTop = (_settings select 3) / 10; -_widthOfPopUp = ((_settings select 2)) - (_spacingSide * 2); -_heightOfPopUp = ((_settings select 3)) - (_spacingTop * 2); - -_positionLeft = [(_settings select 0) + _spacingSide + 0.01, (_settings select 1) + _spacingTop + (_heightOfPopUp / 10),(_widthOfPopUp / 2) - 0.02, _heightOfPopUp / 10]; -_positionRight = [(_settings select 0) + _spacingSide + 0.01 + (_widthOfPopUp / 2), (_settings select 1) + _spacingTop + (_heightOfPopUp / 10),(_widthOfPopUp / 2) - 0.02, _heightOfPopUp / 10]; - -_increasePerTime = (_heightOfPopUp / 10) + 0.01; -disableSerialization; -_display = uiNamespace getvariable _deviceName; - -_ctrlBtn = START_IDC_BTN; -_ctrlLbl = START_IDC_LABEL; -_ctrlCmbo = START_IDC_COMBO; -_ctrlInput = START_IDC_INPUT; - -{ - _idc = _x; - for [{_x=_idc},{_x< (_idc + 10)},{_x=_x+1}] do { - _ctrl = (_display displayCtrl _x); - _ctrl ctrlSetPosition [100,100,0.1,0.1]; /* Cannot use 0 for editfields */ - _ctrl ctrlCommit 0; - }; -}foreach [START_IDC_BTN,START_IDC_LABEL,START_IDC_COMBO,START_IDC_INPUT]; - -CSE_POP_UP_OPTIONS_CC = +_options; -{ - _name = _x select 0; - _type = _x select 1; - _action = _x select 2; - - switch (_type) do { - case "btn": { - _ctrlRight = (_display displayCtrl _ctrlBtn); - _ctrlRight ctrlSetPosition _positionRight; - _ctrlRight ctrlSetText _name; - _ctrlRight ctrlCommit 0; - _positionLeft set [ 1, (_positionLeft select 1)+_increasePerTime]; - _positionRight set [ 1, (_positionRight select 1)+_increasePerTime]; - _ctrlBtn = _ctrlBtn + 1; - }; - case "label": { - _ctrlRight = (_display displayCtrl _ctrlLbl); - _ctrlRight ctrlSetPosition _positionRight; - _ctrlRight ctrlSetText (toUpper _name); - _ctrlRight ctrlCommit 0; - - _positionLeft set [ 1, (_positionLeft select 1)+_increasePerTime]; - _positionRight set [ 1, (_positionRight select 1)+_increasePerTime]; - _ctrlLbl = _ctrlLbl + 1; - }; - case "combo": { - private ["_content"]; - _ctrlRight = (_display displayCtrl _ctrlCmbo); - _ctrlRight ctrlSetPosition _positionRight; - _ctrlRight ctrlCommit 0; - _content = (_x select 3); - _select = -1; - if (count _x > 3) then { - _select = _x select 4; - [format["_select %1",_select]] call cse_fnc_debug; - }; - if (isnil "_content") then { - _content = []; - }; - if (typeName _content != typeName []) then { - _content = []; - }; - lbClear _ctrlCmbo; - { - _ctrlRight lbadd format["%1",_x]; - }foreach _content; - if (_select >= 0) then { - _ctrlRight lbSetCurSel _select; - }; - _ctrlLeft = (_display displayCtrl _ctrlLbl); - _ctrlLeft ctrlSetPosition _positionLeft; - _ctrlLeft ctrlSetText (toUpper _name); - _ctrlLeft ctrlCommit 0; - - _positionLeft set [ 1, (_positionLeft select 1)+_increasePerTime]; - _positionRight set [ 1, (_positionRight select 1)+_increasePerTime]; - _ctrlCmbo = _ctrlCmbo + 1; - _ctrlLbl = _ctrlLbl + 1; - }; - - case "input": { - _ctrlRight = (_display displayCtrl _ctrlInput); - _ctrlRight ctrlSetPosition _positionRight; - if (count _x > 3) then { - _ctrlRight ctrlSetText (_x select 3); - } else { - _ctrlRight ctrlSetText ""; - }; - _ctrlRight ctrlCommit 0; - - _ctrlLeft = (_display displayCtrl _ctrlLbl); - _ctrlLeft ctrlSetPosition _positionLeft; - _ctrlLeft ctrlSetText (toUpper _name); - _ctrlLeft ctrlCommit 0; - - _positionLeft set [ 1, (_positionLeft select 1)+_increasePerTime]; - _positionRight set [ 1, (_positionRight select 1)+_increasePerTime]; - _ctrlInput = _ctrlInput + 1; - _ctrlLbl = _ctrlLbl + 1; - }; - default {}; - }; - -}foreach _options; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setProgramIcons_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setProgramIcons_CC.sqf deleted file mode 100644 index d0abef88f3..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setProgramIcons_CC.sqf +++ /dev/null @@ -1,98 +0,0 @@ -/** - * fn_setProgramIcons_CC.sqf - * @Descr: Set the program or Application icons on the desktop of a cC device. - * @Author: Glowbal - * - * @Arguments: [deviceName STRING (the classname of the device)] - * @Return: nil - * @PublicAPI: false - */ - -#define AVAILABLE_ICONS [100,101,102,103,104,105,106,107,108,109,110,111,112] -#define ICON_WIDTH 0.05 -#define ICON_HEIGHT ICON_WIDTH - -private ["_deviceName","_settings","_display","_pos","_ctrl","_newPos","_cfg","_availablePrograms","_displayName","_iconWidth","_startingPos","_maxIconsOnWidth","_currentIconN","_ctrlButton","_ctrlLabel", "_devices"]; -_deviceName = _this select 0; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; - -_availablePrograms = []; -if (isnil 'CSE_REGISTERED_APPLICATIONS_CC') then { - CSE_REGISTERED_APPLICATIONS_CC = []; -}; - -// Collect all applications that will be displayed on the Desktop and are available for the device. -{ - // Check if application is hidden (such as main). 0 = show, 1 = hidden. - if ((_x select 3) == 0) then { - _devices = _x select 7; - - // Check if the device Classname matches any entry in the devices list, to ensure the application is registered for this device. - if (_deviceName in _devices || "All" in _devices) then { - // store the: Name, Icon, displayName. - _option = [_x select 0,_x select 2,_x select 1]; - _availablePrograms pushback _option; - } else { - [format["Application %1 is not registered on device %2 | %3", (_x select 0), _deviceName, _devices],3] call cse_fnc_debug; - }; - }; -}foreach CSE_REGISTERED_APPLICATIONS_CC; - -disableSerialization; -_display = uiNamespace getvariable _deviceName; -if (isnil "_display") exitwith {}; // error -if (isNull _display) exitwith {}; // error - -// Set all desktop icons in normal state -{ - (_display displayCtrl _x) ctrlSetPosition [0,0,0,0]; - (_display displayCtrl _x) ctrlCommit 0; - (_display displayCtrl (_x + 20)) ctrlSetPosition [0,0,0,0]; - (_display displayCtrl (_x + 20)) ctrlCommit 0; -}foreach AVAILABLE_ICONS; - -// Calculate height width and placement for icons. -_iconWidth = (_settings select 3) / 10; -_iconHeight = _iconWidth; -_startingPos = [(_settings select 0) + (_iconWidth / 4),(_settings select 1) + ((_settings select 3) / 13) + (_iconHeight / 2),_iconHeight,_iconWidth]; -_maxIconsOnWidth = round(((_settings select 2) / _iconWidth) - 1); -_currentIconN = 1; - -{ - // To ensure that we won't accidently try to place down more icons as available. - if (_foreachIndex < count AVAILABLE_ICONS) then { - _name = _x select 0; - _icon = _x select 1; - _displayName = _x select 2; - - // Set icon on correct position. - _ctrl = (_display displayCtrl (AVAILABLE_ICONS select _foreachIndex)); - _ctrl ctrlSetPosition _startingPos; - _ctrl ctrlSetText _icon; - _ctrl ctrlCommit 0; - - // Set the button on the correct position with ButtonClick eventhandler. - _ctrlButton = (_display displayCtrl ((AVAILABLE_ICONS select _foreachIndex) + 20)); - _ctrlButton ctrlSetPosition _startingPos; - _ctrlButton ctrlCommit 0; - _ctrlButton ctrlSetEventHandler ["ButtonClick", format["['%1','%2'] call cse_fnc_openScreen_CC",_deviceName,_name]]; - - // Setting the label underneat the button/icon. - _ctrlLabel = (_display displayCtrl ((AVAILABLE_ICONS select _foreachIndex) + 40)); - _ctrlLabel ctrlSetPosition [_startingPos select 0, (_startingPos select 1) + (_iconHeight / 1.31), _iconHeight, 0.03]; - _ctrlLabel ctrlSetText format["%1",_displayName]; - _ctrlLabel ctrlSetFontHeight (_iconHeight * 0.35); - _ctrlLabel ctrlCommit 0; - - // calculate position for next icon. - _startingPos set[0,(_startingPos select 0) + _iconWidth + 0.005]; - - // Start next row of icons. - if ((_foreachIndex+1) % _maxIconsOnWidth == 0) then { - _startingPos set[0,(_startingPos select 0) - (_iconWidth + 0.005) * _maxIconsOnWidth]; - _startingPos set[1,(_startingPos select 1) + (_iconWidth * 1.1)]; - }; - }; -}foreach _availablePrograms; - -nil; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setSideBar_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setSideBar_CC.sqf deleted file mode 100644 index 7b89ebaa90..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setSideBar_CC.sqf +++ /dev/null @@ -1,75 +0,0 @@ -/** - * fn_setSideBar_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_pos","_ctrl"]; -_deviceName = _this select 0; -_pos = _this select 1; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_display = uiNamespace getvariable _deviceName; - -if (count (call cse_fnc_getSideBarOptionFields_CC) < 1) then { - _pos = "hidden"; -}; - -if (_pos == 'toggle') then { - if ((ctrlPosition ((_display displayCtrl 2)) select 0 == 0) && - ((ctrlPosition (_display displayCtrl 2)) select 1 == 0) && (ctrlPosition ((_display displayCtrl 2)) select 2 == 0) && (ctrlPosition ((_display displayCtrl 2)) select 3 == 0)) then { - _pos = "right"; - } else { - _pos = "hidden"; - }; -}; -disableSerialization; - -_ctrl = (_display displayCtrl 2); -_newPos = switch (_pos) do { - //case "left": {[_settings select 0, _settings select 1, (_settings select 2) / 4.5, _settings select 3]}; - case "right": {[_deviceName] call cse_fnc_getSideBarRatio_CC}; - case "hidden": {[0,0,0,0]}; - default {[0,0,0,0]}; -}; - - -_ctrl ctrlsetPosition _newPos; -_ctrl ctrlCommit 0; - - -for [{_i=0},{_i < 20},{_i=_i+1}] do { - [_deviceName,_i] call cse_fnc_removeOptionField_CC; -}; - -if (_pos != "hidden") then { - { - _args = [_deviceName] + _x; - _args call cse_fnc_setOptionField_CC; - }foreach (call cse_fnc_getSideBarOptionFields_CC); - [_deviceName,"hidden"] spawn cse_fnc_setPopUpMenu_CC; - if ([_deviceName,"sidebar"] call cse_fnc_isMapOpen_CC) then { - if (call cse_fnc_sideBarHasMap_CC) then { - [_deviceName,"sidebar","visable"] call cse_fnc_setMap_CC; - } else { - [_deviceName,"sidebar","hidden"] call cse_fnc_setMap_CC; - }; - }; -} else { - - if ([_deviceName,"sidebar"] call cse_fnc_isMapOpen_CC) then { - [_deviceName,"sidebar","invisable"] call cse_fnc_setMap_CC; - }; -}; -if ([_deviceName,"main"] call cse_fnc_isMapOpen_CC) then { - [_deviceName,"main","full"] call cse_fnc_setMap_CC; -}; -if ([_deviceName,"main"] call cse_fnc_isPiPOpen_CC) then { - [_deviceName,"main","full"] call cse_fnc_setPiP_CC; -}; -if ([_deviceName] call cse_fnc_isSelectMenuOpen_CC) exitwith { - [_deviceName] call cse_fnc_removeSelectMenu_CC; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setTitle_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setTitle_CC.sqf deleted file mode 100644 index 139597f9cb..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_setTitle_CC.sqf +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_showLoadingScreen_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_showLoadingScreen_CC.sqf deleted file mode 100644 index e11187c6cf..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_showLoadingScreen_CC.sqf +++ /dev/null @@ -1,67 +0,0 @@ - - -_deviceName = _this select 0; -_showTime = _this select 1; - -disableSerialization; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_display = uiNamespace getvariable _deviceName; -_navBarRatio = [_deviceName] call cse_fnc_getNavBarRatio_CC; -_navBarHeight = _navBarRatio select 3; -_heightOfLB = (_settings select 3) - (_navBarHeight*2)/2; - -_barPosition = [(_settings select 0) + ((_settings select 2) / 4),(_settings select 1) + ((_settings select 3) / 2) - (_navBarHeight/2) , (_settings select 2) / 2, _navBarHeight]; -_labelPosition = [(_settings select 0) + ((_settings select 2) / 4),(_settings select 1) + ((_settings select 3) / 2) - (_navBarHeight * 1.5) , (_settings select 2) / 2, _navBarHeight]; - - -_background = _display displayCtrl 607; -_bar = _display displayCtrl 606; -_label = _display displayCtrl 608; - -_background ctrlSetPosition _settings; -_background ctrlSetBackgroundColor [0.8,0.8,0.8,1]; -_background ctrlCommit 0; - -_loadingText = "LOADING"; -_label ctrlSetText _loadingText; -_label ctrlSetPosition _labelPosition; -_label ctrlCommit 0; - -_bar ctrlSetPosition _barPosition; -_bar ctrlCommit 0; - -_newStatus = 0; -_toSleep = (1 / _showTime) / 20; -_start = time; -_numOfDots = 0; -_runs = 0; - -while {(_newStatus <= 1.00 && !(isNull _display))} do { - uisleep 0.01; - _bar progressSetPosition _newStatus; - _newStatus = _newStatus + _toSleep; - if (_runs >= 30) then { - _runs = 0; - if (_loadingText == "LOADING") then { - _loadingText = "PLEASE WAIT"; - } else { - _loadingText = "LOADING"; - }; - _label ctrlSetText _loadingText; - } else { - _runs = _runs + 1; - }; -}; - -uisleep 0.5; -if !(isNull _display) then { - _background ctrlSetPosition [0,0,0,0]; - _background ctrlCommit 0; - - _bar ctrlSetPosition [0,0,0,0]; - _bar ctrlCommit 0; - - _label ctrlSetText ""; - _label ctrlSetPosition [0,0,0,0]; - _label ctrlCommit 0; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_sideBarHasMap_CC.sqf b/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_sideBarHasMap_CC.sqf deleted file mode 100644 index 59e44203a3..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletResources/functions/fn_sideBarHasMap_CC.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_sideBarHasMap_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_currentApp","_cfg","_hasMap","_return"]; -//_currentApp = call cse_fnc_getCurrentApplication_CC; -_return = false; -/*_cfg = (missionConfigFile >> "Combat_Space_Enhancement" >> "command_and_control" >> "applications" >> _currentApp >> "sideBar"); -_hasMap = 0; -if (isClass _cfg) then { - for [{_i=0},{_i < (count _cfg)},{_i=_i+1}] do { - if (isClass (_cfg select _i)) then { - private ["_type"]; - _type = getText ((_cfg select _i) >> "type"); - if (_type == "map") then { - _hasMap = _hasMap + 1; - }; - }; - }; -}; - -if (_hasMap > 0) then { - _return = true; -};*/ -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_cc_app_CC.sqf b/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_cc_app_CC.sqf deleted file mode 100644 index 47d3499dae..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_cc_app_CC.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fn_openScreen_cc_app_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -//_this spawn { - //[_deviceName] call cse_fnc_clearDeviceScreen_CC; - private ["_deviceName"]; - _deviceName = _this select 0; - [_deviceName,"main","full"] call cse_fnc_setMap_CC; - - if (isnil "CSE_CURRENT_SELECTED_FILTER_CC_APP_CC") then { - CSE_CURRENT_SELECTED_FILTER_CC_APP_CC = -1; - CSE_TOGGLE_ROUTE_LAYER_CC = false; - CSE_TOGGLE_INTEL_LAYER_CC = false; - CSE_TOGGLE_CALLSIGNS_CC = false; - CSE_SELECTED_ICON_CC = ""; - }; - diff --git a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_home_CC.sqf b/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_home_CC.sqf deleted file mode 100644 index 9b4b271dd1..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_home_CC.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_openScreen_home_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display"]; -_deviceName = _this select 0; - -[_deviceName] call cse_fnc_clearDeviceScreen_CC; -[_deviceName,"full"] call cse_fnc_setBackground_CC; -[_deviceName,"top"] call cse_fnc_setNavBar_CC; -[_deviceName,"hidden"] call cse_fnc_setSideBar_CC; -[_deviceName,"hidden"] call cse_fnc_setBottomBar_CC; -[_deviceName] call cse_fnc_setProgramIcons_CC; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_liveFeed_app_CC.sqf b/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_liveFeed_app_CC.sqf deleted file mode 100644 index 0071c659c4..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_liveFeed_app_CC.sqf +++ /dev/null @@ -1,73 +0,0 @@ -/** - * fn_openScreen_liveFeed_app_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName", "_allAvailableFeeds"]; -_deviceName = _this select 0; - -disableSerialization; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_display = uiNamespace getvariable _deviceName; - -_background = _display displayCtrl 602; -_listBox = _display displayCtrl 601; - -_sideBarRatio = [_deviceName] call cse_fnc_getSideBarRatio_CC; -_navBarRatio = [_deviceName] call cse_fnc_getNavBarRatio_CC; -_navBarHeight = _navBarRatio select 3; -_sideBarWidth = _sideBarRatio select 2; -_heightOfLB = (_settings select 3) - (_navBarHeight*2)/2; - -_fullBackground = [_settings select 0,(_settings select 1) + _navBarHeight, (_settings select 2), (_heightOfLB/4)*1.01]; -_background ctrlSetPosition _fullBackground; -_background ctrlSetBackgroundColor [0.9,0.9,0.9,1]; -_background ctrlCommit 0; - -_listBoxPosition = [_settings select 0,(_settings select 1) + _navBarHeight + (_heightOfLB/4), (_settings select 2), ((_heightOfLB)/4)*3]; -_listBox ctrlSetPosition _listBoxPosition; -_listBox ctrlEnable false; -_listBox ctrlEnable true; -_listBox ctrlCommit 0; - -_listBox ctrlSetEventHandler ["MouseButtonDblClick", " - [_this] call cse_fnc_debug; - _lb = _this select 0; - _currentSelection = lbCurSel _lb; - if (_currentSelection >= 0) then { - _targetArray = CSE_ALL_AVAILABLE_LIVE_FEEDS_AT_MOMENT_CC select _currentSelection; - _target = _targetArray select 1 select 0; - [_target] call cse_fnc_setLiveFeedTargetObj_CC; - - _lb ctrlSetPosition [0,0,0,0]; - _lb ctrlCommit 0; - _lb ctrlEnable false; - [[] call cse_fnc_getCurrentDeviceName_CC] call cse_fnc_openScreen_liveFeed_CC; - }; -"]; - -lbclear 601; -_allAvailableFeeds = [_deviceName] call cse_fnc_getAllViewableFeeds_CC; -CSE_ALL_AVAILABLE_LIVE_FEEDS_AT_MOMENT_CC = _allAvailableFeeds; -{ - lbadd [601, (_x select 0)]; - //lbSetData [601, _foreachIndex, str ((_x select 1) select 0)]; -}foreach _allAvailableFeeds; - -ctrlSetFocus _listBox; -_listBox lbSetCurSel 0; -(_display displayCtrl 603) ctrlSetPosition [_settings select 0,(_settings select 1) + _navBarHeight, (_settings select 2), _navBarHeight]; -(_display displayCtrl 604) ctrlSetPosition [_settings select 0,(_settings select 1) + _navBarHeight + _navBarHeight, (_settings select 2), (_heightOfLB/4)*1.01 - _navBarHeight]; - -(_display displayCtrl 603) ctrlSetText "TACNET"; -(_display displayCtrl 604) ctrlSetText "Select an feed in the list below. To view the feed, double click on the item."; - - -(_display displayCtrl 603) ctrlCommit 0; -(_display displayCtrl 604) ctrlCommit 0; -(_display displayCtrl 604) ctrlEnable false; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_login_CC.sqf b/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_login_CC.sqf deleted file mode 100644 index 66bf7d109c..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_login_CC.sqf +++ /dev/null @@ -1,6 +0,0 @@ -private ["_deviceName"]; -_deviceName = _this select 0; -hint 'you are required to log in'; - -[_deviceName,"open","login"] spawn cse_fnc_setPopUpMenu_CC; - diff --git a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_notepad_CC.sqf b/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_notepad_CC.sqf deleted file mode 100644 index 139597f9cb..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_notepad_CC.sqf +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_settings_CC.sqf b/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_settings_CC.sqf deleted file mode 100644 index 59e3287617..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_settings_CC.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_openScreen_settings_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName"]; -_deviceName = _this select 0; -[_deviceName] call cse_fnc_clearDeviceScreen_CC; -[_deviceName,"full","black"] call cse_fnc_setBackground_CC; -[_deviceName,"top"] call cse_fnc_setNavBar_CC; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_startUp_CC.sqf b/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_startUp_CC.sqf deleted file mode 100644 index 139597f9cb..0000000000 --- a/TO_MERGE/cse/sys_cc/tabletScreens/functions/fn_openScreen_startUp_CC.sqf +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_clearDeviceScreen_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_clearDeviceScreen_CC.sqf deleted file mode 100644 index 00886bd2c2..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_clearDeviceScreen_CC.sqf +++ /dev/null @@ -1,47 +0,0 @@ -/** - * fn_clearDeviceScreen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_cfg","_display","_excludeIDCs"]; -_deviceName = _this select 0; -_cfg = (MissionconfigFile >> _deviceName >> "controls"); -if (!isClass _cfg) then { - _cfg = (configFile >> _deviceName >> "controls"); -}; -disableSerialization; -_display = uiNamespace getvariable _deviceName; - -(_display displayCtrl 10) ctrlEnable true; - -_excludeIDCs = [-1,0,1,2,3,4,5,6, 606, 607, 608]; -if (isClass _cfg) then { - for [{_i=0},{_i < count _cfg},{_i=_i+1}] do { - if (isClass (_cfg select _i)) then { - private ["_idc","_ctrl"]; - _idc = getNumber ((_cfg select _i) >> "idc"); - if (!(_idc in _excludeIDCs)) then { - _ctrl = (_display displayCtrl _idc); - - //_Ctrl ctrlShow false; - if (_idc == 601) then { - _Ctrl ctrlSetPosition [100,100,0.1,0.1]; // lb cannot go for wierd dimensions? - } else { - if (_idc > 269 && _idc < 280) then { - _Ctrl ctrlSetPosition [100,100,0.1,0.1]; - } else { - _ctrl ctrlSetPosition [0,0,0,0]; - }; - }; - _ctrl ctrlCommit 0; - }; - - }; - }; -}; - diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_clickedOnMap_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_clickedOnMap_CC.sqf deleted file mode 100644 index 80a94d6ac4..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_clickedOnMap_CC.sqf +++ /dev/null @@ -1,218 +0,0 @@ -/* -fnc_clickedOnMap.sqf -Usage: Displays CC Pop-up menu selection -Author: Glowbal - -Arguments: array [position (ARRAY)] - 0: Position 2D. Format [ X, Y ] -Returns: void - -Affects: Local -Executes: Local. Default execution when clicked on map in CC App. - -Example: - [0,0] call cse_fnc_clickedOnMap_CC; - -*/ - -private ["_position","_buttonWidth","_nearest","_found","_posTrackerIcon","_text","_ctrlBtn","_lastIDC","_deviceName","_settings","_sideBarRatio","_navBarRatio","_maxPositions","_sideBarHeight","_buttonHeightwithSpacing","_buttonSpacing","_buttonHeight","_display","_optionsPos"]; -//_args = _this; -_position = [_this, 0, [0,0], [[]],2] call BIS_fnc_param; - -[format["fnc_clickedOnMap %1", _this]] call cse_fnc_debug; -if (typeName _position != typeName []) exitwith {}; -disableSerialization; -_deviceName = call cse_fnc_getCurrentDeviceName_CC; -if (_deviceName == "") exitwith {}; - -if ([_deviceName] call cse_fnc_isSelectMenuOpen_CC) exitwith { - [_deviceName] call cse_fnc_removeSelectMenu_CC; -}; -_optionsPos = [(_position select 0), _position select 1]; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_sideBarRatio = [_deviceName] call cse_fnc_getSideBarRatio_CC; -_maxPositions = (_settings select 3) / 0.05; -_maxPositions = 12; - -_sideBarHeight = _sideBarRatio select 3; -_buttonHeightwithSpacing = _sideBarHeight / _maxPositions; -_buttonSpacing = _buttonHeightwithSpacing / 10; -_buttonHeight = _buttonHeightwithSpacing - _buttonSpacing; -_buttonWidth = (_sideBarRatio select 2) - 0.002; - _display = uiNamespace getvariable _deviceName; - -(_display displayCtrl 10) ctrlEnable false; -_position = (_display displayCtrl 10) ctrlMapScreenToWorld _position; -_position set [2, 0]; - -if ((_optionsPos select 0) + _buttonWidth > ((_settings select 0) + (_settings select 2))) then { - _buttonWidth = _buttonWidth - (((_optionsPos select 0) + _buttonWidth - ((_settings select 0) + (_settings select 2)))); -}; -_optionsPos set[2, _buttonWidth]; -_optionsPos set[3,_buttonHeight]; -_lastIDC = 260; -_nearest = 25; -_found = []; -{ - _side = _x select 6; - if (([_deviceName] call cse_fnc_getDeviceSide_CC) == _side) then { - _posTrackerIcon = +(_x select 1); - _posTrackerIcon set [2, 0]; - if ((_posTrackerIcon distance _position) < _nearest) then { - _nearest = _posTrackerIcon distance _position; - _found = _x; - }; - }; -}foreach CSE_TRACKER_ICONS; - - - -_foudIntelMarker = []; -if (CSE_TOGGLE_INTEL_LAYER_CC) then { - _nearest = 25; - { - _side =(_x select 3); - if (([_deviceName] call cse_fnc_getDeviceSide_CC) == _side) then { - _pos = (_x select 0); - if ((_pos distance _position) < _nearest) then { - _nearest = _pos distance _position; - _foudIntelMarker = _x; - }; - }; - }foreach CSE_INTEL_MARKER_COLLECTION_CC; -}; - -_foudRouteMarker = []; -if (CSE_TOGGLE_ROUTE_LAYER_CC) then { - _nearest = 25; - { - _side =(_x select 3); - if (([_deviceName] call cse_fnc_getDeviceSide_CC) == _side) then { - _pos = (_x select 0); - if ((_pos distance _position) < _nearest) then { - _nearest = _pos distance _position; - _foudRouteMarker = _x; - }; - }; - }foreach CSE_ROUTE_MARKER_COLLECTION_CC; -}; -/* -if (isnil "CSE_CLICKED_ON_MAP_OPTIONS_CC") then { - CSE_CLICKED_ON_MAP_OPTIONS_CC = []; -}; - -{ - if ([_found, _foudIntelMarker, _foudRouteMarker] call (_x select 0)) then { - _text =[_found, _foudIntelMarker, _foudRouteMarker] call (_x select 1); - _formattedCode = [_found, _foudIntelMarker, _foudRouteMarker] call (_x select 2); - - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _ctrlBtn ctrlSetText _text; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format[_formattedCode, _position,_deviceName]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; - }; -}foreach CSE_CLICKED_ON_MAP_OPTIONS_CC;*/ - -if !(_found isEqualTo []) then { - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _text = _found select 2; - if (_text == "") then { - _text = "icon"; - }; - CSE_CLICKED_ON_MAP_FOUND_CC = _found; - _ctrlBtn ctrlSetText format["Select: %1",_text]; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format["['%2'] call cse_fnc_removeSelectMenu_CC; ['%2',%1] call cse_fnc_openIconSelectMenu_CC;", _position,_deviceName]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; -}; - -if (true) then { - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _ctrlBtn ctrlSetText "SALUTE Report"; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format["['%2'] call cse_fnc_removeSelectMenu_CC; ['%2',%1] call cse_fnc_openIntelMarkersMenu_CC;", _position,_deviceName]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; -}; - -if (true) then { - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _ctrlBtn ctrlSetText "Route Planning"; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format["['%2'] call cse_fnc_removeSelectMenu_CC; ['%2',%1] call cse_fnc_openRouteMarkersMenu_CC;", _position,_deviceName]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; -}; - -if !(_foudIntelMarker isEqualTo []) then { - CSE_CLICKED_ON_MAP_FOUND_INTELMARKER_CC = _position; -/* - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _text = "Edit SALUTE"; - _ctrlBtn ctrlSetText _text; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format["['%2'] call cse_fnc_removeSelectMenu_CC;[CSE_CLICKED_ON_MAP_FOUND_INTELMARKER_CC] call cse_fnc_editIntelMarker_CC;", _position,_deviceName,_found]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; -*/ - /* END */ - - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _text = "Remove SALUTE"; - _ctrlBtn ctrlSetText _text; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format["['%2'] call cse_fnc_removeSelectMenu_CC;[CSE_CLICKED_ON_MAP_FOUND_INTELMARKER_CC] call cse_fnc_removeIntelMarker_CC;", _position,_deviceName,_found]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; -}; -if !(_foudRouteMarker isEqualTo []) then { - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _text = "Remove Route"; - CSE_CLICKED_ON_MAP_FOUND_ROUTEMARKER_CC = _position; - _ctrlBtn ctrlSetText _text; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format["['%2'] call cse_fnc_removeSelectMenu_CC;[CSE_CLICKED_ON_MAP_FOUND_ROUTEMARKER_CC] call cse_fnc_removeRouteMarker_CC", _position,_deviceName,_found]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; -}; -(_display displayCtrl 10) ctrlEnable true; - -[_position,_display,_deviceName] spawn { - private ["_originalPos","_display","_position"]; - disableSerialization; - _position = _this select 0; - _display = _this select 1; - _originalPos = +((_display displayCtrl 10) ctrlMapWorldToScreen _position); - - waituntil {(((_display displayCtrl 10) ctrlMapWorldToScreen _position) select 0 != (_originalPos select 0))}; - [_this select 2] call cse_fnc_removeSelectMenu_CC; -}; - - -if !(_found isEqualTo []) then { - if (!CSE_ALLOW_LIVE_FEEDS_CC) exitwith {}; - _ctrlBtn = (_display displayCtrl _lastIDC); - _ctrlBtn ctrlSetPosition _optionsPos; - _unit = _found select 5; - - if ([_unit, _deviceName] call cse_fnc_canViewFeed_CC) then { - _text = "View Feed"; - [_unit] call cse_fnc_setLiveFeedTargetObj_CC; - - _ctrlBtn ctrlSetText _text; - _CtrlBtn ctrlSetEventHandler ["ButtonClick", format["['%2'] call cse_fnc_removeSelectMenu_CC; ['%2'] call cse_fnc_openScreen_liveFeed_CC;", _position,_deviceName, _unit]]; - _ctrlBtn ctrlCommit 0; - _lastIDC = _lastIDC + 1; - _optionsPos set[1, (_optionsPos select 1) + (_buttonHeight)]; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getCurrentApplication_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_getCurrentApplication_CC.sqf deleted file mode 100644 index fa03e0429f..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getCurrentApplication_CC.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/** - * fn_getCurrentApplication_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return","_deviceName"]; - -_deviceName = (call cse_fnc_getCurrentDeviceName_CC); -_return = "home"; -if (!isnil format["CSE_CURRENT_APPLICATION_%1_CC",_deviceName]) then { - _return = call compile format["CSE_CURRENT_APPLICATION_%1_CC",_deviceName]; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getCurrentDeviceName_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_getCurrentDeviceName_CC.sqf deleted file mode 100644 index f165910456..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getCurrentDeviceName_CC.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/** - * fn_getCurrentDeviceName_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_display"]; -disableSerialization; -if (isnil "CSE_CURRENT_DEVICE_NAME_CC") then { - CSE_CURRENT_DEVICE_NAME_CC = ""; -}; - - _display = findDisplay 590823; - if (isNull _display) then { - CSE_CURRENT_DEVICE_NAME_CC = ""; - } else { - -}; -CSE_CURRENT_DEVICE_NAME_CC \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getDeviceSettings_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_getDeviceSettings_CC.sqf deleted file mode 100644 index d8a384b8e3..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getDeviceSettings_CC.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_getDeviceSettings_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_screenName","_settings"]; -_deviceName = _this select 0; -_settings = [0,0,0,0]; - -if (isnil 'CSE_REGISTERED_DEVICES_CC') then { - CSE_REGISTERED_DEVICES_CC = []; -}; - -{ - if ((_x select 0) == _deviceName) exitwith { - _found = _x select 1; - if (!CSE_DISPLAY_CC_VIEW_FULL_SCREEN_CC) then { - _settings = [_found select 0, _found select 1, _found select 2,_found select 3]; - } else { - _settings = [safezoneX, safezoneY, safezoneW, safezoneH]; - }; - }; -}foreach CSE_REGISTERED_DEVICES_CC; - -_settings \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getLastScreen_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_getLastScreen_CC.sqf deleted file mode 100644 index 49f24f18cc..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_getLastScreen_CC.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_getLastScreen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_lastScreen"]; -_deviceName = _this select 0; - _lastScreen = player getvariable ["cse_cc_lastScreen_" + _deviceName, "home"]; - -_lastScreen diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_hasDevice_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_hasDevice_CC.sqf deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_isLoggedIn_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_isLoggedIn_CC.sqf deleted file mode 100644 index dbe3957220..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_isLoggedIn_CC.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fn_isLoggedIn_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName"]; -_deviceName = _this select 0; -_loggedIn = false; - -_trackers = [player,_deviceName] call cse_fnc_getAllBFTItemsOfType_CC; -{ - _info = [_x] call cse_fnc_getTrackerInformation_CC; - if (_info select 3) then { - _loggedIn = true; - }; -}foreach _trackers; -//_trackerInfo = [_tracker] call cse_fnc_getTrackerInformation_CC; - -_loggedIn \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_isSideBarOpen_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_isSideBarOpen_CC.sqf deleted file mode 100644 index 74e42270c2..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_isSideBarOpen_CC.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_isSideBarOpen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_settings","_display","_return"]; -_deviceName = _this select 0; -_settings = [_deviceName] call cse_fnc_getDeviceSettings_CC; -_display = uiNamespace getvariable _deviceName; - -!((ctrlPosition ((_display displayCtrl 2)) select 0 == 0) && ((ctrlPosition (_display displayCtrl 2)) select 1 == 0)) diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_manageLayers_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_manageLayers_CC.sqf deleted file mode 100644 index fcfc77f993..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_manageLayers_CC.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/** - * fn_manageLayers_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_device","_position"]; -_device = call cse_fnc_getCurrentDeviceName_CC; - -[_device,"open","Manage Layers",format[""]] spawn cse_fnc_setPopUpMenu_CC; - -_layerNames = []; - -_opt = [ - ["Layer Name:","combo","",_layerNames], - ["Enable","btn",""] - ]; - -[_device,_opt] call cse_fnc_setPopUpOptions_CC; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openDeviceSmall_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_openDeviceSmall_CC.sqf deleted file mode 100644 index e89122db1d..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openDeviceSmall_CC.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_openDeviceSmall_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -_this spawn { -if (isnil 'CSE_CC_BFT_LOOP_CC') then { - CSE_CC_BFT_LOOP_CC = false; -}; -waituntil {!CSE_CC_BFT_LOOP_CC}; - - - _deviceName = "cse_view_small"; - CSE_CURRENT_DEVICE_NAME_CC = _deviceName; - CSE_SMALL_SCREEN_DISPLAY_CC = true; - ("CSE_BFT_SMALL_LAYER" call BIS_fnc_rscLayer) cutRsc [_deviceName,"PLAIN",0]; - [_deviceName] spawn cse_fnc_displayBFT_CC; - //[_deviceName,"top"] call cse_fnc_setNavBar_CC; - [_deviceName,"main","full"] call cse_fnc_setMap_CC; - - disableSerialization; - _display = uiNamespace getvariable _deviceName; - _ctrl = (_display displayCtrl 10); - _ctrl ctrlSetBackgroundColor [1, 1, 1, 0]; - _ctrl ctrlCommit 0; - while {(!dialog && alive player)} do { - _pos = getPos player; - _pos set [1, (_pos select 1) + 300]; - _pos set [0, (_pos select 0) - 350]; - _ctrl ctrlMapAnimAdd [0, 0.3, _pos]; - ctrlMapAnimCommit _ctrl; - }; - ("CSE_BFT_SMALL_LAYER" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; - CSE_SMALL_SCREEN_DISPLAY_CC = false; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openDevice_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_openDevice_CC.sqf deleted file mode 100644 index ce074f7bd2..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openDevice_CC.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fn_openDevice_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName"]; -_deviceName = _this select 0; - -disableSerialization; -createDialog _deviceName; -CSE_CURRENT_DEVICE_NAME_CC = _deviceName; -CSE_SMALL_SCREEN_DISPLAY_CC = false; -// [_deviceName, 1] spawn cse_fnc_showLoadingScreen_CC; -[_deviceName] call cse_fnc_clearDeviceScreen_CC; -[_deviceName,"full"] call cse_fnc_setBackground_CC; -[_deviceName,"top"] call cse_fnc_setNavBar_CC; -[_deviceName,"hidden"] call cse_fnc_setSideBar_CC; -[_deviceName,[_deviceName] call cse_fnc_getCurrentApplication_CC] call cse_fnc_openScreen_CC; -[_deviceName] call cse_fnc_displayBFT_CC; diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openIconSelectMenu_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_openIconSelectMenu_CC.sqf deleted file mode 100644 index f48409206a..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openIconSelectMenu_CC.sqf +++ /dev/null @@ -1,62 +0,0 @@ -/** - * fn_openIconSelectMenu_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_device","_position", "_unit", "_currentInfo", "_opt"]; -_device = _this select 0; -_position = _this select 1; - - -// figure out side with device! -[_device,"open","SELECTED TRACKER", format["[CSE_CLICKED_ON_MAP_FOUND_CC, _this] call cse_fnc_updateTrackerInfo_CC;"]] call cse_fnc_setPopUpMenu_CC; - -_unit = CSE_CLICKED_ON_MAP_FOUND_CC select 5; -_currentInfo = _unit getvariable ["cse_bft_info_cc",["Infantry"," ",true,false]]; - -_opt = [ - ["Type:","combo","", - ["Infantry","Motorized","Plane","Helicopter","Armor","Naval","HQ","Medical","Maintanance","Artillery","Mortar","Service","Recon","Mechanized","uav","Unknown"] - ], - [_currentInfo select 0,"input", "", _currentInfo select 1] - ]; -[_device,_opt] call cse_fnc_setPopUpOptions_CC; - - -cse_fnc_updateTrackerInfo_CC = { - private ["_unit","_info","_currentInfo","_deviceName","_sideBarN", "_sideBarFullScreen"]; - _unit = CSE_CLICKED_ON_MAP_FOUND_CC select 5; - _info = _this select 1; - _currentInfo = _unit getvariable ["cse_bft_info_cc",["Infantry"," ",true,false]]; - _currentInfo set [0, _info select 0]; - - _deviceName = [] call cse_fnc_getCurrentDeviceName_CC; - _sideBarFullScreen = { - private["_deviceName","_cfg","_allowSidebar"]; - _deviceName = _this select 0; - - _allowSidebar = 0; - if (isnil 'CSE_REGISTERED_DEVICES_CC') then { - CSE_REGISTERED_DEVICES_CC = []; - }; - - { - if (_x select 0 == _deviceName) exitwith { - _allowSidebar = _x select 2; - }; - }foreach CSE_REGISTERED_DEVICES_CC; - _allowSidebar - }; - - _sideBarN = ([_deviceName] call _sideBarFullScreen); - - if (_unit == player || _sideBarN == 1) then { - _currentInfo set [1, _info select 1]; - }; - _unit setvariable ["cse_bft_info_cc",_currentInfo, true]; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openIntelMarkersMenu_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_openIntelMarkersMenu_CC.sqf deleted file mode 100644 index beee9cfc98..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openIntelMarkersMenu_CC.sqf +++ /dev/null @@ -1,28 +0,0 @@ -/** - * fn_openIntelMarkersMenu_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_device","_position", "_opt"]; -_device = _this select 0; -_position = _this select 1; - -[_device,"open","SALUTE Report",format["[_this,%1,'intel', ([([] call cse_fnc_getCurrentDeviceName_CC)] call cse_fnc_getDeviceSide_CC)] call cse_fnc_placeMarker_CC",_position]] call cse_fnc_setPopUpMenu_CC; - - -_opt = [ - ["Type:","combo","", - ["Infantry","Motorized","Plane","Helicopter","Armor","Naval","HQ","Medical","Maintanance","Artillery","Mortar","Service","Recon","Mechanized","uav","Installation","Unknown"] - ], - ["Side:","combo","",["BLUFOR","OPFOR","GREENFOR","UNKNOWN"]], - ["direction:","combo","",["Static","North","North East","East","South East","South","South West","West","North West"]], - ["Size:","combo","",["Pax","Fire Team","Section","Platoon","Company","Battalion","Regiment", "Brigade"]], - ["","combo","",["1x","2x","3x","4x","5x","6x", "7x"]], - ["Description:","input",""] - ]; -[_device,_opt] call cse_fnc_setPopUpOptions_CC; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openLastScreen_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_openLastScreen_CC.sqf deleted file mode 100644 index 3ccddcfb49..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openLastScreen_CC.sqf +++ /dev/null @@ -1,14 +0,0 @@ -/** - * fn_openLastScreen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName"]; -_deviceName = _this select 0; - -[_deviceName,[_deviceName] call cse_fnc_getLastScreen_CC] call cse_fnc_openScreen_CC; diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openRouteMarkersMenu_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_openRouteMarkersMenu_CC.sqf deleted file mode 100644 index dd271e8408..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openRouteMarkersMenu_CC.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/** - * fn_openRouteMarkersMenu_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_device","_position"]; -_device = _this select 0; -_position = _this select 1; - -[_device,"open","Route Planning",format["[_this,%1,'route', ([([] call cse_fnc_getCurrentDeviceName_CC)] call cse_fnc_getDeviceSide_CC)] call cse_fnc_placeMarker_CC",_position]] call cse_fnc_setPopUpMenu_CC; - -if (isnil "_layerNames") then { - _layerNames = []; -}; -_opt = [ - ["Type:","combo","",["Dot","Waypoint","ReOrg","Crossing","Ambush","LZ","HLS","Destroy","Capture","Secure","Danger","Avoid","Arrow"]], - ["Color:","combo","",["blue","red","green", "yellow", "purple", "orange", "white", "black"]], - ["Text:","input",""] - ]; - -if !(_layerNames isEqualTo []) then { - _opt pushback ["Layer:","combo","",_layerNames]; -}; - -[_device,_opt] call cse_fnc_setPopUpOptions_CC; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openScreen_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_openScreen_CC.sqf deleted file mode 100644 index 99056bbb03..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_openScreen_CC.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/** - * fn_openScreen_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_screenName","_init","_cfg", "_availablePrograms"]; -_deviceName = _this select 0; -_screenName = _this select 1; - - -[format["CC - openScreen: %1 test",_screenName],2] call cse_fnc_debug; -[_deviceName,"full"] call cse_fnc_setBackground_CC; -_availablePrograms = []; -_cfg = (missionConfigFile >> "Combat_Space_Enhancement" >> "command_and_control" >> "applications" >> _screenName); - -_found = false; -{ - if ((_x select 0) == _screenName) exitwith { - [_deviceName] call compile (_x select 6); - _found = true; - }; -}foreach CSE_REGISTERED_APPLICATIONS_CC; - -if (_found) then { - //_init = getText (_cfg>> "init"); - //[_deviceName] spawn compile _init; -} else { - [_deviceName] spawn cse_fnc_openScreen_home_CC; - _screenName = "home"; - [_deviceName,"show"] call cse_fnc_setBottomBar_CC; -}; - - -CSE_PREVIOUS_APPLICATION_CC = [_deviceName] call cse_fnc_getCurrentApplication_CC; -//CSE_CURRENT_APPLICATION_CC = _screenName; -call compile format["CSE_CURRENT_APPLICATION_%1_CC = '%2';",_deviceName,_screenName]; - - -//player sidechat format[" Current Application is set to: %1",call compile format["CSE_CURRENT_APPLICATION_%1_CC",_deviceName]]; -if ([_deviceName] call cse_fnc_isSideBarOpen_CC) then { - [_deviceName,"right"] call cse_fnc_setSideBar_CC; -}; -//player setvariable ["cse_cc_lastScreen_" + _deviceName, _screenName]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_placeMarkerGlobal_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_placeMarkerGlobal_CC.sqf deleted file mode 100644 index f98cba36c3..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_placeMarkerGlobal_CC.sqf +++ /dev/null @@ -1,142 +0,0 @@ -/** - * fn_placeMarker_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_args","_position","_type"]; -_args = (_this select 0); -_position = _this select 1; -_type = _this select 2; -_side = _this select 3; - -if (isnil "CSE_SIDE_WEST_COLOR") then { - _r = profilenamespace getvariable ['Map_BLUFOR_R',0]; - _g = profilenamespace getvariable ['Map_BLUFOR_G',0.8]; - _b = profilenamespace getvariable ['Map_BLUFOR_B',1]; - _a = profilenamespace getvariable ['Map_BLUFOR_A',0.8]; - CSE_SIDE_WEST_COLOR = [_r,_g,_b,_a]; - - CSE_SIDE_EAST_COLOR = - [ - profilenamespace getvariable ['Map_OPFOR_R',1], - profilenamespace getvariable ['Map_OPFOR_G',0.5], - profilenamespace getvariable ['Map_OPFOR_B',0.5], - profilenamespace getvariable ['Map_OPFOR_A',0.8] - ]; - - _r = profilenamespace getvariable ['Map_Independent_R',0]; - _g = profilenamespace getvariable ['Map_Independent_G',1]; - _b = profilenamespace getvariable ['Map_Independent_B',1]; - _a = profilenamespace getvariable ['Map_OPFOR_A',0.8]; - CSE_SIDE_IND_COLOR = [_r,_g,_b,_a]; -}; - -if (_type == "intel") exitwith { - CSE_TOGGLE_INTEL_LAYER_CC = true; - if (isnil "CSE_INTEL_MARKER_COLLECTION_CC") then { - CSE_INTEL_MARKER_COLLECTION_CC = []; - }; - _usedDesc = false; - _text = ""; - if ((_args select 5) == "") then { - _text = _text + (_args select 0); - _text = _text + " / " + (_args select 2); - _text = _text + " / " + (_args select 4); - _text = _text + (_args select 3); - } else { - _text = _args select 5; - _usedDesc = true; - }; - _text = _text + format["(%1:%2)",Date select 3, Date select 4]; - - _prefix = switch (_args select 1) do { - case "BLUFOR": {"b_"}; - case "OPFOR": {"o_"}; - case "GREENFOR": {"n_"}; - default {"n_"}; - }; - _prefix = "\A3\ui_f\data\map\markers\nato\" + _prefix; - _icon = switch (_args select 0) do { - case "Infantry": {_prefix+"inf.paa"}; - case "Motorized": {_prefix+"motor_inf.paa"}; - case "Plane": {_prefix+"plane.paa"}; - case "Helicopter": {_prefix+"air.paa"}; - case "Armor": {_prefix+"armor.paa"}; - case "Naval": {_prefix+"naval.paa"}; - case "HQ": {_prefix+"hq.paa"}; - case "Medical": {_prefix+"med.paa"}; - case "Maintanance": {_prefix+"maint.paa"}; - case "Artillery": {_prefix+"art.paa"}; - case "Mortar": {_prefix+"mortar.paa"}; - case "Service": {_prefix+"service.paa"}; - case "Recon": {_prefix+"recon.paa"}; - case "Mechanized": {_prefix+"mech_inf.paa"}; - case "uav": {_prefix+"uav.paa"}; - case "Installation": {_prefix+"installation.paa"}; - default {_prefix+"unknown.paa"}; - }; - - - _color = switch (_args select 1) do { - case "BLUFOR": {CSE_SIDE_WEST_COLOR}; - case "OPFOR": {CSE_SIDE_EAST_COLOR}; - case "GREENFOR": {CSE_SIDE_IND_COLOR}; - case "UNKNOWN": {[0.6,0.2,0.1,0.8]}; - default {CSE_SIDE_IND_COLOR}; - }; - - _placementArgs = [ _icon, _text, +_color]; - [format["Placed a Marker: %1", [_position, _placementArgs, time, _side, _args select 6, _usedDesc]]] call cse_fnc_debug; - CSE_INTEL_MARKER_COLLECTION_CC pushback [_position,_placementArgs,time, _side, _args select 6, _usedDesc]; -}; - -if (_type == "route") exitwith { - CSE_TOGGLE_ROUTE_LAYER_CC = true; - if (isnil "CSE_ROUTE_MARKER_COLLECTION_CC") then { - CSE_ROUTE_MARKER_COLLECTION_CC = []; - }; - _text = ""; - _text = _text + (_args select 2); - _text = _text + format["(%1:%2)",Date select 3, Date select 4]; - - - _prefix = "\A3\ui_f\data\map\markers\military\"; - _icon = switch (_args select 0) do { - case "waypoint": {"\A3\ui_f\data\map\groupicons\waypoint.paa"}; - case "ReOrg": {"\A3\ui_f\data\map\groupicons\waypoint.paa"}; - case "Crossing": {"\A3\ui_f\data\map\markers\military\pickup_CA.paa"}; - case "Ambush": {"\A3\ui_f\data\map\markers\military\ambush_CA.paa"}; - case "LZ": {"\A3\ui_f\data\map\markers\military\pickup_CA.paa"}; - case "HLS": {"\A3\ui_f\data\map\markers\military\pickup_CA.paa"}; - case "Destory": {"\A3\ui_f\data\map\markers\military\destroy_CA.paa"}; - case "Capture": {"\A3\ui_f\data\map\markers\military\objective_CA.paa"}; - case "Secure": {"\A3\ui_f\data\map\markers\military\objective_CA.paa"}; - case "Danger": {"\A3\ui_f\data\map\markers\military\warning_CA.paa"}; - case "Avoid": {"\A3\ui_f\data\map\markers\military\warning_CA.paa"}; - case "Dot": {"\A3\ui_f\data\map\markers\military\dot_CA.paa"}; - case "Arrow": {"\A3\ui_f\data\map\markers\military\arrow_CA.paa"}; - default {"\A3\ui_f\data\map\groupicons\waypoint.paa"}; - }; - - _color = switch (_args select 1) do { - case "blue": {CSE_SIDE_WEST_COLOR}; - case "red": {CSE_SIDE_EAST_COLOR}; - case "green": {CSE_SIDE_IND_COLOR}; - case "yellow": {[0.74, 0.74, 0.08, 0.9]}; - case "orange": {[1, 0.51, 0.08, 0.9]}; - case "white": {[1,1,1, 0.9]}; - case "black": {[0,0,0, 0.9]}; - case "purple": {[0.34,0.6,0.42, 0.9]}; - default {CSE_SIDE_IND_COLOR}; - }; - - _placementArgs = [ _icon, _text, +_color]; - CSE_ROUTE_MARKER_COLLECTION_CC pushback [_position,_placementArgs,time, _side, _args select 3]; - [format["Placed a Marker: %1", [_position,_placementArgs,time, _side, _args select 3]]] call cse_fnc_debug; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_placeMarker_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_placeMarker_CC.sqf deleted file mode 100644 index 5317a1c8ea..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_placeMarker_CC.sqf +++ /dev/null @@ -1,12 +0,0 @@ -/** - * fn_placeMarker_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -[_this, "cse_fnc_placeMarkerGlobal_CC", true, true] spawn BIS_fnc_MP; -nil; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_registerApp_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_registerApp_CC.sqf deleted file mode 100644 index 8cbfc8c731..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_registerApp_CC.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_registerApp_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_name","_displayName","_icon","_hideOnDesktop","_side","_sideBar","_init", "_devices"]; -_name = _this select 0; -_displayName = _this select 1; -_icon = _this select 2; -_hideOnDesktop = _this select 3; -_sideBar = _this select 4; -_side = _this select 5; -_init = _this select 6; -_devices = _this select 7; - -if (isnil 'CSE_REGISTERED_APPLICATIONS_CC') then { - CSE_REGISTERED_APPLICATIONS_CC = []; -}; - -CSE_REGISTERED_APPLICATIONS_CC pushback [_name,_displayName,_icon,_hideOnDesktop,_sideBar,_side,_init, _devices]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_registerDevice_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_registerDevice_CC.sqf deleted file mode 100644 index 9c2f1ab054..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_registerDevice_CC.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fn_registerDevice_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_ratio","_typeOfSideBar"]; -_deviceName = _this select 0; -_ratio = _this select 1; -_typeOfSideBar = _this select 2; -_side = _this select 3; - -//if (!isclass (ConfigFile >> _deviceName)) exitwith {}; -if (isnil 'CSE_REGISTERED_DEVICES_CC') then { - CSE_REGISTERED_DEVICES_CC = []; -}; -if (count _ratio != 4) exitwith {}; -//_navRatio = [_ratio select 0, _ratio select 1, _ratio select 2, (_ratio select 3) / 13]; - -CSE_REGISTERED_DEVICES_CC pushback [_deviceName,_ratio,_typeOfSideBar,_side]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_setLoggedIn_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_setLoggedIn_CC.sqf deleted file mode 100644 index d162c11d8d..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_setLoggedIn_CC.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_setLoggedIn_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_loggedIn","_trackers"]; -_deviceName = _this select 0; -_loggedIn = _this select 1; - -_trackers = [player,_deviceName] call cse_fnc_getAllBFTItemsOfType_CC; -{ - _info = [_x] call cse_fnc_getTrackerInformation_CC; - _info set [3, _loggedIn]; - [_x, _info] call cse_fnc_setTrackerInformation_CC; -}foreach _trackers; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/tablets/functions/fn_viewLiveFeed_CC.sqf b/TO_MERGE/cse/sys_cc/tablets/functions/fn_viewLiveFeed_CC.sqf deleted file mode 100644 index 5d450a2823..0000000000 --- a/TO_MERGE/cse/sys_cc/tablets/functions/fn_viewLiveFeed_CC.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_viewLiveFeed_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_deviceName","_display","_view","_ctrl", "_camera"]; - -_view = _this select 0; - -disableSerialization; -_deviceName = [] call cse_fnc_getCurrentDeviceName_CC; -[format["fn_viewLiveFeed_CC %1 %2",_this, _deviceName]] call cse_fnc_debug; -_display = uiNamespace getvariable _deviceName; -_ctrl = (_display displayCtrl 20); - -if (_view) then { - _camera = objNull; - if (isnil "CSE_PIP_CAMERA_CC") then { - _camera = "camera" camCreate (position player); - CSE_PIP_CAMERA_CC = _camera; - _camera cameraEffect ["INTERNAL", "BACK","rendertarget0"]; - } else { - _camera = CSE_PIP_CAMERA_CC; - //_camera attachto [vehicle CSE_LIVEFEED_TARGET_CC,[-0.18,0.1,0.1], "head" ]; - }; - [format["VIEW LIVE TARGET: %1 %2", CSE_LIVEFEED_TARGET_CC, _camera]] call cse_fnc_debug; - "rendertarget0" setPiPEffect [0]; - _ctrl ctrlsettext "#(argb,256,256,1)r2t(rendertarget0,1.0)"; - _ctrl ctrlcommit 0; - -} else { - _ctrl ctrlsettext ""; - _ctrl ctrlcommit 0; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/ui/RscTitles.hpp b/TO_MERGE/cse/sys_cc/ui/RscTitles.hpp deleted file mode 100644 index 50dd1552ca..0000000000 --- a/TO_MERGE/cse/sys_cc/ui/RscTitles.hpp +++ /dev/null @@ -1,75 +0,0 @@ -class RscTitles{ - //#include "cse_m_tablet.hpp" - //#include "cse_view_small.hpp" - - - class cse_future_soldier_blueforce { - onLoad = "uiNamespace setVariable ['cse_future_soldier_blueforce', _this select 0];"; - duration = 10e10; - fadein = 0; - fadeout = 0; - idd = 590824; - movingEnable = false; - - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = 3; - y = 2; - w = 1; - h = 0.5; - text = ""; - }; - }; - - class controls { - - - - class display_hud_backgroundImg: cse_gui_backgroundBase { - idc = 1; - x = safezoneX + 0.01; - y = safezoneY + 0.01; - w = 0.4; - h = 0.4; - text = "cse\cse_sys_cc\data\empty_background2.paa"; - colorText[] = {0, 0, 0, 0.2}; - }; - - - class informationDisplay: cse_gui_staticBase { - idc = 2; - x = safezoneX + 0.02; - y = safezoneY + 0.02; - w = 0.31; - h = 0.05; - style = ST_LEFT; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 0.8}; - colorBackground[] = {0, 0, 0, 0}; - text = "LOCAL TIME: 05:21"; - }; - class informationDisplay2: informationDisplay { - idc = 3; - //x = safezoneX + 0.05; - y = safezoneY + 0.07; - text = "OBJECTIVE: 0534 1235"; - }; - class informationDisplay3: informationDisplay { - idc = 4; - //x = safezoneX + 0.05; - y = safezoneY + 0.12; - text = "DISTANCE: 1530m"; - }; - class informationDisplay4: informationDisplay { - idc = 5; - //x = safezoneX + 0.05; - y = safezoneY + 0.17; - text = "SPEED: 10km"; - }; - - - - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/ui/cse_m_pda.hpp b/TO_MERGE/cse/sys_cc/ui/cse_m_pda.hpp deleted file mode 100644 index f8506f6106..0000000000 --- a/TO_MERGE/cse/sys_cc/ui/cse_m_pda.hpp +++ /dev/null @@ -1,17 +0,0 @@ - -class cse_m_pda : cse_m_tablet { - //idd = 590824; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_m_pda', _this select 0]; ['cse_m_pda', true] call cse_fnc_gui_blurScreen;"; - onUnload = " ['cse_m_pda', false] call cse_fnc_gui_blurScreen;"; - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = -0.7; - y = -0.3; - w = 2.35; - h = 1.55; - text = "cse\cse_sys_cc\data\m_pda.paa"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/ui/cse_m_tablet.hpp b/TO_MERGE/cse/sys_cc/ui/cse_m_tablet.hpp deleted file mode 100644 index f0860bbc3c..0000000000 --- a/TO_MERGE/cse/sys_cc/ui/cse_m_tablet.hpp +++ /dev/null @@ -1,776 +0,0 @@ -class cse_m_tablet { - idd = 590823; - movingEnable = false; - onLoad = "uiNamespace setVariable ['cse_m_tablet', _this select 0]; ['cse_m_tablet', true] call cse_fnc_gui_blurScreen;"; - onUnload = "['cse_m_tablet', false] call cse_fnc_gui_blurScreen;"; - duration = 10e10; - fadein = 0; - fadeout = 0; - - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = -0.7; - y = -0.3; - w = 2.35; - h = 1.55; - text = "cse\cse_sys_cc\data\m_tablet.paa"; - }; - }; - - class controls { - class cse_empty_background : cse_gui_backgroundBase { - idc = 1; - x = 0; - y = 0; - w = 0; - h = 0; - text = "cse\cse_sys_cc\data\empty_background2.paa"; - }; - - class cse_icon1 : cse_gui_backgroundBase { - idc = 100; - x = 0; - y = 0; - w = 0; - h = 0; - text = ""; - }; - - class cse_icon2 : cse_icon1 { - idc = 101; - }; - class cse_icon3 : cse_icon1 { - idc = 102; - }; - class cse_icon4 : cse_icon1 { - idc = 103; - }; - class cse_icon5 : cse_icon1 { - idc = 104; - }; - class cse_icon6 : cse_icon1 { - idc = 105; - }; - class cse_icon7 : cse_icon1 { - idc = 106; - }; - class cse_icon8 : cse_icon1 { - idc = 107; - }; - class cse_icon9 : cse_icon1 { - idc = 108; - }; - class cse_icon10 : cse_icon1 { - idc = 109; - }; - class cse_icon11 : cse_icon1 { - idc = 110; - }; - class cse_icon12 : cse_icon1 { - idc = 111; - }; - class cse_icon13 : cse_icon1 { - idc = 112; - }; - - class cse_icon_button1 : cse_gui_buttonBase { - idc = 120; - x = 0; - y = 0; - w = 0; - h = 0; - color[] = {1.0, 1.0, 1.0, 0}; - color2[] = {1.0, 1.0, 1.0, 0}; - colorBackground[] = {1.0, 1.0, 1.0, 0}; - colorbackground2[] = {1.0, 1.0, 1.0, 0}; - colorDisabled[] = {1.0, 1.0, 1.0, 0}; - text = ""; - animTextureNormal = ""; - animTextureDisabled = ""; - animTextureOver = ""; - animTextureFocused = ""; - animTexturePressed = ""; - animTextureDefault = ""; - }; - - class cse_icon_button2 : cse_icon_button1 { - idc = 121; - }; - class cse_icon_button3 : cse_icon_button1 { - idc = 122; - }; - class cse_icon_button4 : cse_icon_button1 { - idc = 123; - }; - class cse_icon_button5 : cse_icon_button1 { - idc = 124; - }; - class cse_icon_button6 : cse_icon_button1 { - idc = 125; - }; - class cse_icon_button7 : cse_icon_button1 { - idc = 126; - }; - class cse_icon_button8 : cse_icon_button1 { - idc = 127; - }; - class cse_icon_button9 : cse_icon_button1 { - idc = 128; - }; - class cse_icon_button10 : cse_icon_button1 { - idc = 129; - }; - class cse_icon_button11 : cse_icon_button1 { - idc = 130; - }; - class cse_icon_button12 : cse_icon_button1 { - idc = 131; - }; - class cse_icon_button13 : cse_icon_button1 { - idc = 132; - }; - - class cse_icon_label1 : cse_gui_staticBase { - idc = 140; - x = 0; - y = 0; - w = 0; - h = 0; - style = ST_CENTER; - }; - class cse_icon_label2: cse_icon_label1 { - idc = 141; - }; - class cse_icon_label3: cse_icon_label1 { - idc = 142; - }; - class cse_icon_label4: cse_icon_label1 { - idc = 143; - }; - class cse_icon_label5: cse_icon_label1 { - idc = 144; - }; - class cse_icon_label6: cse_icon_label1 { - idc = 145; - }; - - - - class mapDisplay1: cse_gui_mapBase { - idc = 10; - x = 100; - y = 100; - w = 0.3; - h = 0.3; - type = 101; - moveOnEdges = 0; - showCountourInterval = 1; - }; - - // 150 t/m 165 - class cse_popUpMenuBackground: cse_gui_backgroundBase { - idc = 150; - x = 0; - y = 0; - w = 0; - h = 0; - //text = "cse\cse_sys_cc\data\dropdown_menu2.paa"; - type = CT_STATIC; - style = ST_LEFT + ST_SHADOW; - text = ""; - colorText[] = {0.95,0.95,0.95,1}; - colorBackground[] = {0.1,0.1,0.1,1}; - }; - class cse_popUpMenuBackgroundheader: cse_popUpMenuBackground { - idc = 151; - colorBackground[] = {0.05,0.05,0.05,1}; - }; - class cse_popUpMenuHeaderTitle: cse_gui_staticBase { - idc = 152; - x = 0; - y = 0; - w = 0; - h = 0; - style = ST_CENTER; - }; - class popUpMenuBtn_accept: cse_gui_buttonBase { - idc = 153; - x = 0; - y = 0; - w = 0; - h = 0; - style = ST_CENTER; - /*animTextureNormal = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureDisabled = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureOver = "cse\cse_sys_cc\data\button_dropdown_menu_hover.paa"; - animTextureFocused = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTexturePressed = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureDefault = "cse\cse_sys_cc\data\button_dropdown_menu.paa";*/ - animTextureNormal = "#(argb,8,8,3)color(0.2,0.2,0.2,1)"; - animTextureDisabled = "#(argb,8,8,3)color(0.4,0.4,0.4,1)"; - animTextureOver = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTextureFocused = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTexturePressed = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTextureDefault = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - colorBackground[] = {0.97,0.97,0.97,1}; - colorbackground2[] = {0.97,0.97,0.97,1}; - colorDisabled[] = {0.97,0.97,0.97,1}; - colorFocused[] = {0.97,0.97,0.97,1}; - colorBackgroundFocused[] = {1,1,1,1}; - text = "Accept"; - }; - class popUpMenuBtn_close: popUpMenuBtn_accept { - idc = 154; - text = "Close"; - }; - - class cse_bottomBar: cse_gui_backgroundBase { - idc = 155; - x = 0; - y = 0; - w = 0; - h = 0; - //text = "cse\cse_sys_cc\data\dropdown_menu2.paa"; - type = CT_STATIC; - style = ST_LEFT + ST_SHADOW; - text = ""; - colorText[] = {0.95,0.95,0.95,1}; - colorBackground[] = {0.1,0.1,0.1,1}; - }; - - class bottomBar_Text: cse_gui_staticBase { - idc = 156; - x = 0; - y = 0; - w = 0; - h = 0; - style = ST_LEFT; - sizeEx = 0.025; - }; - - class cse_sidebar_background : cse_gui_backgroundBase { - idc = 2; - x = 0; - y = 0; - w = 0; - h = 0; - //text = "cse\cse_sys_cc\data\dropdown_menu2.paa"; - type = CT_STATIC; - style = ST_LEFT + ST_SHADOW; - text =""; - colorText[] = {0.95, 0.95, 0.95, 1}; - colorBackground[] = {0.1,0.1,0.1,1}; - }; - - - class mapDisplay2: mapDisplay1 { - idc = 11; - }; - - class cse_navBar_background : cse_sidebar_background { - idc = 3; - x = 0; - y = 0; - w = 0; - h = 0; - //text = "cse\cse_sys_cc\data\dropdown_menu2.paa"; - text = ""; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {0.1,0.1,0.1,1}; - }; - class cse_toggleSideBar : cse_gui_buttonBase { - idc = 4; - x = 0; - y = 0; - w = 0; - h = 0; - color[] = {0.97,0.97,0.97,1}; - color2[] = {0.97,0.97,0.97,1}; - colorBackground[] = {0.97,0.97,0.97,0.7}; - colorbackground2[] = {0.97,0.97,0.97, 0.7}; - colorDisabled[] = {0.97,0.97,0.97, 0.6}; - colorFocused[] = {0.97,0.97,0.97, 1}; - colorBackgroundFocused[] = {0.97,0.97,0.97, 1}; - text = ""; - animTextureNormal = "cse\cse_sys_cc\data\menuIcon.paa"; - animTextureDisabled = "cse\cse_sys_cc\data\menuIcon.paa"; - animTextureOver = "cse\cse_sys_cc\data\menuIcon.paa"; - animTextureFocused = "cse\cse_sys_cc\data\menuIcon.paa"; - animTexturePressed = "cse\cse_sys_cc\data\menuIcon.paa"; - animTextureDefault = "cse\cse_sys_cc\data\menuIcon.paa"; - - }; - - class information_label1: cse_gui_staticBase { - idc = 5; - style = ST_RIGHT; - text = ""; - x = 0; - y = 0; - w = 0; - h = 0; - }; - - class cse_homeIconNavBarBtn : cse_gui_buttonBase { - idc = 198; - x = 0; - y = 0; - w = 0; - h = 0; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - colorBackground[] = {1.0, 1.0, 1.0, 0.7}; - colorbackground2[] = {1.0, 1.0, 1.0, 0.7}; - colorDisabled[] = {1.0, 1.0, 1.0, 0.6}; - colorFocused[] = {1.0, 1.0, 1.0, 1}; - colorBackgroundFocused[] = {1.0, 1.0, 1.0, 1}; - text = ""; - animTextureNormal = "cse\cse_sys_cc\data\home_icon.paa"; - animTextureDisabled = "cse\cse_sys_cc\data\home_icon.paa"; - animTextureOver = "cse\cse_sys_cc\data\home_icon.paa"; - animTextureFocused = "cse\cse_sys_cc\data\home_icon.paa"; - animTexturePressed = "cse\cse_sys_cc\data\home_icon.paa"; - animTextureDefault = "cse\cse_sys_cc\data\home_icon.paa"; - - }; - - class cse_navBarIconHome: cse_icon1 { - idc = 199; - }; - class cse_navBarIcon1: cse_navBarIconHome { - idc = 200; - }; - - - class ppDisplay: cse_gui_backgroundBase { - idc = 20; - type = 0; - style = 48; - text = ""; - x = 0; - y = 0; - w = 0; - h = 0; - colorText[] = {1,1,1,1}; - colorBackground[] = {0, 0, 0, 0.3}; - font = "TahomaB"; - sizeEx = 0; - lineSpacing = 0; - fixedWidth = 0; - shadow = 0; - }; - class ppDisplay2: ppDisplay { - idc = 21; - }; - - - class sideBar_label1: cse_gui_staticBase{ - idc = 40; - x = 0; - y = 0; - w = 0; - h = 0; - text = "hi"; - }; - class sideBar_label2: sideBar_label1{ - idc = 41; - }; - class sideBar_label3: sideBar_label1{ - idc = 42; - }; - class sideBar_label4: sideBar_label1{ - idc = 43; - }; - class sideBar_label5: sideBar_label1{ - idc = 44; - }; - class sideBar_label6: sideBar_label1{ - idc = 45; - }; - class sideBar_label7: sideBar_label1{ - idc = 46; - }; - class sideBar_label8: sideBar_label1{ - idc = 47; - }; - class sideBar_label9: sideBar_label1{ - idc = 48; - }; - class sideBar_label10: sideBar_label1{ - idc = 49; - }; - - class sideBar_cb1: cse_gui_comboBoxBase{ - idc = 50; - x = 0; - y = 0; - w = 0; - h = 0; - }; - class sideBar_cb2: sideBar_cb1{ - idc = 51; - }; - class sideBar_lb3: sideBar_cb1{ - idc = 52; - }; - class sideBar_lb4: sideBar_cb1{ - idc = 53; - }; - class sideBar_lb5: sideBar_cb1{ - idc = 54; - }; - class sideBar_lb6: sideBar_cb1{ - idc = 55; - }; - class sideBar_lb7: sideBar_cb1{ - idc = 56; - }; - class sideBar_lb8: sideBar_cb1{ - idc = 57; - }; - class sideBar_lb9: sideBar_cb1{ - idc = 58; - }; - class sideBar_lb10: sideBar_cb1{ - idc = 59; - }; - - class sideBar_button1: cse_gui_buttonBase { - idc = 60; - x = 0; - y = 0; - w = 0; - h = 0; - style = ST_CENTER; - /*animTextureNormal = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureDisabled = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureOver = "cse\cse_sys_cc\data\button_dropdown_menu_hover.paa"; - animTextureFocused = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTexturePressed = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureDefault = "cse\cse_sys_cc\data\button_dropdown_menu.paa";*/ - animTextureNormal = "#(argb,8,8,3)color(0.2,0.2,0.2,1)"; - animTextureDisabled = "#(argb,8,8,3)color(0.4,0.4,0.4,1)"; - animTextureOver = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTextureFocused = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTexturePressed = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTextureDefault = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.9,0.9,0.9,1}; - colorFocused[] = {1,1,1,1}; - color[] = {0.9,0.9,0.9, 1}; - color2[] = {1,1,1, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - }; - class sideBar_button2: sideBar_button1 { - idc = 61; - }; - class sideBar_button3: sideBar_button1 { - idc = 62; - }; - class sideBar_button4: sideBar_button1 { - idc = 63; - }; - class sideBar_button5: sideBar_button1 { - idc = 64; - }; - class sideBar_button6: sideBar_button1 { - idc = 65; - }; - class sideBar_button7: sideBar_button1 { - idc = 66; - }; - class sideBar_button8: sideBar_button1 { - idc = 67; - }; - class sideBar_button9: sideBar_button1 { - idc = 68; - }; - class sideBar_button10: sideBar_button1 { - idc = 69; - }; - - class main_label1: cse_gui_staticBase{ - idc = 240; - x = 0; - y = 0; - w = 0; - h = 0; - text = ""; - style = ST_RIGHT; - }; - class main_label2: main_label1 { - idc = 241; - }; - class main_label3: main_label1 { - idc = 242; - }; - class main_label4: main_label1 { - idc = 243; - }; - class main_label5: main_label1 { - idc = 244; - }; - class main_label6: main_label1 { - idc = 245; - }; - class main_label7: main_label1 { - idc = 246; - }; - class main_label8: main_label1 { - idc = 247; - }; - class main_label9: main_label1 { - idc = 248; - }; - class main_label10: main_label1 { - idc = 249; - }; - - class main_combo1: cse_gui_comboBoxBase{ - idc = 250; - x = 0; - y = 0; - w = 0; - h = 0; - sizeEx = 0.031; - wholeHeight = 0.9; - }; - class main_combo2: main_combo1{ - idc = 251; - }; - class main_combo3: main_combo1{ - idc = 252; - }; - class main_combo4: main_combo1{ - idc = 253; - }; - class main_combo5: main_combo1{ - idc = 254; - }; - class main_combo6: main_combo1{ - idc = 255; - }; - - class main_button1: cse_gui_buttonBase { - idc = 260; - x = 0; - y = 0; - w = 0; - h = 0; - style = ST_CENTER; - /*animTextureNormal = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureDisabled = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureOver = "cse\cse_sys_cc\data\button_dropdown_menu_hover.paa"; - animTextureFocused = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTexturePressed = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - animTextureDefault = "cse\cse_sys_cc\data\button_dropdown_menu.paa"; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.9,0.9,0.9,1}; - colorFocused[] = {1,1,1,1}; - color[] = {0.9,0.9,0.9, 1}; - color2[] = {1,1,1, 1}; - colorBackgroundFocused[] = {1,1,1,1};*/ - animTextureNormal = "#(argb,8,8,3)color(0.2,0.2,0.2,1)"; - animTextureDisabled = "#(argb,8,8,3)color(0.4,0.4,0.4,1)"; - animTextureOver = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTextureFocused = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTexturePressed = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - animTextureDefault = "#(argb,8,8,3)color(0.3,0.3,0.3,1)"; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.9,0.9,0.9,1}; - colorFocused[] = {1,1,1,1}; - color[] = {0.9,0.9,0.9, 1}; - color2[] = {1,1,1, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - }; - class main_button2: main_button1 { - idc = 261; - }; - class main_button3: main_button1 { - idc = 262; - }; - class main_button4: main_button1 { - idc = 263; - }; - class main_button5: main_button1 { - idc = 264; - }; - class main_button6: main_button1 { - idc = 265; - }; - class main_button7: main_button1 { - idc = 266; - }; - class main_button8: main_button1 { - idc = 267; - }; - class main_button9: main_button1 { - idc = 268; - }; - class main_button10: main_button1 { - idc = 269; - }; - class main_inputField1: cse_gui_editBase - { - idc = 270; - x = 100; - y = 100; - h = 0.05; - w = 0.05; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - autocomplete = ""; - font = "PuristaMedium"; - colorBackground[] = { 0, 0, 0, 1}; - colorText[] = { 1, 1, 1, 1}; - colorDisabled[] = { 1, 1, 1, 0.25}; - colorSelection[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 1}; - colorActive[] = {1,1,1,1}; - tooltip = ""; - canModify = 1; - }; - class main_inputField2: main_inputField1 - { - idc = 271; - }; - class main_inputField3: main_inputField1 - { - idc = 272; - }; - class main_inputField4: main_inputField1 - { - idc = 273; - }; - class main_inputField5: main_inputField1 - { - idc = 274; - }; - class main_inputField6: main_inputField1 - { - idc = 275; - }; - - class main_lb1: cse_gui_listBoxBase{ - idc = 280; - x = 0; - y = 0; - w = 0; - h = 0; - }; - class main_lb2: main_lb1{ - idc = 281; - }; - class main_lb3: main_lb1{ - idc = 282; - }; - class main_lb4: main_lb1{ - idc = 283; - }; - - class listBox_APP1: cse_gui_listBoxBase{ - idc=601; - x = 100; - y = 100; - w = 1; - h = 1; - sizeEx = 0.032; - rowHeight = 0.03; - color[] = {0.9,0.9,0.9, 1}; - colorText[] = {0.9,0.9,0.9, 1}; - colorScrollbar[] = {0.9,0.9,0.9, 1}; - colorSelect[] = {0.9,0.9,0.9, 1}; - colorSelect2[] = {0.9,0.9,0.9, 1}; - colorSelectBackground[] = {0.2,0.2,0.2, 1}; - colorSelectBackground2[] = {0.2,0.2,0.2, 1}; - colorBackground[] = {0.1, 0.1, 0.1, 1}; - }; - class app_extraBackground: cse_gui_backgroundBase { - idc = 602; - x = 0; - y = 0; - w = 0; - h = 0; - type = CT_STATIC; - style = ST_LEFT + ST_SHADOW; - text = ""; - colorText[] = {0.95,0.95,0.95,1}; - colorBackground[] = {0.9,0.9,0.9,1}; - }; - class app_labelTitle: cse_gui_staticBase{ - idc = 603; - x = 0; - y = 0; - w = 0; - h = 0; - text = ""; - style = ST_CENTER; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.1,0.1,0.1, 1}; - }; - - class labelDesc: cse_gui_staticBase { - idc = 604; - x = 0; - y = 0; - w = 0; - h = 0; - text = ""; - style = ST_LEFT + ST_MULTI; - lineSpacing = 1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.1,0.1,0.1, 1}; - }; - - class labelNoSignal: cse_gui_staticBase { - idc = 605; - x = 0; - y = 0; - w = 0; - h = 0; - text = "NO SIGNAL"; - style = ST_LEFT; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.1,0.1,0.1, 1}; - }; - - class loadScreenBackground: cse_gui_backgroundBase { - idc = 607; - x = 0; - y = 0; - w = 0; - h = 0; - type = CT_STATIC; - style = ST_LEFT + ST_SHADOW; - text = ""; - colorText[] = {0.95,0.95,0.95,1}; - colorBackground[] = {0.9,0.9,0.9,1}; - }; - - class Progress_Bar1: cse_gui_RscProgress { - idc = 606; - x = "100 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "100 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorFrame[] = {0,0,0,1}; - colorBar[] = {0.27,0.5,0.31,0.6}; - // colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - }; - class loadingScreen_Label: cse_gui_staticBase{ - idc = 608; - x = 0; - y = 0; - w = 0; - h = 0; - text = ""; - style = ST_CENTER; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.1,0.1,0.1, 1}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/ui/cse_m_tablet_uk.hpp b/TO_MERGE/cse/sys_cc/ui/cse_m_tablet_uk.hpp deleted file mode 100644 index 2fd77046bc..0000000000 --- a/TO_MERGE/cse/sys_cc/ui/cse_m_tablet_uk.hpp +++ /dev/null @@ -1,85 +0,0 @@ -class cse_m_tablet_uk : cse_m_tablet { - //idd = 590824; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_m_tablet_uk', _this select 0]; ['cse_m_tablet_uk', true] call cse_fnc_gui_blurScreen;"; - onUnload = " ['cse_m_tablet_uk', false] call cse_fnc_gui_blurScreen;"; - - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = -0.7; - y = -0.3; - w = 2.35; - h = 1.55; - text = "cse\cse_sys_cc\data\uk_tablet.paa"; - }; - }; -}; - -class cse_m_tablet_o : cse_m_tablet { - //idd = 590824; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_m_tablet_o', _this select 0]; ['cse_m_tablet_o', true] call cse_fnc_gui_blurScreen;"; - onUnload = " ['cse_m_tablet_o', false] call cse_fnc_gui_blurScreen;"; - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = -0.7; - y = -0.3; - w = 2.35; - h = 1.55; - text = "cse\cse_sys_cc\data\m_tablet.paa"; - }; - }; -}; - -class cse_m_pda_o : cse_m_pda { - //idd = 590824; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_m_pda_o', _this select 0]; ['cse_m_pda_o', true] call cse_fnc_gui_blurScreen;"; - onUnload = " ['cse_m_pda_o', false] call cse_fnc_gui_blurScreen;"; - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = -0.7; - y = -0.3; - w = 2.35; - h = 1.55; - text = "cse\cse_sys_cc\data\m_pda.paa"; - }; - }; -}; - -class cse_m_tablet_g : cse_m_tablet { - //idd = 590824; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_m_tablet_g', _this select 0]; ['cse_m_tablet_g', true] call cse_fnc_gui_blurScreen;"; - onUnload = " ['cse_m_tablet_g', false] call cse_fnc_gui_blurScreen;"; - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = -0.7; - y = -0.3; - w = 2.35; - h = 1.55; - text = "cse\cse_sys_cc\data\m_tablet.paa"; - }; - }; -}; - -class cse_m_pda_g : cse_m_pda { - //idd = 590824; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_m_pda_g', _this select 0]; ['cse_m_pda_g', true] call cse_fnc_gui_blurScreen;"; - onUnload = " ['cse_m_pda_g', false] call cse_fnc_gui_blurScreen;"; - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = -0.7; - y = -0.3; - w = 2.35; - h = 1.55; - text = "cse\cse_sys_cc\data\m_pda.paa"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/ui/cse_view_small.hpp b/TO_MERGE/cse/sys_cc/ui/cse_view_small.hpp deleted file mode 100644 index b178e66556..0000000000 --- a/TO_MERGE/cse/sys_cc/ui/cse_view_small.hpp +++ /dev/null @@ -1,16 +0,0 @@ -class cse_view_small: cse_m_tablet { - onLoad = "uiNamespace setVariable ['cse_view_small', _this select 0];"; - duration = 10e10; - fadein = 0; - fadeout = 0; - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = 3; - y = 2; - w = 1; - h = 0.5; - text = ""; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/ui/define.hpp b/TO_MERGE/cse/sys_cc/ui/define.hpp deleted file mode 100644 index c521de470f..0000000000 --- a/TO_MERGE/cse/sys_cc/ui/define.hpp +++ /dev/null @@ -1,797 +0,0 @@ - -#ifndef CSE_DEFINE_H -#define CSE_DEFINE_H -// define.hpp - -#define true 1 -#define false 0 - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_ANIMATED_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define CT_LISTNBOX 102 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define ST_TITLE ST_TITLE_BAR + ST_CENTER - -// Slider styles -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 - -#define SL_TEXTURES 0x10 - -// Listbox styles -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontCSE "PuristaMedium" - -class cse_gui_backgroundBase { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - colorBackground[] = {0,0,0,0}; - colorText[] = {1, 1, 1, 1}; - font = FontCSE; - text = ""; - sizeEx = 0.032; -}; -class cse_gui_editBase -{ - access = 0; - type = 2; - x = 0; - y = 0; - h = 0.04; - w = 0.2; - colorBackground[] = - { - 0, - 0, - 0, - 1 - }; - colorText[] = - { - 0.95, - 0.95, - 0.95, - 1 - }; - colorSelection[] = - { - "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", - "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", - "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", - 1 - }; - autocomplete = ""; - text = ""; - size = 0.2; - style = "0x00 + 0x40"; - font = "PuristaMedium"; - shadow = 2; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorDisabled[] = - { - 1, - 1, - 1, - 0.25 - }; -}; - - - -class cse_gui_buttonBase { - idc = -1; - type = 16; - style = ST_LEFT; - text = ""; - action = ""; - x = 0.0; - y = 0.0; - w = 0.25; - h = 0.04; - size = 0.03921; - sizeEx = 0.03921; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - /*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"}; - colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8}; - */ - - colorBackground[] = {1,1,1,0.95}; - colorbackground2[] = {1,1,1,0.95}; - colorDisabled[] = {1,1,1,0.6}; - colorFocused[] = {1,1,1,1}; - colorBackgroundFocused[] = {1,1,1,1}; - periodFocus = 1.2; - periodOver = 0.8; - default = false; - class HitZone { - left = 0.00; - top = 0.00; - right = 0.00; - bottom = 0.00; - }; - - class ShortcutPos { - left = 0.00; - top = 0.00; - w = 0.00; - h = 0.00; - }; - - class TextPos { - left = 0.002; - top = 0.0004; - right = 0.0; - bottom = 0.00; - }; - textureNoShortcut = ""; - animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa"; - animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - period = 0.5; - font = FontCSE; - soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0}; - soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; - class Attributes { - font = FontCSE; - color = "#E5E5E5"; - align = "center"; - shadow = "true"; - }; - class AttributesImage { - font = FontCSE; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; -}; - -class cse_gui_RscProgress { - type = 8; - style = 0; - colorFrame[] = {1,1,1,0.7}; - colorBar[] = {1,1,1,0.7}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; -}; - - -class cse_gui_staticBase { - idc = -1; - type = CT_STATIC; - x = 0.0; - y = 0.0; - w = 0.183825; - h = 0.104575; - style = ST_LEFT; - font = FontCSE; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - text = ""; -}; - -class RscListBox; -class cse_gui_listBoxBase : RscListBox{ - type = CT_LISTBOX; - style = ST_MULTI; - font = FontCSE; - sizeEx = 0.03921; - color[] = {1, 1, 1, 1}; - colorText[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - period = 1.2; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; - - -class cse_gui_listNBox { - access = 0; - type = CT_LISTNBOX;// 102; - style =ST_MULTI; - w = 0.4; - h = 0.4; - font = FontCSE; - sizeEx = 0.031; - - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - columns[] = {0.0}; - color[] = {1, 1, 1, 1}; - - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - rows = 1; - - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - maxHistoryDelay = 1; - soundSelect[] = {"", 0.1, 1}; - period = 1; - shadow = 2; - class ScrollBar { - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - border = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "#(argb,8,8,3)color(1,1,1,1)"; - }; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - -class RscCombo; -class cse_gui_comboBoxBase: RscCombo { - idc = -1; - type = 4; - style = "0x10 + 0x200"; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - color[] = {0,0,0,0.6}; - colorActive[] = {1,0,0,1}; - colorBackground[] = {0,0,0,1}; - colorDisabled[] = {1,1,1,0.25}; - colorScrollbar[] = {1,0,0,1}; - colorSelect[] = {0,0,0,1}; - colorSelectBackground[] = {1,1,1,0.7}; - colorText[] = {1,1,1,1}; - - arrowEmpty = ""; - arrowFull = ""; - wholeHeight = 0.45; - font = FontCSE; - sizeEx = 0.031; - soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; - soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; - soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; - maxHistoryDelay = 1.0; - class ScrollBar - { - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - border = ""; - }; - class ComboScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - - -class cse_gui_mapBase { - moveOnEdges = 1; - x = "SafeZoneXAbs"; - y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "SafeZoneWAbs"; - h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 100; // Use 100 to hide markers - style = 48; - shadow = 0; - - ptsPerSquareSea = 5; - ptsPerSquareTxt = 3; - ptsPerSquareCLn = 10; - ptsPerSquareExp = 10; - ptsPerSquareCost = 10; - ptsPerSquareFor = 9; - ptsPerSquareForEdge = 9; - ptsPerSquareRoad = 6; - ptsPerSquareObj = 9; - showCountourInterval = 0; - scaleMin = 0.001; - scaleMax = 1.0; - scaleDefault = 0.16; - maxSatelliteAlpha = 0.85; - alphaFadeStartScale = 0.35; - alphaFadeEndScale = 0.4; - colorBackground[] = {0.969,0.957,0.949,1.0}; - colorSea[] = {0.467,0.631,0.851,0.5}; - colorForest[] = {0.624,0.78,0.388,0.5}; - colorForestBorder[] = {0.0,0.0,0.0,0.0}; - colorRocks[] = {0.0,0.0,0.0,0.3}; - colorRocksBorder[] = {0.0,0.0,0.0,0.0}; - colorLevels[] = {0.286,0.177,0.094,0.5}; - colorMainCountlines[] = {0.572,0.354,0.188,0.5}; - colorCountlines[] = {0.572,0.354,0.188,0.25}; - colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6}; - colorCountlinesWater[] = {0.491,0.577,0.702,0.3}; - colorPowerLines[] = {0.1,0.1,0.1,1.0}; - colorRailWay[] = {0.8,0.2,0.0,1.0}; - colorNames[] = {0.1,0.1,0.1,0.9}; - colorInactive[] = {1.0,1.0,1.0,0.5}; - colorOutside[] = {0.0,0.0,0.0,1.0}; - colorTracks[] = {0.84,0.76,0.65,0.15}; - colorTracksFill[] = {0.84,0.76,0.65,1.0}; - colorRoads[] = {0.7,0.7,0.7,1.0}; - colorRoadsFill[] = {1.0,1.0,1.0,1.0}; - colorMainRoads[] = {0.9,0.5,0.3,1.0}; - colorMainRoadsFill[] = {1.0,0.6,0.4,1.0}; - colorGrid[] = {0.1,0.1,0.1,0.6}; - colorGridMap[] = {0.1,0.1,0.1,0.6}; - colorText[] = {1, 1, 1, 0.85}; -font = "PuristaMedium"; -sizeEx = 0.0270000; -stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; -stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; -onMouseButtonClick = ""; -onMouseButtonDblClick = ""; - - fontLabel = "PuristaMedium"; - sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontGrid = "TahomaB"; - sizeExGrid = 0.02; - fontUnits = "TahomaB"; - sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontNames = "PuristaMedium"; - sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2"; - fontInfo = "PuristaMedium"; - sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontLevel = "TahomaB"; - sizeExLevel = 0.02; - text = "#(argb,8,8,3)color(1,1,1,1)"; - class ActiveMarker { - color[] = {0.30, 0.10, 0.90, 1.00}; - size = 50; - }; - class Legend - { - x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)"; - y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - font = "PuristaMedium"; - sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - colorBackground[] = {1,1,1,0.5}; - color[] = {0,0,0,1}; - }; - class Task - { - icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa"; - iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa"; - iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa"; - iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa"; - iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa"; - color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"}; - colorCreated[] = {1,1,1,1}; - colorCanceled[] = {0.7,0.7,0.7,1}; - colorDone[] = {0.7,1,0.3,1}; - colorFailed[] = {1,0.3,0.2,1}; - size = 27; - importance = 1; - coefMin = 1; - coefMax = 1; - }; - class Waypoint - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class WaypointCompleted - { - icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class CustomMark - { - icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa"; - size = 24; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {0,0,0,1}; - }; - class Command - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - size = 18; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {1,1,1,1}; - }; - class Bush - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = "14/2"; - importance = "0.2 * 14 * 0.05 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Rock - { - icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa"; - color[] = {0.1,0.1,0.1,0.8}; - size = 12; - importance = "0.5 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class SmallTree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.6 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Tree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.9 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class busstop - { - icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class fuelstation - { - icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class hospital - { - icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class church - { - icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class lighthouse - { - icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class power - { - icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powersolar - { - icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwave - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwind - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class quay - { - icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class shipwreck - { - icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class transmitter - { - icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class watertower - { - icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class Cross - { - icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Chapel - { - icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Bunker - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 14; - importance = "1.5 * 14 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fortress - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 16; - importance = "2 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fountain - { - icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa"; - size = 11; - importance = "1 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Ruin - { - icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa"; - size = 16; - importance = "1.2 * 16 * 0.05"; - coefMin = 1; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Stack - { - icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa"; - size = 20; - importance = "2 * 16 * 0.05"; - coefMin = 0.9; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Tourism - { - icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa"; - size = 16; - importance = "1 * 16 * 0.05"; - coefMin = 0.7; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class ViewTower - { - icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa"; - size = 16; - importance = "2.5 * 16 * 0.05"; - coefMin = 0.5; - coefMax = 4; - color[] = {0,0,0,1}; - }; -}; - -#endif \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/ui/m_flight_display.h b/TO_MERGE/cse/sys_cc/ui/m_flight_display.h deleted file mode 100644 index 38eb69cbe5..0000000000 --- a/TO_MERGE/cse/sys_cc/ui/m_flight_display.h +++ /dev/null @@ -1,62 +0,0 @@ -class cse_m_flight_display { - idd = 590823; - movingEnable = false; - onLoad = "uiNamespace setVariable ['cse_m_flight_display', _this select 0]; ['cse_m_flight_display', true] call cse_fnc_gui_blurScreen;"; - onUnload = "['cse_m_flight_display', false] call cse_fnc_gui_blurScreen;"; - - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "-1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "30 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "cse\cse_sys_cc\data\m_flight_display.paa"; - }; - }; - class controls { - - class mapDisplay: cse_gui_mapBase { - idc = 10; - x = "11.75 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "16.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "22 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 101; - moveOnEdges = 0; - showCountourInterval = 1; - }; - }; -}; - - -class cse_m_vehicle_display { - idd = 590823; - movingEnable = false; - onLoad = "uiNamespace setVariable ['cse_m_vehicle_display', _this select 0]; ['cse_m_vehicle_display', true] call cse_fnc_gui_blurScreen;"; - onUnload = "['cse_m_vehicle_display', false] call cse_fnc_gui_blurScreen;"; - - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = "-5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "-1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "55 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "30 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "cse\cse_sys_cc\data\m_vehicle_display.paa"; - }; - }; - class controls { - - class mapDisplay: cse_gui_mapBase { - idc = 10; - x = "8.75 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "27.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "22 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 101; - moveOnEdges = 0; - showCountourInterval = 1; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_canUseOnBoard_BFT_Device_CC.sqf b/TO_MERGE/cse/sys_cc/vehicles/functions/fn_canUseOnBoard_BFT_Device_CC.sqf deleted file mode 100644 index b37a55d2b9..0000000000 --- a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_canUseOnBoard_BFT_Device_CC.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_canUseOnBoard_BFT_Device_CC.sqf - * @Descr: Check if unit can use on board BFT device from given vehicle. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, vehicle OBJECT] - * @Return: BOOL True if unit can use on Board BFT Device from vehicle - * @PublicAPI: true - */ - -private ["_unit", "_vehicle", "_info"]; -_unit = _this select 0; -_vehicle = _this select 1; - -if (_vehicle isKindOf "CAManBase") exitwith {false}; -if !([_unit] call cse_fnc_canInteract) exitwith {false}; -if !([_vehicle] call cse_fnc_hasFlightDisplay_CC) exitwith {false}; -if !(isEngineOn _vehicle) exitwith {false}; - -(vehicle _unit == _vehicle && {!(_unit in assignedCargo _vehicle)}); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_drawBFTIcons_Vehicles_CC.sqf b/TO_MERGE/cse/sys_cc/vehicles/functions/fn_drawBFTIcons_Vehicles_CC.sqf deleted file mode 100644 index 95bd2a2b9e..0000000000 --- a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_drawBFTIcons_Vehicles_CC.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/** - * fn_drawBFTIcons_Vehicles_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_trackerInfo", "_icon", "_pos", "_text", "_unit", "_side", "_color", "_map"]; -_trackerInfo = _this select 0; -_map = _this select 1; - -_icon = _trackerInfo select 0; -_pos = _trackerInfo select 1; -_text = _trackerInfo select 2; -_unit = _trackerInfo select 5; -_side = _trackerInfo select 6; - -if ((side CSE_CURRENT_VEHICLE_BFT_DISPLAY_CC) == _side) then { - if (!CSE_TOGGLE_CALLSIGNS_CC) then { - _text = ""; - }; - _color = _trackerInfo select 3; - if (_unit == CSE_CURRENT_VEHICLE_BFT_DISPLAY_CC) then {_color = [0.78,0.8,0.1,1]; }; - _map drawIcon [_icon,_color, _pos, 30, 30, 0, _text, 0, 0.05, 'PuristaMedium', 'right']; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_drawBFTMarker_Vehicles_CC.sqf b/TO_MERGE/cse/sys_cc/vehicles/functions/fn_drawBFTMarker_Vehicles_CC.sqf deleted file mode 100644 index 7591f85580..0000000000 --- a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_drawBFTMarker_Vehicles_CC.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_drawBFTMarker_Vehicles_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private [ "_marker", "_map"]; -_marker = _this select 0; -if !(_marker isEqualTo []) then { - _pos = _marker select 0; - _args = _marker select 1; - _icon = _args select 0; - _text = _args select 1; - _color = _args select 2; - - _timeOfPlacement = _marker select 2; - _side = _marker select 3; - if ((side CSE_CURRENT_VEHICLE_BFT_DISPLAY_CC) == _side) then { - (_this select 1) drawIcon [_icon,_color, _pos, 30, 30, 0, _text, 0, 0.05, 'PuristaMedium', 'right']; - }; -}; diff --git a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_hasFlightDisplay_CC.sqf b/TO_MERGE/cse/sys_cc/vehicles/functions/fn_hasFlightDisplay_CC.sqf deleted file mode 100644 index 90dfc20722..0000000000 --- a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_hasFlightDisplay_CC.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/** - * fn_hasFlightDisplay_CC.sqf - * @Descr: Check if vehicle has an onboard BFT display. Works for aircraft and other vehicles. - * @Author: Glowbal - * - * @Arguments: [vehicle OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_vehicle"]; -_vehicle = _this select 0; - -if (alive _vehicle) then { - if (_vehicle isKindOf "CAManBase") exitwith {false}; - if (_vehicle getvariable ["cse_disableVehicleDisplay_CC", false]) exitwith {false}; - if !(CSE_ALLOW_VEHICLE_DISPLAYS_CC) exitwith {false}; - _info = _vehicle getvariable "cse_bft_info_cc"; - if (isnil "_info") exitwith {false}; - true; -} else { - false; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_openFlight_Display_CC.sqf b/TO_MERGE/cse/sys_cc/vehicles/functions/fn_openFlight_Display_CC.sqf deleted file mode 100644 index c58d32ecb5..0000000000 --- a/TO_MERGE/cse/sys_cc/vehicles/functions/fn_openFlight_Display_CC.sqf +++ /dev/null @@ -1,52 +0,0 @@ -/** - * fn_openFlight_Display_CC.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_vehicle", "_displayName"]; -_vehicle = _this select 0; - -if !([player, _vehicle] call cse_fnc_canUseOnBoard_BFT_Device_CC) exitWith {}; - -_displayName = "cse_m_flight_display"; - -if !(_vehicle isKindOf "Air") then { - _displayName = "cse_m_vehicle_display"; -}; - -createDialog _displayName; -CSE_CURRENT_VEHICLE_BFT_DISPLAY_CC = _vehicle; - -if (isnil "CSE_CURRENT_SELECTED_FILTER_CC_APP_CC") then { - CSE_CURRENT_SELECTED_FILTER_CC_APP_CC = -1; - CSE_TOGGLE_ROUTE_LAYER_CC = true; - CSE_TOGGLE_INTEL_LAYER_CC = true; - CSE_TOGGLE_CALLSIGNS_CC = true; - CSE_SELECTED_ICON_CC = ""; -}; - -if (isnil "CSE_INTEL_MARKER_COLLECTION_CC") then { - CSE_INTEL_MARKER_COLLECTION_CC = []; -}; -if (isnil "CSE_ROUTE_MARKER_COLLECTION_CC") then { - CSE_ROUTE_MARKER_COLLECTION_CC = []; -}; -if (isnil "CSE_TRACKER_ICONS") then { - CSE_TRACKER_ICONS = []; -}; - -CSE_CURRENT_VEHICLE_BFT_DISPLAY_ICON_CC = getText(configFile >> "CfgVehicles" >> typeOf _vehicle >> "icon"); - -disableSerialization; -_display = uiNamespace getvariable _displayName; - -(_display displayCtrl 10) ctrlAddEventHandler ["draw"," - {[_x,(_this select 0)] call cse_fnc_drawBFTIcons_Vehicles_CC;}foreach CSE_TRACKER_ICONS; - if (CSE_TOGGLE_INTEL_LAYER_CC) then {{[_x,(_this select 0)] call cse_fnc_drawBFTMarker_Vehicles_CC;}foreach CSE_INTEL_MARKER_COLLECTION_CC;}; - if (CSE_TOGGLE_ROUTE_LAYER_CC) then {{[_x,(_this select 0)] call cse_fnc_drawBFTMarker_Vehicles_CC;}foreach CSE_ROUTE_MARKER_COLLECTION_CC;}; - "]; diff --git a/TO_MERGE/cse/sys_combatdeaf/CfgFunctions.h b/TO_MERGE/cse/sys_combatdeaf/CfgFunctions.h deleted file mode 100644 index e5c097e69c..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/CfgFunctions.h +++ /dev/null @@ -1,18 +0,0 @@ -class CfgFunctions { - class CSE { - class combatdeaf { - file = "cse\cse_sys_combatdeaf\functions"; - class handleFiredNear_DEAF { recompile = 1; }; - class handleFired_DEAF { recompile = 1; }; - class getAttenuation_DEAF { recompile = 1; }; - class applyEletronicEarProtection_DEAF { recompile = 1; }; - class explosion_DEAF { recompile = 1; }; - class handlePressureWave_DEAF { recompile = 1; }; - class getIn_DEAF { recompile = 1; }; - class getOut_DEAF { recompile = 1; }; - class register_ear_protection_actions_DEAF { recompile = 1; }; - class getMuzzleAccessory_DEAF { recompile = 1; }; - class hasMuzzleAccessory_DEAF { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/CfgSounds.h b/TO_MERGE/cse/sys_combatdeaf/CfgSounds.h deleted file mode 100644 index 6230b98a63..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/CfgSounds.h +++ /dev/null @@ -1,9 +0,0 @@ -class CfgSounds -{ - class cse_combatdeaf_ear_ringing - { - name="cse_combatdeaf_ear_ringing"; - sound[]={"\cse\cse_sys_combatdeaf\sound\ear_ringing.ogg",1,1}; - titles[]={}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/CfgVehicles.h b/TO_MERGE/cse/sys_combatdeaf/CfgVehicles.h deleted file mode 100644 index c844679424..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/CfgVehicles.h +++ /dev/null @@ -1,85 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_sys_combatdeaf: Module_F { - scope = 2; - displayName = "Combat Deafness [CSE]"; - icon = "\cse\cse_main\data\cse_earmuffs_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class DEAFNESS_EFFECT_INTENSITY { - displayName = "Deafness effect intensity"; - description = "Allows to tune down the deafness effect (2.0 - dual intensity, 1.0 - default intensity, 0.5 - half intensity)"; - typeName = "NUMBER"; - defaultValue = 1; - }; - class DISABLE_EAR_RINGING { - displayName = "Disable ear ringing"; - description = "Disables the ear ringing effect"; - typeName = "BOOL"; - defaultValue = 0; - }; - }; - class ModuleDescription { - description = "Combat deafness"; - }; - }; - - class Item_Base_F; - class cse_earplugsItem: Item_Base_F - { - scope = 2; - scopeCurator = 2; - displayName = "Earplugs"; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_earplugs - { - name = "cse_earplugs"; - count = 1; - }; - }; - }; - class cse_earplugs_electronicItem: cse_earplugsItem - { - class TransportItems - { - class cse_earplugs_electronic - { - name = "cse_earplugs_electronic"; - count = 1; - }; - }; - }; - - class NATO_Box_Base; - class cse_crateCombatDeafness: NATO_Box_Base - { - scope = 2; - displayName = "Earplugs Crate [CSE]"; - author = "Combat Space Enhancement"; - model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; - class TransportWeapons - { - class _xx_cse_earplugs - { - weapon="cse_earplugs"; - count=50; - }; - class _xx_cse_earplugs_electronic - { - weapon="cse_earplugs_electronic"; - count=10; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_combatdeaf/CfgWeapons.h b/TO_MERGE/cse/sys_combatdeaf/CfgWeapons.h deleted file mode 100644 index e7568824b0..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/CfgWeapons.h +++ /dev/null @@ -1,27 +0,0 @@ -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class cse_earplugs: ItemCore - { - scope=2; - value = 1; - count = 1; - type = 16; - displayName="Earplugs"; - model="\cse\cse_sys_combatdeaf\equipment\earplugs_simple.p3d"; - picture="\cse\cse_sys_combatdeaf\equipment\icons\earplugs_simple_icon.paa"; - descriptionShort="Earplugs"; - class ItemInfo: InventoryItem_Base_F - { - mass=0.01; - type=201; - }; - }; - class cse_earplugs_electronic: cse_earplugs - { - displayName="Electronic earplugs"; - model="\cse\cse_sys_combatdeaf\equipment\earplugs_electronic.p3d"; - picture="\cse\cse_sys_combatdeaf\equipment\icons\earplugs_electronic_icon.paa"; - descriptionShort="Eletronic earplugs"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_combatdeaf/Combat_Space_Enhancement.h deleted file mode 100644 index 3efadef3bd..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/Combat_Space_Enhancement.h +++ /dev/null @@ -1,14 +0,0 @@ -class Combat_Space_Enhancement { - class CfgModules { - class cse_sys_combatdeaf { - init = "call compile preprocessFile 'cse\cse_sys_combatdeaf\init_sys_combatdeaf.sqf';"; - name = "Combat Deafness"; - class EventHandlers { - class AllVehicles { - GetIn = "call cse_fnc_getIn_DEAF; false"; - GetOut = "call cse_fnc_getOut_DEAF; false"; - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/config.cpp b/TO_MERGE/cse/sys_combatdeaf/config.cpp deleted file mode 100644 index 372d5fa9ae..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/config.cpp +++ /dev/null @@ -1,26 +0,0 @@ -class CfgPatches { - class cse_sys_combatdeaf { - units[] = {"cse_crateCombatDeafness", "cse_earplugsItem", "cse_earplugs_electronicItem"}; - weapons[] = {}; - requiredVersion = 1.0; - requiredAddons[] = {"cse_f_eh","cse_main"}; - versionDesc = "CSE Combat Deafness"; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -class cse_sys_combatdeaf { - class PreloadAddons { - class cse_sys_combatdeaf { - list[] = {"cse_sys_combatdeaf"}; - }; - }; -}; - -#include "CfgVehicles.h" -#include "CfgWeapons.h" -#include "CfgSounds.h" -#include "CfgFunctions.h" -#include "Combat_Space_Enhancement.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/data/cse_combatdeaf_deafness.paa b/TO_MERGE/cse/sys_combatdeaf/data/cse_combatdeaf_deafness.paa deleted file mode 100644 index 8cd1069a64..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/data/cse_combatdeaf_deafness.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic.rvmat b/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic.rvmat deleted file mode 100644 index 5743771bbe..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic.rvmat +++ /dev/null @@ -1,92 +0,0 @@ -ambient[]={1.000000,1.000000,1.000000,1.000000}; -diffuse[]={1.000000,1.000000,1.000000,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={0.703999,0.703999,0.703999,0.000000}; -specularPower=70.000000; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="cse\cse_sys_combatdeaf\equipment\data\earplugs_electronic_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="#(argb,8,8,3)color(0,0.05,1,1,SMDI)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(0.98,1.02)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="cse\cse_sys_medical\equipment\data\env_co.tga"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic_co.paa b/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic_co.paa deleted file mode 100644 index 5a8aa676b4..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic_nohq.paa b/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic_nohq.paa deleted file mode 100644 index 4d29071c01..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_electronic_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple.rvmat b/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple.rvmat deleted file mode 100644 index deb96f14e8..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple.rvmat +++ /dev/null @@ -1,92 +0,0 @@ -ambient[]={1.000000,1.000000,1.000000,1.000000}; -diffuse[]={1.000000,1.000000,1.000000,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={0.703999,0.703999,0.703999,0.000000}; -specularPower=70.000000; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="cse\cse_sys_combatdeaf\equipment\data\earplugs_simple_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="#(argb,8,8,3)color(0,0.05,1,1,SMDI)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(0.98,1.02)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="cse\cse_sys_medical\equipment\data\env_co.tga"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple_co.paa b/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple_co.paa deleted file mode 100644 index bd7904b497..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple_nohq.paa b/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple_nohq.paa deleted file mode 100644 index 1e4d3ea283..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/data/earplugs_simple_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/earplugs_electronic.p3d b/TO_MERGE/cse/sys_combatdeaf/equipment/earplugs_electronic.p3d deleted file mode 100644 index 4020a0e801..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/earplugs_electronic.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/earplugs_simple.p3d b/TO_MERGE/cse/sys_combatdeaf/equipment/earplugs_simple.p3d deleted file mode 100644 index 472c83259f..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/earplugs_simple.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/icons/earplugs_electronic_icon.paa b/TO_MERGE/cse/sys_combatdeaf/equipment/icons/earplugs_electronic_icon.paa deleted file mode 100644 index f401554c5d..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/icons/earplugs_electronic_icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/equipment/icons/earplugs_simple_icon.paa b/TO_MERGE/cse/sys_combatdeaf/equipment/icons/earplugs_simple_icon.paa deleted file mode 100644 index 30154b3e5b..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/equipment/icons/earplugs_simple_icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/defines.h b/TO_MERGE/cse/sys_combatdeaf/functions/defines.h deleted file mode 100644 index 8ee75925fc..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/defines.h +++ /dev/null @@ -1,4 +0,0 @@ -#define EARPLUGS_ID 18312 -#define NO_EARPLUGS 0 -#define STANDARD_EARPLUGS 1 -#define ELECTRONIC_EARPLUGS 2 \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_applyEletronicEarProtection_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_applyEletronicEarProtection_DEAF.sqf deleted file mode 100644 index 0022ac97f1..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_applyEletronicEarProtection_DEAF.sqf +++ /dev/null @@ -1,34 +0,0 @@ -#include "defines.h" - -private ["_audibleFire", "_attenuation", "_totalAttenuation", "_ID"]; -_audibleFire = _this; - -if (_audibleFire < 1) exitWith {}; - -_totalAttenuation = 1; - -if (_audibleFire > 1) then { - // TODO: Use a headgear config entry instead - if (headgear player == "H_Cap_headphones") then { - _attenuation = 0.25 max (1 / _audibleFire) min 1; // max. -20 dB - _totalAttenuation = _totalAttenuation * _attenuation; - _audibleFire = _audibleFire * _attenuation; - }; -}; - -if (_audibleFire > 1) then { - if (player getVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS] == ELECTRONIC_EARPLUGS) then { - _attenuation = 0.125 max (1 / _audibleFire) min 1; // max. -30 dB - _totalAttenuation = _totalAttenuation * _attenuation; - _audibleFire = _audibleFire * _attenuation; - }; -}; - -if (_totalAttenuation < 1) then { - _ID = floor(random 1000000); - [format["electronicHearingProtection_%1", _ID], _totalAttenuation, true] call cse_fnc_setHearingCapability; - _ID spawn { - sleep 2; - [format["electronicHearingProtection_%1", _this], 1, false] call cse_fnc_setHearingCapability; - }; -}; diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_explosion_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_explosion_DEAF.sqf deleted file mode 100644 index b7a85bcad9..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_explosion_DEAF.sqf +++ /dev/null @@ -1,8 +0,0 @@ -private ["_unit", "_damage", "_attenuation", "_sp"]; -_unit = _this select 0; -_damage = _this select 1; - -_attenuation = player call cse_fnc_getAttenuation_DEAF; - -_sp = _attenuation * _damage * 500; -_sp call cse_fnc_handlePressureWave_DEAF; diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getAttenuation_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_getAttenuation_DEAF.sqf deleted file mode 100644 index c440e1e1f9..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getAttenuation_DEAF.sqf +++ /dev/null @@ -1,16 +0,0 @@ -#include "defines.h" - -private ["_unit", "_attenuation"]; -_unit = _this; - -_attenuation = 1; - -if (player getVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS] != NO_EARPLUGS) then { - _attenuation = _attenuation * 0.125; // -30 dB -}; -// TODO: Use a headgear config entry instead -if (headgear player == "H_Cap_headphones") then { - _attenuation = _attenuation * 0.25; // -20 dB -}; - -_attenuation diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getIn_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_getIn_DEAF.sqf deleted file mode 100644 index 55173940c9..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getIn_DEAF.sqf +++ /dev/null @@ -1,9 +0,0 @@ -private ["_vehicle", "_position", "_unit", "_handle"]; -_vehicle = _this select 0; -_position = _this select 1; -_unit = _this select 2; - -if (_unit != player) exitWith {}; -_handle = _vehicle addEventHandler ["Fired", {_this call cse_fnc_handleFired_DEAF}]; - -_vehicle setVariable ["cse_combat_deaf_fired_event_handler", _handle]; diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getMuzzleAccessory_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_getMuzzleAccessory_DEAF.sqf deleted file mode 100644 index 01f70f32e5..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getMuzzleAccessory_DEAF.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_getMuzzleAccessory_DEAF.sqf - * @Descr: N/A Throws exception NO_WEAPON_UNIT - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: STRING classname. Empty string if no assescory for Muzzle - * @PublicAPI: false - */ - - private ["_unit"]; -_unit = _this select 0; -_accessories = [_unit] call cse_fnc_getWeaponItems_F; -_items = switch (currentWeapon _unit) do { - case (primaryWeapon _unit): { _accessories select 0 }; - case (secondaryWeapon _unit): { _accessories select 1 }; - case (handgunWeapon _unit): { _accessories select 2 }; - default { throw "NO_WEAPON_UNIT"; }; -}; -(_items select 0); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getOut_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_getOut_DEAF.sqf deleted file mode 100644 index 8345953097..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_getOut_DEAF.sqf +++ /dev/null @@ -1,12 +0,0 @@ -private ["_vehicle", "_position", "_unit", "_handle"]; -_vehicle = _this select 0; -_position = _this select 1; -_unit = _this select 2; - -if (_unit != player) exitWith {}; -_handle = _vehicle getVariable "cse_combat_deaf_fired_event_handler"; - -if (!isNil "_handle") then { - _vehicle removeEventHandler ["Fired", _handle]; - _vehicle setVariable ["cse_combat_deaf_fired_event_handler", nil]; -}; diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_handleFiredNear_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_handleFiredNear_DEAF.sqf deleted file mode 100644 index 984fba7f55..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_handleFiredNear_DEAF.sqf +++ /dev/null @@ -1,85 +0,0 @@ -/** - * fn_handleFiredNear_DEAF.sqf - * @Descr: N/A - * @Author: Ruthberg - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define MAX_DISTANCE 10 -#define BLUR_DELAY 0.1 -#define SPEED_OF_SOUND 340.29 - -private ["_unit", "_firer", "_distance", "_weapon", "_ammo", "_pressureRatio", "_audibleFire", "_audibleFireToSPL", "_audibleFireDistanceCorrected", "_accessoryConfig", "_sp"]; -_unit = _this select 0; -_firer = _this select 1; -_distance = _this select 2; -_weapon = _this select 3; -_ammo = _this select 6; - -if (_distance > MAX_DISTANCE) exitWith {}; -if (_weapon in ["Throw", "Put"]) exitWith {}; -if (getNumber (configFile >> "CfgWeapons" >> _weapon >> "type") == 0) exitWith { - [format["Weapon type was 0. Exiting (%1)", _weapon]] call cse_fnc_debug; -}; - -_pressureRatio = 1 / 3; -if ([_unit] call cse_fnc_isInBuilding && [_firer] call cse_fnc_isInBuilding) then { - _pressureRatio = 1.0; -} else { - if (_unit != _firer) then { - // calculate direction deviation (shotdirection - (firer -> unit direction)) - _shotDirection = _firer weaponDirection currentWeapon _firer; - _hearerDirection = (getPosASL _firer) vectorFromTo (getPosASL _unit); - _cosOfAngle = _shotDirection vectorCos _hearerDirection; // -1 .. +1 - _pressureRatio = (1 / 3) * (2 + _cosOfAngle); // 0.333 .. 1 - if (lineIntersects [eyePos _firer, eyePos _unit, _firer, _unit]) then { - _pressureRatio = _pressureRatio / 2; - }; - }; -}; - -try { - _audibleFire = getNumber(configFile >> "CfgAmmo" >> _ammo >> "audibleFire"); - _accessoryConfig = (configFile >> "CfgWeapons" >> ([_firer] call cse_fnc_getMuzzleAccessory_DEAF)); - if (isClass _accessoryConfig) then { - _audibleFire = (getNumber (_accessoryConfig >> "ItemInfo" >> "AmmoCoef" >> "audibleFire")) * _audibleFire; - }; - - _distance = 1 max _distance; - _audibleFireToSPL = abs(10 * log(1 / (4 * PI * _distance^2))); - _audibleFireDistanceCorrected = 0 max (_audibleFire / 2^(_audibleFireToSPL / 10)); - _sp = _pressureRatio * (_unit call cse_fnc_getAttenuation_DEAF) * _audibleFireDistanceCorrected / 3; - hintSilent format["%1, %2, %3, %4, %5, %6", _distance, _pressureRatio, (_unit call cse_fnc_getAttenuation_DEAF), _sp, _audibleFire, _audibleFireDistanceCorrected]; - - _sp call cse_fnc_handlePressureWave_DEAF; - _audibleFireDistanceCorrected call cse_fnc_applyEletronicEarProtection_DEAF; - - if (_sp > 1 && goggles _unit == "" && _unit != _firer) then { - [_distance, _sp] spawn { - private ["_distance", "_blur"]; - _distance = _this select 0; - _blur = (sqrt(_this select 1) / 5) min 2; - sleep (_distance / SPEED_OF_SOUND); - cse_sys_combatdeaf_blurEffect ppEffectEnable true; - cse_sys_combatdeaf_blurEffect ppEffectAdjust [_blur / (_distance^2)]; - cse_sys_combatdeaf_blurEffect ppEffectCommit BLUR_DELAY; - sleep BLUR_DELAY; - for "_i" from floor(_distance) to MAX_DISTANCE do { - cse_sys_combatdeaf_blurEffect ppEffectAdjust [_blur * (MAX_DISTANCE - _i)]; - cse_sys_combatdeaf_blurEffect ppEffectCommit (_blur * (BLUR_DELAY / 2)); - sleep (_blur * (BLUR_DELAY / 2)); - }; - cse_sys_combatdeaf_blurEffect ppEffectEnable false; - }; - }; -}catch { - // This should never happen. - if (_exception == "NO_WEAPON_UNIT") then { - [format["Unit (%1) that fired has no weapon. Cannot retrieve silencer accessory", _firer]] call cse_fnc_debug; - } else { - [_exception] call cse_fnc_debug; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_handleFired_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_handleFired_DEAF.sqf deleted file mode 100644 index 4d07b1fccb..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_handleFired_DEAF.sqf +++ /dev/null @@ -1,8 +0,0 @@ -private ["_unit", "_weapon", "_muzzle", "_mode", "_ammo"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_mode = _this select 3; -_ammo = _this select 4; - -[_unit, _unit, 0, _weapon, _muzzle, _mode, _ammo] call cse_fnc_handleFiredNear_DEAF; diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_handlePressureWave_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_handlePressureWave_DEAF.sqf deleted file mode 100644 index 32324b6ce8..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_handlePressureWave_DEAF.sqf +++ /dev/null @@ -1,46 +0,0 @@ -#define PAIN_THRESHOLD 5 -#define DAMAGE_THRESHOLD 40 -#define HEARING_CAPABILITY_MAP_ID 1713 - -private ["_sp", "_deafness"]; -_sp = _this; - -if !(alive player) exitWith {}; - -if (_sp > 0.5 && cse_DeafnessIntensity > 0.0) then { - _deafness = ((player getVariable ["cse_combatdeaf_deafness", 0]) + _sp) min (DAMAGE_THRESHOLD / cse_DeafnessIntensity); - player setVariable ["cse_combatdeaf_deafness", _deafness, false]; - - if (!cse_sys_combatdeaf_deafness_running) then { - [] spawn { - private ["_deafness", "_ringing", "_ringingStart", "_img", "_volume"]; - cse_sys_combatdeaf_deafness_running = true; - _deafness = player getVariable ["cse_combatdeaf_deafness", 0]; - _ringing = false; - _ringingStart = time - 120; - while {alive player && _deafness > 0.01} do { - if (_deafness > DAMAGE_THRESHOLD / cse_DeafnessIntensity) then { - ["cse_sys_combatdeaf_deafIcon", true, "cse\cse_sys_combatdeaf\data\cse_combatdeaf_deafness.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - } else { - ["cse_sys_combatdeaf_deafIcon", false, "", [1,1,1,1]] call cse_fnc_gui_displayIcon; - if (!cse_DisableEarRinging && _deafness > PAIN_THRESHOLD / cse_DeafnessIntensity) then { - if (!_ringing || time - _ringingStart > 120) then { - playSound "cse_combatdeaf_ear_ringing"; - _ringingStart = time; - _ringing = true; - }; - } else { - _ringing = false; - }; - }; - _deafness = player getVariable ["cse_combatdeaf_deafness", 0]; - _volume = 0 max (1 - (_deafness / (DAMAGE_THRESHOLD / cse_DeafnessIntensity))); - [format["hearingCapability_%1", HEARING_CAPABILITY_MAP_ID], _volume, true] call cse_fnc_setHearingCapability; - player setVariable ["cse_combatdeaf_deafness", 0 max (_deafness - 0.5 / (1 max _deafness min (DAMAGE_THRESHOLD / cse_DeafnessIntensity))), false]; - sleep 1; - }; - cse_sys_combatdeaf_deafness_running = false; - [format["hearingCapability_%1", HEARING_CAPABILITY_MAP_ID], 1, false] call cse_fnc_setHearingCapability; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_hasMuzzleAccessory_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_hasMuzzleAccessory_DEAF.sqf deleted file mode 100644 index 616f3d0ad6..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_hasMuzzleAccessory_DEAF.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_hasMuzzleAccessory_DEAF.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - private ["_unit"]; -_unit = _this select 0; -_accessories = [_unit] call cse_fnc_getWeaponItems_F; -_items = switch (currentWeapon _unit) do { - case (primaryWeapon _unit): { _accessories select 0 }; - case (secondaryWeapon _unit): { _accessories select 1 }; - case (handgunWeapon _unit): { _accessories select 2 }; - default { throw "NO_WEAPON_UNIT"; }; -}; -(_items select 0) != ""; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/functions/fn_register_ear_protection_actions_DEAF.sqf b/TO_MERGE/cse/sys_combatdeaf/functions/fn_register_ear_protection_actions_DEAF.sqf deleted file mode 100644 index 2c5351e7fd..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/functions/fn_register_ear_protection_actions_DEAF.sqf +++ /dev/null @@ -1,60 +0,0 @@ -#include "defines.h" - -if (isDedicated) exitwith{}; -CSE_ICON_PATH = "cse\cse_gui\radialmenu\data\icons\"; - -cse_hearingProtectionDisplaySubMenu = { - [_this] call cse_fnc_Debug; - - private ["_subMenus"]; - _subMenus = []; - - // Put on standard earplugs - if (player getVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS] == NO_EARPLUGS && [player, "cse_earplugs"] call cse_fnc_hasItem) then { - _subMenus pushBack ["Use earplugs", CSE_ICON_PATH + "icon_earplugs_standard.paa", { - closeDialog 0; - player setVariable ["cse_combatdeaf_earplugs", STANDARD_EARPLUGS, false]; - player removeItem "cse_earplugs"; - [format["earplugsAttenuation_ID_%1", EARPLUGS_ID], 0.125] call cse_fnc_setHearingCapability; - }, true, "Use standard earplugs"]; - }; - - // Put on electronic earplugs - if (player getVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS] == NO_EARPLUGS && [player, "cse_earplugs_electronic"] call cse_fnc_hasItem) then { - _subMenus pushBack ["Use earplugs", CSE_ICON_PATH + "icon_earplugs_electronic.paa", { - closeDialog 0; - player setVariable ["cse_combatdeaf_earplugs", ELECTRONIC_EARPLUGS, false]; - player removeItem "cse_earplugs_electronic"; - }, true, "Use electronic earplugs"]; - }; - - // Remove earplugs - if (player getVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS] != NO_EARPLUGS) then { - switch (player getVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS]) do { - case STANDARD_EARPLUGS: { - _subMenus pushBack ["Earplugs out", CSE_ICON_PATH + "icon_earplugs_remove.paa", { - closeDialog 0; - player setVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS, false]; - player addItem "cse_earplugs"; - [format["earplugsAttenuation_ID_%1", EARPLUGS_ID], 1, false] call cse_fnc_setHearingCapability; - }, true, "Remove standard earplugs"]; - }; - case ELECTRONIC_EARPLUGS: { - _subMenus pushBack ["Earplugs out", CSE_ICON_PATH + "icon_earplugs_remove.paa", { - closeDialog 0; - player setVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS, false]; - player addItem "cse_earplugs_electronic"; - }, true, "Remove electronic earplugs"]; - }; - }; - }; - - [_this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI; -}; - - -_entries = [ - ["Hearing", {((player getVariable ["cse_combatdeaf_earplugs", NO_EARPLUGS] != NO_EARPLUGS) || (([player, "cse_earplugs_electronic"] call cse_fnc_hasItem) || ([player, "cse_earplugs"] call cse_fnc_hasItem)))}, CSE_ICON_PATH + "icon_ear_protection.paa", cse_hearingProtectionDisplaySubMenu, "Show available hearing protections"] -]; -["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - diff --git a/TO_MERGE/cse/sys_combatdeaf/init_sys_combatdeaf.sqf b/TO_MERGE/cse/sys_combatdeaf/init_sys_combatdeaf.sqf deleted file mode 100644 index a8bd8fcd8d..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/init_sys_combatdeaf.sqf +++ /dev/null @@ -1,29 +0,0 @@ -#include "functions\defines.h" - -if (!hasInterface) exitwith {}; -waituntil{!isnil "cse_gui" && !isnil "cse_main"}; - -waitUntil {!isNull player}; - -private ["_args"]; -_args = _this; -{ - _varName = "cse_"+(_x select 0); - missionNamespace setVariable[_varName, _x select 1]; -} forEach _args; - -if (isNil "cse_DeafnessIntensity") then { cse_DeafnessIntensity = cse_DEAFNESS_EFFECT_INTENSITY }; -if (isNil "cse_DisableEarRinging") then { cse_DisableEarRinging = cse_DISABLE_EAR_RINGING }; - -["cse_combatdeaf_deafness", 0, false, "cd"] call cse_fnc_defineVariable; -["cse_combatdeaf_earplugs", NO_EARPLUGS, false, "cd"] call cse_fnc_defineVariable; - -call cse_fnc_register_ear_protection_actions_DEAF; - -player addEventHandler ["FiredNear", {_this call cse_fnc_handleFiredNear_DEAF}]; -player addEventHandler ["Explosion", {_this call cse_fnc_explosion_DEAF}]; - -cse_sys_combatdeaf_blurEffect = ppEffectCreate ["dynamicBlur", -11723]; -cse_sys_combatdeaf_deafness_running = false; - -cse_sys_combatdeaf = true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_combatdeaf/sound/ear_ringing.ogg b/TO_MERGE/cse/sys_combatdeaf/sound/ear_ringing.ogg deleted file mode 100644 index 9bbc7b504b..0000000000 Binary files a/TO_MERGE/cse/sys_combatdeaf/sound/ear_ringing.ogg and /dev/null differ diff --git a/TO_MERGE/cse/sys_combatdeaf/stringtable.xml b/TO_MERGE/cse/sys_combatdeaf/stringtable.xml deleted file mode 100644 index 0c3a9168de..0000000000 --- a/TO_MERGE/cse/sys_combatdeaf/stringtable.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/CfgAmmo.h b/TO_MERGE/cse/sys_equipment/CfgAmmo.h deleted file mode 100644 index f73b099245..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgAmmo.h +++ /dev/null @@ -1,159 +0,0 @@ -#define FUSEE_TIME_TO_LIVE 600 -#define FUSEE_FLARE_SIZE 2 -#define FUSEE_INTENSITY 3000 - -#define FLARE_TIME_TO_LIVE 60 -#define FLARE_SIZE 10 -#define FLARE_INTENSITY 4000 - -class cfgAmmo { - class F_20mm_White; - class F_20mm_Red: F_20mm_White {}; - class F_20mm_Yellow: F_20mm_White {}; - class F_20mm_Green: F_20mm_White {}; - - class CSE_FuseeWhite: F_20mm_White { - intensity = FUSEE_INTENSITY; - flareSize = FUSEE_FLARE_SIZE; - timeToLive = FUSEE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; - class CSE_FuseeRed: F_20mm_Red { - intensity = FUSEE_INTENSITY; - flareSize = FUSEE_FLARE_SIZE; - timeToLive = FUSEE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; - class CSE_FuseeYellow: F_20mm_Yellow { - intensity = FUSEE_INTENSITY; - flareSize = FUSEE_FLARE_SIZE; - timeToLive = FUSEE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; - class CSE_FuseeGreen: F_20mm_Green { - intensity = FUSEE_INTENSITY; - flareSize = FUSEE_FLARE_SIZE; - timeToLive = FUSEE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; - - - class CSE_FlareWhite: F_20mm_White { - intensity = FLARE_INTENSITY; - flareSize = FLARE_SIZE; - timeToLive = FLARE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; - class CSE_FlareRed: F_20mm_Red { - intensity = FLARE_INTENSITY; - flareSize = FLARE_SIZE; - timeToLive = FLARE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; - class CSE_FlareYellow: F_20mm_Yellow { - intensity = FLARE_INTENSITY; - flareSize = FLARE_SIZE; - timeToLive = FLARE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; - class CSE_FlareGreen: F_20mm_Green { - intensity = FLARE_INTENSITY; - flareSize = FLARE_SIZE; - timeToLive = FLARE_TIME_TO_LIVE; - airFriction = -0.0005; - thrust = 210; - thrustTime = 1.5; - }; -}; - - -class CfgMagazines { - class HandGrenade; - class CSE_Flare_Base: HandGrenade { - value = 2; - nameSoundWeapon = "smokeshell"; - nameSound = "smokeshell"; - mass = 4; - initSpeed = 22; - }; - class CSE_FlareWhite: CSE_Flare_Base { - ammo = "CSE_FlareWhite"; - displayname = $STR_CSE_FLARE_WHITE; - descriptionshort = $STR_CSE_FLARE_WHITE; - displayNameShort = $STR_CSE_FLARE_WHITE; - model = "\A3\weapons_f\ammo\flare_white"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_white_ca.paa"; - }; - class CSE_FlareRed: CSE_Flare_Base { - ammo = "CSE_FlareRed"; - displayname = $STR_CSE_FLARE_RED; - descriptionshort = $STR_CSE_FLARE_RED; - displayNameShort = $STR_CSE_FLARE_RED; - model = "\A3\weapons_f\ammo\flare_red"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_red_ca.paa"; - }; - class CSE_FlareYellow: CSE_Flare_Base { - ammo = "CSE_FlareYellow"; - displayname = $STR_CSE_FLARE_YELLOW; - descriptionshort = $STR_CSE_FLARE_YELLOW; - displayNameShort = $STR_CSE_FLARE_YELLOW; - model = "\A3\weapons_f\ammo\flare_yellow"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_yellow_ca.paa"; - }; - class CSE_FlareGreen: CSE_Flare_Base { - ammo = "CSE_FlareGreen"; - displayname = $STR_CSE_FLARE_GREEN; - descriptionshort = $STR_CSE_FLARE_GREEN; - displayNameShort = $STR_CSE_FLARE_GREEN; - model = "\A3\weapons_f\ammo\flare_green"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_green_ca.paa"; - }; - - - class CSE_RoadFlareWhite: CSE_Flare_Base { - ammo = "CSE_FuseeWhite"; - displayname = $STR_CSE_ROAD_FLARE_WHITE; - descriptionshort = $STR_CSE_ROAD_FLARE_WHITE; - displayNameShort = $STR_CSE_ROAD_FLARE_WHITE; - model = "\A3\weapons_f\ammo\flare_white"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_white_ca.paa"; - }; - class CSE_RoadFlareRed: CSE_Flare_Base { - ammo = "CSE_FuseeRed"; - displayname = $STR_CSE_ROAD_FLARE_RED; - descriptionshort = $STR_CSE_ROAD_FLARE_RED; - displayNameShort = $STR_CSE_ROAD_FLARE_RED; - model = "\A3\weapons_f\ammo\flare_red"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_red_ca.paa"; - }; - class CSE_RoadFlareYellow: CSE_Flare_Base { - ammo = "CSE_FuseeYellow"; - displayname = $STR_CSE_ROAD_FLARE_YELLOW; - descriptionshort = $STR_CSE_ROAD_FLARE_YELLOW; - displayNameShort = $STR_CSE_ROAD_FLARE_YELLOW; - model = "\A3\weapons_f\ammo\flare_yellow"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_yellow_ca.paa"; - }; - class CSE_RoadFlareGreen: CSE_Flare_Base { - ammo = "CSE_FuseeGreen"; - displayname = $STR_CSE_ROAD_FLARE_GREEN; - descriptionshort = $STR_CSE_ROAD_FLARE_GREEN; - displayNameShort = $STR_CSE_ROAD_FLARE_GREEN; - model = "\A3\weapons_f\ammo\flare_green"; - picture = "\A3\Weapons_F\Data\UI\gear_flare_green_ca.paa"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/CfgFactionClasses.h b/TO_MERGE/cse/sys_equipment/CfgFactionClasses.h deleted file mode 100644 index 3eed8715b8..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgFactionClasses.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgFactionClasses -{ - class NO_CATEGORY; - class cse_equipment: NO_CATEGORY { - displayName = "CSE Equipment"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/CfgFunctions.h b/TO_MERGE/cse/sys_equipment/CfgFunctions.h deleted file mode 100644 index 0112eaf16b..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgFunctions.h +++ /dev/null @@ -1,49 +0,0 @@ -class CfgFunctions { - class CSE { - class Equipment { - file = "cse\cse_sys_equipment\functions"; - class hasAttachableItem_EQ { recompile = 1; }; - class attachItem_EQ { recompile = 1; }; - class detachItem_EQ { recompile = 1; }; - class isAttachableItem_EQ { recompile = 1; }; - class hasItemAttached_EQ { recompile = 1; }; - class getAllEquipmentOptions_EQ { recompile = 1; }; - class registerNewEquipmentOption_EQ { recompile = 1; }; - class areEquipmentOptionsAvailable_EQ { recompile = 1; }; - class dropFlare_EQ { recompile = 1; }; - class moduleFlare_EQ { recompile = 1; }; - class hasFlare_EQ { recompile = 1; }; - class isFlare_EQ { recompile = 1; }; - class putWeaponOnBack_EQ { recompile = 1; }; - class getPercentageAmmoMagazine_EQ { recompile = 1; }; - class hideUnitInfoAmmo_EQ { recompile = 1; }; - }; - class WeaponRest { - file = "cse\cse_sys_equipment\weaponresting\functions"; - class keyPressed_WR { recompile = 1; }; - class canRestWeapon_WR { recompile = 1; }; - class canDeployBipod_WR { recompile = 1; }; - class restWeapon_WR { recompile = 1; }; - class unrestWeapon_WR { recompile = 1; }; - class deployWeapon_WR { recompile = 1; }; - class undeployWeapon_WR { recompile = 1; }; - class actionReleaseWeapon_WR { recompile = 1; }; - class hasBipod_WR { recompile = 1; }; - }; - class WeaponSafety { - file = "cse\cse_sys_equipment\weaponsafety\functions"; - class safetyOff_ws { recompile = 1; }; - class safetyOn_ws { recompile = 1; }; - }; - class nightVisionModule { - file = "cse\cse_sys_equipment\nvg\functions"; - class adjustBrightness_NVG { recompile = 1; }; - }; - - class MagazineRepack { - file = "cse\cse_sys_equipment\magazineRepack\functions"; - class repackMagazines { recompile = 1; }; - class repackMagazinesAll { recompile = 1; }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_equipment/CfgMovesBasic.h b/TO_MERGE/cse/sys_equipment/CfgMovesBasic.h deleted file mode 100644 index af719e15fc..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgMovesBasic.h +++ /dev/null @@ -1,277 +0,0 @@ -// Adpated from: https://github.com/Taosenai/tmr/blob/master/tmr_autorest/config.cpp - -#define CSE_DEPLOYED_TURNSPEED 0.1 - -class CfgMovesBasic { - class Default; - - class Actions { - class RifleStandActions; - class RifleStandActions_cse_deployed : RifleStandActions { - stop = "AmovPercMstpSrasWrflDnon_cse_deployed"; - default = "AmovPercMstpSrasWrflDnon_cse_deployed"; - turnL = "AmovPercMstpSrasWrflDnon_cse_deployed"; - turnR = "AmovPercMstpSrasWrflDnon_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLStandActions; - class RifleAdjustLStandActions_cse_deployed : RifleAdjustLStandActions { - stop = "AadjPercMstpSrasWrflDleft_cse_deployed"; - default = "AadjPercMstpSrasWrflDleft_cse_deployed"; - AdjustL = "AadjPercMstpSrasWrflDleft_cse_deployed"; - turnL = "AadjPercMstpSrasWrflDleft_cse_deployed"; - turnR = "AadjPercMstpSrasWrflDleft_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRStandActions; - class RifleAdjustRStandActions_cse_deployed : RifleAdjustRStandActions { - stop = "AadjPercMstpSrasWrflDright_cse_deployed"; - default = "AadjPercMstpSrasWrflDright_cse_deployed"; - AdjustRight = "AadjPercMstpSrasWrflDright_cse_deployed"; - turnL = "AadjPercMstpSrasWrflDright_cse_deployed"; - turnR = "AadjPercMstpSrasWrflDright_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFStandActions; - class RifleAdjustFStandActions_cse_deployed : RifleAdjustFStandActions { - stop = "AadjPercMstpSrasWrflDup_cse_deployed"; - default = "AadjPercMstpSrasWrflDup_cse_deployed"; - AdjustF = "AadjPercMstpSrasWrflDup_cse_deployed"; - turnL = "AadjPercMstpSrasWrflDup_cse_deployed"; - turnR = "AadjPercMstpSrasWrflDup_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBStandActions; - class RifleAdjustBStandActions_cse_deployed : RifleAdjustBStandActions { - stop = "AadjPercMstpSrasWrflDdown_cse_deployed"; - default = "AadjPercMstpSrasWrflDdown_cse_deployed"; - AdjustB = "AadjPercMstpSrasWrflDdown_cse_deployed"; - turnR = "AadjPercMstpSrasWrflDdown_cse_deployed"; - turnL = "AadjPercMstpSrasWrflDdown_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLKneelActions; - class RifleAdjustLKneelActions_cse_deployed : RifleAdjustLKneelActions { - stop = "AadjPknlMstpSrasWrflDleft_cse_deployed"; - default = "AadjPknlMstpSrasWrflDleft_cse_deployed"; - turnL = "AadjPknlMstpSrasWrflDleft_cse_deployed"; - turnR = "AadjPknlMstpSrasWrflDleft_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRKneelActions; - class RifleAdjustRKneelActions_cse_deployed : RifleAdjustRKneelActions { - stop = "AadjPknlMstpSrasWrflDright_cse_deployed"; - default = "AadjPknlMstpSrasWrflDright_cse_deployed"; - turnL = "AadjPknlMstpSrasWrflDright_cse_deployed"; - turnR = "AadjPknlMstpSrasWrflDright_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFKneelActions; - class RifleAdjustFKneelActions_cse_deployed : RifleAdjustFKneelActions { - stop = "AadjPknlMstpSrasWrflDup_cse_deployed"; - default = "AadjPknlMstpSrasWrflDup_cse_deployed"; - turnL = "AadjPknlMstpSrasWrflDup_cse_deployed"; - turnR = "AadjPknlMstpSrasWrflDup_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBKneelActions; - class RifleAdjustBKneelActions_cse_deployed : RifleAdjustBKneelActions { - stop = "AadjPknlMstpSrasWrflDdown_cse_deployed"; - default = "AadjPknlMstpSrasWrflDdown_cse_deployed"; - turnL = "AadjPknlMstpSrasWrflDdown_cse_deployed"; - turnR = "AadjPknlMstpSrasWrflDdown_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleKneelActions; - class RifleKneelActions_cse_deployed : RifleKneelActions { - stop = "AmovPknlMstpSrasWrflDnon_cse_deployed"; - default = "AmovPknlMstpSrasWrflDnon_cse_deployed"; - crouch = "AmovPknlMstpSrasWrflDnon_cse_deployed"; - turnL = "AmovPknlMstpSrasWrflDnon_cse_deployed"; - turnR = "AmovPknlMstpSrasWrflDnon_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleProneActions; - class RifleProneActions_cse_deployed : RifleProneActions { - stop = "AmovPpneMstpSrasWrflDnon_cse_deployed"; - default = "AmovPpneMstpSrasWrflDnon_cse_deployed"; - turnL = "AmovPpneMstpSrasWrflDnon_cse_deployed"; - turnR = "AmovPpneMstpSrasWrflDnon_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFProneActions; - class RifleAdjustFProneActions_cse_deployed : RifleAdjustFProneActions { - stop = "aadjppnemstpsraswrfldup_cse_deployed"; - default = "aadjppnemstpsraswrfldup_cse_deployed"; - turnL = "aadjppnemstpsraswrfldup_cse_deployed"; - turnR = "aadjppnemstpsraswrfldup_cse_deployed"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleStandActions_cse_rested : RifleStandActions { - stop = "AmovPercMstpSrasWrflDnon_cse_rested"; - default = "AmovPercMstpSrasWrflDnon_cse_rested"; - turnL = "AmovPercMstpSrasWrflDnon_cse_rested"; - turnR = "AmovPercMstpSrasWrflDnon_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLStandActions_cse_rested : RifleAdjustLStandActions { - stop = "AadjPercMstpSrasWrflDleft_cse_rested"; - default = "AadjPercMstpSrasWrflDleft_cse_rested"; - AdjustL = "AadjPercMstpSrasWrflDleft_cse_rested"; - turnL = "AadjPercMstpSrasWrflDleft_cse_rested"; - turnR = "AadjPercMstpSrasWrflDleft_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRStandActions_cse_rested : RifleAdjustRStandActions { - stop = "AadjPercMstpSrasWrflDright_cse_rested"; - default = "AadjPercMstpSrasWrflDright_cse_rested"; - AdjustRight = "AadjPercMstpSrasWrflDright_cse_rested"; - turnL = "AadjPercMstpSrasWrflDright_cse_rested"; - turnR = "AadjPercMstpSrasWrflDright_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFStandActions_cse_rested : RifleAdjustFStandActions { - stop = "AadjPercMstpSrasWrflDup_cse_rested"; - default = "AadjPercMstpSrasWrflDup_cse_rested"; - AdjustF = "AadjPercMstpSrasWrflDup_cse_rested"; - turnL = "AadjPercMstpSrasWrflDup_cse_rested"; - turnR = "AadjPercMstpSrasWrflDup_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBStandActions_cse_rested : RifleAdjustBStandActions { - stop = "AadjPercMstpSrasWrflDdown_cse_rested"; - default = "AadjPercMstpSrasWrflDdown_cse_rested"; - AdjustB = "AadjPercMstpSrasWrflDdown_cse_rested"; - turnR = "AadjPercMstpSrasWrflDdown_cse_rested"; - turnL = "AadjPercMstpSrasWrflDdown_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLKneelActions_cse_rested : RifleAdjustLKneelActions { - stop = "AadjPknlMstpSrasWrflDleft_cse_rested"; - default = "AadjPknlMstpSrasWrflDleft_cse_rested"; - turnL = "AadjPknlMstpSrasWrflDleft_cse_rested"; - turnR = "AadjPknlMstpSrasWrflDleft_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRKneelActions_cse_rested : RifleAdjustRKneelActions { - stop = "AadjPknlMstpSrasWrflDright_cse_rested"; - default = "AadjPknlMstpSrasWrflDright_cse_rested"; - turnL = "AadjPknlMstpSrasWrflDright_cse_rested"; - turnR = "AadjPknlMstpSrasWrflDright_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFKneelActions_cse_rested : RifleAdjustFKneelActions { - stop = "AadjPknlMstpSrasWrflDup_cse_rested"; - default = "AadjPknlMstpSrasWrflDup_cse_rested"; - turnL = "AadjPknlMstpSrasWrflDup_cse_rested"; - turnR = "AadjPknlMstpSrasWrflDup_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBKneelActions_cse_rested : RifleAdjustBKneelActions { - stop = "AadjPknlMstpSrasWrflDdown_cse_rested"; - default = "AadjPknlMstpSrasWrflDdown_cse_rested"; - turnL = "AadjPknlMstpSrasWrflDdown_cse_rested"; - turnR = "AadjPknlMstpSrasWrflDdown_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleKneelActions_cse_rested : RifleKneelActions { - stop = "AmovPknlMstpSrasWrflDnon_cse_rested"; - default = "AmovPknlMstpSrasWrflDnon_cse_rested"; - crouch = "AmovPknlMstpSrasWrflDnon_cse_rested"; - turnL = "AmovPknlMstpSrasWrflDnon_cse_rested"; - turnR = "AmovPknlMstpSrasWrflDnon_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleProneActions_cse_rested : RifleProneActions { - stop = "AmovPpneMstpSrasWrflDnon_cse_rested"; - default = "AmovPpneMstpSrasWrflDnon_cse_rested"; - turnL = "AmovPpneMstpSrasWrflDnon_cse_rested"; - turnR = "AmovPpneMstpSrasWrflDnon_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLProneActions; - class RifleAdjustLProneActions_cse_rested : RifleAdjustLProneActions { - stop = "aadjppnemstpsraswrfldleft_cse_rested"; - default = "aadjppnemstpsraswrfldleft_cse_rested"; - turnL = "aadjppnemstpsraswrfldleft_cse_rested"; - turnR = "aadjppnemstpsraswrfldleft_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRProneActions; - class RifleAdjustRProneActions_cse_rested : RifleAdjustRProneActions { - stop = "aadjppnemstpsraswrfldright_cse_rested"; - default = "aadjppnemstpsraswrfldright_cse_rested"; - turnL = "aadjppnemstpsraswrfldright_cse_rested"; - turnR = "aadjppnemstpsraswrfldright_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBProneActions; - class RifleAdjustBProneActions_cse_rested : RifleAdjustBProneActions { - stop = "aadjppnemstpsraswrflddown_cse_rested"; - default = "aadjppnemstpsraswrflddown_cse_rested"; - turnL = "aadjppnemstpsraswrflddown_cse_rested"; - turnR = "aadjppnemstpsraswrflddown_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFProneActions_cse_rested : RifleAdjustFProneActions { - stop = "aadjppnemstpsraswrfldup_cse_rested"; - default = "aadjppnemstpsraswrfldup_cse_rested"; - turnL = "aadjppnemstpsraswrfldup_cse_rested"; - turnR = "aadjppnemstpsraswrfldup_cse_rested"; - turnSpeed = CSE_DEPLOYED_TURNSPEED; - limitFast = 1; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_equipment/CfgMovesMaleSdr.h b/TO_MERGE/cse/sys_equipment/CfgMovesMaleSdr.h deleted file mode 100644 index 207622724a..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgMovesMaleSdr.h +++ /dev/null @@ -1,403 +0,0 @@ -// Adpated from: https://github.com/Taosenai/tmr/blob/master/tmr_autorest/config.cpp - -#define CSE_SWAY_DEPLOYED 0.06 -#define CSE_SWAY_DEPLOYED_PRONE 0.03 -#define CSE_SWAY_RESTED 0.30 -#define CSE_SWAY_RESTED_PRONE 0.10 - -class CfgMovesMaleSdr : CfgMovesBasic { - class States { - class AmovPercMstpSrasWrflDnon; - class AmovPercMstpSrasWrflDnon_cse_deployed : AmovPercMstpSrasWrflDnon { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleStandActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"AmovPercMstpSrasWrflDnon_cse_deployed", 0.02}; - ConnectFrom[] = {"AmovPercMstpSrasWrflDnon_cse_deployed", 0.02}; - InterpolateFrom[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - InterpolateTo[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - }; - - class aadjpercmstpsraswrfldup; - class aadjpercmstpsraswrfldup_cse_deployed : aadjpercmstpsraswrfldup { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustFStandActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldup_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldup_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldup", 0.02}; - }; - - class aadjpercmstpsraswrflddown; - class aadjpercmstpsraswrflddown_cse_deployed : aadjpercmstpsraswrflddown { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustBStandActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrflddown_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrflddown_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrflddown", 0.02}; - }; - - class aadjpercmstpsraswrfldright; - class aadjpercmstpsraswrfldright_cse_deployed : aadjpercmstpsraswrfldright { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustRStandActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldright_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldright_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldright", 0.02}; - }; - - class aadjpercmstpsraswrfldleft; - class aadjpercmstpsraswrfldleft_cse_deployed : aadjpercmstpsraswrfldleft { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustLStandActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldleft_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldleft_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldup; - class aadjpknlmstpsraswrfldup_cse_deployed : aadjpknlmstpsraswrfldup { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustFKneelActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldup_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldup_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldup", 0.02}; - }; - - class amovpknlmstpsraswrfldnon; - class amovpknlmstpsraswrfldnon_cse_deployed : amovpknlmstpsraswrfldnon { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleKneelActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovpknlmstpsraswrfldnon_cse_deployed", 0.02}; - ConnectFrom[] = {"amovpknlmstpsraswrfldnon_cse_deployed", 0.02}; - InterpolateFrom[] = {"amovpknlmstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovpknlmstpsraswrfldnon", 0.02}; - }; - - class aadjpknlmstpsraswrflddown; - class aadjpknlmstpsraswrflddown_cse_deployed : aadjpknlmstpsraswrflddown { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustBKneelActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrflddown_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrflddown_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrflddown", 0.02}; - }; - - class aadjpknlmstpsraswrfldleft; - class aadjpknlmstpsraswrfldleft_cse_deployed : aadjpknlmstpsraswrfldleft { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustLKneelActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldleft_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldleft_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldright; - class aadjpknlmstpsraswrfldright_cse_deployed : aadjpknlmstpsraswrfldright { - aimPrecision = CSE_SWAY_DEPLOYED; - actions = "RifleAdjustRKneelActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldright_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldright_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldright", 0.02}; - }; - - class aadjppnemstpsraswrfldup; - class aadjppnemstpsraswrfldup_cse_deployed : aadjppnemstpsraswrfldup { - aimPrecision = CSE_SWAY_DEPLOYED_PRONE; - actions = "RifleAdjustFProneActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldup_cse_deployed", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldup_cse_deployed", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldup", 0.02}; - }; - - class amovppnemstpsraswrfldnon; - class amovppnemstpsraswrfldnon_cse_deployed : amovppnemstpsraswrfldnon { - aimPrecision = CSE_SWAY_DEPLOYED_PRONE; - actions = "RifleProneActions_cse_deployed"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovppnemstpsraswrfldnon_cse_deployed", 0.02}; - ConnectFrom[] = {"amovppnemstpsraswrfldnon_cse_deployed", 0.02}; - InterpolateFrom[] = {"amovppnemstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovppnemstpsraswrfldnon", 0.02}; - }; - - class AmovPercMstpSrasWrflDnon_cse_rested : AmovPercMstpSrasWrflDnon { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleStandActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"AmovPercMstpSrasWrflDnon_cse_rested", 0.02}; - ConnectFrom[] = {"AmovPercMstpSrasWrflDnon_cse_rested", 0.02}; - InterpolateFrom[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - InterpolateTo[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - }; - - class aadjpercmstpsraswrfldup_cse_rested : aadjpercmstpsraswrfldup { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustFStandActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldup_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldup_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldup", 0.02}; - }; - - class aadjpercmstpsraswrflddown_cse_rested : aadjpercmstpsraswrflddown { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustBStandActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrflddown_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrflddown_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrflddown", 0.02}; - }; - - class aadjpercmstpsraswrfldright_cse_rested : aadjpercmstpsraswrfldright { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustRStandActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldright_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldright_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldright", 0.02}; - }; - - class aadjpercmstpsraswrfldleft_cse_rested : aadjpercmstpsraswrfldleft { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustLStandActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldleft_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldleft_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldup_cse_rested : aadjpknlmstpsraswrfldup { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustFKneelActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldup_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldup_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldup", 0.02}; - }; - - class amovpknlmstpsraswrfldnon_cse_rested : amovpknlmstpsraswrfldnon { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleKneelActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovpknlmstpsraswrfldnon_cse_rested", 0.02}; - ConnectFrom[] = {"amovpknlmstpsraswrfldnon_cse_rested", 0.02}; - InterpolateFrom[] = {"amovpknlmstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovpknlmstpsraswrfldnon", 0.02}; - }; - - class aadjpknlmstpsraswrflddown_cse_rested : aadjpknlmstpsraswrflddown { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustBKneelActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrflddown_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrflddown_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrflddown", 0.02}; - }; - - class aadjpknlmstpsraswrfldleft_cse_rested : aadjpknlmstpsraswrfldleft { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustLKneelActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldleft_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldleft_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldright_cse_rested : aadjpknlmstpsraswrfldright { - aimPrecision = CSE_SWAY_RESTED; - actions = "RifleAdjustRKneelActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldright_cse_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldright_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldright", 0.02}; - }; - - class aadjppnemstpsraswrfldup_cse_rested : aadjppnemstpsraswrfldup { - aimPrecision = CSE_SWAY_RESTED_PRONE; - actions = "RifleAdjustFProneActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldup_cse_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldup_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldup", 0.02}; - }; - - class aadjppnemstpsraswrfldleft; - class aadjppnemstpsraswrfldleft_cse_rested : aadjppnemstpsraswrfldleft { - aimPrecision = CSE_SWAY_RESTED_PRONE; - actions = "RifleAdjustLProneActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldleft_cse_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldleft_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldleft", 0.02}; - }; - - class aadjppnemstpsraswrfldright; - class aadjppnemstpsraswrfldright_cse_rested : aadjppnemstpsraswrfldright { - aimPrecision = CSE_SWAY_RESTED_PRONE; - actions = "RifleAdjustRProneActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldright_cse_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldright_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldright", 0.02}; - }; - - class aadjppnemstpsraswrflddown; - class aadjppnemstpsraswrflddown_cse_rested : aadjppnemstpsraswrflddown { - aimPrecision = CSE_SWAY_RESTED_PRONE; - actions = "RifleAdjustBProneActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrflddown_cse_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrflddown_cse_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrflddown", 0.02}; - }; - - class amovppnemstpsraswrfldnon_cse_rested : amovppnemstpsraswrfldnon { - aimPrecision = CSE_SWAY_RESTED_PRONE; - actions = "RifleProneActions_cse_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovppnemstpsraswrfldnon_cse_rested", 0.02}; - ConnectFrom[] = {"amovppnemstpsraswrfldnon_cse_rested", 0.02}; - InterpolateFrom[] = {"amovppnemstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovppnemstpsraswrfldnon", 0.02}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/CfgSounds.h b/TO_MERGE/cse/sys_equipment/CfgSounds.h deleted file mode 100644 index 87c417cc0e..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgSounds.h +++ /dev/null @@ -1,28 +0,0 @@ -class CfgSounds -{ - class cse_magrepack_finished - { - name="cse_magrepack_finished"; - sound[]={"\cse\cse_sys_equipment\magazineRepack\sound\magrepack_finished.wav",1,1}; - titles[]={}; - }; - class cse_magrepack_single - { - name="cse_magrepack_single"; - sound[]={"\cse\cse_sys_equipment\magazineRepack\sound\magrepack_single.wav",1,1}; - titles[]={}; - }; - - class cse_weaponrest_rest - { - name="cse_weaponrest_rest"; - sound[]={"\cse\cse_sys_equipment\weaponresting\sound\weaponrest_rest.wav",1,1}; - titles[]={}; - }; - class cse_weaponrest_unrest - { - name="cse_weaponrest_unrest"; - sound[]={"\cse\cse_sys_equipment\weaponresting\sound\weaponrest_unrest.wav",1,1}; - titles[]={}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/CfgVehicles.h b/TO_MERGE/cse/sys_equipment/CfgVehicles.h deleted file mode 100644 index f37c4dd6e9..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgVehicles.h +++ /dev/null @@ -1,224 +0,0 @@ -class CfgVehicles -{ - class Land_HelipadEmpty_F; - class cse_LogicDummy: Land_HelipadEmpty_F - { - scope = 1; - slx_xeh_disabled = 1; - class EventHandlers { - init = "(_this select 0) enableSimulation false"; - }; - }; - - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - - class cse_sys_equipment: Module_F { - scope = 2; - displayName = "Equipment Options [CSE]"; - icon = "\cse\cse_main\data\cse_basic_module.paa"; - category = "cse_equipment"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class magazineRepack { - displayName = "Magazine Repack"; - description = "Lets players repack their magazines in the field"; - typeName = "BOOL"; - defaultValue = true; - }; - class attachableItems { - displayName = "Attachable Items"; - description = "Allows for attaching chemlights, IR strobes and the like"; - typeName = "BOOL"; - defaultValue = true; - }; - class weaponResting { - displayName = "Weapon Resting"; - description = "Allow players to rest their weapons and deploy bipods."; - typeName = "BOOL"; - defaultValue = true; - }; - class weaponSafety { - displayName = "Weapon Safety"; - description = "Allow players to put their weapons on safe."; - typeName = "BOOL"; - defaultValue = true; - }; - class adjustableNVG { - displayName = "NVG Adjustments"; - description = "Allow players to adjust their NVG brightness"; - typeName = "BOOL"; - defaultValue = true; - }; - class allowWeaponSelect { - displayName = "Weapon selection"; - description = "Allow players to select weapons through keybindings"; - typeName = "BOOL"; - defaultValue = true; - }; - class allowAmmoChecking { - displayName = "Ammo Checking"; - description = "Allow players to check their Ammunition"; - typeName = "BOOL"; - defaultValue = true; - }; - class hideAmmoValues { - displayName = "Hide Ammo"; - description = "Hide the Ammunition counter for players"; - typeName = "NUMBER"; - defaultValue = 0; - class values { - class enable { - name = "Yes"; - value = 1; - }; - class disable { - name = "No"; - value = 0; - default = 1; - }; - }; - }; - }; - class ModuleDescription { - description = "Various actions/equipment settings."; - sync[] = {}; - }; - }; - - // BACKWARDS COMPATABILITY MODULES PRESSENCE - class cse_sys_magazineRepack: Module_F { - scope = 1; // hidden for backwards compatability - displayName = "Magazine Repack [CSE]"; - icon = "\cse\cse_main\data\cse_basic_module.paa"; - category = "cse_equipment"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - }; - class ModuleDescription { - description = "Lets players repack their magazines in the field"; - sync[] = {}; - }; - }; - class cse_sys_attachableItems: Module_F { - scope = 1; // hidden for backwards compatability - displayName = "Attachable Items [CSE]"; - icon = "\cse\cse_main\data\cse_basic_module.paa"; - category = "cse_equipment"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - }; - class ModuleDescription { - description = "Allows for attaching chemlights, IR strobes and the like"; - sync[] = {}; - }; - }; - - class cse_sys_weaponrest: Module_F { - scope = 1; // hidden for backwards compatability - displayName = "Weapon Resting [CSE]"; - icon = "\cse\cse_main\data\cse_rifle_module.paa"; - category = "cse_equipment"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments - { - - }; - }; - - class cse_sys_weaponsafety: Module_F { - scope = 1; // hidden for backwards compatability - displayName = "Weapon Safety [CSE]"; - icon = "\cse\cse_main\data\cse_rifle_module.paa"; - category = "cse_equipment"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments - { - - }; - }; - - class cse_sys_nightvision: Module_F { - scope = 1; // hidden for backwards compatability - displayName = "Night Vision [CSE]"; - icon = "\cse\cse_main\data\cse_nvg_module.paa"; - category = "cse_equipment"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - }; - }; - // END BACKWARDS COMPATABILITY - - - // curator modules - class cse_moduleGroundFlare_White: Module_F { - scope = 1; - scopeCurator = 2; - displayName = "White Flare (Ground)"; - icon = "\a3\Modules_F_Curator\Data\iconFlare_ca.paa"; - category = "Effects"; - function = "cse_fnc_moduleFlare_EQ"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - ammo = "CSE_FlareWhite"; - class Arguments { - }; - class ModuleDescription { - description = "Places a white flare on the ground"; - sync[] = {}; - }; - }; - class cse_moduleGroundFlare_Red: cse_moduleGroundFlare_White { - displayName = "Red Flare (Ground)"; - ammo = "CSE_FlareRed"; - class Arguments { - }; - class ModuleDescription { - description = "Places a red flare on the ground"; - sync[] = {}; - }; - }; - class cse_moduleGroundFlare_Yellow: cse_moduleGroundFlare_White { - displayName = "Yellow Flare (Ground)"; - ammo = "CSE_FlareYellow"; - class Arguments { - }; - class ModuleDescription { - description = "Places a yellow flare on the ground"; - sync[] = {}; - }; - }; - class cse_moduleGroundFlare_Green: cse_moduleGroundFlare_White { - displayName = "Green Flare (Ground)"; - ammo = "CSE_FlareGreen"; - class Arguments { - }; - class ModuleDescription { - description = "Places a green flare on the ground"; - sync[] = {}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/CfgWeapons.h b/TO_MERGE/cse/sys_equipment/CfgWeapons.h deleted file mode 100644 index 2aa1cb1840..0000000000 --- a/TO_MERGE/cse/sys_equipment/CfgWeapons.h +++ /dev/null @@ -1,56 +0,0 @@ -class CfgWeapons { - class GrenadeLauncher; - class Throw: GrenadeLauncher { - muzzles[] += {"CSE_FlareWhiteMuzzle", "CSE_FlareRedMuzzle", "CSE_FlareGreenMuzzle", "CSE_FlareYellowMuzzle", "CSE_RoadFlareWhiteMuzzle", "CSE_RoadFlareRedMuzzle", "CSE_RoadFlareGreenMuzzle", "CSE_RoadFlareYellowMuzzle"}; - class ThrowMuzzle; - class CSE_FlareWhiteMuzzle: ThrowMuzzle { - magazines[] = {"CSE_FlareWhite"}; - }; - class CSE_FlareRedMuzzle: ThrowMuzzle { - magazines[] = {"CSE_FlareRed"}; - }; - class CSE_FlareGreenMuzzle: ThrowMuzzle { - magazines[] = {"CSE_FlareGreen"}; - }; - class CSE_FlareYellowMuzzle: ThrowMuzzle { - magazines[] = {"CSE_FlareYellow"}; - }; - - class CSE_RoadFlareWhiteMuzzle: ThrowMuzzle { - magazines[] = {"CSE_RoadFlareWhite"}; - }; - class CSE_RoadFlareRedMuzzle: ThrowMuzzle { - magazines[] = {"CSE_RoadFlareRed"}; - }; - class CSE_RoadFlareGreenMuzzle: ThrowMuzzle { - magazines[] = {"CSE_RoadFlareGreen"}; - }; - class CSE_RoadFlareYellowMuzzle: ThrowMuzzle { - magazines[] = {"CSE_RoadFlareYellow"}; - }; - }; - - class Rifle_Base_F; - class Rifle_Long_Base_F; - class arifle_MX_Base_F; - class arifle_MX_SW_F: arifle_MX_Base_F - { - cse_bipod = 1; - }; - class LMG_Mk200_F: Rifle_Base_F - { - cse_bipod = 1; - }; - class LMG_Zafir_F: Rifle_Base_F - { - cse_bipod = 1; - }; - class LRR_base_F: Rifle_Long_Base_F - { - cse_bipod = 1; - }; - class GM6_base_F: Rifle_Long_Base_F - { - cse_bipod = 1; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_equipment/Combat_Space_Enhancement.h deleted file mode 100644 index e1ae338102..0000000000 --- a/TO_MERGE/cse/sys_equipment/Combat_Space_Enhancement.h +++ /dev/null @@ -1,87 +0,0 @@ -#define MENU_KEYBINDING 1 -#define ACTION_KEYBINDING 2 -#define CLIENT_SETTING 3 - -class Combat_Space_Enhancement { - class EventHandlers { - class PostInit_EventHandlers { - class cse_sys_equipment { - // init = " call compile preprocessFile 'cse\cse_sys_equipment\init_sys_equipment.sqf';"; - }; - }; - }; - class cfgModules { - class cse_sys_equipment { - init = "call compile preprocessFile 'cse\cse_sys_equipment\init_sys_equipment.sqf';"; - name = "Equipment Module"; - class EventHandlers { - class AllVehicles { - GetOut = "if (CSE_HIDE_AMMO_COUNTERS_EQ> 0) then { if (_this select 2 == player) then {0 = [] spawn { waituntil {vehicle player == player}; [true] call cse_fnc_hidEUnitInfoAmmo_EQ;};};};"; - }; - }; - }; - - // BACKWARDS COMPATABILITY MODULES - // Have to stay put, as cse_sys_equipment will make use of them. - // The modules themselves will be hidden. - class cse_sys_magazineRepack { - init = "call compile preprocessFile 'cse\cse_sys_equipment\scripts\register_magazine_repack_actions.sqf';"; - name = "Magazine Repack"; - disableConfigExecution = 1; - }; - class cse_sys_attachableItems { - init = "call compile preprocessFile 'cse\cse_sys_equipment\scripts\register_attachable_items_actions.sqf';"; - name = "Attachable Items"; - disableConfigExecution = 1; - }; - - class cse_sys_weaponrest { - init = "call compile preprocessFile 'cse\cse_sys_equipment\weaponresting\init_sys_weaponrest.sqf';"; - name = "Weapon Resting & Bipods"; - disableConfigExecution = 1; - class Configurations { - class cse_sys_weaponRestAction { - type = ACTION_KEYBINDING; - title = $STR_DEPLOY_WEAPON_REST_TTTLE; - description = $STR_DEPLOY_WEAPON_REST_DESC; - value[] = {56,1,2,2}; - onPressed = "[] call cse_fnc_keyPressed_WR;"; - }; - class cse_sys_weaponUnrestAction { - type = ACTION_KEYBINDING; - title = $STR_DEPLOY_WEAPON_UNREST_TTTLE; - description = $STR_DEPLOY_WEAPON_UNREST_DESC; - value[] = {0,0,0,0}; - onPressed = "[] call cse_fnc_actionReleaseWeapon_WR;"; - }; - }; - }; - class cse_sys_weaponsafety { - init = "call compile preprocessFile 'cse\cse_sys_equipment\weaponsafety\init_sys_weaponsafety.sqf';"; - name = "Weapon Safety"; - disableConfigExecution = 1; - }; - class cse_sys_nightvision { - init = "call compile preprocessFile 'cse\cse_sys_equipment\nvg\init_sys_nightvision.sqf';"; - name = "Night Vision"; - disableConfigExecution = 1; - class Configurations { - class cse_sys_nvgAdjustBrightness_UP { - type = ACTION_KEYBINDING; - title = $STR_INCREASE_NVG_BIRGHTNESS_TITLE; - description = $STR_INCREASE_NVG_BIRGHTNESS_DESC; - value[] = {201,0,0,1}; - onPressed = "[player,0.1] call cse_fnc_adjustBrightness_NVG;"; - }; - class cse_sys_nvgAdjustBrightness_DOWN { - type = ACTION_KEYBINDING; - title = $STR_DECREASE_NVG_BIRGHTNESS_TITLE; - description = $STR_DECREASE_NVG_BIRGHTNESS_DESC; - value[] = {209,0,0,1}; - onPressed = "[player,-0.1] call cse_fnc_adjustBrightness_NVG;"; - }; - }; - }; - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/UI.h b/TO_MERGE/cse/sys_equipment/UI.h deleted file mode 100644 index 11255d108c..0000000000 --- a/TO_MERGE/cse/sys_equipment/UI.h +++ /dev/null @@ -1 +0,0 @@ -#include "ui\rscTitles.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/config.cpp b/TO_MERGE/cse/sys_equipment/config.cpp deleted file mode 100644 index 106d0e6b37..0000000000 --- a/TO_MERGE/cse/sys_equipment/config.cpp +++ /dev/null @@ -1,59 +0,0 @@ -class CfgPatches { - class cse_sys_equipment { - units[] = {"cse_moduleGroundFlare_White", "cse_moduleGroundFlare_Red","cse_moduleGroundFlare_Green","cse_moduleGroundFlare_Yellow"}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"A3_Modules_F", "A3_UI_F", "cse_main", "cse_gui", "cse_f_eh"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - website = "csemod.com"; - }; - class cse_sys_magazineRepack { - units[] = {}; - weapons[] = {}; - requiredVersion = 1.0; - requiredAddons[] = {"cse_f_eh","cse_main"}; - versionDesc = "CSE Magazine Repack"; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; - class cse_sys_weaponrest { - units[] = {}; - weapons[] = {}; - requiredVersion = 1.0; - requiredAddons[] = {"cse_f_eh","cse_main", "A3_Weapons_F", "A3_Weapons_F_Rifles_MX"}; - versionDesc = "CSE Weapon Resting"; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement", "Tupolov", "Glowbal"}; - authorUrl = "http://csemod.com"; - }; - class cse_sys_nightvision { - units[] = {}; - weapons[] = {}; - requiredVersion = 1.0; - requiredAddons[] = {"cse_f_eh","cse_main"}; - versionDesc = "CSE Night Vision"; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -class CfgAddons { - class PreloadAddons { - class cse_sys_equipment { - list[] = {"cse_sys_equipment", "cse_sys_magazineRepack", "cse_sys_weaponrest", "cse_sys_nightvision"}; - }; - }; -}; -#include "Combat_Space_Enhancement.h" -#include "CfgFactionClasses.h" -#include "CfgVehicles.h" -#include "CfgFunctions.h" -#include "CfgSounds.h" -#include "CfgAmmo.h" -#include "CfgWeapons.h" -#include "CfgMovesBasic.h" -#include "CfgMovesMaleSdr.h" -#include "UI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_areEquipmentOptionsAvailable_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_areEquipmentOptionsAvailable_EQ.sqf deleted file mode 100644 index 4a805582ce..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_areEquipmentOptionsAvailable_EQ.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_areEquipmentOptionsAvailable_EQ.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return","_equipOpt"]; -_return = false; -_equipOpt = ([] call cse_fnc_getAllEquipmentOptions_EQ); -{ - if (_this call (_x select 1)) exitwith { - _return = true; - }; -}foreach _equipOpt; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_attachItem_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_attachItem_EQ.sqf deleted file mode 100644 index 570bc37d33..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_attachItem_EQ.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/** - * fn_attachItem_EQ.sqf - * @Descr: Attach an item of given classname. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, item STRING (Classname of magazine item)] - * @Return: nil - * @PublicAPI: true - */ - -private ["_unit","_chemlight","_isStrobeLight", "_light"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_item = [_this, 1, "", [""]] call BIS_fnc_Param; - -[format["Attach item: %1",_this]] call cse_fnc_debug; - -if (!isNull(_unit getvariable ["cse_attachedItem_EQ",objNull])) exitwith {}; -if !([_unit,_item] call cse_fnc_hasMagazine) exitwith{}; -if !([_item] call cse_fnc_isAttachableItem_EQ) exitwith{}; - -_unit setvariable ["cse_attachedItemClassName_EQ", _item]; - -_isStrobeLight = switch (_item) do { - case "B_IR_Grenade": {true}; - case "I_IR_Grenade": {true}; - case "O_IR_Grenade": {true}; - default {false}; -}; -if (_isStrobeLight) then { - _light = (toString [(toArray _item) select 0] + "_IRStrobe") createVehicle (getPos _unit); -} else { - _light = _item createVehicle (getPos _unit); -}; - -if (!isNull _light) then { - [_unit,_item] call cse_fnc_useMagazine; - _light attachTo [_unit,[0.1,-0.1,-0.1],"head"]; - _unit setvariable["cse_attachedItem_EQ",_light,true]; -}; - - - -[_unit, _light] spawn { - _unit = _this select 0; - _light = _this select 1; - while {((alive _light) && !isNull(_unit getvariable ["cse_attachedItem_EQ",objNull]) && alive _unit)} do { - if (vehicle _unit != _unit) then { - _positionInWorld = _unit modelToWorld (_unit selectionPosition "head"); - _vehPos = (vehicle _unit) worldToModel _positionInWorld; - _light attachTo [(vehicle _unit),_vehPos]; - } else { - _light attachTo [_unit,[0.1,-0.1,-0.1],"head"]; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_detachItem_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_detachItem_EQ.sqf deleted file mode 100644 index e962f9b2ea..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_detachItem_EQ.sqf +++ /dev/null @@ -1,49 +0,0 @@ -/** - * fn_detachItem_EQ.sqf - * @Descr: Detach current attached item and add it back to the magazines list of the unit. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL True if succesful. - * @PublicAPI: true - */ - -private ["_unit","_chemlight","_isStrobeLight", "_light","_item", "_originalCount"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; - -_item = _unit getvariable ["cse_attachedItem_EQ",objNull]; -_unit setvariable["cse_attachedItem_EQ",nil,true]; - -if (isNull _item) exitwith {true}; -_isStrobeLight = switch (typeOf _item) do { - case "B_IRStrobe": {true}; - case "I_IRStrobe": {true}; - case "O_IRStrobe": {true}; - default {false}; -}; -if (_isStrobeLight) then { - _light = switch (typeOf _item) do { - case "B_IRStrobe": {"B_IR_Grenade"}; - case "I_IRStrobe": {"I_IR_Grenade"}; - case "O_IRStrobe": {"O_IR_Grenade"}; - }; -} else { - _light = typeOf _item; -}; -[format ["Detaching %1 %2", _unit, _light]] call cse_fnc_debug; - _originalCount = ({_x == _light} count magazines _unit); - -_unit addMagazine [_light, 1]; -if ((_originalCount + 1) < ({_x == _light} count magazines _unit)) then { - _unit removeMagazine _light; -}; -detach _item; - -if (_isStrobeLight) then { - _item setPos [-10000,-10000,-10000]; - - // sleeping to ensure the IR strobe effect is properly gone before we delete the source. - sleep 5; -}; -deleteVehicle _item; -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_dropFlare_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_dropFlare_EQ.sqf deleted file mode 100644 index b7e94e91f0..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_dropFlare_EQ.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/** - * fn_dropFlare_EQ.sqf - * @Descr: Drop a flare object - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, flare STRING (Classname of the flare or fusee)] - * @Return: OBJECT The created flare. Objnull if failure. - * @PublicAPI: true - */ - -private ["_unit", "_item", "_flareObj"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_item = [_this, 1, "", [""]] call BIS_fnc_Param; - -_continue = switch (_item) do { - case "CSE_FlareWhite": {true}; - case "CSE_FlareRed": {true}; - case "CSE_FlareGreen": {true}; - case "CSE_FlareYellow": {true}; - case "CSE_RoadFlareWhite": {true}; - case "CSE_RoadFlareRed": {true}; - case "CSE_RoadFlareGreen": {true}; - case "CSE_RoadFlareYellow": {true}; - default {false}; -}; -if (!_continue) exitwith {objNull}; -if (_unit isKindof "CAManBAse") then { - [_unit, _item] call cse_fnc_useMagazine; -}; -_flareObj = _item createVehicle getPos _unit; - -_flareObj \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_getAllEquipmentOptions_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_getAllEquipmentOptions_EQ.sqf deleted file mode 100644 index ad4d42b68e..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_getAllEquipmentOptions_EQ.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_getAllEquipmentOptions_EQ.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private["_return"]; -_return = []; -if (isnil "CSE_EQUIPMENT_OPTIONS_EQ") then { - CSE_EQUIPMENT_OPTIONS_EQ = _return; -}; -/* -{ - _return set [count _return, _x]; -}foreach CSE_EQUIPMENT_OPTIONS_EQ; -*/ -_return = + CSE_EQUIPMENT_OPTIONS_EQ; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_getPercentageAmmoMagazine_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_getPercentageAmmoMagazine_EQ.sqf deleted file mode 100644 index 46455c4066..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_getPercentageAmmoMagazine_EQ.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_getPercentageAmmoMagazine_EQ.sqf - * @Descr: Get percentage of ammo in currentMagazine left. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: NUMBER A number between 100 and 0, with 100 being a full magazine and 0 being empty (No ammo left). - * @PublicAPI: true - */ - -private ["_unit", "_percentage", "_maxAmmoCount", "_currentAmmoCount"]; -_unit = _this select 0; -_percentage = 0; - -if (currentWeapon _unit != "") then { - { - if (_x select 4 == currentMuzzle _unit) exitWith { - _currentAmmoCount = _x select 1; - _maxAmmoCount = getNumber(configFile >> "CfgMagazines" >> (_x select 0) >> "count"); - if (_maxAmmoCount > 0) then { - _percentage = (_currentAmmoCount / _maxAmmoCount) * 100; - }; - }; - } forEach (magazinesAmmoFull _unit); -}; - -_percentage diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_hasAttachableItem_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_hasAttachableItem_EQ.sqf deleted file mode 100644 index a130e32ef6..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_hasAttachableItem_EQ.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_hasAttachableItem_EQ.sqf - * @Descr: Check if unit has an attachable Item. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_unit","_return"]; -_unit = _this select 0; -_return = false; -{ - if ([_x] call cse_fnc_isAttachableItem_EQ) exitwith { - _return = true; - }; -}foreach (magazines _unit); - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_hasFlare_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_hasFlare_EQ.sqf deleted file mode 100644 index f8579d2f97..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_hasFlare_EQ.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_hasFlare_EQ.sqf - * @Descr: Check if given unit has a flare. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private[ "_unit", "_return"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -if !(_unit isKindof "CAManBase") exitwith {false}; -_return = false; -{ - if ([_x] call cse_fnc_isFlare_EQ) exitwith {_return = true;}; -}foreach (magazines _unit); - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_hasItemAttached_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_hasItemAttached_EQ.sqf deleted file mode 100644 index 2a32cd4d8a..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_hasItemAttached_EQ.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_hasItemAttached_EQ.sqf - * @Descr: Check if unit has an item attached - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_unit", "_item"]; -_unit = _this select 0; -_item = _unit getvariable ["cse_attachedItem_EQ",objNull]; - -(!isNull _item); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_hideUnitInfoAmmo_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_hideUnitInfoAmmo_EQ.sqf deleted file mode 100644 index 233709a562..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_hideUnitInfoAmmo_EQ.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_hideUnitInfoAmmo_EQ.sqf - * @Descr: Hide the unitInfo ammo related parts. Credits Vladimir Hynek (BI Dev) for original code from BIS_fnc_showUnitInfo - * @Author: Glowbal - * - * @Arguments: [hide BOOL] - * @Return: nil - * @PublicAPI: true - */ - -private ["_hide"]; -_hide = [_this, 0, true, [true]] call BIS_fnc_param; -[format["Hiding unitAmmoInfo %1", _hide]] call cse_fnc_debug; -disableSerialization; -{ - if((ctrlIDD _x) == 300) then - { - private ["_unitInfoDisplay"]; - _unitInfoDisplay = _x; - - { - if (_x in [184, 185, 151]) then { - private ["_ctrl"]; - _ctrl = _unitInfoDisplay displayCtrl _x; - - if(_hide) then - { - _ctrl ctrlSetFade 1; - } - else - { - _ctrl ctrlSetFade 0; - }; - - _ctrl ctrlCommit 0; - }; - } foreach ([(configfile >> "RscInGameUI" >> "RscUnitInfo"), 0] call bis_fnc_displaycontrols); - }; -} foreach (uinamespace getvariable "IGUI_displays"); //RscUnitInfo can be present several times for some reason diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_isAttachableItem_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_isAttachableItem_EQ.sqf deleted file mode 100644 index 74bb063199..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_isAttachableItem_EQ.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/** - * fn_isAttachableItem_EQ.sqf - * @Descr: Check if item is an attachable Item. - * @Author: Glowbal - * - * @Arguments: [item STRING (Classname of item)] - * @Return: BOOL - * @PublicAPI: false - */ - -private ["_chemlight","_return"]; -_chemlight = _this select 0; -_return = switch (_chemlight) do { - case "Chemlight_blue": {true}; - case "Chemlight_red": {true}; - case "Chemlight_green": {true}; - case "Chemlight_yellow": {true}; - case "B_IR_Grenade": {true}; - case "I_IR_Grenade": {true}; - case "O_IR_Grenade": {true}; - default {false}; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_isFlare_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_isFlare_EQ.sqf deleted file mode 100644 index 5445e191be..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_isFlare_EQ.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_isFlare_EQ.sqf - * @Descr: Check if given classname is a CSE Flare - * @Author: Glowbal - * - * @Arguments: [classname STRING (Magazine classname to check)] - * @Return: BOOL True if classname is a flare. - * @PublicAPI: true - */ - -private ["_classname", "_return"]; -_classname = [_this, 0, "", [""]] call BIS_fnc_Param; -_return = switch (_classname) do { - case "CSE_FlareWhite": {true}; - case "CSE_FlareRed": {true}; - case "CSE_FlareGreen": {true}; - case "CSE_FlareYellow": {true}; - case "CSE_RoadFlareWhite": {true}; - case "CSE_RoadFlareRed": {true}; - case "CSE_RoadFlareGreen": {true}; - case "CSE_RoadFlareYellow": {true}; - default {false}; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_moduleFlare_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_moduleFlare_EQ.sqf deleted file mode 100644 index 82a43966ee..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_moduleFlare_EQ.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_moduleFlare_EQ.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic", "_className", "_cfg", "_ammo", "_flare"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; - -if (!isNull _logic) then { - _className = typeOf _logic; - _cfg = (ConfigFile >> "CfgVehicles" >> _className); - _ammo = getText(_cfg >> "ammo"); - if (_ammo != "") then { - _flare = [_logic, _ammo] call cse_fnc_dropFlare_EQ; - if (isnull _flare) then { - deleteVehicle _logic; - deleteVehicle _flare; - } else { - _logic setvariable ["cse_droppedFlare", _flare]; - - { - if !(_x getvariable ["CSE_CURATOR_ADDITIONAL_EQ", false]) then { - _x setvariable ["CSE_CURATOR_ADDITIONAL_EQ", true]; - _X addEventHandler["CuratorObjectDeleted", { - _obj = _this select 1; - if !(isNull (_obj getvariable ["cse_droppedFlare", objNull])) then { - deleteVehicle (_obj getvariable ["cse_droppedFlare", objNull]); - }; - }]; - }; - }foreach objectCurators _logic; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_putWeaponOnBack_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_putWeaponOnBack_EQ.sqf deleted file mode 100644 index 63d1af890b..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_putWeaponOnBack_EQ.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * fn_putWeaponOnBack_EQ.sqf - * @Descr: Put unit weapon on the back. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: void - * @PublicAPI: true - */ - -#define MUZZLE_INDEX 100 - -private ["_unit"]; -_unit = _this select 0; -_unit action ["SwitchWeapon", _unit, _unit, MUZZLE_INDEX]; - -nil; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/functions/fn_registerNewEquipmentOption_EQ.sqf b/TO_MERGE/cse/sys_equipment/functions/fn_registerNewEquipmentOption_EQ.sqf deleted file mode 100644 index 8754bbdc24..0000000000 --- a/TO_MERGE/cse/sys_equipment/functions/fn_registerNewEquipmentOption_EQ.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/** - * fn_registerNewEquipmentOption_EQ.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_name","_condition","_code"]; -_name = _this select 0; -_condition = _this select 1; -_code = _this select 2; - -if (typeName _name != typeName "" || typeName _condition != typeName {} || typeName _code != typeName{}) exitwith {}; - -if (isnil "CSE_REGISTERING_EQUIPMENT_OPTION") then { - CSE_REGISTERING_EQUIPMENT_OPTION = false; -}; -sleep (random(0.5)); -waituntil {!CSE_REGISTERING_EQUIPMENT_OPTION}; -CSE_REGISTERING_EQUIPMENT_OPTION = true; - -if (isnil "CSE_EQUIPMENT_OPTIONS_EQ") then { - CSE_EQUIPMENT_OPTIONS_EQ = []; -}; -CSE_EQUIPMENT_OPTIONS_EQ pushback [_name,_condition,_code]; - -CSE_REGISTERING_EQUIPMENT_OPTION = false; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/init_sys_equipment.sqf b/TO_MERGE/cse/sys_equipment/init_sys_equipment.sqf deleted file mode 100644 index a5687141eb..0000000000 --- a/TO_MERGE/cse/sys_equipment/init_sys_equipment.sqf +++ /dev/null @@ -1,88 +0,0 @@ -/* - NAME: init - USAGE: - AUTHOR: Glowbal - RETURN: void - -*/ - -waituntil{!isnil "cse_gui"}; -cse_equip_module = true; -_allowMagazineRepack = true; -_haveAttachableItems = true; -_allowWeaponRest = false; -_allowWeaponSafety = false; -_nvgBrightness = false; -_allowSelectWeaponKeybindings = false; -_allowCheckAmmoKeybindings = false; -CSE_HIDE_AMMO_COUNTERS_EQ = 0; - -_args = _this; -{ - _value = _x select 1; - if (!isnil "_value") then { - _name = _x select 0; - if (_name == "magazineRepack") exitwith { - _allowMagazineRepack = _value; - }; - if (_name == "attachableItems") exitwith { - _haveAttachableItems = _value; - }; - if (_name == "weaponResting") exitwith { - _allowWeaponRest = _value; - }; - if (_name == "weaponSafety") exitwith { - _allowWeaponSafety = _value; - }; - if (_name == "adjustableNVG") exitwith { - _nvgBrightness = _value; - }; - if (_name == "allowWeaponSelect") exitwith { - _allowSelectWeaponKeybindings = _value; - }; - if (_name == "allowAmmoChecking") exitwith { - _allowCheckAmmoKeybindings = _value; - }; - if (_name == "hideAmmoValues") exitwith { - CSE_HIDE_AMMO_COUNTERS_EQ = _value; - }; - }; -}foreach _args; - -if (_allowSelectWeaponKeybindings) then { - #include "scripts\select_weapon_keybindings.sqf" -}; - -if (_allowCheckAmmoKeybindings) then { - #include "scripts\check_ammo_keybindings.sqf" -}; - -if (_haveAttachableItems) then { - #include "scripts\register_attachable_items_actions.sqf" -}; - -if (_allowMagazineRepack) then { - #include "scripts\register_magazine_repack_actions.sqf" -}; - -if (_allowWeaponSafety) then { - ["cse_sys_weaponsafety", []] call cse_fnc_enableModule_f; -}; - -if (_allowWeaponRest) then { - ["cse_sys_weaponrest", []] call cse_fnc_enableModule_f; -}; - -if (_nvgBrightness) then { - ["cse_sys_nightvision", []] call cse_fnc_enableModule_f; -}; - -[format["EQUIP - EQUIPMENT module initialised"],2] call cse_fnc_debug; - -if (CSE_HIDE_AMMO_COUNTERS_EQ > 0) then { - waituntil {!isnil "cse_gui"}; - sleep 0.5; - if (vehicle player == player) then { - [true] call cse_fnc_hideUnitInfoAmmo_EQ; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/magazineRepack/functions/fn_repackMagazines.sqf b/TO_MERGE/cse/sys_equipment/magazineRepack/functions/fn_repackMagazines.sqf deleted file mode 100644 index 24224a01c7..0000000000 --- a/TO_MERGE/cse/sys_equipment/magazineRepack/functions/fn_repackMagazines.sqf +++ /dev/null @@ -1,105 +0,0 @@ -/** - * fn_repackMagazines.sqf - * @Descr: Repacks all magazines of given type for a unit - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, classname STRING] - * @Return: - * @PublicAPI: true - */ - -#define MAGAZINE_ACCESS_DELAY 3.0 -#define AMMO_REPACK_DELAY 2.0 - -private ["_unit", "_className", "_magazineCapacity", "_magazines", "_repackableAmmoCount", "_repackableMagazinesCount", "_repackableMagazinesAmmoCounts", "_magazineClassName", "_magazineAmmoCount", "_amountOfFillableMagazines", "_workLoad", "_totalRepackTime", "_firstIndex", "_lastIndex", "_startTime", "_greatestAmmoCount", "_smallestAmmoCount"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_param; -_className = [_this, 1, "", [""]] call bis_fnc_param; - -if (isNull _unit || _className == "") exitwith {}; -if (vehicle _unit != _unit && {driver (vehicle _unit) == _unit || commander (vehicle _unit) == _unit || gunner (vehicle _unit) == _unit}) exitWith {}; - -if (vehicle _unit == _unit && currentWeapon _unit != "" && !(weaponLowered _unit) && (stance player != "PRONE")) then { - _unit action ["WeaponOnBack", _unit]; - waitUntil { weaponLowered _unit }; // probably evil -}; - -_magazineCapacity = getNumber(configFile >> "CfgMagazines" >> _className >> "count"); - -_magazines = magazinesAmmo _unit; -_repackableAmmoCount = 0; -_repackableMagazinesCount = 0; -_repackableMagazinesAmmoCounts = []; -{ - _magazineClassName = (_x select 0); - _magazineAmmoCount = (_x select 1); - if (_magazineClassName == _className && _magazineAmmoCount < _magazineCapacity) then { - // sums the amount of remaining ammo in all used magazines - _repackableAmmoCount = _repackableAmmoCount + _magazineAmmoCount; - _repackableMagazinesCount = _repackableMagazinesCount + 1; - _repackableMagazinesAmmoCounts pushBack _magazineAmmoCount; - }; -} forEach _magazines; - -if (_repackableMagazinesCount < 2) exitWith {}; - -[getText(configFile >> "CfgMagazines" >> _className >> "displayName"), ["Starting magazine repack"], 0] call cse_fnc_gui_displayInformation; - -_amountOfFillableMagazines = floor(_repackableAmmoCount / _magazineCapacity); - -_repackableMagazinesAmmoCounts = [_repackableMagazinesAmmoCounts, false] call cse_fnc_insertionSort; - -_workLoad = 0; // amount of ammo that needs to be repacked -for "_i" from 0 to _amountOfFillableMagazines - 1 do { - _workLoad = _workLoad + (_magazineCapacity - (_repackableMagazinesAmmoCounts select _i)); -}; - -CSE_ORIGINAL_POSITION_MAG_REPACK_EQ = getPos _unit; -CSE_CONDITION_MAG_REPACK_EQ = {((vehicle player != player && driver (vehicle player) != player && commander (vehicle player) != player && gunner (vehicle player) != player) || (((getPos player) distance CSE_ORIGINAL_POSITION_MAG_REPACK_EQ) < 1 && (weaponLowered player) || (stance player == "PRONE")))}; -CSE_RUNNING_MAG_REPACK_EQ = true; -_totalRepackTime = MAGAZINE_ACCESS_DELAY * (count _repackableMagazinesAmmoCounts) + AMMO_REPACK_DELAY * _workLoad; -_totalRepackTime spawn { - CSE_RUNNING_MAG_REPACK_EQ = [_this, CSE_CONDITION_MAG_REPACK_EQ] call cse_fnc_gui_loadingBar; -}; - -_startTime = diag_tickTime; waitUntil {diag_tickTime - _startTime > MAGAZINE_ACCESS_DELAY}; -_firstIndex = 0; -_lastIndex = _repackableMagazinesCount - 1; -while {CSE_RUNNING_MAG_REPACK_EQ && _lastIndex > _firstIndex} do { - _greatestAmmoCount = _repackableMagazinesAmmoCounts select _firstIndex; - _smallestAmmoCount = _repackableMagazinesAmmoCounts select _lastIndex; - - _startTime = diag_tickTime; waitUntil {diag_tickTime - _startTime > AMMO_REPACK_DELAY / 2.0}; - if (!CSE_RUNNING_MAG_REPACK_EQ) exitWith {}; - playSound "cse_magrepack_single"; - _repackableMagazinesAmmoCounts set [_lastIndex, _smallestAmmoCount - 1]; - _startTime = diag_tickTime; waitUntil {diag_tickTime - _startTime > AMMO_REPACK_DELAY / 2.0}; - if (!CSE_RUNNING_MAG_REPACK_EQ) exitWith {}; - playSound "cse_magrepack_finished"; - _repackableMagazinesAmmoCounts set [_firstIndex, _greatestAmmoCount + 1]; - - // Skip full magazines - if (_repackableMagazinesAmmoCounts select _firstIndex == _magazineCapacity) then { - _startTime = diag_tickTime; waitUntil {diag_tickTime - _startTime > MAGAZINE_ACCESS_DELAY}; - _firstIndex = _firstIndex + 1; - [getText(configFile >> "CfgMagazines" >> _className >> "displayName"), [format["Finished repacking (%1/%2) magazines", _firstIndex, _amountOfFillableMagazines]], 0] call cse_fnc_gui_displayInformation; - }; - // Skip empty magazines - if (_repackableMagazinesAmmoCounts select _lastIndex == 0) then { - _startTime = diag_tickTime; waitUntil {diag_tickTime - _startTime > MAGAZINE_ACCESS_DELAY}; - _lastIndex = _lastIndex - 1; - }; -}; - -// Apply changes -for "_i" from 1 to _repackableMagazinesCount do { - _unit removeMagazine _className; -}; -for "_i" from 0 to _lastIndex do { - _unit addMagazine [_className, _repackableMagazinesAmmoCounts select _i]; -}; - -if (_firstIndex >= _lastIndex) then { - [getText(configFile >> "CfgMagazines" >> _className >> "displayName"), ["Completed magazine repack"], 0] call cse_fnc_gui_displayInformation; -} else { - [getText(configFile >> "CfgMagazines" >> _className >> "displayName"), ["Aborted magazine repack"], 0] call cse_fnc_gui_displayInformation; -}; diff --git a/TO_MERGE/cse/sys_equipment/magazineRepack/functions/fn_repackMagazinesAll.sqf b/TO_MERGE/cse/sys_equipment/magazineRepack/functions/fn_repackMagazinesAll.sqf deleted file mode 100644 index 5de419f683..0000000000 --- a/TO_MERGE/cse/sys_equipment/magazineRepack/functions/fn_repackMagazinesAll.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_repackMagazinesAll.sqf - * @Descr: Repacks all magazines of a unit - * @Author: Glowbal, Ruthberg - * - * @Arguments: [unit OBJECT] - * @Return: nil - * @PublicAPI: true - */ - -private ["_unit", "_passedMags"]; -_unit = _this select 0; - -_passedMags = []; -{ - if (!((_x select 0) in _passedMags)) then { - _passedMags pushback (_x select 0); - [_unit, (_x select 0)] call cse_fnc_repackMagazines; - }; -} forEach (magazinesAmmo _unit); diff --git a/TO_MERGE/cse/sys_equipment/magazineRepack/sound/magrepack_finished.wav b/TO_MERGE/cse/sys_equipment/magazineRepack/sound/magrepack_finished.wav deleted file mode 100644 index ab73615a55..0000000000 Binary files a/TO_MERGE/cse/sys_equipment/magazineRepack/sound/magrepack_finished.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_equipment/magazineRepack/sound/magrepack_single.wav b/TO_MERGE/cse/sys_equipment/magazineRepack/sound/magrepack_single.wav deleted file mode 100644 index 5d94e215fd..0000000000 Binary files a/TO_MERGE/cse/sys_equipment/magazineRepack/sound/magrepack_single.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_equipment/nvg/functions/fn_adjustBrightness_NVG.sqf b/TO_MERGE/cse/sys_equipment/nvg/functions/fn_adjustBrightness_NVG.sqf deleted file mode 100644 index f75fd52c9f..0000000000 --- a/TO_MERGE/cse/sys_equipment/nvg/functions/fn_adjustBrightness_NVG.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/** - * fn_adjustBrightness_NVG.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_increase","_currentBrightness","_newBrightness"]; -_unit = [_this,0,ObjNull,[ObjNUll]] call BIS_fnc_Param; -_increase = [_this, 1, 0,[0]] call BIS_fnc_Param; -_currentBrightness = _unit getVariable ["cse_sys_nightvision_brightness", 1]; - -_newBrightness = _currentBrightness + _increase; -if (_newBrightness < -0.1) then { - _newBrightness = -0.1; -} else { - if (_newBrightness > 2) then { - _newBrightness = 2; - }; -}; -_unit setVariable ["cse_sys_nightvision_brightness", _newBrightness]; - -if (_newBrightness != _currentBrightness) then { - if (_increase > 0) then { - hintSilent "Increased NVG Brightness"; - } else { - hintSilent "decreased NVG Brightness"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/nvg/init_sys_nightvision.sqf b/TO_MERGE/cse/sys_equipment/nvg/init_sys_nightvision.sqf deleted file mode 100644 index 9df0185f27..0000000000 --- a/TO_MERGE/cse/sys_equipment/nvg/init_sys_nightvision.sqf +++ /dev/null @@ -1,51 +0,0 @@ -#define PP_EFFECT_GRAIN_INTENSITVE 0.25 // 0 to 1 -#define PP_EFFECT_GRAIN_SHARPNESS 1 // 0 to 20 -#define PP_EFFECT_GRAIN_SIZE 2.5 // 1 to 8 -#define PP_EFFECT_GRAIN_INTENSITY_X0 0.2 // float, No range -#define PP_EFFECT_GRAIN_INTENSITY_X1 0.2 // float, No range -#define PP_EFFECT_GRAIN_MONOCHROMATIC false // bool - - -if (!hasInterface) exitwith {}; -CSE_SYS_NVG_GRAIN_EFFECT_DISPLAY = false; -// need to add some key handlers - - waituntil{!isnil "cse_gui" && !isnil "cse_main"}; - ["Enabling CSE NVG systems",2] call cse_fnc_debug; - _ppEffect_NVGAdjustBrightness = ppEffectCreate ["ColorCorrections", 1587]; - _ppEffect_NVGAdjustBrightness ppEffectForceInNVG true; - _ppEffect_NVGAdjustBrightness ppEffectAdjust [1, 1, 0, [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 1]]; - _ppEffect_NVGAdjustBrightness ppEffectCommit 0; - - - _ppEffect_NVGAdjustEffect = ppEffectCreate ["FilmGrain", 2451]; - _ppEffect_NVGAdjustEffect ppEffectForceInNVG true; - _ppEffect_NVGAdjustEffect ppEffectAdjust [PP_EFFECT_GRAIN_INTENSITVE, PP_EFFECT_GRAIN_SHARPNESS, PP_EFFECT_GRAIN_SIZE, PP_EFFECT_GRAIN_INTENSITY_X0, PP_EFFECT_GRAIN_INTENSITY_X1, PP_EFFECT_GRAIN_MONOCHROMATIC]; - _ppEffect_NVGAdjustEffect ppEffectCommit 0; - - - // Refactor this - ["cse_sys_nightvision", [_ppEffect_NVGAdjustBrightness, _ppEffect_NVGAdjustEffect], { - _ppEffect_NVGAdjustBrightness = _this select 0; - _ppEffect_NVGAdjustEffect = _this select 1; - - if (((currentVisionMode player == 1) || (currentVisionMode (vehicle player) == 1))&& !isNull(findDisplay 46)) then { - _ppEffect_NVGAdjustBrightness ppEffectEnable true; - _newBrightness = player getvariable ["cse_sys_nightvision_brightness", 1]; - _ppEffect_NVGAdjustBrightness ppEffectAdjust [1, _newBrightness, 0, [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 1]]; - _ppEffect_NVGAdjustBrightness ppEffectCommit 0; - if (CSE_SYS_NVG_GRAIN_EFFECT_DISPLAY) then { - _ppEffect_NVGAdjustEffect ppEffectEnable true; - }; - } else { - _ppEffect_NVGAdjustBrightness ppEffectEnable false; - _ppEffect_NVGAdjustEffect ppEffectEnable false; - }; - - }] call cse_fnc_addTaskToPool_f; - -["cse_sys_nightvision_grain_effect_display", ["Enable", "Disable"], (["cse_sys_nightvision_grain_effect_display", 0] call cse_fnc_getClientSideOptionFromProfile_F), { - CSE_SYS_NVG_GRAIN_EFFECT_DISPLAY = (_this select 1) == 0; -}] call cse_fnc_addClientSideOptions_f; - -["cse_sys_nightvision_grain_effect_display","option","Use Grain effect","Use grain effect for nightvision"] call cse_fnc_settingsDefineDetails_F; diff --git a/TO_MERGE/cse/sys_equipment/scripts/check_ammo_keybindings.sqf b/TO_MERGE/cse/sys_equipment/scripts/check_ammo_keybindings.sqf deleted file mode 100644 index 86483ca444..0000000000 --- a/TO_MERGE/cse/sys_equipment/scripts/check_ammo_keybindings.sqf +++ /dev/null @@ -1,17 +0,0 @@ -["check_current_magazine_count_eq", (["check_current_magazine_count_eq","action",[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { - private ["_percentage", "_text"]; - - if (currentWeapon player != "" && currentMagazine player != "") then { - _percentage = [player] call cse_fnc_getPercentageAmmoMagazine_EQ; - _text = switch true do { - case (_percentage >= 75) : { "Heavy weight" }; - case (_percentage >= 35) : { "Medium weight" }; - case (_percentage >= 15) : { "Light weight" }; - case (_percentage >= 0 ) : { "Very light weight" }; - default { "Unknown" }; - }; - ["Magazine weight", [_text], 0] call cse_fnc_gui_displayInformation; - }; - -}] call cse_fnc_addKeyBindingForAction_F; -["check_current_magazine_count_eq","action","Check Ammo","Check your current ammo count"] call cse_fnc_settingsDefineDetails_F; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/scripts/register_attachable_items_actions.sqf b/TO_MERGE/cse/sys_equipment/scripts/register_attachable_items_actions.sqf deleted file mode 100644 index c94f70758e..0000000000 --- a/TO_MERGE/cse/sys_equipment/scripts/register_attachable_items_actions.sqf +++ /dev/null @@ -1,45 +0,0 @@ -if (isDedicated) exitwith{}; -CSE_ICON_PATH = "cse\cse_gui\radialmenu\data\icons\"; - -cse_attachMagazinesDisplaySubMenu = { - [_this] call cse_fnc_Debug; - private ["_subMenus","_passedMags","_magsAmmo"]; - _subMenus = []; - _passedMags = []; - _magsAmmo = magazinesAmmo player; - if ([player] call cse_fnc_hasItemAttached_EQ) then { - _subMenus set [ count _subMenus, - call compile format['["Detach", getText(configFile >> "CfgMagazines" >> "%1" >> "picture"), - { - closeDialog 0; - [player,"%1",20] spawn cse_fnc_detachItem_EQ; - }, true, "Detach " + getText(configFile >> "CfgMagazines" >> "%1" >> "displayName") - ]', player getvariable ["cse_attachedItemClassName_EQ", ""]] - ]; - } else { - { - if (!((_x select 0) in _passedMags)) then { - _passedMags set [ count _passedMags, (_x select 0)]; - if ([_x select 0] call cse_fnc_isAttachableItem_EQ) then - { - _subMenus set [ count _subMenus, - call compile format['[getText(configFile >> "CfgMagazines" >> "%1" >> "displayName"), getText(configFile >> "CfgMagazines" >> "%1" >> "picture"), - { - closeDialog 0; - [player, "%1"] call cse_fnc_attachItem_EQ; - }, true, "Attach " + getText(configFile >> "CfgMagazines" >> "%1" >> "displayName") - ]',(_x select 0)] - ]; - }; - }; - }foreach _magsAmmo; - }; - - [ _this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI; -}; - - -_entries = [ - ["Attach", {(([player] call cse_fnc_hasItemAttached_EQ) || [player] call cse_fnc_hasAttachableItem_EQ)}, CSE_ICON_PATH + "icon_magazines.paa", cse_attachMagazinesDisplaySubMenu, "Attach Item(s)"] -]; -["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/scripts/register_magazine_repack_actions.sqf b/TO_MERGE/cse/sys_equipment/scripts/register_magazine_repack_actions.sqf deleted file mode 100644 index 73b2d8ef09..0000000000 --- a/TO_MERGE/cse/sys_equipment/scripts/register_magazine_repack_actions.sqf +++ /dev/null @@ -1,59 +0,0 @@ -if (isDedicated) exitwith{}; -CSE_ICON_PATH = "cse\cse_gui\radialmenu\data\icons\"; - -cse_fnc_repackableMagazineTypes = { - private ["_magazines", "_repackableMagazines", "_repackableMagazineTypes", "_className", "_magazineAmmoCount", "_magazineCapacity", "_repackableMagazinesOfTypeX", "_result"]; - _magazines = magazinesAmmo player; - _result = []; - _repackableMagazines = []; - _repackableMagazineTypes = []; - { - _className = _x select 0; - _magazineAmmoCount = _x select 1; - _magazineCapacity = getNumber(configFile >> "CfgMagazines" >> _className >> "count"); - if (_magazineCapacity - _magazineAmmoCount > 0) then { - _repackableMagazines pushBack _x; - if (!(_className in _repackableMagazineTypes)) then { - _repackableMagazineTypes pushBack _className; - }; - }; - } forEach _magazines; - - { - _magazineType = _x; - _repackableMagazinesOfTypeX = {_magazineType == (_x select 0)} count _repackableMagazines; - if (_repackableMagazinesOfTypeX > 1) then { - _result pushBack _magazineType; - }; - } forEach _repackableMagazineTypes; - - _result -}; - -cse_repackMagazinesDisplaySubMenu = { - [_this] call cse_fnc_Debug; - - private ["_subMenus", "_repackableMagazineTypes"]; - _subMenus = []; - _repackableMagazineTypes = call cse_fnc_repackableMagazineTypes; - - { - _subMenus pushBack - call compile format['[getText(configFile >> "CfgMagazines" >> "%1" >> "displayName"), getText(configFile >> "CfgMagazines" >> "%1" >> "picture"), - { - closeDialog 0; - [player,"%1",20] spawn cse_fnc_repackMagazines; - }, true, "Repack " + getText(configFile >> "CfgMagazines" >> "%1" >> "displayName") - ]', _x]; - } forEach _repackableMagazineTypes; - - [_this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI; -}; - - -_entries = [ - ["Repack", {count (call cse_fnc_repackableMagazineTypes) > 0}, CSE_ICON_PATH + "icon_magazines.paa", cse_repackMagazinesDisplaySubMenu, "Show magazines that can be repacked"] -]; -["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - diff --git a/TO_MERGE/cse/sys_equipment/scripts/select_weapon_keybindings.sqf b/TO_MERGE/cse/sys_equipment/scripts/select_weapon_keybindings.sqf deleted file mode 100644 index 2cb89a7c38..0000000000 --- a/TO_MERGE/cse/sys_equipment/scripts/select_weapon_keybindings.sqf +++ /dev/null @@ -1,28 +0,0 @@ - -["place_Weapon_onBack", (["place_Weapon_onBack","action",[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { - if (currentWeapon player != "") then { - [player] call cse_fnc_putWeaponOnBack_EQ; - }; -}] call cse_fnc_addKeyBindingForAction_F; -["place_Weapon_onBack","action","Weapon on Back","Place rifle on back or holster pistol"] call cse_fnc_settingsDefineDetails_F; - -["select_primairy_weapon", (["select_primairy_weapon","action",[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { - if (primaryWeapon player != "") then { - player selectWeapon primaryWeapon player; - }; -}] call cse_fnc_addKeyBindingForAction_F; -["select_primairy_weapon","action","Select Primairy weapon","Select your primary weapon."] call cse_fnc_settingsDefineDetails_F; - -["select_secondairy_weapon", (["select_secondairy_weapon","action",[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { - if (secondaryWeapon player != "") then { - player selectWeapon secondaryWeapon player; - }; -}] call cse_fnc_addKeyBindingForAction_F; -["select_secondairy_weapon","action","Select Secondairy Weapon","Select your secondairy weapon."] call cse_fnc_settingsDefineDetails_F; - -["select_handgun_weapon", (["select_handgun_weapon","action",[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { - if (handgunWeapon player != "") then { - player selectWeapon handgunWeapon player; - }; -}] call cse_fnc_addKeyBindingForAction_F; -["select_handgun_weapon","action","Select handgun","Select your pistol."] call cse_fnc_settingsDefineDetails_F; diff --git a/TO_MERGE/cse/sys_equipment/stringtable.xml b/TO_MERGE/cse/sys_equipment/stringtable.xml deleted file mode 100644 index dd082b5b55..0000000000 --- a/TO_MERGE/cse/sys_equipment/stringtable.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - White Flare - Bengala Blanca - - - Red Flare - Bengala Roja - - - Yellow Flare - Bengala Amarilla - - - Green Flare - Bengala Verde - - - - - White Road Flare - Bengala de Carretera Blanca - - - Red Road Flare - Bengala de Carretera Roja - - - Yellow Road Flare - Bengala de Carretera Amarilla - - - Green Road Flare - Bengala de Carretera Verde - - - - - - - Rest Weapon/Deploy Bipod - Oprzyj broń / rozłóż dwójnóg - Apoyar Arma/Desplegar Bípode - - - Unrest Weapon/Undeploy Bipod - Levantar Arma/Plegar Bípode - - - Lets the player rest his weapon / deploy the bipod. This is part of the 'Weapon Rest [CSE]' module. - Pozwala graczowi oprzeć swoją broń / rozłożyć dwójnóg. Jest to część modułu 'Podpieranie broni [CSE]'. - Permite apoyar el arma / desplegar el bípode. Es parte del módulo "Weapon Rest [CSE]". - - - Lets the player unrest his weapon / undeploy the bipod. This is part of the 'Weapon Rest [CSE]' module. - Permite levantar el arma / plegar el bípode. Es parte del módulo "Weapon Rest [CSE]". - - - - - - - - - Increase NVG Brightness - Zwiększ czułość NVG - Aumentar el brillo de la Visión Nocturna - - - Allows the player to increase the NVG brightness. - Pozwala graczowi zwiększyć czułość noktowizji. - Permite al jugador aumentar el brillo de la Visión Nocturna - - - Decrease NVG Brightness - Zmniejsz czułość NVG - Disminuir el brillo de la Visión Nocturna - - - Allows the player to decrease the NVG brightness. - Pozwala graczowi zmniejszyć czułość noktowizji. - Permite al jugador disminuir el brillo de la Visión Nocturna - - - - - diff --git a/TO_MERGE/cse/sys_equipment/ui/rscTitles.h b/TO_MERGE/cse/sys_equipment/ui/rscTitles.h deleted file mode 100644 index 77fe626e84..0000000000 --- a/TO_MERGE/cse/sys_equipment/ui/rscTitles.h +++ /dev/null @@ -1,51 +0,0 @@ -class RscControlsGroup; -class RscText; -/* -class RscInGameUI -{ - class RscUnitInfo - { - class WeaponInfoControlsGroupLeft: RscControlsGroup - { - class controls - { - class CA_AmmoCount: RscText - { - sizeEx = 0; - }; - class CA_MagCount: RscText - { - sizeEx = 0; - }; - class GrenadeCount: RscText - { - sizeEx = 0; - }; - }; - }; - }; -};*/ -/* - class RscUnitInfo { - idd = 300; - class WeaponInfoControlsGroupLeft: RscControlsGroup - { - idc = 2302; - class controls - { - class CA_AmmoCount: RscText - { - idc = 184; - }; - class CA_MagCount: RscText - { - idc = 185; - }; - class CA_GrenadeCount: RscText - { - idc = 151; - }; - }; - }; - }; -*/ diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/data/icons/icon_bipod.paa b/TO_MERGE/cse/sys_equipment/weaponresting/data/icons/icon_bipod.paa deleted file mode 100644 index c2b6a2fb3e..0000000000 Binary files a/TO_MERGE/cse/sys_equipment/weaponresting/data/icons/icon_bipod.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_actionReleaseWeapon_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_actionReleaseWeapon_WR.sqf deleted file mode 100644 index 08fd122ee3..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_actionReleaseWeapon_WR.sqf +++ /dev/null @@ -1,13 +0,0 @@ -/** - * fn_actionReleaseWeapon_WR.sqf - * @Descr: Force unrest/undeploy of the weapon - * @Author: Ruthberg - * - * @Arguments: [] - * @Return: nil - * @PublicAPI: false - */ - - -player setVariable ["cse_isWeaponRested_WR", false, false]; -player setVariable ["cse_isWeaponDeployed_WR", false, false]; diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_canDeployBipod_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_canDeployBipod_WR.sqf deleted file mode 100644 index 06d5abf56e..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_canDeployBipod_WR.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/** - * fn_canDeployBipod_WR.sqf - * @Descr: Check if player can deploy a bipod. - * @Author: Glowbal, Ruthberg - * - * @Arguments: [] - * @Return: [BOOL, PositionASL] - * @PublicAPI: true - */ - - -#define LEFT_HAND_BIPOD_DISTANCE_LONG_RIFLE 0.3 -#define LEFT_HAND_BIPOD_DISTANCE_RIFLE 0.15 -#define BIPOD_HEIGHT 0.40 -#define ALLOWED_ANIMATION_STATES ["amovpercmstpsraswrfldnon","aadjpercmstpsraswrfldup","aadjpercmstpsraswrflddown","aadjpknlmstpsraswrfldup","amovpknlmstpsraswrfldnon","aadjpknlmstpsraswrflddown","aadjppnemstpsraswrfldup","amovppnemstpsraswrfldnon","aadjpknlmstpsraswrfldright","aadjpknlmstpsraswrfldleft","aadjpercmstpsraswrfldright","aadjpercmstpsraswrfldleft"] - -private ["_weapon", "_playerAnimationState", "_canDeployBipod", "_weaponDirection", "_leftHandPosition", "_leftHandBipodDistance", "_isLongRifle", "_azimut", "_elevation", "_bipodTop", "_bipodBottom"]; -_weapon = currentWeapon player; -_playerAnimationState = (([animationState player, "_"] call BIS_fnc_splitString) select 0); -_canDeployBipod = [false, [0, 0, 0]]; - -if ((call cse_fnc_hasBipod_WR) && _weapon == primaryWeapon player && !(weaponLowered player) && _playerAnimationState in ALLOWED_ANIMATION_STATES) then { - _weaponDirection = player weaponDirection _weapon; - - _leftHandPosition = ATLtoASL (player modelToWorld (player selectionPosition "LeftHand")); - - _leftHandBipodDistance = LEFT_HAND_BIPOD_DISTANCE_RIFLE; - _isLongRifle = [configFile >> "CfgWeapons" >> _weapon, "Rifle_Long_Base_F"] call cse_fnc_inheritsFrom; - if (_isLongRifle) then { - _leftHandBipodDistance = LEFT_HAND_BIPOD_DISTANCE_LONG_RIFLE; - }; - - _azimut = (_weaponDirection select 0) atan2 (_weaponDirection select 1); - _elevation = asin(_weaponDirection select 2); - - _bipodTop = _leftHandPosition vectorAdd (_weaponDirection vectorMultiply _leftHandBipodDistance); - _bipodBottom = _bipodTop vectorAdd [sin(_azimut) * sin(_elevation) * BIPOD_HEIGHT, cos(_azimut) * sin(_elevation) * BIPOD_HEIGHT, cos(_elevation) * -BIPOD_HEIGHT]; - - // Bipods can be deployed on ground or objects. - _canDeployBipod = [_bipodTop, _bipodBottom, 0.05] call cse_fnc_getFirstObjectIntersection; - if (_canDeployBipod select 0) exitWith {}; - _canDeployBipod = [_bipodTop, _bipodBottom, 0.05] call cse_fnc_getFirstTerrainIntersection; - if (_canDeployBipod select 0) exitWith {}; -}; - -_canDeployBipod diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_canRestWeapon_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_canRestWeapon_WR.sqf deleted file mode 100644 index fa5c751d79..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_canRestWeapon_WR.sqf +++ /dev/null @@ -1,60 +0,0 @@ -/** - * fn_canRestWeapon_WR.sqf - * @Descr: Check if player can rest weapon. - * @Author: Glowbal, Ruthberg - * - * @Arguments: [] - * @Return: BOOL Can rest weapon. - * @PublicAPI: true - */ - - -#define ALLOWED_ANIMATION_STATES ["amovpercmstpsraswrfldnon","aadjpercmstpsraswrfldup","aadjpercmstpsraswrflddown","aadjpknlmstpsraswrfldup","amovpknlmstpsraswrfldnon","aadjpknlmstpsraswrflddown","aadjppnemstpsraswrfldup","amovppnemstpsraswrfldnon","aadjpknlmstpsraswrfldright","aadjpknlmstpsraswrfldleft","aadjpercmstpsraswrfldright","aadjpercmstpsraswrfldleft","aadjppnemstpsraswrfldright","aadjppnemstpsraswrfldleft","aadjppnemstpsraswrflddown"] -#define MAX_REST_DISTANCE_FORWARD 0.30 -#define MAX_REST_DISTANCE_LEFT 0.40 -#define MAX_REST_DISTANCE_RIGHT 0.30 -#define MAX_REST_DISTANCE_BOTTOM 0.50 -#define MAX_REST_ANGLE 45 - -private ["_weapon", "_canRestWeapon", "_playerAnimationState", "_weaponDirection", "_leftHandPosition", "_rightHandPosition"]; -_weapon = currentWeapon player; -_canRestWeapon = false; -_playerAnimationState = (([animationState player, "_"] call BIS_fnc_splitString) select 0); - -if (_weapon == primaryWeapon player && !(weaponLowered player) && _playerAnimationState in ALLOWED_ANIMATION_STATES) then { - _weaponDirection = player weaponDirection _weapon; - - _leftHandPosition = ATLtoASL (player modelToWorld (player selectionPosition "LeftHand")); - _rightHandPosition = ATLtoASL (player modelToWorld (player selectionPosition "RightHand")); - - // calculate direction for side checks. - _direction = (_weaponDirection select 0) atan2 (_weaponDirection select 1); - - // check left - if (lineIntersects [_rightHandPosition, _rightHandPosition vectorAdd [ - MAX_REST_DISTANCE_LEFT * sin ((_direction) - MAX_REST_ANGLE), - MAX_REST_DISTANCE_LEFT * cos ((_direction) - MAX_REST_ANGLE), - MAX_REST_DISTANCE_LEFT * 0.5 * (_weaponDirection select 2) - ]]) exitWith { _canRestWeapon = true }; - - // check right - if (lineIntersects [_rightHandPosition, _rightHandPosition vectorAdd [ - MAX_REST_DISTANCE_RIGHT * sin ((_direction) + MAX_REST_ANGLE), - MAX_REST_DISTANCE_RIGHT * cos ((_direction) + MAX_REST_ANGLE), - MAX_REST_DISTANCE_RIGHT * 0.5 * (_weaponDirection select 2) - ]]) exitWith { _canRestWeapon = true }; - - // check bottom (object) - if (lineIntersects [ - _rightHandPosition vectorDiff [0, 0, MAX_REST_DISTANCE_BOTTOM], - _leftHandPosition vectorDiff [0, 0, MAX_REST_DISTANCE_BOTTOM] vectorAdd (_weaponDirection vectorMultiply MAX_REST_DISTANCE_FORWARD)] - ) exitWith { _canRestWeapon = true }; - - // check bottom (ground) - if (terrainIntersectASL [ - _rightHandPosition vectorDiff [0, 0, MAX_REST_DISTANCE_BOTTOM], - _leftHandPosition vectorDiff [0, 0, MAX_REST_DISTANCE_BOTTOM] vectorAdd (_weaponDirection vectorMultiply MAX_REST_DISTANCE_FORWARD)] - ) exitWith { _canRestWeapon = true }; -}; - -_canRestWeapon diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_deployWeapon_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_deployWeapon_WR.sqf deleted file mode 100644 index f33aab832b..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_deployWeapon_WR.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_deployWeapon_WR.sqf - * @Descr: N/A - * @Author: Ruthberg - * - * @Arguments: [pivotPosition PositionASL] - * @Return: nil - * @PublicAPI: false - */ - - -#define DEPLOYED_RECOIL 0.5 -#define CAM_SHAKE [1.0, 0.5, 6.0] - -private ["_pivotPosition", "_playerAnimationState"]; -_pivotPosition = _this; - -player setVariable ["cse_isWeaponDeployed_WR", true, false]; - -playSound "cse_weaponrest_rest"; -addCamShake CAM_SHAKE; -["cse_bipodDeployed", true, "cse\cse_sys_equipment\weaponresting\data\icons\icon_bipod.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - -_playerAnimationState = animationState player; -player switchMove format["%1_cse_deployed", _playerAnimationState]; -player setUnitRecoilCoefficient DEPLOYED_RECOIL; - -// Watcher that undeploys if we rotate/move too much -[_pivotPosition] spawn { - private ["_pivotPosition", "_canDeployBipod"]; - _pivotPosition = _this select 0; - while {player getVariable ["cse_isWeaponDeployed_WR", false]} do { - _canDeployBipod = call cse_fnc_canDeployBipod_WR; - if !(_canDeployBipod select 0) exitWith {}; - if ((_canDeployBipod select 1) vectorDistance _pivotPosition > 0.30) exitWith {}; - sleep 0.1; - }; - call cse_fnc_undeployWeapon_WR; -}; diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_hasBipod_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_hasBipod_WR.sqf deleted file mode 100644 index 1244cad29e..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_hasBipod_WR.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * fn_hasBipod_WR.sqf - * @Descr: Check if the current weapon has a bipod. - * @Author: Glowbal, Ruthberg - * - * @Arguments: [] - * @Return: BOOL weapon has bipod. - * @PublicAPI: true - */ - - -_cseBipod = getNumber(configFile >> "CfgWeapons" >> primaryWeapon player >> "cse_bipod") == 1; -_weaponModeBipod = ["bipod", currentWeaponMode player, false] call BIS_fnc_inString || ["bp", currentWeaponMode player, false] call BIS_fnc_inString; - -// TODO: Also check for asdg and kao bipods - -_cseBipod || _weaponModeBipod diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_keyPressed_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_keyPressed_WR.sqf deleted file mode 100644 index f09559f08a..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_keyPressed_WR.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/** - * fn_keyPressed_WR.sqf - * @Descr: N/A - * @Author: Glowbal, Ruthberg - * - * @Arguments: [] - * @Return: nil - * @PublicAPI: false - */ - - -#define ALLOWED_ANIMATION_STATES ["amovpercmstpsraswrfldnon","aadjpercmstpsraswrfldup","aadjpercmstpsraswrflddown","aadjpknlmstpsraswrfldup","amovpknlmstpsraswrfldnon","aadjpknlmstpsraswrflddown","aadjppnemstpsraswrfldup","amovppnemstpsraswrfldnon","aadjpknlmstpsraswrfldright","aadjpknlmstpsraswrfldleft","aadjpercmstpsraswrfldright","aadjpercmstpsraswrfldleft","aadjppnemstpsraswrfldright","aadjppnemstpsraswrfldleft","aadjppnemstpsraswrflddown"] - -private ["_playerAnimationState", "_canDeployBipod"]; - -if (weaponLowered player) exitWith {}; -if (!([player] call cse_fnc_canInteract)) exitWith {}; -if (player getVariable ["cse_isWeaponDeployed_WR", false]) exitWith {}; - -_playerAnimationState = (([animationState player, "_"] call BIS_fnc_splitString) select 0); -if (!(_playerAnimationState in ALLOWED_ANIMATION_STATES)) exitWith {}; - -// not deployed -> try to deploy now -_canDeployBipod = call cse_fnc_canDeployBipod_WR; -if (_canDeployBipod select 0) then { - if (player getVariable ["cse_isWeaponRested_WR", false]) then { - call cse_fnc_unrestWeapon_WR; - }; - (_canDeployBipod select 1) call cse_fnc_deployWeapon_WR; -}; - -if (!(player getVariable ["cse_isWeaponRested_WR", false]) && !(player getVariable ["cse_isWeaponDeployed_WR", false])) then { - // not deployed and not rested -> try to rest now - if (call cse_fnc_canRestWeapon_WR) then { - call cse_fnc_restWeapon_WR; - }; -}; diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_restWeapon_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_restWeapon_WR.sqf deleted file mode 100644 index 153247076a..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_restWeapon_WR.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/** - * fn_restWeapon_WR.sqf - * @Descr: N/A - * @Author: Ruthberg - * - * @Arguments: [] - * @Return: nil - * @PublicAPI: false - */ - - -#define RESTED_RECOIL 0.8 -#define CAM_SHAKE [1.0, 0.5, 6.0] - -private ["_playerAnimationState"]; - - -player setVariable ["cse_isWeaponRested_WR", true, false]; - -playSound "cse_weaponrest_rest"; -addCamShake CAM_SHAKE; -["cse_bipodDeployed", true, "cse\cse_sys_equipment\weaponresting\data\icons\icon_bipod.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; // TODO: Make a separate icon for weapon resting - -_playerAnimationState = animationState player; -player switchMove format["%1_cse_rested", _playerAnimationState]; -player setUnitRecoilCoefficient RESTED_RECOIL; - -// Watcher that unrests if we rotate/move too much -[] spawn { - while {player getVariable ["cse_isWeaponRested_WR", false]} do { - if !(call cse_fnc_canRestWeapon_WR) exitWith {}; - sleep 0.1; - }; - call cse_fnc_unrestWeapon_WR; -}; diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_undeployWeapon_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_undeployWeapon_WR.sqf deleted file mode 100644 index b953d49792..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_undeployWeapon_WR.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_undeployWeapon_WR.sqf - * @Descr: N/A - * @Author: Ruthberg - * - * @Arguments: [] - * @Return: nil - * @PublicAPI: false - */ - - -private ["_playerAnimationState"]; - -_playerAnimationState = animationState player; -player switchMove (([_playerAnimationState, "_"] call BIS_fnc_splitString) select 0); -player setUnitRecoilCoefficient 1; - -player setVariable ["cse_isWeaponDeployed_WR", false, false]; - -playSound "cse_weaponrest_unrest"; -["cse_bipodDeployed", false, "cse\cse_sys_equipment\weaponresting\data\icons\icon_bipod.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_unrestWeapon_WR.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_unrestWeapon_WR.sqf deleted file mode 100644 index ca31eec04e..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/functions/fn_unrestWeapon_WR.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_unrestWeapon_WR.sqf - * @Descr: N/A - * @Author: Ruthberg - * - * @Arguments: [] - * @Return: nil - * @PublicAPI: false - */ - - -private ["_playerAnimationState"]; - -_playerAnimationState = animationState player; -player switchMove (([_playerAnimationState, "_"] call BIS_fnc_splitString) select 0); -player setUnitRecoilCoefficient 1; - -player setVariable ["cse_isWeaponRested_WR", false, false]; - -playSound "cse_weaponrest_unrest"; -["cse_bipodDeployed", false, "cse\cse_sys_equipment\weaponresting\data\icons\icon_bipod.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_equipment/weaponresting/init_sys_weaponrest.sqf b/TO_MERGE/cse/sys_equipment/weaponresting/init_sys_weaponrest.sqf deleted file mode 100644 index 7137b8cbd7..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponresting/init_sys_weaponrest.sqf +++ /dev/null @@ -1,9 +0,0 @@ -if (!hasInterface) exitwith {}; -waituntil{!isnil "cse_gui" && !isnil "cse_main"}; - -waitUntil {!isNull player}; - -["cse_isWeaponRested_WR" , false, false, "wr"] call cse_fnc_defineVariable; -["cse_isWeaponDeployed_WR", false, false, "wr"] call cse_fnc_defineVariable; - -cse_sys_weaponRest = true; diff --git a/TO_MERGE/cse/sys_equipment/weaponsafety/functions/fn_safetyOff_ws.sqf b/TO_MERGE/cse/sys_equipment/weaponsafety/functions/fn_safetyOff_ws.sqf deleted file mode 100644 index 4f81fe8626..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponsafety/functions/fn_safetyOff_ws.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/** - * fn_safetyOff_ws.sqf - * @Descr: Puts the given unit/weapon/muzzle combination on fire - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING] - * @Return: nil - * @PublicAPI: true - */ - - -private ["_unit", "_weapon", "_muzzle"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; - -_unit setVariable [format["CSE_WeaponSafety_%1_%2", _weapon, _muzzle], false, false]; -playSound "click"; diff --git a/TO_MERGE/cse/sys_equipment/weaponsafety/functions/fn_safetyOn_ws.sqf b/TO_MERGE/cse/sys_equipment/weaponsafety/functions/fn_safetyOn_ws.sqf deleted file mode 100644 index 3c6e094351..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponsafety/functions/fn_safetyOn_ws.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/** - * fn_safetyOn_ws.sqf - * @Descr: Puts the given unit/weapon/muzzle combination on safe - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING] - * @Return: nil - * @PublicAPI: true - */ - - -private ["_unit", "_weapon", "_muzzle", "_ID"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; - -_unit setVariable[format["CSE_WeaponSafety_%1_%2", _weapon, _muzzle], true, false]; -playSound "click"; - -_ID = format["CSE_WeaponSafety_ID_%1_%2_%3", _unit, _weapon, _muzzle]; - -[_ID, "onEachFrame", { - private ["_unit", "_weapon", "_muzzle", "_ID"]; - _unit = _this select 0; - _weapon = _this select 1; - _muzzle = _this select 2; - _ID = _this select 3; - - if (!(_unit getVariable[format["CSE_WeaponSafety_%1_%2", _weapon, _muzzle], false]) || !(_weapon in (weapons (vehicle _unit)))) exitWith { - [_ID, "onEachFrame"] call BIS_fnc_removeStackedEventHandler; - }; - - if (currentWeapon _unit == _weapon && currentMuzzle _unit == _muzzle) then { - (vehicle _unit) setWeaponReloadingTime [_unit, _muzzle, 1]; - }; - -}, [_unit, _weapon, _muzzle, _ID]] call BIS_fnc_addStackedEventHandler; diff --git a/TO_MERGE/cse/sys_equipment/weaponsafety/init_sys_weaponsafety.sqf b/TO_MERGE/cse/sys_equipment/weaponsafety/init_sys_weaponsafety.sqf deleted file mode 100644 index d2f27293f2..0000000000 --- a/TO_MERGE/cse/sys_equipment/weaponsafety/init_sys_weaponsafety.sqf +++ /dev/null @@ -1,20 +0,0 @@ -if (!hasInterface) exitwith {}; -waituntil{!isnil "cse_gui" && !isnil "cse_main"}; - -waitUntil {!isNull player}; - -["put_safety_on", (["put_safety_on","action",[126,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { - // TODO: Find a way to implement weapon safety without the slide of a pistol being locked back - if (currentWeapon player != "" && (currentWeapon player == primaryWeapon player || currentWeapon player == secondaryWeapon player)) then { - [player, currentWeapon player, currentMuzzle player] call cse_fnc_safetyOn_ws; - }; -}] call cse_fnc_addKeyBindingForAction_F; -["put_safety_on","action","Safety on","Put weapon on safe."] call cse_fnc_settingsDefineDetails_F; - -["put_safety_off", (["put_safety_off","action",[126,1,0,0]] call cse_fnc_getKeyBindingFromProfile_F), { - [player, currentWeapon player, currentMuzzle player] call cse_fnc_safetyOff_ws; -}] call cse_fnc_addKeyBindingForAction_F; -["put_safety_off","action","Safety off","Put weapon on fire."] call cse_fnc_settingsDefineDetails_F; - - -cse_sys_weaponSafety = true; diff --git a/TO_MERGE/cse/sys_field_rations/CfgFunctions.h b/TO_MERGE/cse/sys_field_rations/CfgFunctions.h deleted file mode 100644 index 9c8df9f7c8..0000000000 --- a/TO_MERGE/cse/sys_field_rations/CfgFunctions.h +++ /dev/null @@ -1,33 +0,0 @@ -class CfgFunctions { - class CSE { - class FieldRations { - file = "cse\cse_sys_field_rations\functions"; - class reduceLevels_FR { recompile = 1; }; - class updateFieldRations_FR { recompile = 1; }; - class updateUIStatus_FR { recompile = 1; }; - - class actionEat_FR { recompile = 1; }; - class canEat_FR { recompile = 1; }; - class getEatableValue_FR { recompile = 1; }; - class itemIsEatable_FR { recompile = 1; }; - class hasEatableItem_FR { recompile = 1; }; - class actionDrink_FR { recompile = 1; }; - class canDrink_FR { recompile = 1; }; - class getDrinkableValue_FR { recompile = 1; }; - class itemIsDrinkable_FR { recompile = 1; }; - class hasDrinkableItem_FR { recompile = 1; }; - - class canRefill_FR { recompile = 1; }; - class itemIsRefillable_FR { recompile = 1; }; - class hasRefillableItem_FR { recompile = 1; }; - class actionRefill_FR { recompile = 1; }; - - class actionRefillCamelbak_FR; - class hasCamelbak_FR; - class isCamelbak_FR; - class getMaxContent_Camelbak_FR; - class getInitialContent_Camelbak_FR; - class canRefillCamelbak_FR; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/CfgMagazines.h b/TO_MERGE/cse/sys_field_rations/CfgMagazines.h deleted file mode 100644 index 48bc356ee5..0000000000 --- a/TO_MERGE/cse/sys_field_rations/CfgMagazines.h +++ /dev/null @@ -1,412 +0,0 @@ -class CfgMagazines { - class Default; - class CA_magazine: Default {}; - class cse_backwardsCompatMagazineBase_FR: CA_magazine {}; - class cse_waterbottle: cse_backwardsCompatMagazineBase_FR { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Water Bottle"; - picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa"; - model = "\A3\Structures_F_EPA\Items\Food\BottlePlastic_V2_F.p3d"; - descriptionShort = "A waterbottle"; - mass = 5; - cse_isDrinkable = 3.75; - cse_onDrink = "cse_waterbottle_half"; - }; - class cse_canteen: cse_backwardsCompatMagazineBase_FR { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Canteen (Water)"; - picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa"; - model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d"; - descriptionShort = "A Canteen containing water"; - mass = 5; - cse_isDrinkable = 3.75; - cse_onDrink = "cse_canteen_half"; - }; - class cse_canteen_half: cse_canteen { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Canteen (Half)"; - picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa"; - model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d"; - descriptionShort = "A Canteen containing water (Half)"; - mass = 5; - cse_isDrinkable = 3.75; - cse_onDrink = "cse_canteen_empty"; - cse_onRefill = "cse_canteen"; - }; - class cse_canteen_empty: cse_canteen { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Canteen (Empty)"; - picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa"; - model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d"; - descriptionShort = "A Canteen containing water (Half)"; - mass = 5; - cse_isDrinkable = 0; - cse_onDrink = ""; - cse_onRefill = "cse_canteen"; - }; - - - class cse_waterbottle_half: cse_waterbottle { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Water Bottle 1/2"; - picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa"; - model ="\cse\cse_sys_field_rations\waterbottle.p3d"; - descriptionShort = "Half full waterbottle"; - cse_onDrink = "cse_waterbottle_empty"; - cse_isDrinkable = 3.75; - se_onRefill = "cse_waterbottle"; - }; - - - class cse_waterbottle_empty: cse_waterbottle { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Empty Water Bottle"; - picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle_empty.paa"; - model ="\cse\cse_sys_field_rations\waterbottle.p3d"; - descriptionShort = "An empty waterbottle"; - cse_isDrinkable = 0; - cse_onRefill = "cse_waterbottle"; - cse_onDrink = ""; - }; - - class cse_MRE_BASE: cse_waterbottle { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE.paa"; - model ="\cse\cse_sys_field_rations\mre_type1.p3d"; - descriptionShort = "A Meal Ready to Eat, unprepared"; - mass = 3; - cse_isEatable = 10; - cse_isDrinkable = 0; - }; - - class cse_MRE_LambC: cse_MRE_BASE { - displayName = "MRE Lamb Curry"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - model ="\cse\cse_sys_field_rations\mre_type1.p3d"; - descriptionShort = "An MRE containing Lamb Curry. Heat for best effect"; - }; - class cse_MRE_LambC_prepared: cse_MRE_LambC { - displayName = "MRE Lamb Curry (Heated)"; - }; - - class cse_MRE_Rice: cse_MRE_BASE { - displayName = "MRE Rice"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type2.paa"; - model ="\cse\cse_sys_field_rations\mre_type2.p3d"; - descriptionShort = "An MRE Containing Rice. Heat for best effect"; - }; - class cse_MRE_Rice_prepared: cse_MRE_Rice { - displayName = "MRE Rice (Heated)"; - }; - - class cse_MRE_CreamTomatoSoup: cse_MRE_BASE { - displayName = "MRE Cream Tomato Soup"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa"; - model ="\cse\cse_sys_field_rations\mre_type3.p3d"; - descriptionShort = "An MRE Containing Tomato Soup cream. Mix with water and heat for best effect"; - }; - class cse_MRE_CreamTomatoSoup_prepared: cse_MRE_CreamTomatoSoup { - displayName = "MRE Cream Tomato Soup (Heated)"; - }; - - class cse_MRE_CreamChickenSoup: cse_MRE_BASE { - displayName = "MRE Cream Chicken Soup"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa"; - model ="\cse\cse_sys_field_rations\mre_type3.p3d"; - descriptionShort = "An MRE Containing Chicken Soup. Mix with water and heat for best effect"; - }; - class cse_MRE_CreamChickenSoup_prepared: cse_MRE_CreamChickenSoup { - displayName = "MRE Cream Chicken Soup (Heated)"; - }; - - class cse_MRE_ChickenTikkaMassala: cse_MRE_BASE { - displayName = "MRE Chicken Tikka Massala"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type4.paa"; - model = "\cse\cse_sys_field_rations\mre_type4.p3d"; - descriptionShort = "An MRE with Chicken Tikka Massala. Heat for best effect"; - }; - class cse_MRE_ChickenTikkaMassala_prepared: cse_MRE_ChickenTikkaMassala { - displayName = "MRE Chicken Tikka Massala (Heated)"; - }; - - class cse_MRE_SteakVegetables: cse_MRE_BASE { - displayName = "MRE Steak & Vegetables"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type5.paa"; - model ="\cse\cse_sys_field_rations\mre_type5.p3d"; - descriptionShort = "An MRE Containing Steak & Vegetables. Heat for best effect"; - }; - class cse_MRE_SteakVegetables_prepared: cse_MRE_SteakVegetables { - displayName = "MRE Steak & Vegetables (Heated)"; - }; - - class cse_MRE_MeatballsPasta: cse_MRE_BASE { - displayName = "MRE Meatballs & Pasta"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa"; - model ="\cse\cse_sys_field_rations\mre_type6.p3d"; - descriptionShort = "An MRE Containing Meatballs & Pasta. Heat for best effect"; - }; - class cse_MRE_MeatballsPasta_prepared: cse_MRE_MeatballsPasta { - displayName = "MRE Meatballs & Pastas (Heated)"; - }; - - class cse_MRE_ChickenHerbDumplings: cse_MRE_BASE { - displayName = "MRE Chicken with Herb Dumplings"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa"; - model ="\cse\cse_sys_field_rations\mre_type6.p3d"; - descriptionShort = "An MRE Containing Chicken with Herb Dumplings. Heat for best effect"; - }; - class cse_MRE_ChickenHerbDumplings_prepared: cse_MRE_ChickenHerbDumplings { - displayName = "MRE Chicken with Herb Dumplings (Heated)"; - }; - - class cse_Humanitarian_Ration: cse_MRE_BASE { - displayName = "Humanitarian Ration"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_human.paa"; - model ="\cse\cse_sys_field_rations\mre_human.p3d"; - descriptionShort = "An Humanitarian Ration, for handing out to the local population"; - }; - - class cse_US_MRE_ChiliBeans: cse_MRE_BASE { - displayName = "Chile with Beans MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Chili with Beans"; - }; - class cse_US_MRE_ChiliBeans_prepared: cse_US_MRE_ChiliBeans { - displayName = "Chile with Beans MRE (Heated)"; - }; - class cse_US_MRE_ChickenFajita: cse_MRE_BASE { - displayName = "Chicken Fajita MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "A Chicken Fajita MRE"; - }; - class cse_US_MRE_ChickenFajita_prepared: cse_US_MRE_ChickenFajita { - displayName = "Chicken Fajita MRE (Heated)"; - }; - - class cse_US_MRE_ChickenNoodles: cse_MRE_BASE { - displayName = "Chicken with Noodles MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Chicken with Noodles"; - }; - class cse_US_MRE_ChickenNoodles_prepared: cse_US_MRE_ChickenNoodles { - displayName = "Chicken Fajita MRE(Heated)"; - }; - - class cse_US_MRE_PorkSausageGravy: cse_MRE_BASE { - displayName = "Pork Sausage with Gravy MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Pork Sausage with Gravy"; - }; - class cse_US_MRE_PorkSausageGravy_prepared: cse_US_MRE_PorkSausageGravy { - displayName = "Pork Sausage Gravy MRE(Heated)"; - }; - - class cse_US_MRE_MedChicen: cse_MRE_BASE { - displayName = "Mediterranean Chicken MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Mediterranean Chicken"; - }; - class cse_US_MRE_MedChicken_prepared: cse_US_MRE_MedChicen { - displayName = "Mediterranean Chicken MRE(Heated)"; - }; - - class cse_US_MRE_BeefRoastVeggies: cse_MRE_BASE { - displayName = "Beef Roast with Veggies MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Beef Roast with Veggies"; - }; - class cse_US_MRE_BeefRoastVeggies_prepared: cse_US_MRE_BeefRoastVeggies { - displayName = "Beef Roast Veg MRE(Heated)"; - }; - - class cse_US_MRE_BeefBrisket: cse_MRE_BASE { - displayName = "Beef Brisket MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Beef Brisket"; - }; - class cse_US_MRE_BeefBrisket_prepared: cse_US_MRE_BeefBrisket { - displayName = "Beef Brisket MRE(Heated)"; - }; - - class cse_US_MRE_MeatballMarinara: cse_MRE_BASE { - displayName = "Meatball Marinara MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Meatballs with Marinara Sauce"; - }; - class cse_US_MRE_MeatballMarinara_prepared: cse_US_MRE_MeatballMarinara { - displayName = "Meatball Marinara(Heated)"; - }; - - class cse_US_MRE_BeefStew: cse_MRE_BASE { - displayName = "Beef Stew MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Beef Stew"; - }; - class cse_US_MRE_BeefStew_prepared: cse_US_MRE_BeefStew { - displayName = "Beef Stew MRE(Heated)"; - }; - - class cse_US_MRE_ChiliMacaroni: cse_MRE_BASE { - displayName = "Chile Macaroni MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Chile Macaroni"; - }; - class cse_US_MRE_ChileMacaroni_prepared: cse_US_MRE_ChiliMacaroni { - displayName = "Chile Macaroni MRE(Heated)"; - }; - - class cse_US_MRE_VegetableLasagna: cse_MRE_BASE { - displayName = "Vegetable Lasagna MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Vegetable Lasagna"; - }; - class cse_US_MRE_VegetableLasagna_prepared: cse_US_MRE_VegetableLasagna { - displayName = "Vegetable Lasagna MRE(Heated)"; - }; - - class cse_US_MRE_SpicyPennePasta: cse_MRE_BASE { - displayName = "Spicy Penne Pasta MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Spicy Penne Pasta"; - }; - class cse_US_MRE_SpicyPennePasta_prepared: cse_US_MRE_SpicyPennePasta { - displayName = "Spicy Penne Pasta MRE(Heated)"; - }; - - class cse_US_MRE_CheeseTortellini: cse_MRE_BASE { - displayName = "Cheese Tortellini MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing CheeseTortellini"; - }; - class cse_US_MRE_CheeseTortellini_prepared: cse_US_MRE_CheeseTortellini { - displayName = "Cheese Tortellini MRE(Heated)"; - }; - - class cse_US_MRE_Ratatouille: cse_MRE_BASE { - displayName = "Ratatouille MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Ratatouille"; - }; - class cse_US_MRE_Ratatouille_prepared: cse_US_MRE_Ratatouille { - displayName = "Ratatouille MRE (Heated)"; - }; - - class cse_US_MRE_MexicanStyleChickenStew: cse_MRE_BASE { - displayName = "Mexican Style Chicken Stew MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Mexican Style Chicken Stew"; - }; - class cse_US_MRE_MexicanStyleChickenStew_prepared: cse_US_MRE_MexicanStyleChickenStew { - displayName = "Mexican Style Chicken Stew MRE (Heated)"; - }; - - class cse_US_MRE_PorkRib: cse_MRE_BASE { - displayName = "Pork Rib MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Pork Rib"; - }; - class cse_US_MRE_PorkRib_prepared: cse_US_MRE_PorkRib { - displayName = "Pork Rib MRE (Heated)"; - }; - - class cse_US_MRE_MapleSausage: cse_MRE_BASE { - displayName = "Maple Sausage MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Maple Sausage"; - }; - class cse_US_MRE_MapleSausage_prepared: cse_US_MRE_MapleSausage { - displayName = "Maple Sausage MRE (Heated)"; - }; - - class cse_US_MRE_BeefRavioli: cse_MRE_BASE { - displayName = "Beef Ravioli MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Beef Ravioli"; - }; - class cse_US_MRE_BeefRavioli_prepared: cse_US_MRE_BeefRavioli { - displayName = "Beef Ravioli MRE (Heated)"; - }; - - class cse_US_MRE_SloppyJoe: cse_MRE_BASE { - displayName = "Sloppy Joe MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing a Sloppy Joe"; - }; - class cse_US_MRE_SloppyJoe_prepared: cse_US_MRE_SloppyJoe { - displayName = "Sloppy Joe MRE (Heated)"; - }; - - class cse_US_MRE_SpaghettiMeatSauce: cse_MRE_BASE { - displayName = "Spaghetti with Meat Sauce MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Spaghetti with Meat Sauce"; - }; - class cse_US_MRE_SpaghettiMeatSauce_prepared: cse_US_MRE_SpaghettiMeatSauce { - displayName = "Spaghetti with Meat Sauce MRE (Heated)"; - }; - - class cse_US_MRE_LemonPepperTuna: cse_MRE_BASE { - displayName = " Lemon Pepper Tuna MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Lemon Pepper Tuna"; - }; - class cse_US_MRE_LemonPepperTuna_prepared: cse_US_MRE_LemonPepperTuna { - displayName = "Lemon Pepper Tuna MRE (Heated)"; - }; - - class cse_US_MRE_AsianBeefStrips: cse_MRE_BASE { - displayName = "Asian Beef Strips MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Asian Beef Strips"; - }; - class cse_US_MRE_AsianBeefStrips_prepared: cse_US_MRE_AsianBeefStrips { - displayName = "Asian Beef Strips MRE (Heated)"; - }; - - class cse_US_MRE_ChickenPestoPasta: cse_MRE_BASE { - displayName = "Chicken Pesto Pasta MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Chicken Pesto Pasta"; - }; - class cse_US_MRE_ChickenPestoPasta_prepared: cse_US_MRE_ChickenPestoPasta { - displayName = "Chicken Pesto Pasta (Heated)"; - }; - - class cse_US_MRE_SouthwestStyleBeefBlackBeans: cse_MRE_BASE { - displayName = "Southwest Style Beef & Black Beans"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Southwest Style Beef & Black Beans"; - }; - class cse_US_MRE_SouthwestStyleBeefBlackBeans_prepared: cse_US_MRE_SouthwestStyleBeefBlackBeans { - displayName = "Southwest Style Beef & Black Beans (Heated)"; - }; - - class cse_mre_c_ration: cse_MRE_BASE { - displayName = "C Ration"; - picture = "\cse\cse_sys_field_rations\data\pictures\gbl_mre_c_ration.paa"; - descriptionShort = "C ration"; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/CfgSounds.h b/TO_MERGE/cse/sys_field_rations/CfgSounds.h deleted file mode 100644 index 238bc7024a..0000000000 --- a/TO_MERGE/cse/sys_field_rations/CfgSounds.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgSounds { - class cse_drinking { - name = "cse_drinking"; - sound[] = {"cse\cse_sys_field_rations\sounds\drinkingSound.ogg","db-1",1.0}; - titles[] = {}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/CfgVehicles.h b/TO_MERGE/cse/sys_field_rations/CfgVehicles.h deleted file mode 100644 index b0f1b82c9f..0000000000 --- a/TO_MERGE/cse/sys_field_rations/CfgVehicles.h +++ /dev/null @@ -1,201 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits {}; - }; - class cse_sys_field_rations: Module_F { - scope = 2; - displayName = "Field Rations [CSE]"; - icon = "\cse\cse_main\data\cse_basic_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class timeWithoutWater { - displayName = "Time without water"; - description = "How long should a unit be able to go without water"; - typeName = "NUMBER"; - class values { - class Twodays {name="48 hours"; value= 0.5; }; - class 32Hours {name="32 hours"; value= 0.75; }; - class oneDay {name="24 hours"; value=1; default=1; }; - class halfDay {name="12 hours"; value=2; }; - class quarterDay {name="6 hours"; value=4; }; - class eightDay {name="3 hours"; value=8; }; - class oneHour {name="1 hour"; value=24; }; - }; - }; - class timeWithoutFood { - displayName = "Time without food"; - description = "How long should a unit be able to go without food"; - typeName = "NUMBER"; - class values { - class Twodays {name="48 hours"; value= 0.5; }; - class 32Hours {name="32 hours"; value= 0.75; default=1;}; - class oneDay {name="24 hours"; value=1; }; - class halfDay {name="12 hours"; value=2; }; - class quarterDay {name="6 hours"; value=4; }; - class eightDay {name="3 hours"; value=8; }; - class oneHour {name="1 hour"; value=24; }; - }; - }; - }; - }; - - class NATO_Box_Base; - class cse_field_rations_all : NATO_Box_Base { - scope = 2; - accuracy = 1000; - displayName = "Field Rations [All] (CSE)"; - model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; - author = "Combat Space Enhancement"; - class TransportWeapons { - class cse_waterbottle { - weapon = "cse_waterbottle"; - count = 20; - }; - class _xx_cse_canteen { - weapon = "cse_canteen"; - count = 20; - }; - class _xx_cse_MRE_LambC { - weapon = "cse_MRE_LambC"; - count = 10; - }; - class _xx_cse_MRE_Rice { - weapon = "cse_MRE_Rice"; - count = 10; - }; - class _xx_cse_MRE_CreamTomatoSoup { - weapon = "cse_MRE_CreamTomatoSoup"; - count = 10; - }; - class _xx_cse_MRE_CreamChickenSoup { - weapon = "cse_MRE_CreamChickenSoup"; - count = 10; - }; - class _xx_cse_MRE_ChickenTikkaMassala { - weapon = "cse_MRE_ChickenTikkaMassala"; - count = 10; - }; - class _xx_cse_MRE_SteakVegetables { - weapon = "cse_MRE_SteakVegetables"; - count = 10; - }; - class _xx_cse_MRE_MeatballsPasta { - weapon = "cse_MRE_MeatballsPasta"; - count = 10; - }; - class _xx_cse_MRE_ChickenHerbDumplings { - weapon = "cse_MRE_ChickenHerbDumplings"; - count = 10; - }; - class _xx_cse_Humanitarian_Ration { - weapon = "cse_Humanitarian_Ration"; - count = 10; - }; - class _xx_cse_US_MRE_ChiliBeans { - weapon = "cse_US_MRE_ChiliBeans"; - count = 10; - }; - class _xx_cse_US_MRE_ChickenFajita { - weapon = "cse_US_MRE_ChickenFajita"; - count = 10; - }; - class _xx_cse_US_MRE_ChickenNoodles { - weapon = "cse_US_MRE_ChickenNoodles"; - count = 10; - }; - class _xx_cse_US_MRE_PorkSausageGravy { - weapon = "cse_US_MRE_PorkSausageGravy"; - count = 10; - }; - class _xx_cse_US_MRE_MedChicen { - weapon = "cse_US_MRE_MedChicen"; - count = 10; - }; - class _xx_cse_US_MRE_BeefRoastVeggies { - weapon = "cse_US_MRE_BeefRoastVeggies"; - count = 10; - }; - class _xx_cse_US_MRE_BeefBrisket { - weapon = "cse_US_MRE_BeefBrisket"; - count = 10; - }; - class _xx_cse_US_MRE_MeatballMarinara { - weapon = "cse_US_MRE_MeatballMarinara"; - count = 10; - }; - class _xx_cse_US_MRE_BeefStew { - weapon = "cse_US_MRE_BeefStew"; - count = 10; - }; - class _xx_cse_US_MRE_ChiliMacaroni { - weapon = "cse_US_MRE_ChiliMacaroni"; - count = 10; - }; - class _xx_cse_US_MRE_VegetableLasagna { - weapon = "cse_US_MRE_VegetableLasagna"; - count = 10; - }; - class _xx_cse_US_MRE_SpicyPennePasta { - weapon = "cse_US_MRE_SpicyPennePasta"; - count = 10; - }; - class _xx_cse_US_MRE_CheeseTortellini { - weapon = "cse_US_MRE_CheeseTortellini"; - count = 10; - }; - class _xx_cse_US_MRE_Ratatouille { - weapon = "cse_US_MRE_Ratatouille"; - count = 10; - }; - class _xx_cse_US_MRE_MexicanStyleChickenStew { - weapon = "cse_US_MRE_MexicanStyleChickenStew"; - count = 10; - }; - class _xx_cse_US_MRE_PorkRib { - weapon = "cse_US_MRE_PorkRib"; - count = 10; - }; - class _xx_cse_US_MRE_MapleSausage { - weapon = "cse_US_MRE_MapleSausage"; - count = 10; - }; - class _xx_cse_US_MRE_BeefRavioli { - weapon = "cse_US_MRE_BeefRavioli"; - count = 10; - }; - class _xx_cse_US_MRE_SloppyJoe { - weapon = "cse_US_MRE_SloppyJoe"; - count = 10; - }; - class _xx_cse_US_MRE_SpaghettiMeatSauce { - weapon = "cse_US_MRE_SpaghettiMeatSauce"; - count = 10; - }; - class _xx_cse_US_MRE_LemonPepperTuna { - weapon = "cse_US_MRE_LemonPepperTuna"; - count = 10; - }; - class _xx_cse_US_MRE_AsianBeefStrips { - weapon = "cse_US_MRE_AsianBeefStrips"; - count = 10; - }; - class _xx_cse_US_MRE_ChickenPestoPasta { - weapon = "cse_US_MRE_ChickenPestoPasta"; - count = 10; - }; - class _xx_cse_US_MRE_SouthwestStyleBeefBlackBeans { - weapon = "cse_US_MRE_SouthwestStyleBeefBlackBeans"; - count = 10; - }; - class _xx_cse_mre_c_ration { - weapon = "cse_mre_c_ration"; - count = 10; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/CfgWeapons.h b/TO_MERGE/cse/sys_field_rations/CfgWeapons.h deleted file mode 100644 index 06efed1750..0000000000 --- a/TO_MERGE/cse/sys_field_rations/CfgWeapons.h +++ /dev/null @@ -1,431 +0,0 @@ -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class cse_waterbottle: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Water Bottle"; - picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa"; - model = "\A3\Structures_F_EPA\Items\Food\BottlePlastic_V2_F.p3d"; - descriptionShort = "A waterbottle"; - class ItemInfo: InventoryItem_Base_F - { - mass= 5; - type= 201; - }; - cse_isDrinkable = 3.75; - cse_onDrink = "cse_waterbottle_half"; - }; - class cse_canteen: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Canteen (Water)"; - picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa"; - model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d"; - descriptionShort = "A Canteen containing water"; - class ItemInfo: InventoryItem_Base_F - { - mass= 5; - type= 201; - }; - cse_isDrinkable = 3.75; - cse_onDrink = "cse_canteen_half"; - }; - class cse_canteen_half: cse_canteen { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Canteen (Half)"; - picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa"; - model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d"; - descriptionShort = "A Canteen containing water (Half)"; - class ItemInfo: InventoryItem_Base_F - { - mass= 5; - type= 201; - }; - cse_isDrinkable = 3.75; - cse_onDrink = "cse_canteen_empty"; - cse_onRefill = "cse_canteen"; - }; - class cse_canteen_empty: cse_canteen { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Canteen (Empty)"; - picture = "\cse\cse_sys_field_rations\data\pictures\image_canteen.paa"; - model = "\A3\Structures_F_EPA\Items\Food\Canteen_F.p3d"; - descriptionShort = "A Canteen containing water (Half)"; - class ItemInfo: InventoryItem_Base_F - { - mass= 5; - type= 201; - }; - cse_isDrinkable = 0; - cse_onDrink = ""; - cse_onRefill = "cse_canteen"; - }; - - - class cse_waterbottle_half: cse_waterbottle { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Water Bottle 1/2"; - picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle.paa"; - model ="\cse\cse_sys_field_rations\waterbottle.p3d"; - descriptionShort = "Half full waterbottle"; - cse_onDrink = "cse_waterbottle_empty"; - cse_isDrinkable = 3.75; - se_onRefill = "cse_waterbottle"; - }; - - - class cse_waterbottle_empty: cse_waterbottle { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Empty Water Bottle"; - picture = "\cse\cse_sys_field_rations\data\pictures\waterbottle_empty.paa"; - model ="\cse\cse_sys_field_rations\waterbottle.p3d"; - descriptionShort = "An empty waterbottle"; - cse_isDrinkable = 0; - cse_onRefill = "cse_waterbottle"; - cse_onDrink = ""; - }; - - class cse_MRE_BASE: cse_waterbottle { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE.paa"; - model ="\cse\cse_sys_field_rations\mre_type1.p3d"; - descriptionShort = "A Meal Ready to Eat, unprepared"; - class ItemInfo: InventoryItem_Base_F - { - mass= 2; - type= 201; - }; - cse_isEatable = 10; - cse_isDrinkable = 0; - }; - - class cse_MRE_LambC: cse_MRE_BASE { - displayName = "MRE Lamb Curry"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - model ="\cse\cse_sys_field_rations\mre_type1.p3d"; - descriptionShort = "An MRE containing Lamb Curry. Heat for best effect"; - }; - class cse_MRE_LambC_prepared: cse_MRE_LambC { - displayName = "MRE Lamb Curry (Heated)"; - }; - - class cse_MRE_Rice: cse_MRE_BASE { - displayName = "MRE Rice"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type2.paa"; - model ="\cse\cse_sys_field_rations\mre_type2.p3d"; - descriptionShort = "An MRE Containing Rice. Heat for best effect"; - }; - class cse_MRE_Rice_prepared: cse_MRE_Rice { - displayName = "MRE Rice (Heated)"; - }; - - class cse_MRE_CreamTomatoSoup: cse_MRE_BASE { - displayName = "MRE Cream Tomato Soup"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa"; - model ="\cse\cse_sys_field_rations\mre_type3.p3d"; - descriptionShort = "An MRE Containing Tomato Soup cream. Mix with water and heat for best effect"; - }; - class cse_MRE_CreamTomatoSoup_prepared: cse_MRE_CreamTomatoSoup { - displayName = "MRE Cream Tomato Soup (Heated)"; - }; - - class cse_MRE_CreamChickenSoup: cse_MRE_BASE { - displayName = "MRE Cream Chicken Soup"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type3.paa"; - model ="\cse\cse_sys_field_rations\mre_type3.p3d"; - descriptionShort = "An MRE Containing Chicken Soup. Mix with water and heat for best effect"; - }; - class cse_MRE_CreamChickenSoup_prepared: cse_MRE_CreamChickenSoup { - displayName = "MRE Cream Chicken Soup (Heated)"; - }; - - class cse_MRE_ChickenTikkaMassala: cse_MRE_BASE { - displayName = "MRE Chicken Tikka Massala"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type4.paa"; - model = "\cse\cse_sys_field_rations\mre_type4.p3d"; - descriptionShort = "An MRE with Chicken Tikka Massala. Heat for best effect"; - }; - class cse_MRE_ChickenTikkaMassala_prepared: cse_MRE_ChickenTikkaMassala { - displayName = "MRE Chicken Tikka Massala (Heated)"; - }; - - class cse_MRE_SteakVegetables: cse_MRE_BASE { - displayName = "MRE Steak & Vegetables"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type5.paa"; - model ="\cse\cse_sys_field_rations\mre_type5.p3d"; - descriptionShort = "An MRE Containing Steak & Vegetables. Heat for best effect"; - }; - class cse_MRE_SteakVegetables_prepared: cse_MRE_SteakVegetables { - displayName = "MRE Steak & Vegetables (Heated)"; - }; - - class cse_MRE_MeatballsPasta: cse_MRE_BASE { - displayName = "MRE Meatballs & Pasta"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa"; - model ="\cse\cse_sys_field_rations\mre_type6.p3d"; - descriptionShort = "An MRE Containing Meatballs & Pasta. Heat for best effect"; - }; - class cse_MRE_MeatballsPasta_prepared: cse_MRE_MeatballsPasta { - displayName = "MRE Meatballs & Pastas (Heated)"; - }; - - class cse_MRE_ChickenHerbDumplings: cse_MRE_BASE { - displayName = "MRE Chicken with Herb Dumplings"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type6.paa"; - model ="\cse\cse_sys_field_rations\mre_type6.p3d"; - descriptionShort = "An MRE Containing Chicken with Herb Dumplings. Heat for best effect"; - }; - class cse_MRE_ChickenHerbDumplings_prepared: cse_MRE_ChickenHerbDumplings { - displayName = "MRE Chicken with Herb Dumplings (Heated)"; - }; - - class cse_Humanitarian_Ration: cse_MRE_BASE { - displayName = "Humanitarian Ration"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_human.paa"; - model ="\cse\cse_sys_field_rations\mre_human.p3d"; - descriptionShort = "An Humanitarian Ration, for handing out to the local population"; - }; - - class cse_US_MRE_ChiliBeans: cse_MRE_BASE { - displayName = "Chile with Beans MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Chili with Beans"; - }; - class cse_US_MRE_ChiliBeans_prepared: cse_US_MRE_ChiliBeans { - displayName = "Chile with Beans MRE (Heated)"; - }; - class cse_US_MRE_ChickenFajita: cse_MRE_BASE { - displayName = "Chicken Fajita MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "A Chicken Fajita MRE"; - }; - class cse_US_MRE_ChickenFajita_prepared: cse_US_MRE_ChickenFajita { - displayName = "Chicken Fajita MRE (Heated)"; - }; - - class cse_US_MRE_ChickenNoodles: cse_MRE_BASE { - displayName = "Chicken with Noodles MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Chicken with Noodles"; - }; - class cse_US_MRE_ChickenNoodles_prepared: cse_US_MRE_ChickenNoodles { - displayName = "Chicken Fajita MRE(Heated)"; - }; - - class cse_US_MRE_PorkSausageGravy: cse_MRE_BASE { - displayName = "Pork Sausage with Gravy MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Pork Sausage with Gravy"; - }; - class cse_US_MRE_PorkSausageGravy_prepared: cse_US_MRE_PorkSausageGravy { - displayName = "Pork Sausage Gravy MRE(Heated)"; - }; - - class cse_US_MRE_MedChicen: cse_MRE_BASE { - displayName = "Mediterranean Chicken MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Mediterranean Chicken"; - }; - class cse_US_MRE_MedChicken_prepared: cse_US_MRE_MedChicen { - displayName = "Mediterranean Chicken MRE(Heated)"; - }; - - class cse_US_MRE_BeefRoastVeggies: cse_MRE_BASE { - displayName = "Beef Roast with Veggies MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Beef Roast with Veggies"; - }; - class cse_US_MRE_BeefRoastVeggies_prepared: cse_US_MRE_BeefRoastVeggies { - displayName = "Beef Roast Veg MRE(Heated)"; - }; - - class cse_US_MRE_BeefBrisket: cse_MRE_BASE { - displayName = "Beef Brisket MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Beef Brisket"; - }; - class cse_US_MRE_BeefBrisket_prepared: cse_US_MRE_BeefBrisket { - displayName = "Beef Brisket MRE(Heated)"; - }; - - class cse_US_MRE_MeatballMarinara: cse_MRE_BASE { - displayName = "Meatball Marinara MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Meatballs with Marinara Sauce"; - }; - class cse_US_MRE_MeatballMarinara_prepared: cse_US_MRE_MeatballMarinara { - displayName = "Meatball Marinara(Heated)"; - }; - - class cse_US_MRE_BeefStew: cse_MRE_BASE { - displayName = "Beef Stew MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Beef Stew"; - }; - class cse_US_MRE_BeefStew_prepared: cse_US_MRE_BeefStew { - displayName = "Beef Stew MRE(Heated)"; - }; - - class cse_US_MRE_ChiliMacaroni: cse_MRE_BASE { - displayName = "Chile Macaroni MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Chile Macaroni"; - }; - class cse_US_MRE_ChileMacaroni_prepared: cse_US_MRE_ChiliMacaroni { - displayName = "Chile Macaroni MRE(Heated)"; - }; - - class cse_US_MRE_VegetableLasagna: cse_MRE_BASE { - displayName = "Vegetable Lasagna MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Vegetable Lasagna"; - }; - class cse_US_MRE_VegetableLasagna_prepared: cse_US_MRE_VegetableLasagna { - displayName = "Vegetable Lasagna MRE(Heated)"; - }; - - class cse_US_MRE_SpicyPennePasta: cse_MRE_BASE { - displayName = "Spicy Penne Pasta MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Spicy Penne Pasta"; - }; - class cse_US_MRE_SpicyPennePasta_prepared: cse_US_MRE_SpicyPennePasta { - displayName = "Spicy Penne Pasta MRE(Heated)"; - }; - - class cse_US_MRE_CheeseTortellini: cse_MRE_BASE { - displayName = "Cheese Tortellini MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing CheeseTortellini"; - }; - class cse_US_MRE_CheeseTortellini_prepared: cse_US_MRE_CheeseTortellini { - displayName = "Cheese Tortellini MRE(Heated)"; - }; - - class cse_US_MRE_Ratatouille: cse_MRE_BASE { - displayName = "Ratatouille MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Ratatouille"; - }; - class cse_US_MRE_Ratatouille_prepared: cse_US_MRE_Ratatouille { - displayName = "Ratatouille MRE (Heated)"; - }; - - class cse_US_MRE_MexicanStyleChickenStew: cse_MRE_BASE { - displayName = "Mexican Style Chicken Stew MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE containing Mexican Style Chicken Stew"; - }; - class cse_US_MRE_MexicanStyleChickenStew_prepared: cse_US_MRE_MexicanStyleChickenStew { - displayName = "Mexican Style Chicken Stew MRE (Heated)"; - }; - - class cse_US_MRE_PorkRib: cse_MRE_BASE { - displayName = "Pork Rib MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Pork Rib"; - }; - class cse_US_MRE_PorkRib_prepared: cse_US_MRE_PorkRib { - displayName = "Pork Rib MRE (Heated)"; - }; - - class cse_US_MRE_MapleSausage: cse_MRE_BASE { - displayName = "Maple Sausage MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Maple Sausage"; - }; - class cse_US_MRE_MapleSausage_prepared: cse_US_MRE_MapleSausage { - displayName = "Maple Sausage MRE (Heated)"; - }; - - class cse_US_MRE_BeefRavioli: cse_MRE_BASE { - displayName = "Beef Ravioli MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Beef Ravioli"; - }; - class cse_US_MRE_BeefRavioli_prepared: cse_US_MRE_BeefRavioli { - displayName = "Beef Ravioli MRE (Heated)"; - }; - - class cse_US_MRE_SloppyJoe: cse_MRE_BASE { - displayName = "Sloppy Joe MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing a Sloppy Joe"; - }; - class cse_US_MRE_SloppyJoe_prepared: cse_US_MRE_SloppyJoe { - displayName = "Sloppy Joe MRE (Heated)"; - }; - - class cse_US_MRE_SpaghettiMeatSauce: cse_MRE_BASE { - displayName = "Spaghetti with Meat Sauce MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Spaghetti with Meat Sauce"; - }; - class cse_US_MRE_SpaghettiMeatSauce_prepared: cse_US_MRE_SpaghettiMeatSauce { - displayName = "Spaghetti with Meat Sauce MRE (Heated)"; - }; - - class cse_US_MRE_LemonPepperTuna: cse_MRE_BASE { - displayName = " Lemon Pepper Tuna MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Lemon Pepper Tuna"; - }; - class cse_US_MRE_LemonPepperTuna_prepared: cse_US_MRE_LemonPepperTuna { - displayName = "Lemon Pepper Tuna MRE (Heated)"; - }; - - class cse_US_MRE_AsianBeefStrips: cse_MRE_BASE { - displayName = "Asian Beef Strips MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Asian Beef Strips"; - }; - class cse_US_MRE_AsianBeefStrips_prepared: cse_US_MRE_AsianBeefStrips { - displayName = "Asian Beef Strips MRE (Heated)"; - }; - - class cse_US_MRE_ChickenPestoPasta: cse_MRE_BASE { - displayName = "Chicken Pesto Pasta MRE"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Chicken Pesto Pasta"; - }; - class cse_US_MRE_ChickenPestoPasta_prepared: cse_US_MRE_ChickenPestoPasta { - displayName = "Chicken Pesto Pasta (Heated)"; - }; - - class cse_US_MRE_SouthwestStyleBeefBlackBeans: cse_MRE_BASE { - displayName = "Southwest Style Beef & Black Beans"; - picture = "\cse\cse_sys_field_rations\data\pictures\MRE_type1.paa"; - descriptionShort = "An MRE Containing Southwest Style Beef & Black Beans"; - }; - class cse_US_MRE_SouthwestStyleBeefBlackBeans_prepared: cse_US_MRE_SouthwestStyleBeefBlackBeans { - displayName = "Southwest Style Beef & Black Beans (Heated)"; - }; - - class cse_mre_c_ration: cse_MRE_BASE { - displayName = "C Ration"; - picture = "\cse\cse_sys_field_rations\data\pictures\gbl_mre_c_ration.paa"; - descriptionShort = "C ration"; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_field_rations/Combat_Space_Enhancement.h deleted file mode 100644 index 674ed4195d..0000000000 --- a/TO_MERGE/cse/sys_field_rations/Combat_Space_Enhancement.h +++ /dev/null @@ -1,8 +0,0 @@ -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_field_rations { - init = "call compile preprocessFile 'cse\cse_sys_field_rations\init_sys_field_rations.sqf';"; - name = "Field Rations"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/GUI.h b/TO_MERGE/cse/sys_field_rations/GUI.h deleted file mode 100644 index fa22af3773..0000000000 --- a/TO_MERGE/cse/sys_field_rations/GUI.h +++ /dev/null @@ -1,3 +0,0 @@ - - #include "gui\define.h" - #include "gui\dialog_menu.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/config.cpp b/TO_MERGE/cse/sys_field_rations/config.cpp deleted file mode 100644 index 3feec5fde7..0000000000 --- a/TO_MERGE/cse/sys_field_rations/config.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#define _ARMA_ -class CfgPatches { - class cse_sys_field_rations { - units[] = {"cse_field_rations_all"}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui", "cse_main", "cse_f_eh", "cse_f_configuration", "cse_f_modules", "cse_f_states"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -class CfgAddons { - class PreloadAddons { - class cse_sys_field_rations { - list[] = {"cse_sys_field_rations"}; - }; - }; -}; - -#include "CfgFunctions.h" -#include "Combat_Space_Enhancement.h" -#include "CfgVehicles.h" - -// Here for backwards compatabilty. -// #include "CfgMagazines.h" - -#include "CfgWeapons.h" -#include "CfgSounds.h" -#include "GUI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/data/Humanitarian_Ration.paa b/TO_MERGE/cse/sys_field_rations/data/Humanitarian_Ration.paa deleted file mode 100644 index 349a133b9a..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/Humanitarian_Ration.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/MRE_nohq.paa b/TO_MERGE/cse/sys_field_rations/data/MRE_nohq.paa deleted file mode 100644 index 6972636a3d..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/MRE_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/MRE_smdi.paa b/TO_MERGE/cse/sys_field_rations/data/MRE_smdi.paa deleted file mode 100644 index f450605958..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/MRE_smdi.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/Thumbs.db b/TO_MERGE/cse/sys_field_rations/data/Thumbs.db deleted file mode 100644 index ae0aed9c59..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/Thumbs.db and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/hud_camelbak.paa b/TO_MERGE/cse/sys_field_rations/data/hud_camelbak.paa deleted file mode 100644 index 35dfe4b273..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/hud_camelbak.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/hud_drinkstatus.paa b/TO_MERGE/cse/sys_field_rations/data/hud_drinkstatus.paa deleted file mode 100644 index 99f0195871..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/hud_drinkstatus.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/hud_drinkstatus2.paa b/TO_MERGE/cse/sys_field_rations/data/hud_drinkstatus2.paa deleted file mode 100644 index 9a6801c1da..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/hud_drinkstatus2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/hud_foodstatus.paa b/TO_MERGE/cse/sys_field_rations/data/hud_foodstatus.paa deleted file mode 100644 index a7263b22af..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/hud_foodstatus.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/hud_foodstatus2.paa b/TO_MERGE/cse/sys_field_rations/data/hud_foodstatus2.paa deleted file mode 100644 index 1c23460c77..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/hud_foodstatus2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/human.rvmat b/TO_MERGE/cse/sys_field_rations/data/human.rvmat deleted file mode 100644 index fde5e41869..0000000000 --- a/TO_MERGE/cse/sys_field_rations/data/human.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.5,0.5,0.5,1}; -forcedDiffuse[]={0.5,0.5,0.5,0}; -emmisive[]={0,0,0,1}; -specular[]={0.30000001,0.30000001,0.30000001,0}; -specularPower=17; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_field_rations\data\MRE_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_field_rations\data\MRE_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_field_rations/data/human_co.paa b/TO_MERGE/cse/sys_field_rations/data/human_co.paa deleted file mode 100644 index e713006bb3..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/human_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/igui_background_dialog.paa b/TO_MERGE/cse/sys_field_rations/data/igui_background_dialog.paa deleted file mode 100644 index ed3ef5d002..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/igui_background_dialog.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/mre-type125_co.paa b/TO_MERGE/cse/sys_field_rations/data/mre-type125_co.paa deleted file mode 100644 index 27c94eaf2b..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/mre-type125_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/mre-type3_co.paa b/TO_MERGE/cse/sys_field_rations/data/mre-type3_co.paa deleted file mode 100644 index 367f7e7c9e..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/mre-type3_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE.paa deleted file mode 100644 index 5a941e7edf..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Heaterpackage.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Heaterpackage.paa deleted file mode 100644 index 5083552df5..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Heaterpackage.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type1.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type1.paa deleted file mode 100644 index ec397cea4c..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type1.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type2.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type2.paa deleted file mode 100644 index 3c75c24f2c..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type3.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type3.paa deleted file mode 100644 index 5a941e7edf..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type3.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type4.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type4.paa deleted file mode 100644 index f90514a1c1..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type4.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type5.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type5.paa deleted file mode 100644 index 08fde02f9a..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type5.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type6.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type6.paa deleted file mode 100644 index 267b8a9b6e..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_Type6.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_human.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_human.paa deleted file mode 100644 index 349a133b9a..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/MRE_human.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/britisharmy_waterbottle.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/britisharmy_waterbottle.paa deleted file mode 100644 index f7c940b823..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/britisharmy_waterbottle.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/camelbak.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/camelbak.paa deleted file mode 100644 index fa9d24b7c9..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/camelbak.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/camelbak_empty.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/camelbak_empty.paa deleted file mode 100644 index 40ad5e02a8..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/camelbak_empty.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/gbl_mre_c_ration.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/gbl_mre_c_ration.paa deleted file mode 100644 index c2ed77897e..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/gbl_mre_c_ration.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/image_canteen.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/image_canteen.paa deleted file mode 100644 index f9b6ad6887..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/image_canteen.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/rationpack.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/rationpack.paa deleted file mode 100644 index f90514a1c1..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/rationpack.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/waterbottle.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/waterbottle.paa deleted file mode 100644 index d9f49d2596..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/waterbottle.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/pictures/waterbottle_empty.paa b/TO_MERGE/cse/sys_field_rations/data/pictures/waterbottle_empty.paa deleted file mode 100644 index ff29021140..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/pictures/waterbottle_empty.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/type46.rvmat b/TO_MERGE/cse/sys_field_rations/data/type46.rvmat deleted file mode 100644 index fde5e41869..0000000000 --- a/TO_MERGE/cse/sys_field_rations/data/type46.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.5,0.5,0.5,1}; -forcedDiffuse[]={0.5,0.5,0.5,0}; -emmisive[]={0,0,0,1}; -specular[]={0.30000001,0.30000001,0.30000001,0}; -specularPower=17; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_field_rations\data\MRE_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_field_rations\data\MRE_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_field_rations/data/type46_nohq.paa b/TO_MERGE/cse/sys_field_rations/data/type46_nohq.paa deleted file mode 100644 index ab85da35e9..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/type46_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/type4_co.paa b/TO_MERGE/cse/sys_field_rations/data/type4_co.paa deleted file mode 100644 index 34a674c4c0..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/type4_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/type6_co.paa b/TO_MERGE/cse/sys_field_rations/data/type6_co.paa deleted file mode 100644 index 87e97ea62f..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/type6_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/uk-bottle.paa b/TO_MERGE/cse/sys_field_rations/data/uk-bottle.paa deleted file mode 100644 index ea80e5d567..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/uk-bottle.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/waterbottle.paa b/TO_MERGE/cse/sys_field_rations/data/waterbottle.paa deleted file mode 100644 index 591f414142..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/waterbottle.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/data/waterbottle_2.paa b/TO_MERGE/cse/sys_field_rations/data/waterbottle_2.paa deleted file mode 100644 index ca04325513..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/data/waterbottle_2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_actionDrink_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_actionDrink_FR.sqf deleted file mode 100644 index ea6caaa728..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_actionDrink_FR.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_actionDrink_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_item", "_time", "_res"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_param; -_item = [_this, 1, "", [""]] call BIS_fnc_param; -_time = [_this, 2, 0, [0]] call BIS_fnc_param; - - -["cse_fieldRations_actionConsuming", true, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - -CSE_ORIGINAL_POSITION_PLAYER = getPos _unit; -playsound "cse_drinking"; -_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar; - -["cse_fieldRations_actionConsuming", false, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - - -if ([_item] call cse_fnc_itemIsDrinkable_FR && _res) then { - _unit removeItem _item; - _unit setvariable ["cse_drink_status_fr", ((_unit getvariable ["cse_drink_status_fr", 100]) + ([_item] call cse_fnc_getDrinkableValue_FR)) min 100]; - - _onDrink = getText(ConfigFile >> "CfgWeapons" >> _item >> "cse_onDrink"); - if (_onDrink != "") then { - _unit addItem _onDrink; - }; - - [format["ACTION DRINK: %1 FOUND %2",_unit, _item]] call cse_fnc_debug; - if ((_unit getvariable ["cse_drink_status_fr", 100]) >= 100) then { - hint "You feel stuffed.."; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_actionEat_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_actionEat_FR.sqf deleted file mode 100644 index b568d6bac3..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_actionEat_FR.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/** - * fn_actionEat_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_item", "_time", "_res"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_param; -_item = [_this, 1, "", [""]] call BIS_fnc_param; -_time = [_this, 2, 0, [0]] call BIS_fnc_param; - - -["cse_fieldRations_actionConsuming", true, CSE_ICON_PATH + "icon_survival.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - -CSE_ORIGINAL_POSITION_PLAYER = getPos _unit; -_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar; - -["cse_fieldRations_actionConsuming", false, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - - -if ([_item] call cse_fnc_itemIsEatable_FR && _res) then { - _unit removeItem _item; - _unit setvariable ["cse_food_status_fr", ((_unit getvariable ["cse_food_status_fr", 100]) + ([_item] call cse_fnc_getEatableValue_FR)) min 100]; - - [format["ACTIONEAT: %1 FOUND %2",_unit, _item]] call cse_fnc_debug; - if ((_unit getvariable ["cse_food_status_fr", 100]) >= 100) then { - hint "You feel stuffed.."; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_actionRefillCamelbak_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_actionRefillCamelbak_FR.sqf deleted file mode 100644 index 63edf83d0d..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_actionRefillCamelbak_FR.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/** - * fn_actionRefillCamelbak_FR.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -private ["_unit", "_item", "_onRefill", "_time", "_res"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_time = [_this, 1, 0, [0]] call BIS_fnc_param; - - -CSE_ORIGINAL_POSITION_PLAYER = getPos _unit; -_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar; - - -if ([uniformContainer _unit] call cse_fnc_isCamelbak_FR && _res) then { - _maxValue = getNumber(ConfigFile >> "cfgWeapons" >> typeOf (uniformContainer _unit) >> "cse_camelbak_maxContent"); - if (_maxValue > 0) then { - _uniform = uniformContainer _unit; - _uniform setvariable ["cse_camelbak_status_fr", _maxValue]; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_actionRefill_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_actionRefill_FR.sqf deleted file mode 100644 index f95e18753b..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_actionRefill_FR.sqf +++ /dev/null @@ -1,28 +0,0 @@ -/** - * fn_actionRefill_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_item", "_onRefill", "_time", "_res"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_item = [_this, 1, "", [""]] call BIS_fnc_param; -_time = [_this, 2, 0, [0]] call BIS_fnc_param; - - -CSE_ORIGINAL_POSITION_PLAYER = getPos _unit; -_res = [_time,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar; - - -if ([_item] call cse_fnc_itemIsRefillable_FR && _res) then { - _unit removeItem _item; - _onRefill = getText(ConfigFile >> "CfgWeapons" >> _item >> "cse_onRefill"); - if (_onRefill != "") then { - _unit addItem _onRefill; - }; - [format["ACTION REFILL: %1 FOUND %2 %3",_unit, _item, _onRefill]] call cse_fnc_debug; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_canDrink_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_canDrink_FR.sqf deleted file mode 100644 index 70d6539a8a..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_canDrink_FR.sqf +++ /dev/null @@ -1,11 +0,0 @@ -/** - * fn_canDrink_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -(((_this select 0) getvariable ["cse_drink_status_fr", 100]) < 101) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_canEat_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_canEat_FR.sqf deleted file mode 100644 index 69c412f41b..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_canEat_FR.sqf +++ /dev/null @@ -1,14 +0,0 @@ -/** - * fn_canEat_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; - -((_unit getvariable ["cse_food_status_fr", 100]) < 101) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_canRefillCamelbak_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_canRefillCamelbak_FR.sqf deleted file mode 100644 index e374d111b2..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_canRefillCamelbak_FR.sqf +++ /dev/null @@ -1,6 +0,0 @@ -private ["_unit", "_target"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_target = [_this, 1, objNull, [objNull]] call bis_fnc_param; - - -([_unit,_target] call cse_fnc_canRefill_FR); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_canRefill_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_canRefill_FR.sqf deleted file mode 100644 index e2a02af147..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_canRefill_FR.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_canRefill_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_target"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_target = [_this, 1, objNull, [objNull]] call bis_fnc_param; - - -(((_target getvariable ["cse_isRefillObject_FR", false]) || (_target iskindof "Land_Misc_Well_C_EP1") || (_target iskindof "Land_Misc_Well_L_EP1") || (_target iskindof "Land_Barrel_water") || (_target iskindof "Land_stand_waterl_EP1") || (_target iskindof "Land_Reservoir_EP1")) && (_target distance _unit < 5)) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_getDrinkableValue_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_getDrinkableValue_FR.sqf deleted file mode 100644 index 57e2f2b0a2..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_getDrinkableValue_FR.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/** - * fn_getDrinkableValue_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_item", "_return"]; -_item = [_this, 0, "", [""]] call bis_fnc_param; -_return = 0; - -if ([_item] call cse_fnc_itemIsDrinkable_FR) then { - _return = getNumber(ConfigFile >> "CfgWeapons" >> _item >> "cse_isDrinkable"); -}; -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_getEatableValue_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_getEatableValue_FR.sqf deleted file mode 100644 index 5619f7cb05..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_getEatableValue_FR.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/** - * fn_getEatableValue_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_item", "_return"]; -_item = [_this, 0, "", [""]] call bis_fnc_param; -_return = 0; - -if ([_item] call cse_fnc_itemIsEatable_FR) then { - _return = getNumber(ConfigFile >> "CfgWeapons" >> _item >> "cse_isEatable"); -}; -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_getInitialContent_Camelbak_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_getInitialContent_Camelbak_FR.sqf deleted file mode 100644 index 48d1e29d74..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_getInitialContent_Camelbak_FR.sqf +++ /dev/null @@ -1,13 +0,0 @@ -/** - * fn_getStartContent_Camelbak_FR.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -private ["_camelbak"]; -_camelbak = [_this, 0, objNull, [objNull]] call bis_fnc_param; -(getNumber(ConfigFile >> "cfgWeapons" >> typeOf _camelbak >> "cse_camelbak_initialContent") min ([_camelbak] call cse_fnc_getMaxContent_Camelbak_FR)); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_getMaxContent_Camelbak_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_getMaxContent_Camelbak_FR.sqf deleted file mode 100644 index a41de4f97c..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_getMaxContent_Camelbak_FR.sqf +++ /dev/null @@ -1,13 +0,0 @@ -/** - * fn_getMaxContent_Camelbak_FR.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -private ["_camelbak"]; -_camelbak = [_this, 0, objNull, [objNull]] call bis_fnc_param; -getNumber(ConfigFile >> "cfgWeapons" >> typeOf _camelbak >> "cse_camelbak_maxContent"); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_hasCamelbak_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_hasCamelbak_FR.sqf deleted file mode 100644 index d1315cd654..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_hasCamelbak_FR.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_hasCamelbak_FR.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - - -private ["_unit"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; - -if !(_unit isKindOf "CAManBase") exitwith {false}; -([uniformContainer _unit] call cse_fnc_isCamelbak_FR); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_hasDrinkableItem_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_hasDrinkableItem_FR.sqf deleted file mode 100644 index dcfe758649..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_hasDrinkableItem_FR.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_hasDrinkableItem_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_return", "_magazines"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_return = false; - -_magazines = items _unit; -{ - if ([_x] call cse_fnc_itemIsDrinkable_FR) exitwith { - _return = true; - }; -}foreach _magazines; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_hasEatableItem_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_hasEatableItem_FR.sqf deleted file mode 100644 index e643ed182f..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_hasEatableItem_FR.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_hasEatableItem_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_return", "_magazines"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_return = false; - -_magazines = items _unit; -{ - if ([_x] call cse_fnc_itemIsEatable_FR) exitwith { - _return = true; - }; -}foreach _magazines; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_hasRefillableItem_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_hasRefillableItem_FR.sqf deleted file mode 100644 index 7f6fe27261..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_hasRefillableItem_FR.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_hasRefillableItem_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_return", "_magazines"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_return = false; - -_magazines = items _unit; -{ - if ([_x] call cse_fnc_itemIsRefillable_FR) exitwith { - _return = true; - }; -}foreach _magazines; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_isCamelbak_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_isCamelbak_FR.sqf deleted file mode 100644 index be3f57b975..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_isCamelbak_FR.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * fn_isCamelbak_FR.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -private ["_return", "_object"]; -_object = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_return = false; -if (isClass (ConfigFile >> "cfgWeapons" >> typeOf _object)) then { - _return = getNumber(ConfigFile >> "cfgWeapons" >> typeOf _object >> "cse_camelbak_maxContent") > 0; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsDrinkable_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsDrinkable_FR.sqf deleted file mode 100644 index 026f51568d..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsDrinkable_FR.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_itemIsDrinkable_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_item", "_return", "_cfg"]; -_item = [_this, 0, "", [""]] call bis_fnc_param; -_return = false; - -_cfg = (ConfigFile >> "CfgWeapons" >> _item); -if (isClass _cfg) then { - _return = (getNumber (_cfg >> "cse_isDrinkable") > 0); -}; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsEatable_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsEatable_FR.sqf deleted file mode 100644 index ed2df08bce..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsEatable_FR.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_itemIsEatable_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_item", "_return", "_cfg"]; -_item = [_this, 0, "", [""]] call bis_fnc_param; -_return = false; - -_cfg = (ConfigFile >> "CfgWeapons" >> _item); -if (isClass _cfg) then { - _return = (getNumber (_cfg >> "cse_isEatable") > 0); -}; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsRefillable_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsRefillable_FR.sqf deleted file mode 100644 index 3545eafbbd..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_itemIsRefillable_FR.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_itemIsRefillable_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_item", "_return", "_cfg"]; -_item = [_this, 0, "", [""]] call bis_fnc_param; -_return = false; - -_cfg = (ConfigFile >> "CfgWeapons" >> _item); -if (isClass _cfg) then { - _return = (getText(_cfg >> "cse_onRefill") != ""); -}; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_reduceLevels_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_reduceLevels_FR.sqf deleted file mode 100644 index e577a9147e..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_reduceLevels_FR.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_reduceLevels_FR.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_absSpeed", "_camelbak_state","_decentWater","_decentFood", "_unit"]; -_unit = _this select 0; - -_drinkStatus = _unit getvariable ["cse_drink_status_fr", 100]; -_foodStatus = _unit getvariable ["cse_food_status_fr", 100]; - -_absSpeed = abs(speed _unit); - -_decentWater = CSE_DESCENT_RATE_WATER_FR; -_decentFood = CSE_DESCENT_RATE_FOOD_FR; - -// TODO add in weight calculation and effect -// If _unit is inside a vehicle, adjust waterlevels -if (vehicle _unit == _unit) then { - if (_absSpeed > 1) then { - _decentWater = _decentWater + (_absSpeed / 400); - _decentFood = _decentFood + (_absSpeed / 1200); - }; -}; -if ([_unit] call cse_fnc_hasCamelbak_FR) then { - _camelbak_state = (uniformContainer _unit) getvariable ["cse_camelbak_status_fr", [(uniformContainer _unit)] call cse_fnc_getInitialContent_Camelbak_FR]; - if (_camelbak_state > 0) then { - (uniformContainer _unit) setvariable ["cse_camelbak_status_fr", _camelbak_state - _decentWater]; - } else { - _unit setvariable ["cse_drink_status_fr", _drinkStatus - _decentWater]; - }; -} else { - _unit setvariable ["cse_drink_status_fr", _drinkStatus - _decentWater]; -}; -_unit setvariable ["cse_food_status_fr", _foodStatus - _decentFood]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_updateFieldRations_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_updateFieldRations_FR.sqf deleted file mode 100644 index ee676456f9..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_updateFieldRations_FR.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/** - * fn_updateFieldRations_FR.sqf - * @Descr: Updates the hydration and hunger levels for given unit and if the unit is the player, it will also give a call to the UI icons from Field Rations. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (The unit that will have the levels updated)] - * @Return: void - * @PublicAPI: false - */ - -private ["_unit", "_drinkStatus","_foodStatus","_camelbakStatus", "_animState", "_aniMStateChars", "_animP"]; -_unit = _this select 0; -[_unit] call cse_fnc_reduceLevels_FR; -_drinkStatus = _unit getvariable ["cse_drink_status_fr", 100]; -_foodStatus = _unit getvariable ["cse_food_status_fr", 100]; -_camelbakStatus = _unit getvariable ["cse_camelbak_status_fr", 0]; -//[format["drink: %1 Food: %2 Camelbak: %3 - %4", _drinkStatus, _foodStatus, _camelbakStatus, _unit]] call cse_fnc_debug; - -[] call cse_fnc_updateUIStatus_FR; -if (_drinkStatus < 25 || _foodStatus < 25) then { - if (speed _unit > 12 && vehicle _unit == _unit) then { - _unit playMove "amovppnemstpsraswrfldnon"; - }; -}; - -if (_drinkStatus < 30 || _foodStatus < 30) then { - CSE_SHOW_UI_ICONS_FR = true; -} else { - CSE_SHOW_UI_ICONS_FR = false; -}; - -if (_drinkStatus < 20 || _foodStatus < 20) then { - if (random(1) > 0.8) then { - [_unit] call cse_fnc_setUnconsciousState; - }; -}; - -_animState = animationState _unit; -_animStateChars = toArray _animState; -_animP = toString [_animStateChars select 5,_animStateChars select 6,_aniMStateChars select 7]; - - -if (_drinkStatus < 7 || _foodStatus < 7) then { - if (speed _unit > 1 && vehicle _unit == _unit && (_animP != "pne")) then { - _unit playMove "amovppnemstpsraswrfldnon"; - }; -}; - -if (_drinkStatus < 1 || _foodStatus < 1) then { - if (random(1) > 0.2) then { - [_unit] call cse_fnc_setDead; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/functions/fn_updateUIStatus_FR.sqf b/TO_MERGE/cse/sys_field_rations/functions/fn_updateUIStatus_FR.sqf deleted file mode 100644 index b3ac2bb126..0000000000 --- a/TO_MERGE/cse/sys_field_rations/functions/fn_updateUIStatus_FR.sqf +++ /dev/null @@ -1,60 +0,0 @@ -/** - * fn_updateUIStatus_FR.sqf - * @Descr: Updates the UI icons for field rations, based on player stats. - * @Author: Glowbal - * - * @Arguments: [skipCheck BOOL (Whatever or not checks for display should be skipped. True will force display)] - * @Return: void - * @PublicAPI: true - */ - -#define DEFAULT_ALPHA_LEVEL 0.4 - -private ["_unit","_PlayerStatusUI","_ctrlPlayerStatusDrink", "_ctrlPlayerStatusFood", "_ctrlCamelBakStatus", "_alphaCamelBak", "_drinkStatus","_foodStatus","_camelbakStatus", "_greenCamelBak", "_greenDrink", "_greenFood", "_yellowFood","_yellowDrink","_yellowCamelBak", "_redFood", "_redDrink", "_redCamelBak"]; - -_skipChecks = [_this, 0, false, [false]] call BIS_fnc_Param; - -if !(hasInterface) exitwith {}; -_unit = player; -disableSerialization; -_PlayerStatusUI = uiNamespace getVariable "CSE_sys_field_rations_PlayerStatusUI"; -if (!isnil "_PlayerStatusUI") then { - _ctrlPlayerStatusDrink = _PlayerStatusUI displayCtrl 11113; - _ctrlPlayerStatusFood = _PlayerStatusUI displayCtrl 11112; - _ctrlCamelBakStatus = _PlayerStatusUI displayCtrl 11114; - - _drinkStatus = _unit getvariable ["cse_drink_status_fr", 100]; - _foodStatus = _unit getvariable ["cse_food_status_fr", 100]; - _camelbakStatus = _unit getvariable ["cse_camelbak_status_fr", 0]; - - if (CSE_SHOW_UI_ICONS_FR || CSE_SHOW_UI_ICONS_ONACTION_FR || CSE_SHOW_UI_ICONS_SETTING_FR || ((_drinkStatus < 30) || (_foodStatus < 30))) then { - _alphaCamelBak = 0; - if ([_unit] call cse_fnc_hasCamelbak_FR) then { - _alphaCamelBak = DEFAULT_ALPHA_LEVEL; - }; - - _greenCamelBak = _camelbakStatus/100; - _redCamelBak = 1.0 - _greenCamelBak; - _yellowCamelBak = 0; - _ctrlCamelBakStatus ctrlSetTextColor [_redCamelBak,_greenCamelBak,_yellowCamelBak, _alphaCamelBak]; - - _greenFood = _foodStatus/100; - _redFood = 1.0 - _greenFood; - _yellowFood = 0; - _ctrlPlayerStatusFood ctrlSetTextColor [_redFood,_greenFood,_yellowFood, DEFAULT_ALPHA_LEVEL]; - - _greenDrink = _drinkStatus/100; - _redDrink = 1.0 - _greenDrink; - _yellowDrink = 0; - _ctrlPlayerStatusDrink ctrlSetTextColor [_redDrink,_greenDrink,_yellowDrink, DEFAULT_ALPHA_LEVEL]; - } else { - _ctrlCamelBakStatus ctrlSetTextColor [0, 0, 0, 0]; - _ctrlPlayerStatusFood ctrlSetTextColor [0, 0, 0, 0]; - _ctrlPlayerStatusDrink ctrlSetTextColor [0, 0, 0, 0]; - }; - if (!_skipChecks) then { - if (CSE_SHOW_UI_ICONS_ONACTION_FR) then { - CSE_SHOW_UI_ICONS_ONACTION_FR = false; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/gui/define.h b/TO_MERGE/cse/sys_field_rations/gui/define.h deleted file mode 100644 index c521de470f..0000000000 --- a/TO_MERGE/cse/sys_field_rations/gui/define.h +++ /dev/null @@ -1,797 +0,0 @@ - -#ifndef CSE_DEFINE_H -#define CSE_DEFINE_H -// define.hpp - -#define true 1 -#define false 0 - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_ANIMATED_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define CT_LISTNBOX 102 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define ST_TITLE ST_TITLE_BAR + ST_CENTER - -// Slider styles -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 - -#define SL_TEXTURES 0x10 - -// Listbox styles -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontCSE "PuristaMedium" - -class cse_gui_backgroundBase { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - colorBackground[] = {0,0,0,0}; - colorText[] = {1, 1, 1, 1}; - font = FontCSE; - text = ""; - sizeEx = 0.032; -}; -class cse_gui_editBase -{ - access = 0; - type = 2; - x = 0; - y = 0; - h = 0.04; - w = 0.2; - colorBackground[] = - { - 0, - 0, - 0, - 1 - }; - colorText[] = - { - 0.95, - 0.95, - 0.95, - 1 - }; - colorSelection[] = - { - "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", - "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", - "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", - 1 - }; - autocomplete = ""; - text = ""; - size = 0.2; - style = "0x00 + 0x40"; - font = "PuristaMedium"; - shadow = 2; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorDisabled[] = - { - 1, - 1, - 1, - 0.25 - }; -}; - - - -class cse_gui_buttonBase { - idc = -1; - type = 16; - style = ST_LEFT; - text = ""; - action = ""; - x = 0.0; - y = 0.0; - w = 0.25; - h = 0.04; - size = 0.03921; - sizeEx = 0.03921; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - /*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"}; - colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8}; - */ - - colorBackground[] = {1,1,1,0.95}; - colorbackground2[] = {1,1,1,0.95}; - colorDisabled[] = {1,1,1,0.6}; - colorFocused[] = {1,1,1,1}; - colorBackgroundFocused[] = {1,1,1,1}; - periodFocus = 1.2; - periodOver = 0.8; - default = false; - class HitZone { - left = 0.00; - top = 0.00; - right = 0.00; - bottom = 0.00; - }; - - class ShortcutPos { - left = 0.00; - top = 0.00; - w = 0.00; - h = 0.00; - }; - - class TextPos { - left = 0.002; - top = 0.0004; - right = 0.0; - bottom = 0.00; - }; - textureNoShortcut = ""; - animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa"; - animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - period = 0.5; - font = FontCSE; - soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0}; - soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; - class Attributes { - font = FontCSE; - color = "#E5E5E5"; - align = "center"; - shadow = "true"; - }; - class AttributesImage { - font = FontCSE; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; -}; - -class cse_gui_RscProgress { - type = 8; - style = 0; - colorFrame[] = {1,1,1,0.7}; - colorBar[] = {1,1,1,0.7}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; -}; - - -class cse_gui_staticBase { - idc = -1; - type = CT_STATIC; - x = 0.0; - y = 0.0; - w = 0.183825; - h = 0.104575; - style = ST_LEFT; - font = FontCSE; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - text = ""; -}; - -class RscListBox; -class cse_gui_listBoxBase : RscListBox{ - type = CT_LISTBOX; - style = ST_MULTI; - font = FontCSE; - sizeEx = 0.03921; - color[] = {1, 1, 1, 1}; - colorText[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - period = 1.2; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; - - -class cse_gui_listNBox { - access = 0; - type = CT_LISTNBOX;// 102; - style =ST_MULTI; - w = 0.4; - h = 0.4; - font = FontCSE; - sizeEx = 0.031; - - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - columns[] = {0.0}; - color[] = {1, 1, 1, 1}; - - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - rows = 1; - - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - maxHistoryDelay = 1; - soundSelect[] = {"", 0.1, 1}; - period = 1; - shadow = 2; - class ScrollBar { - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - border = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "#(argb,8,8,3)color(1,1,1,1)"; - }; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - -class RscCombo; -class cse_gui_comboBoxBase: RscCombo { - idc = -1; - type = 4; - style = "0x10 + 0x200"; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - color[] = {0,0,0,0.6}; - colorActive[] = {1,0,0,1}; - colorBackground[] = {0,0,0,1}; - colorDisabled[] = {1,1,1,0.25}; - colorScrollbar[] = {1,0,0,1}; - colorSelect[] = {0,0,0,1}; - colorSelectBackground[] = {1,1,1,0.7}; - colorText[] = {1,1,1,1}; - - arrowEmpty = ""; - arrowFull = ""; - wholeHeight = 0.45; - font = FontCSE; - sizeEx = 0.031; - soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; - soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; - soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; - maxHistoryDelay = 1.0; - class ScrollBar - { - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - border = ""; - }; - class ComboScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - - -class cse_gui_mapBase { - moveOnEdges = 1; - x = "SafeZoneXAbs"; - y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "SafeZoneWAbs"; - h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 100; // Use 100 to hide markers - style = 48; - shadow = 0; - - ptsPerSquareSea = 5; - ptsPerSquareTxt = 3; - ptsPerSquareCLn = 10; - ptsPerSquareExp = 10; - ptsPerSquareCost = 10; - ptsPerSquareFor = 9; - ptsPerSquareForEdge = 9; - ptsPerSquareRoad = 6; - ptsPerSquareObj = 9; - showCountourInterval = 0; - scaleMin = 0.001; - scaleMax = 1.0; - scaleDefault = 0.16; - maxSatelliteAlpha = 0.85; - alphaFadeStartScale = 0.35; - alphaFadeEndScale = 0.4; - colorBackground[] = {0.969,0.957,0.949,1.0}; - colorSea[] = {0.467,0.631,0.851,0.5}; - colorForest[] = {0.624,0.78,0.388,0.5}; - colorForestBorder[] = {0.0,0.0,0.0,0.0}; - colorRocks[] = {0.0,0.0,0.0,0.3}; - colorRocksBorder[] = {0.0,0.0,0.0,0.0}; - colorLevels[] = {0.286,0.177,0.094,0.5}; - colorMainCountlines[] = {0.572,0.354,0.188,0.5}; - colorCountlines[] = {0.572,0.354,0.188,0.25}; - colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6}; - colorCountlinesWater[] = {0.491,0.577,0.702,0.3}; - colorPowerLines[] = {0.1,0.1,0.1,1.0}; - colorRailWay[] = {0.8,0.2,0.0,1.0}; - colorNames[] = {0.1,0.1,0.1,0.9}; - colorInactive[] = {1.0,1.0,1.0,0.5}; - colorOutside[] = {0.0,0.0,0.0,1.0}; - colorTracks[] = {0.84,0.76,0.65,0.15}; - colorTracksFill[] = {0.84,0.76,0.65,1.0}; - colorRoads[] = {0.7,0.7,0.7,1.0}; - colorRoadsFill[] = {1.0,1.0,1.0,1.0}; - colorMainRoads[] = {0.9,0.5,0.3,1.0}; - colorMainRoadsFill[] = {1.0,0.6,0.4,1.0}; - colorGrid[] = {0.1,0.1,0.1,0.6}; - colorGridMap[] = {0.1,0.1,0.1,0.6}; - colorText[] = {1, 1, 1, 0.85}; -font = "PuristaMedium"; -sizeEx = 0.0270000; -stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; -stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; -onMouseButtonClick = ""; -onMouseButtonDblClick = ""; - - fontLabel = "PuristaMedium"; - sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontGrid = "TahomaB"; - sizeExGrid = 0.02; - fontUnits = "TahomaB"; - sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontNames = "PuristaMedium"; - sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2"; - fontInfo = "PuristaMedium"; - sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontLevel = "TahomaB"; - sizeExLevel = 0.02; - text = "#(argb,8,8,3)color(1,1,1,1)"; - class ActiveMarker { - color[] = {0.30, 0.10, 0.90, 1.00}; - size = 50; - }; - class Legend - { - x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)"; - y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - font = "PuristaMedium"; - sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - colorBackground[] = {1,1,1,0.5}; - color[] = {0,0,0,1}; - }; - class Task - { - icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa"; - iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa"; - iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa"; - iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa"; - iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa"; - color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"}; - colorCreated[] = {1,1,1,1}; - colorCanceled[] = {0.7,0.7,0.7,1}; - colorDone[] = {0.7,1,0.3,1}; - colorFailed[] = {1,0.3,0.2,1}; - size = 27; - importance = 1; - coefMin = 1; - coefMax = 1; - }; - class Waypoint - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class WaypointCompleted - { - icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class CustomMark - { - icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa"; - size = 24; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {0,0,0,1}; - }; - class Command - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - size = 18; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {1,1,1,1}; - }; - class Bush - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = "14/2"; - importance = "0.2 * 14 * 0.05 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Rock - { - icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa"; - color[] = {0.1,0.1,0.1,0.8}; - size = 12; - importance = "0.5 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class SmallTree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.6 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Tree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.9 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class busstop - { - icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class fuelstation - { - icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class hospital - { - icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class church - { - icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class lighthouse - { - icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class power - { - icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powersolar - { - icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwave - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwind - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class quay - { - icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class shipwreck - { - icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class transmitter - { - icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class watertower - { - icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class Cross - { - icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Chapel - { - icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Bunker - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 14; - importance = "1.5 * 14 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fortress - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 16; - importance = "2 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fountain - { - icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa"; - size = 11; - importance = "1 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Ruin - { - icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa"; - size = 16; - importance = "1.2 * 16 * 0.05"; - coefMin = 1; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Stack - { - icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa"; - size = 20; - importance = "2 * 16 * 0.05"; - coefMin = 0.9; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Tourism - { - icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa"; - size = 16; - importance = "1 * 16 * 0.05"; - coefMin = 0.7; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class ViewTower - { - icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa"; - size = 16; - importance = "2.5 * 16 * 0.05"; - coefMin = 0.5; - coefMax = 4; - color[] = {0,0,0,1}; - }; -}; - -#endif \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/gui/dialog_menu.h b/TO_MERGE/cse/sys_field_rations/gui/dialog_menu.h deleted file mode 100644 index 6db9dc28e3..0000000000 --- a/TO_MERGE/cse/sys_field_rations/gui/dialog_menu.h +++ /dev/null @@ -1,172 +0,0 @@ -class cse_dialog_menu_frm { - idd = 54328; - movingEnable = false; - onLoad = "uiNamespace setVariable ['cse_dialog_menu_frm', _this select 0];"; - onUnload = "uiNamespace setVariable ['cse_dialog_menu_frm', nil];"; - class controlsBackground { - class HeaderBackground: cse_gui_backgroundBase{ - idc = -1; - type = CT_STATIC; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - text = ""; - }; - class CenterBackground: HeaderBackground { - y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - h = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = ""; - colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - }; - class LeftBackground: CenterBackground { - y = "4.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - h = "12.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "25 * (((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class RightBackground: LeftBackground { - x = "26.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - w = "12.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; - }; - }; - - class controls { - class HeaderName { - idc = 1; - type = CT_STATIC; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {0,0,0,0}; - text = "Dialog with Person"; - }; - - class labelShow : cse_gui_staticBase { - idc = 12; - x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "2.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "Name:"; - }; - class labelShow2: cse_gui_staticBase { - idc = 13; - x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "State:"; - }; - - class actionClose : cse_gui_buttonBase { - idc = 10; - text = "Close"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "6 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = "closedialog 0;"; - }; - - class listboxConversationOverView: cse_gui_listNBox { - idc = 200; - x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "23 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - colorBackground[] = {0, 0, 0, 0.9}; - colorSelectBackground[] = {0, 0, 0, 0.9}; - columns[] = {0.0, 0.25}; - }; - - class labelTitle: cse_gui_staticBase { - idc = 250; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "Conversation Selection"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - }; - - - class actionListBox1: cse_gui_listBoxBase { - idc = 400; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "7.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "11 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0,0,0, 0.9}; - colorSelectBackground[] = {0,0,0, 0.9}; - colorSelectBackground2[] = { 0.9, 0.9, 0.9, 0.9}; - color[] = {1, 1, 1, 1}; - colorText[] = {1, 1, 1, 1}; - colorSelect[] = {1, 1, 1, 1}; - colorSelect2[] = {0,0,0, 1}; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.75)"; - rowHeight = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.75)"; - }; - - class labelKey: cse_gui_staticBase { - idc = 300; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "6.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = ""; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - }; - - - class actionPerformAction: actionClose { - idc = 30; - text = "Say selected line type"; - x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "11 * (((safezoneW / safezoneH) min 1.2) / 40)"; - action = "[CSE_AIM_DIALOG_INTERACTION_TARGET_AIM, player] call cse_fnc_playerSpeaksLine_AIM; "; - animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {0,0,0, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - }; - - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/gui/player_hud.h b/TO_MERGE/cse/sys_field_rations/gui/player_hud.h deleted file mode 100644 index 76fd93508d..0000000000 --- a/TO_MERGE/cse/sys_field_rations/gui/player_hud.h +++ /dev/null @@ -1,48 +0,0 @@ - -#define RIGHT_SIDE (safezoneW + safezoneX) -#define LEFT_SIDE safezoneX -#define TOP_SIDE safeZoneY -#define BOTTOM_SIDE (safeZoneH + safezoneY) - -#define ICON_WIDTH (1.75 * (((safezoneW / safezoneH) min 1.2) / 40)) -#define X_POS_ICONS RIGHT_SIDE - (1.1 * ICON_WIDTH) -#define Y_POS_ICONS BOTTOM_SIDE - (0.1 * ICON_WIDTH) -#define DIFFERENCE_ICONS (1.1 * ICON_WIDTH) - -class RscTitles { - class CSE_sys_field_rations_PlayerStatusUI { - duration = 1e+011; - idd = 1111; - movingenable = 0; - onLoad = "uiNamespace setVariable ['CSE_sys_field_rations_PlayerStatusUI', _this select 0];"; - class controlsBackground { - class FoodStatus: cse_gui_backgroundBase { - text = "cse\cse_sys_field_rations\data\hud_foodstatus.paa"; - colorText[] = {0.0,1.0,0.0,0.4}; - idc = 11112; - x = X_POS_ICONS; - y = Y_POS_ICONS; - w = ICON_WIDTH; - h = ICON_WIDTH; - }; - class drinkStatus: cse_gui_backgroundBase { - text = "cse\cse_sys_field_rations\data\icons\icon_drinking.paa"; - colorText[] = {0.0,1.0,0.0,0.4}; - idc = 11113; - x = X_POS_ICONS; - y = Y_POS_ICONS - DIFFERENCE_ICONS; - w = ICON_WIDTH; - h = ICON_WIDTH; - }; - /* class CamelBak: cse_gui_backgroundBase { - text = "cse\cse_sys_field_rations\data\hud_camelbak.paa"; - colorText[] = {0.0,1.0,0.0,0}; - idc = 11114; - x = "0.955313 * safezoneW + safezoneX"; - y = "0.80 * safezoneH + safezoneY"; - w = 0.05; - h = 0.09; - };*/ - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/hud.hpp b/TO_MERGE/cse/sys_field_rations/hud.hpp deleted file mode 100644 index d9ceda8332..0000000000 --- a/TO_MERGE/cse/sys_field_rations/hud.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// CSE FRM HUD -// by Glowbal - -class RscTitles{ - class RscCSEPlayerStatus { - duration = 10000000000; - idd = 1111; - movingenable = 0; - onLoad = "uiNamespace setVariable ['CSEFRMStatusUI', _this select 0];"; - - class controlsBackground { - class cse_FoodStatus: cse_backgroundBase { - text = "cse\cse_sys_field_rations\data\hud_foodstatus2.paa"; - colorText[] = {0.0, 1.0, 0.0, 0.9}; - idc = 11112; - x = "0.955313 * safezoneW + safezoneX"; - y = "0.90 * safezoneH + safezoneY"; - w = "0.04 * safezoneW"; - h = "0.05 * safezoneH"; - }; - - class cse_drinkStatus: cse_FoodStatus { - text = "cse\cse_sys_field_rations\data\hud_drinkstatus2.paa"; - idc = 11113; - y = "0.85 * safezoneH + safezoneY"; - - }; - - class cse_CamelBak: cse_FoodStatus { - text = "cse\cse_sys_field_rations\data\hud_camelbak.paa"; - idc = 11114; - y = "0.80 * safezoneH + safezoneY"; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/init_sys_field_rations.sqf b/TO_MERGE/cse/sys_field_rations/init_sys_field_rations.sqf deleted file mode 100644 index cece0f7706..0000000000 --- a/TO_MERGE/cse/sys_field_rations/init_sys_field_rations.sqf +++ /dev/null @@ -1,156 +0,0 @@ -/** - * init_sys_field_rations.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -/* - 24 hours: - - 86400 seconds total - - Run every 10 seconds so: - - 8640 iterations in 24 hours - - If we want to lower the decent rate from 100% to 0 in 24 hours: - 100% / 8640 = 0.011574% per iteration. - - To increase it, decrease the modifier. - To decease it, increase the modifier. -*/ -#define DEFAULT_DECENT_RATE 0.011574 - -private ["_args", "_entries"]; -CSE_DESCENT_RATE_WATER_FR = DEFAULT_DECENT_RATE; -CSE_DESCENT_RATE_FOOD_FR = DEFAULT_DECENT_RATE; -CSE_SHOW_UI_ICONS_FR = false; -CSE_SHOW_UI_ICONS_ONACTION_FR = false; -CSE_SHOW_UI_ICONS_SETTING_FR = true; - -["cse_drink_status_fr",100,false,"frm", false] call cse_fnc_defineVariable; -["cse_food_status_fr",100,false,"frm", false] call cse_fnc_defineVariable; - -if (!hasInterface) exitwith {}; // only want to run this on clients - -_args = _this; -{ - if (_x select 0 == "timeWithoutWater") then { - CSE_DESCENT_RATE_WATER_FR = DEFAULT_DECENT_RATE * (_X select 1); - }; - if (_x select 0 == "timeWithoutFood") then { - CSE_DESCENT_RATE_FOOD_FR = DEFAULT_DECENT_RATE * (_X select 1); - }; -}foreach _args; -waituntil{!isnil "cse_gui"}; -[format["FRM - Field Rations Module initialised"],2] call cse_fnc_debug; - -["itemAdd", ["cse_sys_field_rations_task_loop_CMS", { - if (alive player) then { - [player] call cse_fnc_updateFieldRations_FR; - }; -}, 10]] call BIS_fnc_loop; - -sleep 1; -101 cutRsc ["CSE_sys_field_rations_PlayerStatusUI","PLAIN"]; -[] call cse_fnc_updateUIStatus_FR; - -waituntil {!isnil "cse_gui"}; - -cse_displayEntries_Eat_FRM = { - private ["_subMenus", "_passedMags", "_magazines"]; - _subMenus = []; - _passedMags = []; - _magazines = items player; - { - if (!((_x) in _passedMags)) then { - _passedMags pushback _x; - if ([(_x)] call cse_fnc_itemIsEatable_FR) then { - _subMenus set [ count _subMenus, - call compile format['[getText(configFile >> "CfgWeapons" >> "%1" >> "displayName"),getText(configFile >> "CfgWeapons" >> "%1" >> "picture"), { - closeDialog 0; - [player,"%1",10] spawn cse_fnc_actionEat_FR; CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR; - }, true, "Eat " + getText(configFile >> "CfgWeapons" >> "%1" >> "displayName")]',(_x)] - ]; - }; - }; - }foreach _magazines; - [_subMenus] call cse_fnc_debug; - [ _this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI; - CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR; -}; - - -cse_displayEntries_Drink_FRM = { - private ["_subMenus", "_passedMags", "_magazines"]; - _subMenus = []; - _passedMags = []; - _magazines = items player; - { - if (!(_x in _passedMags)) then { - _passedMags pushback _x; - if ([_x] call cse_fnc_itemIsDrinkable_FR) then { - _subMenus set [ count _subMenus, - call compile format['[getText(configFile >> "CfgWeapons" >> "%1" >> "displayName"),getText(configFile >> "CfgWeapons" >> "%1" >> "picture"), { - closeDialog 0; - [player,"%1", 4.5] spawn cse_fnc_actionDrink_FR; CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR; - }, true, "Drink " + getText(configFile >> "CfgWeapons" >> "%1" >> "displayName")]',_x] - ]; - }; - }; - }foreach _magazines; - [ _this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI; - CSE_SHOW_UI_ICONS_ONACTION_FR = true; - [true] call cse_fnc_updateUIStatus_FR; -}; - -cse_displayEntries_Refill_FRM = { - private ["_subMenus", "_passedMags", "_magazines"]; - _subMenus = []; - _passedMags = []; - _magazines = items player; - { - if (!(_x in _passedMags)) then { - _passedMags pushback _x; - if ([_x] call cse_fnc_itemIsRefillable_FR) then { - _subMenus set [ count _subMenus, - call compile format['[getText(configFile >> "CfgWeapons" >> "%1" >> "displayName"),getText(configFile >> "CfgWeapons" >> "%1" >> "picture"), { - closeDialog 0; - [player,"%1",6] spawn cse_fnc_actionRefill_FR; CSE_SHOW_UI_ICONS_ONACTION_FR = true; [true] call cse_fnc_updateUIStatus_FR; - }, true, "Refill " + getText(configFile >> "CfgWeapons" >> "%1" >> "displayName")]',_x] - ]; - }; - }; - }foreach _magazines; - [_subMenus] call cse_fnc_debug; - [ _this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI; - CSE_SHOW_UI_ICONS_ONACTION_FR = true; - [true] call cse_fnc_updateUIStatus_FR; -}; - -_entries = [ - ["Eat", {(([player] call cse_fnc_canEat_FR) && ([player] call cse_fnc_hasEatableItem_FR))}, CSE_ICON_PATH + "icon_survival.paa", cse_displayEntries_Eat_FRM, "Show consume options"], - ["Drink", {(([player] call cse_fnc_canDrink_FR) && ([player] call cse_fnc_hasDrinkableItem_FR))}, "cse\cse_sys_field_rations\data\icons\icon_drinking.paa", cse_displayEntries_Drink_FRM, "Show drink options"], - ["Refill", {(([player, _this select 1] call cse_fnc_canRefill_FR) && ([player] call cse_fnc_hasRefillableItem_FR))}, "cse\cse_sys_field_rations\data\hud_drinkstatus.paa", cse_displayEntries_Refill_FRM, "Show refill actions"], - ["Camelbak", {(([player, _this select 1] call cse_fnc_canRefillCamelbak_FR) && ([player] call cse_fnc_hasCamelbak_FR))}, "cse\cse_sys_field_rations\data\hud_drinkstatus.paa", {[player,10] spawn cse_fnc_actionRefillCamelbak_FR;}, "Refill camelbak"] - ]; -["ActionMenu","survival", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - -// This is here for backwards compatability. This code will be removed in the near future. -_showError = false; -{ - _configEntry = (configFile >> "CfgMagazines" >> _x); - if([_configEntry, "cse_backwardsCompatMagazineBase_FR"] call cse_fnc_inheritsFrom) then { - player removeMagazine _x; - player addItem _x; - diag_log format["WARNING: Outdated Field Rations magazine classname %1 found. Please replace magazine by item variant. Future versions will not support this anymore.", _x]; - _showError = true; - }; -}foreach (magazines player); -if (_showError) then { - ["Outdated Field Rations Classnames have been found. Please replace magazine classname by item variant. Future versions will not support magazine variant"] call BIS_fnc_error; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/mre_human.p3d b/TO_MERGE/cse/sys_field_rations/mre_human.p3d deleted file mode 100644 index e4830bdda6..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/mre_human.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/mre_type1.p3d b/TO_MERGE/cse/sys_field_rations/mre_type1.p3d deleted file mode 100644 index 17c5cf815b..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/mre_type1.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/mre_type2.p3d b/TO_MERGE/cse/sys_field_rations/mre_type2.p3d deleted file mode 100644 index b049bd2e10..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/mre_type2.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/mre_type3.p3d b/TO_MERGE/cse/sys_field_rations/mre_type3.p3d deleted file mode 100644 index f8123720bd..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/mre_type3.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/mre_type4.p3d b/TO_MERGE/cse/sys_field_rations/mre_type4.p3d deleted file mode 100644 index 96c835eb76..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/mre_type4.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/mre_type5.p3d b/TO_MERGE/cse/sys_field_rations/mre_type5.p3d deleted file mode 100644 index 1c0419c8e6..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/mre_type5.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/mre_type6.p3d b/TO_MERGE/cse/sys_field_rations/mre_type6.p3d deleted file mode 100644 index 7b0619b685..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/mre_type6.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/sounds/drinkingSound.ogg b/TO_MERGE/cse/sys_field_rations/sounds/drinkingSound.ogg deleted file mode 100644 index 7e048ed4f0..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/sounds/drinkingSound.ogg and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/stringtable.xml b/TO_MERGE/cse/sys_field_rations/stringtable.xml deleted file mode 100644 index 643a54ef7e..0000000000 --- a/TO_MERGE/cse/sys_field_rations/stringtable.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/TO_MERGE/cse/sys_field_rations/uk_bottle.p3d b/TO_MERGE/cse/sys_field_rations/uk_bottle.p3d deleted file mode 100644 index b561ebd6cc..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/uk_bottle.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_field_rations/waterbottle.p3d b/TO_MERGE/cse/sys_field_rations/waterbottle.p3d deleted file mode 100644 index 55a3a92bbe..0000000000 Binary files a/TO_MERGE/cse/sys_field_rations/waterbottle.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_gestures/CfgAddons.h b/TO_MERGE/cse/sys_gestures/CfgAddons.h deleted file mode 100644 index e802565741..0000000000 --- a/TO_MERGE/cse/sys_gestures/CfgAddons.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgAddons { - class PreloadAddons { - class cse_sys_gestures { - list[] = {"cse_sys_gestures"}; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_gestures/CfgFunctions.h b/TO_MERGE/cse/sys_gestures/CfgFunctions.h deleted file mode 100644 index 24b113642b..0000000000 --- a/TO_MERGE/cse/sys_gestures/CfgFunctions.h +++ /dev/null @@ -1,8 +0,0 @@ -class CfgFunctions { - class CSE { - class Gestures { - file = "cse\cse_sys_gestures\functions"; - class playGesture { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_gestures/CfgVehicles.h b/TO_MERGE/cse/sys_gestures/CfgVehicles.h deleted file mode 100644 index bf8da07323..0000000000 --- a/TO_MERGE/cse/sys_gestures/CfgVehicles.h +++ /dev/null @@ -1,29 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_sys_gestures: Module_F { - scope = 2; - displayName = "Gestures [CSE]"; - icon = "\cse\cse_main\data\cse_groups_module.paa"; - category = "cseMisc"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class allowAIControl { - displayName = "Allow AI Control"; - description = "Allow Group leaders to issue basic orders through gestures"; - typeName = "BOOL"; - defaultValue = true; - }; - }; - class ModuleDescription { - description = "Enables the CSE Gesture actions."; - sync[] = {}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_gestures/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_gestures/Combat_Space_Enhancement.h deleted file mode 100644 index 0de3163760..0000000000 --- a/TO_MERGE/cse/sys_gestures/Combat_Space_Enhancement.h +++ /dev/null @@ -1,61 +0,0 @@ -#define MENU_KEYBINDING 1 -#define ACTION_KEYBINDING 2 -#define CLIENT_SETTING 3 - -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_gestures { - init = "call compile preprocessFile 'cse\cse_sys_gestures\init_sys_gestures.sqf';"; - name = "Gestures"; - - /*class Configurations { - class playGesture_Freeze { - type = ACTION_KEYBINDING; - title = $STR_CSE_GESTURE_FREEZE_TOOLTIP; - description = $STR_CSE_GESTURE_FREEZE_TOOLTIP; - value[] = {0,0,0,0}; - onPressed = "[player, 'gestureFreeze'] call cse_fnc_playGesture"; - }; - - class playGesture_Follow { - type = ACTION_KEYBINDING; - title = $STR_CSE_GESTURE_FOLLOW_TOOLTIP; - description = $STR_CSE_GESTURE_FOLLOW_TOOLTIP; - value[] = {0,0,0,0}; - onPressed = "[player, 'gestureFollow'] call cse_fnc_playGesture"; - }; - - class playGesture_CEASEFIRE { - type = ACTION_KEYBINDING; - title = $STR_CSE_GESTURE_CEASEFIRE_TOOLTIP; - description = $STR_CSE_GESTURE_CEASEFIRE_TOOLTIP; - value[] = {0,0,0,0}; - onPressed = "[player, 'gestureCeaseFire'] call cse_fnc_playGesture"; - }; - - class playGesture_COVER { - type = ACTION_KEYBINDING; - title = $STR_CSE_GESTURE_COVER_TOOLTIP; - description = $STR_CSE_GESTURE_COVER_TOOLTIP; - value[] = {0,0,0,0}; - onPressed = "[player, 'gestureCover'] call cse_fnc_playGesture"; - }; - - class playGesture_Go { - type = ACTION_KEYBINDING; - title = $STR_CSE_GESTURE_GO_TOOLTIP; - description = $STR_CSE_GESTURE_GO_TOOLTIP; - value[] = {0,0,0,0}; - onPressed = "[player, 'gestureGo'] call cse_fnc_playGesture"; - }; - class playGesture_Point { - type = ACTION_KEYBINDING; - title = $STR_CSE_GESTURE_POINT_TOOLTIP; - description = $STR_CSE_GESTURE_POINT_TOOLTIP; - value[] = {0,0,0,0}; - onPressed = "[player, 'gesturePoint'] call cse_fnc_playGesture"; - }; - };*/ - }; - }; -}; diff --git a/TO_MERGE/cse/sys_gestures/config.cpp b/TO_MERGE/cse/sys_gestures/config.cpp deleted file mode 100644 index 261dcff887..0000000000 --- a/TO_MERGE/cse/sys_gestures/config.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#define _ARMA_ -class CfgPatches { - class cse_sys_gestures { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_f_eh","cse_main", "cse_gui"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -#include "CfgAddOns.h" -#include "CfgFunctions.h" -#include "CfgVehicles.h" -#include "Combat_Space_Enhancement.h" diff --git a/TO_MERGE/cse/sys_gestures/functions/fn_playGesture.sqf b/TO_MERGE/cse/sys_gestures/functions/fn_playGesture.sqf deleted file mode 100644 index 8e3e53ca63..0000000000 --- a/TO_MERGE/cse/sys_gestures/functions/fn_playGesture.sqf +++ /dev/null @@ -1,47 +0,0 @@ -/** - * fn_playGesture.sqf - * @Descr: Plays a gesture and executes orders for group AI, if setting has been enabled. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (The unit that plays the gesture), gesture STRING (Classname of the gesture animation being played)] - * @Return: void - * @PublicAPI: true - */ - - -private ["_unit", "_gesture", "_groupUnits"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_gesture = [_this, 1, "", [""]] call BIS_fnc_Param; - - -_unit playactionnow _gesture; -_groupUnits = units group _unit; - -if (leader (group _unit) == _unit && CSE_SYS_GESTURES_ALLOW_AI_CONTROL) then { - switch (_gesture) do { - case ("gestureCeaseFire"): { - }; - case ("gestureCover"): { - }; - case ("gestureFreeze"): { - {_x stop true;} count _groupUnits; - }; - case ("gestureFollow"): { - {_x dofollow _unit;} count _groupUnits; - }; - case ("gestureGo"): { - {_x stop false;} count _groupUnits; - }; - case ("gesturePoint"): { - }; - }; -}; -/* -_unit setvariable ["cse_playGesture_GRP", _gesture, true]; -_handle = _this spawn { - uisleep 3; - if (((_this select 0) getvariable ["cse_playGesture_GRP", ""]) == (_this select 1)) then { - (_this select 0) setvariable ["cse_playGesture_GRP", nil, true]; - }; -}; -*/ \ No newline at end of file diff --git a/TO_MERGE/cse/sys_gestures/init_sys_gestures.sqf b/TO_MERGE/cse/sys_gestures/init_sys_gestures.sqf deleted file mode 100644 index 7651e06b4f..0000000000 --- a/TO_MERGE/cse/sys_gestures/init_sys_gestures.sqf +++ /dev/null @@ -1,66 +0,0 @@ - -private ["_args", "_entries"]; -_args = _this; -CSE_SYS_GESTURES_ALLOW_AI_CONTROL = false; -{ - if (_x select 0 == "allowAIControl") then { - CSE_SYS_GESTURES_ALLOW_AI_CONTROL = (_x select 1); - }; -}foreach _args; -waituntil {!isnil "cse_gui"}; - -cse_displayGestureActions_GroupMenu_GESTURES = { - [ _this select 3, - [ - [localize "STR_CSE_GESTURE_FREEZE_SHORT", "cse\cse_sys_gestures\data\icons\icon_hand.paa", {closeDialog 0; [player, "gestureFreeze"] call cse_fnc_playGesture}, true, localize "STR_CSE_GESTURE_FREEZE_TOOLTIP"], - [localize "STR_CSE_GESTURE_FOLLOW_SHORT", "cse\cse_sys_gestures\data\icons\icon_hand.paa", {closeDialog 0; [player, "gestureFollow"] call cse_fnc_playGesture}, true, localize "STR_CSE_GESTURE_FOLLOW_TOOLTIP"], - [localize "STR_CSE_GESTURE_CEASEFIRE_SHORT", "cse\cse_sys_gestures\data\icons\icon_hand.paa", {closeDialog 0; [player, "gestureCeaseFire"] call cse_fnc_playGesture}, true, localize "STR_CSE_GESTURE_CEASEFIRE_TOOLTIP"], - [localize "STR_CSE_GESTURE_COVER_SHORT", "cse\cse_sys_gestures\data\icons\icon_hand.paa", {closeDialog 0; [player, "gestureCover"] call cse_fnc_playGesture}, true, localize "STR_CSE_GESTURE_COVER_TOOLTIP"], - [localize "STR_CSE_GESTURE_GO_SHORT", "cse\cse_sys_gestures\data\icons\icon_hand.paa", {closeDialog 0; [player, "gestureGo"] call cse_fnc_playGesture}, true, localize "STR_CSE_GESTURE_GO_TOOLTIP"], - [localize "STR_CSE_GESTURE_POINT_SHORT", "cse\cse_sys_gestures\data\icons\icon_hand.paa", {closeDialog 0; [player, "gesturePoint"] call cse_fnc_playGesture}, true, localize "STR_CSE_GESTURE_POINT_TOOLTIP"] - ], - _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true - ] call cse_fnc_openRadialSecondRing_GUI; -}; - -_entries = [ - [localize "STR_CSE_GESTURE_GESTUREACTION_SHORT", {([player] call cse_fnc_canInteract)}, "cse\cse_sys_gestures\data\icons\icon_hand.paa", cse_displayGestureActions_GroupMenu_GESTURES, localize "STR_CSE_GESTURE_GESTUREACTION_TOOLTIP"] -]; - -["ActionMenu","group_actions", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - -_playCondition = { - (((_this select 0) getvariable ["cse_playGesture_GRP", ""]) != ""); -}; - -_playOnDraw = { - _var = (_this select 0) getvariable ["cse_playGesture_GRP", ""]; - - switch (_gesture) do { - case ("gestureCeaseFire"): { - - }; - case ("gestureCover"): { - - }; - case ("gestureFreeze"): { - - }; - case ("gestureFollow"): { - - }; - case ("gestureGo"): { - - }; - case ("gesturePoint"): { - - }; - }; - - ["cse\cse_sys_gestures\data\icons\icon_hand.paa", [1,1,1,1]]; -}; - -if (["cse_sys_tags"] call cse_fnc_isModLoaded_f) then { - [_playCondition, _playOnDraw, 1] call cse_fnc_registerIconSet_TAGS; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_gestures/stringtable.xml b/TO_MERGE/cse/sys_gestures/stringtable.xml deleted file mode 100644 index 845eda59e8..0000000000 --- a/TO_MERGE/cse/sys_gestures/stringtable.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - Freeze! - Freeze! - Halt! - Stój! - Alto¡ - - - Follow! - Follow! - Mitkommen! - Za mną! - Seguidme¡ - - - Cease Fire! - Cease Fire! - Feuer einstellen! - Wstrzymać ogień! - Alto el fuego¡ - - - Cover! - Cover! - In Deckung! - Do osłon! - A cobertura¡ - - - Go! - Go! - Los, Los, Los! - Naprzód! - Vamos¡ - - - Point! - Point! - Fingerzeig. - Wskaż palcem! - Señalar - - - Play Gesture Freeze - Play Gesture Freeze - Halt! Geste ausführen - Pokazuje gest Stój! - Ejecutar gesto Alto¡ - - - Play Gesture Follow - Play Gesture Follow - Mitkommen! Geste ausführen - Pokazuje gest Za mną! - Ejecutar gesto Seguidme¡ - - - Play Gesture Cease Fire - Play Gesture Cease Fire - Feuer einstellen! Geste ausführen - Pokazuje gest Wstrzymać ogień! - Ejecutar gesto Alto el fuego¡ - - - Play Gesture Cover - Play Gesture Cover - In Deckung! Geste ausführen - Pokazuje gest Do osłon! - Ejecutar gesto A cobertura¡¡ - - - Play Gesture Go - Play Gesture Go - Los, Los, Los! Geste ausführen - Pokazuje gest Naprzód! - Ejecutar gesto Vamos¡ - - - Play Gesture Point - Play Gesture Point - Zeigt nach Vorne. - Pokazuje gest Wskaż palcem! - Ejecutar gesto Señalar¡ - - - - Gestures - Gestures - Gesten - Gesty - Gestos - - - Use Gesture - Use Gesture - Gesten ausführen - Pokaż gest - Usar Gestos - - - - diff --git a/TO_MERGE/cse/sys_groups/CfgAddons.h b/TO_MERGE/cse/sys_groups/CfgAddons.h deleted file mode 100644 index ecd27aa132..0000000000 --- a/TO_MERGE/cse/sys_groups/CfgAddons.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgAddons { - class PreloadAddons { - class cse_sys_groups { - list[] = {"cse_sys_groups"}; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_groups/CfgFunctions.h b/TO_MERGE/cse/sys_groups/CfgFunctions.h deleted file mode 100644 index df6e4cf65e..0000000000 --- a/TO_MERGE/cse/sys_groups/CfgFunctions.h +++ /dev/null @@ -1,15 +0,0 @@ -class CfgFunctions { - class CSE { - class Groups { - file = "cse\cse_sys_groups\functions"; - class unitJoinGroup_GRP { recompile = 1; }; - class unitLeaveGroup_GRP { recompile = 1; }; - class unitsInGroupLeft_GRP { recompile = 1; }; - class unitCanJoinTargetGroup_GRP { recompile = 1; }; - class setGroupFormation_GRP { recompile = 1; }; - class setUnitGroupLeader_GRP { recompile = 1; }; - class canTapShoulder_GRP; - class tapShoulder_GRP; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/CfgVehicles.h b/TO_MERGE/cse/sys_groups/CfgVehicles.h deleted file mode 100644 index d4b5f957f2..0000000000 --- a/TO_MERGE/cse/sys_groups/CfgVehicles.h +++ /dev/null @@ -1,41 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_sys_groups: Module_F { - scope = 2; - displayName = "Groups [CSE]"; - icon = "\cse\cse_main\data\cse_groups_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class allowGroupSwitch { - displayName = "Group switch"; - description = "Allow players to join and leave groups"; - typeName = "BOOL"; - defaultValue = true; - }; - class allowFormationSwitch { - displayName = "Formation actions"; - description = "Group leaders can order formation changes through the action menu"; - typeName = "BOOL"; - defaultValue = true; - }; - class allowShoulderTap { - displayName = "Shoulder Tap"; - description = "Allow usage of shoulder taps"; - typeName = "BOOL"; - defaultValue = false; - }; - }; - class ModuleDescription { - description = "Provides players a serie of actions to join or leave their group, as well as formation changes"; - sync[] = {}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_groups/Combat_Space_Enhancement.h deleted file mode 100644 index 4b342b3cad..0000000000 --- a/TO_MERGE/cse/sys_groups/Combat_Space_Enhancement.h +++ /dev/null @@ -1,27 +0,0 @@ -#define MENU_KEYBINDING 1 -#define ACTION_KEYBINDING 2 -#define CLIENT_SETTING 3 - -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_groups { - init = "call compile preprocessFile 'cse\cse_sys_groups\init_sys_groups.sqf';"; - name = "Groups"; - - class Configurations { - class actionTapShoulder_GRP { - type = ACTION_KEYBINDING; - title = $STR_CSE_SHOULDER_TAP_TITLE; - description = $STR_CS_SHOULDER_TAP_DESC; - value[] = {0,0,0,0}; - onPressed = "if ([player, cursorTarget] call cse_fnc_canTapShoulder_GRP) then {[player, cursorTarget] call cse_fnc_tapShoulder_GRP;};"; - }; - }; - }; - }; - - class CustomEventHandlers { - class shoulderTapped {}; // [_caller, _target] - class groupJoined {}; // [_unit, _targetUnit] - }; -}; diff --git a/TO_MERGE/cse/sys_groups/config.cpp b/TO_MERGE/cse/sys_groups/config.cpp deleted file mode 100644 index 35c338f631..0000000000 --- a/TO_MERGE/cse/sys_groups/config.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#define _ARMA_ -class CfgPatches -{ - class cse_sys_groups - { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_f_eh","cse_main"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -#include "CfgAddOns.h" -#include "CfgFunctions.h" -#include "CfgVehicles.h" -#include "Combat_Space_Enhancement.h" diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_column.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_column.paa deleted file mode 100644 index e10bf80cd1..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_column.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_diamond.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_diamond.paa deleted file mode 100644 index 2e897357a1..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_diamond.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_ech_l.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_ech_l.paa deleted file mode 100644 index c2dea17c6c..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_ech_l.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_ech_r.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_ech_r.paa deleted file mode 100644 index d968a7dbca..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_ech_r.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_group.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_group.paa deleted file mode 100644 index 73108e5a98..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_group.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_line.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_line.paa deleted file mode 100644 index 3f9c0f466e..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_line.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_stag_column.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_stag_column.paa deleted file mode 100644 index cff3cb9b3e..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_stag_column.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_vee.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_vee.paa deleted file mode 100644 index 16685ec314..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_vee.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/data/icons/icon_wedge.paa b/TO_MERGE/cse/sys_groups/data/icons/icon_wedge.paa deleted file mode 100644 index aec606b22e..0000000000 Binary files a/TO_MERGE/cse/sys_groups/data/icons/icon_wedge.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_groups/functions/fn_canTapShoulder_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_canTapShoulder_GRP.sqf deleted file mode 100644 index 2b819ef863..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_canTapShoulder_GRP.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_canTapShoulder_GRP.sqf - * @Descr: Check if caller can tap targets shoulder. - * @Author: Glowbal - * - * @Arguments: [caller OBJECT, target OBJECT] - * @Return: BOOL true if caller can tab target shoulder - * @PublicAPI: true - */ - - -private ["_caller", "_target"]; -_caller = _this select 0; -_target = _this select 1; - -if (isnil "CSE_SYS_GROUPS_ALLOW_SHOULDER_TAPS_GRP") then { - CSE_SYS_GROUPS_ALLOW_SHOULDER_TAPS_GRP = false; -}; -if !(CSE_SYS_GROUPS_ALLOW_SHOULDER_TAPS_GRP) exitwith { false }; - -(_target isKindOf "CAManBase" && {[_target] call cse_fnc_isAwake} && {[_caller] call cse_fnc_canInteract} && {_caller distance _target < 3} && {_caller != _target}) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/functions/fn_setGroupFormation_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_setGroupFormation_GRP.sqf deleted file mode 100644 index 7ac9f37882..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_setGroupFormation_GRP.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_setGroupFormation_GRP.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_formation", "_groupUnits"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_formation = [_this, 1, "", [""]] call BIS_fnc_Param; - - -if (([_unit] call cse_fnc_canInteract) && (formationLeader _unit == _unit)) then { - (group _unit) setFormation _formation; - [format["Setting formation of group %1 to %2",group _unit, _formation]] call cse_fnc_debug; -} else { - [format["cant set formation of group %1 to %2 because: %3 %4",group _unit, _formation, ([_unit] call cse_fnc_canInteract), (formationLeader _unit == _unit)]] call cse_fnc_debug; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/functions/fn_setUnitGroupLeader_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_setUnitGroupLeader_GRP.sqf deleted file mode 100644 index 436bc6b5c9..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_setUnitGroupLeader_GRP.sqf +++ /dev/null @@ -1,28 +0,0 @@ -/** - * fn_setUnitGroupLeader_GRP.sqf - * @Descr: Sets unit as the leader of units group. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: void - * @PublicAPI: true - */ - -private ["_unit","_groupMembers"]; -_unit = _this select 0; -if !(_unit isKindOf "CAManBase") exitwith {}; - -_groupMembers = units group _unit; -{ - if (_x != _unit) then { - [_x] call cse_fnc_unitLeaveGroup_GRP; - }; -}foreach _groupMembers; - -{ - if (_x != _unit) then { - [_x, _unit] call cse_fnc_unitJoinGroup_GRP; - }; -}foreach _groupMembers; - -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/functions/fn_tapShoulder_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_tapShoulder_GRP.sqf deleted file mode 100644 index 02a3a58bf6..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_tapShoulder_GRP.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_tapShoulder_GRP.sqf - * @Descr: Tap units shoulder. - * @Author: Glowbal - * - * @Arguments: [caller OBJECT, target OBJECT (Unit that will be tapped)] - * @Return: void - * @PublicAPI: true - */ - -private ["_caller", "_target"]; -_caller = _this select 0; -_target = _this select 1; - -// If the target isn't local, we need to execute this function on the targets locality. -if (!local _target) exitwith { - [[_caller, _target], "cse_fnc_tapShoulder_GRP", _target] call BIS_fnc_MP; -}; -[[_caller, _target],"shoulderTapped"] call cse_fnc_customEventHandler_F; - -// No need to execute this for non player units. We exit here for non player units, because we do want to execute the custom eventhandler. -if (!isPlayer _target) exitwith {}; - -// Display information for player to indicate that players should was tapped. -// This is done through a camShake and a display Message on the screen. -addCamShake [4, 0.5, 4]; -[_target,localize "STR_CS_SHOULDER_TAP_GRP",format[localize "STR_CSE_SHOULDER_TAPPED_GRP", [_caller] call cse_fnc_getName]] call cse_fnc_sendDisplayMessageTo; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/functions/fn_unitCanJoinTargetGroup_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_unitCanJoinTargetGroup_GRP.sqf deleted file mode 100644 index 133da4f797..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_unitCanJoinTargetGroup_GRP.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_unitCanJoinTargetGroup_GRP.sqf - * @Descr: Check if a unit can join the target group - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, target OBJECT] - * @Return: BOOL True if unit can join the targets group - * @PublicAPI: true - */ - -private ["_unit", "_targetUnit", "_currentGroup", "_targetGroup", "_return"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_targetUnit = [_this, 1, objNull, [objNull]] call BIS_fnc_Param; - -_return = false; -if (_unit != _targetUnit) then { - if (_unit iskindof "CaManBase" && (_targetUnit isKindOf "CAManBase")) then { - if (side _unit == side _targetUnit) then { - _currentGroup = group _unit; - _targetGroup = group _targetUnit; - if (_currentGroup != _targetGroup) then { - _return = true - }; - }; - }; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/functions/fn_unitJoinGroup_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_unitJoinGroup_GRP.sqf deleted file mode 100644 index 9e34fdd808..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_unitJoinGroup_GRP.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_unitJoinGroup_GRP.sqf - * @Descr: unit joins target group and removes old group if no members are left. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, target OBJECT] - * @Return: void - * @PublicAPI: true - */ - -private ["_unit", "_targetUnit", "_currentGroup", "_targetGroup"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_targetUnit = [_this, 1, objNull, [objNull]] call BIS_fnc_Param; - -if ([_unit, _targetUnit] call cse_fnc_unitCanJoinTargetGroup_GRP) then { - _currentGroup = group _unit; - _targetGroup = group _targetUnit; - - if (_currentGroup != _targetGroup) then { - [_unit] joinSilent _targetGroup; - if (count (units _currentGroup) == 0) then { - deleteGroup _currentGroup; - }; - - [[_unit, _targetUnit],"groupJoined"] call cse_fnc_customEventHandler_F; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/functions/fn_unitLeaveGroup_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_unitLeaveGroup_GRP.sqf deleted file mode 100644 index 71bc13cdf1..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_unitLeaveGroup_GRP.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_unitLeaveGroup_GRP.sqf - * @Descr: unit leaves current group and joins an empty group. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: void - * @PublicAPI: true - */ - -private ["_unit", "_currentGroup", "_newgroup"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -if (_unit iskindof "CaManBase" && [_unit] call cse_fnc_canInteract) then { - _currentGroup = group _unit; - _newgroup = createGroup (side _unit); - [_unit] joinSilent _newgroup; - - if (count (units _currentGroup) == 0) then { - deleteGroup _currentGroup; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/functions/fn_unitsInGroupLeft_GRP.sqf b/TO_MERGE/cse/sys_groups/functions/fn_unitsInGroupLeft_GRP.sqf deleted file mode 100644 index c8553495c4..0000000000 --- a/TO_MERGE/cse/sys_groups/functions/fn_unitsInGroupLeft_GRP.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * fn_unitsInGroupLeft_GRP.sqf - * @Descr: Check if the group has more as one member - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL Returns true if group of unit contains more units as 1 - * @PublicAPI: true - */ - -private ["_unit", "_currentGroup", "_newgroup"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -if (_unit iskindof "CaManBase") then { - (count (units (group _unit)) > 1) -} else { - false; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/init_sys_groups.sqf b/TO_MERGE/cse/sys_groups/init_sys_groups.sqf deleted file mode 100644 index 201d9867b8..0000000000 --- a/TO_MERGE/cse/sys_groups/init_sys_groups.sqf +++ /dev/null @@ -1,80 +0,0 @@ - -private ["_args", "_entries"]; -_args = _this; -if (!hasInterface) exitwith {}; -CSE_SYS_GROUPS_ALLOW_GROUPSWITCH_GRP = false; -CSE_SYS_GROUPS_ALLOW_FORMATIONSWITCH_GRP = false; -CSE_SYS_GROUPS_ALLOW_SHOULDER_TAPS_GRP = false; - -{ - if (_x select 0 == "allowGroupSwitch") then { - CSE_SYS_GROUPS_ALLOW_GROUPSWITCH_GRP = (_x select 1); - }; - if (_x select 0 == "allowFormationSwitch") then { - CSE_SYS_GROUPS_ALLOW_FORMATIONSWITCH_GRP = (_x select 1); - }; - if (_x select 0 == "allowShoulderTap") then { - CSE_SYS_GROUPS_ALLOW_SHOULDER_TAPS_GRP = (_x select 1); - }; -}foreach _args; -waituntil {!isnil "cse_gui"}; - -if (CSE_SYS_GROUPS_ALLOW_GROUPSWITCH_GRP) then { - _entries = [ - [localize "STR_CSE_GROUP_LEAVEGRP_SHORT", {([player] call cse_fnc_unitsInGroupLeft_GRP)}, "cse\cse_sys_groups\data\icons\icon_group.paa", {closeDialog 0; [player] call cse_fnc_unitLeaveGroup_GRP}, localize "STR_CSE_GROUP_LEAVEGRP_TOOLTIP"], - - [localize "STR_CSE_GROUP_REQUESTJOINGRP_SHORT", {(([_this select 0, _this select 1] call cse_fnc_unitCanJoinTargetGroup_GRP))}, "cse\cse_sys_groups\data\icons\icon_group.paa", { - closeDialog 0; - [player, _this select 1, "cse_sys_Groups_requestJoinGrp", "STR_CSE_GROUP_REQUESTJOINGRP_MESSAGE", "if !(_this select 2) exitwith {}; [player, _this select 1] call cse_fnc_unitJoinGroup_GRP;"] call cse_fnc_sendRequest_f; - }, localize "STR_CSE_GROUP_REQUESTJOINGRP_TOOLTIP"] - ]; - ["ActionMenu","group_actions", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; - -if (CSE_SYS_GROUPS_ALLOW_GROUPSWITCH_GRP) then { - cse_displaygroupActions_switchFormationMenu_GRP = { - [ _this select 3, - [ - [localize "STR_CSE_GROUP_FORM_COLUMN_SHORT", "cse\cse_sys_groups\data\icons\icon_column.paa", {closeDialog 0; [player, "COLUMN"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_COLUMN_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_STAG_SHORT","cse\cse_sys_groups\data\icons\icon_stag_column.paa", {closeDialog 0; [player, "STAG COLUMN"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_STAG_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_WEDGE_SHORT", "cse\cse_sys_groups\data\icons\icon_wedge.paa", {closeDialog 0; [player, "WEDGE"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_WEDGE_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_ECHL_SHORT", "cse\cse_sys_groups\data\icons\icon_ech_l.paa", {closeDialog 0; [player, "ECH LEFT"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_ECHL_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_ECHR_SHORT", "cse\cse_sys_groups\data\icons\icon_ech_r.paa", {closeDialog 0; [player, "ECH RIGHT"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_ECHR_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_VEE_SHORT", "cse\cse_sys_groups\data\icons\icon_vee.paa", {closeDialog 0; [player, "VEE"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_VEE_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_LINE_SHORT", "cse\cse_sys_groups\data\icons\icon_line.paa", {closeDialog 0; [player, "LINE"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_LINE_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_FILE_SHORT", "cse\cse_sys_groups\data\icons\icon_column.paa", {closeDialog 0; [player, "FILE"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_FILE_TOOLTIP"], - [localize "STR_CSE_GROUP_FORM_DIAMOND_SHORT", "cse\cse_sys_groups\data\icons\icon_diamond.paa", {closeDialog 0; [player, "DIAMOND"] call CSE_fnc_setGroupFormation_GRP}, true, localize "STR_CSE_GROUP_FORM_DIAMOND_TOOLTIP"] - ], - _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true - ] call cse_fnc_openRadialSecondRing_GUI; - }; - - _entries = [ - [localize "STR_CSE_GROUP_SWITCHFORMATION_SHORT", {(([player] call cse_fnc_canInteract) && (formationLeader player == player))}, "cse\cse_sys_groups\data\icons\icon_group.paa", cse_displaygroupActions_switchFormationMenu_GRP, localize "STR_CSE_GROUP_SWITCHFORMATION_TOOLTIP"] - ]; - - ["ActionMenu","group_actions", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - - _requestGroupLeader = { - closeDialog 0; - [player, leader (group player), "cse_sys_Groups_requestLeader", "STR_CSE_GROUP_REQUESTLEADER_MESSAGE", "if !(_this select 2) exitwith {}; - [player] call cse_fnc_setUnitGroupLeader_GRP; - "] call cse_fnc_sendRequest_f; - }; - - _entries = [ - [localize "STR_CSE_GROUP_REQUESTLEADER_SHORT", {(([player] call cse_fnc_canInteract) && (leader (group player) != player))}, "cse\cse_sys_groups\data\icons\icon_group.paa", _requestGroupLeader, localize "STR_CSE_GROUP_REQUESTLEADER_TOOLTIP"] - ]; - - ["ActionMenu","group_actions", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; - -if (CSE_SYS_GROUPS_ALLOW_SHOULDER_TAPS_GRP) then { - - _entries = [ - [localize "STR_CSE_SHOULDER_TAP_TITLE", {(([player, _this select 1] call cse_fnc_canTapShoulder_GRP) && (isPlayer (_this select 1)))}, CSE_ICON_PATH + "icon_interact.paa", {closeDialog 0; [player, _this select 1] call cse_fnc_tapShoulder_GRP;}, localize "STR_CSE_SHOULDER_TAP_TITLE"] - ]; - - ["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_groups/stringtable.xml b/TO_MERGE/cse/sys_groups/stringtable.xml deleted file mode 100644 index cc4bc03ee8..0000000000 --- a/TO_MERGE/cse/sys_groups/stringtable.xml +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - Column - Column - Kolonne - Kolumna - Columna - - - Stag Column - Stag Column - Gest.Kolonne - Kolumna rozpr. - Columna Esc. - - - - Wedge - Wedge - Keil - Klin - Cuña - - - - Echelon L - Echelon L - Staffel L - Eszelon L - Escalón Izq. - - - - Echelon R - Echelon R - Staffel R - Eszelon P - Escalon Der. - - - - Vee - Vee - V-Form. - Formacja V - Formación V - - - - Line - Line - Linie - Tyraliera - Línea - - - - File - File - Komp.Kolonne - Plik - Hilera - - - Diamond - Diamond - Raute - Diament - Diamante - - - - Column - Column - Kolonnenformation - Formacja kolumna/Polish> - Columna - - - Staggered Column - Staggered Column - Gestaffelte Kolonne - Formacja rozproszona kolumna - Columna Escalonada - - - - Wedge formation - Wedge formation - Keilformation - Formacja klin - Formación Cuña - - - - Echelon Left - Echelon Left - Staffel Links - Formacja eszelon lewy - Escalón Izquierda - - - - Echelon Right - Echelon Right - Staffel Rechts - Formacja eszelon prawy - Escalón Derecha - - - - Vee formation - Vee formation - V-Formation - Formacja w kształcie litery 'V' - Formación V - - - - Line formation - Line formation - Linienformation - Formacja linia - Formación Línea - - - - File formation - File formation - Kompakte Kolonnenformation - Formacja kompaktowa kolumna - Formación Hilera - - - Diamond formation - Diamond formation - Rautenformation - Formacja obrona okrężna - Formación Diamante - - - - - Formations - Formations - Formationen - Formacje - Formaciones - - - Order Formation - Order Formation - Formationsbefehl - Zmień formację - Ordenar Formaciones - - - - - - Lead Group - Lead Group - Gruppe anführen - Przejmij dowodzenie - Grupo de cabeza - - - Request group leader to take over group leader - Request group leader to take over group leader - Gruppenführerschaft anfordern - Poproś aktualnego dowódcę o przejęcie roli dowodzenia - Requerir un lider para que tome el control del grupo - - - %1 requests to be leader of this group - %1 requests to be leader of this group - %1 bittet um Gruppenführerschaft - %1 prosi o przejęcie dowodzenia nad tą grupą - %1 pide liderazgo de grupo - - - - - - Your shoulder was tapped! - Your shoulder was tapped! - Jemand hat dich angestupst! - Zostałeś klepnięty w ramię! - Te han tocado el hombro¡ - - - Shoulder Tap - Shoulder Tap - Schultergriff - Klepnij w ramię - Toque en el hombro - - - - - - Shoulder Tap - Shoulder Tap - Schultergriff - Klepanie w ramię - Toque en el hombro - - - When pressed, you tap the shoulder of the unit in front of you. This depends on the Shoulder Tap settings from the Groups Module. - When pressed, you tap the shoulder of the unit in front of you. This depends on the Shoulder Tap settings from the Groups Module. - Stupst die Einheit vor dir an der Schulter an. Dies hängt von den Schulter-Check Einstellungen im Gruppenmodul ab. - Przy użyciu klepniesz w ramię osobę przed tobą. Ta opcja zależna jest od ustawień klepania w ramię w module grupy. - Cuando se selecciona, tocas el hombro de la unidad que tengas en frente. Depende de la configuración del Módulo Grupos. - - - - - - Join Group - Dołącz do grupy - Unirse al Grupo - - - Join target Group - Dołączasz do wybranej grupy - Unirse al Grupo - - - %1 requests to join your group - %1 pragnie dołączyć do twojej grupy - %1 pide unirse a su grupo - - - - - Leave Group - Opuść grupę - Salir del Grupo - - - Leave Current Group - Opuszczasz aktualną grupę - Salir del Grupo - - - - - diff --git a/TO_MERGE/cse/sys_ieds/CfgAddons.h b/TO_MERGE/cse/sys_ieds/CfgAddons.h deleted file mode 100644 index 8a11ab5c62..0000000000 --- a/TO_MERGE/cse/sys_ieds/CfgAddons.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgAddons { - class PreloadAddons { - class cse_sys_ieds { - list[] = {"cse_sys_ieds"}; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ieds/CfgFunctions.h b/TO_MERGE/cse/sys_ieds/CfgFunctions.h deleted file mode 100644 index b6c117dbfb..0000000000 --- a/TO_MERGE/cse/sys_ieds/CfgFunctions.h +++ /dev/null @@ -1,24 +0,0 @@ -class CfgFunctions { - class CSE { - class IEDS { - file = "cse\cse_sys_ieds\functions"; - class module_spawnIED { recompile = 1; }; - class createIEDObject_IEDS { recompile = 1; }; - class checkIEDActivated_IEDS { recompile = 1; }; - class checkPressurePlateActivated_IEDS { recompile = 1; }; - class checkRadioTriggered_IEDS { recompile = 1; }; - class monitorIEDS_IEDS { recompile = 1; }; - class onIEDActivated_IEDS { recompile = 1; }; - class thor3_detection_IEDS { recompile = 1; }; - class playThorIIISound_IEDS { recompile = 1; }; - class triggerManGotVisual_IEDS { recompile = 1; }; - class moduleTriggerMan_IEDS { recompile = 1; }; - class placeDownIED_IEDS { recompile = 1; }; - class monitorPlayerIEDs_IEDS { recompile = 1; }; - - class onCellPhoneOpened_IEDS { recompile = 1; }; - class cellphone_detonateIED_IEDS { recompile = 1; }; - class checkIfJammed_IEDS { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/CfgSounds.h b/TO_MERGE/cse/sys_ieds/CfgSounds.h deleted file mode 100644 index 46e89a6090..0000000000 --- a/TO_MERGE/cse/sys_ieds/CfgSounds.h +++ /dev/null @@ -1,9 +0,0 @@ -class CfgSounds -{ - class cse_thor3_beep1 - { - name = "cse_thor3_beep1"; - sound[] = {"cse\cse_sys_ieds\sounds\beeps\03_Dull_Short_Mid.wav","db-1",1}; - titles[] = {}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/CfgVehicles.h b/TO_MERGE/cse/sys_ieds/CfgVehicles.h deleted file mode 100644 index 2355fd40e3..0000000000 --- a/TO_MERGE/cse/sys_ieds/CfgVehicles.h +++ /dev/null @@ -1,203 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - - - class cse_playerSpawnedIED: Logic { - displayName = "Player placed IED"; - }; - - class cseModule_spawnIEDs: Module_F { - scope = 2; - displayName = "Create IED [CSE]"; - icon = "\cse\cse_main\data\cse_explosive_module.paa"; - category = "cseMisc"; - function = "cse_fnc_module_spawnIED"; - functionPriority = 1; - isGlobal = 0; - isTriggerActivated = 0; - class Arguments { - class typeOfIED { - displayName = "Type"; - description = "The Type of the IED"; - typeName = "NUMBER"; - class values { - class land {name="Normal"; value=0; default=1; }; - class urban {name="Urban"; value=1; }; - }; - }; - - class sizeOfIED { - displayName = "Size"; - description = "The size of the IED"; - typeName = "NUMBER"; - class values { - class small {name="Small"; value=1; default=1; }; - class large {name="Large"; value=0; }; - }; - }; - - class heightOfIED { - displayName = "Height"; - description = "The height that the IED is burried"; - typeName = "NUMBER"; - class values { - class Above {name="Above Ground"; value=0; default=1; }; - class slightly {name="Slightly burried"; value=-0.015; }; - class medium {name="Medium burried"; value=-0.025; }; - class almost {name="Almost burried"; value=-0.05; }; - class fully {name="Fully burried"; value=-0.1; }; - }; - }; - - class iedActivationType { - displayName = "Activation Type"; - description = "How is the IED activated"; - typeName = "NUMBER"; - class values { - class None {name="None"; value=-1; }; - class PressurePlate {name="Pressure Plate"; value=0; default=1;}; - class Radio {name="Radio"; value=1; }; - }; - }; - - class activatedForTargets { - displayName = "Activated for"; - description = "What types is the IED activated for"; - typeName = "NUMBER"; - class values { - class None {name="None"; value=-1; }; - class All {name="Any type"; value=0; default=1;}; - class Vehicles {name="Any Vehicle"; value=1; }; - class Land {name="Ground Vehicles"; value=2; }; - class Air {name="Airial Vehicles"; value=3; }; - class Man {name="Man"; value=4; }; - }; - }; - - class activatedForSides { - displayName = "What sides activate this IED"; - description = "What types is the IED activated for"; - typeName = "NUMBER"; - class values { - class None {name="None"; value=-1; }; - class All {name="Any side"; value=0; default=1; }; - class West {name="BLUFOR"; value=1; }; - class East {name="OpFOR"; value=2; }; - class Ind {name="Independant"; value=3; }; - class Civ {name="Civilian"; value=4; }; - }; - }; - }; - - class ModuleDescription { - description = "Create an IED on position."; // Short description, will be formatted as structured text - sync[] = {"cseModule_spawnIEDs"}; - position = 1; // Position is taken into effect - direction = 0; // Direction is taken into effect - optional = 0; // Synced entity is optional - duplicate = 1; // Multiple entities of this type can be synced - - class cseModule_spawnIEDs { - description[] = { // Multi-line descriptions are supported - "Synchronize ieds with other IEDs to create chain ieds.", - "When one of the synchronized ieds is triggered,", - "all other IEDs will explode as well." - }; - position = 1; // Position is taken into effect - direction = 0; // Direction is taken into effect - optional = 1; // Synced entity is optional - duplicate = 1; // Multiple entities of this type can be synced - synced[] = {"cseModule_spawnIEDs"}; // Pre-define entities like "AnyBrain" can be used. See the list below - }; - - }; - }; - class cseModule_triggerManLinkIEDS: Module_F { - scope = 2; - displayName = "Triggerman [CSE]"; - icon = "\cse\cse_main\data\cse_explosive_module.paa"; - category = "cseMisc"; - function = "cse_fnc_moduleTriggerMan_IEDS"; - functionPriority = 1; - isGlobal = 0; - isTriggerActivated = 0; - class Arguments { - class EnableList { - displayName = "List"; - description = "List of unit names that will be able to trigger the radio IED."; - defaultValue = ""; - }; - }; - - class ModuleDescription { - description = "Defines units as triggerman."; // Short description, will be formatted as structured text - sync[] = {"cseModule_spawnIEDs"}; - position = 0; // Position is taken into effect - direction = 0; // Direction is taken into effect - optional = 0; // Synced entity is optional - duplicate = 1; // Multiple entities of this type can be synced - - class cseModule_spawnIEDs { - description[] = { // Multi-line descriptions are supported - "Synchronize module with IEDs to define.", - "which ieds can be triggered by units listed in module," - }; - position = 0; // Position is taken into effect - direction = 0; // Direction is taken into effect - optional = 0; // Synced entity is optional - duplicate = 1; // Multiple entities of this type can be synced - synced[] = {"cseModule_spawnIEDs"}; // Pre-define entities like "AnyBrain" can be used. See the list below - }; - }; - }; - - class B_Kitbag_sgg; - class cse_thorIII_backpack: B_Kitbag_sgg { - scope = 1; - author = "Combat Space Enhancement"; - displayName = "THOR III - Jammer"; - }; - - - // class Items_base_F; - // class cse_ied_pressureplate_small: Items_base_F { - // scope = 2; - // author = "Combat Space Enhancement"; - // displayName = "Pressure Plate IED (Small)"; - // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - // descriptionShort = "Pressure Plate IED (Small)"; - // descriptionUse = "Pressure Plate IED (Small)"; - // model = "\A3\Weapons_F\Explosives\IED_land_small"; - // }; - // class cse_ied_pressureplate_large: cse_ied_pressureplate_small { - // scope = 2; - // author = "Combat Space Enhancement"; - // displayName = "Pressure Plate IED (Large)"; - // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - // descriptionShort = "Pressure Plate IED (Large)"; - // descriptionUse = "Pressure Plate IED (Large)"; - // model = "\A3\Weapons_F\Explosives\IED_land_big"; - // }; - // class cse_ied_radio_small: cse_ied_pressureplate_small { - // scope = 2; - // author = "Combat Space Enhancement"; - // displayName = "Radio Triggered IED (Small)"; - // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - // descriptionShort = "Radio Triggered IED (Small)"; - // descriptionUse = "Radio Triggered IED (Small)"; - // model = "\A3\Weapons_F\Explosives\IED_land_small"; - // }; - // class cse_ied_radio_large: cse_ied_radio_small { - // scope = 2; - // author = "Combat Space Enhancement"; - // displayName = "Radio Triggered IED (Large)"; - // picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - // descriptionShort = "Radio Triggered IED (Large)"; - // descriptionUse = "Radio Triggered IED (Large)"; - // model = "\A3\Weapons_F\Explosives\IED_land_big"; - // }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/CfgWeapons.h b/TO_MERGE/cse/sys_ieds/CfgWeapons.h deleted file mode 100644 index f5f8ab8adc..0000000000 --- a/TO_MERGE/cse/sys_ieds/CfgWeapons.h +++ /dev/null @@ -1,133 +0,0 @@ -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class cse_ied_wires: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Wires (IED Material)"; - picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa"; - descriptionShort = "Necessary material for creating an IED"; - descriptionUse = "Used to connect the detonation device with the explosive"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - class cse_ied_explosive: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Explosive Material (IED Material)"; - picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa"; - descriptionShort = "Provides the boom."; - descriptionUse = "Makes the IED."; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - class cse_ied_detonator: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Detonator (IED Material)"; - picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa"; - descriptionShort = "Used to detonate the explosive."; - descriptionUse = "Ensures the explosives goes off when activated."; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - class cse_ied_pressure_plate: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Pressure Plate (IED Material)"; - picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa"; - descriptionShort = "Pressure plate for creating IEDs"; - descriptionUse = "Pressure plate for creating IEDs"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - class cse_ied_reciever: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Reciever (IED Material)"; - picture = "\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa"; - descriptionShort = "Radio Reciever for creating Radio activated IEDs"; - descriptionUse = "Radio Reciever for creating Radio activated IEDs"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - - - class cse_ied_pressureplate_small: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Pressure Plate IED (Small)"; - picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - descriptionShort = "Pressure Plate IED (Small)"; - descriptionUse = "Pressure Plate IED (Small)"; - model = "\A3\Weapons_F\Explosives\IED_land_small"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - class cse_ied_pressureplate_large: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Pressure Plate IED (Large)"; - picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - descriptionShort = "Pressure Plate IED (Large)"; - descriptionUse = "Pressure Plate IED (Large)"; - model = "\A3\Weapons_F\Explosives\IED_land_big"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - class cse_ied_radio_small: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Radio Triggered IED (Small)"; - picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - descriptionShort = "Radio Triggered IED (Small)"; - descriptionUse = "Radio Triggered IED (Small)"; - model = "\A3\Weapons_F\Explosives\IED_land_small"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - class cse_ied_radio_large: ItemCore { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Radio Triggered IED (Large)"; - picture = "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa"; - descriptionShort = "Radio Triggered IED (Large)"; - descriptionUse = "Radio Triggered IED (Large)"; - model = "\A3\Weapons_F\Explosives\IED_land_big"; - class ItemInfo: InventoryItem_Base_F - { - mass=10; - type=201; - }; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_ieds/Combat_Space_Enhancement.h deleted file mode 100644 index 1056858eaa..0000000000 --- a/TO_MERGE/cse/sys_ieds/Combat_Space_Enhancement.h +++ /dev/null @@ -1,8 +0,0 @@ -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_ieds { - init = "call compile preprocessFile 'cse\cse_sys_ieds\init_sys_ieds.sqf';"; - name = "IEDs"; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ieds/GUI.h b/TO_MERGE/cse/sys_ieds/GUI.h deleted file mode 100644 index ccb85e5924..0000000000 --- a/TO_MERGE/cse/sys_ieds/GUI.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "ui\define.hpp" -#include "ui\cellphone.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/config.cpp b/TO_MERGE/cse/sys_ieds/config.cpp deleted file mode 100644 index ed79dc9966..0000000000 --- a/TO_MERGE/cse/sys_ieds/config.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#define _ARMA_ -class CfgPatches -{ - class cse_sys_ieds - { - units[] = {"cse_thorIII_backpack" /*, "cse_ied_pressureplate_small", "cse_ied_pressureplate_large", "cse_ied_radio_small", "cse_ied_radio_large"*/}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_f_eh","cse_main"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -#include "CfgFunctions.h" -#include "CfgVehicles.h" -#include "CfgWeapons.h" -#include "CfgSounds.h" -#include "Combat_Space_Enhancement.h" -#include "CfgAddOns.h" -#include "GUI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/data/cellphone_background.paa b/TO_MERGE/cse/sys_ieds/data/cellphone_background.paa deleted file mode 100644 index 0570c7d228..0000000000 Binary files a/TO_MERGE/cse/sys_ieds/data/cellphone_background.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_ieds/data/icon_cellphone.paa b/TO_MERGE/cse/sys_ieds/data/icon_cellphone.paa deleted file mode 100644 index 01ec6c683a..0000000000 Binary files a/TO_MERGE/cse/sys_ieds/data/icon_cellphone.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_ieds/functions.sqf b/TO_MERGE/cse/sys_ieds/functions.sqf deleted file mode 100644 index 0ede0250b9..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions.sqf +++ /dev/null @@ -1,23 +0,0 @@ - -cse_fnc_spawn_ieds_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_spawn_ieds.sqf"; -cse_fnc_spawn_chain_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_spawn_chain.sqf"; -cse_fnc_link_chain_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_link_chain.sqf"; -cse_fnc_thor3_detection_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_thor3_detection.sqf"; -cse_fnc_triggerManGotVisual_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_triggerManGotVisual.sqf"; - - -cse_fnc_checkIEDActivated_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkIEDActivated.sqf"; -cse_fnc_checkPressurePlateActivated_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkPressurePlateActivated.sqf"; -cse_fnc_checkRadioTriggered_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_checkRadioTriggered.sqf"; - - - -cse_fnc_spotterFlee_IED = compile preprocessFile "cse\cse_sys_ieds\spotter\fnc_spotterFlee.sqf"; -cse_fnc_spotterBehaviour_IED = compile preprocessFile "cse\cse_sys_ieds\spotter\fnc_spotterBehaviour.sqf"; - - -cse_fnc_searchGround_IED = compile preprocessFile "cse\cse_sys_ieds\fnc_searchGround.sqf"; - -cse_fnc_broadcastTHOR3Sound = { - (_this select 0) say3D "beep"; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_cellphone_detonateIED_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_cellphone_detonateIED_IEDS.sqf deleted file mode 100644 index 98a322443f..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_cellphone_detonateIED_IEDS.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/** - * fn_cellphone_detonateIED_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_display", "_iedInfo"]; -_display = uiNamespace getVariable 'cse_ied_cellphone'; - - -if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then { - CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = []; -}; - -if (isnil "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS") then { - CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0; -}; - - -if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS > count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then { - CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0; -}; - -if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS < 0) then { - CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1; -}; - -if !(CSE_PLAYER_PLACED_RADIO_IEDS_IEDS isEqualTo []) then { - _iedInfo = CSE_PLAYER_PLACED_RADIO_IEDS_IEDS select CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS; - _iedLogic = _iedInfo select 0; - - if !([_iedLogic] call cse_fnc_checkIfJammed_IEDS) then { - if (_iedLogic distance player < 3000) then { - [_iedLogic] call cse_fnc_onIEDActivated_IEDS; - CSE_PLAYER_PLACED_RADIO_IEDS_IEDS set [CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS, objNull]; - CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = CSE_PLAYER_PLACED_RADIO_IEDS_IEDS - [objNull]; - CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS - 1; - }; - }; -}; - -[_display] call cse_fnc_onCellPhoneOpened_IEDS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkIEDActivated_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkIEDActivated_IEDS.sqf deleted file mode 100644 index 87cee1ec8d..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_checkIEDActivated_IEDS.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_checkIEDActivated_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic","_triggered"]; -_logic = _this select 0; -_triggered = false; - -switch (true) do { - case (_logic getvariable ["iedActivationType",0] == 0): { - if ([_logic] call cse_fnc_checkPressurePlateActivated_IEDS) then { - _triggered = true; - }; - }; - case (_logic getvariable ["iedActivationType",0] == 1): { - if ([_logic] call cse_fnc_checkRadioTriggered_IEDS) then { - _triggered = true; - }; - }; - case (_logic getvariable ["iedActivationType",0] == 2): { - if ([_logic] call cse_fnc_checkPressurePlateActivated_IEDS) then { - _triggered = true; - }; - }; - default { - }; -}; - -if (_triggered) then { - [_logic] call cse_fnc_onIEDActivated_IEDS; -}; - -_triggered \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkIfJammed_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkIfJammed_IEDS.sqf deleted file mode 100644 index b458572ce3..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_checkIfJammed_IEDS.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_checkIfJammed_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_ied", "_radioBlock", "_personsAround"]; -_ied = _this select 0; -_radioBlock = false; -_personsAround = (position _ied) nearEntities [["CaManBase"], 50]; -{ - if ((backpack _x == "cse_thorIII_backpack") && {(_x getvariable ["CSE_THOR_III_PACK_ENABLED_IEDS",false])}) exitwith { - _radioBlock = true; - }; - false; -}count _personsAround; - -_radioBlock \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkPressurePlateActivated_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkPressurePlateActivated_IEDS.sqf deleted file mode 100644 index cdca9dc727..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_checkPressurePlateActivated_IEDS.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/** - * fn_checkPressurePlateActivated_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_pressurePlate","_return","_list","_pos"]; -_pressurePlate = _this select 0; -_return = false; - - _pos = ASLToATL (getPosASL _pressurePlate); - _list = _pos nearEntities [(_pressurePlate getvariable ["activatedForTargets",["Man", "Air", "Car", "Motorcycle", "Tank"]]),3]; - { - if (side _x in (_pressurePlate getvariable ["activatedForSides",[WEST]])) then { - if (_x isKindOf "CaManBase") then { - if (_x distance _pressurePlate < random(1)) then { - _return = true; - }; - } else { - if (_x distance _pressurePlate < (0.5+random(3))) then { - _return = true; - }; - }; - }; - if (_return) exitwith {}; - false; - }count _list; - -_return - diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_checkRadioTriggered_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_checkRadioTriggered_IEDS.sqf deleted file mode 100644 index c056088b1d..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_checkRadioTriggered_IEDS.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/** - * fn_checkRadioTriggered_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_ied","_return","_list","_radioBlock","_personsAround","_targetDetected","_triggerMan"]; -_ied = _this select 0; -_return = false; -_targetDetected = false; -_triggerManUnits = _ied getvariable ["cse_ieds_triggerManUnits",[]]; -if ((_triggerManUnits isEqualTo [])) exitwith{false;}; -_list = (position _ied) nearEntities [(_ied getvariable ["activatedForTargets",["CaManBase", "Air", "Car", "Motorcycle", "Tank"]]),5]; -{ - _target = _x; - { - if ([_x, _target] call cse_fnc_triggerManGotVisual_IEDS) then { - if (side _target in (_ied getvariable ["activatedForSides",[WEST]])) then { - _targetDetected = true; - }; - }; - if (_targetDetected) exitwith {}; - }count _triggerManUnits; - if (_targetDetected) exitwith {}; -}count _list; - -if (!(_list isEqualTo []) && _targetDetected) then { - _radioBlock = [_ied] call cse_fnc_checkifJammed_IEDS; - _nearestPerson = _list select 0; - _vehicleNear = false; - { - if (_ied distance _x < (_ied distance _nearestPerson)) then { - _nearestPerson = _x; - }; - if (!(_x iskindof "CaManBase")) then { - _vehicleNear = true; - }; - }foreach _list; - - if (!_radioBlock) then { - if (count _list > 5) then { - _return = true; - } else { - if (((_nearestPerson distance _ied < 1) || _vehicleNear) && random(1) >0.985) then { - _return = true; - }; - }; - }; -}; -_return diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_createIEDObject_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_createIEDObject_IEDS.sqf deleted file mode 100644 index bb4b8d5179..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_createIEDObject_IEDS.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_createIEDObject_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define LAND_IEDS ["IEDLandBig_Remote_Ammo", "IEDLandSmall_Remote_Ammo"] -#define URBAN_IEDS ["IEDUrbanBig_Remote_Ammo", "IEDUrbanSmall_Remote_Ammo"] - -private ["_logic","_typeOfIED", "_sizeOfIED", "_heightOfIED", "_iedClass", "_iedCreated"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; - -if (isNull _logic) exitwith { - -}; -_typeOfIED = _logic getvariable ["typeOfIED", 0]; -_sizeOfIED = _logic getvariable ["sizeOfIED", 0]; -_heightOfIED = _logic getvariable ["heightOfIED", 0]; - -_iedClass = switch (_typeOfIED) do { - case 0: { LAND_IEDS select _sizeOfIED}; - case 1: { URBAN_IEDS select _sizeOfIED }; -}; -_iedCreated = _iedClass createVehicle (getPos _logic); -_logic setvariable ["cse_linkedIED_IEDS",_iedCreated, true]; -_iedCreated setPos [getPos _Logic select 0, getPos _Logic select 1, (getPos _Logic select 2) + _heightOfIED]; -[format["CREATED IED: %1", _iedCreated]] call cse_fnc_debug; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_moduleTriggerMan_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_moduleTriggerMan_IEDS.sqf deleted file mode 100644 index 97b9f7c3f7..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_moduleTriggerMan_IEDS.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_moduleTriggerMan_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic", "_units", "_activated", "_totalCollection", "_collection", "_collectObjects"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -_units = [_this,1,[],[[]]] call BIS_fnc_param; -_activated = [_this,2,true,[true]] call BIS_fnc_param; - -if (!local _logic) exitwith {}; diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_module_spawnIED.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_module_spawnIED.sqf deleted file mode 100644 index be7fa94fdf..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_module_spawnIED.sqf +++ /dev/null @@ -1,84 +0,0 @@ -/** - * fn_module_spawnIED.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic", "_units", "_activated", "_totalCollection", "_collection", "_collectObjects"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -_units = [_this,1,[],[[]]] call BIS_fnc_param; -_activated = [_this,2,true,[true]] call BIS_fnc_param; - -if (!local _logic) exitwith {}; - -_totalCollection = []; -_collectObjects = { - private ["_logic", "_collection"]; - _logic = _this select 0; - _collection = synchronizedObjects _logic; - { - if !(_x in _totalCollection) then { - if (typeOf _x == "cseModule_spawnIEDs") then { - if !(_x getvariable ["cse_master_IED", false]) then { - _x setvariable ["cse_subclass_IED", true]; - _x setvariable ["cse_controlledBy_IED",_logic]; - _totalCollection pushback _x; - [_x] call _collectObjects; - }; - } else { - if (typeOf _x == "cseModule_triggerManLinkIEDS") then { - _list = _x getvariable ["EnableList",""]; - _list = "[" + _list + "]"; - _parsedList = [] call compile _list; - _triggerManList = (_logic getvariable ["cse_ieds_triggerManUnits", []]) + _parsedList; - _logic setvariable ["cse_ieds_triggerManUnits", _triggerManList]; - [format["_triggerManList %1",_triggerManList]] call cse_fnc_debug; - }; - }; - }; - }foreach _collection; -}; - -if !(_logic getvariable ["cse_subclass_IED",false]) then { - _logic setvariable ["cse_master_IED", true]; - [_logic] call _collectObjects; - if (_logic getvariable ["cse_master_IED", false]) then { - _logic setvariable ["cse_iedCollection", (_logic getvariable ["cse_iedCollection",[]]) + _totalCollection]; - [format["%1 I am a master IED. Collection is: %2", _logic, (_logic getvariable ["cse_iedCollection",[]])]] call cse_fnc_debug; - if (isnil "CSE_MASTER_IED_COLLECTION") then { - CSE_MASTER_IED_COLLECTION = []; - }; - CSE_MASTER_IED_COLLECTION pushback _logic; - }; -}; - -[_logic] call cse_fnc_createIEDObject_IEDS; - -_activatedSides = _logic getvariable ["activatedForSides", -1]; -_activatedTargets = _logic getvariable ["activatedForTargets", -1]; - -_activatedTargets = switch (_activatedTargets) do { - case 0: {["CaManBase", "Air", "Car", "Motorcycle", "Tank"]}; - case 1: {["Air", "Car", "Motorcycle", "Tank"]}; - case 2: {["Car", "Motorcycle", "Tank"]}; - case 3: {["Air"]}; - case 4: {["CaManBase"]}; - default {[]}; -}; -_logic setvariable ["activatedForTargets", _activatedTargets]; - -_activatedSides = switch (_activatedSides) do { - case 0: {[west, east, independent, civilian, sideEnemy, sideFriendly]}; - case 1: {[west, sideEnemy]}; - case 2: {[east, sideEnemy]}; - case 3: {[independent, sideEnemy]}; - case 4: {[civilian, sideEnemy]}; - default {[]}; -}; - -_logic setvariable ["activatedForSides", _activatedSides, true]; -_logic setvariable ["iedActivationType", _logic getvariable ["iedActivationType",0], true]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_monitorIEDs_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_monitorIEDs_IEDS.sqf deleted file mode 100644 index 3b9d63333c..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_monitorIEDs_IEDS.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_monitorIEDs_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_activated"]; -if !(isnil "CSE_MONITORING_IEDS") exitwith {}; -CSE_MONITORING_IEDS = true; -sleep 1; -if (isnil "CSE_MASTER_IED_COLLECTION") then { - CSE_MASTER_IED_COLLECTION = []; -}; -_code = ' - { - _activated = false; - if !([_x] call cse_fnc_checkIEDActivated_IEDS) then { - { - if ([_x] call cse_fnc_checkIEDActivated_IEDS) exitwith { _activated = true;}; - }foreach (_x getvariable ["cse_iedCollection", []]); - } else { - _activated = true; - }; - if (_activated) exitwith { - CSE_MASTER_IED_COLLECTION deleteAt _foreachIndex; - }; - false; - }count CSE_MASTER_IED_COLLECTION; - - false;'; - -cse_sys_ieds_monitorIEDs_Trigger = createTrigger["EmptyDetector", [0,0,0]]; -cse_sys_ieds_monitorIEDs_Trigger setTriggerActivation ["NONE", "PRESENT", true]; -cse_sys_ieds_monitorIEDs_Trigger setTriggerTimeout [0, 0, 0, false]; -cse_sys_ieds_monitorIEDs_Trigger setTriggerStatements[_code, "", ""]; - diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_monitorPlayerIEDs_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_monitorPlayerIEDs_IEDS.sqf deleted file mode 100644 index aa55d1203a..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_monitorPlayerIEDs_IEDS.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_monitorPlayerIEDs_IEDS.sqf - * @Descr: Checks player placed pressure plate IEDs - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_activated"]; -if !(isnil "CSE_MONITORING_PLAYER_IEDS") exitwith {}; -CSE_MONITORING_PLAYER_IEDS = true; -sleep 1; -if (isnil "CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS") then { - CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS = []; -}; - -[format["CSE_MONITORING_PLAYER_IEDS"]] call cse_fnc_debug; -_code = ' - { - _activated = false; - if ([_X] call cse_fnc_checkPressurePlateActivated_IEDS) then { - _activated = true; - [_x] call cse_fnc_onIEDActivated_IEDS; - }; - if (_activated || isNull _x) exitwith { - CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS deleteAt _foreachIndex; - }; - false; - }count CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS; -'; - - -cse_sys_ieds_monitorPlayerIEDs_Trigger = createTrigger["EmptyDetector", [0,0,0]]; -cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerActivation ["NONE", "PRESENT", true]; -cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerTimeout [0, 0, 0, false]; -cse_sys_ieds_monitorPlayerIEDs_Trigger setTriggerStatements[_code, "", ""]; - diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_onCellPhoneOpened_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_onCellPhoneOpened_IEDS.sqf deleted file mode 100644 index fbd83c30f2..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_onCellPhoneOpened_IEDS.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/** - * fn_onCellPhoneOpened_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_display"]; -_display = uiNamespace getVariable 'cse_ied_cellphone'; - - -if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then { - CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = []; -}; - -(_display displayCtrl 10) ctrlSetText "Adres book"; - -if (isnil "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS") then { - CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0; -}; - -if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS > count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then { - CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = 0; -}; - -if (CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS < 0) then { - CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1; -}; -(_display displayCtrl 12) ctrlSetText ""; -(_display displayCtrl 13) ctrlSetText ""; -(_display displayCtrl 14) ctrlSetText ""; - -_ctrlIDC = 12; -_cellphoneBookPointer = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS; -for [{_EHiterator=0}, {(_EHiterator< 3)}, {_EHiterator=_EHiterator+1}] do { - if (_cellphoneBookPointer >= count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then { - _cellphoneBookPointer = 0; - }; - if (_cellphoneBookPointer < 0) then { - _cellphoneBookPointer = (count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) - 1; - }; - if (_EHiterator < count CSE_PLAYER_PLACED_RADIO_IEDS_IEDS) then { - (_display displayCtrl _ctrlIDC) ctrlSetText format["#%1", ((CSE_PLAYER_PLACED_RADIO_IEDS_IEDS select _cellphoneBookPointer) select 1)]; - _cellphoneBookPointer = _cellphoneBookPointer + 1; - _ctrlIDC = _ctrlIDC + 1; - }; -}; - -(_display displayCtrl 12) ctrlSetbackgroundColor [0,0,0,0.1]; diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_onIEDActivated_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_onIEDActivated_IEDS.sqf deleted file mode 100644 index 2059f50f27..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_onIEDActivated_IEDS.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/** - * fn_onIEDActivated_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic","_chain","_iedLogic", "_trigger", "_getMasterIED"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; - - -_getMasterIED = { - if (_logic getvariable ["cse_subclass_IED",false]) then { - _logic = _logic getvariable ["cse_controlledBy_IED",_logic]; - if (_logic getvariable ["cse_subclass_IED",false]) then { - call _getMasterIED; - }; - }; -}; -call _getMasterIED; - -_chain = _logic getvariable ["cse_iedCollection",[]]; -_chain pushback _logic; -{ - private ["_ied", "_trigger"]; - _iedLogic = _x; - _trigger = _iedLogic getvariable ["cse_linkedIED_IEDS", objNull]; - [_iedLogic,_trigger, _logic] spawn { - _iedLogic = _this select 0; - _trigger = _this select 1; - _master = _this select 2; - if (!isNull _trigger) then { - if (random(1)>0.5 && (_iedLogic != _master)) then { - uisleep (random(2)); - }; - //(_iedLogic getvariable ["explosiveType","R_60mm_HE"]) createVehicle (getPos _iedLogic); - deleteVehicle _iedLogic; - _trigger setDamage 1; - }; - }; -}foreach _chain; - -[format["%1 is triggering ied chain: %1",_logic, _chain]] call cse_fnc_debug; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_placeDownIED_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_placeDownIED_IEDS.sqf deleted file mode 100644 index 67021314d1..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_placeDownIED_IEDS.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/** - * fn_placeDownIED_IEDS.sqf - * @Descr: Places down an IED (Player side) - * @Author: Glowbal - * - * @Arguments: [type NUMBER (The type of IED.), size NUMBER, activationType NUMBER (1 = radio, 0 = pressure plate)] - * @Return: logic LOGIC Returns the created IED logic - * @PublicAPI: true - */ - -private ["_position", "_logic"]; -_typeOfIED = _this select 0; -_sizeOfIED = _this select 1; -_activationType = _this select 2; -//_position = _this select 3; - - -_position = getPos player; -_logic = (createGroup sideLogic) createUnit ["cse_playerSpawnedIED", _position, [], 0, "FORM"]; -_logic setPos _position; - -_logic setvariable ["typeOfIED", _typeOfIED, true]; -_logic setvariable ["sizeOfIED", _sizeOfIED, true]; -_logic setvariable ["heightOfIED", 0, true]; -_logic setvariable ["iedActivationType", _activationType, true]; - -[_logic] call cse_fnc_createIEDObject_IEDS; - -if (isnil "CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS") then { - CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS = []; -}; - -if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_IEDS") then { - CSE_PLAYER_PLACED_RADIO_IEDS_IEDS = []; -}; -if (isnil "CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS") then { - CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS = 0; -}; - -if (_activationType != 1) then { - _logic spawn { - hintSilent parseText "You placed down an IED.
IED will be activate in 5 seconds.
"; - uisleep 5; - CSE_PLAYER_PLACED_PRESSURE_IEDS_IEDS pushback _this; - }; -} else { - CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS = CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS + 1; - CSE_PLAYER_PLACED_RADIO_IEDS_IEDS pushback [_logic, format["IED %1",CSE_PLAYER_PLACED_RADIO_IEDS_COUNTER_IEDS]]; -}; - -[format["fn_placeDownIED_IEDS %1", _logic]] call cse_fnc_debug; - -_logic \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_playThorIIISound_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_playThorIIISound_IEDS.sqf deleted file mode 100644 index b736c95d9e..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_playThorIIISound_IEDS.sqf +++ /dev/null @@ -1,11 +0,0 @@ -/** - * fn_playThorIIISound_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -(_this select 0) say3D "cse_thor3_beep1"; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_searchGround_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_searchGround_IEDS.sqf deleted file mode 100644 index 3564f522af..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_searchGround_IEDS.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/** - * fn_searchGround_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define AVAILABLE_IEDS ["cseModule_spawnIEDs", "cse_playerSpawnedIED"] -#define MAX_SEARCH_DISTANCE 2.5 - -private ["_unit", "_foundIEDS", "_diggedUp", "_pos", "_height"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; - -_foundIEDS = nearestObjects [_unit, AVAILABLE_IEDS, MAX_SEARCH_DISTANCE]; -_diggedUp = false; -{ - _ied = _x getvariable ["cse_linkedIED_IEDS", objNull]; - if (((getPos _ied) select 2) < 0) then { - if (random(1)>0.1) then { - _diggedUp = true; - }; - }; - if (_diggedUp) exitwith{ - _pos = getPos _ied; - _height = (_pos select 2) + 0.09; - if (_height > 0) then { - _height = 0; - }; - _pos set[2,_height]; - _ied setPos _pos; - }; -}foreach _foundIEDs; - -if (_unit == player) then { - if (_diggedUp) then { - _unit sidechat "You uncover some of an IED"; - _unit sidechat format["Pos: %1",_pos]; - } else { - _unit sidechat "You didn't find anything"; - }; -}; - -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_thor3_detection_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_thor3_detection_IEDS.sqf deleted file mode 100644 index d13c08809c..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_thor3_detection_IEDS.sqf +++ /dev/null @@ -1,28 +0,0 @@ -if (!isnil "CSE_LAST_TRACKER_THORBEEP_MOMENT") exitwith {}; - -CSE_PLAY_THOR_III_SOUND_IEDS = false; -CSE_THOR_III_PACK_ENABLED_IEDS = true; -player setvariable ["CSE_THOR_III_PACK_ENABLED_IEDS",true,true]; -CSE_LAST_TRACKER_THORBEEP_MOMENT = time; -_code = { - if ((backpack player) == "cse_thorIII_backpack" && {(player getvariable ["CSE_THOR_III_PACK_ENABLED_IEDS", false])}) then { - _foundIEDS = nearestObjects [player, ["cseModule_spawnIEDs", "cse_playerSpawnedIED"], 50]; - { - _distanceToIED = player distance _x; - if (_distanceToIED < 50) exitwith { - if (_X getvariable ["iedActivationType",0] == 1) exitwith { - _timeDifference = (_distanceToIED/50) * 10 * MODIFIER_LOOP_DELAY; - if (time - CSE_LAST_TRACKER_THORBEEP_MOMENT >= (_timeDifference*accTime)) then { - CSE_LAST_TRACKER_THORBEEP_MOMENT = time; - playSound3D ["cse\cse_sys_ieds\sounds\beeps\03_Dull_Short_Mid.wav", player, false, getPos player, 35, 1, 10]; - }; - }; - }; - CSE_LAST_TRACKER_THORBEEP_MOMENT = time; - }count _foundIEDS; - }; -}; - -["cse_thor3TrackerBeeping", [], _code] call cse_fnc_addTaskToPool_f; - -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/functions/fn_triggerManGotVisual_IEDS.sqf b/TO_MERGE/cse/sys_ieds/functions/fn_triggerManGotVisual_IEDS.sqf deleted file mode 100644 index fd400be10b..0000000000 --- a/TO_MERGE/cse/sys_ieds/functions/fn_triggerManGotVisual_IEDS.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_triggerManGotVisual_IEDS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_triggerMan","_obj","_return"]; -_triggerMan = _this select 0; -_obj = _this select 1; -_return = false; - -if (!(_triggerMan getvariable ["cse_ieds_SpotterFleeing_IEDS",false]) && _triggerMan != _obj && alive _triggerMan) then { - if (_obj distance _triggerMan <350) then { - _triggerMan doWatch _obj; - _return = !(lineIntersects [eyePos _triggerMan, getPos _obj,_triggerMan]); - }; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/icon.paa b/TO_MERGE/cse/sys_ieds/icon.paa deleted file mode 100644 index 976f316c8e..0000000000 Binary files a/TO_MERGE/cse/sys_ieds/icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_ieds/init_sys_ieds.sqf b/TO_MERGE/cse/sys_ieds/init_sys_ieds.sqf deleted file mode 100644 index a123a5ca36..0000000000 --- a/TO_MERGE/cse/sys_ieds/init_sys_ieds.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/** - * init_sys_ieds.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define IED_ICON "\A3\Weapons_F\Data\UI\gear_c4_charge_small_CA.paa" - -if (isServer) then { - call cse_fnc_monitorIEDS_IEDS; -}; - -if (hasInterface) then { - CSE_THOR_III_PACK_ENABLED_IEDS = true; - call cse_fnc_thor3_detection_IEDS; - call cse_fnc_monitorPlayerIEDS_IEDS; -}; - -waituntil{!isnil "cse_gui"}; - -_entries = [ - ["Pressure Plate (S)", {([player,"cse_ied_pressureplate_small"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 1, 0] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_pressureplate_small";}, "Place Pressure plate IED (Small)"], - - ["Pressure Plate (M)", {([player,"cse_ied_pressureplate_large"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 0, 0] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_pressureplate_large";}, "Place Pressure plate IED (Large)"], - - ["Radio (S)", {([player,"cse_ied_radio_small"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 1, 1] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_radio_small";}, "Place Radio IED (Small)"], - ["Radio (M)", {([player,"cse_ied_radio_large"] call cse_fnc_hasItem)}, IED_ICON, {closeDialog 0; [0, 0, 1] call cse_fnc_placeDownIED_IEDS; player removeItem "cse_ied_radio_large";}, "Place Radio IED (Large)"], - ["Cell Phone", {([player,"cse_oldphone"] call cse_fnc_hasItem)}, "cse\cse_sys_ieds\data\icon_cellphone.paa", {closeDialog 0; createDialog "cse_ied_cellphone";}, "Use Cell Phone Trigger"] -]; - -["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ieds/sounds/beeps/03_Dull_Short_Mid.wav b/TO_MERGE/cse/sys_ieds/sounds/beeps/03_Dull_Short_Mid.wav deleted file mode 100644 index b8ad2067ba..0000000000 Binary files a/TO_MERGE/cse/sys_ieds/sounds/beeps/03_Dull_Short_Mid.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_ieds/stringtable.xml b/TO_MERGE/cse/sys_ieds/stringtable.xml deleted file mode 100644 index 0eb106e300..0000000000 --- a/TO_MERGE/cse/sys_ieds/stringtable.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - Pressure Plate IED (Small) - IED z zapalnikiem naciskowym (mały) - IED Placa de Presión (Pequeño) - - - Pressure Plate IED (Large) - IED z zapalnikiem naciskowym (duży) - IED Placa de Presión (Grande) - - - Radio IED (Small) - IED z zapalnikiem radiowym (mały) - IED Activación remota (Pequeño) - - - Radio IED (Large) - IED z zapalnikiem radiowym (duży) - IED Activación remota (Grande) - - - - diff --git a/TO_MERGE/cse/sys_ieds/ui/cellphone.hpp b/TO_MERGE/cse/sys_ieds/ui/cellphone.hpp deleted file mode 100644 index 72126be1ca..0000000000 --- a/TO_MERGE/cse/sys_ieds/ui/cellphone.hpp +++ /dev/null @@ -1,111 +0,0 @@ -class cse_ied_cellphone { - idd = 754321; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_ied_cellphone', _this select 0]; [_this] call cse_fnc_onCellPhoneOpened_IEDS; ['CSE_RADIAL_MENU', false] call cse_fnc_gui_blurScreen;"; - onUnload = ""; - - class controlsBackground { - class cse_background : cse_gui_backgroundBase { - idc = -1; - x = "0 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "30 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "cse\cse_sys_ieds\data\cellphone_background.paa"; - }; - }; - class controls { - class labelTextMenu : cse_gui_staticBase { - idc = 10; - x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "18.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "5.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - text = "SERVICE"; - colorBackground[] = {0,0,0,0.0}; - colorText[] = {0.0, 0.0, 0.0, 1.0}; - style = ST_CENTER; - }; - class labelTextLineOne : labelTextMenu { - idc = 11; - x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "5.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.6)"; - text = ""; - style = ST_LEFT; - }; - class labelTextLineTwo : labelTextLineOne { - idc = 12; - y = "20.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class labelTextLineThree : labelTextLineOne { - idc = 13; - y = "21 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class labelTextLineFour : labelTextLineOne { - idc = 14; - y = "21.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - - - class actionCenter : cse_gui_buttonBase { - idc = 30; - text = ""; - x = "6.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "23 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "2.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,0.0)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,0.0)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,0.0)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,0.0)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = "[] call cse_fnc_cellphone_detonateIED_IEDS;"; - }; - - class actionButtonLeft : actionCenter { - idc = 31; - text = ""; - x = "5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "24 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = ""; - }; - class actionButtonRight_downwards : actionButtonLeft { - idc = 32; - text = ""; - x = "8.3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "24.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS - 1; [_this] call cse_fnc_onCellPhoneOpened_IEDS;"; - }; - class actionButtonRight_up : actionButtonRight_downwards { - idc = 32; - text = ""; - x = "9.3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "23.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = "CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS = CSE_CELLPHONE_ADRESSBOOK_POINTER_IEDS + 1; [_this] call cse_fnc_onCellPhoneOpened_IEDS;"; - }; - - }; -}; diff --git a/TO_MERGE/cse/sys_ieds/ui/createIED.hpp b/TO_MERGE/cse/sys_ieds/ui/createIED.hpp deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_ieds/ui/define.hpp b/TO_MERGE/cse/sys_ieds/ui/define.hpp deleted file mode 100644 index c521de470f..0000000000 --- a/TO_MERGE/cse/sys_ieds/ui/define.hpp +++ /dev/null @@ -1,797 +0,0 @@ - -#ifndef CSE_DEFINE_H -#define CSE_DEFINE_H -// define.hpp - -#define true 1 -#define false 0 - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_ANIMATED_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define CT_LISTNBOX 102 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define ST_TITLE ST_TITLE_BAR + ST_CENTER - -// Slider styles -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 - -#define SL_TEXTURES 0x10 - -// Listbox styles -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontCSE "PuristaMedium" - -class cse_gui_backgroundBase { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - colorBackground[] = {0,0,0,0}; - colorText[] = {1, 1, 1, 1}; - font = FontCSE; - text = ""; - sizeEx = 0.032; -}; -class cse_gui_editBase -{ - access = 0; - type = 2; - x = 0; - y = 0; - h = 0.04; - w = 0.2; - colorBackground[] = - { - 0, - 0, - 0, - 1 - }; - colorText[] = - { - 0.95, - 0.95, - 0.95, - 1 - }; - colorSelection[] = - { - "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", - "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", - "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", - 1 - }; - autocomplete = ""; - text = ""; - size = 0.2; - style = "0x00 + 0x40"; - font = "PuristaMedium"; - shadow = 2; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorDisabled[] = - { - 1, - 1, - 1, - 0.25 - }; -}; - - - -class cse_gui_buttonBase { - idc = -1; - type = 16; - style = ST_LEFT; - text = ""; - action = ""; - x = 0.0; - y = 0.0; - w = 0.25; - h = 0.04; - size = 0.03921; - sizeEx = 0.03921; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - /*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"}; - colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8}; - */ - - colorBackground[] = {1,1,1,0.95}; - colorbackground2[] = {1,1,1,0.95}; - colorDisabled[] = {1,1,1,0.6}; - colorFocused[] = {1,1,1,1}; - colorBackgroundFocused[] = {1,1,1,1}; - periodFocus = 1.2; - periodOver = 0.8; - default = false; - class HitZone { - left = 0.00; - top = 0.00; - right = 0.00; - bottom = 0.00; - }; - - class ShortcutPos { - left = 0.00; - top = 0.00; - w = 0.00; - h = 0.00; - }; - - class TextPos { - left = 0.002; - top = 0.0004; - right = 0.0; - bottom = 0.00; - }; - textureNoShortcut = ""; - animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa"; - animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - period = 0.5; - font = FontCSE; - soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0}; - soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; - class Attributes { - font = FontCSE; - color = "#E5E5E5"; - align = "center"; - shadow = "true"; - }; - class AttributesImage { - font = FontCSE; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; -}; - -class cse_gui_RscProgress { - type = 8; - style = 0; - colorFrame[] = {1,1,1,0.7}; - colorBar[] = {1,1,1,0.7}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; -}; - - -class cse_gui_staticBase { - idc = -1; - type = CT_STATIC; - x = 0.0; - y = 0.0; - w = 0.183825; - h = 0.104575; - style = ST_LEFT; - font = FontCSE; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - text = ""; -}; - -class RscListBox; -class cse_gui_listBoxBase : RscListBox{ - type = CT_LISTBOX; - style = ST_MULTI; - font = FontCSE; - sizeEx = 0.03921; - color[] = {1, 1, 1, 1}; - colorText[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - period = 1.2; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; - - -class cse_gui_listNBox { - access = 0; - type = CT_LISTNBOX;// 102; - style =ST_MULTI; - w = 0.4; - h = 0.4; - font = FontCSE; - sizeEx = 0.031; - - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - columns[] = {0.0}; - color[] = {1, 1, 1, 1}; - - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - rows = 1; - - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - maxHistoryDelay = 1; - soundSelect[] = {"", 0.1, 1}; - period = 1; - shadow = 2; - class ScrollBar { - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - border = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "#(argb,8,8,3)color(1,1,1,1)"; - }; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - -class RscCombo; -class cse_gui_comboBoxBase: RscCombo { - idc = -1; - type = 4; - style = "0x10 + 0x200"; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - color[] = {0,0,0,0.6}; - colorActive[] = {1,0,0,1}; - colorBackground[] = {0,0,0,1}; - colorDisabled[] = {1,1,1,0.25}; - colorScrollbar[] = {1,0,0,1}; - colorSelect[] = {0,0,0,1}; - colorSelectBackground[] = {1,1,1,0.7}; - colorText[] = {1,1,1,1}; - - arrowEmpty = ""; - arrowFull = ""; - wholeHeight = 0.45; - font = FontCSE; - sizeEx = 0.031; - soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; - soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; - soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; - maxHistoryDelay = 1.0; - class ScrollBar - { - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - border = ""; - }; - class ComboScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - - -class cse_gui_mapBase { - moveOnEdges = 1; - x = "SafeZoneXAbs"; - y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "SafeZoneWAbs"; - h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 100; // Use 100 to hide markers - style = 48; - shadow = 0; - - ptsPerSquareSea = 5; - ptsPerSquareTxt = 3; - ptsPerSquareCLn = 10; - ptsPerSquareExp = 10; - ptsPerSquareCost = 10; - ptsPerSquareFor = 9; - ptsPerSquareForEdge = 9; - ptsPerSquareRoad = 6; - ptsPerSquareObj = 9; - showCountourInterval = 0; - scaleMin = 0.001; - scaleMax = 1.0; - scaleDefault = 0.16; - maxSatelliteAlpha = 0.85; - alphaFadeStartScale = 0.35; - alphaFadeEndScale = 0.4; - colorBackground[] = {0.969,0.957,0.949,1.0}; - colorSea[] = {0.467,0.631,0.851,0.5}; - colorForest[] = {0.624,0.78,0.388,0.5}; - colorForestBorder[] = {0.0,0.0,0.0,0.0}; - colorRocks[] = {0.0,0.0,0.0,0.3}; - colorRocksBorder[] = {0.0,0.0,0.0,0.0}; - colorLevels[] = {0.286,0.177,0.094,0.5}; - colorMainCountlines[] = {0.572,0.354,0.188,0.5}; - colorCountlines[] = {0.572,0.354,0.188,0.25}; - colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6}; - colorCountlinesWater[] = {0.491,0.577,0.702,0.3}; - colorPowerLines[] = {0.1,0.1,0.1,1.0}; - colorRailWay[] = {0.8,0.2,0.0,1.0}; - colorNames[] = {0.1,0.1,0.1,0.9}; - colorInactive[] = {1.0,1.0,1.0,0.5}; - colorOutside[] = {0.0,0.0,0.0,1.0}; - colorTracks[] = {0.84,0.76,0.65,0.15}; - colorTracksFill[] = {0.84,0.76,0.65,1.0}; - colorRoads[] = {0.7,0.7,0.7,1.0}; - colorRoadsFill[] = {1.0,1.0,1.0,1.0}; - colorMainRoads[] = {0.9,0.5,0.3,1.0}; - colorMainRoadsFill[] = {1.0,0.6,0.4,1.0}; - colorGrid[] = {0.1,0.1,0.1,0.6}; - colorGridMap[] = {0.1,0.1,0.1,0.6}; - colorText[] = {1, 1, 1, 0.85}; -font = "PuristaMedium"; -sizeEx = 0.0270000; -stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; -stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; -onMouseButtonClick = ""; -onMouseButtonDblClick = ""; - - fontLabel = "PuristaMedium"; - sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontGrid = "TahomaB"; - sizeExGrid = 0.02; - fontUnits = "TahomaB"; - sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontNames = "PuristaMedium"; - sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2"; - fontInfo = "PuristaMedium"; - sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontLevel = "TahomaB"; - sizeExLevel = 0.02; - text = "#(argb,8,8,3)color(1,1,1,1)"; - class ActiveMarker { - color[] = {0.30, 0.10, 0.90, 1.00}; - size = 50; - }; - class Legend - { - x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)"; - y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - font = "PuristaMedium"; - sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - colorBackground[] = {1,1,1,0.5}; - color[] = {0,0,0,1}; - }; - class Task - { - icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa"; - iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa"; - iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa"; - iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa"; - iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa"; - color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"}; - colorCreated[] = {1,1,1,1}; - colorCanceled[] = {0.7,0.7,0.7,1}; - colorDone[] = {0.7,1,0.3,1}; - colorFailed[] = {1,0.3,0.2,1}; - size = 27; - importance = 1; - coefMin = 1; - coefMax = 1; - }; - class Waypoint - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class WaypointCompleted - { - icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class CustomMark - { - icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa"; - size = 24; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {0,0,0,1}; - }; - class Command - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - size = 18; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {1,1,1,1}; - }; - class Bush - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = "14/2"; - importance = "0.2 * 14 * 0.05 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Rock - { - icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa"; - color[] = {0.1,0.1,0.1,0.8}; - size = 12; - importance = "0.5 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class SmallTree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.6 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Tree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.9 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class busstop - { - icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class fuelstation - { - icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class hospital - { - icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class church - { - icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class lighthouse - { - icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class power - { - icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powersolar - { - icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwave - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwind - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class quay - { - icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class shipwreck - { - icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class transmitter - { - icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class watertower - { - icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class Cross - { - icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Chapel - { - icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Bunker - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 14; - importance = "1.5 * 14 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fortress - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 16; - importance = "2 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fountain - { - icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa"; - size = 11; - importance = "1 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Ruin - { - icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa"; - size = 16; - importance = "1.2 * 16 * 0.05"; - coefMin = 1; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Stack - { - icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa"; - size = 20; - importance = "2 * 16 * 0.05"; - coefMin = 0.9; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Tourism - { - icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa"; - size = 16; - importance = "1 * 16 * 0.05"; - coefMin = 0.7; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class ViewTower - { - icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa"; - size = 16; - importance = "2.5 * 16 * 0.05"; - coefMin = 0.5; - coefMax = 4; - color[] = {0,0,0,1}; - }; -}; - -#endif \ No newline at end of file diff --git a/TO_MERGE/cse/sys_launchers/backblast/CfgFunctions.h b/TO_MERGE/cse/sys_launchers/backblast/CfgFunctions.h deleted file mode 100644 index d63428835d..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/CfgFunctions.h +++ /dev/null @@ -1,8 +0,0 @@ -class CfgFunctions { - class CSE { - class Backblast { - file = "cse\cse_sys_launchers\backblast\functions"; - class handleBackBlast_BB { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_launchers/backblast/CfgVehicles.h b/TO_MERGE/cse/sys_launchers/backblast/CfgVehicles.h deleted file mode 100644 index 115bcf8b6f..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/CfgVehicles.h +++ /dev/null @@ -1,45 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_sys_backblast: Module_F { - scope = 2; - displayName = "Backblast [CSE]"; - icon = "\cse\cse_main\data\cse_backblast_module.paa"; - category = "cse_equipment"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class inBuilding { - displayName = "Affect Buildings"; - description = "Should backblast be affected by structures"; - typeName = "BOOL"; - }; - class forAI { - displayName = "Enable for AI"; - description = "Should backblast be enabled for AI"; - typeName = "BOOL"; - }; - class damageModifier { - displayName = "Damage modifier"; - description = "Select the aggressiveness of the backblast damage"; - typeName = "NUMBER"; - class values { - class recruit { name = "Recruit"; value = 0.5; }; - class regular { name = "Regular"; value = 1.0; default = 1; }; - class veteran { name = "Veteran"; value = 1.2; }; - class expert { name = "Expert"; value = 1.4; }; - }; - }; - class advanced { - displayName = "Advanced Backblast"; - description = "Should enviroment and walls have an effect on backblast?"; - typeName = "BOOL"; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_launchers/backblast/CfgWeapons.h b/TO_MERGE/cse/sys_launchers/backblast/CfgWeapons.h deleted file mode 100644 index 9194336d8f..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/CfgWeapons.h +++ /dev/null @@ -1,9 +0,0 @@ -class CfgWeapons { - class Launcher; - class Launcher_Base_F: Launcher { - cse_backblastAngle = 75; - cse_backblastDamage = 1; - cse_backblast_maxDistance = 5; - cse_backblast_noObjectDistance = 5; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_launchers/backblast/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_launchers/backblast/Combat_Space_Enhancement.h deleted file mode 100644 index 387fa6b562..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/Combat_Space_Enhancement.h +++ /dev/null @@ -1,13 +0,0 @@ -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_backblast { - init = "call compile preprocessFile 'cse\cse_sys_launchers\backblast\init_sys_backblast.sqf';"; - name = "Backblast"; - class EventHandlers { - class CAManBase { - FiredNear = "_this call cse_fnc_handleBackBlast_BB;"; - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_launchers/backblast/config.cpp b/TO_MERGE/cse/sys_launchers/backblast/config.cpp deleted file mode 100644 index 48ad7fe65e..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/config.cpp +++ /dev/null @@ -1,25 +0,0 @@ -class CfgPatches { - class cse_sys_backblast { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_f_eh","cse_main"}; - versionDesc = "CSE Backblast"; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -class cse_sys_weaponrest { - class PreloadAddons { - class cse_sys_backblast { - list[] = {"cse_sys_backblast"}; - }; - }; -}; - -#include "CfgVehicles.h" -#include "CfgWeapons.h" -#include "CfgFunctions.h" -#include "Combat_Space_Enhancement.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_launchers/backblast/functions/fn_handleBackblast_BB.sqf b/TO_MERGE/cse/sys_launchers/backblast/functions/fn_handleBackblast_BB.sqf deleted file mode 100644 index 68e723075f..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/functions/fn_handleBackblast_BB.sqf +++ /dev/null @@ -1,153 +0,0 @@ -/** - * fn_handleBackblast_BB.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_unitFired","_firedDistance","_weaponFired","_backblastAngle","_backblastRange","_backblastDamage","_direction","_distance","_relativePosition","_relativeDirection","_relativeAzimuth","_relativeInclination","_return","_handle","_percentage","_doDamage", "_weaponDir", "_positionEndLauncher", "_positionBehindMax", "_positionBehindNoObj"]; - -_unit = _this select 0; -if (!local _unit) exitwith {}; -_unitFired = _this select 1; -_firedDistance = _this select 2; -_weaponFired = _this select 3; - -if (!CSE_BACKBLAST_EFFECT_AI_BB && !(IsPlayer _unit)) exitwith {}; -if (vehicle _unit != _unit) exitWith {}; - -_return = false; - -_backblastDamage = getNumber (configFile >> "CfgWeapons" >> _weaponFired >> "cse_backblastDamage"); -if (_backblastDamage == 0) exitwith {}; -if (_unit != _unitFired) then { - _noObjectDistance = getNumber (configFile >> "CfgWeapons" >> _weaponFired >> "cse_backblast_noObjectDistance"); - _backblastDistance = (getNumber (configFile >> "CfgWeapons" >> _weaponFired >> "cse_backblast_maxDistance")); - if ((_noObjectDistance + _backblastDistance) < _firedDistance) exitwith {}; - - _doDamage = _backblastDamage; - if (_firedDistance > _noObjectDistance ) then { - _percentage = (_firedDistance / _backblastDistance); - if (_percentage < 1) then { - _doDamage = _backblastDamage * _percentage; - }; - }; - // _doDamage = _backblastDamage / (_backblastDistance-(_firedDistance^(1/2))); - - _doDamage = _doDamage * CSE_BACKBLAST_DAMAGE_MODIFIER_BB; - - _weaponDir = _unitFired weaponDirection currentWeapon _unitFired; - _positionEndLauncher = ATLtoASL ((_unitFired modelToWorld (_unitFired selectionPosition "RightHand")) vectorAdd (_weaponDir vectorMultiply (0.5))); - _positionBehindNoObj = _positionEndLauncher vectorAdd (_weaponDir vectorMultiply _noObjectDistance); - _positionBehindMax = _positionEndLauncher vectorAdd (_weaponDir vectorMultiply (_noObjectDistance + _backblastDistance)); - - - _direction = direction _unitFired; - - _backblastAngle = getNumber (configFile >> "CfgWeapons" >> _weaponFired >> "cse_backblastAngle"); - if ([position _unitFired,_direction - 180,_backblastAngle / 2,position _unit] call BIS_fnc_inAngleSector) then { - - _line = [_positionEndLauncher, eyePos _unit, _unit, _unitFired]; - if ((!lineIntersects _line) /*&& {!terrainIntersect [_positionEndLauncher, getPosASL _unit]}*/) then { - _return = true; - - if (["cse_sys_medical"] call cse_fnc_isModuleEnabled_F) then { - if (random(1)>0.5) then { - [_unit,"body",(damage _unit + (random(_doDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - if (random(1)>0.5) then { - [_unit,"head",(damage _unit + (random(_doDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - if (random(1)>0.5) then { - [_unit,"legs",(damage _unit + (random(_doDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - if (random(1)>0.5) then { - [_unit,"arms",(damage _unit + (random(_doDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - [_unit, _backblastDamage, 0] call cse_fnc_increasePain_CMS; - - if (random(1)>0.1) then { - [_unit] call cse_fnc_setProne; - [_unit] call cse_fnc_setUnconsciousState; - } else { - [_unit,_doDamage] call cse_fnc_reactionToHit_CMS; - }; - } else { - _unit setDamage (damage _unit + _doDamage) min 0.95; - if (random(1)>0.1) then { - [_unit] call cse_fnc_setProne; - }; - }; - - if (isPlayer _unit) then { - playSound "combat_deafness"; - [_doDamage] call BIS_fnc_bloodEffect; - [_unit,0.5] call BIS_fnc_dirtEffect; - }; - }; - }; -} else { - _noObjectDistance = getNumber (configFile >> "CfgWeapons" >> _weaponFired >> "cse_backblast_noObjectDistance"); - if (CSE_BACKBLAST_AFFECTS_INBUILDING_BB || CSE_BACKBLAST_AFFECTS_ADVANCED_BB) then { - if ([_unitFired] call cse_fnc_isInBuilding || CSE_BACKBLAST_AFFECTS_ADVANCED_BB) then { - private ["_eyePos","_buildingBehind","_obj"]; - _eyePos = eyePos _unit; - _buildingBehind = false; - - _weaponDir = _unitFired weaponDirection currentWeapon _unitFired; - _positionEndLauncher = ATLtoASL ((_unitFired modelToWorld (_unitFired selectionPosition "RightHand")) vectorAdd (_weaponDir vectorMultiply (0.5))); - _positionBehindNoObj = _positionEndLauncher vectorAdd (_weaponDir vectorMultiply _noObjectDistance); - _positionBehindMax = _positionEndLauncher vectorAdd (_weaponDir vectorMultiply (_noObjectDistance + _backblastDistance)); - - - _obj = (lineIntersectsWith [_positionEndLauncher, _positionBehindNoObj, _unit]); - _buildingBehind = ({(_x isKindOf "Building")}count _obj) > 0; - - if (CSE_BACKBLAST_AFFECTS_ADVANCED_BB) then { - if (!_buildingBehind) then { - _buildingBehind = (terrainIntersect [_positionEndLauncher, _positionBehindNoObj]); - }; - }; - - if (_buildingBehind) then { - _return = true; - //_backblastDamage = _backblastDamage * CSE_BACKBLAST_DAMAGE_MODIFIER_BB; - if (["cse_sys_medical"] call cse_fnc_isModuleEnabled_F) then { - if (random(1)>0.5) then { - _handle = [_unit,"body",(damage _unit + (random(_backblastDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - if (random(1)>0.5) then { - _handle = [_unit,"head",(damage _unit + (random(_backblastDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - if (random(1)>0.5) then { - _handle = [_unit,"legs",(damage _unit + (random(_backblastDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - if (random(1)>0.5) then { - _handle = [_unit,"arms",(damage _unit + (random(_backblastDamage))),_unitFired,_weaponFired,"backblast"] spawn cse_fnc_handleDamage_CMS; - }; - [_unit,_backblastDamage,0] call cse_fnc_increasePain_CMS; - - if (random(1)>0.1) then { - [_unit] call cse_fnc_setUnconsciousState; - } else { - [_unit,_backblastDamage] call cse_fnc_reactionToHit_CMS; - }; - } else { - _unit setDamage (damage _unit + 0.2); - if (random(1)>0.1) then { - [_unit] call cse_fnc_setProne; - }; - }; - if (isPlayer _unit) then { - playSound "combat_deafness"; - [_backblastDamage] call BIS_fnc_bloodEffect; - [_unit,0.5] call BIS_fnc_dirtEffect; - }; - }; - }; - }; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_launchers/backblast/init_sys_backblast.sqf b/TO_MERGE/cse/sys_launchers/backblast/init_sys_backblast.sqf deleted file mode 100644 index 4ad04eb716..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/init_sys_backblast.sqf +++ /dev/null @@ -1,21 +0,0 @@ -CSE_BACKBLAST_AFFECTS_INBUILDING_BB = false; -CSE_BACKBLAST_EFFECT_AI_BB = false; -CSE_BACKBLAST_AFFECTS_ADVANCED_BB = false; -CSE_BACKBLAST_DAMAGE_MODIFIER_BB = 0.5; -private ["_args"]; -_args = _this; - -{ - if (_x select 0 == "inBuilding") then { - CSE_BACKBLAST_AFFECTS_INBUILDING_BB = _x select 1; - }; - if (_x select 0 == "forAI") then { - CSE_BACKBLAST_EFFECT_AI_BB = _x select 1; - }; - if (_x select 0 == "damageModifier") then { - CSE_BACKBLAST_DAMAGE_MODIFIER_BB = _x select 1; - }; - if (_x select 0 == "advanced") then { - CSE_BACKBLAST_AFFECTS_ADVANCED_BB = _x select 1; - }; -}foreach _args; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_launchers/backblast/stringtable.xml b/TO_MERGE/cse/sys_launchers/backblast/stringtable.xml deleted file mode 100644 index a1df2063e2..0000000000 --- a/TO_MERGE/cse/sys_launchers/backblast/stringtable.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/CfgFunctions.h b/TO_MERGE/cse/sys_logistics/CfgFunctions.h deleted file mode 100644 index 3270411518..0000000000 --- a/TO_MERGE/cse/sys_logistics/CfgFunctions.h +++ /dev/null @@ -1,14 +0,0 @@ -class CfgFunctions { - class CSE { - class Logistics { - file = "cse\cse_sys_logistics\functions"; - class hideObjCargo_LOG { recompile = 1; }; - class findVehicle_LOG { recompile = 1; }; - class loadObject_LOG { recompile = 1; }; - class unloadObject_LOG { recompile = 1; }; - class canCarryObj_LOG { recompile = 1; }; - class canDragObj_LOG { recompile = 1; }; - class dragObject_LOG { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/CfgVehicles.h b/TO_MERGE/cse/sys_logistics/CfgVehicles.h deleted file mode 100644 index ab14a81a96..0000000000 --- a/TO_MERGE/cse/sys_logistics/CfgVehicles.h +++ /dev/null @@ -1,35 +0,0 @@ -class CfgVehicles -{ - class Logic; - class Module_F: Logic - { - class ArgumentsBaseUnits - { - }; - }; - class cse_sys_logistics: Module_F - { - scope = 2; - displayName = "Logistics [CSE]"; - icon = "\cse\cse_main\data\cse_basic_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments - { - - }; - }; - -/* class NATO_Box_Base; - class cse_logisticCrate : NATO_Box_Base { - scope = 2; - accuracy = 1000; - displayName = "Logistic Crate"; - model = "\cse\cse_sys_logistics\data\crate\crate.p3d"; - author = "Combat Space Enhancement"; - };*/ - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_logistics/Combat_Space_Enhancement.h deleted file mode 100644 index 049cc8ef3a..0000000000 --- a/TO_MERGE/cse/sys_logistics/Combat_Space_Enhancement.h +++ /dev/null @@ -1,8 +0,0 @@ -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_logistics { - init = "call compile preprocessFile 'cse\cse_sys_logistics\init_sys_logistics.sqf';"; - name = "Logistics Module"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/GUI.h b/TO_MERGE/cse/sys_logistics/GUI.h deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_logistics/config.cpp b/TO_MERGE/cse/sys_logistics/config.cpp deleted file mode 100644 index d55f707993..0000000000 --- a/TO_MERGE/cse/sys_logistics/config.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#define _ARMA_ -class CfgPatches -{ - class cse_sys_logistics - { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui","cse_main","cse_f_modules"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; -class CfgAddons { - class PreloadAddons { - class cse_sys_logistics { - list[] = {"cse_sys_logistics"}; - }; - }; -}; - -#include "CfgVehicles.h" -#include "CfgFunctions.h" -#include "Combat_Space_Enhancement.h" -#include "GUI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/data/crate/crate.p3d b/TO_MERGE/cse/sys_logistics/data/crate/crate.p3d deleted file mode 100644 index 2fe8b0775a..0000000000 Binary files a/TO_MERGE/cse/sys_logistics/data/crate/crate.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_logistics/data/crate/crate.rvmat b/TO_MERGE/cse/sys_logistics/data/crate/crate.rvmat deleted file mode 100644 index 7549f8f750..0000000000 --- a/TO_MERGE/cse/sys_logistics/data/crate/crate.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.5,0.5,0.5,1}; -forcedDiffuse[]={0.5,0.5,0.5,0}; -emmisive[]={0,0,0,1}; -specular[]={0.30000001,0.30000001,0.30000001,0}; -specularPower=57.799999; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\crate\crate_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_medical\equipment\crate\crate_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_logistics/data/crate/crate_co.paa b/TO_MERGE/cse/sys_logistics/data/crate/crate_co.paa deleted file mode 100644 index 77cccead11..0000000000 Binary files a/TO_MERGE/cse/sys_logistics/data/crate/crate_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_logistics/data/crate/crate_nohq.paa b/TO_MERGE/cse/sys_logistics/data/crate/crate_nohq.paa deleted file mode 100644 index 119f1810d1..0000000000 Binary files a/TO_MERGE/cse/sys_logistics/data/crate/crate_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_logistics/data/crate/crate_smdi.paa b/TO_MERGE/cse/sys_logistics/data/crate/crate_smdi.paa deleted file mode 100644 index cd10050fc0..0000000000 Binary files a/TO_MERGE/cse/sys_logistics/data/crate/crate_smdi.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_logistics/functions/fn_canCarryObj_LOG.sqf b/TO_MERGE/cse/sys_logistics/functions/fn_canCarryObj_LOG.sqf deleted file mode 100644 index ef783d9933..0000000000 --- a/TO_MERGE/cse/sys_logistics/functions/fn_canCarryObj_LOG.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/** - * fn_canCarryObj_LOG.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -#define MIN_DISTANCE 4 - -private ["_caller", "_object", "_log"]; -_caller = _this select 0; -_object = _this select 1; - -if (!(isNull ([_caller] call cse_fnc_getCarriedObj)) || !((_object distance _caller) < MIN_DISTANCE)) exitwith { - false; -}; - -_log = (_object getvariable "CSE_Logistics_Enable"); -if !(isnil "_log") exitwith { - (_object getVariable ["CSE_Logistics_Enable", false]) -}; - -false; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/functions/fn_canDragObj_LOG.sqf b/TO_MERGE/cse/sys_logistics/functions/fn_canDragObj_LOG.sqf deleted file mode 100644 index ff09078de8..0000000000 --- a/TO_MERGE/cse/sys_logistics/functions/fn_canDragObj_LOG.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/** - * fn_canDragObj_LOG.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -#define MIN_DISTANCE 4 - -private ["_caller", "_object", "_check"]; -_caller = _this select 0; -_object = _this select 1; - -if (!(isNull ([_caller] call cse_fnc_getCarriedObj)) || !((_object distance _caller) < MIN_DISTANCE)) exitwith { - false; -}; - -_check = _object getvariable "CSE_Logistics_Enable_drag"; -if !(isnil "_check") exitwith { - _check; -}; - -((_object iskindof "StaticWeapon") || ((_object iskindof "ReammoBox") || (_object iskindof "ReammoBox_F"))); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/functions/fn_dragObject_LOG.sqf b/TO_MERGE/cse/sys_logistics/functions/fn_dragObject_LOG.sqf deleted file mode 100644 index 1a5b60aa32..0000000000 --- a/TO_MERGE/cse/sys_logistics/functions/fn_dragObject_LOG.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_dragObject_LOG.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define DISTANCE_OBJECT 1.3 - -private ["_caller", "_object", "_attachToPos"]; -_caller = _this select 0; -_object = _this select 1; - -_attachToPos = [0, DISTANCE_OBJECT, (_caller worldToModel (_object modelToWorld [0,0,0])) select 2]; -if ([_caller, _object, _attachToPos, false] call cse_fnc_carryObj) then { - closeDialog 0; - [player, "STR_CSE_LOG_DRAG_OBJECT","STR_CSE_LOG_START_DRAGGING"] call cse_fnc_sendDisplayMessageTo; - - if (currentWeapon _caller == primaryWeapon _caller) then { - [_caller, "AcinPknlMstpSrasWrflDnon", true] call cse_fnc_localAnim; - } else { - [_caller, "AcinPknlMstpSnonWnonDnon", true] call cse_fnc_localAnim; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/functions/fn_findVehicle_LOG.sqf b/TO_MERGE/cse/sys_logistics/functions/fn_findVehicle_LOG.sqf deleted file mode 100644 index 4bd4ecee2a..0000000000 --- a/TO_MERGE/cse/sys_logistics/functions/fn_findVehicle_LOG.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/** - * fn_findVehicle_LOG.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_loadcar","_loadhelicopter", "_loadtank", "_vehicle"]; -_unit = _this select 0; -_loadcar = nearestObject [_unit, "car"]; -_loadhelicopter = nearestObject [_unit, "air"]; -_loadtank = nearestObject [_unit, "tank"]; -_vehicle = ObjNull; - - -if (_unit distance _loadcar <= 10) then { - _vehicle = _loadcar; -} else { - if (_unit distance _loadhelicopter <= 10) then - { - _vehicle = _loadhelicopter; - } else { - if (_unit distance _loadtank <= 10) then - { - _vehicle = _loadtank; - } else { - }; - }; -}; -_vehicle \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/functions/fn_hideObjCargo_LOG.sqf b/TO_MERGE/cse/sys_logistics/functions/fn_hideObjCargo_LOG.sqf deleted file mode 100644 index 787b77bc1e..0000000000 --- a/TO_MERGE/cse/sys_logistics/functions/fn_hideObjCargo_LOG.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_hideObjCargo_LOG.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_obj","_veh"]; -_obj = _this select 0; -_veh = _this select 1; -_hide = _this select 2; - -if (_hide) then { - _obj enableSimulation false; - _obj hideObject true; -} else { - _obj enableSimulation true; - _obj hideObject false; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/functions/fn_loadObject_LOG.sqf b/TO_MERGE/cse/sys_logistics/functions/fn_loadObject_LOG.sqf deleted file mode 100644 index 97c8a2e05a..0000000000 --- a/TO_MERGE/cse/sys_logistics/functions/fn_loadObject_LOG.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/** - * fn_loadObject_LOG.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_obj","_veh","_loaded","_numberLoaded"]; -_obj = _this select 0; -_veh = _this select 1; -if (isNull _veh) exitwith { - hintSilent "Cannot load object in vehicle"; - false; -}; -if (speed _veh > 1) exitwith {false}; -if (((getPos _veh) select 2) > 3) exitwith {false}; -_loaded = _veh getvariable ["cse_logistics_loadedCargo_LOG",[]]; -_numberLoaded = count _loaded; -if (_numberLoaded > 5) exitwith { - // we need to properly implement a check for amount of cargo in vehicle - hintSilent "This vehicle is full!"; - false; -}; -_loaded set[ _numberLoaded, _obj]; -_veh setvariable ["cse_logistics_loadedCargo_LOG",_loaded,true]; -detach _obj; -_obj attachTo [_veh,[0,0,100]]; - -[[_obj, _veh, true], "cse_fnc_hideObjCargo_LOG", true, false] spawn BIS_fnc_MP; - -[[_obj, _veh], "logistics_ObjectLoaded"] call cse_fnc_customEventHandler_F; - -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/functions/fn_unloadObject_LOG.sqf b/TO_MERGE/cse/sys_logistics/functions/fn_unloadObject_LOG.sqf deleted file mode 100644 index 5c0fdf1c50..0000000000 --- a/TO_MERGE/cse/sys_logistics/functions/fn_unloadObject_LOG.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/** - * fn_unloadObject_LOG.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_obj","_veh","_loaded","_numberLoaded","_position","_mTw"]; -_obj = _this select 0; -_veh = _this select 1; - -if (speed _veh > 5) exitwith { - hintSilent "Vehicle is moving to fast"; -}; -if (((getPos _veh) select 2) > 5) exitwith { - hintSilent "Vehicle is to high"; -}; - -_position = position _veh findEmptyPosition [0, 50, typeOf _obj]; -if (count _position < 1) exitwith { - hintSilent "No empty space available - cannot unload cargo!"; -}; - -_loaded = _veh getvariable ["cse_logistics_loadedCargo_LOG",[]]; - -_numberLoaded = count _loaded; -_loaded = _loaded - [_obj]; -_veh setvariable ["cse_logistics_loadedCargo_LOG",_loaded,true]; -detach _obj; - -_obj setPos _position; -//_obj setPos [((getPos _veh) select 0), ((getPos _veh) select 1), (getPos _veh ) select 2]; -[[_obj, _veh, false], "cse_fnc_hideObjCargo_LOG", true, false] spawn BIS_fnc_MP; - -if ([player, _obj] call cse_fnc_canCarryObj_LOG) then { - if ([player,_obj,[0,1.5,1],false] call cse_fnc_carryObj) then { - hint format["Object unloaded / moving"]; - }; -} else { - if ([player, _obj] call cse_fnc_canDragObj_LOG) then { - [player, _obj] call cse_fnc_dragObject_LOG; - }; -}; - -[[_obj, _veh], "logistics_ObjectUnloaded"] call cse_fnc_customEventHandler_F; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/init_sys_logistics.sqf b/TO_MERGE/cse/sys_logistics/init_sys_logistics.sqf deleted file mode 100644 index d93c22d582..0000000000 --- a/TO_MERGE/cse/sys_logistics/init_sys_logistics.sqf +++ /dev/null @@ -1,49 +0,0 @@ -/* - NAME: init - USAGE: CSE SYS Logistics init file - AUTHOR: Glowbal - RETURN: void - -*/ - - -waituntil{!isnil "cse_gui"}; -[format["LOG - Logistics Module initialised"],2] call cse_fnc_debug; - -_entries = [ - [localize "STR_CSE_LOG_CARRY", cse_fnc_canCarryObj_LOG, CSE_ICON_PATH + "icon_movement.paa", - { - if ([_this select 0,_this select 1,[0,1.5,1],false] call cse_fnc_carryObj) then { - closeDialog 0; - [player, "STR_CSE_LOG_MOVE_OBJECT","STR_CSE_LOG_OBJECT_PICKED_UP"] call cse_fnc_sendDisplayMessageTo; - - [player, 10] call cse_fnc_limitSpeed; - }; - }, localize "STR_CSE_LOG_CARRY_OBJECT"], - - [localize "STR_CSE_LOG_DRAG", cse_fnc_canDragObj_LOG, CSE_ICON_PATH + "icon_movement.paa", cse_fnc_dragObject_LOG, localize "STR_CSE_LOG_DRAG_OBJECT"], - - [localize "STR_CSE_LOG_DROP",{(!isNull ([(_this select 0)] call cse_fnc_getCarriedObj)) && !(([(_this select 0)] call cse_fnc_getCarriedObj) isKindOf "CaManBase")}, CSE_ICON_PATH + "icon_placedown.paa", - { - ([_this select 0,ObjNull,[0,1,1]] call cse_fnc_carryObj); - [player, "STR_CSE_LOG_DROPPED_OBJECT","STR_CSE_LOG_PLACED_DOWN_OBJECT"] call cse_fnc_sendDisplayMessageTo; - closeDialog 0; - player switchMove ""; - [player, -1] call cse_fnc_limitSpeed; - },localize "STR_CSE_LOG_DROP_OBJECT"], - - [localize "STR_CSE_LOG_LOAD",{(!isNull ([(_this select 0)] call cse_fnc_getCarriedObj)) && !(([(_this select 0)] call cse_fnc_getCarriedObj) isKindOf "CaManBase")}, CSE_ICON_PATH + "icon_place_in.paa", - { - ([_this select 0,ObjNull,[0,1,1]] call cse_fnc_carryObj); - if ([(_this select 1),[(_this select 1)] call cse_fnc_findVehicle_LOG] call cse_fnc_loadObject_LOG) then { - [player, "STR_CSE_LOG_LOAD_OBJECT","STR_CSE_LOG_LOADED_OBJECT"] call cse_fnc_sendDisplayMessageTo; - }; - player switchMove ""; - closeDialog 0; - [player, -1] call cse_fnc_limitSpeed; - }, localize "STR_CSE_LOG_LOAD_OBJECT"] -]; -["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - //call compile preprocessFile "cse\cse_sys_logistics\scripts\addactions.sqf"; - diff --git a/TO_MERGE/cse/sys_logistics/scripts/addactions.sqf b/TO_MERGE/cse/sys_logistics/scripts/addactions.sqf deleted file mode 100644 index 6c2de1e5fe..0000000000 --- a/TO_MERGE/cse/sys_logistics/scripts/addactions.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/* - NAME: Addactions - USAGE: Adds the interaction options to objects - AUTHOR: gobbo - RETURN: void - -*/ - -// == Carry system == -//CSE_Logistics_Pickup = player addaction ["Pick up object", "cse\cse_sys_logistics\scripts\carry\pickup.sqf", [], 6, false, true, "","(alive cursorTarget) AND (cursorTarget distance player <= 5) AND (cursortarget getVariable [""CSE_Logistics_Enable"", true]) AND ((cursortarget iskindof ""ReammoBox"") OR (cursortarget iskindof ""ReammoBox_F"")) && (isNull ([player] call cse_fnc_getCarriedObj))"]; - -//CSE_Logistics_Drop = player addaction ["Drop object", "cse\cse_sys_logistics\scripts\carry\drop.sqf", [], 6, false, true, "","(!isNull ([player] call cse_fnc_getCarriedObj))"]; - -// == Load system == -//CSE_Logistics_Load = player addaction ["Load object", "cse\cse_sys_logistics\scripts\load\load.sqf", [], 6, false, true, "","(!isNull ([player] call cse_fnc_getCarriedObj)) && !(([player] call cse_fnc_getCarriedObj) isKindof 'Man') "]; - -//CSE_Logistics_Unload = player addaction ["Unload object", "cse\cse_sys_logistics\scripts\load\unload.sqf", [], 6, false, true, "","(alive cursorTarget) AND (cursorTarget distance player <= 10) AND (cursortarget getVariable [""CSE_Logistics_Loaded"", 0] > 0) AND (player getVariable [""CSE_HandsFree"", true])"]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_logistics/stringtable.xml b/TO_MERGE/cse/sys_logistics/stringtable.xml deleted file mode 100644 index 286551b0a0..0000000000 --- a/TO_MERGE/cse/sys_logistics/stringtable.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - Carry - Transportar - - - Carry Object - Transportar Objeto - - - Drag - Arrastrar - - - Drag Object - Arrastrar Objeto - - - Drop - Soltar - - - Drop Object - Soltar Objeto - - - Load - Cargar - - - Load Object - Cargar Objeto - - - - - - Moving Object - Moviendo Objeto - - - Dropped Object - Objeto Liberado - - - Object picked up - Objeto Tomado - - - - You start dragging the object - Arrastrando Objeto - - - You placed down the object - Objeto Liberado - - - You loaded the object in a vehicle - Objeto cargado en el vehículo - - - - diff --git a/TO_MERGE/cse/sys_medical/CfgFactionClasses.h b/TO_MERGE/cse/sys_medical/CfgFactionClasses.h deleted file mode 100644 index 19f4307cb5..0000000000 --- a/TO_MERGE/cse/sys_medical/CfgFactionClasses.h +++ /dev/null @@ -1,7 +0,0 @@ -class CfgFactionClasses -{ - class NO_CATEGORY; - class cse_medical: NO_CATEGORY { - displayName = "CSE Medical"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/CfgFunctions.h b/TO_MERGE/cse/sys_medical/CfgFunctions.h deleted file mode 100644 index 88845199f1..0000000000 --- a/TO_MERGE/cse/sys_medical/CfgFunctions.h +++ /dev/null @@ -1,157 +0,0 @@ -class CfgFunctions { - class CSE { - class Medical { - file = "cse\cse_sys_medical\functions"; - class initForUnit_CMS { recompile = 1; }; - class getSelectedBodyPart_CMS { recompile = 1; }; - class getBandageOptions_CMS { recompile = 1; }; - class getAdvancedOptions_CMS { recompile = 1; }; - class getExamineOptions_CMS { recompile = 1; }; - class getAirwayOptions_CMS { recompile = 1; }; - class getMedicationOptions_CMS { recompile = 1; }; - class getToggleOptions_CMS { recompile = 1; }; - class getTriageCardOptions_CMS { recompile = 1; }; - class getDragOptions_CMS { recompile = 1; }; - class getOptionsForCategory_CMS { recompile = 1; }; - class updateAttributes_CMS { recompile = 1; }; - class getBloodLoss_CMS { recompile = 1; }; - class effectsLoop_CMS { recompile = 1; }; - class inMedicalFacility_CMS { recompile = 1; }; - class medicClass_CMS { recompile = 1; }; - class playInjuredSound_CMS { recompile = 1; }; - class setDead_CMS { recompile = 1; }; - class setMedicRole_CMS { recompile = 1; }; - class assignMedicRoles_CMS { recompile = 1;}; - class assignMedicalFacility_CMS { recompile = 1;}; - class assignMedicalVehicle_CMS { recompile = 1; }; - class assignMedicalEquipment_CMS { recompile = 1; }; - class addOpenWounds_CMS { recompile = 1; }; - class isMedicalVehicle_CMS { recompile = 1; }; - class canAccessMedicalEquipment_CMS; - class hasMedicalEnabled_CMS { recompile = 1; }; - class placeInBodyBag_CMS { recompile = 1; }; - class canPutInBodyBag_CMS { recompile = 1; }; - class hasOpenWounds_CMS { recompile = 1; }; - }; - - class Blood { - file = "cse\cse_sys_medical\functions\blood"; - class BloodConditions_CMS { recompile = 1; }; - class cardiacArrest_CMS { recompile = 1; }; - }; - - class ActivityLog { - file = "cse\cse_sys_medical\functions\activityLog"; - class addActivityToLog_CMS { recompile = 1; }; - class getActivityLog_CMS { recompile = 1; }; - class addToQuickViewLog_CMS { recompile = 1; }; - class getQuickViewLog_CMS { recompile = 1; }; - }; - - class MedicalUI { - file = "cse\cse_sys_medical\functions\ui"; - class openMenu_CMS { recompile = 1; }; - class onMenuOpen_CMS { recompile = 1; }; - class updateUIInfo_CMS { recompile = 1; }; - class displayOptions_CMS { recompile = 1; }; - class updateActivityLog_CMS { recompile = 1; }; - class updateBodyImg_CMS { recompile = 1; }; - class dropDownTriageCard_CMS { recompile = 1; }; - class updateIcons_CMS { recompile = 1; }; - class getCurrentSelectedInjuryData_CMS { recompile = 1; }; - }; - - class handleDamage { - file = "cse\cse_sys_medical\functions\handledamage"; - class handleDamage_CMS { recompile = 1; }; - class getBodyPartNumber_CMS { recompile = 1; }; - class getNewDamageBodyPart_CMS { recompile = 1; }; - class getTypeOfDamage_CMS { recompile = 1; }; - class assignOpenWounds_CMS { recompile = 1; }; - class assignFractures_CMS { recompile = 1; }; - class assignAirwayStatus_CMS { recompile = 1; }; - class determineIfFatal_CMS { recompile = 1; }; - class determineIfUnconscious_CMS { recompile = 1; }; - class reactionToHit_CMS { recompile = 1; }; - class increasePain_CMS { recompile = 1; }; - class damageBodyPart_CMS { recompile = 1; }; - - }; - class BasicMedical { - file = "cse\cse_sys_medical\functions\basic"; - class basicBandage_CMS { recompile = 1; }; - class fromNumberToBodyPart_CMS { recompile = 1; }; - }; - - class MedicalTreatment { - file = "cse\cse_sys_medical\functions\treatment"; - class treatmentMutex_CMS { recompile = 1; }; - class isSetTreatmentMutex_CMS { recompile = 1; }; - class bandage_CMS { recompile = 1; }; - class bandageLocal_CMS { recompile = 1; }; - class bandageOpening_CMS { recompile = 1; }; - class iv_CMS { recompile = 1; }; - class ivLocal_CMS { recompile = 1; }; - class medication_CMS { recompile = 1; }; - class medicationLocal_CMS { recompile = 1; }; - class removeTourniquet_CMS { recompile = 1; }; - class tourniquet_CMS { recompile = 1; }; - class tourniquetLocal_CMS { recompile = 1; }; - class hasTourniquetAppliedTo_CMS {recompile = 1; }; - class performCPR_CMS { recompile = 1; }; - class performCPRLocal_CMS { recompile = 1; }; - class performCPRProvider_CMS { recompile = 1; }; - class performCPRSuccess_CMS { recompile = 1; }; - class heal_CMS { recompile = 1; }; - class healLocal_CMS { recompile = 1; }; - class handleHeal_CMS { recompile = 1; }; - class treatmentAirway_CMS { recompile = 1; }; - class treatmentAirwayLocal_CMS { recompile = 1; }; - class hasEquipment_CMS { recompile = 1; }; - class useEquipment_CMS { recompile = 1; }; - class performStitching_CMS { recompile = 1; }; - }; - - class MedicalDrag { - file = "cse\cse_sys_medical\functions\drag"; - class switchBody_CMS { recompile = 1; }; - class drag_CMS { recompile = 1; }; - class carry_CMS { recompile = 1; }; - class drop_CMS { recompile = 1; }; - }; - - class MedicalLoading { - file = "cse\cse_sys_medical\functions\loading"; - class load_CMS { recompile = 1; }; - class loadLocal_CMS { recompile = 1; }; - class unload_CMS { recompile = 1; }; - }; - - class MedicalExamine { - file = "cse\cse_sys_medical\functions\examine"; - class checkPulseLocal_CMS { recompile = 1; }; - class checkBloodPressureLocal_CMS { recompile = 1; }; - class checkPulse_CMS { recompile = 1; }; - class checkBloodPressure_CMS { recompile = 1; }; - class checkResponse_CMS { recompile = 1; }; - }; - - class TriageCard { - file = "cse\cse_sys_medical\functions\triage"; - class getTriageList_CMS { recompile = 1; }; - class addToTriageList_CMS { recompile = 1; }; - class setTriageStatus_CMS { recompile = 1; }; - class getTriageStatus_CMS { recompile = 1; }; - }; - - class Vitals { - file = "cse\cse_sys_medical\functions\vitals"; - class updateVitals_CMS { recompile = 1; }; - class getHeartRateChange_CMS { recompile = 1; }; - class getBloodVolumeChange_CMS { recompile = 1; }; - class getBloodPressure_CMS { recompile = 1; }; - class addHeartRateAdjustment_CMS { recompile = 1; }; - class getCardiacOutput_CMS { recompile = 1; }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/CfgHints.h b/TO_MERGE/cse/sys_medical/CfgHints.h deleted file mode 100644 index ac1b693273..0000000000 --- a/TO_MERGE/cse/sys_medical/CfgHints.h +++ /dev/null @@ -1,38 +0,0 @@ -class CfgHints -{ - class Combat_Space_Enhancement - { - displayName = "Combat Space Enhancement"; - class CSE_CMS_Module - { - displayName = "Combat Medical System"; - displayNameShort = "Combat Medical System"; - description = "Combat Medical System is an advanced medical system for players and AI."; - tip = ""; - arguments[] = {}; - image = ""; - noImage = true; - }; - class Assessment - { - displayName = "Patient Assessment"; - displayNameShort = "Patient Assessment"; - description = "It is essential when treating a casualty that you fully assess each of the areas of the casualty to determine not only the injuries but the priority of each in severity.
You cna assess a patient by clicking on the Assessment ICON
Use Check Pulse, check Blood Pressure and Check Response to get an overview."; - tip = "Medics will get a faster and more accurate result when assessing patients."; - arguments[] = {}; - image = ""; - noImage = true; - }; - - class Bleeding - { - displayName = "Bandaging a wound"; - displayNameShort = "Bandaging a wound"; - description = "For casualties the first priority is to stop the bleeding. You will want to bandage the largest wounds first, before attending to the smaller ones.
You can apply a tourniquet on the limbs to stem the bleeding faster, but remember to remove it!"; - tip = "Select a wound in the injury list to bandage that one first!"; - arguments[] = {}; - image = ""; - noImage = true; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/CfgMagazines.h b/TO_MERGE/cse/sys_medical/CfgMagazines.h deleted file mode 100644 index d3f2e51356..0000000000 --- a/TO_MERGE/cse/sys_medical/CfgMagazines.h +++ /dev/null @@ -1,224 +0,0 @@ -class CfgMagazines -{ - class Default; - class CA_magazine: Default{}; - class cse_backwardsCompatMagazineBase_CMS: CA_magazine {}; - class cse_bandage_basic: cse_backwardsCompatMagazineBase_CMS - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_BANDAGE_BASIC_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\field_dressing.paa"; - model = "\cse\cse_sys_medical\equipment\bandages\fielddressing.p3d"; - descriptionShort = $STR_CSE_MAG_BANDAGE_BASIC_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_BANDAGE_BASIC_DESC_USE; - mass = 0.5; - }; - class cse_packing_bandage: cse_backwardsCompatMagazineBase_CMS - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_PACKING_BANDAGE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\packing_bandage.paa"; - descriptionShort = $STR_CSE_MAG_PACKING_BANDAGE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_PACKING_BANDAGE_DESC_USE; - mass = 1; - // model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; - model = "\cse\cse_sys_medical\equipment\bandages\packingbandage.p3d"; - }; - class cse_bandageElastic: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_BANDAGE_ELASTIC_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\bandageElastic.paa"; - model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; - descriptionShort = $STR_CSE_MAG_BANDAGE_ELASTIC_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_BANDAGE_ELASTIC_DESC_USE; - mass = 1; - }; - class cse_tourniquet: cse_backwardsCompatMagazineBase_CMS - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_TOURNIQUET_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\tourniquet.paa"; - model = "\cse\cse_sys_medical\equipment\Tourniquet.p3d"; - descriptionShort = $STR_CSE_MAG_TOURNIQUET_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_TOURNIQUET_DESC_USE; - mass = 1; - }; - class cse_splint: cse_backwardsCompatMagazineBase_CMS - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_SPLINT_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\splint.paa"; - descriptionUse = $STR_CSE_MAG_SPLINT_DESC_USE; - descriptionShort = $STR_CSE_MAG_SPLINT_DESC_SHORT; - mass = 1; - }; - class cse_morphine: cse_backwardsCompatMagazineBase_CMS - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_MORPHINE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\morphine.paa"; - model = "\cse\cse_sys_medical\equipment\Morphinpen.p3d"; - descriptionShort = $STR_CSE_MAG_MORPHINE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_MORPHINE_DESC_USE; - mass = 1; - }; - class cse_atropine: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_ATROPINE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\atropine.paa"; - model = "\cse\cse_sys_medical\equipment\Atropin-pen.p3d"; - descriptionShort = $STR_CSE_MAG_ATROPINE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_ATROPINE_DESC_USE; - mass = 1; - }; - class cse_epinephrine: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_EPINEPHRINE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\epinephrine.paa"; - model = "\cse\cse_sys_medical\equipment\Epipen.p3d"; - descriptionShort = $STR_CSE_MAG_EPINEPHRINE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_EPINEPHRINE_DESC_USE; - mass = 1; - }; - class cse_plasma_iv: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - mass = 1; - displayName = $STR_CSE_MAG_PLASMA_IV; - picture = "\cse\cse_sys_medical\equipment\img\plasma_iv.paa"; - descriptionShort = $STR_CSE_MAG_PLASMA_IV_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_PLASMA_IV_DESC_USE; - }; - class cse_plasma_iv_500: cse_plasma_iv { - displayName = $STR_CSE_MAG_PLASMA_IV_500; - }; - class cse_plasma_iv_250: cse_plasma_iv_500 { - displayName = $STR_CSE_MAG_PLASMA_IV_250; - }; - class cse_blood_iv: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - mass = 1; - model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; - displayName = $STR_CSE_MAG_BLOOD_IV; - picture = "\cse\cse_sys_medical\equipment\img\bloodbag.paa"; - descriptionShort = $STR_CSE_MAG_BLOOD_IV_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_BLOOD_IV_DESC_USE; - }; - class cse_blood_iv_500: cse_blood_iv { - displayName = $STR_CSE_MAG_BLOOD_IV_500; - }; - class cse_blood_iv_250: cse_blood_iv_500 { - displayName = $STR_CSE_MAG_BLOOD_IV_250; - }; - class cse_saline_iv: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - mass = 1; - displayName = $STR_CSE_MAG_SALINE_IV; - picture = "\cse\cse_sys_medical\equipment\img\saline_iv.paa"; - descriptionShort = $STR_CSE_MAG_SALINE_IV_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_SALINE_IV_DESC_USE; - }; - class cse_saline_iv_500: cse_saline_iv { - displayName = $STR_CSE_MAG_SALINE_IV_500; - }; - class cse_saline_iv_250: cse_saline_iv_500 { - displayName = $STR_CSE_MAG_SALINE_IV_250; - }; - class cse_quikclot: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_QUIKCLOT_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\quickclot.paa"; - descriptionShort = $STR_CSE_MAG_QUIKCLOT_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_QUIKCLOT_DESC_USE; - mass = 1; - }; - class cse_nasopharyngeal_tube: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_NPA_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\nasopharyngeal_tube.paa"; - descriptionUse = $STR_CSE_MAG_NPA_DESC_USE; - descriptionShort = $STR_CSE_MAG_NPA_DESC_SHORT; - mass = 1; - }; - class cse_opa: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_OPA_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\nasopharyngeal_tube.paa"; - descriptionShort = $STR_CSE_MAG_OPA_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_OPA_DESC_USE; - mass = 1; - }; - class cse_liquidSkin: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_LIQUID_SKIN_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\liquidSkin.paa"; - model = "\cse\cse_sys_medical\equipment\skinliquid.p3d"; - descriptionShort = $STR_CSE_MAG_LIQUID_SKIN_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_LIQUID_SKIN_DESC_USE; - mass = 1; - }; - class cse_chestseal: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_CHEST_SEAL_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\chestseal.paa"; - descriptionShort = $STR_CSE_MAG_CHEST_SEAL_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_CHEST_SEAL_DESC_USE; - mass = 1; - }; - class cse_personal_aid_kit: cse_backwardsCompatMagazineBase_CMS { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_AID_KIT_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\personal_aid_kit.paa"; - model = "\cse\cse_sys_medical\equipment\Personal-aidkits\MTP.p3d"; - descriptionShort = $STR_CSE_MAG_AID_KIT_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_AID_KIT_DESC_USE; - mass = 2; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/CfgSounds.h b/TO_MERGE/cse/sys_medical/CfgSounds.h deleted file mode 100644 index 6249bbe13a..0000000000 --- a/TO_MERGE/cse/sys_medical/CfgSounds.h +++ /dev/null @@ -1,45 +0,0 @@ -class CfgSounds -{ - class cse_heartbeat_fast_1 - { - name = "cse_heartbeat_fast_1"; - sound[] = {"cse\cse_sys_medical\sounds\heart_beats\fast_1.wav","db-1",1}; - titles[] = {}; - }; - class cse_heartbeat_fast_2 - { - name = "cse_heartbeat_fast_2"; - sound[] = {"cse\cse_sys_medical\sounds\heart_beats\fast_2.wav","db-1",1}; - titles[] = {}; - }; - class cse_heartbeat_fast_3 - { - name = "cse_heartbeat_fast_3"; - sound[] = {"cse\cse_sys_medical\sounds\heart_beats\fast_3.wav","db-1",1}; - titles[] = {}; - }; - class cse_heartbeat_norm_1 - { - name = "cse_heartbeat_norm_1"; - sound[] = {"cse\cse_sys_medical\sounds\heart_beats\norm_1.wav","db-1",1}; - titles[] = {}; - }; - class cse_heartbeat_norm_2 - { - name = "cse_heartbeat_norm_2"; - sound[] = {"cse\cse_sys_medical\sounds\heart_beats\norm_2.wav","db-1",1}; - titles[] = {}; - }; - class cse_heartbeat_slow_1 - { - name = "cse_heartbeat_slow_1"; - sound[] = {"cse\cse_sys_medical\sounds\heart_beats\slow_1.wav","db-1",1}; - titles[] = {}; - }; - class cse_heartbeat_slow_2 - { - name = "cse_heartbeat_slow_2"; - sound[] = {"cse\cse_sys_medical\sounds\heart_beats\slow_2.wav","db-1",1}; - titles[] = {}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/CfgVehicles.h b/TO_MERGE/cse/sys_medical/CfgVehicles.h deleted file mode 100644 index f7f084a6e8..0000000000 --- a/TO_MERGE/cse/sys_medical/CfgVehicles.h +++ /dev/null @@ -1,762 +0,0 @@ -class CfgVehicles -{ - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_sys_medical: Module_F { - scope = 2; - displayName = "Combat Medical System [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cse_medical"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments { - class openingOfWounds { - displayName = "Advanced Wounds"; - description = "When set to true, bandaged wounds could on occasion re-open, resulting in new open wounds that need to be bandaged."; - typeName = "BOOL"; - defaultValue = 1; - }; - class medicSetting { - displayName = "Advanced Medic roles"; - description = "Medics only are able to view the detailed information"; - typeName = "BOOL"; - defaultValue = 1; - }; - class difficultySetting { - displayName = "Survival Difficulty"; - description = "Select the aggressiveness of the medical simulation"; - typeName = "NUMBER"; - class values { - class recruit { - name = "Recruit"; - value = 0.5; - }; - class regular { - name = "Regular"; - value = 1; - default = 1; - }; - class veteran { - name = "Veteran"; - value = 1.2; - }; - class expert { - name = "Expert"; - value = 1.5; - }; - }; - }; - class enableFor { - displayName = "Enabled for"; - description = "Select what units CMS will be enabled for"; - typeName = "NUMBER"; - class values { - class playableUnits { - name = "Players only"; - value = 0; - default = 1; - }; - class playableUnitsAndAI { - name = "Players and AI"; - value = 1; - }; - }; - }; - class enableAirway { - displayName = "Enable Airway"; - description = "Should CMS Airway system be enabled?"; - typeName = "NUMBER"; - class values { - class enable { - name = "Yes"; - value = 1; - }; - class disable { - name = "No"; - value = 0; - default = 1; - }; - }; - }; - class vehCrashes { - displayName = "Vehicle Crashes"; - description = "Enable injuries on vehicle crashes"; - typeName = "BOOL"; - defaultValue = 1; - }; - - class aidKitUponUsage { - displayName = "Disposable Aid kit"; - description = "Is a personal aid kit disposable?"; - typeName = "BOOL"; - defaultValue = false; - }; - class aidKitMedicsOnly { - displayName = "Medics only"; - description = "Are aid kits restricted to medics only?"; - typeName = "BOOL"; - defaultValue = false; - }; - class aidKitRestrictions { - displayName = "Aid kit"; - description = "When can an Aid kit be used?"; - typeName = "NUMBER"; - class values { - class medFacility { - name = "Medical Facility"; - value = 0; - default = 1; - }; - class medFAcilityNoBleeding { - name = "Medical Facility & No bleeding"; - value = 1; - }; - class Everywhere { - name = "Everywhere"; - value = 2; - }; - class EverywhereNoBleeding { - name = "Everywhere & No Bleeding"; - value = 3; - }; - }; - }; - class bandageTime { - displayName = "Bandage Time"; - description = "Time it takes for a bandage action to be completed"; - typeName = "NUMBER"; - defaultValue = 5; - }; - class stitchingAllow { - displayName = "Can Stitch"; - description = "What units can use stitching?"; - typeName = "NUMBER"; - defaultValue = 0; - class values { - class medicsOnly { - name = "Medics Only"; - value = 0; - default = 1; - }; - class everyone { - name = "Everyone"; - value = 1; - }; - class noOne { - name = "No units"; - value = -1; - }; - }; - }; - - }; - class ModuleDescription { - description = "Provides a more realistic medical system for both players and AI."; // Short description, will be formatted as structured text - sync[] = {}; - }; - }; - class cse_assignMedicRoles_CMS: Module_F { - scope = 2; - displayName = "Set Medic Class [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cse_medical"; - function = "cse_fnc_assignMedicRoles_CMS"; - functionPriority = 10; - isGlobal = 2; - isTriggerActivated = 0; - isDisposable = 0; - author = "Combat Space Enhancement"; - class Arguments { - class EnableList { - displayName = "List"; - description = "List of unit names that will be classified as medic, separated by commas."; - defaultValue = ""; - }; - class class { - displayName = "Is Medic"; - description = "Medics allow for more advanced treatment in case of Advanced Medic roles enabled"; - typeName = "BOOL"; - defaultValue = true; - }; - }; - class ModuleDescription { - description = "Assigns the CSE medic class to a unit"; // Short description, will be formatted as structured text - sync[] = {}; - }; - }; - - class cse_assignMedicalVehicle_CMS: Module_F { - scope = 2; - displayName = "set Medical Vehicle [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cse_medical"; - function = "cse_fnc_assignMedicalVehicle_CMS"; - functionPriority = 10; - isGlobal = 2; - isTriggerActivated = 0; - isDisposable = 0; - author = "Combat Space Enhancement"; - class Arguments { - class EnableList { - displayName = "List"; - description = "List of object names that will be classified as medical vehicle, separated by commas."; - defaultValue = ""; - }; - class enabled { - displayName = "Is Medical Vehicle"; - description = "Whatever or not the objects in the list will be a medical vehicle."; - typeName = "BOOL"; - defaultValue = true; - }; - }; - class ModuleDescription { - description = "Assigns the CSE medical vehicle class to a vehicle."; - sync[] = {}; - }; - }; - - class cse_assignMedicalFacility_CMS: Module_F { - scope = 2; - displayName = "Set Medical Facility [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cse_medical"; - function = "cse_fnc_assignMedicalFacility_CMS"; - functionPriority = 10; - isGlobal = 2; - isTriggerActivated = 0; - isDisposable = 0; - author = "Combat Space Enhancement"; - class Arguments { - class class { - displayName = "Is Medical Facility"; - description = "Registers an object as a medical facility for CMS"; - typeName = "BOOL"; - }; - }; - class ModuleDescription { - description = "Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be used on buildings and vehicles. "; - sync[] = {}; - }; - }; - class cse_assignMedicalEquipment_CMS: Module_F { - scope = 2; - displayName = "Assign Medical Equipment [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cse_medical"; - function = "cse_fnc_assignMedicalEquipment_CMS"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments { - class equipment { - displayName = "Assign Equipment"; - description = "Assign Medical equipment to all players"; - typeName = "NUMBER"; - defaultValue = 0; - class values { - class AllPlayers { - name = "All Players"; - value = 0; - default = 1; - }; - class MedicsOnly { - name = "Medics only"; - value = 1; - }; - }; - }; - }; - class ModuleDescription { - description = "Assigns medical equipment to units"; - sync[] = {}; - }; - }; - - - class MapBoard_altis_F; - class cse_bodyBag: MapBoard_altis_F { - scope = 1; - side = -1; - model = "\cse\cse_sys_medical\equipment\bodybag.p3d"; - icon = ""; - displayName = $STR_CSE_MAG_BODYBAG_DISPLAY; - }; - - - class Item_Base_F; - class cse_bandage_basicItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_BANDAGE_BASIC_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_bandage_basic - { - name = "cse_bandage_basic"; - count = 1; - }; - }; - }; - class cse_packing_bandageItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_PACKING_BANDAGE_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_packing_bandage - { - name = "cse_packing_bandage"; - count = 1; - }; - }; - }; - class cse_bandageElasticItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_BANDAGE_ELASTIC_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_bandageElastic - { - name = "cse_bandageElastic"; - count = 1; - }; - }; - }; - class cse_tourniquetItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_TOURNIQUET_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_tourniquet - { - name = "cse_tourniquet"; - count = 1; - }; - }; - }; - class cse_splintItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_SPLINT_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_splint - { - name = "cse_splint"; - count = 1; - }; - }; - }; - class cse_morphineItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_MORPHINE_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_morphine - { - name = "cse_morphine"; - count = 1; - }; - }; - }; - class cse_atropineItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_ATROPINE_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_atropine - { - name = "cse_atropine"; - count = 1; - }; - }; - }; - class cse_epinephrineItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_EPINEPHRINE_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_epinephrine - { - name = "cse_epinephrine"; - count = 1; - }; - }; - }; - class cse_plasma_ivItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_PLASMA_IV; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_plasma_iv - { - name = "cse_plasma_iv"; - count = 1; - }; - }; - }; - class cse_plasma_iv_500Item: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_PLASMA_IV_500; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_plasma_iv_500 - { - name = "cse_plasma_iv_500"; - count = 1; - }; - }; - }; - class cse_plasma_iv_250Item: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_PLASMA_IV_250; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_plasma_iv_250 - { - name = "cse_plasma_iv_250"; - count = 1; - }; - }; - }; - class cse_blood_ivItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_BLOOD_IV; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_blood_iv - { - name = "cse_blood_iv"; - count = 1; - }; - }; - }; - class cse_blood_iv_500Item: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_BLOOD_IV_500; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_blood_iv_500 - { - name = "cse_blood_iv_500"; - count = 1; - }; - }; - }; - class cse_blood_iv_250Item: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_BLOOD_IV_250; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_blood_iv_250 - { - name = "cse_blood_iv_250"; - count = 1; - }; - }; - }; - class cse_saline_ivItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_SALINE_IV; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_saline_iv - { - name = "cse_saline_iv"; - count = 1; - }; - }; - }; - class cse_saline_iv_500Item: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_SALINE_IV_500; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_saline_iv_500 - { - name = "cse_saline_iv_500"; - count = 1; - }; - }; - }; - class cse_saline_iv_250Item: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_SALINE_IV_250; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_saline_iv_250 - { - name = "cse_saline_iv_250"; - count = 1; - }; - }; - }; - class cse_quikclotItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_QUIKCLOT_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_quikclot - { - name = "cse_quikclot"; - count = 1; - }; - }; - }; - class cse_nasopharyngeal_tubeItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_NPA_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_nasopharyngeal_tube - { - name = "cse_nasopharyngeal_tube"; - count = 1; - }; - }; - }; - class cse_opaItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_OPA_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_opa - { - name = "cse_opa"; - count = 1; - }; - }; - }; - class cse_liquidSkinItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_LIQUID_SKIN_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_liquidSkin - { - name = "cse_liquidSkin"; - count = 1; - }; - }; - }; - class cse_chestsealItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_CHEST_SEAL_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_chestseal - { - name = "cse_chestseal"; - count = 1; - }; - }; - }; - class cse_personal_aid_kitItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_AID_KIT_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_personal_aid_kit - { - name = "cse_personal_aid_kit"; - count = 1; - }; - }; - }; - class cse_bodyBagItem: Item_Base_F { - scope = 2; - scopeCurator = 2; - displayName = $STR_CSE_MAG_BODYBAG_DISPLAY; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_itemBodyBag - { - name = "cse_itemBodyBag"; - count = 1; - }; - }; - }; - - - class NATO_Box_Base; - class cse_medical_supply_crate_cms : NATO_Box_Base { - scope = 2; - accuracy = 1000; - displayName = "Medical Supply Crate (CSE)"; - model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; - author = "Combat Space Enhancement"; - class TransportItems { - class cse_bandage_basic { - name = "cse_bandage_basic"; - count = 25; - }; - class cse_packing_bandage { - name = "cse_packing_bandage"; - count = 25; - }; - class cse_tourniquet { - name = "cse_tourniquet"; - count = 25; - }; - class cse_splint { - name = "cse_splint"; - count = 25; - }; - class cse_plasma_iv { - name = "cse_plasma_iv"; - count = 25; - }; - class cse_plasma_iv_500 { - name = "cse_plasma_iv_500"; - count = 25; - }; - class cse_plasma_iv_250 { - name = "cse_plasma_iv_250"; - count = 25; - }; - class cse_blood_iv { - name = "cse_blood_iv"; - count = 25; - }; - class cse_blood_iv_500 { - name = "cse_blood_iv_500"; - count = 25; - }; - class cse_blood_iv_250 { - name = "cse_blood_iv_250"; - count = 25; - }; - class cse_saline_iv { - name = "cse_saline_iv"; - count = 25; - }; - class cse_saline_iv_500 { - name = "cse_saline_iv_500"; - count = 25; - }; - class cse_saline_iv_250 { - name = "cse_saline_iv_250"; - count = 25; - }; - class cse_morphine { - name = "cse_morphine"; - count = 25; - }; - class cse_epinephrine { - name = "cse_epinephrine"; - count = 25; - }; - class cse_atropine { - name = "cse_atropine"; - count = 25; - }; - class cse_quikclot { - name = "cse_quikclot"; - count = 25; - }; - class cse_nasopharyngeal_tube { - name = "cse_nasopharyngeal_tube"; - count = 25; - }; - class cse_bandageElastic { - name = "cse_bandageElastic"; - count = 25; - }; - class cse_liquidSkin { - name = "cse_liquidSkin"; - count = 25; - }; - class cse_chestseal { - name = "cse_chestseal"; - count = 25; - }; - class cse_personal_aid_kit { - name = "cse_personal_aid_kit"; - count = 25; - }; - class cse_surgical_kit { - name = "cse_surgical_kit"; - count = 25; - }; - class cse_itemBodyBag { - name = "cse_itemBodyBag"; - count = 5; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/CfgWeapons.h b/TO_MERGE/cse/sys_medical/CfgWeapons.h deleted file mode 100644 index 02bfc614c4..0000000000 --- a/TO_MERGE/cse/sys_medical/CfgWeapons.h +++ /dev/null @@ -1,317 +0,0 @@ -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class cse_bandage_basic: ItemCore - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_BANDAGE_BASIC_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\field_dressing.paa"; - model = "\cse\cse_sys_medical\equipment\bandages\fielddressing.p3d"; - descriptionShort = $STR_CSE_MAG_BANDAGE_BASIC_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_BANDAGE_BASIC_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=0.5; - type=201; - }; - }; - class cse_packing_bandage: ItemCore - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_PACKING_BANDAGE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\packing_bandage.paa"; - descriptionShort = $STR_CSE_MAG_PACKING_BANDAGE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_PACKING_BANDAGE_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - model = "\cse\cse_sys_medical\equipment\bandages\packingbandage.p3d"; - }; - class cse_bandageElastic: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_BANDAGE_ELASTIC_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\bandageElastic.paa"; - model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; - descriptionShort = $STR_CSE_MAG_BANDAGE_ELASTIC_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_BANDAGE_ELASTIC_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_tourniquet: ItemCore - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_TOURNIQUET_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\tourniquet.paa"; - model = "\cse\cse_sys_medical\equipment\Tourniquet.p3d"; - descriptionShort = $STR_CSE_MAG_TOURNIQUET_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_TOURNIQUET_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_splint: ItemCore - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_SPLINT_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\splint.paa"; - descriptionUse = $STR_CSE_MAG_SPLINT_DESC_USE; - descriptionShort = $STR_CSE_MAG_SPLINT_DESC_SHORT; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_morphine: ItemCore - { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_MORPHINE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\morphine.paa"; - model = "\cse\cse_sys_medical\equipment\Morphinpen.p3d"; - descriptionShort = $STR_CSE_MAG_MORPHINE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_MORPHINE_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_atropine: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_ATROPINE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\atropine.paa"; - model = "\cse\cse_sys_medical\equipment\Atropin-pen.p3d"; - descriptionShort = $STR_CSE_MAG_ATROPINE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_ATROPINE_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_epinephrine: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_EPINEPHRINE_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\epinephrine.paa"; - model = "\cse\cse_sys_medical\equipment\Epipen.p3d"; - descriptionShort = $STR_CSE_MAG_EPINEPHRINE_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_EPINEPHRINE_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_plasma_iv: ItemCore { - scope = 2; - value = 1; - count = 1; - displayName = $STR_CSE_MAG_PLASMA_IV; - picture = "\cse\cse_sys_medical\equipment\img\plasma_iv.paa"; - descriptionShort = $STR_CSE_MAG_PLASMA_IV_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_PLASMA_IV_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_plasma_iv_500: cse_plasma_iv { - displayName = $STR_CSE_MAG_PLASMA_IV_500; - }; - class cse_plasma_iv_250: cse_plasma_iv_500 { - displayName = $STR_CSE_MAG_PLASMA_IV_250; - }; - class cse_blood_iv: ItemCore { - scope = 2; - value = 1; - count = 1; - model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; - displayName = $STR_CSE_MAG_BLOOD_IV; - picture = "\cse\cse_sys_medical\equipment\img\bloodbag.paa"; - descriptionShort = $STR_CSE_MAG_BLOOD_IV_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_BLOOD_IV_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_blood_iv_500: cse_blood_iv { - displayName = $STR_CSE_MAG_BLOOD_IV_500; - }; - class cse_blood_iv_250: cse_blood_iv_500 { - displayName = $STR_CSE_MAG_BLOOD_IV_250; - }; - class cse_saline_iv: ItemCore { - scope = 2; - value = 1; - count = 1; - displayName = $STR_CSE_MAG_SALINE_IV; - picture = "\cse\cse_sys_medical\equipment\img\saline_iv.paa"; - descriptionShort = $STR_CSE_MAG_SALINE_IV_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_SALINE_IV_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_saline_iv_500: cse_saline_iv { - displayName = $STR_CSE_MAG_SALINE_IV_500; - }; - class cse_saline_iv_250: cse_saline_iv_500 { - displayName = $STR_CSE_MAG_SALINE_IV_250; - }; - class cse_quikclot: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_QUIKCLOT_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\quickclot.paa"; - descriptionShort = $STR_CSE_MAG_QUIKCLOT_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_QUIKCLOT_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_nasopharyngeal_tube: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_NPA_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\nasopharyngeal_tube.paa"; - descriptionUse = $STR_CSE_MAG_NPA_DESC_USE; - descriptionShort = $STR_CSE_MAG_NPA_DESC_SHORT; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_opa: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_OPA_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\nasopharyngeal_tube.paa"; - descriptionShort = $STR_CSE_MAG_OPA_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_OPA_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_liquidSkin: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_LIQUID_SKIN_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\liquidSkin.paa"; - model = "\cse\cse_sys_medical\equipment\skinliquid.p3d"; - descriptionShort = $STR_CSE_MAG_LIQUID_SKIN_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_LIQUID_SKIN_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_chestseal: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_CHEST_SEAL_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\chestseal.paa"; - descriptionShort = $STR_CSE_MAG_CHEST_SEAL_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_CHEST_SEAL_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=1; - type=201; - }; - }; - class cse_personal_aid_kit: ItemCore { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = $STR_CSE_MAG_AID_KIT_DISPLAY; - picture = "\cse\cse_sys_medical\equipment\img\personal_aid_kit.paa"; - model = "\cse\cse_sys_medical\equipment\Personal-aidkits\MTP.p3d"; - descriptionShort = $STR_CSE_MAG_AID_KIT_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_AID_KIT_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass=2; - type=201; - }; - }; - class cse_surgical_kit: ItemCore - { - scope=2; - displayName= $STR_CSE_MAG_SURGICALKIT_DISPLAY; - model="\cse\cse_sys_medical\equipment\surgical_kit.p3d"; - picture="\cse\cse_sys_medical\equipment\img\surgical_kit.paa"; - descriptionShort = $STR_CSE_MAG_SURGICALKIT_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_SURGICALKIT_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass= 5; - type=201; - }; - }; - class cse_itemBodyBag: ItemCore - { - scope=2; - displayName= $STR_CSE_MAG_BODYBAG_DISPLAY; - model="\cse\cse_sys_medical\equipment\bodybagItem.p3d"; - picture="\cse\cse_sys_medical\equipment\img\bodybag.paa"; - descriptionShort = $STR_CSE_MAG_BODYBAG_DESC_SHORT; - descriptionUse = $STR_CSE_MAG_BODYBAG_DESC_USE; - class ItemInfo: InventoryItem_Base_F - { - mass= 15; - type=201; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_medical/Combat_Space_Enhancement.h deleted file mode 100644 index 1b043d924a..0000000000 --- a/TO_MERGE/cse/sys_medical/Combat_Space_Enhancement.h +++ /dev/null @@ -1,49 +0,0 @@ -#define MENU_KEYBINDING 1 -#define ACTION_KEYBINDING 2 -#define CLIENT_SETTING 3 - -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_medical { - init = "call compile preprocessFile 'cse\cse_sys_medical\init_sys_medical.sqf';"; - name = "Combat Medical System"; - class EventHandlers { - class CAManBase { - init = "_this call cse_fnc_initForUnit_CMS;"; - handleDamage = "_this call cse_fnc_handleDamage_CMS;"; - handleHeal = "_this call cse_fnc_handleHeal_CMS;"; - killed = "_this call cse_eh_killed_CMS;"; - local = "_this call cse_eh_local_CMS;"; - }; - }; - class Configurations { - class combat_medical_system_openMenu { - type = MENU_KEYBINDING; - title = $STR_OPEN_CMS_MENU_TITLE; - description = $STR_OPEN_CMS_MENU_DESC; - value[] = {0,0,0,0}; - onPressed = "[] call cse_fnc_openMenu_CMS"; - idd = 314412; - }; - }; - }; - }; - - class CustomEventHandlers { - class getMedicationOptions_CMS {}; // [target] - class getExamineOptions_CMS {}; // [target] - class getDragOptions_CMS {}; // [target] - class getBandageOptions_CMS {}; // [target] - class getAirwayOptions_CMS {}; // [target] - class getAdvancedOptions_CMS {}; // [target] - class onDropInjured {}; // [_caller, _unit, number (0=from drag, 1=from carry)] - class onDragInjured {}; // [_caller, _unit] - class onCarryInjured {}; // [_caller, _unit] - - class setUnconsciousState { - class cse_sys_medical_onUnconscious { - onCall = "_this call cse_fnc_onUnconscious_CMS;"; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/bodyParts.h b/TO_MERGE/cse/sys_medical/bodyParts.h deleted file mode 100644 index 1838cecfd1..0000000000 --- a/TO_MERGE/cse/sys_medical/bodyParts.h +++ /dev/null @@ -1,6 +0,0 @@ -#define HEAD 0 -#define TORSO 1 -#define ARM_R 2 -#define ARM_L 3 -#define LEG_R 4 -#define LEG_L 5 \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/config.cpp b/TO_MERGE/cse/sys_medical/config.cpp deleted file mode 100644 index dcc8ad4f36..0000000000 --- a/TO_MERGE/cse/sys_medical/config.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#define _ARMA_ -class CfgPatches -{ - class cse_sys_medical - { - units[] = {"cse_medical_supply_crate_cms", "cse_bandage_basicItem","cse_packing_bandageItem","cse_bandageElasticItem","cse_tourniquetItem","cse_splintItem","cse_morphineItem","cse_atropineItem","cse_epinephrineItem","cse_plasma_ivItem","cse_plasma_iv_500Item","cse_plasma_iv250Item","cse_blood_ivItem","cse_blood_iv_500Item","cse_blood_iv_250Item","cse_saline_ivItem","cse_saline_iv_500Item","cse_saline_iv_250Item","cse_quikclotItem","cse_nasopharyngeal_tubeItem","cse_opaItem","cse_liquidSkinItem","cse_chestsealItem","cse_personal_aid_kitItem"}; - weapons[] = {"cse_surgical_kit"}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui","cse_main"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; -class CfgAddons { - class PreloadAddons { - class cse_sys_medical { - list[] = {"cse_sys_medical"}; - }; - }; -}; -#include "CfgFactionClasses.h" -#include "CfgFunctions.h" - -// TODO To be removed at a later stage, as it is being replaced by items (CfgWeapons.h). Will stay around for backwards compatability for now. -// #include "CfgMagazines.h" - -// Replacing the old magazine approach by items. -#include "CfgWeapons.h" - - -#include "CfgSounds.h" -#include "CfgVehicles.h" -#include "CfgHints.h" -#include "Combat_Space_Enhancement.h" -#include "ui\define.hpp" -#include "ui\menu.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/data/body_arm_left.paa b/TO_MERGE/cse/sys_medical/data/body_arm_left.paa deleted file mode 100644 index 245cc4ba31..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_arm_left.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_arm_right.paa b/TO_MERGE/cse/sys_medical/data/body_arm_right.paa deleted file mode 100644 index 2023d1e0b4..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_arm_right.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_arms.paa b/TO_MERGE/cse/sys_medical/data/body_arms.paa deleted file mode 100644 index b4b272f73d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_arms.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_background.paa b/TO_MERGE/cse/sys_medical/data/body_background.paa deleted file mode 100644 index d3f7440e68..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_background.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_head.paa b/TO_MERGE/cse/sys_medical/data/body_head.paa deleted file mode 100644 index 77ddd995bc..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_head.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_img-arms.paa b/TO_MERGE/cse/sys_medical/data/body_img-arms.paa deleted file mode 100644 index f469a59359..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_img-arms.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_img-head.paa b/TO_MERGE/cse/sys_medical/data/body_img-head.paa deleted file mode 100644 index 2f7d15e1ca..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_img-head.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_img-legs.paa b/TO_MERGE/cse/sys_medical/data/body_img-legs.paa deleted file mode 100644 index 35f68d8635..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_img-legs.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_img-torso.paa b/TO_MERGE/cse/sys_medical/data/body_img-torso.paa deleted file mode 100644 index cc5ecb9d60..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_img-torso.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_leg_left.paa b/TO_MERGE/cse/sys_medical/data/body_leg_left.paa deleted file mode 100644 index a116305258..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_leg_left.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_leg_right.paa b/TO_MERGE/cse/sys_medical/data/body_leg_right.paa deleted file mode 100644 index 02ce66ba70..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_leg_right.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_legs.paa b/TO_MERGE/cse/sys_medical/data/body_legs.paa deleted file mode 100644 index 9af3adc2ca..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_legs.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/body_torso.paa b/TO_MERGE/cse/sys_medical/data/body_torso.paa deleted file mode 100644 index 0a7212ac95..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/body_torso.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/border_arm_left.paa b/TO_MERGE/cse/sys_medical/data/border_arm_left.paa deleted file mode 100644 index eae1d751cf..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/border_arm_left.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/border_arm_right.paa b/TO_MERGE/cse/sys_medical/data/border_arm_right.paa deleted file mode 100644 index 0aea4ce20e..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/border_arm_right.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/border_head.paa b/TO_MERGE/cse/sys_medical/data/border_head.paa deleted file mode 100644 index 3b2e7aaf10..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/border_head.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/border_leg_left.paa b/TO_MERGE/cse/sys_medical/data/border_leg_left.paa deleted file mode 100644 index 7ff3b170fa..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/border_leg_left.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/border_leg_right.paa b/TO_MERGE/cse/sys_medical/data/border_leg_right.paa deleted file mode 100644 index bef0f70779..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/border_leg_right.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/border_torso.paa b/TO_MERGE/cse/sys_medical/data/border_torso.paa deleted file mode 100644 index 2b70076939..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/border_torso.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/buttonDisabled_gradient.paa b/TO_MERGE/cse/sys_medical/data/buttonDisabled_gradient.paa deleted file mode 100644 index 43b1b8d100..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/buttonDisabled_gradient.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient.paa b/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient.paa deleted file mode 100644 index 2210f98741..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient2.paa b/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient2.paa deleted file mode 100644 index cabe6c7fed..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient3.paa b/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient3.paa deleted file mode 100644 index 7da9fbcf8a..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient3.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient_top.paa b/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient_top.paa deleted file mode 100644 index 904e1a62f7..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/buttonNormal_gradient_top.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/cse_background_img.paa b/TO_MERGE/cse/sys_medical/data/cse_background_img.paa deleted file mode 100644 index de59065e3b..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/cse_background_img.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/advanced_treatment_small.paa b/TO_MERGE/cse/sys_medical/data/icons/advanced_treatment_small.paa deleted file mode 100644 index 8becb9d2df..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/advanced_treatment_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/airway_management_small.paa b/TO_MERGE/cse/sys_medical/data/icons/airway_management_small.paa deleted file mode 100644 index ab4da47958..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/airway_management_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/bandage_fracture_small.paa b/TO_MERGE/cse/sys_medical/data/icons/bandage_fracture_small.paa deleted file mode 100644 index a869f260ec..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/bandage_fracture_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/examine_patient_small.paa b/TO_MERGE/cse/sys_medical/data/icons/examine_patient_small.paa deleted file mode 100644 index 2e9fc9831d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/examine_patient_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_advanced_treatment.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_advanced_treatment.paa deleted file mode 100644 index d6bf6effd9..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_advanced_treatment.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_airway_management.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_airway_management.paa deleted file mode 100644 index f444f5f385..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_airway_management.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_bandage_fracture.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_bandage_fracture.paa deleted file mode 100644 index df8d1de571..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_bandage_fracture.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_bleeding.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_bleeding.paa deleted file mode 100644 index d11c2ed496..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_bleeding.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_carry.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_carry.paa deleted file mode 100644 index 7ebb830b03..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_carry.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_examine_patient.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_examine_patient.paa deleted file mode 100644 index 12eb06c890..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_examine_patient.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_medication.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_medication.paa deleted file mode 100644 index 98893ad863..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_medication.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_toggle_self.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_toggle_self.paa deleted file mode 100644 index 3078eb5dd5..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_toggle_self.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_tourniquet.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_tourniquet.paa deleted file mode 100644 index 8b34a7bfbb..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_tourniquet.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_tourniquet_small.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_tourniquet_small.paa deleted file mode 100644 index a457e2c0d5..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_tourniquet_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/icon_triage_card.paa b/TO_MERGE/cse/sys_medical/data/icons/icon_triage_card.paa deleted file mode 100644 index 850ab0f4ce..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/icon_triage_card.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/medication_small.paa b/TO_MERGE/cse/sys_medical/data/icons/medication_small.paa deleted file mode 100644 index b6acd670c8..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/medication_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/toggle_self_small.paa b/TO_MERGE/cse/sys_medical/data/icons/toggle_self_small.paa deleted file mode 100644 index 73108e5a98..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/toggle_self_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/icons/triage_card_small.paa b/TO_MERGE/cse/sys_medical/data/icons/triage_card_small.paa deleted file mode 100644 index 92eb0f0d20..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/icons/triage_card_small.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/data/ui_background.paa b/TO_MERGE/cse/sys_medical/data/ui_background.paa deleted file mode 100644 index f1c42c7d7d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/data/ui_background.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Atropin-pen.p3d b/TO_MERGE/cse/sys_medical/equipment/Atropin-pen.p3d deleted file mode 100644 index 84d210518d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Atropin-pen.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Atropin-pen_used.p3d b/TO_MERGE/cse/sys_medical/equipment/Atropin-pen_used.p3d deleted file mode 100644 index ba2e4c4c38..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Atropin-pen_used.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Bandage elastic.p3d b/TO_MERGE/cse/sys_medical/equipment/Bandage elastic.p3d deleted file mode 100644 index 1ada83c00e..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Bandage elastic.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Bandage-Pack.p3d b/TO_MERGE/cse/sys_medical/equipment/Bandage-Pack.p3d deleted file mode 100644 index 4e48818373..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Bandage-Pack.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Bandage-elastic.p3d b/TO_MERGE/cse/sys_medical/equipment/Bandage-elastic.p3d deleted file mode 100644 index 1b29b17f7c..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Bandage-elastic.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Epipen.p3d b/TO_MERGE/cse/sys_medical/equipment/Epipen.p3d deleted file mode 100644 index 437e15c0bb..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Epipen.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Epipen_used.p3d b/TO_MERGE/cse/sys_medical/equipment/Epipen_used.p3d deleted file mode 100644 index 5359c83a23..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Epipen_used.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Morphinpen.p3d b/TO_MERGE/cse/sys_medical/equipment/Morphinpen.p3d deleted file mode 100644 index af3f03ec6a..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Morphinpen.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Morphinpen_used.p3d b/TO_MERGE/cse/sys_medical/equipment/Morphinpen_used.p3d deleted file mode 100644 index 80489bd74d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Morphinpen_used.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/DPM-wood.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/DPM-wood.p3d deleted file mode 100644 index dad1a7880e..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/DPM-wood.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Flecktarn-desert.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Flecktarn-desert.p3d deleted file mode 100644 index 2597ddd826..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Flecktarn-desert.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Flecktarn-wood.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Flecktarn-wood.p3d deleted file mode 100644 index 13502cb0fa..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Flecktarn-wood.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/MTP.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/MTP.p3d deleted file mode 100644 index fb5ee9fddc..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/MTP.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-desert.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-desert.p3d deleted file mode 100644 index 9ee93c126d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-desert.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-grey.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-grey.p3d deleted file mode 100644 index 8464bbb9eb..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-grey.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-wood.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-wood.p3d deleted file mode 100644 index a3599f3ace..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Marpat-wood.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Multicam.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Multicam.p3d deleted file mode 100644 index 51651d7144..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/Multicam.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/DPM-Desert.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/DPM-Desert.paa deleted file mode 100644 index 94478b8c58..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/DPM-Desert.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/DPM-wood.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/DPM-wood.paa deleted file mode 100644 index 435fdd434c..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/DPM-wood.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Flecktarn-desert.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Flecktarn-desert.paa deleted file mode 100644 index a4beb7de20..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Flecktarn-desert.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Flecktarn-wood.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Flecktarn-wood.paa deleted file mode 100644 index 1def142a27..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Flecktarn-wood.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/MTP_co.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/MTP_co.paa deleted file mode 100644 index 660ebe3477..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/MTP_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Marpat-grey.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Marpat-grey.paa deleted file mode 100644 index 8b3fc21a60..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Marpat-grey.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Marpat-wood.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Marpat-wood.paa deleted file mode 100644 index 94e2187dc2..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Marpat-wood.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Mulitcam.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Mulitcam.paa deleted file mode 100644 index 3e55892c84..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Mulitcam.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit.rvmat b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit.rvmat deleted file mode 100644 index 5da2e3099b..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.5,0.5,0.5,1}; -forcedDiffuse[]={0.5,0.5,0.5,0}; -emmisive[]={0,0,0,1}; -specular[]={0.30000001,0.30000001,0.30000001,0}; -specularPower=100; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\Personal-aidkits\data\Personalaidkit_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_medical\equipment\Personal-aidkits\data\Personalaidkit_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit_nohq.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit_nohq.paa deleted file mode 100644 index 0d03b45372..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit_smdi.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit_smdi.paa deleted file mode 100644 index 2fb8bec533..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/Personalaidkit_smdi.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/marpat-desert.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/marpat-desert.paa deleted file mode 100644 index 6b9262427b..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/data/marpat-desert.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/dpm-desert.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/dpm-desert.p3d deleted file mode 100644 index a94b619260..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/dpm-desert.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/MTP_cross.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/MTP_cross.p3d deleted file mode 100644 index 017426e3f8..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/MTP_cross.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-desert_cross.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-desert_cross.p3d deleted file mode 100644 index 2a8dfa1c88..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-desert_cross.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-grey_cross.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-grey_cross.p3d deleted file mode 100644 index 1e1e4a846e..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-grey_cross.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-wood_cross.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-wood_cross.p3d deleted file mode 100644 index 4116d04741..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Marpat-wood_cross.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Multicam_cross.p3d b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Multicam_cross.p3d deleted file mode 100644 index 459f25ae24..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/Multicam_cross.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/MTP-cross.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/MTP-cross.paa deleted file mode 100644 index 4f6fea84ee..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/MTP-cross.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-desert-cross.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-desert-cross.paa deleted file mode 100644 index 1069ce681c..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-desert-cross.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-grey-cross.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-grey-cross.paa deleted file mode 100644 index 773080a8e4..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-grey-cross.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-wood-cross.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-wood-cross.paa deleted file mode 100644 index 1d5fa1f674..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/Marpat-wood-cross.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/multicam-cross.paa b/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/multicam-cross.paa deleted file mode 100644 index e7a0460256..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personal-aidkits/mediccross/data/multicam-cross.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Personalaidkit.p3d b/TO_MERGE/cse/sys_medical/equipment/Personalaidkit.p3d deleted file mode 100644 index e121de645d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Personalaidkit.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/QuickClot.p3d b/TO_MERGE/cse/sys_medical/equipment/QuickClot.p3d deleted file mode 100644 index 25a596f9e5..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/QuickClot.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/Tourniquet.p3d b/TO_MERGE/cse/sys_medical/equipment/Tourniquet.p3d deleted file mode 100644 index 31330499cd..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/Tourniquet.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing.p3d b/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing.p3d deleted file mode 100644 index 53c53ac9fa..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing.rvmat b/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing.rvmat deleted file mode 100644 index c643c4f0c1..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.5,0.5,0.5,1}; -forcedDiffuse[]={0.5,0.5,0.5,0}; -emmisive[]={0,0,0,1}; -specular[]={0.30000001,0.30000001,0.30000001,0}; -specularPower=57.799999; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\bandages\fielddressing_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_medical\equipment\bandages\fielddressing_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_color.paa b/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_color.paa deleted file mode 100644 index 7d68a365c2..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_color.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_garbage.p3d b/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_garbage.p3d deleted file mode 100644 index f3eed095d3..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_garbage.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_nohq.paa b/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_nohq.paa deleted file mode 100644 index c66785cf13..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_smdi.paa b/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_smdi.paa deleted file mode 100644 index 96376989f7..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/fielddressing_smdi.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage.p3d b/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage.p3d deleted file mode 100644 index 0c530a097f..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage.rvmat b/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage.rvmat deleted file mode 100644 index df5beda1a4..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.5,0.5,0.5,1}; -forcedDiffuse[]={0.5,0.5,0.5,0}; -emmisive[]={0,0,0,1}; -specular[]={0.30000001,0.30000001,0.30000001,0}; -specularPower=57.799999; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\bandages\packingbandage_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_medical\equipment\bandages\packingbandage_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_color.paa b/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_color.paa deleted file mode 100644 index 54b1f75e2e..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_color.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_garbage.p3d b/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_garbage.p3d deleted file mode 100644 index b0bbf671a3..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_garbage.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_nohq.paa b/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_nohq.paa deleted file mode 100644 index 1b3782c501..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_smdi.paa b/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_smdi.paa deleted file mode 100644 index 8d5b3848ac..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bandages/packingbandage_smdi.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bodybag.p3d b/TO_MERGE/cse/sys_medical/equipment/bodybag.p3d deleted file mode 100644 index 854c46059c..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bodybag.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/bodybagItem.p3d b/TO_MERGE/cse/sys_medical/equipment/bodybagItem.p3d deleted file mode 100644 index 778752ca7e..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/bodybagItem.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Atropinpen_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/Atropinpen_co.paa deleted file mode 100644 index 3e44836bee..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Atropinpen_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Epipen_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/Epipen_co.paa deleted file mode 100644 index 2a1afe1f33..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Epipen_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing.rvmat b/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing.rvmat deleted file mode 100644 index e4c98edc42..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={0.5,0.5,0.5,1}; -forcedDiffuse[]={0.5,0.5,0.5,0}; -emmisive[]={0,0,0,1}; -specular[]={0.30000001,0.30000001,0.30000001,0}; -specularPower=57.799999; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\data\Field-Dressing_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_medical\equipment\data\Field-Dressing_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,1}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing_nohq.paa b/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing_nohq.paa deleted file mode 100644 index 6972636a3d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing_smdi.paa b/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing_smdi.paa deleted file mode 100644 index f450605958..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Field-Dressing_smdi.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Field-dressing.paa b/TO_MERGE/cse/sys_medical/equipment/data/Field-dressing.paa deleted file mode 100644 index 07bae7d595..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Field-dressing.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Liquid-skin.paa b/TO_MERGE/cse/sys_medical/equipment/data/Liquid-skin.paa deleted file mode 100644 index fda64304bc..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Liquid-skin.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Morphin_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/Morphin_co.paa deleted file mode 100644 index 8d91fd0e10..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Morphin_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/Tournequit_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/Tournequit_co.paa deleted file mode 100644 index e83aada994..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/Tournequit_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bandage-elastic.paa b/TO_MERGE/cse/sys_medical/equipment/data/bandage-elastic.paa deleted file mode 100644 index 3164b5d4ca..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/bandage-elastic.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bodybag.rvmat b/TO_MERGE/cse/sys_medical/equipment/data/bodybag.rvmat deleted file mode 100644 index d2955e1c4a..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/data/bodybag.rvmat +++ /dev/null @@ -1,92 +0,0 @@ -ambient[]={1.000000,1.000000,1.000000,1.000000}; -diffuse[]={1.000000,1.000000,1.000000,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={0.703999,0.703999,0.703999,0.000000}; -specularPower=70.000000; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\data\bodybag_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="#(argb,8,8,3)color(0,0.05,1,1,SMDI)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(0.98,1.02)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="cse\cse_sys_medical\equipment\data\env_co.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem.rvmat b/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem.rvmat deleted file mode 100644 index 8be756a025..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem.rvmat +++ /dev/null @@ -1,32 +0,0 @@ -ambient[]={1.000000,1.000000,1.000000,1.000000}; -diffuse[]={1.000000,1.000000,1.000000,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={1.000000,1.000000,1.000000,1.000000}; -specularPower=20.000000; -PixelShaderID="NormalMapSpecularDIMap"; -VertexShaderID="NormalMap"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\data\bodybagItem_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 -{ - texture="cse\cse_sys_medical\equipment\data\bodybagItem_smdi.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_co.paa deleted file mode 100644 index d04f8ec64c..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_nohq.paa b/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_nohq.paa deleted file mode 100644 index 5699ec5e04..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_smdi.paa b/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_smdi.paa deleted file mode 100644 index cf4cf805e3..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/bodybagItem_smdi.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bodybag_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/bodybag_co.paa deleted file mode 100644 index 21996761b7..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/bodybag_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/bodybag_nohq.paa b/TO_MERGE/cse/sys_medical/equipment/data/bodybag_nohq.paa deleted file mode 100644 index 5c6b35c595..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/bodybag_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/env_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/env_co.paa deleted file mode 100644 index 77645347b5..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/env_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/quickclot_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/quickclot_co.paa deleted file mode 100644 index bf0edccd7e..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/quickclot_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit.rvmat b/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit.rvmat deleted file mode 100644 index 4af111299b..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit.rvmat +++ /dev/null @@ -1,92 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={1,1,1,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={0.70399898,0.70399898,0.70399898,0}; -specularPower=70; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="cse\cse_sys_medical\equipment\data\surgical_kit_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="#(argb,8,8,3)color(0,0.05,1,1,SMDI)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(0.98,1.02)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage7 -{ - texture="cse\cse_sys_medical\equipment\data\env_co.tga"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_co.paa b/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_co.paa deleted file mode 100644 index 3e622afe48..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_metal.rvmat b/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_metal.rvmat deleted file mode 100644 index 65192a777f..0000000000 --- a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_metal.rvmat +++ /dev/null @@ -1,22 +0,0 @@ -ambient[]={1,1,1,0}; -diffuse[]={1,1,1,0}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,0}; -specular[]={0.5,0.5,0.5,0}; -specularPower=11.6; -renderFlags[]= -{ - "NoAlphaWrite" -}; -PixelShaderID="Glass"; -VertexShaderID="Glass"; -class Stage1 -{ - texture="#(argb,8,8,3)color(1,1,1,0.9)"; - uvSource="none"; -}; -class Stage2 -{ - texture="a3\data_f\env_chrome_co.paa"; - uvSource="none"; -}; diff --git a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_nohq.paa b/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_nohq.paa deleted file mode 100644 index b8027515bc..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/data/surgical_kit_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/field_dressing.p3d b/TO_MERGE/cse/sys_medical/equipment/field_dressing.p3d deleted file mode 100644 index a94a398b68..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/field_dressing.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/field_dressing_used.p3d b/TO_MERGE/cse/sys_medical/equipment/field_dressing_used.p3d deleted file mode 100644 index 7d6765db10..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/field_dressing_used.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/atropine.paa b/TO_MERGE/cse/sys_medical/equipment/img/atropine.paa deleted file mode 100644 index 49b79e99e5..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/atropine.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/bandageElastic.paa b/TO_MERGE/cse/sys_medical/equipment/img/bandageElastic.paa deleted file mode 100644 index bbf7901ceb..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/bandageElastic.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/bloodbag.paa b/TO_MERGE/cse/sys_medical/equipment/img/bloodbag.paa deleted file mode 100644 index 489614bf44..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/bloodbag.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/bodybag.paa b/TO_MERGE/cse/sys_medical/equipment/img/bodybag.paa deleted file mode 100644 index a3a7257fc3..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/bodybag.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/chestseal.paa b/TO_MERGE/cse/sys_medical/equipment/img/chestseal.paa deleted file mode 100644 index be0f4f77bf..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/chestseal.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/epinephrine.paa b/TO_MERGE/cse/sys_medical/equipment/img/epinephrine.paa deleted file mode 100644 index d4c556281a..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/epinephrine.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/field_dressing.paa b/TO_MERGE/cse/sys_medical/equipment/img/field_dressing.paa deleted file mode 100644 index bfe11f2a07..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/field_dressing.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/liquidSkin.paa b/TO_MERGE/cse/sys_medical/equipment/img/liquidSkin.paa deleted file mode 100644 index 40e72038ec..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/liquidSkin.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/morphine.paa b/TO_MERGE/cse/sys_medical/equipment/img/morphine.paa deleted file mode 100644 index 16918da53f..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/morphine.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/nasopharyngeal_tube.paa b/TO_MERGE/cse/sys_medical/equipment/img/nasopharyngeal_tube.paa deleted file mode 100644 index 6629605519..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/nasopharyngeal_tube.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/packing_bandage.paa b/TO_MERGE/cse/sys_medical/equipment/img/packing_bandage.paa deleted file mode 100644 index 5825d17a77..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/packing_bandage.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/personal_aid_kit.paa b/TO_MERGE/cse/sys_medical/equipment/img/personal_aid_kit.paa deleted file mode 100644 index 87d6a1612f..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/personal_aid_kit.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/plasma_iv.paa b/TO_MERGE/cse/sys_medical/equipment/img/plasma_iv.paa deleted file mode 100644 index 31eb3e34df..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/plasma_iv.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/quickclot.paa b/TO_MERGE/cse/sys_medical/equipment/img/quickclot.paa deleted file mode 100644 index 8727b7d1d0..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/quickclot.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/saline_iv.paa b/TO_MERGE/cse/sys_medical/equipment/img/saline_iv.paa deleted file mode 100644 index a957e36d7c..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/saline_iv.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/splint.paa b/TO_MERGE/cse/sys_medical/equipment/img/splint.paa deleted file mode 100644 index 87c1cb8686..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/splint.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/surgical_kit.paa b/TO_MERGE/cse/sys_medical/equipment/img/surgical_kit.paa deleted file mode 100644 index e6b3533a12..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/surgical_kit.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/img/tourniquet.paa b/TO_MERGE/cse/sys_medical/equipment/img/tourniquet.paa deleted file mode 100644 index 1a0dace011..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/img/tourniquet.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/skinliquid.p3d b/TO_MERGE/cse/sys_medical/equipment/skinliquid.p3d deleted file mode 100644 index 485457a54a..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/skinliquid.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/splint.p3d b/TO_MERGE/cse/sys_medical/equipment/splint.p3d deleted file mode 100644 index 42f3ad14b7..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/splint.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/equipment/surgical_kit.p3d b/TO_MERGE/cse/sys_medical/equipment/surgical_kit.p3d deleted file mode 100644 index 0c01cc8add..0000000000 Binary files a/TO_MERGE/cse/sys_medical/equipment/surgical_kit.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/functions.sqf b/TO_MERGE/cse/sys_medical/functions.sqf deleted file mode 100644 index 53a52d84a7..0000000000 --- a/TO_MERGE/cse/sys_medical/functions.sqf +++ /dev/null @@ -1,65 +0,0 @@ -/* -functions.sqf -Usage: compileFinals the function SQF files into variables for use -Author: Glowbal - -Arguments: none -Returns: none - -Affects: n/a -Executes: -*/ - -cse_fnc_unitLoop_CMS = { - _unit = _this select 0; - if !(local _unit) exitwith{}; - if !(_unit getvariable["cse_fnc_unitLoop_CMS",false]) then{ - _unit setvariable ["cse_fnc_unitLoop_CMS",true]; - }; - - if ([_unit] call cse_fnc_hasMedicalEnabled_CMS) then { - if (isnil "CSE_MEDICAL_COMBINED_LOOP_CMS") then { - CSE_MEDICAL_COMBINED_LOOP_CMS = []; - }; - if (_unit in CSE_MEDICAL_COMBINED_LOOP_CMS) exitwith {}; - CSE_MEDICAL_COMBINED_LOOP_CMS pushback _unit; - [format["Added %1 to unitLoop",_unit]] call cse_fnc_debug; - }; -}; - -cse_fnc_onBodySwitch_CMS = { - private ["_unit","_newUnit"]; - _unit = _this select 0; - _newUnit = _this select 1; - if (!dialog) exitwith{}; - if (CSE_SYS_MEDICAL_INTERACTION_TARGET == _unit) then { - CSE_SYS_MEDICAL_INTERACTION_TARGET = _newUnit; - }; -}; - -cse_eh_killed_CMS = { - private["_unit"]; - _unit = _this select 0; - if (!local _unit) exitwith {}; - [_unit, "cse_pain",0,true] call cse_fnc_setVariable; - [_unit, "cse_heartRate",0,true] call cse_fnc_setVariable; - [_unit, "cse_bloodPressure", [0,0],true] call cse_fnc_setVariable; - if (_unit getvariable["cse_unconscious_non_captive_f",false]) then { - _unit setCaptive false; - _unit setvariable["cse_unconscious_non_captive_f",nil]; - }; -}; - -cse_eh_local_CMS = { - private["_unit"]; - _unit = _this select 0; - _local = _this select 1; - [format["Locality changed for: %1",_this]] call cse_fnc_Debug; - if (_local) then { - if (_unit getvariable["cse_fnc_unitLoop_CMS",false]) then { - [_unit] call cse_fnc_unitLoop_CMS; - }; - } else { - - }; -}; diff --git a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_addActivityToLog_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/activityLog/fn_addActivityToLog_CMS.sqf deleted file mode 100644 index 57cf285406..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_addActivityToLog_CMS.sqf +++ /dev/null @@ -1,44 +0,0 @@ -/** - * fn_addActivityToLog_CMS.sqf - * @Descr: adds an item to the activity log - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, type STRING, message STRING] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit","_caller","_type","_activity","_log"]; - -_unit = _this select 0; -_type = _this select 1; -_message = _this select 2; - -if (!local _unit) exitwith { - [_this, "cse_fnc_addActivityToLog_CMS", _unit, false] spawn BIS_fnc_MP; -}; -_lastNumber = date select 4; -_moment = format["%1:%2",date select 3, _lastNumber]; -if (_lastNumber < 10) then { - _moment = format["%1:0%2",date select 3, _lastNumber]; -}; - - -_log = [_unit, "cse_activityLog_CMS"] call cse_fnc_getVariable; -if (count _log >= 8) then { - _newLog = []; - _counter = 0; - { - // ensure the first element will not be added - if (_counter > 0) then { - _newLog pushback _x; - } else { - _counter = _counter + 1; - }; - }foreach _log; - _log = _newLog; -}; -_log pushback [_message,_moment,_type]; - -[_unit, "cse_activityLog_CMS",_log] call cse_fnc_setVariable; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_addToQuickViewLog_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/activityLog/fn_addToQuickViewLog_CMS.sqf deleted file mode 100644 index 53088849a4..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_addToQuickViewLog_CMS.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/** - * fn_addToQuickViewLog_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit","_caller","_type","_activity","_log"]; - -_unit = _this select 0; -_type = _this select 1; -_message = _this select 2; -_lastNumber = date select 4; -if (!local _unit) exitwith { - [_this, "cse_fnc_addToQuickViewLog_CMS", _unit, false] spawn BIS_fnc_MP; -}; -_moment = format["%1:%2",date select 3, _lastNumber]; -if (_lastNumber < 10) then { - _moment = format["%1:0%2",date select 3, _lastNumber]; -}; - - -_log = [_unit,"cse_quickviewLog_CMS"] call cse_fnc_getVariable; -if (count _log >= 8) then { - _newLog = []; - _counter = 0; - { - if (_counter > 0) then { - _newLog pushback _x; - } else { - _counter = _counter + 1; - }; - }foreach _log; - _log = _newLog; -}; -_log pushback [_message,_moment,_type]; - -[_unit,"cse_quickviewLog_CMS",_log] call cse_fnc_setVariable; diff --git a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_getActivityLog_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/activityLog/fn_getActivityLog_CMS.sqf deleted file mode 100644 index 68d82d4cf5..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_getActivityLog_CMS.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_getActivityLog_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private["_unit"]; -_unit = _this select 0; -_log = [_unit,"cse_activityLog_CMS"] call cse_fnc_getVariable; - -if (isnil "_log") then { - _log = []; -}; -if (typeName _log != typeName []) then { - _log = []; -}; -_log diff --git a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_getQuickViewLog_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/activityLog/fn_getQuickViewLog_CMS.sqf deleted file mode 100644 index 2e9e50d827..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/activityLog/fn_getQuickViewLog_CMS.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_getQuickViewLog_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private["_unit"]; -_unit = _this select 0; -_log = [_unit,"cse_quickviewLog_CMS"] call cse_fnc_getVariable; -if (isnil "_log") then { - _log = []; -}; -if (typeName _log != typeName []) then { - _log = []; -}; -_log diff --git a/TO_MERGE/cse/sys_medical/functions/basic/fn_basicBandage_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/basic/fn_basicBandage_CMS.sqf deleted file mode 100644 index 80622fb40a..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/basic/fn_basicBandage_CMS.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/** - * fn_basicBandage_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_removeItem = _this select 2; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_treatingPerson] call cse_fnc_treatmentMutex_CMS; - -if (!([_treatingPerson,_removeItem] call cse_fnc_hasMagazine)) exitwith { [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; }; - [_treatingPerson,_removeItem] call cse_fnc_useMagazine; -if (dialog) then { - [] call cse_fnc_gui_refreshLastSubMenu; -}; - -if (vehicle _treatingPerson == _treatingPerson && (vehicle _injuredPerson == _injuredPerson)) then { - [_treatingPerson,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_broadcastAnim; -}; - -_spot = 0; -_openWounds = [_injuredPerson,"cse_openWounds"] call cse_fnc_getvariable; -_counter = 0; -_highestTotal = 0; -{ - _totalNumber = 0; - { - _totalNumber = _totalNumber + _x; - }foreach _x; - if (_totalNumber > _highestTotal) then { - [format["_totalNumber vs _highestTotal",_totalNumber,_highestTotal]] call cse_fnc_debug; - _spot = _counter; - _highestTotal = _totalNumber; - }; - _counter = _counter + 1; -}foreach _openWounds; - -if (_spot < 0) exitwith { [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; }; -_selectionName = [_spot] call cse_fnc_fromNumberToBodyPart_CMS; -[format["CONVERTED NUMBER TO: %1 TO %2",_spot,_selectionName]] call cse_fnc_debug; -_name = [_injuredPerson,"cse_name"] call cse_fnc_getVariable; -_messageSend = formatText ["You apply a bandage on %1 - %2", _name,_selectionName]; -[_treatingPerson,_messageSend] call cse_fnc_sendHintTo; -[[_injuredPerson, _treatingPerson, _selectionName, _removeItem], "cse_fnc_bandageLocal_CMS", _injuredPerson, false] spawn BIS_fnc_MP; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/basic/fn_fromNumberToBodyPart_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/basic/fn_fromNumberToBodyPart_CMS.sqf deleted file mode 100644 index 1995516ba7..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/basic/fn_fromNumberToBodyPart_CMS.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/** - * fn_fromNumberToBodyPart_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_selectionName","_part"]; -_part = _this select 0; -_selectionName = ""; -_selectionName = switch (_part) do { - case 0: { - "head" - }; - case 1: { - "body" - }; - case 2: { - "hand_l" - }; - case 3: { - "hand_r" - }; - case 4: { - "leg_l" - }; - case 5: { - "leg_r" - }; - default { - "" - }; -}; -_selectionName \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/blood/fn_bloodConditions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/blood/fn_bloodConditions_CMS.sqf deleted file mode 100644 index c7bc6b68ce..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/blood/fn_bloodConditions_CMS.sqf +++ /dev/null @@ -1,58 +0,0 @@ -/** - * fn_bloodConditions_CMS.sqf - * @Descr: Check if any of the unconscious or dead conditions are true for given unit and if so, make the relevant function calls. - * @Author: Glowbal - * - * @Arguments: [unit OBJECt, bloodVolume NUMBER, bloodPressure ARRAY, heartRate NUMBER] - * @Return: void - * @PublicAPI: false - */ - - -private ["_unit","_bloodVolume","_bloodPressure","_heartRate","_bloodPressureL","_bloodPressureH","_bloodLoss"]; -_unit = _this select 0; -_bloodVolume = _this select 1; -_bloodPressure = _this select 2; -_heartRate = _this select 3; - -if ((_unit getvariable["CSE_ENABLE_REVIVE_SETDEAD_F",0]) == 0) then { - _bloodPressureL = _bloodPressure select 0; - _bloodPressureH = _bloodPressure select 1; - if (!(_unit getvariable ["cse_cardiacArrest_CMS",false])) then { - if (_bloodPressureH > 260) then { - if (random(1) > 0.7) then { - [_unit] spawn cse_fnc_cardiacArrest_CMS; - }; - }; - if (_bloodPressureL < 40 && _heartRate > 190) then { - if (random(1) > 0.7) then { - [_unit] spawn cse_fnc_cardiacArrest_CMS; - }; - }; - if (_bloodPressureH > 145 && _heartRate > 150) then { - if (random(1) > 0.7) then { - [_unit] spawn cse_fnc_cardiacArrest_CMS; - }; - }; - if (_heartRate > 200) then { - [_unit] spawn cse_fnc_cardiacArrest_CMS; - }; - - if (_heartRate < 20) then { - [_unit] spawn cse_fnc_cardiacArrest_CMS; - }; - }; - if ([_unit] call cse_fnc_isAwake) then { - if (_bloodVolume < 60) then { - if (random(1) > 0.9) then { - [_unit] call cse_fnc_setUnconsciousState; - }; - }; - if (_heartRate < 10 || _bloodPressureH < 30 || _bloodVolume < 20) then { - [_unit] call cse_fnc_setUnconsciousState; // safety check to at least ensure unconsciousness for units if they are not dead already. - }; - }; -}; -if (_bloodVolume < 30) then { - [_unit] call cse_fnc_setDead_CMS; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/blood/fn_cardiacArrest_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/blood/fn_cardiacArrest_CMS.sqf deleted file mode 100644 index fb296aacb4..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/blood/fn_cardiacArrest_CMS.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/** - * fn_cardiacArrest_CMS.sqf - * @Descr: Triggers a unit into the Cardiac Arrest state from CMS. Will put the unit in an unconscious state and run a countdown timer until unit dies.
Timer is a random value between 120 and 720 seconds. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (The unit that will be put in cardiac arrest state)] - * @Return: void - * @PublicAPI: true - */ - - -private ["_unit", "_modifier","_timer","_counter", "_heartRate"]; -_unit = _this select 0; - -if (_unit getvariable ["cse_cardiacArrest_CMS",false]) exitwith {}; -[format["%1 is put into cardiac arrest",_unit]] call cse_fnc_debug; -_unit setvariable ["cse_cardiacArrest_CMS", true,true]; -[_unit,"cse_heartRate", 0] call cse_fnc_setVariable; - - -[_unit] call cse_fnc_setUnconsciousState; -_counter = 120 + round(random(600)); -_timer = 0; -while {(_timer < _counter && alive _unit)} do { - _heartRate = [_unit,"cse_heartRate"] call cse_fnc_getVariable; - if (_heartRate > 0) exitwith { - [format["%1 is moved out of cardiac: %2",_unit, _heartRate]] call cse_fnc_debug; - _unit setvariable ["cse_cardiacArrest_CMS", nil,true]; - }; - if (_counter - _timer < 1) exitwith { - [_unit] call cse_fnc_setDead_CMS; - }; - sleep 1; - _timer = _timer + 1; -}; - -_unit setvariable ["cse_cardiacArrest_CMS", nil,true]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/drag/fn_carry_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/drag/fn_carry_CMS.sqf deleted file mode 100644 index c23b51af7c..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/drag/fn_carry_CMS.sqf +++ /dev/null @@ -1,103 +0,0 @@ -/* - fnc_carry.sqf - Usage: makes the calling unit start carrying the specified unit - Author: Glowbal - - Arguments: array [caller (object), target (object)] - 1: caller (OBJECT), Object of type Man - 2: target (OBJECT), Object of type Man - Returns: none - - Affects: Caller and target locality - Executes: spawn -*/ - -private ["_caller", "_unit", "_positionUnit", "_killOnDrop"]; -_caller = [_this, 0, objNull, [objNull]] call BIS_fnc_param; -_unit = [_this, 1, objNull, [objNull]] call BIS_fnc_param; - - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_caller] call cse_fnc_treatmentMutex_CMS; - -if (!(_unit isKindOf "CaManBase") || !(_caller isKindOf "CaManBase")) exitwith{ [_caller,"release"] call cse_fnc_treatmentMutex_CMS; }; -if (vehicle _caller != _caller || vehicle _unit != _unit) exitwith { [_caller,"release"] call cse_fnc_treatmentMutex_CMS;}; - -if (!([_caller] call cse_fnc_canInteract) || {_caller == _unit} || {(([_unit] call cse_fnc_isAwake))}) exitwith { - ["cse_fnc_drag_CMS call failed condition: canInteract, equal, is awake"] call cse_fnc_debug; - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; - -if (([_caller] call cse_fnc_getCarriedObj) != _unit && !(isNull ([_caller] call cse_fnc_getCarriedObj)) || {!isNull(_unit getvariable ["cse_beingDragged_CMS",objNull]) || !isNull(_caller getvariable ["cse_dragging_CMS",objNull])} || {!isNull(_unit getvariable ["cse_beingCarried_CMS",objNull]) || !isNull(_caller getvariable ["cse_carrying_CMS",objNull])}) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; - ["carryobj reset"] call cse_fnc_debug; - [_caller,objNull] call cse_fnc_carryObj; -}; -_killOnDrop = false; -if (!alive _unit) then { - _killOnDrop = true; - _unit = [_unit,_caller] call cse_fnc_makeCopyOfBody_F; -}; -if (isNull _unit) exitwith {}; - -if !([_caller,_unit] call cse_fnc_carryObj) exitwith { - ["couldn't carry object!"] call cse_fnc_debug; [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; -_unit setvariable ["cse_beingCarried_CMS",_caller,true]; -_caller setvariable ["cse_carrying_CMS",_unit,true]; -_caller selectWeapon (primaryWeapon _caller); - -[_caller,"acinpercmstpsraswrfldnon",true] call cse_fnc_broadcastAnim; -_unit attachTo [_caller, [0.1, -0.1, -1.25], "LeftShoulder"]; -[_unit,"AinjPfalMstpSnonWnonDf_carried_dead",true] call cse_fnc_broadcastAnim; - -if (!isnil "CSE_DROP_ADDACTION_CMS") then { - _caller removeAction CSE_DROP_ADDACTION_CMS; - CSE_DROP_ADDACTION_CMS = nil; -}; - -CSE_DROP_ADDACTION_CMS = _caller addAction [format["Drop %1",[_unit] call cse_fnc_getName], {[_this select 1, _this select 2] call cse_fnc_drop_CMS;}]; -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; - -[[_caller, _unit],"onCarryInjured"] call cse_fnc_customEventHandler_F; - -waituntil {((isNull ([_caller] call cse_fnc_getCarriedObj)) || !([_caller] call cse_fnc_isAwake) || !(vehicle _caller == _caller))}; -[_caller,ObjNull] call cse_fnc_carryObj; - -if (([_caller] call cse_fnc_isAwake)) then { - if (vehicle _unit == _unit) then { - if (([_unit] call cse_fnc_isAwake)) then { - [_unit,"",false] call cse_fnc_broadcastAnim; - } else { - [_unit,([_unit] call cse_fnc_getDeathAnim),false] call cse_fnc_broadcastAnim; - }; - }; - if (vehicle _caller == _caller) then { - [_caller,"",false] call cse_fnc_broadcastAnim; - }; -} else { - if (vehicle _unit == _unit) then { - if (([_unit] call cse_fnc_isAwake)) then { - [_unit,"",false] call cse_fnc_broadcastAnim; - } else { - [_unit,([_unit] call cse_fnc_getDeathAnim),false] call cse_fnc_broadcastAnim; - }; - }; -}; -if (!surfaceIsWater getPos _caller) then { - sleep 0.5; - if (vehicle _unit == _unit) then { - if (vehicle _caller == _caller) then { - _positionUnit = getPosATL _unit; - _positionUnit set [2, (getPosATL _caller) select 2]; - _unit setPosATL _positionUnit; - }; - }; -}; -if (_killOnDrop) then { - _unit setDamage 1; -}; -_unit setvariable ["cse_beingCarried_CMS",objNull,true]; -_caller setvariable ["cse_carrying_CMS",objNull,true]; - -[[_caller, _unit, 1],"onDropInjured"] call cse_fnc_customEventHandler_F; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/drag/fn_drag_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/drag/fn_drag_CMS.sqf deleted file mode 100644 index 542f209392..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/drag/fn_drag_CMS.sqf +++ /dev/null @@ -1,115 +0,0 @@ -/* -fnc_drag.sqf -Usage: makes the calling unit start dragging the specified unit -Author: Glowbal - -Arguments: array [unit (object), unit (object)] - 1: Caller OBJECT. Unit that initiats the dragging - 2: Target OBJECT. Unit that will be dragged -Returns: none - -Affects: Caller and target Locality -Executes: spawn -*/ -private ["_caller", "_unit", "_positionUnit", "_killOnDrop"]; -_caller = [_this, 0, objNull, [objNull]] call BIS_fnc_param; -_unit = [_this, 1, objNull, [objNull]] call BIS_fnc_param; - -["cse_fnc_drag_CMS has been called",2] call cse_fnc_debug; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_caller] call cse_fnc_treatmentMutex_CMS; - -if (!(_unit isKindOf "CaManBase") || !(_caller isKindOf "CaManBase")) exitwith{ [_caller,"release"] call cse_fnc_treatmentMutex_CMS;}; -if (vehicle _caller != _caller || vehicle _unit != _unit) exitwith { [_caller,"release"] call cse_fnc_treatmentMutex_CMS;}; - -if (!([_caller] call cse_fnc_canInteract) || {_caller == _unit} || {(([_unit] call cse_fnc_isAwake))}) exitwith { ["cse_fnc_drag_CMS call failed condition: canInteract, equal, is awake"] call cse_fnc_debug; - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; - -if (([_caller] call cse_fnc_getCarriedObj) != _unit && !(isNull ([_caller] call cse_fnc_getCarriedObj)) || {!isNull(_unit getvariable ["cse_beingDragged_CMS",objNull]) || !isNull(_caller getvariable ["cse_dragging_CMS",objNull])}) exitwith { - ["carryobj reset"] call cse_fnc_debug; - [_caller,objNull] call cse_fnc_carryObj; - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; -_caller action ["WeaponOnBack", _caller]; - - -_killOnDrop = false; -if (!alive _unit) then { - _unit = [_unit,_caller] call cse_fnc_makeCopyOfBody_F; - _killOnDrop = true; - _unit playMove "AinjPpneMstpSnonWrflDb"; -}; -if (isNull _unit) exitwith {}; - -if !([_caller,_unit,[0.125, 1.007, 0]] call cse_fnc_carryObj) exitwith { [_caller,"release"] call cse_fnc_treatmentMutex_CMS; }; -_unit setDir 180; -[_unit,"AinjPpneMstpSnonWrflDb",true] call cse_fnc_broadcastAnim; -_caller selectWeapon (primaryWeapon _caller); - -if (currentWeapon _caller == primaryWeapon _caller) then { - [_caller,"AcinPknlMstpSrasWrflDnon",true] call cse_fnc_localAnim; -} else { - [_caller,"AcinPknlMstpSnonWnonDnon",true] call cse_fnc_localAnim; -}; - -_unit setvariable ["cse_beingDragged_CMS",_caller,true]; -_caller setvariable ["cse_dragging_CMS",_unit,true]; -if (!isnil "CSE_DROP_ADDACTION_CMS") then { -_caller removeAction CSE_DROP_ADDACTION_CMS; - CSE_DROP_ADDACTION_CMS = nil; -}; -CSE_DROP_ADDACTION_CMS = _caller addAction [format["Drop %1",[_unit] call cse_fnc_getName], {[_this select 1, _this select 2] call cse_fnc_drop_CMS;}]; - -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; - -[[_caller, _unit],"onDragInjured"] call cse_fnc_customEventHandler_F; - -waituntil {((isNull ([_caller] call cse_fnc_getCarriedObj)) || !([_caller] call cse_fnc_isAwake))}; -[_caller,ObjNull] call cse_fnc_carryObj; - -_unit setvariable ["cse_beingDragged_CMS",objNull,true]; -_caller setvariable ["cse_dragging_CMS",objNull,true]; - - -if (([_caller] call cse_fnc_isAwake)) then { - if (vehicle _unit == _unit) then { - if (([_unit] call cse_fnc_isAwake)) then { - [_unit,"AinjPpneMstpSnonWrflDb_release",false] call cse_fnc_broadcastAnim; - //[_unit,"aidlppnemstpsraswrfldnon0s",false] call cse_fnc_broadcastAnim; - } else { - [_unit,([_unit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim; - }; - }; - if (vehicle _caller == _caller) then { - [_caller,"amovpercmstpsraswrfldnon_amovpknlmstpslowwrfldnon",false] call cse_fnc_broadcastAnim; - }; -} else { - if (([_unit] call cse_fnc_isAwake)) then { - if (vehicle _unit == _unit) then { - [_unit,"AinjPpneMstpSnonWrflDb_release",false] call cse_fnc_broadcastAnim; - //[_unit,"aidlppnemstpsraswrfldnon0s",false] call cse_fnc_broadcastAnim; - } else { - [_unit,"",false] call cse_fnc_broadcastAnim; - }; - } else { - [_unit,([_unit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim; - }; -}; -if (!surfaceIsWater getPos _caller) then { - sleep 0.5; - if (vehicle _unit == _unit) then { - if (vehicle _caller == _caller) then { - _positionUnit = getPosATL _unit; - _positionUnit set [2, (getPosATL _caller) select 2]; - _unit setPosATL _positionUnit; - }; - }; -}; - -if (_killOnDrop) then { - _unit setDamage 1; -}; - -[[_caller, _unit, 0],"onDropInjured"] call cse_fnc_customEventHandler_F; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/drag/fn_drop_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/drag/fn_drop_CMS.sqf deleted file mode 100644 index 29b4bc28b6..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/drag/fn_drop_CMS.sqf +++ /dev/null @@ -1,21 +0,0 @@ - -/* - fnc_drop.sqf - Usage: makes the calling unit start dragging the specified unit - Author: Glowbal - - Arguments: array [unit (object), unit (object)] - Returns: none - - Affects: - Executes: -*/ - -private ["_caller", "_unit","_info","_draggedPerson"]; -_caller = _this select 0; -_unit = _this select 1; -[_caller,objNull] call cse_fnc_carryObj; -if (!isnil "CSE_DROP_ADDACTION_CMS") then { -_caller removeAction CSE_DROP_ADDACTION_CMS; - CSE_DROP_ADDACTION_CMS = nil; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/drag/fn_switchBody_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/drag/fn_switchBody_CMS.sqf deleted file mode 100644 index 9271d19bea..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/drag/fn_switchBody_CMS.sqf +++ /dev/null @@ -1,82 +0,0 @@ -/** - * fn_switchBody_CMS.sqf - * @Descr: DEPCRECATED - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_oldBody","_newUnit","_class","_group","_position","_side","_allVariables"]; -_oldBody = _this select 0; -_caller = _this select 1; - - if (alive _oldBody) exitwith {}; - _name = _oldBody getvariable ["cse_name","unknown"]; - _class = typeof _oldBody; - _side = side _caller; - _group = createGroup _side; - _position = getPos _oldBody; - - //_group = (group _oldBody); - //_newUnit = _group createUnit [_class, _position, [], 3, "FORM"]; - _newUnit = _group createUnit [typeof _oldBody, _position, [], 0, "NONE"]; - - - - _allVariables = [_oldBody] call cse_fnc_getAllSetVariables; - // [NAME (STRING), TYPENAME (STRING), VALUE (ANY), DEFAULT GLOBAL (BOOLEAN)] - { - [_newUnit,_x select 0, _x select 2] call cse_fnc_setVariable; - }foreach _allVariables; - _newUnit setVariable ["cse_name",_name,true]; - - _newUnit disableAI "TARGET"; - _newUnit disableAI "AUTOTARGET"; - _newUnit disableAI "MOVE"; - _newUnit disableAI "ANIM"; - _newUnit disableAI "FSM"; - _newUnit setvariable ["cse_isDead",true,true]; - - _newUnit setvariable ["cse_heartRate", 0]; - _newUnit setvariable ["cse_bloodPressure", [0,0]]; - - removeallweapons _newUnit; - removeallassigneditems _newUnit; - removeUniform _newUnit; - removeHeadgear _newUnit; - removeBackpack _newUnit; - removeVest _newUnit; - - - _newUnit addHeadgear (headgear _oldBody); - _newUnit addBackpack (backpack _oldBody); - clearItemCargoGlobal (backpackContainer _newUnit); - clearMagazineCargoGlobal (backpackContainer _newUnit); - clearWeaponCargoGlobal (backpackContainer _newUnit); - - _newUnit addVest (vest _oldBody); - clearItemCargoGlobal (backpackContainer _newUnit); - clearMagazineCargoGlobal (backpackContainer _newUnit); - clearWeaponCargoGlobal (backpackContainer _newUnit); - - _newUnit addUniform (uniform _oldBody); - clearItemCargoGlobal (backpackContainer _newUnit); - clearMagazineCargoGlobal (backpackContainer _newUnit); - clearWeaponCargoGlobal (backpackContainer _newUnit); - - {_newUnit addMagazine _x} count (magazines _oldBody); - {_newUnit addWeapon _x} count (weapons _oldBody); - {_newUnit addItem _x} count (items _oldBody); - - _newUnit selectWeapon (primaryWeapon _newUnit); - [_newUnit,([_newUnit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim; - - if (CSE_SYS_MEDICAL_INTERACTION_TARGET == _oldBody) then { - CSE_SYS_MEDICAL_INTERACTION_TARGET = _newUnit; - }; -// [[_oldBody,_newUnit],_name,"cse_fnc_onBodySwtich_CMS",true,false] spawn BIS_fnc_MP; - - deleteVehicle _oldBody; -_newUnit \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkBloodPressureLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/examine/fn_checkBloodPressureLocal_CMS.sqf deleted file mode 100644 index f883c4ecf6..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkBloodPressureLocal_CMS.sqf +++ /dev/null @@ -1,57 +0,0 @@ -/** - * fn_checkBloodPressureLocal_CMS.sqf - * @Descr: Displays specified units current blood pressure - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_caller","_unit","_bloodPressure","_bloodPressureHigh","_bloodPressureLow","_title","_content"]; -_caller = _this select 0; -_unit = _this select 1; - - - _bloodPressure = [_unit] call cse_fnc_getBloodPressure_CMS; - if (!alive _unit) then { - _bloodPressure = [0,0]; - }; - - _bloodPressureHigh = _bloodPressure select 1; - _bloodPressureLow = _bloodPressure select 0; - _output = ""; -_logOutPut = ""; - if ([_caller] call cse_fnc_medicClass_CMS) then { - _output = "STR_CSE_CMS_CHECK_BLOODPRESSURE_OUTPUT_1"; - _logOutPut = format["%1/%2",round(_bloodPressureHigh),round(_bloodPressureLow)]; - } else { - if (_bloodPressureHigh > 20) then { - _output = "STR_CSE_CMS_CHECK_BLOODPRESSURE_OUTPUT_2"; - _logOutPut = "Low"; - if (_bloodPressureHigh > 100) then { - _output = "STR_CSE_CMS_CHECK_BLOODPRESSURE_OUTPUT_3"; - _logOutPut = "Normal"; - if (_bloodPressureHigh > 160) then { - _output = "STR_CSE_CMS_CHECK_BLOODPRESSURE_OUTPUT_4"; - _logOutPut = "High"; - }; - - }; - } else { - if (random(10) > 3) then { - _output = "STR_CSE_CMS_CHECK_BLOODPRESSURE_OUTPUT_5"; - _logOutPut = "No Blood Pressure"; - } else { - _output = "STR_CSE_CMS_CHECK_BLOODPRESSURE_OUTPUT_6"; - }; - }; - }; - -_title = format["STR_CSE_CMS_CHECK_BLOODPRESSURE"]; -_content = ["STR_CSE_CMS_CHECK_BLOODPRESSURE_CHECKED_MEDIC", _output]; -[_caller, _title, _content, 0,[[_unit] call cse_fnc_getName, round(_bloodPressureHigh),round(_bloodPressureLow)] ] call cse_fnc_sendDisplayInformationTo; - -if (_logOutPut != "") then { - [_unit,"examine",format["%1 checked Blood Pressure: %2",[_caller] call cse_fnc_getName,_logOutPut]] call cse_fnc_addToQuickViewLog_CMS; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkBloodPressure_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/examine/fn_checkBloodPressure_CMS.sqf deleted file mode 100644 index 0736576321..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkBloodPressure_CMS.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/** - * fn_checkBloodPressure_CMS.sqf - * @Descr: Displays specified units current blood pressure - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_caller","_unit","_bloodPressure","_bloodPressureHigh","_bloodPressureLow"]; -_caller = _this select 0; -_unit = _this select 1; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_caller] call cse_fnc_treatmentMutex_CMS; -_title = format["STR_CSE_CMS_CHECK_BLOODPRESSURE"]; -_content = ["STR_CSE_CMS_CHECK_BLOODPRESSURE_CONTENT"]; -[_caller, _title, _content] call cse_fnc_sendDisplayInformationTo; - - -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _caller; -if !([(2 + round(random(4))),{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; - -[_this, "cse_fnc_checkBloodPressureLocal_CMS", _unit, false] spawn BIS_fnc_MP; -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkPulseLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/examine/fn_checkPulseLocal_CMS.sqf deleted file mode 100644 index 1b644dfa00..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkPulseLocal_CMS.sqf +++ /dev/null @@ -1,50 +0,0 @@ -/** - * fn_checkPulseLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_caller","_unit"]; -_caller = _this select 0; -_unit = _this select 1; - - _heartRate = [_unit,"cse_heartRate"] call cse_fnc_getVariable; - if (!alive _unit) then { - _heartRate = 0; - }; - _heartRateOutput = ""; - _logOutPut = ""; - if (_heartRate > 1.0) then { - if ([_caller] call cse_fnc_medicClass_CMS) then { - _heartRateOutput = "STR_CSE_CMS_CHECK_PULSE_OUTPUT_1"; - _logOutPut = format["%1",round(_heartRate)]; - } else { - // non medical personel will only find a pulse/HR - _heartRateOutput = "STR_CSE_CMS_CHECK_PULSE_OUTPUT_2"; - _logOutPut = "Weak"; - if (_heartRate > 60) then { - if (_heartRate > 100) then { - _heartRateOutput = "STR_CSE_CMS_CHECK_PULSE_OUTPUT_3"; - _logOutPut = "Strong"; - } else { - _heartRateOutput = "STR_CSE_CMS_CHECK_PULSE_OUTPUT_4"; - _logOutPut = "Normal"; - }; - }; - }; - } else { - _heartRateOutput = "STR_CSE_CMS_CHECK_PULSE_OUTPUT_5"; - _logOutPut = "No heart rate"; - }; - -_title = "STR_CSE_CMS_CHECK_PULSE"; -_content = ["STR_CSE_CMS_CHECK_PULSE_CHECKED_MEDIC",_heartRateOutput]; -[_caller, _title, _content,0, [[_unit] call cse_fnc_getName, round(_heartRate)]] call cse_fnc_sendDisplayInformationTo; - -if (_logOutPut != "") then { - [_unit,"examine",format["%1 checked Heart Rate: %2",[_caller] call cse_fnc_getName,_logOutPut]] call cse_fnc_addToQuickViewLog_CMS; -}; diff --git a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkPulse_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/examine/fn_checkPulse_CMS.sqf deleted file mode 100644 index 812c1bbaf2..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkPulse_CMS.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/** - * fn_checkPulse_CMS.sqf - * @Descr: Displays specified units current pulse - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_caller","_unit","_title","_content"]; -_caller = _this select 0; -_unit = _this select 1; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_caller] call cse_fnc_treatmentMutex_CMS; -_title = format["STR_CSE_CMS_CHECK_PULSE"]; -_content = ["STR_CSE_CMS_CHECK_PULSE_CONTENT"]; -[_caller, _title, _content] call cse_fnc_sendDisplayInformationTo; - - - -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _caller; -if !([(2 + round(random(4))),{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; - -[_this, "cse_fnc_checkPulseLocal_CMS", _unit, false] spawn BIS_fnc_MP; - -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkResponse_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/examine/fn_checkResponse_CMS.sqf deleted file mode 100644 index ead154db66..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/examine/fn_checkResponse_CMS.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_checkResponse_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_caller","_unit"]; -_caller = _this select 0; -_unit = _this select 1; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_caller] call cse_fnc_treatmentMutex_CMS; -_title = format["STR_CSE_CMS_CHECK_RESPONSE"]; -_content = ["STR_CSE_CMS_CHECK_RESPONSE_CONTENT"]; -[_caller, _title, _content] call cse_fnc_sendDisplayInformationTo; - - -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _caller; -if !([(2 + round(random(4))),{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; - -_output = ""; -if ([_unit] call cse_fnc_isAwake) then { - _output = format[localize "STR_CSE_CMS_CHECK_REPONSE_RESPONSIVE",[_unit] call cse_fnc_getName]; -} else { - _output = format[localize "STR_CSE_CMS_CHECK_REPONSE_UNRESPONSIVE",[_unit] call cse_fnc_getName]; -}; - -_title = format["STR_CSE_CMS_CHECK_RESPONSE"]; -_content = [format[localize "STR_CSE_CMS_CHECK_REPONSE_YOU_CHECKED",[_unit] call cse_fnc_getName],_output]; -[_caller, _title, _content] call cse_fnc_sendDisplayInformationTo; - -[_unit,"examine",_output] call cse_fnc_addToQuickViewLog_CMS; -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_addOpenWounds_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_addOpenWounds_CMS.sqf deleted file mode 100644 index 5ee4f16d89..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_addOpenWounds_CMS.sqf +++ /dev/null @@ -1,43 +0,0 @@ -/** - * fn_addOpenWounds_CMS.sqf - * @Descr: Add open wounds to unit. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (The object that will recieve the wound), bodyPart STRING, type STRING (Small, medium or large), amount NUMBER (The amount of open wounds added)] - * @Return: void - * @PublicAPI: true - */ - -private ["_unit", "_bodyPart", "_type", "_openWounds", "_selection", "_amount", "_newAmount"]; -_unit = _this select 0; -_bodyPart = _this select 1; -_type = _this select 2; -_amount = _this select 3; - -if (typeName _bodyPart == "STRING") then { - _bodyPart = [_bodyPart] call cse_fnc_getBodyPartNumber_CMS; -}; -if (typeName _type == "STRING") then { - _type = switch (toLower _type) do { - case "small": {0}; - case "medium": {1}; - case "large": {2}; - default {-1}; - }; -}; - -if (_type < 0) exitwith { - [format["Adding an injury with an invalid type: %1",_this], 0] call cse_fnc_debug; -}; - -_openWounds = [_unit,"cse_openWounds"] call cse_fnc_getVariable; -_selection = _openWounds select _bodyPart; -_newAmount = (_selection select _type) + _amount; -if (_newAmount < 0) then { - _newAmount = 0; -}; -_selection set [ _type, _newAmount]; -_openWounds set [ _bodyPart , _selection]; -[_unit, "cse_openWounds",_openWounds] call cse_fnc_setVariable; - -[_unit] call cse_fnc_unitLoop_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicRoles_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_assignMedicRoles_CMS.sqf deleted file mode 100644 index 74d039a2c0..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicRoles_CMS.sqf +++ /dev/null @@ -1,62 +0,0 @@ -/** - * fn_assignMedicRoles_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic","_setting","_objects"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; - - [format["AssignMedicalRoles called. Arguments are: %1 %2", _this]] call cse_fnc_debug; - -if (!isNull _logic) then { - _list = _logic getvariable ["EnableList",""]; - - _splittedList = [_list, ","] call BIS_fnc_splitString; - _nilCheckPassedList = ""; - { - _x = [_x] call cse_fnc_string_removeWhiteSpace; - if !(isnil _x) then { - if (_nilCheckPassedList == "") then { - _nilCheckPassedList = _x; - } else { - _nilCheckPassedList = _nilCheckPassedList + ","+ _x; - }; - }; - }foreach _splittedList; - - _list = "[" + _nilCheckPassedList + "]"; - _parsedList = [] call compile _list; - _setting = _logic getvariable ["class",0]; - _objects = synchronizedObjects _logic; - if (!(_objects isEqualTo []) && _parsedList isEqualTo []) then { - /* - This has been enabled again to allow backwards compatability for older CSE missions. - */ - [["synchronizedObjects for the 'Assign Medic Role' Module is deprecated. Please use the enable for list instead!"], 1] call cse_fnc_debug; - { - if (!isnil "_x") then { - if (typeName _x == typeName objNull) then { - if (local _x) then { - [_x,_setting] call cse_fnc_setMedicRole_CMS; - }; - }; - }; - }foreach _objects; - }; - { - if (!isnil "_x") then { - if (typeName _x == typeName objNull) then { - if (local _x) then { - [_x,_setting] call cse_fnc_setMedicRole_CMS; - }; - }; - }; - }foreach _parsedList; - }; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalEquipment_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalEquipment_CMS.sqf deleted file mode 100644 index ce72402043..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalEquipment_CMS.sqf +++ /dev/null @@ -1,83 +0,0 @@ -/** - * fn_assignMedicalEquipment_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ -#define ALL_PLAYERS 0 -#define ONLY_MEDICS 1 - - -// TODO add amount of to defines -#define BASIC_BANDAGES "cse_bandage_basic" -#define PACKING_BANDAGES "cse_packing_bandage" - - -private ["_logic","_setting","_objects", "_medicsLoadout", "_nonMedics", "_code"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -if (!isNull _logic) then { - _setting = _logic getvariable ["equipment",0]; - waituntil {!isnil "cse_gui"}; // ensure the player unit is available. - waituntil {time>0}; - - _start = diag_tickTime; - waituntil {(["cse_sys_medical"] call cse_fnc_isModuleEnabled_F) || (diag_tickTime - _start > 10000)}; - - if (!(["cse_sys_medical"] call cse_fnc_isModuleEnabled_F)) exitwith {}; - // TODO Create functions for adding multiple magazines to a unit - // TODO Check if unit can store more magazines (ie backpack/vest/uniform are not full) - - _medicsLoadout = { - for "_i" from 1 to 8 do { - player addItem BASIC_BANDAGES; - player addItem PACKING_BANDAGES; - }; - for "_i" from 1 to 3 do { - player addItem "cse_tourniquet"; - }; - for "_i" from 1 to 3 do { - player addItem "cse_morphine"; - }; - for "_i" from 1 to 2 do { - player addItem "cse_epinephrine"; - }; - }; - - _nonMedics = { - for "_i" from 1 to 3 do { - player addItem BASIC_BANDAGES; - }; - player addItem "cse_tourniquet"; - player addItem "cse_morphine"; - }; - - - // TODO make this neat code. - switch (_setting) do { - case ALL_PLAYERS: { - _code = if ([player] call cse_fnc_medicClass_CMS) then { - _medicsLoadout; - } else { - _nonMedics; - }; - - call _code; - player addEventhandler["Respawn", _code]; - }; - case ONLY_MEDICS: { - _code = if ([player] call cse_fnc_medicClass_CMS) then { - _medicsLoadout; - } else { - {}; - }; - call _code; - player addEventhandler["Respawn", _code]; - }; - default {}; - }; - }; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalFacility_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalFacility_CMS.sqf deleted file mode 100644 index 42bda85c80..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalFacility_CMS.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/** - * fn_assignMedicalFacility_CMS.sqf - * @Descr: Register synchronized objects from passed object as a medical facility for CMS. - * @Author: Glowbal - * - * @Arguments: [logic OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_logic","_setting","_objects"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -if (!isNull _logic) then { - _setting = _logic getvariable ["class",0]; - _objects = synchronizedObjects _logic; - { - if (local _x) then { - _x setvariable["cse_medical_facility", true, true]; - }; - }foreach _objects; - }; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalVehicle_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalVehicle_CMS.sqf deleted file mode 100644 index 8f26dcb8d3..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_assignMedicalVehicle_CMS.sqf +++ /dev/null @@ -1,60 +0,0 @@ -/** - * fn_assignMedicalVehicle_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_logic","_setting", "_list", "_parsedList", "_splittedList","_nilCheckPassedList", "_objects"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; - - [format["AssignMedicalRoles called. Arguments are: %1 %2", _this]] call cse_fnc_debug; - -if (!isNull _logic) then { - _list = _logic getvariable ["EnableList",""]; - _setting = _logic getvariable ["enabled",0]; - - _splittedList = [_list, ","] call BIS_fnc_splitString; - _nilCheckPassedList = ""; - { - _x = [_x] call cse_fnc_string_removeWhiteSpace; - if !(isnil _x) then { - if (_nilCheckPassedList == "") then { - _nilCheckPassedList = _x; - } else { - _nilCheckPassedList = _nilCheckPassedList + ","+ _x; - }; - }; - }foreach _splittedList; - - _list = "[" + _nilCheckPassedList + "]"; - _parsedList = [] call compile _list; - - _objects = synchronizedObjects _logic; - { - // assign the medical vehicle role for non man type objects that are local only. - if !(_x isKindOf "CAManBase") then { - if (local _x) then { - _x setvariable ["cse_medicalVehicle_CMS", _setting, true]; - }; - }; - }foreach _objects; - - { - if (!isnil "_x") then { - if (typeName _x == typeName objNull) then { - // assign the medical vehicle role for non man type objects that are local only. - if !(_x isKindOf "CAManBase") then { - if (local _x) then { - _x setvariable ["cse_medicalVehicle_CMS", _setting, true]; - }; - }; - }; - }; - }foreach _parsedList; - }; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_canAccessMedicalEquipment_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_canAccessMedicalEquipment_CMS.sqf deleted file mode 100644 index 133899ea79..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_canAccessMedicalEquipment_CMS.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_canAccessMedicalEquipment_CMS.sqf - * @Descr: Check if caller can access targets medical equipment, based upon accessLevel - * @Author: Glowbal - * - * @Arguments: [target OBJECT, caller OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_target", "_caller", "_accessLevel", "_return"]; -_target = _this select 0; -_caller = _this select 1; - -_accessLevel = _target getvariable ["cse_allowSharedEquipmentAccess_CMS", -1]; - -_return = false; - -if (_accessLevel >= 0) then { - if (_accessLevel == 0) exitwith { _return = true; }; - if (_accessLevel == 1) exitwith { _return = (side _target == side _caller); }; - if (_accessLevel == 2) exitwith { _return = (group _target == group _caller); }; -}; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_canPutInBodyBag_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_canPutInBodyBag_CMS.sqf deleted file mode 100644 index 843b3c5d8b..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_canPutInBodyBag_CMS.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_canPutInBodyBag_CMS.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -private ["_unit","_caller"]; -_unit = _this select 0; -_caller = _this select 1; - -([_caller, "cse_itemBodyBag"] call cse_fnc_hasItem && {(!(alive _unit) || (_unit getvariable ["cse_isDead",false]) || (_unit getvariable ["cse_inReviveState", false]))} && {(_unit distance _caller) < 7.5} && (vehicle _unit == _unit)); // return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_coreLoop_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_coreLoop_CMS.sqf deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_medical/functions/fn_effectsLoop_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_effectsLoop_CMS.sqf deleted file mode 100644 index 4d0165b285..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_effectsLoop_CMS.sqf +++ /dev/null @@ -1,72 +0,0 @@ -/** - * fn_effectsLoop_CMS.sqf - * @Descr: displays visual effects to user - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_bloodLoss","_bloodStatus","_painStatus"]; -_unit = player; -if (!hasInterface || !isPlayer _unit || !local _unit) exitwith{}; -45 cutRsc ["RscCSEScreenEffectsBlack","PLAIN"]; -cseDisplayingBleedingEffect = false; -cseDisplayingPainEffect = false; -cseDisplayingUnconiciousEffect = false; - -_hb_effect = { - _heartRate = _this select 0; - if (_heartRate < 0.1) exitwith {}; - _hbSoundsFast = ["cse_heartbeat_fast_1", "cse_heartbeat_fast_2", "cse_heartbeat_fast_3", "cse_heartbeat_norm_1", "cse_heartbeat_norm_2"]; - _hbSoundsNorm = ["cse_heartbeat_norm_1", "cse_heartbeat_norm_2"]; - _hbSoundsSlow = ["cse_heartbeat_slow_1", "cse_heartbeat_slow_2", "cse_heartbeat_norm_1", "cse_heartbeat_norm_2"]; - if (isnil "CSE_PLAYING_HB_SOUND") then { - CSE_PLAYING_HB_SOUND = false; - }; - if (CSE_PLAYING_HB_SOUND) exitwith {}; - CSE_PLAYING_HB_SOUND = true; - - _sleep = 60 / _heartRate; - if (_heartRate < 60) then { - _sound = _hbSoundsSlow select (random((count _hbSoundsSlow) -1)); - playSound _sound; - - sleep _sleep; - } else { - if (_heartRate > 120) then { - _sound = _hbSoundsFast select (random((count _hbSoundsFast) -1)); - playSound _sound; - sleep _sleep; - }; - }; - CSE_PLAYING_HB_SOUND = false; -}; - -while {true} do { - _unit = player; - if ([_unit] call cse_fnc_isAwake) then { - sleep 0.25; - _bloodLoss = _unit call cse_fnc_getBloodLoss_CMS; - _bloodStatus = [_unit,"cse_bloodVolume",100] call cse_fnc_getVariable; - _painStatus = [_unit,"cse_pain",0] call cse_fnc_getVariable; - - if (_bloodLoss >0) then { - //["cse_sys_medical_isBleeding", true, "cse\cse_sys_medical\data\icons\icon_bleeding.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - [_bloodLoss] spawn cse_fnc_effectBleeding; - } else { - //["cse_sys_medical_isBleeding", false, "cse\cse_sys_medical\data\icons\icon_bleeding.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - }; - sleep 0.25 +(random(2)); - if (_painStatus > 0) then { - [_painStatus] spawn cse_fnc_effectPain; - }; - sleep 0.25 +(random(1)); - _heartRate = [_unit,"cse_heartRate",70] call cse_fnc_getVariable; - [_heartRate] spawn _hb_effect; - } else { - cseDisplayingBleedingEffect = false; - }; -}; - diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getAdvancedOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getAdvancedOptions_CMS.sqf deleted file mode 100644 index 9c14b29db9..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getAdvancedOptions_CMS.sqf +++ /dev/null @@ -1,76 +0,0 @@ -/** - * fn_getAdvancedOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return"]; -_return = []; - -if (CSE_SYS_MEDICAL_INTERACTION_TARGET != player && (isNull ([player] call cse_fnc_getCarriedObj))) then { - - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET, 'cse_blood_iv'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_BLOODIV_1000ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_blood_iv'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_BLOODIV_1000ML_TOOLTIP"]; - }; - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET, 'cse_blood_iv_500'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_BLOODIV_500ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_blood_iv_500'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_BLOODIV_500ML_TOOLTIP"]; - }; - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_blood_iv_250'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_BLOODIV_250ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_blood_iv_250'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_BLOODIV_250ML_TOOLTIP"]; - }; - - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_plasma_iv'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_PLASMAIV_1000ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_plasma_iv'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_PLASMAIV_1000ML_TOOLTIP"]; - }; - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_plasma_iv_500'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_PLASMAIV_500ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_plasma_iv_500'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_PLASMAIV_500ML_TOOLTIP"]; - }; - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_plasma_iv_250'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_PLASMAIV_250ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_plasma_iv_250'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_PLASMAIV_250ML_TOOLTIP"]; - }; - - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_saline_iv'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_SALINEIV_1000ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_saline_iv'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_SALINEIV_1000ML_TOOLTIP"]; - }; - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_saline_iv_500'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_SALINEIV_500ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_saline_iv_500'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_SALINEIV_500ML_TOOLTIP"]; - }; - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_saline_iv_250'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_SALINEIV_250ml","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_saline_iv_250'] call cse_fnc_iv_CMS;",localize "STR_CSE_ACTION_SALINEIV_250ML_TOOLTIP"]; - }; - - // TODO refactor this condition into a function. - if ((CSE_AID_KIT_RESTRICTIONS_CMS == 0 && ([player] call cse_fnc_inMedicalFacility_CMS)) || - (CSE_AID_KIT_RESTRICTIONS_CMS == 1 && ([player] call cse_fnc_inMedicalFacility_CMS) && (!([CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_hasOpenWounds_CMS))) || - (CSE_AID_KIT_RESTRICTIONS_CMS == 2) || - (CSE_AID_KIT_RESTRICTIONS_CMS == 3 && (!([CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_hasOpenWounds_CMS)))) then { - - if (CSE_AIDKITMEDICSONLY_CMS && [player] call cse_fnc_medicClass_CMS || !CSE_AIDKITMEDICSONLY_CMS) then { - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_personal_aid_kit'] call cse_fnc_hasEquipment_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_PERSONAL_AID_KIT","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_personal_aid_kit'] call cse_fnc_heal_CMS;",localize "STR_CSE_ACTION_PERSONAL_AID_KIT_TOOLTIP"]; - }; - }; - }; - if (isnil "cse_playerIsProvidingCPR_CMS") then { - cse_playerIsProvidingCPR_CMS = false; - }; - if ((CSE_SYS_MEDICAL_INTERACTION_TARGET getvariable ["cse_cardiacArrest_CMS",false]) || !([CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_isAwake) && !cse_playerIsProvidingCPR_CMS) then { - _return pushback [localize "STR_CSE_ACTION_PERFORM_CPR","[_this select 0,_this select 1] call cse_fnc_performCPR_CMS;", localize "STR_CSE_ACTION_PERFORM_CPR_TOOLTIP"]; - }; - if (cse_playerIsProvidingCPR_CMS) then { - _return pushback [localize "STR_CSE_ACTION_STOP_CPR","cse_playerIsProvidingCPR_CMS = false;", localize "STR_CSE_ACTION_STOP_CPR_TOOLTIP"]; - }; - - if ((CSE_STITCHING_ALLOW_CMS == 0 && [player] call cse_fnc_medicClass_CMS) || CSE_STITCHING_ALLOW_CMS == 1) then { - if ([player, CSE_SYS_MEDICAL_INTERACTION_TARGET, 'cse_surgical_kit'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_STITCHING","[_this select 0,_this select 1, call cse_fnc_getSelectedBodyPart_CMS, 'cse_surgical_kit'] call cse_fnc_performStitching_CMS;", localize "STR_CSE_ACTION_STITCHING_TOOLTIP"]; - }; - }; - - _return = [CSE_SYS_MEDICAL_INTERACTION_TARGET, "getAdvancedOptions_CMS", _return] call cse_fnc_getOptionsForCategory_CMS; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getAirwayOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getAirwayOptions_CMS.sqf deleted file mode 100644 index 6237a0ac3a..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getAirwayOptions_CMS.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_getAirwayOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_return"]; -_return = []; - - -if (CSE_SYS_MEDICAL_INTERACTION_TARGET != player && (isNull ([player] call cse_fnc_getCarriedObj))) then { - if (CSE_ALLOW_AIRWAY_INJURIES_CMS) then { - if (([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_nasopharyngeal_tube'] call cse_fnc_hasEquipment_CMS) && !([CSE_SYS_MEDICAL_INTERACTION_TARGET, "cse_airwayTreated"] call cse_fnc_getVariable) && !([CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_isAwake)) then { - _return pushback [localize "STR_CSE_ACTION_APPLY_NPA", "[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_nasopharyngeal_tube'] call cse_fnc_treatmentAirway_CMS;", localize "STR_CSE_ACTION_APPLY_NPA_TOOLTIP"]; - }; - if ([CSE_SYS_MEDICAL_INTERACTION_TARGET, "cse_airwayTreated"] call cse_fnc_getVariable) then { - _return pushback [localize "STR_CSE_ACTION_REMOVE_NPA", "CSE_SYS_MEDICAL_INTERACTION_TARGET setvariable ['cse_airwayTreated', nil, true]; player addMagazine 'cse_nasopharyngeal_tube';", localize "STR_CSE_ACTION_REMOVE_NPA_TOOLTIP"]; - }; - _return = [CSE_SYS_MEDICAL_INTERACTION_TARGET, "getAirwayOptions_CMS", _return] call cse_fnc_getOptionsForCategory_CMS; - }; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getBandageOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getBandageOptions_CMS.sqf deleted file mode 100644 index 4edc0d7eb9..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getBandageOptions_CMS.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/** - * fn_getBandageOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define HAS_EQUIPMENT(ITEM) [player,CSE_SYS_MEDICAL_INTERACTION_TARGET,ITEM] call cse_fnc_hasEquipment_CMS - - -private ["_return"]; -_return = []; - -if (isNull ([player] call cse_fnc_getCarriedObj)) then { - if (HAS_EQUIPMENT('cse_bandage_basic')) then { - _return pushback [localize "STR_CSE_ACTION_BANDAGE_BASIC","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_bandage_basic', call cse_fnc_getCurrentSelectedInjuryData_CMS] call cse_fnc_bandage_CMS;",localize "STR_CSE_ACTION_BANDAGE_BASIC_TOOLTIP"]; - }; - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_quikclot'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_QUIKCLOT","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_quikclot', call cse_fnc_getCurrentSelectedInjuryData_CMS] call cse_fnc_bandage_CMS;",localize "STR_CSE_ACTION_QUIKCLOT_TOOLTIP"]; - }; - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_bandageElastic'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_BANDAGE_ELASTIC","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_bandageElastic', call cse_fnc_getCurrentSelectedInjuryData_CMS] call cse_fnc_bandage_CMS;",localize "STR_CSE_ACTION_BANDAGE_ELASTIC_TOOLTIP"]; - }; - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_packing_bandage'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_PACKING_BANDAGE","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_packing_bandage', call cse_fnc_getCurrentSelectedInjuryData_CMS] call cse_fnc_bandage_CMS;",localize "STR_CSE_ACTION_PACKING_BANDAGE_TOOLTIP"]; - }; - - if (([CSE_SYS_MEDICAL_INTERACTION_TARGET, call cse_fnc_getSelectedBodyPart_CMS] call cse_fnc_hasTourniquetAppliedTo_CMS)) then { - _return pushback [localize "STR_CSE_ACTION_REMOVE_TOURNIQUET","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_tourniquet'] call cse_fnc_removeTourniquet_CMS;",localize "STR_CSE_ACTION_REMOVE_TOURNIQUET_TOOLTIP"]; - } else { - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_tourniquet'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_APPLY_TOURNIQUET","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_tourniquet'] call cse_fnc_tourniquet_CMS;",localize "STR_CSE_ACTION_APPLY_TOURNIQUET_TOOLTIP"]; - }; - }; - _return = [CSE_SYS_MEDICAL_INTERACTION_TARGET, "getBandageOptions_CMS", _return] call cse_fnc_getOptionsForCategory_CMS; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getBloodLoss_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getBloodLoss_CMS.sqf deleted file mode 100644 index a9ee1cab89..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getBloodLoss_CMS.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/** - * fn_getBloodLoss_CMS.sqf - * @Descr: Calculate the total blood loss of a unit. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: NUMBER Total blood loss of unit - * @PublicAPI: true - */ - -#define BLOODLOSS_SMALL_WOUNDS 0.025 -#define BLOODLOSS_MEDIUM_WOUNDS 0.05 -#define BLOODLOSS_LARGE_WOUNDS 0.1 - -/** -* The default cardiac output when all stats are set to normal is 5.25. -*/ -#define DEFAULT_CARDIAC_OUTPUT 5.25 - -private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput"]; - -_totalBloodLoss = 0; -_tourniquets = [_this, "cse_tourniquets"] call cse_fnc_getvariable; -_openWounds = [_this, "cse_openWounds"] call cse_fnc_getvariable; -_cardiacOutput = [_this] call cse_fnc_getCardiacOutput_CMS; - -{ - if ((_tourniquets select _foreachIndex) < 1) then { - _totalBloodLoss = _totalBloodLoss + (((BLOODLOSS_SMALL_WOUNDS * (_x select 0))) + ((BLOODLOSS_MEDIUM_WOUNDS * (_x select 1))) + ((BLOODLOSS_LARGE_WOUNDS * (_x select 2))) * (_cardiacOutput / DEFAULT_CARDIAC_OUTPUT)); - }; -}foreach _openWounds; - -// cap the blood loss to be no greater as the current cardiac output -(_totalBloodLoss min _cardiacOutput); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getDragOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getDragOptions_CMS.sqf deleted file mode 100644 index 427dc219dc..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getDragOptions_CMS.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/** - * fn_getDragOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return","_nameOfUnit","_unit"]; -_return = []; - -if (hasInterface) then { - //_unit = [player] call cse_fnc_getInteractionTarget; - _unit = CSE_SYS_MEDICAL_INTERACTION_TARGET; - if (!isNull _unit) then { - if (_unit != player && (_unit isKindOf "CaManBase")) then { - _nameOfUnit = [_unit] call cse_fnc_getName; - if (vehicle _unit == _unit) then { - if (([player] call cse_fnc_getCarriedObj) != _unit && (isNull ([player] call cse_fnc_getCarriedObj))) then { - - _return pushback [localize "STR_CSE_ACTION_DRAG_PATIENT","[_this select 1,_this select 0] call CSE_fnc_drag_CMS;",format[localize "STR_CSE_ACTION_DRAG_PATIENT_TOOLTIP",_nameOfUnit]]; - _return pushback [localize "STR_CSE_ACTION_CARRY_PATIENT","[_this select 1,_this select 0] call cse_fnc_carry_CMS;",format[localize "STR_CSE_ACTION_CARRY_PATIENT_TOOLTIP",_nameOfUnit]]; - if ([_unit, player] call cse_fnc_canPutInBodyBag_CMS) then { - _return pushback [localize "STR_CSE_ACTION_BODYBAG","[_this select 0,_this select 1] call cse_fnc_placeInBodyBag_CMS;",localize "STR_CSE_ACTION_BODYBAG_TOOLTIP"]; - }; - } else { - if (([player] call cse_fnc_getCarriedObj) == _unit) then { - _return pushback [localize "STR_CSE_ACTION_DROP_PATIENT","[_this select 1,_this select 0] call cse_fnc_drop_CMS;",format[localize "STR_CSE_ACTION_DROP_PATIENT_TOOLTIP",_nameOfUnit]]; - }; - }; - _return pushback [localize "STR_CSE_ACTION_LOAD_PATIENT","[_this select 1,_this select 0] call cse_fnc_load_CMS;",format[localize "STR_CSE_ACTION_LOAD_PATIENT_TOOLTIP",_nameOfUnit]]; - } else { - _return pushback [localize "STR_CSE_ACTION_UNLOAD_PATIENT","[_this select 1,_this select 0] call cse_fnc_unload_CMS;",format[localize "STR_CSE_ACTION_UNLOAD_PATIENT_TOOLTIP",_nameOfUnit]]; - }; - }; - _return = [_unit, "getDragOptions_CMS", _return] call cse_fnc_getOptionsForCategory_CMS; - }; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getExamineOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getExamineOptions_CMS.sqf deleted file mode 100644 index f5ef66b92b..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getExamineOptions_CMS.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_getExamineOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return"]; -_return = []; - -_return pushback [localize "STR_CSE_ACTION_CHECK_PULSE","[_this select 1,_this select 0] call cse_fnc_checkPulse_CMS;",localize "STR_CSE_ACTION_CHECK_PULSE_TOOLTIP"]; - -_return pushback [localize "STR_CSE_ACTION_CHECK_BP","[_this select 1,_this select 0] call cse_fnc_checkBloodPressure_CMS;",localize "STR_CSE_ACTION_CHECK_BP_TOOLTIP"]; - -_return pushback [localize "STR_CSE_ACTION_CHECK_RESPONSE","[_this select 1,_this select 0] call cse_fnc_checkResponse_CMS;",localize "STR_CSE_ACTION_CHECK_RESPONSE_TOOLTIP"]; - -_return = [CSE_SYS_MEDICAL_INTERACTION_TARGET, "getExamineOptions_CMS", _return] call cse_fnc_getOptionsForCategory_CMS; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getMedicationOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getMedicationOptions_CMS.sqf deleted file mode 100644 index 3705d15099..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getMedicationOptions_CMS.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/** - * fn_getMedicationOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return"]; -_return = []; -if (isNull ([player] call cse_fnc_getCarriedObj)) then { - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_morphine'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_MORPHINE","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_morphine'] call cse_fnc_medication_CMS;",localize "STR_CSE_ACTION_MORPHINE_TOOLTIP"]; - }; - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_atropine'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_ATROPINE","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_atropine'] call cse_fnc_medication_CMS;",localize "STR_CSE_ACTION_ATROPINE_TOOLTIP"]; - }; - if ([player,CSE_SYS_MEDICAL_INTERACTION_TARGET,'cse_epinephrine'] call cse_fnc_hasEquipment_CMS) then { - _return pushback [localize "STR_CSE_ACTION_EPINEPHRINE","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_epinephrine'] call cse_fnc_medication_CMS;",localize "STR_CSE_ACTION_EPINEPHRINE_TOOLTIP"]; - }; - - _return = [CSE_SYS_MEDICAL_INTERACTION_TARGET, "getMedicationOptions_CMS", _return] call cse_fnc_getOptionsForCategory_CMS; - - //_return set [count _return, ["Anti-Biotics","[_this select 0,_this select 1,call cse_fnc_getSelectedBodyPart_CMS,'cse_antiBiotics'] call cse_fnc_medication_CMS;","To counter infections"]]; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getOptionsForCategory_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getOptionsForCategory_CMS.sqf deleted file mode 100644 index 868aa53835..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getOptionsForCategory_CMS.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/** - * fn_getOptionsForCategory_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_target", "_category", "_return", "_allow", "_resultsOfEH"]; -_target = _this select 0; -_category = _this select 1; -_return = _this select 2; - -_resultsOfEH = [[_target],_category] call cse_fnc_customEventHandler_F; -{ - { - if (count _x == 3) then { - _allow = true; - { - if (typeName _x != typeName "") exitwith { - _allow = false; - }; - }foreach _x; - if (_allow) then { - _return pushback _x; - }; - }; - }foreach _x; -}foreach _resultsOfEH; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getSelectedBodyPart_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getSelectedBodyPart_CMS.sqf deleted file mode 100644 index f9ffa3ee22..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getSelectedBodyPart_CMS.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_getSelectedBodyPart_CMS.sqf - * @Descr: Get the current selected body part for client - * @Author: Glowbal - * - * @Arguments: [] - * @Return: STRING bodyPart selected - * @PublicAPI: true - */ - - - if (isnil "CSE_SELECTED_BODY_PART_CMS") then { - CSE_SELECTED_BODY_PART_CMS = "head"; - }; - -CSE_SELECTED_BODY_PART_CMS \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getToggleOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getToggleOptions_CMS.sqf deleted file mode 100644 index eace6ef0ed..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getToggleOptions_CMS.sqf +++ /dev/null @@ -1,13 +0,0 @@ -/** - * fn_getToggleOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return"]; -_return = []; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_getTriageCardOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_getTriageCardOptions_CMS.sqf deleted file mode 100644 index 7e3ddd11d4..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_getTriageCardOptions_CMS.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_getTriageCardOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return"]; -_return = []; - - - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_hasMedicalEnabled_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_hasMedicalEnabled_CMS.sqf deleted file mode 100644 index ba75151d6b..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_hasMedicalEnabled_CMS.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_hasMedicalEnabled_CMS.sqf - * @Descr: Check if unit has CMS enabled. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - - -private ["_unit", "_medicalEnabled"]; -_unit = _this select 0; - -_medicalEnabled = _unit getvariable "cse_sys_medical_enabled"; -if (isnil "_medicalEnabled") then { - (((CSE_ENABLE_SETTING_FORUNITS_CMS == 0 && (isPlayer _unit || (_unit getvariable ["cse_isDeadPlayer", false])))) || (CSE_ENABLE_SETTING_FORUNITS_CMS == 1)); -} else { - _medicalEnabled; -}; diff --git a/TO_MERGE/cse/sys_medical/functions/fn_hasOpenWounds_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_hasOpenWounds_CMS.sqf deleted file mode 100644 index 3470e2f634..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_hasOpenWounds_CMS.sqf +++ /dev/null @@ -1,14 +0,0 @@ -/** - * fn_hasOpenWounds_CMS.sqf - * @Descr: Check if unit has open wounds - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (The unit to check)] - * @Return: BOOL - * @PublicAPI: true - */ - -private "_openWounds"; -_openWounds = [_this select 0,"cse_openWounds"] call cse_fnc_getvariable; - -({(((_x select 0) + (_x select 1) + (_x select 2)) > 0)}count _openWounds > 0); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_inMedicalFacility_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_inMedicalFacility_CMS.sqf deleted file mode 100644 index f13c3e7d44..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_inMedicalFacility_CMS.sqf +++ /dev/null @@ -1,49 +0,0 @@ -/** - * fn_inMedicalFacility_CMS.sqf - * @Descr: Checks if a unit is in a designated medical facility - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL true if unit is in a building or under a roof. - * @PublicAPI: true - */ - -private ["_unit","_eyePos","_objects","_isInBuilding","_medicalFacility"]; -_unit = [_this, 0, ObjNull, [ObjNull]] call BIS_fnc_Param; - -_eyePos = eyePos _unit; -_isInBuilding = false; - -_medicalFacility = - [ - "TK_GUE_WarfareBFieldhHospital_Base_EP1", - "TK_GUE_WarfareBFieldhHospital_EP1", - "TK_WarfareBFieldhHospital_Base_EP1", - "TK_WarfareBFieldhHospital_EP1", - "US_WarfareBFieldhHospital_Base_EP1", - "US_WarfareBFieldhHospital_EP1", - "MASH_EP1", - "MASH", - "Land_A_Hospital", - "CDF_WarfareBFieldhHospital", - "GUE_WarfareBFieldhHospital", - "INS_WarfareBFieldhHospital", - "RU_WarfareBFieldhHospital", - "USMC_WarfareBFieldhHospital" - ]; - -_objects = (lineIntersectsWith [_unit modelToWorld [0, 0, (_eyePos select 2)], _unit modelToWorld [0, 0, (_eyePos select 2) +10], _unit]); -{ - if (((typeOf _x) in _medicalFacility) || (_x getVariable ["cse_medical_facility",false])) exitwith { - _isInBuilding = true; - }; -}foreach _objects; -if (!_isInBuilding) then { - _objects = position _unit nearObjects 7.5; - { - if (((typeOf _x) in _medicalFacility) || (_x getVariable ["cse_medical_facility",false])) exitwith { - _isInBuilding = true; - }; - }foreach _objects; -}; -_isInBuilding \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_initForUnit_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_initForUnit_CMS.sqf deleted file mode 100644 index 107fc20996..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_initForUnit_CMS.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/** - * fn_initForUnit_CMS.sqf - * @Descr: Deprecated. Is no longer used, as we dropped init eventhandler methods. - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_handler"]; - _unit = _this select 0; - if (!local _unit) exitwith {[format["UNIT IS NOT LOCAL: %1",_this]] call cse_fnc_debug;}; - if !(_unit isKindOf "CAManBase") exitwith{[format["UNIT IS NOT CAManBase: %1",_this]] call cse_fnc_debug;}; - if (isPlayer _unit) then { - [_unit] spawn { - disableSerialization; - _CMSFadingBlackUI = uiNamespace getVariable "CMSFadingBlackUI"; - if (!isnil "_CMSFadingBlackUI") then { - _ctrlFadingBlackUI = _CMSFadingBlackUI displayCtrl 11112; - 2 fadeSound 1; - _ctrlFadingBlackUI ctrlSetTextColor [0.0,0.0,0.0,0.0]; - }; - waituntil {!isnil "cse_fnc_effectsLoop_CMS"}; - [_this select 0] call cse_fnc_effectsLoop_CMS; - }; - }; - -{ - if(_x == "FirstAidKit" || {_x == "Medikit" || {_x isKindOf "FirstAidKit" || {_x isKindOf "Medikit"}}}) then { - _unit removeItem _x; - }; -}foreach (items _unit); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_isMedicalVehicle_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_isMedicalVehicle_CMS.sqf deleted file mode 100644 index cf498be577..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_isMedicalVehicle_CMS.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_isMedicalVehicle_CMS.sqf - * @Descr: Check if vehicle is a medical vehicle - * @Author: Glowbal - * - * @Arguments: [vehicle OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_veh"]; -_veh = _this select 0; - -if !(_veh getvariable ["cse_medicalVehicle_CMS", true]) exitwith {false}; // exit in case the false is set. -((getNumber(configFile >> "CfgVehicles" >> typeOf _veh >> "cse_medicalVehicle") == 1) || (_veh getvariable ["cse_medicalVehicle_CMS", false])); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_medicClass_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_medicClass_CMS.sqf deleted file mode 100644 index b13c9b0c20..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_medicClass_CMS.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_medicClass_CMS.sqf - * @Descr: Check if a unit is any medical class above normal. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_unit","_class","_return"]; -_unit = [_this, 0, objNull,[ObjNull]] call BIS_fnc_Param; - -if (isnil "CSE_ADVANCED_MEDICAL_ROLES_CMS") exitwith { - true; -}; - -if (CSE_ADVANCED_MEDICAL_ROLES_CMS) then { - _class = [_unit,"cse_medicClass"] call cse_fnc_getVariable; - _return = switch (_class) do { - case 0: {false}; - case 1: {true}; - case 2: {true}; - default {false}; - - }; -} else { - _return = true; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_onUnconscious_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_onUnconscious_CMS.sqf deleted file mode 100644 index a859c8b996..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_onUnconscious_CMS.sqf +++ /dev/null @@ -1,14 +0,0 @@ - -private ["_unit", "_state"]; -_unit = _this select 0; -_state = _this select 1; - -if (_state) then { - if (CSE_ALLOW_AIRWAY_INJURIES_CMS) then { - if (random(1) >= 0.3) then { - _unit setvariable ["cse_airwayOccluded", true, true]; - }; - }; -} else { - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_placeInBodyBag_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_placeInBodyBag_CMS.sqf deleted file mode 100644 index 0b385fa7a0..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_placeInBodyBag_CMS.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/** - * fn_placeInBodyBag_CMS.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -private ["_unit","_caller"]; -_unit = _this select 0; -_caller = _this select 1; - -if !([_caller, "cse_itemBodyBag"] call cse_fnc_hasItem) exitwith {}; - -[_caller, "cse_itemBodyBag"] call cse_fnc_useItem; - -_nameOfUnit = [_unit] call cse_fnc_getName; -if (alive _unit) then { - // force kill the unit. - [_unit, true] call cse_fnc_setDead; -}; -_onPosition = getPos _unit; -_allVariables = [_unit] call cse_fnc_getAllSetVariables; -deleteVehicle _unit; - -_bodyBagCreated = createVehicle ["cse_bodyBag", _onPosition, [], 0, "NONE"]; -_bodyBagCreated setvariable ["cse_nameOfBody", _nameOfUnit, true]; - -{ -// [_bodyBagCreated,_x select 0, _x select 2] call cse_fnc_setVariable; -}foreach _allVariables; -// reset the position to ensure it is on the correct one. -_bodyBagCreated setPos _onPosition; - -[[_bodyBagCreated], "cse_fnc_revealObject_f", true] spawn bis_fnc_MP; - -_bodyBagCreated setvariable ["CSE_Logistics_Enable_drag", true, true]; - -_bodyBagCreated; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_playInjuredSound_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_playInjuredSound_CMS.sqf deleted file mode 100644 index 06991a7497..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_playInjuredSound_CMS.sqf +++ /dev/null @@ -1,74 +0,0 @@ -/** - * fn_playInjuredSound_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit","_amountOfDamage","_bodyPartStatus","_availableSounds_A","_availableSounds_B","_availableSounds_C","_sound"]; -_unit = _this select 0; -if (!local _unit) exitwith{}; - -if ((_unit getvariable ["CSE_PLAYING_INJURED_SOUND_CMS",false])) exitwith {}; -_unit setvariable ["CSE_PLAYING_INJURED_SOUND_CMS",true]; -_availableSounds_A = [ - "WoundedGuyA_01", - "WoundedGuyA_02", - "WoundedGuyA_03", - "WoundedGuyA_04", - "WoundedGuyA_05", - "WoundedGuyA_06", - "WoundedGuyA_07", - "WoundedGuyA_08" -]; -_availableSounds_B = [ - "WoundedGuyB_01", - "WoundedGuyB_02", - "WoundedGuyB_03", - "WoundedGuyB_04", - "WoundedGuyB_05", - "WoundedGuyB_06", - "WoundedGuyB_07", - "WoundedGuyB_08" -]; -_availableSounds_C = [ - "WoundedGuyC_01", - "WoundedGuyC_02", - "WoundedGuyC_03", - "WoundedGuyC_04", - "WoundedGuyC_05" -]; - -_bodyPartStatus = [_unit,"cse_bodyPartStatus"] call cse_fnc_getvariable; - -_amountOfDamage = 0; -{ - _amountOfDamage = _amountOfDamage + _x; -}foreach _bodyPartStatus; - - -if (_amountOfDamage > 0) then { - _sound = ""; - if (_amountOfDamage > 1) then { - if (random(1) > 0.5) then { - _sound = _availableSounds_A select (round(random((count _availableSounds_A) - 1))); - } else { - _sound = _availableSounds_B select (round(random((count _availableSounds_B) - 1))); - }; - } else { - _sound = _availableSounds_B select (round(random((count _availableSounds_B) - 1))); - }; - [[_unit,_sound], "cse_fnc_broadcastSound3D_F", true, false] spawn BIS_fnc_MP; - if (_amountOfDamage < 1) then { - sleep 10; - sleep (random(50)); - } else { - sleep (60 / _amountOfDamage); - }; - -}; -_unit setvariable ["CSE_PLAYING_INJURED_SOUND_CMS",nil]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_setDead_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_setDead_CMS.sqf deleted file mode 100644 index c049473ae8..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_setDead_CMS.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_setDead_CMS.sqf - * @Descr: Set a unit dead from within CMS. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: void - * @PublicAPI: true - */ - -private ["_unit"]; -_unit = _this select 0; - -if (!alive _unit) exitwith{}; -if (!local _unit) exitwith {}; - -[_unit, "cse_pain",0,true] call cse_fnc_setVariable; -[_unit, "cse_heartRate",0,true] call cse_fnc_setVariable; -[_unit, "cse_bloodPressure", [0,0],true] call cse_fnc_setVariable; -[_unit, "cse_airway", 3, true] call cse_fnc_setVariable; - -[_unit] call cse_fnc_setDead; // calling framework function \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_setMedicRole_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_setMedicRole_CMS.sqf deleted file mode 100644 index 3459341faf..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_setMedicRole_CMS.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_setMedicRole_CMS.sqf - * @Descr: Register a unit as a medic - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (Any unit of type CAManBase), value NUMBER (0 is normal. 1 or above is medic)] - * @Return: void - * @PublicAPI: true - */ - -private ["_unit","_value"]; -_unit = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param; -_value = [_this, 1, false,[false]] call BIS_fnc_param; - -if (_unit isKindOf "CaManBase") then { - if (_value) then { - _unit setvariable ["cse_medicClass",1,true]; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/fn_updateAttributes_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/fn_updateAttributes_CMS.sqf deleted file mode 100644 index c68b15c954..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/fn_updateAttributes_CMS.sqf +++ /dev/null @@ -1,209 +0,0 @@ -/** - * fn_updateAttributes_CMS.sqf - * @Descr: This is the old update vitals script. It is here just in case we need to make the switch back to the old version but is not used. - * @Author: Glowbal - * @DEPRECATED - * - * @Arguments: [unit OBJECT] - * @Return: void - * @PublicAPI: false - */ - - -// OLD ALGHORIM -private ["_unit","_bloodVolume","_bloodPressure","_bloodPressureLow","_bloodPressureHigh","_heartRate","_totalBloodLoss","_hrIncrease","_bpIncreaseHigh","_bpIncreaseLow","_speed","_ivVolume","_painStatus","_showedHint", "_modifier"]; -_unit = _this select 0; - -_bloodVolume = [_unit,"cse_bloodVolume"] call cse_fnc_getVariable; -_bloodPressure = [_unit,"cse_bloodPressure"] call cse_fnc_getVariable; -_bloodPressureLow = _bloodPressure select 0; -_bloodPressureHigh = _bloodPressure select 1; -_heartRate = [_unit,"cse_heartRate"] call cse_fnc_getVariable; -_painStatus = [_unit,"cse_pain",0] call cse_fnc_getVariable; -_totalBloodLoss = _unit call cse_fnc_getBloodLoss_CMS; -_hrIncrease = 0; -_bpIncreaseHigh = 0; -_bpIncreaseLow = 0; - -// _totalBloodLoss affecting Heart Rate and bloodpressure - - if (_totalBloodLoss >0.0) then { - if (_totalBloodLoss <0.5) then { - if (_heartRate < 126) then { - _hrIncrease = _hrIncrease + 0.5; - }; - } else { - if (_totalBloodLoss < 1) then { - if (_heartRate < 161) then { - _hrIncrease = _hrIncrease + 1; - }; - if (_bloodPressureLow > 60 && _bloodVolume < 95) then { - _bpIncreaseLow = _bpIncreaseLow - 0.5; - }; - } else { - if (_heartRate < 220) then { - _hrIncrease = _hrIncrease + 1.5; - }; - if (_bloodPressureLow > 60 && _bloodVolume < 95) then { - _bpIncreaseLow = _bpIncreaseLow - 2; - }; - }; - }; - }; - - if ((_totalBloodLoss == 0) && _bloodVolume > 80) then { - if (_bloodPressureLow < 80) then { - _bpIncreaseLow = _bpIncreaseLow + 1; - }; - if (_bloodPressureHigh < 120) then { - _bpIncreaseHigh = _bpIncreaseHigh + 1; - }; - if (_bloodPressureLow > 100) then { - _bpIncreaseLow = _bpIncreaseLow - 1; - }; - if (_bloodPressureHigh > 120) then { - _bpIncreaseHigh = _bpIncreaseHigh - 1; - }; - }; - - // affecting Heart Rate - if !(_unit getvariable ["cse_cardiacArrest",false]) then { - if (_bloodPressureLow > 50 && _bloodPressureHigh < 130) then { - if (_bloodPressureHigh > 70 && _bloodPressureHigh < 190) then { - _speed = abs(speed _unit); - if (_speed > 0 && _bloodVolume > 60) then { - if (_speed > 10 && (vehicle _unit == _unit)) then { - if (_heartRate <100) then { - _hrIncrease = _hrIncrease + (_speed/200); - }; - }; - } else { - if (_bloodVolume > 60 && _totalBloodLoss == 0) then { - if (_heartRate < (60 + round(random(10)))) then { - _hrIncrease = _hrIncrease + 0.2; - } else { - if (_heartRate > (77 + round(random(10)))) then { - _hrIncrease = _hrIncrease - 0.2; - }; - }; - }; - }; - if (_bloodVolume < 60 && _bloodPressureLow<60 && _bloodPressureHigh < 90 && _hrIncrease <1) then { - _hrIncrease = _hrIncrease + 1; - }; - if (_bloodVolume < 40) then { - _hrIncrease = _hrIncrease - 3; - }; - }; - } else { - }; - }; - - if (_heartRate > 10) then { - if (_totalBloodLoss == 0 && _hrIncrease>0) then { - _bpIncreaseLow = _bpIncreaseLow + (_hrIncrease/2); - _bpIncreaseHigh = _bpIncreaseHigh + (_hrIncrease/2) - }; - - if (_hrIncrease<0) then { - _bpIncreaseLow = _bpIncreaseLow - 0.5; - _bpIncreaseHigh = _bpIncreaseHigh - 1.5; - }; - if (_totalBloodLoss > 0 && _totalBloodLoss < 1 && _hrIncrease>0) then { - _bpIncreaseLow = _bpIncreaseLow + 0.03; - _bpIncreaseHigh = _bpIncreaseHigh + 0.03; - }; - }; - _showedHint = false; - if (_totalBloodLoss >0) then { - if !(_unit getvariable ["cse_isBleeding_CMS",false]) then { - [_unit, "cse_isBleeding_CMS",true] call cse_fnc_setVariable; - if (CSE_DISPLAY_ADDITIONAL_HINTS_CMS) then { - _showedHint = true; - [_unit,"Injured","You are bleeding!",1] call cse_fnc_sendDisplayMessageTo; - }; - }; - } else { - if (_unit getvariable ["cse_isBleeding_CMS",false]) then { - [_unit, "cse_isBleeding_CMS",false] call cse_fnc_setVariable; - }; - }; - if (_painStatus > 0) then { - if !(_unit getvariable ["cse_hasPain_CMS",false]) then { - [_unit, "cse_hasPain_CMS",true] call cse_fnc_setVariable; - if (CSE_DISPLAY_ADDITIONAL_HINTS_CMS && !_showedHint) then { - [_unit,"Injured","You are in Pain!",1] call cse_fnc_sendDisplayMessageTo; - }; - }; - - } else { - if (_unit getvariable ["cse_hasPain_CMS",false]) then { - [_unit, "cse_hasPain_CMS",false] call cse_fnc_setVariable; - }; - }; - -_modifier = 1; -if (!([_unit] call cse_fnc_isAwake)) then { - _modifier = 0.5; -}; - -_bloodVolume = _bloodVolume - (_totalBloodLoss * _modifier); - - _heartRate = _heartRate + (_hrIncrease * _modifier); - _bloodPressureLow = _bloodPressureLow + (_bpIncreaseLow * _modifier); - _bloodPressureHigh = _bloodPressureHigh + (_bpIncreaseHigh * _modifier); - // Safety checks, prefent values below zero - if (_bloodPressureLow <0) then { - _bloodPressureLow = 0; - }; - if (_bloodPressureHigh < _bloodPressureLow) then { - _bloodPressureHigh = _bloodPressureLow + 10; - }; - _bloodPressure = [_bloodPressureLow, _bloodPressureHigh]; - - if (_heartRate <0) then { - _heartRate = 0; - }; - -if (_bloodVolume < 100.0) then { - if (_bloodVolume <0) then { - _bloodVolume = 0; - }; - if (([_unit,"cse_salineIVVolume",0] call cse_fnc_getvariable) > 0) then { - _bloodVolume = _bloodVolume + 0.2; - _ivVolume = ([_unit,"cse_salineIVVolume",0] call cse_fnc_getvariable) - 0.2; - _unit setvariable ["cse_salineIVVolume",_ivVolume]; - }; - if (([_unit,"cse_plasmaIVVolume",0] call cse_fnc_getvariable) > 0) then { - _bloodVolume = _bloodVolume + 0.2; - _ivVolume = ([_unit,"cse_plasmaIVVolume",0] call cse_fnc_getvariable) - 0.2; - _unit setvariable ["cse_plasmaIVVolume",_ivVolume]; - }; - if (([_unit,"cse_bloodIVVolume",0] call cse_fnc_getvariable) > 0) then { - _bloodVolume = _bloodVolume + 0.2; - _ivVolume = ([_unit,"cse_bloodIVVolume",0] call cse_fnc_getvariable) - 0.2; - _unit setvariable ["cse_bloodIVVolume",_ivVolume]; - }; - -} else { - if (_bloodVolume > 100) then { - _bloodVolume = 100; - }; -}; - -if (_bloodVolume < 90) then { - if !(_unit getvariable ["cse_hasLostBlood_CMS",false]) then { - [_unit, "cse_hasLostBlood_CMS",true] call cse_fnc_setVariable; - }; -} else { - if (_unit getvariable ["cse_hasLostBlood_CMS",false]) then { - [_unit, "cse_hasLostBlood_CMS",false] call cse_fnc_setVariable; - }; -}; - -[_unit,"cse_bloodVolume",_bloodVolume] call cse_fnc_setVariable; -[_unit,"cse_bloodPressure",_bloodPressure] call cse_fnc_setVariable; -[_unit,"cse_heartRate",_heartRate] call cse_fnc_setVariable; - - -[_unit,_bloodVolume,_bloodPressure,_heartRate] call cse_fnc_bloodConditions_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignAirwayStatus_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignAirwayStatus_CMS.sqf deleted file mode 100644 index 920dd3166c..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignAirwayStatus_CMS.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_assignAirwayStatus_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit", "_amountOfDamage", "_typeOfInjury", "_bodyPartn","_airwayItem","_airwayStatus","_selection", "_airwayIncrease"]; -_unit = _this select 0; -_amountOfDamage = _this select 1; -_typeOfInjury = _this select 2; -_bodyPartn = _this select 3; - -// only the head -if (_bodyPartn != 0) exitwith {}; - -if (_amountOfDamage > 0.4) then { - if (random(1) >= 0.8) then { - _unit setvariable ["cse_airwayCollapsed", true, true]; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignFractures_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignFractures_CMS.sqf deleted file mode 100644 index 6c180b81c0..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignFractures_CMS.sqf +++ /dev/null @@ -1,69 +0,0 @@ -/** - * fn_assignFractures_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit", "_amountOfDamage", "_typeOfInjury", "_bodyPartn","_amountOfBrokenBones","_fractures","_size","_selection"]; -_unit = _this select 0; -_amountOfDamage = _this select 1; -_typeOfInjury = _this select 2; -_bodyPartn = _this select 3; -_amountOfBrokenBones = 1; -_size = 1; -if (_amountOfDamage > 0.05) then { - switch (_typeOfInjury) do { - case "Bullet": { - _amountOfBrokenBones = 1; - _size = round(random(2)); - }; - case "Grenade": { - _amountOfBrokenBones = 1; - _size = round(random(2)); - if (_size < 1) then { - _size = 1; - }; - }; - case "Explosive": { - _amountOfBrokenBones = 1; - _size = round(random(2)); - if (_size < 1) then { - _size = 1; - }; - }; - case "Shell": { - _amountOfBrokenBones = 1; - _size = round(random(2)); - if (_size < 1) then { - _size = 1; - }; - }; - case "Unknown": { - _amountOfBrokenBones = 1; - _size = round(random(1)); - }; - case "Crash": { - _amountOfBrokenBones = 0; - _size = round(random(0)); - }; - default { - _amountOfBrokenBones = 1; - _size = round(random(1)); - }; - }; - if (_size > 2) then { - _size = 3; - }; - - _fractures = [_unit,"cse_fractures"] call cse_fnc_getVariable; - _selection = _fractures select _bodyPartn; - _selection set [ _size, (_selection select _size) + _amountOfBrokenBones ]; - _fractures set [ _bodyPartn , _selection]; - - [_unit, "cse_fractures",_fractures] call cse_fnc_setVariable; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignOpenWounds_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignOpenWounds_CMS.sqf deleted file mode 100644 index 17727c581f..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_assignOpenWounds_CMS.sqf +++ /dev/null @@ -1,70 +0,0 @@ -/** - * fn_assignOpenWounds_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit", "_amountOfDamage", "_typeOfInjury", "_bodyPartn","_sizeOfWound","_amountOfNewWounds", "_return"]; -_unit = _this select 0; -_amountOfDamage = _this select 1; -_typeOfInjury = _this select 2; -_bodyPartn = _this select 3; -_sizeOfWound = 0; -_amountOfNewWounds = 0; - -_return = false; -if (_amountOfDamage > 0.05) then { - switch (_typeOfInjury) do { - case "Bullet": { - _amountOfNewWounds = 1; - _sizeOfWound = round(random(2)); - }; - case "Grenade": { - _amountOfNewWounds = 1; - _sizeOfWound = round(random(2)); - if (_sizeOfWound < 1) then { - _sizeOfWound = 1; - }; - }; - case "Explosive": { - _amountOfNewWounds = 1; - _sizeOfWound = round(random(2)); - if (_sizeOfWound < 1) then { - _sizeOfWound = 1; - }; - }; - case "Shell": { - _amountOfNewWounds = 1; - _sizeOfWound = round(random(2)); - if (_sizeOfWound < 1) then { - _sizeOfWound = 1; - }; - }; - case "Unknown": { - _amountOfNewWounds = 1; - _sizeOfWound = round(random(1)); - }; - case "VehicleCrash": { - _amountOfNewWounds = if (random(1)>=0.5) then{0}else{1}; - _sizeOfWound = round(random(1)); - }; - default { - _amountOfNewWounds = 1; - _sizeOfWound = round(random(1)); - }; - }; - if (_sizeOfWound > 2) then { - _sizeOfWound = 3; - }; - if (_amountOfNewWounds>0) then { - [_unit, _bodyPartn, _sizeOfWound, _amountOfNewWounds] call cse_fnc_addOpenWounds_CMS; - _return = true; - }; -}; - -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_damageBodyPart_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_damageBodyPart_CMS.sqf deleted file mode 100644 index 6796d65f3a..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_damageBodyPart_CMS.sqf +++ /dev/null @@ -1,24 +0,0 @@ - -private ["_unit", "_bodyPart", "_amountOfDamage"]; -_unit = _this select 0; -_bodyPart = _this select 1; -_amountOfDamage = _this select 2; -if (alive _unit) then { - _hitPointName = switch (_bodyPart) do { - case 0: {"hitHead"}; - case 1: {"hitBody"}; - case 2: {"hitHands"}; - case 3: {"hitHands"}; - case 4: {"hitLegs"}; - case 5: {"hitLegs"}; - default {"hitLegs"}; - }; - - if (_amountOfDamage < 0.95) then { - _unit setHitPointDamage [_hitPointName, _amountOfDamage]; - _unit setHit [_selectionName, _amountOfDamage]; - } else { - _unit setHitPointDamage [_hitPointName, 0.95]; - _unit setHit [_selectionName, 0.95]; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_determineIfFatal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_determineIfFatal_CMS.sqf deleted file mode 100644 index ba0f005d9f..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_determineIfFatal_CMS.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/** - * fn_determineIfFatal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define DEFAULT_DAMAGE_THRESHOLD 1 - -private ["_unit","_part","_damageThreshold"]; -_unit = _this select 0; -_part = _this select 1; - -if (!alive _unit) exitwith {true}; - -if ((vehicle _unit != _unit) && {!alive (vehicle _unit)}) exitwith { true }; - -// Find the correct Damage threshold for unit. -_damageThreshold = [1,1,1]; -if (isPlayer _unit) then { - _damageThreshold =_unit getvariable["cse_damageThresholds_players_cms", [CSE_DAMAGE_THRESHOLD_PLAYERS_DMG, CSE_DAMAGE_THRESHOLD_PLAYERS_DMG, CSE_DAMAGE_THRESHOLD_PLAYERS_DMG]]; -} else { - _damageThreshold =_unit getvariable["cse_damageThresholds_AI_cms", [CSE_DAMAGE_THRESHOLD_AI_DMG, CSE_DAMAGE_THRESHOLD_AI_DMG, CSE_DAMAGE_THRESHOLD_AI_DMG]]; -}; - -_damageBodyPart = ([_unit,"cse_bodyPartStatus",[0,0,0,0,0,0]] call cse_fnc_getVariable) select _part; - -// Check if damage to body part is higher as damage head -if (_part == 0) exitwith { - (_damageBodyPart >= (_damageThreshold select 0) && {(random(1) > 0.2)}); -}; - -// Check if damage to body part is higher as damage torso -if (_part == 1) exitwith { - (_damageBodyPart >= (_damageThreshold select 1) && {(random(1) > 0.2)}); -}; -// Check if damage to body part is higher as damage limbs -(_damageBodyPart >= (_damageThreshold select 2) && {(random(1) > 0.95)}); diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_determineIfUnconscious_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_determineIfUnconscious_CMS.sqf deleted file mode 100644 index dd0ece2d92..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_determineIfUnconscious_CMS.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/** - * fn_determineIfUnconscious_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_part","_damageThreshold"]; -_unit = _this select 0; -_part = _this select 1; - -if (!alive _unit) exitwith { true }; - -if ((vehicle _unit != _unit) && {!alive (vehicle _unit)}) exitwith { true }; - -// Find the correct Damage threshold for unit. -_damageThreshold = if (isPlayer _unit) then { - missionNamespace getvariable["cse_damageThresholds_players_cms", [CSE_DAMAGE_THRESHOLD_PLAYERS_DMG, CSE_DAMAGE_THRESHOLD_PLAYERS_DMG, CSE_DAMAGE_THRESHOLD_PLAYERS_DMG]]; -} else { - missionNamespace getvariable["cse_damageThresholds_AI_cms", [CSE_DAMAGE_THRESHOLD_AI_DMG, CSE_DAMAGE_THRESHOLD_AI_DMG, CSE_DAMAGE_THRESHOLD_AI_DMG]]; -}; - -_damageBodyPart = ([_unit,"cse_bodyPartStatus",[0,0,0,0,0,0]] call cse_fnc_getVariable) select _part; - -// Check if damage to body part is higher as damage head -if (_part == 0) exitwith { - ((_damageBodyPart * CSE_MEDICAL_DIFFICULTY) >= ((_damageThreshold select 0) * 0.7) && {(random(1) > 0.35)}); -}; - -// Check if damage to body part is higher as damage torso -if (_part == 1) exitwith { - ((_damageBodyPart * CSE_MEDICAL_DIFFICULTY) >= ((_damageThreshold select 1) * 0.5) && {(random(1) > 0.4)}); -}; -// Check if damage to body part is higher as damage limbs -((_damageBodyPart * CSE_MEDICAL_DIFFICULTY) >= ((_damageThreshold select 2) * 0.8) && {(random(1) > 0.7)}); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getBodyPartNumber_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getBodyPartNumber_CMS.sqf deleted file mode 100644 index fbd8e3b0c1..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getBodyPartNumber_CMS.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/** - * fn_getBodyPartNumber_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_selectionName","_part"]; -_selectionName = _this select 0; - - _part = -1; - _part = switch (_selectionName) do { - case "head": { - 0 - }; - case "body": { - 1 - }; - case "hands": { - if (random(1)>0.499) then { - 2 - } else { - 3 - }; - }; - case "hand_l": { - 2 - }; - case "hand_r": { - 3 - }; - case "legs": { - if (random(1)>0.499) then { - 4 - } else { - 5 - }; - }; - case "leg_l": { - 4 - }; - case "leg_r": { - 5 - }; - default { - -1 - }; - }; -_part \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getNewDamageBodyPart_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getNewDamageBodyPart_CMS.sqf deleted file mode 100644 index 4408d288f1..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getNewDamageBodyPart_CMS.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_getNewDamageBodyPart_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit","_selectionName","_newDamage", "_previousDamage", "_origDamage"]; -_unit = _this select 0; -_amountOfDamage = _this select 1; -_number = _this select 2; - -_previousDamage = _unit getvariable ["cse_bodyPartStatusPrevious_cms", [0,0,0,0,0,0]]; -_newDamage = _amountOfDamage - (_previousDamage select _number); -_previousDamage set [_number, _newDamage]; -[_unit,"cse_bodyPartStatusPrevious_cms",_previousDamage] call cse_fnc_setVariable; - - -_origDamage = [_unit,"cse_bodyPartStatus",[0,0,0,0,0,0]] call cse_fnc_getVariable; -_origDamage set [_number, (_origDamage select _number) + _newDamage]; /* We are storing the total Damage done on a body part for determining the damage properly */ -[_unit,"cse_bodyPartStatus",_origDamage] call cse_fnc_setVariable; - -_newDamage \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getTypeOfDamage_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getTypeOfDamage_CMS.sqf deleted file mode 100644 index 9adbcfb217..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_getTypeOfDamage_CMS.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/** - * fn_getTypeOfDamage_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_typeOfProjectile","_typeOfInjury"]; -_typeOfProjectile = _this select 0; -_typeOfInjury = switch (true) do { - case (_typeOfProjectile iskindof "BulletBase"): {"Bullet"}; - case (_typeOfProjectile iskindof "GrenadeCore"): {"Grenade"}; - case (_typeOfProjectile iskindof "TimeBombCore"): {"Explosive"}; - case (_typeOfProjectile iskindof "MineCore"): {"Explosive"}; - case (_typeOfProjectile iskindof "FuelExplosion"): {"Explosive"}; - case (_typeOfProjectile iskindof "ShellBase"): {"Shell"}; - case (_typeOfProjectile iskindof "RocketBase"): {"Explosive"}; - case (_typeOfProjectile iskindof "MissileBase"): {"Explosive"}; - case (_typeOfProjectile iskindof "LaserBombCore"): {"Explosive"}; - case (_typeOfProjectile iskindof "BombCore"): {"Explosive"}; - case (_typeOfProjectile iskindof "Grenade"): {"Grenade"}; - case (_typeOfProjectile == "VehicleCrash"): {"VehicleCrash"}; - default {"Unknown"}; -}; -_typeOfInjury \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_handleDamage_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_handleDamage_CMS.sqf deleted file mode 100644 index 12979ebf57..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_handleDamage_CMS.sqf +++ /dev/null @@ -1,81 +0,0 @@ -/** - * fn_handleDamage_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_selectionName","_amountOfDamage","_sourceOfDamage", "_typeOfProjectile","_bodyPartn","_newDamage","_typeOfDamage","_caliber", "_hitPointName", "_returnDamage", "_varCheck"]; -_unit = _this select 0; -_selectionName = _this select 1; -_amountOfDamage = _this select 2; -_sourceOfDamage = _this select 3; -_typeOfProjectile = _this select 4; -_returnDamage = _amountOfDamage; - -_bodyPartn = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; - - -// Check for vehicle crash -if (vehicle _unit != _unit && {_bodyPartn < 0} && {isNull _sourceOfDamage} && {_typeOfProjectile == ""} && {_selectionName == ""}) then { - if (CSE_ALLOW_VEH_CRASH_INJURIES_CMS) then { - _bodyPartn = if (random(1)>=0.5) then { 0 } else { 1 }; - _typeOfProjectile = "VehicleCrash"; - }; -}; - -// If it is not a valid bodyPart number, exit because we cannot do anything with it. -if (_bodyPartn < 0) exitwith {0}; - -// Most likely taking exessive fire damage. Lets exit. -if (isNull _sourceOfDamage && (_selectionName == "head" || isBurning _unit) && _typeOfProjectile == "" && vehicle _unit == _unit) exitwith { - 0 -}; // Prefent excessive fire damage - -if (local _unit && {([_unit] call cse_fnc_hasMedicalEnabled_CMS)}) then { - if (_amountOfDamage < 0) then { - _amountOfDamage = 0; - }; - - // Ensure damage is being handled correctly. - [_unit, _bodyPartn, _amountOfDamage] call cse_fnc_damageBodyPart_CMS; - _newDamage = [_unit, _amountOfDamage, _bodyPartn] call cse_fnc_getNewDamageBodyPart_CMS; - - // figure out the type of damage so we can use that to determine what injures should be given. - _typeOfDamage = [_typeOfProjectile] call cse_fnc_getTypeOfDamage_CMS; - - if !([_unit, _newDamage, _typeOfDamage, _bodyPartn] call cse_fnc_assignOpenWounds_CMS) then { - _returnDamage = 0; - }; - - //[_unit,_newDamage,_typeOfDamage,_bodyPartn] call cse_fnc_assignFractures_CMS; - if (CSE_ALLOW_AIRWAY_INJURIES_CMS) then { - [_unit, _amountOfDamage, _typeOfDamage, _bodyPartn] call cse_fnc_assignAirwayStatus_CMS; - }; - [_unit,_newDamage,_bodyPartn] call cse_fnc_increasePain_CMS; - - if (([_unit, _bodyPartn] call cse_fnc_determineIfFatal_CMS) || !(alive (vehicle _unit))) then { - [_unit] call cse_fnc_setDead_CMS; - _returnDamage = 1; - } else { - [_unit] call cse_fnc_unitLoop_CMS; - if ([_unit, _bodyPartn] call cse_fnc_determineIfUnconscious_CMS) then { - [_unit] call cse_fnc_setUnconsciousState; - } else { - [_unit,_newDamage] call cse_fnc_reactionToHit_CMS; - }; - if (_returnDamage > 0.95) then { - _returnDamage = 0.95; - }; - }; - - if (!(alive (vehicle _unit))) then { - _returnDamage = 1; - [_unit] call cse_fnc_setDead_CMS; - }; -}; - -_returnDamage \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_increasePain_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_increasePain_CMS.sqf deleted file mode 100644 index b41934f512..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_increasePain_CMS.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_increasePain_CMS.sqf - * @Descr: Increase the pain level of a unit - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, amount NUMBER, sectionName NUMBER (Also supports string representation of bodyparts)] - * @Return: nil - * @PublicAPI: true - */ - -private ["_unit","_amountOfDamage","_selectionName","_sourceOfDamage","_painStatus"]; -_unit = _this select 0; -_amountOfDamage = _this select 1; -_selectionName = _this select 2; -_amountOfDamage = _amountOfDamage * 10; -if (!alive _unit || (_amountOfDamage <= 0)) exitwith{}; -_painStatus = [_unit,"cse_pain",0] call cse_fnc_getVariable; - -if (typeName _selectionName == "STRING") then { - _selectionName = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; -}; - -_painStatus = switch (_selectionName) do { - case 0: { - _painStatus + (_amountOfDamage*1.5); - }; - case 1: { - _painStatus + (_amountOfDamage*0.9); - }; - case 2: { - _painStatus + (_amountOfDamage*0.8); - }; - case 3: { - _painStatus + (_amountOfDamage*0.7); - }; - default {_painStatus}; -}; - -[_unit,"cse_pain",_painStatus] call cse_fnc_setVariable; -nil; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_reactionToHit_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/handledamage/fn_reactionToHit_CMS.sqf deleted file mode 100644 index b3d7959654..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/handledamage/fn_reactionToHit_CMS.sqf +++ /dev/null @@ -1,49 +0,0 @@ -/** - * fn_reactionToHit_CMS.sqf - * @Descr: triggers a reaction to being hit for a unit and spawns on screen effects. - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_amountOfDamage"]; -_unit = _this select 0; -_amountOfDamage = _this select 1; - -if (_amountOfDamage > 0.2) then { - [_unit] spawn cse_fnc_playInjuredSound_CMS; - if ((vehicle _unit) isKindOf "StaticWeapon") exitwith { - if (_amountOfDamage > 1) then { - _unit action ["eject", vehicle _unit]; - unassignVehicle _unit; - }; - }; - if (animationState _unit in ["ladderriflestatic","laddercivilstatic"]) exitwith { - _unit action ["ladderOff", (nearestBuilding _unit)]; - }; - - if (vehicle _unit == _unit && [_unit] call cse_fnc_isAwake) then { - if (random(1) > 0.5) then { - _unit setDir ((getDir _unit) + 1 + random(30)); - } else { - _unit setDir ((getDir _unit) - (1 + random(30))); - }; - }; - if (_amountOfDamage > 0.6) then { - if (random(1)>0.6) then { - [_unit] call cse_fnc_setProne; - }; - }; - if (isPlayer _unit) then { - 76 cutRsc ["RscCSEScreenEffectsHit","PLAIN"]; - addCamShake [3, 5, _amountOfDamage + random 10]; - }; -} else { - if (_amountOfDamage > 0) then { - if (isPlayer _unit) then { - 76 cutRsc ["RscCSEScreenEffectsHit","PLAIN"]; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_addInjury.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_addInjury.sqf deleted file mode 100644 index d72d5dd393..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_addInjury.sqf +++ /dev/null @@ -1,11 +0,0 @@ - - -_unit = _this select 0; -_injury = _this select 1; -// TODO implement injury vertifying check - is this a correct form of the injury? -/* Injury map: - -*/ -_injuryVector = _unit getvariable ["cse_injuryVector",[]]; -_injuryVector pushback _injury; -[_unit,"cse_injuryVector",_injuryVector] call cse_fnc_setVariable; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_createInjury.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_createInjury.sqf deleted file mode 100644 index c0a6bb1a4d..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_createInjury.sqf +++ /dev/null @@ -1,22 +0,0 @@ - -private ["_injury","_injuryType","_bodyPart","_id"]; - -_bodyPart = _this select 0; -_injuryType = _this select 1; -_souceType = _this select 2; - -/* Injury map: - -*/ -if (isnil "CSE_INJURY_ID_COUNTER_CMS") then { - CSE_INJURY_ID_COUNTER_CMS = 0; - CSE_INJURY_CREATION_MUTEX_CMS = false; -}; -waituntil{!CSE_INJURY_CREATION_MUTEX_CMS}; -CSE_INJURY_CREATION_MUTEX_CMS = true; - _id = CSE_INJURY_ID_COUNTER_CMS + round(random(100)); /* implement ID creation check */ - _injury = [_id, _bodyPart, _injuryType, _souceType , 1]; - CSE_INJURY_ID_COUNTER_CMS = _id; -CSE_INJURY_CREATION_MUTEX_CMS = false; - -_injury \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findBlastDamageInjury.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findBlastDamageInjury.sqf deleted file mode 100644 index 3ef1ffc258..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findBlastDamageInjury.sqf +++ /dev/null @@ -1,169 +0,0 @@ -#include "cse\cse_sys_medical\injuryTypes.h" -#include "cse\cse_sys_medical\bodyParts.h" - -private ["_bodyPart","_damage","_injuryTypeReturn"]; -_bodyPart = _this select 0; -_damage = _this select 1; -_distance = _this select 2; - -_injuryTypeReturn = []; -if (_damage >0.2) then { - switch (_bodyPart) do { - case HEAD: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - }; - }; - }; - }; - - case TORSO: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - }; - }; - }; - }; - - case ARM_R: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - }; - }; - }; - }; - - case ARM_L: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - }; - }; - }; - }; - - case LEG_R: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - }; - }; - }; - }; - - case LEG_L: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, HIGH_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - }; - }; - }; - }; - - default {}; - }; -} else { - if (_damage >0.01) then { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_BURN]; - }; - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCHRAPNEL_WOUND]; - }; - }; -}; - -_injuryTypeReturn \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findBulletInjury.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findBulletInjury.sqf deleted file mode 100644 index 0a4a65a23b..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findBulletInjury.sqf +++ /dev/null @@ -1,119 +0,0 @@ -#include "cse\cse_sys_medical\injuryTypes.h" -#include "cse\cse_sys_medical\bodyParts.h" - -private ["_bodyPart","_damage","_injuryTypeReturn"]; -_bodyPart = _this select 0; -_damage = _this select 1; -_distance = _this select 2; - -_injuryTypeReturn = []; -if (_damage >0.2) then { - switch (_bodyPart) do { - case HEAD: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_GSW]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, GRAZE_WOUND]; - }; - }; - }; - }; - case TORSO: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_GSW]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, GRAZE_WOUND]; - }; - }; - }; - }; - case ARM_R: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_GSW]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, GRAZE_WOUND]; - }; - }; - }; - }; - case ARM_L: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_GSW]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, GRAZE_WOUND]; - }; - }; - }; - }; - case LEG_R: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_GSW]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, GRAZE_WOUND]; - }; - }; - }; - }; - case LEG_L: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, LARGE_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_GSW]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_GSW]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_BURN]; - _injuryTypeReturn set [count _injuryTypeReturn, GRAZE_WOUND]; - }; - }; - }; - }; - default {}; - }; -} else { - if (_damage >0.01) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_BURN]; - }; - }; -}; - -_injuryTypeReturn \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findInjuryType.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findInjuryType.sqf deleted file mode 100644 index fb67efde9f..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findInjuryType.sqf +++ /dev/null @@ -1,32 +0,0 @@ - -private ["_bodyPart","_typeOfInjury","_distance","_damage","_return"]; -_bodyPart = _this select 0; -_typeOfInjury = _this select 1; -_damage = _this select 2; -_distance = _this select 3; - -_return = []; -switch (_typeOfInjury) do { - case "Bullet": { - _return = [_bodyPart, _damage,_distance] call cse_fnc_findBulletInjury; - }; - case "Grenade": { - _return = [_bodyPart, _damage,_distance] call cse_fnc_findBlastDamageInjury; - }; - case "Explosive": { - _return = [_bodyPart, _damage,_distance] call cse_fnc_findBlastDamageInjury; - }; - case "Shell": { - _return = [_bodyPart, _damage,_distance] call cse_fnc_findBlastDamageInjury; - }; - case "Unknown": { - _return = [_bodyPart, _damage,_distance] call cse_fnc_findUnknownTypeInjury; - }; - case "Crash": { - _return = [_bodyPart, _damage,_distance] call cse_fnc_findUnknownTypeInjury; - }; - default { - _return = [_bodyPart, _damage,_distance] call cse_fnc_findUnknownTypeInjury; - }; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findUknownTypeInjury.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findUknownTypeInjury.sqf deleted file mode 100644 index 5430ea7da3..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_findUknownTypeInjury.sqf +++ /dev/null @@ -1,112 +0,0 @@ -#include "cse\cse_sys_medical\injuryTypes.h" -#include "cse\cse_sys_medical\bodyParts.h" - -private ["_bodyPart","_damage","_injuryTypeReturn"]; -_bodyPart = _this select 0; -_damage = _this select 1; -_distance = _this select 2; - -_injuryTypeReturn = []; -if (_damage >0.2) then { - switch (_bodyPart) do { - case HEAD: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_CUT]; - }; - }; - }; - }; - case TORSO: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_CUT]; - }; - }; - }; - }; - case ARM_R: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_CUT]; - }; - }; - }; - }; - case ARM_L: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_CUT]; - }; - }; - }; - }; - case LEG_R: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_CUT]; - }; - }; - }; - }; - case LEG_L: { - if (_damage > 0.4) then { - _injuryTypeReturn set [count _injuryTypeReturn, MEDIUM_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_OPEN_WOUND]; - } else { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - } else { - _injuryTypeReturn set [count _injuryTypeReturn, MINOR_CUT]; - }; - }; - }; - }; - default {}; - }; -} else { - if (_damage >0.01) then { - if (random(1)>0.5) then { - _injuryTypeReturn set [count _injuryTypeReturn, SCRATCH]; - }; - }; -}; - -_injuryTypeReturn \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_getAllIInjuriesOnBodyPart.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_getAllIInjuriesOnBodyPart.sqf deleted file mode 100644 index c913b441d7..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_getAllIInjuriesOnBodyPart.sqf +++ /dev/null @@ -1,16 +0,0 @@ -_unit = _this select 0; -_bodyPart = _this select 1; - - -/* Injury map: - -*/ -_injuryVector = _unit getvariable ["cse_injuryVector",[]]; -_return = []; -{ - if (_bodyPart == (_x select 1)) then { - _return set [ count _return, _x]; - }; -}foreach _injuryVector; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_removeInjury.sqf b/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_removeInjury.sqf deleted file mode 100644 index ec5c561942..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/injuryVector/fn_removeInjury.sqf +++ /dev/null @@ -1,20 +0,0 @@ - -private ["_unit","_injuryID","_toRemove"]; -_unit = _this select 0; -_injuryID = _this select 1; -/* Injury map: - -*/ -_injuryVector = _unit getvariable ["cse_injuryVector",[]]; -_toRemove = -1; -{ - if (_injuryID == (_x select 0)) then { - _toRemove = _forEachIndex; - }; -}foreach _injuryVector; - -if (_toRemove > 0) then { - _injuryVector set [_toRemove, objNull]; - _injuryVector = _injuryVector - [ObjNull]; - [_unit,"cse_injuryVector",_injuryVector] call cse_fnc_setVariable; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/loading/fn_loadLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/loading/fn_loadLocal_CMS.sqf deleted file mode 100644 index a327bfec1a..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/loading/fn_loadLocal_CMS.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/** - * fn_loadLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -// NO LONGER USED. - -private ["_unit","_vehicle","_caller"]; -_unit = _this select 0; -_vehicle = _this select 1; -_caller = _this select 2; - -[_unit,_vehicle,_caller] spawn { - [_this] call cse_fnc_debug; - private ["_unit","_vehicle","_caller"]; - _unit = _this select 0; - _vehicle = _this select 1; - _caller = _this select 2; - - //_dead = false; - //if !(alive _unit) then { - //_dead = true; - //_unit = [_unit,_caller] call cms_fnc_switchDeadBody; - //_unit setvariable ["cms_isDead", true,true]; - //}; - - _unit moveInCargo _vehicle; - _loaded = _vehicle getvariable ["cse_loaded_casualties_CMS",[]]; - _loaded pushback _unit; - _vehicle setvariable ["cse_loaded_casualties_CMS",_loaded,true]; - - if (!([_unit] call cse_fnc_isAwake)) then { - waituntil {vehicle _unit == _vehicle}; - [_unit,([_unit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/loading/fn_load_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/loading/fn_load_CMS.sqf deleted file mode 100644 index 9a21063660..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/loading/fn_load_CMS.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/** - * fn_load_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_caller", "_unit","_vehicle", "_loaded"]; -_caller = _this select 0; -_unit = _this select 1; - -if ([_unit] call cse_fnc_isAwake) exitwith { - hintSilent "This person is awake and cannot be loaded"; -}; - -[_caller,objNull] call cse_fnc_carryObj; -[_unit,objNull] call cse_fnc_carryObj; -waituntil {(isNull (_unit getvariable ["cse_beingCarried_CMS", objNull]))}; - -_vehicle = [_caller, _unit] call cse_fnc_loadPerson_F; -if (!isNull _vehicle) then { - _loaded = _vehicle getvariable ["cse_loaded_casualties_CMS",[]]; - _loaded pushback _unit; - _vehicle setvariable ["cse_loaded_casualties_CMS",_loaded,true]; - - if (!isnil "CSE_DROP_ADDACTION_CMS") then { - _caller removeAction CSE_DROP_ADDACTION_CMS; - CSE_DROP_ADDACTION_CMS = nil; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/loading/fn_unload_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/loading/fn_unload_CMS.sqf deleted file mode 100644 index 31317da65f..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/loading/fn_unload_CMS.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/** - * fn_unload_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_caller", "_unit","_vehicle", "_drag", "_handle"]; -_caller = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; -_unit = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param; -_drag = [_this, 2, false, [false]] call BIS_fnc_Param; - -// cannot unload a unit not in a vehicle. -if (vehicle _unit == _unit) exitwith {}; - -if (([_unit] call cse_fnc_isAwake)) exitwith {}; - -_vehicle = vehicle _unit; -if ([_caller, _unit] call cse_fnc_unloadPerson_F) then { - _loaded = _vehicle getvariable ["cse_loaded_casualties_CMS",[]]; - _loaded = _loaded - [_unit]; - _vehicle setvariable ["cse_loaded_casualties_CMS",_loaded,true]; - if (_drag) then { - if ((vehicle _caller) == _caller) then { - _handle = [_caller, _unit] spawn { - _caller = _this select 0; - _unit = _this select 1; - waituntil {(vehicle _unit == _unit)}; - [[_caller,_unit], "cse_fnc_drag_CMS", _caller, false] spawn BIS_fnc_MP; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandageLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandageLocal_CMS.sqf deleted file mode 100644 index de07ff3034..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandageLocal_CMS.sqf +++ /dev/null @@ -1,120 +0,0 @@ -/** - * fn_bandageLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_treatingPerson","_injuredPerson","_part","_selectionName","_openWounds","_woundsArray","_highest_amount","_highestSpot","_collectiveImpact", "_highestTotal","_totalNumber", "_selectedData"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; -_selectedData = [_this, 4, "", [""]] call BIS_fnc_Param; - -if (!local _injuredPerson) exitwith{["fnc_bandageLocal called on non local machine",3] call cse_fnc_debug; }; -[_injuredPerson] spawn cse_fnc_unitLoop_CMS; -if (_treatingPerson != _injuredPerson) then { - [_injuredPerson,"STR_CSE_CMS_BANDAGING", "STR_CSE_CMS_IS_BANDAGING_YOU", 0, [[_treatingPerson] call cse_fnc_getName]] call cse_fnc_sendDisplayMessageTo; -}; -[_this] call cse_fnc_debug; - -[_injuredPerson,_removeItem] call cse_fnc_addToTriageList_CMS; -_collectiveImpact = switch (_removeItem) do { - case "cse_packing_bandage": {[1.0, 1.5, 1.2]}; - case "cse_bandageElastic": {[1.3, 0.9, 0.9]}; - case "cse_bandage_basic": {[1.5, 1.0, 0.6]}; - case "cse_stitching": {[2.0, 2.0, 2.0]}; - case "cse_quikclot": {[0.9, 0.3, 0.3]}; - default {[0.9, 0.5, 0.5]}; - }; - _part = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; - - _openWounds = [_injuredPerson,"cse_openWounds"] call cse_fnc_getvariable; - _woundsArray = _openWounds select _part; - - _highestSpot = 0; - _highest_amount = 0; - { - if (_x > _highest_amount) then { - _highestSpot = _foreachIndex; - _highest_amount = _x; - }; - }foreach _woundsArray; - - if (_selectedData != "") then { - [format["CUSTOM STUFF: %1", _selectedData]] call cse_fnc_debug; - _highestSpot = switch (_selectedData) do { - case "open_wound_0": {0}; - case "open_wound_1": {1}; - case "open_wound_2": {2}; - default {_highestSpot}; - }; - }; - - if (_highest_amount == 0 && CSE_BANDAGING_AID_CMS) then { - _highestTotal = 0; - { - _totalNumber = 0; - { - _totalNumber = _totalNumber + _x; - }foreach _x; - if (_totalNumber > _highestTotal) then { - _part = _foreachIndex; - _highestTotal = _totalNumber; - }; - }foreach _openWounds; - _woundsArray = _openWounds select _part; - _highestSpot = 0; - _highest_amount = 0; - { - if (_x > _highest_amount) then { - _highestSpot = _foreachIndex; - _highest_amount = _x; - }; - }foreach _woundsArray; - }; - - _impactOfBandage = (_collectiveImpact select _highestSpot); - - _wounds = _woundsArray select _highestSpot; - _amountOfInpact = 0; - if (_wounds >0) then { - [_injuredPerson,"treatment",format["%2 has bandaged a wound on %1",[_part] call cse_fnc_fromNumberToBodyPart_CMS,[_treatingPerson] call cse_fnc_getName]] call cse_fnc_addActivityToLog_CMS; - - _amountOfInpact = _impactOfBandage; - if (_impactOfBandage > _wounds) then { - _amountOfInpact = _wounds; - }; - }; - _wounds = (_wounds - _impactOfBandage); - if (_wounds < 0) then { - _wounds = 0; - }; - _woundsArray set[_highestSpot, _wounds]; - _openWounds set [_part, _woundsArray]; - [_injuredPerson,"cse_openWounds",_openWounds] call cse_fnc_setvariable; - if (isnil "CSE_ADVANCED_WOUNDS_SETTING_CMS") then { - CSE_ADVANCED_WOUNDS_SETTING_CMS = true; - }; - if (_amountOfInpact > 0.0 && CSE_ADVANCED_WOUNDS_SETTING_CMS) then { - _bandagedWounds = [_injuredPerson,"cse_bandagedWounds"] call cse_fnc_getvariable; - _bandagedPart = _bandagedWounds select _part; - if (_highestSpot > 0) then { - _bandagedWound = _bandagedPart select _highestSpot; - _bandagedWound = _bandagedWound + _amountOfInpact; - _bandagedPart set [_highestSpot,_bandagedWound]; - _bandagedWounds set[_part,_bandagedPart]; - [_injuredPerson,"cse_bandagedWounds",_bandagedWounds] call cse_fnc_setvariable; - [_injuredPerson, _amountOfInpact,_part,_highestSpot, _removeItem] spawn cse_fnc_bandageOpening_CMS; - }; - }; - - if (!([_injuredPerson] call cse_fnc_hasOpenWounds_CMS)) then { - _injuredPerson setDamage 0; - }; - -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandageOpening_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandageOpening_CMS.sqf deleted file mode 100644 index b1af816d23..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandageOpening_CMS.sqf +++ /dev/null @@ -1,76 +0,0 @@ -/** - * fn_bandageOpening_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define CFG_DEFAULT_WAITING_TIME 900 + random(120) -#define WAITINGTIME 1 -#define RATIO 2 -#define CHANCE 3 - -private ["_person","_amount","_bodyPart","_woundClass","_item","_config","_found"]; -_person = _this select 0; -_amount = _this select 1; -_bodyPart = _this select 2; -_woundClass = _this select 3; -_item = _this select 4; - -// classname, waiting time until wound opens, ratio in which it start bleeding again, chance of the wound ever opening up // -_config = [ - ["cse_bandage_basic", 900 + random (120), 0.75, 0.4], - ["cse_packing_bandage", 1200 + random (120), 0.5, 0.6], - ["cse_bandageElastic", 900 + random (900), 0.75, 0.2], - ["cse_quikclot", 1, 0.1, 0] -]; -_found = false; -{ - if (_item == _x select 0) exitwith { - if (random(1)> (1 - (_x select CHANCE))) then { - _found = true; - sleep (_x select WAITINGTIME); - _bandagedWounds = [_person,"cse_bandagedWounds"] call cse_fnc_getVariable; - _bandagedBodyPart = _bandagedWounds select _bodyPart; - _bandagedWoundClass = _bandagedBodyPart select _woundClass; - if (_bandagedWoundClass >= _amount) then { - _openWounds =[_person,"cse_openWounds"] call cse_fnc_getVariable; - _openWoundsBodyPart = _openWounds select _bodyPart; - _openWoundClass = _openWoundsBodyPart select _woundClass; - - _bandagedBodyPart set [_woundClass,_bandagedWoundClass - (_amount * (_x select RATIO))]; - _openWoundsBodyPart set [_woundClass,_openWoundClass + (_amount * (_x select RATIO))]; - - _bandagedWounds set[_bodyPart,_bandagedBodyPart]; - _openWounds set[_bodyPart,_openWoundsBodyPart]; - [_person,"cse_openWounds",_openWounds] call cse_fnc_setVariable; - [_person,"cse_bandagedWounds",_bandagedWounds] call cse_fnc_setVariable; - }; - }; - }; -}foreach _config; - -if (!_found && (random(1)>0.2)) then { - sleep CFG_DEFAULT_WAITING_TIME; - _bandagedWounds = [_person,"cse_bandagedWounds"] call cse_fnc_getVariable; - _bandagedBodyPart = _bandagedWounds select _bodyPart; - _bandagedWoundClass = _bandagedBodyPart select _woundClass; - - if (_bandagedWoundClass >= _amount) then { - _openWounds =[_person,"cse_openWounds"] call cse_fnc_getVariable; - _openWoundsBodyPart = _openWounds select _bodyPart; - _openWoundClass = _openWoundsBodyPart select _woundClass; - - _bandagedBodyPart set [_woundClass,_bandagedWoundClass - _amount]; - _openWoundsBodyPart set [_woundClass,_openWoundClass + _amount]; - - _bandagedWounds set[_bodyPart,_bandagedBodyPart]; - _openWounds set[_bodyPart,_openWoundsBodyPart]; - [_person,"cse_openWounds",_openWounds] call cse_fnc_setVariable; - [_person,"cse_bandagedWounds",_bandagedWounds] call cse_fnc_setVariable; - }; -}; - diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandage_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandage_CMS.sqf deleted file mode 100644 index db34f55b89..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_bandage_CMS.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/** - * fn_bandage_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_treatingPerson","_injuredPerson","_part","_selectionName","_openWounds","_woundsArray","_highest_amount","_highestSpot", "_selectedData", "_continue", "_prevAnim"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; -_selectedData = [_this, 4, "", [""]] call BIS_fnc_Param; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_treatingPerson] call cse_fnc_treatmentMutex_CMS; - -if (!([_treatingPerson, _injuredPerson, _removeItem] call cse_fnc_hasEquipment_CMS)) exitwith { [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; }; - -_prevAnim = ""; -if (vehicle _treatingPerson == _treatingPerson && (vehicle _injuredPerson == _injuredPerson) && !(stance _treatingPerson == "PRONE")) then { - if (primaryWeapon _treatingPerson == "") then { - _prevAnim = animationState _treatingPerson; - }; - [_treatingPerson,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; -}; - -[_treatingPerson,"STR_CSE_CMS_BANDAGING","STR_CSE_CMS_APPLY_BANDAGE", 0, [[_injuredPerson] call cse_fnc_getName, _selectionName]] call cse_fnc_sendDisplayMessageTo; - -if (isnil "CSE_BANDAGE_WAITING_TIME_CMS") then { - CSE_BANDAGE_WAITING_TIME_CMS = 5; -}; - -["cse_sys_medical_treatment", true, "cse\cse_sys_medical\data\icons\bandage_fracture_small.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _treatingPerson; -if ([CSE_BANDAGE_WAITING_TIME_CMS,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar) then { - - [_treatingPerson, _injuredPerson, _removeItem] call cse_fnc_useEquipment_CMS; - - [_this, "cse_fnc_bandageLocal_CMS", _injuredPerson, false] spawn BIS_fnc_MP; -}; - -if (_prevAnim != "") then { - _treatingPerson switchMove _prevAnim; -}; -["cse_sys_medical_treatment", false, "cse\cse_sys_medical\data\icons\bandage_fracture_small.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - -[_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_handleHeal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_handleHeal_CMS.sqf deleted file mode 100644 index 7121c9e04b..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_handleHeal_CMS.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_handleHeal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit",'_healer']; -_unit = _this select 0; -_healer = _this select 1; - -if (!(isPlayer _healer) && CSE_ALLOW_AI_FULL_HEAL_CMS && !([_unit] call cse_Fnc_isUnconscious)) then { - [_unit, "cse_openWounds",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]] call cse_fnc_setVariable; - [_unit, "cse_bandagedWounds",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]] call cse_fnc_setVariable; - - if (_unit != _healer) then { - [_unit,"STR_CSE_CMS_BANDAGED","STR_CSE_CMS_IS_BANDAGING_YOU", 0, [[_healer] call cse_fnc_getName]] call cse_fnc_sendDisplayMessageTo; - }; - [_unit,"treatment",format["%1 has patched up the patient",[_healer] call cse_fnc_getName]] call cse_fnc_addActivityToLog_CMS; -}; - -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_hasEquipment_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_hasEquipment_CMS.sqf deleted file mode 100644 index f27f7521a8..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_hasEquipment_CMS.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/** - * fn_hasEquipment_CMS.sqf - * @Descr: Check if the medic or patient have the right equipment for treatment. - * @Author: Glowbal - * - * @Arguments: [medic OBJECT, patient OBJECT, item STRING (Classname of the item. Expects magazine type.)] - * @Return: BOOL - * @PublicAPI: false - */ - -private ["_medic", "_patient", "_item", "_return"]; -_medic = _this select 0; -_patient = _this select 1; -_item = _this select 2; - -if (isnil "CSE_ALLOW_SHARED_EQUIPMENT_CMS") then { - CSE_ALLOW_SHARED_EQUIPMENT_CMS = true; -}; -if (CSE_ALLOW_SHARED_EQUIPMENT_CMS && {[_patient, _item] call cse_fnc_hasItem}) exitwith { - true; -}; - -if ([_medic, _item] call cse_fnc_hasItem) exitwith { - true; -}; - -_return = false; -if ([vehicle _medic] call cse_fnc_isMedicalVehicle_CMS && {(vehicle _medic != _medic)}) then { - _crew = crew vehicle _medic; - { - if ([_x, _medic] call cse_fnc_canAccessMedicalEquipment_CMS && {([_x, _item] call cse_fnc_hasItem)}) exitwith { - _return = true; - }; - }foreach _crew; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_hasTourniquetAppliedTo_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_hasTourniquetAppliedTo_CMS.sqf deleted file mode 100644 index 91d51f1441..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_hasTourniquetAppliedTo_CMS.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/** - * fn_hasTourniquetAppliedTo_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_part","_selectionName","_tourniquets"]; -_unit = _this select 0; -_selectionName = _this select 1; -_part = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; -_tourniquets = [_unit,"cse_tourniquets"] call cse_fnc_getVariable; -((_tourniquets select _part) > 0) \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_healLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_healLocal_CMS.sqf deleted file mode 100644 index b732249af1..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_healLocal_CMS.sqf +++ /dev/null @@ -1,73 +0,0 @@ -/** - * fn_healLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_caller", "_wasUnconscious"]; -_unit = _this select 0; -_caller = _this select 1; - -if (alive _unit) then { - _wasUnconscious = [_unit] call cse_fnc_isUnconscious; - [_unit,"treatment",format["%1 used a personal aid kit",[_caller] call cse_fnc_getName]] call cse_fnc_addActivityToLog_CMS; - - [_unit,"cse_openWounds",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]] call cse_fnc_setVariable; - [_unit,"cse_bandagedWounds",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]] call cse_fnc_setVariable; - [_unit,"cse_fractures",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]] call cse_fnc_setVariable; - [_unit,"cse_airway",0] call cse_fnc_setVariable; - [_unit,"cse_tourniquets",[0,0,0,0,0,0]] call cse_fnc_setVariable; - [_unit,"cse_splints",0] call cse_fnc_setVariable; - - //["cse_activityLog_CMS",[]] call cse_fnc_setVariable; - [_unit,"cse_triageLevel",0] call cse_fnc_setVariable; - [_unit,"cse_triageCard",[]] call cse_fnc_setVariable; - - // private variables - [_unit,"cse_bloodVolume",100] call cse_fnc_setVariable; - [_unit,"cse_bloodIVVolume",0] call cse_fnc_setVariable; - [_unit,"cse_plasmaIVVolume",0] call cse_fnc_setVariable; - [_unit,"cse_salineIVVolume",0] call cse_fnc_setVariable; - - [_unit,"cse_pain",0] call cse_fnc_setVariable; - [_unit,"cse_heartRate",80] call cse_fnc_setVariable; - [_unit,"cse_andrenaline",0] call cse_fnc_setVariable; - [_unit,"cse_bloodPressure",[80,120]] call cse_fnc_setVariable; - - [_unit,"cse_givenMorphine",0] call cse_fnc_setVariable; - [_unit,"cse_givenAtropine",0] call cse_fnc_setVariable; - [_unit,"cse_givenEpinephrine",0] call cse_fnc_setVariable; - - [_unit,"cse_bodyPartStatus",[0,0,0,0,0,0]] call cse_fnc_setVariable; - [_unit,"CSE_ENABLE_REVIVE_SETDEAD_F", 0] call cse_fnc_setVariable; - [_unit,"CSE_ENABLE_REVIVE_COUNTER", 0] call cse_fnc_setVariable; - - _unit setDamage 0; - if (!CSE_ALLOW_INSTANT_DEAD_CMS) then { - [_unit, "cse_noInstantDeath", false] call cse_fnc_setVariable; - }; - - if (isPlayer _unit) then { - [false] call cse_fnc_effectBlackOut; - [true] call cse_fnc_setVolume_f; - ["unconscious", false] call cse_fnc_disableUserInput_f; - }; - if (_wasUnconscious) then { - ["waiting until no longer unconscious"] call cse_fnc_debug; - waituntil {!([_unit] call cse_fnc_isUnconscious)}; - sleep 0.1; - - if (vehicle _unit == _unit) then { - if (!([_unit] call cse_fnc_beingCarried)) then { - ["Resetting animation"] call cse_fnc_debug; - [_unit,"",false] call cse_fnc_broadcastAnim; - [_unit,"amovppnemstpsnonwnondnon",false] call cse_fnc_broadcastAnim; - }; - }; - }; - ["Completed healLocal"] call cse_fnc_debug; -}; diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_heal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_heal_CMS.sqf deleted file mode 100644 index be403202a6..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_heal_CMS.sqf +++ /dev/null @@ -1,50 +0,0 @@ -/** - * fn_heal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit", "_caller", "_selectionName", "_removeItem", "_prevAnim"]; -_unit = _this select 0; -_caller = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - -if !((CSE_AID_KIT_RESTRICTIONS_CMS == 0 && ([_caller] call cse_fnc_inMedicalFacility_CMS)) || (CSE_AID_KIT_RESTRICTIONS_CMS == 1 && ([_caller] call cse_fnc_inMedicalFacility_CMS) && (!([_unit] call cse_fnc_hasOpenWounds_CMS))) || (CSE_AID_KIT_RESTRICTIONS_CMS == 2) || (CSE_AID_KIT_RESTRICTIONS_CMS == 3 && (!([_unit] call cse_fnc_hasOpenWounds_CMS)))) exitwith {}; - -if (!([_caller, _unit, _removeItem] call cse_fnc_hasEquipment_CMS)) exitwith {}; -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_caller] call cse_fnc_treatmentMutex_CMS; - -_prevAnim = ""; -if (vehicle _caller == _caller && (vehicle _unit == _unit) && !(stance _caller == "PRONE")) then { - if (primaryWeapon _caller == "") then { - _prevAnim = animationState _caller; - }; - [_caller,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; -}; - -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _caller; -if !([5,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{hint "Action aborted. You moved away";}] call cse_fnc_gui_loadingBar) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; -CSE_ORIGINAL_POSITION_PLAYER_CMS = nil; - -if (CSE_AID_KIT_REMOVED_UPON_USAGE_CMS) then { - [_caller, _unit,_removeItem] call cse_fnc_useEquipment_CMS; -}; - -if (_prevAnim != "") then { - _caller switchMove _prevAnim; -}; - -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; - -if (!(_unit getvariable ["cms_isDead",false]) && alive _unit) then { - [[_unit,_caller], "cse_fnc_healLocal_CMS", _unit, false] spawn BIS_fnc_MP; -}; diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_isSetTreatmentMutex_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_isSetTreatmentMutex_CMS.sqf deleted file mode 100644 index 6d34ae3abd..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_isSetTreatmentMutex_CMS.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_isSetTreatmentMutex_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -if (isnil "CSE_PERFORMING_TREATMENT_CMS_MUTEX") then { - CSE_PERFORMING_TREATMENT_CMS_MUTEX = false; -}; - -CSE_PERFORMING_TREATMENT_CMS_MUTEX \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_ivLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_ivLocal_CMS.sqf deleted file mode 100644 index 8988dfd51c..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_ivLocal_CMS.sqf +++ /dev/null @@ -1,49 +0,0 @@ -/** - * fn_ivLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_treatingPerson","_injuredPerson","_selectionName","_removeItem","_attributes","_patient", "_value"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - - - -_attributes = switch (_removeItem) do { - case "cse_blood_iv": {["cse_bloodIVVolume",1000,"Blood IV"]}; - case "cse_saline_iv": {["cse_salineIVVolume",1000,"Saline IV"]}; - case "cse_plasma_iv": {["cse_plasmaIVVolume",1000,"Plasma IV"]}; - - case "cse_blood_iv_500": {["cse_bloodIVVolume",500,"Blood IV"]}; - case "cse_saline_iv_500": {["cse_salineIVVolume",500,"Saline IV"]}; - case "cse_plasma_iv_500": {["cse_plasmaIVVolume",500,"Plasma IV"]}; - - case "cse_blood_iv_250": {["cse_bloodIVVolume",250,"Blood IV"]}; - case "cse_saline_iv_250": {["cse_salineIVVolume",250,"Saline IV"]}; - case "cse_plasma_iv_250": {["cse_plasmaIVVolume",250,"Plasma IV"]}; - - default {[]}; -}; -if (count _attributes > 1) then { - - _value = [_injuredPerson,(_attributes select 0)] call cse_fnc_getVariable; - _value = _value + (_attributes select 1); - [format["Has given patient: %1",[_value, _attributes select 0, _attributes select 1]]] call cse_fnc_debug; - [_injuredPerson,(_attributes select 0),_value] call cse_fnc_setVariable; - [format["Confirm: %1",[_injuredPerson getvariable [_attributes select 0, 0], _injuredPerson]]] call cse_fnc_debug; - - _patient = "patient"; - if (_injuredPerson == _treatingPerson) then { - _patient = "himself"; - }; - [_injuredPerson,"treatment",format["%1 has given %4 a %2(%3ml)",[_treatingPerson] call cse_fnc_getName,_attributes select 2,_attributes select 1,_patient]] call cse_fnc_addActivityToLog_CMS; - [_injuredPerson,_removeItem] call cse_fnc_addToTriageList_CMS; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_iv_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_iv_CMS.sqf deleted file mode 100644 index d365c6400d..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_iv_CMS.sqf +++ /dev/null @@ -1,43 +0,0 @@ -/** - * fn_iv_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_treatingPerson","_injuredPerson","_selectionName","_removeItem","_attributes","_patient", "_continue", "_prevAnim"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_treatingPerson,"set"] call cse_fnc_treatmentMutex_CMS; - -if (!([_treatingPerson, _injuredPerson, _removeItem] call cse_fnc_hasEquipment_CMS)) exitwith { [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; }; - - -_prevAnim = ""; -if (vehicle _treatingPerson == _treatingPerson && (vehicle _injuredPerson == _injuredPerson) && !(stance _treatingPerson == "PRONE")) then { - if (primaryWeapon _treatingPerson == "") then { - _prevAnim = animationState _treatingPerson; - }; - [_treatingPerson,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; -}; -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _treatingPerson; -if !([5,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{hint "Action aborted. You moved away";}] call cse_fnc_gui_loadingBar) exitwith { - [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; -}; - -[_treatingPerson, _injuredPerson,_removeItem] call cse_fnc_useEquipment_CMS; -[_this, "cse_fnc_ivLocal_CMS", _injuredPerson, false] spawn BIS_fnc_MP; - -if (_prevAnim != "") then { - _treatingPerson switchMove _prevAnim; -}; - -[_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_medicationLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_medicationLocal_CMS.sqf deleted file mode 100644 index 51beb092ac..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_medicationLocal_CMS.sqf +++ /dev/null @@ -1,170 +0,0 @@ -/** - * fn_medicationLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_treatingPerson","_injuredPerson","_selectionName","_removeItem","_patient","_attributes","_value"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - -_attributes = switch (_removeItem) do { - case "cse_morphine": { - ["cse_givenMorphine",1,"Morphine"] - }; - case "cse_atropine": { - ["cse_givenAtropine",1,"Atropine"] - }; - case "cse_epinephrine": { - ["cse_givenEpinephrine",1,"Epinephrine"] - }; - case "cse_antiBiotics": { - [] - }; - default {[]}; -}; - -if (count _attributes > 1) then { - [_injuredPerson] spawn cse_fnc_unitLoop_CMS; - _value = [_injuredPerson,(_attributes select 0)] call cse_fnc_getVariable; - _value = _value + (_attributes select 1); - [_injuredPerson,(_attributes select 0),_value] call cse_fnc_setVariable; - - _patient = "patient"; - if (_injuredPerson == _treatingPerson) then { - _patient = "himself"; - }; - [_injuredPerson,"treatment",format["%1 has given %3 %2",[_treatingPerson] call cse_fnc_getName, (_attributes select 2),_patient]] call cse_fnc_addActivityToLog_CMS; -[_injuredPerson,_removeItem] call cse_fnc_addToTriageList_CMS; - - _usedMedication = { - private ["_injuredPerson","_var","_usedMed","_morphineUsed","_epiUsed","_atroUsed","_totalUsed"]; - _injuredPerson = _this select 0; - _var = _this select 1; - _overDose = 5; - _wearOff = 120; - - if (!alive _injuredPerson) exitwith{}; - if (count _this > 2) then { - _overDose = _this select 2; - if (count _this > 3) then { - _wearOff = _this select 3; - }; - }; - _usedMed = [_injuredPerson, _var, 0] call cse_fnc_getVariable; - if (isnil "_usedMed") then { - _usedMed = 0; - }; - if (_usedMed > (_overDose + round(random(2)))) then { - [_injuredPerson] spawn cse_fnc_setDead; - }; - - _morphineUsed = _injuredPerson getvariable ["cse_givenMorphine", 0]; - _epiUsed = _injuredPerson getvariable ["cse_givenEpinephrine", 0]; - _atroUsed = _injuredPerson getvariable ["cse_givenAtropine", 0]; - _totalUsed = _morphineUsed + _epiUsed + _atroUsed; - if (_totalUsed > 10) then { - [_injuredPerson] spawn cse_fnc_setDead; - }; - [_injuredPerson,_wearOff,_var] spawn { - sleep ((_this select 1) + (round(random(30)))); - _amountDecreased = 0; - _usedMed = [_this select 0, _this select 2] call cse_fnc_getVariable; - if (typeName _usedMed != typeName 0) then { - _usedMed = 0; - }; - while {(_usedMed > 0.000000 && _amountDecreased < 1.000000)} do { - _usedMed = ([_this select 0, _this select 2] call cse_fnc_getVariable); - if ( typeName _usedMed != typeName 0) then { - _usedMed = 0; - }; - [_this select 0, _this select 2,_usedMed - 0.001] call cse_fnc_setVariable; - _amountDecreased = _amountDecreased + 0.001; - sleep 1; - }; - }; - }; - - - switch (_removeItem) do { - case "cse_atropine": { - - _heartRate = [_injuredPerson, "cse_heartRate"] call cse_fnc_getVariable; - //_heartRate = [_injuredPerson, "cse_heartRate"] call cse_fnc_getVariable; - if (alive _injuredPerson) then { - if (_heartRate > 0) then { - if (_heartRate <= 40) then { - [_injuredPerson, -(10 + random(20)), 30] call cse_fnc_addHeartRateAdjustment_CMS; - }; - - if (_heartRate > 40) then { - if (_heartRate > 120) then { - [_injuredPerson, -(10 + random(50)), 30] call cse_fnc_addHeartRateAdjustment_CMS; - } else { - [_injuredPerson, -(10 + random(40)), 30] call cse_fnc_addHeartRateAdjustment_CMS; - }; - }; - }; - //[_injuredPerson, "cse_heartRate",_heartRate] call cse_fnc_setVariable; - [_injuredPerson,(_attributes select 0),5] call _usedMedication; - }; - }; - case "cse_epinephrine": { - _heartRate = [_injuredPerson, "cse_heartRate"] call cse_fnc_getVariable; - if (alive _injuredPerson) then { - if (_heartRate > 0) then { - if (_heartRate <= 40) then { - [_injuredPerson, (10 + random(20)), 30] call cse_fnc_addHeartRateAdjustment_CMS; - }; - - if (_heartRate > 40) then { - if (_heartRate > 120) then { - [_injuredPerson, (10 + random(50)), 30] call cse_fnc_addHeartRateAdjustment_CMS; - } else { - [_injuredPerson, (10 + random(40)), 30, {}] call cse_fnc_addHeartRateAdjustment_CMS; - }; - }; - }; - [_injuredPerson,(_attributes select 0),3] call _usedMedication; - }; - }; - case "cse_morphine": { - private ["_usedMorphine"]; - _pain = [_injuredPerson, "cse_pain"] call cse_fnc_getVariable; - _pain = 0; - //_pain = _pain - 35; - if (_pain <= 0) then { - _pain = 0; - }; - _heartRate = [_injuredPerson, "cse_heartRate"] call cse_fnc_getVariable; - [format["used morphine: %1",_heartRate]] call cse_fnc_debug; - if (alive _injuredPerson) then { - if (_heartRate > 0) then { - if (_heartRate <= 40) then { - [_injuredPerson, -(10 + random(20)), 40] call cse_fnc_addHeartRateAdjustment_CMS; - }; - if (_heartRate > 40) then { - if (_heartRate > 120) then { - [_injuredPerson, -(10 + random(50)), 40] call cse_fnc_addHeartRateAdjustment_CMS; - } else { - [_injuredPerson, -(10 + random(40)), 40] call cse_fnc_addHeartRateAdjustment_CMS; - }; - }; - }; - }; - [_injuredPerson, "cse_pain",_pain] call cse_fnc_setVariable; - [_injuredPerson,(_attributes select 0),4,120] call _usedMedication; - }; - default { - [format["default got triggered for medication. %1",_this]] call cse_fnc_debug; - }; - }; -}; -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_medication_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_medication_CMS.sqf deleted file mode 100644 index fe5030b527..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_medication_CMS.sqf +++ /dev/null @@ -1,62 +0,0 @@ -/** - * fn_medication_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_treatingPerson","_injuredPerson","_selectionName","_removeItem","_patient","_attributes","_value", "_prevAnim"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_treatingPerson,"set"] call cse_fnc_treatmentMutex_CMS; - -if (!([_treatingPerson, _injuredPerson, _removeItem] call cse_fnc_hasEquipment_CMS)) exitwith { [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; }; - - -_attributes = switch (_removeItem) do { - case "cse_morphine": { - ["cse_givenMorphine",1,"Morphine"] - }; - case "cse_atropine": { - ["cse_givenAtropine",1,"Atropine"] - }; - case "cse_epinephrine": { - ["cse_givenEpinephrine",1,"Epinephrine"] - }; - case "cse_antiBiotics": { - [] - }; - default {[]}; -}; - -if (count _attributes > 1) then { - _prevAnim = ""; - if (vehicle _treatingPerson == _treatingPerson && (vehicle _injuredPerson == _injuredPerson) && !(stance _treatingPerson == "PRONE")) then { - if (primaryWeapon _treatingPerson == "") then { - _prevAnim = animationState _treatingPerson; - }; - [_treatingPerson,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; - }; - - ["cse_sys_medical_treatment", true, "cse\cse_sys_medical\data\icons\medication_small.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; - - CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _treatingPerson; - if ([2,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{hint "Action aborted. You moved away";}] call cse_fnc_gui_loadingBar) then { - [_treatingPerson, _injuredPerson,_removeItem] call cse_fnc_useEquipment_CMS; - [_this, "cse_fnc_medicationLocal_CMS", _injuredPerson, false] spawn BIS_fnc_MP; - }; - - if (_prevAnim != "") then { - _treatingPerson switchMove _prevAnim; - }; - ["cse_sys_medical_treatment", false, "cse\cse_sys_medical\data\icons\medication_small.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon; -}; -[_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRLocal_CMS.sqf deleted file mode 100644 index f62975b15d..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRLocal_CMS.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_performCPRLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_caller","_unit"]; -_unit = _this select 0; -_caller = _this select 1; - -[_unit] call cse_fnc_unitLoop_CMS; -/*if (([_unit, "cse_heartRate"] call cse_fnc_getVariable) > 0) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; - [_caller,"No need for CPR"] call cse_fnc_sendHintTo; -};*/ - -if (vehicle _unit == _unit) then { - [_unit,"AinjPpneMstpSnonWrflDnon_rolltoback"] call cse_fnc_localAnim; -}; - -if (vehicle _caller == _caller) then { - //[_caller,"AinvPknlMstpSnonWrflDr_medic0"] call cse_fnc_broadcastAnim; - [_caller,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; -}; - -[_this, "cse_fnc_performCPRProvider_CMS", _caller, false] spawn BIS_fnc_MP; -_n = _unit getvariable ["CSE_ENABLE_REVIVE_COUNTER",0]; -if (_n > 0) then { - _n = _n - random(20); - if (_n < 0) then { - _n = 0; - }; - _unit setvariable ["CSE_ENABLE_REVIVE_COUNTER", _n]; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRProvider_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRProvider_CMS.sqf deleted file mode 100644 index 437b3fc786..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRProvider_CMS.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/** - * fn_performCPRProvider_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_caller","_unit","_timer","_succesValueCPR"]; -_unit = _this select 0; -_caller = _this select 1; - -cse_playerIsProvidingCPR_CMS = true; -_timer = 0; -_succesValueCPR = 0; - -[_caller,"You start providing CPR"] call cse_fnc_sendHintTo; - -while {cse_playerIsProvidingCPR_CMS} do { - // [_caller,"Acts_TreatingWounded01"] call cse_fnc_localAnim; - if (vehicle _caller == _caller) then { - _caller playMove "AinvPknlMstpSnonWrflDr_medic0"; - }; - sleep 0.1; - if (alive _unit) then { - if (random(10) > 6) then { - _succesValueCPR = _succesValueCPR + random(2); - } else { - _succesValueCPR = _succesValueCPR - random(1); - if (_succesValueCPR < 0) then { - _succesValueCPR = 0; - }; - }; - }; - _timer = _timer + 1; - sleep 0.1; - if (_succesValueCPR > 20 && ((_unit getvariable ["CSE_ENABLE_REVIVE_SETDEAD_F",0]) == 0)) exitwith { - _succesValueCPR = 40; - }; - if (_succesValueCPR > 35 && ((_unit getvariable ["CSE_ENABLE_REVIVE_SETDEAD_F",0]) > 0)) exitwith { - _succesValueCPR = 40; - }; - - if (_timer > 160) exitwith{_succesValueCPR = 0;}; -}; -cse_playerIsProvidingCPR_CMS = nil; -if (vehicle _caller == _caller) then { - [_caller,"AinvPknlMstpSnonWrflDnon_medicEnd"] call cse_fnc_localAnim; -}; - -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; -if (_succesValueCPR > 20 && alive _unit) then { - _unit setvariable ["cse_cardiacArrest_CMS", nil, true]; - [_caller,"CPR Success"] call cse_fnc_sendHintTo; - [_this, "cse_fnc_performCPRSuccess_CMS", _unit, false] spawn BIS_fnc_MP; -} else { - [_caller,"You stopped giving CPR"] call cse_fnc_sendHintTo; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRSuccess_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRSuccess_CMS.sqf deleted file mode 100644 index 9544d6b4e1..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPRSuccess_CMS.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_performCPRSuccess_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_caller","_unit"]; -_unit = _this select 0; -_caller = _this select 1; - -[_unit, "cse_heartRate",40] call cse_fnc_setVariable; -[_unit, "cse_bloodPressure",[50,70]] call cse_fnc_setVariable; - -// setting this to waken up unconscious revivable units -[_unit, "CSE_ENABLE_REVIVE_SETDEAD_F", 0] call cse_fnc_setVariable; -[_unit, "CSE_ENABLE_REVIVE_COUNTER", 0] call cse_fnc_setVariable; diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPR_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPR_CMS.sqf deleted file mode 100644 index 8d152dda83..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performCPR_CMS.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/** - * fn_performCPR_CMS.sqf - * @Descr: Start the CPR action from CMS. Caller unit will attempt to restart the targets heart using CPR. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (The unit that cPR will be performed upon), caller OBJECT (The unit that does the CPR action)] - * @Return: void - * @PublicAPI: true - */ - - -private ["_caller","_unit"]; -_unit = _this select 0; -_caller = _this select 1; -if (isnil "cse_playerIsProvidingCPR_CMS") then { - cse_playerIsProvidingCPR_CMS = false; -}; - -[_this] call cse_Fnc_Debug; -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {cse_playerIsProvidingCPR_CMS = false;}; -[_caller] call cse_fnc_treatmentMutex_CMS; - -if (cse_playerIsProvidingCPR_CMS) exitwith { - [_caller,"You are already providing CPR"] call cse_fnc_sendHintTo; - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; - cse_playerIsProvidingCPR_CMS = false; // stop giving CPR -}; - -if (_unit == _caller) exitwith{[_caller,"You cannot give yourself CPR"] call cse_fnc_sendHintTo; [_caller,"release"] call cse_fnc_treatmentMutex_CMS;}; - - //_name = _unit getvariable ["cse_nameUnit",[_unit] call cse_fnc_getName]; -[_caller,"You start providing CPR"] call cse_fnc_sendHintTo; - -[_this, "cse_fnc_performCPRLocal_CMS", _unit, false] spawn BIS_fnc_MP; diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performStitching_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_performStitching_CMS.sqf deleted file mode 100644 index 1389858e8c..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performStitching_CMS.sqf +++ /dev/null @@ -1,83 +0,0 @@ -/** - * fn_performStitching_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define WAITING_TIME_SMALL 2.5 -#define WAITING_TIME_MEDIUM 3.5 -#define WAITING_TIME_LARGE 4.5 - -#define WAITING_TIMES_WOUNDS [WAITING_TIME_SMALL, WAITING_TIME_MEDIUM, WAITING_TIME_LARGE] - -private ["_injuredPerson", "_treatingPerson", "_selectionName", "_removeItem", "_prevAnim", "_bandagedWounds", "_bodyPartN", "_allWounds", "_totalWoundsCount", "_totalTime", "_startTimeOfStitching", "_indexStitch", "_woundstoStitchOf", "_afterStitchingWoundsCount", "_waitingTime", "_i", "_startTime", "_messageSend"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - -if (!([_treatingPerson, _injuredPerson, _removeItem] call cse_fnc_hasEquipment_CMS)) exitwith {}; -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_treatingPerson,"set"] call cse_fnc_treatmentMutex_CMS; - -[_treatingPerson,"STR_CSE_CMS_STITCHING","STR_CSE_CMS_START_STITCHING_INJURIES", 0, [[_injuredPerson] call cse_fnc_getName,_selectionName]] call cse_fnc_sendDisplayMessageTo; - - -_prevAnim = ""; -if (vehicle _treatingPerson == _treatingPerson && (vehicle _injuredPerson == _injuredPerson)) then { - if (primaryWeapon _treatingPerson == "") then { - _prevAnim = animationState _treatingPerson; - }; - [_treatingPerson,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; -}; -_bandagedWounds = [_injuredPerson,"cse_bandagedWounds"] call cse_fnc_getVariable; -_bodyPartN = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; - -_allWounds = _bandagedWounds select _bodyPartN; -_totalWoundsCount = (_allWounds select 0) + (_allWounds select 1) + (_allWounds select 2); -_totalTime = ((_allWounds select 0) * 2.5) + ((_allWounds select 1) * 3.5) + ((_allWounds select 2) * 4.5); - -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _treatingPerson; -CSE_CONDITION_STITCHING_CMS = {((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}; -CSE_RUNNING_STITCHING_CMS = true; - -_startTimeOfStitching = diag_tickTime; -_totalTime spawn { - CSE_RUNNING_STITCHING_CMS = [_this, CSE_CONDITION_STITCHING_CMS, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar; -}; - -_indexStitch = 0; -while {CSE_RUNNING_STITCHING_CMS && _indexStitch < 3} do { - _woundstoStitchOf = _allWounds select _indexStitch; - _afterStitchingWoundsCount = _woundstoStitchOf; - _waitingTime = WAITING_TIMES_WOUNDS select _indexStitch; - - for [{_i=0}, {_i< (ceil _woundstoStitchOf)}, {_i=_i+1}] do { - _startTime = diag_tickTime; - waitUntil {(diag_tickTime - _startTime > _waitingTime) || !CSE_RUNNING_STITCHING_CMS}; - if (CSE_RUNNING_STITCHING_CMS) then { - // TODO play sound - _afterStitchingWoundsCount = _afterStitchingWoundsCount - 1; - }; - }; - - if (_afterStitchingWoundsCount < 0) then { - _afterStitchingWoundsCount = 0; - }; - _allWounds set [_indexStitch, _afterStitchingWoundsCount]; - _indexStitch = _indexStitch + 1; -}; -_bandagedWounds set [_bodyPartN, _allWounds]; -[_injuredPerson, "cse_bandagedWounds", _bandagedWounds] call cse_fnc_setVariable; - -[_injuredPerson,"treatment",format["%1 has stitched up some bandages wounds",[_treatingPerson] call cse_fnc_getName]] call cse_fnc_addActivityToLog_CMS; - -if (_prevAnim != "") then { - _treatingPerson switchMove _prevAnim; -}; - -[_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performTreatment_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_performTreatment_CMS.sqf deleted file mode 100644 index 323fec5ee9..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_performTreatment_CMS.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/** - * fn_performTreatment_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_unit","_caller","_treatment","_removeOnSuccess","_params"]; -_caller = _this select 0; -_unit = _this select 1; -_treatment = _this select 2; -_removeOnSuccess = _this select 3; - -CMS_PERFORMING_TREATMENT = true; -if (!isnil "_removeOnSuccess") then { - - if (([_caller,_removeOnSuccess] call cse_fnc_hasMagazine)) then { - _params = [_unit,_caller, (call cse_fnc_getSelectedBodyPart_CMS),_removeOnSuccess]; - [_params, _treatment, _unit, false] spawn BIS_fnc_MP; - }; - [//-1, cms_fnc_clutter, [_unit, _removeOnSuccess]] call CBA_fnc_globalExecute; -}; -call cms_ui_hideSubMenus; -// waituntil {(!CMS_PERFORMING_TREATMENT || time>5 seconds)}; -//sleep 5; -CMS_PERFORMING_TREATMENT = false; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_removeTourniquet_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_removeTourniquet_CMS.sqf deleted file mode 100644 index 90e23877cb..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_removeTourniquet_CMS.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/** - * fn_removeTourniquet_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_caller","_unit","_part","_selectionName","_removeItem","_tourniquets"]; -_unit = _this select 0; -_caller = _this select 1; -_selectionName = _this select 2; - -[_caller,"You attempt to remove a tourniquet"] call cse_fnc_sendHintTo; -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {["MUTEX HAS BEEN SET - EXITING"] call cse_fnc_debug;}; - [_caller,"set"] call cse_fnc_treatmentMutex_CMS; - - -if !([_unit, _selectionName] call cse_fnc_hasTourniquetAppliedTo_CMS) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; - [_caller,"There is no tourniquet on this body part!"] call cse_fnc_sendHintTo; -}; - -if (vehicle _caller == _caller && (vehicle _unit == _unit)) then { - [_caller,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; -}; -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _caller; -if !([5,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{hint "Action aborted. You moved away";}] call cse_fnc_gui_loadingBar) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; -_part = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; -_tourniquets = [_unit,"cse_tourniquets"] call cse_fnc_getVariable; -_tourniquets set[_part,0]; -[_unit,"cse_tourniquets",_tourniquets] call cse_fnc_setVariable; - -_caller addMagazine "cse_tourniquet"; -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; - -[_unit,"treatment",format["%1 removed a tourniquet on %2",[_caller] call cse_fnc_getName,_selectionName]] call cse_fnc_addActivityToLog_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_tourniquetLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_tourniquetLocal_CMS.sqf deleted file mode 100644 index dce56d6175..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_tourniquetLocal_CMS.sqf +++ /dev/null @@ -1,52 +0,0 @@ -/** - * fn_tourniquetLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_treatingPerson","_injuredPerson","_selectionName","_removeItem"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - - [_injuredPerson,"treatment",format["%1 applied a tourniquet on %2",[_treatingPerson] call cse_fnc_getName,_selectionName]] call cse_fnc_addActivityToLog_CMS; - [_injuredPerson,_removeItem] call cse_fnc_addToTriageList_CMS; - [_injuredPerson] spawn cse_fnc_unitLoop_CMS; - _part = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; - _tourniquets = [_injuredPerson,"cse_tourniquets"] call cse_fnc_getVariable; - _applyingTo = (_tourniquets select _part) +1 + round(random(100)); - _tourniquets set[_part,_applyingTo]; - [_injuredPerson,"cse_tourniquets",_tourniquets] call cse_fnc_setVariable; - - [_injuredPerson,_part,_applyingTo] spawn { - private ["_injuredPerson","_part","_tourniquets","_appliedTo","_totalAmountOfPainAdded"]; - _injuredPerson = _this select 0; - _part = _this select 1; - _key = _this select 2; - sleep 300 + (random(1800)); - _tourniquets = [_injuredPerson,"cse_tourniquets"] call cse_fnc_getVariable; - _totalAmountOfPainAdded = 0; - while {((_tourniquets select _part) == _key)} do { - // increase pain level - _pain = [_injuredPerson, "cse_pain"] call cse_fnc_getVariable; - _pain = _pain + 0.005; - _totalAmountOfPainAdded = _totalAmountOfPainAdded + 0.005; - [_injuredPerson, "cse_pain",_pain] call cse_fnc_setVariable; - sleep 5; - }; - - _pain = [_injuredPerson, "cse_pain"] call cse_fnc_getVariable; - if (_pain < _totalAmountOfPainAdded) then { - _pain = 0; - } else { - _pain = _pain - _totalAmountOfPainAdded; - }; - [_injuredPerson, "cse_pain",_pain] call cse_fnc_setVariable; - }; -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_tourniquet_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_tourniquet_CMS.sqf deleted file mode 100644 index f71b0a32ff..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_tourniquet_CMS.sqf +++ /dev/null @@ -1,47 +0,0 @@ -/** - * fn_tourniquet_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_caller","_unit","_part","_selectionName","_removeItem", "_tourniquets", "_continue"]; -_unit = _this select 0; -_caller = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; -[_caller,"You attempt to apply a tourniquet"] call cse_fnc_sendHintTo; - -if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; -[_caller,"set"] call cse_fnc_treatmentMutex_CMS; -if (!([_caller, _unit, _removeItem] call cse_fnc_hasEquipment_CMS)) exitwith { [_caller,"release"] call cse_fnc_treatmentMutex_CMS; }; - -_part = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; -if (_part == 0 || _part == 1) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; - [_caller,"You cannot apply a CAT on this body part!"] call cse_fnc_sendHintTo; -}; - -_tourniquets = [_unit,"cse_tourniquets"] call cse_fnc_getVariable; -if ((_tourniquets select _part) >0) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; - [_caller,"There is already a tourniquet on this body part!"] call cse_fnc_sendHintTo; -}; - -if (vehicle _caller == _caller && (vehicle _unit == _unit) && !(stance _caller == "PRONE")) then { - [_caller,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; -}; -CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _caller; -if !([5,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{hint "Action aborted. You moved away";}] call cse_fnc_gui_loadingBar) exitwith { - [_caller,"release"] call cse_fnc_treatmentMutex_CMS; -}; -["Now uses the magazine"] call cse_fnc_debug; -[_caller, _unit,_removeItem] call cse_fnc_useEquipment_CMS; - -[_this, "cse_fnc_tourniquetLocal_CMS", _unit, false] spawn BIS_fnc_MP; -[_caller,"release"] call cse_fnc_treatmentMutex_CMS; -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentAirwayLocal_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentAirwayLocal_CMS.sqf deleted file mode 100644 index df79d5fa45..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentAirwayLocal_CMS.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_treatmentAirwayLocal_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_treatingPerson","_injuredPerson","_part","_selectionName","_openWounds","_woundsArray","_highest_amount","_highestSpot","_collectiveImpact", "_highestTotal","_totalNumber"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; -if (!local _injuredPerson) exitwith{["cse_fnc_treatmentAirwayLocal_CMS called on non local machine",3] call cse_fnc_debug; }; -[_injuredPerson] spawn cse_fnc_unitLoop_CMS; -if (_treatingPerson == _injuredPerson) exitwith {}; - - -[_injuredPerson,"STR_CSE_CMS_AIRWAY","STR_CSE_CMS_IS_TREATING_YOUR_AIRWAY",0, [([_treatingPerson] call cse_fnc_getName)]] call cse_fnc_sendDisplayMessageTo; -[_injuredPerson,_removeItem] call cse_fnc_addToTriageList_CMS; - -_airwayStatus = [_injuredPerson,"cse_airway"] call cse_fnc_getVariable; -if (_airwayStatus > 0) then { - if (!([_treatingPerson] call cse_fnc_medicClass_CMS)) then { - _injuredPerson setvariable ["cse_airwayTreated", true, true]; - // [_injuredPerson,"cse_airway", _airwayStatus - 1] call cse_fnc_getVariable; - - } else { - if (random (1) > 0.35) then { - _injuredPerson setvariable ["cse_airwayTreated", true, true]; - // [_injuredPerson,"cse_airway", _airwayStatus - 1] call cse_fnc_getVariable; - } else { - [_injuredPerson] call cse_fnc_setDead_CMS; - }; - }; -}; -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentAirway_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentAirway_CMS.sqf deleted file mode 100644 index 8dd5730b8b..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentAirway_CMS.sqf +++ /dev/null @@ -1,45 +0,0 @@ -/** - * fn_treatmentAirway_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_treatingPerson","_injuredPerson","_part","_selectionName","_openWounds","_woundsArray","_highest_amount","_highestSpot"]; -_injuredPerson = _this select 0; -_treatingPerson = _this select 1; -_selectionName = _this select 2; -_removeItem = _this select 3; - -[format["Treatment Airway: %1",_this]] call cse_fnc_debug; - -_part = [_selectionName] call cse_fnc_getBodyPartNumber_CMS; -if (_part == 0 || _part == 1) then { - if (call cse_fnc_isSetTreatmentMutex_CMS) exitwith {}; - [_treatingPerson] call cse_fnc_treatmentMutex_CMS; - if (!([_treatingPerson, _injuredPerson, _removeItem] call cse_fnc_hasEquipment_CMS)) exitwith { [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; }; - - [_treatingPerson, _injuredPerson,_removeItem] call cse_fnc_useEquipment_CMS; - - if (vehicle _treatingPerson == _treatingPerson && (vehicle _injuredPerson == _injuredPerson)) then { - [_treatingPerson,"AinvPknlMstpSlayWrflDnon_medic"] call cse_fnc_localAnim; - }; - _name = [_injuredPerson] call cse_fnc_getName; - - [_treatingPerson,"STR_CSE_CMS_AIRWAY","STR_CSE_CMS_YOU_TREAT_AIRWAY", 0, [_name]] call cse_fnc_sendDisplayMessageTo; - - CSE_ORIGINAL_POSITION_PLAYER_CMS = getPos _treatingPerson; - if !([5,{((vehicle player != player) ||((getPos player) distance CSE_ORIGINAL_POSITION_PLAYER_CMS) < 1)}, {},{[player, "STR_CSE_CMS_CANCELED", ["STR_CSE_CMS_ACTION_CANCELED","STR_CSE_CMS_YOU_MOVED_AWAY"]] call cse_fnc_sendDisplayInformationTo;}] call cse_fnc_gui_loadingBar) exitwith { - [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; - }; - - [_this, "cse_fnc_treatmentAirwayLocal_CMS", _injuredPerson, false] spawn BIS_fnc_MP; - [_treatingPerson,"release"] call cse_fnc_treatmentMutex_CMS; -} else { - hintSilent "Cannot apply item on this body part"; -}; -true \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentMutex_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentMutex_CMS.sqf deleted file mode 100644 index 82c0cd4d10..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_treatmentMutex_CMS.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/** - * fn_treatmentMutex_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [client OBJECT, action STRING ("release" releases the mutex if it has been set. "set" for setting the mutex)] - * @Return: void - * @PublicAPI: false - */ - -private ["_client","_action"]; -_client = _this select 0; - -if (!local _client) exitwith { - [_this, "cse_fnc_treatmentMutex_CMS", _client, false] spawn BIS_fnc_MP; -}; -if (isnil "CSE_PERFORMING_TREATMENT_CMS_MUTEX") then { - CSE_PERFORMING_TREATMENT_CMS_MUTEX = false; -}; -if (count _this > 1) exitwith { - _action = _this select 1; - if (_action == "release" || _action == "RELEASE") then { - ["RELEASING TREATMENT MUTEX"] call cse_fnc_debug; - CSE_PERFORMING_TREATMENT_CMS_MUTEX = false; - } else { - waituntil {!CSE_PERFORMING_TREATMENT_CMS_MUTEX}; - CSE_PERFORMING_TREATMENT_CMS_MUTEX = true; - ["SETTING TREATMENT MUTEX 2"] call cse_fnc_debug; - }; -}; -waituntil {!CSE_PERFORMING_TREATMENT_CMS_MUTEX}; -CSE_PERFORMING_TREATMENT_CMS_MUTEX = true; -["SETTING TREATMENT MUTEX 1"] call cse_fnc_debug; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/treatment/fn_useEquipment_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/treatment/fn_useEquipment_CMS.sqf deleted file mode 100644 index 65c6e99625..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/treatment/fn_useEquipment_CMS.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/** - * fn_useEquipment_CMS.sqf - * @Descr: Use Equipment if any is available. Priority: 1) Medic, 2) Patient. If in vehicle: 3) Crew - * @Author: Glowbal - * - * @Arguments: [medic OBJECT, patient OBJECT, item STRING (ClassName of magazine item)] - * @Return: BOOL - * @PublicAPI: true - */ - -private ["_medic", "_patient", "_item", "_return","_crew"]; -_medic = _this select 0; -_patient = _this select 1; -_item = _this select 2; - -if (isnil "CSE_ALLOW_SHARED_EQUIPMENT_CMS") then { - CSE_ALLOW_SHARED_EQUIPMENT_CMS = true; -}; - -if (CSE_ALLOW_SHARED_EQUIPMENT_CMS && {[_patient, _item] call cse_fnc_hasItem}) exitwith { - [[_patient, _item], "cse_fnc_useItem", _patient] call BIS_fnc_MP; - true; -}; - -if ([_medic, _item] call cse_fnc_hasItem) exitwith { - [[_medic, _item], "cse_fnc_useItem", _medic] call BIS_fnc_MP; - true; -}; - -_return = false; -if ([vehicle _medic] call cse_fnc_isMedicalVehicle_CMS && {vehicle _medic != _medic}) then { - _crew = crew vehicle _medic; - { - if ([_x, _medic] call cse_fnc_canAccessMedicalEquipment_CMS && {([_x, _item] call cse_fnc_hasItem)}) exitwith { - _return = true; - [[_x, _item], "cse_fnc_useItem", _x] call BIS_fnc_MP; - }; - }foreach _crew; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/triage/fn_addToTriageList_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/triage/fn_addToTriageList_CMS.sqf deleted file mode 100644 index 0d3afb17bb..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/triage/fn_addToTriageList_CMS.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/** - * fn_addToTriageList_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_caller","_type","_activity","_log"]; -_unit = _this select 0; -_newItem = _this select 1; - -if (!local _unit) exitwith { - [_this, "cse_fnc_addToTriageList_CMS", _unit, false] spawn BIS_fnc_MP; -}; - -_log = [_unit,"cse_triageCard"] call cse_fnc_getVariable; -_inList = false; -_counter = 0; -{ - if ((_x select 0) == _newItem) exitwith { - _info = _log select _counter; - _info set [1,(_info select 1) + 1]; - _log set [ _counter, _info]; - _inList = true; - }; - _counter = _counter + 1; -}foreach _log; -if (!_inList) then { - _log pushback [_newItem,1]; -}; -[_unit,"cse_triageCard",_log] call cse_fnc_setVariable; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/triage/fn_getTriageList_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/triage/fn_getTriageList_CMS.sqf deleted file mode 100644 index e0bca66e81..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/triage/fn_getTriageList_CMS.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/** - * fn_getTriageList_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private["_unit"]; -_unit = _this select 0; -_log = [_unit,"cse_triageCard"] call cse_fnc_getVariable; -if (isnil "_log") then { - _log = []; -}; -if (typeName _log != typeName []) then { - _log = []; -}; -_log diff --git a/TO_MERGE/cse/sys_medical/functions/triage/fn_getTriageStatus_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/triage/fn_getTriageStatus_CMS.sqf deleted file mode 100644 index d1c3c63029..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/triage/fn_getTriageStatus_CMS.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_getTriageStatus_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_return","_status"]; -_unit = _this select 0; -//_status = [_unit,"cse_triageLevel"] call cse_fnc_getVariable; - _status = _unit getvariable ["cse_triageLevel", -1]; - -_return = switch (_status) do { - case 0: {["None",0,[0,0,0,0.7]]}; // none - case 1: {["Minor",1,[0,0.5,0,0.7]]}; - case 2: {["Delayed",2,[0.77,0.51,0.08,0.7]]}; - case 3: {["Immediate",3,[1,0.2,0.2,0.7]]}; - case 4: {["Deceased",4,[0,0,0,0.7]]}; - default {["None",0,[0,0,0,0.7]]}; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/triage/fn_setTriageStatus_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/triage/fn_setTriageStatus_CMS.sqf deleted file mode 100644 index 1ed3564e89..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/triage/fn_setTriageStatus_CMS.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_setTriageStatus_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_caller","_type","_activity","_status"]; - -_unit = _this select 0; -_status = _this select 1; - -if (!local _unit) exitwith { - [_this, "cse_fnc_setTriageStatus_CMS", _unit, false] spawn BIS_fnc_MP; -}; -[_unit,"cse_triageLevel",_status] call cse_fnc_setVariable; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_displayOptions_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_displayOptions_CMS.sqf deleted file mode 100644 index a5df521c7d..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_displayOptions_CMS.sqf +++ /dev/null @@ -1,92 +0,0 @@ -/** - * fn_displayOptions_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_IDC 20 -#define END_IDC 27 -#define AMOUNT_OF_ENTRIES (count _entries) - -private ["_name","_entries","_display","_newTarget","_counter","_card","_ctrl","_code"]; -_name = _this select 0; -if (isDedicated) exitwith{}; -_entries = switch (_name) do { - case "advanced": {[_name] call cse_fnc_getAdvancedOptions_CMS}; - case "examine": {[_name] call cse_fnc_getExamineOptions_CMS}; - case "bandage": {[_name] call cse_fnc_getBandageOptions_CMS}; - case "medication": {[_name] call cse_fnc_getMedicationOptions_CMS}; - case "airway": {[_name] call cse_fnc_getAirwayOptions_CMS}; - case "triage": {[_name] call cse_fnc_getTriageCardOptions_CMS}; - case "drag": {[_name] call cse_fnc_getDragOptions_CMS}; - case "toggle": {[_name] call cse_fnc_getToggleOptions_CMS}; - default {[]}; -}; - -disableSerialization; -_display = uiNamespace getVariable 'cse_sys_medicalMenu'; -if ((_name == "toggle")) exitwith { - - if (CSE_SYS_MEDICAL_INTERACTION_TARGET != player) then { - _newTarget = player; - } else { - _newTarget = CSE_SYS_MEDICAL_INTERACTION_TARGET_PREVIOUS; - }; - - CSE_SYS_MEDICAL_INTERACTION_TARGET_PREVIOUS = CSE_SYS_MEDICAL_INTERACTION_TARGET; - [_newTarget] spawn { - closeDialog 0; - sleep 0.1; - [_this select 0] call cse_fnc_openMenu_CMS; - }; -}; - -CSE_LATEST_DISPLAY_OPTION_MENU_CMS = _name; -lbClear 212; -if (_name == "triage") then { - ctrlEnable[212,true]; - _card = ([CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_getTriageList_CMS); - { - lbadd[212,format["%1 x%2",getText(configFile >> "CfgMagazines" >> (_x select 0) >> "displayName"),_x select 1]]; - }foreach _card; - if (count _card == 0) then { - lbadd[212,"No Entries"]; - }; -} else { - ctrlEnable[212,false]; -}; - - -for [{_x=START_IDC},{_x <= END_IDC},{_x=_x+1}] do { - _ctrl = (_display displayCtrl (_x)); - _ctrl ctrlSetText ""; - //_ctrl ctrlSetPosition[-100,-100]; - _ctrl ctrlShow false; - _ctrl ctrlSetEventHandler ["ButtonClick",""]; - _ctrl ctrlSetTooltip ""; - _ctrl ctrlCommit 0; - -}; - -{ - //player sidechat format["TRIGGERED: %1",_x]; - if (_foreachIndex > END_IDC) exitwith {}; - _ctrl = (_display displayCtrl (START_IDC + _foreachIndex)); - if (!(_foreachIndex > AMOUNT_OF_ENTRIES)) then { - _ctrl ctrlSetText (_x select 0); - _code = format["[CSE_SYS_MEDICAL_INTERACTION_TARGET,PLAYER] spawn { %1 };",(_x select 1),CSE_SYS_MEDICAL_INTERACTION_TARGET,player]; - _ctrl ctrlSetEventHandler ["ButtonClick", _code]; - _ctrl ctrlSetTooltip (_x select 2); - _ctrl ctrlShow true; - } else { - _ctrl ctrlSetText ""; - _ctrl ctrlSetEventHandler ["ButtonClick",""]; - }; - _ctrl ctrlCommit 0; -}foreach _entries; - -[] call cse_fnc_updateIcons_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_dropDownTriageCard_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_dropDownTriageCard_CMS.sqf deleted file mode 100644 index 7392e0d818..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_dropDownTriageCard_CMS.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/** - * fn_dropDownTriageCard_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_display","_pos","_ctrl","_curPos","_idc"]; -disableSerialization; -_display = uiNamespace getVariable 'cse_sys_medicalMenu'; -_pos = [ 0,0,0,0]; -_curPos = ctrlPosition (_display displayCtrl 2002); -if ((_curPos select 0) == 0 && (_curPos select 1) == 0) then { - _pos = ctrlPosition (_display displayCtrl 2001); -}; - -for "_idc" from 2002 to 2006 step 1 do -{ - _pos set [1, (_pos select 1) + (_pos select 3)]; - _ctrl = (_display displayCtrl _idc); - _ctrl ctrlSetPosition _pos; - _ctrl ctrlCommit 0; -}; - diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_getCurrentSelectedInjuryData_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_getCurrentSelectedInjuryData_CMS.sqf deleted file mode 100644 index bc2f6e74f3..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_getCurrentSelectedInjuryData_CMS.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/** - * fn_getCurrentSelectedInjuryData_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return", "_current"]; - -_return = ""; -if (dialog) then { - _current = lbCurSel 213; - _return = lbData [213,_current]; -}; -_return; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_onMenuOpen_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_onMenuOpen_CMS.sqf deleted file mode 100644 index 74aaef6d10..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_onMenuOpen_CMS.sqf +++ /dev/null @@ -1,67 +0,0 @@ -/** - * fn_onMenuOpen_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -if (isnil "CSE_LATEST_DISPLAY_OPTION_MENU_CMS") then { - CSE_LATEST_DISPLAY_OPTION_MENU_CMS = "triage"; -} else { - if (CSE_LATEST_DISPLAY_OPTION_MENU_CMS == "toggle") then { - CSE_LATEST_DISPLAY_OPTION_MENU_CMS = "triage"; - CSE_SYS_MEDICAL_INTERACTION_TARGET = CSE_SYS_MEDICAL_INTERACTION_TARGET_PREVIOUS; - }; -}; - -private ["_display","_target"]; -_target = CSE_SYS_MEDICAL_INTERACTION_TARGET; -CSE_SYS_MEDICAL_INTERACTION_TARGET = _target; -if (isnil "CSE_SYS_MEDICAL_INTERACTION_TARGET_PREVIOUS") then { - CSE_SYS_MEDICAL_INTERACTION_TARGET_PREVIOUS = _target; -}; -[CSE_LATEST_DISPLAY_OPTION_MENU_CMS] call cse_fnc_displayOptions_CMS; - -[] call cse_fnc_updateActivityLog_CMS; -[_target] call cse_fnc_updateUIInfo_CMS; - -// 11 till 18 -disableSerialization; -_display = uiNamespace getVariable 'cse_sys_medicalMenu'; -(_display displayCtrl 11) ctrlSetTooltip localize "STR_CSE_UI_VIEW_TRIAGE_CARD"; -(_display displayCtrl 12) ctrlSetTooltip localize "STR_CSE_UI_EXAMINE_PATIENT"; -(_display displayCtrl 13) ctrlSetTooltip localize "STR_CSE_UI_BANDAGE_FRACTURES"; -(_display displayCtrl 14) ctrlSetTooltip localize "STR_CSE_UI_MEDICATION"; -(_display displayCtrl 15) ctrlSetTooltip localize "STR_CSE_UI_AIRWAY_MANAGEMENT"; -(_display displayCtrl 16) ctrlSetTooltip localize "STR_CSE_UI_ADVANCED_TREATMENT"; -(_display displayCtrl 17) ctrlSetTooltip localize "STR_CSE_UI_DRAG_CARRY"; -(_display displayCtrl 18) ctrlSetTooltip localize "STR_CSE_UI_TOGGLE_SELF"; - -(_display displayCtrl 301) ctrlSetTooltip localize "STR_CSE_UI_SELECT_HEAD"; -(_display displayCtrl 302) ctrlSetTooltip localize "STR_CSE_UI_SELECT_TORSO"; -(_display displayCtrl 303) ctrlSetTooltip localize "STR_CSE_UI_SELECT_ARM_R"; -(_display displayCtrl 304) ctrlSetTooltip localize "STR_CSE_UI_SELECT_ARM_L"; -(_display displayCtrl 305) ctrlSetTooltip localize "STR_CSE_UI_SELECT_LEG_R"; -(_display displayCtrl 306) ctrlSetTooltip localize "STR_CSE_UI_SELECT_LEG_L"; -//if (_target != player) then { - (_display displayCtrl 2001) ctrlSetTooltip localize "STR_CSE_UI_SELECT_TRIAGE_STATUS"; -//}; -(_display displayCtrl 1) ctrlSetText format["%1",[_target] call cse_fnc_getName]; -setMousePosition [ 0.4, 0.4]; - -["cse_onMenuOpen_CMS", "onEachFrame", { - _display = _this select 0; - if (isNull CSE_SYS_MEDICAL_INTERACTION_TARGET) then { - CSE_SYS_MEDICAL_INTERACTION_TARGET = player; - }; - [CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_updateUIInfo_CMS; - [] call cse_fnc_updateActivityLog_CMS; - [CSE_LATEST_DISPLAY_OPTION_MENU_CMS] call cse_fnc_displayOptions_CMS; - _status = [CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_getTriageStatus_CMS; - (_display displayCtrl 2000) ctrlSetText (_status select 0); - (_display displayCtrl 2000) ctrlSetBackgroundColor (_status select 2); - - }, [_display]] call BIS_fnc_addStackedEventHandler; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_openMenu_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_openMenu_CMS.sqf deleted file mode 100644 index 14808565ed..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_openMenu_CMS.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/** - * fn_openMenu_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_interactionTarget"]; -_interactionTarget = objNull; -if (count _this > 0) then { - _interactionTarget = _this select 0; - -} else { - _interactionTarget = cursortarget; - if (isNull _interactionTarget) then { - _interactionTarget = player; - }; - if (_interactionTarget distance player > 5 || !(_interactionTarget isKindOf "CaManBase")) then { - _interactionTarget = player; - }; -}; - -if (isNull _interactionTarget) then { // _interactionTarget undefined here. WTF? - _interactionTarget = player; -}; - -[format["INTERACTION WITH: %1",_interactionTarget]] call cse_fnc_Debug; -[player,_interactionTarget] call cse_fnc_registerInteractingWith; -CSE_SYS_MEDICAL_INTERACTION_TARGET = _interactionTarget; -createDialog "cse_sys_medicalMenu"; -//[player,"release"] call cse_fnc_treatmentMutex_CMS; // Do we want to force release the treatment event, to prefent deadlock within the CMS Module? - -[_interactionTarget] spawn { - waituntil {sleep 0.1; !dialog}; - [player,_this select 0] call cse_fnc_unregisterInteractingWith; -}; diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateActivityLog_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_updateActivityLog_CMS.sqf deleted file mode 100644 index 2b65b5e630..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateActivityLog_CMS.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/** - * fn_updateActivityLog_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -[] spawn { - _log = [CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_getActivityLog_CMS; - _counter = 0; - lbclear 214; - { - - //[_caller,_moment,_activity,_type] - lbadd[214, _x select 1]; // moment - lbadd[214, _x select 0]; // name, caller - //lbadd[214, _x select 2]; // activity - lbSetData [214,_counter,_x select 2]; - - _counter = _counter + 1; - }foreach _log; - if (count _log < 1) then { - lbadd[214, "No Activity recorded.."]; - lbadd[214, ""]; - }; - - _log = [CSE_SYS_MEDICAL_INTERACTION_TARGET] call cse_fnc_getQuickViewLog_CMS; - _counter = 0; - lbclear 215; - { - - //[_caller,_moment,_activity,_type] - lbadd[215, _x select 1]; // moment - lbadd[215, _x select 0]; // name, caller - lbSetData [215,_counter,_x select 2]; - _counter = _counter + 1; - }foreach _log; - if (count _log < 1) then { - lbadd[215, "No Data recorded.."]; - lbadd[215, ""]; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateBodyImg_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_updateBodyImg_CMS.sqf deleted file mode 100644 index 4b61cfacc3..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateBodyImg_CMS.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/** - * fn_updateBodyImg_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit", "_interactionDialog", "_openWounds", "_part", "_total", "_amountOfWoundsSmall", "_amountOfWoundsMedium", "_amountOfWoundsLarge", "_bandagedWounds","_alphaLevel"]; -_openWounds = _this select 0; -_bandagedWounds = _this select 1; - -disableSerialization; -_interactionDialog = uiNamespace getvariable "cse_sys_medicalMenu"; -_colorCalculationsOpenWounds = { - if (_total >0) then { - _green = 0.9; - _blue = 0.9; - for [{_i = 0},{ _i < round(_total)},{ _i = _i +1;}] do { - _green = _green - 0.75; - _blue = _blue - 0.75; - }; - if (_green < 0.0) then { - _green = 0.0; - _blue = 0.0; - }; - _damaged set[_part,true]; - }; -}; -_alphaLevel = 1.0; -_damaged = [false,false,false,false,false,false]; -_availableSelections = [50,51,52,53,54,55]; -_part = 0; - { - private ["_red", "_green", "_blue"]; - _amountOfWoundsSmall = (_x select 0); - _amountOfWoundsMedium = (_x select 1); - _amountOfWoundsLarge = (_x select 2); - _total = (_amountOfWoundsSmall) + _amountOfWoundsMedium + (_amountOfWoundsLarge); - - _red = 1; - _green = 1; - _blue = 1; - call _colorCalculationsOpenWounds; - (_interactionDialog displayCtrl (_availableSelections select _part)) ctrlSetTextColor [_red,_green,_blue,_alphaLevel]; - _part = _part + 1; - }foreach _openWounds; - - { - if (!(_damaged select _foreachIndex)) then { - _amountOfWoundsSmall = (_x select 0); - _amountOfWoundsMedium = (_x select 1); - _amountOfWoundsLarge = (_x select 2); - - _total = (_amountOfWoundsSmall) + _amountOfWoundsMedium + (_amountOfWoundsLarge); - if (_total>0) then { - private ["_red", "_green", "_blue"]; - _red = 1.0; - _green = 0.7; - _blue = 0.7; - (_interactionDialog displayCtrl (_availableSelections select _foreachIndex)) ctrlSetTextColor [_red,_green,_blue,_alphaLevel]; - }; - }; - }foreach _bandagedWounds; diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateIcons_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_updateIcons_CMS.sqf deleted file mode 100644 index 66d5ba34a7..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateIcons_CMS.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/** - * fn_updateIcons_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_display","_startIDC","_idc","_options","_name","_amount"]; -disableSerialization; -_display = uiNamespace getVariable 'cse_sys_medicalMenu'; -_startIDC = 111; - -_options = ["triage" , "examine", "bandage", "medication", "airway", "advanced", "drag", "toggle"]; -for "_idc" from _startIDC to 118 step 1 do -{ - _name = _options select (_idc - 111); - _amount = switch (_name) do { - case "advanced": {[_name] call cse_fnc_getAdvancedOptions_CMS}; - case "examine": {[_name] call cse_fnc_getExamineOptions_CMS}; - case "bandage": {[_name] call cse_fnc_getBandageOptions_CMS}; - case "medication": {[_name] call cse_fnc_getMedicationOptions_CMS}; - case "airway": {[_name] call cse_fnc_getAirwayOptions_CMS}; - case "triage": {[_name] call cse_fnc_getTriageCardOptions_CMS}; - case "drag": {[_name] call cse_fnc_getDragOptions_CMS}; - case "toggle": {[_name] call cse_fnc_getToggleOptions_CMS}; - default {[]}; - }; - if ((count _amount) > 0 || _idc == 111 || _idc == 118) then { - (_display displayCtrl _idc) ctrlSettextColor [1,1,1,1]; - } else { - (_display displayCtrl _idc) ctrlSettextColor [0.4,0.4,0.4,1]; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateUIInfo_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/ui/fn_updateUIInfo_CMS.sqf deleted file mode 100644 index fa5967549c..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/ui/fn_updateUIInfo_CMS.sqf +++ /dev/null @@ -1,218 +0,0 @@ -/** - * fn_updateUIInfo_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - - -private ["_targetObj","_bodyPartText","_bodyPartN","_openWounds","_bandagedWounds","_fractures","_listOfWounds","_listOfBandagedWounds","_listOfFractures","_counter","_nameEntry","_untreatedWounds" ,"_remainder", "_numberOf", "_airwayStatus", "_airwayTreated"]; -_targetObj = _this select 0; - -_bodyPartText = (call cse_fnc_getSelectedBodyPart_CMS); -_bodyPartN = [_bodyPartText] call cse_fnc_getBodyPartNumber_CMS; - -if (_bodyPartN < 0 || _bodyPartN > 5) exitwith {}; -_openWounds = [_targetObj,"cse_openWounds"] call cse_fnc_getVariable; -_bandagedWounds = [_targetObj,"cse_bandagedWounds"] call cse_fnc_getVariable; -_fractures = [_targetObj,"cse_fractures"] call cse_fnc_getVariable; -_airwayStatus = [_targetObj,"cse_airway"] call cse_fnc_getVariable; -/*_openWounds = [_targetObj,"cse_openWounds"] call cse_fnc_getMonitoredVariableValue; -_bandagedWounds = [_targetObj,"cse_bandagedWounds"] call cse_fnc_getMonitoredVariableValue; -_fractures = [_targetObj,"cse_fractures"] call cse_fnc_getMonitoredVariableValue;*/ - -if (count _this > 1) then { - switch (_this select 1) do { - case "cse_openWounds": { _openWounds = _this select 2; }; - case "cse_bandagedWounds": { _bandagedWounds = _this select 2; }; - case "cse_fractures": { _fractures = _this select 2; }; - }; -}; - -[_openWounds,_bandagedWounds] spawn cse_fnc_updateBodyImg_CMS; -_listOfWounds = _openWounds select _bodyPartN; -_listOfBandagedWounds = _bandagedWounds select _bodyPartN; -_listOfFractures = _fractures select _bodyPartN; - -// TODO collect all information first, then clear the lb and fill in with details. Also; use ctrl instead of IDC. -_numberOf = 0; -lbClear 213; - -_displayBodyPartText = switch (_bodyPartText) do { - case "head": { - localize "STR_CSE_UI_HEAD"; - }; - case "body": { - localize "STR_CSE_UI_TORSO"; - }; - case "hand_r": { - localize "STR_CSE_UI_ARM_R"; - }; - case "hand_l": { - localize "STR_CSE_UI_ARM_L"; - }; - case "leg_r": { - localize "STR_CSE_UI_LEG_R"; - }; - case "leg_l": { - localize "STR_CSE_UI_LEG_L"; - }; - default {"-"}; -}; - - -lbadd[213,format[localize "STR_CSE_UI_SELECTED_BODY_PART",_displayBodyPartText]]; -lbSetData [213, _numberOf, ""]; -lbSetColor [213, _numberOf, [0.27, 0.40, 0.26, 1]]; -//[] spawn cse_fnc_updateActivityLog_CMS; -_numberOf = _numberOf + 1; - -if (CSE_ALLOW_AIRWAY_INJURIES_CMS) then { - _airwayTreated = _targetObj getvariable ["cse_airwayTreated", false]; - - if (_airwayStatus > 0) then { - _nameEntry = switch (_airwayStatus) do { - case 0: {localize "STR_CSE_UI_NORMAL_BREATHING"}; - case 1: {localize "STR_CSE_UI_DIFFICULT_BREATHING"}; - case 2: {localize "STR_CSE_UI_ALMOST_NO_BREATHING"}; - default {localize "STR_CSE_UI_NO_BREATHING"}; - }; - - if (!(alive _targetObj) || (_targetObj getvariable ["cse_isDead", false])) then { - lbadd[213,format["%1",localize "STR_CSE_UI_NO_BREATHING"]]; - } else { - lbadd[213,format["%1",_nameEntry]]; - }; - lbSetData [213, _numberOf, ""]; - _numberOf = _numberOf + 1; - } else { - if (!(alive _targetObj) || (_targetObj getvariable ["cse_isDead", false])) then { - lbadd[213,format["%1",localize "STR_CSE_UI_NO_BREATHING"]]; - lbSetData [213, _numberOf, ""]; - _numberOf = _numberOf + 1; - }; - }; - - if (_airwayTreated) then { - lbadd[213,localize "STR_CSE_UI_STATUS_NPA_APPLIED"]; - lbSetData [213, _numberOf, ""]; - lbSetColor [213, _numberOf, [0.5, 0.5, 0, 1]]; - _numberOf = _numberOf + 1; - }; -}; - -if (([_targetObj,"cse_isBleeding_CMS"] call cse_fnc_getVariable)) then { - lbadd[213,localize "STR_CSE_UI_STATUS_BLEEDING"]; - lbSetData [213, _numberOf, ""]; - _numberOf = _numberOf + 1; -}; -if (([_targetObj,"cse_hasLostBlood_CMS"] call cse_fnc_getVariable)) then { - lbadd[213,localize "STR_CSE_UI_STATUS_LOST_BLOOD"]; - lbSetData [213, _numberOf, ""]; - _numberOf = _numberOf + 1; -}; - -if (([_targetObj,"cse_hasPain_CMS"] call cse_fnc_getVariable)) then { - lbadd[213,localize "STR_CSE_UI_STATUS_PAIN"]; - lbSetData [213, _numberOf, ""]; - _numberOf = _numberOf + 1; -}; -if (([_targetObj, _bodyPartText] call cse_fnc_hasTourniquetAppliedTo_CMS)) then { - lbadd[213,localize "STR_CSE_UI_STATUS_TOURNIQUET_APPLIED"]; - lbSetColor [213, _numberOf, [0.5, 0.5, 0, 1]]; - lbSetData [213, _numberOf, ""]; - _numberOf = _numberOf + 1; -}; - -_counter = 0; -{ - if (_x > 0) then { - - _untreatedWounds = floor _x; - _remainder = _x - (floor _x); - - _nameEntry = switch (_counter) do { - case 0: {localize "STR_CSE_UI_SMALL"}; - case 1: {localize "STR_CSE_UI_MEDIUM"}; - case 2: {localize "STR_CSE_UI_LARGE"}; - default {localize "STR_CSE_UI_SMALL"}; - }; - - if (_untreatedWounds > 1) then { - lbadd[213,format[localize "STR_CSE_UI_MULTIPLE_OPEN_WOUNDS",_nameEntry,_untreatedWounds]]; - lbSetData [213, _numberOf, format["open_wound_%1",_counter]]; - lbSetColor [213, _numberOf, [0.6, 0, 0, 1]]; - _numberOf = _numberOf + 1; - } else { - if (_untreatedWounds == 1) then { - lbadd[213,format[localize "STR_CSE_UI_SINGLE_OPEN_WOUND",_nameEntry]]; - lbSetData [213, _numberOf, format["open_wound_%1",_counter]]; - lbSetColor [213, _numberOf, [0.6, 0, 0, 1]]; - _numberOf = _numberOf + 1; - }; - }; - - if (_remainder > 0) then { - lbadd[213,format[localize "STR_CSE_UI_PARTIAL_OPEN_WOUND",_nameEntry]]; - lbSetData [213, _numberOf, format["open_wound_%1",_counter]]; - lbSetColor [213, _numberOf, [0.6, 0, 0, 1]]; - _numberOf = _numberOf + 1; - }; - }; - _counter = _counter + 1; -}foreach _listOfWounds; - -_counter = 0; -{ - if (_x > 0) then { - - _untreatedWounds = floor _x; - _remainder = _x - (floor _x); - - _nameEntry = switch (_counter) do { - case 0: {localize "STR_CSE_UI_SMALL"}; - case 1: {localize "STR_CSE_UI_MEDIUM"}; - case 2: {localize "STR_CSE_UI_LARGE"}; - default {localize "STR_CSE_UI_SMALL"}; - }; - - if (_untreatedWounds > 1) then { - lbadd[213,format[localize "STR_CSE_UI_MULTIPLE_BANDAGED_WOUNDS",_nameEntry,_untreatedWounds]]; - lbSetData [213, _numberOf, format["bandaged_wound_%1",_counter]]; - _numberOf = _numberOf + 1; - } else { - if (_untreatedWounds == 1) then { - lbadd[213,format[localize "STR_CSE_UI_SINGLE_BANDAGED_WOUND",_nameEntry]]; - lbSetData [213, _numberOf, format["bandaged_wound_%1",_counter]]; - _numberOf = _numberOf + 1; - }; - }; - - if (_remainder > 0) then { - lbadd[213,format[localize "STR_CSE_UI_PARTIAL_BANDAGED_WOUND",_nameEntry]]; - lbSetData [213, _numberOf, format["bandaged_wound_%1",_counter]]; - _numberOf = _numberOf + 1; - }; - }; - _counter = _counter + 1; -}foreach _listOfBandagedWounds; - -_counter = 0; -{ - if (_x > 0) then { - _nameEntry = switch (_counter) do { - case 0: {localize "STR_CSE_UI_SMALL"}; - case 1: {localize "STR_CSE_UI_MEDIUM"}; - case 2: {localize "STR_CSE_UI_LARGE"}; - default {localize "STR_CSE_UI_SMALL"}; - }; - lbadd[213,format["%1 Fracture x%2",_nameEntry,_x]]; - lbSetData [213, _numberOf, ""]; - _numberOf = _numberOf + 1; - }; - _counter = _counter + 1; -}foreach _listOfFractures; - diff --git a/TO_MERGE/cse/sys_medical/functions/vitals/fn_addHeartRateAdjustment_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/vitals/fn_addHeartRateAdjustment_CMS.sqf deleted file mode 100644 index 15bc298b87..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/vitals/fn_addHeartRateAdjustment_CMS.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_addHeartRateAdjustment_CMS.sqf - * @Descr: Increase the Heart Rate of a local unit by given number within given amount of seconds. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT, value NUMBER, time NUMBER (Amount of seconds), callBack CODE (Called when adjustment is completed)] - * @Return: void - * @PublicAPI: true - */ - -private ["_unit", "_value", "_time", "_adjustment", "_callBack"]; -_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param; -_value = [_this, 1, 0, [0]] call BIS_fnc_Param; -_time = [_this, 2, 1, [0]] call BIS_fnc_Param; -_callBack = [_this, 3, {}, [{}]] call BIS_fnc_Param; - -_adjustment = [_unit, "cse_heartRateAdjustments"] call cse_fnc_getVariable; -_adjustment pushback [_value, _time, _callBack]; -_unit setvariable ["cse_heartRateAdjustments", _adjustment ]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getBloodPressure_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/vitals/fn_getBloodPressure_CMS.sqf deleted file mode 100644 index cae57c32a5..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getBloodPressure_CMS.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/** - * fn_getBloodPressure_CMS.sqf - * @Descr: Calculate the current blood pressure of a unit. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT (The unit to get the blood pressure from.)] - * @Return: ARRAY Blood Pressure. Format [low NUMBER, high NUMBER] - * @PublicAPI: true - */ - -/* - Value is taken because with cardic output and resistance at default values, it will put blood pressure High at 120. -*/ -#define MODIFIER_BP_HIGH 0.229 - -/* - Value is taken because with cardic output and resistance at default values, it will put blood pressure Low at 80. -*/ -#define MODIFIER_BP_LOW 0.1524 - -private ["_unit", "_bloodPressureLow", "_bloodPressureHigh", "_cardiacOutput", "_resistance"]; -_unit = _this select 0; -_cardiacOutput = [_unit] call cse_fnc_getCardiacOutput_CMS; -_resistance = [_unit, "cse_peripheralResistance"] call cse_fnc_getVariable; - -_bloodPressureHigh = (_cardiacOutput * MODIFIER_BP_HIGH) * _resistance; -_bloodPressureLow = (_cardiacOutput * MODIFIER_BP_LOW) * _resistance; - -[_bloodPressureLow, _bloodPressureHigh]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getBloodVolumeChange_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/vitals/fn_getBloodVolumeChange_CMS.sqf deleted file mode 100644 index 241da785b9..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getBloodVolumeChange_CMS.sqf +++ /dev/null @@ -1,57 +0,0 @@ -/** - * fn_getBloodVolumeChange_CMS.sqf - * @Descr: Calculates the blood volume change and decreases the IVs given to the unit. - * @Author: Glowbal - * - * @Arguments: [] - * @Return: NUMBER Bloodvolume change - * @PublicAPI: false - */ - -/* - IV Change per second calculation: - 250ml should take 60 seconds to fill. 250/60 = 4.166. -*/ -#define IV_CHANGE_PER_SECOND -4.166 - -/* - Blood Change per second calculation for IVs: - 250ml should take 60 seconds to fill in. Total blood volume is 7000ml = 100%. - 7000/100 = 70 = 1% - 250 / 70 = 3.571428571% - 3.571428571 / 60 = 0.0595% per second. -*/ -#define BLOOD_CHANGE_PER_SECOND 0.0595 - - - -private ["_unit","_bloodVolume","_bloodVolumeChange", "_ivVolume"]; -_unit = _this select 0; - -_bloodVolume = _unit getvariable ["cse_bloodVolume", 100]; -_bloodVolumeChange = -(_unit call cse_fnc_getBloodLoss_CMS); - -if (_bloodVolume < 100.0) then { - if ((_unit getvariable ["cse_salineIVVolume", 0]) > 0) then { - _bloodVolumeChange = _bloodVolumeChange + BLOOD_CHANGE_PER_SECOND; - _ivVolume = (_unit getvariable ["cse_salineIVVolume", 0]) + IV_CHANGE_PER_SECOND; - _unit setvariable ["cse_salineIVVolume",_ivVolume]; - if (["cse_sys_field_rations"] call cse_fnc_isModuleEnabled_F) then { - if ([_unit] call cse_fnc_canDrink_FR) then { - _unit setvariable ["cse_drink_status_fr", (_unit getvariable ["cse_drink_status_fr", 100]) + 0.2]; - }; - }; - }; - if ((_unit getvariable ["cse_plasmaIVVolume", 0]) > 0) then { - _bloodVolumeChange = _bloodVolumeChange + BLOOD_CHANGE_PER_SECOND; - _ivVolume = (_unit getvariable ["cse_plasmaIVVolume", 0]) + IV_CHANGE_PER_SECOND; - _unit setvariable ["cse_plasmaIVVolume",_ivVolume]; - }; - if ((_unit getvariable ["cse_bloodIVVolume", 0]) > 0) then { - _bloodVolumeChange = _bloodVolumeChange + BLOOD_CHANGE_PER_SECOND; - _ivVolume = (_unit getvariable ["cse_bloodIVVolume", 0]) + IV_CHANGE_PER_SECOND; - _unit setvariable ["cse_bloodIVVolume",_ivVolume]; - }; -}; - -_bloodVolumeChange diff --git a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getCardiacOutput_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/vitals/fn_getCardiacOutput_CMS.sqf deleted file mode 100644 index 31abf63b5a..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getCardiacOutput_CMS.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fn_getCardiacOutput_CMS.sqf - * @Descr: Get the cardiac output from the Heart, based on current Heart Rate and Blood Volume. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: NUMBER Current cardiac output. - * @PublicAPI: true - */ - - -/* - Cardiac output (Q or or CO ) is the volume of blood being pumped by the heart, in particular by a left or right ventricle in the time interval of one minute. CO may be measured in many ways, for example dm3/min (1 dm3 equals 1 litre). - - Source: http://en.wikipedia.org/wiki/Cardiac_output -*/ - -// to limit the amount of complex calculations necessary, we take a set modifier to calculate Stroke Volume. -#define MODIFIER_CARDIAC_OUTPUT 19.04761 - -private "_unit"; -_unit = _this select 0; - -((_unit getvariable ["cse_bloodVolume", 100])/MODIFIER_CARDIAC_OUTPUT) + ((_unit getvariable ["cse_heartRate", 80])/80-1); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getHeartRateChange_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/vitals/fn_getHeartRateChange_CMS.sqf deleted file mode 100644 index 042a8de778..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/vitals/fn_getHeartRateChange_CMS.sqf +++ /dev/null @@ -1,81 +0,0 @@ -/** - * fn_getHeartRateChange_CMS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: void - * @PublicAPI: false - */ - - -#define HEART_RATE_MODIFIER 0.02 - -private ["_unit", "_heartRate", "_hrIncrease", "_bloodLoss", "_time", "_values", "_adjustment", "_adjustments", "_additionalIncrease", "_change", "_callBack", "_bloodVolume"]; -_unit = _this select 0; -_hrIncrease = 0; -if (!(_unit getvariable ["cse_cardiacArrest_CMS",false])) then { - _heartRate = _unit getvariable ["cse_heartRate", 80]; - _bloodLoss = _unit call cse_fnc_getBloodLoss_CMS; - - _adjustment = _unit getvariable ["cse_heartRateAdjustments", []]; - { - _values = (_x select 0); - if (abs _values > 0) then { - _time = (_x select 1); - _callBack = _x select 2; - if (_time <= 0) then { - _time = 1; - }; - _change = (_values / _time); - _hrIncrease = _hrIncrease + _change; - - if ( (_time - 1) < 0) then { - _time = 0; - _adjustment set [_foreachIndex, ObjNull]; - [_unit] call _callBack; - } else { - _time = _time - 1; - _adjustment set [_foreachIndex, [_values - _change, _time]]; - }; - } else { - _adjustment set [_foreachIndex, ObjNull]; - }; - - }foreach _adjustment; - _adjustment = _adjustment - [ObjNull]; - _unit setvariable ["cse_heartRateAdjustments", _adjustment]; - - _bloodVolume = _unit getvariable ["cse_bloodVolume", 100]; - if (_bloodVolume > 75) then { - if (_bloodLoss >0.0) then { - if (_bloodLoss <0.5) then { - if (_heartRate < 126) then { - _hrIncrease = _hrIncrease + 0.05; - }; - } else { - if (_bloodLoss < 1) then { - if (_heartRate < 161) then { - _hrIncrease = _hrIncrease + 0.1; - }; - } else { - if (_heartRate < 220) then { - _hrIncrease = _hrIncrease + 0.15; - }; - }; - }; - } else { - // Stabalize it - if (_heartRate < (60 + round(random(10)))) then { - _hrIncrease = _hrIncrease + HEART_RATE_MODIFIER; - } else { - if (_heartRate > (77 + round(random(10)))) then { - _hrIncrease = _hrIncrease - HEART_RATE_MODIFIER; - }; - }; - }; - } else { - _hrIncrease = _hrIncrease - HEART_RATE_MODIFIER; - }; -}; -_hrIncrease \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/functions/vitals/fn_updateVitals_CMS.sqf b/TO_MERGE/cse/sys_medical/functions/vitals/fn_updateVitals_CMS.sqf deleted file mode 100644 index 20762f44bc..0000000000 --- a/TO_MERGE/cse/sys_medical/functions/vitals/fn_updateVitals_CMS.sqf +++ /dev/null @@ -1,74 +0,0 @@ -/** - * fn_updateVitals_CMS.sqf - * @Descr: Updates the vitals. Is expected to be called every second. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: void - * @PublicAPI: false - */ - -private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus"]; -_unit = _this select 0; - -_heartRate = [_unit, "cse_heartRate"] call cse_fnc_getVariable; -_bloodVolume = ([_unit, "cse_bloodVolume"] call cse_fnc_getVariable) + ([_unit] call cse_fnc_getBloodVolumeChange_CMS); -_heartRate = _heartRate + ([_unit] call cse_fnc_getHeartRateChange_CMS); -_bloodPressure = [_unit] call cse_fnc_getBloodPressure_CMS; -_painStatus = [_unit,"cse_pain",0] call cse_fnc_getVariable; - -if (_bloodVolume <= 0) then { - _bloodVolume = 0; -}; - -_unit setvariable ["cse_bloodVolume", _bloodVolume]; -_unit setvariable ["cse_bloodPressure", _bloodPressure]; -_unit setvariable ["cse_heartRate", _heartRate]; - -if (_bloodVolume < 90) then { - if !(_unit getvariable ["cse_hasLostBlood_CMS",false]) then { - _unit setvariable ["cse_hasLostBlood_CMS", true, true]; - }; -} else { - if (_unit getvariable ["cse_hasLostBlood_CMS",false]) then { - _unit setvariable ["cse_hasLostBlood_CMS", false, true]; - }; -}; - -if ((_unit call cse_fnc_getBloodLoss_CMS) > 0) then { - if !(_unit getvariable ["cse_isBleeding_CMS",false]) then { - _unit setvariable ["cse_isBleeding_CMS", true, true]; - }; -} else { - if (_unit getvariable ["cse_isBleeding_CMS",false]) then { - _unit setvariable ["cse_isBleeding_CMS", false, true]; - }; -}; - -if (_painStatus > 0) then { - if !(_unit getvariable ["cse_hasPain_CMS",false]) then { - _unit setvariable ["cse_hasPain_CMS", true, true]; - }; -} else { - if (_unit getvariable ["cse_hasPain_CMS",false]) then { - _unit setvariable ["cse_hasPain_CMS", false, true]; - }; -}; - - -if (CSE_ALLOW_AIRWAY_INJURIES_CMS) then { - _airwayStatus = _unit getvariable ["cse_airwayStatus", 100]; - if (((_unit getvariable ["cse_airwayOccluded", false]) || (_unit getvariable ["cse_airwayCollapsed", false])) && !((_unit getvariable ["cse_airwaySecured", false]))) then { - if (_airwayStatus >= 0.5) then { - _unit setvariable ["cse_airwayStatus", _airwayStatus - 0.5]; - }; - } else { - if !((_unit getvariable ["cse_airwayOccluded", false]) || (_unit getvariable ["cse_airwayCollapsed", false])) then { - if (_airwayStatus <= 98.5) then { - _unit setvariable ["cse_airwayStatus", _airwayStatus + 1.5]; - }; - }; - }; -}; - -[_unit,_bloodVolume,_bloodPressure,_heartRate] call cse_fnc_bloodConditions_CMS; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/init_UI_options.sqf b/TO_MERGE/cse/sys_medical/init_UI_options.sqf deleted file mode 100644 index 6edeedfe97..0000000000 --- a/TO_MERGE/cse/sys_medical/init_UI_options.sqf +++ /dev/null @@ -1,150 +0,0 @@ - cse_get_basic_bandage_menus_CMS = { - _subMenus = []; - if (([player,'cse_bandage_basic'] call cse_fnc_hasMagazine)) then { - _subMenus set [ count _subMenus, - ["Bandage (Basic)",{([player,'cse_bandage_basic'] call cse_fnc_hasMagazine)}, - { - [(_this select 1),player,"cse_bandage_basic"] spawn cse_fnc_basicBandage_CMS; - }] - ]; - }; - if (([player,'cse_quikclot'] call cse_fnc_hasMagazine)) then { - _subMenus set [ count _subMenus, - ["QuikClot",{([player,'cse_quikclot'] call cse_fnc_hasMagazine)}, - { - [(_this select 1),player,"cse_quikclot"] spawn cse_fnc_basicBandage_CMS; - }] - ]; - }; - if (([player,'cse_bandageElastic'] call cse_fnc_hasMagazine)) then { - _subMenus set [ count _subMenus, - ["Bandage (Elastic)",{([player,'cse_bandageElastic'] call cse_fnc_hasMagazine)}, - { - [(_this select 1),player,"cse_bandageElastic"] spawn cse_fnc_basicBandage_CMS; - }] - ]; - }; - if (([player,'cse_packing_bandage'] call cse_fnc_hasMagazine)) then { - _subMenus set [ count _subMenus, - ["Packing Bandage",{([player,'cse_packing_bandage'] call cse_fnc_hasMagazine)}, - { - [(_this select 1),player,"cse_packing_bandage"] spawn cse_fnc_basicBandage_CMS; - }] - ]; - }; - if (([player,'cse_tourniquet'] call cse_fnc_hasMagazine)) then { - - }; - - _subMenus - }; - cse_display_basic_bandage_menus_CMS = { - ["Bandage",_this select 2,call cse_get_basic_bandage_menus_CMS] call cse_fnc_gui_displaySubMenuButtons; - }; - cse_display_basic_medication_menus_CMS = { - _subMenus = []; - if (([player,'cse_morphine'] call cse_fnc_hasMagazine)) then { - _subMenus set [ count _subMenus, - ["Morphine",{([player,'cse_morphine'] call cse_fnc_hasMagazine)}, - { - [(_this select 1),player,"","cse_morphine"] spawn cse_fnc_medication_CMS; - }] - ]; - }; - if (([player,'cse_atropine'] call cse_fnc_hasMagazine)) then { - _subMenus set [ count _subMenus, - ["Atropine",{([player,'cse_atropine'] call cse_fnc_hasMagazine)}, - { - [(_this select 1),player,"","cse_atropine"] spawn cse_fnc_medication_CMS; - }] - ]; - }; - if (([player,'cse_epinephrine'] call cse_fnc_hasMagazine)) then { - _subMenus set [ count _subMenus, - ["Epinephrine",{([player,'cse_epinephrine'] call cse_fnc_hasMagazine)}, - { - [(_this select 1),player,"","cse_epinephrine"] spawn cse_fnc_medication_CMS; - }] - ]; - }; - ["Medication",_this select 2,_subMenus] call cse_fnc_gui_displaySubMenuButtons; - }; - - - - - /*["InteractionMenu","Treatment > ",{((cursortarget iskindof "Man") && !(surfaceIsWater position player))},{ - _subMenus = []; - if ((_this select 1) call cse_fnc_getBloodLoss_CMS > 0) then { - hintSilent format["%1 is bleeding", [_this select 1] call cse_fnc_getName]; - }; - _subMenus set [ count _subMenus, - ["Bandage >",{(isNull([player] call cse_fnc_getCarriedObj) && (count (call cse_get_basic_bandage_menus_CMS)) > 0)}, - { - _this call cse_display_basic_bandage_menus_CMS; - }] - ]; - _subMenus set [ count _subMenus, - ["Medication >",{(isNull([player] call cse_fnc_getCarriedObj))}, - { - _this call cse_display_basic_medication_menus_CMS; - }] - ]; - ["Treatment",_this select 2,_subMenus] call cse_fnc_gui_displaySubMenuButtons; - },1] call cse_fnc_gui_addMenuEntry; - - - ["SelfInteraction","Treatment > ",{!(surfaceIsWater position player)},{ - _subMenus = []; - - if ((_this select 1) call cse_fnc_getBloodLoss_CMS > 0) then { - hintSilent format["%1 is bleeding", [_this select 1] call cse_fnc_getName]; - }; - - _subMenus set [ count _subMenus, - ["Bandage >",{(isNull([player] call cse_fnc_getCarriedObj) && (count (call cse_get_basic_bandage_menus_CMS)) > 0)}, - { - _this call cse_display_basic_bandage_menus_CMS; - }] - ]; - _subMenus set [ count _subMenus, - ["Medication >",{(isNull([player] call cse_fnc_getCarriedObj))}, - { - _this call cse_display_basic_medication_menus_CMS; - }] - ]; - ["Treatment",_this select 2,_subMenus] call cse_fnc_gui_displaySubMenuButtons; - },1] call cse_fnc_gui_addMenuEntry; - - */ - - ["InteractionMenu","Unload Casualties",{((_this call cse_fnc_interactWithVehicle_Crew_Condition) && (count ((_this select 1) getvariable ["cse_loaded_casualties_CMS",[]]) > 0))}, -{ - closeDialog 0; - _loaded = ((_this select 1) getvariable ["cse_loaded_casualties_CMS",[]]); - { - [player,_x,false] call cse_fnc_unload_CMS; - }foreach _loaded -},1] call cse_fnc_gui_addMenuEntry; - - -/* -["InteractionMenu","Drag",{(isNull ([player] call cse_fnc_getCarriedObj))}, -{ - closeDialog 0; - [_this select 1,_this select 0] call CSE_fnc_drag_CMS; -},1] call cse_fnc_gui_addMenuEntry; - - -["InteractionMenu","Carry",{(isNull ([player] call cse_fnc_getCarriedObj))}, -{ - closeDialog 0; - [_this select 1,_this select 0] call cse_fnc_carry_CMS; -},1] call cse_fnc_gui_addMenuEntry; - - -["InteractionMenu","Drop",{!(isNull ([player] call cse_fnc_getCarriedObj))}, -{ - closeDialog 0; - [_this select 1,_this select 0] call cse_fnc_drop_CMS; -},1] call cse_fnc_gui_addMenuEntry;*/ \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/init_basic_medical_system.sqf b/TO_MERGE/cse/sys_medical/init_basic_medical_system.sqf deleted file mode 100644 index 8b4ee432d2..0000000000 --- a/TO_MERGE/cse/sys_medical/init_basic_medical_system.sqf +++ /dev/null @@ -1,7 +0,0 @@ - - waituntil {!isnil "cse_fnc_registerUnconsciousCondition"}; - - [ - {(([_this select 0,"cse_bloodVolume"] call cse_fnc_getVariable) < 60)}, - {(([_this select 0,"cse_pain"] call cse_fnc_getVariable) > 48)} - ] call cse_fnc_registerUnconsciousCondition; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/init_sys_medical.sqf b/TO_MERGE/cse/sys_medical/init_sys_medical.sqf deleted file mode 100644 index 703ba363af..0000000000 --- a/TO_MERGE/cse/sys_medical/init_sys_medical.sqf +++ /dev/null @@ -1,199 +0,0 @@ -/* -init.sqf -Usage: -Author: Glowbal - -Arguments: -Returns: - -Affects: Local -Executes: call -*/ - -private ["_args"]; -_args = _this; - -CSE_ADVANCED_LEVEL_CMS = 2; -CSE_ALLOW_INSTANT_DEAD_CMS = true; -CSE_ADVANCED_WOUNDS_SETTING_CMS = true; -CSE_ADVANCED_MEDICAL_ROLES_CMS = false; -CSE_BANDAGING_AID_CMS = false; -CSE_ALLOW_AI_FULL_HEAL_CMS = false; -CSE_ALLOW_AIRWAY_INJURIES_CMS = false; -CSE_AID_KIT_REMOVED_UPON_USAGE_CMS = false; -CSE_ENABLE_SETTING_FORUNITS_CMS = 1; -CSE_AID_KIT_RESTRICTIONS_CMS = 0; -CSE_AIDKITMEDICSONLY_CMS = false; -CSE_ALLOW_VEH_CRASH_INJURIES_CMS = true; -CSE_STITCHING_ALLOW_CMS = 0; - -// damage thresholds only in case the damge threshold module hasn't been placed down. -if (isnil "CSE_DAMAGE_THRESHOLD_AI_DMG") then { - CSE_DAMAGE_THRESHOLD_AI_DMG = 1; -}; - -if (isnil "CSE_DAMAGE_THRESHOLD_PLAYERS_DMG") then { - CSE_DAMAGE_THRESHOLD_PLAYERS_DMG = 1; -}; - - -// TODO implement this into a switch structure. -{ - _value = _x select 1; - if (!isnil "_value") then { - if (_x select 0 == "advancedLevel") exitwith { - CSE_ADVANCED_LEVEL_CMS = _x select 1; - }; - if (_x select 0 == "openingOfWounds") exitwith { - CSE_ADVANCED_WOUNDS_SETTING_CMS = _x select 1; - }; - if (_x select 0 == "medicSetting") exitwith { - CSE_ADVANCED_MEDICAL_ROLES_CMS = _x select 1; - }; - if (_x select 0 == "difficultySetting") exitwith { - CSE_MEDICAL_DIFFICULTY = _x select 1; - }; - if (_x select 0 == "bandagingAid") exitwith { - CSE_BANDAGING_AID_CMS = _x select 1; - }; - if (_x select 0 == "allowAIFullHeal") exitwith { - CSE_ALLOW_AI_FULL_HEAL_CMS = _x select 1; - }; - if (_x select 0 == "enableFor") exitwith { - CSE_ENABLE_SETTING_FORUNITS_CMS = _x select 1; - }; - if (_x select 0 == "enableAirway") exitwith { - CSE_ALLOW_AIRWAY_INJURIES_CMS = (_x select 1) == 1; - }; - if (_x select 0 == "aidKitRestrictions") exitwith { - CSE_AID_KIT_RESTRICTIONS_CMS = _x select 1; - }; - if (_x select 0 == "aidKitUponUsage") exitwith { - CSE_AID_KIT_REMOVED_UPON_USAGE_CMS = _x select 1; - }; - if (_x select 0 == "aidKitMedicsOnly") exitwith { - CSE_AIDKITMEDICSONLY_CMS = _x select 1; - }; - if (_x select 0 == "bandageTime") exitwith { - CSE_BANDAGE_WAITING_TIME_CMS = _x select 1; - }; - if (_x select 0 == "vehCrashes") exitwith { - CSE_ALLOW_VEH_CRASH_INJURIES_CMS = _value; - }; - if (_x select 0 == "stitchingMedicsOnly") exitwith { - CSE_STITCHING_ALLOW_CMS = _value; - }; - }; -}foreach _args; - -if (CSE_ADVANCED_LEVEL_CMS == -1) exitwith{}; -call compile preprocessFile "cse\cse_sys_medical\functions.sqf"; -CSE_SYS_MEDICAL_SYSTEM_ENABLED_TAGS = true; -waituntil {!isnil "cse_main"}; -#include "variable_defines.sqf" - - -[ - {(([_this select 0,"cse_heartRate"] call cse_fnc_getVariable) < 20)}, - {(([_this select 0,"cse_bloodVolume"] call cse_fnc_getVariable) < 65)}, - {(([_this select 0,"cse_pain"] call cse_fnc_getVariable) > 48)} -] call cse_fnc_registerUnconsciousCondition; - -if (CSE_ALLOW_AIRWAY_INJURIES_CMS) then { - [ - {(([_this select 0,"cse_airway"] call cse_fnc_getVariable) > 2)} - ] call cse_fnc_registerUnconsciousCondition; -}; - -/* -[ - {([_this select 0,"cse_cardiacArrest_CMS"] call cse_fnc_getVariable)} -] call cse_fnc_registerUnconsciousCondition; -*/ - -cse_sys_medical = true; - -waituntil{!isnil "cse_gui"}; -#include "init_UI_options.sqf"; -#include "init_UI_actions.sqf"; - -if (isnil "CSE_MEDICAL_COMBINED_LOOP_CMS") then { - CSE_MEDICAL_COMBINED_LOOP_CMS = []; -}; - -waituntil{!isnil "cse_gui" && !isnil "cse_main"}; -cse_sys_medical_task_pool_CMS_lastTime = time; -_cms_taskLoop = ' - if ((time - cse_sys_medical_task_pool_CMS_lastTime) >= 1 || true) then { - cse_sys_medical_task_pool_CMS_lastTime = time; - { - if (!alive _x || !local _x) then { - CSE_MEDICAL_COMBINED_LOOP_CMS set [ _forEachIndex, ObjNull]; - } else { - [_x] call cse_fnc_updateVitals_CMS; - _pain = _X getvariable ["cse_pain", 0]; - if (_pain > 5 && (random(1) > 0.5)) then { - _x setvariable ["cse_pain", _pain + 0.002]; - }; - if (_pain > 45) then { - if (random(1) > 0.6) then { - [_X] call cse_fnc_setUnconsciousState; - }; - [_X] spawn cse_fnc_playInjuredSound_CMS; - }; - }; - }foreach CSE_MEDICAL_COMBINED_LOOP_CMS; - CSE_MEDICAL_COMBINED_LOOP_CMS = CSE_MEDICAL_COMBINED_LOOP_CMS - [ObjNull]; - }; - false; '; - -cse_sys_medical_cms_taskLoop_trigger = createTrigger["EmptyDetector", [0,0,0]]; -cse_sys_medical_cms_taskLoop_trigger setTriggerActivation ["NONE", "PRESENT", true]; -cse_sys_medical_cms_taskLoop_trigger setTriggerStatements[_cms_taskLoop, "", ""]; - -if (!hasInterface) exitwith{}; -[player] spawn { - disableSerialization; - _CMSFadingBlackUI = uiNamespace getVariable "CMSFadingBlackUI"; - if (!isnil "_CMSFadingBlackUI") then { - _ctrlFadingBlackUI = _CMSFadingBlackUI displayCtrl 11112; - 2 fadeSound 1; - _ctrlFadingBlackUI ctrlSetTextColor [0.0,0.0,0.0,0.0]; - }; - { - if(_x == "FirstAidKit" || {_x == "Medikit"}) then { - player removeItem _x; - }; - }foreach (items player); - [_this select 0] spawn cse_fnc_effectsLoop_CMS; - - - // This is here for backwards compatability. This code will be removed in the near future. - _showError = false; - { - _configEntry = (configFile >> "CfgMagazines" >> _x); - if([_configEntry, "cse_backwardsCompatMagazineBase_CMS"] call cse_fnc_inheritsFrom) then { - player removeMagazine _x; - player addItem _x; - diag_log format["WARNING: Outdated CMS magazine classname %1 found. Please replace magazine by item variant. Future versions will not support this anymore.", _x]; - _showError = true; - }; - }foreach (magazines player); - if (_showError) then { - ["Outdated CMS Classnames have been found. Please replace magazine classname by item variant. Future versions will not support magazine variant"] call BIS_fnc_error; - }; -}; -CSE_DISPLAY_ADDITIONAL_HINTS_CMS = false; - - -["cse_sys_medical_allowSharedEquipment", ["Disable", "Anyone", "Side Only", "Group Only"], (["cse_sys_medical_allowSharedEquipment", 0] call cse_fnc_getClientSideOptionFromProfile_F), { - [_this] call cse_fnc_debug; - switch (_this select 1) do { - case (1): {player setvariable ["cse_allowSharedEquipmentAccess_CMS", 0, true]}; - case (2): {player setvariable ["cse_allowSharedEquipmentAccess_CMS", 1, true]}; - case (3): {player setvariable ["cse_allowSharedEquipmentAccess_CMS", 2, true]}; - default {player setvariable ["cse_allowSharedEquipmentAccess_CMS", -1, true]}; - }; -}] call cse_fnc_addClientSideOptions_f; - -["cse_sys_medical_allowSharedEquipment","option","Shared Medical Equipment","Set your access level for sharing medical equipment with other players."] call cse_fnc_settingsDefineDetails_F; diff --git a/TO_MERGE/cse/sys_medical/init_ui_actions.sqf b/TO_MERGE/cse/sys_medical/init_ui_actions.sqf deleted file mode 100644 index 4d14d356ac..0000000000 --- a/TO_MERGE/cse/sys_medical/init_ui_actions.sqf +++ /dev/null @@ -1,53 +0,0 @@ - - -CSE_ICON_PATH = "cse\cse_gui\radialmenu\data\icons\"; - -_entries = [ - ["Medical (SELF)", {!([player] call cse_fnc_inWater_f)}, CSE_ICON_PATH + "icon_open_dialog.paa", {closeDialog 0; [player] call cse_fnc_openMenu_CMS; }, "Open Medical Menu (SELF)"], - ["Medical", {((_this select 1) != (_this select 0)) && {(((_this select 0) distance (_this select 1) < 10) && {(_this select 1) isKindOf "CaManBase"} && {!([player] call cse_fnc_inWater_f)})}}, CSE_ICON_PATH + "icon_open_dialog.paa", {closeDialog 0; [_this select 1] call cse_fnc_openMenu_CMS; }, "Open Medical Menu"] -]; -["ActionMenu","medical_menu", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - -_entries = [ - ["Unload (Cas)", {((_this call cse_fnc_interactWithVehicle_Crew_Condition) && (count ((_this select 1) getvariable ["cse_loaded_casualties_CMS",[]]) > 0))}, CSE_ICON_PATH + "icon_open_dialog.paa", - { - closeDialog 0; - _loaded = ((_this select 1) getvariable ["cse_loaded_casualties_CMS",[]]); - { - [player,_x,false] call cse_fnc_unload_CMS; - }foreach _loaded - }, "Unload Casualties"] -]; -["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - -_conditionDrag = { - private ["_caller", "_unit", "_return"]; - _caller = _this select 0; - _unit = _this select 1; - _return = false; - if (([_caller] call cse_fnc_canInteract) && {_caller != _unit} && {!([_unit] call cse_fnc_isAwake)}) then { - if !([player] call cse_fnc_inWater_f) then { - if (!isNull _unit) then { - if (_unit != player && (_unit isKindOf "CaManBase")) then { - if (vehicle _unit == _unit) then { - if (vehicle _caller == _caller) then { - if (isNull ([player] call cse_fnc_getCarriedObj)) then { - _return = true; - }; - }; - }; - }; - }; - }; - }; - _return -}; - -_entries = [ - ["Drag", _conditionDrag, CSE_ICON_PATH + "icon_hand.paa", {closeDialog 0; CSE_SYS_MEDICAL_INTERACTION_TARGET = _this select 1;[_this select 0, _this select 1] spawn CSE_fnc_drag_CMS; }, "Drag"], - ["Carry", _conditionDrag, CSE_ICON_PATH + "icon_hand.paa", {closeDialog 0; CSE_SYS_MEDICAL_INTERACTION_TARGET = _this select 1; [_this select 0, _this select 1] spawn cse_fnc_carry_CMS; }, "Carry"], - ["Drop", {(([player] call cse_fnc_getCarriedObj) == (_this select 1))}, CSE_ICON_PATH + "icon_hand.paa", {closeDialog 0; CSE_SYS_MEDICAL_INTERACTION_TARGET = _this select 1; [_this select 0, _this select 1] spawn cse_fnc_drop_CMS; }, "Drop"] -]; -["ActionMenu","medical_menu", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/injuryTypes.h b/TO_MERGE/cse/sys_medical/injuryTypes.h deleted file mode 100644 index 3ab27e2c74..0000000000 --- a/TO_MERGE/cse/sys_medical/injuryTypes.h +++ /dev/null @@ -1,46 +0,0 @@ -#define NO_INJURY -1 - - -/* FLESH WOUNDS/BLEEDING INJURIES */ -#define SCRATCH 0 -#define MINOR_OPEN_WOUND 1 -#define MEDIUM_OPEN_WOUND 2 -#define LARGE_OPEN_WOUND 3 -#define MINOR_GSW 4 -#define MEDIUM_GSW 5 -#define LARGE_GSW 6 -#define STOMACH_WOUND 7 -#define SCHRAPNEL_WOUND 8 -#define GRAZE_WOUND 9 -#define MINOR_CUT 10 -#define MEDIUM_CUT 11 -#define LARGE_CUT 12 -#define MISSING_FLESH 13 -#define EXPLOSION_WOUND 14 - -/* BURN INJURIES */ -#define MINOR_BURN 40 -#define MEDIUM_BURN 41 -#define HIGH_BURN 42 - -/* INTERNAL BLEEDING */ -#define MINOR_INTERNAL_BLEEDING 50 -#define MEDIUM_INTERNAL_BLEEDING 51 -#define HEAVY_INTERNAL_BLEEDING 52 - -/* BROKEN BONES */ -#define BROKEN_BONE_FEMUR 80 -#define BROKEN_BONE_TIBIA 81 -#define BROKEN_BONE_HUMERUS 82 -#define BROKEN_BONE_RADIAL 83 -#define BROKEN_BONE_SKULL 84 -#define BROKEN_RIB 85 -#define SHATTERED_NECK_BONE 86 -#define BROKEN_C_SPINE 87 - -/* AIRWAY INJURIES */ -#define TENSION_PNEUMOTHORA 200 -#define SIMPLE_PNEUMOTHORA 201 -#define HEMOTHORAX 202 -#define AIRWAY_OBSTRUCTION_PARTIAL 205 -#define AIRWAY_OBSTRUCTION_FULL 204 \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_1.wav b/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_1.wav deleted file mode 100644 index 4ac1fe6c7d..0000000000 Binary files a/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_1.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_2.wav b/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_2.wav deleted file mode 100644 index 38bae9cb2a..0000000000 Binary files a/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_2.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_3.wav b/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_3.wav deleted file mode 100644 index f600d30567..0000000000 Binary files a/TO_MERGE/cse/sys_medical/sounds/heart_beats/fast_3.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/sounds/heart_beats/norm_1.wav b/TO_MERGE/cse/sys_medical/sounds/heart_beats/norm_1.wav deleted file mode 100644 index 73ebe128d6..0000000000 Binary files a/TO_MERGE/cse/sys_medical/sounds/heart_beats/norm_1.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/sounds/heart_beats/norm_2.wav b/TO_MERGE/cse/sys_medical/sounds/heart_beats/norm_2.wav deleted file mode 100644 index c46da91489..0000000000 Binary files a/TO_MERGE/cse/sys_medical/sounds/heart_beats/norm_2.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/sounds/heart_beats/slow_1.wav b/TO_MERGE/cse/sys_medical/sounds/heart_beats/slow_1.wav deleted file mode 100644 index 3cf199ba51..0000000000 Binary files a/TO_MERGE/cse/sys_medical/sounds/heart_beats/slow_1.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/sounds/heart_beats/slow_2.wav b/TO_MERGE/cse/sys_medical/sounds/heart_beats/slow_2.wav deleted file mode 100644 index ba50746326..0000000000 Binary files a/TO_MERGE/cse/sys_medical/sounds/heart_beats/slow_2.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_medical/stringtable.xml b/TO_MERGE/cse/sys_medical/stringtable.xml deleted file mode 100644 index ce6928d06f..0000000000 --- a/TO_MERGE/cse/sys_medical/stringtable.xml +++ /dev/null @@ -1,1422 +0,0 @@ - - - - - - Open Combat Medical System Menu - Открыть меню медицинской системы CMS - Otwórz menu Combat Medical System - Abrir Menú CMS - - - Opens the CMS menu - Открывает меню CMS - Otwiera menu CMS - Abre el Menú CMS - - - - - Nasopharyngeal Tube - Назотрахеальная трубка - Cánula Nasofaríngea - Canule Nasopharyngée - Rurka nosowo-gardłowa - - - Used to keep the airway patent - Для обеспечения проходимости дыхательных путей - Mantiene libre las vías aéreas - Maintien les voix respiratoires libres - Używana w celu udrożnienia dróg oddechowych - - - Remove Nasopharyngeal - Извлечь назотрахеальную трубку - Retirar Cánula Nasofaríngea - Retirer la Canule Nasopharyngée - Wyjmij rurkę nosowo-gardłową - - - Remove the Nasopharyngeal Tube - Извлечь назотрахеальную трубку - Retirar Cánula Nasofaríngea - Retirer la Canule Nasopharyngée - Wyjmuje rurkę nosowo-gardłową - - - - - Give Blood IV (1000ml) - Перелить кровь (1000 мл) - Give Blood IV (1000ml) - Intravenöse Blutspende (1000ml) - Sangre Intravenosa (1000ml) - Cullot Sanguin IV (1000ml) - Podaj krew IV (1000ml) - - - Give Blood IV (500ml) - Перелить кровь (500 мл) - Give Blood IV (500ml) - Intravenöse Blutspende (500ml) - Sangre Intravenosa (500ml) - Cullot Sanguin IV (500ml) - Podaj krew IV (500ml) - - - Give Blood IV (250ml) - Перелить кровь (250 мл) - Give Blood IV (250ml) - Intravenöse Blutspende (250ml) - Sangre Intravenosa (250ml) - Cullot Sanguin IV (250ml) - Podaj krew IV (250ml) - - - Give Plasma IV (1000ml) - Влить плазму (1000 мл) - Give Plasma IV (1000ml) - Intravenöse Plasmaspende (1000ml) - Plasma Intravenoso (1000ml) - Plasma Sanguin IV (1000ml) - Podaj osocze IV (1000ml) - - - Give Plasma IV (500ml) - Влить плазму (500 мл) - Give Plasma IV (500ml) - Intravenöse Plasmaspende (500ml) - Plasma Intravenoso (500ml) - Plasma Sanguin IV (500ml) - Podaj osocze IV (500ml) - - - Give Plasma IV (250ml) - Влить плазму (250 мл) - Give Plasma IV (250ml) - Intravenöse Plasmaspende (250ml) - Plasma Intravenoso (250ml) - Plasma Sanguin IV (250ml) - Podaj osocze IV (250ml) - - - Give Saline IV (1000ml) - Влить физраствор (1000 мл) - Give Saline IV (1000ml) - Intravenöse Kochsalzlösung (1000ml) - Solución Salina Intravenosa (1000ml) - Solution Saline 0.9% IV (1000ml) - Podaj solankę 0,9% IV (1000ml) - - - Give Saline IV (500ml) - Влить физраствор (500 мл) - Give Saline IV (500ml) - Intravenöse Kochsalzlösung (500ml) - Solución Salina Intravenosa (500ml) - Solution Saline 0.9% IV (500ml) - Podaj solankę 0,9% IV (500ml) - - - Give Saline IV (250ml) - Влить физраствор (250 мл) - Give Saline IV (250ml) - Intravenöse Kochsalzlösung (250ml) - Solución Salina Intravenosa (250ml) - Solution Saline 0.9% IV (250ml) - Podaj solankę 0,9% IV (250ml) - - - Full Heal (Personal Aid Kit) - Полное лечение (аптечка) - Full Heal (Personal Aid Kit) - Ambulante Versorgung (Erste-Hilfe-Tasche) - Tratamiento Avanzado (Kit de Soporte Vital Avanzado) - Soin Complet (Équipement de support vitale - Pełne leczenie (Apteczka) - - - Perform CPR - Провести СЛР - Perform CPR - Herz-Lungen-Wiederbelebung - Realizar CPR - Effectuer RCR - Wykonaj RKO - - - Stop CPR - Прекратить СЛР - Stop CPR - Przerwij RKO - Abortar CPR - - - Give the patient a Blood IV of 1000ml. Read the label for further information. - Перелить пациенту 1000 мл крови. См. информацию на этикетке. - Give the patient a Blood IV of 1000ml. Read the label for further information. - Verabreicht dem Patienten 1000ml Spenderblut. Weitere Informationen auf der Verpackung. - Administrar Sangre de 1000ml. Lea la etiqueta para más información. - Administrer Cullot Sanguin de 1000ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 1000ml krwi dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Blood IV of 500ml. Read the label for further information. - Перелить пациенту 500 мл крови. См. информацию на этикетке. - Give the patient a Blood IV of 500ml. Read the label for further information. - Verabreicht dem Patienten 500ml Spenderblut. Weitere Informationen auf der Verpackung. - Administrar Sangre de 500ml. Lea la etiqueta para más información. - Administrer Cullot Sanguin de 500ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 500ml krwi dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Blood IV of 250ml. Read the label for further information. - Перелить раненому 500 мл крови. См. информацию на этикетке. - Give the patient a Blood IV of 250ml. Read the label for further information. - Verabreicht dem Patienten 250ml Spenderblut. Weitere Informationen auf der Verpackung. - Administrar Sangre de 250ml. Lea la etiqueta para más información. - Administrer Cullot Sanguin de 250ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 250ml krwi dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Plasma IV of 1000ml. Read the label for further information. - Влить раненому 1000 мл плазмы. См. информацию на этикетке. - Give the patient a Plasma IV of 1000ml. Read the label for further information. - Verabreicht dem Patienten 1000ml Blutplasma. Weitere Informationen auf der Verpackung. - Administrar Plasma de 1000ml. Lea la etiqueta para más información. - Administrer Plasma Sanguin de 1000ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 1000ml osocza dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Plasma IV of 500ml. Read the label for further information. - Влить раненому 500 мл плазмы. См. информацию на этикетке. - Give the patient a Plasma IV of 500ml. Read the label for further information. - Verabreicht dem Patienten 500ml Blutplasma. Weitere Informationen auf der Verpackung. - Administrar Plasma de 500ml. Lea la etiqueta para más información. - Administrer Plasma Sanguin de 500ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 500ml osocza dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Plasma IV of 250ml. Read the label for further information. - Влить раненому 250 мл плазмы. См. информацию на этикетке. - Give the patient a Plasma IV of 250ml. Read the label for further information. - Verabreicht dem Patienten 250ml Blutplasma. Weitere Informationen auf der Verpackung. - Administrar Plasma de 250ml. Lea la etiqueta para más información. - Administrer Plasma Sanguin de 250ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 250ml osocza dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Saline IV of 1000ml. Read the label for further information. - Влить раненому 1000 мл физраствора. См. информацию на этикетке. - Give the patient a Saline IV of 1000ml. Read the label for further information. - Verabreicht dem Patienten 1000ml Kochsalzlösung. Weitere Informationen auf der Verpackung. - Administrar Solución Salina de 1000ml. Lea la etiqueta para más información. - Administrer Solution Saline 0.9% de 1000ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 1000ml 0,9% roztworu soli fizjologicznej dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Saline IV of 500ml. Read the label for further information. - Влить раненому 500 мл физраствора. См. информацию на этикетке. - Give the patient a Saline IV of 500ml. Read the label for further information. - Verabreicht dem Patienten 500ml Kochsalzlösung. Weitere Informationen auf der Verpackung. - Administrar Solución Salina de 500ml. Lea la etiqueta para más información. - Administrer Solution Saline 0.9% de 500ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 500ml 0,9% roztworu soli fizjologicznej dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Give the patient a Saline IV of 250ml. Read the label for further information. - Влить раненому 250 мл физраствора. См. информацию на этикетке. - Give the patient a Saline IV of 250ml. Read the label for further information. - Verabreicht dem Patienten 250ml Kochsalzlösung. Weitere Informationen auf der Verpackung. - Administrar Solución Salina de 250ml. Lea la etiqueta para más información. - Administrer Solution Saline 0.9% de 250ml. Lire l'étiquette pour plus d'information. - Przetacza pacjentowi 250ml 0,9% roztworu soli fizjologicznej dożylnie (IV). Przeczytaj etykietę, aby dowiedzieć się więcej. - - - Fully heal a soldier. - Полностью вылечить раненого. - Fully heal a soldier. - Heilt einen Soldaten vollständig. - Curar completamente al herido. - Soigner Complêtement le Soldat. - Pozwala w pełni wyleczyć pacjenta. - - - Perform CPR. Success can stabilize heart rate and blood pressure. - Провести сердечно-легочную реанимацию. В случае успеха стабилизируются пульс и давление. - Perform CPR. Success can stabilize heart rate and blood pressure. - Herz-Lungen-Wiederbelebung, bei Erfolg können sich Puls und Blutdruck stabilisieren. - Realizar CPR. Puede estabilizar la frecuencia cardiaca y la presión arterial. - Effectuer RCR. Le succes de la maneuvre peut retablir un pouls et une tention artériel. - Wykonaj RKO. Sukces może ustabilizować puls oraz ciśnienie krwi. - - - Stop providing CPR. - Прекратить сердечно-легочную реанимацию. - Stop providing CPR. - Przerwij wykonywanie RKO. - Dejar de aplicar CPR - - - Stitch Wounds. - Зашить раны. - Suturar Heridas - - - Stitch bandaged wounds. - Зашить перевязанные раны. - Suturar Heridas Vendadas - - - - - Field Dressing (Basic) - Повязка (обычная) - Vendaje de Campaña (Básico) - - - - Apply when wounds have been bandaged - Накладывается после остановки кровотечения - Aplicar cuando las heridas han sido vendadas - - - Field Dressing (QuikClot) - Первичный перевязочный пакет (QuikClot) - Vendaje de Campaña (QuikClot) - - - Apply to cloth the wound and stop bleeding - Применяется для остановки кровотечения - Aplicar para detener el sangrado - - - Field Dressing (Elastic) - Повязка (давящая) - Vendaje de Campaña (Elástico) - - - For extra pressure, apply when wounds have been bandaged - Обеспечивает прижатие раны после остановки кровотечения - Aplicar a las heridas vendadas para más presión - - - Packing Bandage - Тампонирующая повязка - Vendaje Compresivo - - - Apply on medium to large wounds - Применяется при ранениях среднего и большого размера - Aplicar en heridas medianas o grandes - - - Remove Tourniquet - Снять жгут - Quitar Torniquete - - - Remove applied Tourniquet - Снять ранее наложенный жгут - Quitar Torniquetes - - - Tourniquet - Жгут - Torniquete - - - Apply on limbs only. Limits blood loss on limb. - Накладывается только на конечности. Ограничивает кровопотерю из конечности. - Aplicar sólo en las extremidades. Limita la pérdida de sangre en las extremidades. - - - - - Drag - Тащить - Arrastrar - - - Drag %1 - Тащить раненого %1 - Arrastrar a %1r - - - Carry - Нести - Cargar - - - Carry %1 - Нести раненого %1 - Cargar a %1 - - - Bodybag - Мешок для трупов - Bolsa para cadáveres - - - Put body in bodybag - Поместить труп в мешок - Meter cuerpo en la bolsa para cadáveres - - - Drop - Положить - Soltar - - - Drop %1 - Положить %1 - Soltar a %1 - - - Load in Vehicle - Погрузить в транспорт - Meter en vehículo - - - Load %1 - Погрузить раненого %1 - Cargar a %1 - - - Unload - Выгрузить - Descargar - - - Unload %1 - Выгрузить раненого %1 - Descargar a %1 - - - - - Check Pulse - Проверить пульс - Comprobar Pulso - - - Find the Heart Rate - Нащупать пульс - Encontrar el ritmo cardiaco - - - Check Blood Pressure - Проверить давление - Comprobar Presión Arterial - - - Find out what Blood Pressure patient has - Узнать артериальное давление раненого - Comprobar Presión Arterial - - - Check Response - Проверить реакцию - Comprobar Respuesta - - - - Check if patient is responsive - Проверить, реагирует ли раненый на раздражители - Comprobar si el paciente reacciona - - - - - Morphine - Морфин - Morfina - - - Good to counter pain - Эффективное обезболивающее средство - Alivia el dolor - - - Atropine - Атропин - Atropina - - - Relaxes mussles - Расслабляет мышцы - Antiarrítmico - - - Epinephrine - Адреналин - Epinefrina - - - Adrenaline to get the heart going - Для возобновления сердечной деятельности - Incrementa la frecuencia cardiaca - - - - - EXAMINE & TREATMENT - ОСМОТР И ЛЕЧЕНИЕ - EXAMINE & TREATMENT - EXAMINAR & TRATAMIENTO - EXAMINER & TRAITEMENTS - BADANIE & LECZENIE - - - STATUS - СОСТОЯНИЕ - STATUS - ESTADO - ÉTATS - STATUS - - - OVERVIEW - ОБЩАЯ ИНФОРМАЦИЯ - OVERVIEW - DESCRIPCIÓN - DESCRIPTION - OPIS - - - ACTIVITY LOG - ПРОВЕДЕННЫЕ МАНИПУЛЯЦИИ - ACTIVITY LOG - REGISTRO DE ACTIVIDAD - REGISTRE DES SOINS - LOGI AKTYWNOŚCI - - - QUICK VIEW - БЫСТРЫЙ ОСМОТР - QUICK VIEW - VISTA RÁPIDA - VUE RAPIDE - SZYBKI PODGLĄD - - - None - Не ранен - Ninguno - Aucun - Brak - - - Minor - Несрочная помощь - Menor - Mineur - Normalny - - - Delayed - Срочная помощь - Diferido - Urgent - Opóźniony - - - Immediate - Неотложная помощь - Inmediato - Immédiat - Natychmiastowy - - - Deceased - Морг - Fallecido - Décédé - Nie żyje - - - View triage Card - Смотреть первичную карточку - Ver Triage - Voir Carte de Triage - Pokaż kartę segregacyjną - - - Examine Patient - Осмотреть пациента - Examinar Paciente - Examiner Patient - Zbadaj pacjenta - - - Bandage / Fractures - Раны / переломы - Vendajes/Fracturas - Bandages / Fractures - Bandaże / Złamania - - - Medication - Медикаменты - Medicación - Médications - Leki - - - Airway Management - Дыхательные пути - Vías Aéreas - Gestion Des Voie REspiratoire - Drogi oddechowe - - - Advanced Treatments - Специальная медпомощь - Tratamientos Avanzados - Traitement Avancé - Zaawansowane zabiegi - - - Drag/Carry - Тащить/нести - Arrastrar/Cargar - Glisser/Porter - Ciągnij/Nieś - - - Toggle (Self) - Лечить себя/другого раненого - Activer (sois) - Przełącz (na siebie) - Alternar - - - Select triage status - Сортировка - Seleccionar estado de Triage - Selectioner l'état de Triage - Wybierz priorytet - - - Select Head - Выбрать голову - Seleccionar Cabeza - Selectioner Tête - Wybierz głowę - - - Select Torso - Выбрать торс - Seleccionar Torso - Selectioner Torse - Wybierz tors - - - Select Left Arm - Выбрать левую руку - Seleccionar Brazo Izquierdo - Selectioner Bras Gauche - Wybierz lewą rękę - - - Select Right Arm - Выбрать правую руку - Seleccionar Brazo Derecho - Selectioner Bras Droit - Wybierz prawą rękę - - - Select Left Leg - Выбрать левую ногу - Seleccionar Pierna Izquierda - Selectioner Jambe Gauche - Wybierz lewą nogę - - - Select Right Leg - Выбрать правую ногу - Seleccionar Pierna Derecha - Selectioner Jambe Droite - Wybierz prawą nogę - - - Head - Голова - Cabeza - Tête - Głowa - - - Torso - Торс - Torse - Tors - - - Left Arm - Левая рука - Brazo Izquierdo - Bras Gauche - Lewa ręka - - - Right Arm - Правая рука - Brazo Derecho - Bras Droit - Prawa ręka - - - Left Leg - Левая нога - Pierna Izquierda - Jambe Gauche - Lewa noga - - - Right Leg - Правая нога - Pierna Derecha - Jambe Droite - Prawa noga - - - Body Part: %1 - Часть тела: %1 - Parte del cuerpo: %1 - Partie du corps: %1 - Część ciała: %1 - - - Small - малого размера - Pequeña - Petite - małym - - - Medium - среднего размера - Mediana - moyenne - średnim - - - Large - большого размера - Grande - Grande - dużym - - - There are %2 %1 Open Wounds - %2 открытые раны %1 - Hay %2 Heridas Abiertas %1 - Il y a %2 %1 Blessure Ouverte - Widzisz otwarte rany w ilości %2 o %1 rozmiarze - - - There is 1 %1 Open Wound - Открытая рана %1 - Hay 1 Herida Abierta %1 - Il y a 1 blessure ouverte %1 - Widzisz 1 otwartą ranę o %1 rozmiarze - - - There is a partial %1 Open wound - Частично открытая рана %1 - Hay una herida parcial abierta %1 - Il y a une Blessure Patiellement Ouverte %1 - Widzisz częściowo otwartą ranę o %1 rozmiarze - - - There are %2 %1 Bandaged Wounds - %2 перевязанные раны %1 - Hay %2 Heridas %1 Vendadas - Il y a %2 %1 Blessure Bandée - Widzisz %2 zabandażowanych ran o %1 rozmiarze - - - There is 1 %1 Bandaged Wound - 1 перевязанная рана %1 - Hay 1 Herida Vendada %1 - Il y a 1 %1 Blessure Bandée - Widzisz 1 zabandażowaną ranę o %1 rozmiarze - - - There is a partial %1 Bandaged wound - Частично перевязанная рана %1 - Hay una Herida parcial %1 Vendada - Il y a %1 Blessure Partielment Bandée - Widzisz 1 częściowo zabandażowaną ranę o %1 rozmiarze - - - Normal breathing - Дыхание в норме - Respiración normal - Respiration Normale - Normalny oddech - - - No breathing - Дыхания нет - No respira - Apnée - Brak oddechu - - - Difficult breathing - Дыхание затруднено - Dificultad para respirar - Difficultée Respiratoire - Trudności z oddychaniem - - - Almost no breathing - Дыхания почти нет - Casi sin respirar - Respiration Faible - Prawie brak oddechu - - - Bleeding - Кровотечение - Sangrando - Seignement - Krwawienie zewnętrzne - - - in Pain - Испытывает боль - Con Dolor - A De La Douleur - W bólu - - - Lost a lot of Blood - Большая кровопотеря - Mucha Sangre perdida - A Perdu Bcp de Sang - Stracił dużo krwi - - - Tourniquet [CAT] - Жгут - Torniquete [CAT] - Garot [CAT] - Opaska uciskowa [CAT] - - - Nasopharyngeal Tube [NPA] - Назотрахеальная трубка - Torniquete [CAT] - Canule Naseaupharyngée [NPA] - Rurka nosowo-gardłowa [NPA] - - - - - Bandage (Basic) - Повязка (обычная) - Vendaje (Básico) - Bandage (Standard) - Bandaż (jałowy) - - - Used to cover a wound - Для перевязки ран - Utilizado para cubrir una herida - Utilisé Pour Couvrir Une Blessure - Używany w celu przykrycia i ochrony miejsca zranienia - - - A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. - Повязка, накладываемая поверх раны после остановки кровотечения. - Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. - C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper. - Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. - - - Packing Bandage - Тампонирующая повязка - Vendaje Compresivo - Bandage Mèche - Bandaż (uciskowy) - - - Used to pack medium to large wounds and stem the bleeding - Для тампонирования ран среднего и большого размера и остановки кровотечения. - Se utiliza para vendar heridas medianas y grandes y detener el sangrado - Utiliser pour remplire la cavité créé dans une blessure moyenne et grande. - Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. - - - A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. - Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. - Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. - Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma. - Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. - - - Bandage (Elastic) - Повязка (давящая) - Vendaje (Elástico) - Bandage (Élastique) - Bandaż (elastyczny) - - - Bandage kit, Elastic - Давящая повязка - Vendaje (Elástico) - Bandage Compressif Élastique - Zestaw bandaży elastycznych. - - - - - Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment. - Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. - Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada - - - Tourniquet (CAT) - Жгут - Torniquete (CAT) - Garot (CAT) - Staza (typ. CAT) - - - Slows down blood loss when bleeding - Уменьшает кровопотерю при кровотечении. - Reduce la velocidad de pérdida de sangre - Ralentit le seignement - Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. - - - A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. - Жгут используется для прижатия сосудов, приводящего к остановке или значительному уменьшению кровотечения и сокращению кровопотери. - Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre - Un appareil servent a compresser les artères et veines afin de reduire la perte de sang. - Opaska zaciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. - - - Splint - Шина - Férula - Attelle - Szyna - - - An immobilization device used to support, immobilize and to a degree compress the associated wound. Usually used on the limbs but can be used on the hip. - Приспособление для поддержки и иммобилизации конечности, а также частичного прижатия ее раны. Обычно накладывается на конечности, но может накладываться и на бедро. - Un dispositivo de inmovilización utilizado para apoyar, inmovilizar y comprimir la herida asociada. Normalmente se usa en las extremidades, pero puede ser utilizado en la cadera. - Un dispositif d'immobilisation servant a supporter, immobiliser, et meme comprimer les blessure relier a une fracture. Normalement utiliser sur les extrémités - Szyna jest urządzeniem służącym do wsparcia lub unieruchomienia kończyny lub kręgosłupa. - - - A Splint, for broken bones - Шина для переломов - Férula, para huesos rotos - Une attelle, pour les os brisé - Szyna, na złamane kości. - - - Morphine auto-injector - Морфин в автоматическом шприце - Morfina auto-inyectable - Auto-injecteur de Morphine - Autostrzykawka z morfiną - - - Used to combat moderate to severe pain experiences - Для снятия средних и сильных болевых ощущений. - Usado para combatir los estados dolorosos moderados a severos - Utiliser pour contrer les douleurs modéré à severes. - Morfina. Ma silne działanie przeciwbólowe. - - - An analgesic used to combat moderate to severe pain experiences. - Анальгетик для снятия средних и сильных болевых ощущений. - Analgésico usado para combatir los estados dolorosos de moderado a severo. - Un Analgésique puissant servant a contrer les douleur modéré a severe. - Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. - - - Atropin auto-injector - Атропин в автоматическом шприце - Atropina auto-inyectable - Auto-injecteur d'Atropine - Autostrzykawka AtroPen - - - Used in NBC scenarios - Применяется для защиты от ОМП - Usado en escenarios NBQ - Utiliser en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. - - - A drug used by the Military in NBC scenarios. - Препарат, используемый в войсках для защиты от оружия массового поражения. - Medicamento usado por Militares en escenarios NBQ - Médicament utilisé par l'armée en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. - - - Epinephrine auto-injector - Адреналин в автоматическом шприце - Epinefrina auto-inyectable - Auto-injecteur d'épinéphrine - Autostrzykawka EpiPen - - - Increase heart rate and counter effects given by allergic reactions - Стимулирует работу сердца и купирует аллергические реакции. - Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas - Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique - Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne - - - A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. - Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшением вероятности благоприятного исхода. - Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. - Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme. - EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. - - - Plasma IV (1000ml) - Плазма для в/в вливания (1000 мл) - Plasma Intravenoso (1000ml) - Plasma Sanguin IV (1000ml) - Osocze IV (1000ml) - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer les volume sanguin - Składnik krwi, używany do zwiększenia jej objętości. - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer le volume sanguin et remplace les plaquettes. - Składnik krwi, używany do zwiększenia jej objętości. - - - Plasma IV (500ml) - Плазма для в/в вливания (500 мл) - Plasma Intravenoso (500ml) - Plasma Sanguin IV (500ml) - Osocze IV (500ml) - - - Plasma IV (250ml) - Плазма для в/в вливания (250 мл) - Plasma Intravenoso (250ml) - Plasma Sanguin (250ml) - Osocze IV (250ml) - - - Blood IV (1000ml) - Кровь для переливания (1000 мл) - Sangre Intravenosa (1000ml) - Cullot Sanguin IV (1000ml) - Krew IV (1000ml) - - - Blood IV, for restoring a patients blood (keep cold) - Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) - Sangre Intravenosa, para restarurar el volumen sanguíneo (mantener frío) - Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré) - Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych - - - O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. - Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. - Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. - Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. - Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdido. Uso habitual durante el transporte de heridos. - - - Blood IV (500ml) - Кровь для переливания (500 мл) - Sangre Intravenosa (500ml) - Cullot Sanguin IV (500ml) - Krew IV (500ml) - - - Blood IV (250ml) - Кровь для переливания (250 мл) - Sangre Intravenosa (250ml) - Cullot Sanguin IV (250ml) - Krew IV (250ml) - - - Saline IV (1000ml) - Физраствор для в/в вливания (1000 мл) - Solución Salina Intravenosa (1000ml) - solution Saline 0.9% IV (1000ml) - Solanka 0,9% IV (1000ml) - - - Saline IV, for restoring a patients blood - Пакет физраствора для возмещения объема потерянной крови - Solución Salina Intravenosa, para restaurar el volumen sanguíneo - Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel - Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta - - - A medical volume-replenishing agent introduced into the blood system through an IV infusion. - Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания. - Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. - Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse - Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). - - - Saline IV (500ml) - Физраствор для в/в вливания (500 мл) - Solución Salina Intravenosa (500ml) - Solution Saline 0.9% IV (500ml) - Solanka 0,9% IV (500ml) - - - Saline IV (250ml) - Физраствор для в/в вливания (250 мл) - Solución Salina Intravenosa (250ml) - Solution Saline 0.9% IV (250ml) - Solanka 0,9% IV (250ml) - - - Basic Field Dressing (QuikClot) - Первичный перевязочный пакет (QuikClot) - Vendaje Básico (Coagulante) - Bandage Regulier (Coagulant) - Opatrunek QuikClot - - - QuikClot bandage - Гемостатический пакет QuikClot - Venda Coagulante - Bandage coagulant - Podstawowy opatrunek stosowany na rany - - - - - Un bandage servant a coaguler les seignements mineur à moyen. - Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. - Vendaje Hemostático con coagulante que detiene el sangrado. - - - Nasopharyngeal tube - Назотрахеальная трубка - Cánula Nasofaríngea - Canule Nasopharyngée - Rurka nosowo-gardłowa - - - Nasopharyngeal tube, for mataining the airway - Назотрахеальная трубка для поддержания проходимости дыхательных путей - Cánula Nasofaríngea, mantiene despejadas las vías aéreas - Canule Naso, sert a mintenir ouverte les voix respiratoire. - Rurka nosowo-gardłowa, używana w celu udrożnienia dróg oddechowych - - - Nasopharyngeal airway. An airway adjunct inserted nasally which is then used to keep the airway patent which allows the field medic to ventilate the patient as appropriate. - Назотрахеальная трубка. Интубационная трубка, вводимая через нос для поддержания проходимости дыхательных путей, позволяющая санитару при необходимости осуществлять вентиляцию легких раненого. - Cánula Nasofaríngea. Dispositivo de vía aérea insertado por vía nasal que se utiliza para mantener libre la vía aérea permitiendo ventilar al paciente según sea apropiado. - Canule Naso. Dispositif, incere par le nez, servant a maintenir les voie respiratoire du patient ouverte, permetant sa ventilation par le personel medical. - Rurki nosowo-gardłowe stosuje się do ratunkowego udrożnienia dróg oddechowych u osób nieprzytomnych. Rurka nosowo-gardłowa jest znacznie lepiej tolerowana np. przez osobę przytomną, niż rurka ustno-gardłowa. - - - Oropharyngeal tube - Оротрахеальная трубка - Cánula Orofaríngea - Canule Oropharyngée - Rurka ustno-gardłowa - - - Oropharyngeal Airway, for maintaining the airway - Оротрахеальная трубка для поддержания проходимости дыхательных путей - Cánula Orofaríngea, para mantener despejada las vía aéreas - Canule Oropharyngée, sert a maintenir les voie respiratoires ouverte. - Rurka ustno-gardłowa, używana w celu udrożnienia dróg oddechowych - - - Oropharyngeal airway. An airway adjunct inserted via the oral airway (i.e. mouth) which is then used to keep the airway patent which allows the field medic to ventilate the patient as appropriate. - Оротрахеальная трубка. Интубационная трубка, вводимая через рот для поддержания проходимости дыхательных путей, позволяющая санитару при необходимости осуществлять вентиляцию легких раненого. - Cánula Orofaríngea. Dispositivo de vía aérea insertado a través de la vía respiratoria oral (es decir, la boca) que se utiliza para mantener despejada las vías aéreas permitiendo ventilar al paciente según sea apropiado. - Canule Oropharyngée. Un dispositif, inseré par la bouche, qui est utiliser pour garder les voie respiratoire overte et permetre la ventilation par le personel de soin. - Rurkę ustno - gardłową stosuje się podczas zabiegów sztucznej wentylacji płuc. Zadaniem rurki ustno - gardłowej jest zapewnienie drożności górnych dróg oddechowych, a użycie jej zapewnia ratownikowi komfort prowadzenia zabiegów i podnosi skuteczność prowadzonej akcji. - - - Liquid skin - «Жидкая кожа» - Pomada tópica - Pomade Topique - Bandaż (w płynie) - - - Liquid Skin, for use on burns - Препарат «жидкая кожа» для лечения ожогов - Pomada tópica, para quemaduras - Pomade Topique, appliquer sur les brulures. - Bandaż w płynie, używany na poparzenia i lekkie urazy - - - Liquid bandage is a topical skin treatment for minor cuts and sores that is sold by several companies. The products are mixtures of chemicals which create a polymeric layer which binds to the skin. This protects the wound by keeping dirt and germs out, and keeping moisture in. - Медицинский клей («жидкая повязка») – наружное средство для лечения небольших порезов и ссадин. Продукт представляет собой смесь химических веществ, создающих полимерный слой, который приклеивается к коже. Таким образом предотвращается попадание в рану грязи и микробов, а также высыхание раны. - Bandage liquide est un traitement de la peau topique pour les coupures et les plaies mineures qui est vendu par plusieurs compagnies. Les produits sont des mélanges de produits chimiques qui créent une couche polymère qui se lie à la peau. Cela protège la plaie en gardant la saleté et les germes, et de garder l'humidité. - Opatrunek nakładany na skórę atomizerem tworzący na powierzchni skóry warstwę przyśpieszającą gojenie - stosowany przy drobnych ranach i poparzeniach. - Líquido tópico para pequeños cortes, heridas y quemaduras. Compuesto de sustancias químicas que crean una capa polimérica que se une a la piel. Esto protege la herida manteniéndola libre de suciedad y gérmenes. - - - Chest seal - Окклюзионная повязка - Parche Oclusivo - Bandage Occlusif - Opatrunek Chest Seal - - - A Chest seal - Окклюзионная повязка на грудную клетку - Parche Torácico - Bandage toracique pour les pneumothorax - Opatrunek uszczelniający na rany penetracyjne klatki piersiowej - - - Chest Seal is a high performance occlusive dressing designed to treat penetrating chest wounds along with securing other wound dressings. The patented hydro-gel provides superior adhesion to the wound area even when moisture, pleural fluids or blood is present. It will work on patients with heavy perspiration or very wet environments. The highly aggressive tack adhesive of the hydro-gel will enable the dressing to conform and hold to the patient's body. - Окклюзионная повязка предназначена для лечения проникающих ранений в грудную клетку с одновременной фиксацией других повязок. Патентованный гидрогель обеспечивает отличное крепление к области ранения даже при наличии влаги, плевральной жидкости или крови. Может применяться даже при обильном потоотделении или в очень влажной среде. Благодаря высокоадгезивному пластырю повязка плотно прилегает к телу раненого и не отклеивается. - Le pensement occlusif est un pansement occlusif de haute performance conçu pour traiter les plaies pénétrantes de la poitrine ainsi que la sécurisation d'autres pansements. L'hydro-gel brevetée offre une adhérence supérieure à la surface de la plaie, même lorsque l'humidité, liquide pleural ou le sang est présent, elle le laisse couller. Il fonctionne sur les patients atteints d'une transpiration abondante ou dans des environnements très humides. - Chest Seal to opatrunek przeznaczony do opatrywania penetracyjnych (otwartych) ran klatki piersiowej, staniowiących sytuację zagrażającą życiu wskutek możliwości powstawania odmy prężnej. Jest to druga co do częstotliwości występowania przyczyna śmierci na polu walki, której można zapobiec stosując odpowiednie procedury medyczne. Chest Seal charakteryzuje się trwałym i szczelnym przyleganiem do skóry pokrytej krwią, piaskiem, włosami, potem lub wodą. Materiałem klejącym opatrunku uszczelniającego jest środek hydrożelowy umożliwiający wielokrotne odklejanie i przyklejanie opatrunku, co pozwala na wentylowanie rany. - Vendaje oclusivo utilizado para el tratamiento de las lesiones penetrantes en el tórax - - - Personal Aid Kit - Аптечка - Kit de Soporte Vital Avanzado - Équipement de support Vitale - Apteczka osobista - - - Includes various treatment kit needed for stitching or advanced treatment - Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. - Incluye material médico para tratamientos avanzados - Inclue du matériel medical pour les traitement avancé, tel les point de suture. - Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego - - - - - - - - - Surgical Kit - Хирургический набор - Kit Quirúrgico - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - - - Bodybag - Мешок для трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Bolsa para cadáveres - - - - - Canceled - Отменено - Cancelado - - - Action has been canceled - Действие отменено - Acción cancelada - - - You moved away - Вы отошли от раненого - Te estás alejando - - - Blood Pressure - Артериальное давление - Presión Arterial - - - Checking Blood Pressure.. - Проверка артериального давления... - Comprobando Presión Arterial... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a blood pressure of %2/%3 - Артериальное давление %2/%3 - La Presión Arterial es %2/%3 - - - You find a low blood pressure - Давление низкое - La Presión Arterial es baja - - - You find a normal blood pressure - Давление нормальное - La Presión Arterial es normal - - - You find a high blood pressure - Давление высокое - La Presión Arterial es alta - - - You find no blood pressure - Давления нет - No hay Presión Arterial - - - You fail to find a blood pressure - Артериальное давление не определяется - No puedes encontrar Presión Arterial - - - Pulse - Пульс - Pulso - - - Checking Heart Rate.. - Проверка пульса... - Comprobando Pulso... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a Heart Rate of %2 - Пульс %2 уд./мин. - El Pulso es %2 - - - You find a weak Heart Rate - Пульс слабый - El Pulso es débil - - - You find a strong Heart Rate - Пульс учащенный - El Pulso está acelerado - - - You find a normal Heart Rate - Пульс в норме - El Pulso es bueno - - - You find no Heart Rate - Пульс не прощупывается - No tiene Pulso - - - Response - Реакция - Reacciona - - - You check response of patient - Вы проверяете реакцию раненого - Compruebas si el paciente reacciona - - - %1 is responsive - %1 реагирует на раздражители - %1 ha reaccionado - - - - %1 is not responsive - %1 не реагирует - %1 no reacciona - - - You checked %1 - Вы осмотрели раненого %1 - Examinas a %1 - - - Bandaging - Перевязка... - Vendando - - - Bandaged - Повязка наложена - Vendado - - - You apply a bandage on %1 - %2 - Вы перевязали раненого %1 (%2) - Aplicas vendaje a %1 en %2 - - - %1 is bandaging you - %1 перевязывает вас - %1 te está vendando - - - You start stitching injures from %1 - %2 - Вы зашиваете ранения от %1 (%2) - Estás suturando heridas de %1 en %2 - - - Stitching - Наложение швов - Suturando - - - You treat the airway of %1 - Вы интубируете раненого %1 - Estás intubando a %1 - - - Airway - Дыхательные пути - Vías Aéreas - - - %1 is treating your aiway - %1 проводит вам интубацию - %1 te está intubando - - - - diff --git a/TO_MERGE/cse/sys_medical/ui/define.hpp b/TO_MERGE/cse/sys_medical/ui/define.hpp deleted file mode 100644 index c521de470f..0000000000 --- a/TO_MERGE/cse/sys_medical/ui/define.hpp +++ /dev/null @@ -1,797 +0,0 @@ - -#ifndef CSE_DEFINE_H -#define CSE_DEFINE_H -// define.hpp - -#define true 1 -#define false 0 - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_ANIMATED_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define CT_LISTNBOX 102 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define ST_TITLE ST_TITLE_BAR + ST_CENTER - -// Slider styles -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 - -#define SL_TEXTURES 0x10 - -// Listbox styles -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontCSE "PuristaMedium" - -class cse_gui_backgroundBase { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - colorBackground[] = {0,0,0,0}; - colorText[] = {1, 1, 1, 1}; - font = FontCSE; - text = ""; - sizeEx = 0.032; -}; -class cse_gui_editBase -{ - access = 0; - type = 2; - x = 0; - y = 0; - h = 0.04; - w = 0.2; - colorBackground[] = - { - 0, - 0, - 0, - 1 - }; - colorText[] = - { - 0.95, - 0.95, - 0.95, - 1 - }; - colorSelection[] = - { - "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", - "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", - "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", - 1 - }; - autocomplete = ""; - text = ""; - size = 0.2; - style = "0x00 + 0x40"; - font = "PuristaMedium"; - shadow = 2; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorDisabled[] = - { - 1, - 1, - 1, - 0.25 - }; -}; - - - -class cse_gui_buttonBase { - idc = -1; - type = 16; - style = ST_LEFT; - text = ""; - action = ""; - x = 0.0; - y = 0.0; - w = 0.25; - h = 0.04; - size = 0.03921; - sizeEx = 0.03921; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - /*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"}; - colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8}; - */ - - colorBackground[] = {1,1,1,0.95}; - colorbackground2[] = {1,1,1,0.95}; - colorDisabled[] = {1,1,1,0.6}; - colorFocused[] = {1,1,1,1}; - colorBackgroundFocused[] = {1,1,1,1}; - periodFocus = 1.2; - periodOver = 0.8; - default = false; - class HitZone { - left = 0.00; - top = 0.00; - right = 0.00; - bottom = 0.00; - }; - - class ShortcutPos { - left = 0.00; - top = 0.00; - w = 0.00; - h = 0.00; - }; - - class TextPos { - left = 0.002; - top = 0.0004; - right = 0.0; - bottom = 0.00; - }; - textureNoShortcut = ""; - animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa"; - animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - period = 0.5; - font = FontCSE; - soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0}; - soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; - class Attributes { - font = FontCSE; - color = "#E5E5E5"; - align = "center"; - shadow = "true"; - }; - class AttributesImage { - font = FontCSE; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; -}; - -class cse_gui_RscProgress { - type = 8; - style = 0; - colorFrame[] = {1,1,1,0.7}; - colorBar[] = {1,1,1,0.7}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; -}; - - -class cse_gui_staticBase { - idc = -1; - type = CT_STATIC; - x = 0.0; - y = 0.0; - w = 0.183825; - h = 0.104575; - style = ST_LEFT; - font = FontCSE; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - text = ""; -}; - -class RscListBox; -class cse_gui_listBoxBase : RscListBox{ - type = CT_LISTBOX; - style = ST_MULTI; - font = FontCSE; - sizeEx = 0.03921; - color[] = {1, 1, 1, 1}; - colorText[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - period = 1.2; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; - - -class cse_gui_listNBox { - access = 0; - type = CT_LISTNBOX;// 102; - style =ST_MULTI; - w = 0.4; - h = 0.4; - font = FontCSE; - sizeEx = 0.031; - - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - columns[] = {0.0}; - color[] = {1, 1, 1, 1}; - - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - rows = 1; - - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - maxHistoryDelay = 1; - soundSelect[] = {"", 0.1, 1}; - period = 1; - shadow = 2; - class ScrollBar { - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - border = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "#(argb,8,8,3)color(1,1,1,1)"; - }; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - -class RscCombo; -class cse_gui_comboBoxBase: RscCombo { - idc = -1; - type = 4; - style = "0x10 + 0x200"; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - color[] = {0,0,0,0.6}; - colorActive[] = {1,0,0,1}; - colorBackground[] = {0,0,0,1}; - colorDisabled[] = {1,1,1,0.25}; - colorScrollbar[] = {1,0,0,1}; - colorSelect[] = {0,0,0,1}; - colorSelectBackground[] = {1,1,1,0.7}; - colorText[] = {1,1,1,1}; - - arrowEmpty = ""; - arrowFull = ""; - wholeHeight = 0.45; - font = FontCSE; - sizeEx = 0.031; - soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; - soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; - soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; - maxHistoryDelay = 1.0; - class ScrollBar - { - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - border = ""; - }; - class ComboScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - - -class cse_gui_mapBase { - moveOnEdges = 1; - x = "SafeZoneXAbs"; - y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "SafeZoneWAbs"; - h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 100; // Use 100 to hide markers - style = 48; - shadow = 0; - - ptsPerSquareSea = 5; - ptsPerSquareTxt = 3; - ptsPerSquareCLn = 10; - ptsPerSquareExp = 10; - ptsPerSquareCost = 10; - ptsPerSquareFor = 9; - ptsPerSquareForEdge = 9; - ptsPerSquareRoad = 6; - ptsPerSquareObj = 9; - showCountourInterval = 0; - scaleMin = 0.001; - scaleMax = 1.0; - scaleDefault = 0.16; - maxSatelliteAlpha = 0.85; - alphaFadeStartScale = 0.35; - alphaFadeEndScale = 0.4; - colorBackground[] = {0.969,0.957,0.949,1.0}; - colorSea[] = {0.467,0.631,0.851,0.5}; - colorForest[] = {0.624,0.78,0.388,0.5}; - colorForestBorder[] = {0.0,0.0,0.0,0.0}; - colorRocks[] = {0.0,0.0,0.0,0.3}; - colorRocksBorder[] = {0.0,0.0,0.0,0.0}; - colorLevels[] = {0.286,0.177,0.094,0.5}; - colorMainCountlines[] = {0.572,0.354,0.188,0.5}; - colorCountlines[] = {0.572,0.354,0.188,0.25}; - colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6}; - colorCountlinesWater[] = {0.491,0.577,0.702,0.3}; - colorPowerLines[] = {0.1,0.1,0.1,1.0}; - colorRailWay[] = {0.8,0.2,0.0,1.0}; - colorNames[] = {0.1,0.1,0.1,0.9}; - colorInactive[] = {1.0,1.0,1.0,0.5}; - colorOutside[] = {0.0,0.0,0.0,1.0}; - colorTracks[] = {0.84,0.76,0.65,0.15}; - colorTracksFill[] = {0.84,0.76,0.65,1.0}; - colorRoads[] = {0.7,0.7,0.7,1.0}; - colorRoadsFill[] = {1.0,1.0,1.0,1.0}; - colorMainRoads[] = {0.9,0.5,0.3,1.0}; - colorMainRoadsFill[] = {1.0,0.6,0.4,1.0}; - colorGrid[] = {0.1,0.1,0.1,0.6}; - colorGridMap[] = {0.1,0.1,0.1,0.6}; - colorText[] = {1, 1, 1, 0.85}; -font = "PuristaMedium"; -sizeEx = 0.0270000; -stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; -stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; -onMouseButtonClick = ""; -onMouseButtonDblClick = ""; - - fontLabel = "PuristaMedium"; - sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontGrid = "TahomaB"; - sizeExGrid = 0.02; - fontUnits = "TahomaB"; - sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontNames = "PuristaMedium"; - sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2"; - fontInfo = "PuristaMedium"; - sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontLevel = "TahomaB"; - sizeExLevel = 0.02; - text = "#(argb,8,8,3)color(1,1,1,1)"; - class ActiveMarker { - color[] = {0.30, 0.10, 0.90, 1.00}; - size = 50; - }; - class Legend - { - x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)"; - y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - font = "PuristaMedium"; - sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - colorBackground[] = {1,1,1,0.5}; - color[] = {0,0,0,1}; - }; - class Task - { - icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa"; - iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa"; - iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa"; - iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa"; - iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa"; - color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"}; - colorCreated[] = {1,1,1,1}; - colorCanceled[] = {0.7,0.7,0.7,1}; - colorDone[] = {0.7,1,0.3,1}; - colorFailed[] = {1,0.3,0.2,1}; - size = 27; - importance = 1; - coefMin = 1; - coefMax = 1; - }; - class Waypoint - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class WaypointCompleted - { - icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class CustomMark - { - icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa"; - size = 24; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {0,0,0,1}; - }; - class Command - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - size = 18; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {1,1,1,1}; - }; - class Bush - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = "14/2"; - importance = "0.2 * 14 * 0.05 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Rock - { - icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa"; - color[] = {0.1,0.1,0.1,0.8}; - size = 12; - importance = "0.5 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class SmallTree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.6 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Tree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.9 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class busstop - { - icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class fuelstation - { - icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class hospital - { - icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class church - { - icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class lighthouse - { - icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class power - { - icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powersolar - { - icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwave - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwind - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class quay - { - icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class shipwreck - { - icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class transmitter - { - icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class watertower - { - icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class Cross - { - icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Chapel - { - icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Bunker - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 14; - importance = "1.5 * 14 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fortress - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 16; - importance = "2 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fountain - { - icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa"; - size = 11; - importance = "1 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Ruin - { - icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa"; - size = 16; - importance = "1.2 * 16 * 0.05"; - coefMin = 1; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Stack - { - icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa"; - size = 20; - importance = "2 * 16 * 0.05"; - coefMin = 0.9; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Tourism - { - icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa"; - size = 16; - importance = "1 * 16 * 0.05"; - coefMin = 0.7; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class ViewTower - { - icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa"; - size = 16; - importance = "2.5 * 16 * 0.05"; - coefMin = 0.5; - coefMax = 4; - color[] = {0,0,0,1}; - }; -}; - -#endif \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/ui/menu.hpp b/TO_MERGE/cse/sys_medical/ui/menu.hpp deleted file mode 100644 index a9ce19d32e..0000000000 --- a/TO_MERGE/cse/sys_medical/ui/menu.hpp +++ /dev/null @@ -1,612 +0,0 @@ -class cse_sys_medicalMenu { - idd = 314412; - movingEnable = true; - onLoad = "uiNamespace setVariable ['cse_sys_medicalMenu', _this select 0]; ['cse_sys_medical', true] call cse_fnc_gui_blurScreen; [_this select 0] spawn cse_fnc_onMenuOpen_CMS;"; - onUnload = " ['cse_sys_medical', false] call cse_fnc_gui_blurScreen; ['cse_onMenuOpen_CMS', 'onEachFrame'] call BIS_fnc_removeStackedEventHandler;"; - - class controlsBackground { - - class HeaderBackground: cse_gui_backgroundBase{ - idc = -1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "#(argb,8,8,3)color(0,0,0,0)"; - //moving = 1; - }; - class CenterBackground: HeaderBackground { - /*x = 0.138; - y = 0.17; - w = 1.2549; - h = 0.836601;*/ - y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - h = "16 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - //text = "#(argb,8,8,3)color(0,0,0,0.65)"; - //text = "cse\cse_sys_medical\data\ui_background.paa"; - text = "#(argb,8,8,3)color(0,0,0,0.8)"; - colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - }; - class BottomBackground: CenterBackground { - y = "(18.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))"; - h = "9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; - }; - - class controls { - class HeaderName { - idc = 1; - type = CT_STATIC; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - text = ""; - }; - - class IconsBackGroundBar: cse_gui_backgroundBase{ - idc = -1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - //text = "#(argb,8,8,3)color(0,0,0,0.4)"; - text ="cse\cse_sys_medical\data\cse_background_img.paa"; - colorText[] = {1, 1, 1, 0.0}; - //moving = 1; - }; - class CatagoryLeft: HeaderName { - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_CENTER; - //colorText[] = {0.6, 0.7, 1.0, 1}; - colorText[] = {1, 1, 1.0, 0.9}; - colorBackground[] = {0,0,0,0}; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; - text = $STR_CSE_UI_EXAMINE_TREATMENT; - }; - class CatagoryCenter: CatagoryLeft { - x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = $STR_CSE_UI_STATUS; - }; - class CatagoryRight: CatagoryCenter{ - x = "25.66 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = $STR_CSE_UI_OVERVIEW; - }; - class Line: cse_gui_backgroundBase { - idc = -1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "37 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.03 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "#(argb,8,8,3)color(1,1,1,0.5)"; - }; - - class iconImg1: cse_gui_backgroundBase { - idc = 111; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)"; - colorBackground[] = {0,0,0,1}; - colorPicture[] = {1,1,1,1}; - colorText[] = {1,1,1,1}; - text = "cse\cse_sys_medical\data\icons\triage_card_small.paa"; - }; - class iconImg2: iconImg1 { - idc = 112; - x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_medical\data\icons\examine_patient_small.paa"; - }; - class iconImg3: iconImg1 { - idc = 113; - x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_medical\data\icons\bandage_fracture_small.paa"; - }; - class iconImg4: iconImg1 { - idc = 114; - x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_medical\data\icons\medication_small.paa"; - }; - class iconImg5: iconImg1 { - idc = 115; - x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_medical\data\icons\airway_management_small.paa"; - }; - class iconImg6: iconImg1 { - idc = 116; - x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_medical\data\icons\advanced_treatment_small.paa"; - }; - class iconImg7: iconImg1 { - idc = 117; - x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_medical\data\icons\icon_carry.paa"; // to be replaced later on! - }; - class iconImg8: iconImg1 { - idc = 118; - x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_medical\data\icons\toggle_self_small.paa"; - }; - - - class BtnIconLeft1: cse_gui_buttonBase { - idc = 11; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)"; - /*animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.3)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.1)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.95)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.2)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.3)";*/ - - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)"; - action = "['triage'] call cse_fnc_displayOptions_CMS;"; - }; - class BtnIconLeft2: BtnIconLeft1 { - idc = 12; - x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['examine'] call cse_fnc_displayOptions_CMS;"; - }; - class BtnIconLeft3: BtnIconLeft1 { - idc = 13; - x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['bandage'] call cse_fnc_displayOptions_CMS;"; - }; - class BtnIconLeft4: BtnIconLeft1 { - idc = 14; - x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['medication'] call cse_fnc_displayOptions_CMS;"; - }; - class BtnIconLeft5: BtnIconLeft1 { - idc = 15; - x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['airway'] call cse_fnc_displayOptions_CMS;"; - }; - class BtnIconLeft6: BtnIconLeft1 { - idc = 16; - x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['advanced'] call cse_fnc_displayOptions_CMS;"; - }; - class BtnIconLeft7: BtnIconLeft1 { - idc = 17; - x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['drag'] call cse_fnc_displayOptions_CMS;"; - }; - class BtnIconLeft8: BtnIconLeft1 { - idc = 18; - x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['toggle'] call cse_fnc_displayOptions_CMS;"; - }; - - - class TriageCardList: cse_gui_listBoxBase { - idc = 212; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0}; - }; - - - // Left side - class BtnMenu1: BtnIconLeft1 { - idc = 20; - y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = ""; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.9)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - /*animTextureNormal = "cse\cse_sys_medical\data\cse_background_img.paa"; - animTextureDisabled = "cse\cse_sys_medical\data\cse_background_img.paa"; - animTextureOver = "cse\cse_sys_medical\data\cse_background_img.paa"; - animTextureFocused = "cse\cse_sys_medical\data\cse_background_img.paa"; - animTexturePressed = "cse\cse_sys_medical\data\cse_background_img.paa"; - animTextureDefault = "cse\cse_sys_medical\data\cse_background_img.paa";*/ - - action = ""; - }; - class BtnMenu2: BtnMenu1 { - idc = 21; - y = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu3: BtnMenu1 { - idc = 22; - y = "7.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu4: BtnMenu1 { - idc = 23; - y = "8.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text =""; - }; - class BtnMenu5: BtnMenu1 { - idc = 24; - y = "9.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu6: BtnMenu1 { - idc = 25; - y = "10.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu7: BtnMenu1 { - idc = 26; - y = "12 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu8: BtnMenu1 { - idc = 27; - y = "13.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - - - - // center - - class bodyImgBackground: cse_gui_backgroundBase { - idc = -1; - x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "12.33 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - colorBackground[] = {1,1,1,1}; - colorPicture[] = {1,1,1,1}; - colorText[] = {1,1,1,1}; - text = "cse\cse_sys_medical\data\body_background.paa"; - }; - class bodyImgHead: bodyImgBackground { - idc = 50; - x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "12.33 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - colorBackground[] = {1,1,1,1}; - colorPicture[] = {1,1,1,1}; - colorText[] = {1,1,1,1}; - text = "cse\cse_sys_medical\data\body_head.paa"; - }; - - class bodyImgTorso: bodyImgHead { - idc = 51; - text = "cse\cse_sys_medical\data\body_torso.paa"; - }; - class bodyImgArms_l: bodyImgHead { - idc = 52; - text = "cse\cse_sys_medical\data\body_arm_left.paa"; - }; - class bodyImgArms_r: bodyImgHead { - idc = 53; - text = "cse\cse_sys_medical\data\body_arm_right.paa"; - }; - class bodyImgLegs_l: bodyImgHead { - idc = 54; - text = "cse\cse_sys_medical\data\body_leg_left.paa"; - }; - class bodyImgLegs_r: bodyImgHead { - idc = 55; - text = "cse\cse_sys_medical\data\body_leg_right.paa"; - }; - - - class selectHead: cse_gui_buttonBase { - idc = 301; - x = "18.8 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "1.4 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)"; - /*animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.4)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.4)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.99)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.99)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.4)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.4)";*/ - - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)"; - action = "CSE_SELECTED_BODY_PART_CMS = 'head'; [CSE_SYS_MEDICAL_INTERACTION_TARGET] spawn cse_fnc_updateUIInfo_CMS;"; - }; - class selectTorso : selectHead { - idc = 302; - x = "18.4 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "2.2 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "4.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = "CSE_SELECTED_BODY_PART_CMS = 'body'; [CSE_SYS_MEDICAL_INTERACTION_TARGET] spawn cse_fnc_updateUIInfo_CMS;"; - }; - class selectLeftArm: selectHead{ - idc = 303; - x = "17.4 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "1.1 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "4.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = "CSE_SELECTED_BODY_PART_CMS = 'hand_r'; [CSE_SYS_MEDICAL_INTERACTION_TARGET] spawn cse_fnc_updateUIInfo_CMS;"; - }; - class selectRightArm: selectLeftArm{ - idc = 304; - x = "20.6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "CSE_SELECTED_BODY_PART_CMS = 'hand_l'; [CSE_SYS_MEDICAL_INTERACTION_TARGET] spawn cse_fnc_updateUIInfo_CMS;"; - }; - class selectLeftLeg :selectHead { - idc = 305; - x = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "9.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "1.1 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = "CSE_SELECTED_BODY_PART_CMS = 'leg_r'; [CSE_SYS_MEDICAL_INTERACTION_TARGET] spawn cse_fnc_updateUIInfo_CMS;"; - }; - class selectRightLeg :selectLeftLeg { - idc = 306; - x = "19.6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "CSE_SELECTED_BODY_PART_CMS = 'leg_l'; [CSE_SYS_MEDICAL_INTERACTION_TARGET] spawn cse_fnc_updateUIInfo_CMS;"; - }; - - - class TriageTextBottom: HeaderName { - idc = 2000; - x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "16.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_CENTER; - colorText[] = {1, 1, 1.0, 1}; - colorBackground[] = {0,0.0,0.0,0.7}; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - }; - - - - // Right side - - class InjuryList: cse_gui_listBoxBase { - idc = 213; - x = "25.66 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5}; - }; - - // bottom - - // activity log - - class ActivityLogHeader: CatagoryLeft { - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "18.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_CENTER; - colorText[] = {0.6, 0.7, 1.0, 1}; - colorBackground[] = {0,0,0,0}; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = $STR_CSE_UI_ACTIVITY_LOG; - }; - class QuickViewHeader: ActivityLogHeader { - x = "19.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = $STR_CSE_UI_QUICK_VIEW; - }; - class LineBottomHeaders: Line { - y = "19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - }; - class ActivityLog: InjuryList { - idc = 214; - style = 16; - type = 102; - rows=1; - colorBackground[] = {0, 0, 0, 1}; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "(19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))"; - w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0}; - columns[] = {0.0, 0.08}; - canDrag=true; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - }; - - class QuikViewLog: InjuryList { - idc = 215; - style = 16; - type = 102; - rows=1; - colorBackground[] = {0, 0, 0, 1}; - x = "21.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "(19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))"; - w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0}; - - columns[] = {0.0, 0.08}; - canDrag=true; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - }; - - class selectTriageStatus: cse_gui_buttonBase { - idc = 2001; - x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "16.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_CENTER; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)"; - action = "[] call cse_fnc_dropDownTriageCard_CMS;"; - }; - class selectTriageStatusNone: selectTriageStatus { - idc = 2002; - x = 0; - y = 0; - w = 0; - h = 0; - text = $STR_CSE_UI_TRIAGE_NONE; - style = ST_CENTER; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)"; - action = "[] call cse_fnc_dropDownTriageCard_CMS; [CSE_SYS_MEDICAL_INTERACTION_TARGET,0] call cse_fnc_setTriageStatus_CMS;"; - }; - - class selectTriageStatusMinor: selectTriageStatus { - idc = 2003; - x = 0; - y = 0; - w = 0; - h = 0; - text = $STR_CSE_UI_TRIAGE_MINOR; - style = ST_CENTER; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - animTextureNormal = "#(argb,8,8,3)color(0,0.5,0,0.9)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0.5,0,0.9)"; - animTextureOver = "#(argb,8,8,3)color(0,0.5,0,0.9)"; - animTextureFocused = "#(argb,8,8,3)color(0,0.5,0,0.9)"; - animTexturePressed = "#(argb,8,8,3)color(0,0.5,0,0.9)"; - animTextureDefault = "#(argb,8,8,3)color(0,0.5,0,0.9)"; - action = "[] call cse_fnc_dropDownTriageCard_CMS; [CSE_SYS_MEDICAL_INTERACTION_TARGET,1] call cse_fnc_setTriageStatus_CMS;"; - }; - class selectTriageStatusDelayed: selectTriageStatus { - idc = 2004; - x = 0; - y = 0; - w = 0; - h = 0; - text = $STR_CSE_UI_TRIAGE_DELAYED; - style = ST_CENTER; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - animTextureNormal = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; - animTextureDisabled = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; - animTextureOver = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; - animTextureFocused = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; - animTexturePressed = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; - animTextureDefault = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; - action = "[] call cse_fnc_dropDownTriageCard_CMS; [CSE_SYS_MEDICAL_INTERACTION_TARGET,2] call cse_fnc_setTriageStatus_CMS;"; - }; - class selectTriageStatusImmediate: selectTriageStatus { - idc = 2005; - x = 0; - y = 0; - w = 0; - h = 0; - text = $STR_CSE_UI_TRIAGE_IMMEDIATE; - style = ST_CENTER; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - animTextureNormal = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; - animTextureDisabled = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; - animTextureOver = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; - animTextureFocused = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; - animTexturePressed = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; - animTextureDefault = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; - action = "[] call cse_fnc_dropDownTriageCard_CMS; [CSE_SYS_MEDICAL_INTERACTION_TARGET,3] call cse_fnc_setTriageStatus_CMS;"; - }; - class selectTriageStatusDeceased: selectTriageStatus { - idc = 2006; - x = 0; - y = 0; - w = 0; - h = 0; - text = $STR_CSE_UI_TRIAGE_DECEASED; - style = ST_CENTER; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)"; - action = "[] call cse_fnc_dropDownTriageCard_CMS; [CSE_SYS_MEDICAL_INTERACTION_TARGET,4] call cse_fnc_setTriageStatus_CMS;"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_medical/variable_defines.sqf b/TO_MERGE/cse/sys_medical/variable_defines.sqf deleted file mode 100644 index ae8a5bf509..0000000000 --- a/TO_MERGE/cse/sys_medical/variable_defines.sqf +++ /dev/null @@ -1,61 +0,0 @@ -waituntil {!isnil "cse_fnc_defineVariable"}; -// public variables - - ["cse_injuryVector",[],true,"cms"] call cse_fnc_defineVariable; - ["cse_treatedInjuryVector",[],true,"cms"] call cse_fnc_defineVariable; - - ["cse_openWounds",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]],true,"cms"] call cse_fnc_defineVariable; - ["cse_bandagedWounds",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]],true,"cms"] call cse_fnc_defineVariable; - ["cse_fractures",[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]],true,"cms"] call cse_fnc_defineVariable; - ["cse_airway", 0, true, "cms"] call cse_fnc_defineVariable; - ["cse_tourniquets",[0,0,0,0,0,0],true,"cms"] call cse_fnc_defineVariable; - ["cse_splints",[0,0,0,0,0,0],true,"cms"] call cse_fnc_defineVariable; - ["cse_isBleeding_CMS",false,true,"cms"] call cse_fnc_defineVariable; - ["cse_hasPain_CMS",false,true,"cms"] call cse_fnc_defineVariable; - ["cse_hasLostBlood_CMS",false,true,"cms"] call cse_fnc_defineVariable; - ["cse_airwayTreated",false,true,"cms"] call cse_fnc_defineVariable; - - - // Airway - ["cse_airwayOccluded", false, true, "cms"] call cse_fnc_defineVariable; - ["cse_airwayRespiratoryArrest", false, true, "cms"] call cse_fnc_defineVariable; - ["cse_airwayCollapsed", false, true, "cms"] call cse_fnc_defineVariable; - ["cse_airwayStatus", 100, false, "cms"] call cse_fnc_defineVariable; - - // logs - ["cse_quickviewLog_CMS",[],true,"cms"] call cse_fnc_defineVariable; - ["cse_activityLog_CMS",[],true,"cms"] call cse_fnc_defineVariable; - ["cse_triageLevel",0,true,"cms"] call cse_fnc_defineVariable; - ["cse_triageCard",[],true,"cms"] call cse_fnc_defineVariable; - - - ["cse_medicClass",0,true,"cms_static",0,true] call cse_fnc_defineVariable; // should be a persistent variable; must not be removed by a reset all defaults call - ["cse_medical_facility",0,true,"cms_static",0,true] call cse_fnc_defineVariable; // should be a persistent variable; must not be removed by a reset all defaults call - - ["cse_noInstantDeath",false,true,"cms"] call cse_fnc_defineVariable; - ["cse_cardiacArrest_CMS",false,true,"cms"] call cse_fnc_defineVariable; - - // private variables - ["cse_bloodVolume",100,false,"cms"] call cse_fnc_defineVariable; - ["cse_bloodIVVolume",0,false,"cms"] call cse_fnc_defineVariable; - ["cse_plasmaIVVolume",0,false,"cms"] call cse_fnc_defineVariable; - ["cse_salineIVVolume",0,false,"cms"] call cse_fnc_defineVariable; - - ["cse_pain",0,false,"cms"] call cse_fnc_defineVariable; - ["cse_heartRate",80,false,"cms"] call cse_fnc_defineVariable; - ["cse_andrenaline",0,false,"cms"] call cse_fnc_defineVariable; - ["cse_heartRateAdjustments",[],false,"cms"] call cse_fnc_defineVariable; - - ["cse_bloodPressure", [80,120],false,"cms"] call cse_fnc_defineVariable; - ["cse_peripheralResistance", 100,false,"cms"] call cse_fnc_defineVariable; - ["cse_cardiacOutput", 5.25,false,"cms"] call cse_fnc_defineVariable; // Source for default: http://en.wikipedia.org/wiki/Cardiac_output#Example_values - - - ["cse_givenMorphine",0,false,"cms"] call cse_fnc_defineVariable; - ["cse_givenAtropine",0,false,"cms"] call cse_fnc_defineVariable; - ["cse_givenEpinephrine",0,false,"cms"] call cse_fnc_defineVariable; - - ["cse_bodyPartStatus",[0,0,0,0,0,0],false,"cms"] call cse_fnc_defineVariable; - ["cse_bodyPartStatusPrevious_cms",[0,0,0,0,0,0],false,"cms"] call cse_fnc_defineVariable; - - ["cse_fnc_unitLoop_CMS",false,false,"cms"] call cse_fnc_defineVariable; diff --git a/TO_MERGE/cse/sys_misc/CfgFunctions.h b/TO_MERGE/cse/sys_misc/CfgFunctions.h deleted file mode 100644 index 051d374e3d..0000000000 --- a/TO_MERGE/cse/sys_misc/CfgFunctions.h +++ /dev/null @@ -1,9 +0,0 @@ -class CfgFunctions { - class CSE { - class ModulesMisc { - file = "cse\cse_sys_misc\functions"; - class handleDamage_DMG { recompile = 1;}; - class moduleAmbianceSoundLoop { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_misc/CfgVehicles.h b/TO_MERGE/cse/sys_misc/CfgVehicles.h deleted file mode 100644 index d2945620e1..0000000000 --- a/TO_MERGE/cse/sys_misc/CfgVehicles.h +++ /dev/null @@ -1,151 +0,0 @@ -class CfgVehicles -{ - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_adjust_stamina: Module_F { - scope = 2; - displayName = "Adjust Stamina [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cseMisc"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments { - class adjustment { - displayName = "Adjustment"; - description = "How fast should the stamina be adjusted?"; - typeName = "NUMBER"; - defaultValue = 1; - }; - }; - class ModuleDescription { - description = "Custom stamina adjustment module"; - sync[] = {}; - }; - }; - class cse_damage_ai: Module_F { - scope = 1; // hidden, for backwards compatability - displayName = "Damage Thredshold AI [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cse_medical"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments { - class damageThresholdAI { - displayName = "Damage Threshold AI"; - description = "How much damage does it take for an AI to be killed?"; - typeName = "NUMBER"; - defaultValue = 1; - }; - class damageThresholdPlayers { - displayName = "Damage Threshold Players"; - description = "How much damage does it take for a player to be killed?"; - typeName = "NUMBER"; - defaultValue = 1; - }; - }; - class ModuleDescription { - description = "Custom damage threshold module"; // Short description, will be formatted as structured text - sync[] = {}; - }; - }; - - - class cse_moduleDamageSettings: Module_F { - scope = 2; - displayName = "Damage Settings [CSE]"; - icon = "\cse\cse_main\data\cse_medical_module.paa"; - category = "cse_medical"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments { - class damageThresholdAI { - displayName = "Damage Threshold AI"; - description = "How much damage does it take for an AI to be killed?"; - typeName = "NUMBER"; - defaultValue = 1; - }; - class damageThresholdPlayers { - displayName = "Damage Threshold Players"; - description = "How much damage does it take for a player to be killed?"; - typeName = "NUMBER"; - defaultValue = 1; - }; - }; - class ModuleDescription { - description = "Custom damage threshold module"; - sync[] = {}; - }; - }; - - class cse_moduleAmbianceSound: Module_F { - scope = 2; - displayName = "Ambiance Sounds [CSE]"; - icon = "\cse\cse_main\data\cse_basic_module.paa"; - category = "cseMisc"; - function = "cse_fnc_moduleAmbianceSoundLoop"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - author = "Combat Space Enhancement"; - class Arguments { - class soundFiles { - displayName = "Sounds"; - description = "Classnames of the ambiance sounds played. Seperated by ','. "; - typeName = "STRING"; - defaultValue = ""; - }; - class minimalDistance { - displayName = "Minimal Distance"; - description = "Minimal Distance"; - typeName = "NUMBER"; - defaultValue = 400; - }; - class maximalDistance { - displayName = "Maximal Distance"; - description = "Maximal Distance"; - typeName = "NUMBER"; - defaultValue = 900; - }; - class minimalDelay { - displayName = "Minimal Delay"; - description = "Minimal Delay between sounds played"; - typeName = "NUMBER"; - defaultValue = 10; - }; - class maximalDelay { - displayName = "Maximal Delay"; - description = "Maximal Delay between sounds played"; - typeName = "NUMBER"; - defaultValue = 170; - }; - class followPlayers { - displayName = "Follow Players"; - description = "Follow players. If set to false, loop will play sounds only nearby logic position."; - typeName = "BOOL"; - defaultValue = 0; - }; - class soundVolume { - displayName = "Volume"; - description = "The volume of the sounds played"; - typeName = "NUMBER"; - defaultValue = 0; - }; - }; - class ModuleDescription { - description = "Ambiance sounds loop (synced across MP)"; - sync[] = {}; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_misc/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_misc/Combat_Space_Enhancement.h deleted file mode 100644 index ef408ddbe6..0000000000 --- a/TO_MERGE/cse/sys_misc/Combat_Space_Enhancement.h +++ /dev/null @@ -1,32 +0,0 @@ -class Combat_Space_Enhancement { - class cfgModules { - class cse_adjust_stamina { - init = "call compile preprocessFile 'cse\cse_sys_misc\stamina\init.sqf';"; - name = "Stamina adjustment"; - }; - class cse_damage_ai { - init = "call compile preprocessFile 'cse\cse_sys_misc\damage\init.sqf';"; - name = "Damage thresholds for AI"; - class EventHandlers { - class CAManBase { - handleDamage = "_this call cse_fnc_handleDamage_DMG;"; - }; - }; - }; - - class cse_moduleDamageSettings { - init = "call compile preprocessFile 'cse\cse_sys_misc\damage\init.sqf';"; - name = "Damage thresholds for AI and players"; - class EventHandlers { - class CAManBase { - handleDamage = "_this call cse_fnc_handleDamage_DMG;"; - }; - }; - }; - - class cse_moduleRemoveBodyOnDisconnect { - init = "call compile preprocessFile 'cse\cse_sys_misc\moduleRemoveBodyOnDisconnect.sqf';"; - name = "Remove Player bodies on disconnect"; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_misc/config.cpp b/TO_MERGE/cse/sys_misc/config.cpp deleted file mode 100644 index 21223915df..0000000000 --- a/TO_MERGE/cse/sys_misc/config.cpp +++ /dev/null @@ -1,22 +0,0 @@ -class CfgPatches { - class cse_sys_misc { - units[] = {""}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui","cse_main", "cse_f_modules", "cse_f_eh"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -class CfgAddons { - class PreloadAddons { - class cse_sys_misc { - list[] = {"cse_sys_misc"}; - }; - }; -}; -#include "CfgFunctions.h" -#include "CfgVehicles.h" -#include "Combat_Space_Enhancement.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_misc/damage/init.sqf b/TO_MERGE/cse/sys_misc/damage/init.sqf deleted file mode 100644 index ee09a538e4..0000000000 --- a/TO_MERGE/cse/sys_misc/damage/init.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/* -init.sqf -Usage: -Author: Glowbal - -Arguments: -Returns: - -Affects: Local -Executes: call -*/ - -private ["_args"]; -_args = _this; - -CSE_DAMAGE_THRESHOLD_AI_DMG = 1; -CSE_DAMAGE_THRESHOLD_PLAYERS_DMG = 1; -{ - _value = _x select 1; - if (!isnil "_value") then { - if (_x select 0 == "damageThresholdAI") exitwith { - CSE_DAMAGE_THRESHOLD_AI_DMG = _x select 1; - }; - if (_x select 0 == "damageThresholdPlayers") exitwith { - CSE_DAMAGE_THRESHOLD_PLAYERS_DMG = _x select 1; - }; - }; -}foreach _args; - - -waituntil {!isnil "cse_main"}; -["cse_damageBodypart_DMG", 0, false, "dmg"] call cse_fnc_defineVariable; -["cse_damageBodypartPrevious_DMG", 0, false, "dmg"] call cse_fnc_defineVariable; - diff --git a/TO_MERGE/cse/sys_misc/functions/fn_handleDamage_DMG.sqf b/TO_MERGE/cse/sys_misc/functions/fn_handleDamage_DMG.sqf deleted file mode 100644 index a459b70094..0000000000 --- a/TO_MERGE/cse/sys_misc/functions/fn_handleDamage_DMG.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/** - * handleDamage_DMG.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_unit","_selectionName","_amountOfDamage", "_previousDamage", "_totalDamage"]; -_unit = _this select 0; -_selectionName = _this select 1; -_amountOfDamage = _this select 2; - -if (_amountOfDamage > 0.9 && {alive _unit}) then { - _amountOfDamage = 0.9; -}; - -if !(["cse_sys_medical"] call cse_fnc_isModuleEnabled_F) then { - if !(isPlayer _unit) then { - if (_amountOfDamage >= CSE_DAMAGE_THRESHOLD_AI_DMG) then { - [_unit] call cse_fnc_setDead; - _amountOfDamage = 1; - }; - } else { - if (_amountOfDamage >= CSE_DAMAGE_THRESHOLD_PLAYERS_DMG) then { - [_unit] call cse_fnc_setDead; - _amountOfDamage = 1; - }; - }; -} else { - // let CMS handle the damage - if (([_unit] call cse_fnc_hasMedicalEnabled_CMS)) exitwith { - - }; - - _previousDamage = [_unit,"cse_damageBodypartPrevious_DMG", 0] call cse_fnc_getVariable; - [_unit,"cse_bodyPartStatusPrevious", _amountOfDamage - _previousDamage] call cse_fnc_setVariable; - - - _totalDamage = [_unit,"cse_damageBodypart_DMG", 0] call cse_fnc_getVariable; - _totalDamage = _totalDamage + (_amountOfDamage - _previousDamage); - [_unit,"cse_damageBodypart_DMG",_totalDamage] call cse_fnc_setVariable; - - - // we will handle it here. - if !(isPlayer _unit) then { - if (_totalDamage >= CSE_DAMAGE_THRESHOLD_AI_DMG) then { - [_unit] call cse_fnc_setDead; - _amountOfDamage = 1; - }; - } else { - if (_totalDamage >= CSE_DAMAGE_THRESHOLD_PLAYERS_DMG) then { - [_unit] call cse_fnc_setDead; - _amountOfDamage = 1; - }; - }; -}; - -_amountOfDamage \ No newline at end of file diff --git a/TO_MERGE/cse/sys_misc/stamina/init.sqf b/TO_MERGE/cse/sys_misc/stamina/init.sqf deleted file mode 100644 index 8f0ef44fa7..0000000000 --- a/TO_MERGE/cse/sys_misc/stamina/init.sqf +++ /dev/null @@ -1,43 +0,0 @@ -/** - * init.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_args"]; -_args = _this; - -CSE_STAMINA_ADJUSTMENT_STM = 1; - -{ - _value = _x select 1; - if (!isnil "_value") then { - if (_x select 0 == "adjustment") then { - CSE_STAMINA_ADJUSTMENT_STM = _x select 1; - }; - }; -}foreach _args; - -if (!hasInterface) exitwith {}; -waituntil{!isnil "cse_gui" && !isnil "cse_main"}; - -if (CSE_STAMINA_ADJUSTMENT_STM > 0) then { - ["cse_adjust_stamina", [], { - _currentStamina = getFatigue player; - _difference = _currentStamina - _previousStamina; - if (_difference > 0) then { - _difference = _difference * CSE_STAMINA_ADJUSTMENT_STM; - player setFatigue (_previousStamina + _difference); - _previousStamina = (_previousStamina + _difference); - } else { - _previousStamina = _currentStamina; - }; - }] call cse_fnc_addTaskToPool_f; - -} else { - player enableFatigue false; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/CfgEventHandlers.hpp b/TO_MERGE/cse/sys_nametags/CfgEventHandlers.hpp deleted file mode 100644 index ab75a246bb..0000000000 --- a/TO_MERGE/cse/sys_nametags/CfgEventHandlers.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_postInit.sqf) ); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/CfgVehicles.hpp b/TO_MERGE/cse/sys_nametags/CfgVehicles.hpp deleted file mode 100644 index a0d8133e8a..0000000000 --- a/TO_MERGE/cse/sys_nametags/CfgVehicles.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// TODO Check what faction classes are available within ACE and move this to a core pbo -class CfgFactionClasses -{ - class NO_CATEGORY; - class ACEMisc: NO_CATEGORY { - displayName = "ACE Misc Modules"; - }; -}; - - -class CfgVehicles -{ - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class GVAR(Module): Module_F { - scope = 2; - displayName = $STR_ACE_NameTags_Title; - icon = QUOTE(PATHOF(data\module_icon.paa)); - category = "ACEMisc"; - function = QUOTE(FUNC(initalizeModule)); - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class enableModule { - displayName = $STR_ACE_NameTags_Arg_enable; - description = $STR_ACE_NameTags_Arg_enable_Desc; - typeName = "BOOL"; - defaultValue = 0; - }; - class indirectDistance { - displayName = $STR_ACE_NameTags_Arg_indirectDistance; - description = $STR_ACE_NameTags_Arg_indirectDistance_Desc; - typeName = "NUMBER"; - defaultValue = 7.5; - }; - class cursorTargetDistance { - displayName = $STR_ACE_NameTags_Arg_directDistance; - description = $STR_ACE_NameTags_Arg_directDistance_Desc; - typeName = "NUMBER"; - defaultValue = 20; - }; - class allowDifferentSides { - displayName = $STR_ACE_NameTags_Arg_differentSides; - description = $STR_ACE_NameTags_Arg_differentSides_Desc; - typeName = "BOOL"; - defaultValue = 0; - }; - class enableSoundWaves { - displayName = $STR_ACE_NameTags_Arg_soundWaves; - description = $STR_ACE_NameTags_Arg_soundWaves_Desc; - typeName = "BOOL"; - defaultValue = 0; - }; - }; - class ModuleDescription { - description = $STR_ACE_NameTags_ModuleDesc; - sync[] = {}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/XEH_postInit.sqf b/TO_MERGE/cse/sys_nametags/XEH_postInit.sqf deleted file mode 100644 index 97b6926c5b..0000000000 --- a/TO_MERGE/cse/sys_nametags/XEH_postInit.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/** - * XEH_postInit.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -if (!hasInterface) exitwith {}; // No need for this module on HC or dedicated server. - -#include "script_component.hpp" - -// Settings -if (isNil QUOTE(ACE_NameTagsModule)) then { - GVAR(INDIRECT_TAGS_DISTANCE) = 7.5; - GVAR(DIRECT_TAG_DISTANCE) = 20; - GVAR(ENABLE_SOUNDWAVES) = false; - GVAR(ALLOW_OWN_SIDE_ONLY) = true; - GVAR(ENABLE_MODULE) = true; -}; - -// In case the module has been placed and the enable setting has been put to false -if (!GVAR(ENABLE_MODULE)) exitwith {}; - -// Client side options -// TODO Implement a framework for adjusting client side settings. -GVAR(DRAW_TAG_ICONS) = true; -GVAR(ENABLE_INDIRECT) = false; -GVAR(TAG_DISPLAY_COLOR) = [1,1,1,1]; -GVAR(SHOW_SOUNDWAVES) = false; -GVAR(DISPLAY_RANK) = false; - -// If the distance values are set incorrectly, ensure we handle this -if (GVAR(DIRECT_TAG_DISTANCE) < GVAR(INDIRECT_TAGS_DISTANCE)) then { - GVAR(DIRECT_TAG_DISTANCE) = GVAR(INDIRECT_TAGS_DISTANCE); -}; - -// If both are below 1m, exit because they will not show up. -if (GVAR(DIRECT_TAG_DISTANCE) < 1) exitwith {}; - -// Draw the icons for each nametag -// TODO Look into replacement with cutRsc instead of icon3d -addMissionEventHandler ["Draw3D", FUNC(drawNameTags)]; - -if (GVAR(ENABLE_SOUNDWAVES)) then { - - GVAR(SOUNDWAVE_ICONS) = [QUOTE(PATHTOF(data\soundwaves\soundwave1.paa)),QUOTE(PATHTOF(data\soundwaves\soundwave2.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave3.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave4.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave5.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave6.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave7.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave8.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave9.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave_silent.paa))]; - - // TODO Implement function for checking if an addon is loaded - //if (["task_force_radio"] call ace_fnc_isModLoaded_F) then { - if (isnil "TFAR_fnc_isSpeaking") then { - TFAR_fnc_isSpeaking = { if (!isnil "TF_tangent_lr_pressed") then {(TF_tangent_lr_pressed || TF_tangent_sw_pressed || TF_tangent_dd_pressed)} else { false }; }; - }; - //}; - - // TODO Move to unscheduled environment with PFH - [] spawn { - waituntil{ - waituntil {alive player}; - /*ACE_player*/ player call FUNC(handleSpeaking); - !GVAR(ENABLE_SOUNDWAVES); // exit when the soundwaves have been disabled - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/XEH_preInit.sqf b/TO_MERGE/cse/sys_nametags/XEH_preInit.sqf deleted file mode 100644 index 702a785859..0000000000 --- a/TO_MERGE/cse/sys_nametags/XEH_preInit.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * XEH_preInit.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#include "script_component.hpp" - -PREP(drawNameTags); -PREP(findNearbyUnits); -PREP(handleSpeaking); -PREP(allowSide); -PREP(initalizeModule); diff --git a/TO_MERGE/cse/sys_nametags/config.cpp b/TO_MERGE/cse/sys_nametags/config.cpp deleted file mode 100644 index 8a90482389..0000000000 --- a/TO_MERGE/cse/sys_nametags/config.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ACE_gui","ACE_main"}; - version = VERSION; - author[] = {$STR_ACE_Core_ACETeam}; - authorUrl = "http://ACEmod.com"; // TODO website link? - }; -}; - -class CfgAddons { - class PreloadAddons { - class ADDON { - list[] = {QUOTE(ADDON)}; - }; - }; -}; - -#include "CfgVehicles.hpp" -#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/data/empty.paa b/TO_MERGE/cse/sys_nametags/data/empty.paa deleted file mode 100644 index a354c7eb38..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/empty.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/module_icon.paa b/TO_MERGE/cse/sys_nametags/data/module_icon.paa deleted file mode 100644 index 1710ef74c9..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/module_icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave1.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave1.paa deleted file mode 100644 index ce4f85eb69..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave1.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave2.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave2.paa deleted file mode 100644 index 0bc59cde24..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave2.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave3.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave3.paa deleted file mode 100644 index 39f3e8e95b..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave3.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave4.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave4.paa deleted file mode 100644 index 7ab8b6d944..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave4.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave5.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave5.paa deleted file mode 100644 index f3e98d47aa..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave5.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave6.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave6.paa deleted file mode 100644 index 3f29976c9f..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave6.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave7.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave7.paa deleted file mode 100644 index e705c70b42..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave7.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave8.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave8.paa deleted file mode 100644 index e6027d878a..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave8.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave9.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave9.paa deleted file mode 100644 index 91ddfd02df..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave9.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave_silent.paa b/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave_silent.paa deleted file mode 100644 index 27f34b38ab..0000000000 Binary files a/TO_MERGE/cse/sys_nametags/data/soundwaves/soundwave_silent.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_nametags/functions/fnc_allowSide.sqf b/TO_MERGE/cse/sys_nametags/functions/fnc_allowSide.sqf deleted file mode 100644 index d28c9a336d..0000000000 --- a/TO_MERGE/cse/sys_nametags/functions/fnc_allowSide.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_allowSide_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: side - * @Return: - * @PublicAPI: false - */ -#include "script_component.hpp" - -if (GVAR(ALLOW_OWN_SIDE_ONLY)) exitwith { - _this == playerSide; /* side ACE_player */ -}; -((_this getFriend playerSide /* side ACE_player */ ) >= 0.6); \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/functions/fnc_drawNameTags.sqf b/TO_MERGE/cse/sys_nametags/functions/fnc_drawNameTags.sqf deleted file mode 100644 index da05c477e4..0000000000 --- a/TO_MERGE/cse/sys_nametags/functions/fnc_drawNameTags.sqf +++ /dev/null @@ -1,71 +0,0 @@ -/** - * fn_drawNameTags_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ -#include "script_component.hpp" -#define FONT "EtelkaMonospacePro" - -private ["_cursor","_soundWaves", "_nameOfUnit","_pos","_color", "_nearbyUnits", "_iconOptions", "_iconSets", "_unit", "_colorOfIcon", "_nearObj"]; -if (visibleMap || !GVAR(DRAW_TAG_ICONS)) exitwith {}; - -_nearObj = if (isNull curatorCamera) then {/* ACE_player */ if (isNull (missionnamespace getvariable ["bis_fnc_moduleRemoteControl_unit",objnull])) then { player} else {(missionnamespace getvariable ["bis_fnc_moduleRemoteControl_unit",objnull]) }; } else { curatorCamera }; - -if (GVAR(ENABLE_INDIRECT)) then { - { - _nameOfUnit = _x select 0; - _pos = _x select 1; - _color = _x select 2; - _unit = _x select 3; - _iconDrawn = QUOTE(PATHTOF(data\empty.paa)); - if (_unit getvariable [QGVAR(isSpeaking),false] && GVAR(SHOW_SOUNDWAVES)) then { - _iconDrawn = (GVAR(SOUNDWAVE_ICONS) select ((round(random (count GVAR(SOUNDWAVE_ICONS) - 1))))); - }; - drawIcon3D [_iconDrawn,_color, _pos, 2, 2, 1 ,toUpper _nameOfUnit, 1, 0.03, FONT]; - false; - }count (_nearObj call FUNC(findNearbyUnits)); -}; - -_cursor = cursortarget; -if (_cursor == _cursor && isTouchingGround _cursor) then { - if (_cursor isKindOf "CAManBase" && ((_cursor distance _nearObj) < GVAR(DIRECT_TAG_DISTANCE)) && ((side _cursor) call FUNC(allowSide))) then { - - // TODO Improve this switch statement - _pos = visiblePositionASL _cursor; - switch (stance _cursor) do { - case "STAND": { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2)+2]; - }; - case "CROUCH": { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2)+1.5]; - }; - case "PRONE": { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2)+0.5]; - }; - default { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2) + 1.5]; - }; - }; - _color = +GVAR(TAG_DISPLAY_COLOR); - - _nameOfUnit = name _cursor; //[_cursor] call FUNC(getName); // TODO Implement a getName function - // TODO implement module checking - /*if (ACE_NameTags_SYS_MEDICAL_SYSTEM_ENABLED_TAGS) then { - _status = [_cursor] call FUNC(getTriageStatus_CMS); - if ((_status select 1) >0) then { - _nameOfUnit = _nameOfUnit + " ["+ (_status select 0) + "]"; - _color = _status select 2; - }; - };*/ - _iconDrawn = QUOTE(PATHTOF(data\empty.paa)); - if (_unit getvariable [QGVAR(isSpeaking),false] && GVAR(SHOW_SOUNDWAVES)) then { - _iconDrawn = (GVAR(SOUNDWAVE_ICONS) select ((round(random (count GVAR(SOUNDWAVE_ICONS) - 1))))); - }; - drawIcon3D [_iconDrawn,_color, _pos, 2, 2, 1 ,toUpper _nameOfUnit, 1, 0.03, FONT]; - - }; -}; diff --git a/TO_MERGE/cse/sys_nametags/functions/fnc_findNearbyUnits.sqf b/TO_MERGE/cse/sys_nametags/functions/fnc_findNearbyUnits.sqf deleted file mode 100644 index 122823c46c..0000000000 --- a/TO_MERGE/cse/sys_nametags/functions/fnc_findNearbyUnits.sqf +++ /dev/null @@ -1,65 +0,0 @@ -/** - * fn_findNearbyUnits_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#include "script_component.hpp" - -private ["_info", "_nameOfUnit", "_color", "_isTalking", "_pos", "_nearest"]; -_info = []; -if (alive player) then { - _nearest = (_this nearEntities [["CAManBase"], GVAR(INDIRECT_TAGS_DISTANCE)]); - { - if (_x != _this && (vehicle _x == _x) && isTouchingGround _X) then { - if (lineIntersects [eyePos _this, eyePos _x, _x, _this]) exitwith{}; - if ((side _x) call FUNC(allowSide) && !(_x == cursortarget)) then { - _nameOfUnit = name _x; - if (_x getvariable ["ACE_isDead",false]) then { // TODO, how do we check for dead units? - _nameOfUnit = _unit getvariable ["ACE_name","Unknown"]; // TODO is there are function to get the name of a unit? - }; - _pos = visiblePositionASL _x; - - // TODO This can be done better - switch (stance _x) do { - case "STAND": { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2)+2]; - }; - case "CROUCH": { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2)+1.5]; - }; - case "PRONE": { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2) + 0.5]; - }; - default { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2) + 1.5]; - }; - }; - - _color = +GVAR(TAG_DISPLAY_COLOR); - _color set [3, 0]; - _isTalking = (_x getvariable [QGVAR(isSpeaking),false]); - - // TODO implement module checking - /*if (ACE_NameTags_SYS_MEDICAL_SYSTEM_ENABLED_TAGS) then { - _status = [_x] call FUNC(getTriageStatus_CMS; - if ((_status select 1) >0) then { - _nameOfUnit = _nameOfUnit + " ["+ (_status select 0) + "]"; - _color = _status select 2; - }; - };*/ - if (GVAR(DISPLAY_RANK)) then { - _nameOfUnit = (rank _x) + " " + _nameOfUnit; - }; - _color set [3,(1-((_x distance _this) / GVAR(INDIRECT_TAGS_DISTANCE))) + 0.05]; - _info pushback [_nameOfUnit, _pos, _color, _x]; - }; - }; - }foreach _nearest; -}; - -_info; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/functions/fnc_handleSpeaking.sqf b/TO_MERGE/cse/sys_nametags/functions/fnc_handleSpeaking.sqf deleted file mode 100644 index a61f810969..0000000000 --- a/TO_MERGE/cse/sys_nametags/functions/fnc_handleSpeaking.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_handleSpeaking_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ -#include "script_component.hpp" - -// TODO Implement a check mod loaded function -#define ACTION_PUSH_TO_TALK_PRESSED (inputAction "PushToTalk" > 0) -#define ACTION_TFAR_RADIO_ACTIVE false // [] call {if (["task_force_radio"] call FUNC(isModLoaded_F)) then {player call TFAR_fnc_isSpeaking} else { false };} -#define ACTION_ACRE_RADIO_ACTIVE false // [] call {if (["acre_api"] call FUNC(isModLoaded_F)) then {[player] call ACRE_api_fnc_isBroadcasting} else { false };} - -private ["_unit"]; -_unit = _this select 0; - -if (_unit != player /* _unit != ACE_Player */) exitwith {}; - -// TODO check mod loaded function -/*if (["task_force_radio"] call FUNC(isModLoaded_F)) then { - waituntil {!isnil "TF_tangent_lr_pressed"}; -};*/ - -waituntil { - if (ACTION_TFAR_RADIO_ACTIVE || ACTION_PUSH_TO_TALK_PRESSED || ACTION_ACRE_RADIO_ACTIVE) then { - if !(_unit getvariable [QGVAR(isSpeaking), false]) then { - _unit setvariable [QGVAR(isSpeaking), true, true]; - }; - } else { - if (_unit getvariable [QGVAR(isSpeaking), false]) then { - _unit setvariable [QGVAR(isSpeaking), false, true]; - }; - }; - !(alive _unit) /* _unit != ACE_Player */ -}; - -_unit setvariable [QGVAR(isSpeaking),nil,true]; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/functions/fnc_initalizeModule.sqf b/TO_MERGE/cse/sys_nametags/functions/fnc_initalizeModule.sqf deleted file mode 100644 index 7db37789db..0000000000 --- a/TO_MERGE/cse/sys_nametags/functions/fnc_initalizeModule.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fnc_initalizeModule.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#include "script_component.hpp" - -if (!hasInterface) exitwith {}; // No need for this module on HC or dedicated server. - -private ["_logic"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -if (!isNull _logic) then { - // TODO default values should be defined somewhere through an include, so they are the same in CfgVehicles and here. - GVAR(ENABLE_MODULE) = _logic getvariable ["enableModule", false]; - GVAR(INDIRECT_TAGS_DISTANCE) = _logic getvariable ["indirectDistance", 7.5]; - GVAR(DIRECT_TAG_DISTANCE) = _logic getvariable ["cursorTargetDistance", 20]; - GVAR(ALLOW_OWN_SIDE_ONLY) = !(_logic getvariable ["allowDifferentSides", false]); - GVAR(ENABLE_SOUNDWAVES) = _logic getvariable ["enableSoundWaves", false]; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/script_component.hpp b/TO_MERGE/cse/sys_nametags/script_component.hpp deleted file mode 100644 index 4637f8de75..0000000000 --- a/TO_MERGE/cse/sys_nametags/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT nametags -#include "\z\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_NAMETAGS - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_NAMETAGS - #define DEBUG_SETTINGS DEBUG_SETTINGS_NAMETAGS -#endif - -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_nametags/stringtable.xml b/TO_MERGE/cse/sys_nametags/stringtable.xml deleted file mode 100644 index 53100d4ceb..0000000000 --- a/TO_MERGE/cse/sys_nametags/stringtable.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - Name Tags [ACE] - - - Enable Name Tags - - - Enable the name tags - - - Indirect Distance - - - Distance for indirect Tags - - - Target Distance - - - Distance for the direct Tag (Cursortarget) - - - Enable Soundwaves - - - Enable Soundwaves when a player is speaking - - - Allow Different sides - - - Allow name tags for all friendly sides, instead of only player side - - - Adjust the name tags settings. - - - - \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/CfgFunctions.h b/TO_MERGE/cse/sys_vehicles/CfgFunctions.h deleted file mode 100644 index edaf4839e6..0000000000 --- a/TO_MERGE/cse/sys_vehicles/CfgFunctions.h +++ /dev/null @@ -1,17 +0,0 @@ -class CfgFunctions { - class CSE { - class VehicleInteraction - { - file = "cse\cse_sys_vehicles\functions"; - class openMenu_VEH { recompile = 1; }; - class onMenuOpen_VEH { recompile = 1; }; - class displayOptions_VEH { recompile = 1; }; - class updateInformationList_VEH { recompile = 1; }; - class getSelectedData_VEH { recompile = 1; }; - class getCrewOptions_VEH { recompile = 1; }; - class getCargoOptions_VEH { recompile = 1; }; - class getRepairOptions_VEH { recompile = 1; }; - class replaceBatteryDarter_VEH { recompile = 1; }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_vehicles/CfgWeapons.h b/TO_MERGE/cse/sys_vehicles/CfgWeapons.h deleted file mode 100644 index 135aad0972..0000000000 --- a/TO_MERGE/cse/sys_vehicles/CfgWeapons.h +++ /dev/null @@ -1,26 +0,0 @@ -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - - class cse_battery: ItemCore - { - scope=2; - displayName="Battery"; - model="\cse\cse_sys_vehicles\equipment\battery_darter.p3d"; - picture="\cse\cse_sys_vehicles\equipment\img\battery_dartery.paa"; - descriptionShort="Battery"; - class ItemInfo: InventoryItem_Base_F - { - mass=0.01; - type=201; - }; - }; - - class cse_battery_darter: cse_battery - { - displayName="Darter Battery"; - model="\cse\cse_sys_vehicles\equipment\battery_darter.p3d"; - picture="\cse\cse_sys_vehicles\equipment\img\battery_darter.paa"; - descriptionShort="Darter Battery"; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_vehicles/Combat_Space_Enhancement.h deleted file mode 100644 index 435bc34323..0000000000 --- a/TO_MERGE/cse/sys_vehicles/Combat_Space_Enhancement.h +++ /dev/null @@ -1 +0,0 @@ -class Combat_Space_Enhancement {}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/UI.h b/TO_MERGE/cse/sys_vehicles/UI.h deleted file mode 100644 index e5276de4b6..0000000000 --- a/TO_MERGE/cse/sys_vehicles/UI.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "ui\define.hpp" -#include "ui\menu.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/config.cpp b/TO_MERGE/cse/sys_vehicles/config.cpp deleted file mode 100644 index c99c763b90..0000000000 --- a/TO_MERGE/cse/sys_vehicles/config.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#define _ARMA_ -class CfgPatches -{ - class cse_sys_vehicles - { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"cse_gui","cse_main"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; -class CfgAddons { - class PreloadAddons { - class cse_sys_vehicles { - list[] = {"cse_sys_vehicles"}; - }; - }; -}; -#include "CfgFunctions.h" -#include "UI.h" -#include "Combat_Space_Enhancement.h" - -#include "CfgWeapons.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/data/icons/icon_cargo.paa b/TO_MERGE/cse/sys_vehicles/data/icons/icon_cargo.paa deleted file mode 100644 index dd82cbbad3..0000000000 Binary files a/TO_MERGE/cse/sys_vehicles/data/icons/icon_cargo.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_vehicles/data/icons/icon_crew.paa b/TO_MERGE/cse/sys_vehicles/data/icons/icon_crew.paa deleted file mode 100644 index b5d8d0fa7a..0000000000 Binary files a/TO_MERGE/cse/sys_vehicles/data/icons/icon_crew.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_vehicles/data/icons/icon_repair.paa b/TO_MERGE/cse/sys_vehicles/data/icons/icon_repair.paa deleted file mode 100644 index 54b61f6b10..0000000000 Binary files a/TO_MERGE/cse/sys_vehicles/data/icons/icon_repair.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_vehicles/equipment/battery_darter.p3d b/TO_MERGE/cse/sys_vehicles/equipment/battery_darter.p3d deleted file mode 100644 index 2768e0d1e7..0000000000 Binary files a/TO_MERGE/cse/sys_vehicles/equipment/battery_darter.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_vehicles/equipment/data/battery_darter.rvmat b/TO_MERGE/cse/sys_vehicles/equipment/data/battery_darter.rvmat deleted file mode 100644 index 397e78345c..0000000000 --- a/TO_MERGE/cse/sys_vehicles/equipment/data/battery_darter.rvmat +++ /dev/null @@ -1,68 +0,0 @@ -ambient[]={1,1,1,1}; -diffuse[]={1,1,1,1}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,1}; -specular[]={0.70399898,0.70399898,0.70399898,0}; -specularPower=70; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage5 -{ - texture="#(argb,8,8,3)color(0,0.05,1,1,SMDI)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(0.98,1.02)"; - uvSource="tex"; - class uvTransform - { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; diff --git a/TO_MERGE/cse/sys_vehicles/equipment/data/battery_darter_co.paa b/TO_MERGE/cse/sys_vehicles/equipment/data/battery_darter_co.paa deleted file mode 100644 index f50a36ca01..0000000000 Binary files a/TO_MERGE/cse/sys_vehicles/equipment/data/battery_darter_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_vehicles/equipment/img/battery_darter.paa b/TO_MERGE/cse/sys_vehicles/equipment/img/battery_darter.paa deleted file mode 100644 index a3ba2cdf80..0000000000 Binary files a/TO_MERGE/cse/sys_vehicles/equipment/img/battery_darter.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_displayOptions_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_displayOptions_VEH.sqf deleted file mode 100644 index 8d2debb604..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_displayOptions_VEH.sqf +++ /dev/null @@ -1,56 +0,0 @@ -/** - * fn_displayOptions_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#define START_IDC 20 -#define END_IDC 27 -#define AMOUNT_OF_ENTRIES (count _entries) - -private ["_name","_display","_ctrl","_counter","_code"]; - -_name = _this select 0; -if (isDedicated) exitwith{}; -_entries = switch (_name) do { - case "crew": {[_name] call cse_fnc_getCrewOptions_VEH}; - case "cargo": {[_name] call cse_fnc_getCargoOptions_VEH}; - case "repair": {[_name] call cse_fnc_getRepairOptions_VEH}; - default {[]}; -}; -CSE_LATEST_DISPLAY_OPTION_MENU_VEH = _name; - -disableSerialization; -_display = uiNamespace getVariable 'cse_sys_vehicleMenu'; -for [{_x=START_IDC},{_x <= END_IDC},{_x=_x+1}] do { - _ctrl = (_display displayCtrl (_x)); - _ctrl ctrlSetText ""; - //_ctrl ctrlSetPosition[-100,-100]; - _ctrl ctrlShow false; - _ctrl ctrlSetEventHandler ["ButtonClick",""]; - _ctrl ctrlSetTooltip ""; - _ctrl ctrlCommit 0; -}; - -_counter = 0; -{ - //player sidechat format["TRIGGERED: %1",_x]; - if (_counter > END_IDC) exitwith {}; - _ctrl = (_display displayCtrl (START_IDC + _counter)); - if (!(_counter > AMOUNT_OF_ENTRIES)) then { - _ctrl ctrlSetText (_x select 0); - _code = format["[CSE_SYS_VEHICLE_INTERACTION_TARGET,PLAYER] call { %1 };",(_x select 1)]; - _ctrl ctrlSetEventHandler ["ButtonClick", _code]; - _ctrl ctrlSetTooltip (_x select 2); - _ctrl ctrlShow true; - } else { - _ctrl ctrlSetText ""; - _ctrl ctrlSetEventHandler ["ButtonClick",""]; - }; - _ctrl ctrlCommit 0; - _counter = _counter + 1; -}foreach _entries; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_getCargoOptions_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_getCargoOptions_VEH.sqf deleted file mode 100644 index 1712a4025b..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_getCargoOptions_VEH.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fn_getCargoOptions_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return"]; -_return = []; - -//if (CSE_SYS_VEHICLE_INTERACTION_TARGET != (vehicle player)) then { - if !(CSE_SYS_VEHICLE_INTERACTION_TARGET isKindOf "Man") then { - if (!isNull([CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_getSelectedData_VEH)) then { - - _return set [count _return, ["Unload Cargo","CloseDialog 0; [([CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_getSelectedData_VEH),CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_unloadObject_LOG;","Unload the current selected cargo"]]; - } else { - _return set [count _return, ["Unload Cargo","hint 'You have to select an item in the list first!';","Unload the current selected cargo"]]; - }; - }; -//}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_getCrewOptions_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_getCrewOptions_VEH.sqf deleted file mode 100644 index 7a6c3562f0..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_getCrewOptions_VEH.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/** - * fn_getCrewOptions_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return","_selectedTarget", "_casList"]; -_return = []; - -CSE_fnc_dummy = {}; -if !(CSE_SYS_VEHICLE_INTERACTION_TARGET isKindOf "CaManBase") then { - _selectedTarget = ([CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_getSelectedData_VEH); - if (!isNull _selectedTarget) then { - if (["cse_sys_medical"] call cse_fnc_isModuleEnabled_F) then { - if (!([_selectedTarget] call cse_fnc_isAwake)) then { - _return pushback ["Unload Casualty","[player,([CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_getSelectedData_VEH)] call cse_fnc_unload_CMS;","Unload Casualty"]; - }; - _return pushback ["Medical Menu","private ['_cmsTarget']; _cmsTarget = ([CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_getSelectedData_VEH); closeDialog 314436; [_cmsTarget] call cse_fnc_openMenu_CMS;","Open the CMS Medical Menu for selected unit"]; - }; - - if (["cse_sys_advanced_interaction"] call cse_fnc_isModuleEnabled_F) then { - if ([_selectedTarget] call cse_fnc_isArrested) then { - _return pushback ["Unload Detainee","[player,([CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_getSelectedData_VEH)] call cse_fnc_unload_AIM;","Unload Detainee"]; - }; - }; - }; -}; - -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_getRepairOptions_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_getRepairOptions_VEH.sqf deleted file mode 100644 index 5fb8bc681d..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_getRepairOptions_VEH.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/** - * fn_getRepairOptions_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_return"]; -_return = []; - -if (CSE_SYS_VEHICLE_INTERACTION_TARGET != (vehicle player)) then { - if (CSE_SYS_VEHICLE_INTERACTION_TARGET isKindOf "CAR") then { - //_return set [count _return, ["Replace Tires","[_this select 0,_this select 1] call CSE_fnc_dummy;","Replace the tires of this vehicle"]]; - }; - if ((CSE_SYS_VEHICLE_INTERACTION_TARGET isKindOf "B_UAV_01_F" || CSE_SYS_VEHICLE_INTERACTION_TARGET isKindOf "O_UAV_01_F" || CSE_SYS_VEHICLE_INTERACTION_TARGET isKindOf "G_UAV_01_F") && ([player, "cse_battery_darter"] call cse_fnc_hasItem) && (fuel CSE_SYS_VEHICLE_INTERACTION_TARGET < 1)) then { - _return pushback ["Replace Battery","[_this select 0,_this select 1] call cse_fnc_replaceBatteryDarter_veh;","Replace battery of the Darter"]; - }; -}; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_getSelectedData_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_getSelectedData_VEH.sqf deleted file mode 100644 index 3080093114..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_getSelectedData_VEH.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/** - * fn_getSelectedData_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_veh","_curSelected", "_return","_loaded","_crew"]; -_veh = _this select 0; - _curSelected = lbCurSel 212; - _return = ObjNull; - - if (_curSelected > -1) then { - if (CSE_LATEST_DISPLAY_OPTION_MENU_VEH == "cargo") then { - _loaded = _veh getvariable ["cse_logistics_loadedCargo_LOG",[]]; - if (_curSelected >= count _loaded) exitwith{}; - _return = _loaded select _curSelected; - }; - - - if (CSE_LATEST_DISPLAY_OPTION_MENU_VEH == "crew") then { - _crew = crew _veh; - if (_curSelected >= count _crew) exitwith{}; - _return = _crew select _curSelected; - }; - }; -_return \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_onMenuOpen_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_onMenuOpen_VEH.sqf deleted file mode 100644 index 08cc1c6099..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_onMenuOpen_VEH.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/** - * fn_onMenuOpen_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -_this spawn { - if (isnil "CSE_LATEST_DISPLAY_OPTION_MENU_VEH") then { - CSE_LATEST_DISPLAY_OPTION_MENU_VEH = "crew"; - }; - CSE_VEHICLE_INTERACTION_MENU_OPEN = true; - private ["_display","_target","_previous"]; - _target = CSE_SYS_VEHICLE_INTERACTION_TARGET; - [CSE_LATEST_DISPLAY_OPTION_MENU_VEH,_target] call cse_fnc_displayOptions_VEH; - - // 11 till 18 - disableSerialization; - _display = uiNamespace getVariable 'cse_sys_vehicleMenu'; - (_display displayCtrl 11) ctrlSetTooltip "Crew"; - (_display displayCtrl 12) ctrlSetTooltip "Cargo"; - (_display displayCtrl 13) ctrlSetTooltip "Damages & Repair"; - - (_display displayCtrl 1) ctrlSetText format["%1",(getText(configFile >> "Cfgvehicles" >> typeof _target >> "displayName"))]; - - cse_fnc_updateIcons_VEH = { - private ["_display","_startIDC","_idc","_options","_name","_amount"]; - disableSerialization; - _display = uiNamespace getVariable 'cse_sys_vehicleMenu'; - _startIDC = 111; - - _options = ["crew","cargo","repair"]; // temp from 118 to 111 (ONLY NEED THIS ONCE FOR NOW); - for "_idc" from _startIDC to 118 step 1 do - { - if (count _options <= (_idc - 111)) exitwith{}; - _name = _options select (_idc - 111); - _amount = switch (_name) do { - case "crew": {crew CSE_SYS_VEHICLE_INTERACTION_TARGET}; - case "cargo": {CSE_SYS_VEHICLE_INTERACTION_TARGET getvariable ["cse_logistics_loadedCargo_LOG",[]]}; - case "repair": {[_name] call cse_fnc_getRepairOptions_VEH}; - case "advanced": {[]}; - default {[]}; - }; - if ((count _amount) > 0) then { - (_display displayCtrl _idc) ctrlSettextColor [1,1,1,1]; - } else { - (_display displayCtrl _idc) ctrlSettextColor [0.4,0.4,0.4,1]; - }; - }; - }; - - ["cse_onMenuOpen_Veh", "onEachFrame", { - [CSE_LATEST_DISPLAY_OPTION_MENU_VEH] call cse_fnc_displayOptions_VEH; - [CSE_SYS_VEHICLE_INTERACTION_TARGET] call cse_fnc_updateInformationList_VEH; - [] call cse_fnc_updateIcons_VEH; - }, [_display]] call BIS_fnc_addStackedEventHandler; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_openMenu_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_openMenu_VEH.sqf deleted file mode 100644 index dd98511136..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_openMenu_VEH.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/** - * fn_openMenu_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_target"]; -if (count _this > 0) then { - _target = _this select 0; - -} else { - _target = cursortarget; -}; -if (player == _target) exitwith{}; -CSE_SYS_VEHICLE_INTERACTION_TARGET = _target; -[player,_target] call cse_fnc_registerInteractingWith; -createDialog "cse_sys_vehicleMenu"; - -[_target] spawn { - waituntil {sleep 0.1; !dialog}; - [player,_this select 0] call cse_fnc_unregisterInteractingWith; -}; diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_replaceBatteryDarter_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_replaceBatteryDarter_VEH.sqf deleted file mode 100644 index 94039db703..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_replaceBatteryDarter_VEH.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/** - * fn_replaceBatteryDarter_VEH.sqf - * @Descr: REplace the darter battery - * @Author: Glowbal - * - * @Arguments: [darter OBJECT, unit UNIT] - * @Return: bool - * @PublicAPI: false - */ - -private ["_uav", "_unit"]; -_uav = _this select 0; -_unit = _this select 1; - -if !(_uav isKindOf "B_UAV_01_F" || _uav isKindOf "O_UAV_01_F" || _uav isKindOf "G_UAV_01_F") exitwith {false;}; -if !([_unit, "cse_battery_darter"] call cse_fnc_hasItem) exitwith {false;}; - -[_unit, "cse_battery_darter"] call cse_fnc_useItem; -_uav setFuel 1; - -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/functions/fn_updateInformationList_VEH.sqf b/TO_MERGE/cse/sys_vehicles/functions/fn_updateInformationList_VEH.sqf deleted file mode 100644 index 366be83a0f..0000000000 --- a/TO_MERGE/cse/sys_vehicles/functions/fn_updateInformationList_VEH.sqf +++ /dev/null @@ -1,52 +0,0 @@ -/** - * fn_updateInformationList_VEH.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_veh","_counter","_loaded","_cmsEnabled","_status","_crew", "_display"]; -_veh = _this select 0; - -disableSerialization; -_display = uiNamespace getVariable 'cse_sys_vehicleMenu'; -if (isNil "_display") exitwith {}; -if (isNull _display) exitwith {}; - -_listBox = (_display displayCtrl 212); - -_returnList = []; -if (CSE_LATEST_DISPLAY_OPTION_MENU_VEH == "cargo") exitwith { - lbclear _listBox; - _returnList = _veh getvariable ["cse_logistics_loadedCargo_LOG",[]]; - { - _listBox lbadd (getText(configFile >> "Cfgvehicles" >> typeof _x >> "displayName")); - }foreach _returnList; -}; - -if (CSE_LATEST_DISPLAY_OPTION_MENU_VEH == "crew") exitwith { - _returnList = crew _veh; - _cmsEnabled = ["cse_sys_medical"] call cse_fnc_isModuleEnabled_F; - lbclear _listBox; - { - if (_cmsEnabled) then { - _status = [_x] call cse_fnc_getTriageStatus_CMS; - if ((_status select 1) >0) then { - _nameOfUnit = ([_x] call cse_fnc_getName) + " ["+ (_status select 0) + "]"; - _listBox lbadd _nameOfUnit; - _listBox lbSetColor [_foreachIndex, _status select 2]; - } else { - _listBox lbadd ([_x] call cse_fnc_getName); - }; - } else { - _listBox lbadd ([_x] call cse_fnc_getName); - }; - }foreach _returnList; - -// waituntil{!(crew _veh isEqualTo _returnList)}; -}; - -_returnList; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/init.sqf b/TO_MERGE/cse/sys_vehicles/init.sqf deleted file mode 100644 index 11e767557e..0000000000 --- a/TO_MERGE/cse/sys_vehicles/init.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/** - * init.sqf - * @Descr: - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: true - */ - -waituntil {!isnil "cse_main"}; -waituntil {!isnil "cse_fnc_defineVariable"}; - -cse_fnc_interactWithVehicle_Condition = { -private ["_return"]; - _return = false; - if (((_this select 0) distance (_this select 1) < 15)) then { - if (((_this select 1) isKindOf "Car") || ((_this select 1) isKindOf "Air") || ((_this select 1) isKindOf "Tank")) then { - _return = true; - }; - }; - _return -}; - -_entries = [ - ["Vehicle", {(_this call cse_fnc_interactWithVehicle_Condition) && (vehicle player == player)}, CSE_ICON_PATH + "icon_vehicle.paa", - { - closeDialog 0; - [_this select 1] call cse_fnc_openMenu_VEH; - }, "Vehicle Interaction"], - - ["Vehicle", {(vehicle player != player)}, CSE_ICON_PATH + "icon_vehicle.paa", - { - closeDialog 0; - [vehicle player] call cse_fnc_openMenu_VEH; - }, "Vehicle Interaction"] -]; -["ActionMenu","interaction", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/stringtable.xml b/TO_MERGE/cse/sys_vehicles/stringtable.xml deleted file mode 100644 index 8b718b1eab..0000000000 --- a/TO_MERGE/cse/sys_vehicles/stringtable.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/ui/define.hpp b/TO_MERGE/cse/sys_vehicles/ui/define.hpp deleted file mode 100644 index c521de470f..0000000000 --- a/TO_MERGE/cse/sys_vehicles/ui/define.hpp +++ /dev/null @@ -1,797 +0,0 @@ - -#ifndef CSE_DEFINE_H -#define CSE_DEFINE_H -// define.hpp - -#define true 1 -#define false 0 - -#define CT_STATIC 0 -#define CT_BUTTON 1 -#define CT_EDIT 2 -#define CT_SLIDER 3 -#define CT_COMBO 4 -#define CT_LISTBOX 5 -#define CT_TOOLBOX 6 -#define CT_CHECKBOXES 7 -#define CT_PROGRESS 8 -#define CT_HTML 9 -#define CT_STATIC_SKEW 10 -#define CT_ACTIVETEXT 11 -#define CT_TREE 12 -#define CT_STRUCTURED_TEXT 13 -#define CT_CONTEXT_MENU 14 -#define CT_CONTROLS_GROUP 15 -#define CT_SHORTCUTBUTTON 16 -#define CT_XKEYDESC 40 -#define CT_XBUTTON 41 -#define CT_XLISTBOX 42 -#define CT_XSLIDER 43 -#define CT_XCOMBO 44 -#define CT_ANIMATED_TEXTURE 45 -#define CT_OBJECT 80 -#define CT_OBJECT_ZOOM 81 -#define CT_OBJECT_CONTAINER 82 -#define CT_OBJECT_CONT_ANIM 83 -#define CT_LINEBREAK 98 -#define CT_ANIMATED_USER 99 -#define CT_MAP 100 -#define CT_MAP_MAIN 101 -#define CT_LISTNBOX 102 - -// Static styles -#define ST_POS 0x0F -#define ST_HPOS 0x03 -#define ST_VPOS 0x0C -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 -#define ST_DOWN 0x04 -#define ST_UP 0x08 -#define ST_VCENTER 0x0c - -#define ST_TYPE 0xF0 -#define ST_SINGLE 0 -#define ST_MULTI 16 -#define ST_TITLE_BAR 32 -#define ST_PICTURE 48 -#define ST_FRAME 64 -#define ST_BACKGROUND 80 -#define ST_GROUP_BOX 96 -#define ST_GROUP_BOX2 112 -#define ST_HUD_BACKGROUND 128 -#define ST_TILE_PICTURE 144 -#define ST_WITH_RECT 160 -#define ST_LINE 176 - -#define ST_SHADOW 0x100 -#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI -#define ST_KEEP_ASPECT_RATIO 0x800 - -#define ST_TITLE ST_TITLE_BAR + ST_CENTER - -// Slider styles -#define SL_DIR 0x400 -#define SL_VERT 0 -#define SL_HORZ 0x400 - -#define SL_TEXTURES 0x10 - -// Listbox styles -#define LB_TEXTURES 0x10 -#define LB_MULTI 0x20 -#define FontCSE "PuristaMedium" - -class cse_gui_backgroundBase { - type = CT_STATIC; - idc = -1; - style = ST_PICTURE; - colorBackground[] = {0,0,0,0}; - colorText[] = {1, 1, 1, 1}; - font = FontCSE; - text = ""; - sizeEx = 0.032; -}; -class cse_gui_editBase -{ - access = 0; - type = 2; - x = 0; - y = 0; - h = 0.04; - w = 0.2; - colorBackground[] = - { - 0, - 0, - 0, - 1 - }; - colorText[] = - { - 0.95, - 0.95, - 0.95, - 1 - }; - colorSelection[] = - { - "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", - "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", - "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", - 1 - }; - autocomplete = ""; - text = ""; - size = 0.2; - style = "0x00 + 0x40"; - font = "PuristaMedium"; - shadow = 2; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorDisabled[] = - { - 1, - 1, - 1, - 0.25 - }; -}; - - - -class cse_gui_buttonBase { - idc = -1; - type = 16; - style = ST_LEFT; - text = ""; - action = ""; - x = 0.0; - y = 0.0; - w = 0.25; - h = 0.04; - size = 0.03921; - sizeEx = 0.03921; - color[] = {1.0, 1.0, 1.0, 1}; - color2[] = {1.0, 1.0, 1.0, 1}; - /*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"}; - colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8}; - */ - - colorBackground[] = {1,1,1,0.95}; - colorbackground2[] = {1,1,1,0.95}; - colorDisabled[] = {1,1,1,0.6}; - colorFocused[] = {1,1,1,1}; - colorBackgroundFocused[] = {1,1,1,1}; - periodFocus = 1.2; - periodOver = 0.8; - default = false; - class HitZone { - left = 0.00; - top = 0.00; - right = 0.00; - bottom = 0.00; - }; - - class ShortcutPos { - left = 0.00; - top = 0.00; - w = 0.00; - h = 0.00; - }; - - class TextPos { - left = 0.002; - top = 0.0004; - right = 0.0; - bottom = 0.00; - }; - textureNoShortcut = ""; - animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa"; - animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa"; - period = 0.5; - font = FontCSE; - soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0}; - soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; - class Attributes { - font = FontCSE; - color = "#E5E5E5"; - align = "center"; - shadow = "true"; - }; - class AttributesImage { - font = FontCSE; - color = "#E5E5E5"; - align = "left"; - shadow = "true"; - }; -}; - -class cse_gui_RscProgress { - type = 8; - style = 0; - colorFrame[] = {1,1,1,0.7}; - colorBar[] = {1,1,1,0.7}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; -}; - - -class cse_gui_staticBase { - idc = -1; - type = CT_STATIC; - x = 0.0; - y = 0.0; - w = 0.183825; - h = 0.104575; - style = ST_LEFT; - font = FontCSE; - sizeEx = 0.03921; - colorText[] = {0.95, 0.95, 0.95, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - text = ""; -}; - -class RscListBox; -class cse_gui_listBoxBase : RscListBox{ - type = CT_LISTBOX; - style = ST_MULTI; - font = FontCSE; - sizeEx = 0.03921; - color[] = {1, 1, 1, 1}; - colorText[] = {0.543, 0.5742, 0.4102, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 1}; - colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; - colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; - period = 1.2; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 1}; - maxHistoryDelay = 1.0; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - soundSelect[] = {"",0.1,1}; - soundExpand[] = {"",0.1,1}; - soundCollapse[] = {"",0.1,1}; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = ""; - arrowFull = ""; - arrowEmpty = ""; - border = ""; - }; -}; - - -class cse_gui_listNBox { - access = 0; - type = CT_LISTNBOX;// 102; - style =ST_MULTI; - w = 0.4; - h = 0.4; - font = FontCSE; - sizeEx = 0.031; - - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - columns[] = {0.0}; - color[] = {1, 1, 1, 1}; - - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {0.95, 0.95, 0.95, 1}; - colorSelect[] = {0.95, 0.95, 0.95, 1}; - colorSelect2[] = {0.95, 0.95, 0.95, 1}; - colorSelectBackground[] = {0, 0, 0, 0.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - rows = 1; - - drawSideArrows = 0; - idcLeft = -1; - idcRight = -1; - maxHistoryDelay = 1; - soundSelect[] = {"", 0.1, 1}; - period = 1; - shadow = 2; - class ScrollBar { - arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; - arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; - border = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - thumb = "#(argb,8,8,3)color(1,1,1,1)"; - }; - class ListScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {1,1,1,0.6}; - colorActive[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - -class RscCombo; -class cse_gui_comboBoxBase: RscCombo { - idc = -1; - type = 4; - style = "0x10 + 0x200"; - x = 0; - y = 0; - w = 0.3; - h = 0.035; - color[] = {0,0,0,0.6}; - colorActive[] = {1,0,0,1}; - colorBackground[] = {0,0,0,1}; - colorDisabled[] = {1,1,1,0.25}; - colorScrollbar[] = {1,0,0,1}; - colorSelect[] = {0,0,0,1}; - colorSelectBackground[] = {1,1,1,0.7}; - colorText[] = {1,1,1,1}; - - arrowEmpty = ""; - arrowFull = ""; - wholeHeight = 0.45; - font = FontCSE; - sizeEx = 0.031; - soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; - soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; - soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; - maxHistoryDelay = 1.0; - class ScrollBar - { - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - border = ""; - }; - class ComboScrollBar { - arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; - arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; - autoScrollDelay = 5; - autoScrollEnabled = 0; - autoScrollRewind = 0; - autoScrollSpeed = -1; - border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; - color[] = {0.3,0.3,0.3,0.6}; - colorActive[] = {0.3,0.3,0.3,1}; - colorDisabled[] = {0.3,0.3,0.3,0.3}; - height = 0; - scrollSpeed = 0.06; - shadow = 0; - thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; - width = 0; - }; -}; - - - -class cse_gui_mapBase { - moveOnEdges = 1; - x = "SafeZoneXAbs"; - y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "SafeZoneWAbs"; - h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - type = 100; // Use 100 to hide markers - style = 48; - shadow = 0; - - ptsPerSquareSea = 5; - ptsPerSquareTxt = 3; - ptsPerSquareCLn = 10; - ptsPerSquareExp = 10; - ptsPerSquareCost = 10; - ptsPerSquareFor = 9; - ptsPerSquareForEdge = 9; - ptsPerSquareRoad = 6; - ptsPerSquareObj = 9; - showCountourInterval = 0; - scaleMin = 0.001; - scaleMax = 1.0; - scaleDefault = 0.16; - maxSatelliteAlpha = 0.85; - alphaFadeStartScale = 0.35; - alphaFadeEndScale = 0.4; - colorBackground[] = {0.969,0.957,0.949,1.0}; - colorSea[] = {0.467,0.631,0.851,0.5}; - colorForest[] = {0.624,0.78,0.388,0.5}; - colorForestBorder[] = {0.0,0.0,0.0,0.0}; - colorRocks[] = {0.0,0.0,0.0,0.3}; - colorRocksBorder[] = {0.0,0.0,0.0,0.0}; - colorLevels[] = {0.286,0.177,0.094,0.5}; - colorMainCountlines[] = {0.572,0.354,0.188,0.5}; - colorCountlines[] = {0.572,0.354,0.188,0.25}; - colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6}; - colorCountlinesWater[] = {0.491,0.577,0.702,0.3}; - colorPowerLines[] = {0.1,0.1,0.1,1.0}; - colorRailWay[] = {0.8,0.2,0.0,1.0}; - colorNames[] = {0.1,0.1,0.1,0.9}; - colorInactive[] = {1.0,1.0,1.0,0.5}; - colorOutside[] = {0.0,0.0,0.0,1.0}; - colorTracks[] = {0.84,0.76,0.65,0.15}; - colorTracksFill[] = {0.84,0.76,0.65,1.0}; - colorRoads[] = {0.7,0.7,0.7,1.0}; - colorRoadsFill[] = {1.0,1.0,1.0,1.0}; - colorMainRoads[] = {0.9,0.5,0.3,1.0}; - colorMainRoadsFill[] = {1.0,0.6,0.4,1.0}; - colorGrid[] = {0.1,0.1,0.1,0.6}; - colorGridMap[] = {0.1,0.1,0.1,0.6}; - colorText[] = {1, 1, 1, 0.85}; -font = "PuristaMedium"; -sizeEx = 0.0270000; -stickX[] = {0.20, {"Gamma", 1.00, 1.50} }; -stickY[] = {0.20, {"Gamma", 1.00, 1.50} }; -onMouseButtonClick = ""; -onMouseButtonDblClick = ""; - - fontLabel = "PuristaMedium"; - sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontGrid = "TahomaB"; - sizeExGrid = 0.02; - fontUnits = "TahomaB"; - sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontNames = "PuristaMedium"; - sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2"; - fontInfo = "PuristaMedium"; - sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - fontLevel = "TahomaB"; - sizeExLevel = 0.02; - text = "#(argb,8,8,3)color(1,1,1,1)"; - class ActiveMarker { - color[] = {0.30, 0.10, 0.90, 1.00}; - size = 50; - }; - class Legend - { - x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)"; - y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - font = "PuristaMedium"; - sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; - colorBackground[] = {1,1,1,0.5}; - color[] = {0,0,0,1}; - }; - class Task - { - icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa"; - iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa"; - iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa"; - iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa"; - iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa"; - color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"}; - colorCreated[] = {1,1,1,1}; - colorCanceled[] = {0.7,0.7,0.7,1}; - colorDone[] = {0.7,1,0.3,1}; - colorFailed[] = {1,0.3,0.2,1}; - size = 27; - importance = 1; - coefMin = 1; - coefMax = 1; - }; - class Waypoint - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class WaypointCompleted - { - icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa"; - color[] = {0,0,0,1}; - size = 20; - importance = "1.2 * 16 * 0.05"; - coefMin = 0.900000; - coefMax = 4; - }; - class CustomMark - { - icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa"; - size = 24; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {0,0,0,1}; - }; - class Command - { - icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa"; - size = 18; - importance = 1; - coefMin = 1; - coefMax = 1; - color[] = {1,1,1,1}; - }; - class Bush - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = "14/2"; - importance = "0.2 * 14 * 0.05 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Rock - { - icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa"; - color[] = {0.1,0.1,0.1,0.8}; - size = 12; - importance = "0.5 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class SmallTree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.6 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class Tree - { - icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa"; - color[] = {0.45,0.64,0.33,0.4}; - size = 12; - importance = "0.9 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - }; - class busstop - { - icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class fuelstation - { - icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class hospital - { - icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class church - { - icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class lighthouse - { - icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class power - { - icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powersolar - { - icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwave - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class powerwind - { - icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class quay - { - icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class shipwreck - { - icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class transmitter - { - icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class watertower - { - icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {1,1,1,1}; - }; - class Cross - { - icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Chapel - { - icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa"; - size = 24; - importance = 1; - coefMin = 0.85; - coefMax = 1.0; - color[] = {0,0,0,1}; - }; - class Bunker - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 14; - importance = "1.5 * 14 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fortress - { - icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa"; - size = 16; - importance = "2 * 16 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Fountain - { - icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa"; - size = 11; - importance = "1 * 12 * 0.05"; - coefMin = 0.25; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Ruin - { - icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa"; - size = 16; - importance = "1.2 * 16 * 0.05"; - coefMin = 1; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Stack - { - icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa"; - size = 20; - importance = "2 * 16 * 0.05"; - coefMin = 0.9; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class Tourism - { - icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa"; - size = 16; - importance = "1 * 16 * 0.05"; - coefMin = 0.7; - coefMax = 4; - color[] = {0,0,0,1}; - }; - class ViewTower - { - icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa"; - size = 16; - importance = "2.5 * 16 * 0.05"; - coefMin = 0.5; - coefMax = 4; - color[] = {0,0,0,1}; - }; -}; - -#endif \ No newline at end of file diff --git a/TO_MERGE/cse/sys_vehicles/ui/menu.hpp b/TO_MERGE/cse/sys_vehicles/ui/menu.hpp deleted file mode 100644 index 4fa0ab7eaa..0000000000 --- a/TO_MERGE/cse/sys_vehicles/ui/menu.hpp +++ /dev/null @@ -1,278 +0,0 @@ -class cse_sys_vehicleMenu { - idd = 314436; - movingEnable = false; - onLoad = "uiNamespace setVariable ['cse_sys_vehicleMenu', _this select 0]; ['cse_onMenuOpen_Veh', true] call cse_fnc_gui_blurScreen; [_this select 0] call cse_fnc_onMenuOpen_VEH; "; - onUnload = "CSE_VEHICLE_INTERACTION_MENU_OPEN = false; ['cse_onMenuOpen_Veh', false] call cse_fnc_gui_blurScreen; ['cse_onMenuOpen_Veh', 'onEachFrame'] call BIS_fnc_removeStackedEventHandler;"; - - class controlsBackground { - class HeaderBackground: cse_gui_backgroundBase{ - idc = -1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "#(argb,8,8,3)color(0,0,0,0)"; - //moving = 1; - }; - class CenterBackground: HeaderBackground { - /*x = 0.138; - y = 0.17; - w = 1.2549; - h = 0.836601;*/ - y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - h = "16 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - //text = "#(argb,8,8,3)color(0,0,0,0.65)"; - //text = "cse\cse_sys_medical\data\ui_background.paa"; - text = "#(argb,8,8,3)color(0,0,0,0.9)"; - colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - }; - /*class BottomBackground: CenterBackground { - y = "(18.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))"; - h = "9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - };*/ - }; - - class controls { - class HeaderName { - idc = 1; - type = CT_STATIC; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - text = ""; - }; - - class IconsBackGroundBar: cse_gui_backgroundBase{ - idc = -1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "3.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - //text = "#(argb,8,8,3)color(0,0,0,0.4)"; - text ="cse\cse_sys_medical\data\cse_background_img.paa"; - colorText[] = {1, 1, 1, 0.0}; - //moving = 1; - }; - class CatagoryLeft: HeaderName { - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - style = ST_CENTER; - //colorText[] = {0.6, 0.7, 1.0, 1}; - colorText[] = {1, 1, 1.0, 0.9}; - colorBackground[] = {0,0,0,0}; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; - text = "ACTIONS & OVERVIEW"; - }; - class CatagoryCenter: CatagoryLeft { - x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "ACTIONS"; - }; - class CatagoryRight: CatagoryCenter{ - x = "25.66 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "VEHICLE"; - }; - class Line: cse_gui_backgroundBase { - idc = -1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "37 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.03 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "#(argb,8,8,3)color(1,1,1,0.5)"; - }; - - - - class BtnIconLeft1: cse_gui_buttonBase { - idc = 11; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)"; - action = "['crew'] call cse_fnc_displayOptions_VEH;"; - }; - class BtnIconLeft2: BtnIconLeft1 { - idc = 12; - x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['cargo'] call cse_fnc_displayOptions_VEH;"; - }; - class BtnIconLeft3: BtnIconLeft1 { - idc = 13; - x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = "['repair'] call cse_fnc_displayOptions_VEH;"; - }; - class BtnIconLeft4: BtnIconLeft1 { - idc = 14; - x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = ""; - }; - class BtnIconLeft5: BtnIconLeft1 { - idc = 15; - x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = ""; - }; - class BtnIconLeft6: BtnIconLeft1 { - idc = 16; - x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = ""; - }; - class BtnIconLeft7: BtnIconLeft1 { - idc = 17; - x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = ""; - }; - class BtnIconLeft8: BtnIconLeft1 { - idc = 18; - x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = ""; - }; - class iconImg1: cse_gui_backgroundBase { - idc = 111; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)"; - colorBackground[] = {0,0,0,1}; - colorPicture[] = {1,1,1,1}; - colorText[] = {1,1,1,1}; - text = "cse\cse_sys_vehicles\data\icons\icon_crew.paa"; - }; - class iconImg2: iconImg1 { - idc = 112; - x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_vehicles\data\icons\icon_cargo.paa"; - }; - class iconImg3: iconImg1 { - idc = 113; - x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = "cse\cse_sys_vehicles\data\icons\icon_repair.paa"; - }; - class iconImg4: iconImg1 { - idc = 114; - x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = ""; - }; - class iconImg5: iconImg1 { - idc = 115; - x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = ""; - }; - class iconImg6: iconImg1 { - idc = 116; - x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = ""; - }; - class iconImg7: iconImg1 { - idc = 117; - x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = ""; - }; - class iconImg8: iconImg1 { - idc = 118; - x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = ""; - }; - - - class informationList: cse_gui_listBoxBase { - idc = 212; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "11.6 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - rowHeight = 0.03; - colorBackground[] = {0, 0, 0, 0.2}; - colorText[] = {1,1, 1, 1.0}; - colorScrollbar[] = {1,1, 1, 1.0}; - colorSelect[] = {1,1, 1, 1.0}; - colorSelect2[] = {1,1, 1, 1.0}; - colorSelectBackground[] = {0, 0, 0, 1.0}; - colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.7}; - }; - - - - class BtnMenu1: BtnIconLeft1 { - idc = 20; - x = "13.6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "11.6 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = ""; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.9)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = ""; - }; - class BtnMenu2: BtnMenu1 { - idc = 21; - y = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu3: BtnMenu1 { - idc = 22; - y = "7.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu4: BtnMenu1 { - idc = 23; - y = "8.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text =""; - }; - class BtnMenu5: BtnMenu1 { - idc = 24; - y = "9.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu6: BtnMenu1 { - idc = 25; - y = "10.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu7: BtnMenu1 { - idc = 26; - y = "12 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class BtnMenu8: BtnMenu1 { - idc = 27; - y = "13.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/CfgFunctions.h b/TO_MERGE/cse/sys_weaponheat/CfgFunctions.h deleted file mode 100644 index 876d69d6c6..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/CfgFunctions.h +++ /dev/null @@ -1,27 +0,0 @@ -class CfgFunctions { - class CSE { - class WeaponHeat { - file = "cse\cse_sys_weaponheat\functions"; - class canSwapBarrel_wh { recompile = 1; }; - class clearMalfunction_wh { recompile = 1; }; - class generateMalfunctions_wh { recompile = 1; }; - class generateHeatHaze_wh { recompile = 1; }; - class generateSmoke_wh { recompile = 1; }; - class getBarrelMass_wh { recompile = 1; }; - class getBarrelTemperature_wh { recompile = 1; }; - class getBulletMass_wh { recompile = 1; }; - class getIn_wh { recompile = 1; }; - class getOut_wh { recompile = 1; }; - class handleWeaponHeat_wh { recompile = 1; }; - class jamWeapon_wh { recompile = 1; }; - class put_wh { recompile = 1; }; - class registerBarrelExchangeActions_wh { recompile = 1; }; - class setBarrelTemperature_wh { recompile = 1; }; - class swapBarrel_wh { recompile = 1; }; - class take_wh { recompile = 1; }; - class removeParticleEffectHeat_WH { recompile = 1; }; - class addParticleEffectHeat_WH { recompile = 1; }; - class setParticleEffectHeat_WH { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/CfgSounds.h b/TO_MERGE/cse/sys_weaponheat/CfgSounds.h deleted file mode 100644 index 9e38b28878..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/CfgSounds.h +++ /dev/null @@ -1,33 +0,0 @@ -class CfgSounds -{ - class cse_weaponheat_barrel_exchange - { - name="cse_weaponheat_barrel_exchange"; - sound[]={"\cse\cse_sys_weaponheat\sound\barrel_exchange.wav",1,1}; - titles[]={}; - }; - class cse_jamming_rifle - { - name="cse_jamming_rifle"; - sound[]={"\cse\cse_sys_weaponheat\sound\jamming_rifle.wav",1,1}; - titles[]={}; - }; - class cse_jamming_pistol - { - name="cse_jamming_pistol"; - sound[]={"\cse\cse_sys_weaponheat\sound\jamming_pistol.wav",1,1}; - titles[]={}; - }; - class cse_fixing_rifle - { - name="cse_fixing_rifle"; - sound[]={"\cse\cse_sys_weaponheat\sound\fixing_rifle.wav",1,1}; - titles[]={}; - }; - class cse_fixing_pistol - { - name="cse_fixing_pistol"; - sound[]={"\cse\cse_sys_weaponheat\sound\fixing_pistol.wav",1,1}; - titles[]={}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/CfgVehicles.h b/TO_MERGE/cse/sys_weaponheat/CfgVehicles.h deleted file mode 100644 index 0716bea9c5..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/CfgVehicles.h +++ /dev/null @@ -1,46 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_sys_weaponheat: Module_F { - scope = 2; - displayName = "Weapon Heat [CSE]"; - icon = "\cse\cse_main\data\cse_rifle_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class genericSpareBarrel { - displayName = "Generic Spare Barrel"; - description = "Allow players to use a generic spare barrel that fits all weapons."; - typeName = "BOOL"; - defaultValue = true; - }; - }; - class ModuleDescription { - description = "Weapon heating"; - }; - }; - - class Item_Base_F; - class cse_sparebarrelbagItem: Item_Base_F - { - scope = 2; - scopeCurator = 2; - displayName = "Spare Barrel Bag"; - author = "Combat Space Enhancement"; - vehicleClass = "Items"; - class TransportItems - { - class cse_sparebarrelbag - { - name = "cse_sparebarrelbag"; - count = 1; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_weaponheat/CfgWeapons.h b/TO_MERGE/cse/sys_weaponheat/CfgWeapons.h deleted file mode 100644 index 361a1652c1..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/CfgWeapons.h +++ /dev/null @@ -1,49 +0,0 @@ -class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class cse_sparebarrelbag: ItemCore - { - scope=2; - displayName="Spare Barrel Bag"; - // TODO: Replace the place holders - model="\cse\cse_sys_weaponheat\equipment\barrel_m16.p3d"; - picture="\cse\cse_sys_weaponheat\equipment\img\barrel_m16.paa"; - descriptionShort="Spare Barrel Bag"; - class ItemInfo: InventoryItem_Base_F - { - mass=40; - type=201; - }; - }; - - class cse_barrel_m16: cse_sparebarrelbag - { - displayName="M16 Spare Barrel"; - descriptionShort="M16 Spare Barrel"; - model="\cse\cse_sys_weaponheat\equipment\barrel_m16.p3d"; - picture="\cse\cse_sys_weaponheat\equipment\img\barrel_m16.paa"; - }; - - class cse_barrel_ak74: cse_sparebarrelbag - { - displayName="AK Spare Barrel"; - descriptionShort="AK Spare Barrel"; - model="\cse\cse_sys_weaponheat\equipment\barrel_ak74.p3d"; - picture="\cse\cse_sys_weaponheat\equipment\img\barrel_ak74.paa"; - }; - - class Rifle_Base_F; - class arifle_MX_Base_F; - class arifle_MX_SW_F: arifle_MX_Base_F - { - cse_exchangeableBarrel = 1; - }; - class LMG_Zafir_F: Rifle_Base_F - { - cse_exchangeableBarrel = 1; - }; - class LMG_Mk200_F: Rifle_Base_F - { - cse_exchangeableBarrel = 1; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_weaponheat/Combat_Space_Enhancement.h deleted file mode 100644 index 70239b39c0..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/Combat_Space_Enhancement.h +++ /dev/null @@ -1,18 +0,0 @@ -class Combat_Space_Enhancement { - class CfgModules { - class cse_sys_weaponheat { - init = "call compile preprocessFile 'cse\cse_sys_weaponheat\init_sys_weaponheat.sqf';"; - name = "Weapon Heating"; - class EventHandlers { - class AllVehicles { - GetIn = "call cse_fnc_getIn_wh; false"; - GetOut = "call cse_fnc_getOut_wh; false"; - }; - - class CAManBase { - killed = "[_this select 1] call cse_fnc_removeParticleEffectHeat_WH;"; - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/config.cpp b/TO_MERGE/cse/sys_weaponheat/config.cpp deleted file mode 100644 index 415f7c322a..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/config.cpp +++ /dev/null @@ -1,25 +0,0 @@ -class CfgPatches { - class cse_sys_weaponheat { - units[] = {"cse_sparebarrelbagItem"}; - weapons[] = {}; - requiredVersion = 1.0; - requiredAddons[] = {"cse_f_eh","cse_main", "A3_Weapons_F", "A3_Weapons_F_Rifles_MX"}; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -class cse_sys_weaponheat { - class PreloadAddons { - class cse_sys_weaponheat { - list[] = {"cse_sys_weaponheat"}; - }; - }; -}; - -#include "CfgVehicles.h" -#include "CfgWeapons.h" -#include "CfgSounds.h" -#include "CfgFunctions.h" -#include "Combat_Space_Enhancement.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/barrel_ak74.p3d b/TO_MERGE/cse/sys_weaponheat/equipment/barrel_ak74.p3d deleted file mode 100644 index cffce0919b..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/barrel_ak74.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/barrel_m16.p3d b/TO_MERGE/cse/sys_weaponheat/equipment/barrel_m16.p3d deleted file mode 100644 index ac893e24e5..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/barrel_m16.p3d and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_ak74.rvmat b/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_ak74.rvmat deleted file mode 100644 index b96145eaea..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_ak74.rvmat +++ /dev/null @@ -1,22 +0,0 @@ -ambient[]={0.80000001,0.80000001,0.80000001,0}; -diffuse[]={0.80000001,0.80000001,0.80000001,0}; -forcedDiffuse[]={0,0,0,0}; -emmisive[]={0,0,0,0}; -specular[]={0.2,0.2,0.2,0}; -specularPower=10.6; -renderFlags[]= -{ - "NoAlphaWrite" -}; -PixelShaderID="Glass"; -VertexShaderID="Glass"; -class Stage1 -{ - texture="#(argb,8,8,3)color(1,1,1,0.9)"; - uvSource="none"; -}; -class Stage2 -{ - texture="a3\data_f\env_chrome_co.paa"; - uvSource="none"; -}; diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_ak74_co.paa b/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_ak74_co.paa deleted file mode 100644 index de0d49a31b..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_ak74_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16.rvmat b/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16.rvmat deleted file mode 100644 index c5b74bc7d7..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16.rvmat +++ /dev/null @@ -1,92 +0,0 @@ -ambient[]={1.000000,1.000000,1.000000,1.000000}; -diffuse[]={1.000000,1.000000,1.000000,1.000000}; -forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000}; -emmisive[]={0.000000,0.000000,0.000000,1.000000}; -specular[]={0.703999,0.703999,0.703999,0.000000}; -specularPower=70.000000; -PixelShaderID="Super"; -VertexShaderID="Super"; -class Stage1 -{ - texture="cse\cse_sys_weaponheat\equipment\data\barrel_m16_nohq.paa"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage2 -{ - texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage3 -{ - texture="#(argb,8,8,3)color(0,0,0,0,MC)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage4 -{ - texture="#(argb,8,8,3)color(1,1,1,1,AS)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage5 -{ - texture="#(argb,8,8,3)color(0,0.05,1,1,SMDI)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage6 -{ - texture="#(ai,32,128,1)fresnel(0.98,1.02)"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; -class Stage7 -{ - texture="cse\cse_sys_weaponheat\equipment\data\env_co.tga"; - uvSource="tex"; - class uvTransform - { - aside[]={1.000000,0.000000,0.000000}; - up[]={0.000000,1.000000,0.000000}; - dir[]={0.000000,0.000000,0.000000}; - pos[]={0.000000,0.000000,0.000000}; - }; -}; diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16_co.paa b/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16_co.paa deleted file mode 100644 index a3494a0f25..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16_nohq.paa b/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16_nohq.paa deleted file mode 100644 index f53a424eb6..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/data/barrel_m16_nohq.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/data/env_co.paa b/TO_MERGE/cse/sys_weaponheat/equipment/data/env_co.paa deleted file mode 100644 index 77645347b5..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/data/env_co.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/img/barrel_ak74.paa b/TO_MERGE/cse/sys_weaponheat/equipment/img/barrel_ak74.paa deleted file mode 100644 index 93b3b8a37c..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/img/barrel_ak74.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/equipment/img/barrel_m16.paa b/TO_MERGE/cse/sys_weaponheat/equipment/img/barrel_m16.paa deleted file mode 100644 index 92b4f2fc8b..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/equipment/img/barrel_m16.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/functions/defines.h b/TO_MERGE/cse/sys_weaponheat/functions/defines.h deleted file mode 100644 index e7cf47b9d1..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/defines.h +++ /dev/null @@ -1,16 +0,0 @@ -#define PI 3.14159265 -#define ABSOLUTE_ZERO_IN_CELSIUS -273.15 -#define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS) -#define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS) -#define CENTIMETER(i) (i * 2.54) -#define STEFAN_BOLTZMANN_CONSTANT 0.00000005670373 // W / (m^2 * K^4) -#define HEAT_TRANSFER_COEFFICIENT_STEEL 25.0 // W / (m^2 * K) -#define HEAT_CAPACITY_STEEL 0.466 // J / (g * K) - -// Source: http://www.engineeringtoolbox.com/emissivity-coefficients-d_447.html -#define EMISSIVITY_STAINLESS_STEEL 0.54 - -// Source http://www.azom.com/properties.aspx?ArticleID=965 -// We have taken the average density for this -// (7.85 + 8.06 / 2) min + max / 2 -#define DENSITY_STAINLESS_STEEL 7.955 // g / cm^3 \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_addParticleEffectHeat_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_addParticleEffectHeat_wh.sqf deleted file mode 100644 index cb324f892b..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_addParticleEffectHeat_wh.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_addParticleEffectsHeat_wh.sqf - * @Descr: Adds a heat effect for the units weapon. - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: PARTICLE The particleeffect object - * @PublicAPI: false - */ - -private ["_unit", "_currentParticleEffect", "_weaponDirection", "_particleEffect", "_rightHandPosition"]; -_unit = _this select 0; - -_currentParticleEffect = _unit getvariable "cse_particleEffect_Heat_WH"; -if (!isnil "_currentParticleEffect") exitwith {_currentParticleEffect}; -_rightHandPosition = ATLtoASL (_unit modelToWorld (_unit selectionPosition "RightHand")); - -_weaponDirection = _unit weaponDirection _weapon; - -_dummyObj = "cse_LogicDummy" createVehicleLocal [0,0,0]; -_dummyObj attachTo [_unit, _weaponDirection vectorMultiply 0.2, "LeftHand"]; - -_particleEffect = "#particlesource" createVehicle (getPos _dummyObj); -_particleEffect setParticleCircle [0, [0, 0, 0]]; -_particleEffect setParticleRandom [0.2, [0, 0, 0], [0.0, 0.0, 0], 0.1, 0.1, [0, 0, 0, 0], 0, 0]; -_particleEffect setParticleParams [["\A3\data_f\ParticleEffects\Universal\Refract",1, 0, 1, 0], "", "Billboard", 3, 0.1, [0, 0, 0], [0, 0, 0.0], 0, 0.5, 0.5, 0.1, [1.0], [[1, 0.7, 0.7, 0.0]], [1], 0, 0, "", "", _dummyObj]; -_particleEffect setDropInterval 0.04; - -_unit setvariable ["cse_particleEffect_Heat_WH", _particleEffect]; -_unit setvariable ["cse_particleEffect_Heat_dummyObj_WH", _dummyObj]; -_particleEffect; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_canSwapBarrel_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_canSwapBarrel_wh.sqf deleted file mode 100644 index 3e1480cee4..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_canSwapBarrel_wh.sqf +++ /dev/null @@ -1,10 +0,0 @@ -private ["_unit", "_weapon"]; -_unit = _this select 0; -_weapon = _this select 1; - -if (getNumber(configFile >> "CfgWeapons" >> _weapon >> "cse_exchangeableBarrel") != 1) exitWith { false }; - -if ([_unit, getText(configFile >> "CfgWeapons" >> _weapon >> "cse_spareBarrel")] call cse_fnc_hasItem) exitWith { true }; -if (cse_genericSpareBarrel_wh && [_unit, "cse_sparebarrelbag"] call cse_fnc_hasItem) exitWith { true }; - -false diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_clearMalfunction_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_clearMalfunction_wh.sqf deleted file mode 100644 index 9223a16969..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_clearMalfunction_wh.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/** - * fn_jamWeapon_wh.sqf - * @Descr: Clears the malfunction of a given unit/weapon/muzzle combination - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING] - * @Return: nil - * @PublicAPI: true - */ - -#define SUCCESS_RATE 0.9 - -private ["_unit", "_weapon", "_muzzle"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; - -if ((currentMuzzle _unit) != _muzzle) exitWith {}; -if (_unit getVariable["CSE_ClearingMalfunction", false]) exitWith {}; -if (!(_unit getVariable[format["CSE_Malfunction_%1_%2", _weapon, _muzzle], false])) exitWith {}; - -// Beginning of the procedure to clear the malfunction -_unit setVariable["CSE_ClearingMalfunction", true, false]; - -_unit playActionNow "reloadMagazine"; -sleep 2; // TODO: This should depend on the weapon type (maybe consider the weapon mass) -if (SUCCESS_RATE > random 1) then { - _unit setVariable [format["CSE_Malfunction_%1_%2", _weapon, _muzzle], false, !(_unit isKindOf "Man")]; -}; - -// End of the procedure to clear the malfunction -_unit setVariable["CSE_ClearingMalfunction", false, false]; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_generateHeatHaze_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_generateHeatHaze_wh.sqf deleted file mode 100644 index 0bcfe6e90e..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_generateHeatHaze_wh.sqf +++ /dev/null @@ -1,35 +0,0 @@ -#define MAX_TEMP_HEAT_EFFECT 1000 - -private ["_unit", "_weapon", "_muzzle", "_ammo", "_malfunctionRate"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_ammo = _this select 3; -_barrelTemperature = _this select 4; - -if (_unit getVariable[format["cse_weaponHeat_TemperatureEffects_%1_%2", _weapon, _muzzle], false]) exitWith {}; - -if (_barrelTemperature >= 100) then { - _unit setvariable [format["cse_weaponHeat_TemperatureEffects_%1_%2", _weapon, _muzzle], true]; - - [_unit, _weapon, _muzzle, _ammo] spawn { - _unit = _this select 0; - _weapon = _this select 1; - _muzzle = _this select 2; - _ammo = _this select 3; - - _particleEffect = [_unit] call cse_fnc_addParticleEffectHeat_WH; - _currentTemp = [_unit, _weapon, _muzzle, _ammo] call cse_fnc_getBarrelTemperature_wh; - while {_currentTemp >= 100 && alive _unit} do { - _currentTemp = [_unit, _weapon, _muzzle, _ammo] call cse_fnc_getBarrelTemperature_wh; - if (currentWeapon _unit == _weapon) then { - _percentage = 0 max (_currentTemp / MAX_TEMP_HEAT_EFFECT) min 1; - [_unit, _percentage] call cse_fnc_setParticleEffectHeat_WH; - } else { - [_unit, 0] call cse_fnc_setParticleEffectHeat_WH; - }; - sleep 1; - }; - [_unit] call cse_fnc_removeParticleEffectHeat_WH; - }; -}; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_generateMalfunctions_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_generateMalfunctions_wh.sqf deleted file mode 100644 index 991e6a02cf..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_generateMalfunctions_wh.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/** - * fn_generateMalfunctions_wh.sqf - * @Descr: Generates weapon malfunctions based on barrel temperature and weapon cleanness - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING, barrelTemperature NUMBER] - * @Return: nil - * @PublicAPI: false - */ - - -#define MALFUNCTION_BASE_RATE 0.0001 // Base rate 1 : 10000 - -private ["_unit", "_weapon", "_muzzle", "_malfunctionRate"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_barrelTemperature = _this select 3; - -if (_unit getVariable[format["CSE_Malfunction_%1_%2", _weapon, _muzzle], false]) exitWith { - switch (getNumber (configFile >> "CfgWeapons" >> _weapon >> "type")) do { - case 1: { - playSound3d["\cse\cse_sys_weaponheat\sound\jamming_rifle.wav", _unit, false, getPos _unit, 1.5, 1, 10]; - }; - case 2: { - playSound3d["\cse\cse_sys_weaponheat\sound\jamming_pistol.wav", _unit, false, getPos _unit, 1.5, 1, 10]; - }; - default { - - }; - }; - -}; - -_malfunctionRate = MALFUNCTION_BASE_RATE max (_barrelTemperature / 1500)^4; - -// TODO: Add consideration of weapon cleanness - -if (_malfunctionRate > random 1) then { - [_unit, _weapon, _muzzle] call cse_fnc_jamWeapon_wh; - - switch (getNumber (configFile >> "CfgWeapons" >> _weapon >> "type")) do { - case 1: { - playSound3d["\cse\cse_sys_weaponheat\sound\jamming_rifle.wav", _unit, false, getPos _unit, 15, 1, 10]; - }; - case 2: { - playSound3d["\cse\cse_sys_weaponheat\sound\jamming_pistol.wav", _unit, false, getPos _unit, 15, 1, 10]; - }; - default { - - }; - }; -}; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_generateSmoke_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_generateSmoke_wh.sqf deleted file mode 100644 index a9a7f2c048..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_generateSmoke_wh.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/** - * fn_generateSmoke_wh.sqf - * @Descr: Generates a smoke effect based on barrel temperature - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING, _bullet OBJECT, barrelTemperature NUMBER] - * @Return: nil - * @PublicAPI: false - */ - - -private ["_unit", "_weapon", "_muzzle", "_bullet", "_bulletPosition", "_weaponDirection", "_intensity", "_particlePosition", "_distance"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_bullet = _this select 3; -_barrelTemperature = _this select 4; - -if (_barrelTemperature < 80) exitWith {}; - -_bulletPosition = getPosATL _bullet; -_weaponDirection = _unit weaponDirection _weapon; -_intensity = (_barrelTemperature / 2000) min 0.3; - -{ - _distance = 0.05 + random 0.27; - _particlePosition = _bulletPosition vectorAdd (_weaponDirection vectorMultiply _distance); - drop ["\A3\data_f\missileSmoke", "", "Billboard", 1, 1.5,_particlePosition, [0, 0, 0], 1, 7.0, 5.5, 0.075,[0.28, 0.33, 0.37], [[.5, .5, .5, _intensity], [.6, .6, .6,_intensity*0.2]], [random 1,random 1,random 1], 0, 0, "", "", ""]; -} forEach [0, 1]; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_getBarrelMass_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_getBarrelMass_wh.sqf deleted file mode 100644 index 1c638f3ec0..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_getBarrelMass_wh.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/** - * fn_getBarrelMass_wh.sqf - * @Descr: Calculates the mass of the barrel - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING] - * @Return: barrel mass in gramm - * @PublicAPI: false - */ - - -private ["_unit", "_weapon", "_muzzle", "_barrelMass"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; - -_barrelMass = 0.40 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass")) * 50; // estimated barrel mass in gramm -if (_barrelMass == 0) then { - // TODO: Find a way to estimate the barrel mass in this case - _barrelMass = 4000; - if (!(_unit isKindOf "Man")) then { - _barrelMass = _barrelMass * 10; - }; -}; -switch (_weapon) do { - case (primaryWeapon _unit) : { _barrelMass = 1000 max _barrelMass }; - case (secondaryWeapon _unit) : { _barrelMass = 2000 max _barrelMass }; - case (handgunWeapon _unit) : { _barrelMass = 400 max _barrelMass }; -}; - -_barrelMass diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_getBarrelTemperature_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_getBarrelTemperature_wh.sqf deleted file mode 100644 index c9c01d50b7..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_getBarrelTemperature_wh.sqf +++ /dev/null @@ -1,62 +0,0 @@ -/** - * fn_getBarrelTemperature_wh.sqf - * @Descr: Calculates the current barrel temperature - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING, ammo STRING] - * @Return: barrel temperature in degree celsius - * @PublicAPI: true - */ - - -#include "defines.h" - -private ["_unit", "_weapon", "_muzzle", "_ammo", "_barrelMass", "_barrelLength", "_barrelCaliber", "_area", "_barrelDiameter", "_ambientTemperature", "_barrelTemperature", "_lastUpdateTime", "_deltaTime", "_simulationStep", "_fluidVelocity", "_dynamicHeatTransferCoefficient"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_ammo = _this select 3; - -_barrelMass = [_unit, _weapon, _muzzle] call cse_fnc_getBarrelMass_wh; -_barrelSurface = _barrelMass * 0.00015; // Rough estimation based on barrel mass only - -_barrelLength = getNumber(configFile >> "CfgWeapons" >> _weapon >> "AB_barrelLength"); -_barrelCaliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "AB_caliber"); -if (_barrelLength > 0 && _barrelCaliber > 0) then { - // Estimate barrel surface based on barrel mass and barrel length and barrel caliber - _area = _barrelMass / (DENSITY_STAINLESS_STEEL * PI * CENTIMETER(_barrelLength)); - _barrelDiameter = sqrt(CENTIMETER(_barrelCaliber)^2 + 4 * _area); - - _barrelSurface = _barrelDiameter * PI * CENTIMETER(_barrelLength); - _barrelSurface = _barrelSurface / 10000; // convert from m^2 to cm^2 -}; - -_ambientTemperature = 15; -if (["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) then { - _ambientTemperature = ((getPosASL _unit) select 2) call cse_ab_ballistics_fnc_get_temperature_at_height; -}; - -_barrelTemperature = _unit getVariable [format["CSE_BarrelTemperature_%1", _weapon], _ambientTemperature]; -_lastUpdateTime = _unit getVariable [format["CSE_BarrelUpdateTime_%1", _weapon], diag_tickTime]; - -_deltaTime = diag_tickTime - _lastUpdateTime; - -while {_deltaTime > 0} do { - _simulationStep = (_deltaTime min 1); // max step size 1 second - - // TODO: Do we want conductive heat transfer from the barrel to other parts of the weapon? - - // Source: https://de.wikipedia.org/wiki/W%C3%A4rme%C3%BCbergangskoeffizient - // Source: https://en.wikipedia.org/wiki/Combined_forced_and_natural_convection - _fluidVelocity = vectorMagnitude (wind vectorDiff (velocity _unit)); - _dynamicHeatTransferCoefficient = 12 * sqrt(_fluidVelocity) + 2; - // Source: https://en.wikipedia.org/wiki/Convective_heat_transfer - _barrelTemperature = _barrelTemperature - (HEAT_TRANSFER_COEFFICIENT_STEEL + _dynamicHeatTransferCoefficient) * _barrelSurface * (_barrelTemperature - _ambientTemperature) / (HEAT_CAPACITY_STEEL * _barrelMass) * _simulationStep; - - // Source: https://en.wikipedia.org/wiki/Thermal_radiation - _barrelTemperature = _barrelTemperature - EMISSIVITY_STAINLESS_STEEL * STEFAN_BOLTZMANN_CONSTANT * _barrelSurface * (KELVIN(_barrelTemperature)^4 - KELVIN(_ambientTemperature)^4) / (HEAT_CAPACITY_STEEL * _barrelMass) * _simulationStep; - - _deltaTime = _deltaTime - _simulationStep; -}; - -_barrelTemperature diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_getBulletMass_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_getBulletMass_wh.sqf deleted file mode 100644 index 3075e2be18..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_getBulletMass_wh.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/** - * fn_getBulletMass_wh.sqf - * @Descr: Calculates the mass of the bullet - * @Author: Ruthberg - * - * @Arguments: ammo STRING - * @Return: bullet mass in gramm - * @PublicAPI: false - */ - - -private ["_ammo", "_bulletMass", "_caliber"]; -_ammo = _this; - -_bulletMass = getNumber(configFile >> "CfgAmmo" >> _ammo >> "AB_bulletMass"); -if (_bulletMass == 0) then { - // Try to estimate the mass based on BIS caliber - // B_762x51_Ball: caliber 1.0 <--> 7.62 NATO M80: bullet mass 147 grain (9.46064086 g) - _caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "caliber"); - _bulletMass = _muzzleVelocity / 850 * _caliber * 9.46064086; -} else { - _bulletMass = _bulletMass * 0.06479891; -}; - -_bulletMass diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_getIn_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_getIn_wh.sqf deleted file mode 100644 index 000261f184..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_getIn_wh.sqf +++ /dev/null @@ -1,9 +0,0 @@ -private ["_vehicle", "_position", "_unit", "_handle"]; -_vehicle = _this select 0; -_position = _this select 1; -_unit = _this select 2; - -if (_unit != player) exitWith {}; -_handle = _vehicle addEventHandler ["Fired", {_this call cse_fnc_handleWeaponHeat_wh}]; - -_vehicle setVariable ["cse_weapon_heat_fired_event_handler", _handle]; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_getOut_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_getOut_wh.sqf deleted file mode 100644 index f734099eb7..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_getOut_wh.sqf +++ /dev/null @@ -1,12 +0,0 @@ -private ["_vehicle", "_position", "_unit", "_handle"]; -_vehicle = _this select 0; -_position = _this select 1; -_unit = _this select 2; - -if (_unit != player) exitWith {}; -_handle = _vehicle getVariable "cse_weapon_heat_fired_event_handler"; - -if (!isNil "_handle") then { - _vehicle removeEventHandler ["Fired", _handle]; - _vehicle setVariable ["cse_weapon_heat_fired_event_handler", nil]; -}; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_handleWeaponHeat_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_handleWeaponHeat_wh.sqf deleted file mode 100644 index 7ac712917b..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_handleWeaponHeat_wh.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/** - * fn_handleWeaponHeat_wh.sqf - * @Descr: Is expected to be triggered by the fired eventhandler from BI. - * @Author: Ruthberg - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - * - * Params: - * 1. unit: Object - Object the event handler is assigned to - * 2. weapon: String - Fired weapon - * 3. muzzle: String - Muzzle that was used - * 4. mode: String - Current mode of the fired weapon - * 5. ammo: String - Ammo used - * 6. magazine: String - magazine name which was used - * 7. projectile: Object - Object of the projectile that was shot (Arma 2: OA and onwards) - */ - -#include "defines.h" - -private ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_bullet", "_barrelTemperature", "_muzzleVelocity", "_barrelMass", "_bulletMass", "_caliber", "_kineticEnergy"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_mode = _this select 3; -_ammo = _this select 4; -_magazine = _this select 5; -_bullet = _this select 6; - -if (!(isPlayer _unit) || !local _unit) exitWith {}; -if (!(_bullet isKindOf "BulletBase")) exitWith {}; - -_barrelTemperature = [_unit, _weapon, _muzzle, _ammo] call cse_fnc_getBarrelTemperature_wh; - -_muzzleVelocity = getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); -_barrelMass = [_unit, _weapon, _muzzle] call cse_fnc_getBarrelMass_wh; -_bulletMass = _ammo call cse_fnc_getBulletMass_wh; - -_kineticEnergy = 0.5 * (_bulletMass / 1000) * _muzzleVelocity^2; // in J - -if (_kineticEnergy > 0 && _barrelMass > 0) then { - _barrelTemperature = _barrelTemperature + _kineticEnergy / (HEAT_CAPACITY_STEEL * _barrelMass); - [_unit, _weapon, _muzzle, _barrelTemperature] call cse_fnc_setBarrelTemperature_wh; -}; - -[_unit, _weapon, _muzzle, _barrelTemperature] call cse_fnc_generateMalfunctions_wh; -[_unit, _weapon, _muzzle, _ammo, _barrelTemperature] call cse_fnc_generateHeatHaze_wh; -[_unit, _weapon, _muzzle, _bullet, _barrelTemperature] call cse_fnc_generateSmoke_wh; - -// TODO: High barrel temperature side effects -// cooking off? -// fire (particle effects)? -// glowing barrel at very high temperatures? \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_jamWeapon_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_jamWeapon_wh.sqf deleted file mode 100644 index a47e907cb8..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_jamWeapon_wh.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/** - * fn_jamWeapon_wh.sqf - * @Descr: Adds a malfunction to the given unit/weapon/muzzle combination - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING] - * @Return: nil - * @PublicAPI: true - */ - -private ["_unit", "_weapon", "_muzzle", "_ID"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; - -_unit setVariable[format["CSE_Malfunction_%1_%2", _weapon, _muzzle], true, !(_unit isKindOf "CaManBase")]; -_ID = format["CSE_Malfunction_ID_%1_%2_%3", _unit, _weapon, _muzzle]; - -[_ID, [_unit, _weapon, _muzzle, _ID], { - private ["_unit", "_weapon", "_muzzle", "_ID"]; - _unit = _this select 0; - - // necessary to prefent weapon jam from resetting when jumping in and out of vehicles. - if (vehicle _unit == _unit) then { - _weapon = _this select 1; - _muzzle = _this select 2; - _ID = _this select 3; - - if (!(_unit getVariable[format["CSE_Malfunction_%1_%2", _weapon, _muzzle], false]) || !(_weapon in (weapons (vehicle _unit)))) exitWith { - _unit setVariable[format["CSE_Malfunction_%1_%2", _weapon, _muzzle], nil, !(_unit isKindOf "CaManBase")]; // clean up the malfunction variable. - [_ID] call cse_fnc_removeTaskFromPool_F; - }; - - if (currentWeapon _unit == _weapon && currentMuzzle _unit == _muzzle) then { - (vehicle _unit) setWeaponReloadingTime [_unit, _muzzle, 1]; - }; - }; -}] call cse_fnc_addTaskToPool_f; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_put_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_put_wh.sqf deleted file mode 100644 index 1b3c28d7bf..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_put_wh.sqf +++ /dev/null @@ -1,19 +0,0 @@ -private ["_unit", "_container", "_item", "_itemCargo", "_ambientTemperature", "_spareBarrelTemperature", "_spareBarrelUpdateTime"]; -_unit = _this select 0; -_container = _this select 1; -_item = _this select 2; - -if (_unit != player) exitWith {}; -if (!([configFile >> "CfgWeapons" >> _item, "cse_sparebarrelbag"] call cse_fnc_inheritsFrom)) exitWith {}; -if (_container == uniformContainer player || _container == vestContainer player || _container == backpackContainer player) exitWith {}; - -_ambientTemperature = 15; -if (["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) then { - _ambientTemperature = ((getPosASL _unit) select 2) call cse_ab_ballistics_fnc_get_temperature_at_height; -}; - -_spareBarrelTemperature = _unit getVariable [format["CSE_BarrelTemperature_%1", _item], _ambientTemperature]; -_spareBarrelUpdateTime = _unit getVariable [format["CSE_BarrelUpdateTime_%1", _item], diag_tickTime]; - -_container setVariable [format["CSE_BarrelTemperature_%1", _item], _spareBarrelTemperature, true]; -_container setVariable [format["CSE_BarrelUpdateTime_%1", _item], _spareBarrelUpdateTime, true]; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_registerBarrelExchangeActions_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_registerBarrelExchangeActions_wh.sqf deleted file mode 100644 index 5ccdf7e726..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_registerBarrelExchangeActions_wh.sqf +++ /dev/null @@ -1,26 +0,0 @@ -if (isDedicated) exitwith{}; -CSE_ICON_PATH = "cse\cse_gui\radialmenu\data\icons\"; - -cse_exchangeBarrelDisplaySubMenu = { - [_this] call cse_fnc_Debug; - - private ["_subMenus"]; - _subMenus = []; - - if ([player, currentWeapon player, currentMuzzle player] call cse_fnc_canSwapBarrel_wh) then { - _subMenus pushBack ["Swap barrel", CSE_ICON_PATH + "icon_swap_barrels.paa", { - closeDialog 0; - [player, currentWeapon player, currentMuzzle player] spawn cse_fnc_swapBarrel_wh; - }, true, "Swaps out the barrel"]; - }; - - [_this select 3, _subMenus, _this select 1, CSE_SELECTED_RADIAL_OPTION_N_GUI, true] call cse_fnc_openRadialSecondRing_GUI; -}; - - -_entries = [ - ["Weapon", {([player, currentWeapon player, currentMuzzle player] call cse_fnc_canSwapBarrel_wh)}, CSE_ICON_PATH + "icon_lines_horizontal_s.paa", cse_exchangeBarrelDisplaySubMenu, "Shows available weapon interactions"] -]; -["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; - - diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_removeParticleEffectHeat_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_removeParticleEffectHeat_wh.sqf deleted file mode 100644 index cda3d4b85a..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_removeParticleEffectHeat_wh.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/** - * fn_removeParticleEffectHeat_wh.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [unit OBJECT] - * @Return: BOOL Whatever or not a particle effect has been removed - * @PublicAPI: false - */ - -private ["_unit", "_currentParticleEffect"]; -_unit = _this select 0; - -_currentParticleEffect = _unit getvariable "cse_particleEffect_Heat_WH"; -if (!isnil "_currentParticleEffect") exitwith { - deleteVehicle _currentParticleEffect; - _unit setvariable ["cse_particleEffect_Heat_WH", nil]; - - _dummyObj = _unit getvariable "cse_particleEffect_Heat_dummyObj_WH"; - deleteVehicle _dummyObj; - _unit setvariable ["cse_particleEffect_Heat_dummyObj_WH", nil]; - - true -}; - -false diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_setBarrelTemperature_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_setBarrelTemperature_wh.sqf deleted file mode 100644 index ccf67a5987..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_setBarrelTemperature_wh.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fn_setBarrelTemperature_wh.sqf - * @Descr: Calculates the current barrel temperature - * @Author: Ruthberg - * - * @Arguments: [unit OBJECT, weapon STRING, muzzle STRING] - * @Return: barrel temperature in degree celsius - * @PublicAPI: true - */ - - -private ["_unit", "_weapon", "_muzzle", "_barrelTemperature"]; -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_barrelTemperature = _this select 3; - -_unit setVariable [format["CSE_BarrelTemperature_%1", _weapon], _barrelTemperature, !(_unit isKindOf "Man")]; -_unit setVariable [format["CSE_BarrelUpdateTime_%1" , _weapon], diag_tickTime, !(_unit isKindOf "Man")]; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_setParticleEffectHeat_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_setParticleEffectHeat_wh.sqf deleted file mode 100644 index a7735a7cdc..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_setParticleEffectHeat_wh.sqf +++ /dev/null @@ -1,11 +0,0 @@ - -private ["_unit", "_percentage", "_currentParticleEffect", "_dummyObj"]; -_unit = _this select 0; -_percentage = _this select 1; - -_currentParticleEffect = _unit getvariable "cse_particleEffect_Heat_WH"; -if (!isnil "_currentParticleEffect") then { - _dummyObj = _unit getvariable "cse_particleEffect_Heat_dummyObj_WH"; - _dummyObj attachTo [_unit, (_unit weaponDirection _weapon) vectorMultiply 0.2, "LeftHand"]; - _particleEffect setParticleParams [["\A3\data_f\ParticleEffects\Universal\Refract",1, 0, 1, 0], "", "Billboard", 1, 1.0, [0, 0, 0], [0, 0, 0.0], 0, 0.5, 0.5, 0.1, [1.0], [[1, 0.7, 0.7, 0.5 * _percentage]], [1], 0, 0, "", "", _dummyObj]; -}; diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_swapBarrel_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_swapBarrel_wh.sqf deleted file mode 100644 index f15ce020c7..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_swapBarrel_wh.sqf +++ /dev/null @@ -1,48 +0,0 @@ -private ["_unit", "_weapon"]; -_unit = _this select 0; -_weapon = _this select 1; - -if (!([_unit, _weapon] call cse_fnc_canSwapBarrel_wh)) exitWith {}; -if (vehicle _unit != _unit && {driver (vehicle _unit) == _unit || commander (vehicle _unit) == _unit || gunner (vehicle _unit) == _unit}) exitWith {}; - -if (vehicle _unit == _unit && currentWeapon _unit != "" && !(weaponLowered _unit) && (stance _unit != "PRONE")) then { - _unit action ["WeaponOnBack", _unit]; - waitUntil { weaponLowered _unit }; // probably evil -}; - -[_unit, _weapon] spawn { - private ["_unit", "_weapon", "_spareBarrel", "_ambientTemperature", "_barrelTemperature", "_barrelUpdateTime", "_spareBarrelTemperature", "_spareBarrelUpdateTime"]; - _unit = _this select 0; - _weapon = _this select 1; - - CSE_ORIGINAL_POSITION_BARREL_EXCHANGE_EQ = getPos _unit; - // TODO: Prohibit the player from using his weapon during the barrel exchange progress - CSE_CONDITION_BARREL_EXCHANGE_EQ = {((vehicle _unit != _unit && driver (vehicle _unit) != _unit && commander (vehicle _unit) != _unit && gunner (vehicle _unit) != _unit) || (((getPos _unit) distance CSE_ORIGINAL_POSITION_BARREL_EXCHANGE_EQ) < 1 && (weaponLowered _unit || stance _unit == "PRONE")))}; - - // TODO: Play animation - playSound "cse_weaponheat_barrel_exchange"; - _barrelExchangeSuccess = [15, CSE_CONDITION_BARREL_EXCHANGE_EQ] call cse_fnc_gui_loadingBar; - - if (_barrelExchangeSuccess) then { - _spareBarrel = getText(configFile >> "CfgWeapons" >> _weapon >> "cse_spareBarrel"); - if (!([_unit, _spareBarrel] call cse_fnc_hasItem)) then { - _spareBarrel = "cse_sparebarrelbag"; - }; - _ambientTemperature = 15; - if (["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) then { - _ambientTemperature = ((getPosASL _unit) select 2) call cse_ab_ballistics_fnc_get_temperature_at_height; - }; - - _barrelTemperature = _unit getVariable [format["CSE_BarrelTemperature_%1", _weapon], _ambientTemperature]; - _barrelUpdateTime = _unit getVariable [format["CSE_BarrelUpdateTime_%1", _weapon], diag_tickTime]; - - _spareBarrelTemperature = _unit getVariable [format["CSE_BarrelTemperature_%1", _spareBarrel], _ambientTemperature]; - _spareBarrelUpdateTime = _unit getVariable [format["CSE_BarrelUpdateTime_%1", _spareBarrel], diag_tickTime]; - - _unit setVariable [format["CSE_BarrelTemperature_%1", _weapon], _spareBarrelTemperature]; - _unit setVariable [format["CSE_BarrelUpdateTime_%1", _weapon], _spareBarrelUpdateTime]; - - _unit setVariable [format["CSE_BarrelTemperature_%1", _spareBarrel], _barrelTemperature]; - _unit setVariable [format["CSE_BarrelUpdateTime_%1", _spareBarrel], _barrelUpdateTime]; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_weaponheat/functions/fn_take_wh.sqf b/TO_MERGE/cse/sys_weaponheat/functions/fn_take_wh.sqf deleted file mode 100644 index 8052b6180d..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/functions/fn_take_wh.sqf +++ /dev/null @@ -1,35 +0,0 @@ -private ["_unit", "_container", "_item", "_itemCargo", "_spareBarrelCount", "_ambientTemperature", "_spareBarrelTemperature", "_spareBarrelUpdateTime"]; -_unit = _this select 0; -_container = _this select 1; -_item = _this select 2; - -if (_unit != player) exitWith {}; -if (!([configFile >> "CfgWeapons" >> _item, "cse_sparebarrelbag"] call cse_fnc_inheritsFrom)) exitWith {}; -if (_container == uniformContainer player || _container == vestContainer player || _container == backpackContainer player) exitWith {}; - -_itemCargo = getItemCargo _container; -_spareBarrelCount = 0; -{ - if (_x == _item) exitWith { - _spareBarrelCount = (_itemCargo select 1) select _forEachIndex; - }; -} forEach (_itemCargo select 0); - -_ambientTemperature = 15; -if (["cse_AB_moduleAdvancedBallistics"] call cse_fnc_isModuleEnabled_F) then { - _ambientTemperature = ((getPosASL _unit) select 2) call cse_ab_ballistics_fnc_get_temperature_at_height; -}; - -_spareBarrelTemperature = _ambientTemperature; -_spareBarrelUpdateTime = diag_tickTime; - -if (_spareBarrelCount == 0) then { - // Assume that we took an already used spare barrel - _spareBarrelTemperature = _container getVariable [format["CSE_BarrelTemperature_%1", _item], _ambientTemperature]; - _spareBarrelUpdateTime = _container getVariable [format["CSE_BarrelUpdateTime_%1", _item], diag_tickTime]; - _container setVariable [format["CSE_BarrelTemperature_%1", _item], nil]; - _container setVariable [format["CSE_BarrelUpdateTime_%1", _item], nil]; -}; - -_unit setVariable [format["CSE_BarrelTemperature_%1", _item], _spareBarrelTemperature]; -_unit setVariable [format["CSE_BarrelUpdateTime_%1", _item], _spareBarrelUpdateTime]; diff --git a/TO_MERGE/cse/sys_weaponheat/init_sys_weaponheat.sqf b/TO_MERGE/cse/sys_weaponheat/init_sys_weaponheat.sqf deleted file mode 100644 index 3b7c664e9e..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/init_sys_weaponheat.sqf +++ /dev/null @@ -1,31 +0,0 @@ -if (!hasInterface) exitWith {}; -waitUntil {!isNil "cse_gui" && !isNil "cse_main"}; -waitUntil {!isNull player}; - -player addEventHandler ["Fired", {_this call cse_fnc_handleWeaponHeat_wh}]; -player addEventHandler ["Take", {_this call cse_fnc_take_wh}]; -player addEventHandler ["Put", {_this call cse_fnc_put_wh}]; - -cse_sys_weaponheat = true; -cse_genericSpareBarrel_wh = true; - -_args = _this; -{ - _value = _x select 1; - if (!isNil "_value") then { - _name = _x select 0; - if (_name == "genericSpareBarrel") exitWith { - cse_genericSpareBarrel_wh = _value; - }; - }; -} forEach _args; - -// Clear Malfunction -["cse_weaponheat_clear_malfunction", (["cse_weaponheat_clear_malfunction","action",[20, 0,1,0]] call cse_fnc_getKeyBindingFromProfile_F), - { - [player, currentWeapon player, currentMuzzle player] call cse_fnc_clearMalfunction_wh; - }] call cse_fnc_addKeyBindingForAction_F; - -["cse_weaponheat_clear_malfunction","action", "Clear Malfunction", "Clear Malfunction"] call cse_fnc_settingsDefineDetails_F; - -call cse_fnc_registerBarrelExchangeActions_wh; diff --git a/TO_MERGE/cse/sys_weaponheat/sound/barrel_exchange.wav b/TO_MERGE/cse/sys_weaponheat/sound/barrel_exchange.wav deleted file mode 100644 index 5d3391099a..0000000000 Binary files a/TO_MERGE/cse/sys_weaponheat/sound/barrel_exchange.wav and /dev/null differ diff --git a/TO_MERGE/cse/sys_weaponheat/stringtable.xml b/TO_MERGE/cse/sys_weaponheat/stringtable.xml deleted file mode 100644 index e7f8b63e1a..0000000000 --- a/TO_MERGE/cse/sys_weaponheat/stringtable.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/$PBOPREFIX$ b/TO_MERGE/wep_dragon/$PBOPREFIX$ deleted file mode 100644 index 4275fbd056..0000000000 --- a/TO_MERGE/wep_dragon/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\wep_dragon \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/CfgAmmo.hpp b/TO_MERGE/wep_dragon/CfgAmmo.hpp deleted file mode 100644 index 3798470615..0000000000 --- a/TO_MERGE/wep_dragon/CfgAmmo.hpp +++ /dev/null @@ -1,77 +0,0 @@ -class CfgAmmo { - class MissileBase; - class ShellBase; - - class ace_m47_dragon_serviceCharge : ShellBase { - hit = 1; - indirectHit = 2; - indirectHitRange = 1; - typicalSpeed = 100; - explosive = 1; - cost = 300; - model = "\ca\weapons\empty"; - airFriction = 0; - timeToLive = 1; - explosionTime = 0.001; - soundFly[] = {"",1,1}; - soundEngine[] = {"",1,4}; - CraterEffects = ""; - explosionEffects = "ace_m47_serviceExplosion"; - hitarmor[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitbuilding[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitconcrete[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitdefault[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitfoliage[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitglass[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitglassarmored[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitgroundhard[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitgroundsoft[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitiron[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitman[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitmetal[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitmetalplate[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitplastic[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitrubber[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - hitwood[] = {"soundDefault1", 0.33, "soundDefault2", 0.33, "soundDefault3", 0.33}; - sounddefault1[] = {"\x\ace\addons\arty_ammunition\Sounds\base_eject", 56.2341, 1, 1800}; - sounddefault2[] = {"\x\ace\addons\arty_ammunition\Sounds\base_eject", 56.2341, 1, 1800}; - sounddefault3[] = {"\x\ace\addons\arty_ammunition\Sounds\base_eject", 56.2341, 1, 1800}; - soundHit[] = {"\x\ace\addons\arty_ammunition\Sounds\base_eject",56.23413,1,1800}; - }; - - class M_47_AT_EP1: MissileBase { - ace_towsmoke = 0; // no trail - six_tracerenable = 0; // can't find it? - ace_guidance_type = "dragon"; - soundFly[] = {"",0,1,0}; - soundEngine[] = {"",0,1,0}; - }; - - class ace_missile_dragon : M_47_AT_EP1 { - model = QUOTE(PATHTOF(models\dragon.p3d)); - maxSpeed = 120; - thrust = 0; - initTime = 0; - thrustTime = 0; - sideAirFriction = 0.025; - explosionEffects = ""; - CraterEffects = ""; - hitarmor[] = {"soundhit", 1}; - hitbuilding[] = {"soundhit", 1}; - hitconcrete[] = {"soundhit", 1}; - hitdefault[] = {"soundhit", 1}; - hitfoliage[] = {"soundhit", 1}; - hitglass[] = {"soundhit", 1}; - hitglassarmored[] = {"soundhit", 1}; - hitgroundhard[] = {"soundhit", 1}; - hitgroundsoft[] = {"soundhit", 1}; - hitiron[] = {"soundhit", 1}; - hitman[] = {"soundhit", 1}; - hitmetal[] = {"soundhit", 1}; - hitmetalplate[] = {"soundhit", 1}; - hitplastic[] = {"soundhit", 1}; - hitrubber[] = {"soundhit", 1}; - hitwood[] = {"soundhit", 1}; - soundhit[] = {"", 0, 1}; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/CfgEventhandlers.hpp b/TO_MERGE/wep_dragon/CfgEventhandlers.hpp deleted file mode 100644 index 9aea97ee1a..0000000000 --- a/TO_MERGE/wep_dragon/CfgEventhandlers.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/CfgMagazines.hpp b/TO_MERGE/wep_dragon/CfgMagazines.hpp deleted file mode 100644 index 712e0eb4c6..0000000000 --- a/TO_MERGE/wep_dragon/CfgMagazines.hpp +++ /dev/null @@ -1,7 +0,0 @@ -class CfgMagazines { - class CA_LauncherMagazine; - - class Dragon_EP1: CA_LauncherMagazine { - model = QUOTE(PATHTOF(models\ace_m47_magazine.p3d)); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/CfgVehicles.hpp b/TO_MERGE/wep_dragon/CfgVehicles.hpp deleted file mode 100644 index 65081083f6..0000000000 --- a/TO_MERGE/wep_dragon/CfgVehicles.hpp +++ /dev/null @@ -1,64 +0,0 @@ -class CfgVehicles { - class LandVehicle; - - class StaticWeapon : LandVehicle { - class Turrets; - }; - - class StaticATWeapon : StaticWeapon { - class Turrets: Turrets { - class MainTurret; - }; - }; - - class ACE_M47_Static_Base : StaticATWeapon { - class Turrets: Turrets { - class MainTurret : MainTurret { - class ViewOptics; - }; - }; - }; - - class ACE_M47_Static: ACE_M47_Static_Base { - scope = 1; // Hide it for now - model = QUOTE(PATHTOF(models\ace_m47_static.p3d)); - displayName = "M47 Dragon"; - class Turrets: Turrets { - class MainTurret: MainTurret { - gunnerAction = "LowKORD_Gunner"; - GVAR(tracker) = "TOWLauncherSingle"; - gunnerOpticsModel = "\ca\Weapons_e\optics_m47"; - weapons[] = {"ACE_M47StaticLauncher"}; - magazines[] = {}; - class ViewOptics : ViewOptics { - initFov = DRAGON_FOV; - minFov = DRAGON_FOV; - maxFov = DRAGON_FOV; - }; - }; - }; - class AnimationSources { - class rest_rotate { - source="user"; - animPeriod=0.00001; - initPhase=-0.35; - maxValue="3.60"; - minValue="-3.60"; - }; - class optic_hide { - source="user"; - animPeriod=0.0001; - initPhase=1; - maxValue="1"; - minValue="0"; - }; - class missile_hide { - source="user"; - animPeriod=0.0001; - initPhase=0; - maxValue="1"; - minValue="0"; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/CfgWeapons.hpp b/TO_MERGE/wep_dragon/CfgWeapons.hpp deleted file mode 100644 index 8f16f0d564..0000000000 --- a/TO_MERGE/wep_dragon/CfgWeapons.hpp +++ /dev/null @@ -1,45 +0,0 @@ -class CfgWeapons { - class Weapon_Bag_Base; - class B_AT_01_weapon_F: Weapon_Bag_Base { - }; - class ACE_M47StaticLauncher: B_AT_01_weapon_F { - displayName = "M47 Dragon"; - canLock = 0; - handAnim[] = {"OFP2_ManSkeleton","\Ca\weapons_E\Data\Anim\M47.rtm"}; - sound[] = {"Ca\Sounds_E\Weapons_E\M47\M47_1",3.1622777,1,1200}; - drySound[] = {"Ca\Sounds_E\Weapons_E\M47\dry",0.0001,1,10}; - reloadMagazineSound[] = {"Ca\Sounds_E\Weapons_E\M47\rocket_reload",1.0,1,30}; - soundFly[] = {"",3.1622777,1,500}; - initSpeed = 20; - magazines[] = {"Dragon_EP1"}; - reloadTime = 0; - magazineReloadTime = 0; - }; - - class Launcher; - class M47Launcher_EP1: Launcher { - displayName = "M47 Dragon"; - canlock = 0; - model = QUOTE(PATHTOF(models\ace_m47_magazine.p3d)); - picture = QUOTE(PATHTOF(textures\m47_dragon_item_ca.paa)); - }; - class ACE_M47_Daysight: M47Launcher_EP1 { - displayName = $STR_DN_ACE_DRAGONSUP36; // Stay next to tubes in gear dialogs - model = QUOTE(PATHTOF(models\ace_m47_optic.p3d)); - picture = QUOTE(PATHTOF(textures\m47_daysight_item_ca.paa)); - optics = 1; - weaponInfoType = "RscWeaponEmpty"; - modelOptics = "\ca\Weapons_e\optics_m47"; - reloadaction = ""; - showSwitchAction = 1; - useAsBinocular = 1; - uipicture = ""; - descriptionshort = "SU-36/P Daysight"; - ace_disposable = 0; - magazines[] = {}; - type = 4096; - opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"}; - opticsZoomMin = 0.015; - opticsZoomMax = 0.015; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/README.md b/TO_MERGE/wep_dragon/README.md deleted file mode 100644 index 4031d33f8d..0000000000 --- a/TO_MERGE/wep_dragon/README.md +++ /dev/null @@ -1,12 +0,0 @@ -ace_wep_dragon -============== - -Adds the Dragon AT launcher. - - -## Maintainers - -The people responsible for merging changes to this component or answering potential questions. - -- [walterpearce](https://github.com/walterpearce) -- [NouberNou](https://github.com/NouberNou) diff --git a/TO_MERGE/wep_dragon/XEH_post_init.sqf b/TO_MERGE/wep_dragon/XEH_post_init.sqf deleted file mode 100644 index a4e4806591..0000000000 --- a/TO_MERGE/wep_dragon/XEH_post_init.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" -NO_DEDICATED; - diff --git a/TO_MERGE/wep_dragon/XEH_pre_init.sqf b/TO_MERGE/wep_dragon/XEH_pre_init.sqf deleted file mode 100644 index 6eccf9d1dd..0000000000 --- a/TO_MERGE/wep_dragon/XEH_pre_init.sqf +++ /dev/null @@ -1,2 +0,0 @@ -#include "script_component.hpp" - diff --git a/TO_MERGE/wep_dragon/config.cpp b/TO_MERGE/wep_dragon/config.cpp deleted file mode 100644 index 00ea7d4a6c..0000000000 --- a/TO_MERGE/wep_dragon/config.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = { "ACE_M47_Static" }; - weapons[] = { "ACE_M47StaticLauncher", "M47Launcher_EP1", "ACE_M47_Daysight" }; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "ace_main", "ace_common" }; - VERSION_CONFIG; - }; -}; - -#include "CfgEventhandlers.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgAmmo.hpp" -#include "CfgMagazines.hpp" \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/functions/fnc_dragon_fired.sqf b/TO_MERGE/wep_dragon/functions/fnc_dragon_fired.sqf deleted file mode 100644 index 1038e64a23..0000000000 --- a/TO_MERGE/wep_dragon/functions/fnc_dragon_fired.sqf +++ /dev/null @@ -1,135 +0,0 @@ -//fnc_fired.sqf -#include "script_component.hpp" -#define DRAGON_VELOCITY 100 -#define SERVICE_INTERVAL 0.3 -#define DRAGON_SERVICE_COUNT 60 -#define DRAGON_TRIM 1 -#define TRACKINTERVAL 0.025 - -if ((_this select 0) == player || {(gunner (_this select 0)) == player}) then { - if ((typeOf (_this select 6)) == "M_47_AT_EP1") then { - _missile = (_this select 6); - _vel = velocity _missile; - _ppos = getPosASL _missile; - _missile setPosATL [_ppos select 0, _ppos select 1, 5000]; - _unitVec = _vel call ACE_fnc_unitVector; - _spawnPos = [(_ppos select 0) + (_unitVec select 0), (_ppos select 1) + (_unitVec select 1), (_ppos select 2) + (_unitVec select 2)]; - _shell = "ace_missile_dragon" createVehicle _spawnPos; - _this set[6, _shell]; - _shell setPosASL _spawnPos; - - _newVel = [_unitVec, DRAGON_VELOCITY*1.25] call ACE_fnc_vectorMultiply; - _shell setVelocity _newVel; - _shell setVectorDir _unitVec; - _gunner = _this select 0; - //setAccTime 0.2; - - [ - { - _unitVec = (velocity _shell) call ACE_fnc_unitVector; - _polar = _unitVec call CBA_fnc_vect2polar; - _spos = getPosATL _shell; - _ppos = getPosASL _shell; - _screenPos = if (_spos select 2 > _ppos select 2) then {worldToScreen _ppos} else {worldToScreen _spos}; - - if (count _screenPos > 0 && {alive _gunner}) then { - _x = (((_screenPos select 0) - 0.5) max -1) min 1; - _y = (((_screenPos select 1) - 0.45) max -1) min 1; - _m = ((_shell distance _gunner)*0.009); - - //player sideChat format["x: %1, y: %2 m: %3 di: %4 spd: %5", _x*_m, _y*_m*-1, _m, (_shell distance _gunner), (speed _shell)]; - - _yDeg = 2.1; - _xDeg = 1.6; - _difEl = _yDeg*(_y*_m); - _difEl = ((_difEl min _yDeg) max (_yDeg*-1)); - if(_difEl < 0) then { - _difEl = _difEl / 2; - }; - _dir = _xDeg*(_x*_m)*-1; - _dir = ((_dir min _xDeg) max (_xDeg*-1)); - _difDir = (_polar select 1) + _dir; - if (_difDir < 0) then {_difDir = _difDir + 360}; - if (_difDir > 360) then {_difDir = _difDir - 360}; - //drop ["\Ca\Data\Cl_basic","","Billboard",1,5,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,0.25]],[0],0.0,2.0,"","",""]; - _firedAdjust = false; - _shellVelocity = velocity _shell; - _speed = (3.6*sqrt((_shellVelocity select 0)^2 + (_shellVelocity select 1)^2 + (_shellVelocity select 2)^2))*0.278; - //hint format["speed: %1\ndistance: %2\ntime: %3", _speed, (_gunner distance _shell), diag_tickTime-_startTime]; - if (diag_tickTime >= _timerCorrect && {_chargeCount > 0}) then { - if ((abs _dir) >= _xDeg/2) then { - _firedAdjust = true; - _difDir = (_polar select 1) + (_dir*0.25); - if (_difDir < 0) then {_difDir = _difDir + 360}; - if (_difDir > 360) then {_difDir = _difDir - 360}; - //player sideChat "CORRECT!"; - _timerCorrect = diag_tickTime+(SERVICE_INTERVAL*2); - _newVel = [DRAGON_VELOCITY, (_difDir), (_polar select 2)+(_difEl*0.25)+DRAGON_TRIM] call CBA_fnc_polar2vect; - _shell setVelocity _newVel; - _shell setVectorDir (_newVel call ACE_fnc_unitVector); - "ace_m47_dragon_serviceCharge" createVehicle (getPos _shell); - _chargeCount = _chargeCount - 1; - }; - }; - - if (!_firedAdjust && {diag_tickTime >= _timer} && {_chargeCount > 0}) then { - _timer = diag_tickTime+SERVICE_INTERVAL; - - _newVel = [DRAGON_VELOCITY, _difDir, (_polar select 2)+(_difEl)+DRAGON_TRIM] call CBA_fnc_polar2vect; - //_newVel = [(velocity _shell), _newVel] call ACE_fnc_vectorAdd; - // if(_difEl > 0) then { - // drop ["\Ca\Data\Cl_basic","","Billboard",1,5,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,1,0,1]],[0],0.0,2.0,"","",""]; - // } else { - // drop ["\Ca\Data\Cl_basic","","Billboard",1,5,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,0,1,1]],[0],0.0,2.0,"","",""]; - // }; - _shell setVelocity _newVel; - _shell setVectorDir (_newVel call ACE_fnc_unitVector); - - // charge FX - _shellCharge = "ace_m47_dragon_serviceCharge" createVehicle _ppos; - _shellCharge setPosASL _ppos; - _chargeCount = _chargeCount - 1; - }; - }; - _missile setPosATL [_ppos select 0, _ppos select 1, 5000]; - _prevTime = diag_tickTime; - }, - [_shell,_gunner,_unitVec,_missile], - 0.0, // delay - { - //init - _shell = _this select 0; - _gunner = _this select 1; - _chargeCount = DRAGON_SERVICE_COUNT; - _timer = diag_tickTime+SERVICE_INTERVAL; - _timerCorrect = _timer; - _originalVec = _this select 2; - _originalPolar = _originalVec call CBA_fnc_vect2polar; - _targetPolar = +_originalPolar; - _startTime = diag_tickTime; - _lastX = 1000; - _lastY = 1000; - // Return original missile at explosion - _missile = _this select 3; - // start from beginning - _prevTime = diag_tickTime - TRACKINTERVAL; - }, - { - // exit - if !(isNull _missile) then { - _missile setVelocity _newVel; - _missile setVectorDir (_newVel call ACE_fnc_unitVector); - _missile setPosASL _ppos; - }; - }, - { - diag_tickTime - _prevTime > TRACKINTERVAL - }, - {!alive _shell}, - [ - "_shell", "_gunner", "_chargeCount", "_timer", "_originalVec", "_originalPolar", "_timerCorrect", "_startTime", "_lastX", "_lastY", - "_missile", "_ppos", "_newVel", "_prevTime" - ] - ] call cba_common_fnc_addPerFrameHandlerLogic; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/functions/script_component.hpp b/TO_MERGE/wep_dragon/functions/script_component.hpp deleted file mode 100644 index 0aae3f8cee..0000000000 --- a/TO_MERGE/wep_dragon/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\wep_dragon\script_component.hpp" \ No newline at end of file diff --git a/TO_MERGE/wep_dragon/license.txt b/TO_MERGE/wep_dragon/license.txt deleted file mode 100644 index 7113bf4340..0000000000 --- a/TO_MERGE/wep_dragon/license.txt +++ /dev/null @@ -1,79 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, -to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/TO_MERGE/wep_dragon/model.cfg b/TO_MERGE/wep_dragon/model.cfg deleted file mode 100644 index 7c113bf821..0000000000 --- a/TO_MERGE/wep_dragon/model.cfg +++ /dev/null @@ -1,96 +0,0 @@ -class CfgSkeletons { - class Default { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - - class ace_m47_static_skeleton: Default { - skeletonInherit = "Default"; - skeletonBones[] = { - "bipod","", - "grav_box","bipod", - "launcher","grav_box", - "optic","launcher", - "missile","launcher" - }; - }; -}; - -class CfgModels { - class Default { - sectionsInherit = ""; - sections[] = {}; - }; - - class ace_m47_static: Default { - sectionsInherit = "Default"; - sections[] = {}; - skeletonName = "ace_m47_static_skeleton"; - class Animations { - class MainGun { - type="rotation"; - selection="launcher"; - sourceAddress = "clamp"; - source="MainGun"; - axis="elevate_axis"; - animPeriod=0.01; - initPhase=0; - maxValue="rad 360"; - minValue="rad -360"; - angle1="rad 360"; - angle0="rad -360"; - }; - class MainTurret { - type="rotation"; - source="MainTurret"; - selection="bipod"; - sourceAddress = "loop"; - axis="rotate_axis"; - animPeriod=0.005; - minValue="rad -360"; - maxValue="rad +360"; - angle0="rad -360"; - angle1="rad +360"; - }; - class rest_rotate { - type="rotation"; - selection="grav_box"; - sourceAddress = "clamp"; - source="user"; - axis="elevate_axis"; - animPeriod=0.00001; - initPhase=-0.35; - maxValue="3.60"; - minValue="-3.60"; - angle1="rad -360"; - angle0="rad 360"; - }; - class optic_hide - { - type = "hide"; - source = "user"; - selection = "optic"; - animPeriod = 0.0001; - minValue = 0; - maxValue = 1; - minPhase = 0; - maxPhase = 1; - hideValue = 0.99; - initPhase = 1; - }; - class missile_hide - { - type = "hide"; - source = "user"; - selection = "missile"; - animPeriod = 0.0001; - minValue = 0; - maxValue = 1; - minPhase = 0; - maxPhase = 1; - hideValue = 0.99; - }; - }; - }; -}; diff --git a/TO_MERGE/wep_dragon/models/ace_m47_magazine.p3d b/TO_MERGE/wep_dragon/models/ace_m47_magazine.p3d deleted file mode 100644 index e8464fc389..0000000000 Binary files a/TO_MERGE/wep_dragon/models/ace_m47_magazine.p3d and /dev/null differ diff --git a/TO_MERGE/wep_dragon/models/ace_m47_optic.p3d b/TO_MERGE/wep_dragon/models/ace_m47_optic.p3d deleted file mode 100644 index 839892f686..0000000000 Binary files a/TO_MERGE/wep_dragon/models/ace_m47_optic.p3d and /dev/null differ diff --git a/TO_MERGE/wep_dragon/models/ace_m47_static.p3d b/TO_MERGE/wep_dragon/models/ace_m47_static.p3d deleted file mode 100644 index 15c4d5ef15..0000000000 Binary files a/TO_MERGE/wep_dragon/models/ace_m47_static.p3d and /dev/null differ diff --git a/TO_MERGE/wep_dragon/models/dragon.p3d b/TO_MERGE/wep_dragon/models/dragon.p3d deleted file mode 100644 index 42ce5780f2..0000000000 Binary files a/TO_MERGE/wep_dragon/models/dragon.p3d and /dev/null differ diff --git a/TO_MERGE/wep_dragon/script_component.hpp b/TO_MERGE/wep_dragon/script_component.hpp deleted file mode 100644 index e593c3d367..0000000000 --- a/TO_MERGE/wep_dragon/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT wep_dragon -#include "\z\ace\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_WEP_DRAGON - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_WEP_DRAGON - #define DEBUG_SETTINGS DEBUG_SETTINGS_WEP_DRAGON -#endif - -#include "\z\ace\Addons\main\script_macros.hpp" diff --git a/TO_MERGE/wep_dragon/textures/dragon_text.paa b/TO_MERGE/wep_dragon/textures/dragon_text.paa deleted file mode 100644 index a8a3787292..0000000000 Binary files a/TO_MERGE/wep_dragon/textures/dragon_text.paa and /dev/null differ diff --git a/TO_MERGE/wep_dragon/textures/m47_daysight_item_ca.paa b/TO_MERGE/wep_dragon/textures/m47_daysight_item_ca.paa deleted file mode 100644 index 9768f42b9c..0000000000 Binary files a/TO_MERGE/wep_dragon/textures/m47_daysight_item_ca.paa and /dev/null differ diff --git a/TO_MERGE/wep_dragon/textures/m47_dragon_item_ca.paa b/TO_MERGE/wep_dragon/textures/m47_dragon_item_ca.paa deleted file mode 100644 index 0e87574794..0000000000 Binary files a/TO_MERGE/wep_dragon/textures/m47_dragon_item_ca.paa and /dev/null differ diff --git a/ace_advanced_ballistics.dll b/ace_advanced_ballistics.dll new file mode 100644 index 0000000000..8f1c62484f Binary files /dev/null and b/ace_advanced_ballistics.dll differ diff --git a/ace_breakLine.dll b/ace_breakLine.dll new file mode 100644 index 0000000000..a13e1a8da9 Binary files /dev/null and b/ace_breakLine.dll differ diff --git a/ace_fcs.dll b/ace_fcs.dll index 189c3c0826..71fbba7d92 100644 Binary files a/ace_fcs.dll and b/ace_fcs.dll differ diff --git a/addons/advanced_ballistics/ACE_Settings.hpp b/addons/advanced_ballistics/ACE_Settings.hpp new file mode 100644 index 0000000000..67bc51511e --- /dev/null +++ b/addons/advanced_ballistics/ACE_Settings.hpp @@ -0,0 +1,64 @@ +class ACE_Settings { + class GVAR(enabled) { + displayName = "Advanced Ballistics"; + description = "Enables advanced ballistics"; + typeName = "BOOL"; + value = 0; + }; + class GVAR(alwaysSimulateForSnipers) { + displayName = "Always Enabled For Snipers"; + description = "Always enables advanced ballistics when high power optics are used"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(disabledInFullAutoMode) { + displayName = "Disabled In FullAuto Mode"; + description = "Disables the advanced ballistics during full auto fire"; + typeName = "BOOL"; + value = 0; + }; + class GVAR(onlyActiveForLocalPlayers) { + displayName = "Disabled For Non Local Players"; + description = "Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer)"; + typeName = "BOOL"; + value = 1; + }; + /* // TODO: We currently do not have firedEHs on vehicles + class GVAR(vehicleGunnerEnabled) { + displayName = "Enabled For Vehicle Gunners"; + description = "Enables advanced ballistics for vehicle gunners"; + typeName = "BOOL"; + value = 0; + }; + */ + class GVAR(ammoTemperatureEnabled) { + displayName = "Enable Ammo Temperature Simulation"; + description = "Muzzle velocity varies with ammo temperature"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(barrelLengthInfluenceEnabled) { + displayName = "Enable Barrel Length Simulation"; + description = "Muzzle velocity varies with barrel length"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(bulletTraceEnabled) { + displayName = "Enable Bullet Trace Effect"; + description = "Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics)"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(simulationInterval) { + displayName = "Simulation Interval"; + description = "Defines the interval between every calculation step"; + typeName = "SCALAR"; + value = 0.0; + }; + class GVAR(simulationRadius) { + displayName = "Simulation Radius"; + description = "Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles"; + typeName = "SCALAR"; + value = 3000; + }; +}; diff --git a/addons/advanced_ballistics/CfgEventHandlers.hpp b/addons/advanced_ballistics/CfgEventHandlers.hpp new file mode 100644 index 0000000000..cc1414eb8f --- /dev/null +++ b/addons/advanced_ballistics/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_postInit) ); + }; +}; + +class Extended_FiredBIS_EventHandlers { + class CAManBase { + class ADDON { + firedBIS = QUOTE(_this call FUNC(handleFired)); + }; + }; +}; \ No newline at end of file diff --git a/addons/advanced_ballistics/CfgVehicles.hpp b/addons/advanced_ballistics/CfgVehicles.hpp new file mode 100644 index 0000000000..fda4b9a8ff --- /dev/null +++ b/addons/advanced_ballistics/CfgVehicles.hpp @@ -0,0 +1,78 @@ +class CfgVehicles { + class ACE_Module; + class GVAR(ModuleSettings): ACE_Module { + scope = 2; + displayName = "Advanced Ballistics"; + icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); + category = "ACE"; + function = QUOTE(DFUNC(initModuleSettings)); + functionPriority = 1; + isGlobal = 1; + isTriggerActivated = 0; + author = "Ruthberg"; + class Arguments { + class enabled { + displayName = "Advanced Ballistics"; + description = "Enables advanced ballistics"; + typeName = "BOOL"; + defaultValue = 0; + }; + class alwaysSimulateForSnipers { + displayName = "Always Enabled For Snipers"; + description = "Always enables advanced ballistics when high power optics are used"; + typeName = "BOOL"; + defaultValue = 1; + }; + class disabledInFullAutoMode { + displayName = "Disabled In FullAuto Mode"; + description = "Disables the advanced ballistics during full auto fire"; + typeName = "BOOL"; + defaultValue = 0; + }; + class onlyActiveForLocalPlayers { + displayName = "Disabled For Non Local Players"; + description = "Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer)"; + typeName = "BOOL"; + defaultValue = 1; + }; + /* // TODO: We currently do not have firedEHs on vehicles + class vehicleGunnerEnabled { + displayName = "Enabled For Vehicle Gunners"; + description = "Enables advanced ballistics for vehicle gunners"; + typeName = "BOOL"; + defaultValue = 0; + }; + */ + class ammoTemperatureEnabled { + displayName = "Enable Ammo Temperature Simulation"; + description = "Muzzle velocity varies with ammo temperature"; + typeName = "BOOL"; + defaultValue = 1; + }; + class barrelLengthInfluenceEnabled { + displayName = "Enable Barrel Length Simulation"; + description = "Muzzle velocity varies with barrel length"; + typeName = "BOOL"; + defaultValue = 1; + }; + class bulletTraceEnabled { + displayName = "Enable Bullet Trace Effect"; + description = "Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics)"; + typeName = "BOOL"; + defaultValue = 1; + }; + class simulationInterval { + displayName = "Simulation Interval"; + description = "Defines the interval between every calculation step"; + typeName = "NUMBER"; + defaultValue = 0.0; + }; + class simulationRadius { + displayName = "Simulation Radius"; + description = "Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles"; + typeName = "NUMBER"; + defaultValue = 3000; + }; + }; + }; +}; diff --git a/addons/advanced_ballistics/README.md b/addons/advanced_ballistics/README.md new file mode 100644 index 0000000000..ef98bcd2b6 --- /dev/null +++ b/addons/advanced_ballistics/README.md @@ -0,0 +1,10 @@ +ace_advanced_ballistics +=============== + +The Advanced Ballistics module introduces advanced external- and internal ballistics to the game. + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Ruthberg] (http://github.com/Ulteq) \ No newline at end of file diff --git a/addons/advanced_ballistics/RscTitles.hpp b/addons/advanced_ballistics/RscTitles.hpp new file mode 100644 index 0000000000..b62af875d2 --- /dev/null +++ b/addons/advanced_ballistics/RscTitles.hpp @@ -0,0 +1,63 @@ +class RscTitles +{ + class RscTurretDial + { + idd=-1; + onLoad="with uiNameSpace do { RscTurretDial = _this select 0 };"; + movingEnable=0; + duration=5; + fadeIn="false"; + fadeOut="false"; + class controls + { + class RscTurretDial + { + idc=132949; + type=0; + style=128; + font="TahomaB"; + colorBackground[]={0,0,0,0.8}; + colorText[]={1,1,1,1}; + x="SafeZoneX + 0.0025"; + y="SafeZoneY + 0.0025"; + w=0.10; + h=0.05; + sizeEx=0.03; + text=""; + }; + }; + }; + + class RscProtractor + { + idd=-1; + onLoad="with uiNameSpace do { RscProtractor = _this select 0 };"; + movingEnable=0; + duration=60; + fadeIn="false"; + fadeOut="false"; + class controls + { + class RscProtractorBase + { + idc=132950; + type=0; + style=48; + font="TahomaB"; + colorBackground[]={0,0,0,0}; + colorText[]={1,1,1,1}; + x="SafeZoneX + 0.001"; + y="SafeZoneY + 0.001"; + w=0.2; + h=0.2*4/3; + size=0.034; + sizeEx=0.027; + text=""; + }; + class RscProtractorMarker : RscProtractorBase + { + idc=132951; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/advanced_ballistics/UI/Icon_Module_Wind_ca.paa b/addons/advanced_ballistics/UI/Icon_Module_Wind_ca.paa new file mode 100644 index 0000000000..176fe700a7 Binary files /dev/null and b/addons/advanced_ballistics/UI/Icon_Module_Wind_ca.paa differ diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/protractor.paa b/addons/advanced_ballistics/UI/protractor.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/protractor.paa rename to addons/advanced_ballistics/UI/protractor.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/protractor_marker.paa b/addons/advanced_ballistics/UI/protractor_marker.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/protractor_marker.paa rename to addons/advanced_ballistics/UI/protractor_marker.paa diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf new file mode 100644 index 0000000000..3f0e101d3b --- /dev/null +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -0,0 +1,38 @@ +#include "script_component.hpp" + +#include "initKeybinds.sqf" + +GVAR(currentbulletID) = -1; + +GVAR(bulletDatabase) = []; +GVAR(bulletDatabaseStartTime) = []; +GVAR(bulletDatabaseSpeed) = []; +GVAR(bulletDatabaseFrames) = []; +GVAR(bulletDatabaseLastFrame) = []; +GVAR(bulletDatabaseHDeflect) = []; +GVAR(bulletDatabaseSpinDrift) = []; +GVAR(bulletDatabaseOccupiedIndices) = []; +GVAR(bulletDatabaseFreeIndices) = []; + +GVAR(WindInfo) = false; +GVAR(WindInfoStart) = time; + +GVAR(Protractor) = false; +GVAR(ProtractorStart) = time; + +GVAR(currentGrid) = 0; +GVAR(INIT_MESSAGE_ENABLED) = false; + +GVAR(extensionAvailable) = true; +/* @TODO: Remove this until verisoning is in sync with cmake/build versioning +GVAR(extensionVersion) = ("ace_advanced_ballistics" callExtension "version"); +GVAR(extensionAvailable) = (GVAR(extensionVersion) == EXTENSION_REQUIRED_VERSION); +if (!GVAR(extensionAvailable)) exitWith { + if (GVAR(extensionVersion) == "") then { + diag_log text "[ACE] ERROR: ace_advanced_ballistics.dll is missing"; + } else { + diag_log text "[ACE] ERROR: ace_advanced_ballistics.dll is incompatible"; + }; +}; +*/ +[] call FUNC(initializeTerrainExtension); diff --git a/addons/advanced_ballistics/XEH_preInit.sqf b/addons/advanced_ballistics/XEH_preInit.sqf new file mode 100644 index 0000000000..1d19a9c492 --- /dev/null +++ b/addons/advanced_ballistics/XEH_preInit.sqf @@ -0,0 +1,17 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(calculateAmmoTemperatureVelocityShift); +PREP(calculateAtmosphericCorrection); +PREP(calculateBarrelLengthVelocityShift); +PREP(calculateRetardation); +PREP(calculateRoughnessLength); +PREP(calculateStabilityFactor); +PREP(calculateWindSpeed); +PREP(displayProtractor); +PREP(handleFired); +PREP(initializeTerrainExtension); +PREP(initModuleSettings); + +ADDON = true; diff --git a/addons/advanced_ballistics/config.cpp b/addons/advanced_ballistics/config.cpp new file mode 100644 index 0000000000..1a2187783b --- /dev/null +++ b/addons/advanced_ballistics/config.cpp @@ -0,0 +1,22 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_ballistics", "ace_weather", "ace_modules"}; + author[] = {"Ruthberg"}; + authorUrl = "https://github.com/ulteq"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" +#include "RscTitles.hpp" +#include "ACE_Settings.hpp" + +class ACE_Extensions { + extensions[] += {"ace_advanced_ballistics"}; +}; diff --git a/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf new file mode 100644 index 0000000000..c92e679a66 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf @@ -0,0 +1,42 @@ +/* + * Author: Ruthberg + * + * Calculates the ammo temperature induced muzzle velocity shift + * + * Arguments: + * 0: ammo - classname + * 1: temperature - degrees celcius + * + * Return Value: + * 0: muzzle velocity shift - m/s + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_ammo", "_temperature", "_muzzleVelocityTable", "_muzzleVelocityShift", "_temperatureIndexA", "_temperatureIndexB", "_temperatureRatio"]; +_ammo = _this select 0; +_temperature = _this select 1; + +_muzzleVelocityTable = []; + +if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { + _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); +}; + +if (count _muzzleVelocityTable != 11) exitWith { 0 }; + +_temperatureIndexA = floor((_temperature + 15) / 5); +_temperatureIndexA = 0 max _temperatureIndexA; +_temperatureIndexA = _temperatureIndexA min 10; + +_temperatureIndexB = ceil((_temperature + 15) / 5); +_temperatureIndexB = 0 max _temperatureIndexB; +_temperatureIndexB = _temperatureIndexB min 10; + +_temperatureRatio = ((_temperature + 15) / 5) - floor((_temperature + 15) / 5); + +_muzzleVelocityShift = (_muzzleVelocityTable select _temperatureIndexA) * (1 - _temperatureRatio) + (_muzzleVelocityTable select _temperatureIndexB) * _temperatureRatio; + +_muzzleVelocityShift diff --git a/addons/advanced_ballistics/functions/fnc_calculateAtmosphericCorrection.sqf b/addons/advanced_ballistics/functions/fnc_calculateAtmosphericCorrection.sqf new file mode 100644 index 0000000000..b0166109f5 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_calculateAtmosphericCorrection.sqf @@ -0,0 +1,33 @@ +/* + * Author: Ruthberg + * + * Calculates the atmospherically corrected ballistic coefficient + * + * Arguments: + * 0: ballistic coefficient - G1-G7 + * 1: temperature - degrees celcius + * 2: pressure - hPa + * 3: relativeHumidity - value between 0.0 and 1.0 + * 4: atmosphereModel - ICAO or ASM + * + * Return Value: + * corrected ballistic coefficient + * + * Public: No + */ +#include "script_component.hpp" + +private ["_ballisticCoefficient", "_temperature", "_pressure", "_relativeHumidity", "_atmosphereModel", "_airDensity"]; +_ballisticCoefficient = _this select 0; +_temperature = _this select 1; // in C +_pressure = _this select 2; // in hPa +_relativeHumidity = _this select 3; // as ratio 0-1 +_atmosphereModel = _this select 4; // "ICAO" or "ASM" + +_airDensity = [_temperature, _pressure, _relativeHumidity] call EFUNC(weather,calculateAirDensity); + +if (_atmosphereModel == "ICAO") then { + (STD_AIR_DENSITY_ICAO / _airDensity) * _ballisticCoefficient +} else { + (STD_AIR_DENSITY_ASM / _airDensity) * _ballisticCoefficient +}; diff --git a/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf new file mode 100644 index 0000000000..b4cbd5bdc0 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf @@ -0,0 +1,66 @@ +/* + * Author: Ruthberg + * + * Calculates the muzzle velocity shift caused by different barrel lengths + * + * Arguments: + * 0: ammo - classname + * 0: weapon - classname + * 1: muzzle velocity - m/s + * + * Return Value: + * 0: muzzle velocity shift - m/s + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_ammo", "_weapon", "_barrelLength", "_muzzleVelocityTable", "_barrelLengthTable", "_muzzleVelocity", "_lowerIndex", "_upperIndex", "_barrelLengthRatio", "_muzzleVelocityNew"]; +_ammo = _this select 0; +_weapon = _this select 1; +_muzzleVelocity = _this select 2; + +_barrelLength = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelLength"); + +if (_barrelLength == 0) exitWith { 0 }; + +_muzzleVelocityTable = []; +_barrelLengthTable = []; + +if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_muzzleVelocities")) then { + _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_muzzleVelocities"); +}; +if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { + _barrelLengthTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_barrelLengths"); +}; + +if (count _muzzleVelocityTable != count _barrelLengthTable) exitWith { 0 }; +if (count _muzzleVelocityTable == 0 || count _barrelLengthTable == 0) exitWith { 0 }; +if (count _muzzleVelocityTable == 1) exitWith { (_muzzleVelocityTable select 0) - _muzzleVelocity }; + +_lowerIndex = 0; +_upperIndex = (count _barrelLengthTable) - 1; + +if (_barrelLength <= (_barrelLengthTable select _lowerIndex)) exitWith { (_muzzleVelocityTable select _lowerIndex) - _muzzleVelocity }; +if (_barrelLength >= (_barrelLengthTable select _upperIndex)) exitWith { (_muzzleVelocityTable select _upperIndex) - _muzzleVelocity }; + +for "_i" from 0 to (count _barrelLengthTable) - 1 do { + if (_barrelLength >= _barrelLengthTable select _i) then { + _lowerIndex = _i; + }; +}; +for "_i" from (count _barrelLengthTable) - 1 to 0 step -1 do { + if (_barrelLength <= _barrelLengthTable select _i) then { + _upperIndex = _i; + }; +}; + +_barrelLengthRatio = 0; +if ((_barrelLengthTable select _upperIndex) - (_barrelLengthTable select _lowerIndex) > 0) then { + _barrelLengthRatio = ((_barrelLengthTable select _upperIndex) - _barrelLength) / ((_barrelLengthTable select _upperIndex) - (_barrelLengthTable select _lowerIndex)); +}; + +_muzzleVelocityNew = (_muzzleVelocityTable select _lowerIndex) + ((_muzzleVelocityTable select _upperIndex) - (_muzzleVelocityTable select _lowerIndex)) * (1 - _barrelLengthRatio); + +_muzzleVelocityNew - _muzzleVelocity diff --git a/addons/advanced_ballistics/functions/fnc_calculateRetardation.sqf b/addons/advanced_ballistics/functions/fnc_calculateRetardation.sqf new file mode 100644 index 0000000000..433dafbe10 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_calculateRetardation.sqf @@ -0,0 +1,145 @@ +/* + * Author: Ruthberg + * + * Calculates the retardation of the bullet + * + * Arguments: + * 0: drag model - 1-7 + * 1: drag coefficient - bc + * 2: velocity - m/s + * + * Return Value: + * 0: retardation - m/(s^2) + * + * Return value: + * None + */ +#include "script_component.hpp" + +// Source: GNU Exterior Ballistics + +private ["_dragModel", "_dragCoefficient", "_velocity", "_A", "_M", "_result"]; +_dragModel = _this select 0; +_dragCoefficient = _this select 1; +_velocity = (_this select 2) * 3.2808399; + +_A = -1; +_M = -1; +_result = 0; + +switch _dragModel do { + case 1: + { + switch true do { + case (_velocity > 4230) : { _A = 0.0001477404177730177; _M = 1.9565; }; + case (_velocity > 3680) : { _A = 0.0001920339268755614; _M = 1.925 ; }; + case (_velocity > 3450) : { _A = 0.0002894751026819746; _M = 1.875 ; }; + case (_velocity > 3295) : { _A = 0.0004349905111115636; _M = 1.825 ; }; + case (_velocity > 3130) : { _A = 0.0006520421871892662; _M = 1.775 ; }; + case (_velocity > 2960) : { _A = 0.0009748073694078696; _M = 1.725 ; }; + case (_velocity > 2830) : { _A = 0.001453721560187286; _M = 1.675 ; }; + case (_velocity > 2680) : { _A = 0.002162887202930376; _M = 1.625 ; }; + case (_velocity > 2460) : { _A = 0.003209559783129881; _M = 1.575 ; }; + case (_velocity > 2225) : { _A = 0.003904368218691249; _M = 1.55 ; }; + case (_velocity > 2015) : { _A = 0.003222942271262336; _M = 1.575 ; }; + case (_velocity > 1890) : { _A = 0.002203329542297809; _M = 1.625 ; }; + case (_velocity > 1810) : { _A = 0.001511001028891904; _M = 1.675 ; }; + case (_velocity > 1730) : { _A = 0.0008609957592468259; _M = 1.75 ; }; + case (_velocity > 1595) : { _A = 0.0004086146797305117; _M = 1.85 ; }; + case (_velocity > 1520) : { _A = 0.0001954473210037398; _M = 1.95 ; }; + case (_velocity > 1420) : { _A = 0.00005431896266462351; _M = 2.125 ; }; + case (_velocity > 1360) : { _A = 0.000008847742581674416; _M = 2.375 ; }; + case (_velocity > 1315) : { _A = 0.000001456922328720298; _M = 2.625 ; }; + case (_velocity > 1280) : { _A = 0.0000002419485191895565; _M = 2.875 ; }; + case (_velocity > 1220) : { _A = 0.00000001657956321067612; _M = 3.25 ; }; + case (_velocity > 1185) : { _A = 0.0000000004745469537157371; _M = 3.75 ; }; + case (_velocity > 1150) : { _A = 0.00000000001379746590025088; _M = 4.25 ; }; + case (_velocity > 1100) : { _A = 0.0000000000004070157961147882; _M = 4.75 ; }; + case (_velocity > 1060) : { _A = 0.00000000000002938236954847331; _M = 5.125 ; }; + case (_velocity > 1025) : { _A = 0.00000000000001228597370774746; _M = 5.25 ; }; + case (_velocity > 980) : { _A = 0.00000000000002916938264100495; _M = 5.125 ; }; + case (_velocity > 945) : { _A = 0.0000000000003855099424807451; _M = 4.75 ; }; + case (_velocity > 905) : { _A = 0.00000000001185097045689854; _M = 4.25 ; }; + case (_velocity > 860) : { _A = 0.0000000003566129470974951; _M = 3.75 ; }; + case (_velocity > 810) : { _A = 0.00000001045513263966272; _M = 3.25 ; }; + case (_velocity > 780) : { _A = 0.0000001291159200846216; _M = 2.875 ; }; + case (_velocity > 750) : { _A = 0.0000006824429329105383; _M = 2.625 ; }; + case (_velocity > 700) : { _A = 0.000003569169672385163; _M = 2.375 ; }; + case (_velocity > 640) : { _A = 0.00001839015095899579; _M = 2.125 ; }; + case (_velocity > 600) : { _A = 0.00005711174688734240; _M = 1.950 ; }; + case (_velocity > 550) : { _A = 0.00009226557091973427; _M = 1.875 ; }; + case (_velocity > 250) : { _A = 0.00009337991957131389; _M = 1.875 ; }; + case (_velocity > 100) : { _A = 0.00007225247327590413; _M = 1.925 ; }; + case (_velocity > 65) : { _A = 0.00005792684957074546; _M = 1.975 ; }; + case (_velocity > 0) : { _A = 0.00005206214107320588; _M = 2.000 ; }; + }; + }; + case 2: + { + switch true do { + case (_velocity > 1674) : { _A = 0.0079470052136733; _M = 1.36999902851493; }; + case (_velocity > 1172) : { _A = 0.00100419763721974; _M = 1.65392237010294; }; + case (_velocity > 1060) : { _A = 0.0000000000000000000000715571228255369; _M = 7.91913562392361; }; + case (_velocity > 949) : { _A = 0.000000000139589807205091; _M = 3.81439537623717; }; + case (_velocity > 670) : { _A = 0.000234364342818625; _M = 1.71869536324748; }; + case (_velocity > 335) : { _A = 0.000177962438921838; _M = 1.76877550388679; }; + case (_velocity > 0) : { _A = 0.0000518033561289704; _M = 1.98160270524632; }; + }; + }; + case 5: + { + switch true do { + case (_velocity > 1730) : { _A = 0.00724854775171929; _M = 1.41538574492812; }; + case (_velocity > 1228) : { _A = 0.0000350563361516117; _M = 2.13077307854948; }; + case (_velocity > 1116) : { _A = 0.000000000000184029481181151; _M = 4.81927320350395; }; + case (_velocity > 1004) : { _A = 0.000000000000000000000134713064017409; _M = 7.8100555281422 ; }; + case (_velocity > 837) : { _A = 0.000000103965974081168; _M = 2.84204791809926; }; + case (_velocity > 335) : { _A = 0.0001093015938698234; _M = 1.81096361579504; }; + case (_velocity > 0) : { _A = 0.0000351963178524273; _M = 2.00477856801111; }; + }; + }; + case 6: + { + switch true do { + case (_velocity > 3236) : { _A = 0.0455384883480781; _M = 1.15997674041274; }; + case (_velocity > 2065) : { _A = 0.07167261849653769; _M = 1.10704436538885; }; + case (_velocity > 1311) : { _A = 0.00166676386084348; _M = 1.60085100195952; }; + case (_velocity > 1144) : { _A = 0.000000101482730119215; _M = 2.9569674731838 ; }; + case (_velocity > 1004) : { _A = 0.00000000000000000431542773103552; _M = 6.34106317069757; }; + case (_velocity > 670) : { _A = 0.0000204835650496866; _M = 2.11688446325998; }; + case (_velocity > 0) : { _A = 0.0000750912466084823; _M = 1.92031057847052; }; + }; + }; + case 7: + { + switch true do { + case (_velocity > 4200) : { _A = 0.00000000129081656775919; _M = 3.24121295355962; }; + case (_velocity > 3000) : { _A = 0.0171422231434847; _M = 1.27907168025204; }; + case (_velocity > 1470) : { _A = 0.00233355948302505; _M = 1.52693913274526; }; + case (_velocity > 1260) : { _A = 0.000797592111627665; _M = 1.67688974440324; }; + case (_velocity > 1110) : { _A = 0.00000000000571086414289273; _M = 4.3212826264889 ; }; + case (_velocity > 960) : { _A = 0.0000000000000000302865108244904; _M = 5.99074203776707; }; + case (_velocity > 670) : { _A = 0.00000752285155782535; _M = 2.1738019851075 ; }; + case (_velocity > 540) : { _A = 0.0000131766281225189; _M = 2.08774690257991; }; + case (_velocity > 0) : { _A = 0.0000134504843776525; _M = 2.08702306738884; }; + }; + }; + case 8: + { + switch true do { + case (_velocity > 3571) : { _A = 0.0112263766252305; _M = 1.33207346655961; }; + case (_velocity > 1841) : { _A = 0.0167252613732636; _M = 1.28662041261785; }; + case (_velocity > 1120) : { _A = 0.00220172456619625; _M = 1.55636358091189; }; + case (_velocity > 1088) : { _A = 0.00000000000000020538037167098; _M = 5.80410776994789; }; + case (_velocity > 976) : { _A = 0.00000000000592182174254121; _M = 4.29275576134191; }; + case (_velocity > 0) : { _A = 0.000043917343795117; _M = 1.99978116283334; }; + }; + }; +}; + +if (_A != -1 && _M != -1 && _velocity > 0 && _velocity < 10000) then { + _result = _A * (_velocity ^ _M) / _dragCoefficient; + _result = _result / 3.2808399; +}; + +_result diff --git a/addons/advanced_ballistics/functions/fnc_calculateRoughnessLength.sqf b/addons/advanced_ballistics/functions/fnc_calculateRoughnessLength.sqf new file mode 100644 index 0000000000..08ae44cc74 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_calculateRoughnessLength.sqf @@ -0,0 +1,34 @@ +/* + * Author: Ruthberg + * + * Calculates the terrain roughness length at a given world position + * + * Arguments: + * 0: _this - world position + * + * Return Value: + * 0: roughness length + * + * Public: No + */ +#include "script_component.hpp" + +private ["_roughness_lengths", "_windSource", "_nearBuildings", "_isWater"]; + +// Source: http://es.ucsc.edu/~jnoble/wind/extrap/index.html +_roughness_lengths = [0.0002, 0.0005, 0.0024, 0.03, 0.055, 0.1, 0.2, 0.4, 0.8, 1.6]; + +_windSource = _this vectorDiff ((vectorNormalized ACE_wind) vectorMultiply 25); + +_nearBuildings = count (_windSource nearObjects ["Building", 50]); +_isWater = surfaceIsWater _windSource; + +if (_nearBuildings == 0 && _isWater) exitWith { + 0.0005 +}; + +if (_nearBuildings >= 10) exitWith { + 1.6 +}; + +_roughness_lengths select (2 + (_nearBuildings min 6)) diff --git a/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf new file mode 100644 index 0000000000..81b71aeb3b --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf @@ -0,0 +1,45 @@ +/* + * Author: Ruthberg + * + * Calculates the stability factor of a bullet + * + * Arguments: + * 0: caliber - inches + * 1: bullet length - inches + * 2: bullet mass - grains + * 3: barrel twist - inches + * 4: muzzle velocity shift - m/s + * 5: temperature - degrees celcius + * 6: barometric Pressure - hPA + * + * Return Value: + * 0: stability factor + * + * Public: No + */ + +private ["_caliber", "_bulletLength", "_bulletMass", "_barrelTwist", "_muzzleVelocity", "_temperature", "_barometricPressure", "_l", "_t", "_stabilityFactor"]; +_caliber = _this select 0; +_bulletLength = _this select 1; +_bulletMass = _this select 2; +_barrelTwist = _this select 3; +_muzzleVelocity = _this select 4; +_temperature = _this select 5; +_barometricPressure = _this select 6; + +// Source: http://www.jbmballistics.com/ballistics/bibliography/articles/miller_stability_1.pdf +_t = _barrelTwist / _caliber; +_l = _bulletLength / _caliber; + +_stabilityFactor = 30 * _bulletMass / (_t^2 * _caliber^3 * _l * (1 + _l^2)); + +_muzzleVelocity = _muzzleVelocity * 3.2808399; +if (_muzzleVelocity > 1120) then { + _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 2800) ^ (1/3); +} else { + _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 1120) ^ (1/3); +}; + +_stabilityFactor = _stabilityFactor * (_temperature + 273) / (15 + 273) * 1013.25 / _barometricPressure; + +_stabilityFactor diff --git a/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf b/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf new file mode 100644 index 0000000000..e7b0a322e8 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf @@ -0,0 +1,78 @@ +/* + * Author: Ruthberg + * + * Calculates the true wind speed at a given world position + * + * Arguments: + * 0: _this - world position + * + * Return Value: + * 0: wind speed - m/s + * + * Public: No + */ +#include "script_component.hpp" + +private ["_windSpeed", "_windDir", "_height", "_newWindSpeed", "_windSource", "_roughnessLength"]; + +fnc_polar2vect = { + private ["_mag2D"]; + _mag2D = (_this select 0) * cos((_this select 2)); + [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; +}; + +_windSpeed = vectorMagnitude ACE_wind; +_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); + +// Wind gradient +if (_windSpeed > 0.05) then { + _height = (ASLToATL _this) select 2; + _height = 0 max _height min 20; + if (_height < 20) then { + _roughnessLength = _this call FUNC(calculateRoughnessLength); + _windSpeed = _windSpeed * ln(_height / _roughnessLength) / ln(20 / _roughnessLength); + }; +}; + +// Terrain effect on wind +if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; + if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + _windSpeed = _newWindSpeed; +}; + +// Obstacle effect on wind +if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; + if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; + _windSpeed = _newWindSpeed; +}; +_windSpeed = 0 max _windSpeed; + +_windSpeed diff --git a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf new file mode 100644 index 0000000000..5fbdf2f12a --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf @@ -0,0 +1,61 @@ +/* + * Author: Ruthberg + * + * Displays a protractor in the top left corner of the screen + * + * Argument: + * None + * + * Return value: + * None + */ +#include "script_component.hpp" + +#define __dsp (uiNamespace getVariable "RscProtractor") +#define __ctrl1 (__dsp displayCtrl 132950) +#define __ctrl2 (__dsp displayCtrl 132951) + +private ["_inclinationAngle", "_refPosition"]; + +if (GVAR(Protractor)) exitWith { + GVAR(Protractor) = false; + 1 cutText ["", "PLAIN"]; + true +}; +if (weaponLowered ACE_player) exitWith { false }; +if (vehicle ACE_player != ACE_player) exitWith { false }; +if (currentWeapon ACE_player != primaryWeapon ACE_player) exitWith { false }; + +2 cutText ["", "PLAIN"]; +EGVAR(weather,WindInfo) = false; +0 cutText ["", "PLAIN"]; +GVAR(Protractor) = true; + +[{ + if !(GVAR(Protractor) && !(weaponLowered ACE_player) && currentWeapon ACE_player == primaryWeapon ACE_player) exitWith { + GVAR(Protractor) = false; + 1 cutText ["", "PLAIN"]; + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + _refPosition = [SafeZoneX + 0.001, SafeZoneY + 0.001, 0.2, 0.2 * 4/3]; + + _inclinationAngle = asin((ACE_player weaponDirection currentWeapon ACE_player) select 2); + _inclinationAngle = -58 max _inclinationAngle min 58; + + 1 cutRsc ["RscProtractor", "PLAIN", 1, false]; + + __ctrl1 ctrlSetScale 0.75; + __ctrl1 ctrlCommit 0; + __ctrl1 ctrlSetText QUOTE(PATHTOF(UI\protractor.paa)); + __ctrl1 ctrlSetTextColor [1, 1, 1, 1]; + + __ctrl2 ctrlSetScale 0.75; + __ctrl2 ctrlSetPosition [(_refPosition select 0), (_refPosition select 1) - 0.0012 * _inclinationAngle, (_refPosition select 2), (_refPosition select 3)]; + __ctrl2 ctrlCommit 0; + __ctrl2 ctrlSetText QUOTE(PATHTOF(UI\protractor_marker.paa)); + __ctrl2 ctrlSetTextColor [1, 1, 1, 1]; + +}, 0.1, []] call CBA_fnc_addPerFrameHandler; + +true diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf new file mode 100644 index 0000000000..b6aae2c740 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -0,0 +1,166 @@ +/* + * Author: Glowbal, Ruthberg + * + * Handles advanced ballistics for (BulletBase) projectiles + * + * Arguments: + * 0: unit - Object the event handler is assigned to + * 1: weapon - Fired weapon + * 2: muzzle - Muzzle that was used + * 3: mode - Current mode of the fired weapon + * 4: ammo - Ammo used + * 5: magazine - magazine name which was used + * 6: projectile - Object of the projectile that was shot + * + * Return Value: + * Nothing + * + * Public: No + */ +#include "script_component.hpp" + +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; +_unit = _this select 0; +_weapon = _this select 1; +_mode = _this select 3; +_ammo = _this select 4; +_magazine = _this select 5; +_bullet = _this select 6; + +_abort = false; +if (!hasInterface) exitWith {}; +if (!alive _bullet) exitWith {}; +if (!GVAR(enabled)) exitWith {}; +if (!([_unit] call EFUNC(common,isPlayer))) exitWith {}; +if (underwater _unit) exitWith {}; +if (!(_ammo isKindOf "BulletBase")) exitWith {}; +if (_unit distance ACE_player > GVAR(simulationRadius)) exitWith {}; +if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then { + if (GVAR(alwaysSimulateForSnipers)) then { + // The shooter is non local + if (currentWeapon _unit == primaryWeapon _unit && count primaryWeaponItems _unit > 2) then { + _opticsName = (primaryWeaponItems _unit) select 2; + _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); + _abort = _opticType != 2; // We only abort if the non local shooter is not a sniper + }; + } else { + _abort = true; + }; +}; +//if (!GVAR(vehicleGunnerEnabled) && !(_unit isKindOf "Man")) then { _abort = true; }; // TODO: We currently do not have firedEHs on vehicles +if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "cfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) then { _abort = true; }; + +if (_abort || !(GVAR(extensionAvailable))) exitWith { + [_bullet, getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction")] call EFUNC(winddeflection,updateTrajectoryPFH); +}; + +_airFriction = getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction"); + +_bulletVelocity = velocity _bullet; +_muzzleVelocity = vectorMagnitude _bulletVelocity; + +if (GVAR(barrelLengthInfluenceEnabled)) then { + _muzzleVelocityShift = [_ammo, _weapon, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); + if (_muzzleVelocityShift != 0) then { + _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); + _bullet setVelocity _bulletVelocity; + _muzzleVelocity = _muzzleVelocity + _muzzleVelocityShift; + }; +}; + +if (GVAR(ammoTemperatureEnabled)) then { + _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); + _muzzleVelocityShift = [_ammo, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); + if (_muzzleVelocityShift != 0) then { + _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); + _bullet setVelocity _bulletVelocity; + _muzzleVelocity = _muzzleVelocity + _muzzleVelocityShift; + }; +}; + +_bulletTraceVisible = false; +if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { + if (currentWeapon ACE_player in ["ACE_Vector", "Binocular", "Rangefinder", "Laserdesignator"]) then { + _bulletTraceVisible = true; + } else { + if (currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then { + _opticsName = (primaryWeaponItems ACE_player) select 2; + _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); + _bulletTraceVisible = _opticType == 2; + }; + }; +}; + +_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); +_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); +_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_stabilityFactor = 1.5; + +if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { + _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); + _barometricPressure = ((getPosASL _bullet) select 2) call EFUNC(weather,calculateBarometricPressure); + _stabilityFactor = [_caliber, _bulletLength, _bulletMass, _barrelTwist, _muzzleVelocity, _temperature, _barometricPressure] call FUNC(calculateStabilityFactor); +}; + +_twistDirection = 1; +if (isNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_twistDirection")) then { + _twistDirection = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_twistDirection"); + if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { + _twistDirection = 1; + }; +}; + +_transonicStabilityCoef = 0.5; +if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { + _transonicStabilityCoef = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); +}; + +_dragModel = 1; +_ballisticCoefficients = []; +_velocityBoundaries = []; +_atmosphereModel = "ICAO"; +if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_dragModel")) then { + _dragModel = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_dragModel"); + if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { + _dragModel = 1; + }; +}; +if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { + _ballisticCoefficients = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); +}; +if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { + _velocityBoundaries = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); +}; +if (isText(configFile >> "cfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { + _atmosphereModel = getText(configFile >> "cfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); +}; + +GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; + +"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; + +[{ + private ["_args", "_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"]; + _args = _this select 0; + _bullet = _args select 0; + _caliber = _args select 1; + _bulletTraceVisible = _args select 2; + _index = _args select 3; + + _bulletVelocity = velocity _bullet; + _bulletPosition = getPosASL _bullet; + + _bulletSpeed = vectorMagnitude _bulletVelocity; + + if (!alive _bullet || _bulletSpeed < 100) exitWith { + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + if (_bulletTraceVisible && _bulletSpeed > 600) then { + drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.4*_caliber,0.2*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; + }; + + call compile ("ace_advanced_ballistics" callExtension format["simulate:%1:%2:%3:%4:%5:%6:%7", _index, _bulletVelocity, _bulletPosition, ACE_wind, ASLToATL(_bulletPosition) select 2, floor(time), time - floor(time)]); + +}, GVAR(simulationInterval), [_bullet, _caliber, _bulletTraceVisible, GVAR(currentbulletID)]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/advanced_ballistics/functions/fnc_initModuleSettings.sqf b/addons/advanced_ballistics/functions/fnc_initModuleSettings.sqf new file mode 100644 index 0000000000..ba7ea31a8f --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_initModuleSettings.sqf @@ -0,0 +1,35 @@ +/* + * Author: Glowbal, Ruthberg + * Module for adjusting the advanced ballistics settings + * + * Arguments: + * 0: The module logic + * 1: units + * 2: activated + * + * Return Value: + * None + * + * Public: No + */ + +#include "script_component.hpp" + +private ["_logic", "_units", "_activated"]; +_logic = _this select 0; +_units = _this select 1; +_activated = _this select 2; + +if !(_activated) exitWith {}; + +[_logic, QGVAR(enabled), "enabled"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(ammoTemperatureEnabled), "ammoTemperatureEnabled"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(barrelLengthInfluenceEnabled), "barrelLengthInfluenceEnabled"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(bulletTraceEnabled), "bulletTraceEnabled"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(onlyActiveForLocalPlayers), "onlyActiveForLocalPlayers"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(disabledInFullAutoMode), "disabledInFullAutoMode"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(alwaysSimulateForSnipers), "alwaysSimulateForSnipers"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(simulationInterval), "simulationInterval"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(simulationRadius), "simulationRadius"] call EFUNC(common,readSettingFromModule); + +GVAR(simulationInterval) = 0 max GVAR(simulationInterval) min 0.2; diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf new file mode 100644 index 0000000000..6791d26350 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -0,0 +1,60 @@ +/* + * Author: Ruthberg + * Initializes the advanced ballistics dll extension with terrain data + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Public: No + */ +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; +if (!GVAR(extensionAvailable)) exitWith {}; + +private ["_initStartTime", "_mapSize", "_mapGrids", "_gridCells", "_x", "_y", "_gridCenter", "_gridHeight", "_gridNumObjects", "_gridSurfaceIsWater"]; + +_initStartTime = time; +_mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize"); + +if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith { + if (GVAR(INIT_MESSAGE_ENABLED)) then { + systemChat "AdvancedBallistics: Terrain already initialized"; + }; +}; + +_mapGrids = ceil(_mapSize / 50) + 1; +_gridCells = _mapGrids * _mapGrids; + +GVAR(currentGrid) = 0; + +[{ + private ["_args", "_mapGrids", "_gridCells", "_initStartTime"]; + _args = _this select 0; + _mapGrids = _args select 0; + _gridCells = _args select 1; + _initStartTime = _args select 2; + + if (GVAR(currentGrid) >= _gridCells) exitWith { + if (GVAR(INIT_MESSAGE_ENABLED)) then { + systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(time - _initStartTime)]; + }; + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + for "_i" from 1 to 50 do { + _x = floor(GVAR(currentGrid) / _mapGrids) * 50; + _y = (GVAR(currentGrid) - floor(GVAR(currentGrid) / _mapGrids) * _mapGrids) * 50; + _gridCenter = [_x + 25, _y + 25]; + _gridHeight = round(getTerrainHeightASL _gridCenter); + _gridNumObjects = count (_gridCenter nearObjects ["Building", 50]); + _gridSurfaceIsWater = if (surfaceIsWater _gridCenter) then {1} else {0}; + "ace_advanced_ballistics" callExtension format["set:%1:%2:%3", _gridHeight, _gridNumObjects, _gridSurfaceIsWater]; + GVAR(currentGrid) = GVAR(currentGrid) + 1; + if (GVAR(currentGrid) >= _gridCells) exitWith {}; + }; + +}, 0, [_mapGrids, _gridCells, _initStartTime]] call CBA_fnc_addPerFrameHandler diff --git a/addons/advanced_ballistics/functions/script_component.hpp b/addons/advanced_ballistics/functions/script_component.hpp new file mode 100644 index 0000000000..2c718bf9db --- /dev/null +++ b/addons/advanced_ballistics/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\advanced_ballistics\script_component.hpp" \ No newline at end of file diff --git a/addons/advanced_ballistics/initKeybinds.sqf b/addons/advanced_ballistics/initKeybinds.sqf new file mode 100644 index 0000000000..59866576aa --- /dev/null +++ b/addons/advanced_ballistics/initKeybinds.sqf @@ -0,0 +1,10 @@ +["ACE3", QGVAR(ProtractorKey), localize "STR_ACE_AdvancedBallistics_ProtractorKey", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + + // Statement + [] call FUNC(displayProtractor); +}, +{false}, +[37, [true, true, false]], false, 0] call CBA_fnc_addKeybind; // (CTRL + SHIFT + K) diff --git a/addons/advanced_ballistics/script_component.hpp b/addons/advanced_ballistics/script_component.hpp new file mode 100644 index 0000000000..3334bb3207 --- /dev/null +++ b/addons/advanced_ballistics/script_component.hpp @@ -0,0 +1,26 @@ +#define COMPONENT advanced_ballistics +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_ADVANCEDBALLISTICS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_ADVANCEDBALLISTICS + #define DEBUG_SETTINGS DEBUG_SETTINGS_ADVANCEDBALLISTICS +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#define GRAVITY 9.80665 +#define ABSOLUTE_ZERO_IN_CELSIUS -273.15 +#define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS) +#define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS) +#define UNIVERSAL_GAS_CONSTANT 8.314 +#define WATER_VAPOR_MOLAR_MASS 0.018016 +#define DRY_AIR_MOLAR_MASS 0.028964 +#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058 +#define STD_AIR_DENSITY_ICAO 1.22498 +#define STD_AIR_DENSITY_ASM 1.20885 +#define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h)) + +#define EXTENSION_REQUIRED_VERSION "1.0" diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml new file mode 100644 index 0000000000..dbf2784f21 --- /dev/null +++ b/addons/advanced_ballistics/stringtable.xml @@ -0,0 +1,23 @@ + + + + + Show Wind Info + Pokaż inf. o wietrze + Mostra indicazioni del vento + Показать информацию о ветре + Afficher les info sur le vent + Mostrar información del viento + Windinformationen anzeigen + + + Show Protractor + Pokaż kątomierz + Mostra il rapportatore + Показать транспортир + Afficher le rapporteur + Mostrar transportador + Winkelmesser anzeigen + + + \ No newline at end of file diff --git a/addons/ai/CfgWeapons.hpp b/addons/ai/CfgWeapons.hpp index 22e8f703fc..be3245cce3 100644 --- a/addons/ai/CfgWeapons.hpp +++ b/addons/ai/CfgWeapons.hpp @@ -574,4 +574,198 @@ class CfgWeapons { maxRange = 1200; //1000; }; }; + + // marksmen marksmen + class DMR_03_base_F: Rifle_Long_Base_F { + modes[] += {"ACE_Burst_far"}; + + class Single: Mode_SemiAuto { + minRange = 120; // 2; + minRangeProbab = 0.7; // 0.3; + midRangeProbab = 0.3; // 0.7; + }; + + class FullAuto; + + class single_close_optics1: Single { + minRange = 120; // 2; + minRangeProbab = 0.8; // 0.05; + midRangeProbab = 0.05; // 0.8; + }; + + class single_medium_optics1: single_close_optics1 { + minRangeProbab = 0.7; // 0.05; + midRangeProbab = 0.05; // 0.7; + }; + + class single_far_optics1: single_medium_optics1 { + minRange = 400; // 300; + minRangeProbab = 0.5; // 0.05; + midRangeProbab = 0.05; // 0.5; + }; + + class fullauto_medium: FullAuto { + minRange = 20; // 2; + maxRange = 150; // 100; + burst = "3 + round random 5"; // 3; + }; + + class ACE_Burst_far: fullauto_medium { + aiRateOfFire = 2.0; + aiRateOfFireDistance = 500; + minRange = 400; + minRangeProbab = 0.1; + midRange = 500; + midRangeProbab = 0.2; + maxRange = 600; + maxRangeProbab = 0.2; + burst = "2 + round random 3"; + }; + }; + + class DMR_05_base_F: Rifle_Long_Base_F { + modes[] += {"ACE_Burst_far"}; + + class Single: Mode_SemiAuto { + minRange = 120; // 2; + minRangeProbab = 0.7; // 0.3; + midRangeProbab = 0.3; // 0.7; + }; + + class FullAuto; + + class single_close_optics1: Single { + minRange = 120; // 2; + minRangeProbab = 0.8; // 0.05; + midRangeProbab = 0.05; // 0.8; + }; + + class single_medium_optics1: single_close_optics1 { + minRangeProbab = 0.7; // 0.05; + midRangeProbab = 0.05; // 0.7; + }; + + class single_far_optics1: single_medium_optics1 { + minRange = 400; // 300; + minRangeProbab = 0.5; // 0.05; + midRangeProbab = 0.05; // 0.5; + }; + + class fullauto_medium: FullAuto { + minRange = 20; // 2; + maxRange = 150; // 100; + burst = "3 + round random 5"; // 3; + }; + + class ACE_Burst_far: fullauto_medium { + aiRateOfFire = 2.0; + aiRateOfFireDistance = 500; + minRange = 400; + minRangeProbab = 0.1; + midRange = 500; + midRangeProbab = 0.2; + maxRange = 600; + maxRangeProbab = 0.2; + burst = "2 + round random 3"; + }; + }; + + class DMR_06_base_F: Rifle_Long_Base_F { + modes[] += {"ACE_Burst_far"}; + + class Single: Mode_SemiAuto { + minRange = 120; // 2; + minRangeProbab = 0.7; // 0.3; + midRangeProbab = 0.3; // 0.7; + }; + + class FullAuto; + + class single_close_optics1: Single { + minRange = 120; // 2; + minRangeProbab = 0.8; // 0.05; + midRangeProbab = 0.05; // 0.8; + }; + + class single_medium_optics1: single_close_optics1 { + minRangeProbab = 0.7; // 0.05; + midRangeProbab = 0.05; // 0.7; + }; + + class single_far_optics1: single_medium_optics1 { + minRange = 400; // 300; + minRangeProbab = 0.5; // 0.05; + midRangeProbab = 0.05; // 0.5; + }; + + class fullauto_medium: FullAuto { + minRange = 20; // 2; + maxRange = 150; // 100; + burst = "3 + round random 5"; // 3; + }; + + class ACE_Burst_far: fullauto_medium { + aiRateOfFire = 2.0; + aiRateOfFireDistance = 500; + minRange = 400; + minRangeProbab = 0.1; + midRange = 500; + midRangeProbab = 0.2; + maxRange = 600; + maxRangeProbab = 0.2; + burst = "2 + round random 3"; + }; + }; + + // marksmen medium mg + class MMG_01_base_F: Rifle_Long_Base_F { + aiDispersionCoefY = 25.0; + aiDispersionCoefX = 20.0; + modes[] += {"ACE_Burst_far"}; + + class manual; + class burst; + class close; + class short; + class medium; + class ACE_Burst_far: medium { + aiRateOfFire = 6.0; + aiRateOfFireDistance = 900; + minRange = 700; + minRangeProbab = 0.1; + midRange = 900; + midRangeProbab = 0.2; + maxRange = 1100; + maxRangeProbab = 0.2; + burst = "3 + round random 5"; + }; + + class far_optic1; + class far_optic2; + }; + + class MMG_02_base_F: Rifle_Long_Base_F { + aiDispersionCoefY = 20.0; + aiDispersionCoefX = 15.0; + modes[] += {"ACE_Burst_far"}; + + class manual; + class close; + class short; + class medium; + class ACE_Burst_far: medium { + aiRateOfFire = 6.0; + aiRateOfFireDistance = 900; + minRange = 700; + minRangeProbab = 0.1; + midRange = 900; + midRangeProbab = 0.2; + maxRange = 1100; + maxRangeProbab = 0.2; + burst = "3 + round random 5"; + }; + + class far_optic1; + class far_optic2; + }; }; diff --git a/addons/aircraft/CfgAmmo.hpp b/addons/aircraft/CfgAmmo.hpp index 393b9666e6..8aa5d3173e 100644 --- a/addons/aircraft/CfgAmmo.hpp +++ b/addons/aircraft/CfgAmmo.hpp @@ -1,18 +1,30 @@ class CfgAmmo { class BulletBase; - class B_20mm; - - class ACE_20mm_HEDP : B_20mm { - hit = 80; + class B_20mm : BulletBase { + hit = 80; indirectHit = 12; indirectHitRange = 2; //2; caliber = 1.4; tracerStartTime = 0.02; timeToLive = 40; explosive = 1.8; + tracersEvery = 3; + tracerEndTime = 3.5; + + CraterEffects = "ExploAmmoCrater"; + explosionEffects = "ExploAmmoExplosion"; + model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; + }; + class ACE_20mm_HE : B_20mm {}; + class ACE_20mm_AP : B_20mm { + hit = 50; + indirectHit = 12; + indirectHitRange = 0.3; //2; + explosive = 0; + CraterEffects = ""; + explosionEffects = ""; }; - // adjust minigun caliber and deflection to other ammo class SubmunitionBullet; diff --git a/addons/aircraft/CfgMagazines.hpp b/addons/aircraft/CfgMagazines.hpp index 2445182163..b09bac6943 100644 --- a/addons/aircraft/CfgMagazines.hpp +++ b/addons/aircraft/CfgMagazines.hpp @@ -10,7 +10,7 @@ class CfgMagazines { // an extended magazine for the comanche class 300Rnd_20mm_shells; class ACE_500Rnd_20mm_shells_Comanche: 300Rnd_20mm_shells { - ammo = "ACE_20mm_HEDP"; + ammo = "ACE_20mm_HE"; count = 500; }; }; diff --git a/addons/aircraft/Heli_Attack_01_base_F.hpp b/addons/aircraft/Heli_Attack_01_base_F.hpp index 817b1dacaa..14ca7ef7cd 100644 --- a/addons/aircraft/Heli_Attack_01_base_F.hpp +++ b/addons/aircraft/Heli_Attack_01_base_F.hpp @@ -891,6 +891,25 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { class OpticsIn { + class WideUnstabalized + { + opticsDisplayName = "WU"; + initAngleX = 0; + minAngleX = -35; + maxAngleX = 10; + initAngleY = 0; + minAngleY = -100; + maxAngleY = 100; + initFov = 0.466; + minFov = 0.466; + maxFov = 0.466; + visionMode[] = {"Normal","Ti"}; + thermalMode[] = {0,1}; + gunnerOpticsColor[] = {0,0,0,1}; + directionStabilized = 0; + horizontallyStabilized = 1; + gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; + }; class Wide { opticsDisplayName = "W"; @@ -903,11 +922,11 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { initFov = 0.466; minFov = 0.466; maxFov = 0.466; - visionMode[] = {"Normal","NVG","Ti"}; + visionMode[] = {"Normal","Ti"}; thermalMode[] = {0,1}; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; class Medium: Wide @@ -918,7 +937,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { maxFov = 0.093; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F"; }; class Narrow: Wide @@ -929,7 +948,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { maxFov = 0.029; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; @@ -941,7 +960,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { maxFov = 0.01; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; diff --git a/addons/aircraft/config.cpp b/addons/aircraft/config.cpp index 2ce2d0dc10..2dc390f915 100644 --- a/addons/aircraft/config.cpp +++ b/addons/aircraft/config.cpp @@ -2,7 +2,7 @@ class CfgPatches { class ADDON { - units[] = {}; + units[] = {"ACE_Comanche_Test"}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 4d1c49fff6..3a67e11449 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,50 +1,51 @@  - - - - Burst - Feuerstoß - Ráfaga - Seria - Dávka - Rafale - Очередь - Sorozat - Rajada - Raffica - - - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - - - Open Cargo Door - Laderampe öffnen - Abrir compuerta de carga - Ourvir Rampe Cargo - Otwórz drzwi ładowni - Otevřít nákladní prostor - Rámpát kinyitni - Открыть грузовой отсек - - - Close Cargo Door - Laderampe schließen - Cerrar compuerta de carga - Fermer Rampe Cargo - Zamknij drzwi ładowni - Zavřít nákladní prostor - Rámpát zárni - Закрыть грузовой отсек - - - + + + Burst + Feuerstoß + Ráfaga + Seria + Dávka + Contre mesure + Очередь + Sorozat + Rajada + Raffica + + + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + + + Open Cargo Door + Laderampe öffnen + Abrir compuerta de carga + Ourvir la rampe + Otwórz drzwi ładowni + Otevřít nákladní prostor + Rakodórámpa nyitása + Открыть грузовой отсек + Apri la porta del cargo + + + Close Cargo Door + Laderampe schließen + Cerrar compuerta de carga + Fermer la rampe + Zamknij drzwi ładowni + Zavřít nákladní prostor + Rakodórámpa zárása + Закрыть грузовой отсек + Chiudi la porta del cargo + + + \ No newline at end of file diff --git a/addons/atragmx/CfgEventHandlers.hpp b/addons/atragmx/CfgEventHandlers.hpp new file mode 100644 index 0000000000..3996e3371d --- /dev/null +++ b/addons/atragmx/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_postInit) ); + }; +}; \ No newline at end of file diff --git a/addons/atragmx/CfgVehicles.hpp b/addons/atragmx/CfgVehicles.hpp new file mode 100644 index 0000000000..f015f0e0b9 --- /dev/null +++ b/addons/atragmx/CfgVehicles.hpp @@ -0,0 +1,40 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Equipment { + class GVAR(open) { + displayName = "$STR_ACE_ATragMX_OpenATragMXDialog"; + condition = QUOTE(call FUNC(can_show)); + statement = QUOTE(call FUNC(create_dialog)); + showDisabled = 0; + priority = 2; + icon = PATHTOF(UI\ATRAG_Icon.paa); + exceptions[] = {"notOnMap", "isNotInside"}; + }; + }; + }; + }; + + class Item_Base_F; + class ACE_Item_ATragMX: Item_Base_F { + author = "Ruthberg"; + scope = 2; + scopeCurator = 2; + displayName = "ATragMX"; + vehicleClass = "Items"; + class TransportItems { + class ACE_ATragMX { + name = "ACE_ATragMX"; + count = 1; + }; + }; + }; + + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_ATragMX,6); + }; + }; +}; diff --git a/addons/atragmx/CfgWeapons.hpp b/addons/atragmx/CfgWeapons.hpp new file mode 100644 index 0000000000..07d2fa4aee --- /dev/null +++ b/addons/atragmx/CfgWeapons.hpp @@ -0,0 +1,20 @@ + +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_ATragMX: ACE_ItemCore { + author = "Ruthberg"; + scope = 2; + displayName = "$STR_ACE_ATragMX_Name"; + descriptionShort = "$STR_ACE_ATragMX_Description"; + model = PATHTOF(data\tdsrecon.p3d); + picture = PATHTOF(UI\ATRAG_Icon.paa); + icon = "iconObject_circle"; + mapSize = 0.034; + + class ItemInfo: InventoryItem_Base_F { + mass = 2; + }; + }; +}; diff --git a/addons/atragmx/README.md b/addons/atragmx/README.md new file mode 100644 index 0000000000..f68b38c4a3 --- /dev/null +++ b/addons/atragmx/README.md @@ -0,0 +1,10 @@ +ace_atragmx +=============== + +ATragMX - Handheld ballistics calculator + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Ruthberg] (http://github.com/Ulteq) \ No newline at end of file diff --git a/addons/atragmx/RscTitles.hpp b/addons/atragmx/RscTitles.hpp new file mode 100644 index 0000000000..4ae08c20aa --- /dev/null +++ b/addons/atragmx/RscTitles.hpp @@ -0,0 +1,1471 @@ +#define ST_LEFT 0 +#define ST_RIGHT 1 +#define ST_CENTER 2 + +class ATragMX_RscText { + idc=-1; + type=0; + style=256; + colorDisabled[]={0,0,0,0.0}; + colorBackground[]={0,0,0,0}; + colorText[]={0,0,0,1}; + text=""; + x=0; + y=0; + h=0.037; + w=0.30; + font="TahomaB"; + SizeEx=0.03; + shadow=0; +}; +class ATragMX_RscButton { + text=""; + colorText[]={0,0,0,1}; + colorDisabled[]={0,0,0,0.0}; + colorBackground[]={0,0,0,0}; + colorBackgroundDisabled[]={0,0,0,0}; + colorBackgroundActive[]={0,0,0,0}; + colorFocused[]={0,0,0,0}; + colorShadow[]={0,0,0,0}; + colorBorder[]={0,0,0,1}; + soundEnter[]={"",0,1}; + soundPush[]={"",0,1}; + soundClick[]={"",0,1}; + soundEscape[]={"",0,1}; + type=1; + style="0x02+0x100"; + x=0; + y=0; + w=0.03; + h=0.03; + font="TahomaB"; + SizeEx=0.025; + offsetX=0.003; + offsetY=0.003; + offsetPressedX=0.0020; + offsetPressedY=0.0020; + borderSize=0; + shadow=0; +}; +class ATragMX_RscEdit { + access=0; + type=2; + style=ST_RIGHT; + x=0; + y=0; + w=0.05; + h=0.03; + colorDisabled[]={0,0,0,0.0}; + colorBackground[]={0,0,0,0}; + colorText[]={0,0,0,1}; + colorSelection[]={0,0,0,0.25}; + font="TahomaB"; + sizeEx=0.025; + text=""; + size=0.2; + autocomplete=""; + shadow=0; +}; +class ATragMX_RscToolbox { + type=6; + style=ST_LEFT; + x=0; + y=0; + w=0.2; + h=0.03; + colorDisabled[]={0,0,0,0.0}; + colorBackground[]={1,1,1,1}; + colorText[]={0,0,0,1}; + color[]={0,0,0,0}; + colorTextSelect[]={0.8,0.8,0.8,1}; + colorSelect[]={0,0,0,1}; + colorSelectedBg[]={0,0,0,1}; + colorTextDisable[]={0.4,0.4,0.4,1}; + colorDisable[]={0.4,0.4,0.4,1}; + font="TahomaB"; + sizeEx=0.027; + rows=1; + columns=2; + strings[]={"Entry 1","Entry 2"}; + values[]={1,0}; + onToolBoxSelChanged=""; +}; +class ATragMX_RscListBox { + idc=-1; + type=5; + style=0; + font="TahomaB"; + sizeEx=0.028; + rowHeight=0.03; + colorDisabled[]={0,0,0,0.0}; + colorBackground[]={1,1,1,1}; + colorText[]={0,0,0,1}; + colorScrollbar[]={0.95,0.95,0.95,1}; + colorSelect[]={0,0,0,1}; + colorSelect2[]={0,0,0,1}; + colorSelectBackground[]={0.925,0.925,0.925,1}; + colorSelectBackground2[]={0.925,0.925,0.925,1}; + period=0; + maxHistoryDelay=1.0; + autoScrollSpeed=-1; + autoScrollDelay=5; + autoScrollRewind=0; + soundSelect[]={"",0.09,1}; + + class ScrollBar { + color[]={1,1,1,0.6}; + colorActive[]={1,1,1,1}; + colorDisabled[]={1,1,1,0.3}; + //thumb="\ca\ui\data\igui_scrollbar_thumb_ca.paa"; + //arrowFull="\ca\ui\data\igui_arrow_top_active_ca.paa"; + //arrowEmpty="\ca\ui\data\igui_arrow_top_ca.paa"; + //border="\ca\ui\data\igui_border_scroll_ca.paa"; + }; + + class ListScrollBar : ScrollBar { + }; +}; +class ATragMX_RscListNBox: ATragMX_RscListBox { + idc=-1; + type=102; + columns[]={0.0, 0.225, 0.475, 0.7}; + drawSideArrows=0; + idcLeft=-1; + idcRight=-1; +}; +class ATragMX_RscLineBreak { + idc=-1; + type=98; + shadow=0; +}; +class ATragMX_Display { + name="ATragMX_Display"; + idd=-1; + onLoad="uiNamespace setVariable ['ATragMX_Display', (_this select 0)]"; + movingEnable=1; + controlsBackground[]={}; + objects[]={}; + class controls { + class BACKGROUND { + moving=1; + type=0; + font="TahomaB"; + SizeEX=0.025; + idc=-1; + style=48; + x=0.55*safezoneW+safezoneX-0.256; + y=0.265*safezoneH+safezoneY-0.1; + w=1.024; + h=1.024*4/3; + colorBackground[]={1,1,1,1}; + colorText[]={1,1,1,1}; + text=PATHTOF(UI\atrag.paa); + }; + class POWER: ATragMX_RscButton { + idc=-1; + x=0.55*safezoneW+safezoneX+0.145; + y=0.265*safezoneH+safezoneY+0.94; + w=0.045; + h=0.045*4/3; + colorBackground[]={0,0,0,0.0}; + action="closeDialog 0"; + }; + class BACK: POWER { + idc=-1; + w=0.06; + x=0.55*safezoneW+safezoneX+0.3122; + action=QUOTE(call FUNC(init); call FUNC(update_target_selection)); + }; + class WINDOWS: ATragMX_RscButton { + idc=-1; + x=0.55*safezoneW+safezoneX+0.130; + y=0.265*safezoneH+safezoneY+0.88; + w=0.035; + h=0.035*4/3; + colorBackground[]={0,0,0,0.0}; + }; + class OK: WINDOWS { + idc=-1; + x=0.55*safezoneW+safezoneX+0.347; + y=0.265*safezoneH+safezoneY+0.878; + }; + class TOP: ATragMX_RscButton { + idc=-1; + x=0.55*safezoneW+safezoneX+0.242; + y=0.265*safezoneH+safezoneY+0.85; + w=0.03; + h=0.03; + colorBackground[]={0,0,0,0.0}; + action=QUOTE(-1 call FUNC(cycle_gun_list)); + }; + class BOTTOM: TOP { + idc=-1; + y=0.265*safezoneH+safezoneY+0.955; + action=QUOTE(+1 call FUNC(cycle_gun_list)); + }; + class LEFT: ATragMX_RscButton { + idc=-1; + x=0.55*safezoneW+safezoneX+0.1925; + y=0.265*safezoneH+safezoneY+0.9; + w=0.05; + h=0.03; + colorBackground[]={0,0,0,0}; + action=QUOTE(((4 + GVAR(currentTarget) - 1) % 4) call FUNC(change_target_slot)); + }; + class RIGHT: LEFT { + idc=-1; + x=0.55*safezoneW+safezoneX+0.2725; + action=QUOTE(((4 + GVAR(currentTarget) + 1) % 4) call FUNC(change_target_slot)); + }; + class TOP_LEFT: ATragMX_RscButton { + idc=-1; + x=0.55*safezoneW+safezoneX+0.162; + y=0.265*safezoneH+safezoneY+0.82; + w=0.031; + h=0.031*4/3; + colorBackground[]={0,0,0,0.0}; + }; + class TOP_RIGHT: TOP_LEFT { + idc=-1; + x=0.55*safezoneW+safezoneX+0.315; + }; + + class TEXT_GUN_FRAME: ATragMX_RscText { + idc=1001; + style=64; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.25; + w=0.0925; + h=0.205; + text=""; + }; + class TEXT_ATMOSPHERE_FRAME: TEXT_GUN_FRAME { + idc=1002; + x=0.550*safezoneW+safezoneX+0.205; + }; + class TEXT_TARGET_FRAME: TEXT_GUN_FRAME { + idc=1003; + x=0.550*safezoneW+safezoneX+0.3; + }; + class TEXT_RESULT_FRAME: TEXT_GUN_FRAME { + idc=1004; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.46; + w=0.2825; + h=0.15; + }; + class TEXT_GUN_PROFILE: ATragMX_RscText { + idc=1000; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.20; + w=0.18; + h=0.03; + style=ST_LEFT; + sizeEx=0.025; + text=""; + }; + class TEXT_D: ATragMX_RscButton { + idc=600; + w=0.0231; + x=0.550*safezoneW+safezoneX+0.29; + y=0.265*safezoneH+safezoneY+0.20; + colorText[]={0,0,0,1}; + colorDisabled[]={0.8,0.8,0.8,1}; + colorBackgroundDisabled[]={0,0,0,1}; + colorBackgroundActive[]={0,0,0,0}; + text="D"; + action=QUOTE(GVAR(currentUnit)=0; call FUNC(update_unit_selection)); + }; + class TEXT_E: TEXT_D { + idc=601; + x=0.550*safezoneW+safezoneX+0.3131; + text="E"; + action=QUOTE(GVAR(currentUnit)=1; call FUNC(update_unit_selection)); + }; + class TEXT_M: TEXT_E { + idc=602; + x=0.550*safezoneW+safezoneX+0.3362; + text="M"; + action=QUOTE(GVAR(currentUnit)=2; call FUNC(update_unit_selection)); + }; + class TEXT_RANGE_CARD: TEXT_D { + idc=603; + w=0.03; + x=0.550*safezoneW+safezoneX+0.36; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + text="RC"; + action=QUOTE(call FUNC(toggle_range_card)); + }; + + class TEXT_GUN: ATragMX_RscButton { + idc=4000; + w=0.0925; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.25; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + text="Gun"; + action=QUOTE(call FUNC(toggle_gun_ammo_data)); + }; + class TEXT_BORE_HEIGHT: TEXT_GUN_PROFILE { + idc=10; + style=ST_LEFT; + y=0.265*safezoneH+safezoneY+0.285; + text="BH"; + }; + class TEXT_BORE_HEIGHT_OUTPUT: TEXT_BORE_HEIGHT { + idc=100; + style=ST_RIGHT; + w=0.058; + x=0.550*safezoneW+safezoneX+0.145; + y=0.265*safezoneH+safezoneY+0.285; + }; + class TEXT_BULLET_MASS: TEXT_BORE_HEIGHT { + idc=11; + style=ST_LEFT; + y=0.265*safezoneH+safezoneY+0.320; + text="BW"; + }; + class TEXT_BULLET_MASS_OUTPUT: TEXT_BORE_HEIGHT_OUTPUT { + idc=110; + y=0.265*safezoneH+safezoneY+0.320; + }; + class TEXT_AIR_FRICTION: TEXT_BORE_HEIGHT { + idc=12; + y=0.265*safezoneH+safezoneY+0.355; + text="C1"; + }; + class TEXT_AIR_FRICTION_OUTPUT: TEXT_BORE_HEIGHT_OUTPUT { + idc=120; + y=0.265*safezoneH+safezoneY+0.355; + }; + class TEXT_MUZZLE_VELOCITY: ATragMX_RscButton { + idc=13; + style=0; + w=0.03; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.390; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + text="MV"; + }; + class TEXT_MUZZLE_VELOCITY_OUTPUT: TEXT_BORE_HEIGHT_OUTPUT { + idc=130; + y=0.265*safezoneH+safezoneY+0.390; + }; + class TEXT_ZERO_RANGE: TEXT_BORE_HEIGHT { + idc=14; + y=0.265*safezoneH+safezoneY+0.425; + text="ZR"; + }; + class TEXT_ZERO_RANGE_OUTPUT: TEXT_BORE_HEIGHT_OUTPUT { + idc=140; + y=0.265*safezoneH+safezoneY+0.425; + }; + class TEXT_ATMOSPHERE: TEXT_GUN { + idc=4001; + x=0.550*safezoneW+safezoneX+0.205; + text="Atmsphr"; + action=QUOTE(0 call FUNC(toggle_atmo_env_data)); + }; + class TEXT_TEMPERATURE: TEXT_BULLET_MASS { + idc=20; + x=0.550*safezoneW+safezoneX+0.20; + text="Tmp"; + }; + class TEXT_TEMPERATURE_OUTPUT: TEXT_TEMPERATURE { + idc=200; + style=ST_RIGHT; + w=0.050; + x=0.550*safezoneW+safezoneX+0.245; + y=0.265*safezoneH+safezoneY+0.320; + text=""; + }; + class TEXT_BAROMETRIC_PRESSURE: TEXT_AIR_FRICTION { + idc=21; + x=0.550*safezoneW+safezoneX+0.20; + text="BP"; + }; + class TEXT_BAROMETRIC_PRESSURE_OUTPUT: TEXT_TEMPERATURE_OUTPUT { + idc=210; + y=0.265*safezoneH+safezoneY+0.355; + }; + class TEXT_RELATIVE_HUMIDITY: TEXT_AIR_FRICTION { + idc=22; + x=0.550*safezoneW+safezoneX+0.20; + y=0.265*safezoneH+safezoneY+0.390; + text="RH"; + }; + class TEXT_RELATIVE_HUMIDITY_OUTPUT: TEXT_TEMPERATURE_OUTPUT { + idc=220; + y=0.265*safezoneH+safezoneY+0.390; + }; + class TEXT_ALTITUDE: TEXT_BORE_HEIGHT { + idc=23; + x=0.550*safezoneW+safezoneX+0.20; + text="Alt"; + }; + class TEXT_ALTITUDE_OUTPUT: TEXT_TEMPERATURE_OUTPUT { + idc=230; + y=0.265*safezoneH+safezoneY+0.285; + }; + class TEXT_TARGET_A: ATragMX_RscButton { + idc=500; + w=0.0231; + x=0.550*safezoneW+safezoneX+0.205; + y=0.265*safezoneH+safezoneY+0.425; + colorText[]={0,0,0,1}; + colorDisabled[]={0.8,0.8,0.8,1}; + colorBackgroundDisabled[]={0,0,0,1}; + colorBackgroundActive[]={0,0,0,0}; + text="A"; + action=QUOTE(0 call FUNC(change_target_slot)); + }; + class TEXT_TARGET_B: TEXT_TARGET_A { + idc=501; + x=0.550*safezoneW+safezoneX+0.2281; + text="B"; + action=QUOTE(1 call FUNC(change_target_slot)); + }; + class TEXT_TARGET_C: TEXT_TARGET_A { + idc=502; + x=0.550*safezoneW+safezoneX+0.2512; + text="C"; + action=QUOTE(2 call FUNC(change_target_slot)); + }; + class TEXT_TARGET_D: TEXT_TARGET_A { + idc=503; + x=0.550*safezoneW+safezoneX+0.2743; + text="D"; + action=QUOTE(3 call FUNC(change_target_slot)); + }; + + class TEXT_TARGET: TEXT_GUN { + idc=4002; + x=0.550*safezoneW+safezoneX+0.3; + text="Target"; + action=QUOTE(0 call FUNC(toggle_target_data)); + }; + class TEXT_WIND_SPEED: TEXT_BORE_HEIGHT { + idc=30; + x=0.550*safezoneW+safezoneX+0.3; + text="WS"; + }; + class TEXT_WIND_SPEED_OUTPUT: TEXT_BORE_HEIGHT_OUTPUT { + idc=300; + w=0.058; + x=0.550*safezoneW+safezoneX+0.335; + y=0.265*safezoneH+safezoneY+0.285; + text="0"; + }; + class TEXT_WIND_DIRECTION: TEXT_BULLET_MASS { + idc=31; + x=0.550*safezoneW+safezoneX+0.3; + text="WD"; + }; + class TEXT_WIND_DIRECTION_OUTPUT: TEXT_WIND_SPEED_OUTPUT { + idc=310; + y=0.265*safezoneH+safezoneY+0.32; + }; + class TEXT_INCLINATION_ANGLE: TEXT_AIR_FRICTION { + idc=32; + x=0.550*safezoneW+safezoneX+0.3; + text="IA"; + }; + class TEXT_INCLINATION_ANGLE_OUTPUT: TEXT_WIND_SPEED_OUTPUT { + idc=320; + y=0.265*safezoneH+safezoneY+0.355; + }; + class TEXT_TARGET_SPEED: TEXT_MUZZLE_VELOCITY { + idc=33; + x=0.550*safezoneW+safezoneX+0.3; + text="TS"; + action=QUOTE(0 call FUNC(toggle_target_speed_assist)); + }; + class TEXT_TARGET_SPEED_OUTPUT: TEXT_WIND_SPEED_OUTPUT { + idc=330; + y=0.265*safezoneH+safezoneY+0.39; + }; + class TEXT_TARGET_RANGE: TEXT_TARGET_SPEED { + idc=34; + y=0.265*safezoneH+safezoneY+0.425; + text="TR"; + action=QUOTE(0 call FUNC(toggle_target_range_assist)); + }; + class TEXT_TARGET_RANGE_INPUT: TEXT_WIND_SPEED_OUTPUT { + idc=340; + y=0.265*safezoneH+safezoneY+0.425; + }; + + class TEXT_ELEVATION: TEXT_GUN_PROFILE { + idc=40; + w=0.05; + x=0.550*safezoneW+safezoneX+0.115; + y=0.265*safezoneH+safezoneY+0.50; + text="Elev"; + }; + class TEXT_ABSOLUTE: TEXT_GUN_PROFILE { + idc=4003; + w=0.07; + style=ST_CENTER; + x=0.550*safezoneW+safezoneX+0.17; + y=0.265*safezoneH+safezoneY+0.47; + text="Abs"; + }; + class TEXT_RELATIVE: TEXT_ABSOLUTE { + idc=4004; + x=0.550*safezoneW+safezoneX+0.245; + text="Rel"; + }; + class TEXT_CURRENT: TEXT_ABSOLUTE { + idc=4005; + x=0.550*safezoneW+safezoneX+0.32; + text="Cur"; + }; + class TEXT_ELEVATION_OUTPUT_ABSOLUTE: ATragMX_RscText { + idc=400; + style=160; + sizeEx=0.025; + w=0.065; + h=0.032; + x=0.550*safezoneW+safezoneX+0.17; + y=0.265*safezoneH+safezoneY+0.50; + text=""; + }; + class TEXT_ELEVATION_OUTPUT_RELATIVE: TEXT_ELEVATION_OUTPUT_ABSOLUTE { + idc=401; + x=0.550*safezoneW+safezoneX+0.2465; + }; + class TEXT_ELEVATION_INPUT_CURRENT: TEXT_ELEVATION_OUTPUT_ABSOLUTE { + idc=402; + x=0.550*safezoneW+safezoneX+0.323; + }; + class TEXT_WINDAGE: TEXT_ELEVATION { + idc=41; + y=0.265*safezoneH+safezoneY+0.535; + text="Wind"; + }; + class TEXT_WINDAGE_OUTPUT_ABSOLUTE: TEXT_ELEVATION_OUTPUT_ABSOLUTE { + idc=410; + y=0.265*safezoneH+safezoneY+0.535; + }; + class TEXT_WINDAGE_OUTPUT_RELATIVE: TEXT_WINDAGE_OUTPUT_ABSOLUTE { + idc=411; + x=0.550*safezoneW+safezoneX+0.2465; + }; + class TEXT_WINDAGE_INPUT_CURRENT: TEXT_WINDAGE_OUTPUT_ABSOLUTE { + idc=412; + x=0.550*safezoneW+safezoneX+0.323; + }; + class TEXT_LEAD: TEXT_GUN { + idc=42; + w=0.05; + x=0.550*safezoneW+safezoneX+0.115; + y=0.265*safezoneH+safezoneY+0.57; + text="Lead"; + action=QUOTE(GVAR(showWind2) = !GVAR(showWind2); call FUNC(update_result); call FUNC(update_target)); + }; + class TEXT_LEAD_OUTPUT: TEXT_ELEVATION_OUTPUT_ABSOLUTE { + idc=420; + y=0.265*safezoneH+safezoneY+0.57; + }; + class TEXT_RESET_SCOPE_ZERO: TEXT_GUN { + idc=4006; + w=0.07; + style=ST_CENTER; + colorBackground[]={0,0,0,0}; + x=0.550*safezoneW+safezoneX+0.2465; + y=0.265*safezoneH+safezoneY+0.57; + text="Reset"; + action=QUOTE(call FUNC(reset_relative_click_memory)); + }; + class TEXT_UPDATE_SCOPE_ZERO: TEXT_RESET_SCOPE_ZERO { + idc=4007; + x=0.550*safezoneW+safezoneX+0.323; + text="Update"; + action=QUOTE(call FUNC(update_relative_click_memory)); + }; + class TEXT_GUN_LIST: TEXT_GUN { + idc=4008; + style=ST_LEFT; + y=0.265*safezoneH+safezoneY+0.65; + text="GunList"; + action=QUOTE(call FUNC(toggle_gun_list)); + }; + class TEXT_SCOPE_UNIT: TEXT_GUN_LIST { + idc=2000; + style=ST_CENTER; + w=0.06; + x=0.550*safezoneW+safezoneX+0.205; + colorBackground[]={0,0,0,0}; + text="TMOA"; + action=QUOTE(call FUNC(cycle_scope_unit)); + }; + class TEXT_SCOPE_CLICK_NUMBER: TEXT_GUN_LIST { + idc=2001; + style=ST_CENTER; + w=0.03; + x=0.550*safezoneW+safezoneX+0.27; + text="4"; + action=QUOTE(call FUNC(toggle_solution_setup)); + }; + class TEXT_CALCULATE: TEXT_SCOPE_UNIT { + idc=3000; + style=ST_RIGHT; + x=0.550*safezoneW+safezoneX+0.3; + text="Calc"; + action=QUOTE(call FUNC(calculate_target_solution)); + }; + + class TEXT_RANGE_CARD_SCOPE_UNIT: TEXT_GUN_PROFILE { + idc=5000; + text=""; + }; + class TEXT_RANGE_CARD_SETUP: ATragMX_RscButton { + idc=5001; + w=0.055675; + x=0.550*safezoneW+safezoneX+0.28; + y=0.265*safezoneH+safezoneY+0.20; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + text="Setup"; + action=QUOTE(call FUNC(toggle_range_card_setup)); + }; + class TEXT_RANGE_CARD_DONE: TEXT_RANGE_CARD_SETUP { + idc=5002; + x=0.550*safezoneW+safezoneX+0.3362; + text="Done"; + action=QUOTE(call FUNC(toggle_range_card)); + }; + class TEXT_RANGE_CARD_COLUMN_1_CAPTION: ATragMX_RscButton { + idc=5003; + style=ST_LEFT; + w=0.07; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.24; + colorBackground[]={0.15,0.21,0.23,0.3}; + text="Meters"; + }; + class TEXT_RANGE_CARD_COLUMN_2_CAPTION: TEXT_RANGE_CARD_COLUMN_1_CAPTION { + idc=5004; + x=0.550*safezoneW+safezoneX+0.180625; + text="Elev"; + }; + class TEXT_RANGE_CARD_COLUMN_3_CAPTION: TEXT_RANGE_CARD_COLUMN_1_CAPTION { + idc=5005; + x=0.550*safezoneW+safezoneX+0.25125; + text="Wind"; + }; + class TEXT_RANGE_CARD_COLUMN_4_CAPTION: TEXT_RANGE_CARD_COLUMN_1_CAPTION { + idc=5006; + x=0.550*safezoneW+safezoneX+0.321875; + text="TmFlt"; + action=QUOTE(call FUNC(cycle_range_card_columns)); + }; + class TEXT_RANGE_CARD_OUTPUT: ATragMX_RscListNBox { + idc=5007; + idcLeft=50061; + idcRight=50062; + w=0.285; + h=0.42; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.27; + }; + + class TEXT_GUN_LIST_OUTPUT: ATragMX_RscListBox { + idc=6000; + w=0.16; + h=0.45; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.24; + sizeEx=0.025; + colorSelectBackground[]={0.15,0.21,0.23,0.3}; + colorSelectBackground2[]={0.15,0.21,0.23,0.3}; + onMouseButtonDblClick=QUOTE(true call FUNC(toggle_gun_list)); + }; + class TEXT_GUN_LIST_COLUMN_CAPTION: TEXT_GUN_PROFILE { + idc=6001; + w=0.16; + colorBackground[]={0.15,0.21,0.23,0.3}; + text="AtragGun.gun"; + }; + class TEXT_GUN_LIST_OPEN_GUN: ATragMX_RscButton { + idc=6002; + style=ST_RIGHT; + w=0.115; + x=0.550*safezoneW+safezoneX+0.28; + y=0.265*safezoneH+safezoneY+0.20; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + sizeEx=0.024; + text="Open Gun"; + action=QUOTE(true call FUNC(toggle_gun_list)); + }; + class TEXT_GUN_LIST_SAVE_GUN: TEXT_GUN_LIST_OPEN_GUN { + idc=6003; + y=0.265*safezoneH+safezoneY+0.24; + text="Save Gun"; + action=QUOTE(call FUNC(save_gun)); + }; + class TEXT_GUN_LIST_ADD_NEW_GUN: TEXT_GUN_LIST_OPEN_GUN { + idc=6004; + y=0.265*safezoneH+safezoneY+0.28; + text="Add New Gun"; + action=QUOTE(false call FUNC(show_gun_list); true call FUNC(show_add_new_gun)); + }; + class TEXT_GUN_LIST_DELETE_GUN: TEXT_GUN_LIST_OPEN_GUN { + idc=6005; + y=0.265*safezoneH+safezoneY+0.34; + text="Delete Gun"; + action=QUOTE(call FUNC(delete_gun)); + }; + class TEXT_GUN_LIST_NOTE: TEXT_GUN_LIST_OPEN_GUN { + idc=6006; + y=0.265*safezoneH+safezoneY+0.40; + text="Note"; + }; + class TEXT_GUN_LIST_DONE: TEXT_GUN_LIST_OPEN_GUN { + idc=6007; + y=0.265*safezoneH+safezoneY+0.65; + text="Done"; + action=QUOTE(false call FUNC(toggle_gun_list)); + }; + + class TEXT_TARGET_RANGE_ASSIST_CAPTION: ATragMX_RscText { + idc=7000; + style=16+0x200; + lineSpacing=1.0; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.24; + w=0.29; + h=0.10; + sizeEx=0.022; + text="When using WIDTH to size a target, UP/Down Angle does not effect range calculation but will effect bullet drop."; + }; + class TEXT_TARGET_RANGE_ASSIST_MEASUREMENT_METHOD: TEXT_TARGET_RANGE_ASSIST_CAPTION { + idc=7001; + style=ST_LEFT; + x=0.550*safezoneW+safezoneX+0.115; + y=0.265*safezoneH+safezoneY+0.35; + w=0.12; + h=0.03; + sizeEx=0.027; + text="Using Target:"; + }; + class TEXT_TARGET_RANGE_ASSIST_WIDTH_HEIGHT: ATragMX_RscToolbox { + idc=7002; + w=0.14; + x=0.550*safezoneW+safezoneX+0.24; + y=0.265*safezoneH+safezoneY+0.35; + strings[]={"Height","Width"}; + values[]={1,0}; + onToolBoxSelChanged=QUOTE(GVAR(rangeAssistUseTargetHeight) = ((_this select 1) == 0)); + }; + class TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE: TEXT_TARGET_RANGE_ASSIST_MEASUREMENT_METHOD { + idc=7003; + style=ST_RIGHT; + x=0.550*safezoneW+safezoneX+0.10; + y=0.265*safezoneH+safezoneY+0.4; + text="Target Size"; + }; + class TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE { + idc=7004; + y=0.265*safezoneH+safezoneY+0.45; + text="Image Size"; + }; + class TEXT_TARGET_RANGE_ASSIST_ANGLE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE { + idc=7005; + y=0.265*safezoneH+safezoneY+0.5; + text="Angle"; + }; + class TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE { + idc=7006; + y=0.265*safezoneH+safezoneY+0.55; + text="Est Range"; + }; + class TEXT_TARGET_RANGE_ASSIST_CALC_1: TEXT_MUZZLE_VELOCITY { + idc=7007; + w=0.0231; + x=0.550*safezoneW+safezoneX+0.22; + y=0.265*safezoneH+safezoneY+0.4; + sizeEx=0.03; + text="!"; + action=QUOTE(0 call FUNC(calculate_target_range_assist)); + }; + class TEXT_TARGET_RANGE_ASSIST_CALC_2: TEXT_TARGET_RANGE_ASSIST_CALC_1 { + idc=7008; + y=0.265*safezoneH+safezoneY+0.45; + action=QUOTE(1 call FUNC(calculate_target_range_assist)); + }; + class TEXT_TARGET_RANGE_ASSIST_CALC_3: TEXT_TARGET_RANGE_ASSIST_CALC_1 { + idc=7009; + y=0.265*safezoneH+safezoneY+0.55; + action=QUOTE(2 call FUNC(calculate_target_range_assist)); + }; + class TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT: ATragMX_RscEdit { + idc=7010; + w=0.065; + x=0.550*safezoneW+safezoneX+0.2475; + y=0.265*safezoneH+safezoneY+0.4; + }; + class TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT { + idc=7011; + y=0.265*safezoneH+safezoneY+0.45; + }; + class TEXT_TARGET_RANGE_ASSIST_ANGLE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT { + idc=7012; + y=0.265*safezoneH+safezoneY+0.5; + }; + class TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT { + idc=7013; + y=0.265*safezoneH+safezoneY+0.55; + }; + class TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_UNIT: TEXT_TARGET_RANGE_ASSIST_CALC_1 { + idc=7014; + w=0.07; + x=0.550*safezoneW+safezoneX+0.32; + text="cm"; + action=QUOTE(call FUNC(cycle_target_size_units)); + }; + class TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_UNIT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_UNIT { + idc=7015; + y=0.265*safezoneH+safezoneY+0.45; + text="MIL"; + action=QUOTE(call FUNC(cycle_image_size_units)); + }; + class TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_UNIT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE { + idc=7016; + style=ST_LEFT; + w=0.07; + x=0.550*safezoneW+safezoneX+0.32; + text="Meters"; + }; + class TEXT_TARGET_RANGE_ASSIST_DONE: ATragMX_RscButton { + idc=7017; + style=ST_CENTER; + w=0.07; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.60; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + text="Done"; + action=QUOTE(1 call FUNC(toggle_target_range_assist)); + }; + class TEXT_TARGET_RANGE_ASSIST_CANCEL: TEXT_TARGET_RANGE_ASSIST_DONE { + idc=7018; + x=0.550*safezoneW+safezoneX+0.180625; + text="Cancel"; + action=QUOTE(0 call FUNC(toggle_target_range_assist)); + }; + class TEXT_TARGET_RANGE_ASSIST_PREV: TEXT_TARGET_RANGE_ASSIST_DONE { + idc=7019; + x=0.550*safezoneW+safezoneX+0.25125; + text="Prev"; + action=""; + }; + class TEXT_TARGET_RANGE_ASSIST_NEXT: TEXT_TARGET_RANGE_ASSIST_DONE { + idc=7020; + x=0.550*safezoneW+safezoneX+0.321875; + text="Next"; + action=""; + }; + + class TEXT_TARGET_SPEED_ASSIST_TARGET_RANGE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE { + idc=8000; + x=0.550*safezoneW+safezoneX+0.13; + text="Target Range"; + }; + class TEXT_TARGET_SPEED_ASSIST_NUM_TICKS: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE { + idc=8001; + x=0.550*safezoneW+safezoneX+0.13; + text="Num Ticks"; + }; + class TEXT_TARGET_SPEED_ASSIST_TIME: TEXT_TARGET_RANGE_ASSIST_ANGLE { + idc=8002; + x=0.550*safezoneW+safezoneX+0.13; + text="Time (secs)"; + }; + class TEXT_TARGET_SPEED_ASSIST_TARGET_ESTIMATED_SPEED: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE { + idc=8003; + x=0.550*safezoneW+safezoneX+0.13; + text="Est Speed"; + }; + class TEXT_TARGET_SPEED_ASSIST_TARGET_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT { + idc=8004; + onKeyUp=QUOTE(if (_this select 1 == 28) then {call FUNC(calculate_target_speed_assist)}); + }; + class TEXT_TARGET_SPEED_ASSIST_NUM_TICKS_INPUT: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_INPUT { + idc=8005; + onKeyUp=QUOTE(if (_this select 1 == 28) then {call FUNC(calculate_target_speed_assist)}); + }; + class TEXT_TARGET_SPEED_ASSIST_TIME_INPUT: TEXT_TARGET_RANGE_ASSIST_ANGLE_INPUT { + idc=8006; + onKeyUp=QUOTE(if (_this select 1 == 28) then {call FUNC(calculate_target_speed_assist)}); + }; + class TEXT_TARGET_SPEED_ASSIST_TARGET_ESTIMATED_SPEED_OUTPUT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE { + idc=8007; + w=0.065; + x=0.550*safezoneW+safezoneX+0.2475; + y=0.265*safezoneH+safezoneY+0.55; + colorBackground[]={0.15,0.21,0.23,0.3}; + text="0"; + }; + class TEXT_TARGET_SPEED_ASSIST_TARGET_RANGE_UNIT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_UNIT { + idc=8008; + y=0.265*safezoneH+safezoneY+0.4; + text="Meters"; + }; + class TEXT_TARGET_SPEED_ASSIST_NUM_TICKS_UNIT: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_UNIT { + idc=8009; + text="MIL"; + action=QUOTE(call FUNC(cycle_num_ticks_units)); + }; + class TEXT_TARGET_SPEED_ASSIST_TIMER_START: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_UNIT { + idc=8010; + y=0.265*safezoneH+safezoneY+0.5; + text="Start"; + action=QUOTE(call FUNC(target_speed_assist_timer)); + }; + class TEXT_TARGET_SPEED_ASSIST_TARGET_ESTIMATED_SPEED_UNIT: TEXT_TARGET_RANGE_ASSIST_ESTIMATED_RANGE_UNIT { + idc=8011; + text="m/s"; + }; + class TEXT_TARGET_SPEED_ASSIST_DONE: TEXT_TARGET_RANGE_ASSIST_DONE { + idc=8012; + action=QUOTE(1 call FUNC(toggle_target_speed_assist)); + }; + class TEXT_TARGET_SPEED_ASSIST_CANCEL: TEXT_TARGET_RANGE_ASSIST_CANCEL { + idc=8013; + action=QUOTE(0 call FUNC(toggle_target_speed_assist)); + }; + class TEXT_TARGET_SPEED_ASSIST_PREV: TEXT_TARGET_RANGE_ASSIST_PREV { + idc=8014; + }; + class TEXT_TARGET_SPEED_ASSIST_NEXT: TEXT_TARGET_RANGE_ASSIST_NEXT { + idc=8015; + }; + + class TEXT_TARGET_SPEED_ASSIST_TIMER_STOP_BACKGROUND: ATragMX_RscButton { + idc=9000; + w=0.285; + h=0.49; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.2; + colorBackground[]={0,0,0,0}; + colorBackgroundActive[]={0,0,0,0}; + action=QUOTE(GVAR(speedAssistTimer)=false); + }; + class TEXT_TARGET_SPEED_ASSIST_TIME_OUTPUT: ATragMX_RscText { + idc=9001; + x=0.550*safezoneW+safezoneX+0.22; + y=0.265*safezoneH+safezoneY+0.51; + w=0.08; + h=0.09; + style=ST_CENTER; + sizeEx=0.05; + text="0.0"; + }; + class TEXT_TARGET_SPEED_ASSIST_TIMER_STOP: ATragMX_RscButton { + idc=9002; + style=ST_CENTER; + w=0.07; + h=0.04; + x=0.550*safezoneW+safezoneX+0.225; + y=0.265*safezoneH+safezoneY+0.60; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + text="Stop"; + action=QUOTE(GVAR(speedAssistTimer)=false); + }; + + class TEXT_RANGE_CARD_SETUP_START_RANGE: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE { + idc=10000; + x=0.550*safezoneW+safezoneX+0.12; + text="Start Range"; + }; + class TEXT_RANGE_CARD_SETUP_END_RANGE: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE { + idc=10001; + x=0.550*safezoneW+safezoneX+0.12; + text="End Range"; + }; + class TEXT_RANGE_CARD_SETUP_INCREMENT: TEXT_TARGET_RANGE_ASSIST_ANGLE { + idc=10002; + x=0.550*safezoneW+safezoneX+0.12; + text="Increment"; + }; + class TEXT_RANGE_CARD_SETUP_START_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_TARGET_SIZE_INPUT { + idc=10003; + onKeyUp=QUOTE(if (_this select 1 == 28) then {1 call FUNC(toggle_range_card_setup)}); + }; + class TEXT_RANGE_CARD_SETUP_END_RANGE_INPUT: TEXT_TARGET_RANGE_ASSIST_IMAGE_SIZE_INPUT { + idc=10004; + onKeyUp=QUOTE(if (_this select 1 == 28) then {1 call FUNC(toggle_range_card_setup)}); + }; + class TEXT_RANGE_CARD_SETUP_INCREMENT_INPUT: TEXT_TARGET_RANGE_ASSIST_ANGLE_INPUT { + idc=10005; + onKeyUp=QUOTE(if (_this select 1 == 28) then {1 call FUNC(toggle_range_card_setup)}); + }; + class TEXT_RANGE_CARD_SETUP_DONE: TEXT_TARGET_SPEED_ASSIST_DONE { + idc=10006; + action=QUOTE(1 call FUNC(toggle_range_card_setup)); + }; + class TEXT_RANGE_CARD_SETUP_CANCEL: TEXT_TARGET_SPEED_ASSIST_CANCEL { + idc=10007; + action=QUOTE(0 call FUNC(toggle_range_card_setup)); + }; + class TEXT_RANGE_CARD_SETUP_PREV: TEXT_TARGET_SPEED_ASSIST_PREV { + idc=10008; + }; + class TEXT_RANGE_CARD_SETUP_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT { + idc=10009; + }; + + class TEXT_ADD_NEW_GUN_CAPTION: ATragMX_RscText { + idc=11000; + style=ST_LEFT; + w=0.25; + h=0.04; + x=0.550*safezoneW+safezoneX+0.12; + y=0.265*safezoneH+safezoneY+0.24; + sizeEx=0.025; + text="New Gun Name"; + }; + class TEXT_ADD_NEW_GUN_GUN_NAME_INPUT: ATragMX_RscEdit { + idc=11001; + style=ST_LEFT; + w=0.225; + h=0.04; + x=0.550*safezoneW+safezoneX+0.12; + y=0.265*safezoneH+safezoneY+0.28; + text=""; + }; + class TEXT_ADD_NEW_GUN_OK: ATragMX_RscButton { + idc=11002; + style=ST_CENTER; + w=0.1; + h=0.04; + x=0.550*safezoneW+safezoneX+0.12; + y=0.265*safezoneH+safezoneY+0.33; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + text="OK"; + action=QUOTE(call FUNC(add_new_gun); false call FUNC(show_add_new_gun); true call FUNC(show_gun_list)); + }; + class TEXT_ADD_NEW_GUN_CANCEL: TEXT_ADD_NEW_GUN_OK { + idc=11003; + x=0.550*safezoneW+safezoneX+0.245; + text="Cancel"; + action=QUOTE(false call FUNC(show_add_new_gun); true call FUNC(show_gun_list)); + }; + + class TEXT_GUN_AMMO_DATA_BORE_HEIGHT: TEXT_BORE_HEIGHT { + idc=12000; + w=0.22; + y=0.265*safezoneH+safezoneY+0.28; + text="Bore (cm)"; + }; + class TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT: ATragMX_RscEdit { + idc=120000; + w=0.06; + x=0.550*safezoneW+safezoneX+0.335; + y=0.265*safezoneH+safezoneY+0.28; + }; + class TEXT_GUN_AMMO_DATA_BULLET_MASS: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=12001; + y=0.265*safezoneH+safezoneY+0.320; + text="Bullet Weight (grams)"; + }; + class TEXT_GUN_AMMO_DATA_BULLET_MASS_INPUT: TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT { + idc=120010; + y=0.265*safezoneH+safezoneY+0.320; + }; + class TEXT_GUN_AMMO_DATA_BULLET_DIAMETER: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=12002; + y=0.265*safezoneH+safezoneY+0.360; + text="Bullet Diam (cm)"; + }; + class TEXT_GUN_AMMO_DATA_BULLET_DIAMETER_INPUT: TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT { + idc=120020; + y=0.265*safezoneH+safezoneY+0.360; + }; + class TEXT_GUN_AMMO_DATA_AIR_FRICTION: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=12003; + y=0.265*safezoneH+safezoneY+0.400; + text="C1 Coefficient"; + }; + class TEXT_GUN_AMMO_DATA_AIR_FRICTION_INPUT: TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT { + idc=120030; + y=0.265*safezoneH+safezoneY+0.400; + }; + class TEXT_GUN_AMMO_DATA_RIFLE_TWIST: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=12004; + y=0.265*safezoneH+safezoneY+0.440; + text="Rifle Twist (cm/trn)"; + }; + class TEXT_GUN_AMMO_DATA_RIFLE_TWIST_INPUT: TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT { + idc=120040; + y=0.265*safezoneH+safezoneY+0.440; + }; + class TEXT_GUN_AMMO_DATA_MUZZLE_VELOCITY: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=12005; + y=0.265*safezoneH+safezoneY+0.480; + text="Muzzle Velocity (m/s)"; + }; + class TEXT_GUN_AMMO_DATA_MUZZLE_VELOCITY_INPUT: TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT { + idc=120050; + y=0.265*safezoneH+safezoneY+0.480; + }; + class TEXT_GUN_AMMO_DATA_ZERO_RANGE: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=12006; + y=0.265*safezoneH+safezoneY+0.520; + text="Zero Range (meters)"; + }; + class TEXT_GUN_AMMO_DATA_ZERO_RANGE_INPUT: TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT { + idc=120060; + y=0.265*safezoneH+safezoneY+0.520; + }; + class TEXT_GUN_AMMO_DATA_ZERO_RANGE_METER_INDICATOR: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=120061; + w=0.05; + x=0.550*safezoneW+safezoneX+0.315; + y=0.265*safezoneH+safezoneY+0.520; + text=""; + }; + class TEXT_GUN_AMMO_DATA_DONE: TEXT_TARGET_SPEED_ASSIST_DONE { + idc=12008; + action=QUOTE(1 call FUNC(toggle_gun_ammo_data)); + }; + class TEXT_GUN_AMMO_DATA_CANCEL: TEXT_TARGET_SPEED_ASSIST_CANCEL { + idc=12009; + action=QUOTE(0 call FUNC(toggle_gun_ammo_data)); + }; + class TEXT_GUN_AMMO_DATA_PREV: TEXT_TARGET_SPEED_ASSIST_PREV { + idc=12010; + }; + class TEXT_GUN_AMMO_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT { + idc=12011; + }; + + class TEXT_ATMO_ENV_DATA_DEFAULT: TEXT_LEAD { + idc=13000; + w=0.08; + x=0.550*safezoneW+safezoneX+0.15; + y=0.265*safezoneH+safezoneY+0.320; + text="Default"; + action=QUOTE(call FUNC(restore_atmo_default)); + }; + class TEXT_ATMO_ENV_DATA_AT: TEXT_TARGET_A { + idc=13001; + w=0.04; + x=0.550*safezoneW+safezoneX+0.24; + y=0.265*safezoneH+safezoneY+0.320; + text="AT"; + action=QUOTE(GVAR(atmosphereModeTBH) = false; call FUNC(update_atmo_selection)); + }; + class TEXT_ATMO_ENV_DATA_TBH: TEXT_ATMO_ENV_DATA_AT { + idc=13002; + x=0.550*safezoneW+safezoneX+0.28; + text="TBH"; + action=QUOTE(GVAR(atmosphereModeTBH) = true; call FUNC(update_atmo_selection)); + }; + class TEXT_ATMO_ENV_DATA_ALTITUDE: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=13003; + x=0.550*safezoneW+safezoneX+0.115; + y=0.265*safezoneH+safezoneY+0.400; + text="Altitude (ft)"; + }; + class TEXT_ATMO_ENV_DATA_ALTITUDE_INPUT: TEXT_GUN_AMMO_DATA_BORE_HEIGHT_INPUT { + idc=130030; + x=0.550*safezoneW+safezoneX+0.330; + y=0.265*safezoneH+safezoneY+0.400; + }; + class TEXT_ATMO_ENV_DATA_TEMPERATURE: TEXT_ATMO_ENV_DATA_ALTITUDE { + idc=13004; + y=0.265*safezoneH+safezoneY+0.440; + text="temperature (F)"; + }; + class TEXT_ATMO_ENV_DATA_TEMPERATURE_INPUT: TEXT_ATMO_ENV_DATA_ALTITUDE_INPUT { + idc=130040; + y=0.265*safezoneH+safezoneY+0.440; + }; + class TEXT_ATMO_ENV_DATA_BAROMETRIC_PRESSURE: TEXT_ATMO_ENV_DATA_ALTITUDE { + idc=13005; + y=0.265*safezoneH+safezoneY+0.480; + text="Barom Pres (in.merc.)"; + }; + class TEXT_ATMO_ENV_DATA_BAROMETRIC_PRESSURE_INPUT: TEXT_ATMO_ENV_DATA_ALTITUDE_INPUT { + idc=130050; + y=0.265*safezoneH+safezoneY+0.480; + }; + class TEXT_ATMO_ENV_DATA_RELATIVE_HUMIDITY: TEXT_ATMO_ENV_DATA_ALTITUDE { + idc=13006; + y=0.265*safezoneH+safezoneY+0.520; + text="Relative Humidity (%)"; + }; + class TEXT_ATMO_ENV_DATA_RELATIVE_HUMIDITY_INPUT: TEXT_ATMO_ENV_DATA_ALTITUDE_INPUT { + idc=130060; + y=0.265*safezoneH+safezoneY+0.520; + }; + class TEXT_ATMO_ENV_DATA_DONE: TEXT_TARGET_SPEED_ASSIST_DONE { + idc=13007; + action=QUOTE(1 call FUNC(toggle_atmo_env_data)); + }; + class TEXT_ATMO_ENV_DATA_CANCEL: TEXT_TARGET_SPEED_ASSIST_CANCEL { + idc=13008; + action=QUOTE(0 call FUNC(toggle_atmo_env_data)); + }; + class TEXT_ATMO_ENV_DATA_PREV: TEXT_TARGET_SPEED_ASSIST_PREV { + idc=13009; + }; + class TEXT_ATMO_ENV_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT { + idc=13010; + }; + class TEXT_ATMO_ENV_DATA_CALC_METHOD: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=13011; + style=64; + w=0.14; + h=0.07; + x=0.550*safezoneW+safezoneX+0.235; + y=0.265*safezoneH+safezoneY+0.29; + text="Calc Method"; + }; + + class TEXT_TARGET_DATA_LATITUDE: TEXT_BORE_HEIGHT { + idc=14000; + w=0.22; + y=0.265*safezoneH+safezoneY+0.28; + text="Latitude"; + }; + class TEXT_TARGET_DATA_LATITUDE_INPUT: ATragMX_RscEdit { + idc=140000; + w=0.06; + x=0.550*safezoneW+safezoneX+0.335; + y=0.265*safezoneH+safezoneY+0.28; + }; + class TEXT_TARGET_DATA_DIR_OF_FIRE: TEXT_TARGET_DATA_LATITUDE { + idc=14001; + y=0.265*safezoneH+safezoneY+0.320; + text="Dir of Fire (deg from N)"; + }; + class TEXT_TARGET_DATA_DIR_OF_FIRE_INPUT: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140010; + y=0.265*safezoneH+safezoneY+0.320; + }; + class TEXT_TARGET_DATA_WIND_SPEED: TEXT_TARGET_DATA_LATITUDE { + idc=14002; + w=1.2; + y=0.265*safezoneH+safezoneY+0.360; + text="Wind Speed (m/s)"; + }; + class TEXT_TARGET_DATA_WIND_SPEED_1: TEXT_TARGET_DATA_LATITUDE { + idc=141020; + colorText[]={0,0,0,0.6}; + w=0.05; + h=0.03; + sizeEx=0.025; + x=0.550*safezoneW+safezoneX+0.270; + y=0.265*safezoneH+safezoneY+0.357; + text="1"; + }; + class TEXT_TARGET_DATA_WIND_SPEED_INPUT_1: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140020; + w=0.045; + x=0.550*safezoneW+safezoneX+0.290; + y=0.265*safezoneH+safezoneY+0.360; + }; + class TEXT_TARGET_DATA_WIND_SPEED_2: TEXT_TARGET_DATA_WIND_SPEED_1 { + idc=141021; + x=0.550*safezoneW+safezoneX+0.330; + text="2"; + }; + class TEXT_TARGET_DATA_WIND_SPEED_INPUT_2: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140021; + w=0.045; + x=0.550*safezoneW+safezoneX+0.350; + y=0.265*safezoneH+safezoneY+0.360; + }; + class TEXT_TARGET_DATA_WIND_DIRECTION: TEXT_TARGET_DATA_LATITUDE { + idc=14003; + y=0.265*safezoneH+safezoneY+0.400; + text="Wind Direction (clock)"; + }; + class TEXT_TARGET_DATA_WIND_DIRECTION_INPUT: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140030; + y=0.265*safezoneH+safezoneY+0.400; + }; + class TEXT_TARGET_DATA_INCLINATION_ANGLE: TEXT_TARGET_DATA_LATITUDE { + idc=14004; + w=1.2; + y=0.265*safezoneH+safezoneY+0.440; + text="Inclination Angle"; + }; + class TEXT_TARGET_DATA_INCLINATION_ANGLE_COSINE: TEXT_TARGET_DATA_LATITUDE { + idc=141041; + colorText[]={0,0,0,0.6}; + w=0.05; + h=0.03; + sizeEx=0.025; + x=0.550*safezoneW+safezoneX+0.270; + y=0.265*safezoneH+safezoneY+0.437; + text="c"; + }; + class TEXT_TARGET_DATA_INCLINATION_ANGLE_INPUT_COSINE: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140041; + w=0.045; + x=0.550*safezoneW+safezoneX+0.290; + y=0.265*safezoneH+safezoneY+0.440; + onKeyUp=QUOTE(if (_this select 1 == 28) then {0 call FUNC(update_inclination_angle)}); + }; + class TEXT_TARGET_DATA_INCLINATION_ANGLE_DEGREE: TEXT_TARGET_DATA_INCLINATION_ANGLE_COSINE { + idc=141040; + x=0.550*safezoneW+safezoneX+0.330; + text="d"; + }; + class TEXT_TARGET_DATA_INCLINATION_ANGLE_INPUT_DEGREE: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140040; + w=0.045; + x=0.550*safezoneW+safezoneX+0.350; + y=0.265*safezoneH+safezoneY+0.440; + onKeyUp=QUOTE(if (_this select 1 == 28) then {1 call FUNC(update_inclination_angle)}); + }; + class TEXT_TARGET_DATA_TARGET_SPEED: TEXT_TARGET_DATA_LATITUDE { + idc=14005; + y=0.265*safezoneH+safezoneY+0.480; + text="Target Speed (m/s)"; + }; + class TEXT_TARGET_DATA_TARGET_SPEED_INPUT: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140050; + y=0.265*safezoneH+safezoneY+0.480; + }; + class TEXT_TARGET_DATA_TARGET_SPEED_DIRECTION: ATragMX_RscButton { + idc=140051; + colorBackground[]={0.15,0.21,0.23,0.3}; + colorFocused[]={0.15,0.21,0.23,0.2}; + w=0.0231; + x=0.550*safezoneW+safezoneX+0.305; + y=0.265*safezoneH+safezoneY+0.480; + text=">"; + action=QUOTE(call FUNC(cycle_target_speed_direction)); + }; + class TEXT_TARGET_DATA_TARGET_RANGE: TEXT_TARGET_DATA_LATITUDE { + idc=14006; + y=0.265*safezoneH+safezoneY+0.520; + text="Target Range (meters)"; + }; + class TEXT_TARGET_DATA_TARGET_RANGE_INPUT: TEXT_TARGET_DATA_LATITUDE_INPUT { + idc=140060; + y=0.265*safezoneH+safezoneY+0.520; + }; + class TEXT_TARGET_DATA_TARGET_RANGE_METER_INDICATOR: TEXT_TARGET_DATA_LATITUDE { + idc=140061; + w=0.05; + x=0.550*safezoneW+safezoneX+0.315; + y=0.265*safezoneH+safezoneY+0.520; + text=""; + }; + class TEXT_TARGET_DATA_DONE: TEXT_TARGET_SPEED_ASSIST_DONE { + idc=14008; + action=QUOTE(1 call FUNC(toggle_target_data)); + }; + class TEXT_TARGET_DATA_CANCEL: TEXT_TARGET_SPEED_ASSIST_CANCEL { + idc=14009; + action=QUOTE(0 call FUNC(toggle_target_data)); + }; + class TEXT_TARGET_DATA_PREV: TEXT_TARGET_SPEED_ASSIST_PREV { + idc=14010; + }; + class TEXT_TARGET_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT { + idc=14011; + }; + + class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=15000; + style=64; + w=0.25; + h=0.07; + x=0.550*safezoneW+safezoneX+0.13; + y=0.265*safezoneH+safezoneY+0.32; + text="Show result in"; + }; + class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_1: TEXT_TARGET_A { + idc=15001; + w=0.04; + x=0.550*safezoneW+safezoneX+0.14; + y=0.265*safezoneH+safezoneY+0.35; + text="1"; + action=QUOTE(GVAR(currentScopeClickNumberTemp) = 1; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_2: TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_1 { + idc=15002; + x=0.550*safezoneW+safezoneX+0.18; + text="2"; + action=QUOTE(GVAR(currentScopeClickNumberTemp) = 2; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_3: TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_1 { + idc=15003; + x=0.550*safezoneW+safezoneX+0.22; + text="3"; + action=QUOTE(GVAR(currentScopeClickNumberTemp) = 3; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_4: TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_1 { + idc=15004; + x=0.550*safezoneW+safezoneX+0.26; + text="4"; + action=QUOTE(GVAR(currentScopeClickNumberTemp) = 4; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_8: TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_1 { + idc=15005; + x=0.550*safezoneW+safezoneX+0.30; + text="8"; + action=QUOTE(GVAR(currentScopeClickNumberTemp) = 8; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_10: TEXT_SOLUTION_SETUP_SHOW_RESULT_IN_1 { + idc=15006; + x=0.550*safezoneW+safezoneX+0.34; + text="10"; + action=QUOTE(GVAR(currentScopeClickNumberTemp) = 10; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_CLICKS_PER: TEXT_GUN_AMMO_DATA_BORE_HEIGHT { + idc=15007; + style=64; + w=0.25; + h=0.07; + x=0.550*safezoneW+safezoneX+0.13; + y=0.265*safezoneH+safezoneY+0.42; + text="Clicks per"; + }; + class TEXT_SOLUTION_SETUP_CLICKS_PER_TMOA: TEXT_TARGET_A { + idc=15008; + w=0.05; + x=0.550*safezoneW+safezoneX+0.15; + y=0.265*safezoneH+safezoneY+0.45; + text="TMOA"; + action=QUOTE(GVAR(currentScopeClickUnitTemp) = 0; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_CLICKS_PER_SMOA: TEXT_SOLUTION_SETUP_CLICKS_PER_TMOA { + idc=15009; + x=0.550*safezoneW+safezoneX+0.23; + text="SMOA"; + action=QUOTE(GVAR(currentScopeClickUnitTemp) = 1; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_CLICKS_PER_MILS: TEXT_SOLUTION_SETUP_CLICKS_PER_TMOA { + idc=15010; + x=0.550*safezoneW+safezoneX+0.31; + text="MILS"; + action=QUOTE(GVAR(currentScopeClickUnitTemp) = 2; call FUNC(update_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_DONE: TEXT_TARGET_SPEED_ASSIST_DONE { + idc=15011; + x=0.550*safezoneW+safezoneX+0.18; + y=0.265*safezoneH+safezoneY+0.55; + action=QUOTE(1 call FUNC(toggle_solution_setup)); + }; + class TEXT_SOLUTION_SETUP_CANCEL: TEXT_TARGET_SPEED_ASSIST_CANCEL { + idc=15012; + x=0.550*safezoneW+safezoneX+0.26; + y=0.265*safezoneH+safezoneY+0.55; + action=QUOTE(0 call FUNC(toggle_solution_setup)); + }; + }; +}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/data/ATRAG.paa b/addons/atragmx/UI/ATRAG.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/atragmx/data/ATRAG.paa rename to addons/atragmx/UI/ATRAG.paa diff --git a/TO_MERGE/cse/sys_ballistics/atragmx/data/ATRAG_Icon.paa b/addons/atragmx/UI/ATRAG_Icon.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/atragmx/data/ATRAG_Icon.paa rename to addons/atragmx/UI/ATRAG_Icon.paa diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf new file mode 100644 index 0000000000..e2e3cb254c --- /dev/null +++ b/addons/atragmx/XEH_postInit.sqf @@ -0,0 +1,50 @@ +#include "script_component.hpp" + +#include "initKeybinds.sqf" + +if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ATRAGMX_PROFILE_NAMESPACE_VERSION && count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then { + GVAR(gunList) = profileNamespace getVariable "ACE_ATragMX_gunList"; +} else { + // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model + GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0657, -0.0006400, 3.81, 0, 2, 10, 120, 0, 0, 48.28, 12.7, 38.10, 0.630, 1, "ASM" ], + + ["12.7x99mm AMAX" , 860, 100, 0.0612, -0.0003740, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 38.10, 1.050, 1, "ASM" ], + ["12.7x99mm" , 900, 100, 0.0623, -0.0006000, 3.81, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM" ], + + ["12.7x54mm" , 300, 100, 0.3395, -0.0001400, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 24.13, 1.050, 1, "ASM" ], + + [".408 Chey Tac" , 910, 100, 0.0571, -0.0003950, 3.81, 0, 2, 10, 120, 0, 0, 27.15, 10.4, 33.02, 0.970, 1, "ASM" ], + + ["9.3×64mm" , 870, 100, 0.0619, -0.0010600, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 9.30, 35.56, 0.368, 1, "ASM" ], + + [".338LM 250gr" , 880, 100, 0.0598, -0.0006060, 3.81, 0, 2, 10, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"], + [".338LM 300gr" , 800, 100, 0.0677, -0.0005350, 3.81, 0, 2, 10, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"], + [".338LM API526" , 880, 100, 0.0601, -0.0006730, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.290, 7, "ICAO"], + + [".300WM Mk248 Mod 0", 900, 100, 0.0584, -0.0008300, 3.81, 0, 2, 10, 120, 0, 0, 13.31, 7.80, 25.40, 0.268, 7, "ICAO"], + [".300WM Mk248 Mod 1", 867, 100, 0.0611, -0.0008150, 3.81, 0, 2, 10, 120, 0, 0, 14.26, 7.80, 25.40, 0.310, 7, "ICAO"], + [".300WM Berger OTM" , 853, 100, 0.0622, -0.0007600, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 7.80, 25.40, 0.368, 7, "ICAO"], + + ["7.62x54mmR" , 800, 100, 0.0692, -0.0010230, 3.81, 0, 2, 10, 120, 0, 0, 9.849, 7.92, 24.13, 0.400, 1, "ICAO"], + + ["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"], + ["7.62x51mm M118LR" , 820, 100, 0.0662, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], + ["7.62x51mm Mk319" , 820, 100, 0.0670, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], + ["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"], + + ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"], + ["6.5x47mm Lapua" , 800, 100, 0.0682, -0.0007710, 3.81, 0, 2, 10, 120, 0, 0, 9.007, 6.71, 22.86, 0.290, 7, "ICAO"], + ["6.5mm Creedmor" , 840, 100, 0.0637, -0.0006510, 3.81, 0, 2, 10, 120, 0, 0, 9.072, 6.71, 22.86, 0.317, 7, "ICAO"], + + ["5.56x45mm M855" , 870, 100, 0.0626, -0.0012650, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.151, 7, "ASM" ], + ["5.56x45mm Mk262" , 820, 100, 0.0671, -0.0011250, 3.81, 0, 2, 10, 120, 0, 0, 4.990, 5.70, 17.78, 0.361, 1, "ASM" ], + ["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ]]; + + [] call FUNC(clear_user_data); + profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; +}; + +[] call FUNC(init); +[] call FUNC(restore_user_data); + +["RangerfinderData", {_this call FUNC(sord)}] call EFUNC(common,addEventHandler); diff --git a/addons/atragmx/XEH_preInit.sqf b/addons/atragmx/XEH_preInit.sqf new file mode 100644 index 0000000000..6ec288b9c7 --- /dev/null +++ b/addons/atragmx/XEH_preInit.sqf @@ -0,0 +1,72 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(add_new_gun); +PREP(calculate_range_card); +PREP(calculate_scope_base_angle); +PREP(calculate_solution); +PREP(calculate_target_range_assist); +PREP(calculate_target_solution); +PREP(calculate_target_speed_assist); +PREP(can_show); +PREP(change_gun); +PREP(change_target_slot); +PREP(clear_user_data); +PREP(create_dialog); +PREP(cycle_gun_list); +PREP(cycle_image_size_units); +PREP(cycle_num_ticks_units); +PREP(cycle_range_card_columns); +PREP(cycle_scope_unit); +PREP(cycle_target_size_units); +PREP(cycle_target_speed_direction); +PREP(delete_gun); +PREP(init); +PREP(parse_input); +PREP(reset_relative_click_memory); +PREP(restore_atmo_default); +PREP(restore_user_data); +PREP(save_gun); +PREP(show_add_new_gun); +PREP(show_atmo_env_data); +PREP(show_gun_ammo_data); +PREP(show_gun_list); +PREP(show_main_page); +PREP(show_range_card); +PREP(show_range_card_setup); +PREP(show_solution_setup); +PREP(show_target_data); +PREP(show_target_range_assist); +PREP(show_target_speed_assist); +PREP(show_target_speed_assist_timer); +PREP(sord); +PREP(store_user_data); +PREP(target_speed_assist_timer); +PREP(toggle_atmo_env_data); +PREP(toggle_gun_ammo_data); +PREP(toggle_gun_list); +PREP(toggle_range_card); +PREP(toggle_range_card_setup); +PREP(toggle_solution_setup); +PREP(toggle_target_data); +PREP(toggle_target_range_assist); +PREP(toggle_target_speed_assist); +PREP(update_atmosphere); +PREP(update_atmo_env_data); +PREP(update_atmo_selection); +PREP(update_gun); +PREP(update_gun_ammo_data); +PREP(update_inclination_angle); +PREP(update_range_card); +PREP(update_relative_click_memory); +PREP(update_result); +PREP(update_scope_unit); +PREP(update_solution_setup); +PREP(update_target); +PREP(update_target_data); +PREP(update_target_selection); +PREP(update_unit_selection); +PREP(update_zero_range); + +ADDON = true; diff --git a/addons/atragmx/config.cpp b/addons/atragmx/config.cpp new file mode 100644 index 0000000000..3abe32ba34 --- /dev/null +++ b/addons/atragmx/config.cpp @@ -0,0 +1,17 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_Item_ATragMX"}; + weapons[] = {"ACE_ATragMX"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ACE_common", "ACE_weather"}; + author = "Ruthberg"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" +#include "RscTitles.hpp" \ No newline at end of file diff --git a/addons/atragmx/data/tdsrecon.p3d b/addons/atragmx/data/tdsrecon.p3d new file mode 100644 index 0000000000..d82ac22f42 Binary files /dev/null and b/addons/atragmx/data/tdsrecon.p3d differ diff --git a/addons/atragmx/data/tdsrecon.rvmat b/addons/atragmx/data/tdsrecon.rvmat new file mode 100644 index 0000000000..5bd4ef36e5 --- /dev/null +++ b/addons/atragmx/data/tdsrecon.rvmat @@ -0,0 +1,69 @@ +class StageTI { + texture="a3\data_f\default_ti_ca.paa"; +}; +ambient[]={1,1,1,1}; +diffuse[]={1,1,1,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0.05000001,0.05000001,0.05000001,1}; +specularPower=50; +PixelShaderID="Super"; +VertexShaderID="Super"; +class Stage1 { + texture="z\ace\addons\atragmx\data\tdsrecon_nohq.paa"; + uvSource="tex"; + class uvTransform { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,0}; + pos[]={0,0,0}; + }; +}; +class Stage2 { + texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; + uvSource="tex"; + class uvTransform { + aside[]={0,9,0}; + up[]={4.5,0,0}; + dir[]={0,0,0}; + pos[]={0,0,0}; + }; +}; +class Stage3 { + texture="#(argb,8,8,3)color(0,0,0,0)"; + uvSource="tex"; + class uvTransform { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,0}; + pos[]={0,0,0}; + }; +}; +class Stage4 { + texture="#(argb,8,8,3)color(1,1,1,1,AS)"; + uvSource="tex"; + class uvTransform { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,0}; + pos[]={0,0,0}; + }; +}; +class Stage5 { + texture="#(argb,8,8,3)color(1,1,1,1,SMDI)"; + uvSource="tex"; + class uvTransform { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,0}; + pos[]={0,0,0}; + }; +}; +class Stage6 { + texture="#(ai,64,64,1)fresnel(1.5,1.22)"; + uvSource="none"; +}; +class Stage7 { + texture="a3\data_f\env_land_co.paa"; + uvSource="none"; +}; diff --git a/addons/atragmx/data/tdsrecon_co.paa b/addons/atragmx/data/tdsrecon_co.paa new file mode 100644 index 0000000000..0938d580de Binary files /dev/null and b/addons/atragmx/data/tdsrecon_co.paa differ diff --git a/addons/atragmx/data/tdsrecon_nohq.paa b/addons/atragmx/data/tdsrecon_nohq.paa new file mode 100644 index 0000000000..89744d13af Binary files /dev/null and b/addons/atragmx/data/tdsrecon_nohq.paa differ diff --git a/addons/atragmx/functions/fnc_add_new_gun.sqf b/addons/atragmx/functions/fnc_add_new_gun.sqf new file mode 100644 index 0000000000..0a0c034f39 --- /dev/null +++ b/addons/atragmx/functions/fnc_add_new_gun.sqf @@ -0,0 +1,29 @@ +/* + * Author: Ruthberg + * Adds a new (default) gun profile to the profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_add_new_gun + * + * Public: No + */ +#include "script_component.hpp" + +private ["_gunName", "_gunProfileEntry"]; + +_gunName = ctrlText 11001; +if (_gunName != "") then { + _gunProfileEntry = [_gunName, 810, 100, 0.0679, -0.0010350, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.393, 1, "ICAO"], + + GVAR(gunList) = GVAR(gunList) + [_gunProfileEntry]; + + lbAdd [6000, _gunProfileEntry select 0]; + + profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; +}; diff --git a/addons/atragmx/functions/fnc_calculate_range_card.sqf b/addons/atragmx/functions/fnc_calculate_range_card.sqf new file mode 100644 index 0000000000..cfaf7441f8 --- /dev/null +++ b/addons/atragmx/functions/fnc_calculate_range_card.sqf @@ -0,0 +1,80 @@ +/* + * Author: Ruthberg + * Calculates the range card output based on the current data set + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_calculate_range_card + * + * Public: No + */ +#include "script_component.hpp" + +[] call FUNC(parse_input); + +private ["_scopeBaseAngle"]; +_scopeBaseAngle = (GVAR(workingMemory) select 3); + +private ["_bulletMass", "_bulletDiameter", "_boreHeight", "_airFriction", "_barrelTwist", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel", "_twistDirection"]; +_bulletMass = GVAR(workingMemory) select 12; +_bulletDiameter = GVAR(workingMemory) select 13; +_boreHeight = GVAR(workingMemory) select 5; +_airFriction = GVAR(workingMemory) select 4; +_barrelTwist = GVAR(workingMemory) select 14; +_muzzleVelocity = GVAR(workingMemory) select 1; +_bc = GVAR(workingMemory) select 15; +_dragModel = GVAR(workingMemory) select 16; +_atmosphereModel = GVAR(workingMemory) select 17; + +_twistDirection = 0; +if (_barrelTwist > 0) then { + _twistDirection = 1; +} else { + if (_barrelTwist < 0) then { + _twistDirection = -1; + }; +}; +_barrelTwist = abs(_barrelTwist); + +private ["_altitude", "_temperature", "_barometricPressure", "_relativeHumidity"]; +_altitude = GVAR(altitude); +_temperature = GVAR(temperature); +_barometricPressure = GVAR(barometricPressure); +_relativeHumidity = GVAR(relativeHumidity); +if (!GVAR(atmosphereModeTBH)) then { + _barometricPressure = 1013.25 * exp(-(_altitude) / 7990); + _relativeHumidity = 50; +}; + +private ["_bulletLength", "_stabilityFactor"]; +_bulletLength = 1.8; +_stabilityFactor = 1.5; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + if (_bulletDiameter > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { + _stabilityFactor = [_bulletDiameter / 10 / 2.54, _bulletLength, _bulletMass * 15.4323584, _barrelTwist / 2.54, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); + }; +}; + +private ["_latitude", "_directionOfFire", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"]; +_latitude = GVAR(latitude) select GVAR(currentTarget); +_directionOfFire = GVAR(directionOfFire) select GVAR(currentTarget); +_windSpeed1 = (GVAR(windSpeed1) select GVAR(currentTarget)); +_windSpeed2 = (GVAR(windSpeed2) select GVAR(currentTarget)); +_windDirection = (GVAR(windDirection) select GVAR(currentTarget)); +_inclinationAngle = (GVAR(inclinationAngle) select GVAR(currentTarget)); +_targetSpeed = (GVAR(targetSpeed) select GVAR(currentTarget)); +_targetRange = GVAR(rangeCardEndRange); +if (GVAR(currentUnit) == 1) then { + _targetRange = _targetRange / 1.0936133; +}; + +GVAR(rangeCardData) = []; + +private ["_result"]; +_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, + [_windSpeed1, _windSpeed2], _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, true, _stabilityFactor, _twistDirection, _latitude, _directionOfFire] call FUNC(calculate_solution); diff --git a/addons/atragmx/functions/fnc_calculate_scope_base_angle.sqf b/addons/atragmx/functions/fnc_calculate_scope_base_angle.sqf new file mode 100644 index 0000000000..fbd191bb79 --- /dev/null +++ b/addons/atragmx/functions/fnc_calculate_scope_base_angle.sqf @@ -0,0 +1,40 @@ +/* + * Author: Ruthberg + * Calculates a new scope base angle + * + * Arguments: + * 0: Bullet mass + * 1: Bore height + * 2: air friction + * 3: muzzle velocity + * 4: zero range + * + * Return Value: + * scope base angle + * + * Example: + * call ace_atragmx_calculate_scope_base_angle + * + * Public: No + */ +#include "script_component.hpp" + +private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_zeroRange"]; +_bulletMass = _this select 0; +_boreHeight = _this select 1; +_airFriction = _this select 2; +_muzzleVelocity = _this select 3; +_zeroRange = _this select 4; + +private ["_scopeBaseAngle"]; +_scopeBaseAngle = 0; + +private ["_temperature", "_barometricPressure", "_relativeHumidity"]; +_temperature = 15; +_barometricPressure = 1013.25; +_relativeHumidity = 0; + +private ["_result"]; +_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, [0, 0], 0, 0, 0, _zeroRange, _airFriction, 1, "ICAO", false, 1.5, 0, 0, 0] call FUNC(calculate_solution); + +_scopeBaseAngle + (_result select 0) / 60 diff --git a/addons/atragmx/functions/fnc_calculate_solution.sqf b/addons/atragmx/functions/fnc_calculate_solution.sqf new file mode 100644 index 0000000000..2049398a9c --- /dev/null +++ b/addons/atragmx/functions/fnc_calculate_solution.sqf @@ -0,0 +1,231 @@ +/* + * Author: Ruthberg + * Calculates the fireing solution + * + * Arguments: + * 0: Scope base angle + * 1: Bullet mass + * 2: Bore height + * 3: air friction + * 4: muzzle velocity + * 5: temperature + * 6: barometric pressure + * 7: relative humidity + * 8: simulation steps + * 9: wind speed + * 10: wind direction + * 11: inclination angle + * 12: target speed + * 13: target range + * 14: ballistic coefficient + * 15: drag model + * 16: atmosphere model + * 17: Store range card data? + * 18: Stability factor + * 19: Twist Direction + * 20: Latitude + * + * Return Value: + * 0: Elevation (MOA) + * 1: Windage (MOA) + * 2: Lead (MOA) + * 3: Time of fligth (SECONDS) + * 4: Remaining velocity (m/s) + * 5: Remaining kinetic energy (ft·lb) + * 6: Vertical coriolis drift (MOA) + * 7: Horizontal coriolis drift (MOA) + * 8: Spin drift (MOA) + * + * Example: + * call ace_atragmx_calculate_target_range_assist + * + * Public: No + */ +#include "script_component.hpp" + +private ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_drag", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude", "_directionOfFire"]; +_scopeBaseAngle = _this select 0; +_bulletMass = _this select 1; +_boreHeight = _this select 2; +_airFriction = _this select 3; +_muzzleVelocity = _this select 4; +_temperature = _this select 5; +_barometricPressure = _this select 6; +_relativeHumidity = _this select 7; +_simSteps = _this select 8; +_windSpeed1 = (_this select 9) select 0; +_windSpeed2 = (_this select 9) select 1; +_windDirection = _this select 10; +_inclinationAngle = _this select 11; +_targetSpeed = _this select 12; +_targetRange = _this select 13; +_bc = _this select 14; +_dragModel = _this select 15; +_atmosphereModel = _this select 16; +_storeRangeCardData = _this select 17; +_stabilityFactor = _this select 18; +_twistDirection = _this select 19; +_latitude = _this select 20; +_directionOfFire = _this select 21; + +private ["_bulletPos", "_bulletVelocity", "_bulletAccel", "_bulletSpeed", "_gravity", "_deltaT"]; +_bulletPos = [0, 0, 0]; +_bulletVelocity = [0, 0, 0]; +_bulletAccel = [0, 0, 0]; +_bulletSpeed = 0; +_gravity = [0, sin(_scopeBaseAngle + _inclinationAngle) * -9.80665, cos(_scopeBaseAngle + _inclinationAngle) * -9.80665]; +_deltaT = 1 / _simSteps; + +private ["_elevation", "_windage1", "_windage2", "_lead", "_TOF", "_trueVelocity", "_trueSpeed", "_kineticEnergy", "_verticalCoriolis", "_verticalDeflection", "_horizontalCoriolis", "_horizontalDeflection", "_spinDrift", "_spinDeflection"]; +_elevation = 0; +_windage1 = 0; +_windage2 = 0; +_lead = 0; +_TOF = 0; +_trueVelocity = [0, 0, 0]; +_trueSpeed = 0; +_verticalCoriolis = 0; +_verticalDeflection = 0; +_horizontalCoriolis = 0; +_horizontalDeflection = 0; +_spinDrift = 0; +_spinDeflection = 0; + +private ["_n", "_range", "_rangeFactor"]; +_n = 0; +_range = 0; +_rangeFactor = 1; +if (_storeRangeCardData) then { + if (GVAR(currentUnit) == 1) then { + _rangeFactor = 1.0936133; + }; + GVAR(rangeCardData) = []; +}; + +private ["_wind1", "_wind2", "_windDrift"]; +_wind1 = [cos(270 - _windDirection * 30) * _windSpeed1, sin(270 - _windDirection * 30) * _windSpeed1, 0]; +_wind2 = [cos(270 - _windDirection * 30) * _windSpeed2, sin(270 - _windDirection * 30) * _windSpeed2, 0]; +_windDrift = 0; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _bc = [_bc, _temperature, _barometricPressure, _relativeHumidity, _atmosphereModel] call EFUNC(advanced_ballistics,calculateAtmosphericCorrection); +}; + +private ["_speedTotal", "_stepsTotal", "_speedAverage"]; +_speedTotal = 0; +_stepsTotal = 0; +_speedAverage = 0; + +private ["_eoetvoesMultiplier"]; +_eoetvoesMultiplier = 0; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _eoetvoesMultiplier = 2 * (0.0000729 * _muzzleVelocity / -9.80665) * cos(_latitude) * sin(_directionOfFire); +}; + +_TOF = 0; + +_bulletPos set [0, 0]; +_bulletPos set [1, 0]; +_bulletPos set [2, -(_boreHeight / 100)]; + +_bulletVelocity set [0, 0]; +_bulletVelocity set [1, Cos(_scopeBaseAngle) * _muzzleVelocity]; +_bulletVelocity set [2, Sin(_scopeBaseAngle) * _muzzleVelocity]; + +while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do { + _bulletSpeed = vectorMagnitude _bulletVelocity; + + _speedTotal = _speedTotal + _bulletSpeed; + _stepsTotal = _stepsTotal + 1; + _speedAverage = (_speedTotal / _stepsTotal); + + _trueVelocity = _bulletVelocity vectorDiff _wind1; + _trueSpeed = vectorMagnitude _trueVelocity; + + if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then { + parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed])) + } else { + ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation)) + }; + _bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (-1 * _drag); + } else { + _bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction); + }; + + _bulletAccel = _bulletAccel vectorAdd _gravity; + + _bulletVelocity = _bulletVelocity vectorAdd (_bulletAccel vectorMultiply _deltaT); + _bulletPos = _bulletPos vectorAdd (_bulletVelocity vectorMultiply _deltaT); + + _TOF = _TOF + _deltaT; + + if (_storeRangeCardData) then { + _range = GVAR(rangeCardStartRange) + _n * GVAR(rangeCardIncrement); + if ((_bulletPos select 1) * _rangeFactor >= _range && _range <= GVAR(rangeCardEndRange)) then { + if ((_bulletPos select 1) > 0) then { + _elevation = - atan((_bulletPos select 2) / (_bulletPos select 1)); + _windage1 = - atan((_bulletPos select 0) / (_bulletPos select 1)); + _windDrift = (_wind2 select 0) * (_TOF - (_range / _rangeFactor) / _muzzleVelocity); + _windage2 = - atan(_windDrift / (_bulletPos select 1)); + }; + if (_range != 0) then { + _lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _range); + }; + _kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2)); + _kineticEnergy = _kineticEnergy * 0.737562149; + + if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (_bulletPos select 1) > 0) then { + // Coriolis + _horizontalDeflection = 0.0000729 * ((_bulletPos select 1) ^ 2) * sin(_latitude) / _speedAverage; + _horizontalCoriolis = - atan(_horizontalDeflection / (_bulletPos select 1)); + _windage1 = _windage1 + _horizontalCoriolis; + _windage2 = _windage2 + _horizontalCoriolis; + // Eoetvoes + _verticalDeflection = (_bulletPos select 2) * _eoetvoesMultiplier; + _verticalCoriolis = - atan(_verticalDeflection / (_bulletPos select 1)); + _elevation = _elevation + _verticalCoriolis; + // Spin drift + _spinDeflection = _twistDirection * 0.0254 * 1.25 * (_stabilityFactor + 1.2) * _TOF ^ 1.83; + _spinDrift = - atan(_spinDeflection / (_bulletPos select 1)); + _windage1 = _windage1 + _spinDrift; + _windage2 = _windage2 + _spinDrift; + }; + + GVAR(rangeCardData) set [_n, [_range, _elevation * 60, [_windage1 * 60, _windage2 * 60], _lead, _TOF, _bulletSpeed, _kineticEnergy]]; + _n = _n + 1; + }; + }; +}; + +if ((_bulletPos select 1) > 0) then { + _elevation = - atan((_bulletPos select 2) / (_bulletPos select 1)); + _windage1 = - atan((_bulletPos select 0) / (_bulletPos select 1)); + _windDrift = (_wind2 select 0) * (_TOF - _targetRange / _muzzleVelocity); + _windage2 = - atan(_windDrift / (_bulletPos select 1)); +}; + +if (_targetRange != 0) then { + _lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _targetRange); +}; + +_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2)); +_kineticEnergy = _kineticEnergy * 0.737562149; + +if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (_bulletPos select 1) > 0) then { + // Coriolis + _horizontalDeflection = 0.0000729 * ((_bulletPos select 1) ^ 2) * sin(_latitude) / _speedAverage; + _horizontalCoriolis = - atan(_horizontalDeflection / (_bulletPos select 1)); + _windage1 = _windage1 + _horizontalCoriolis; + _windage2 = _windage2 + _horizontalCoriolis; + // Eoetvoes + _verticalDeflection = (_bulletPos select 2) * _eoetvoesMultiplier; + _verticalCoriolis = - atan(_verticalDeflection / (_bulletPos select 1)); + _elevation = _elevation + _verticalCoriolis; + // Spin drift + _spinDeflection = _twistDirection * 0.0254 * 1.25 * (_stabilityFactor + 1.2) * _TOF ^ 1.83; + _spinDrift = - atan(_spinDeflection / (_bulletPos select 1)); + _windage1 = _windage1 + _spinDrift; + _windage2 = _windage2 + _spinDrift; +}; + +[_elevation * 60, [_windage1 * 60, _windage2 * 60], _lead, _TOF, _bulletSpeed, _kineticEnergy, _verticalCoriolis * 60, _horizontalCoriolis * 60, _spinDrift * 60] diff --git a/addons/atragmx/functions/fnc_calculate_target_range_assist.sqf b/addons/atragmx/functions/fnc_calculate_target_range_assist.sqf new file mode 100644 index 0000000000..91eb9ae20c --- /dev/null +++ b/addons/atragmx/functions/fnc_calculate_target_range_assist.sqf @@ -0,0 +1,97 @@ +/* + * Author: Ruthberg + * Calculates the target range and updates the output fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_calculate_target_range_assist + * + * Public: No + */ +#include "script_component.hpp" + +private ["_targetSize", "_imageSize", "_angle", "_estRange"]; + +_angle = parseNumber(ctrlText 7012); +_targetSize = parseNumber(ctrlText 7010); +if (GVAR(rangeAssistUseTargetHeight)) then { + _targetSize = _targetSize * cos(_angle); +}; +switch (GVAR(rangeAssistTargetSizeUnit)) do { + case 0: { + _targetSize = _targetSize * 0.0254; + }; + case 1: { + _targetSize = _targetSize * 0.3048; + }; + case 2: { + _targetSize = _targetSize * 0.01; + }; +}; +_imageSize = parseNumber(ctrlText 7011); +switch (GVAR(rangeAssistImageSizeUnit)) do { + case 0: { + _imageSize = _imageSize / 6400 * 360; + }; + case 1: { + _imageSize = _imageSize / 60; + }; + case 2: { + _imageSize = _imageSize / 60 / 1.047; + }; +}; +_estRange = parseNumber(ctrlText 7013); +if (GVAR(currentUnit) == 1) then { + _estRange = _estRange / 1.0936133; +}; + +switch (_this) do { + case 0: { + _targetSize = tan(_imageSize) * _estRange; + + if (GVAR(rangeAssistUseTargetHeight)) then { + _targetSize = _targetSize / cos(_angle); + }; + + switch (GVAR(rangeAssistTargetSizeUnit)) do { + case 0: { + _targetSize = _targetSize / 0.0254; + }; + case 1: { + _targetSize = _targetSize / 0.3048; + }; + case 2: { + _targetSize = _targetSize / 0.01; + }; + }; + + ctrlSetText [7010, Str(Round(_targetSize * 100) / 100)]; + }; + case 1: { + _imageSize = atan(_targetSize / _estRange); + + switch (GVAR(rangeAssistImageSizeUnit)) do { + case 0: { + _imageSize = _imageSize * 6400 / 360; + }; + case 1: { + _imageSize = _imageSize * 60; + }; + case 2: { + _imageSize = _imageSize * 60 * 1.047; + }; + }; + + ctrlSetText [7011, Str(Round(_imageSize * 100) / 100)]; + }; + case 2: { + _estRange = _targetSize / tan(_imageSize); + + ctrlSetText [7013, Str(Round(_estRange))]; + }; +}; diff --git a/addons/atragmx/functions/fnc_calculate_target_solution.sqf b/addons/atragmx/functions/fnc_calculate_target_solution.sqf new file mode 100644 index 0000000000..677c4bb793 --- /dev/null +++ b/addons/atragmx/functions/fnc_calculate_target_solution.sqf @@ -0,0 +1,84 @@ +/* + * Author: Ruthberg + * Calculates the fireing solution and updates the result input/output fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_calculate_target_solution + * + * Public: No + */ +#include "script_component.hpp" + +[] call FUNC(parse_input); + +private ["_scopeBaseAngle"]; +_scopeBaseAngle = (GVAR(workingMemory) select 3); + +private ["_bulletMass", "_bulletDiameter", "_boreHeight", "_airFriction", "_barrelTwist", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel", "_twistDirection"]; +_bulletMass = GVAR(workingMemory) select 12; +_bulletDiameter = GVAR(workingMemory) select 13; +_boreHeight = GVAR(workingMemory) select 5; +_airFriction = GVAR(workingMemory) select 4; +_barrelTwist = GVAR(workingMemory) select 14; +_muzzleVelocity = GVAR(workingMemory) select 1; +_bc = GVAR(workingMemory) select 15; +_dragModel = GVAR(workingMemory) select 16; +_atmosphereModel = GVAR(workingMemory) select 17; + +_twistDirection = 0; +if (_barrelTwist > 0) then { + _twistDirection = 1; +} else { + if (_barrelTwist < 0) then { + _twistDirection = -1; + }; +}; +_barrelTwist = abs(_barrelTwist); + +private ["_altitude", "_temperature", "_barometricPressure", "_relativeHumidity"]; +_altitude = GVAR(altitude); +_temperature = GVAR(temperature); +_barometricPressure = GVAR(barometricPressure); +_relativeHumidity = GVAR(relativeHumidity); +if (!GVAR(atmosphereModeTBH)) then { + _barometricPressure = 1013.25 * exp(-(_altitude) / 7990); + _relativeHumidity = 50; +}; + +private ["_bulletLength", "_stabilityFactor"]; +_bulletLength = 1.8; +_stabilityFactor = 1.5; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + if (_bulletDiameter > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { + _stabilityFactor = [_bulletDiameter / 10 / 2.54, _bulletLength, _bulletMass * 15.4323584, _barrelTwist / 2.54, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); + }; +}; + +private ["_latitude", "_directionOfFire", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"]; +_latitude = GVAR(latitude) select GVAR(currentTarget); +_directionOfFire = GVAR(directionOfFire) select GVAR(currentTarget); +_windSpeed1 = GVAR(windSpeed1) select GVAR(currentTarget); +_windSpeed2 = GVAR(windSpeed2) select GVAR(currentTarget); +_windDirection = GVAR(windDirection) select GVAR(currentTarget); +_inclinationAngle = GVAR(inclinationAngle) select GVAR(currentTarget); +_targetSpeed = GVAR(targetSpeed) select GVAR(currentTarget); +_targetRange = GVAR(targetRange) select GVAR(currentTarget); + +private ["_result"]; +_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, + [_windSpeed1, _windSpeed2], _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, false, _stabilityFactor, _twistDirection, _latitude, _directionOfFire] call FUNC(calculate_solution); + +GVAR(elevationOutput) set [GVAR(currentTarget), _result select 0]; +GVAR(windage1Output) set [GVAR(currentTarget), (_result select 1) select 0]; +GVAR(windage2Output) set [GVAR(currentTarget), (_result select 1) select 1]; +GVAR(leadOutput) set [GVAR(currentTarget), _result select 2]; +GVAR(tofOutput) set [GVAR(currentTarget), _result select 3]; +GVAR(velocityOutput) set [GVAR(currentTarget), _result select 4]; + +[] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_calculate_target_speed_assist.sqf b/addons/atragmx/functions/fnc_calculate_target_speed_assist.sqf new file mode 100644 index 0000000000..d055af5a71 --- /dev/null +++ b/addons/atragmx/functions/fnc_calculate_target_speed_assist.sqf @@ -0,0 +1,49 @@ +/* + * Author: Ruthberg + * Calculates the target speed and updates the output fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_calculate_target_speed_assist + * + * Public: No + */ +#include "script_component.hpp" + +private ["_targetRange", "_numTicks", "_timeSecs", "_estSpeed"]; + +_targetRange = parseNumber(ctrlText 8004); +_numTicks = parseNumber(ctrlText 8005); +_timeSecs = parseNumber(ctrlText 8006); +_estSpeed = 0; + +if (GVAR(currentUnit) == 1) then { + _targetRange = _targetRange / 1.0936133; +}; + +switch (GVAR(rangeAssistImageSizeUnit)) do { + case 0: { + _numTicks = _numTicks / 6400 * 360; + }; + case 1: { + _numTicks = _numTicks / 60; + }; + case 2: { + _numTicks = _numTicks / 60 / 1.047; + }; +}; + +if (_timeSecs > 0) then { + _estSpeed = tan(_numTicks) * _targetRange / _timeSecs; +}; + +if (GVAR(currentUnit) != 2) then { + _estSpeed = _estSpeed * 2.23693629; +}; + +ctrlSetText [8007, Str(Round(_estSpeed * 10) / 10)]; diff --git a/addons/atragmx/functions/fnc_can_show.sqf b/addons/atragmx/functions/fnc_can_show.sqf new file mode 100644 index 0000000000..7054e85cf9 --- /dev/null +++ b/addons/atragmx/functions/fnc_can_show.sqf @@ -0,0 +1,18 @@ +/* + * Authors: Ruthberg + * Tests if the ATragMX dialog can be shown + * + * Arguments: + * Nothing + * + * Return Value: + * can_show + * + * Example: + * call ace_atragmx_fnc_can_show + * + * Public: No + */ +#include "script_component.hpp" + +(("ACE_ATragMX" in (uniformItems ACE_player)) || ("ACE_ATragMX" in (vestItems ACE_player))) && !(underwater ACE_player); diff --git a/addons/atragmx/functions/fnc_change_gun.sqf b/addons/atragmx/functions/fnc_change_gun.sqf new file mode 100644 index 0000000000..7c5abac47e --- /dev/null +++ b/addons/atragmx/functions/fnc_change_gun.sqf @@ -0,0 +1,54 @@ +/* + * Author: Ruthberg + * Selects a new gun profile and updates the gun column and the result input/output fields + * + * Arguments: + * gunID + * restore workingMemory from gunList + * update display + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_change_gun + * + * Public: No + */ +#include "script_component.hpp" + +private ["_gunID", "_restoreMemory", "_updateDisplay"]; +_gunID = _this select 0; +_restoreMemory = _this select 1; +_updateDisplay = _this select 2; + +if (_gunID < 0 || _gunID > (count GVAR(gunList)) - 1) exitWith {}; + +if (_restoreMemory) then { + GVAR(workingMemory) = +(GVAR(gunList) select _gunID); +}; +GVAR(currentGun) = _gunID; + +if (_updateDisplay) then { + lbSetCurSel [6000, GVAR(currentGun)]; +}; + +GVAR(currentScopeUnit) = 0 max (GVAR(workingMemory) select 6) min 3; +GVAR(currentScopeClickUnit) = 0 max (GVAR(workingMemory) select 7) min 2; +GVAR(currentScopeClickNumber) = 1 max (GVAR(workingMemory) select 8) min 10; + +if (_updateDisplay) then { + [] call FUNC(update_gun); + [] call FUNC(update_gun_ammo_data); +}; + +GVAR(elevationOutput) set [GVAR(currentTarget), 0]; +GVAR(windage1Output) set [GVAR(currentTarget), 0]; +GVAR(windage2Output) set [GVAR(currentTarget), 0]; +GVAR(leadOutput) set [GVAR(currentTarget), 0]; +GVAR(tofOutput) set [GVAR(currentTarget), 0]; +GVAR(velocityOutput) set [GVAR(currentTarget), 0]; + +if (_updateDisplay) then { + [] call FUNC(calculate_target_solution); +}; diff --git a/addons/atragmx/functions/fnc_change_target_slot.sqf b/addons/atragmx/functions/fnc_change_target_slot.sqf new file mode 100644 index 0000000000..ed8c622b8d --- /dev/null +++ b/addons/atragmx/functions/fnc_change_target_slot.sqf @@ -0,0 +1,26 @@ +/* + * Author: Ruthberg + * Selects a target slot (A, B, C or D) + * + * Arguments: + * target + * + * Return Value: + * Nothing + * + * Example: + * 2 call ace_atragmx_fnc_change_target_slot + * + * Public: No + */ +#include "script_component.hpp" + +private ["_target"]; +_target = 0 max _this min 3; + +call FUNC(parse_input); + +GVAR(currentTarget) = _target; +call FUNC(update_target_selection); + +[] call FUNC(calculate_target_solution); diff --git a/addons/atragmx/functions/fnc_clear_user_data.sqf b/addons/atragmx/functions/fnc_clear_user_data.sqf new file mode 100644 index 0000000000..308b5bbf12 --- /dev/null +++ b/addons/atragmx/functions/fnc_clear_user_data.sqf @@ -0,0 +1,45 @@ +/* + * Author: Ruthberg + * Removes all user data from the profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_clear_user_data + * + * Public: No + */ +#include "script_component.hpp" + +profileNamespace setVariable ["ACE_ATragMX_gunList", nil]; + +profileNamespace setVariable ["ACE_ATragMX_currentUnit", nil]; +profileNamespace setVariable ["ACE_ATragMX_currentGun", nil]; +profileNamespace setVariable ["ACE_ATragMX_currentTarget", nil]; +profileNamespace setVariable ["ACE_ATragMX_currentScopeUnit", nil]; + +profileNamespace setVariable ["ACE_ATragMX_atmosphereModeTBH", nil]; +profileNamespace setVariable ["ACE_ATragMX_altitude", nil]; +profileNamespace setVariable ["ACE_ATragMX_temperature", nil]; +profileNamespace setVariable ["ACE_ATragMX_barometricPressure", nil]; +profileNamespace setVariable ["ACE_ATragMX_relativeHumidity", nil]; + +profileNamespace setVariable ["ACE_ATragMX_showWind2", nil]; +profileNamespace setVariable ["ACE_ATragMX_latitude", nil]; +profileNamespace setVariable ["ACE_ATragMX_directionOfFire", nil]; +profileNamespace setVariable ["ACE_ATragMX_windSpeed1", nil]; +profileNamespace setVariable ["ACE_ATragMX_windSpeed2", nil]; +profileNamespace setVariable ["ACE_ATragMX_windDirection", nil]; +profileNamespace setVariable ["ACE_ATragMX_inclinationAngle", nil]; +profileNamespace setVariable ["ACE_ATragMX_targetSpeed", nil]; +profileNamespace setVariable ["ACE_ATragMX_targetSpeedDirection", nil]; +profileNamespace setVariable ["ACE_ATragMX_targetRange", nil]; + +profileNamespace setVariable ["ACE_ATragMX_rangeCardStartRange", nil]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardEndRange", nil]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardIncrement", nil]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardCurrentColumn", nil]; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf new file mode 100644 index 0000000000..09e413d535 --- /dev/null +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -0,0 +1,50 @@ +/* + * Author: Ruthberg + * Creates the ATragMX dialog + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_create_dialog + * + * Public: No + */ +#include "script_component.hpp" + +//if (dialog) exitWith { false }; +if (underwater ACE_player) exitWith { false }; +if (!("ACE_ATragMX" in (uniformItems ACE_player)) && !("ACE_ATragMX" in (vestItems ACE_player))) exitWith { false }; + +createDialog 'ATragMX_Display'; + +call FUNC(update_target_selection); + +GVAR(showMainPage) call FUNC(show_main_page); + +GVAR(showAddNewGun) call FUNC(show_add_new_gun); +GVAR(showAtmoEnvData) call FUNC(show_atmo_env_data); +GVAR(showGunAmmoData) call FUNC(show_gun_ammo_data); +GVAR(showGunList) call FUNC(show_gun_list); +GVAR(showRangeCard) call FUNC(show_range_card); +if (GVAR(showRangeCard)) then { + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 5001); + [] call FUNC(update_range_card); +}; +GVAR(showRangeCardSetup) call FUNC(show_range_card_setup); +GVAR(showSolutionSetup) call FUNC(show_solution_setup); +GVAR(showTargetData) call FUNC(show_target_data); +GVAR(showTargetRangeAssist) call FUNC(show_target_range_assist); +GVAR(showTargetSpeedAssist) call FUNC(show_target_speed_assist); +GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer); + +[GVAR(currentGun), false, true] call FUNC(change_gun); + +{ + lbAdd [6000, _x select 0]; +} forEach GVAR(gunList); + +true diff --git a/addons/atragmx/functions/fnc_cycle_gun_list.sqf b/addons/atragmx/functions/fnc_cycle_gun_list.sqf new file mode 100644 index 0000000000..3796bb78e6 --- /dev/null +++ b/addons/atragmx/functions/fnc_cycle_gun_list.sqf @@ -0,0 +1,20 @@ +/* + * Author: Ruthberg + * Cycles through the gun list + * + * Arguments: + * step + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_cycle_scope_unit + * + * Public: No + */ +#include "script_component.hpp" + +if (!(GVAR(showMainPage) || GVAR(showGunList))) exitWith {}; + +[(GVAR(currentGun) + (count GVAR(gunList)) + _this) % (count GVAR(gunList)), true, true] call FUNC(change_gun); diff --git a/addons/atragmx/functions/fnc_cycle_image_size_units.sqf b/addons/atragmx/functions/fnc_cycle_image_size_units.sqf new file mode 100644 index 0000000000..d78b13731c --- /dev/null +++ b/addons/atragmx/functions/fnc_cycle_image_size_units.sqf @@ -0,0 +1,19 @@ +/* + * Author: Ruthberg + * Cycles through the image size units + * + * Arguments: + * step + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_cycle_image_size_units + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(rangeAssistImageSizeUnit) = (GVAR(rangeAssistImageSizeUnit) + 1) % (count GVAR(rangeAssistImageSizeUnits)); +ctrlSetText [7015, GVAR(rangeAssistImageSizeUnits) select GVAR(rangeAssistImageSizeUnit)]; diff --git a/addons/atragmx/functions/fnc_cycle_num_ticks_units.sqf b/addons/atragmx/functions/fnc_cycle_num_ticks_units.sqf new file mode 100644 index 0000000000..6afc105f62 --- /dev/null +++ b/addons/atragmx/functions/fnc_cycle_num_ticks_units.sqf @@ -0,0 +1,20 @@ +/* + * Author: Ruthberg + * Cycles through the num ticks units + * + * Arguments: + * step + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_cycle_num_ticks_units + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(speedAssistNumTicksUnit) = (GVAR(speedAssistNumTicksUnit) + 1) % (count GVAR(speedAssistNumTicksUnits)); +ctrlSetText [8009, GVAR(speedAssistNumTicksUnits) select GVAR(speedAssistNumTicksUnit)]; +call FUNC(calculate_target_speed_assist); diff --git a/addons/atragmx/functions/fnc_cycle_range_card_columns.sqf b/addons/atragmx/functions/fnc_cycle_range_card_columns.sqf new file mode 100644 index 0000000000..9de1baee61 --- /dev/null +++ b/addons/atragmx/functions/fnc_cycle_range_card_columns.sqf @@ -0,0 +1,22 @@ +/* + * Author: Ruthberg + * Cycles through the range card columns + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_cycle_range_card_columns + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(rangeCardCurrentColumn) = (GVAR(rangeCardCurrentColumn) + 1) % (count GVAR(rangeCardLastColumns)); + +ctrlSetText [5006, (GVAR(rangeCardLastColumns) select GVAR(rangeCardCurrentColumn))]; + +[] call FUNC(update_range_card); diff --git a/addons/atragmx/functions/fnc_cycle_scope_unit.sqf b/addons/atragmx/functions/fnc_cycle_scope_unit.sqf new file mode 100644 index 0000000000..ea9e2bd8e8 --- /dev/null +++ b/addons/atragmx/functions/fnc_cycle_scope_unit.sqf @@ -0,0 +1,24 @@ +/* + * Author: Ruthberg + * Cycles through the scope units + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_cycle_scope_unit + * + * Public: No + */ +#include "script_component.hpp" + +[] call FUNC(parse_input); + +GVAR(currentScopeUnit) = (GVAR(currentScopeUnit) + 1) % (count GVAR(scopeUnits)); +GVAR(workingMemory) set [6, GVAR(currentScopeUnit)]; + +[] call FUNC(update_scope_unit); +[] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_cycle_target_size_units.sqf b/addons/atragmx/functions/fnc_cycle_target_size_units.sqf new file mode 100644 index 0000000000..e055c8282c --- /dev/null +++ b/addons/atragmx/functions/fnc_cycle_target_size_units.sqf @@ -0,0 +1,19 @@ +/* + * Author: Ruthberg + * Cycles through the target size units + * + * Arguments: + * step + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_cycle_target_size_units + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(rangeAssistTargetSizeUnit) = (GVAR(rangeAssistTargetSizeUnit) + 1) % (count GVAR(rangeAssistTargetSizeUnits)); +ctrlSetText [7014, GVAR(rangeAssistTargetSizeUnits) select GVAR(rangeAssistTargetSizeUnit)]; diff --git a/addons/atragmx/functions/fnc_cycle_target_speed_direction.sqf b/addons/atragmx/functions/fnc_cycle_target_speed_direction.sqf new file mode 100644 index 0000000000..3c77fab792 --- /dev/null +++ b/addons/atragmx/functions/fnc_cycle_target_speed_direction.sqf @@ -0,0 +1,22 @@ +/* + * Author: Ruthberg + * Cycles through the target directions left/right + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_cycle_target_direction + * + * Public: No + */ +#include "script_component.hpp" + +if ((ctrlText 140051) == ">") then { + ctrlSetText [140051, "<"]; +} else { + ctrlSetText [140051, ">"]; +}; diff --git a/addons/atragmx/functions/fnc_delete_gun.sqf b/addons/atragmx/functions/fnc_delete_gun.sqf new file mode 100644 index 0000000000..be230da59a --- /dev/null +++ b/addons/atragmx/functions/fnc_delete_gun.sqf @@ -0,0 +1,32 @@ +/* + * Author: Ruthberg + * Deletes the currently selected gun profile from the profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_delete_gun + * + * Public: No + */ +#include "script_component.hpp" + +private ["_index"]; +_index = lbCurSel 6000; + +if (_index == -1) exitWith {}; + +if (GVAR(currentGun) > _index) then { + GVAR(currentGun) = GVAR(currentGun) - 1; +}; + +GVAR(gunList) set [_index, 0]; +GVAR(gunList) = GVAR(gunList) - [0]; + +lbDelete [6000, _index]; + +profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; diff --git a/addons/atragmx/functions/fnc_init.sqf b/addons/atragmx/functions/fnc_init.sqf new file mode 100644 index 0000000000..e4fe1b67a4 --- /dev/null +++ b/addons/atragmx/functions/fnc_init.sqf @@ -0,0 +1,84 @@ +/* + * Author: Ruthberg + * Inits all global variables with the default values + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_init + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(workingMemory) = +(GVAR(gunList) select 0); + +GVAR(scopeUnits) = ["MILs", "TMOA", "SMOA", "Clicks"]; +GVAR(scopeClickUnits) = ["TMOA", "SMOA", "MILs"]; + +GVAR(rangeCardStartRange) = 200; +GVAR(rangeCardEndRange) = 2000; +GVAR(rangeCardIncrement) = 50; +GVAR(rangeCardLastColumns) = ["Lead", "RemV", "RemE", "TmFlt"]; +GVAR(rangeCardCurrentColumn) = 3; +GVAR(rangeCardData) = []; + +GVAR(rangeAssistTargetSizeUnits) = ["in", "ft", "cm", "m"]; +GVAR(rangeAssistTargetSizeUnit) = 2; +GVAR(rangeAssistImageSizeUnits) = ["MIL", "TMOA", "IOA"]; +GVAR(rangeAssistImageSizeUnit) = 0; +GVAR(rangeAssistUseTargetHeight) = true; + +GVAR(speedAssistNumTicksUnits) = ["MIL", "TMOA", "IOA"]; +GVAR(speedAssistNumTicksUnit) = 0; +GVAR(speedAssistTimer) = true; + +GVAR(currentUnit) = 2; +GVAR(currentGun) = 0; +GVAR(currentTarget) = 0; +GVAR(currentScopeUnit) = 0; +GVAR(currentScopeClickUnit) = 2; +GVAR(currentScopeClickUnitTemp) = 2; +GVAR(currentScopeClickNumber) = 10; +GVAR(currentScopeClickNumberTemp) = 10; + +GVAR(atmosphereModeTBH) = true; +GVAR(altitude) = 0; +GVAR(temperature) = 15; +GVAR(barometricPressure) = 1013.25; +GVAR(relativeHumidity) = 0.5; + +GVAR(latitude) = [38, 38, 38, 38]; +GVAR(directionOfFire) = [0, 0, 0, 0]; +GVAR(windSpeed1) = [0, 0, 0, 0]; +GVAR(windSpeed2) = [0, 0, 0, 0]; +GVAR(windDirection) = [12, 12, 12, 12]; +GVAR(inclinationAngle) = [0, 0, 0, 0]; +GVAR(targetSpeed) = [0, 0, 0, 0]; +GVAR(targetSpeedDirection) = [1, 1, 1, 1]; +GVAR(targetRange) = [0, 0, 0, 0]; + +GVAR(showWind2) = false; +GVAR(elevationOutput) = [0, 0, 0, 0]; +GVAR(windage1Output) = [0, 0, 0, 0]; +GVAR(windage2Output) = [0, 0, 0, 0]; +GVAR(leadOutput) = [0, 0, 0, 0]; +GVAR(tofOutput) = [0, 0, 0, 0]; +GVAR(velocityOutput) = [0, 0, 0, 0]; + +GVAR(showMainPage) = true; +GVAR(showAddNewGun) = false; +GVAR(showAtmoEnvData) = false; +GVAR(showGunAmmoData) = false; +GVAR(showGunList) = false; +GVAR(showRangeCard) = false; +GVAR(showRangeCardSetup) = false; +GVAR(showSolutionSetup) = false; +GVAR(showTargetData) = false; +GVAR(showTargetRangeAssist) = false; +GVAR(showTargetSpeedAssist) = false; +GVAR(showTargetSpeedAssistTimer) = false; diff --git a/addons/atragmx/functions/fnc_parse_input.sqf b/addons/atragmx/functions/fnc_parse_input.sqf new file mode 100644 index 0000000000..2534c2a319 --- /dev/null +++ b/addons/atragmx/functions/fnc_parse_input.sqf @@ -0,0 +1,135 @@ +/* + * Author: Ruthberg + * Parses all input fields in the gun, atmosphere and target column and the result input fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_parse_input + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(altitude) = -1000 max parseNumber(ctrlText 130030) min 20000; +GVAR(temperature) = -50 max parseNumber(ctrlText 130040) min 160; +GVAR(barometricPressure) = 10 max parseNumber(ctrlText 130050) min 1350; +GVAR(relativeHumidity) = (0 max parseNumber(ctrlText 130060) min 100) / 100; +if (GVAR(currentUnit) != 2) then { + GVAR(altitude) = GVAR(altitude) * 0.3048; + GVAR(temperature) = (GVAR(temperature) - 32) / 1.8; + GVAR(barometricPressure) = GVAR(barometricPressure) * 33.86389; +}; + +private ["_inclinationAngleCosine", "_inclinationAngleDegree"]; +GVAR(latitude) set [GVAR(currentTarget), -90 max Round(parseNumber(ctrlText 140000)) min 90]; +GVAR(directionOfFire) set [GVAR(currentTarget), 0 max abs(Round(parseNumber(ctrlText 140010))) min 359]; +GVAR(windSpeed1) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 140020)) min 50]; +GVAR(windSpeed2) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 140021)) min 50]; +GVAR(windDirection) set [GVAR(currentTarget), 1 max Round(parseNumber(ctrlText 140030)) min 12]; +_inclinationAngleCosine = 0.5 max parseNumber(ctrlText 140041) min 1; +_inclinationAngleDegree = -60 max round(parseNumber(ctrlText 140040)) min 60; +if (_inclinationAngleDegree != GVAR(inclinationAngle) select GVAR(currentTarget)) then { + GVAR(inclinationAngle) set [GVAR(currentTarget), _inclinationAngleDegree]; +} else { + if (_inclinationAngleCosine != Round(cos(GVAR(inclinationAngle) select GVAR(currentTarget)) * 100) / 100) then { + GVAR(inclinationAngle) set [GVAR(currentTarget), round(acos(_inclinationAngleCosine))]; + }; +}; +GVAR(targetSpeed) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 140050)) min 50]; +if ((ctrlText 140051) == ">") then { + GVAR(targetSpeedDirection) set [GVAR(currentTarget), +1]; +} else { + GVAR(targetSpeedDirection) set [GVAR(currentTarget), -1]; +}; +GVAR(targetRange) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 140060)) min 4000]; +if (GVAR(currentUnit) != 2) then { + GVAR(windSpeed1) set [GVAR(currentTarget), (GVAR(windSpeed1) select GVAR(currentTarget)) * 0.44704]; + GVAR(windSpeed2) set [GVAR(currentTarget), (GVAR(windSpeed2) select GVAR(currentTarget)) * 0.44704]; + GVAR(targetSpeed) set [GVAR(currentTarget), (GVAR(targetSpeed) select GVAR(currentTarget)) * 0.44704]; +}; +if (GVAR(currentUnit) == 1) then { + GVAR(targetRange) set [GVAR(currentTarget), (GVAR(targetRange) select GVAR(currentTarget)) * 0.9144]; +}; + +private ["_boreHeight", "_bulletMass", "_bulletDiameter", "_airFriction", "_rifleTwist", "_muzzleVelocity", "_zeroRange"]; +_boreHeight = parseNumber(ctrlText 120000); +_bulletMass = parseNumber(ctrlText 120010); +_bulletDiameter = parseNumber(ctrlText 120020); +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _airFriction = 0.1 max parseNumber(ctrlText 120030) min 2; +} else { + _airFriction = parseNumber(ctrlText 120030) / -1000; +}; +_rifleTwist = parseNumber(ctrlText 120040); +_muzzleVelocity = parseNumber(ctrlText 120050); +_zeroRange = parseNumber (ctrlText 120060); +if (GVAR(currentUnit) != 2) then { + _boreHeight = _boreHeight * 2.54; + _bulletMass = _bulletMass * 0.06479891; + _bulletDiameter = _bulletDiameter * 10 * 2.54; + _rifleTwist = _rifleTwist * 2.54; + _muzzleVelocity = _muzzleVelocity / 3.2808399; +}; +if (GVAR(currentUnit) == 1) then { + _zeroRange = _zeroRange / 1.0936133; +}; +_boreHeight = 0.1 max _boreHeight min 10; +_bulletMass = 1 max _bulletMass min 100; +_bulletDiameter = 1 max _bulletDiameter min 25; +_muzzleVelocity = 100 max _muzzleVelocity min 1400; +_zeroRange = 0 max _zeroRange min 1000; +GVAR(workingMemory) set [5, _boreHeight]; +GVAR(workingMemory) set [12, _bulletMass]; +GVAR(workingMemory) set [13, _bulletDiameter]; +GVAR(workingMemory) set [14, _rifleTwist]; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + GVAR(workingMemory) set [15, _airFriction]; +} else { + GVAR(workingMemory) set [4, _airFriction]; +}; +GVAR(workingMemory) set [1, _muzzleVelocity]; +GVAR(workingMemory) set [2, _zeroRange]; + +private ["_elevationCur", "_windageCur", "_clickSize", "_clickNumber", "_clickInterval"]; +_elevationCur = GVAR(workingMemory) select 10; +_windageCur = GVAR(workingMemory) select 11; + +switch (GVAR(currentScopeUnit)) do { + case 0: { + _elevationCur = _elevationCur * 3.38; + _windageCur = _windageCur * 3.38; + }; + case 2: { + _elevationCur = _elevationCur / 1.047; + _windageCur = _windageCur / 1.047; + }; + case 3: { + switch (GVAR(workingMemory) select 7) do { + case 0: { _clickSize = 1; }; + case 1: { _clickSize = 1 / 1.047; }; + case 2: { _clickSize = 3.38; }; + }; + _clickNumber = GVAR(workingMemory) select 8; + _clickInterval = _clickSize / _clickNumber; + + _elevationCur = Round(_elevationCur / _clickInterval); + _windageCur = Round(_windageCur / _clickInterval); + }; +}; + +GVAR(workingMemory) set [10, _elevationCur]; +GVAR(workingMemory) set [11, _windageCur]; + +[] call FUNC(update_gun); +[] call FUNC(update_gun_ammo_data); +[] call FUNC(update_atmosphere); +[] call FUNC(update_atmo_env_data); +[] call FUNC(update_target); +[] call FUNC(update_target_data); + +[] call FUNC(store_user_data); diff --git a/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf b/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf new file mode 100644 index 0000000000..96d638dc1a --- /dev/null +++ b/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf @@ -0,0 +1,21 @@ +/* + * Author: Ruthberg + * Resets the relative click memory and updates the result input/output fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_reset_relative_click_memory + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(workingMemory) set [10, 0]; +GVAR(workingMemory) set [11, 0]; + +[] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_restore_atmo_default.sqf b/addons/atragmx/functions/fnc_restore_atmo_default.sqf new file mode 100644 index 0000000000..08b7c56d86 --- /dev/null +++ b/addons/atragmx/functions/fnc_restore_atmo_default.sqf @@ -0,0 +1,25 @@ +/* + * Author: Ruthberg + * Restores the atmospheric data defaults + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_restore_atmo_default + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(atmosphereModeTBH) = true; +GVAR(altitude) = 0; +GVAR(temperature) = 15; +GVAR(barometricPressure) = 1013.25; +GVAR(relativeHumidity) = 0.5; + +[] call FUNC(update_atmo_selection); +[] call FUNC(update_atmosphere); diff --git a/addons/atragmx/functions/fnc_restore_user_data.sqf b/addons/atragmx/functions/fnc_restore_user_data.sqf new file mode 100644 index 0000000000..896455ec7a --- /dev/null +++ b/addons/atragmx/functions/fnc_restore_user_data.sqf @@ -0,0 +1,42 @@ +/* + * Author: Ruthberg + * Reads user data from profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_restore_user_data + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(currentUnit) = 0 max (profileNamespace getVariable ["ACE_ATragMX_currentUnit", 2]) min 2; +[(profileNamespace getVariable ["ACE_ATragMX_currentGun", 0]), true, false] call FUNC(change_gun); +GVAR(currentTarget) = 0 max (profileNamespace getVariable ["ACE_ATragMX_currentTarget", 0]) min 3; + +GVAR(atmosphereModeTBH) = profileNamespace getVariable ["ACE_ATragMX_atmosphereModeTBH", true]; +GVAR(altitude) = -1000 max (profileNamespace getVariable ["ACE_ATragMX_altitude", 0]) min 20000; +GVAR(temperature) = -50 max (profileNamespace getVariable ["ACE_ATragMX_temperature", 15]) min 160; +GVAR(barometricPressure) = 340 max (profileNamespace getVariable ["ACE_ATragMX_barometricPressure", 1013.25]) min 1350; +GVAR(relativeHumidity) = 0 max (profileNamespace getVariable ["ACE_ATragMX_relativeHumidity", 0.5]) min 1; + +GVAR(showWind2) = profileNamespace getVariable ["ACE_ATragMX_showWind2", false]; +GVAR(latitude) = profileNamespace getVariable ["ACE_ATragMX_latitude", [38, 38, 38, 38]]; +GVAR(directionOfFire) = profileNamespace getVariable ["ACE_ATragMX_directionOfFire", [0, 0, 0, 0]]; +GVAR(windSpeed1) = profileNamespace getVariable ["ACE_ATragMX_windSpeed1", [0, 0, 0, 0]]; +GVAR(windSpeed2) = profileNamespace getVariable ["ACE_ATragMX_windSpeed2", [0, 0, 0, 0]]; +GVAR(windDirection) = profileNamespace getVariable ["ACE_ATragMX_windDirection", [12, 12, 12, 12]]; +GVAR(inclinationAngle) = profileNamespace getVariable ["ACE_ATragMX_inclinationAngle", [0, 0, 0, 0]]; +GVAR(targetSpeed) = profileNamespace getVariable ["ACE_ATragMX_targetSpeed", [0, 0, 0, 0]]; +GVAR(targetSpeedDirection) = profileNamespace getVariable ["ACE_ATragMX_targetSpeedDirection", [1, 1, 1, 1]]; +GVAR(targetRange) = profileNamespace getVariable ["ACE_ATragMX_targetRange", [0, 0, 0, 0]]; + +GVAR(rangeCardStartRange) = 0 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardStartRange", 200]) min 3000; +GVAR(rangeCardEndRange) = 0 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardEndRange", 2000]) min 3000; +GVAR(rangeCardIncrement) = 1 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardIncrement", 50]) min 3000; +GVAR(rangeCardCurrentColumn) = 0 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardCurrentColumn", 3]) min 3; diff --git a/addons/atragmx/functions/fnc_save_gun.sqf b/addons/atragmx/functions/fnc_save_gun.sqf new file mode 100644 index 0000000000..4b42f2027f --- /dev/null +++ b/addons/atragmx/functions/fnc_save_gun.sqf @@ -0,0 +1,28 @@ +/* + * Author: Ruthberg + * Saves the currently select gun profile into the profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_save_gun + * + * Public: No + */ +#include "script_component.hpp" + +private ["_index"]; +_index = 0 max (lbCurSel 6000); + +GVAR(gunList) set [_index, +GVAR(workingMemory)]; + +lbClear 6000; +{ + lbAdd [6000, _x select 0]; +} forEach GVAR(gunList); + +profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; diff --git a/addons/atragmx/functions/fnc_show_add_new_gun.sqf b/addons/atragmx/functions/fnc_show_add_new_gun.sqf new file mode 100644 index 0000000000..b1fd1deb44 --- /dev/null +++ b/addons/atragmx/functions/fnc_show_add_new_gun.sqf @@ -0,0 +1,20 @@ +/* + * Author: Ruthberg + * Shows/Hides add new gun controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_add_new_gun + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showAddNewGun) = _this; + +{ctrlShow [_x, _this]} forEach [11000, 11001, 11002, 11003]; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_show_atmo_env_data.sqf b/addons/atragmx/functions/fnc_show_atmo_env_data.sqf new file mode 100644 index 0000000000..56f75f7844 --- /dev/null +++ b/addons/atragmx/functions/fnc_show_atmo_env_data.sqf @@ -0,0 +1,25 @@ +/* + * Author: Ruthberg + * Shows/Hides the atmosphere and environmental data controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * false call ace_atragmx_fnc_show_atmo_env_data + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showAtmoEnvData) = _this; + +{ctrlShow [_x, _this]} forEach [13000, 13001, 13002, 13003, 130030, 13004, 130040, 13005, 130050, 13006, 130060, 13007, 13008, 13009, 13010, 13011]; + +if (_this) then { + [] call FUNC(update_atmo_selection); + [] call FUNC(update_atmo_env_data); +}; diff --git a/addons/atragmx/functions/fnc_show_gun_ammo_data.sqf b/addons/atragmx/functions/fnc_show_gun_ammo_data.sqf new file mode 100644 index 0000000000..dfab6da238 --- /dev/null +++ b/addons/atragmx/functions/fnc_show_gun_ammo_data.sqf @@ -0,0 +1,24 @@ +/* + * Author: Ruthberg + * Shows/Hides the gun ammo data controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * false call ace_atragmx_fnc_show_gun_ammo_data + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showGunAmmoData) = _this; + +{ctrlShow [_x, _this]} forEach [12000, 120000, 12001, 120010, 12002, 120020, 12003, 120030, 12004, 120040, 12005, 120050, 12006, 120060, 120061, 12007, 12008, 12009, 12010, 12011]; + +if (_this) then { + [] call FUNC(update_gun_ammo_data); +}; diff --git a/addons/atragmx/functions/fnc_show_gun_list.sqf b/addons/atragmx/functions/fnc_show_gun_list.sqf new file mode 100644 index 0000000000..5e1cdfa453 --- /dev/null +++ b/addons/atragmx/functions/fnc_show_gun_list.sqf @@ -0,0 +1,26 @@ +/* + * Author: Ruthberg + * Shows/Hides the gun list controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_gun_list + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showGunList) = _this; + +{ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007]; + +if (_this) then { + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 6002); + + lbSetCurSel [6000, GVAR(currentGun)]; +}; diff --git a/addons/atragmx/functions/fnc_show_main_page.sqf b/addons/atragmx/functions/fnc_show_main_page.sqf new file mode 100644 index 0000000000..580d111c8f --- /dev/null +++ b/addons/atragmx/functions/fnc_show_main_page.sqf @@ -0,0 +1,32 @@ +/* + * Author: Ruthberg + * Shows/Hides the main menu controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_main_page + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showMainPage) = _this; + +{ctrlShow [_x, _this]} forEach [10, 100, 11, 110, 12, 120, 13, 130, 14, 140, 20, 200, 21, 210, 22, 220, 23, 230, 30, 300, 31, 310, 32, 320, 33, 330, 34, 340, 40, 400, 401, 402, 403, 41, 410, 411, 412, 42, 420, + 500, 501, 502, 503, 600, 601, 602, 603, 1000, 1001, 1002, 1003, 1004, 2000, 2001, 3000, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008]; + +if (_this) then { + if (GVAR(atmosphereModeTBH)) then { + {ctrlShow [_x, false]} forEach [23, 230]; + } else { + {ctrlShow [_x, false]} forEach [21, 210, 22, 220]; + }; + if (GVAR(currentScopeUnit) != 3) then { + {ctrlShow [_x, false]} forEach [2001]; + }; +}; diff --git a/addons/atragmx/functions/fnc_show_range_card.sqf b/addons/atragmx/functions/fnc_show_range_card.sqf new file mode 100644 index 0000000000..5728d18546 --- /dev/null +++ b/addons/atragmx/functions/fnc_show_range_card.sqf @@ -0,0 +1,20 @@ +/* + * Author: Ruthberg + * Shows/Hides the range card controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_range_card + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showRangeCard) = _this; + +{ctrlShow [_x, _this]} forEach [5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007]; diff --git a/addons/atragmx/functions/fnc_show_range_card_setup.sqf b/addons/atragmx/functions/fnc_show_range_card_setup.sqf new file mode 100644 index 0000000000..3d44c14b53 --- /dev/null +++ b/addons/atragmx/functions/fnc_show_range_card_setup.sqf @@ -0,0 +1,28 @@ +/* + * Author: Ruthberg + * Shows/Hides the range card setup controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_range_card_setup + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showRangeCardSetup) = _this; + +{ctrlShow [_x, _this]} forEach [10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009]; + +if (_this) then { + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 10006); + + ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))]; + ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))]; + ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))]; +}; diff --git a/addons/atragmx/functions/fnc_show_solution_setup.sqf b/addons/atragmx/functions/fnc_show_solution_setup.sqf new file mode 100644 index 0000000000..761df45e6f --- /dev/null +++ b/addons/atragmx/functions/fnc_show_solution_setup.sqf @@ -0,0 +1,20 @@ +/* + * Author: Ruthberg + * Shows/Hides the solution setup controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * false call ace_atragmx_fnc_show_solution_setup + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showSolutionSetup) = _this; + +{ctrlShow [_x, _this]} forEach [15000, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15008, 15009, 15010, 15011, 15012]; diff --git a/addons/atragmx/functions/fnc_show_target_data.sqf b/addons/atragmx/functions/fnc_show_target_data.sqf new file mode 100644 index 0000000000..f1b432edf8 --- /dev/null +++ b/addons/atragmx/functions/fnc_show_target_data.sqf @@ -0,0 +1,24 @@ +/* + * Author: Ruthberg + * Shows/Hides the target data controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * false call ace_atragmx_fnc_show_target_data + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showTargetData) = _this; + +{ctrlShow [_x, _this]} forEach [14000, 140000, 14001, 140010, 14002, 141020, 140020, 141021, 140021, 14003, 140030, 14004, 140040, 141040, 141041, 140041, 14005, 140050, 140051, 14006, 140060, 140061, 14007, 14008, 14009, 14010, 14011]; + +if (_this) then { + [] call FUNC(update_target_data); +}; diff --git a/addons/atragmx/functions/fnc_show_target_range_assist.sqf b/addons/atragmx/functions/fnc_show_target_range_assist.sqf new file mode 100644 index 0000000000..4f46932a0b --- /dev/null +++ b/addons/atragmx/functions/fnc_show_target_range_assist.sqf @@ -0,0 +1,33 @@ +/* + * Author: Ruthberg + * Shows/Hides the target range assist controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_target_range_assist + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showTargetRangeAssist) = _this; + +{ctrlShow [_x, _this]} forEach [7000, 7001, 7002, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7017, 7018, 7019, 7020]; + +if (_this) then { + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 7018); + + ctrlSetText [7012, Str(parseNumber(ctrlText 320))]; + ctrlSetText [7013, Str(parseNumber(ctrlText 340))]; + + if (GVAR(currentUnit) == 1) then { + ctrlSetText [7016, "Yards"]; + } else { + ctrlSetText [7016, "Meters"]; + }; +}; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf new file mode 100644 index 0000000000..2e66b5ea7b --- /dev/null +++ b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf @@ -0,0 +1,38 @@ +/* + * Author: Ruthberg + * Shows/Hides the target speed assist controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_target_speed_assist + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showTargetSpeedAssist) = _this; + +{ctrlShow [_x, _this]} forEach [8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015]; + +if (_this) then { + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 8012); + + ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; + + if (GVAR(currentUnit) == 1) then { + ctrlSetText [8008, "Yards"]; + } else { + ctrlSetText [8008, "Meters"]; + }; + + if (GVAR(currentUnit) == 2) then { + ctrlSetText [8011, "m/s"]; + } else { + ctrlSetText [8011, "mph"]; + }; +}; diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf new file mode 100644 index 0000000000..8f2ff0c83e --- /dev/null +++ b/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf @@ -0,0 +1,20 @@ +/* + * Author: Ruthberg + * Shows/Hides the target speed assist timer controls + * + * Arguments: + * visible - + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_show_target_speed_assist_timer + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(showTargetSpeedAssistTimer) = _this; + +{ctrlShow [_x, _this]} forEach [9000, 9001, 9002]; diff --git a/addons/atragmx/functions/fnc_sord.sqf b/addons/atragmx/functions/fnc_sord.sqf new file mode 100644 index 0000000000..a433153c0e --- /dev/null +++ b/addons/atragmx/functions/fnc_sord.sqf @@ -0,0 +1,27 @@ +/* + * Author: Ruthberg + * Handles incoming data packets from the Vectronix Vector LRF + * + * Arguments: + * 0: Slope distance (Meters) + * 1: Azimuth (Degrees) + * 2: Inclination (Degrees) + * + * Return Value: + * Nothing + * + * Example: + * [1000, 45, 1] call ace_microdagr_fnc_recieveRangefinderData + * + * Public: No + */ +#include "script_component.hpp" + +private ["_slopeDistance", "_azimuth", "_inclination"]; +_slopeDistance = _this select 0; +_azimuth = _this select 1; +_inclination = _this select 2; + +GVAR(inclinationAngle) set [GVAR(currentTarget), round(_inclination)]; +GVAR(directionOfFire) set [GVAR(currentTarget), round(_azimuth)]; +GVAR(targetRange) set [GVAR(currentTarget), round(_slopeDistance)]; diff --git a/addons/atragmx/functions/fnc_store_user_data.sqf b/addons/atragmx/functions/fnc_store_user_data.sqf new file mode 100644 index 0000000000..5cfe7f2ae0 --- /dev/null +++ b/addons/atragmx/functions/fnc_store_user_data.sqf @@ -0,0 +1,44 @@ +/* + * Author: Ruthberg + * Saves user data into profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_store_user_data + * + * Public: No + */ +#include "script_component.hpp" + +profileNamespace setVariable ["ACE_ATragMX_profileNamespaceVersion", ATRAGMX_PROFILE_NAMESPACE_VERSION]; + +profileNamespace setVariable ["ACE_ATragMX_currentUnit", GVAR(currentUnit)]; +profileNamespace setVariable ["ACE_ATragMX_currentGun", GVAR(currentGun)]; +profileNamespace setVariable ["ACE_ATragMX_currentTarget", GVAR(currentTarget)]; + +profileNamespace setVariable ["ACE_ATragMX_atmosphereModeTBH", GVAR(atmosphereModeTBH)]; +profileNamespace setVariable ["ACE_ATragMX_altitude", GVAR(altitude)]; +profileNamespace setVariable ["ACE_ATragMX_temperature", GVAR(temperature)]; +profileNamespace setVariable ["ACE_ATragMX_barometricPressure", GVAR(barometricPressure)]; +profileNamespace setVariable ["ACE_ATragMX_relativeHumidity", GVAR(relativeHumidity)]; + +profileNamespace setVariable ["ACE_ATragMX_showWind2", GVAR(showWind2)]; +profileNamespace setVariable ["ACE_ATragMX_latitude", GVAR(latitude)]; +profileNamespace setVariable ["ACE_ATragMX_directionOfFire", GVAR(directionOfFire)]; +profileNamespace setVariable ["ACE_ATragMX_windSpeed1", GVAR(windSpeed1)]; +profileNamespace setVariable ["ACE_ATragMX_windSpeed2", GVAR(windSpeed2)]; +profileNamespace setVariable ["ACE_ATragMX_windDirection", GVAR(windDirection)]; +profileNamespace setVariable ["ACE_ATragMX_inclinationAngle", GVAR(inclinationAngle)]; +profileNamespace setVariable ["ACE_ATragMX_targetSpeed", GVAR(targetSpeed)]; +profileNamespace setVariable ["ACE_ATragMX_targetSpeedDirection", GVAR(targetSpeedDirection)]; +profileNamespace setVariable ["ACE_ATragMX_targetRange", GVAR(targetRange)]; + +profileNamespace setVariable ["ACE_ATragMX_rangeCardStartRange", GVAR(rangeCardStartRange)]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardEndRange", GVAR(rangeCardEndRange)]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardIncrement", GVAR(rangeCardIncrement)]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardCurrentColumn", GVAR(rangeCardCurrentColumn)]; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf new file mode 100644 index 0000000000..6e47461cf3 --- /dev/null +++ b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf @@ -0,0 +1,46 @@ +/* + * Author: Ruthberg + * Shows and starts the target speed assist timer + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_target_speed_assist_timer + * + * Public: No + */ +#include "script_component.hpp" + +if !(ctrlVisible 9000) then { + + false call FUNC(show_target_speed_assist); + true call FUNC(show_target_speed_assist_timer); + + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 9002); + + [{ + private ["_args", "_startTime"]; + _args = _this select 0; + _startTime = _args select 0; + + if (!(GVAR(speedAssistTimer))) exitWith { + GVAR(speedAssistTimer) = true; + + ctrlSetText [8006, Str(Round((time - _startTime) * 10) / 10)]; + + [] call FUNC(calculate_target_speed_assist); + + false call FUNC(show_target_speed_assist_timer); + true call FUNC(show_target_speed_assist); + + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + ctrlSetText [9001, Str(Round((time - _startTime) * 10) / 10)]; + + }, 0.1, [time]] call CBA_fnc_addPerFrameHandler; +}; diff --git a/addons/atragmx/functions/fnc_toggle_atmo_env_data.sqf b/addons/atragmx/functions/fnc_toggle_atmo_env_data.sqf new file mode 100644 index 0000000000..ce761c2216 --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_atmo_env_data.sqf @@ -0,0 +1,28 @@ +/* + * Author: Ruthberg + * Toggles the atmospheric data screen on/off + * + * Arguments: + * Apply new data? + * + * Return Value: + * Nothing + * + * Example: + * 1 call ace_atragmx_fnc_toggle_atmo_env_data + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 13000) then { + false call FUNC(show_atmo_env_data); + true call FUNC(show_main_page); + + if (_this == 1) then { + call FUNC(calculate_target_solution); + }; +} else { + true call FUNC(show_atmo_env_data); + false call FUNC(show_main_page); +}; diff --git a/addons/atragmx/functions/fnc_toggle_gun_ammo_data.sqf b/addons/atragmx/functions/fnc_toggle_gun_ammo_data.sqf new file mode 100644 index 0000000000..0fd4b913b8 --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_gun_ammo_data.sqf @@ -0,0 +1,29 @@ +/* + * Author: Ruthberg + * Toggles the gun ammo data screen on/off + * + * Arguments: + * Apply new data? + * + * Return Value: + * Nothing + * + * Example: + * 1 call ace_atragmx_fnc_toggle_gun_ammo_data + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 12000) then { + false call FUNC(show_gun_ammo_data); + true call FUNC(show_main_page); + + if (_this == 1) then { + call FUNC(update_zero_range); + call FUNC(calculate_target_solution); + }; +} else { + true call FUNC(show_gun_ammo_data); + false call FUNC(show_main_page); +}; diff --git a/addons/atragmx/functions/fnc_toggle_gun_list.sqf b/addons/atragmx/functions/fnc_toggle_gun_list.sqf new file mode 100644 index 0000000000..1cc1f9338b --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_gun_list.sqf @@ -0,0 +1,28 @@ +/* + * Author: Ruthberg + * Toggles the gun list screen on/off + * + * Arguments: + * change gun? + * + * Return Value: + * Nothing + * + * Example: + * false call ace_atragmx_fnc_toggle_gun_list + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 6000) then { + false call FUNC(show_gun_list); + true call FUNC(show_main_page); + + if (_this) then { + [lbCurSel 6000, true, true] call FUNC(change_gun); + }; +} else { + false call FUNC(show_main_page); + true call FUNC(show_gun_list); +}; diff --git a/addons/atragmx/functions/fnc_toggle_range_card.sqf b/addons/atragmx/functions/fnc_toggle_range_card.sqf new file mode 100644 index 0000000000..059bc7e40b --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_range_card.sqf @@ -0,0 +1,29 @@ +/* + * Author: Ruthberg + * Toggles the range card screen on/off + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_toggle_range_card + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 5006) then { + false call FUNC(show_range_card); + true call FUNC(show_main_page); +} else { + false call FUNC(show_main_page); + true call FUNC(show_range_card); + + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 5001); + + [] call FUNC(calculate_range_card); + [] call FUNC(update_range_card); +}; diff --git a/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf b/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf new file mode 100644 index 0000000000..738a154d17 --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf @@ -0,0 +1,33 @@ +/* + * Author: Ruthberg + * Toggles the range card setup screen on/off + * + * Arguments: + * Apply new range card settings + * + * Return Value: + * Nothing + * + * Example: + * 1 call ace_atragmx_fnc_toggle_range_card_setup + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 10000) then { + false call FUNC(show_range_card_setup); + true call FUNC(show_range_card); + + if (_this == 1) then { + GVAR(rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000; + GVAR(rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000; + GVAR(rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000; + + [] call FUNC(calculate_range_card); + [] call FUNC(update_range_card); + }; +} else { + false call FUNC(show_range_card); + true call FUNC(show_range_card_setup); +}; diff --git a/addons/atragmx/functions/fnc_toggle_solution_setup.sqf b/addons/atragmx/functions/fnc_toggle_solution_setup.sqf new file mode 100644 index 0000000000..0e9f702383 --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_solution_setup.sqf @@ -0,0 +1,38 @@ +/* + * Author: Ruthberg + * Toggles the solution setup screen on/off + * + * Arguments: + * Apply new data? + * + * Return Value: + * Nothing + * + * Example: + * 1 call ace_atragmx_fnc_toggle_solution_setup + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 15000) then { + false call FUNC(show_solution_setup); + true call FUNC(show_main_page); + + if (_this == 1) then { + GVAR(currentScopeClickUnit) = GVAR(currentScopeClickUnitTemp); + GVAR(currentScopeClickNumber) = GVAR(currentScopeClickNumberTemp); + GVAR(workingMemory) set [7, GVAR(currentScopeClickUnit)]; + GVAR(workingMemory) set [8, GVAR(currentScopeClickNumber)]; + [] call FUNC(update_scope_unit); + [] call FUNC(update_result); + }; +} else { + true call FUNC(show_solution_setup); + false call FUNC(show_main_page); + + GVAR(currentScopeClickUnitTemp) = GVAR(currentScopeClickUnit); + GVAR(currentScopeClickNumberTemp) = GVAR(currentScopeClickNumber); + + [] call FUNC(update_solution_setup); +}; diff --git a/addons/atragmx/functions/fnc_toggle_target_data.sqf b/addons/atragmx/functions/fnc_toggle_target_data.sqf new file mode 100644 index 0000000000..90fefbf37e --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_target_data.sqf @@ -0,0 +1,28 @@ +/* + * Author: Ruthberg + * Toggles the target data screen on/off + * + * Arguments: + * Apply new data? + * + * Return Value: + * Nothing + * + * Example: + * 1 call ace_atragmx_fnc_toggle_target_data + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 14000) then { + false call FUNC(show_target_data); + true call FUNC(show_main_page); + + if (_this == 1) then { + call FUNC(calculate_target_solution); + }; +} else { + true call FUNC(show_target_data); + false call FUNC(show_main_page); +}; diff --git a/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf b/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf new file mode 100644 index 0000000000..d13ef4fb2e --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf @@ -0,0 +1,32 @@ +/* + * Author: Ruthberg + * Toggles the target range assist screen on/off + * + * Arguments: + * update range? + * + * Return Value: + * Nothing + * + * Example: + * 1 call ace_atragmx_fnc_toggle_target_range_assist + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 7000) then { + false call FUNC(show_target_range_assist); + true call FUNC(show_main_page); + + if (_this == 1) then { + ctrlSetText [320, Str(parseNumber(ctrlText 7012))]; + ctrlSetText [140040, Str(parseNumber(ctrlText 7012))]; + ctrlSetText [340, Str(parseNumber(ctrlText 7013))]; + ctrlSetText [140060, Str(parseNumber(ctrlText 7013))]; + [] call FUNC(calculate_target_solution); + }; +} else { + false call FUNC(show_main_page); + true call FUNC(show_target_range_assist); +}; diff --git a/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf b/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf new file mode 100644 index 0000000000..5b88a6cfce --- /dev/null +++ b/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf @@ -0,0 +1,35 @@ +/* + * Author: Ruthberg + * Toggles the target speed assist screen on/off + * + * Arguments: + * update speed? + * + * Return Value: + * Nothing + * + * Example: + * 1 call ace_atragmx_fnc_toggle_target_speed_assist + * + * Public: No + */ +#include "script_component.hpp" + +if (ctrlVisible 8000) then { + false call FUNC(show_target_speed_assist); + true call FUNC(show_main_page); + + if (_this == 1) then { + [] call FUNC(calculate_target_speed_assist); + private ["_targetSpeed"]; + _targetSpeed = parseNumber(ctrlText 8007); + if (_targetSpeed != 0) then { + ctrlSetText [330, Str(_targetSpeed)]; + ctrlSetText [140050, Str(_targetSpeed)]; + [] call FUNC(calculate_target_solution); + }; + }; +} else { + false call FUNC(show_main_page); + true call FUNC(show_target_speed_assist); +}; diff --git a/addons/atragmx/functions/fnc_update_atmo_env_data.sqf b/addons/atragmx/functions/fnc_update_atmo_env_data.sqf new file mode 100644 index 0000000000..7cd34754da --- /dev/null +++ b/addons/atragmx/functions/fnc_update_atmo_env_data.sqf @@ -0,0 +1,45 @@ +/* + * Author: Ruthberg + * Updates the atmospheric data fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_atmo_env_data + * + * Public: No + */ +#include "script_component.hpp" + +ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 13007); + +if (GVAR(currentUnit) == 2) then { + ctrlSetText [130040, Str(Round(GVAR(temperature) * 10) / 10)]; +} else { + ctrlSetText [130040, Str(Round((GVAR(temperature) * 1.8 + 32) * 10) / 10)]; +}; +if (GVAR(currentUnit) == 2) then { + ctrlSetText [130050, Str(Round(GVAR(barometricPressure)))]; +} else { + ctrlSetText [130050, Str(Round(GVAR(barometricPressure) / 33.8638866667 * 100) / 100)]; +}; +ctrlSetText [130060, Str(Round(GVAR(relativeHumidity) * 100 * 10) / 10)]; +if (GVAR(currentUnit) == 2) then { + ctrlSetText [130030, Str(Round(GVAR(altitude)))]; +} else { + ctrlSetText [130030, Str(Round(GVAR(altitude) * 3.2808399))]; +}; + +if (GVAR(currentUnit) == 2) then { + ctrlSetText [13003, "Altitude (m)"]; + ctrlSetText [13004, "temperature (C)"]; + ctrlSetText [13005, "Barom Pres (milibars)"]; +} else { + ctrlSetText [13003, "Altitude (ft)"]; + ctrlSetText [13004, "temperature (F)"]; + ctrlSetText [13005, "Barom Pres (in.merc.)"]; +}; diff --git a/addons/atragmx/functions/fnc_update_atmo_selection.sqf b/addons/atragmx/functions/fnc_update_atmo_selection.sqf new file mode 100644 index 0000000000..18036178b4 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_atmo_selection.sqf @@ -0,0 +1,31 @@ +/* + * Author: Ruthberg + * Updates the atmospheric data input method + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_atmo_selection + * + * Public: No + */ +#include "script_component.hpp" + +((uiNamespace getVariable "ATragMX_Display") displayCtrl 13001) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 13002) ctrlEnable true; + +if (GVAR(atmosphereModeTBH)) then { + ((uiNamespace getVariable "ATragMX_Display") displayCtrl 13002) ctrlEnable false; + {ctrlShow [_x, false]} forEach [13003, 130030]; + {ctrlShow [_x, true]} forEach [13005, 130050, 13006, 130060]; +} else { + ((uiNamespace getVariable "ATragMX_Display") displayCtrl 13001) ctrlEnable false; + {ctrlShow [_x, false]} forEach [13005, 130050, 13006, 130060]; + {ctrlShow [_x, true]} forEach [13003, 130030]; +}; + +[] call FUNC(update_atmo_env_data); diff --git a/addons/atragmx/functions/fnc_update_atmosphere.sqf b/addons/atragmx/functions/fnc_update_atmosphere.sqf new file mode 100644 index 0000000000..be7565bda7 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_atmosphere.sqf @@ -0,0 +1,33 @@ +/* + * Author: Ruthberg + * Updates all atmosphere column input fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_atmosphere + * + * Public: No + */ +#include "script_component.hpp" + +if (GVAR(currentUnit) == 2) then { + ctrlSetText [200, Str(Round(GVAR(temperature) * 10) / 10)]; +} else { + ctrlSetText [200, Str(Round((GVAR(temperature) * 1.8 + 32) * 10) / 10)]; +}; +if (GVAR(currentUnit) == 2) then { + ctrlSetText [210, Str(Round(GVAR(barometricPressure)))]; +} else { + ctrlSetText [210, Str(Round(GVAR(barometricPressure) / 33.8638866667 * 100) / 100)]; +}; +ctrlSetText [220, Str(Round(GVAR(relativeHumidity) * 100 * 10) / 10)]; +if (GVAR(currentUnit) == 2) then { + ctrlSetText [230, Str(Round(GVAR(altitude)))]; +} else { + ctrlSetText [230, Str(Round(GVAR(altitude) * 3.2808399))]; +}; diff --git a/addons/atragmx/functions/fnc_update_gun.sqf b/addons/atragmx/functions/fnc_update_gun.sqf new file mode 100644 index 0000000000..aa1f8c44bf --- /dev/null +++ b/addons/atragmx/functions/fnc_update_gun.sqf @@ -0,0 +1,50 @@ +/* + * Author: Ruthberg + * Updates all gun column input fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_gun + * + * Public: No + */ +#include "script_component.hpp" + +ctrlSetText [1000, GVAR(workingMemory) select 0]; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [100, Str(Round((GVAR(workingMemory) select 5) / 2.54 * 100) / 100)]; +} else { + ctrlSetText [100, Str(Round((GVAR(workingMemory) select 5) * 100) / 100)]; +}; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [110, Str(Round((GVAR(workingMemory) select 12) * 15.4323584))]; +} else { + ctrlSetText [110, Str(Round(GVAR(workingMemory) select 12))]; +}; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + ctrlSetText [120, Str(Round((GVAR(workingMemory) select 15) * 1000) / 1000)]; +} else { + ctrlSetText [120, Str(Round((GVAR(workingMemory) select 4) * -1000 * 1000) / 1000)]; +}; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [130, Str(Round((GVAR(workingMemory) select 1) * 3.2808399))]; +} else { + ctrlSetText [130, Str(Round(GVAR(workingMemory) select 1))]; +}; +switch (GVAR(currentUnit)) do { + case 0: { + ctrlSetText [140, format["*%1", Round(GVAR(workingMemory) select 2)]]; + }; + case 1: { + ctrlSetText [140, Str(Round((GVAR(workingMemory) select 2) * 1.0936133))]; + }; + case 2: { + ctrlSetText [140, Str(Round(GVAR(workingMemory) select 2))]; + }; +}; +[] call FUNC(update_scope_unit); diff --git a/addons/atragmx/functions/fnc_update_gun_ammo_data.sqf b/addons/atragmx/functions/fnc_update_gun_ammo_data.sqf new file mode 100644 index 0000000000..b11b214500 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_gun_ammo_data.sqf @@ -0,0 +1,79 @@ +/* + * Author: Ruthberg + * Updates the gun ammo data fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_gun_ammo_data + * + * Public: No + */ +#include "script_component.hpp" + +ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 12008); + +if (GVAR(currentUnit) != 2) then { + ctrlSetText [120000, Str(Round((GVAR(workingMemory) select 5) / 2.54 * 100) / 100)]; +} else { + ctrlSetText [120000, Str(Round((GVAR(workingMemory) select 5) * 100) / 100)]; +}; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [120010, Str(Round((GVAR(workingMemory) select 12) * 15.4323584))]; +} else { + ctrlSetText [120010, Str(Round(GVAR(workingMemory) select 12))]; +}; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [120020, Str(Round((GVAR(workingMemory) select 13) / 10 / 2.54 * 1000) / 1000)]; +} else { + ctrlSetText [120020, Str(Round((GVAR(workingMemory) select 13) * 1000) / 1000)]; +}; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + ctrlSetText [120030, Str(Round((GVAR(workingMemory) select 15) * 1000) / 1000)]; +} else { + ctrlSetText [120030, Str(Round((GVAR(workingMemory) select 4) * -1000 * 1000) / 1000)]; +}; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [120040, Str(Round((GVAR(workingMemory) select 14) / 2.54 * 10) / 10)]; +} else { + ctrlSetText [120040, Str(Round((GVAR(workingMemory) select 14) * 100) / 100)]; +}; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [120050, Str(Round((GVAR(workingMemory) select 1) * 3.2808399))]; +} else { + ctrlSetText [120050, Str(Round(GVAR(workingMemory) select 1))]; +}; +if (GVAR(currentUnit) == 1) then { + ctrlSetText [120060, Str(Round((GVAR(workingMemory) select 2) * 1.0936133))]; +} else { + ctrlSetText [120060, Str(Round(GVAR(workingMemory) select 2))]; +}; +if (GVAR(currentUnit) == 0) then { + ctrlSetText [120061, "*"]; +} else { + ctrlSetText [120061, ""]; +}; + +if (GVAR(currentUnit) == 2) then { + ctrlSetText [12000, "Bore (cm)"]; + ctrlSetText [12001, "Bullet Weight (grams)"]; + ctrlSetText [12002, "Bullet Diam (cm)"]; + ctrlSetText [12004, "Rifle Twist (cm/trn)"]; + ctrlSetText [12005, "Muzzle Velocity (m/s)"]; +} else { + ctrlSetText [12000, "Bore (inches)"]; + ctrlSetText [12001, "Bullet Weight (grains)"]; + ctrlSetText [12002, "Bullet Diam (inches)"]; + ctrlSetText [12004, "Rifle Twist (inches/trn)"]; + ctrlSetText [12005, "Muzzle Velocity (feet/sec)"]; +}; + +if (GVAR(currentUnit) == 1) then { + ctrlSetText [12006, "Zero Range (yards)"]; +} else { + ctrlSetText [12006, "Zero Range (meters)"]; +}; diff --git a/addons/atragmx/functions/fnc_update_inclination_angle.sqf b/addons/atragmx/functions/fnc_update_inclination_angle.sqf new file mode 100644 index 0000000000..ea5599bf2d --- /dev/null +++ b/addons/atragmx/functions/fnc_update_inclination_angle.sqf @@ -0,0 +1,26 @@ +/* + * Author: Ruthberg + * Updates the inclination angle input fields + * + * Arguments: + * Reference input field ID + * + * Return Value: + * Nothing + * + * Example: + * 0 call ace_atragmx_fnc_update_inclination_angle + * + * Public: No + */ +#include "script_component.hpp" + +private ["_inclinationAngleCosine", "_inclinationAngleDegree"]; +_inclinationAngleCosine = 0.5 max parseNumber(ctrlText 140041) min 1; +_inclinationAngleDegree = -60 max parseNumber(ctrlText 140040) min 60; + +if (_this == 0) then { + ctrlSetText [140040, Str(round(acos(_inclinationAngleCosine)))]; +} else { + ctrlSetText [140041, Str(round(cos(_inclinationAngleDegree) * 100) / 100)]; +}; diff --git a/addons/atragmx/functions/fnc_update_range_card.sqf b/addons/atragmx/functions/fnc_update_range_card.sqf new file mode 100644 index 0000000000..7e19abc36e --- /dev/null +++ b/addons/atragmx/functions/fnc_update_range_card.sqf @@ -0,0 +1,103 @@ +/* + * Author: Ruthberg + * Updates the range card listbox content + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_range_card + * + * Public: No + */ +#include "script_component.hpp" + +private ["_range", "_elevation", "_windage1", "_windage2", "_clickSize", "_clickNumber", "_clickInterval", "_lead", "_TOF", "_velocity", "_kineticEnergy", "_rangeOutput", "_elevationOutput", "_windageOutput", "_lastColumnOutput"]; +_lastColumnOutput = ""; + +if (GVAR(showWind2) && GVAR(rangeCardCurrentColumn) == 0) then { + ctrlSetText [5006, "Wind2"]; +} else { + ctrlSetText [5006, (GVAR(rangeCardLastColumns) select GVAR(rangeCardCurrentColumn))]; +}; + +if (GVAR(currentUnit) == 1) then { + ctrlSetText [5003, "Yards"]; +} else { + ctrlSetText [5003, "Meters"]; +}; + +lnbClear 5007; + +{ + _range = _x select 0; + _elevation = _x select 1; + _windage1 = (_x select 2) select 0; + _windage2 = (_x select 2) select 1; + _lead = _x select 3; + _TOF = _x select 4; + _velocity = _x select 5; + _kineticEnergy = _x select 6; + + switch (GVAR(currentScopeUnit)) do { + case 0: { + _elevation = _elevation / 3.38; + _windage1 = _windage1 / 3.38; + _windage2 = _windage2 / 3.38; + }; + case 2: { + _elevation = _elevation * 1.047; + _windage1 = _windage1 * 1.047; + _windage2 = _windage2 * 1.047; + }; + case 3: { + switch (GVAR(workingMemory) select 7) do { + case 0: { _clickSize = 1; }; + case 1: { _clickSize = 1 / 1.047; }; + case 2: { _clickSize = 3.38; }; + }; + _clickNumber = GVAR(workingMemory) select 8; + _clickInterval = _clickSize / _clickNumber; + + _elevation = Round(_elevation / _clickInterval); + _windage1 = Round(_windage1 / _clickInterval); + _windage2 = Round(_windage2 / _clickInterval); + }; + }; + + _elevationOutput = Str(Round(_elevation * 100) / 100); + _windageOutput = Str(Round(_windage1 * 100) / 100); + + _rangeOutput = Str(_range); + if (_velocity < 340.29) then { + _rangeOutput = _rangeOutput + "*"; + }; + + if (GVAR(currentUnit) == 1) then { + _velocity = _velocity * 3.2808399; + }; + + switch (GVAR(rangeCardCurrentColumn)) do { + case 0: { + if (GVAR(showWind2)) then { + _lastColumnOutput = Str(Round(_windage2 * 100) / 100); + } else { + _lastColumnOutput = Str(Round(_lead * 100) / 100); + }; + }; + case 1: { + _lastColumnOutput = Str(Round(_velocity)); + }; + case 2: { + _lastColumnOutput = Str(Round(_kineticEnergy)); + }; + case 3: { + _lastColumnOutput = Str(Round(_TOF * 100) / 100); + } + }; + + lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]]; +} forEach GVAR(rangeCardData); diff --git a/addons/atragmx/functions/fnc_update_relative_click_memory.sqf b/addons/atragmx/functions/fnc_update_relative_click_memory.sqf new file mode 100644 index 0000000000..1dc534ce4b --- /dev/null +++ b/addons/atragmx/functions/fnc_update_relative_click_memory.sqf @@ -0,0 +1,21 @@ +/* + * Author: Ruthberg + * Updates the relative click memory + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_relative_click_memory + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(workingMemory) set [10, (GVAR(elevationOutput) select GVAR(currentTarget))]; +GVAR(workingMemory) set [11, (GVAR(windage1Output) select GVAR(currentTarget))]; + +[] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_update_result.sqf b/addons/atragmx/functions/fnc_update_result.sqf new file mode 100644 index 0000000000..bb708efaab --- /dev/null +++ b/addons/atragmx/functions/fnc_update_result.sqf @@ -0,0 +1,169 @@ +/* + * Author: Ruthberg + * Updates the result input and output fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_result + * + * Public: No + */ +#include "script_component.hpp" + +private ["_elevationAbs", "_elevationRel", "_elevationCur", "_windageAbs", "_wind2", "_windageRel", "_windageCur", "_lead", "_clickSize", "_clickNumber", "_clickInterval"]; +_elevationAbs = GVAR(elevationOutput) select GVAR(currentTarget); +_windageAbs = GVAR(windage1Output) select GVAR(currentTarget); + +_wind2 = GVAR(windage2Output) select GVAR(currentTarget); + +_elevationCur = GVAR(workingMemory) select 10; +_windageCur = GVAR(workingMemory) select 11; + +_elevationRel = _elevationAbs - _elevationCur; +_windageRel = _windageAbs - _windageCur; + +_lead = GVAR(leadOutput) select GVAR(currentTarget); + +switch (GVAR(currentScopeUnit)) do { + case 0: { + _elevationAbs = _elevationAbs / 3.38; + _windageAbs = _windageAbs / 3.38; + + _wind2 = _wind2 / 3.38; + + _elevationRel = _elevationRel / 3.38; + _windageRel = _windageRel / 3.38; + + _elevationCur = _elevationCur / 3.38; + _windageCur = _windageCur / 3.38; + }; + case 2: { + _elevationAbs = _elevationAbs * 1.047; + _windageAbs = _windageAbs * 1.047; + + _wind2 = _wind2 / 1.047; + + _elevationRel = _elevationRel * 1.047; + _windageRel = _windageRel * 1.047; + + _elevationCur = _elevationCur * 1.047; + _windageCur = _windageCur * 1.047; + }; + case 3: { + switch (GVAR(workingMemory) select 7) do { + case 0: { _clickSize = 1; }; + case 1: { _clickSize = 1 / 1.047; }; + case 2: { _clickSize = 3.38; }; + }; + _clickNumber = GVAR(workingMemory) select 8; + _clickInterval = _clickSize / _clickNumber; + + _elevationAbs = Round(_elevationAbs / _clickInterval); + _windageAbs = Round(_windageAbs / _clickInterval); + + _wind2 = Round(_wind2 / _clickInterval); + + _elevationRel = Round(_elevationRel / _clickInterval); + _windageRel = Round(_windageRel / _clickInterval); + + _elevationCur = Round(_elevationCur / _clickInterval); + _windageCur = Round(_windageCur / _clickInterval); + }; +}; + +if (GVAR(showWind2)) then { + ctrlSetText [42, "Wind2"]; +} else { + ctrlSetText [42, "Lead"]; +}; + +_elevationAbs = Round(_elevationAbs * 100) / 100; +if (_elevationAbs > 0) then { + ctrlSetText [400, format["%1", abs(_elevationAbs)]]; +} else { + if (_elevationAbs < 0) then { + ctrlSetText [400, format["%1D", abs(_elevationAbs)]]; + } else { + ctrlSetText [400, "0.0"]; + }; +}; +_elevationRel = Round(_elevationRel * 100) / 100; +if (_elevationRel > 0) then { + ctrlSetText [401, format["%1", abs(_elevationRel)]]; +} else { + if (_elevationRel < 0) then { + ctrlSetText [401, format["%1D", abs(_elevationRel)]]; + } else { + ctrlSetText [401, "0.0"]; + }; +}; +_elevationCur = Round(_elevationCur * 100) / 100; +if (_elevationCur > 0) then { + ctrlSetText [402, format["%1", abs(_elevationCur)]]; +} else { + if (_elevationCur < 0) then { + ctrlSetText [402, format["%1D", abs(_elevationCur)]]; + } else { + ctrlSetText [402, "0.0"]; + }; +}; + +_windageAbs = Round(_windageAbs * 100) / 100; +if (_windageAbs > 0) then { + ctrlSetText [410, format["%1R", abs(_windageAbs)]]; +} else { + if (_windageAbs < 0) then { + ctrlSetText [410, format["%1L", abs(_windageAbs)]]; + } else { + ctrlSetText [410, "0.0"]; + }; +}; +_windageRel = Round(_windageRel * 100) / 100; +if (_windageRel > 0) then { + ctrlSetText [411, format["%1R", abs(_windageRel)]]; +} else { + if (_windageRel < 0) then { + ctrlSetText [411, format["%1L", abs(_windageRel)]]; + } else { + ctrlSetText [411, "0.0"]; + }; +}; +_windageCur = Round(_windageCur * 100) / 100; +if (_windageCur > 0) then { + ctrlSetText [412, format["%1R", abs(_windageCur)]]; +} else { + if (_windageCur < 0) then { + ctrlSetText [412, format["%1L", abs(_windageCur)]]; + } else { + ctrlSetText [412, "0.0"]; + }; +}; + +if (GVAR(showWind2)) then { + _wind2 = Round(_wind2 * 100) / 100; + if (_wind2 > 0) then { + ctrlSetText [420, format["%1R", abs(_wind2)]]; + } else { + if (_wind2 < 0) then { + ctrlSetText [420, format["%1L", abs(_wind2)]]; + } else { + ctrlSetText [420, "0.0"]; + }; + }; +} else { + _lead = Round(_lead * 100) / 100; + if (_lead > 0) then { + if ((GVAR(targetSpeedDirection) select GVAR(currentTarget)) == 1) then { + ctrlSetText [420, format["%1R", abs(_lead)]]; + } else { + ctrlSetText [420, format["%1L", abs(_lead)]]; + }; + } else { + ctrlSetText [420, "0.0"]; + }; +}; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_update_scope_unit.sqf b/addons/atragmx/functions/fnc_update_scope_unit.sqf new file mode 100644 index 0000000000..46db8c40c4 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_scope_unit.sqf @@ -0,0 +1,29 @@ +/* + * Author: Ruthberg + * Updates the scope unit fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_scope_unit + * + * Public: No + */ +#include "script_component.hpp" + +ctrlSetText [2000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; +ctrlSetText [2001, Str(GVAR(currentScopeClickNumber))]; + +if (GVAR(currentScopeUnit) == 3) then { + ctrlSetText [5000, format["Clicks=%1", GVAR(currentScopeClickNumber)]]; + if (GVAR(showMainPage)) then { + ctrlShow [2001, true]; + }; +} else { + ctrlSetText [5000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; + ctrlShow [2001, false]; +}; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_update_solution_setup.sqf b/addons/atragmx/functions/fnc_update_solution_setup.sqf new file mode 100644 index 0000000000..204a844c9d --- /dev/null +++ b/addons/atragmx/functions/fnc_update_solution_setup.sqf @@ -0,0 +1,31 @@ +/* + * Author: Ruthberg + * Updates all solution setup input fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_solution_setup + * + * Public: No + */ +#include "script_component.hpp" + +{((uiNamespace getVariable "ATragMX_Display") displayCtrl _x) ctrlEnable true} forEach [15001, 15002, 15003, 15004, 15005, 15006, 15008, 15009, 15010]; + +switch (GVAR(currentScopeClickNumberTemp)) do { + case 1: { ((uiNamespace getVariable "ATragMX_Display") displayCtrl 15001) ctrlEnable false; }; + case 2: { ((uiNamespace getVariable "ATragMX_Display") displayCtrl 15002) ctrlEnable false; }; + case 3: { ((uiNamespace getVariable "ATragMX_Display") displayCtrl 15003) ctrlEnable false; }; + case 4: { ((uiNamespace getVariable "ATragMX_Display") displayCtrl 15004) ctrlEnable false; }; + case 8: { ((uiNamespace getVariable "ATragMX_Display") displayCtrl 15005) ctrlEnable false; }; + case 10: { ((uiNamespace getVariable "ATragMX_Display") displayCtrl 15006) ctrlEnable false; }; +}; + +((uiNamespace getVariable "ATragMX_Display") displayCtrl (15008 + GVAR(currentScopeClickUnitTemp))) ctrlEnable false; + +ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 15011); diff --git a/addons/atragmx/functions/fnc_update_target.sqf b/addons/atragmx/functions/fnc_update_target.sqf new file mode 100644 index 0000000000..ef2ef1de5c --- /dev/null +++ b/addons/atragmx/functions/fnc_update_target.sqf @@ -0,0 +1,48 @@ +/* + * Author: Ruthberg + * Updates all target column input fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_target + * + * Public: No + */ +#include "script_component.hpp" + +if (GVAR(showWind2)) then { + if (GVAR(currentUnit) != 2) then { + ctrlSetText [300, format["%1/%2", Round((GVAR(windSpeed1) select GVAR(currentTarget)) * 2.23693629), Round((GVAR(windSpeed2) select GVAR(currentTarget)) * 2.23693629)]]; + } else { + ctrlSetText [300, format["%1/%2", Round(GVAR(windSpeed1) select GVAR(currentTarget)), Round(GVAR(windSpeed2) select GVAR(currentTarget))]]; + }; +} else { + if (GVAR(currentUnit) != 2) then { + ctrlSetText [300, Str(Round((GVAR(windSpeed1) select GVAR(currentTarget)) * 2.23693629 * 100) / 100)]; + } else { + ctrlSetText [300, Str(Round((GVAR(windSpeed1) select GVAR(currentTarget)) * 100) / 100)]; + }; +}; +ctrlSetText [310, Str(Round((GVAR(windDirection) select GVAR(currentTarget))))]; +ctrlSetText [320, Str(Round((GVAR(inclinationAngle) select GVAR(currentTarget))))]; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [330, Str(Round((GVAR(targetSpeed) select GVAR(currentTarget)) * 2.23693629 * 100) / 100)]; +} else { + ctrlSetText [330, Str(Round((GVAR(targetSpeed) select GVAR(currentTarget)) * 100) / 100)]; +}; +switch (GVAR(currentUnit)) do { + case 0: { + ctrlSetText [340, format["*%1", Round((GVAR(targetRange) select GVAR(currentTarget)))]]; + }; + case 1: { + ctrlSetText [340, Str(Round((GVAR(targetRange) select GVAR(currentTarget)) * 1.0936133))]; + }; + case 2: { + ctrlSetText [340, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; + }; +}; diff --git a/addons/atragmx/functions/fnc_update_target_data.sqf b/addons/atragmx/functions/fnc_update_target_data.sqf new file mode 100644 index 0000000000..6fa9035a62 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_target_data.sqf @@ -0,0 +1,63 @@ +/* + * Author: Ruthberg + * Updates all target column input fields + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_target + * + * Public: No + */ +#include "script_component.hpp" + +ctrlSetText [140000, Str(Round((GVAR(latitude) select GVAR(currentTarget)) * 100) / 100)]; +ctrlSetText [140010, Str(Round((GVAR(directionOfFire) select GVAR(currentTarget)) * 100) / 100)]; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [140020, Str(Round((GVAR(windSpeed1) select GVAR(currentTarget)) * 2.23693629 * 100) / 100)]; + ctrlSetText [140021, Str(Round((GVAR(windSpeed2) select GVAR(currentTarget)) * 2.23693629 * 100) / 100)]; +} else { + ctrlSetText [140020, Str(Round((GVAR(windSpeed1) select GVAR(currentTarget)) * 100) / 100)]; + ctrlSetText [140021, Str(Round((GVAR(windSpeed2) select GVAR(currentTarget)) * 100) / 100)]; +}; +ctrlSetText [140030, Str(Round((GVAR(windDirection) select GVAR(currentTarget))))]; +ctrlSetText [140040, Str(Round((GVAR(inclinationAngle) select GVAR(currentTarget))))]; +ctrlSetText [140041, Str(Round(cos(GVAR(inclinationAngle) select GVAR(currentTarget)) * 100) / 100)]; +if (GVAR(currentUnit) != 2) then { + ctrlSetText [140050, Str(Round((GVAR(targetSpeed) select GVAR(currentTarget)) * 2.23693629 * 100) / 100)]; +} else { + ctrlSetText [140050, Str(Round((GVAR(targetSpeed) select GVAR(currentTarget)) * 100) / 100)]; +}; +if ((GVAR(targetSpeedDirection) select GVAR(currentTarget)) == 1) then { + ctrlSetText [140051, ">"]; +} else { + ctrlSetText [140051, "<"]; +}; +if (GVAR(currentUnit) == 1) then { + ctrlSetText [140060, Str(Round((GVAR(targetRange) select GVAR(currentTarget)) * 1.0936133))]; +} else { + ctrlSetText [140060, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; +}; +if (GVAR(currentUnit) == 0) then { + ctrlSetText [140061, "*"]; +} else { + ctrlSetText [140061, ""]; +}; + +if (GVAR(currentUnit) == 2) then { + ctrlSetText [14002, "Wind Speed (m/s)"]; + ctrlSetText [14005, "Target Speed (m/s)"]; +} else { + ctrlSetText [14002, "Wind Speed (mph)"]; + ctrlSetText [14005, "Target Speed (mph)"]; +}; + +if (GVAR(currentUnit) == 1) then { + ctrlSetText [14006, "Target Range (yards)"]; +} else { + ctrlSetText [14006, "Target Range (meters)"]; +}; diff --git a/addons/atragmx/functions/fnc_update_target_selection.sqf b/addons/atragmx/functions/fnc_update_target_selection.sqf new file mode 100644 index 0000000000..d9fd6002c9 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_target_selection.sqf @@ -0,0 +1,24 @@ +/* + * Author: Ruthberg + * Updates all input fields based on the currently selected target + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_target_selection + * + * Public: No + */ +#include "script_component.hpp" + +{((uiNamespace getVariable "ATragMX_Display") displayCtrl _x) ctrlEnable true} forEach [500, 501, 502, 503]; + +((uiNamespace getVariable "ATragMX_Display") displayCtrl 500 + GVAR(currentTarget)) ctrlEnable false; + +ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 3000); + +[] call FUNC(update_unit_selection); diff --git a/addons/atragmx/functions/fnc_update_unit_selection.sqf b/addons/atragmx/functions/fnc_update_unit_selection.sqf new file mode 100644 index 0000000000..77d96bfdd6 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_unit_selection.sqf @@ -0,0 +1,31 @@ +/* + * Author: Ruthberg + * Updates all input fields based on the currently selected unit + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_unit_selection + * + * Public: No + */ +#include "script_component.hpp" + +((uiNamespace getVariable "ATragMX_Display") displayCtrl 600) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 601) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 602) ctrlEnable true; + +((uiNamespace getVariable "ATragMX_Display") displayCtrl 600 + GVAR(currentUnit)) ctrlEnable false; + +[] call FUNC(update_gun); +[] call FUNC(update_gun_ammo_data); +[] call FUNC(update_atmosphere); +[] call FUNC(update_atmo_env_data); +[] call FUNC(update_target); +[] call FUNC(update_target_data); + +[] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_update_zero_range.sqf b/addons/atragmx/functions/fnc_update_zero_range.sqf new file mode 100644 index 0000000000..299c321d33 --- /dev/null +++ b/addons/atragmx/functions/fnc_update_zero_range.sqf @@ -0,0 +1,50 @@ +/* + * Author: Ruthberg + * Updates the scope base angle based on the zero range input + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_atragmx_fnc_update_zero_range + * + * Public: No + */ +#include "script_component.hpp" + +private ["_scopeBaseAngle"]; +_scopeBaseAngle = (GVAR(workingMemory) select 3); + +private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"]; +_bulletMass = GVAR(workingMemory) select 12; +_boreHeight = GVAR(workingMemory) select 5; +_airFriction = GVAR(workingMemory) select 4; +_muzzleVelocity = GVAR(workingMemory) select 1; +_bc = GVAR(workingMemory) select 15; +_dragModel = GVAR(workingMemory) select 16; +_atmosphereModel = GVAR(workingMemory) select 17; + +private ["_zeroRange"]; +_zeroRange = Round(parseNumber(ctrlText 120060)); +if (GVAR(currentUnit) == 1) then { + _zeroRange = _zeroRange / 1.0936133; +}; +if (_zeroRange < 10) exitWith { + GVAR(workingMemory) set [2, _zeroRange]; + GVAR(workingMemory) set [3, 0]; +}; + +private ["_altitude", "_temperature", "_barometricPressure", "_relativeHumidity"]; +_altitude = GVAR(altitude); +_temperature = GVAR(temperature); +_barometricPressure = GVAR(barometricPressure); +_relativeHumidity = GVAR(relativeHumidity); + +private ["_result"]; +_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, [0, 0], 0, 0, 0, _zeroRange, _bc, _dragModel, _atmosphereModel, false, 1.5, 0, 0, 0] call FUNC(calculate_solution); + +GVAR(workingMemory) set [2, _zeroRange]; +GVAR(workingMemory) set [3, _scopeBaseAngle + (_result select 0) / 60]; diff --git a/addons/atragmx/functions/script_component.hpp b/addons/atragmx/functions/script_component.hpp new file mode 100644 index 0000000000..6e49f39695 --- /dev/null +++ b/addons/atragmx/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\atragmx\script_component.hpp" \ No newline at end of file diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf new file mode 100644 index 0000000000..d8a69a09e3 --- /dev/null +++ b/addons/atragmx/initKeybinds.sqf @@ -0,0 +1,11 @@ +["ACE3", QGVAR(ATragMXDialogKey), localize "STR_ACE_ATragMX_ATragMXDialogKey", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + + // Statement + [] call FUNC(create_dialog); + false +}, +{false}, +[0, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key) \ No newline at end of file diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp new file mode 100644 index 0000000000..c201925147 --- /dev/null +++ b/addons/atragmx/script_component.hpp @@ -0,0 +1,14 @@ +#define COMPONENT atragmx +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_ATRAGMX + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_ATRAGMX + #define DEBUG_SETTINGS DEBUG_SETTINGS_ATRAGMX +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.3 diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml new file mode 100644 index 0000000000..f6bafa7762 --- /dev/null +++ b/addons/atragmx/stringtable.xml @@ -0,0 +1,41 @@ + + + + + ATragMX + ATragMX + ATragMX + ATragMX + ATragMX + ATragMX + ATragMX + ATragMX + ATragMX + ATragMX + + + Open ATragMX + Otwórz ATragMX + Открыть ATragMX + Abrir ATragMX + Ouvrir ATragMX + ATragMX öffnen + + + Rugged PDA with ATragMX + Przenośny PDA z kalkulatorem balistycznym ATragMX + Защищенный КПК с ATragMX + PDA rugerizada con ATragMX + Robuster PDA mit ATragMX + PDA robuste avec ATragMX + + + Open ATragMX + Otwórz ATragMX + Открыть ATragMX + Abrir ATragMX + Ouvrir ATragMX + ATragMX öffnen + + + \ No newline at end of file diff --git a/addons/attach/CfgMagazines.hpp b/addons/attach/CfgMagazines.hpp index d63b8db36b..a000222adc 100644 --- a/addons/attach/CfgMagazines.hpp +++ b/addons/attach/CfgMagazines.hpp @@ -2,11 +2,31 @@ class CfgMagazines { class CA_Magazine; class B_IR_Grenade: CA_Magazine { - ACE_Attachable = 1; + ACE_Attachable = "B_IRStrobe"; + }; + + class O_IR_Grenade: B_IR_Grenade { + ACE_Attachable = "O_IRStrobe"; + }; + + class I_IR_Grenade: B_IR_Grenade { + ACE_Attachable = "I_IRStrobe"; }; class SmokeShell; class Chemlight_green: SmokeShell { - ACE_Attachable = 1; + ACE_Attachable = "Chemlight_green"; + }; + + class Chemlight_blue: Chemlight_green { + ACE_Attachable = "Chemlight_blue"; + }; + + class Chemlight_red: Chemlight_green { + ACE_Attachable = "Chemlight_red"; + }; + + class Chemlight_yellow: Chemlight_green { + ACE_Attachable = "Chemlight_yellow"; }; }; diff --git a/addons/attach/CfgWeapons.hpp b/addons/attach/CfgWeapons.hpp index 4ad34832c5..9734ceb273 100644 --- a/addons/attach/CfgWeapons.hpp +++ b/addons/attach/CfgWeapons.hpp @@ -4,7 +4,7 @@ class CfgWeapons { class InventoryItem_Base_F; class ACE_IR_Strobe_Item: ACE_ItemCore { - ACE_attachable = 1; + ACE_attachable = "ACE_IR_Strobe_Effect"; author = "$STR_ACE_Common_ACETeam"; scope = 2; displayName = "$STR_ACE_IrStrobe_Name"; diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index 3703514fb6..45b1c0a336 100644 --- a/addons/attach/functions/fnc_attach.sqf +++ b/addons/attach/functions/fnc_attach.sqf @@ -25,35 +25,19 @@ _itemClassname = [_args, 0, ""] call CBA_fnc_defaultParam; //Sanity Check (_unit has item in inventory, not over attach limit) if ((_itemClassname == "") || {!(_this call FUNC(canAttach))}) exitWith {ERROR("Tried to attach, but check failed");}; -_itemVehClass = ""; -_onAtachText = ""; _selfAttachPosition = [_unit, [-0.05, 0, 0.12], "rightshoulder"]; -switch (true) do { -case (_itemClassname == "ACE_IR_Strobe_Item"): { - _itemVehClass = "ACE_IR_Strobe_Effect"; - _onAtachText = localize "STR_ACE_Attach_IrStrobe_Attached"; - //_selfAttachPosition = [_unit, [0, -0.11, 0.16], "pilot"]; //makes it attach to the head a bit better, shoulder is not good for visibility - eRazeri - }; -case (_itemClassname == "B_IR_Grenade"): { - _itemVehClass = "B_IRStrobe"; - _onAtachText = localize "STR_ACE_Attach_IrGrenade_Attached"; - }; -case (_itemClassname == "O_IR_Grenade"): { - _itemVehClass = "O_IRStrobe"; - _onAtachText = localize "STR_ACE_Attach_IrGrenade_Attached"; - }; -case (_itemClassname == "I_IR_Grenade"): { - _itemVehClass = "I_IRStrobe"; - _onAtachText = localize "STR_ACE_Attach_IrGrenade_Attached"; - }; -case (toLower _itemClassname in ["chemlight_blue", "chemlight_green", "chemlight_red", "chemlight_yellow"]): { - _itemVehClass = _itemClassname; - _onAtachText = localize "STR_ACE_Attach_Chemlight_Attached"; - }; +_itemVehClass = getText (configFile >> "CfgWeapons" >> _itemClassname >> "ACE_Attachable"); +_onAtachText = getText (configFile >> "CfgWeapons" >> _itemClassname >> "displayName"); + +if (_itemVehClass == "") then { + _itemVehClass = getText (configFile >> "CfgMagazines" >> _itemClassname >> "ACE_Attachable"); + _onAtachText = getText (configFile >> "CfgMagazines" >> _itemClassname >> "displayName"); }; -if (_itemVehClass == "") exitWith {ERROR("no _itemVehClass for Item");}; +if (_itemVehClass == "") exitWith {ERROR("no ACE_Attachable for Item");}; + +_onAtachText = format [localize "STR_ACE_Attach_Item_Attached", _onAtachText]; if (_unit == _attachToVehicle) then { //Self Attachment _unit removeItem _itemClassname; // Remove item @@ -78,6 +62,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment _actionID = _unit addAction [format ["%1", localize "STR_ACE_Attach_CancelAction"], {GVAR(placeAction) = 0}]; [{ + private "_startingPosition"; PARAMS_2(_args,_pfID); EXPLODE_7_PVT(_args,_unit,_attachToVehicle,_itemClassname,_itemVehClass,_tempObject,_onAtachText,_actionID); diff --git a/addons/attach/functions/fnc_canAttach.sqf b/addons/attach/functions/fnc_canAttach.sqf index d0930dc069..18071092d5 100644 --- a/addons/attach/functions/fnc_canAttach.sqf +++ b/addons/attach/functions/fnc_canAttach.sqf @@ -19,7 +19,7 @@ PARAMS_3(_attachToVehicle,_player,_args); -private ["_itemName", "_attachLimit", "_attachedObjects"]; +private ["_itemName", "_attachLimit", "_attachedObjects","_playerPos"]; _itemName = [_args, 0, ""] call CBA_fnc_defaultParam; _attachLimit = [6, 1] select (_player == _attachToVehicle); diff --git a/addons/attach/functions/fnc_detach.sqf b/addons/attach/functions/fnc_detach.sqf index 124e5910d6..a56936301d 100644 --- a/addons/attach/functions/fnc_detach.sqf +++ b/addons/attach/functions/fnc_detach.sqf @@ -18,7 +18,7 @@ PARAMS_2(_attachToVehicle,_unit); -private ["_attachedObjects", "_attachedItems"]; +private ["_attachedObjects", "_attachedItems", "_itemDisplayName"]; _attachedObjects = _attachToVehicle getVariable [QGVAR(Objects), []]; _attachedItems = _attachToVehicle getVariable [QGVAR(ItemNames), []]; @@ -73,14 +73,9 @@ _attachToVehicle setVariable [QGVAR(Objects), _attachedObjects, true]; _attachToVehicle setVariable [QGVAR(ItemNames), _attachedItems, true]; // Display message -switch (true) do { -case (_itemName == "ACE_IR_Strobe_Item") : { - [localize "STR_ACE_Attach_IrStrobe_Detached"] call EFUNC(common,displayTextStructured); - }; -case (toLower _itemName in ["b_ir_grenade", "o_ir_grenade", "i_ir_grenade"]) : { - [localize "STR_ACE_Attach_IrGrenade_Detached"] call EFUNC(common,displayTextStructured); - }; -case (toLower _itemName in ["chemlight_blue", "chemlight_green", "chemlight_red", "chemlight_yellow"]) : { - [localize "STR_ACE_Attach_Chemlight_Detached"] call EFUNC(common,displayTextStructured); - }; +_itemDisplayName = getText (configFile >> "CfgWeapons" >> _itemName >> "displayName"); +if (_itemDisplayName == "") then { + _itemDisplayName = getText (configFile >> "CfgMagazines" >> _itemName >> "displayName"); }; + +[format [localize "STR_ACE_Attach_Item_Detached", _itemDisplayName]] call EFUNC(common,displayTextStructured); diff --git a/addons/attach/functions/fnc_getChildrenAttachActions.sqf b/addons/attach/functions/fnc_getChildrenAttachActions.sqf index 6ff9410475..fb432146be 100644 --- a/addons/attach/functions/fnc_getChildrenAttachActions.sqf +++ b/addons/attach/functions/fnc_getChildrenAttachActions.sqf @@ -17,6 +17,7 @@ */ #include "script_component.hpp" +private ["_listed", "_actions", "_item", "_displayName", "_picture", "_action"]; PARAMS_2(_target,_player); _listed = []; @@ -26,7 +27,7 @@ _actions = []; if !(_x in _listed) then { _listed pushBack _x; _item = ConfigFile >> "CfgMagazines" >> _x; - if (getNumber (_item >> "ACE_Attachable") == 1) then { + if (getText (_item >> "ACE_Attachable") != "") then { _displayName = getText(_item >> "displayName"); _picture = getText(_item >> "picture"); _action = [_x, _displayName, _picture, {_this call FUNC(attach)}, {_this call FUNC(canAttach)}, {}, [_x]] call EFUNC(interact_menu,createAction); @@ -39,7 +40,7 @@ _actions = []; if !(_x in _listed) then { _listed pushBack _x; _item = ConfigFile >> "CfgWeapons" >> _x; - if (getNumber (_item >> "ACE_Attachable") == 1) then { + if (getText (_item >> "ACE_Attachable") != "") then { _displayName = getText(_item >> "displayName"); _picture = getText(_item >> "picture"); _action = [_x, _displayName, _picture, {_this call FUNC(attach)}, {_this call FUNC(canAttach)}, {}, [_x]] call EFUNC(interact_menu,createAction); diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 13c468184b..70ed9666b4 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -1,179 +1,207 @@  - - - - Attach item >> - Gegenstand befestigen >> - Acoplar objeto >> - Przyczep przedmiot >> - Attacher l'objet >> - Připnout předmět >> - Acoplar item >> - Attacca l'oggetto >> - Tárgy hozzácsatolása >> - Добавить приспособления - - - Attach - Befestigen - Acoplar - Przyczep - Attacher - Připnout - Acoplar - Attacca - Hozzácsatolás - Присоединить - - - Detach item - Gegenstand entfernen - Quitar objeto - Odczep przedmiot - Détacher l'objet - Odepnout předmět - Separar item - Stacca l'oggetto - Tárgy lecsatolása - Отсоединить - - - IR Strobe Attached - IR-Stroboskop befestigt - Marcador IR acoplado - Przyczepiono stroboskop IR - Strobe IR attaché - IR Značkovač Připnutý - Marcador IV Acoplado - Strobo IR attaccata - Infravörös jeladó hozzácsatolva - ИК строб присоединён - - - IR Strobe Detached - IR-Stroboskop entfernt - Marcador IR quitado - Odczepiono stroboskop IR - Strobe IR détaché - IR Značkovač Odepnutý - Marcador IV Separado - Strobo IR staccata - Infravörös jeladó lecsatolva - ИК строб отсоединён - - - IR Grenade Attached - IR-Granate befestigt - Granada IR acoplada - Przyczepiono granat IR - Grenade IR attachée - IR Granát Připnutý - Granada IV Acoplada - Granata IR attaccata - Infravörös gránát hozzácsatolva - ИК граната присоединена - - - IR Grenade Detached - IR-Granate entfernt - Granada IR quitada - Odczepiono granat IR - Grenade IR détachée - IR Granát Odepnutý - Granada IV Separada - Granata IR staccata - Infravörös gránát lecsatolva - ИК граната отсоединена - - - Chemlight Attached - Leuchtstab befestigt - Barra de luz acoplada - Przyczepiono światło chemiczne - Chemlight attaché - Chemické světlo Připnuto - Chemlight Acoplada - Chemlight attaccata - Chemlight hozzácsatolva - Химсвет присоединён - - - Chemlight Detached - Leuchtstab entfernt - Barra de luz quitada - Odczepiono światło chemiczne - Chemlight détaché - Chemické světlo Odepnuto - Chemlight Separada - Chemlight staccata - Chemlight hozzácsatolva - Химсвет отсоединён - - - No inventory space - Kein Platz im Inventar - Sin espacio en inventario - Brak miejsca w ekwipunku - Pas de place dans l'inventaire - Není místo v inventáři - Sem espaço no inventário - Non hai più spazio - Nincs több hely - В инвентаре нет места - - - IR Strobe - IR-Stroboskop - Marcador IR - Stroboskop IR - Strobe IR - IR Značkovač - Marcador IV - Strobo IR - Infravörös jeladó - ИК строб - - - IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs. - Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist. - Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne. - El Marcador IR permite señalizar su posisición a través de una baliza visible solo a través de dispositivos de visión nocturna. - Le Strobe IR permet de signaler votre position grace à un clignotement visible par des JVN. - IR Značkovač je Infračerveně zářící stroboskop umožňující signalizaci vaší pozice díky blikajícímu světlu, které je vidět pouze při užití noktovizoru. - O Marcador IV permite que você sinalize sua posição através de um pulso visível somente com equipamento de visão noturna. - La Strobo IR è una luce stroboscopica che ti permette di segnalare la tua posizione grazie all'emissione di impulsi ad infrarossi visibili solo con i visori notturni. - Az infravörös jeladóval megjelölheted a helyzetedet úgy, hogy annak pulzáló fénye csak éjjellátó készülékkel látható. - ИК строб позволяет сигнализировать свое местоположение через пульсирующий маяк, видимый только через ПНВ. - - - Place - Platzieren - Colocar - Umieść - Placer - Položit - Colocar - Posiziona - Elhelyez - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Cancelar - Annulla - Mégse - - - Attach Failed - Échec du Attacher - Befestigen Fehlgeschlagen - Присоединить Ошибка - Error en Acoplar - - + + + Attach item >> + Gegenstand befestigen >> + Acoplar objeto >> + Przyczep przedmiot >> + Attacher l'objet >> + Připnout předmět >> + Acoplar item >> + Attacca l'oggetto >> + Tárgy hozzácsatolása >> + Прикрепить предмет + + + Attach + Befestigen + Acoplar + Przyczep + Attacher + Připnout + Acoplar + Attacca + Hozzácsatolás + Прикрепить + + + Detach item + Gegenstand entfernen + Quitar objeto + Odczep przedmiot + Détacher l'objet + Odepnout předmět + Separar item + Stacca l'oggetto + Tárgy lecsatolása + Отсоединить + + + IR Strobe Attached + IR-Stroboskop befestigt + Marcador IR acoplado + Przyczepiono stroboskop IR + Balise IR attachée + IR Značkovač připnutý + Marcador IV Acoplado + Strobo IR attaccata + Infravörös jeladó hozzácsatolva + ИК-маяк прикреплён + + + IR Strobe Detached + IR-Stroboskop entfernt + Marcador IR quitado + Odczepiono stroboskop IR + Balise IR détachée + IR Značkovač odepnutý + Marcador IV Separado + Strobo IR staccata + Infravörös jeladó lecsatolva + ИК-маяк отсоединён + + + IR Grenade Attached + IR-Granate befestigt + Granada IR acoplada + Przyczepiono granat IR + Grenade IR attachée + IR Granát připnutý + Granada IV Acoplada + Granata IR attaccata + Infravörös gránát hozzácsatolva + ИК-граната прикреплена + + + IR Grenade Detached + IR-Granate entfernt + Granada IR quitada + Odczepiono granat IR + Grenade IR détachée + IR Granát odepnutý + Granada IV Separada + Granata IR staccata + Infravörös gránát lecsatolva + ИК-граната отсоединена + + + Chemlight Attached + Leuchtstab befestigt + Barra de luz acoplada + Przyczepiono światło chemiczne + Chemlight attachée + Chemické světlo připnuto + Chemlight Acoplada + Chemlight attaccata + Chemlight hozzácsatolva + Химсвет прикреплён + + + Chemlight Detached + Leuchtstab entfernt + Barra de luz quitada + Odczepiono światło chemiczne + Chemlight détachée + Chemické světlo odepnuto + Chemlight Separada + Chemlight staccata + Chemlight hozzácsatolva + Химсвет отсоединён + + + No inventory space + Kein Platz im Inventar + Sin espacio en inventario + Brak miejsca w ekwipunku + Pas de place dans l'inventaire + Není místo v inventáři + Sem espaço no inventário + Non hai più spazio + Nincs több hely + В инвентаре нет места + + + IR Strobe + IR-Stroboskop + Marcador IR + Stroboskop IR + Balise IR + IR Značkovač + Marcador IV + Strobo IR + Infravörös jeladó + ИК-маяк + + + IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs. + Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist. + Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne. + El Marcador IR permite señalizar su posisición a través de una baliza visible solo a través de dispositivos de visión nocturna. + La balise IR permet de signaler votre position grace à un clignotement visible par des JVN. + IR Značkovač je Infračerveně zářící stroboskop umožňující signalizaci vaší pozice díky blikajícímu světlu, které je vidět pouze při užití noktovizoru. + O Marcador IV permite que você sinalize sua posição através de um pulso visível somente com equipamento de visão noturna. + La Strobo IR è una luce stroboscopica che ti permette di segnalare la tua posizione grazie all'emissione di impulsi ad infrarossi visibili solo con i visori notturni. + Az infravörös jeladóval megjelölheted a helyzetedet úgy, hogy annak pulzáló fénye csak éjjellátó készülékkel látható. + ИК-маяк позволяет сигнализировать о своём местоположении через пульсирующий свет, видимый только через ПНВ. + + + Place + Platzieren + Colocar + Umieść + Placer + Položit + Colocar + Posiziona + Elhelyez + Установить + + + Cancel + Abbrechen + Cancelar + Anuluj + Annuler + Zrušit + Cancelar + Annulla + Mégse + Отмена + + + Attach Failed + Impossible d'attacher + Befestigen fehlgeschlagen + Не удалось присоединить + Error al acoplar + Připnutí selhalo + Przyczepianie nie powiodło się + Hozzácsatolás sikertelen + + + %1<br/>Attached + %1<br/>befestigt + %1<br/>acoplada + %1<br/>przyczepiono + %1<br/>attachée + %1<br/>Připnutý + %1<br/>Acoplada + %1<br/>attaccata + %1<br/>hozzácsatolva + %1<br/>присоединен(-а) + + + %1<br/>Detached + %1<br/>entfernt + %1<br/>quitada + %1<br/>odczepiono + %1<br/>détachée + %1<br/>Odepnutý + %1<br/>Separada + %1<br/>staccata + %1<br/>lecsatolva + %1<br/>отсоединен(-а) + + diff --git a/addons/backpacks/functions/fnc_backpackOpened.sqf b/addons/backpacks/functions/fnc_backpackOpened.sqf index 1894d68f23..3f5cf53994 100644 --- a/addons/backpacks/functions/fnc_backpackOpened.sqf +++ b/addons/backpacks/functions/fnc_backpackOpened.sqf @@ -13,11 +13,7 @@ */ #include "script_component.hpp" -private ["_unit", "_target"]; - -_unit = _this select 0; -_target = _this select 1; -_backpack = _this select 2; +PARAMS_3(_unit,_target,_backpack); // do cam shake if the target is the player if ([_target] call EFUNC(common,isPlayer)) then { diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 79f99c33a4..02df51e891 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -1,20 +1,763 @@ + class CfgAmmo { class BulletCore; - + class BulletBase: BulletCore { - timeToLive = 15; // Default: 6, doubleplusgood all munition range. + timeToLive=6; }; class B_20mm : BulletBase { - timeToLive = 30; + timeToLive=30; }; class B_25mm : BulletBase { - timeToLive = 30; + timeToLive=30; }; class B_35mm_AA : BulletBase { - timeToLive = 30; + timeToLive=30; }; class B_30mm_AP : BulletBase { - timeToLive = 30; + timeToLive=30; }; -}; \ No newline at end of file + + class B_556x45_Ball : BulletBase { + airFriction=-0.001265; + hit=8; + typicalSpeed=750; + tracerStartTime = 0.073; //M856 tracer burns out to 800m + tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class ACE_556x45_Ball_Mk262 : B_556x45_Ball { + airFriction=-0.001125; + caliber=0.8; + deflecting=18; + hit=11; + typicalSpeed=836; + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class ACE_556x45_Ball_Mk318 : B_556x45_Ball { + airFriction=-0.001120; + caliber=0.8; + deflecting=18; + hit=9; + typicalSpeed=886; + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class ACE_556x45_Ball_M995_AP : B_556x45_Ball { + airFriction=-0.001120; + caliber=1.6; + deflecting=18; + hit=6; + typicalSpeed=886; + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=46; + 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.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={950, 1030, 1040}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class B_556x45_Ball_Tracer_Red; + class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { + nvgOnly = 1; + }; + class ACE_545x39_Ball_7N6M : B_556x45_Ball { + airFriction=-0.001162; + caliber=0.6; + deflecting=18; + hit=7; + typicalSpeed=880; + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_556x45_Ball_Tracer_Green; + class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Green { + airFriction=-0.001162; + caliber=0.6; + deflecting=18; + hit=7; + typicalSpeed=883; + tracerStartTime = 0.073; //7T3M tracer burns out to 850m + tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_65x39_Caseless : BulletBase { + airFriction=-0.000785; + typicalSpeed=800; + ACE_caliber=0.264; + ACE_bulletLength=1.295; + ACE_bulletMass=123; + 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.263}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; + ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; + }; + class B_65x39_Case_yellow; + class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { + nvgOnly = 1; + }; + class B_65x39_Caseless_green; + class ACE_65x39_Caseless_green_Tracer_Dim : B_65x39_Caseless_green { + nvgOnly = 1; + }; + class ACE_65x47_Ball_Scenar: B_65x39_Caseless { + airFriction=-0.00078; + typicalSpeed=820 ; + caliber=0.9; + ACE_caliber=0.264; + ACE_bulletLength=1.364; + ACE_bulletMass=139; + 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.290}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class ACE_65_Creedmor_Ball: B_65x39_Caseless { + airFriction=-0.000651; + typicalSpeed=860 ; + caliber=1.1; + ACE_caliber=0.264; + ACE_bulletLength=1.426; + ACE_bulletMass=140; + 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.317}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 820, 840, 852, 860}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class B_762x51_Ball : BulletBase { + airFriction=-0.001035; + typicalSpeed=833; + hit=9; + tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m + tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class B_762x51_Tracer_Yellow; + class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { + nvgOnly = 1; + }; + class ACE_762x51_Ball_M118LR : B_762x51_Ball { + airFriction=-0.0008525; + caliber=1.8; + hit=16; + typicalSpeed=790; + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x51_Ball_Mk316_Mod_0 : B_762x51_Ball { + airFriction=-0.0008525; + caliber=1.8; + hit=16; + typicalSpeed=790; + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; + ACE_ballisticCoefficients[]={0.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={775, 790, 805, 810}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { + airFriction=-0.00103; + caliber=1.5; + hit=14; + typicalSpeed=900; + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=130; + 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.377}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={838, 892, 910}; + ACE_barrelLengths[]={13, 16, 20}; + }; + class ACE_762x51_Ball_M993_AP : B_762x51_Ball { + airFriction=-0.00103; + caliber=2.2; + hit=11; + typicalSpeed=930; + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=127; + 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.377}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={875, 910, 930}; + ACE_barrelLengths[]={13, 16, 20}; + }; + class ACE_762x51_Ball_Subsonic : B_762x51_Ball { + airFriction=-0.000535; + caliber=1; + hit=6; + typicalSpeed=320; + ACE_caliber=0.308; + ACE_bulletLength=1.340; + ACE_bulletMass=200; + 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.235}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={305, 325, 335, 340}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_30_06_M1_Ball : B_762x51_Ball { + airFriction=-0.0009; + typicalSpeed=800; + caliber=2.0; + hit=10; + ACE_caliber=0.308; + ACE_bulletLength=1.21; + ACE_bulletMass=174; + 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.494}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 785, 800, 830, 840}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class ACE_7_Remington_Magnum_Ball : B_762x51_Ball { + airFriction=-0.0008; + typicalSpeed=820; + caliber=2.1; + hit=8; + ACE_caliber=0.284; + ACE_bulletLength=1.529; + ACE_bulletMass=180; + 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.345}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={720, 780, 812, 822, 830}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class ACE_243_Winchester_Ball : B_762x51_Ball { + airFriction=-0.00095; + typicalSpeed=915; + caliber=2.3; + hit=6; + ACE_caliber=0.243; + ACE_bulletLength=1.282; + ACE_bulletMass=180; + 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.278}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={830, 875, 900, 915, 920}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { + airFriction=-0.000830; + caliber=1.8; + hit=17; + typicalSpeed=900; + ACE_caliber=0.308; + ACE_bulletLength=1.353; + ACE_bulletMass=190; + ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; + ACE_ballisticCoefficients[]={0.268}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={865, 900, 924}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { + airFriction=-0.000815; + caliber=1.9; + hit=18; + typicalSpeed=867; + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; + ACE_ballisticCoefficients[]={0.310}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={847, 867, 877}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { + airFriction=-0.00076; + caliber=2.0; + hit=19; + typicalSpeed=853; + ACE_caliber=0.308; + ACE_bulletLength=1.602; + ACE_bulletMass=230; + 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.368}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 853, 884}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_762x54_Ball: B_762x51_Ball { + airFriction=-0.001023; + typicalSpeed=820; + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x54_Ball_7N14 : B_762x51_Ball { + airFriction=-0.001023; + caliber=1.5; + hit=15; + typicalSpeed=820; + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class B_762x54_Tracer_Green; + class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { + airFriction=-0.001023; + caliber=1.5; + hit=15; + typicalSpeed=800; + tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds + tracerEndTime = 3; + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x35_Ball : B_762x51_Ball { + airFriction=-0.000821; + caliber=1.5; + hit=11; + typicalSpeed=790; + ACE_caliber=0.308; + ACE_bulletLength=1.153; + ACE_bulletMass=125; + 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.349, 0.338, 0.330, 0.310}; + ACE_velocityBoundaries[]={792, 610, 488}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={620, 655, 675}; + ACE_barrelLengths[]={9, 16, 20}; + }; + class ACE_762x39_Ball : B_762x51_Ball { + airFriction=-0.0015168; + hit=12; + caliber=1.5; + typicalSpeed=716; + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class ACE_762x39_Ball_57N231P : B_762x54_Tracer_Green { + airFriction=-0.0015168; + hit=12; + caliber=1.5; + typicalSpeed=716; + tracerStartTime = 0.073; //57N231P tracer burns out to 800m + tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_9x21_Ball : BulletBase { + airFriction=-0.00125; + typicalSpeed=390; + hit=6; + ACE_caliber=0.356; + ACE_bulletLength=0.610; + ACE_bulletMass=115; + 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.17}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={440, 460, 480}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class ACE_9x18_Ball_57N181S : B_9x21_Ball { + hit=5; + airFriction=-0.001234; + typicalSpeed=298; + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class ACE_9x19_Ball : B_9x21_Ball { + airFriction=-0.001234; + typicalSpeed=370; + hit=6; + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class ACE_10x25_Ball : B_9x21_Ball { + airFriction=-0.00168; + typicalSpeed=425; + hit=7; + ACE_caliber=0.5; + ACE_bulletLength=0.764; + ACE_bulletMass=165; + 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.189}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 400, 430}; + ACE_barrelLengths[]={4, 4.61, 9}; + }; + class ACE_765x17_Ball: B_9x21_Ball { + airFriction=-0.001213; + typicalSpeed=282; + hit=7; + ACE_caliber=0.3125; + ACE_bulletLength=0.610; + ACE_bulletMass=65; + 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.118}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={282, 300, 320}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class ACE_303_Ball : ACE_762x51_Ball_M118LR { + airFriction=-0.00083; + typicalSpeed=761; + caliber=2.0; + ACE_caliber=0.311; + ACE_bulletLength=1.227; + ACE_bulletMass=174; + 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.499, 0.493, 0.48}; + ACE_velocityBoundaries[]={671, 549}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={748, 761, 765}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_93x64_Ball : BulletBase { + airFriction=-0.00106; + typicalSpeed=880; + ACE_caliber=0.366; + ACE_bulletLength=1.350; + ACE_bulletMass=230; + 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.368}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={850, 870, 880}; + ACE_barrelLengths[]={20, 24.41, 26}; + }; + class B_408_Ball : BulletBase { + timeToLive=10; + airFriction=-0.000395; + typicalSpeed=910; + ACE_caliber=0.408; + ACE_bulletLength=2.126; + ACE_bulletMass=410; + ACE_transonicStabilityCoef=1; + 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.97}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={910}; + ACE_barrelLengths[]={29}; + }; + class ACE_106x83mm_Ball : B_408_Ball { + timeToLive=10; + ACE_caliber=0.416; + ACE_bulletLength=2.089; + ACE_bulletMass=398; + 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.72}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={960}; + ACE_barrelLengths[]={29}; + }; + class B_338_Ball : BulletBase { + timeToLive=10; + airFriction=-0.000606; + typicalSpeed=915; + ACE_caliber=0.338; + ACE_bulletLength=1.558; + ACE_bulletMass=250; + 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.322}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={880, 915, 925}; + ACE_barrelLengths[]={20, 26, 28}; + }; + class B_338_NM_Ball : BulletBase { + airFriction=-0.000537; + typicalSpeed=820; + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + 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.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={790, 807, 820}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_338_Ball : B_338_Ball { + timeToLive=10; + airFriction=-0.000535; + typicalSpeed=826; + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + 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.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 820, 826, 830}; + ACE_barrelLengths[]={20, 24, 26.5, 28}; + }; + class ACE_338_Ball_API526 : B_338_Ball { + timeToLive=10; + airFriction=-0.000673; + caliber=2.8; + typicalSpeed=826; + ACE_caliber=0.338; + ACE_bulletLength=1.535; + ACE_bulletMass=253; + 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.290}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={880, 915, 925}; + ACE_barrelLengths[]={20, 26, 28}; + }; + class B_127x54_Ball : BulletBase { + airFriction=-0.00014; + typicalSpeed=300; + ACE_caliber=0.510; + ACE_bulletLength=2.540; + ACE_bulletMass=750; + 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[]={1.050}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={300}; + ACE_barrelLengths[]={17.2}; + }; + class B_127x99_Ball : BulletBase { + timeToLive=10; + airFriction=-0.0006; + typicalSpeed=900; + ACE_caliber=0.510; + ACE_bulletLength=2.310; + ACE_bulletMass=647; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={900}; + ACE_barrelLengths[]={29}; + }; + class ACE_127x99_API : BulletBase { + timeToLive=10; + airFriction=-0.0006; + typicalSpeed=900; + hit=25; + caliber=4.0; + ACE_caliber=0.510; + ACE_bulletLength=2.310; + ACE_bulletMass=648; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={900}; + ACE_barrelLengths[]={29}; + }; + class ACE_127x99_Ball_AMAX : B_127x99_Ball { + timeToLive=10; + airFriction=-0.000374; + typicalSpeed=860; + caliber=3.0; + ACE_caliber=0.510; + ACE_bulletLength=2.540; + ACE_bulletMass=750; + 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[]={1.050}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={860}; + ACE_barrelLengths[]={29}; + }; + class B_127x108_Ball : BulletBase { + timeToLive=10; + airFriction=-0.00064; + typicalSpeed=820; + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class B_45ACP_Ball : BulletBase { + airFriction=-0.0007182; + typicalSpeed=250; + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; +}; diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp new file mode 100644 index 0000000000..9ead13c962 --- /dev/null +++ b/addons/ballistics/CfgMagazines.hpp @@ -0,0 +1,345 @@ + +class CfgMagazines { + + class CA_Magazine; + class 30Rnd_65x39_caseless_mag: CA_Magazine { + initSpeed = 760; + }; + class 100Rnd_65x39_caseless_mag: CA_Magazine { + initSpeed = 760; + }; + class 100Rnd_65x39_caseless_mag_Tracer: 100Rnd_65x39_caseless_mag { + initSpeed = 760; + }; + class ACE_100Rnd_65x39_caseless_mag_Tracer_Dim: 100Rnd_65x39_caseless_mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x39_Caseless_Tracer_Dim"; + displayName = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription"; + picture = "\A3\weapons_f\data\ui\m_100rnd_65x39_yellow_ca.paa"; + }; + class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag { + initSpeed = 760; + }; + class ACE_200Rnd_65x39_cased_Box_Tracer_Dim: 200Rnd_65x39_cased_Box { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x39_Caseless_Tracer_Dim"; + displayName = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName"; + displayNameShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription"; + picture = "\A3\weapons_f\data\ui\m_200rnd_65x39_yellow_ca.paa"; + }; + class 30Rnd_65x39_caseless_mag_Tracer; + class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x39_Caseless_Tracer_Dim"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; + }; + class 30Rnd_65x39_caseless_green_mag_Tracer; + class ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim: 30Rnd_65x39_caseless_green_mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x39_Caseless_green_Tracer_Dim"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimDescription"; + }; + + class 30Rnd_556x45_Stanag: CA_Magazine { + }; + class ACE_30Rnd_556x45_Stanag_M995_AP_mag: 30Rnd_556x45_Stanag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_556x45_Ball_M995_AP"; + displayName = "$STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_Description"; + initSpeed = 1046; + }; + class ACE_30Rnd_556x45_Stanag_Mk262_mag: 30Rnd_556x45_Stanag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_556x45_Ball_Mk262"; + displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description"; + initSpeed = 832; + }; + class ACE_30Rnd_556x45_Stanag_Mk318_mag: 30Rnd_556x45_Stanag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_556x45_Ball_Mk318"; + displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description"; + initSpeed = 922; + }; + class 30Rnd_556x45_Stanag_Tracer_Red: 30Rnd_556x45_Stanag { + }; + class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_556x45_Ball_Tracer_Dim"; + displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription"; + picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa"; + }; + + class 20Rnd_762x51_Mag: CA_Magazine { + initSpeed = 833; + }; + class 10Rnd_762x51_Mag: 20Rnd_762x51_Mag { + initSpeed = 833; + }; + class 150Rnd_762x51_Box: CA_Magazine { + initSpeed = 833; + }; + class 150Rnd_762x51_Box_Tracer: 150Rnd_762x51_Box { + initSpeed = 833; + }; + class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "B_762x51_Tracer_Red"; + displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName"; + displayNameShort = "$STR_ACE_20Rnd_762x51_mag_TracerNameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_mag_TracerDescription"; + tracersEvery = 1; + }; + + class ACE_20Rnd_762x51_Mag_Tracer_Dim: ACE_20Rnd_762x51_Mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_762x51_Tracer_Dim"; + displayName = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimDescription"; + }; + + class ACE_20Rnd_762x51_Mag_SD: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_Subsonic"; + displayName = "$STR_ACE_20Rnd_762x51_mag_SDName"; + displayNameShort = "$STR_ACE_20Rnd_762x51_mag_SDNameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_mag_SDDescription"; + initSpeed = 325; + }; + + class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_M118LR"; + count = 10; + displayName = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Description"; + initSpeed = 780; + }; + class ACE_10Rnd_762x51_Mk316_Mod_0_Mag: 10Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_Mk316_Mod_0"; + count = 10; + displayName = "$STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_Description"; + initSpeed = 790; + }; + class ACE_10Rnd_762x51_Mk319_Mod_0_Mag: 10Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_Mk319_Mod_0"; + count = 10; + displayName = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Description"; + initSpeed = 900; + }; + class ACE_10Rnd_762x51_M993_AP_Mag: 10Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_M993_AP"; + count = 10; + displayName = "$STR_ACE_10Rnd_762x51_M993_AP_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x51_M993_AP_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x51_M993_AP_Mag_Description"; + initSpeed = 920; + }; + class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_M118LR"; + displayName = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description"; + initSpeed = 780; + }; + class ACE_20Rnd_762x51_Mk316_Mod_0_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_Mk316_Mod_0"; + count = 20; + displayName = "$STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_Description"; + initSpeed = 790; + }; + class ACE_20Rnd_762x51_Mk319_Mod_0_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_Mk319_Mod_0"; + displayName = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Description"; + initSpeed = 900; + }; + class ACE_20Rnd_762x51_M993_AP_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_M993_AP"; + count = 20; + displayName = "$STR_ACE_20Rnd_762x51_M993_AP_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x51_M993_AP_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_M993_AP_Mag_Description"; + initSpeed = 920; + }; + class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x67_Ball_Mk248_Mod_0"; + displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description"; + initSpeed = 900; + }; + class ACE_20Rnd_762x67_Mk248_Mod_1_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x67_Ball_Mk248_Mod_1"; + displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description"; + initSpeed = 880; + }; + class ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x67_Ball_Berger_Hybrid_OTM"; + displayName = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description"; + initSpeed = 832; + }; + class ACE_30Rnd_65x47_Scenar_mag: 30Rnd_65x39_caseless_mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x47_Ball_Scenar"; + displayName = "$STR_ACE_30Rnd_65x47_Scenar_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_65x47_Scenar_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x47_Scenar_mag_Description"; + }; + class ACE_30Rnd_65_Creedmor_mag: 30Rnd_65x39_caseless_mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65_Creedmor_Ball"; + displayName = "$STR_ACE_30Rnd_65_Creedmor_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_65_Creedmor_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_65_Creedmor_mag_Description"; + }; + class 10Rnd_338_Mag; + class ACE_10Rnd_338_300gr_HPBT_Mag: 10Rnd_338_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_338_Ball"; + displayName = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Description"; + initSpeed = 800; + }; + class ACE_10Rnd_338_API526_Mag: 10Rnd_338_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_338_Ball_API526"; + displayName = "$STR_ACE_10Rnd_338_API526_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_338_API526_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_API526_Mag_Description"; + initSpeed = 880; + }; + + class 5Rnd_127x108_Mag; + class ACE_5Rnd_127x99_Mag: 5Rnd_127x108_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "B_127x99_Ball"; + displayName = "$STR_ACE_5Rnd_127x99_Mag_Name"; + displayNameShort = "$STR_ACE_5Rnd_127x99_Mag_NameShort"; + descriptionShort = "$STR_ACE_5Rnd_127x99_Mag_Description"; + initSpeed = 900; + }; + class ACE_5Rnd_127x99_API_Mag: 5Rnd_127x108_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_127x99_API"; + displayName = "$STR_ACE_5Rnd_127x99_API_Mag_Name"; + displayNameShort = "$STR_ACE_5Rnd_127x99_API_Mag_NameShort"; + descriptionShort = "$STR_ACE_5Rnd_127x99_API_Mag_Description"; + initSpeed = 900; + }; + class ACE_5Rnd_127x99_AMAX_Mag: 5Rnd_127x108_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_127x99_Ball_AMAX"; + displayName = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Name"; + displayNameShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_NameShort"; + descriptionShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Description"; + initSpeed = 860; + }; + + + class 30Rnd_9x21_Mag: CA_Magazine { + initSpeed = 450; + }; + class ACE_30Rnd_9x19_mag: 30Rnd_9x21_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_9x19_Ball"; + displayName = "$STR_ACE_30Rnd_9x19_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_9x19_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_9x19_mag_Description"; + initSpeed = 370; + }; + + class 11Rnd_45ACP_Mag: CA_Magazine { + initSpeed = 250; + }; + + class 6Rnd_45ACP_Cylinder : 11Rnd_45ACP_Mag { + initSpeed = 250; + }; + + class 30Rnd_45ACP_Mag_SMG_01: 30Rnd_9x21_Mag { + initSpeed = 250; + }; + + class 9Rnd_45ACP_Mag: 30Rnd_45ACP_Mag_SMG_01 { + initSpeed = 250; + }; + + class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: 30Rnd_45ACP_Mag_SMG_01 { + initSpeed = 250; + }; + + class 16Rnd_9x21_Mag: 30Rnd_9x21_Mag { + initSpeed = 450; + }; + class ACE_16Rnd_9x19_mag: 16Rnd_9x21_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_9x19_Ball"; + displayName = "$STR_ACE_16Rnd_9x19_mag_Name"; + displayNameShort = "$STR_ACE_16Rnd_9x19_mag_NameShort"; + descriptionShort = "$STR_ACE_16Rnd_9x19_mag_Description"; + initSpeed = 370; + }; + + class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag { + initSpeed = 800; + }; + class ACE_10Rnd_762x54_Tracer_mag: 16Rnd_9x21_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x54_Ball_7T2"; + displayName = "$STR_ACE_10Rnd_762x54_Tracer_mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_Description"; + initSpeed = 800; + }; + + class 150Rnd_762x54_Box: 150Rnd_762x51_Box { + initSpeed = 750; + }; + + class 150Rnd_93x64_Mag: CA_Magazine { + initSpeed = 860; + }; + + class 10Rnd_127x54_Mag: CA_Magazine { + initSpeed = 300; + }; +}; diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index efd2132d95..c43782d024 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -9,4 +9,217 @@ class CfgVehicles { //hitPart = "systemChat str _this"; }; }; + + class NATO_Box_Base; + class Box_NATO_Wps_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + }; + }; + + class Box_NATO_WpsSpecial_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_API_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); + }; + }; + + class Box_NATO_Ammo_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_API_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); + }; + }; + + class Box_NATO_Support_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M993_AP_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M993_AP_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_API_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); + }; + }; + + class ReammoBox_F; + class B_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + }; + }; + + class EAST_Box_Base; + class Box_East_Wps_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class Box_East_WpsSpecial_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class Box_East_Ammo_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class Box_East_Support_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,6); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class IND_Box_Base; + class Box_IND_Wps_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_M995_AP_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class Box_IND_WpsSpecial_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4); + }; + }; + + class Box_IND_Ammo_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_M995_AP_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class FIA_Box_Base_F; + class Box_FIA_Wps_F: FIA_Box_Base_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_M995_AP_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class Box_FIA_Ammo_F: FIA_Box_Base_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_M995_AP_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class I_supplyCrate_F: B_supplyCrate_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_M995_AP_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class IG_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_M995_AP_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class C_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + }; + }; + + class ACE_Box_Ammo: NATO_Box_Base { + scope = 2; + accuracy = 1000; + displayName = "[ACE] Ammo Supply Crate"; + model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; + author = "$STR_ACE_Common_ACETeam"; + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M993_AP_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M993_AP_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_1_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_M995_AP_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65_Creedmor_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_API_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); + }; + }; }; diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 2319f8279b..7e647d2605 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -3,11 +3,49 @@ class Mode_SemiAuto; class Mode_FullAuto; class CfgWeapons { - - /* MX */ - + class DMR_02_base_F; + class DMR_03_base_F; + class DMR_04_base_F; + class DMR_05_base_F; + class DMR_06_base_F; + class GM6_base_F; + class LMG_RCWS; + class LRR_base_F; + class MGun; + class MGunCore; + class MMG_01_base_F; + class MMG_02_base_F; class Rifle_Base_F; + class Rifle_Long_Base_F; + class WeaponSlotsInfo; + class MuzzleSlot; + + /* Long Rifles */ + + class EBR_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + /* MX */ + class arifle_MX_Base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; class Single: Mode_SemiAuto { dispersion = 0.000800; // radians. Equal to 2.75 MOA. // Based on widely cited 2 MOA figure for new 5.56 ACR. @@ -17,8 +55,25 @@ class CfgWeapons { dispersion = 0.00147; // radians. Equal to 5.1 MOA. }; }; - class arifle_MX_SW_F: arifle_MX_Base_F { + magazines[] = { + "100Rnd_65x39_caseless_mag_Tracer", + "100Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_100Rnd_65x39_caseless_mag_Tracer_Dim", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; + initSpeed = -1.0; + ACE_barrelTwist=9; + ACE_barrelLength=16.0; + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + // Shit is broken again + //compatibleItems[] += {"ACE_muzzle_mzls_H"}; + compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; + }; + }; class Single: Mode_SemiAuto { dispersion = 0.000800; // radians. Equal to 2.75 MOA. // Based on widely cited 2 MOA figure for new 5.56 ACR. @@ -28,8 +83,17 @@ class CfgWeapons { dispersion = 0.00147; // radians. Equal to 5.1 MOA. }; }; - class arifle_MXM_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", + "ACE_30Rnd_65x47_Scenar_mag", + "ACE_30Rnd_65_Creedmor_mag" + }; + initSpeed = -1.018; + ACE_barrelTwist=9; + ACE_barrelLength=18; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. // 6.5mm is easily capable of this in a half-tuned rifle. @@ -42,8 +106,12 @@ class CfgWeapons { /* Katiba */ - class arifle_katiba_Base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; class Single: Mode_SemiAuto { dispersion = 0.000800; // radians. Equal to 2.75 MOA. // Based on widely cited 2 MOA figure for new 5.56 ACR? @@ -57,9 +125,20 @@ class CfgWeapons { /* Other */ - - class Rifle_Long_Base_F: Rifle_Base_F {}; class LMG_Mk200_F: Rifle_Long_Base_F { + magazines[] = { + "200Rnd_65x39_cased_Box", + "200Rnd_65x39_cased_Box_Tracer", + "ACE_200Rnd_65x39_cased_Box_Tracer_Dim" + }; + initSpeed = -0.9763; + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + ACE_barrelTwist=7; + ACE_barrelLength=12.5; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -68,8 +147,15 @@ class CfgWeapons { dispersion = 0.00175; // radians. Equal to 6 MOA. }; }; - class LMG_Zafir_F: Rifle_Long_Base_F { + initSpeed = -1.0; + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + ACE_barrelTwist=12; + ACE_barrelLength=18.1; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -81,19 +167,26 @@ class CfgWeapons { /* Assault Rifles */ - class Tavor_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; class Single: Mode_SemiAuto { dispersion = 0.000727; // radians. Equal to 2.5 MOA, about the limit of mass-produced M855. - // }; class FullAuto: Mode_FullAuto { dispersion = 0.00147; // radians. Equal to 5.1 MOA. }; }; - class mk20_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; class Single: Mode_SemiAuto { dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus // some extra for these worn out Greek Army service rifles. @@ -106,8 +199,8 @@ class CfgWeapons { /* SMGs */ - class SDAR_base_F: Rifle_Base_F { + initSpeed = -0.989; class Single: Mode_SemiAuto { dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus // some extra because Kel-Tec. @@ -117,4 +210,711 @@ class CfgWeapons { dispersion = 0.00147; // radians. Equal to 5.1 MOA. }; }; + class pdw2000_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + class SMG_01_Base: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + class SMG_02_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + /* Pistols */ + + class Pistol; + class Pistol_Base_F: Pistol { + class WeaponSlotsInfo; + }; + + class hgun_P07_F: Pistol_Base_F { + initSpeed = -0.9778; + ACE_barrelTwist=10; + ACE_barrelLength=4; + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_Rook40_F: Pistol_Base_F { + initSpeed = -1.0; + ACE_barrelTwist=10; + ACE_barrelLength=4.4; + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_ACPC2_F: Pistol_Base_F { + initSpeed = -1.0; + ACE_barrelTwist=16; + ACE_barrelLength=5; + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class hgun_Pistol_heavy_01_F: Pistol_Base_F { + initSpeed = -0.96; + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class hgun_Pistol_heavy_02_F: Pistol_Base_F { + initSpeed = -0.92; + ACE_barrelTwist=16; + ACE_barrelLength=3; + /* + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + */ + }; + class hgun_PDW2000_F: pdw2000_base_F { + initSpeed = -1.157; + ACE_barrelTwist=9; + ACE_barrelLength=7; + }; + 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; + ACE_barrelTwist=8; + ACE_barrelLength=28.7; + }; + class arifle_Katiba_C_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.07; + ACE_barrelTwist=8; + ACE_barrelLength=26.8; + }; + class arifle_Katiba_GL_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; + ACE_barrelTwist=8; + ACE_barrelLength=28.7; + }; + class arifle_MX_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; + initSpeed = -0.99; + ACE_barrelTwist=9; + ACE_barrelLength=14.5; + }; + class arifle_MX_GL_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; + initSpeed = -0.99; + ACE_barrelTwist=9; + ACE_barrelLength=14.5; + }; + /* + class arifle_MX_SW_F: arifle_MX_Base_F { + ACE_barrelTwist=9; + ACE_barrelLength=16.0; + }; + */ + class arifle_MXC_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; + initSpeed = -0.965; + ACE_barrelTwist=8; + ACE_barrelLength=10.5; + }; + /* + class arifle_MXM_F: arifle_MX_Base_F { + ACE_barrelTwist=9; + ACE_barrelLength=18; + }; + */ + class arifle_SDAR_F: SDAR_base_F { + magazines[] = { + "20Rnd_556x45_UW_mag", + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_M995_AP_mag", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.989; + ACE_barrelTwist=11.25; + ACE_barrelLength=18; + }; + class SMG_02_F: SMG_02_base_F { + initSpeed = -1.054; + ACE_barrelTwist=10; + ACE_barrelLength=7.7; + }; + class arifle_TRG20_F: Tavor_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_M995_AP_mag", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.95; + ACE_barrelTwist=7; + ACE_barrelLength=15; + }; + class arifle_TRG21_F: Tavor_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_M995_AP_mag", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.989; + ACE_barrelTwist=7; + ACE_barrelLength=18.1; + }; + class arifle_TRG21_GL_F: arifle_TRG21_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_M995_AP_mag", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.989; + ACE_barrelTwist=7; + ACE_barrelLength=18.1; + }; + /* + class LMG_Zafir_F: Rifle_Long_Base_F { + ACE_barrelTwist=12; + ACE_barrelLength=18.1; + }; + */ + class arifle_Mk20_F: mk20_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_M995_AP_mag", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.98; + ACE_barrelTwist=7; + ACE_barrelLength=17.4; + }; + class arifle_Mk20C_F: mk20_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_M995_AP_mag", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.956; + ACE_barrelTwist=7; + ACE_barrelLength=16; + }; + class arifle_Mk20_GL_F: mk20_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_M995_AP_mag", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.956; + ACE_barrelTwist=7; + ACE_barrelLength=16; + }; + class SMG_01_F: SMG_01_Base { + initSpeed = -1.016; + ACE_barrelTwist=16; + ACE_barrelLength=5.5; + }; + class srifle_DMR_01_F: DMR_01_base_F { + magazines[] = { + "10Rnd_762x54_Mag", + "ACE_10Rnd_762x54_Tracer_mag" + }; + initSpeed = -1.025; + ACE_barrelTwist=9.5; + ACE_barrelLength=24; + }; + class srifle_EBR_F: EBR_base_F { + magazines[] = { + "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer_Dim", + "ACE_20Rnd_762x51_Mk316_Mod_0_Mag", + "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mk319_Mod_0_Mag", + "ACE_20Rnd_762x51_M993_AP_Mag", + "ACE_20Rnd_762x51_Mag_SD" + }; + initSpeed = -0.9724; + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; + /* + class LMG_Mk200_F: Rifle_Long_Base_F { + initSpeed = -1.0; + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + */ + class srifle_LRR_F: LRR_base_F { + initSpeed = -1.0; + ACE_barrelTwist=13; + ACE_barrelLength=29; + }; + class srifle_GM6_F: GM6_base_F { + magazines[] = { + "5Rnd_127x108_Mag", + "5Rnd_127x108_APDS_Mag", + "ACE_5Rnd_127x99_Mag", + "ACE_5Rnd_127x99_API_Mag", + "ACE_5Rnd_127x99_AMAX_Mag" + }; + initSpeed = -1.0; + ACE_barrelTwist=15; + ACE_barrelLength=36.6; + }; + class srifle_DMR_02_F: DMR_02_base_F { + magazines[] = { + "10Rnd_338_Mag", + "ACE_10Rnd_338_300gr_HPBT_Mag", + "ACE_10Rnd_338_API526_Mag", + "ACE_20Rnd_762x67_Mk248_Mod_0_Mag", + "ACE_20Rnd_762x67_Mk248_Mod_1_Mag", + "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" + }; + initSpeed = -0.962; + ACE_barrelTwist=10; + ACE_barrelLength=20; + }; + class srifle_DMR_03_F: DMR_03_base_F { + magazines[] = { + "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer_Dim", + "ACE_20Rnd_762x51_Mk316_Mod_0_Mag", + "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mk319_Mod_0_Mag", + "ACE_20Rnd_762x51_M993_AP_Mag", + "ACE_20Rnd_762x51_Mag_SD" + }; + initSpeed = -0.9843; + ACE_barrelTwist=10; + ACE_barrelLength=20; + }; + class srifle_DMR_04_F: DMR_04_base_F { + initSpeed = -1.0; + ACE_barrelTwist=8; + ACE_barrelLength=17.72; + }; + class srifle_DMR_05_blk_F: DMR_05_base_F { + initSpeed = -1.0; + ACE_barrelTwist=14.17; + ACE_barrelLength=24.41; + }; + class srifle_DMR_06_camo_F: DMR_06_base_F { + magazines[] = { + "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer_Dim", + "ACE_20Rnd_762x51_Mk316_Mod_0_Mag", + "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mk319_Mod_0_Mag", + "ACE_20Rnd_762x51_M993_AP_Mag", + "ACE_20Rnd_762x51_Mag_SD" + }; + initSpeed = -0.9916; + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class MMG_01_hex_F: MMG_01_base_F { + initSpeed = -1.0; + ACE_barrelTwist=14.17; + ACE_barrelLength=21.65; + }; + class MMG_02_camo_F: MMG_02_base_F { + initSpeed = -1.0; + ACE_barrelTwist=9.25; + ACE_barrelLength=24; + }; + + class HMG_127 : LMG_RCWS { + }; + class HMG_01: HMG_127 { + }; + class HMG_M2: HMG_01 { + initSpeed = -1.0; + ACE_barrelTwist=12; + ACE_barrelLength=45; + }; + + /* Silencers */ + + class ItemCore; + class InventoryMuzzleItem_Base_F; + + class muzzle_snds_H: ItemCore { + class ItemInfo: InventoryMuzzleItem_Base_F { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_L: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_M: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_B: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_H_MG: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_H_SW: muzzle_snds_H_MG { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_acp: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_338_black: ItemCore { + class ItemInfo: InventoryMuzzleItem_Base_F { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_93mmg: ItemCore { + class ItemInfo: InventoryMuzzleItem_Base_F { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; }; diff --git a/addons/ballistics/config.cpp b/addons/ballistics/config.cpp index 4b9944364c..66ff7d188e 100644 --- a/addons/ballistics/config.cpp +++ b/addons/ballistics/config.cpp @@ -2,16 +2,17 @@ class CfgPatches { class ADDON { - units[] = {"ACE_TargetWall"}; + units[] = {"ACE_TargetWall","ACE_Box_Ammo"}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; - author[] = {"TaoSensai","commy2"}; + author[] = {"TaoSensai","commy2","Ruthberg"}; authorUrl = "https://github.com/Taosenai/tmr"; VERSION_CONFIG; }; }; -#include "CfgVehicles.hpp" +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" #include "CfgWeapons.hpp" -#include "CfgAmmo.hpp" \ No newline at end of file +#include "CfgVehicles.hpp" diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml new file mode 100644 index 0000000000..f885a79691 --- /dev/null +++ b/addons/ballistics/stringtable.xml @@ -0,0 +1,1187 @@ + + + + + + 6.5mm 30Rnd Tracer IR-DIM Mag + 6,5mm Nyomjelző IR-DIM 30-as Tár + 6,5mm 30-Patronen-Magazin Leuchtspur IR-DIM + Cargador de 30 balas trazadoras IR-DIM de 6,5mm + Ch. 6,5mm 30Cps Traçantes IR-DIM + Magazynek 6,5mm 30rd Smugacz IR-DIM + 6.5mm 30ks Svítící IR-DIM Zásobník + Carregador de 30 projéteis traçantes IR-DIM de 6,5mm + Caricatore 6.5mm 30Rnd Traccianti IR-DIM + Магазин из 30-ти 6,5 мм ИК-трассирующих + + + 6.5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6,5 мм ИК-трассирующие + + + Caliber: 6.5x39mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Calibre: 6,5x39mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL + + + 6.5mm 30Rnd SD Mag + 6,5mm Halk 30-as Tár + 6,5mm 30-Patronen-Magazin SD + Cargador de 30 balas SD de 6,5mm + Ch. 6,5mm 30Cps SD + Magazynek 6,5mm 30rd SD + 6.5mm 30ks SD Zásobník + Carregador de 30 projéteis SD de 6,5mm + Caricatore 6.5mm 30Rnd Sil. + Магазин из 30-ти 6,5 мм дозвуковых + + + 6.5mm SD + 6,5mm Halk + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6.5mm SD + 6,5mm SD + 6.5mm Sil. + 6,5 мм дозвуковые + + + Caliber: 6.5x39mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Halk<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Calibre: 6,5x39mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5x39mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL + + + 6.5mm 30Rnd AP Mag + 6,5mm Páncéltörő 30-as Tár + 6,5mm 30-Patronen-Magazin AP + Cargador de 30 balas AP de 6,5mm + Ch. 6,5mm 30Cps AP + Magazynek 6,5mm 30rd AP + 6.5mm 30ks AP Zásobník + Carregador de 30 projéteis AP de 6,5mm + Caricatore 6.5mm 30Rnd AP + Магазин из 30-ти 6,5 мм бронебойных + + + 6.5mm AP + 6,5mm Páncéltörő + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6.5mm AP + 6,5mm AP + 6.5mm AP + 6,5 мм бронебойные + + + Caliber: 6.5x39mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Páncéltörő<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Calibre: 6,5x39mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5x39mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL + + + + 6.5mm 30Rnd Tracer IR-DIM Mag + 6,5mm IR-DIM Nyomjelző 30-as Tár + 6,5mm 30-Patronen-Magazin Leuchtspur IR-DIM + Cargador de 30 balas trazadoras IR-DIM de 6,5mm + Ch. 6,5mm 30Cps Traçantes IR-DIM + Magazynek 6,5mm 30rd Smugacz IR-DIM + 6.5mm 30ks Svítící IR-DIM Zásobník + Carregador de 30 projéteis traçantes IR-DIM de 6,5mm + Caricatore 6.5mm 30Rnd Traccianti IR-DIM + Магазин из 30-ти 6,5 мм ИК-трассирующих + + + 6.5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6,5 мм ИК-трассирующие + + + Caliber: 6.5x39mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: Katiba + Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba + Calibre: 6,5x39mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5x39mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: Katiba + Ráže: 6.5x39mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba + Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: Katiba + + + 6.5mm 30Rnd SD Mag + 6,5mm Halk 30-as Tár + 6,5mm 30-Patronen-Magazin SD + Cargador de 30 balas SD de 6,5mm + Ch. 6,5mm 30Cps SD + Magazynek 6,5mm 30rd SD + 6.5mm 30ks SD Zásobník + Carregador de 30 projéteis SD de 6,5mm + Caricatore 6.5mm 30Rnd Sil. + Магазин из 30-ти 6,5 мм дозвуковых + + + 6.5mm SD + 6,5mm Halk + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6.5mm SD + 6,5mm SD + 6.5mm Sil. + 6,5 мм дозвуковые + + + Caliber: 6.5x39mm SD<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39mm Halk<br />Lövedékek: 30<br />Használható: Katiba + Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba + Calibre: 6,5x39mm SD<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5x39mm SD<br />Naboje: 30<br />Używane w: Katiba + Ráže: 6.5x39mm SD<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39mm SD<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39mm Sil.<br />Munizioni: 30<br />In uso su: Katiba + Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: Katiba + + + 6.5mm 30Rnd AP Mag + 6,5mm Páncéltörő 30-as Tár + 6,5mm 30-Patronen-Magazin AP + Cargador de 30 balas AP de 6,5mm + Ch. 6,5mm 30Cps AP + Magazynek 6,5mm 30rd AP + 6.5mm 30ks AP Zásobník + Carregador de 30 projéteis AP de 6,5mm + Caricatore 6.5mm 30Rnd AP + Магазин из 30-ти 6,5 мм бронебойных + + + 6.5mm AP + 6,5mm Páncéltörő + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6.5mm AP + 6,5mm AP + 6.5mm AP + 6,5 мм бронебойные + + + Caliber: 6.5x39mm AP<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39mm Páncéltörő<br />Lövedékek: 30<br />Használható: Katiba + Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba + Calibre: 6,5x39mm AP<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5x39mm AP<br />Pociski: 30<br />Używane w: Katiba + Ráže: 6.5x39mm AP<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39mm AP<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39mm AP<br />Munizioni: 30<br />In uso su: Katiba + Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: Katiba + + + + 5.56mm 30rnd Tracer IR-DIM Mag + 5,56mm Nyomjelző IR-DIM 30-as Tár + 5,56mm 30-Patronen-Magazin Leuchtspur IR-DIM + Cargador de 30 balas trazadoras IR-DIM de 5,56mm + Ch. 5,56mm 30Cps Traçantes IR-DIM + Magazynek 5,56mm 30rd Smugacz IR-DIM + 5.56mm 30ks Svítící IR-DIM Zásobník + Carregador de 30 projéteis traçantes IR-DIM de 5,56mm + Caricatore 5.56mm 30rnd Traccianti IR-DIM + Магазин из 30-ти 5,56 мм ИК-трассирующих + + + 5.56mm IR-DIM + 5,56mm IR-DIM + 5,56mm IR-DIM + 5,56mm IR-DIM + 5,56mm IR-DIM + 5,56mm IR-DIM + 5.56mm IR-DIM + 5,56mm IR-DIM + 5.56mm IR-DIM + 5,56 мм ИК-трассирующие + + + Caliber: 5.56x45mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Ráže: 5.56x45mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibro: 5.56x45mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Калибр: 5,56x45 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + + + + 7.62mm 20rnd Tracer Mag + 7,62mm Nyomjelző IR-DIM 20-as Tár + 7,62mm 20-Patronen-Magazin Leuchtspur + Cargador de 20 balas trazadores de 7,62mm + Ch. 7,62mm 20Cps Traçantes + Magazynek 7,62mm 20rd Smugacz + 7.62mm 20ks Svítící Zásobník + Carregador de 20 projéteis traçantes de 7,62mm + Caricatore 7.62mm 20Rnd Traccianti + Магазин из 20-ти 7,62 мм трассирующих + + + 7.62mm Tracer + 7,62mm Nyomjelző + 7,62mm Leuchtspur + 7,62mm trazadora + 7,62mm Traçantes + 7,62mm Smugacz + 7.62mm Svítící + 7,62mm Traçante + 7.62mm Traccianti + 7,62 мм трассирущие + + + Caliber: 7.62x51mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51mm Nyomjelző<br />Lövedékek: 20<br />Használható: Mk18 ABR + Kaliber: 7,62x51mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR + Calibre: 7,62x51mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62x51mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR + Калибр: 7,62x51 мм трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR + + + 7.62mm 20rnd Tracer IR-DIM Mag + 7,62mm Nyomjelző IR-DIM 20-as Tár + 7,62mm 20-Patronen-Magazin Leuchtspur IR-DIM + Cargador de 20 balas trazadoras IR-DIM de 7,62mm + Ch. 7,62mm 20Cps Traçantes IR-DIM + Magazynek 7,62mm 20rd Smugacz IR-DIM + 7.62mm 20ks Svítící IR-DIM Zásobník + Carregador de 20 projéteis IR-DIM de 7,62mm + Caricatore 7.62mm 20rnd Traccianti IR-DIM + Магазин из 20-ти 7,62 мм ИК-трассирующих + + + 7.62mm IR-DIM + 7,62mm IR-DIM + 7,62mm IR-DIM + 7,62mm IR-DIM + 7,62mm IR-DIM + 7,62mm IR-DIM + 7.62mm IR-DIM + 7,62mm IR-DIM + 7.62mm IR-DIM + 7,62 мм ИК-трассирующие + + + Caliber: 7.62x51mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51mm Nyomjelző IR-DIM<br />Lövedékek: 20<br />Használható: Mk18 ABR + Kaliber: 7,62x51mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR + Calibre: 7,62x51mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62x51mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR + Калибр: 7,62x51 мм ИК-трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR + + + 7.62mm 20Rnd SD Mag + 7,62mm Halk 20-as Tár + 7,62mm 20-Patronen-Magazin SD + Cargador de 20 balas SD de 7,62mm + Ch. 7,62mm 20Cps SD + Magazynek 7,62mm 20rd SD + 7.62mm 20ks SD Zásobník + Carregador de 20 projéteis SD de 7,62mm + Caricatore 7.62mm 20Rnd Sil. + Магазин из 20-ти 7,62 мм дозвуковых + + + 7.62mm SD + 7,62mm Halk + 7,62mm SD + 7,62mm SD + 7,62mm SD + 7,62mm SD + 7.62mm SD + 7,62mm SD + 7.62mm Sil. + 7,62 мм дозвуковые + + + Caliber: 7.62x51mm SD<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51mm Halk<br />Lövedékek: 20<br />Használható: Mk18 ABR + Kaliber: 7,62x51mm SD<br />Patronen: 20<br />Eingesetzt von: EBR + Calibre: 7,62x51mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51mm SD<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62x51mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51mm SD<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR + Калибр: 7,62x51 мм дозвуковые<br />Патронов: 20<br />Используются с: Mk18 ABR + + + + .338 NM 130Rnd Tracer Belt + .338 NM 130-Patronen-Gurt Leuchtspur + Taśma .338 NM 130rd Smugacz + Bande .338 NM 130Cps Traçante + Cinta de 130 balas trazadoras de .338 NM + Лента из 130-ти .338 NM трассирующих + + + .338 NM Tracer + .338 NM Leuchtspur + .338 NM Tracer + .338 NM Svítící + .338 NM Traçante + .338 NM trazadora + .338 NM трассирующие + + + Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG + Kaliber: .338 Norma Magnum Leuchtspur<br />Patronen: 130<br />Eingesetzt von: SPMG + Kaliber: .338 Norma Magnum Smugacz<br />Pociski: 130<br />Używany w: SPMG + Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG + Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG + Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG + + + .338 NM 130Rnd IR-DIM Belt + .338 NM 130-Patronen-Gurt Leuchtspur IR-DIM + Taśma .338 NM 130rd IR-DIM + Bande .338 NM 130Cps IR-DIM + Cinta de 130 balas IR-DIM de .338 NM + Лента из 130-ти .338 NM ИК-трассирующих + + + .338 NM IR-DIM + .338 LM IR-DIM + .338 NM IR-DIM + .338 NM IR-DIM + .338 NM IR-DIM + .338 NM IR-DIM + .338 NM ИК-трассирующие + + + Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG + Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Patronen: 130<br />Eingesetzt von: SPMG + Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG + Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG + Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG + Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG + + + .338 NM 130Rnd AP Belt + .338 NM 130-Patronen-Gurt Hartkern + Taśma .338 NM 130rd AP + Bande .338 NM 130Cps AP + Cinta de 130 balas AP de .338 NM + Лента из 130-ти .338 NM бронебойных + + + .338 NM AP + .338 NM AP + .338 NM AP + .338 NM AP + .338 NM AP + .338 NM AP + .338 NM бронебойные + + + Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG + Kaliber: .338 Norma Magnum Hartkern<br />Patronen: 130<br />Eingesetzt von: SPMG + Kaliber: .338 Norma Magnum AP<br />Pociski: 130<br />Używane w: SPMG + Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG + Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG + Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG + + + + 9.3mm 10Rnd Tracer Mag + 9,3mm 10-Patronen-Magazin Leuchtspur + Magazynek 9.3mm 10rd Smugacz + Chargeur 9.3mm 10Cps Traçante + Cargador de 10 balas trazadoras de 9.3mm + Магазин из 10-ти 9,3 мм трассирующих + + + 9.3mm Tracer + 9,3mm Leuchtspur + 9,3mm Smugacz + 9.3mm Svítící + 9.3mm Traçante + 9.3mm trazadora + 9,3 мм трассирующие + + + Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus + Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 10<br />Eingesetzt von: Cyrus + Kaliber: 9,3x64mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus + Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus + Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus + + + 9.3mm 10Rnd Tracer IR-DIM Mag + 9,3mm 10-Patronen-Magazin Leuchtspur IR-DIM + Magazynek 9,3mm 10rd Smugacz IR-DIM + Chargeur 9.3mm 10Cps Traçante IR-DIM + Cargador de 10 balas trazadoras IR-DIM de 9.3mm + Магазин из 10-ти 9,3 мм ИК-трассирующих + + + 9.3mm IR-DIM + 9,3mm IR-DIM + 9,3mm IR-DIM + 9.3mm IR-DIM + 9.3mm IR-DIM + 9.3mm IR-DIM + 9,3 мм ИК-трассирующие + + + Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus + Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 10<br />Eingesetzt von: Cyrus + Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus + Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus + Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus + + + + 9.3mm 150Rnd Tracer Belt + 9,3mm 150-Patronen-Gurt Leuchtspur + Taśma 9,3mm 150rd Smugacz + Bande 9.3mm 150Cps Traçante + Cinta de 150 balas trazadoras de 9.3mm + Лента из 150-ти 9,3 мм трассирующих + + + 9.3mm Tracer + 9,3mm Leuchtspur + 9,3mm Smugacz + 9.3mm Svítící + 9.3mm Traçante + 9.3mm trazadora + 9,3 мм трассирующие + + + Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid + Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 150<br />Eingesetzt von: Navid + Kaliber: 9,3x64mm Smugacz<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid + Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid + Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид + + + 9.3mm 150Rnd Tracer IR-DIM Belt + 9,3mm 150-Patronen-Gurt Leuchtspur IR-DIM + Taśma 9,3mm 150rd Smugacz IR-DIM + Bande 9.3mm 150Cps Traçante IR-DIM + Cinta de 150 balas trazadoras IR-DIM de 9.3mm + Лента из 150-ти 9,3 мм ИК-трассирующих + + + 9.3mm IR-DIM + 9,3mm IR-DIM + 9,3mm IR-DIM + 9.3mm IR-DIM + 9.3mm IR-DIM + 9.3mm IR-DIM + 9,3 мм ИК-трассирующие + + + Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid + Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 150<br />Eingesetzt von: Navid + Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid + Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid + Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид + + + 9.3mm 150Rnd AP Belt + 9,3mm 150-Patronen-Gurt Hartkern + Taśma 9,3mm 150rd AP + Bande 9.3mm 150Cps AP + Cinta de 150 balas AP de 9.3mm + Лента из 150-ти 9,3 мм бронебойных + + + 9.3mm AP + 9,3mm AP + 9,3mm AP + 9.3mm AP + 9.3mm AP + 9.3mm AP + 9,3 мм бронебойные + + + Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid + Kaliber: 9,3x64mm Hartkern<br />Patronen: 150<br />Eingesetzt von: Navid + Kaliber: 9,3x64mm AP<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid + Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid + Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид + + + 9x19mm 16Rnd Mag + Magazynek 9x19mm 16rd + Chargeur 9x19mm 16Cps + Cargador de 16 balas de 9x19mm + Магазин из 16-ти 9х19 мм + 9x19mm 20-Patronen-Magazin + + + 9x19mm + 9x19mm + 9x19mm + 9x19mm + 9х19 мм + 9x19mm + + + 9x19mm 30Rnd Mag + Magazynek 9x19mm 16rd + 9x19mm 30Cps + Cargador de 16 balas de 9x19mm + Магазин из 16-ти 9х19 мм + 9x19mm 30-Patronen-Magazin + + + 9x19mm 30Rnd Mag + Magazynek 9x19mm 30rd + 9x19mm 30Cps + Cargador de 30 balas de 9x19mm + Магазин из 30-ти 9х19 мм + 9x19mm 30-Patronen-Magazin + + + 9x19mm + 9x19mm + 9x19mm + 9x19mm + 9х19 мм + 9x19mm + + + 9x19mm 30Rnd Mag + Magazynek 9x19mm 30rd + 9x19mm 30Cps + Cargador de 30 balas de 9x19mm + Магазин из 30-ти 9х19 мм + 9x19mm 30-Patronen-Magazin + + + 7.62x54mm 10Rnd Tracer IR-DIM Mag + Magazynek 7,62x54mm 10rd Smugacz IR-DIM + Chargeur 7.62x54mm 10Rnd Traçante IR-DIM + Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm + Магазин из 10-ти 7,62 мм ИК-трассирующих + 7,62x54mm 10-Patronen-Magazin IR-DIM Leuchtspur + + + 7.62mm IR-DIM + 7,62mm IR-DIM + 7.62mm IR-DIM + 7.62mm IR-DIM + 7,62 мм ИК-трассирующие + 7,62x54mm IR-DIM + + + 7.62x54mm 10Rnd Tracer IR-DIM Mag + Magazynek 7,62x54mm 10rd Smugacz IR-DIM + Chargeur 7.62x54mm 10Cps Traçante IR-DIM + Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm + Магазин из 10-ти 7,62 мм ИК-трассирующих + 7,62x54mm 10-Patronen-Magazin IR-DIM Leuchtspur + + + 6.5mm 100Rnd Tracer IR-DIM Mag + Magazynek 6,5mm 100rd Smugacz IR-DIM + Chargeur 6.5mm 100Rnd Traçante IR-DIM + Cargador de 100 balas trazadoras IR-DIM de 6.5mm + Магазин из 100 6,5 мм ИК-трассирующих + 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur + + + 6.5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6.5mm IR-DIM + 6,5 мм ИК-трассирующие + 6,5mm IR-DIM + + + 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW + Magazynek 6,5mm 100rd Smugacz IR-DIM + Chargeur 6.5mm 100Rnd Traçante IR-DIM + Cargador de 100 balas trazadoras IR-DIM de 6.5mm + Магазин из 100 6,5 мм ИК-трассирующих + 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW + + + 6.5mm 200Rnd Tracer IR-DIM Belt + Magazynek 6,5mm 200rd Smugacz IR-DIM + Bande 6.5mm 200Rnd Traçante IR-DIM + Cinta de 200 balas trazadoras IR-DIM de 6.5mm + Магазин из 200-т 6,5 мм ИК-трассирующих + 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur + + + 6.5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6.5mm IR-DIM + 6,5 мм ИК-трассирующие + 6,5mm IR-DIM + + + 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG + Magazynek 6,5mm 200rd Smugacz IR-DIM + Bande 6.5mm 200Cps Traçante IR-DIM + Cinta de 200 balas trazadoras IR-DIM de 6.5mm + Магазин из 200-т 6,5 мм ИК-трассирующих + 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG + + + 5.56mm 30Rnd Mag (Mk262) + Magazynek 5,56mm 30rd Mk262 + 5.56mm 30Cps (Mk262) + Cargador de 30 balas de 5.56mm (Mk262) + Магазин из 30-ти 5.56 мм Mk262 + 5,56mm 30-Patronen-Magazin (Mk262) + + + 5.56mm Mk262 + 5,56mm Mk262 + 5.56mm Mk262 + 5.56mm Mk262 + 5,56 мм Mk262 + 5,56mm Mk262 + + + Caliber: 5.56x45mm NATO (Mk262)<br />Rounds: 30 + Kaliber: 5,56x45mm NATO (Mk262)<br />Pociski: 30 + Calibre: 5.56x45mm NATO (Mk262)<br />Cartouches: 30 + Calibre: 5.56x45mm NATO (Mk262)<br />Balas: 30 + Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 + Kaliber: 5,56x45mm NATO (Mk262)<br />Patronen: 30 + + + 5.56mm 30Rnd Mag (Mk318) + Magazynek 5,56mm 30rd (Mk318) + 5.56mm 30Cps (Mk318) + Cargador de 30 balas de 5.56mm (Mk318) + Магазин из 30-ти 5.56 мм (Mk318) + 5,56mm 30-Patronen-Magazin (Mk318) + + + 5.56mm Mk318 + 5,56mm Mk318 + 5.56mm Mk318 + 5.56mm Mk318 + 5.56 мм Mk318 + 5,56mm Mk318 + + + Caliber: 5.56x45mm NATO (Mk318)<br />Rounds: 30 + Kaliber: 5,56x45mm NATO (Mk318)<br />Pociski: 30 + Calibre: 5.56x45mm NATO (Mk318)<br />Cartouches: 30 + Calibre: 5.56x45mm NATO (Mk318)<br />Balas: 30 + Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 + Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 + + + 5.56mm 30Rnd Mag (M995 AP) + Magazynek 5,56mm 30rd (M995 AP) + 5.56mm 30Cps (M995 AP) + Cargador de 30 balas de 5.56mm (M995 AP) + Магазин из 30-ти 5.56 мм (M995 AP) + 5,56mm 30-Patronen-Magazin (M995AP) + + + 5.56mm AP + 5,56mm AP + 5.56mm AP + 5.56mm AP + 5.56 мм AP + 5,56mm AP + + + Caliber: 5.56x45mm NATO (M995 AP)<br />Rounds: 30 + Kaliber: 5,56x45mm NATO (M995 AP)<br />Pociski: 30 + Calibre: 5.56x45mm NATO (M995 AP)<br />Cartouches: 30 + Calibre: 5.56x45mm NATO (M995 AP)<br />Balas: 30 + Калибр: 5,56x45 мм NATO (M995 AP)<br />Патронов: 30 + Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 + + + 7.62mm 10Rnd Mag (M118LR) + Magazynek 7,62mm 10rd (M118LR) + 7.62mm 10Cps (M118LR) + Cargador de 10 balas de 7.62mm (M118LR) + Магазин из 10-ти 7,62 мм (M118LR) + 7,62mm 10-Patronen-Magazin (M118LR) + + + 7.62mm M118LR + 7,62mm M118LR + 7.62mm M118LR + 7.62mm (M118LR) + 7,62 мм M118LR + 7,62mm M118LR + + + Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (M118LR)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (M118LR)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (M118LR)<br />Balas: 10 + Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 + Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 + + + 7.62mm 20Rnd Mag (M118LR) + Magazynek 7,62mm 20rd (M118LR) + 7.62mm 20Cps (M118LR) + Cargador de 20 balas de 7.62mm (M118LR) + Магазин из 20-ти 7,62 мм (M118LR) + 7,62mm 20-Patronen-Magazin (M118LR) + + + 7.62mm M118LR + 7,62mm M118LR + 7.62mm M118LR + 7.62mm (M118LR) + 7,62 мм M118LR + 7,62mm M118LR + + + Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (M118LR)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (M118LR)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (M118LR)<br />Balas: 20 + Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 + Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 20 + + + 7.62mm 10Rnd Mag (Mk316 Mod 0) + Magazynek 7,62mm 10rd (Mk316 Mod 0) + 7.62mm 10Cps (Mk316 Mod 0) + Cargador de 10 balas de 7.62mm (Mk316 Mod 0) + Магазин из 10-ти 7,62 мм (Mk316 Mod 0) + 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) + + + 7.62mm Mk316 + 7,62mm Mk316 + 7.62mm Mk316 + 7.62mm Mk316 + 7,62 мм Mk316 + 7,62mm Mk316 + + + Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Balas: 10 + Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 + + + 7.62mm 20Rnd Mag (Mk316 Mod 0) + Magazynek 7,62mm 20rd (Mk316 Mod 0) + 7.62mm 20Cps (Mk316 Mod 0) + Cargador de 20 balas de 7.62mm (Mk316 Mod 0) + Магазин из 20-ти 7,62 мм (Mk316 Mod 0) + 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) + + + 7.62mm Mk316 + 7,62mm Mk316 + 7.62mm Mk316 + 7.62mm Mk316 + 7,62 мм Mk316 + 7,62mm Mk316 + + + Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Balas: 20 + Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 + + + 7.62mm 10Rnd Mag (Mk319 Mod 0) + Magazynek 7,62mm 10rd (Mk319 Mod 0) + 7.62mm 10Cps (Mk319 Mod 0) + Cargador de 10 balas de 7.62mm (Mk319 Mod 0) + Магазин из 10-ти 7,62 мм (Mk319 Mod 0) + 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) + + + 7.62mm Mk319 + 7,62mm Mk319 + 7.62mm Mk319 + 7.62mm Mk319 + 7,62mm Mk319 + 7,62mm Mk319 + + + Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Balas: 10 + Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 + + + 7.62mm 20Rnd Mag (Mk319 Mod 0) + Magazynek 7,62mm 20rd (Mk319 Mod 0) + 7.62mm 20Cps (Mk319 Mod 0) + Cargador de 20 balas de 7.62mm (Mk319 Mod 0) + Магазин из 20-ти 7,62 мм (Mk319 Mod 0) + 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) + + + 7.62mm Mk319 + 7,62mm Mk319 + 7.62mm Mk319 + 7.62mm Mk319 + 7,62 мм Mk319 + 7,62mm Mk319 + + + Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Balas: 20 + Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 + + + 7.62mm 10Rnd Mag (M993 AP) + Magazynek 7,62mm 10rd (M993 AP) + 7.62mm 10Cps (M993 AP) + Cargador de 10 balas de 7.62mm (M993 AP) + Магазин из 10-ти 7,62 мм (M993 AP) + 7,62mm 10-Patronen-Magazin (M993 AP) + + + 7.62mm AP + 7,62mm AP + 7.62mm AP + 7.62mm AP + 7,62mm AP + 7,62mm AP + + + Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 10 + Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 10 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 + + + 7.62mm 20Rnd Mag (M993 AP) + Magazynek 7,62mm 20rd (M993 AP) + 7.62mm 20Cps (M993 AP) + Cargador de 20 balas de 7.62mm (M993 AP) + Магазин из 20-ти 7,62 мм (M993 AP) + 7,62mm 20-Patronen-Magazin (M993 AP) + + + 7.62mm AP + 7,62mm AP + 7.62mm AP + 7.62mm AP + 7,62 мм AP + 7,62mm AP + + + Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 20 + Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 + + + 7.62mm 20Rnd Mag (Mk248 Mod 0) + Magazynek 7,62mm 20rd (Mk248 Mod 0) + 7.62mm 20Cps (Mk248 Mod 0) + Cargador de 20 balas de 7.62mm (Mk248 Mod 0) + Магазин из 20-ти 7,62 мм (Mk248 Mod 0) + 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) + + + 7.62mm (Mk248 Mod 0) + 7,62mm (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) + 7,62 мм (Mk248 Mod 0) + 7,62mm (Mk248 Mod 0) + + + Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x67mm NATO (Mk248 Mod 0)<br />Pociski: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Balas: 20 + Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 + Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 + + + 7.62mm 20Rnd Mag (Mk248 Mod 1) + Magazynek 7,62mm 20rd (Mk248 Mod 1) + 7.62mm 20Cps (Mk248 Mod 1) + Cargador de 20 balas de 7.62mm (Mk248 Mod 1) + Магазин из 20-ти 7,62 мм (Mk248 Mod 1) + 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) + + + 7.62mm (Mk248 Mod 1) + 7,62mm (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) + 7,62 мм (Mk248 Mod 1) + 7,62mm (Mk248 Mod 1) + + + Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 + Kaliber: 7,62x67mm NATO (Mk248 Mod 1)<br />Pociski: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Balas: 20 + Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 + Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 + + + 7.62mm 20Rnd Mag (Berger Hybrid OTM) + Magazynek 7,62mm 20rd (Berger Hybrid OTM) + 7.62 20Cps (Berger Hybrid OTM) + Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) + Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) + 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) + + + 7.62mm (OTM) + 7,62mm (OTM) + 7.62mm (OTM) + 7.62mm (OTM) + 7,62 мм (OTM) + 7,62mm (OTM) + + + Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 + Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Pociski: 20 + Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 + Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Balas: 20 + Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 + Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 + + + 6.5x47mm 30Rnd Mag (HPBT Scenar) + 6.5x47mm 30Cps (HPBT Scenar) + Cargador de 30 balas de 6.5x47mm (HPBT Scenar) + Magazynek 6,5x47mm 30rd (HPBT Scenar) + Магазин из 30-ти 6,5x47 мм (HPBT Scenar) + 6,5x47mm 30-Patronen-Magazin (HPBT Scenar) + + + 6.5mm Lapua + 6.5mm Lapua + 6.5mm Lapua + 6,5mm Lapua + 6,5 мм Lapua + 6,5mm Lapua + + + Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM + Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 + Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 + Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 + Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 + Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM + + + 6.5mm Creedmor 30Rnd Mag + Magazynek 6,5mm Creedmor 30rd + 6,5mm Creedmor 30-Patronen-Magazin + + + 6.5mm CM + 6.5mm CM + 6.5mm CM + 6,5mm CM + 6,5 мм CM + 6,5mm CM + + + Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM + Kaliber: 6,5x47mm Creedmor<br />Pociski: 30<br />Używany w: MXM + Kaliber: 6,5x47mm Creedmor<br />Patronen: 30<br />Eingesetzt von: MXM + + + .338 10Rnd Mag (300gr Sierra MatchKing HPBT) + .338 10 Cps (300gr Sierra MatchKing HPBT) + Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) + Magazynek .338 10rd (300gr Sierra MatchKing HPBT) + Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) + .338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT) + + + .338 HPBT + .338 HPBT + .338 HPBT + .338 HPBT + .338 HPBT + .338 HPBT + + + Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 + Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Cartouches: 10 + Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 + Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 + Калибр: 8,6x70mm (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 + Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 + + + .338 10Rnd Mag (API526) + .338 10Cps (API526) + Cargador de 10 balas de .338 (API526) + Magazynek .338 10rd (API526) + Магазин из 10-ти .338 (API526) + .338 10-Patronen-Magazin (API526) + + + .338 AP + .338 AP + .338 AP + .338 AP + .338 бронебойные + .338 AP + + + Caliber: 8.6x70mm (API526)<br />Rounds: 10 + Calibre: 8.6x70mm (API526)<br />Cartouches: 10 + Calibre: 8.6x70mm (API526)<br />Balas: 10 + Kaliber: 8,6x70mm (API526)<br />Pociski: 10 + Калибр: 8,6x70mm (API526)<br />Патронов: 10 + Kaliber: 8,6x70mm (API526)<br />Patronen: 10 + + + 12.7x99mm 5Rnd Mag + 12.7x99mm 5Cps + Cargador de 5 balas de 12.7x99mm + Magazynek 12,7x99mm 5rd + Магазин из 5-ти 12,7x99 мм + 12,7x99mm 5-Patronen-Magazin + + + 12.7mm + 12.7mm + 12.7mm + 12,7mm + 12,7 мм + 12,7mm + + + Caliber: 12.7x99mm<br />Rounds: 5 + Calibre: 12.7x99mm<br />Cartouches: 5 + Calibre: 12.7x99mm<br />Balas: 5 + Kaliber: 12,7x99mm<br />Pociski: 5 + Калибр: 12,7x99 мм<br />Патронов: 5 + Kaliber: 12,7x99mm<br />Patronen: 5 + + + 12.7x99mm API 5Rnd Mag + 12.7x99mm API 5Cps + Cargador de 5 balas de 12.7x99mm API + Magazynek 12,7x99mm API 5rd + 12,7x99mm 5-Patronen-Magazin (API) + + + 12.7mm API + 12.7mm API + 12.7mm API + 12,7mm API + 12,7mm API + + + Caliber: 12.7x99mm API<br />Rounds: 5 + Calibre: 12.7x99mm API<br />Cartouches: 5 + Calibre: 12.7x99mm API<br />Balas: 5 + Kaliber: 12,7x99mm API<br />Pociski: 5 + Kaliber:12,7x99mm API<br />Patronen: 5 + + + 12.7x99mm 5Rnd Mag (AMAX) + 12.7x99mm 5Rnd Mag (AMAX) + Cargador de 5 balas de 12.7x99mm (AMAX) + Magazynek 12,7x99mm 5rd (AMAX) + Магазин из 5-ти 12,7x99 мм (A-MAX) + 12,7x99mm 5-Patronen-Magazin (AMAX) + + + 12.7mm + 12.7mm + 12.7mm + 12,7mm + 12,7 мм + 12,7mm + + + Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 + Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5 + Calibre: 12.7x99mm (AMAX)<br />Balas: 5 + Kaliber: 12,7x99mm (AMAX)<br />Pociski: 5 + Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 + Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 + + + \ No newline at end of file diff --git a/addons/captives/CfgVehicles.hpp b/addons/captives/CfgVehicles.hpp index 10b2d0285f..1e2eb3f201 100644 --- a/addons/captives/CfgVehicles.hpp +++ b/addons/captives/CfgVehicles.hpp @@ -101,25 +101,20 @@ class CfgVehicles { #define MACRO_LOADUNLOADCAPTIVE \ class ACE_Actions { \ class ACE_MainActions { \ - selection = ""; \ - class ACE_LoadCaptive { \ + class GVAR(LoadCaptive) { \ displayName = "$STR_ACE_Captives_LoadCaptive"; \ distance = 4; \ condition = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(canLoadCaptive)); \ statement = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(doLoadCaptive)); \ exceptions[] = {"isNotEscorting"}; \ - showDisabled = 0; \ priority = 1.2; \ - hotkey = "L"; \ }; \ - class ACE_UnloadCaptive { \ + class GVAR(UnloadCaptive) { \ displayName = "$STR_ACE_Captives_UnloadCaptive"; \ distance = 4; \ condition = QUOTE([ARR_2(_player, _target)] call FUNC(canUnloadCaptive)); \ statement = QUOTE([ARR_2(_player, _target)] call FUNC(doUnloadCaptive)); \ - showDisabled = 0; \ priority = 1.2; \ - hotkey = "C"; \ }; \ }; \ }; diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index 651edbcf86..f91f24025e 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -7,6 +7,7 @@ if (isServer) then { addMissionEventHandler ["HandleDisconnect", { PARAMS_1(_disconnectedPlayer); + private "_escortedUnit"; _escortedUnit = _disconnectedPlayer getVariable [QGVAR(escortedUnit), objNull]; if ((!isNull _escortedUnit) && {(attachedTo _escortedUnit) == _disconnectedPlayer}) then { detach _escortedUnit; diff --git a/addons/captives/functions/fnc_canSurrender.sqf b/addons/captives/functions/fnc_canSurrender.sqf index 3ee687cfc1..3b810a0c5c 100644 --- a/addons/captives/functions/fnc_canSurrender.sqf +++ b/addons/captives/functions/fnc_canSurrender.sqf @@ -18,6 +18,8 @@ PARAMS_2(_unit,_newSurrenderState); +if (currentWeapon _unit != "") exitWith {false}; + private "_returnValue"; _returnValue = if (_newSurrenderState) then { diff --git a/addons/captives/functions/fnc_doEscortCaptive.sqf b/addons/captives/functions/fnc_doEscortCaptive.sqf index 08f44a1437..b8758065d8 100644 --- a/addons/captives/functions/fnc_doEscortCaptive.sqf +++ b/addons/captives/functions/fnc_doEscortCaptive.sqf @@ -22,7 +22,7 @@ PARAMS_3(_unit,_target,_state); if (_state) then { if (_unit getVariable [QGVAR(isEscorting), false]) exitWith {}; - [_unit, _target] call EFUNC(common,claim); + [_unit, _target, false] call EFUNC(common,claim); _unit setVariable [QGVAR(isEscorting), true, true]; _target attachTo [_unit, [0, 1, 0]]; @@ -34,8 +34,7 @@ if (_state) then { {[(_this select 0), ((_this select 0) getVariable [QGVAR(escortedUnit), objNull]), false] call FUNC(doEscortCaptive);}, nil, 20, false, true, "", QUOTE(!isNull (GETVAR(_target,QGVAR(escortedUnit),objNull)))]; - private "_escortFnc"; - _escortFnc = { + [{ EXPLODE_3_PVT((_this select 0),_unit,_target,_actionID); if (_unit getVariable [QGVAR(isEscorting), false]) then { if (!alive _target || {!alive _unit} || {!canStand _target} || {!canStand _unit} || {_target getVariable ["ACE_isUnconscious", false]} || {_unit getVariable ["ACE_isUnconscious", false]} || {!isNull (attachedTo _unit)}) then { @@ -45,13 +44,12 @@ if (_state) then { if (!(_unit getVariable [QGVAR(isEscorting), false])) then { [(_this select 1)] call cba_fnc_removePerFrameHandler; - [objNull, _target] call EFUNC(common,claim); + [objNull, _target, false] call EFUNC(common,claim); detach _target; _unit removeAction _actionID; _unit setVariable [QGVAR(escortedUnit), objNull, true]; }; - }; - [_escortFnc, 0, [_unit, _target, _actionID]] call CBA_fnc_addPerFrameHandler; + }, 0, [_unit, _target, _actionID]] call CBA_fnc_addPerFrameHandler; } else { _unit setVariable [QGVAR(isEscorting), false, true]; diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf index 9fd65a130d..97ecd98a0a 100644 --- a/addons/captives/functions/fnc_doLoadCaptive.sqf +++ b/addons/captives/functions/fnc_doLoadCaptive.sqf @@ -18,6 +18,7 @@ #include "script_component.hpp" PARAMS_3(_unit,_target,_vehicle); +private "_objects"; if (isNull _target) then { _objects = attachedObjects _unit; diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf index 1a335131a8..bf0e04cd6a 100644 --- a/addons/captives/functions/fnc_moduleSurrender.sqf +++ b/addons/captives/functions/fnc_moduleSurrender.sqf @@ -18,6 +18,7 @@ #include "script_component.hpp" PARAMS_3(_logic,_units,_activated); +private ["_bisMouseOver", "_mouseOverObject"]; if (!_activated) exitWith {}; @@ -38,7 +39,7 @@ if (local _logic) then { ["STR_ACE_Captives_Zeus_OnlyAlive"] call EFUNC(common,displayTextStructured); }; } else { - ["STR_ACE_Captives_Zeus_OnlyInfentry"] call EFUNC(common,displayTextStructured); + ["STR_ACE_Captives_Zeus_OnlyInfantry"] call EFUNC(common,displayTextStructured); }; } else { ["STR_ACE_Captives_Zeus_NothingSelected"] call EFUNC(common,displayTextStructured); diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index 5917532874..bd141988bb 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -29,11 +29,11 @@ if ((_unit getVariable [QGVAR(isHandcuffed), false]) isEqualTo _state) exitWith if (_state) then { _unit setVariable [QGVAR(isHandcuffed), true, true]; [_unit, QGVAR(Handcuffed), true] call EFUNC(common,setCaptivityStatus); - + if (_unit getVariable [QGVAR(isSurrendering), false]) then { //If surrendering, stop [_unit, false] call FUNC(setSurrendered); }; - + //Set unit cargoIndex (will be -1 if dismounted) _unit setVariable [QGVAR(CargoIndex), ((vehicle _unit) getCargoIndex _unit), true]; @@ -47,30 +47,31 @@ if (_state) then { if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then { [_unit] call EFUNC(common,fixLoweredRifleAnimation); [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation); - + //Adds an animation changed eh //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain) + private "_animChangedEHID"; _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { - ERROR("Handcuff animation interrupted"); - systemChat format ["debug %2: new %1", _newAnimation, time]; + TRACE_1("Handcuff animation interrupted",_newAnimation); [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation); }; }]; _unit setVariable [QGVAR(handcuffAnimEHID), _animChangedEHID]; - + }; }, [_unit], 0.01, 0] call EFUNC(common,waitAndExecute); } else { _unit setVariable [QGVAR(isHandcuffed), false, true]; [_unit, QGVAR(Handcuffed), false] call EFUNC(common,setCaptivityStatus); - - //remove AnimChanged EH + + //remove AnimChanged EH + private "_animChangedEHID"; _animChangedEHID = _unit getVariable [QGVAR(handcuffAnimEHID), -1]; _unit removeEventHandler ["AnimChanged", _animChangedEHID]; _unit setVariable [QGVAR(handcuffAnimEHID), -1]; - + if (((vehicle _unit) == _unit) && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { //Break out of hands up animation loop [_unit, "ACE_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation); diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index 73451863dd..22de70921d 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -48,11 +48,11 @@ if (_state) then { if (_unit getVariable [QGVAR(isSurrendering), false] && {(vehicle _unit) == _unit}) then { //Adds an animation changed eh //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain) + private "_animChangedEHID"; _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { - ERROR("Surrender animation interrupted"); - systemChat format ["debug %2: new %1", _newAnimation, time]; + TRACE_1("Surrender animation interrupted",_newAnimation); [_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation); }; }]; @@ -64,6 +64,7 @@ if (_state) then { [_unit, QGVAR(Surrendered), false] call EFUNC(common,setCaptivityStatus); //remove AnimChanged EH + private "_animChangedEHID"; _animChangedEHID = _unit getVariable [QGVAR(surrenderAnimEHID), -1]; _unit removeEventHandler ["AnimChanged", _animChangedEHID]; _unit setVariable [QGVAR(surrenderAnimEHID), -1]; diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index f03f30a113..55a9f6211a 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -1,149 +1,191 @@  - - - - Take Prisoner - Gefangen nehmen - Tomar prisionero - Capturer le prisonnier - Weź więźnia - Zajmout Osobu - Arresta il Prigioniero - Tomar Prisioneiro - Foglyul ejtés - Взять в плен - - - Free Prisoner - Gefangenen freilassen - Liberar prisionero - Wypuść więźnia - Libérer le prisonnier - Osvobodit Zajatce - Libera il Prigioniero - Libertar Prisioneiro - Fogoly szabadon elengedése - Освободить пленника - - - Escort Prisoner - Gefangenen eskortieren - Escoltar prisionero - Eskortuj więźnia - Escorter le prisonnier - Eskortovat Zajatce - Scorta il Prigioniero - Escoltar Prisioneiro - Fogoly kísérése - Конвоировать пленника - - - Release Prisoner - Gefangenen loslassen - Soltar prisionero - Anuluj eskortowanie - Relâcher le prisonnier - Uvolnit Zajatce - Rilascia il Prigioniero - Largar Prisioneiro - Fogoly elengedése - Прекратить конвоирование - - - You need to take him as prisoner first! - Du must ihn zuerst gefangen nehmen. - Necesitas hacerle prisionero primero! - Najpierw musisz wziąć go jako więźnia! - Vous devez d'abord le capturer! - Musíš ho nejdříve zajmout! - Prima devi arrestarlo! - Você deve tomá-lo como prisioneiro primeiro! - Először foglyul kell ejtened! - Вы должны сначала взять его в плен! - - - Load Captive - Gefangenen einladen - Cargar prisionero - Embarquer le prisonnier - Załaduj więźnia - Naložit zajatce - Fogoly berakása - Загрузить пленного - Embarcar Prisioneiro - - - Unload Captive - Gefangenen ausladen - Descargar prisionero - Débarquer le prisonnier - Wyładuj więźnia - Vyložit zajatce - Fogoly kivevése - Выгрузить пленного - Desembarcar Prisioneiro - - - Cable Tie - Kabelbinder - Opaska zaciskowa - Precinto - Serflex - Stahovací Pásek - Algema Plástica - Fascietta - Gyorskötöző - Кабельная стяжка - - - Cable ties that allow you to restrain prisoners. - Kabelbinder ermöglichen es, Gefangene zu fesseln. - Opaska zaciskowa pozwala na skrępowanie dłoni u więźnia. - Los precintos permiten maniatar prisioneros - Les Serflex permettent de menotter les prisonniers. - Stahovací pásky vám umožní zadržet vězně. - A algema plástica permite que você contenha prisioneiros. - Fascietta che ti consente di arrestare i prigionieri. - Gyorskötöző emberek fogjulejtéséhez. - Кабельные стяжки позволяют связывать пленников. - - - Inventory of frisked person - Inventar der durchsuchten Person - Inventaire de la fouille - Inventario de la persona cacheada - Motozott személy felszerelése - Inventář prohledávané osoby - Ekwipunek rewidowanej osoby - Инвентарь обысканных лиц - Inventário da pessoa revistada - - - Frisk person - Person durchsuchen - Fouiller - Cachear - Prohledávaná osoba - Rewiduj osobę - Motozás - Обыскать человека - Revistar - - - Surrender - - - Stop Surrendering - - - Only use on alive units - - - Only use on dismounted inf - - - Nothing under mouse - - - \ No newline at end of file + + + Take Prisoner + Gefangen nehmen + Tomar prisionero + Capturer le prisonnier + Aresztuj + Zajmout Osobu + Arresta il Prigioniero + Tomar Prisioneiro + Foglyul ejtés + Взять в плен + + + Free Prisoner + Gefangenen freilassen + Liberar prisionero + Wypuść więźnia + Libérer le prisonnier + Osvobodit Zajatce + Libera il Prigioniero + Libertar Prisioneiro + Fogoly szabadon engedése + Освободить пленника + + + Escort Prisoner + Gefangenen eskortieren + Escoltar prisionero + Eskortuj więźnia + Escorter le prisonnier + Eskortovat Zajatce + Scorta il Prigioniero + Escoltar Prisioneiro + Fogoly kísérése + Конвоировать пленника + + + Release Prisoner + Gefangenen loslassen + Soltar prisionero + Anuluj eskortowanie + Relâcher le prisonnier + Uvolnit Zajatce + Rilascia il Prigioniero + Largar Prisioneiro + Fogoly elengedése + Прекратить конвоирование + + + You need to take him as prisoner first! + Du musst ihn zuerst gefangen nehmen. + Necesitas hacerle prisionero primero! + Najpierw musisz go aresztować! + Vous devez d'abord le capturer! + Musíš ho nejdříve zajmout! + Prima devi arrestarlo! + Você deve tomá-lo como prisioneiro primeiro! + Először foglyul kell ejtened őt! + Вы должны сначала взять его в плен! + + + Load Captive + Gefangenen einladen + Cargar prisionero + Embarquer le prisonnier + Załaduj więźnia + Naložit zajatce + Fogoly berakása + Загрузить пленного + Embarcar Prisioneiro + Carica il prigioniero + + + Unload Captive + Gefangenen ausladen + Descargar prisionero + Débarquer le prisonnier + Wyładuj więźnia + Vyložit zajatce + Fogoly kivevése + Выгрузить пленного + Desembarcar Prisioneiro + Scarica il prigioniero + + + Cable Tie + Kabelbinder + Opaska zaciskowa + Precinto + Serflex + Stahovací Pásek + Algema Plástica + Fascietta + Gyorskötöző + Кабельная стяжка + + + Cable ties that allow you to restrain prisoners. + Kabelbinder ermöglichen es, Gefangene zu fesseln. + Opaska zaciskowa pozwala na skrępowanie dłoni u więźnia. + Los precintos permiten maniatar prisioneros + Les Serflex permettent de menotter les prisonniers. + Stahovací pásky vám umožní zadržet vězně. + A algema plástica permite que você contenha prisioneiros. + Fascietta che ti consente di arrestare i prigionieri. + Gyorskötöző, emberek foglyulejtéséhez használható. + Кабельные стяжки позволяют связывать пленников. + + + Inventory of frisked person + Inventar der durchsuchten Person + Inventaire de la fouille + Inventario de la persona cacheada + Motozott személy felszerelése + Inventář prohledávané osoby + Ekwipunek rewidowanej osoby + Инвентарь обысканного человека + Inventário da pessoa revistada + + + Frisk person + Person durchsuchen + Fouiller + Cachear + Prohledávaná osoba + Rewiduj osobę + Motozás + Обыскать человека + Revistar + Perquisisci la persona + + + Surrender + Se rendre + Kapitulieren + Rendirse + Vzdát se + Poddaj się + Сдаться + Megadás + Arreso + + + Stop Surrendering + Annuler la capitulation + Den Kampf erneut aufnehmen + Dejar de rendirse + Přestat se vzdávat + Podejmij walkę ponownie + Прекратить сдачу в плен + Megadás abbahagyása + Annulla la resa + + + Only use on alive units + Utiliser uniquement sur une unité vivante + Nur bei lebenden Einheiten verwendbar + Utilizar solo en unidades vivas + Použitelné jen na živé jednotky + Używaj tylko na żywych jednostkach + Применимо только к живым юнитам + Csak élő egységeken használni + Si può fare solo su persone vive + + + Only use on dismounted inf + Utiliser uniquement sur du personnel à pied + Nur bei abgesessener Infanterie verwendbar + Utilizar solo en infanteria desmontada + Použitelné jen na pěsích jednotkách + Używaj tylko na piechocie poza wszelkimi pojazdami + Применимо только к пехоте вне техники + Csak járműben kívül lévő egységeken használni + Si può usare solo su fanteria a piedi + + + Nothing under mouse + Rien sous le curseur + Es wurde nichts ausgewählt + Nada bajo el ratón + Nic není vybráno + Nie ma nic pod kursorem + Ничего не выделено + Semmi sincs az egér alatt + Niente selezionato + + + diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index eef90451ae..ce0938f063 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -26,6 +26,9 @@ class Extended_InitPost_EventHandlers { class GVAR(forceWalk) { init = QUOTE(if (local (_this select 0)) then {_this call FUNC(applyForceWalkStatus);};); }; + class GVAR(muteUnit) { + init = QUOTE(_this call FUNC(muteUnitHandleInitPost)); + }; }; }; @@ -41,4 +44,9 @@ class Extended_Respawn_EventHandlers { respawn = QUOTE(_this call FUNC(resetAllDefaults)); }; }; + class CAManBase { + class GVAR(muteUnit) { + respawn = QUOTE(_this call FUNC(muteUnitHandleRespawn)); + }; + }; }; diff --git a/addons/common/CfgMagazines.hpp b/addons/common/CfgMagazines.hpp index 815ab6db9f..465ea57f78 100644 --- a/addons/common/CfgMagazines.hpp +++ b/addons/common/CfgMagazines.hpp @@ -2,6 +2,7 @@ class CfgMagazines { class CA_Magazine; class ACE_FakeMagazine: CA_Magazine { + scopeCurator = 1; descriptionShort = ""; displayName = ""; displayNameShort = ""; diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index eaa585691e..5a00c038e7 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -100,7 +100,7 @@ class CfgVehicles { transportMaxWeapons = 9001; transportMaxMagazines = 9001; transportMaxItems = 9001; - maximumload = 2000; + maximumload = 9001; class TransportWeapons {}; class TransportMagazines {}; diff --git a/addons/common/CfgVoice.hpp b/addons/common/CfgVoice.hpp index 9c53338e6e..1fb0f5d2b6 100644 --- a/addons/common/CfgVoice.hpp +++ b/addons/common/CfgVoice.hpp @@ -199,6 +199,8 @@ class ACE_RadioProtocolNoRadio: RadioProtocolBase { Ready[] = {}; Waiting[] = {}; StandingBy[] = {}; + RallyUp[] = {}; + UnderFireE[] = {}; /*IAmReady[] = {}; ReadyForOrders[] = {}; AwaitingOrders[] = {};*/ diff --git a/addons/common/CfgWeapons.hpp b/addons/common/CfgWeapons.hpp index 6035ee84bf..cf8c06798e 100644 --- a/addons/common/CfgWeapons.hpp +++ b/addons/common/CfgWeapons.hpp @@ -14,8 +14,10 @@ class CfgWeapons { class ACE_FakePrimaryWeapon: Rifle_Base_F { scope = 2; + scopeCurator = 1; + displayName = ""; - model = ""; + model = "\A3\Weapons_f\empty"; picture = ""; magazines[] = {"ACE_FakeMagazine"}; discreteDistance[] = {}; diff --git a/addons/common/ProgressScreen.hpp b/addons/common/ProgressScreen.hpp index 751d48af9f..ab624669cf 100644 --- a/addons/common/ProgressScreen.hpp +++ b/addons/common/ProgressScreen.hpp @@ -1,77 +1,79 @@ - class GVAR(ProgressBar_Dialog) { - idd = -1; - movingEnable = false; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 2)];); - objects[] = {}; + idd = -1; + movingEnable = false; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBG)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 2)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 3)];); + objects[] = {}; - class controlsBackground { - class Background { - idc = -1; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0.0}; - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; + class controlsBackground { + class Background { + idc = -1; + moving = 0; + font = "TahomaB"; + text = ""; + sizeEx = 0; + lineSpacing = 0; + access = 0; + type = 0; + style = 0; + size = 1; + colorBackground[] = {0, 0, 0, 0.0}; + colorText[] = {0, 0, 0, 0}; + x = "safezoneX"; + y = "safezoneY"; + w = "safezoneW"; + h = "safezoneH"; + }; + class TitleBackground: ACE_gui_staticBase { + idc = 1; + style = ST_CENTER; + sizeEx = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0, 0, 0, 0.5}; + colorText[] = {1, 1, 1, 1}; + x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Progress: ACE_gui_RscProgress { + idc = 2; + x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorFrame[] = {1,1,1,0.5}; + colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; + texture = "#(argb,8,8,3)color(1,1,1,0.7)"; + }; + class TitleText: TitleBackground { + idc = 3; + colorBackground[] = {0, 0, 0, 0}; + }; }; - - class Progress: ACE_gui_RscProgress { - idc = 1; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = ".8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorFrame[] = {0,0,0,0.0}; - colorBar[] = {0.27,0.5,0.31,0.8}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - }; - - class Title_Bar : ACE_gui_staticBase { - idc = 2; - style = 0x22; - colorBackground[] = {0, 0, 0, 0}; - colorText[] = {1, 1, 1, 1}; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; - }; }; class GVAR(DisableMouse_Dialog) { - idd = -1; - movingEnable = false; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),_this select 0)];); - objects[] = {}; - class controlsBackground { - class Background { - idc = -1; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0};//0.5 - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; + idd = -1; + movingEnable = false; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),_this select 0)];); + objects[] = {}; + class controlsBackground { + class Background { + idc = -1; + moving = 0; + font = "TahomaB"; + text = ""; + sizeEx = 0; + lineSpacing = 0; + access = 0; + type = 0; + style = 0; + size = 1; + colorBackground[] = {0, 0, 0, 0};//0.5 + colorText[] = {0, 0, 0, 0}; + x = "safezoneX"; + y = "safezoneY"; + w = "safezoneW"; + h = "safezoneH"; + }; }; - }; }; diff --git a/addons/common/RscInfoType.hpp b/addons/common/RscInfoType.hpp index fe21b05265..9fd402f081 100644 --- a/addons/common/RscInfoType.hpp +++ b/addons/common/RscInfoType.hpp @@ -1,23 +1,107 @@ class RscInGameUI { - class RscUnitInfo; + class RscUnitInfo { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscUnitInfoNoHUD { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + class RscUnitInfoSoldier: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call FUNC(localEvent);); }; + class RscUnitInfoTank: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent);); }; + class RscUnitInfoAir: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); }; + + class RscUnitInfo_AH64D_gunner { + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); + }; + + class RscUnitInfoUAV { + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgUAV', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'UAV')])] call FUNC(localEvent);); + }; + class RscUnitInfoSubmarine: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call FUNC(localEvent);); }; + class RscUnitInfoShip: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call FUNC(localEvent);); }; + + class RscWeaponEmpty { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeFinder { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeArtillery { + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeArtilleryAuto { + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeFinderPAS13 { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscOptics_LaserDesignator { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeFinderMAAWS { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeFinderAbramsCom { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeFinderAbramsGun { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscWeaponRangeFinderStrykerMGSGun { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscOptics_strider_commander { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscOptics_titan { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscOptics_punisher { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscOptics_SDV_periscope { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + class RscUnitInfoParachute: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call FUNC(localEvent);); + }; + + class RscUnitVehicle { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + }; + + class RscOptics_LaserDesignator_02 { + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); }; }; @@ -25,6 +109,20 @@ class RscDisplayInventory { onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayInventory"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; [ARR_2('inventoryDisplayLoaded', _this)] call FUNC(localEvent);); }; -class RscDisplayChannel { - onLoad = QUOTE(_this call FUNC(onLoadRscDisplayChannel)); +// map +class RscDisplayMainMap { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Ingame')])] call FUNC(localEvent);); +}; + +class RscDisplayGetReady: RscDisplayMainMap { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Briefing')])] call FUNC(localEvent);); +}; + +class RscDisplayServerGetReady: RscDisplayGetReady { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ServerBriefing')])] call FUNC(localEvent);); +}; + + +class RscDisplayClientGetReady: RscDisplayGetReady { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ClientBriefing')])] call FUNC(localEvent);); }; diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index f09dae0eb3..7dc07743ed 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -4,6 +4,7 @@ // Load settings from profile if (hasInterface) then { call FUNC(loadSettingsFromProfile); + call FUNC(loadSettingsLocalizedText); }; // Listens for global "SettingChanged" events, to update the force status locally @@ -35,6 +36,7 @@ if (hasInterface) then { ["setDir", {(_this select 0) setDir (_this select 1)}] call FUNC(addEventhandler); ["setFuel", {(_this select 0) setFuel (_this select 1)}] call FUNC(addEventhandler); +["setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call FUNC(addEventhandler); // hack to get PFH to work in briefing [QGVAR(onBriefingPFH), "onEachFrame", { @@ -64,29 +66,53 @@ if (_currentVersion != _previousVersion) then { 0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber); +// ACE events "ACEg" addPublicVariableEventHandler { _this call FUNC(_handleNetEvent); }; "ACEc" addPublicVariableEventHandler { _this call FUNC(_handleNetEvent); }; +// Synced ACE events +// Handle JIP scenario +if(!isServer) then { + ["PlayerJip", { + diag_log text format["[ACE] * JIP event synchronization initialized"]; + ["SEH_all", [player]] call FUNC(serverEvent); + }] call FUNC(addEventHandler); +} else { + ["SEH_all", FUNC(_handleRequestAllSyncedEvents)] call FUNC(addEventHandler); +}; +["SEH", FUNC(_handleSyncedEvent)] call FUNC(addEventHandler); +["SEH_s", FUNC(_handleRequestSyncedEvent)] call FUNC(addEventHandler); +[FUNC(syncedEventPFH), 0.5, []] call cba_fnc_addPerFrameHandler; + + +/***************************************************************/ +/***************************************************************/ +/***************************************************************/ +/***************************************************************/ +/***************************************************************/ + // everything that only player controlled machines need, goes below this if (!hasInterface) exitWith {}; call COMPILE_FILE(scripts\assignedItemFix); call COMPILE_FILE(scripts\initScrollWheel); -0 spawn { - while {true} do { - waitUntil {!isNull (findDisplay 46)}; sleep 0.1; - findDisplay 46 displayAddEventHandler ["MouseZChanged", QUOTE( _this call GVAR(onScrollWheel) )]; - [false] call FUNC(disableUserInput); - waitUntil {isNull (findDisplay 46)}; - }; +DFUNC(mouseZHandler) = { + waitUntil {!isNull (findDisplay 46)}; sleep 0.1; + findDisplay 46 displayAddEventHandler ["MouseZChanged", QUOTE( _this call GVAR(onScrollWheel) )]; + [false] call FUNC(disableUserInput); }; + +addMissionEventHandler ["Loaded", {[] spawn FUNC(mouseZHandler)}]; +[] spawn FUNC(mouseZHandler); + + enableCamShake true; // Set the name for the current player ["playerChanged", { EXPLODE_2_PVT(_this,_newPlayer,_oldPlayer); - + if (alive _newPlayer) then { [_newPlayer] call FUNC(setName) }; @@ -106,7 +132,6 @@ GVAR(OldPlayerWeapon) = currentWeapon ACE_player; // PFH to raise varios events [{ - // "playerInventoryChanged" event _newPlayerInventory = [ACE_player] call FUNC(getAllGear); if !(_newPlayerInventory isEqualTo GVAR(OldPlayerInventory)) then { @@ -173,6 +198,31 @@ GVAR(OldPlayerWeapon) = currentWeapon ACE_player; }, 0, []] call cba_fnc_addPerFrameHandler; + +// PFH to raise camera created event. Only works on these cams by BI. +#define ALL_CAMERAS [ \ + missionNamespace getVariable ["BIS_DEBUG_CAM", objNull], \ + missionNamespace getVariable ["BIS_fnc_camera_cam", objNull], \ + uiNamespace getVariable ["BIS_fnc_arsenal_cam", objNull], \ + uiNamespace getVariable ["BIS_fnc_animViewer_cam", objNull], \ + missionNamespace getVariable ["BIS_fnc_establishingShot_fakeUAV", objNull] \ +] + +GVAR(OldIsCamera) = false; + +[{ + + // "activeCameraChanged" event + _isCamera = {!isNull _x} count ALL_CAMERAS > 0; + if !(_isCamera isEqualTo GVAR(OldIsCamera)) then { + // Raise ACE event locally + GVAR(OldIsCamera) = _isCamera; + ["activeCameraChanged", [ACE_player, _isCamera]] call FUNC(localEvent); + }; + +}, 1, []] call cba_fnc_addPerFrameHandler; // feel free to decrease the sleep time if you need it. + + [QGVAR(StateArrested),false,true,QUOTE(ADDON)] call FUNC(defineVariable); ["displayTextStructured", FUNC(displayTextStructured)] call FUNC(addEventhandler); @@ -187,3 +237,26 @@ GVAR(OldPlayerWeapon) = currentWeapon ACE_player; // Players can always interact with passengers of the same vehicle {!((_this select 0) isEqualTo (_this select 1)) && {vehicle (_this select 0) == vehicle (_this select 1)}} }] call FUNC(addCanInteractWithCondition); + +// Lastly, do JIP events +// JIP Detection and event trigger. Run this at the very end, just in case anything uses it +if(isMultiplayer && { time > 0 || isNull player } ) then { + // We are jipping! Get ready and wait, and throw the event + [{ + if(!(isNull player)) then { + ["PlayerJip", [player] ] call FUNC(localEvent); + [(_this select 1)] call cba_fnc_removePerFrameHandler; + }; + }, 0, []] call cba_fnc_addPerFrameHandler; +}; + +// check dlls +{ + if (_x callExtension "version" == "") then { + private "_errorMsg"; + _errorMsg = format ["Extension %1.dll not installed.", _x]; + + diag_log text format ["[ACE] ERROR: %1", _errorMsg]; + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; +} forEach getArray (configFile >> "ACE_Extensions" >> "extensions"); diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index b7da27ea75..54a5118cb0 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -39,8 +39,10 @@ PREP(displayText); PREP(displayTextPicture); PREP(displayTextStructured); PREP(doAnimation); +PREP(dropBackpack); PREP(endRadioTransmission); PREP(eraseCache); +PREP(errorMessage); PREP(execNextFrame); PREP(execPersistentFnc); PREP(execRemoteFnc); @@ -107,6 +109,7 @@ PREP(isAutoWind); PREP(isAwake); PREP(isEngineer); PREP(isEOD); +PREP(isFeatureCameraActive); PREP(isInBuilding); PREP(isModLoaded); PREP(isPlayer); @@ -117,16 +120,18 @@ PREP(loadPerson); PREP(loadPersonLocal); PREP(loadSettingsFromProfile); PREP(loadSettingsOnServer); +PREP(loadSettingsLocalizedText); PREP(map); PREP(moduleCheckPBOs); PREP(moduleLSDVehicles); PREP(moveToTempGroup); PREP(muteUnit); +PREP(muteUnitHandleInitPost); +PREP(muteUnitHandleRespawn); PREP(numberToDigits); PREP(numberToDigitsString); PREP(numberToString); PREP(onAnswerRequest); -PREP(onLoadRscDisplayChannel); PREP(owned); PREP(player); PREP(playerSide); @@ -178,6 +183,12 @@ PREP(useItem); PREP(useMagazine); PREP(waitAndExecute); +PREP(translateToWeaponSpace); +PREP(translateToModelSpace); + +// Model and drawing helpers +PREP(worldToScreenBounds); + // config items PREP(getConfigType); PREP(getItemType); @@ -260,6 +271,21 @@ PREP(hashListSelect); PREP(hashListSet); PREP(hashListPush); +// Synchronized Events +PREP(syncedEventPFH); +PREP(addSyncedEventHandler); +PREP(removeSyncedEventHandler); +PREP(requestSyncedEvent); +PREP(syncedEvent); + +PREP(_handleSyncedEvent); +PREP(_handleRequestSyncedEvent); +PREP(_handleRequestAllSyncedEvents); + +GVAR(syncedEvents) = HASH_CREATE; + +// @TODO: Generic local-managed global-synced objects (createVehicleLocal) + //Debug ACE_COUNTERS = []; @@ -273,10 +299,10 @@ ACE_player = player; if (hasInterface) then { // PFH to update the ACE_player variable [{ - if !(ACE_player isEqualTo (missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player])) then { + if !(ACE_player isEqualTo (call FUNC(player))) then { _oldPlayer = ACE_player; - ACE_player = missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player]; + ACE_player = call FUNC(player); uiNamespace setVariable ["ACE_player", ACE_player]; // Raise ACE event diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 90309af612..16bd13fc0c 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -69,9 +69,9 @@ class ACE_Settings { * force = 0; * * Does it appear on the options menu? - * isClientSetable = 1; + * isClientSettable = 1; * - * The following settings only apply when isClientSetable == 1 + * The following settings only apply when isClientSettable == 1 * Stringtable entry with the setting name * displayName = "$STR_ACE_Common_SettingName"; * @@ -90,14 +90,14 @@ class ACE_Settings { /*class GVAR(enableNumberHotkeys) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_EnableNumberHotkeys"; };*/ class GVAR(settingFeedbackIcons) { value = 1; typeName = "SCALAR"; force = 0; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; @@ -106,7 +106,7 @@ class ACE_Settings { value = 0; typeName = "SCALAR"; force = 0; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; values[] = {"Top", "Bottom"}; @@ -114,14 +114,14 @@ class ACE_Settings { class GVAR(displayTextColor) { value[] = {0,0,0,0.1}; typeName = "COLOR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; }; class GVAR(displayTextFontColor) { value[] = {1,1,1,1}; typeName = "COLOR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; }; @@ -152,3 +152,15 @@ class CfgUIGrids { }; }; }; + +/* +// check dll +class RscStandardDisplay; +class RscDisplayMain: RscStandardDisplay { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); +}; +*/ + +class ACE_Extensions { + extensions[] = {}; +}; diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf new file mode 100644 index 0000000000..7c566ce4d1 --- /dev/null +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -0,0 +1,25 @@ +/* + * Author: jaynus + * + * Handles a server-side request for synchronization ALL events on JIP to a client. + * + * Argument: + * 0: client (object) + * + * Return value: + * Boolean of success + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +PARAMS_1(_client); + +{ + private["_eventName", "_eventEntry", "_eventLog"]; + _eventName = _x; + _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); + _eventLog = _eventEntry select 1; + + ["SEH_s", _client, [_eventName, _eventLog] ] call FUNC(targetEvent); +} forEach (GVAR(syncedEvents) select 0); + +true \ No newline at end of file diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf new file mode 100644 index 0000000000..2d58aae869 --- /dev/null +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -0,0 +1,45 @@ +/* + * Author: jaynus + * + * Receives either requests for synchronization from clients, or the synchronization data from the server. + * + * Arguments [Client] : + * 0: eventName (String) + * 1: eventLog (Array) + * + * Arguments [Server] : + * 0: eventName (String) + * 1: client (Object) + * + * Return value: + * Boolean of success + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +//SEH_s +if(isServer) then { + // Find the event name, and shovel out the events to the client + PARAMS_2(_eventName,_client); + private["_eventEntry", "_eventLog"]; + + if(!HASH_HASKEY(GVAR(syncedEvents),_eventName)) exitWith { + diag_log text format["[ACE] Error, request for synced event - key not found."]; + false + }; + _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); + _eventLog = _eventEntry select 1; + + ["SEH_s", _client, [_eventName, _eventLog] ] call FUNC(targetEvent); +} else { + PARAMS_2(_eventName,_eventLog); + // This is the client handling the response from the server + // Start running the events + { + _eventArgs = _x select 1; + [_eventName, _eventArgs, (_x select 2)] call FUNC(_handleSyncedEvent); + } forEach _eventLog; + diag_log text format["[ACE] + [%1] synchronized", _eventName]; +}; + +true \ No newline at end of file diff --git a/addons/common/functions/fnc__handleSyncedEvent.sqf b/addons/common/functions/fnc__handleSyncedEvent.sqf new file mode 100644 index 0000000000..9807896358 --- /dev/null +++ b/addons/common/functions/fnc__handleSyncedEvent.sqf @@ -0,0 +1,36 @@ +/* + * Author: jaynus + * + * Handles synced events being received. Server will log them, and server/client will execute them. + * + * Arguments [Client] : + * 0: eventName (String) + * 1: arguments (Array) + * 2: ttl (Scalar) + * + * Return value: + * Boolean of success + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +PARAMS_3(_name,_args,_ttl); +private["_internalData", "_eventLog", "_eventCode"]; + +if(!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { + diag_log text format["[ACE] Error, synced event key not found."]; + false +}; + +_internalData = HASH_GET(GVAR(syncedEvents),_name); + +if(isServer) then { + // Server needs to internally log it for synchronization + if(_ttl > -1) then { + _internalData = HASH_GET(GVAR(syncedEvents),_name); + _eventLog = _internalData select 1; + _eventLog pushback [diag_tickTime, _args, _ttl]; + }; +}; + +_eventCode = _internalData select 0; +_args call _eventCode; \ No newline at end of file diff --git a/addons/common/functions/fnc_addActionEventHandler.sqf b/addons/common/functions/fnc_addActionEventHandler.sqf index a75b1537d1..a0e9d24f2c 100644 --- a/addons/common/functions/fnc_addActionEventHandler.sqf +++ b/addons/common/functions/fnc_addActionEventHandler.sqf @@ -31,7 +31,11 @@ if (typeName _statement == "STRING") then { _name = format ["ACE_Action_%1", _action]; -_actionsVar = _unit getVariable [_name, [-1, [-1, [], []]]]; +_actionsVar = _unit getVariable [_name, [-1, [-1, [], []], objNull]]; + +if (_unit != _actionsVar select 2) then { // check if the unit is still valid, fixes respawn issues + _actionsVar = [-1, [-1, [], []], objNull]; +}; _actionID = _actionsVar select 0; _actions = _actionsVar select 1; @@ -65,6 +69,6 @@ if (_actionID == -1) then { _actionID = _unit addAction _addAction; }; -_unit setVariable [_name, [_actionID, [_id, _actionIDs, _actions]], false]; +_unit setVariable [_name, [_actionID, [_id, _actionIDs, _actions], _unit], false]; _id diff --git a/addons/common/functions/fnc_addSyncedEventHandler.sqf b/addons/common/functions/fnc_addSyncedEventHandler.sqf new file mode 100644 index 0000000000..5d2b221178 --- /dev/null +++ b/addons/common/functions/fnc_addSyncedEventHandler.sqf @@ -0,0 +1,32 @@ +/* + * Author: jaynus + * + * Register an event handler for an ACE synced event + * + * Argument: + * 0: Name (String) + * 1: Handler (Code) + * 2: TTL (Number or Code) [Optional] + * + * Return value: + * Boolean of success + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +PARAMS_2(_name,_handler); + +private["_ttl", "_eventId", "_data"]; +if( (count _this) > 2) then { + _ttl = _this select 2; +} else { + _ttl = 0; +}; + +if(HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { + diag_log text format["[ACE] Error, duplicate synced event creation."]; + false +}; + +_eventId = [_name, FUNC(_handleSyncedEvent)] call FUNC(addEventHandler); +_data = [_handler,[],_ttl,_eventId]; +HASH_SET(GVAR(syncedEvents),_name,_data); \ No newline at end of file diff --git a/addons/common/functions/fnc_addToInventory.sqf b/addons/common/functions/fnc_addToInventory.sqf index b28d864df8..339055487b 100644 --- a/addons/common/functions/fnc_addToInventory.sqf +++ b/addons/common/functions/fnc_addToInventory.sqf @@ -4,9 +4,10 @@ * or places it in a weaponHolder if no space. * * Arguments: - * 0: Unit (OBJECT) - * 1: Classname (String) - * 2: Container (String, Optional) uniform, vest, backpack + * 0: Unit + * 1: Classname + * 2: Container (uniform, vest, backpack) + * 3: Magazine Ammo Count * * Return Value: * Array: @@ -19,37 +20,29 @@ #include "script_component.hpp" EXPLODE_2_PVT(_this,_unit,_classname); +DEFAULT_PARAM(2,_container,""); +DEFAULT_PARAM(3,_ammoCount,-1); + private "_addedToPlayer"; -private "_container"; private "_canAdd"; private "_type"; _canAdd = false; _addedToPlayer = true; -if((count _this) > 2) then { - _container = _this select 2; -} else { - _container = nil; -}; - _type = [_classname] call EFUNC(common,getItemType); -if(!isNil "_container") then { - switch (_container) do { - case "vest": { _canAdd = _unit canAddItemToVest _classname; }; - case "backpack": { _canAdd = _unit canAddItemToBackpack _classname; }; - case "uniform": { _canAdd = _unit canAddItemToUniform _classname; }; - }; -} else { - _container = ""; - _canAdd = _unit canAdd _classname; +switch (_container) do { + case "vest": { _canAdd = _unit canAddItemToVest _classname; }; + case "backpack": { _canAdd = _unit canAddItemToBackpack _classname; }; + case "uniform": { _canAdd = _unit canAddItemToUniform _classname; }; + default {_canAdd = _unit canAdd _classname;}; }; switch ((_type select 0)) do { case "weapon": { if (_canAdd) then { - switch (_container) do { + switch (_container) do { case "vest": { (vestContainer _unit) addWeaponCargoGlobal [_classname, 1]; }; case "backpack": { (backpackContainer _unit) addWeaponCargoGlobal [_classname, 1]; }; case "uniform": { (uniformContainer _unit) addWeaponCargoGlobal [_classname, 1]; }; @@ -64,24 +57,25 @@ switch ((_type select 0)) do { }; }; case "magazine": { + if (_ammoCount == -1) then {_ammoCount = getNumber (configFile >> "CfgMagazines" >> _classname >> "count");}; if (_canAdd) then { switch (_container) do { - case "vest": { (vestContainer _unit) addMagazineCargoGlobal [_classname, 1]; }; - case "backpack": { (backpackContainer _unit) addMagazineCargoGlobal [_classname, 1]; }; - case "uniform": { (uniformContainer _unit) addMagazineCargoGlobal [_classname, 1]; }; - default { _unit addMagazineGlobal _classname; }; + case "vest": { (vestContainer _unit) addMagazineCargoGlobal [_classname, _ammoCount]; }; + case "backpack": { (backpackContainer _unit) addMagazineCargoGlobal [_classname, _ammoCount]; }; + case "uniform": { (uniformContainer _unit) addMagazineCargoGlobal [_classname, _ammoCount]; }; + default {_unit addMagazine [_classname, _ammoCount]; }; }; } else { _addedToPlayer = false; _pos = _unit modelToWorldVisual [0,1,0.05]; _unit = createVehicle ["WeaponHolder_Single_F",_pos,[],0,"NONE"]; - _unit addMagazineCargoGlobal [_classname, 1]; + _unit addMagazineCargoGlobal [_classname, _ammoCount]; _unit setPosATL _pos; }; }; case "item": { if (_canAdd) then { - switch (_container) do { + switch (_container) do { case "vest": { _unit addItemToVest _classname; }; case "backpack": { _unit addItemToBackpack _classname; }; case "uniform": { _unit addItemToUniform _classname; }; diff --git a/addons/common/functions/fnc_currentChannel.sqf b/addons/common/functions/fnc_currentChannel.sqf index a7ca8c1dd5..127f3b7a54 100644 --- a/addons/common/functions/fnc_currentChannel.sqf +++ b/addons/common/functions/fnc_currentChannel.sqf @@ -7,11 +7,20 @@ * NONE. * * Return value: - * The current channel. Can be "group", "side", "global", "command", "vehicle" or "direct" (String) + * The current channel. Can be "group", "side", "global", "command", "vehicle", "direct" or "custom_X" (String) */ #include "script_component.hpp" -#define CHANNELS ["group", "side", "global", "command", "vehicle", "direct"] -#define CHANNELS_LOCALIZED [localize "str_channel_group", localize "str_channel_side", localize "str_channel_global", localize "str_channel_command", localize "str_channel_vehicle", localize "str_channel_direct"] +#define CHANNELS ["global", "side", "command", "group", "vehicle", "direct"] +#define CHANNELS_LOCALIZED [localize "str_channel_global", localize "str_channel_side", localize "str_channel_command", localize "str_channel_group", localize "str_channel_vehicle", localize "str_channel_direct"] -CHANNELS select (CHANNELS_LOCALIZED find (uiNamespace getVariable [QGVAR(currentChannel), ""])) max 0 +private "_currentChannel"; +_currentChannel = currentChannel; + +if (_currentChannel < count CHANNELS) then { + _currentChannel = CHANNELS select _currentChannel; +} else { + _currentChannel = format ["custom_%1", _currentChannel - count CHANNELS - 1]; +}; + +_currentChannel diff --git a/addons/common/functions/fnc_disableAI.sqf b/addons/common/functions/fnc_disableAI.sqf index 9e1bf59a6f..0e1985eced 100644 --- a/addons/common/functions/fnc_disableAI.sqf +++ b/addons/common/functions/fnc_disableAI.sqf @@ -1,23 +1,37 @@ -/** - * fn_disableAI_f.sqf - * @Descr: N/A - * @Author: Glowbal +/* + * Author: Glowbal, KoffeinFlummi + * Disables/Enables AI * - * @Arguments: [] - * @Return: - * @PublicAPI: false + * Arguments: + * 0: Unit + * 1: Disable AI + * + * Return Value: + * None + * + * Example: + * [bob, true] call ace_common_fnc_disableAI; + * + * Public: No */ #include "script_component.hpp" -private ["_unit","_disable"]; -_unit = [_this, 0,ObjNull,[ObjNull]] call BIS_fnc_Param; -_disable = [_this, 1,false,[false]] call BIS_fnc_Param; -if (local _unit && !(IsPlayer _unit)) then { +PARAMS_2(_unit,_disable); + +if ((local _unit) && {!([_unit] call EFUNC(common,isPlayer))}) then { if (_disable) then { - _unit disableAI "Move"; + _unit disableAI "MOVE"; _unit disableAI "TARGET"; + _unit disableAI "AUTOTARGET"; + _unit disableAI "FSM"; + _unit disableConversation true; } else { - _unit enableAI "Move"; + //Sanity check to make sure we don't enable unconsious AI + if (_unit getVariable ["ace_isunconscious", false] && alive _unit) exitWith {ERROR("Enabling AI for unconsious unit");}; + _unit enableAI "MOVE"; _unit enableAI "TARGET"; + _unit enableAI "AUTOTARGET"; + _unit enableAI "FSM"; + _unit disableConversation false; }; -}; \ No newline at end of file +}; diff --git a/addons/common/functions/fnc_disableUserInput.sqf b/addons/common/functions/fnc_disableUserInput.sqf index 57be44fe43..0b1275e9cf 100644 --- a/addons/common/functions/fnc_disableUserInput.sqf +++ b/addons/common/functions/fnc_disableUserInput.sqf @@ -1,14 +1,16 @@ /* * Author: commy2 - * * Disables key input. ESC can still be pressed to open the menu. * - * Argument: - * 0: True to disable key inputs, false to re-enable them (Bool) + * Arguments: + * 0: True to disable key inputs, false to re-enable them * * Return value: * Nothing + * + * Public: Yes */ + #include "script_component.hpp" private ["_state", "_dlg"]; @@ -16,76 +18,93 @@ private ["_state", "_dlg"]; _state = _this select 0; if (_state) then { - disableSerialization; + disableSerialization; - if (!isNull (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull])) exitWith {}; - if ("ACE_DisableUserInput" in ([BIS_stackedEventHandlers_onEachFrame, {_this select 0}] call FUNC(map))) exitWith {}; + if (!isNull (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull])) exitWith {}; + if ("ACE_DisableUserInput" in ([BIS_stackedEventHandlers_onEachFrame, {_this select 0}] call FUNC(map))) exitWith {}; - // end TFAR and ACRE2 radio transmissions - 0 spawn FUNC(endRadioTransmission); + // end TFAR and ACRE2 radio transmissions + call FUNC(endRadioTransmission); - // Close map - if (visibleMap && {!(player getVariable ["ACE_canSwitchUnits", false])}) then {openMap false}; + // Close map + if (visibleMap && {!(player getVariable ["ACE_canSwitchUnits", false])}) then { + openMap false; + }; - closeDialog 0; - createDialog QGVAR(DisableMouse_Dialog); + closeDialog 0; + createDialog QGVAR(DisableMouse_Dialog); - _dlg = uiNamespace getVariable QGVAR(dlgDisableMouse); + _dlg = uiNamespace getVariable QGVAR(dlgDisableMouse); - _dlg displayAddEventHandler ["KeyDown", { - _key = _this select 1; - - if (_key == 1 && {alive player}) then { - createDialog (["RscDisplayInterrupt", "RscDisplayMPInterrupt"] select isMultiplayer); - - disableSerialization; - _dlg = finddisplay 49; - _dlg displayAddEventHandler ["KeyDown", { + _dlg displayAddEventHandler ["KeyDown", { _key = _this select 1; - !(_key == 1) - }]; - for "_index" from 100 to 2000 do { - (_dlg displayCtrl _index) ctrlEnable false; - }; + if (_key == 1 && {alive player}) then { + createDialog (["RscDisplayInterrupt", "RscDisplayMPInterrupt"] select isMultiplayer); - _ctrl = _dlg displayctrl 103; - _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(while {!isNull (uiNamespace getVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),displayNull)])} do {closeDialog 0}; failMission 'LOSER'; [false] call DFUNC(disableUserInput);)]; - _ctrl ctrlEnable true; - _ctrl ctrlSetText "ABORT"; - _ctrl ctrlSetTooltip "Abort."; + disableSerialization; + _dlg = finddisplay 49; + _dlg displayAddEventHandler ["KeyDown", { + _key = _this select 1; + !(_key == 1) + }]; - _ctrl = _dlg displayctrl ([104, 1010] select isMultiplayer); - _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput);)]; - _ctrl ctrlEnable (call {_config = missionConfigFile >> "respawnButton"; !isNumber _config || {getNumber _config == 1}}); - _ctrl ctrlSetText "RESPAWN"; - _ctrl ctrlSetTooltip "Respawn."; - }; + for "_index" from 100 to 2000 do { + (_dlg displayCtrl _index) ctrlEnable false; + }; - if (_key in actionKeys "TeamSwitch" && {teamSwitchEnabled}) then {(uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; teamSwitch};//_acc = accTime; teamSwitch; setAccTime _acc}; - if (_key in actionKeys "CuratorInterface" && {getAssignedCuratorLogic player in allCurators}) then {(uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; openCuratorInterface}; - if (_key in actionKeys "ShowMap" && {player getVariable ["ACE_canSwitchUnits", false]}) then {(uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; openMap true}; + _ctrl = _dlg displayctrl 103; + _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(while {!isNull (uiNamespace getVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),displayNull)])} do {closeDialog 0}; failMission 'LOSER'; [false] call DFUNC(disableUserInput);)]; + _ctrl ctrlEnable true; + _ctrl ctrlSetText "ABORT"; + _ctrl ctrlSetTooltip "Abort."; - if (serverCommandAvailable "#missions" || {player getVariable ["ACE_isUnconscious", false] && {(call FUNC(player)) getVariable [QEGVAR(medical,AllowChatWhileUnconscious), missionNamespace getVariable [QEGVAR(medical,AllowChatWhileUnconscious), false]]}}) then { - if (!(_key in (actionKeys "DefaultAction" + actionKeys "Throw")) && {_key in (actionKeys "Chat" + actionKeys "PrevChannel" + actionKeys "NextChannel")}) then { - _key = 0; - }; - }; + _ctrl = _dlg displayctrl ([104, 1010] select isMultiplayer); + _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput);)]; + _ctrl ctrlEnable (call {_config = missionConfigFile >> "respawnButton"; !isNumber _config || {getNumber _config == 1}}); + _ctrl ctrlSetText "RESPAWN"; + _ctrl ctrlSetTooltip "Respawn."; + }; - _key > 0 - }]; - _dlg displayAddEventHandler ["KeyUp", {true}]; + if (_key in actionKeys "TeamSwitch" && {teamSwitchEnabled}) then { + (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; + _acc = accTime; + teamSwitch; + setAccTime _acc; + }; + + if (_key in actionKeys "CuratorInterface" && {getAssignedCuratorLogic player in allCurators}) then { + (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; + openCuratorInterface; + }; + + if (_key in actionKeys "ShowMap" && {player getVariable ["ACE_canSwitchUnits", false]}) then { + (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; + openMap true; + }; + + if (serverCommandAvailable "#missions" || {player getVariable ["ACE_isUnconscious", false] && {(call FUNC(player)) getVariable [QEGVAR(medical,AllowChatWhileUnconscious), missionNamespace getVariable [QEGVAR(medical,AllowChatWhileUnconscious), false]]}}) then { + if (!(_key in (actionKeys "DefaultAction" + actionKeys "Throw")) && {_key in (actionKeys "Chat" + actionKeys "PrevChannel" + actionKeys "NextChannel")}) then { + _key = 0; + }; + }; + + _key > 0 + }]; + + _dlg displayAddEventHandler ["KeyUp", {true}]; + + ["ACE_DisableUserInput", "onEachFrame", { + if (isNull (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) && {!visibleMap && isNull findDisplay 49 && isNull findDisplay 312 && isNull findDisplay 632}) then { + ["ACE_DisableUserInput", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; + [true] call FUNC(disableUserInput); + }; + }] call BIS_fnc_addStackedEventHandler; - ["ACE_DisableUserInput", "onEachFrame", { - if (isNull (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) && {!visibleMap && isNull findDisplay 49 && isNull findDisplay 312 && isNull findDisplay 632}) then { - ["ACE_DisableUserInput", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; - [true] call FUNC(disableUserInput); - }; - }] call BIS_fnc_addStackedEventHandler; } else { - if ("ACE_DisableUserInput" in ([BIS_stackedEventHandlers_onEachFrame, {_this select 0}] call FUNC(map))) then { - ["ACE_DisableUserInput", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; - }; + if ("ACE_DisableUserInput" in ([BIS_stackedEventHandlers_onEachFrame, {_this select 0}] call FUNC(map))) then { + ["ACE_DisableUserInput", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; + }; - (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; + (uiNamespace getVariable [QGVAR(dlgDisableMouse), displayNull]) closeDisplay 0; }; diff --git a/addons/common/functions/fnc_dropBackpack.sqf b/addons/common/functions/fnc_dropBackpack.sqf new file mode 100644 index 0000000000..a2fd38b7c3 --- /dev/null +++ b/addons/common/functions/fnc_dropBackpack.sqf @@ -0,0 +1,34 @@ +/* + * Author: commy2 + * + * Drops a backback. Also returns the ground wepaon holder object of the dropped backpack. + * + * Argument: + * 0: Unit that has a backpack (Object) + * + * Return value: + * Ground wepaon holder with backpack (Object) + * + */ +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +private "_backpackObject"; +_backpackObject = backpackContainer _unit; + +_unit addBackpack "Bag_Base"; +removeBackpack _unit; + +private "_holder"; +_holder = objNull; + +{ + if (_backpackObject in everyBackpack _x) exitWith { + _holder = _x; + }; +} forEach (position _unit nearObjects ["WeaponHolder", 5]); + +_holder diff --git a/addons/common/functions/fnc_endRadioTransmission.sqf b/addons/common/functions/fnc_endRadioTransmission.sqf index 772a34a06b..78a50e9f2c 100644 --- a/addons/common/functions/fnc_endRadioTransmission.sqf +++ b/addons/common/functions/fnc_endRadioTransmission.sqf @@ -14,10 +14,10 @@ // ACRE if (isClass (configFile >> "CfgPatches" >> "acre_main")) then { - [-1] call acre_core_fnc_handleMultiPttKeyPressUp; - [0] call acre_core_fnc_handleMultiPttKeyPressUp; - [1] call acre_core_fnc_handleMultiPttKeyPressUp; - [2] call acre_core_fnc_handleMultiPttKeyPressUp; + [-1] call acre_sys_core_fnc_handleMultiPttKeyPressUp; + [0] call acre_sys_core_fnc_handleMultiPttKeyPressUp; + [1] call acre_sys_core_fnc_handleMultiPttKeyPressUp; + [2] call acre_sys_core_fnc_handleMultiPttKeyPressUp; }; // TFAR diff --git a/addons/common/functions/fnc_errorMessage.sqf b/addons/common/functions/fnc_errorMessage.sqf new file mode 100644 index 0000000000..e061772942 --- /dev/null +++ b/addons/common/functions/fnc_errorMessage.sqf @@ -0,0 +1,144 @@ +/* + * Author: commy2, based on BIS_fnc_errorMsg and BIS_fnc_guiMessage by Karel Moricky (BI) + * Stops simulation and opens a textbox with error message. + * + * Arguments: + * ? + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +disableSerialization; +endLoadingScreen; + +private ["_textHeader", "_textMessage", "_onOK", "_onCancel"]; + +_textHeader = _this select 0; +_textMessage = _this select 1; +_onOK = ARR_SELECT(_this,2,{}); +_onCancel = ARR_SELECT(_this,3,{}); + +if (typeName _textMessage == "STRING") then { + _textMessage = parseText _textMessage; +}; + +(ARR_SELECT(_this,4,call BIS_fnc_displayMission)) createDisplay "RscDisplayCommonMessagePause"; + +private ["_display", "_ctrlRscMessageBox", "_ctrlBcgCommonTop", "_ctrlBcgCommon", "_ctrlText", "_ctrlBackgroundButtonOK", "_ctrlBackgroundButtonMiddle", "_ctrlBackgroundButtonCancel", "_ctrlButtonOK", "_ctrlButtonCancel"]; + +_display = uiNamespace getVariable "RscDisplayCommonMessage_display"; +_ctrlRscMessageBox = _display displayCtrl 2351; +_ctrlBcgCommonTop = _display displayCtrl 235100; +_ctrlBcgCommon = _display displayCtrl 235101; +_ctrlText = _display displayCtrl 235102; +_ctrlBackgroundButtonOK = _display displayCtrl 235103; +_ctrlBackgroundButtonMiddle = _display displayCtrl 235104; +_ctrlBackgroundButtonCancel = _display displayCtrl 235105; +_ctrlButtonOK = _display displayCtrl 235106; +_ctrlButtonCancel = _display displayCtrl 235107; + +_ctrlBcgCommonTop ctrlSetText _textHeader; + +private ["_ctrlButtonOKPos", "_ctrlBcgCommonPos", "_bottomSpaceY", "_ctrlTextPos", "_marginX", "_marginY"]; + +_ctrlButtonOKPos = ctrlPosition _ctrlButtonOK; +_ctrlBcgCommonPos = ctrlPosition _ctrlBcgCommon; +_bottomSpaceY = (_ctrlButtonOKPos select 1) - ((_ctrlBcgCommonPos select 1) + (_ctrlBcgCommonPos select 3)); + +_ctrlTextPos = ctrlPosition _ctrlText; +_marginX = (_ctrlTextPos select 0) - (_ctrlBcgCommonPos select 0); +_marginY = (_ctrlTextPos select 1) - (_ctrlBcgCommonPos select 1); + +private ["_ctrlTextPosH", "_bottomPosY"]; + +_ctrlText ctrlSetStructuredText _textMessage; +_ctrlTextPosH = ctrlTextHeight _ctrlText; + +_ctrlBcgCommon ctrlSetPosition [ + _ctrlBcgCommonPos select 0, + _ctrlBcgCommonPos select 1, + _ctrlBcgCommonPos select 2, + _ctrlTextPosH + _marginY * 2 +]; +_ctrlBcgCommon ctrlCommit 0; + +_ctrlText ctrlSetPosition [ + (_ctrlBcgCommonPos select 0) + _marginX, + (_ctrlBcgCommonPos select 1) + _marginY, + (_ctrlBcgCommonPos select 2) - _marginX * 2, + _ctrlTextPosH +]; +_ctrlText ctrlCommit 0; + +_bottomPosY = (_ctrlBcgCommonPos select 1) + _ctrlTextPosH + (_marginY * 2) + _bottomSpaceY; + +{ + private "_xPos"; + _xPos = ctrlPosition _x; + + _xPos set [1, _bottomPosY]; + _x ctrlSetPosition _xPos; + _x ctrlCommit 0; +} foreach [ + _ctrlBackgroundButtonOK, + _ctrlBackgroundButtonMiddle, + _ctrlBackgroundButtonCancel, + _ctrlButtonOK, + _ctrlButtonCancel +]; + +private ["_ctrlRscMessageBoxPos", "_ctrlRscMessageBoxPosH"]; + +_ctrlRscMessageBoxPos = ctrlPosition _ctrlRscMessageBox; +_ctrlRscMessageBoxPosH = _bottomPosY + (_ctrlButtonOKPos select 3); + +_ctrlRscMessageBox ctrlSetPosition [ + 0.5 - (_ctrlBcgCommonPos select 2) / 2, + 0.5 - _ctrlRscMessageBoxPosH / 2, + (_ctrlBcgCommonPos select 2) + 0.5, + _ctrlRscMessageBoxPosH +]; + +_ctrlRscMessageBox ctrlEnable true; +_ctrlRscMessageBox ctrlCommit 0; + +if (_onOK isEqualTo {}) then { + _ctrlButtonOK ctrlEnable false; + _ctrlButtonOK ctrlSetFade 0; + _ctrlButtonOK ctrlSetText ""; + _ctrlButtonOK ctrlCommit 0; +} else { + _ctrlButtonOK ctrlEnable true; + _ctrlButtonOK ctrlSetFade 0; + _ctrlButtonOK ctrlSetText localize "STR_DISP_OK"; + _ctrlButtonOK ctrlCommit 0; + + ctrlSetFocus _ctrlButtonOK; +}; + +if (_onCancel isEqualTo {}) then { + _ctrlButtonCancel ctrlEnable false; + _ctrlButtonCancel ctrlSetFade 0; + _ctrlButtonCancel ctrlSetText ""; + _ctrlButtonCancel ctrlCommit 0; +} else { + _ctrlButtonCancel ctrlEnable true; + _ctrlButtonCancel ctrlSetFade 0; + _ctrlButtonCancel ctrlSetText localize "STR_DISP_CANCEL"; + _ctrlButtonCancel ctrlCommit 0; + + ctrlSetFocus _ctrlButtonCancel; +}; + +_ctrlButtonOK ctrlAddEventHandler ["buttonClick", {(ctrlParent (_this select 0)) closeDisplay 1; true}]; +_ctrlButtonCancel ctrlAddEventHandler ["buttonClick", {(ctrlParent (_this select 0)) closeDisplay 2; true}]; + +GVAR(errorOnOK) = _onOK; +GVAR(errorOnCancel) = _onCancel; + +_display displayAddEventHandler ["unload", {call ([{}, GVAR(errorOnOK), GVAR(errorOnCancel)] select (_this select 1))}]; +_display displayAddEventHandler ["keyDown", {_this select 1 == 1}]; diff --git a/addons/common/functions/fnc_getAllGear.sqf b/addons/common/functions/fnc_getAllGear.sqf index efb58a0b9d..1b1d7e03fa 100644 --- a/addons/common/functions/fnc_getAllGear.sqf +++ b/addons/common/functions/fnc_getAllGear.sqf @@ -1,5 +1,5 @@ /* - * Author: bux578 + * Author: bux578, commy2 * * Returns an array containing all items of a given unit * @@ -7,32 +7,45 @@ * 0: Unit (Object) * * Return value: - * Array with all the gear + * Array with all the gear, format: + * 0: headgear (String) + * 1: goggles (String) + * 2,3: uniform (String, Array) + * 4,5: vest (String, Array) + * 6,7: backpack (String, Array) + * 8-10: rifle (String, Array, Array) + * 11-13: launcher (String, Array, Array) + * 14-16: pistol (String, Array, Array) + * 17: map, compass, watch, etc. (Array) + * 18: binocluar (String) + * */ #include "script_component.hpp" EXPLODE_1_PVT(_this,_unit); -if (isNull _unit) exitWith {[]}; +if (isNull _unit) exitWith {[ + "", + "", + "", [], + "", [], + "", [], + "", ["","","",""], [], + "", ["","","",""], [], + "", ["","","",""], [], + [], + "" +]}; [ - (headgear _unit), - (goggles _unit), - (uniform _unit), - (uniformItems _unit), - (vest _unit), - (vestItems _unit), - (backpack _unit), - (backpackItems _unit), - (primaryWeapon _unit), - (primaryWeaponItems _unit), - (primaryWeaponMagazine _unit), - (secondaryWeapon _unit), - (secondaryWeaponItems _unit), - (secondaryWeaponMagazine _unit), - (handgunWeapon _unit), - (handgunItems _unit), - (handgunMagazine _unit), - (assignedItems _unit), - (binocular _unit) -] \ No newline at end of file + headgear _unit, + goggles _unit, + uniform _unit, uniformItems _unit, + vest _unit, vestItems _unit, + backpack _unit, backpackItems _unit, + primaryWeapon _unit, primaryWeaponItems _unit, primaryWeaponMagazine _unit, + secondaryWeapon _unit, secondaryWeaponItems _unit, secondaryWeaponMagazine _unit, + handgunWeapon _unit, handgunItems _unit, handgunMagazine _unit, + assignedItems _unit, + binocular _unit +] diff --git a/addons/common/functions/fnc_getGunner.sqf b/addons/common/functions/fnc_getGunner.sqf index 2980246504..e832214601 100644 --- a/addons/common/functions/fnc_getGunner.sqf +++ b/addons/common/functions/fnc_getGunner.sqf @@ -16,8 +16,10 @@ private ["_vehicle", "_weapon"]; _vehicle = _this select 0; _weapon = _this select 1; -if (gunner _vehicle == _vehicle && {_weapon in weapons _vehicle}) exitWith {gunner _vehicle}; +// on foot +if (gunner _vehicle == _vehicle && {_weapon in weapons _vehicle || {toLower _weapon in ["throw", "put"]}}) exitWith {gunner _vehicle}; +// inside vehicle private "_gunner"; _gunner = objNull; @@ -27,4 +29,9 @@ _gunner = objNull; }; } forEach allTurrets [_vehicle, true]; +// ensure that at least the pilot is returned if there is no gunner +if (isManualFire _vehicle && {isNull _gunner}) then { + _gunner = driver _vehicle; +}; + _gunner diff --git a/addons/common/functions/fnc_isFeatureCameraActive.sqf b/addons/common/functions/fnc_isFeatureCameraActive.sqf new file mode 100644 index 0000000000..250beaa3ca --- /dev/null +++ b/addons/common/functions/fnc_isFeatureCameraActive.sqf @@ -0,0 +1,31 @@ +/* + * Author: Sniperwolf572 + * + * Checks if one of the following BI feature cameras are active: + * + * - Classic camera (BIS_fnc_cameraOld) + * - Splendid camera (BIS_fnc_camera) + * - Arsenal camera (BIS_fnc_arsenal) + * - Animation viewer (BIS_fnc_animViewer) + * - Establishing shot (BIS_fnc_establishingShot) + * + * Arguments: + * None + * + * Return value: + * Is BI feature camera active (bool) + * + * Example: + * call ace_common_fnc_isFeatureCameraActive; + * + */ + +#include "script_component.hpp" + +( + !isNull (missionNamespace getVariable ["BIS_DEBUG_CAM", objNull]) || // Classic camera + {!isNull (missionNamespace getVariable ["BIS_fnc_camera_cam", objNull])} || // Splendid camera + {!isNull (uiNamespace getVariable ["BIS_fnc_arsenal_cam", objNull])} || // Arsenal camera + {!isNull (uiNamespace getVariable ["BIS_fnc_animViewer_cam", objNull])} || // Animation viewer camera + {!isNull (missionNamespace getVariable ["BIS_fnc_establishingShot_fakeUAV", objNull])} // Establishing shot camera +) \ No newline at end of file diff --git a/addons/common/functions/fnc_lightIntensityFromObject.sqf b/addons/common/functions/fnc_lightIntensityFromObject.sqf index 98e7935f9f..785ebf8212 100644 --- a/addons/common/functions/fnc_lightIntensityFromObject.sqf +++ b/addons/common/functions/fnc_lightIntensityFromObject.sqf @@ -63,7 +63,7 @@ if (_lightSource isKindOf "CAManBase") then { _lightLevel = (linearConversion [0, 30, _distance, 1, 0, true]) * (linearConversion [_innerAngle, _outerAngle, _angle, 1, 0, true]); } else { - // handle any object, strcutures, cars, tanks, etc. + // handle any object, strcutures, cars, tanks, etc. @todo campfires, burning vehicles private "_lights"; _lights = [_lightSource] call FUNC(getTurnedOnLights); diff --git a/addons/common/functions/fnc_loadSettingsFromProfile.sqf b/addons/common/functions/fnc_loadSettingsFromProfile.sqf index 69d86eac98..7cb99e3400 100644 --- a/addons/common/functions/fnc_loadSettingsFromProfile.sqf +++ b/addons/common/functions/fnc_loadSettingsFromProfile.sqf @@ -13,6 +13,8 @@ */ #include "script_component.hpp" +private ["_name", "_isClientSetable", "_isForced", "_profileValue"]; + // Iterate through settings { _name = _x select 0; @@ -34,4 +36,5 @@ }; }; }; + } forEach GVAR(settings); diff --git a/addons/common/functions/fnc_loadSettingsLocalizedText.sqf b/addons/common/functions/fnc_loadSettingsLocalizedText.sqf new file mode 100644 index 0000000000..280a1e9907 --- /dev/null +++ b/addons/common/functions/fnc_loadSettingsLocalizedText.sqf @@ -0,0 +1,48 @@ +/* + * Author: Glowbal + * Parse all settings and load the localized displayName and description for all text + * + * Arguments: + * None + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +private ["_parseConfigForDisplayNames", "_name"]; + +_parseConfigForDisplayNames = { + private "_optionEntry"; + _optionEntry = _this select 0; + if !(isClass _optionEntry) exitwith {false}; + _x set [3, getText (_optionEntry >> "displayName")]; + _x set [4, getText (_optionEntry >> "description")]; + + private "_values"; + _values = _x select 5; + { + private "_text"; + _text = _x; + if (((typeName _text) == "STRING") && {(count _text) > 1} && {(_text select [0,1]) == "$"}) then { + _text = localize (_text select [1, ((count _text) - 1)]); //chop off the leading $ + _values set [_forEachIndex, _text]; + }; + } forEach _values; + true; +}; + + +// Iterate through settings +{ + _name = _x select 0; + + if !([configFile >> "ACE_Settings" >> _name] call _parseConfigForDisplayNames) then { + if !([configFile >> "ACE_ServerSettings" >> _name] call _parseConfigForDisplayNames) then { + [missionConfigFile >> "ACE_Settings" >> _name] call _parseConfigForDisplayNames; + }; + }; + +} forEach GVAR(settings); diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index 8edf9df391..5c496ea58e 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -5,21 +5,34 @@ * * Argument: * 0: Unit (Object) + * 1: Reason to mute the unit (String) * * Return value: * Nothing */ #include "script_component.hpp" -private ["_unit", "_speaker"]; +private ["_unit", "_reason"]; _unit = _this select 0; +_reason = _this select 1; if (isNull _unit) exitWith {}; +// add reason to mute to the unit +private "_muteUnitReasons"; +_muteUnitReasons = _unit getVariable [QGVAR(muteUnitReasons), []]; + +if !(_reason in _muteUnitReasons) then { + _muteUnitReasons pushBack _reason; + _unit setVariable [QGVAR(muteUnitReasons), _muteUnitReasons, true]; +}; + +private "_speaker"; _speaker = speaker _unit; + if (_speaker == "ACE_NoVoice") exitWith {}; -[0, "{(_this select 1) setSpeaker 'ACE_NoVoice'}", _unit, "ACE_Speaker"] call FUNC(execPersistentFnc); +["setSpeaker", [_unit, "ACE_NoVoice"]] call FUNC(globalEvent); _unit setVariable ["ACE_OriginalSpeaker", _speaker, true]; diff --git a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf new file mode 100644 index 0000000000..f0abcfcf01 --- /dev/null +++ b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf @@ -0,0 +1,11 @@ +// by commy2 +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +// setSpeaker gets overwritten after init on remote units; if unit is muted, setSpeaker again +if (count (_unit getVariable [QGVAR(muteUnitReasons), []]) > 0) then { + ["setSpeaker", [_unit, "ACE_NoVoice"]] call FUNC(localEvent); +}; diff --git a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf new file mode 100644 index 0000000000..021b083bfd --- /dev/null +++ b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf @@ -0,0 +1,12 @@ +// by commy2 +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +// setVariable is broken on JIP after respawn +_unit setVariable [QGVAR(muteUnitReasons), _unit getVariable [QGVAR(muteUnitReasons), []], true]; + +// fix mp issues with respawning and the speaker +["setSpeaker", [_unit, speaker _unit]] call FUNC(globalEvent); diff --git a/addons/common/functions/fnc_onLoadRscDisplayChannel.sqf b/addons/common/functions/fnc_onLoadRscDisplayChannel.sqf deleted file mode 100644 index ae8113c1b8..0000000000 --- a/addons/common/functions/fnc_onLoadRscDisplayChannel.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Author: Pabst Mirror, commy2 - * When the RscDisplayChannel is loaded, this will constantly uiNamespace variable ace_common_currentChannel - * with the raw localized text of CA_Channel (IDC=101). Only runs while the display is open. - * - * Arguments: - * 0: The RscDisplayChannel Display - * - * Return Value: - * Nothing - * - * Example: - * onLoad = QUOTE(_this call FUNC(onLoadRscDisplayChannel)); - * - * Public: No - */ -#include "script_component.hpp" - -uiNamespace setVariable [QGVAR(currentChannelControl), ((_this select 0) displayCtrl 101)]; - -["ACE_currentChannel", "onEachFrame", { - if (isNull (uiNamespace getVariable [QGVAR(currentChannelControl), controlNull])) then { - ["ACE_currentChannel", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; - } else { - private "_localizedChannelText"; - _localizedChannelText = ctrlText (uiNamespace getVariable [QGVAR(currentChannelControl), controlNull]); - uiNamespace setVariable [QGVAR(currentChannel), _localizedChannelText]; - }; -}] call BIS_fnc_addStackedEventhandler; diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index 3191a57d72..f7d927556c 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -26,7 +26,7 @@ PARAMS_4(_totalTime,_args,_onFinish,_onFail); DEFAULT_PARAM(4,_localizedTitle,""); DEFAULT_PARAM(5,_condition,{true}); DEFAULT_PARAM(6,_exceptions,[]); -private ["_player", "_perFrameFunction"]; +private ["_player", "_perFrameFunction", "_ctrlPos"]; _player = ACE_player; @@ -35,14 +35,17 @@ closeDialog 0; createDialog QGVAR(ProgressBar_Dialog); (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetText _localizedTitle; -if (GVAR(SettingProgressBarLocation) == 1) then { - private "_ctrlPos"; - _ctrlPos = [1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2), 29 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2), 38 * (((safezoneW / safezoneH) min 1.2) / 40), 0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)]; - (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos; - (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; - (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0; - (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; -}; +//Adjust position based on user setting: +_ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)); +_ctrlPos set [1, ((0 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))]; + +(uiNamespace getVariable QGVAR(ctrlProgressBG)) ctrlSetPosition _ctrlPos; +(uiNamespace getVariable QGVAR(ctrlProgressBG)) ctrlCommit 0; +(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos; +(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0; +(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; +(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; + _perFrameFunction = { diff --git a/addons/common/functions/fnc_removeActionEventHandler.sqf b/addons/common/functions/fnc_removeActionEventHandler.sqf index 7d92b3de75..2bcc970ab0 100644 --- a/addons/common/functions/fnc_removeActionEventHandler.sqf +++ b/addons/common/functions/fnc_removeActionEventHandler.sqf @@ -23,7 +23,7 @@ if (_id == -1) exitWith {}; _name = format ["ACE_Action_%1", _action]; -_actionsVar = _unit getVariable [_name, [-1, [-1, [], []]]]; +_actionsVar = _unit getVariable [_name, [-1, [-1, [], []], objNull]]; _actionID = _actionsVar select 0; _actions = _actionsVar select 1; @@ -32,6 +32,8 @@ _currentID = _actions select 0; _actionIDs = _actions select 1; _actions = _actions select 2; +if (_unit != _actionsVar select 2) exitWith {}; + _id = _actionIDs find _id; if (_id == -1) exitWith {}; @@ -47,4 +49,4 @@ if (count _actions == 0) then { _actionID = -1; }; -_unit setVariable [_name, [_actionID, [_currentID, _actionIDs, _actions]], false]; +_unit setVariable [_name, [_actionID, [_currentID, _actionIDs, _actions], _unit], false]; diff --git a/addons/common/functions/fnc_removeSyncedEventHandler.sqf b/addons/common/functions/fnc_removeSyncedEventHandler.sqf new file mode 100644 index 0000000000..6429120bbe --- /dev/null +++ b/addons/common/functions/fnc_removeSyncedEventHandler.sqf @@ -0,0 +1,24 @@ +/* + * Author: jaynus + * + * Remove a synced event handler + * + * Argument: + * 0: Name (String) + * + * Return value: + * Boolean of success + */ +#include "script_component.hpp" +PARAMS_1(_name); + +if(!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { + diag_log text format["[ACE] Error, synced event key not found."]; + false +}; + +_data = HASH_GET(GVAR(syncedEvents),_name); +_eventId = _data select 3; + +[_eventId] call ace_common_fnc_removeEventHandler; +HASH_REM(GVAR(syncedEvents),_name); \ No newline at end of file diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf new file mode 100644 index 0000000000..dea0c7adef --- /dev/null +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -0,0 +1,19 @@ +/* + * Author: jaynus + * + * Send a request to synchronize an event name from the client->server. Execute on client only. + * + * Argument: + * 0: eventName (String) + * + * Return value: + * Boolean of success + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +PARAMS_1(_eventName); + +// Only JIP machines on initialization send this off, requesting sync on events with the serverCommand +if(isServer) exitWith { false }; + +["SEH_s", [_eventName, ACE_player] ] call ace_common_fnc_serverEvent; \ No newline at end of file diff --git a/addons/common/functions/fnc_restoreVariablesJIP.sqf b/addons/common/functions/fnc_restoreVariablesJIP.sqf index 2c173a054c..ca185082cb 100644 --- a/addons/common/functions/fnc_restoreVariablesJIP.sqf +++ b/addons/common/functions/fnc_restoreVariablesJIP.sqf @@ -23,6 +23,3 @@ _respawnVariables pushBack "ACE_PersistentFunctions"; { _unit setVariable [_x, _unit getVariable _x, true]; } forEach _respawnVariables; - -// fix speaker after respawn -[_unit, format ["{_this setSpeaker '%1'}", speaker _unit], 2] call FUNC(execRemoteFnc); diff --git a/addons/common/functions/fnc_setHearingCapability.sqf b/addons/common/functions/fnc_setHearingCapability.sqf index 26d8ca98ac..76837b4433 100644 --- a/addons/common/functions/fnc_setHearingCapability.sqf +++ b/addons/common/functions/fnc_setHearingCapability.sqf @@ -52,4 +52,4 @@ _lowestVolume = 1; // Set Radio mod variables. player setVariable ["tf_globalVolume", _lowestVolume]; -player setVariable ["acre_sys_core_globalVolume", _lowestVolume]; +if (!isNil "acre_api_fnc_setGlobalVolume") then { [_lowestVolume^0.33] call acre_api_fnc_setGlobalVolume; }; diff --git a/addons/common/functions/fnc_setSettingFromConfig.sqf b/addons/common/functions/fnc_setSettingFromConfig.sqf index 9d93b9e62d..3a1b6fd055 100644 --- a/addons/common/functions/fnc_setSettingFromConfig.sqf +++ b/addons/common/functions/fnc_setSettingFromConfig.sqf @@ -58,7 +58,7 @@ if (isNil _name) then { /*_settingData = [ _name, _typeName, - _isClientSetable, + _isClientSettable, _localizedName, _localizedDescription, _possibleValues, @@ -68,7 +68,7 @@ if (isNil _name) then { _settingData = [ _name, _typeName, - (getNumber (_optionEntry >> "isClientSetable")) > 0, + (getNumber (_optionEntry >> "isClientSettable")) > 0, getText (_optionEntry >> "displayName"), getText (_optionEntry >> "description"), getArray (_optionEntry >> "values"), @@ -76,6 +76,18 @@ if (isNil _name) then { _value ]; + //Strings in the values array won't be localized from the config, so just do that now: + /*private "_values"; + _values = _settingData select 5; + { + _text = _x; + if (((typeName _text) == "STRING") && {(count _text) > 1} && {(_text select [0,1]) == "$"}) then { + _text = localize (_text select [1, ((count _text) - 1)]); //chop off the leading $ + _values set [_forEachIndex, _text]; + }; + } forEach _values;*/ + + GVAR(settings) pushBack _settingData; } else { diff --git a/addons/common/functions/fnc_setVolume.sqf b/addons/common/functions/fnc_setVolume.sqf index 91d66a00ec..133a09bd24 100644 --- a/addons/common/functions/fnc_setVolume.sqf +++ b/addons/common/functions/fnc_setVolume.sqf @@ -27,8 +27,8 @@ if (_setVolume) then { player setVariable ["tf_unable_to_use_radio", false]; // ACRE2 - player setVariable ["acre_sys_core_globalVolume", NORMAL_LEVEL]; - player setVariable ["acre_sys_core_isDisabled", false, true]; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [NORMAL_LEVEL^0.33] call acre_api_fnc_setGlobalVolume; }; + player setVariable ["acre_sys_core_isDisabled", false, true]; } else { // Vanilla Game @@ -40,7 +40,7 @@ if (_setVolume) then { player setVariable ["tf_unable_to_use_radio", true]; // ACRE2 - player setVariable ["acre_sys_core_globalVolume", MUTED_LEVEL]; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [MUTED_LEVEL^0.33] call acre_api_fnc_setGlobalVolume; }; player setVariable ["acre_sys_core_isDisabled", true, true]; }; diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf new file mode 100644 index 0000000000..70c30a19da --- /dev/null +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -0,0 +1,31 @@ +/* + * Author: jaynus + * + * Call and propegate a synced event + * + * Argument: + * 0: Name (String) + * 1: Arguments (Array) + * 2: TTL (Number or Code) [Optional] for this specific event call + * + * Return value: + * Boolean of success + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +PARAMS_2(_name,_args); +private["_ttl", "_eventData", "_internalData", "_eventLog"]; + +if( (count _this) > 2) then { + _ttl = _this select 2; +} else { + _ttl = 0; +}; + +if(!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { + diag_log text format["[ACE] Error, synced event key not found."]; + false +}; + +_eventData = [_name, _args,_ttl]; +["SEH", _eventData] call FUNC(globalEvent); \ No newline at end of file diff --git a/addons/common/functions/fnc_syncedEventPFH.sqf b/addons/common/functions/fnc_syncedEventPFH.sqf new file mode 100644 index 0000000000..e8a21202ab --- /dev/null +++ b/addons/common/functions/fnc_syncedEventPFH.sqf @@ -0,0 +1,52 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +if(!isServer) exitWith { false }; + +// Walk through the local synced events and clean up anything thats already EOL +// @TODO: This should be iteration limited to prevent FPS lag +private["_data"]; +{ + private["_data", "_ttl", "_eventLog", "_newEventLog", "_name"]; + _name = _x; + + _data = HASH_GET(GVAR(syncedEvents),_name); + _eventLog = _data select 1; + _globalEventTTL = _data select 2; + _newEventLog = []; + + // @TODO: This should be iteration limited to prevent FPS lag + { + private["_eventEntry", "_ttlReturn"]; + _eventEntry = _x; + + _ttlReturn = true; + if(typeName _globalEventTTL == "CODE") then { + _ttlReturn = [(_data select 0),_eventEntry] call _globalEventTTL; + } else { + _ttlReturn = call { _globalEventTTL < 1 || {diag_tickTime < (_eventEntry select 0) + _globalEventTTL} }; + }; + + if(_ttlReturn) then { + // Do event based TTL check + private["_eventTTL"]; + _eventTTL = _eventEntry select 2; + + if(typeName _eventTTL == "CODE") then { + _ttlReturn = [(_data select 0),_eventEntry] call _eventTTL; + } else { + _ttlReturn = call { _eventTTL < 1 || {diag_tickTime < (_eventEntry select 0) + _eventTTL} }; + }; + }; + + // Finally drop it if the TTL check fails + if(_ttlReturn) then { + _newEventLog pushBack _x; + }; + } forEach _eventLog; + + _data set[1, _newEventLog]; +} forEach (GVAR(syncedEvents) select 0); + + +// @TODO: Next, detect if we had a new request from a JIP player, and we need to continue syncing events diff --git a/TO_MERGE/ace/laser/fnc_translateToModelSpace.sqf b/addons/common/functions/fnc_translateToModelSpace.sqf similarity index 100% rename from TO_MERGE/ace/laser/fnc_translateToModelSpace.sqf rename to addons/common/functions/fnc_translateToModelSpace.sqf diff --git a/addons/laser/functions/fnc_translateToWeaponSpace.sqf b/addons/common/functions/fnc_translateToWeaponSpace.sqf similarity index 100% rename from addons/laser/functions/fnc_translateToWeaponSpace.sqf rename to addons/common/functions/fnc_translateToWeaponSpace.sqf diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index 8de7708d4b..94ba72f5a4 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -1,23 +1,39 @@ /* * Author: commy2 * - * Unmutes the unit. + * Unmutes the unit. Only unmutes if the last reason was removed. * * Argument: * 0: Unit (Object) + * 1: Reason to unmute the unit. (String) * * Return value: * Nothing */ #include "script_component.hpp" -private ["_unit", "_speaker"]; +private ["_unit", "_reason"]; _unit = _this select 0; +_reason = _this select 1; if (isNull _unit) exitWith {}; +// remove reason to mute to the unit +private "_muteUnitReasons"; +_muteUnitReasons = _unit getVariable [QGVAR(muteUnitReasons), []]; + +if (_reason in _muteUnitReasons) then { + _muteUnitReasons deleteAt (_muteUnitReasons find _reason); + _unit setVariable [QGVAR(muteUnitReasons), _muteUnitReasons, true]; +}; + +// don't unmute if there is another mute reason! +if (count _muteUnitReasons > 0) exitWith {}; + +private "_speaker"; _speaker = _unit getVariable ["ACE_OriginalSpeaker", ""]; + if (_speaker == "") exitWith {}; -[0, format ["{(_this select 1) setSpeaker '%1'}", _speaker], _unit, "ACE_Speaker"] call FUNC(execPersistentFnc); +["setSpeaker", _unit, [_unit, _speaker]] call FUNC(targetEvent); diff --git a/addons/common/functions/fnc_worldToScreenBounds.sqf b/addons/common/functions/fnc_worldToScreenBounds.sqf new file mode 100644 index 0000000000..afb5817d81 --- /dev/null +++ b/addons/common/functions/fnc_worldToScreenBounds.sqf @@ -0,0 +1,53 @@ +// (c) zGuba 2011 +// Function helper for framing objects on screen. +// Input: [_object,_margins3D,_offset3D] (object, 3 * float array, 3 * float array) +// Output: [_minX,_minY,_minY,_maxY] (4 * float) + +#include "script_component.hpp" + +private ["_minX","_minY","_maxX","_maxY"]; + +PARAMS_3(_object,_margins,_offsets); + +_minX = 10; +_minY = 10; +_maxX = -10; +_maxY = -10; + +if (true) then { + _bounds = boundingBox _object; + + _boundsMin = _bounds select 0; + _boundsMinX = (_boundsMin select 0) - (_margins select 0) + (_offsets select 0); + _boundsMinY = (_boundsMin select 1) - (_margins select 1) + (_offsets select 1); + _boundsMinZ = (_boundsMin select 2) - (_margins select 2) + (_offsets select 2); + _boundsMax = _bounds select 1; + _boundsMaxX = (_boundsMax select 0) + (_margins select 0) + (_offsets select 0); + _boundsMaxY = (_boundsMax select 1) + (_margins select 1) + (_offsets select 1); + _boundsMaxZ = (_boundsMax select 2) + (_margins select 2) + (_offsets select 2); + + _boundsCorners = [ + [_boundsMinX,_boundsMinY,_boundsMinZ], + [_boundsMinX,_boundsMinY,_boundsMaxZ], + [_boundsMinX,_boundsMaxY,_boundsMinZ], + [_boundsMinX,_boundsMaxY,_boundsMaxZ], + [_boundsMaxX,_boundsMinY,_boundsMinZ], + [_boundsMaxX,_boundsMinY,_boundsMaxZ], + [_boundsMaxX,_boundsMaxY,_boundsMinZ], + [_boundsMaxX,_boundsMaxY,_boundsMaxZ] + ]; + + + { + _ppos = worldToScreen (_object modelToWorld _x); + if (count _ppos >= 2) then { + EXPLODE_2_PVT(_ppos,_pposX,_pposY); + if (_pposX < _minX) then {_minX = _pposX}; + if (_pposX > _maxX) then {_maxX = _pposX}; + if (_pposY < _minY) then {_minY = _pposY}; + if (_pposY > _maxY) then {_maxY = _pposY}; + }; //else - what to do if it is offscreen? + } forEach _boundsCorners; +}; + +[_minX,_minY,_maxX,_maxY] diff --git a/addons/common/script_component.hpp b/addons/common/script_component.hpp index 279785f223..7c266c169d 100644 --- a/addons/common/script_component.hpp +++ b/addons/common/script_component.hpp @@ -11,4 +11,4 @@ #define DEBUG_SETTINGS DEBUG_SETTINGS_COMMON #endif -#include "\z\ace\addons\main\script_macros.hpp" +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/common/scripts/Version/checkVersionNumber.sqf b/addons/common/scripts/Version/checkVersionNumber.sqf index 467ebd9c1a..e6509cd9c4 100644 --- a/addons/common/scripts/Version/checkVersionNumber.sqf +++ b/addons/common/scripts/Version/checkVersionNumber.sqf @@ -27,6 +27,9 @@ _versions = []; _versions set [_forEachIndex, _version]; } forEach _files; +_versionFull = getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "versionStr"); +diag_log text format ["[ACE] Full Version Number: %1", _versionFull]; + if (isServer) then { diag_log text format ["[ACE] Server: ACE_Common is Version %1.", _versionMain]; diff --git a/addons/common/scripts/assignedItemFix.sqf b/addons/common/scripts/assignedItemFix.sqf index bf8dc193ec..c118115bed 100644 --- a/addons/common/scripts/assignedItemFix.sqf +++ b/addons/common/scripts/assignedItemFix.sqf @@ -1,19 +1,62 @@ // by commy2 #include "script_component.hpp" -if (isNil "ACE_itemFix") then { - ACE_isMapEnabled = call {_config = missionConfigFile >> "showMap"; !isNumber _config || {getNumber _config == 1}}; - ACE_isCompassEnabled = call {_config = missionConfigFile >> "showCompass"; !isNumber _config || {getNumber _config == 1}}; - ACE_isWatchEnabled = call {_config = missionConfigFile >> "showWatch"; !isNumber _config || {getNumber _config == 1}}; - ACE_isRadioEnabled = call {_config = missionConfigFile >> "showRadio"; !isNumber _config || {getNumber _config == 1}}; - ACE_isGPSEnabled = call {_config = missionConfigFile >> "showGPS"; !isNumber _config || {getNumber _config == 1}}; +ACE_isMapEnabled = call {_config = missionConfigFile >> "showMap"; !isNumber _config || {getNumber _config == 1}}; // default value is 1, so do isNumber check first +ACE_isCompassEnabled = call {_config = missionConfigFile >> "showCompass"; !isNumber _config || {getNumber _config == 1}}; +ACE_isWatchEnabled = call {_config = missionConfigFile >> "showWatch"; !isNumber _config || {getNumber _config == 1}}; +ACE_isRadioEnabled = call {_config = missionConfigFile >> "showRadio"; !isNumber _config || {getNumber _config == 1}}; +ACE_isGPSEnabled = call {_config = missionConfigFile >> "showGPS"; !isNumber _config || {getNumber _config == 1}}; - ACE_itemFix = ["ACE_itemFix", "onEachFrame", { - _items = assignedItems ACE_player; - showMap (ACE_isMapEnabled && {"ItemMap" in _items}); - showCompass (ACE_isCompassEnabled && {"ItemCompass" in _items}); - showWatch (ACE_isWatchEnabled && {"ItemWatch" in _items}); - //showRadio (ACE_isRadioEnabled && {"ItemRadio" in _items}); - showGPS (ACE_isGPSEnabled && {"ItemGPS" in _items || {cameraOn == getConnectedUAV ACE_player}}); //If player is activly controling a UAV, showGPS controls showing the map (m key) - }] call BIS_fnc_addStackedEventHandler; -}; +GVAR(AssignedItems) = []; +GVAR(AssignedItemsInfo) = []; + +["playerInventoryChanged", { + private ["_unit", "_assignedItems", "_shownItems"]; + + _unit = _this select 0; + _assignedItems = _this select 1 select 17; + + _shownItems = [ + ACE_isMapEnabled, + ACE_isCompassEnabled, + ACE_isWatchEnabled, + ACE_isRadioEnabled, + ACE_isGPSEnabled + ]; + + { + if !(_x in GVAR(AssignedItems)) then { + GVAR(AssignedItems) pushBack _x; + GVAR(AssignedItemsInfo) pushBack toLower getText (configFile >> "CfgWeapons" >> _x >> "ACE_hideItemType") + }; + + private "_hideItemType"; + _hideItemType = GVAR(AssignedItemsInfo) select (GVAR(AssignedItems) find _x); + + switch (_hideItemType) do { + case ("map"): { + _shownItems set [0, false]; + }; + case ("compass"): { + _shownItems set [1, false]; + }; + case ("watch"): { + _shownItems set [2, false]; + }; + case ("radio"): { + _shownItems set [3, false]; + }; + case ("gps"): { + _shownItems set [4, false]; + }; + }; + } forEach _assignedItems; + + //systemChat str _shownItems; + + showMap (_shownItems select 0); + showCompass (_shownItems select 1); + showWatch (_shownItems select 2); + showRadio (_shownItems select 3); + showGPS (_shownItems select 4 || {cameraOn == getConnectedUAV _unit}); //If player is activly controling a UAV, showGPS controls showing the map (m key) +}] call FUNC(addEventHandler); diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index bcd2b149aa..49cdba1583 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,349 +1,457 @@  - - - - ACE-Team - ACE-Team - ACE-Team - ACE-Team - ACE-Team - ACE-Team - Команда ACE - ACE-Team - ACE-Team - ACE-Team - - - Save - Speichern - Guardar - Zapisz - Uložit - Sauvegarder - Сохранить - Salvar - Mentés - Salva - - - Cancel - Abbrechen - Cancelar - Anuluj - Zrušit - Annuler - Отмена - Cancelar - Mégse - Annulla - - - ACE Options - ACE Optionen - Opciones ACE - Opcje ACE - ACE Nastavení - ACE Options - ACE Настройки - Opções do ACE - ACE Opciók - Opzioni ACE - - - - N - N - N - N - S - N - С - N - É - N - - - NNE - NNO - NNE - NNE - SSV - NNE - ССВ - NNE - ÉÉK - NNE - - - NE - NO - NE - NE - SV - NE - СВ - NE - ÉK - NE - - - ENE - ONO - ENE - ENE - VSV - ENE - ВСВ - LNE - KÉK - ENE - - - E - O - E - E - V - E - В - L - K - E - - - ESE - OSO - ESE - ESE - VJV - ESE - ВЮВ - LSE - KDK - ESE - - - SE - SO - SE - SE - JV - SE - ЮВ - SE - DK - SE - - - SSE - SSO - SSE - SSE - JJV - SSE - ЮЮВ - SSE - DDK - SSE - - - S - S - S - S - J - S - Ю - S - D - S - - - SSW - SSW - SSO - SSW - JJZ - SSO - ЮЮЗ - SSO - DDNy - SSO - - - SW - SW - SO - SW - JZ - SO - ЮЗ - SO - DNy - SO - - - WSW - WSW - OSO - WSW - ZJZ - OSO - ЗЮЗ - OSO - NyDNy - OSO - - - W - W - O - W - Z - O - З - O - Ny - O - - - WNW - WNW - ONO - WNW - ZSZ - ONO - ЗСЗ - ONO - NyÉNy - ONO - - - NW - NW - NO - NW - SZ - NO - СЗ - NO - ÉNy - NO - - - NNW - NNW - NNO - NNW - SSZ - NNO - ССЗ - NNO - ÉÉNy - NNO - - - Action cancelled. - Aktion abgebrochen. - Acción cancelada. - Przerwano czynność - Akce přerušena - Action annulée. - Действие отменено. - Ação cancelada. - Művelet megszakítva. - Azione cancellata. - - - [ACE] Miscellaneous Items - [ACE] Verschiedenes - [ACE] Objetos varios - [ACE] Różne przedmioty - [ACE] Ostatní předměty - [ACE] Objets divers - [ACE] Различные предметы - [ACE] Itens diversos - [ACE] Egyéb tárgyak - [ACE] Oggetti vari - - - Disable Command Menu - Befehlsmenü ausschalten - Desactivar menú de mando - Wyłącz menu dowodzenia - Vypnout velící menu - Désactiver Menu Commande - Выключить командное меню - Parancsnoki menü kikapcsolása - - - Unknown - Unbekannt - Desconocido - Nieznany - Neznámý - Неизвестно - Ismeretlen - - - No Voice - Keine Stimme - Sin voz - Brak głosu - Žádný hlas - Без голоса - Nincs hang - - - Akceptuj prośby - Aceptar Peticiones - Accept Requests - - - Ignoruj prośby - Rechazar Peticiones - Decline Requests - - - Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. - Acepta Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. - Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. - - - Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. - Rechazar Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. - Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. - - - Feedback icons - - - Select the position of or disable the feedback icons on your screen. These icons will show to provide extra feedback on your character status and actions performed. - - - Progress bar location - - - Set the desired location of the progress bar on your screen. - - - Hint Background color - - - The color of the background from the ACE hints. - - - Hint text font color - - - The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. - - - Banana - - - A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. - - + + + ACE-Team + ACE-Team + ACE-Team + ACE-Team + ACE-Team + ACE-Team + Команда ACE + ACE-Team + ACE-Team + ACE-Team + + + Save + Speichern + Guardar + Zapisz + Uložit + Sauvegarder + Сохранить + Salvar + Mentés + Salva + + + Cancel + Abbrechen + Cancelar + Anuluj + Zrušit + Annuler + Отмена + Cancelar + Mégse + Annulla + + + ACE Options + ACE Optionen + Opciones ACE + Ustawienia ACE + Nastavení ACE + Options ACE + ACE Настройки + Opções do ACE + ACE Beállítások + Opzioni ACE + + + + N + N + N + N + S + N + С + N + É + N + + + NNE + NNO + NNE + NNE + SSV + NNE + ССВ + NNE + ÉÉK + NNE + + + NE + NO + NE + NE + SV + NE + СВ + NE + ÉK + NE + + + ENE + ONO + ENE + ENE + VSV + ENE + ВСВ + LNE + KÉK + ENE + + + E + O + E + E + V + E + В + L + K + E + + + ESE + OSO + ESE + ESE + VJV + ESE + ВЮВ + LSE + KDK + ESE + + + SE + SO + SE + SE + JV + SE + ЮВ + SE + DK + SE + + + SSE + SSO + SSE + SSE + JJV + SSE + ЮЮВ + SSE + DDK + SSE + + + S + S + S + S + J + S + Ю + S + D + S + + + SSW + SSW + SSO + SSW + JJZ + SSO + ЮЮЗ + SSO + DDNy + SSO + + + SW + SW + SO + SW + JZ + SO + ЮЗ + SO + DNy + SO + + + WSW + WSW + OSO + WSW + ZJZ + OSO + ЗЮЗ + OSO + NyDNy + OSO + + + W + W + O + W + Z + O + З + O + Ny + O + + + WNW + WNW + ONO + WNW + ZSZ + ONO + ЗСЗ + ONO + NyÉNy + ONO + + + NW + NW + NO + NW + SZ + NO + СЗ + NO + ÉNy + NO + + + NNW + NNW + NNO + NNW + SSZ + NNO + ССЗ + NNO + ÉÉNy + NNO + + + Action cancelled. + Aktion abgebrochen. + Acción cancelada. + Przerwano czynność + Akce přerušena. + Action annulée. + Действие отменено. + Ação cancelada. + Művelet megszakítva. + Azione cancellata. + + + [ACE] Miscellaneous Items + [ACE] Verschiedenes + [ACE] Objetos varios + [ACE] Różne przedmioty + [ACE] Ostatní předměty + [ACE] Objets divers + [ACE] Различные предметы + [ACE] Itens diversos + [ACE] Egyéb tárgyak + [ACE] Oggetti vari + + + Disable Command Menu + Befehlsmenü ausschalten + Desactivar menú de mando + Wyłącz menu dowodzenia + Vypnout velící menu + Désactiver menu commande + Выключить командное меню + Parancsnoki menü kikapcsolása + Disabilita Menù di comando + + + Unknown + Unbekannt + Desconocido + Nieznany + Neznámý + Неизвестно + Ismeretlen + Sconosciuto + Inconnu + + + No Voice + Keine Stimme + Sin voz + Brak głosu + Žádný hlas + Без голоса + Nincs hang + Senza voce + Pas de voix + + + Accept Requests + Anfrage akzeptieren + Aceptar peticiones + Akceptuj prośby + Přijmout žádost + Accetta Richieste + Accepter requête + Принять запросы + Kérések elfogadása + + + Decline Requests + Anfrage ablehnen + Rechazar peticiones + Ignoruj prośby + Zamítnout žádost + Rifiuta Richieste + Отклонить запросы + Rejeter requête + Kérések elutasítása + + + Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Anfragen werden von anderen Mitspielen gestellt. Diese können Anfragen u.a. zum Teilen/Verwenden von Ausrüstungsgegenständen, oder auch zum Ausführen von Handlungen sein. + Acepta peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. + Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. + Accetta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. + Přijimutí žádosti poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. + Принять запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий + Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions. + Más játékosok általi kérések elfogadása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre. + + + Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Anfragen werden von anderen Mitspielen gestellt. Diese können Anfragen u.a. zum Teilen/Verwenden von Ausrüstungsgegenständen, oder auch zum Ausführen von Handlungen sein. + Rechazar peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. + Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. + Rifiuta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. + Zamítnutí žádostii poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. + Отклонить запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий + Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions. + Más játékosok általi kérések elutasítása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre. + + + Feedback icons + Rückmeldungssymbole + Iconos de respuesta + Icone informative + Иконки состояний + Ikony pomocnicze + Icones d'information + Pomocné ikony + Visszajelző ikonok + + + Select the position of or disable the feedback icons on your screen. These icons will show to provide extra feedback on your character status and actions performed. + Wähle die Position der Rückmeldungssymbole, oder deaktiviere sie. Diese Symbole stellen eine zusätzliche Rückmeldung über die Lage und Handlungen deines Soldaten dar. + Seleccionar la posición de o desactivar los íconos de respuesta en la pantalla. Estos iconos se mostrarán para proporcionar información adicional sobre el estado de su personaje y las acciones a realizar. + Seleziona la posizione o disabilita le icone informative sul tuo schermo. Queste saranno mostrate per fornire informazioni aggiuntive sullo stato o sulle azioni del giocatore. + Выберите положение или или отключите отображение иконок состояний на Вашем экране. Эти иконки предоставят дополнительную информацию о состоянии персонажа и выполняемых действиях. + Ustaw pozycję lub wyłącz całkowicie ikony pomocnicze na ekranie. Te ikony dostarczają dodatkowych informacji na temat statusu Twojej postaci i wykonywanych przez nią akcji. + Sélection de la position ou la désactivation des icones de feedback. Ces icones vous apportent des informations complémentaires sur votre status et sur les actions en cours. + Nastavuje pozici nebo vypíná pomocné ikony. Tyto ikony ukazují extra informace ke stavu postavy a vykonávaných činností. + Itt beállítható a visszajelző ikonok képernyőn lévő helyzete és jelenléte. Ezek az ikonok extra visszajelzést biztosítanak a karaktered állapotán és végrehajtott cselekvésein. + + + Progress bar location + Position der Fortschrittsanzeige + Ubicación de la barra de progreso + Posizione della barra di avanzamento + Положение прогресс-бара + Lokalizacja paska postępu + Position de la barre de progression + Pozice ukazetele průběhu činnosti + Állapotjelző sáv helyzete + + + Set the desired location of the progress bar on your screen. + Setze die gewünschte Position der Fortschrittsanzeige fest. + Seleccionar la ubicación deseada de la barra de progreso en tu pantalla + Modifica la posizione della barra di avanzamernto sullo schermo + Установите желаемое положение строки состояния на экране. + Ustaw pożądaną lokalizację paska postępu na ekranie + Appliquer la position de la barre de progression sur l'écran + Nastavuje pozici ukazetele průběhu činnosti na vaší obrazovce. + Itt beállítható az állapotjelző sáv képernyődön lévő helyzete. + + + Hint Background color + Hintergrundfarbe der Hinweise + Color de fondo de las notificaciones + Colore di sfondo dei Suggerimenti + Цвет фона всплывающих подсказок + Kolor tła powiadomień + Notification: couleur de l'arrière plan + Barva pozadí nápovědy + Súgó háttérszíne + + + The color of the background from the ACE hints. + Die Hintergrundfarbe der ACE-Hinweise. + El color de fondo de las notificaciones del ACE + Il colore di sfondo dei suggerimenti dell'ACE. + Цвет фона всплывающих подсказок АСЕ. + Kolor tła dla powiadomień ACE + Notification ACE: couleur de l'arrière plan + Barva pozadí ACE nápověd. + Az ACE-súgók hátterének színe. + + + Hint text font color + Textfarbe der Hinweise + Color del texto de las notificaciones + Il colore del Testo dei Suggerimenti + Цвет шрифта всплывающих подсказок + Kolor tekstu powiadomień + Notification: couleur du texte + Barva fontu nápověd. + Súgószöveg betűinek színe + + + The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. + Wähle die Textfarbe für ACE-Hinweise. Die gewählte Farbe wird als Standartfarbe der Hinweise angezeigt, wenn der Hinweis selbst keine spezifische Farbe hat. + El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado. + Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se il colore del testo non è specificato. + Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. + Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru. + Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications + Barva fontu ACE nápověd. Toto je standardní barva pro všechen text zobrazovaný ACE nápovědami, pokud nemá nápověda žádnou specifikanou barvu. + Az ACE-súgók betűkészletének színek. Ez a szín alapértelmezett az összes szövegre az ACE-súgórendszerben, ha a súgószöveg maga nem ad meg más színt. + + + Banana + Banane + Banana + Banán + Banana + Банан + Banan + Banane + Banán + + + A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. + Die Bananen (Musa) sind eine Pflanzengattung in der Familie der Bananengewächse (Musaceae) innerhalb der Einkeimblättrigen Pflanzen (Monokotyledonen). + Una banana es una fruta comestible, botanicamente una baya, producida por varios tipos de grandes plantas herbáceas del género Musa. + Banán je protáhlé ovoce a plod banánovníku (epigeická bobule). + Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotta da un gran numero di grandi piante erbacee dotate di fiori, della famiglia delle Musaceae. + Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa). + A banán egy ehető gyümölcs, technikai szempontból bogyótermés, melyet több fürtvirágzatú növény termel a Musa rendszertani nemzetségben. + Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.<br />Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.<br />Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana. + Une banane est un fruit qui, d'un point de vue botanique, fait partie du groupe des baies. Produite par plusieurs sortes de grandes plantes à fleurs herbacées du type Musa. + + \ No newline at end of file diff --git a/addons/disarming/$PBOPREFIX$ b/addons/disarming/$PBOPREFIX$ new file mode 100644 index 0000000000..47b746cf19 --- /dev/null +++ b/addons/disarming/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\disarming \ No newline at end of file diff --git a/addons/disarming/CfgEventHandlers.hpp b/addons/disarming/CfgEventHandlers.hpp new file mode 100644 index 0000000000..e75956f440 --- /dev/null +++ b/addons/disarming/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; diff --git a/addons/disarming/CfgVehicles.hpp b/addons/disarming/CfgVehicles.hpp new file mode 100644 index 0000000000..381aaed93e --- /dev/null +++ b/addons/disarming/CfgVehicles.hpp @@ -0,0 +1,17 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_Actions { + class ACE_MainActions { + class ACE_DisarmInventory { + displayName = "$STR_ACE_Disarming_OpenInventory"; + distance = 3.5; + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPlayerDisarmUnit)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(openDisarmDialog)); + icon = PATHTOF(UI\disarm.paa); + exceptions[] = {}; + }; + }; + }; + }; +}; diff --git a/addons/disarming/CfgWeapons.hpp b/addons/disarming/CfgWeapons.hpp new file mode 100644 index 0000000000..404ef4aa76 --- /dev/null +++ b/addons/disarming/CfgWeapons.hpp @@ -0,0 +1,14 @@ +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_DebugPotato: ACE_ItemCore { + displayName = "ACE Potato (debug)"; + descriptionShort = "Glorious Potato
If you see this in game it means someone fucked up"; + picture = QUOTE(PATHTOF(UI\potato_ca.paa)); + scope = 1; + class ItemInfo: InventoryItem_Base_F { + mass = 1; + }; + }; +}; diff --git a/addons/disarming/README.md b/addons/disarming/README.md new file mode 100644 index 0000000000..0423aa48bd --- /dev/null +++ b/addons/disarming/README.md @@ -0,0 +1,11 @@ +ace_disarming +============ + +Adds ability to make units drop items/weapons/magazines. + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [PabstMirror](https://github.com/PabstMirror) diff --git a/addons/disarming/UI/disarm.paa b/addons/disarming/UI/disarm.paa new file mode 100644 index 0000000000..d13f38daee Binary files /dev/null and b/addons/disarming/UI/disarm.paa differ diff --git a/addons/disarming/UI/potato_ca.paa b/addons/disarming/UI/potato_ca.paa new file mode 100644 index 0000000000..00757d8ed3 Binary files /dev/null and b/addons/disarming/UI/potato_ca.paa differ diff --git a/addons/disarming/XEH_postInit.sqf b/addons/disarming/XEH_postInit.sqf new file mode 100644 index 0000000000..7315ef1785 --- /dev/null +++ b/addons/disarming/XEH_postInit.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +["DisarmDropItems", {_this call FUNC(eventTargetStart)}] call EFUNC(common,addEventHandler); +["DisarmDebugCallback", {_this call FUNC(eventCallerFinish)}] call EFUNC(common,addEventHandler); diff --git a/addons/disarming/XEH_preInit.sqf b/addons/disarming/XEH_preInit.sqf new file mode 100644 index 0000000000..84534e41b4 --- /dev/null +++ b/addons/disarming/XEH_preInit.sqf @@ -0,0 +1,17 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(canBeDisarmed); +PREP(canPlayerDisarmUnit); +PREP(disarmDropItems); +PREP(eventCallerFinish); +PREP(eventTargetFinish); +PREP(eventTargetStart); +PREP(getAllGearContainer); +PREP(getAllGearUnit); +PREP(openDisarmDialog); +PREP(showItemsInListbox); +PREP(verifyMagazinesMoved); + +ADDON = true; diff --git a/addons/disarming/config.cpp b/addons/disarming/config.cpp new file mode 100644 index 0000000000..00f8204b09 --- /dev/null +++ b/addons/disarming/config.cpp @@ -0,0 +1,19 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {"ACE_DebugPotato"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ACE_Interaction"}; + author[] = {"PabstMirror"}; + authorUrl = "https://github.com/PabstMirror/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" + +#include "gui_disarm.hpp" diff --git a/addons/disarming/functions/fnc_canBeDisarmed.sqf b/addons/disarming/functions/fnc_canBeDisarmed.sqf new file mode 100644 index 0000000000..25ec884919 --- /dev/null +++ b/addons/disarming/functions/fnc_canBeDisarmed.sqf @@ -0,0 +1,36 @@ +/* + * Author: PabstMirror + * Checks the conditions for being able to disarm a unit + * + * Arguments: + * 0: Target + * + * Return Value: + * Can Be Disarmed + * + * Example: + * [cursorTarget] call ace_disarming_fnc_canBeDisarmed + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_1(_target); + +private ["_animationStateCfgMoves", "_putDownAnim"]; + +//Check animationState for putDown anim +//This ensures the unit doesn't have to actualy do any animation to drop something +//This should always be true for the 3 possible status effects that allow disarming +_animationStateCfgMoves = getText (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState _target) >> "actions"); +if (_animationStateCfgMoves == "") exitWith {false}; +_putDownAnim = getText (configFile >> "CfgMovesBasic" >> "Actions" >> _animationStateCfgMoves >> "PutDown"); +if (_putDownAnim != "") exitWith {false}; + + +(alive _target) && +{(abs (speed _target)) < 1} && +{(vehicle _target) == _target} && +{(_target getVariable ["ACE_isUnconscious", false]) || + {_target getVariable [QEGVAR(captives,isHandcuffed), false]} || + {_target getVariable [QEGVAR(captives,isSurrendering), false]}} diff --git a/addons/disarming/functions/fnc_canPlayerDisarmUnit.sqf b/addons/disarming/functions/fnc_canPlayerDisarmUnit.sqf new file mode 100644 index 0000000000..ec9e975ec2 --- /dev/null +++ b/addons/disarming/functions/fnc_canPlayerDisarmUnit.sqf @@ -0,0 +1,22 @@ +/* + * Author: PabstMirror + * Checks the conditions for being able to disarm a unit + * + * Arguments: + * 0: Player + * 1: Target + * + * Return Value: + * Can Be Disarm Target + * + * Example: + * [player, cursorTarget] call ace_disarming_fnc_canPlayerDisarmUnit + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_player,_target); + +([_target] call FUNC(canBeDisarmed)) && +{([_player, _target, []] call EFUNC(common,canInteractWith))} diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf new file mode 100644 index 0000000000..2cb3e89b5d --- /dev/null +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -0,0 +1,257 @@ +/* + * Author: PabstMirror + * Makes a unit drop items + * + * Arguments: + * 0: caller (player) + * 1: target + * 2: classnamess + * 3: Do Not Drop Ammo + * + * Return Value: + * Nothing + * + * Example: + * [player, cursorTarget, ["ace_bandage"]] call ace_disarming_fnc_disarmDropItems + * + * Public: No + */ +#include "script_component.hpp" + +#define TIME_MAX_WAIT 5 + +private ["_fncSumArray", "_return", "_holder", "_dropPos", "_targetMagazinesStart", "_holderMagazinesStart", "_xClassname", "_xAmmo", "_targetMagazinesEnd", "_holderMagazinesEnd", "_holderItemsStart", "_targetItemsStart", "_addToCrateClassnames", "_addToCrateCount", "_index", "_holderItemsEnd", "_targetItemsEnd", "_holderIsEmpty"]; + + +PARAMS_3(_caller,_target,_listOfItemsToRemove); +DEFAULT_PARAM(3,_doNotDropAmmo,false); //By default units drop all weapon mags when dropping a weapon + +_fncSumArray = { + _return = 0; + {_return = _return + _x;} forEach (_this select 0); + _return +}; + +//Sanity Checks +if (!([_target] call FUNC(canBeDisarmed))) exitWith { + [_caller, _target, "Debug: Cannot disarm target"] call FUNC(eventTargetFinish); +}; +if (_doNotDropAmmo && {({_x in _listOfItemsToRemove} count (magazines _target)) > 0}) exitWith { + [_caller, _target, "Debug: Trying to drop magazine with _doNotDropAmmo flag"] call FUNC(eventTargetFinish); +}; + +_holder = objNull; + +//If not dropping ammo, don't use an existing container +if (!_doNotDropAmmo) then { + { + if ((_x getVariable [QGVAR(disarmUnit), objNull]) == _target) exitWith { + _holder = _x; + }; + } forEach ((getpos _target) nearObjects [DISARM_CONTAINER, 3]); +}; + +//Create a new weapon holder +if (isNull _holder) then { + _dropPos = _target modelToWorld [0.4, 0.75, 0]; //offset someone unconscious isn't lying over it + _dropPos set [2, ((getPosASL _target) select 2)]; + _holder = createVehicle [DISARM_CONTAINER, _dropPos, [], 0, "CAN_COLLIDE"]; + _holder setPosASL _dropPos; + _holder setVariable [QGVAR(disarmUnit), _target, true]; +}; + +//Verify holder created +if (isNull _holder) exitWith { + [_caller, _target, "Debug: Null Holder"] call FUNC(eventTargetFinish); +}; +//Make sure only one drop operation at a time (using PFEH system as a queue) +if (_holder getVariable [QGVAR(holderInUse), false]) exitWith { + [{ + _this call FUNC(disarmDropItems); + }, _this, 0, 0] call EFUNC(common,waitAndExecute); +}; +_holder setVariable [QGVAR(holderInUse), true]; + + +//Remove Magazines +_targetMagazinesStart = magazinesAmmo _target; +_holderMagazinesStart = magazinesAmmoCargo _holder; + +{ + EXPLODE_2_PVT(_x,_xClassname,_xAmmo); + if ((_xClassname in _listOfItemsToRemove) && {!(_xClassname in UNIQUE_MAGAZINES)}) then { + _holder addMagazineAmmoCargo [_xClassname, 1, _xAmmo]; + _target removeMagazine _xClassname; + }; +} forEach _targetMagazinesStart; + +_targetMagazinesEnd = magazinesAmmo _target; +_holderMagazinesEnd = magazinesAmmoCargo _holder; + +//Verify Mags dropped from unit: +if ( ({((_x select 0) in _listOfItemsToRemove) && {!((_x select 0) in UNIQUE_MAGAZINES)}} count _targetMagazinesEnd) != 0) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Didn't Remove Magazines"] call FUNC(eventTargetFinish); +}; +//Verify holder has mags unit had +if (!([_targetMagazinesStart, _targetMagazinesEnd, _holderMagazinesStart, _holderMagazinesEnd] call FUNC(verifyMagazinesMoved))) then { + ERR = [_targetMagazinesStart, _targetMagazinesEnd, _holderMagazinesStart, _holderMagazinesEnd]; + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Crate Magazines not in holder"] call FUNC(eventTargetFinish); +}; + +//Remove Items, Assigned Items and NVG +_holderItemsStart = getitemCargo _holder; +_targetItemsStart = (assignedItems _target) + (items _target); +if ((headgear _target) != "") then {_targetItemsStart pushBack (headgear _target);}; +if ((goggles _target) != "") then {_targetItemsStart pushBack (goggles _target);}; + + +_addToCrateClassnames = []; +_addToCrateCount = []; +{ + if (_x in _listOfItemsToRemove) then { + if (_x in (items _target)) then { + _target removeItem _x; + } else { + _target unlinkItem _x; + }; + _index = _addToCrateClassnames find _x; + if (_index != -1) then { + _addToCrateCount set [_index, ((_addToCrateCount select _index) + 1)]; + } else { + _addToCrateClassnames pushBack _x; + _addToCrateCount pushBack 1; + }; + }; +} forEach _targetItemsStart; + +//Add the items to the holder (combined to reduce addItemCargoGlobal calls) +{ + _holder addItemCargoGlobal [(_addToCrateClassnames select _forEachIndex), (_addToCrateCount select _forEachIndex)]; +} forEach _addToCrateClassnames; + +_holderItemsEnd = getitemCargo _holder; +_targetItemsEnd = (assignedItems _target) + (items _target); +if ((headgear _target) != "") then {_targetItemsEnd pushBack (headgear _target);}; +if ((goggles _target) != "") then {_targetItemsEnd pushBack (goggles _target);}; + +//Verify Items Added +if (((count _targetItemsStart) - (count _targetItemsEnd)) != ([_addToCrateCount] call _fncSumArray)) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Items Not Removed From Player"] call FUNC(eventTargetFinish); +}; +if ((([_holderItemsEnd select 1] call _fncSumArray) - ([_holderItemsStart select 1] call _fncSumArray)) != ([_addToCrateCount] call _fncSumArray)) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Items Not Added to Holder"] call FUNC(eventTargetFinish); +}; + + +//If holder is still empty, it will be 'garbage collected' while we wait for the drop 'action' to take place +//So add a dummy item and just remove at the end +_holderIsEmpty = ([_holder] call FUNC(getAllGearContainer)) isEqualTo [[],[]]; +if (_holderIsEmpty) then { + TRACE_1("Debug: adding dummy item to holder",_holder); + _holder addItemCargoGlobal [DUMMY_ITEM, 1]; +}; + +//Start the PFEH to do the actions (which could take >1 frame) +[{ + private ["_needToRemoveWeapon", "_needToRemoveMagazines", "_needToRemoveBackpack", "_needToRemoveVest", "_needToRemoveUniform", "_error", "_magsToPickup", "_index", "_magazinesInHolder"]; + + PARAMS_2(_args,_pfID); + EXPLODE_8_PVT(_args,_caller,_target,_listOfItemsToRemove,_holder,_holderIsEmpty,_maxWaitTime,_doNotDropAmmo,_startingMagazines); + + _needToRemoveWeapon = ({_x in _listOfItemsToRemove} count (weapons _target)) > 0; + _needToRemoveMagazines = ({_x in _listOfItemsToRemove} count (magazines _target)) > 0; + _needToRemoveBackpack = ((backPack _target) != "") && {(backPack _target) in _listOfItemsToRemove}; + _needToRemoveVest = ((vest _target) != "") && {(vest _target) in _listOfItemsToRemove}; + _needToRemoveUniform = ((uniform _target) != "") && {(uniform _target) in _listOfItemsToRemove}; + + if ((time < _maxWaitTime) && {[_target] call FUNC(canBeDisarmed)} && {_needToRemoveWeapon || _needToRemoveMagazines || _needToRemoveBackpack}) then { + //action drop weapons (keeps loaded magazine and attachements) + { + if (_x in _listOfItemsToRemove) then { + _target action ["DropWeapon", _holder, _x]; + }; + } forEach (weapons _target); + + //Drop magazine (keeps unique ID) + { + if (_x in _listOfItemsToRemove) then { + _target action ["DropMagazine", _holder, _x]; + }; + } forEach (magazines _target); + + //Drop backpack (Keeps variables for ACRE/TFR) + if (_needToRemoveBackpack) then {_target action ["DropBag", _holder, (backPack _target)];}; + } else { + [_pfID] call CBA_fnc_removePerFrameHandler; + + if (_doNotDropAmmo) then { + _error = false; + + _magsToPickup = +_startingMagazines; + { + _index = _magsToPickup find _x; + if (_index == -1) exitWith {_error = true; ERROR("More mags than when we started?")}; + _magsToPickup deleteAt _index; + } forEach (magazinesAmmo _target); + + _magazinesInHolder = magazinesAmmoCargo _holder; + { + _index = _magazinesInHolder find _x; + if (_index == -1) exitWith {_error = true; ERROR("Missing mag not in holder")}; + _magazinesInHolder deleteAt _index; + } forEach _magsToPickup; + + //No Error (all the ammo in the container is ammo we should have); + if ((!_error) && {_magazinesInHolder isEqualTo []}) then { + { + _target addMagazine _x; + } forEach (magazinesAmmoCargo _holder); + clearMagazineCargoGlobal _holder; + }; + }; + + //If we added a dummy item, remove it now + if (_holderIsEmpty && {!((getItemCargo _holder) isEqualTo [[DUMMY_ITEM],[1]])}) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Holder should only have dummy item"] call FUNC(eventTargetFinish); + }; + if (_holderIsEmpty) then { + TRACE_1("Debug: removing dummy item from holder",_holder); + clearItemCargoGlobal _holder; + }; + //Verify we didn't timeout waiting on drop action + if (time >= _maxWaitTime) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Drop Actions Timeout"] call FUNC(eventTargetFinish); + }; + //If target lost disarm status: + if (!([_target] call FUNC(canBeDisarmed))) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Target cannot be disarmed"] call FUNC(eventTargetFinish); + }; + if (_needToRemoveVest && {!((vestItems _target) isEqualTo [])}) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Vest Not Empty"] call FUNC(eventTargetFinish); + }; + if (_needToRemoveVest) then { + _holder addItemCargoGlobal [(vest _target), 1]; + removeVest _target; + }; + if (_needToRemoveUniform && {!((uniformItems _target) isEqualTo [])}) exitWith { + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, "Debug: Uniform Not Empty"] call FUNC(eventTargetFinish); + }; + if (_needToRemoveUniform) then { + _holder addItemCargoGlobal [(uniform _target), 1]; + removeUniform _target; + }; + + _holder setVariable [QGVAR(holderInUse), false]; + [_caller, _target, ""] call FUNC(eventTargetFinish); + }; + +}, 0.0, [_caller,_target, _listOfItemsToRemove, _holder, _holderIsEmpty, (time + TIME_MAX_WAIT), _doNotDropAmmo, _targetMagazinesEnd]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/disarming/functions/fnc_eventCallerFinish.sqf b/addons/disarming/functions/fnc_eventCallerFinish.sqf new file mode 100644 index 0000000000..c87cb434b3 --- /dev/null +++ b/addons/disarming/functions/fnc_eventCallerFinish.sqf @@ -0,0 +1,25 @@ +/* + * Author: PabstMirror + * Recieves a possible error code from FUNC(eventTargetFinish) + * + * Arguments: + * 0: caller (player) + * 1: target + * 2: error message + * + * Return Value: + * None + * + * Example: + * [player1, player2, "Someting fucked up"] call ace_disarming_fnc_eventCallerFinish + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_3(_caller,_target,_errorMsg); + +if (_caller != ACE_player) exitWith {}; + +systemChat format ["Debug-Caller: Disarm finished from [%1] with code [%2]", _target, _errorMsg]; +diag_log text format ["[ACE_Disarming] %1 - eventCallerFinish: %2", time, _this]; diff --git a/addons/disarming/functions/fnc_eventTargetFinish.sqf b/addons/disarming/functions/fnc_eventTargetFinish.sqf new file mode 100644 index 0000000000..8cc67fa486 --- /dev/null +++ b/addons/disarming/functions/fnc_eventTargetFinish.sqf @@ -0,0 +1,26 @@ +/* + * Author: PabstMirror + * After FUNC(disarmDropItems) has completed, passing a possible error code. + * Passes that error back to orginal caller. + * + * Arguments: + * 0: caller + * 1: target + * 2: errorMsg + * + * Return Value: + * Nothing + * + * Example: + * [player1, player2, "Someting fucked up"] call ace_disarming_fnc_eventTargetFinish + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_3(_caller,_target,_errorMsg); + +if (_errorMsg != "") then { + diag_log text format ["[ACE_Disarming] %1 - eventTargetFinish: %2", time, _this]; + ["DisarmDebugCallback", [_caller], [_caller, _target, _errorMsg]] call EFUNC(common,targetEvent); +}; diff --git a/addons/disarming/functions/fnc_eventTargetStart.sqf b/addons/disarming/functions/fnc_eventTargetStart.sqf new file mode 100644 index 0000000000..316ec2b656 --- /dev/null +++ b/addons/disarming/functions/fnc_eventTargetStart.sqf @@ -0,0 +1,41 @@ +/* + * Author: PabstMirror + * Disarm Event Handler, Starting func, called on the target. + * If target has to remove uniform/vest, this will add all uniform/vest items to the drop list. + * + * Arguments: + * 0: caller (player) + * 1: target + * 2: type of disarm + * + * Return Value: + * Nothing + * + * Example: + * eventTargetStart + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_3(_caller,_target,_listOfObjectsToRemove); + +private "_itemsToAdd"; + +_itemsToAdd = []; +{ + if (_x == (uniform _target)) then { + _itemsToAdd = _itemsToAdd + (uniformItems _target); + }; + if (_x == (vest _target)) then { + _itemsToAdd = _itemsToAdd + (vestItems _target); + }; +} forEach _listOfObjectsToRemove; + +{ + if (!(_x in _listOfObjectsToRemove)) then { + _listOfObjectsToRemove pushBack _x; + }; +} forEach _itemsToAdd; + +[_caller, _target, _listOfObjectsToRemove] call FUNC(disarmDropItems); diff --git a/addons/disarming/functions/fnc_getAllGearContainer.sqf b/addons/disarming/functions/fnc_getAllGearContainer.sqf new file mode 100644 index 0000000000..c5b2c445ab --- /dev/null +++ b/addons/disarming/functions/fnc_getAllGearContainer.sqf @@ -0,0 +1,29 @@ +/* + * Author: PabstMirror + * Helper function to get all gear of a container + * + * Arguments: + * 0: Container + * + * Return Value: + * Array of 2 arrays, classnames and count + * + * Example: + * [["ace_bandage"],[2]] = [box] call ace_disarming_fnc_getAllGearContainer + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_1(_target); + +private ["_allGear"]; + +_allGear = [[],[]]; + +{ + (_allGear select 0) append (_x select 0); + (_allGear select 1) append (_x select 1); +} forEach [(getWeaponCargo _target), (getItemCargo _target), (getMagazineCargo _target), (getBackpackCargo _target)]; + +_allGear diff --git a/addons/disarming/functions/fnc_getAllGearUnit.sqf b/addons/disarming/functions/fnc_getAllGearUnit.sqf new file mode 100644 index 0000000000..a319c006ee --- /dev/null +++ b/addons/disarming/functions/fnc_getAllGearUnit.sqf @@ -0,0 +1,54 @@ +/* + * Author: PabstMirror + * Helper function to get all gear of a unit. + * + * Arguments: + * 0: Target + * + * Return Value: + * Array of 2 arrays, classnames and count + * + * Example: + * [["ace_bandage"],[2]] = [bob] call ace_disarming_fnc_getAllGearUnit + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_1(_target); + +private ["_allItems", "_classnamesCount", "_index", "_uniqueClassnames"]; + +_allItems = ((weapons _target) + (magazines _target) + (items _target) + (assignedItems _target)); + +if ((backpack _target) != "") then { + _allItems pushBack (backpack _target); +}; +if ((vest _target) != "") then { + _allItems pushBack (vest _target); +}; +if ((uniform _target) != "") then { + _allItems pushBack (uniform _target); +}; +if ((headgear _target) != "") then { + _allItems pushBack (headgear _target); +}; +//What kind of asshole takes a man's glasses? +if ((goggles _target) != "") then { + _allItems pushBack (goggles _target); +}; + +_uniqueClassnames = []; +_classnamesCount = []; +//Filter unique and count +{ + _index = _uniqueClassnames find _x; + if (_index != -1) then { + _classnamesCount set [_index, ((_classnamesCount select _index) + 1)]; + } else { + _uniqueClassnames pushBack _x; + _classnamesCount pushBack 1; + }; +} forEach _allItems; + +[_uniqueClassnames, _classnamesCount] diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf new file mode 100644 index 0000000000..832f32ced5 --- /dev/null +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -0,0 +1,109 @@ +/* + * Author: PabstMirror + * Opens the disarm dialog (allowing a person to remove items) + * + * Arguments: + * 0: Caller (player) + * 1: Target + * + * Return Value: + * None + * + * Example: + * [player, bob] call ace_disarming_fnc_openDisarmDialog + * + * Public: No + */ +#include "script_component.hpp" + +#define TEXTURES_RANKS [ \ + "", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\private_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\corporal_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\lieutenant_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\captain_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\major_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\colonel_gs.paa" \ + ] + +PARAMS_2(_caller,_target); +private "_display"; + +//Sanity Checks +if (_caller != ACE_player) exitwith {ERROR("Player isn't caller?");}; +if (!([_player, _target] call FUNC(canPlayerDisarmUnit))) exitWith {ERROR("Can't Disarm Unit");}; +if (dialog) then {ERROR("Dialog open when trying to open disarm dialog"); closeDialog 0;}; + +disableSerialization; + +createDialog QGVAR(remoteInventory); + +_display = uiNamespace getVariable ["ACE_remoteInventory", displayNull]; +if (isNull _display) exitWith {ERROR("Display is Null");}; + +GVAR(disarmTarget) = _target; + +//Setup Drop Event (on right pannel) +(_display displayCtrl 632) ctrlAddEventHandler ["LBDrop", { + if (isNull GVAR(disarmTarget)) exitWith {}; + PARAMS_5(_ctrl,_xPos,_yPos,_idc,_itemInfo); + EXPLODE_3_PVT((_itemInfo select 0),_displayText,_value,_data); + + if (isNull GVAR(disarmTarget)) exitWith {ERROR("disarmTarget is null");}; + + TRACE_2("Debug: Droping %1 from %2",_data,GVAR(disarmTarget)); + ["DisarmDropItems", [GVAR(disarmTarget)], [ACE_player, GVAR(disarmTarget), [_data]]] call EFUNC(common,targetEvent); + + false //not sure what this does +}]; + +//Setup PFEH +[{ + private ["_groundContainer", "_targetContainer", "_playerName", "_rankPicture", "_rankIndex", "_targetUniqueItems", "_holderUniqueItems"]; + disableSerialization; + EXPLODE_2_PVT(_this,_args,_pfID); + EXPLODE_3_PVT(_args,_player,_target,_display); + + if ((!([_player, _target] call FUNC(canPlayerDisarmUnit))) || + {isNull _display} || + {_player != ACE_player}) then { + + [_pfID] call CBA_fnc_removePerFrameHandler; + GVAR(disarmTarget) = objNull; + if (!isNull _display) then {closeDialog 0;}; //close dialog if still open + } else { + + _groundContainer = _display displayCtrl 632; + _targetContainer = _display displayCtrl 633; + _playerName = _display displayCtrl 111; + _rankPicture = _display displayCtrl 1203; + + //Show rank and name (just like BIS's inventory) + _rankIndex = ((["PRIVATE", "CORPORAL", "SERGEANT", "LIEUTENANT", "CAPTAIN", "MAJOR", "COLONEL"] find (rank _target)) + 1); + _rankPicture ctrlSetText (TEXTURES_RANKS select _rankIndex); + _playerName ctrlSetText ([GVAR(disarmTarget)] call EFUNC(common,getName)); + + //Clear both inventory lists: + lbClear _groundContainer; + lbClear _targetContainer; + + //Show the items in the ground disarmTarget's inventory + _targetUniqueItems = [GVAR(disarmTarget)] call FUNC(getAllGearUnit); + [_targetContainer, _targetUniqueItems] call FUNC(showItemsInListbox); + + //Try to find a holder that the target is using to drop items into: + _holder = objNull; + { + if ((_x getVariable [QGVAR(disarmUnit), objNull]) == _target) exitWith { + _holder = _x; + }; + } forEach ((getpos _target) nearObjects [DISARM_CONTAINER, 3]); + + //If a holder exists, show it's inventory + if (!isNull _holder) then { + _holderUniqueItems = [_holder] call FUNC(getAllGearContainer); + [_groundContainer, _holderUniqueItems] call FUNC(showItemsInListbox); + }; + }; +}, 0, [_caller, _target, _display]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/disarming/functions/fnc_showItemsInListbox.sqf b/addons/disarming/functions/fnc_showItemsInListbox.sqf new file mode 100644 index 0000000000..5c809de4a2 --- /dev/null +++ b/addons/disarming/functions/fnc_showItemsInListbox.sqf @@ -0,0 +1,60 @@ +/* + * Author: PabstMirror + * Shows a list of inventory items in a listBox control. + * + * Arguments: + * 0: RscListBox + * 1: ItemArray [["itemClassnames"],[counts]] + * + * Return Value: + * Nothing + * + * Example: + * [theListBox, [["ace_bandage"],[2]]] call ace_disarming_fnc_showItemsInListbox + * + * Public: No + */ +#include "script_component.hpp" + +disableSerialization; +PARAMS_2(_listBoxCtrl,_itemsCountArray); + +private ["_classname", "_count", "_displayName", "_picture"]; + +{ + _displayName = ""; + _picture = ""; + + _classname = _x; + _count = (_itemsCountArray select 1) select _forEachIndex; + + if (_classname != DUMMY_ITEM) then { //Don't show the dummy potato + + switch (true) do { + case (isClass (configFile >> "CfgWeapons" >> _classname)): { + _displayName = getText (configFile >> "CfgWeapons" >> _classname >> "displayName"); + _picture = getText (configFile >> "CfgWeapons" >> _classname >> "picture"); + }; + case (isClass (configFile >> "CfgMagazines" >> _classname)): { + _displayName = getText (configFile >> "CfgMagazines" >> _classname >> "displayName"); + _picture = getText (configFile >> "CfgMagazines" >> _classname >> "picture"); + }; + case (isClass (configFile >> "CfgVehicles" >> _classname)): { + _displayName = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); + _picture = getText (configFile >> "CfgVehicles" >> _classname >> "picture"); + }; + case (isClass (configFile >> "CfgGlasses" >> _classname)): { + _displayName = getText (configFile >> "CfgGlasses" >> _classname >> "displayName"); + _picture = getText (configFile >> "CfgGlasses" >> _classname >> "picture"); + }; + default { + ERROR(format ["[%1] - bad classname", _classname]); + }; + }; + + _listBoxCtrl lbAdd format ["%1", _displayName]; + _listBoxCtrl lbSetData [_forEachIndex, _classname]; + _listBoxCtrl lbSetPicture [_forEachIndex, _picture]; + _listBoxCtrl lbSetTextRight [_forEachIndex, str _count]; + }; +} forEach (_itemsCountArray select 0); diff --git a/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf new file mode 100644 index 0000000000..e1753f390a --- /dev/null +++ b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf @@ -0,0 +1,41 @@ +/* + * Author: PabstMirror + * Verifies magazines moved with exact ammo counts preserved. + * Arrays will be in format from magazinesAmmo/magazinesAmmoCargo + * e.g.: [["30Rnd_65x39_caseless_mag",15], ["30Rnd_65x39_caseless_mag",30]] + * + * Arguments: + * 0: Start on container A + * 1: End on container A + * 2: Start on container B + * 3: End on container B + * + * Return Value: + * Verified Good + * + * Example: + * [stuff] call ace_disarming_fnc_verifyMagazinesMoved + * + * Public: No + */ +#include "script_component.hpp" + +private ["_problem", "_beginingArray", "_index"]; + +PARAMS_4(_startA,_endA,_startB,_endB); + +//Quick Lazy Count Check +if (((count _startA) + (count _startB)) != ((count _endA) + (count _endB))) exitWith { + false +}; + +_beginingArray = (_startA + _startB); + +_problem = false; +{ + _index = _beginingArray find _x; + if (_index == -1) exitWith {_problem = true;}; + _beginingArray deleteAt _index; +} forEach (_endA + _endB); + +(!_problem) && {_beginingArray isEqualTo []} diff --git a/addons/disarming/functions/script_component.hpp b/addons/disarming/functions/script_component.hpp new file mode 100644 index 0000000000..38e082ee0e --- /dev/null +++ b/addons/disarming/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\disarming\script_component.hpp" \ No newline at end of file diff --git a/addons/disarming/gui_disarm.hpp b/addons/disarming/gui_disarm.hpp new file mode 100644 index 0000000000..0961b809ed --- /dev/null +++ b/addons/disarming/gui_disarm.hpp @@ -0,0 +1,162 @@ +//The disarming dialog +//Meant to mimic the real BIS inventory (so people understand how to use it) + +class RscText; +class RscPicture; +class RscActiveText; +class RscListBox; + +//Use the definese from +#define X_BIS(num) (num * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)) +#define Y_BIS(num) (num * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)) +#define W_BIS(num) (num * (((safezoneW / safezoneH) min 1.2) / 40)) +#define H_BIS(num) (num * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)) + +#define X_MAKEITBIGGA(num) (num * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)) +#define Y_MAKEITBIGGA(num) (num * (safeZoneH / 30) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)) +#define W_MAKEITBIGGA(num) (num * (safeZoneH / 40)) +#define H_MAKEITBIGGA(num) (num * (safeZoneH / 30)) + +#define X_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), X_BIS(num), X_MAKEITBIGGA(num))]) +#define Y_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), Y_BIS(num), Y_MAKEITBIGGA(num))]) +#define W_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), W_BIS(num), W_MAKEITBIGGA(num))]) +#define H_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), H_BIS(num), H_MAKEITBIGGA(num))]) + +class GVAR(remoteInventory) { + idd = -1; + movingEnable = 0; + enableSimulation = 1; + enableDisplay = 1; + onLoad = "uiNamespace setVariable ['ACE_remoteInventory', _this select 0];"; + duration = 2147483647; + fadein = 0; + fadeout = 0; + + class Colors { + dragValidBgr[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",0.5}; + dragInvalidBgr[] = {"(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])","(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])","(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])",0.5}; + dragValidBar[] = {"(profilenamespace getvariable ['IGUI_WARNING_RGB_R',0.8])","(profilenamespace getvariable ['IGUI_WARNING_RGB_G',0.5])","(profilenamespace getvariable ['IGUI_WARNING_RGB_B',0.0])",0.5}; + dragInvalidBar[] = {"(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])","(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])","(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])",0.5}; + progressBar[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",1}; + progressBarBgr[] = {"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])","(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])","(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",0.75}; + highlight[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",0.5}; + }; + + class controlsBackground {}; + + class controls { + class CA_ContainerBackground: RscText { + idc = -1; + x = X_PART(1); + y = Y_PART(1); + w = W_PART(12); + h = H_PART(22.5); + colorBackground[] = {0.05,0.05,0.05,0.7}; + }; + class CA_PlayerBackground: RscText { + idc = -1; + x = X_PART(14.6); + y = Y_PART(2); + w = W_PART(24.4); + h = H_PART(21.5); + colorBackground[] = {0.05,0.05,0.05,0.7}; + }; + class TitleBackground: RscText { + idc = -1; + x = X_PART(14.6); + y = Y_PART(1); + w = W_PART(24.4); + h = H_PART(1); + colorBackground[] = {0.1,0.1,0.1,1}; + }; + class PlayersName: RscText { + idc = 111; + // text = "Player name here:"; + x = X_PART(15.6); + y = Y_PART(1); + w = W_PART(19.8); + h = H_PART(1); + }; + class RankBackground: RscText { + idc = -1; + x = X_PART(15.1); + y = Y_PART(1.25); + w = W_PART(0.6); + h = H_PART(0.6); + colorBackground[] = {1,1,1,0.2}; + }; + class RankPicture: RscPicture { + idc = 1203; + // text = "\A3\Ui_f\data\GUI\Cfg\Ranks\corporal_gs.paa"; + x = X_PART(15.1); + y = Y_PART(1.25); + w = W_PART(0.6); + h = H_PART(0.6); + }; + class ButtonBack: 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 = X_PART(38); + y = Y_PART(1); + w = W_PART(1); + h = H_PART(1); + colorText[] = {1,1,1,0.7}; + colorActive[] = {1,1,1,1}; + tooltip = "$STR_DISP_OPT_CLOSE"; + onButtonClick = "closeDialog 0"; + }; + class ExternalContainerBackground: RscPicture { + colorText[] = {1,1,1,0.1}; + idc = -1; + x = X_PART(1.5); + y = Y_PART(3.7); + w = W_PART(11); + h = H_PART(18.4); + }; + class PlayerContainerBackground: ExternalContainerBackground { + idc = -1; + x = X_PART(15.1); + y = Y_PART(6); + w = W_PART(11); + h = H_PART(14); + }; + class GroundTitleBackground: RscText { + idc = -1; + x = X_PART(1); + y = Y_PART(1); + w = W_PART(12); + h = H_PART(1); + colorBackground[] = {0.1,0.1,0.1,1}; + }; + class GroundName: RscText { + idc = -1; + text = "$STR_cfgVehicles_WeaponHolder0"; //"ground" + x = X_PART(1); + y = Y_PART(1); + w = W_PART(12); + h = H_PART(1); + }; + class GroundContainer: RscListBox { + idc = 632; + sizeEx = "0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx2 = "0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + rowHeight = "1.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + canDrag = 0; + colorText[] = {1,1,1,1}; + colorBackground[] = {0,0,0,0}; + itemBackground[] = {1,1,1,0.2}; + itemSpacing = 0.001; + x = X_PART(1.5); + y = Y_PART(2.5); + w = W_PART(11); + h = H_PART(21); + }; + class UniformContainer: GroundContainer { + idc = 633; + canDrag = 1; + x = X_PART(15.1); + }; + }; +}; diff --git a/addons/disarming/script_component.hpp b/addons/disarming/script_component.hpp new file mode 100644 index 0000000000..d9bec366dc --- /dev/null +++ b/addons/disarming/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT disarming +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_DISARMING + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_DISARMING + #define DEBUG_SETTINGS DEBUG_SETTINGS_DISARMING +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#define DISARM_CONTAINER "GroundWeaponHolder" +#define DUMMY_ITEM "ACE_DebugPotato" +#define UNIQUE_MAGAZINES ["ACE_key_customKeyMagazine"] \ No newline at end of file diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml new file mode 100644 index 0000000000..583080ff08 --- /dev/null +++ b/addons/disarming/stringtable.xml @@ -0,0 +1,15 @@ + + + + + Open Inventory + Öffne Inventar + Otwórz ekwipunek + Otevřít inventář + Abrir inventario + Открыть инвентарь + Apri l'inventario + Ouvrir l'inventaire + + + \ No newline at end of file diff --git a/addons/disposable/CfgEventHandlers.hpp b/addons/disposable/CfgEventHandlers.hpp index 02d0cb625f..e4e4abffd8 100644 --- a/addons/disposable/CfgEventHandlers.hpp +++ b/addons/disposable/CfgEventHandlers.hpp @@ -1,44 +1,28 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; class Extended_PostInit_EventHandlers { class ADDON { - clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) ); + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; class Extended_FiredBIS_EventHandlers { class CAManBase { class ADDON { - firedBIS = QUOTE( _this call FUNC(replaceATWeapon) ); + firedBIS = QUOTE(_this call FUNC(replaceATWeapon)); }; }; }; // handle preloaded missile -class Extended_Init_EventHandlers { +class Extended_InitPost_EventHandlers { class CAManBase { class ADDON { - init = QUOTE( _this call FUNC(takeLoadedATWeapon) ); - }; - }; -}; - -class Extended_Take_EventHandlers { - class CAManBase { - class ADDON { - take = QUOTE( _this call FUNC(takeLoadedATWeapon); [_this select 0] call FUNC(updateInventoryDisplay); ); - }; - }; -}; - -class Extended_Put_EventHandlers { - class CAManBase { - class ADDON { - put = QUOTE( [_this select 0] call FUNC(updateInventoryDisplay); ); + init = QUOTE([ARR_2(_this select 0, secondaryWeapon (_this select 0))] call FUNC(takeLoadedATWeapon)); }; }; }; diff --git a/addons/disposable/CfgMagazines.hpp b/addons/disposable/CfgMagazines.hpp index 8fbae08dfd..6265c06f50 100644 --- a/addons/disposable/CfgMagazines.hpp +++ b/addons/disposable/CfgMagazines.hpp @@ -3,6 +3,7 @@ class CfgMagazines { class ACE_PreloadedMissileDummy: NLAW_F { // The dummy magazine author = "$STR_ACE_Common_ACETeam"; scope = 1; + scopeArsenal = 1; displayName = "$STR_ACE_Disposable_PreloadedMissileDummy"; picture = PATHTOEF(common,UI\blank_CO.paa); weaponPoolAvailable = 0; diff --git a/addons/disposable/XEH_postInit.sqf b/addons/disposable/XEH_postInit.sqf new file mode 100644 index 0000000000..bc51974bc6 --- /dev/null +++ b/addons/disposable/XEH_postInit.sqf @@ -0,0 +1,10 @@ +// by commy2 +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; + +["inventoryDisplayLoaded", {[ACE_player, _this select 0] call FUNC(updateInventoryDisplay)}] call EFUNC(common,addEventHandler); +["playerInventoryChanged", { + [_this select 0, _this select 1 select 11] call FUNC(takeLoadedATWeapon); + [_this select 0] call FUNC(updateInventoryDisplay); +}] call EFUNC(common,addEventHandler); diff --git a/addons/disposable/XEH_postInitClient.sqf b/addons/disposable/XEH_postInitClient.sqf index 1fe598137f..c20dfa886b 100644 --- a/addons/disposable/XEH_postInitClient.sqf +++ b/addons/disposable/XEH_postInitClient.sqf @@ -5,7 +5,6 @@ #include "script_component.hpp" ["inventoryDisplayLoaded",{ - _player = ACE_player; - [_player] call FUNC(takeLoadedATWeapon); - [_player, (_this select 0)] call FUNC(updateInventoryDisplay); + [ACE_player] call FUNC(takeLoadedATWeapon); + [ACE_player, (_this select 0)] call FUNC(updateInventoryDisplay); }] call EFUNC(common,addEventHandler); \ No newline at end of file diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 8b6c032961..7f57998157 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,36 +1,38 @@  - - - - Used Tube - Benutze Einwegwaffe - Tube utilisé - Použitý odpalovač - Zużyta tuba - Lanzador utilizado - Használt cső - Отстрелянная труба - - - Used disposable rocket launcher - Benutzter Einweg-Raketenwerfer - Lance-roquette à usage unique utilisé - Použitý raketomet - Zużyta tuba granatnika jednorazowego użytku - Lanzador desechable utilizado - Használt rakétavető - Отстрелянная одноразовая пусковая установка - - - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Заряженная ракетная пустышка - - - \ No newline at end of file + + + Used Tube + Benutze Einwegwaffe + Tube utilisé + Použitý odpalovač + Zużyta rura + Lanzador utilizado + Elhasznált kilövőcső + Отстрелянная труба + Tubo utilizzato + + + Used disposable rocket launcher + Benutzter Einweg-Raketenwerfer + Lance-roquette à usage unique utilisé + Použitý raketomet + Zużyta rura granatnika jednorazowego użytku + Lanzador desechable utilizado + Elhasznált eldobható rakétavető + Отстрелянная одноразовая пусковая установка + Lanciarazzi monouso utilizzato + + + Preloaded Missile Dummy + Vorgeladene Racketennachbildung + Missile préchargé Dummy + Přednabitá dummy střela + Wstępnie załadowana atrapa pocisku + Preloaded Missile Dummy + Előtöltött műrakéta + Предзаряженная ракетная болванка + Missile stupido precaricato + + + diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index 2d5854d86f..c58aab607e 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common","ace_interaction","ace_interact_menu"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"Garth 'L-H' de Wet","commy2"}; authorUrl = "https://github.com/commy2/"; VERSION_CONFIG; diff --git a/addons/dragging/functions/fnc_canCarry.sqf b/addons/dragging/functions/fnc_canCarry.sqf index 24426d0e3a..0fc5c074d6 100644 --- a/addons/dragging/functions/fnc_canCarry.sqf +++ b/addons/dragging/functions/fnc_canCarry.sqf @@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; // a static weapon has to be empty for dragging if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; -alive _target && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false])} +alive _target && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})} diff --git a/addons/dragging/functions/fnc_canDrag.sqf b/addons/dragging/functions/fnc_canDrag.sqf index f0e269983a..92744553fd 100644 --- a/addons/dragging/functions/fnc_canDrag.sqf +++ b/addons/dragging/functions/fnc_canDrag.sqf @@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; // a static weapon has to be empty for dragging if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; -alive _target && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false])} +alive _target && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}; \ No newline at end of file diff --git a/addons/dragging/functions/fnc_dropObject.sqf b/addons/dragging/functions/fnc_dropObject.sqf index 489457bfbc..9589457dbe 100644 --- a/addons/dragging/functions/fnc_dropObject.sqf +++ b/addons/dragging/functions/fnc_dropObject.sqf @@ -23,8 +23,10 @@ _unit removeAction (_unit getVariable [QGVAR(ReleaseActionID), -1]); private "_inBuilding"; _inBuilding = [_unit] call FUNC(isObjectOnObject); -// play release animation -_unit playAction "released"; +if !(_unit getvariable ["ACE_isUnconscious", false]) then { + // play release animation + _unit playAction "released"; +}; // prevent collision damage ["fixCollision", _unit] call EFUNC(common,localEvent); @@ -58,3 +60,7 @@ if !(_target isKindOf "CAManBase") then { ["fixPosition", _target, _target] call EFUNC(common,targetEvent); ["fixFloating", _target, _target] call EFUNC(common,targetEvent); }; + +if (_unit getvariable ["ACE_isUnconscious", false]) then { + [_unit, "unconscious", 2, true] call EFUNC(common,doAnimation); +}; diff --git a/addons/dragging/functions/fnc_dropObject_carry.sqf b/addons/dragging/functions/fnc_dropObject_carry.sqf index 5e2ea8b8c1..b6dfe9fc45 100644 --- a/addons/dragging/functions/fnc_dropObject_carry.sqf +++ b/addons/dragging/functions/fnc_dropObject_carry.sqf @@ -32,7 +32,7 @@ detach _target; // fix anim when aborting carrying persons if (_target isKindOf "CAManBase" || {animationState _unit in CARRY_ANIMATIONS}) then { - if (vehicle _unit == _unit) then { + if (vehicle _unit == _unit && {!(_unit getvariable ["ACE_isUnconscious", false])}) then { [_unit, "", 2, true] call EFUNC(common,doAnimation); }; diff --git a/addons/dragging/functions/fnc_handleUnconscious.sqf b/addons/dragging/functions/fnc_handleUnconscious.sqf index 6ca9609b63..31c703f37b 100644 --- a/addons/dragging/functions/fnc_handleUnconscious.sqf +++ b/addons/dragging/functions/fnc_handleUnconscious.sqf @@ -20,9 +20,9 @@ if (_player getVariable [QGVAR(isDragging), false]) then { }; // handle waking up dragged unit - if (_unit == _draggedObject) then { - [_player, _draggedObject] call FUNC(dropObject); - }; + //if (_unit == _draggedObject) then { + // [_player, _draggedObject] call FUNC(dropObject); + //}; }; @@ -37,8 +37,8 @@ if (_player getVariable [QGVAR(isCarrying), false]) then { }; // handle waking up dragged unit - if (_unit == _carriedObject) then { - [_player, _carriedObject] call FUNC(dropObject_carry); - }; + //if (_unit == _carriedObject) then { + // [_player, _carriedObject] call FUNC(dropObject_carry); + //}; }; diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 1fca04fee1..b53816e796 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -1,56 +1,53 @@ - - + - - - Drag - Тащить - Arrastrar - Ciągnij - Táhnout - Tracter - Ziehen - Arrastar - Trascina - Húzás - - - Release - Отпустить - Soltar - Puść - Položit - Lâcher - Loslassen - Largar - Lascia - Elengedés - - - Item to heavy - Gegenstand zu schwer - - - - Carry - Tragen - Portar - Nieś - Porter - Nést - Carregar - Trascina - Felvesz - Нести - - - + + + Drag + Тащить + Arrastrar + Ciągnij + Táhnout + Trainer + Ziehen + Arrastar + Trascina + Húzás + + + Release + Отпустить + Soltar + Puść + Položit + Lâcher + Loslassen + Largar + Lascia + Elengedés + + + Item too heavy + Gegenstand ist zu schwer + Articulo demasiado pesado + Przedmiot jest zbyt ciężki + Objet trop lourd + Não é possível carregar o item devido a seu peso + Non è possibile trascinare l'oggetto a causa del suo peso + Предмет слишком тяжёлый + Moc težké + Az objektum túl nehéz + + + Carry + Tragen + Portar + Nieś + Porter + Nést + Carregar + Trascina + Felvevés + Нести + + + \ No newline at end of file diff --git a/addons/explosives/ACE_Triggers.hpp b/addons/explosives/ACE_Triggers.hpp new file mode 100644 index 0000000000..9c33246cd8 --- /dev/null +++ b/addons/explosives/ACE_Triggers.hpp @@ -0,0 +1,54 @@ +class ACE_Triggers { +/* onPlace parameters: +0: OBJECT - unit placing +1: OBJECT - Placed explosive +2: STRING - Magazine classname +3: ARRAY - vars +Last Index: ACE_Triggers config of trigger type. +onSetup parameters: +0: STRING - Magazine Classname +*/ + class Command { + displayName = $STR_ACE_Explosives_clacker_displayName; + picture = PATHTOF(Data\UI\Clacker.paa); + onPlace = QUOTE(_this call FUNC(AddClacker);false); + requires[] = {"ACE_Clacker"}; + }; + class MK16_Transmitter:Command { + displayName = $STR_ACE_Explosives_MK16_displayName; + picture = PATHTOF(Data\UI\MK16_Reciever_ca.paa); + requires[] = {"ACE_M26_Clacker"}; + }; + class DeadManSwitch:Command { + displayName = $STR_ACE_Explosives_DeadManSwitch_displayName; + picture = PATHTOF(Data\UI\DeadmanSwitch.paa); + requires[] = {"ACE_DeadManSwitch"}; + }; + class Cellphone:Command { + displayName = $STR_ACE_Explosives_cellphone_displayName; + picture = PATHTOF(Data\UI\Cellphone_UI.paa); + onPlace = QUOTE(_this call FUNC(addCellphoneIED);false); + requires[] = {"ACE_Cellphone"}; + }; + class PressurePlate { + displayName = $STR_ACE_Explosives_PressurePlate; + picture = PATHTOF(Data\UI\PressurePlate.paa); + onPlace = "_dist=GetNumber(ConfigFile >> 'CfgMagazines' >> (_this select 2) >> 'ACE_Triggers' >> 'PressurePlate' >> 'digDistance');_ex=_this select 1;_ex setPosATL ((getPosATL _ex) vectorDiff ((VectorUp _ex) vectorCrossProduct [0,0,_dist]));false"; + }; + class IRSensor { + displayName = $STR_ACE_Explosives_IRSensor; + picture = PATHTOF(Data\UI\PressurePlate.paa); + onPlace = "false"; + }; + class Timer { + displayName = $STR_ACE_Explosives_timerName; + picture = PATHTOF(data\UI\Timer.paa); + onPlace = QUOTE([ARR_2(_this select 1,(_this select 3) select 0)] call FUNC(startTimer);false); + onSetup = QUOTE(_this call FUNC(openTimerSetUI);true); + }; + class Tripwire { + displayName = $STR_ACE_Explosives_TripWire; + picture = PATHTOF(Data\UI\Tripwire.paa); + onPlace = "false"; + }; +}; diff --git a/addons/explosives/CfgACE_Triggers.hpp b/addons/explosives/CfgACE_Triggers.hpp deleted file mode 100644 index 6319444cb2..0000000000 --- a/addons/explosives/CfgACE_Triggers.hpp +++ /dev/null @@ -1,54 +0,0 @@ -class CfgACE_Triggers { -/* onPlace parameters: -0: OBJECT - unit placing -1: OBJECT - Placed explosive -2: STRING - Magazine classname -3: ARRAY - vars -Last Index: CfgACE_Triggers config of trigger type. -onSetup parameters: -0: STRING - Magazine Classname -*/ - class Command { - displayName = $STR_ACE_Explosives_clacker_displayName; - picture = PATHTOF(Data\UI\Clacker.paa); - onPlace = QUOTE(_this call FUNC(AddClacker);false); - requires[] = {"ACE_Clacker"}; - }; - class MK16_Transmitter:Command { - displayName = $STR_ACE_Explosives_MK16_displayName; - picture = PATHTOF(Data\UI\MK16_Reciever_ca.paa); - requires[] = {"ACE_M26_Clacker"}; - }; - class DeadManSwitch:Command { - displayName = $STR_ACE_Explosives_DeadManSwitch_displayName; - picture = PATHTOF(Data\UI\DeadmanSwitch.paa); - requires[] = {"ACE_DeadManSwitch"}; - }; - class Cellphone:Command { - displayName = $STR_ACE_Explosives_cellphone_displayName; - picture = PATHTOF(Data\UI\Cellphone_UI.paa); - onPlace = QUOTE(_this call FUNC(addCellphoneIED);false); - requires[] = {"ACE_Cellphone"}; - }; - class PressurePlate { - displayName = $STR_ACE_Explosives_PressurePlate; - picture = PATHTOF(Data\UI\PressurePlate.paa); - onPlace = "_dist=GetNumber(ConfigFile >> 'CfgMagazines' >> (_this select 2) >> 'ACE_Triggers' >> 'PressurePlate' >> 'digDistance');_ex=_this select 1;_ex setPosATL ((getPosATL _ex) vectorDiff ((VectorUp _ex) vectorCrossProduct [0,0,_dist]));false"; - }; - class IRSensor { - displayName = $STR_ACE_Explosives_IRSensor; - picture = PATHTOF(Data\UI\PressurePlate.paa); - onPlace = "false"; - }; - class Timer { - displayName = $STR_ACE_Explosives_timerName; - picture = PATHTOF(data\UI\Timer.paa); - onPlace = QUOTE([ARR_2(_this select 1,(_this select 3) select 0)] call FUNC(startTimer);false); - onSetup = QUOTE(_this call FUNC(openTimerSetUI);true); - }; - class Tripwire { - displayName = $STR_ACE_Explosives_TripWire; - picture = PATHTOF(Data\UI\Tripwire.paa); - onPlace = "false"; - }; -}; diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index 8ebf62090f..a4a55f8609 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -20,6 +20,13 @@ GVAR(Setup) = objNull; GVAR(pfeh_running) = false; GVAR(CurrentSpeedDial) = 0; +//Cancel placement if interact menu opened +["interactMenuOpened", { + if (GVAR(pfeh_running) && {!isNull (GVAR(Setup))}) then { + call FUNC(place_Cancel) + }; +}] call EFUNC(common,addEventHandler); + [{(_this select 0) call FUNC(handleScrollWheel);}] call EFUNC(Common,addScrollWheelEventHandler); player addEventHandler ["Killed", { private "_deadman"; diff --git a/addons/explosives/config.cpp b/addons/explosives/config.cpp index 9652c38dd2..e77d2bf624 100644 --- a/addons/explosives/config.cpp +++ b/addons/explosives/config.cpp @@ -18,7 +18,8 @@ class CfgPatches { #include "CfgMagazines.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" -#include "CfgACE_Triggers.hpp" + +#include "ACE_Triggers.hpp" #include "ExplosivesUI.hpp" class CfgActions { diff --git a/addons/explosives/functions/fnc_addClacker.sqf b/addons/explosives/functions/fnc_addClacker.sqf index 1e12b79d62..7e3529f931 100644 --- a/addons/explosives/functions/fnc_addClacker.sqf +++ b/addons/explosives/functions/fnc_addClacker.sqf @@ -12,7 +12,7 @@ * None * * Example: - * [player, _explosive, "SatchelCharge_Remote_Mag", [ConfigFile >> "CfgACE_Triggers" >> "Command"]] call ACE_Explosives_fnc_addClacker; + * [player, _explosive, "SatchelCharge_Remote_Mag", [ConfigFile >> "ACE_Triggers" >> "Command"]] call ACE_Explosives_fnc_addClacker; * * Public: Yes */ diff --git a/addons/explosives/functions/fnc_addDetonateActions.sqf b/addons/explosives/functions/fnc_addDetonateActions.sqf index 0017488458..5081040233 100644 --- a/addons/explosives/functions/fnc_addDetonateActions.sqf +++ b/addons/explosives/functions/fnc_addDetonateActions.sqf @@ -16,7 +16,7 @@ */ #include "script_component.hpp" private ["_result", "_item", "_children"]; -call EFUNC(interaction,hideMenu); + EXPLODE_2_PVT(_this,_unit,_detonator); _range = GetNumber (ConfigFile >> "CfgWeapons" >> _detonator >> "ACE_Range"); @@ -24,7 +24,7 @@ _result = [_unit] call FUNC(getPlacedExplosives); _children = []; { if (!isNull(_x select 0)) then { - _required = getArray (ConfigFile >> "CfgACE_Triggers" >> (_x select 4) >> "requires"); + _required = getArray (ConfigFile >> "ACE_Triggers" >> (_x select 4) >> "requires"); if (_detonator in _required) then { _item = ConfigFile >> "CfgMagazines" >> (_x select 3); diff --git a/addons/explosives/functions/fnc_getPlacedExplosives.sqf b/addons/explosives/functions/fnc_getPlacedExplosives.sqf index 9b40002bbe..1164972047 100644 --- a/addons/explosives/functions/fnc_getPlacedExplosives.sqf +++ b/addons/explosives/functions/fnc_getPlacedExplosives.sqf @@ -20,7 +20,7 @@ private ["_unit", "_clackerList", "_adjustedList", "_list", "_filter"]; _unit = _this select 0; _filter = nil; if (count _this > 1) then { - _filter = ConfigFile >> "CfgACE_Triggers" >> (_this select 1); + _filter = ConfigFile >> "ACE_Triggers" >> (_this select 1); }; _clackerList = []; _adjustedList = false; @@ -31,7 +31,7 @@ _list = []; _clackerList set [_foreachIndex, "X"]; _adjustedList = true; } else { - if (isNil "_filter" || {(ConfigFile >> "CfgACE_Triggers" >> (_x select 4)) == _filter}) then { + if (isNil "_filter" || {(ConfigFile >> "ACE_Triggers" >> (_x select 4)) == _filter}) then { _list pushBack _x; }; }; diff --git a/addons/explosives/functions/fnc_onLanded.sqf b/addons/explosives/functions/fnc_onLanded.sqf index 409b6a286f..59487e651c 100644 --- a/addons/explosives/functions/fnc_onLanded.sqf +++ b/addons/explosives/functions/fnc_onLanded.sqf @@ -27,7 +27,6 @@ if (!isNull _hitTarget && {_hitTarget isKindOf "AllVehicles"}) then { [{ EXPLODE_2_PVT(_this,_player,_explosive); private "_pos"; - _player setVariable [QGVAR(PlantingExplosive), false]; if (surfaceIsWater _pos) then { _pos = getPosASL _explosive; _explosive setPosASL _pos; diff --git a/addons/explosives/functions/fnc_placeExplosive.sqf b/addons/explosives/functions/fnc_placeExplosive.sqf index 90997fd2ad..228e8eef23 100644 --- a/addons/explosives/functions/fnc_placeExplosive.sqf +++ b/addons/explosives/functions/fnc_placeExplosive.sqf @@ -33,7 +33,7 @@ if (isNil "_triggerConfig") exitWith { }; _magazineTrigger = ConfigFile >> "CfgMagazines" >> _magazineClass >> "ACE_Triggers" >> _triggerConfig; -_triggerConfig = ConfigFile >> "CfgACE_Triggers" >> _triggerConfig; +_triggerConfig = ConfigFile >> "ACE_Triggers" >> _triggerConfig; if (isNil "_triggerConfig") exitWith { diag_log format ["ACE_Explosives: Error config not found in PlaceExplosive: %1", _this]; diff --git a/addons/explosives/functions/fnc_place_Approve.sqf b/addons/explosives/functions/fnc_place_Approve.sqf index dc94bf3731..0082a9bd6a 100644 --- a/addons/explosives/functions/fnc_place_Approve.sqf +++ b/addons/explosives/functions/fnc_place_Approve.sqf @@ -24,7 +24,7 @@ _setup = GVAR(Setup); GVAR(Setup) = objNull; [GVAR(placer), "ACE_Explosives", false] call EFUNC(Common,setForceWalkStatus); [ACE_player, "DefaultAction", ACE_player getVariable [QGVAR(Place), -1]] call EFUNC(Common,removeActionEventHandler); -[ACE_player, "MenuBack", ACE_player getVariable [QGVAR(Cancel), -1]] call EFUNC(Common,removeActionEventHandler); +[ACE_player, "zoomtemp", ACE_player getVariable [QGVAR(Cancel), -1]] call EFUNC(Common,removeActionEventHandler); GVAR(placer) = objNull; _player = ACE_player; call EFUNC(interaction,hideMouseHint); @@ -39,6 +39,7 @@ if (_dir > 180) then { }; _setup setVariable [QGVAR(Direction), _dir]; _player setVariable [QGVAR(PlantingExplosive), true]; +[{_this setVariable [QGVAR(PlantingExplosive), false]}, _player, 1.5, 0.5] call EFUNC(common,waitAndExecute); _setup addEventHandler ["EpeContactStart", FUNC(onLanded)]; _setup enableSimulationGlobal true; _player playActionNow "MedicOther"; diff --git a/addons/explosives/functions/fnc_selectTrigger.sqf b/addons/explosives/functions/fnc_selectTrigger.sqf index a27d512475..53bc8b66cb 100644 --- a/addons/explosives/functions/fnc_selectTrigger.sqf +++ b/addons/explosives/functions/fnc_selectTrigger.sqf @@ -17,10 +17,9 @@ */ #include "script_component.hpp" private ["_config"]; -closeDialog 0; -call EFUNC(interaction,hideMenu); + EXPLODE_3_PVT(_this,_explosive,_magazine,_trigger); -_config = ConfigFile >> "CfgACE_Triggers" >> _trigger; +_config = ConfigFile >> "ACE_Triggers" >> _trigger; // If the onSetup function returns true, it is handled elsewhere if (isText(_config >> "onSetup") && {[_explosive,_magazine] call compile getText (_config >> "onSetup")}) exitWith {}; diff --git a/addons/explosives/functions/fnc_triggerType.sqf b/addons/explosives/functions/fnc_triggerType.sqf index 8ebcbf6699..fc6a0b90c1 100644 --- a/addons/explosives/functions/fnc_triggerType.sqf +++ b/addons/explosives/functions/fnc_triggerType.sqf @@ -6,7 +6,7 @@ * 0: Explosive magazine * * Return Value: - * Supported triggers as CfgACE_Triggers config entries + * Supported triggers as ACE_Triggers config entries * * Example: * _supports = ["SatchelCharge_Remote_Mag"] call ACE_Explosives_fnc_TriggerType @@ -20,6 +20,6 @@ _config = getArray (ConfigFile >> "CfgMagazines" >> (_this select 0) >> "ACE_Tri _count = count _config; for "_index" from 0 to (_count - 1) do { - _result set [_index, ConfigFile >> "CfgACE_Triggers" >> (_config select _index)]; + _result set [_index, ConfigFile >> "ACE_Triggers" >> (_config select _index)]; }; _result diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 57ef190460..f78c583748 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,5 +1,4 @@ - - + @@ -22,7 +21,7 @@ Placer >> Položit >> Piazza >> - Lerakás >> + Elhelyezés >> Colocar >> Установить >> @@ -43,12 +42,12 @@ Sprengstoffcode: %1 Código del explosivo: %1 Kod ładunku: %1 - Code explosif: %1 + Code de l'explosif: %1 Kód výbušniny: %1 - Codice dell'esplosivo : %1 Robbanóanyag kódja: %1 Código do explosivo: %1 - Взрывная код: %1 + Код подрыва: %1 + Codice esplosivo: %1 Place @@ -60,7 +59,7 @@ Piazza Elhelyezés Colocar - Положить + Установить Cancel @@ -80,9 +79,9 @@ + Modificador, girar + Modificateur, tourner + Modificatore, rotazione - + Otočit + + Modifikátor, otočit + Változtatás, forgatás - + modyfikator, obracanie + + Modyfikator, obrót + Modificador, rotaciona + Bращать @@ -115,10 +114,10 @@ Mobiltelefon Télefono móvil Telefon komórkowy - Téléphone Portable + Téléphone portable Telefon Cellulare - Mobil + Mobiltelefon Celular Сотовый телефон @@ -130,9 +129,9 @@ Utilisé pour déclencher des explosifs à distance Používaný ke vzdálenému odpalování výbušnin Usato per l'attivazione a distanza degli esplosivi - Robbanóanyagok távoli robbantásához + Robbanóanyagok távoli robbantásához való Usado para acionar explosivos remotamente - Используется для удаленного запуска взрывчатку + Используется для удаленной детонации СВУ M57 Firing Device @@ -140,9 +139,9 @@ Dispositivo de detonación M57 Zapalnik M57 M57 Dispositif de mise à feu - M57 Odpalovací Zařízení + Odpalovací zařízení M57 Detonatore M57 - M57 Detonátor + M57 Gyújtóeszköz M57 Dispositivo de Detonação Взрыватель M57 @@ -152,11 +151,11 @@ Usado para detonar remotamente explosivos Używany do zdalnego detonowania ładunków wybuchowych Utilisé pour déclencher des explosifs à distance - Použévané ke vzdálenému odpalování výbušnin + Používané ke vzdálenému odpalování výbušnin Usato per l'attivazione a distanza degli esplosivi Robbanóanyagok távoli robbantásához Usado para acionar explosivos remotamente - Используется для удаленного запуска взрывчатку + Используется для удаленной детонации зарядов M26 Firing Device @@ -164,9 +163,9 @@ Dispositivo de detonación MK26 Zapalnik M26 M26 Dispositif de mise à feu - M26 Odpalovací Zařízení + Odpalovací zařízení M26 Detonatore M26 - M26 Detonátor + M26 Gyújtóeszköz M26 Dispositivo de Detonação Взрыватель M26 @@ -192,7 +191,7 @@ Kit E.O.D. Hatástalanító felszerelés Kit de desarme - Разминирование комплект + Комплект разминирования Allows defusing of explosives @@ -202,9 +201,9 @@ Permet de désamorçer des explosifs Dovoluje zneškodňování výbušnin Consente la disattivazione degli ordigni esplosivi - Robbanóanyagok hatástalanításához + Robbanóanyagok hatástalanítását teszi lehetővé Permite o desarme de explosivos - Allows defusing of explosives + Позволяет обезвреживать взрывчатку Add to Speed Dial @@ -214,27 +213,27 @@ Ajouter à la composition rapide Přidat jako rychlou volbu Aggiungi alla selezione rapida - Hozzáadás gyorshíváshoz + Hozzáadás a gyorstárcsázóhoz Adicionar à ligação rápida - Добавить в ускоренный набор + Добавить в быстрый вызов Clear Löschen Borrar Usuń - Désamorçé + Effacer Čistý Libera Törlés Limpar - Pассеиваться + Очистить Dial Wählen Marcar - Wybierz mumer + Wybierz numer Composer Vytočit Composizione numero @@ -252,7 +251,7 @@ Sopra Fel Cima - Поднять + Вызов Down @@ -264,7 +263,7 @@ Sotto Le Baixo - Опустить + Сброс Cancel @@ -280,27 +279,27 @@ Detonate Menu - "Zünden"-Menü + "Zünden"-Menü Menú de detonación - Menu detonowania + Menu detonacji Menu de mise à feu Menu Detonace Menù di detonazione - Robbantás menü + Robbantási menü Menu de detonação - Меню Подрыв + Меню подрыва Place Menu - "Platzieren"-Menü + "Platzieren"-Menü Menú de colocación Menu umieszczania - Menu Placement + Menu placement Menu Umístění Menù di collocamento - Lerakás menü + Elhelyezési menü Menu de posicionamento - Меню Установить + Меню установки Defuse @@ -322,7 +321,7 @@ Désamorçage des explosifs... Zneškodňuji Výbušninu... Esposivo in fase di disattivazione... - Robbanóanyag hatástalaníása... + Robbanóanyag hatástalanítása... Desarmando Explosivo... Обезвреживание... @@ -331,12 +330,12 @@ Zeitzünder Temporizador Czasomierz - Retard + Minuteur Časovač Cronometro - Időzített + Időzítő Timer - Временной + Таймер Time: %1m %2s @@ -348,19 +347,19 @@ Tempo : %1m %2s Idő: %1m %2s Tempo: %1m %2s - Tемп: %1m %2c + Время: %1m %2c Set Time Zeit einstellen Configurar tiempo Ustaw czas - Régler retard + Régler minuteur Nastavit Čas Modifica il conto alla rovescia - Idő állítása + Idő beállítása Configurar Tempo - Xронометр + Установить время Select a Trigger @@ -370,9 +369,9 @@ Sélectionner une mise à feu Zvolit Detonátor Seleziona un Attivatore - Detonátor kiválasztása + Gyújtóeszköz kiválasztása Selecionar um Gatilho - Выберите + Выберите детонатор Select @@ -384,7 +383,7 @@ Seleziona Kiválasztás Selecionar - Выбрать защелка + Выбрать Pressure Plate @@ -396,19 +395,19 @@ Piastra a Pressione Nyomólap Placa de pressão - Давление + Нажимная плита Tripwire Linka naciągu Cable trampa Stolperdraht - Fil de butée + Fil de détente Nástražný drát Filo a Inciampo Botlódrót Linha de tração - Натяжной + Растяжка IR Sensor @@ -418,9 +417,9 @@ Capteur IR IR Značkovač Sensore IR - IR szenzor + Infravörös szenzor Sensor IV - ИК + ИК сенсор No triggers available for %1 @@ -430,9 +429,9 @@ Pas de mise à feu disponible pour %1 Žádný detonátor k dispozici pro %1 Nessun attivatore disponibile per %1 - Nincs detonátor a %1 + Nincs elérhető gyújtóeszköz ide: %1 Nenhum gatilho disponível para %1 - Нет защелка доступны для %1 + Нет доступных взрывателей для %1 IR Sensor (Side Attack) @@ -442,21 +441,21 @@ Capteur IR (de flanc) IR Značkovač (Výbuch stranou) Sensore IR (Attacco laterale) - IR Sensor (Side Attack) + Infravörös szenzor (Side Attack) Sensor infravermelho (ataque lateral) - ИК (боковая атака) + ИК сенсор (детонация вбок) Magnetic Influence Sensor (Bottom Attack) Czujnik magnetyczny (wybuch w górę) Sensor IM (ataque inferior) Magnetfeldsensor (Bodenangriff) - Capteur Magnétique (par le bas) + Capteur magnétique (par le bas) Magnetický Senzor (Výbuch ze spoda) Sensore Magnetico di Prossimità (Attacco inferiore) - Mágneses (Bottom Attack) + Mágneses mező érzékelő (Bottom Attack) Influência magnética (ataque inferior) - Магнитный (дно атака) + Магнитный сенсор (детонация вверх) No explosives on trigger. @@ -465,10 +464,10 @@ Pas d'explosif à mettre à feu. Nessun esplosivo sul sensore. Žádná výbušnina k odpálení. - Nincs robbanóanyag a detonátorhoz. + Nincs robbanóanyag a gyújtóeszközhöz kötve. Brak ładunków na zapalnik. Nenhum explosivo no gatilho. - Нет взрывчатки на курок. + Взрыватель не подсоединён к взрывчатке Dead Man's Switch @@ -479,19 +478,29 @@ Detonador de hombre muerto Dead Man's Switch Кнопка мертвеца + Detonatore a rilascio Used to remotely trigger explosives when released. Zündet Sprengladungen wenn losgelassen. Déclenche la mise à feu d'un explosif lorsqu'il est libéré. Používaný k vzdálenému odpálení, při uvolnění odpálí výbušniny - Używany w celu zdalnej detonacji ładunków kiedy jego operator zostanie zabity. + Używany w celu zdalnej detonacji ładunków, kiedy jego operator zostanie zabity. Utilizado para detonar explosivos remotamente al soltarlo. - Robbanóanyagok távoli robbantásához + Robbanóanyagok távoli robbantásához való, elengedéskor gyújt. Используется для дистанционного подрыва, после смерти оператора. + Usato per attivare esplosivi al momento del rilascio Pick up + Aufheben + Recoger + Sebrat + Podnieś + Ramasser + Felszedés + Поднять + Raccogli - + \ No newline at end of file diff --git a/addons/fcs/CfgOptics.hpp b/addons/fcs/CfgOptics.hpp index e32a01b3d1..91f83dd6f6 100644 --- a/addons/fcs/CfgOptics.hpp +++ b/addons/fcs/CfgOptics.hpp @@ -17,30 +17,18 @@ class RscMapControl; class RscInGameUI { class RscUnitInfo; class RscUnitInfo_AH64D_gunner { - onLoad = ""; controls[] = {"CA_Distance","ACE_CA_Distance"}; MACRO_RANGEFINDER }; class RscWeaponRangeFinder { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; controls[] = {"CA_Distance","ACE_CA_Distance"}; MACRO_RANGEFINDER }; class RscWeaponRangeFinderPAS13 { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; MACRO_RANGEFINDER }; class RscOptics_Rangefinder: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_LaserDesignator { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -48,7 +36,6 @@ class RscInGameUI { }; }; class RscWeaponRangeFinderMAAWS { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -56,22 +43,18 @@ class RscInGameUI { }; }; class RscWeaponRangeFinderAbramsCom { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; controls[] = {"CA_Distance","ACE_CA_Distance"}; MACRO_RANGEFINDER }; class RscWeaponRangeFinderAbramsGun { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; controls[] = {"CA_Distance","ACE_CA_Distance"}; MACRO_RANGEFINDER }; class RscWeaponRangeFinderStrykerMGSGun { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; controls[] = {"CA_Distance","ACE_CA_Distance"}; MACRO_RANGEFINDER }; class RscOptics_crows: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -79,7 +62,6 @@ class RscInGameUI { }; }; class RscOptics_strider_commander { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -88,12 +70,10 @@ class RscInGameUI { }; class RscWeaponRangeZeroing: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; controls[] = {"CA_Zeroing", "CA_DistanceText", "CA_Distance","ACE_CA_Distance", "ACE_Rangehelper"}; MACRO_RANGEFINDER }; class RscOptics_sos: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -101,7 +81,6 @@ class RscInGameUI { }; }; class RscOptics_nightstalker: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -109,7 +88,6 @@ class RscInGameUI { }; }; class RscOptics_tws: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -117,7 +95,6 @@ class RscInGameUI { }; }; class RscOptics_punisher { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -125,7 +102,6 @@ class RscInGameUI { }; }; class RscOptics_tws_sniper: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -133,7 +109,6 @@ class RscInGameUI { }; }; class RscOptics_SDV_periscope { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -141,7 +116,6 @@ class RscInGameUI { }; }; class RscOptics_Heli_Attack_02_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -157,7 +131,6 @@ class RscInGameUI { }; }; class RscOptics_Heli_Attack_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -165,7 +138,6 @@ class RscInGameUI { }; }; class RscOptics_UAV_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -173,7 +145,6 @@ class RscInGameUI { }; }; class RscOptics_UGV_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -181,7 +152,6 @@ class RscInGameUI { }; }; class RscOptics_APC_Tracked_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -189,7 +159,6 @@ class RscInGameUI { }; }; class RscOptics_APC_Tracked_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -197,7 +166,6 @@ class RscInGameUI { }; }; class RscOptics_APC_Wheeled_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -205,7 +173,6 @@ class RscInGameUI { }; }; class RscOptics_APC_Wheeled_03_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -213,7 +180,6 @@ class RscInGameUI { }; }; class RscOptics_APC_Wheeled_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -221,7 +187,6 @@ class RscInGameUI { }; }; class RscOptics_MBT_01_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -229,7 +194,6 @@ class RscInGameUI { }; }; class RscOptics_MBT_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -237,7 +201,6 @@ class RscInGameUI { }; }; class RscOptics_MBT_02_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -245,7 +208,6 @@ class RscInGameUI { }; }; class RscOptics_MBT_02_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER @@ -253,7 +215,15 @@ class RscInGameUI { }; }; class RscOptics_MBT_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + + // marksmen + class RscOptics_LaserDesignator_02 { class CA_IGUI_elements_group: RscControlsGroup { class controls { MACRO_RANGEFINDER diff --git a/addons/fcs/CfgVehicles.hpp b/addons/fcs/CfgVehicles.hpp index 97628b58ea..5f357c9005 100644 --- a/addons/fcs/CfgVehicles.hpp +++ b/addons/fcs/CfgVehicles.hpp @@ -139,14 +139,6 @@ class CfgVehicles { };*/ }; - class Offroad_01_base_F: Car_F {}; - - class Offroad_01_armed_base_F: Offroad_01_base_F { - /*class Turrets: Turrets { - class M2_Turret: MainTurret {}; - };*/ - }; - class APC_Wheeled_01_base_F: Wheeled_APC_F { /*class Turrets: Turrets { class MainTurret: MainTurret { diff --git a/addons/fcs/XEH_clientInit.sqf b/addons/fcs/XEH_clientInit.sqf index 094a49faeb..3338e739e1 100644 --- a/addons/fcs/XEH_clientInit.sqf +++ b/addons/fcs/XEH_clientInit.sqf @@ -4,7 +4,16 @@ GVAR(enabled) = false; GVAR(time) = 0; GVAR(position) = [0,0,0]; +if (!hasInterface) exitWith {}; + #include "initKeybinds.sqf" +["infoDisplayChanged", { + if (!isNull ((_this select 0) displayCtrl 1713151)) then { + uiNamespace setVariable ["ACE_dlgRangefinder", _this select 0]; + ((_this select 0) displayCtrl 151) ctrlSetTextColor [0,0,0,0]; + }; +}] call EFUNC(common,addEventHandler); + // Register event for global updates -[QGVAR(forceUpdate), FUNC(onForceUpdate)] call ace_common_fnc_addEventHandler; \ No newline at end of file +[QGVAR(forceUpdate), FUNC(onForceUpdate)] call EFUNC(common,addEventHandler); diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index 20ae063c70..12edf02ba3 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {ace_common, ace_interaction}; + requiredAddons[] = {"ace_interaction"}; author[] = {"KoffeinFlummi","BadGuy (simon84)","commy2"}; authorUrl = "https://github.com/KoffeinFlummi/"; VERSION_CONFIG; @@ -20,3 +20,7 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "CfgOptics.hpp" + +class ACE_Extensions { + extensions[] += {"ace_fcs"}; +}; diff --git a/addons/fcs/initKeybinds.sqf b/addons/fcs/initKeybinds.sqf index 3f1a5707a8..8e79bc8056 100644 --- a/addons/fcs/initKeybinds.sqf +++ b/addons/fcs/initKeybinds.sqf @@ -35,7 +35,7 @@ // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific - if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false}; + if !(call FUNC(canUseFCS)) exitWith {false}; // Statement [vehicle ACE_player, [ACE_player] call EFUNC(common,getTurretIndex), 50] call FUNC(adjustRange); @@ -49,7 +49,7 @@ // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific - if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false}; + if !(call FUNC(canUseFCS)) exitWith {false}; // Statement [vehicle ACE_player, [ACE_player] call EFUNC(common,getTurretIndex), -50] call FUNC(adjustRange); diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 154d874f73..16ed66e078 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -1,5 +1,4 @@  - @@ -9,13 +8,9 @@ Naświetl cel / Zmierz odległość Označit cíl / Změřit vzdálenost Iluminar objetivo / Medir distancia - - Подсветить цель / Измерить расстояние + Подсветить цель / Замерить расстояние + Célpont lézerezése / Távolság Bemérése + Misura la distanza Zeroed To @@ -24,15 +19,15 @@ Wyzerowany na Nastaveno na Zéroté à - Зероинг - Nullázás + Выставлено на + Nullázási táv Fixado em Azzeramento a Adjust FCS Range (Up) Entfernung des FLS erhöhen - Zwiększ zasięg FCS + Zwiększ zasięg SKO Ajustar distancia del FCS (arriba) Nastavit FCS Náměr (nahoru) Augmenter la distance du SCT @@ -44,7 +39,7 @@ Adjust FCS Range (Down) Entfernung des FLS verringern - Zmniejsz zasięg FCS + Zmniejsz zasięg SKO Ajustar distancia del FCS (abajo) Nastavit FCS Náměr (dolů) Réduire la distance du SCT @@ -58,7 +53,7 @@ FLS zurücksetzen Reiniciar FCS Réinitialiser le SCT - Resetuj FCS + Resetuj SKO Resetovat FCS FCS visszaállítása Reiniciar FCS @@ -70,12 +65,12 @@ FLS wurde zurückgesetzt. FCS reiniciado SCT réinitialisé. - FCS został zresetowany. + SKO został zresetowany. FCS byl resetován. - Az FCS visszaállítva + FCS visszaállítva. FCS reiniciado. L'FCS è stato azzerato - СУО обнулен + СУО обнулен. - + \ No newline at end of file diff --git a/addons/flashsuppressors/CfgVehicles.hpp b/addons/flashsuppressors/CfgVehicles.hpp index a973518b91..e76f0b8776 100644 --- a/addons/flashsuppressors/CfgVehicles.hpp +++ b/addons/flashsuppressors/CfgVehicles.hpp @@ -7,6 +7,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_B,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; @@ -17,6 +19,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_B,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; @@ -28,6 +32,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_L,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; @@ -38,6 +44,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_L,2); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,2); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,2); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; }; diff --git a/addons/flashsuppressors/CfgWeapons.hpp b/addons/flashsuppressors/CfgWeapons.hpp index 973d438961..c070ada18d 100644 --- a/addons/flashsuppressors/CfgWeapons.hpp +++ b/addons/flashsuppressors/CfgWeapons.hpp @@ -1,5 +1,231 @@ +class MuzzleSlot; + class CfgWeapons { + + /* MX */ + + class Rifle; + class Rifle_Base_F: Rifle { + class WeaponSlotsInfo; + }; + + class arifle_MX_Base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + class arifle_MX_SW_F: arifle_MX_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + // Shit is broken again + //compatibleItems[] += {"ACE_muzzle_mzls_H"}; + compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; + }; + }; + }; + + + /* Katiba */ + + class arifle_katiba_Base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + + /* Other */ + + class Rifle_Long_Base_F: Rifle_Base_F { + class WeaponSlotsInfo; + }; + + class EBR_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_02_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_338"}; + }; + }; + }; + + class DMR_03_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_05_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_93mmg"}; + }; + }; + }; + + class DMR_06_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class MMG_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_93mmg"}; + }; + }; + }; + + class MMG_02_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_338"}; + }; + }; + }; + + class LMG_Mk200_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + class LMG_Zafir_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + + /* Assault Rifles */ + + class Tavor_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; + }; + + class mk20_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; + }; + + + /* SMGs */ + + class pdw2000_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class SMG_01_Base: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class SMG_02_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + + /* Pistols */ + + class Pistol; + class Pistol_Base_F: Pistol { + class WeaponSlotsInfo; + }; + + class hgun_P07_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_Rook40_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_ACPC2_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class hgun_Pistol_heavy_01_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + /*class hgun_Pistol_heavy_02_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + };*/ + + + /* Flashsuppressors */ + class ItemCore; class InventoryMuzzleItem_Base_F; @@ -239,4 +465,96 @@ class CfgWeapons { inertia = 0.1; }; + + class ACE_muzzle_mzls_338: ACE_muzzle_mzls_H { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_muzzle_mzls_338"; + displayName = "$STR_ACE_muzzle_mzls_338"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; + + class ItemInfo: ItemInfo { + mass = 8; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.2; + }; + + class ACE_muzzle_mzls_93mmg: ACE_muzzle_mzls_H { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_muzzle_mzls_93mmg"; + displayName = "$STR_ACE_muzzle_mzls_93mmg"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; + + class ItemInfo: ItemInfo { + mass = 8; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.2; + }; }; diff --git a/addons/flashsuppressors/config.cpp b/addons/flashsuppressors/config.cpp index 6f94efba1d..10b9622d17 100644 --- a/addons/flashsuppressors/config.cpp +++ b/addons/flashsuppressors/config.cpp @@ -3,7 +3,15 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"ACE_muzzle_mzls_H","ACE_muzzle_mzls_B","ACE_muzzle_mzls_L","ACE_muzzle_mzls_smg_01","ACE_muzzle_mzls_smg_02"}; + weapons[] = { + "ACE_muzzle_mzls_H", + "ACE_muzzle_mzls_B", + "ACE_muzzle_mzls_L", + "ACE_muzzle_mzls_smg_01", + "ACE_muzzle_mzls_smg_02", + "ACE_muzzle_mzls_338", + "ACE_muzzle_mzls_93mmg" + }; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author[] = {"commy2"}; diff --git a/addons/flashsuppressors/newclasses.txt b/addons/flashsuppressors/newclasses.txt index 5e9543fa37..7030b80857 100644 --- a/addons/flashsuppressors/newclasses.txt +++ b/addons/flashsuppressors/newclasses.txt @@ -4,3 +4,5 @@ ACE_muzzle_mzls_B ACE_muzzle_mzls_L ACE_muzzle_mzls_smg_01 ACE_muzzle_mzls_smg_02 +ACE_muzzle_mzls_338 +ACE_muzzle_mzls_93mmg diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 3f6cc7b0d2..e312f2d5c1 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -1,66 +1,89 @@  - - - - Flash Suppressor (6.5 mm) - Lángrejtő (6,5 mm) - Mündungsfeuerdämpfer (6,5 mm) - Soppressore di fiamma (6.5mm) - Supressor de Clarão (6,5mm) - Tłumik płomieni (6,5 mm) - Tlumič záblesku (6,5 mm) - Cache-flamme (6,5 mm) - Пламегаситель (6,5 мм) - Supresor (6,5 mm) - - - Flash Suppressor (7.62 mm) - Lángrejtő (7,62 mm) - Mündungsfeuerdämpfer (7,62 mm) - Soppressore di fiamma (7.62mm) - Supressor de Clarão (7,62mm) - Tłumik płomieni (7,62 mm) - Tlumič záblesku (7,62 mm) - Cache-flamme (7,62 mm) - Пламегаситель (7,62 мм) - Supresor (7,62 mm) - - - Flash Suppressor (5.56 mm) - Lángrejtő (5,56 mm) - Mündungsfeuerdämpfer (5,56 mm) - Soppressore di fiamma (5.56mm) - Supressor de Clarão (5,56mm) - Tłumik płomieni (5,56 mm) - Tlumič záblesku (5,56 mm) - Cache-flamme (5,56 mm) - Пламегаситель (5,56 мм) - Supresor (5,56 mm) - - - Flash Suppressor (.45 ACP) - Lángrejtő (.45 ACP) - Mündungsfeuerdämpfer (.45 ACP) - Soppressore di fiamma (.45 ACP) - Supressor de Clarão (.45 ACP) - Tłumik płomieni (.45 ACP) - Tlumič záblesku (.45 ACP) - Cache-flamme (.45 ACP) - Пламегаситель (.45 ACP) - Supresor (.45 ACP) - - - Flash Suppressor (9 mm) - Lángrejtő (9 mm) - Mündungsfeuerdämpfer (9 mm) - Soppressore di fiamma (9 mm) - Supressor de Clarão (9mm) - Tłumik płomieni (9 mm) - Tlumič záblesku (9 mm) - Cache-flamme (9 mm) - Пламегаситель (9 мм) - Supresor (9 mm) - - - + + + Flash Suppressor (6.5 mm) + Lángrejtő (6,5 mm) + Mündungsfeuerdämpfer (6,5 mm) + Soppressore di fiamma (6.5mm) + Supressor de Clarão (6,5mm) + Tłumik płomienia (6,5 mm) + Tlumič plamene (6,5 mm) + Cache-flamme (6,5 mm) + Пламегаситель (6,5 мм) + Supresor (6,5 mm) + + + Flash Suppressor (7.62 mm) + Lángrejtő (7,62 mm) + Mündungsfeuerdämpfer (7,62 mm) + Soppressore di fiamma (7.62mm) + Supressor de Clarão (7,62mm) + Tłumik płomienia (7,62 mm) + Tlumič plamene (7,62 mm) + Cache-flamme (7,62 mm) + Пламегаситель (7,62 мм) + Supresor (7,62 mm) + + + Flash Suppressor (5.56 mm) + Lángrejtő (5,56 mm) + Mündungsfeuerdämpfer (5,56 mm) + Soppressore di fiamma (5.56mm) + Supressor de Clarão (5,56mm) + Tłumik płomienia (5,56 mm) + Tlumič plamene (5,56 mm) + Cache-flamme (5,56 mm) + Пламегаситель (5,56 мм) + Supresor (5,56 mm) + + + Flash Suppressor (.45 ACP) + Lángrejtő (.45 ACP) + Mündungsfeuerdämpfer (.45 ACP) + Soppressore di fiamma (.45 ACP) + Supressor de Clarão (.45 ACP) + Tłumik płomienia (.45 ACP) + Tlumič plamene (.45 ACP) + Cache-flamme (.45 ACP) + Пламегаситель (.45 ACP) + Supresor (.45 ACP) + + + Flash Suppressor (9 mm) + Lángrejtő (9 mm) + Mündungsfeuerdämpfer (9 mm) + Soppressore di fiamma (9 mm) + Supressor de Clarão (9mm) + Tłumik płomienia (9 mm) + Tlumič plamene (9 mm) + Cache-flamme (9 mm) + Пламегаситель (9 мм) + Supresor (9 mm) + + + Flash Suppressor (.338) + Lángrejtő (.338) + Mündungsfeuerdämpfer (.338) + Soppressore di fiamma (.338) + Supressor de Clarão (.338) + Tłumik płomienia (.338) + Tlumič záblesku (.338) + Cache-flamme (.338) + Пламегаситель (.338) + Supresor (.338) + + + Flash Suppressor (9.3 mm) + Lángrejtő (9,3 mm) + Mündungsfeuerdämpfer (9,3 mm) + Soppressore di fiamma (9.3mm) + Supressor de Clarão (9,3mm) + Tłumik płomienia (9,3 mm) + Tlumič záblesku (9,3 mm) + Cache-flamme (9,3 mm) + Пламегаситель (9,3 мм) + Supresor (9,3 mm) + + + \ No newline at end of file diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 8ad76e6ae8..3cfb27dfaf 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -6,99 +6,137 @@ class CfgAmmo { //class ace_arty_105mm_m1_m782_time; //class ace_arty_105mm_m1_m782_prox: ace_arty_105mm_m1_m782_time {}; //class ace_arty_105mm_m1_m782_delay: ace_arty_105mm_m1_m782_prox { - // ACE_FRAG_SKIP = 1; + // GVAR(skip) = 1; //}; class Bo_GBU12_LGB; class Nou_GBU12 : Bo_GBU12_LGB { - ACE_FRAG_CLASSES[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; - ACE_FRAG_METAL = 140000; - ACE_FRAG_CHARGE = 87000; - ACE_FRAG_GURNEY_C = 2320; - ACE_FRAG_GURNEY_K = 1/2; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; + GVAR(metal) = 140000; + GVAR(charge) = 87000; + GVAR(gurney_c) = 2320; + GVAR(gurney_k) = 1/2; sideAirFriction = 0.04; airFriction = 0.04; laserLock = 0; }; - + class GrenadeBase; class Grenade; class GrenadeHand: Grenade { - ACE_FRAG_SKIP = 0; - ACE_FRAG_FORCE = 1; + GVAR(skip) = 0; + GVAR(force) = 1; // This is a good high-drag frag type for grenades. - ACE_FRAG_CLASSES[] = {"ACE_frag_tiny_HD"}; + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; /* These values are based on the M67 Grenade, should be tweaked for individual grenades. */ - ACE_FRAG_METAL = 210; // metal in grams - ACE_FRAG_CHARGE = 185; // explosive in grams - ACE_FRAG_GURNEY_C = 2843; // Gurney velocity constant for explosive type. See: http://en.wikipedia.org/wiki/Gurney_equations - ACE_FRAG_GURNEY_K = 3/5; // Gurney shape factor, in this case a sphere. See: http://en.wikipedia.org/wiki/Gurney_equations + GVAR(metal) = 210; // metal in grams + GVAR(charge) = 185; // explosive in grams + GVAR(gurney_c) = 2843; // Gurney velocity constant for explosive type. See: http://en.wikipedia.org/wiki/Gurney_equations + GVAR(gurney_k) = 3/5; // Gurney shape factor, in this case a sphere. See: http://en.wikipedia.org/wiki/Gurney_equations }; class GrenadeHand_stone: GrenadeHand { - ACE_FRAG_SKIP = 1; + GVAR(skip) = 1; }; class SmokeShell: GrenadeHand { - ACE_FRAG_SKIP = 1; + GVAR(skip) = 1; }; - + class RocketBase; //class R_Hydra_HE: RocketBase { - // ACE_FRAG_SKIP = 1; + // GVAR(skip) = 1; //}; - + //class R_57mm_HE: RocketBase { - // ACE_FRAG_SKIP = 1; + // GVAR(skip) = 1; //}; - + class R_80mm_HE: RocketBase { - ACE_FRAG_SKIP = 1; + GVAR(skip) = 1; }; - + //class R_S8T_AT: RocketBase { - // ACE_FRAG_SKIP = 1; + // GVAR(skip) = 1; //}; - + class BombCore; class Bo_Mk82: BombCore { - ACE_FRAG_CLASSES[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; - ACE_FRAG_METAL = 140000; - ACE_FRAG_CHARGE = 87000; - ACE_FRAG_GURNEY_C = 2320; - ACE_FRAG_GURNEY_K = 1/2; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; + GVAR(metal) = 140000; + GVAR(charge) = 87000; + GVAR(gurney_c) = 2320; + GVAR(gurney_k) = 1/2; }; - - + + class G_40mm_HE: GrenadeBase { - ACE_FRAG_SKIP = 0; - ACE_FRAG_FORCE = 1; + GVAR(skip) = 0; + GVAR(force) = 1; }; - + class ACE_G_40mm_HEDP: G_40mm_HE { + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; + GVAR(metal) = 200; + GVAR(charge) = 45; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 3/5; }; class ACE_G_40mm_HE: ACE_G_40mm_HEDP { + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; + GVAR(metal) = 200; + GVAR(charge) = 32; + GVAR(gurney_c) = 2700; + GVAR(gurney_k) = 3/5; }; class ACE_G_40mm_Practice: ACE_G_40mm_HE { - ACE_FRAG_SKIP = 1; + GVAR(skip) = 1; }; class ACE_G40mm_HE_VOG25P: G_40mm_HE { - ACE_FRAG_SKIP = 0; - ACE_FRAG_FORCE = 1; + GVAR(skip) = 0; + GVAR(force) = 1; }; - + + // curator ammo entries + class Sh_82mm_AMOS; + class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS { + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 800; + GVAR(charge) = 4200; + GVAR(gurney_c) = 2320; + GVAR(gurney_k) = 1/2; + }; + + class Sh_155mm_AMOS; + class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS { + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; + GVAR(metal) = 1950; + GVAR(charge) = 15800; + GVAR(gurney_c) = 2320; + GVAR(gurney_k) = 1/2; + }; + + //class R_230mm_HE; + //class ModuleOrdnanceRocket_F_ammo: R_230mm_HE { + //}; + + //class R_230mm_fly; + //class ModuleOrdnanceRocket_F_subammo: R_230mm_fly { + //}; + // end of curator ammo entries + //class R_SMAW_HEDP; //class R_MEEWS_HEDP : R_SMAW_HEDP { - // ACE_FRAG_FORCE = 1; - // ACE_FRAG_MULTIPLIER = 1.2; + // GVAR(force) = 1; + // GVAR(multiplier) = 1.2; //}; - + //class MissileBase; //class M_Hellfire_AT: MissileBase { - // ACE_FRAG_FORCE = 1; - // ACE_FRAG_MULTIPLIER = 1.75; + // GVAR(force) = 1; + // GVAR(multiplier) = 1.75; //}; - + /* class B_762x51_Ball; class ACE_frag_base: B_762x51_Ball { ////TODO: B_762x45_Ball no longer exists, is this a valid replacement? @@ -253,51 +291,51 @@ class CfgAmmo { bulletFly8[] = {"A3\sounds_f\weapons\hits\bullet_by_8.wav",1,1,35}; bulletFly[] = {"bulletFly1",0.166,"bulletFly2",0.166,"bulletFly3",0.166,"bulletFly4",0.166,"bulletFly5",0.166,"bulletFly6",0.167,"bulletFly7",0.166,"bulletFly8",0.167}; supersonicCrackNear[] = {"A3\sounds_f\weapons\hits\sscrack1.wav",1,1,35}; - supersonicCrackFar[] = {"A3\sounds_f\weapons\hits\sscrack2.wav",1,1,135}; + supersonicCrackFar[] = {"A3\sounds_f\weapons\hits\sscrack2.wav",1,1,135}; }; */ - + class B_65x39_Caseless; class ACE_frag_base: B_65x39_Caseless { timeToLive = 12; typicalSpeed = 1500; deflecting = 65; }; - + class ACE_frag_tiny: ACE_frag_base { hit = 6; airFriction = BASE_DRAG; caliber = 0.75; }; - + class ACE_frag_tiny_HD: ACE_frag_base { hit = 6; airFriction = BASE_DRAG_HD; caliber = 0.75; }; - + class ACE_frag_small: ACE_frag_base { hit = 12; airFriction = BASE_DRAG*0.9; }; - + class ACE_frag_small_HD: ACE_frag_base { hit = 12; airFriction = BASE_DRAG_HD*0.9; }; - + class ACE_frag_medium: ACE_frag_base { hit = 14; airFriction = BASE_DRAG*0.75; caliber = 1.2; }; - + class ACE_frag_medium_HD: ACE_frag_base { hit = 14; airFriction = BASE_DRAG_HD*0.75; caliber = 1.2; }; - + class ACE_frag_large: ACE_frag_base { hit = 28; indirectHit = 2; @@ -305,19 +343,19 @@ class CfgAmmo { airFriction = BASE_DRAG*0.65; caliber = 2; explosive = 0; - + }; - + class ACE_frag_large_HD: ACE_frag_large { hit = 28; indirectHit = 2; indirectHitRange = 0.25; airFriction = BASE_DRAG_HD*0.65; caliber = 2; - - + + }; - + class ACE_frag_huge: ACE_frag_large { hit = 40; indirectHit = 4; @@ -325,7 +363,7 @@ class CfgAmmo { airFriction = BASE_DRAG*0.5; caliber = 2.8; }; - + class ACE_frag_huge_HD: ACE_frag_large { hit = 40; indirectHit = 4; @@ -333,19 +371,19 @@ class CfgAmmo { airFriction = BASE_DRAG_HD*0.5; caliber = 2.8; }; - + class ACE_frag_spall_small: ACE_frag_small { timeToLive = 0.1; }; - + class ACE_frag_spall_medium: ACE_frag_medium { timeToLive = 0.15; }; - + class ACE_frag_spall_large: ACE_frag_large { timeToLive = 0.25; }; - + class ACE_frag_spall_huge: ACE_frag_huge { timeToLive = 0.3; }; diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_pre_Init.sqf index 5b3aa36b18..5fb261cc05 100644 --- a/addons/frag/XEH_pre_Init.sqf +++ b/addons/frag/XEH_pre_Init.sqf @@ -26,6 +26,9 @@ GVAR(tracesStarted) = false; GVAR(traceID) = -1; GVAR(autoTrace) = true; +// TODO setting +GVAR(enabled) = true; + // * Other Shit */ PREP(frag_trace); diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index d4fa788e97..4c1fb71e15 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -4,7 +4,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "A3_Misc_F", "A3_Weapons_F" }; + requiredAddons[] = {"ace_common"}; author[] = {"Nou"}; VERSION_CONFIG; }; diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 761490fa90..cb54cb776b 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -3,11 +3,11 @@ #ifdef DEBUG_MODE_FULL GVAR(traceFrags) = true; #endif -// player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; -private ["_params", "_initialData", "_hpData", "_roundType", "_round", "_object", "_caliber", "_explosive", - "_idh", "_alive", "_exit", "_vm", "_velocity", "_unitDir", "_oldVelocity", "_curVelocity", "_diff", "_polar", - "_pos", "_spallPos", "_i", "_pos1", "_pos2", "_blah", "_data", "_spallPolar", "_c", "_warn", "_m", "_k", - "_gC", "_shellType", "_fragPower", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", +// ACE_player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; +private ["_params", "_initialData", "_hpData", "_roundType", "_round", "_object", "_caliber", "_explosive", + "_idh", "_alive", "_exit", "_vm", "_velocity", "_unitDir", "_oldVelocity", "_curVelocity", "_diff", "_polar", + "_pos", "_spallPos", "_i", "_pos1", "_pos2", "_blah", "_data", "_spallPolar", "_c", "_warn", "_m", "_k", + "_gC", "_shellType", "_fragPower", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", "_fragment"]; @@ -40,21 +40,21 @@ if(!alive _round && (_initialData select 6) == 1) then { }; if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { - // player sideChat format["BBBB"]; + // ACE_player sideChat format["BBBB"]; _exit = false; _vm = 1; _velocity = _initialData select 5; - + _oldVelocity = _velocity call BIS_fnc_magnitude; _curVelocity = (velocity _round) call BIS_fnc_magnitude; - + if(alive _round) then { _diff = _velocity vectorDiff (velocity _round); _polar = _diff call CBA_fnc_vect2polar; - // player sideChat format["polar: %1", _polar]; + // ACE_player sideChat format["polar: %1", _polar]; if((abs(_polar select 1) > 45 || abs(_polar select 2) > 45)) then { if(_caliber < 2.5) then { - // player sideChat format["exit!"]; + // ACE_player sideChat format["exit!"]; _exit = true; } else { _vm = 1-(_curVelocity/_oldVelocity); @@ -78,20 +78,20 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { ]; // _blah = [_object, "FIRE"] intersect [_object worldToModel (ASLtoATL _pos1), _object worldToModel (ASLtoATL _pos2)]; // diag_log text format["b: %1", _blah]; - + // _data = [nil, nil, nil, 1, [[ASLtoATL _pos1, 1], [ASLtoATL _pos2, 1]]]; // NOU_TRACES set[(count NOU_TRACES), _data]; - + if(!lineIntersects [_pos1, _pos2]) exitWith { - // player sideChat format["FOUND!"]; + // ACE_player sideChat format["FOUND!"]; _spallPos = _pos2; }; }; if(!isNil "_spallPos") then { _spallPolar = _velocity call CBA_fnc_vect2polar; - + if(_explosive > 0) then { - // player sideChat format["EXPLOSIVE!"]; + // ACE_player sideChat format["EXPLOSIVE!"]; _warn = false; _c = getNumber(configFile >> "CfgAmmo" >> _roundType >> "ACE_frag_CHARGE"); if(_c == 0) then { _c = 1; _warn = true;}; @@ -109,7 +109,7 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _fragPower = (((_m/_c)+_k)^-(1/2))*_gC; _spallPolar set[0, _fragPower*0.66]; }; - + _fragTypes = [ "ACE_frag_spall_small", "ACE_frag_spall_small", "ACE_frag_spall_small", "ACE_frag_spall_small","ACE_frag_spall_medium","ACE_frag_spall_medium","ACE_frag_spall_medium", @@ -117,7 +117,7 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { "ACE_frag_spall_huge" ]; - + // diag_log text format["SPALL POWER: %1", _spallPolar select 0]; _spread = 15+(random 25); _spallCount = 5+(random 10); @@ -130,14 +130,14 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _dir = _dir % 360; _vel = (_spallPolar select 0)*0.33*_vm; _vel = (_vel-(_vel*0.25))+(random (_vel*0.5)); - + _spallFragVect = [_vel, _dir, _elev] call CBA_fnc_polar2vect; _fragType = round (random ((count _fragTypes)-1)); _fragment = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; _fragment setPosASL _spallPos; _fragment setVelocity _spallFragVect; if(GVAR(traceFrags)) then { - [player, _fragment, [1,0.5,0,1]] call FUNC(addTrack); + [ACE_player, _fragment, [1,0.5,0,1]] call FUNC(addTrack); }; }; _spread = 5+(random 5); @@ -151,14 +151,14 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _dir = _dir % 360; _vel = (_spallPolar select 0)*0.55*_vm; _vel = (_vel-(_vel*0.25))+(random (_vel*0.5)); - + _spallFragVect = [_vel, _dir, _elev] call CBA_fnc_polar2vect; _fragType = round (random ((count _fragTypes)-1)); _fragment = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; _fragment setPosASL _spallPos; _fragment setVelocity _spallFragVect; if(GVAR(traceFrags)) then { - [player, _fragment, [1,0,0,1]] call FUNC(addTrack); + [ACE_player, _fragment, [1,0,0,1]] call FUNC(addTrack); }; }; }; diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index e7d7d09682..85f5f45c0a 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall"]; -if !(isNil QGVAR(enabled) && {GVAR(enabled)}) exitWith {}; +if !(!isNil QGVAR(enabled) && {GVAR(enabled)}) exitWith {}; _gun = _this select 0; _type = _this select 4; @@ -11,10 +11,10 @@ if(_round in GVAR(blackList)) exitWith { }; _doFragTrack = false; -if(_gun == player) then { +if(_gun == ACE_player) then { _doFragTrack = true; } else { - if((gunner _gun) == player) then { + if((gunner _gun) == ACE_player) then { _doFragTrack = true; } else { if(local _gun && {!(isPlayer (gunner _gun))} && {!(isPlayer _gun)}) then { @@ -28,14 +28,18 @@ if(_doSpall) then { GVAR(spallHPData) = []; }; if(GVAR(spallIsTrackingCount) > 5) then { - // player sideChat "LIMT!"; + // ACE_player sideChat "LIMT!"; _doSpall = false; } else { GVAR(spallIsTrackingCount) = GVAR(spallIsTrackingCount) + 1; }; }; -// player sideChat format["c: %1", GVAR(spallIsTrackingCount)]; -[player, _round, [1,0,0,1]] call nou_fnc_addTrack; +// ACE_player sideChat format["c: %1", GVAR(spallIsTrackingCount)]; + +#ifdef DEBUG_MODE_FULL +[ACE_player, _round, [1,0,0,1]] call FUNC(addTrack); +#endif + if(_doFragTrack && alive _round) then { GVAR(trackedObjects) pushBack _round; _spallTrack = []; @@ -44,5 +48,5 @@ if(_doFragTrack && alive _round) then { if(_doSpall) then { [_round, 2, _spallTrack, _spallTrackID] call FUNC(spallTrack); }; - // player sideChat "WTF2"; + // ACE_player sideChat "WTF2"; }; diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index 1b737dc70d..a396de04e8 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -9,14 +9,14 @@ if(!isServer) exitWith { }; // _startTime = diag_tickTime; -private ["_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", - "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", - "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_target", "_boundingBox", - "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", - "_currentCount", "_count", "_vecVar", "_i", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", +private ["_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", + "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", + "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_target", "_boundingBox", + "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", + "_currentCount", "_count", "_vecVar", "_i", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", "_sectorSize", "_sectorOffset", "_randomDir"]; - - + + _round = _this select 0; _lastPos = _this select 1; _lastVel = _this select 2; @@ -108,8 +108,8 @@ _fragArcs = []; _fragArcs set[360, 0]; #ifdef DEBUG_MODE_FULL - player sideChat format["_fragRange: %1", _fragRange]; - player sideChat format["_objects: %1", _objects]; + ACE_player sideChat format["_fragRange: %1", _fragRange]; + ACE_player sideChat format["_objects: %1", _objects]; #endif _doRandom = false; if(_isArmed && (count _objects) > 0) then { @@ -127,16 +127,16 @@ if(_isArmed && (count _objects) > 0) then { _cubic = _bbX*_bbY*_bbZ; if(_cubic > 1) then { _doRandom = true; - + _targetVel = (velocity _target); - - + + _targetPos set[0, (_targetPos select 0)+((_targetVel select 0)*(_distance/_fragPower))]; _targetPos set[1, (_targetPos select 1)+((_targetVel select 1)*(_distance/_fragPower))]; _targetPos set[2, (_targetPos select 2)+_add]; - + _baseVec = _lastPos vectorFromTo _targetPos; - + _dir = floor(_baseVec call CBA_fnc_vectDir); _currentCount = _fragArcs select _dir; if(isNil "_currentCount") then { @@ -153,18 +153,18 @@ if(_isArmed && (count _objects) > 0) then { }; for "_i" from 1 to _count do { _vec = +_baseVec; - + _vec set[0, (_vec select 0)-(_vecVar/2)+(random _vecVar)]; _vec set[1, (_vec select 1)-(_vecVar/2)+(random _vecVar)]; _vec set[2, (_vec select 2)-(_vecVar/2)+(random _vecVar)]; - + _fp = (_fragPower-(random (_fragPowerRandom))); _vel = [ (_vec select 0)*_fp, (_vec select 1)*_fp, (_vec select 2)*_fp ]; - + _fragType = round (random ((count _fragTypes)-1)); _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; // diag_log text format["fp: %1 %2", _fp, typeOf _fragObj]; @@ -176,7 +176,7 @@ if(_isArmed && (count _objects) > 0) then { GVAR(traceFrags) = true; #endif if(GVAR(traceFrags)) then { - [player, _fragObj, [1,0,0,1]] call FUNC(addTrack); + [ACE_player, _fragObj, [1,0,0,1]] call FUNC(addTrack); }; _fragCount = _fragCount + 1; _currentCount = _currentCount + 1; @@ -198,15 +198,15 @@ if(_isArmed && (count _objects) > 0) then { _sectorOffset = 360 * (_i - 1) / (_randomCount max 1); _randomDir = random(_sectorSize); _vec = [cos(_sectorOffset + _randomDir), sin(_sectorOffset + _randomDir), sin(30 - (random 45))]; - + _fp = (_fragPower-(random (_fragPowerRandom))); - + _vel = [ (_vec select 0)*_fp, (_vec select 1)*_fp, (_vec select 2)*_fp ]; - + _fragType = round (random ((count _fragTypes)-1)); _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; _fragObj setPosASL _lastPos; @@ -217,14 +217,14 @@ if(_isArmed && (count _objects) > 0) then { GVAR(traceFrags) = true; #endif if(GVAR(traceFrags)) then { - [player, _fragObj, [1,0.5,0,1]] call FUNC(addTrack); + [ACE_player, _fragObj, [1,0.5,0,1]] call FUNC(addTrack); }; _fragCount = _fragCount + 1; }; }; }; // #ifdef DEBUG_MODE_FULL - // player sideChat format["total frags: %1", GVAR(TOTALFRAGS)]; - // player sideChat format["tracks: %1", (count GVAR(trackedObjects))]; + // ACE_player sideChat format["total frags: %1", GVAR(TOTALFRAGS)]; + // ACE_player sideChat format["tracks: %1", (count GVAR(trackedObjects))]; // #endif // _endTime = diag_tickTime; diff --git a/addons/frag/functions/fnc_trackFragRound.sqf b/addons/frag/functions/fnc_trackFragRound.sqf index 586bbc0166..4358448188 100644 --- a/addons/frag/functions/fnc_trackFragRound.sqf +++ b/addons/frag/functions/fnc_trackFragRound.sqf @@ -15,11 +15,11 @@ if (!alive _round) then { [_this select 1] call cba_fnc_removePerFrameHandler; if(_time != time && {_round in GVAR(trackedObjects)} && {!(_round in GVAR(blackList))}) then { GVAR(trackedObjects) = GVAR(trackedObjects) - [_round]; - _skip = getNumber (configFile >> "CfgAmmo" >> _type >> "ACE_FRAG_SKIP"); + _skip = getNumber (configFile >> "CfgAmmo" >> _type >> QGVAR(skip)); if(_skip == 0) then { _explosive = getNumber (configFile >> "CfgAmmo" >> _type >> "explosive"); _indirectRange = getNumber (configFile >> "CfgAmmo" >> _type >> "indirectHitRange"); - _force = getNumber (configFile >> "CfgAmmo" >> _type >> "ACE_FRAG_FORCE"); + _force = getNumber (configFile >> "CfgAmmo" >> _type >> QGVAR(force)); _fragPower = getNumber(configFile >> "CfgAmmo" >> _type >> "indirecthit")*(sqrt(_indirectRange)); if((_explosive > 0.5 && {_indirectRange >= 4.5} && {_fragPower >= 35}) || {_force == 1} ) then { [QGVAR(frag_eh), _params] call ace_common_fnc_serverEvent; diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index f3562ee5b1..e34ad2b681 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -1,18 +1,16 @@ - - - - - -(Æ) Disable Fragmentation -(Æ) Zakázat fragmentaci granátů -(Æ) Weapons: Keine Schrapnelle -(Æ) Wyłącz głowice fragmentacyjne -(Æ) Выключить разлёт осколков -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation - - - - + + + + + Disable Fragmentation + Keine Schrapnelle + Zakázat fragmentaci granátů + Desactivar fragmentación + Wyłącz fragmentację odłamków + Выключить разлёт осколков + Désactive la fragmentation + Repeszek letiltása + Disattiva la frammentazione + + + diff --git a/addons/gforces/functions/fnc_pfhUpdateGForces.sqf b/addons/gforces/functions/fnc_pfhUpdateGForces.sqf index 01c00511cf..29a4859651 100644 --- a/addons/gforces/functions/fnc_pfhUpdateGForces.sqf +++ b/addons/gforces/functions/fnc_pfhUpdateGForces.sqf @@ -13,6 +13,8 @@ */ #include "script_component.hpp" +private ["_interval", "_player", "_newVel", "_accel", "_currentGForce", "_average", "_sum", "_classCoef", "_suitCoef", "_gBlackOut", "_gRedOut", "_g", "_gBO", "_coef", "_strength"]; + EXPLODE_2_PVT(_this,_params,_pfhId); _interval = time - GVAR(lastUpdateTime); diff --git a/addons/goggles/XEH_postInit.sqf b/addons/goggles/XEH_postInit.sqf index ee62dfdd66..4fcf4fc055 100644 --- a/addons/goggles/XEH_postInit.sqf +++ b/addons/goggles/XEH_postInit.sqf @@ -56,6 +56,7 @@ FUNC(CheckGlasses) = { }; player addEventHandler ["Explosion", { + private "_effects"; if (alive ace_player) then { call FUNC(ApplyDirtEffect); if (GETBROKEN) exitWith {}; diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index efda9b5436..7e8afe4d3d 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -247,7 +247,7 @@ class ACE_Settings { class GVAR(showInThirdPerson) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Goggles_ShowInThirdPerson"; }; }; diff --git a/addons/goggles/functions/fnc_applyDirtEffect.sqf b/addons/goggles/functions/fnc_applyDirtEffect.sqf index 182ffac910..068f7639d2 100644 --- a/addons/goggles/functions/fnc_applyDirtEffect.sqf +++ b/addons/goggles/functions/fnc_applyDirtEffect.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" if (cameraOn != ace_player || {call FUNC(externalCamera)}) exitWith{false}; -private "_dirtImage"; +private ["_dirtImage", "_applied", "_effects"]; _effects = GETGLASSES(ace_player); _effects set [DIRT, true]; SETGLASSES(ace_player,_effects); diff --git a/addons/goggles/functions/fnc_clearGlasses.sqf b/addons/goggles/functions/fnc_clearGlasses.sqf index b70b962940..7fcb05a511 100644 --- a/addons/goggles/functions/fnc_clearGlasses.sqf +++ b/addons/goggles/functions/fnc_clearGlasses.sqf @@ -16,7 +16,8 @@ */ #include "script_component.hpp" -private "_broken"; +private ["_broken", "_effects"]; + _broken = GETBROKEN; _effects = GLASSESDEFAULT; _effects set [BROKEN, _broken]; diff --git a/addons/goggles/functions/fnc_externalCamera.sqf b/addons/goggles/functions/fnc_externalCamera.sqf index 9161804a56..ddc05e6b87 100644 --- a/addons/goggles/functions/fnc_externalCamera.sqf +++ b/addons/goggles/functions/fnc_externalCamera.sqf @@ -16,4 +16,5 @@ #include "script_component.hpp" if (GVAR(showInThirdPerson)) exitWith { false }; -(cameraView == "External") + +(cameraView in ["EXTERNAL", "GROUP"] || {call EFUNC(common,isFeatureCameraActive)}) diff --git a/addons/goggles/functions/fnc_getExplosionIndex.sqf b/addons/goggles/functions/fnc_getExplosionIndex.sqf index 5519bf397c..6e16085b2c 100644 --- a/addons/goggles/functions/fnc_getExplosionIndex.sqf +++ b/addons/goggles/functions/fnc_getExplosionIndex.sqf @@ -9,7 +9,7 @@ * The rating [0-3] * * Example: - * _rating = 0.05 call ace_goggles_fnc_getExplosionIndex; + * 0.05 call ace_goggles_fnc_getExplosionIndex; * * Public: No */ diff --git a/addons/goggles/functions/fnc_isGogglesVisible.sqf b/addons/goggles/functions/fnc_isGogglesVisible.sqf index 9206965995..253a82f0a3 100644 --- a/addons/goggles/functions/fnc_isGogglesVisible.sqf +++ b/addons/goggles/functions/fnc_isGogglesVisible.sqf @@ -14,8 +14,10 @@ * Public: Yes */ #include "script_component.hpp" -private ["_currentGlasses", "_result", "_unit"]; -_unit = _this select 0; + +PARAMS_1(_unit); + +private ["_currentGlasses", "_result", "_position", "_visible"]; _currentGlasses = goggles _unit; _result = false; diff --git a/addons/goggles/stringtable.xml b/addons/goggles/stringtable.xml index 1756442176..ce337760d7 100644 --- a/addons/goggles/stringtable.xml +++ b/addons/goggles/stringtable.xml @@ -1,30 +1,29 @@  - - - - Show Goggle Effects in Third Person - Brilleneffekt in dritter Person anzeigen - Mostrar efectos de las gafas en tercera persona - Zobrazit účinky brýlí v třetí osobě - Effets de lunettes à la 3ème personne - Отображать эффект очков в третьем лице - Szemüveg effekt mutatása külső nézetből - Włącz efekty gogli w trzeciej osobie - Mostrar efeitos de óculos em Terceira Pessoa - Attiva l'effetto degli occhiali in terza persona - - - Wipe Goggles - Brille abwischen - Limpiar gafas - Vyčistit brýle - Essuyer les lunettes - Протереть очки - Szemüveg törlése - Wytrzyj gogle - Limpar Óculos - Pulisci gli occhiali - - - + + + Show Goggle Effects in Third Person + Brilleneffekt in dritter Person anzeigen + Mostrar efectos de las gafas en tercera persona + Zobrazit efekt brýlí v třetí osobě + Effets de lunettes à la 3ème personne + Отображать эффект очков от третьего лица + Szemüveg-effekt mutatása külső nézetből + Włącz efekty gogli w trzeciej osobie + Mostrar efeitos de óculos em Terceira Pessoa + Attiva l'effetto degli occhiali in terza persona + + + Wipe Goggles + Brille abwischen + Limpiar gafas + Vyčistit brýle + Essuyer les lunettes + Протереть очки + Szemüveg letörlése + Wytrzyj gogle + Limpar Óculos + Pulisci gli occhiali + + + \ No newline at end of file diff --git a/addons/grenades/CfgAmmo.hpp b/addons/grenades/CfgAmmo.hpp index 0f86230784..0c74f33940 100644 --- a/addons/grenades/CfgAmmo.hpp +++ b/addons/grenades/CfgAmmo.hpp @@ -82,7 +82,7 @@ class CfgAmmo { SmokeShellSoundHit3[] = {"A3\Sounds_F\weapons\smokeshell\smoke_3",1.25893,1,100}; SmokeShellSoundLoop1[] = {"A3\Sounds_F\weapons\smokeshell\smoke_loop1",0.125893,1,70}; SmokeShellSoundLoop2[] = {"A3\Sounds_F\weapons\smokeshell\smoke_loop2",0.125893,1,70}; - timeToLive = 60; + timeToLive = 6; fuseDistance = 2.3; model = PATHTOF(models\ACE_m84_thrown.p3d); }; diff --git a/addons/grenades/CfgMagazines.hpp b/addons/grenades/CfgMagazines.hpp index 33392f41ee..23eb4cb759 100644 --- a/addons/grenades/CfgMagazines.hpp +++ b/addons/grenades/CfgMagazines.hpp @@ -1,6 +1,7 @@ class CfgMagazines { class HandGrenade; class ACE_HandFlare_Base: HandGrenade { + scope = 1; value = 2; nameSoundWeapon = "smokeshell"; nameSound = "smokeshell"; @@ -8,6 +9,8 @@ class CfgMagazines { initSpeed = 22; }; class ACE_HandFlare_White: ACE_HandFlare_Base { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; ammo = "ACE_F_Hand_White"; displayname = "$STR_ACE_Grenades_M127A1_White_Name"; descriptionshort = "$STR_ACE_Grenades_M127A1_White_Description"; @@ -16,6 +19,8 @@ class CfgMagazines { picture = "\A3\Weapons_F\Data\UI\gear_flare_white_ca.paa"; }; class ACE_HandFlare_Red: ACE_HandFlare_Base { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; ammo = "ACE_F_Hand_Red"; displayname = "$STR_ACE_Grenades_M127A1_Red_Name"; descriptionshort = "$STR_ACE_Grenades_M127A1_Red_Description"; @@ -24,6 +29,8 @@ class CfgMagazines { picture = "\A3\Weapons_F\Data\UI\gear_flare_red_ca.paa"; }; class ACE_HandFlare_Green: ACE_HandFlare_Base { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; ammo = "ACE_F_Hand_Green"; displayname = "$STR_ACE_Grenades_M127A1_Green_Name"; descriptionshort = "$STR_ACE_Grenades_M127A1_Green_Description"; @@ -32,6 +39,8 @@ class CfgMagazines { picture = "\A3\Weapons_F\Data\UI\gear_flare_green_ca.paa"; }; class ACE_HandFlare_Yellow: ACE_HandFlare_Base { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; ammo = "ACE_F_Hand_Yellow"; displayname = "$STR_ACE_Grenades_M127A1_Yellow_Name"; descriptionshort = "$STR_ACE_Grenades_M127A1_Yellow_Description"; @@ -40,20 +49,24 @@ class CfgMagazines { picture = "\A3\Weapons_F\Data\UI\gear_flare_yellow_ca.paa"; }; class ACE_M84: HandGrenade { + author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_G_M84"; displayname = "$STR_ACE_Grenades_M84_Name"; descriptionshort = "$STR_ACE_Grenades_M84_Description"; displayNameShort = "M84"; + mass = 4; model = PATHTOF(models\ACE_m84.p3d); picture = PATHTOF(UI\ACE_m84_x_ca.paa); }; class 3Rnd_UGL_FlareGreen_F; class 6Rnd_GreenSignal_F: 3Rnd_UGL_FlareGreen_F { + author = "$STR_ACE_Common_ACETeam"; ammo = "F_40mm_Green"; initSpeed = 120; }; class 6Rnd_RedSignal_F: 6Rnd_GreenSignal_F { + author = "$STR_ACE_Common_ACETeam"; ammo = "F_40mm_Red"; initSpeed = 120; }; diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index 3868994bee..9be24bcc47 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -15,63 +15,74 @@ */ #include "script_component.hpp" -private ["_affected", "_strength", "_posGrenade", "_posUnit", "_angleGrenade", "_angleView", "_angleDiff", "_light"]; +private ["_affected", "_strength", "_posGrenade", "_posUnit", "_angleGrenade", "_angleView", "_angleDiff", "_light", "_losCount", "_dirToUnitVector", "_eyeDir", "_eyePos"]; PARAMS_1(_grenade); -_affected = _grenade nearEntities ["CAManBase", 50]; +_affected = _grenade nearEntities ["CAManBase", 20]; { if ((local _x) && {alive _x}) then { _strength = 1 - ((_x distance _grenade) min 15) / 15; + TRACE_3("FlashBangEffect Start",_x,(_x distance _grenade),_strength); + if (_x != ACE_player) then { //must be AI - _x disableAI "MOVE"; - _x disableAI "ANIM"; - _x disableAI "AUTOTARGET"; - _x disableAI "TARGET"; - _x disableAI "FSM"; + [_x, true] call EFUNC(common,disableAI); _x setSkill ((skill _x) / 50); [{ PARAMS_1(_unit); - _unit enableAI "MOVE"; - _unit enableAI "ANIM"; - _unit enableAI "AUTOTARGET"; - _unit enableAI "TARGET"; - _unit enableAI "FSM"; + //Make sure we don't enable AI for unconscious units + if (!(_unit getVariable ["ace_isunconscious", false])) then { + [_unit, false] call EFUNC(common,disableAI); + }; _unit setSkill (skill _unit * 50); }, [_x], (7 * _strength), 0.1] call EFUNC(common,waitAndExecute); //0.1 precision is fine for AI } else { //Do effects for player // is there line of sight to the grenade? _posGrenade = getPosASL _grenade; + _eyePos = eyePos ACE_player; //PositionASL _posGrenade set [2, (_posGrenade select 2) + 0.2]; // compensate for grenade glitching into ground - if (lineIntersects [_posGrenade, getPosASL _x, _grenade, _x]) then { + + _losCount = 0; + //Check for line of sight (check 4 points in case grenade is stuck in an object or underground) + { + if (!lineIntersects [(_posGrenade vectorAdd _x), _eyePos, _grenade, ACE_player]) then { + _losCount = _losCount + 1; + }; + } forEach [[0,0,0], [0,0,0.2], [0.1, 0.1, 0.1], [-0.1, -0.1, 0.1]]; + TRACE_1("Line of sight count (out of 4)",_losCount); + if (_losCount <= 1) then { _strength = _strength / 10; }; - // beeeeeeeeeeeeeeeeeeeeeeeeeeeeep - if (isClass (configFile >> "CfgPatches" >> "ACE_Hearing") and _strength > 0) then { + //Add ace_hearing ear ringing sound effect + if ((isClass (configFile >> "CfgPatches" >> "ACE_Hearing")) && {_strength > 0}) then { [_x, 0.5 + (_strength / 2)] call EFUNC(hearing,earRinging); }; // account for people looking away by slightly // reducing the effect for visual effects. - _posUnit = getPos _x; - _posGrenade = getPos _grenade; - _angleGrenade = ((_posGrenade select 0) - (_posUnit select 0)) atan2 ((_posGrenade select 1) - (_posUnit select 1)); - _angleGrenade = (_angleGrenade + 360) % 360; + _eyeDir = (positionCameraToWorld [0,0,1] vectorDiff positionCameraToWorld [0,0,0]); + _dirToUnitVector = _eyePos vectorFromTo _posGrenade; + _angleDiff = acos (_eyeDir vectorDotProduct _dirToUnitVector); - _angleView = (eyeDirection ACE_player select 0) atan2 (eyeDirection ACE_player select 1); - _angleView = (_angleView + 360) % 360; + //From 0-45deg, full effect + if (_angleDiff > 45) then { + _strength = _strength - _strength * ((_angleDiff - 45) / 120); + }; - _angleDiff = 180 - abs (abs (_angleGrenade - _angleView) - 180); - _angleDiff = ((_angleDiff - 45) max 0); + TRACE_1("Final strength for player",_strength); - _strength = _strength - _strength * (_angleDiff / 135); + + //Add ace_medical pain effect: + if ((isClass (configFile >> "CfgPatches" >> "ACE_Medical")) && {_strength > 0.1}) then { + [ACE_player, (_strength / 2)] call EFUNC(medical,adjustPainLevel); + }; // create flash to illuminate environment _light = "#lightpoint" createVehicleLocal (getPos _grenade); diff --git a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf index a83c81e660..377793ca7b 100644 --- a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf +++ b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf @@ -19,7 +19,8 @@ PARAMS_1(_projectile); if (alive _projectile) then { playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400]; - + + private "_affected"; _affected = _projectile nearEntities ["CAManBase", 50]; ["flashbangExplosion", _affected, [_projectile]] call EFUNC(common,targetEvent); }; diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index 1129d44271..c1ff10143d 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -1,246 +1,245 @@ - - + - - - Switch Grenade Mode - Granaten-Modus wechseln - Cambiar modo de granada - Tryb rzutu granatem - Změnit styl hodu granátu - Changer type de lancer de grenade - Сменить режим броска гранаты - Gránátdobás mód váltás - Cambia tipo di granata - Alternar Modo de Granada - - - Normal Throw - Normaler Wurf - Lanzamiento normal - Normalny rzut - Normální - Lancer Normal - Нормальный бросок - Normál dobás - Lancio normale - Arremesso Normal - - - High Throw - Hoher Wurf - Lanzamiento alto - Rzut lobem - Vysoko - Lancer Haut - Высокий бросок - Magas dobás - Lancio verso l'alto - Arremesso Alto - - - Precise Throw - Präziser Wurf - Lanzamiento preciso - Precyzyjny rzut - Přesně - Lancer Précis - Точный бросок - Pontos dobás - Lancio preciso - Arremesso Preciso - - - Roll Grenade - Granate rollen - Rodar granada - Po ziemi - Po zemi - Lancer Roulé - Катить гранату - Gurítás - Fai rotolare la granata - Rolar Granada - - - Drop Grenade - Granate fallenlassen - Soltar granada - Upuść granat - Upustit granát - Lâcher la grenade - Бросить себе под ноги - Ejtés - Lascia la granata - Largar Granada - - - M84 Stun Grenade - M84 Blendgranate - Granada aturdidora M84 - M84 Grenade Incapacitante - Granat hukowy M84 - M84 Omračující granát - M84 светозвуковая граната - M84 Villanógránát - Granata Stordente M84 - M84 granada de atordoamento - - - Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. - Verursacht temporäre Blind- und Taubheit. - Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. - Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. - Granat ogłusza, nie zabijając przeciwnika. Detonacja daje efekt oślepiającego błysku i głośnego huku. - Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. - Граната XM84 (M84) - не летального действия, и предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. - Eldobás után felrobban és éles hang, valamint fényhatással zavarja össze a környezetében tartózkodókat. - Anche conosciuta come flashbang. Causa accecamento immediato, sensazioni di sposatezza, mancanza d'equilibrio e disturbi al timpano. - Um tipo de granada não-letal destinado a confundir, desorientar e distrair uma potencial ameaça. - - - M127A1 Hand Held Signal (White) - M127A1 Leuchtmittel (Weiß) - M127A1 Světlice (Bílá) - M127A1 Jelzőrakéta (Fehér) - M127A1 Bengala (Bianco) - Flara ręczna sygnałowa M127A1 (biała) - M127A1 Sinalizador (Branco) - M127A1 Фальшфейер (Белый) - Bengala M127A1 (Blanca) - M127A1 Feux à main (Blanc) - - - M127A1 Hand Held Signal (Red) - M127A1 Leuchtmittel (Rot) - M127A1 Světlice (Červená) - M127A1 Jelzőrakéta (Piros) - M127A1 Bengala (Rosso) - Flara ręczna sygnałowa M127A1 (czerwona) - M127A1 Sinalizador (Vermelho) - M127A1 Фальшфейер (Красный) - Bengala M127A1 (Roja) - M127A1 Feux à main (Rouge) - - - M127A1 Hand Held Signal (Green) - M127A1 Leuchtmittel (Grün) - M127A1 Světlice (Zelená) - M127A1 Jelzőrakéta (Zöld) - M127A1 Bengala (Verde) - Flara ręczna sygnałowa M127A1 (zielona) - M127A1 Sinalizador (Verde) - M127A1 Фальшфейер (Зелёный) - Bengala M127A1 (Verde) - M127A1 Feux à main (Vert) - - - M127A1 Hand Held Signal (Yellow) - M127A1 Leuchtmittel (Gelb) - M127A1 Světlice (Žlutá) - M127A1 Jelzőrakéta (Sárga) - M127A1 Bengala (Giallo) - Flara ręczna sygnałowa M127A1 (żółta) - M127A1 Sinalizador (Amarelo) - M127A1 Фальшфейер (Жёлтые) - Bengala M127A1 (Amarilla) - M127A1 Feux à main (Jaune) - - - White Hand Flare - Weiße Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Bílá) - Jelzőrakéta (Fehér) - Bengala (Bianco) - Flara ręczna (biała) - Sinalizador (Branco) - Фальшфейер (Белый) - Bengala (Blanca) - Feux à main (Blanc) - - - Red Hand Flare - Rote Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Červená) - Jelzőrakéta (Piros) - Bengala (Rosso) - Flara ręczna (czerwona) - Sinalizador (Vermelho) - Фальшфейер (Красный) - Bengala (Roja) - Feux à main (Rouge) - - - Green Hand Flare - Grüne Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Zelená) - Jelzőrakéta (Zöld) - Bengala (Verde) - Flara ręczna (zielona) - Sinalizador (Verde) - Фальшфейер (Зелёный) - Bengala (Verde) - Feux à main (Vert) - - - Yellow Hand Flare - Gelbe Leuchtkugel, wird wie eine Granate geworfen. - Světlice Žlutá - Jelzőrakéta (Sárga) - Bengala (Giallo) - Flara ręczna (żółta) - Sinalizador (Amarelo) - Фальшфейер (Жёлтые) - Bengala (Amarilla) - Feux à main (Jaune) - - - M127A1 (White) - M127A1 (Weiß) - M127A1 (Bílá) - M127A1 (Blanc) - M127A1 (Fehér) - M127A1 (Bianco) - M127A1 (biała) - M127A1 (Branco) - M127A1 (Белый) - M127A1 (Blanca) - - - M127A1 (Red) - M127A1 (Rot) - M127A1 (Červená) - M127A1 (Rouge) - M127A1 (Piros) - M127A1 (Rosso) - M127A1 (czerwona) - M127A1 (Vermelho) - M127A1 (Красный) - M127A1 (Roja) - - - M127A1 (Green) - M127A1 (Grün) - M127A1 (Zelená) - M127A1 (Vert) - M127A1 (Zöld) - M127A1 (Verde) - M127A1 (zielona) - M127A1 (Verde) - M127A1 (Зелёный) - M127A1 (Verde) - - - M127A1 (Yellow) - M127A1 (Gelb) - M127A1 (Žlutá) - M127A1 (Jaune) - M127A1 (Sárga) - M127A1 (Giallo) - M127A1 (żółta) - M127A1 (Amarelo) - M127A1 (Жёлтые) - M127A1 (Amarilla) - - - + + + Switch Grenade Mode + Granaten-Modus wechseln + Cambiar modo de granada + Przełącz sposób rzutu granatem + Změnit styl hodu granátu + Changer type de lancer de grenade + Сменить режим броска гранаты + Gránátkezelési mód váltása + Cambia tipo di granata + Alternar Modo de Granada + + + Normal Throw + Normaler Wurf + Lanzamiento normal + Normalny rzut + Normální hod + Lancer normal + Нормальный бросок + Normál dobás + Lancio normale + Arremesso Normal + + + High Throw + Hoher Wurf + Lanzamiento alto + Wysoki rzut + Vysoký hod + Lancer haut + Высокий бросок + Magas dobás + Lancio verso l'alto + Arremesso Alto + + + Precise Throw + Präziser Wurf + Lanzamiento preciso + Precyzyjny rzut + Přesný hod + Lancer précis + Точный бросок + Pontos dobás + Lancio preciso + Arremesso Preciso + + + Roll Grenade + Granate rollen + Rodar granada + Po ziemi + Po zemi + Lancer roulé + Катить гранату + Gránát gurítása + Fai rotolare la granata + Rolar Granada + + + Drop Grenade + Granate fallenlassen + Soltar granada + Upuść granat + Upustit granát + Lâcher la grenade + Бросить себе под ноги + Gránát ejtése + Lascia la granata + Largar Granada + + + M84 Stun Grenade + M84 Blendgranate + Granada aturdidora M84 + M84 Grenade incapacitante + Granat hukowy M84 + Omračující granát M84 + M84 светозвуковая граната + M84 Kábítógránát + Granata Stordente M84 + M84 granada de atordoamento + + + Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. + Verursacht temporäre Blind- und Taubheit. + Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. + Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. + Znany też jako flashbang. Powoduje natychmiastową tymczasową ślepotę, głuchotę, dzwonienie w uszach i inne zaburzenia ucha wewnętrznego. + Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. + XM84 (M84) - граната нелетального действия, и предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. + Villanógránát néven is ismert. Azonnali villanási vakságot, süketséget, fülzúgást, és belső füli zavart okoz. + Anche conosciuta come flashbang. Causa accecamento immediato, sensazioni di sposatezza, mancanza d'equilibrio e disturbi al timpano. + Um tipo de granada não-letal destinado a confundir, desorientar e distrair uma potencial ameaça. + + + M127A1 Hand Held Signal (White) + M127A1 Leuchtmittel (Weiß) + Světlice M127A1 (Bílá) + M127A1 Kézi Jelzőrakéta (Fehér) + M127A1 Bengala (Bianco) + Flara ręczna sygnałowa M127A1 (biała) + M127A1 Sinalizador (Branco) + M127A1 Фальшфейер (Белый) + Bengala M127A1 (Blanca) + M127A1 Feux à main (Blanc) + + + M127A1 Hand Held Signal (Red) + M127A1 Leuchtmittel (Rot) + Světlice M127A1 (Červená) + M127A1 Kézi Jelzőrakéta (Piros) + M127A1 Bengala (Rosso) + Flara ręczna sygnałowa M127A1 (czerwona) + M127A1 Sinalizador (Vermelho) + M127A1 Фальшфейер (Красный) + Bengala M127A1 (Roja) + M127A1 Feux à main (Rouge) + + + M127A1 Hand Held Signal (Green) + M127A1 Leuchtmittel (Grün) + Světlice M127A1 (Zelená) + M127A1 Kézi Jelzőrakéta (Zöld) + M127A1 Bengala (Verde) + Flara ręczna sygnałowa M127A1 (zielona) + M127A1 Sinalizador (Verde) + M127A1 Фальшфейер (Зелёный) + Bengala M127A1 (Verde) + M127A1 Feux à main (Vert) + + + M127A1 Hand Held Signal (Yellow) + M127A1 Leuchtmittel (Gelb) + Světlice M127A1 (Žlutá) + M127A1 Kézi Jelzőrakéta (Sárga) + M127A1 Bengala (Giallo) + Flara ręczna sygnałowa M127A1 (żółta) + M127A1 Sinalizador (Amarelo) + M127A1 Фальшфейер (Жёлтые) + Bengala M127A1 (Amarilla) + M127A1 Feux à main (Jaune) + + + White Hand Flare + Weiße Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Bílá) + Kézi jelzőrakéta, Fehér színű + Bengala (Bianco) + Flara ręczna (biała) + Sinalizador (Branco) + Фальшфейер (Белый) + Bengala (Blanca) + Feux à main (Blanc) + + + Red Hand Flare + Rote Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Červená) + Kézi jelzőrakéta, Piros színű + Bengala (Rosso) + Flara ręczna (czerwona) + Sinalizador (Vermelho) + Фальшфейер (Красный) + Bengala (Roja) + Feux à main (Rouge) + + + Green Hand Flare + Grüne Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Zelená) + Kézi jelzőrakéta, Zöld színű + Bengala (Verde) + Flara ręczna (zielona) + Sinalizador (Verde) + Фальшфейер (Зелёный) + Bengala (Verde) + Feux à main (Vert) + + + Yellow Hand Flare + Gelbe Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Žlutá) + Kézi jelzőrakéta, Sárga színű + Bengala (Giallo) + Flara ręczna (żółta) + Sinalizador (Amarelo) + Фальшфейер (Жёлтые) + Bengala (Amarilla) + Feux à main (Jaune) + + + M127A1 (White) + M127A1 (Weiß) + M127A1 (Bílá) + M127A1 (Blanc) + M127A1 (Fehér) + M127A1 (Bianco) + M127A1 (biała) + M127A1 (Branco) + M127A1 (Белый) + M127A1 (Blanca) + + + M127A1 (Red) + M127A1 (Rot) + M127A1 (Červená) + M127A1 (Rouge) + M127A1 (Piros) + M127A1 (Rosso) + M127A1 (czerwona) + M127A1 (Vermelho) + M127A1 (Красный) + M127A1 (Roja) + + + M127A1 (Green) + M127A1 (Grün) + M127A1 (Zelená) + M127A1 (Vert) + M127A1 (Zöld) + M127A1 (Verde) + M127A1 (zielona) + M127A1 (Verde) + M127A1 (Зелёный) + M127A1 (Verde) + + + M127A1 (Yellow) + M127A1 (Gelb) + M127A1 (Žlutá) + M127A1 (Jaune) + M127A1 (Sárga) + M127A1 (Giallo) + M127A1 (żółta) + M127A1 (Amarelo) + M127A1 (Жёлтые) + M127A1 (Amarilla) + + + \ No newline at end of file diff --git a/addons/hearing/CfgEventHandlers.hpp b/addons/hearing/CfgEventHandlers.hpp index 94b1ab0703..ce968ed2ca 100644 --- a/addons/hearing/CfgEventHandlers.hpp +++ b/addons/hearing/CfgEventHandlers.hpp @@ -1,4 +1,3 @@ - class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit) ); @@ -20,9 +19,9 @@ class Extended_Init_EventHandlers { }; class Extended_FiredNear_EventHandlers { - class CAManBase { + class AllVehicles { class GVAR(FiredNear) { - clientFiredNear = QUOTE( if (GVAR(enableCombatDeafness) && {_this select 0 == ACE_player}) then {_this call FUNC(firedNear)}; ); + clientFiredNear = QUOTE(_this call FUNC(firedNear);); }; }; }; diff --git a/addons/hearing/XEH_postInit.sqf b/addons/hearing/XEH_postInit.sqf index adb7827ce7..7b584f8397 100644 --- a/addons/hearing/XEH_postInit.sqf +++ b/addons/hearing/XEH_postInit.sqf @@ -1,7 +1,14 @@ #include "script_component.hpp" +if (!hasInterface) exitWith {}; + GVAR(currentDeafness) = 0; GVAR(newStrength) = 0; +GVAR(playerVehAttenuation) = 1; // Spawn volume updating process [FUNC(updateVolume), 0.1, [] ] call CBA_fnc_addPerFrameHandler; + +//Update veh attunation when player veh changes +["playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler); +["playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler); diff --git a/addons/hearing/XEH_preInit.sqf b/addons/hearing/XEH_preInit.sqf index 0785a32aff..16b9f35f80 100644 --- a/addons/hearing/XEH_preInit.sqf +++ b/addons/hearing/XEH_preInit.sqf @@ -10,6 +10,7 @@ PREP(hasEarPlugsIn); PREP(moduleHearing); PREP(putInEarPlugs); PREP(removeEarPlugs); +PREP(updatePlayerVehAttenuation); PREP(updateVolume); ADDON = true; diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index b822204484..0813d0648e 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {"ACE_EarPlugs"}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"KoffeinFlummi", "esteldunedain", "HopeJ", "commy2"}; authorUrl = "https://github.com/KoffeinFlummi/"; VERSION_CONFIG; @@ -38,7 +38,7 @@ class ACE_Settings { class GVAR(DisableEarRinging) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Hearing_DisableEarRinging"; }; }; diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf index c66361801e..6a603c3c3a 100644 --- a/addons/hearing/functions/fnc_firedNear.sqf +++ b/addons/hearing/functions/fnc_firedNear.sqf @@ -21,18 +21,19 @@ */ #include "script_component.hpp" -private ["_unit", "_firer", "_distance", "_weapon", "_muzzle", "_mode", "_ammo", "_silencer", "_audibleFireCoef", "_loudness", "_strength"]; +private ["_silencer", "_audibleFireCoef", "_loudness", "_strength", "_vehAttenuation"]; -_unit = _this select 0; -_firer = _this select 1; -_distance = (_this select 2) max 1; -_weapon = _this select 3; -_muzzle = _this select 4; -_mode = _this select 5; -_ammo = _this select 6; +PARAMS_7(_object,_firer,_distance,_weapon,_muzzle,_mode,_ammo); +//Only run if combatDeafness enabled: +if (!GVAR(enableCombatDeafness)) exitWith {}; +//Only run if firedNear object is player or player's vehicle: +if ((ACE_player != _object) && {(vehicle ACE_player) != _object}) exitWith {}; if (_weapon in ["Throw", "Put"]) exitWith {}; -if (_unit != vehicle _unit && {!([_unit] call EFUNC(common,isTurnedOut))}) exitWith {}; + +_vehAttenuation = if ((ACE_player == (vehicle ACE_player)) || {isTurnedOut ACE_player}) then {1} else {GVAR(playerVehAttenuation)}; + +if (_distance < 1) then {_distance = 1;}; _silencer = switch (_weapon) do { case (primaryWeapon _firer) : {(primaryWeaponItems _firer) select 0}; @@ -42,18 +43,15 @@ _silencer = switch (_weapon) do { }; _audibleFireCoef = 1; -//_audibleFireTimeCoef = 1; if (_silencer != "") then { _audibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire"); - //_audibleFireTimeCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFireTime"); }; _audibleFire = getNumber (configFile >> "CfgAmmo" >> _ammo >> "audibleFire"); -//_audibleFireTime = getNumber (configFile >> "CfgAmmo" >> _ammo >> "audibleFireTime"); _loudness = _audibleFireCoef * _audibleFire / 64; -_strength = _loudness - (_loudness/50 * _distance); // linear drop off +_strength = _vehAttenuation * (_loudness - (_loudness/50 * _distance)); // linear drop off if (_strength < 0.01) exitWith {}; -[{_this call FUNC(earRinging)}, [_unit, _strength], 0.2, 0] call EFUNC(common,waitAndExecute); +[{_this call FUNC(earRinging)}, [ACE_player, _strength], 0.2, 0] call EFUNC(common,waitAndExecute); diff --git a/addons/hearing/functions/fnc_moduleHearing.sqf b/addons/hearing/functions/fnc_moduleHearing.sqf index d7b43e0092..a560a712a6 100644 --- a/addons/hearing/functions/fnc_moduleHearing.sqf +++ b/addons/hearing/functions/fnc_moduleHearing.sqf @@ -10,8 +10,7 @@ */ #include "script_component.hpp" -_logic = _this select 0; -_activated = _this select 2; +PARAMS_3(_logic,_units,_activated); if !(_activated) exitWith {}; diff --git a/addons/hearing/functions/fnc_updatePlayerVehAttenuation.sqf b/addons/hearing/functions/fnc_updatePlayerVehAttenuation.sqf new file mode 100644 index 0000000000..a7285d5e2b --- /dev/null +++ b/addons/hearing/functions/fnc_updatePlayerVehAttenuation.sqf @@ -0,0 +1,57 @@ +/* + * Author: PabstMirror + * Gets the sound attenuation of a player to the outside. + * + * Arguments: + * None + * + * Return Value: + * Ammount that unit can hear outside + * + * Example: + * [] call ace_hearing_fnc_updatePlayerVehAttenuation + * + * Public: No + */ +#include "script_component.hpp" + +_vehicle = vehicle ACE_player; + +if (isNull _vehicle) exitWith {}; + +_newAttenuation = 1; +if (ACE_player != _vehicle) then { + _effectType = ""; + _turretPath = [ACE_player] call EFUNC(common,getTurretIndex); + _effectType = getText (configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "attenuationEffectType"); + + if (!(_turretPath isEqualTo [])) then { + _turretConfig = [(configFile >> "CfgVehicles" >> (typeOf _vehicle)), _turretPath] call EFUNC(common,getTurretConfigPath); + + if ((getNumber (_turretConfig >> "disableSoundAttenuation")) == 1) then { + _effectType = ""; + } else { + if (isText (_turretConfig >> "soundAttenuationTurret")) then { + _effectType = getText (_turretConfig >> "soundAttenuationTurret"); + }; + }; + }; + + _newAttenuation = switch (true) do { + case (_effectType == ""): {1}; + case (_effectType == "CarAttenuation"): {0.5}; + case (_effectType == "RHS_CarAttenuation"): {0.5}; + case (_effectType == "OpenCarAttenuation"): {1}; + case (_effectType == "TankAttenuation"): {0.1}; + case (_effectType == "HeliAttenuation"): {0.3}; + case (_effectType == "OpenHeliAttenuation"): {0.9}; + case (_effectType == "SemiOpenHeliAttenuation"): {0.6}; + case (_effectType == "HeliAttenuationGunner"): {0.85}; + case (_effectType == "HeliAttenuationRamp"): {0.85}; + default {1}; + }; +}; + +TRACE_2("New vehicle attenuation",_vehicle,_newAttenuation); + +GVAR(playerVehAttenuation) = _newAttenuation; diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf index 1aa38848a5..a0ca6af457 100644 --- a/addons/hearing/functions/fnc_updateVolume.sqf +++ b/addons/hearing/functions/fnc_updateVolume.sqf @@ -18,6 +18,8 @@ #define STRENGHTODEAFNESS 3 #define MAXDEAFNESS 1.1 +private ["_recoverRate", "_volume"]; + // Exit if combat deafness is disabled if !(GVAR(enableCombatDeafness)) exitWith {}; @@ -56,7 +58,7 @@ if (!(missionNameSpace getVariable [QGVAR(disableVolumeUpdate), false])) then { 0.1 fadeSound _volume; 0.1 fadeSpeech _volume; ACE_player setVariable ["tf_globalVolume", _volume]; - if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume] call acre_api_fnc_setGlobalVolume;}; + if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume^(0.33)] call acre_api_fnc_setGlobalVolume;}; }; //hintSilent format ["GVAR(currentDeafness), _Volume = %1, %2", GVAR(currentDeafness), _volume]; diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 7f6110915a..9bc9063c8d 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -1,106 +1,112 @@  - - - - Ear Plugs - Ohrenstöpsel - Tapones para los oídos - Stopery do uszu - Špunty - Беруши - Bouchons Anti-Bruits - Füldugó - Protetor auricular - Tappi auricolari - - - Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing. - Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten. - Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición. - Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. - Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní. - Беруши позволяют избежать потери слуха при близкой громкой стрельбе. - Bouchons Anti-Bruits pour la prévention des traumatismes sonores aigus. - Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást. - Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. - Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. - - - Earplugs in - Ohrenstöpsel drinnen - Poner tapones - Załóż stopery - Dát špunty do uší - Беруши надеты - Bouchons mis - Füldugó berakva - Protetores colocados - Indossa i tappi auricolari - - - Earplugs out - Ohrenstöpsel raus - Quitar tapones - Zdejmij stopery - Vyndat špunty z uší - Беруши сняты - Bouchons enlevés - Füldugó kivéve - Protetores retirados - Levati i tappi auricolari - - - Earplugs in - Ohrenstöpsel drinnen - Tapones puestos - Stopery założone - Špunty v uších - Беруши надеты - Bouchons mis - Füldugó berakva - Protetores colocados - Indossa i tappi auricolari - - - Earplugs out - Ohrenstöpsel raus - Tapones quitados - Stopery zdjęte - Špunty venku z uší - Беруши сняты - Bouchons enlevés - Füldugó kivéve - Protetores retirados - Levati i tappi auricolari - - - You have no ear plugs - Keine Ohrenstöpsel im Inventar - No tienes tapones para los oídos - Nie masz stoperów - Nemáš žádné špunty - У вас нет беруш - Vous n'avez pas de Bouchons Anti-Bruits - Nincs füldugód - Você não possui protetores auriculares - Non hai i tappi auricolari - - - No inventory space - Kein Platz im Inventar - Sin espacio en el inventario - Brak miejsca w ekwipunku - Pas de place dans l'inventaire - Není místo v inventáři - Non hai abbastanza spazio - Não há espaço no inventário - Nincs több hely - Нет места в инвентаре - - - Disable ear ringing - Desactivar zumbido de oídos - - - \ No newline at end of file + + + Ear Plugs + Ohrenstöpsel + Tapones para los oídos + Stopery do uszu + Špunty + Беруши + Bouchons Anti-Bruits + Füldugó + Protetor auricular + Tappi auricolari + + + Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing. + Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten ohne Gehörschäden davonzutragen.. + Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición. + Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. + Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní. + Беруши позволяют носителю находиться возле громкого вооружения без потери слуха. + Bouchons Anti-Bruits pour la prévention des traumatismes sonores aigus. + Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást. + Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. + Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. + + + Earplugs in + Ohrenstöpsel rein + Poner tapones + Włóż stopery + Dát špunty do uší + Надеть беруши + Bouchons mis + Füldugó berakva + Protetores colocados + Indossa i tappi auricolari + + + Earplugs out + Ohrenstöpsel raus + Quitar tapones + Wyjmij stopery + Vyndat špunty z uší + Снять беруши + Bouchons enlevés + Füldugó kivéve + Protetores retirados + Levati i tappi auricolari + + + Earplugs in + Ohrenstöpsel drinnen + Tapones puestos + Stopery włożone + Špunty v uších + Беруши надеты + Bouchons mis + Füldugó berakva + Protetores colocados + Indossa i tappi auricolari + + + Earplugs out + Ohrenstöpsel raus + Tapones quitados + Stopery wyjęte + Špunty venku z uší + Беруши сняты + Bouchons enlevés + Füldugó kivéve + Protetores retirados + Levati i tappi auricolari + + + You have no ear plugs + Keine Ohrenstöpsel im Inventar + No tienes tapones para los oídos + Nie masz stoperów + Nemáš žádné špunty + У вас нет беруш + Vous n'avez pas de bouchons anti-bruits + Nincsen füldugód + Você não possui protetores auriculares + Non hai i tappi auricolari + + + No inventory space + Kein Platz im Inventar + Sin espacio en el inventario + Brak miejsca w ekwipunku + Pas de place dans l'inventaire + Není místo v inventáři + Non hai abbastanza spazio + Não há espaço no inventário + Nincs több hely + Нет места в инвентаре + + + Disable ear ringing + Désactiver le bourdonnement + Desactivar zumbido de oídos + Отключить эффект баротравмы + Knalltrauma deaktivieren + Vypnout pískání v uších + Wyłącz dzwonienie w uszach + Fülcsengés letiltása + Disabilita il ronzio + + + diff --git a/addons/hitreactions/functions/fnc_fallDown.sqf b/addons/hitreactions/functions/fnc_fallDown.sqf index ea368b79af..fdad970950 100644 --- a/addons/hitreactions/functions/fnc_fallDown.sqf +++ b/addons/hitreactions/functions/fnc_fallDown.sqf @@ -52,18 +52,26 @@ _velocity = vectorMagnitude velocity _unit; if (_velocity < 2) exitWith {}; // get correct animation by weapon -private "_anim"; +private ["_isPlayer", "_isRunning", "_anim"]; + +_isPlayer = [_unit] call EFUNC(common,isPlayer); +_isRunning = _velocity > 4; + _anim = switch (currentWeapon _unit) do { case (""): {"AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon"}; case (primaryWeapon _unit): { + if !(_isPlayer) exitWith {"AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon"}; + [ - ["AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon_2", "AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon"] select (_velocity > 4), - ["AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon_2", "AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon"] select (_velocity > 4), + ["AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon_2", "AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon"] select _isRunning, + ["AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon_2", "AmovPercMsprSlowWrfldf_AmovPpneMstpSrasWrflDnon"] select _isRunning, "AmovPercMstpSrasWrflDnon_AadjPpneMstpSrasWrflDleft", "AmovPercMstpSrasWrflDnon_AadjPpneMstpSrasWrflDright" ] select floor random 4; }; case (handgunWeapon _unit): { + if !(_isPlayer) exitWith {"AmovPercMsprSlowWpstDf_AmovPpneMstpSrasWpstDnon"}; + [ "AmovPercMsprSlowWpstDf_AmovPpneMstpSrasWpstDnon", "AmovPercMsprSlowWpstDf_AmovPpneMstpSrasWpstDnon", diff --git a/addons/interact_menu/CfgActions.hpp b/addons/interact_menu/CfgActions.hpp new file mode 100644 index 0000000000..79af4f09b2 --- /dev/null +++ b/addons/interact_menu/CfgActions.hpp @@ -0,0 +1,7 @@ + +class CfgActions { + class None; + class OpenBag: None { + showWindow = 0; + }; +}; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index bcb2d5aa8e..faabf773f4 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -3,6 +3,17 @@ if (!hasInterface) exitWith {}; +GVAR(ParsedTextCached) = []; + +//Setup text/shadow color matrix +[] call FUNC(setupTextColors); +["SettingChanged", { + PARAMS_2(_name,_value); + if ((_name == QGVAR(colorTextMax)) || {_name == QGVAR(colorTextMin)} || {_name == QGVAR(colorShadowMax)} || {_name == QGVAR(colorShadowMin)}) then { + [] call FUNC(setupTextColors); + }; +}] call EFUNC(common,addEventhandler); + // Install the render EH on the main display addMissionEventHandler ["Draw3D", DFUNC(render)]; @@ -50,3 +61,6 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; GVAR(actionSelected) = false; [] call FUNC(keyUp); }] call EFUNC(common,addEventhandler); + +// disable firing while the interact menu is is is opened +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventHandler); diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index c15f8d388d..7e86646b79 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -8,7 +8,9 @@ PREP(compileMenu); PREP(compileMenuSelfAction); PREP(collectActiveActionTree); PREP(createAction); +PREP(ctrlSetParsedTextCached); PREP(findActionNode); +PREP(handlePlayerChanged); PREP(isSubPath); PREP(keyDown); PREP(keyUp); @@ -20,6 +22,7 @@ PREP(renderBaseMenu); PREP(renderIcon); PREP(renderMenu); PREP(renderSelector); +PREP(setupTextColors); PREP(splitPath); GVAR(keyDown) = false; @@ -48,4 +51,7 @@ GVAR(expandedTime) = diag_tickTime; GVAR(iconCtrls) = []; GVAR(iconCount) = 0; +GVAR(foundActions) = []; +GVAR(lastTimeSearchedActions) = -1000; + ADDON = true; diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 9f1036dab9..ad58d8433e 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -14,13 +14,15 @@ class CfgPatches { #include "CfgEventHandlers.hpp" +#include "CfgActions.hpp" + #include "CursorMenus.hpp" class ACE_Settings { class GVAR(AlwaysUseCursorSelfInteraction) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"; }; class GVAR(cursorKeepCentered) { @@ -30,4 +32,44 @@ class ACE_Settings { displayName = "$STR_ACE_Interact_cursorKeepCentered"; description = "$STR_ACE_Interact_cursorKeepCenteredDescription"; }; + class GVAR(AlwaysUseCursorInteraction) { + value = 0; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorInteraction"; + }; + class GVAR(UseListMenu) { + value = 0; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_UseListMenu"; + }; + class GVAR(colorTextMax) { + value[] = {1, 1, 1, 1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_ColorTextMax"; + }; + class GVAR(colorTextMin) { + value[] = {1, 1, 1, 0.25}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_ColorTextMin"; + }; + class GVAR(colorShadowMax) { + value[] = {0, 0, 0, 1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_ColorShadowMax"; + }; + class GVAR(colorShadowMin) { + value[] = {0, 0, 0, 0.25}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_ColorShadowMin"; + }; +}; + +class ACE_Extensions { + extensions[] += {"ace_breakLine"}; }; diff --git a/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf b/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf index 582fe750a8..6abcebf47e 100644 --- a/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf +++ b/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf @@ -22,6 +22,13 @@ private ["_target","_player","_fullPath","_activeChildren","_dynamicChildren","_ _target = _object; _player = ACE_player; +// Check if the function should be modified first +if !((_origActionData select 10) isEqualTo {}) then { + // It should, so make a copy and pass it to the modifierFunction + _origActionData = +_origActionData; + [_target, ACE_player, _origActionData select 6, _origActionData] call (_origActionData select 10); +}; + // Return nothing if the action itself is not active if !([_target, ACE_player, _origActionData select 6] call (_origActionData select 4)) exitWith { [] diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index a0b9b31dd4..bd2023a90d 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -27,7 +27,7 @@ if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; private "_recurseFnc"; _recurseFnc = { private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", - "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren"]; + "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren", "_modifierFunction"]; EXPLODE_1_PVT(_this,_actionsCfg); _actions = []; @@ -38,17 +38,27 @@ _recurseFnc = { _distance = getNumber (_entryCfg >> "distance"); _icon = getText (_entryCfg >> "icon"); _statement = compile (getText (_entryCfg >> "statement")); - _selection = getText (_entryCfg >> "selection"); - if (_selection == "") then { - _selection = [0,0,0]; + + _selection = ""; + if (isArray ( _entryCfg >> "selection" )) then { + _selection = getArray ( _entryCfg >> "selection" ) + } else { + _selection = getText (_entryCfg >> "selection"); + if (_selection == "") then { + _selection = [0,0,0]; + }; }; + _condition = getText (_entryCfg >> "condition"); if (_condition == "") then {_condition = "true"}; // Add canInteract (including exceptions) and canInteractWith to condition - _condition = _condition + format [QUOTE( && {[ARR_3(ACE_player, _target, %1)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")]; + if ((configName _entryCfg) != "ACE_MainActions") then { + _condition = _condition + format [QUOTE( && {[ARR_3(ACE_player, _target, %1)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")]; + }; _insertChildren = compile (getText (_entryCfg >> "insertChildren")); + _modifierFunction = compile (getText (_entryCfg >> "modifierFunction")); _showDisabled = (getNumber (_entryCfg >> "showDisabled")) > 0; _enableInside = (getNumber (_entryCfg >> "enableInside")) > 0; @@ -69,7 +79,8 @@ _recurseFnc = { [], _selection, _distance, - [_showDisabled,_enableInside,_canCollapse,_runOnHover] + [_showDisabled,_enableInside,_canCollapse,_runOnHover], + _modifierFunction ], _children ]; diff --git a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf index 968b143701..0258b3dc8a 100644 --- a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf @@ -27,7 +27,7 @@ if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; private "_recurseFnc"; _recurseFnc = { private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", - "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren"]; + "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren", "_modifierFunction"]; EXPLODE_1_PVT(_this,_actionsCfg); _actions = []; @@ -46,6 +46,7 @@ _recurseFnc = { _condition = _condition + format [QUOTE( && {[ARR_3(ACE_player, _target, %1)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")]; _insertChildren = compile (getText (_entryCfg >> "insertChildren")); + _modifierFunction = compile (getText (_entryCfg >> "modifierFunction")); _showDisabled = (getNumber (_entryCfg >> "showDisabled")) > 0; _enableInside = (getNumber (_entryCfg >> "enableInside")) > 0; @@ -66,7 +67,8 @@ _recurseFnc = { [], [0,0,0], 10, //distace - [_showDisabled,_enableInside,_canCollapse,_runOnHover] + [_showDisabled,_enableInside,_canCollapse,_runOnHover], + _modifierFunction ], _children ]; diff --git a/addons/interact_menu/functions/fnc_createAction.sqf b/addons/interact_menu/functions/fnc_createAction.sqf index 172bbea3a4..fb3f05b7b5 100644 --- a/addons/interact_menu/functions/fnc_createAction.sqf +++ b/addons/interact_menu/functions/fnc_createAction.sqf @@ -14,12 +14,13 @@ * 7: Position (Position or Selection Name) or (Optional) * 8: Distance (Optional) * 9: Other parameters (Optional) + * 10: Modifier function (Optional) * * Return value: * Action * * Example: - * [VulcanPinch","Vulcan Pinch","",{_target setDamage 1;},{true},{},[parameters], [0,0,0], 100] call ace_interact_menu_fnc_createAction; + * ["VulcanPinch","Vulcan Pinch","",{_target setDamage 1;},{true},{},[parameters], [0,0,0], 100] call ace_interact_menu_fnc_createAction; * * Public: No */ @@ -27,7 +28,7 @@ EXPLODE_5_PVT(_this,_actionName,_displayName,_icon,_statement,_condition); -private ["_insertChildren","_customParams","_position","_distance","_params"]; +private ["_insertChildren","_customParams","_position","_distance","_params", "_modifierFunction"]; _insertChildren = if (count _this > 5) then { _this select 5 @@ -59,6 +60,12 @@ _params = if (count _this > 9) then { [false,false,false,false] }; +_modifierFunction = if (count _this > 10) then { + _this select 10 +} else { + {} +}; + [ _actionName, _displayName, @@ -70,5 +77,6 @@ _params = if (count _this > 9) then { _customParams, _position, _distance, - _params + _params, + _modifierFunction ] diff --git a/addons/interact_menu/functions/fnc_ctrlSetParsedTextCached.sqf b/addons/interact_menu/functions/fnc_ctrlSetParsedTextCached.sqf new file mode 100644 index 0000000000..b5d6a4e967 --- /dev/null +++ b/addons/interact_menu/functions/fnc_ctrlSetParsedTextCached.sqf @@ -0,0 +1,15 @@ +// by commy2 +#include "script_component.hpp" + +private ["_ctrl", "_index", "_text"]; + +_ctrl = _this select 0; +_index = _this select 1; +_text = _this select 2; + +//systemChat str (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1")); + +if (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1")) then { + GVAR(ParsedTextCached) set [_index, _text]; + _ctrl ctrlSetStructuredText parseText _text; +}; diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf new file mode 100644 index 0000000000..fe25853733 --- /dev/null +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -0,0 +1,27 @@ +/* + * Author: commy2 + * Disables firing while the menu is opened. Called from playerChanged eh. + * + * Argument: + * 0: New unit to add the addAction eh + * 1: Old unit to remove the addAction eh + * + * Return value: + * None + */ +#include "script_component.hpp" + +EXPLODE_2_PVT(_this,_newUnit,_oldUnit); + +// add to new unit +private "_ehid"; +_ehid = [_newUnit, "DefaultAction", {EGVAR(interact_menu,openedMenuType) >= 0}, {}] call EFUNC(common,addActionEventHandler); + +_newUnit setVariable [QGVAR(AAEHID), _ehid]; + +// remove from old unit +_ehid = _oldUnit getVariable [QGVAR(AAEHID), -1]; + +[_oldUnit, "DefaultAction", _ehid] call EFUNC(common,removeActionEventHandler); + +_oldUnit setVariable [QGVAR(AAEHID), -1]; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index c488724a21..9f1d0b9bcb 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -29,10 +29,14 @@ if (_menuType == 0) then { }; GVAR(keyDownTime) = diag_tickTime; GVAR(openedMenuType) = _menuType; +GVAR(lastTimeSearchedActions) = -1000; +GVAR(ParsedTextCached) = []; GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) || visibleMap || - (GVAR(AlwaysUseCursorSelfInteraction) && _menuType == 1); + {(_menuType == 1) && {(isWeaponDeployed ACE_player) || GVAR(AlwaysUseCursorSelfInteraction) || {cameraView == "GUNNER"}}} || + {(_menuType == 0) && GVAR(AlwaysUseCursorInteraction)}; + if (GVAR(useCursorMenu)) then { createDialog QGVAR(cursorMenu); // The dialog sets: diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index b9afa75616..01a550eb91 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -119,6 +119,7 @@ if(!_foundTarget && GVAR(actionSelected)) then { }; for "_i" from GVAR(iconCount) to (count GVAR(iconCtrls))-1 do { ctrlDelete (GVAR(iconCtrls) select _i); + GVAR(ParsedTextCached) set [_i, ""]; }; GVAR(iconCtrls) resize GVAR(iconCount); GVAR(iconCount) = 0; diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index e14b69472c..78d5418e5a 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -14,50 +14,61 @@ GVAR(currentOptions) = []; -private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_objectActions","_target","_player","_action","_actionData","_active"]; +private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_objectActions","_target","_player","_action","_actionData","_active","_cameraPos","_cameraDir"]; _player = ACE_player; - _fnc_renderNearbyActions = { // Render all nearby interaction menus #define MAXINTERACTOBJECTS 3 + _cameraPos = (positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL); + _cameraDir = ((positionCameraToWorld [0, 0, 1]) call EFUNC(common,positionToASL)) vectorDiff _cameraPos; + + GVAR(foundActions) = []; + GVAR(lastTimeSearchedActions) = diag_tickTime; + _numInteractObjects = 0; - _nearestObjects = nearestObjects [(getPos ACE_player), ["All"], 15]; + _nearestObjects = nearestObjects [ACE_player, ["All"], 13]; { _target = _x; - _numInteractions = 0; - // Prevent interacting with yourself or your own vehicle - if (_target != ACE_player && {_target != vehicle ACE_player}) then { + // Quick oclussion test. Skip objects more than 1 m behind the camera plane + _lambda = ((getPosASL _x) vectorDiff _cameraPos) vectorDotProduct _cameraDir; + if (_lambda > -1) then { + _numInteractions = 0; + // Prevent interacting with yourself or your own vehicle + if (_target != ACE_player && {_target != vehicle ACE_player}) then { - // Iterate through object actions, find base level actions and render them if appropiate - _actionsVarName = format [QGVAR(Act_%1), typeOf _target]; - GVAR(objectActionList) = _target getVariable [QGVAR(actions), []]; - { - // Only render them directly if they are base level actions - if (count (_x select 1) == 0) then { - // Try to render the menu + // Iterate through object actions, find base level actions and render them if appropiate + _actionsVarName = format [QGVAR(Act_%1), typeOf _target]; + GVAR(objectActionList) = _target getVariable [QGVAR(actions), []]; + { + // Only render them directly if they are base level actions + if (count (_x select 1) == 0) then { + // Try to render the menu + _action = _x; + if ([_target, _action] call FUNC(renderBaseMenu)) then { + _numInteractions = _numInteractions + 1; + GVAR(foundActions) pushBack [_target, _action]; + }; + }; + } forEach GVAR(objectActionList); + + // Iterate through base level class actions and render them if appropiate + _classActions = missionNamespace getVariable [_actionsVarName, []]; + { _action = _x; + // Try to render the menu if ([_target, _action] call FUNC(renderBaseMenu)) then { _numInteractions = _numInteractions + 1; + GVAR(foundActions) pushBack [_target, _action]; }; - }; - } forEach GVAR(objectActionList); + } forEach _classActions; - // Iterate through base level class actions and render them if appropiate - _classActions = missionNamespace getVariable [_actionsVarName, []]; - { - _action = _x; - // Try to render the menu - if ([_target, _action] call FUNC(renderBaseMenu)) then { - _numInteractions = _numInteractions + 1; + // Limit the amount of objects the player can interact with + if (_numInteractions > 0) then { + _numInteractObjects = _numInteractObjects + 1; }; - } forEach _classActions; - - // Limit the amount of objects the player can interact with - if (_numInteractions > 0) then { - _numInteractObjects = _numInteractObjects + 1; }; }; if (_numInteractObjects >= MAXINTERACTOBJECTS) exitWith {}; @@ -65,7 +76,11 @@ _fnc_renderNearbyActions = { } forEach _nearestObjects; }; - +_fnc_renderLastFrameActions = { + { + _x call FUNC(renderBaseMenu); + } forEach GVAR(foundActions); +}; _fnc_renderSelfActions = { _target = _this; @@ -103,7 +118,13 @@ _fnc_renderSelfActions = { if (GVAR(openedMenuType) == 0) then { if (vehicle ACE_player == ACE_player) then { - call _fnc_renderNearbyActions; + if (diag_tickTime > GVAR(lastTimeSearchedActions) + 0.20) then { + // Once every 0.2 secs, collect nearby objects active and visible action points and render them + call _fnc_renderNearbyActions; + } else { + // The rest of the frames just draw the same action points rendered the last frame + call _fnc_renderLastFrameActions; + }; } else { (vehicle ACE_player) call _fnc_renderSelfActions; }; diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 9a20962a8f..a5214ddcbe 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -41,9 +41,21 @@ if((count _this) > 2) then { }; }; -// For non-self actions, exit if the action is too far away +// For non-self actions, exit if the action is too far away or ocluded if (GVAR(openedMenuType) == 0 && vehicle ACE_player == ACE_player && - {(ACE_player modelToWorldVisual (ACE_player selectionPosition "pilot")) distance _pos >= _distance}) exitWith {false}; + { + private ["_headPos","_actualDistance"]; + _headPos = ACE_player modelToWorldVisual (ACE_player selectionPosition "pilot"); + _actualDistance = _headPos distance _pos; + + if (_actualDistance > _distance) exitWith {true}; + + if (_distance > 1.0) exitWith { + // If distance to action is greater than 1.0 m, check LOS + _line = [_headPos call EFUNC(common,positionToASL), _pos call EFUNC(common,positionToASL), _object, ACE_player]; + lineIntersects _line + }; + }) exitWith {false}; // Exit if the action is behind you _sPos = if (count _pos != 2) then { diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 6ed2a74a0a..ec56c5a653 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -4,12 +4,11 @@ * * Argument: * 0: Text - * 1: Color + * 1: Icon * 2: 2d position - * 3: ? - * 4: ? - * 5: ? - * 6: Icon + * 3: Color + * 4: Shadow Color + * 5: Icon Color * * Return value: * None @@ -18,11 +17,8 @@ */ #include "script_component.hpp" #define DEFAULT_ICON QUOTE(\z\ace\addons\interaction\ui\dot_ca.paa) -private ["_color", "_sPos", "_ctrl", "_icon", "_pos"]; -_text = _this select 0; -_color = _this select 1; -_sPos = _this select 2; -_icon = _this select 6; +private ["_ctrl", "_pos"]; +PARAMS_6(_text,_icon,_sPos,_textColor,_shadowColor,_iconColor); //systemChat format ["Icon %1 - %2,%3", _text, _sPos select 0, _sPos select 1]; @@ -35,15 +31,27 @@ GVAR(iconCount) = GVAR(iconCount) + 1; if(_icon == "") then { _icon = DEFAULT_ICON; }; -_text = format ["
%4", _icon, _color, _color, _text]; -_ctrl ctrlSetStructuredText (parseText _text); -_pos = [(_sPos select 0)-(0.125*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.25*SafeZoneW, 0.1*SafeZoneW]; + +_text = if (GVAR(UseListMenu)) then { + format ["%5", _icon, _iconColor, _textColor, _shadowColor, _text] +} else { + format ["
%5", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text]; +}; + +//_ctrl ctrlSetStructuredText parseText _text; +[_ctrl, GVAR(iconCount), _text] call FUNC(ctrlSetParsedTextCached); + +_pos = []; +if (GVAR(UseListMenu)) then { + _pos = [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.20*SafeZoneW, 0.035*SafeZoneW]; +} else { + _pos = [(_sPos select 0)-(0.0750*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.15*SafeZoneW, 0.100*SafeZoneW]; +}; if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; }; -_ctrl ctrlSetPosition _pos; -//_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; +_ctrl ctrlSetPosition _pos; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index 42e8de16a2..e80e9d41ab 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -45,19 +45,17 @@ _menuInSelectedPath = true; // Render icon // ARGB Color (First Hex Pair is transparancy) -_color = "#FFFFFFFF"; +_textColor = GVAR(colorSelected); +_shadowColor = GVAR(colorSelectedShadow); if(!_menuInSelectedPath) then { - if (_menuDepth > 0) then { - _color = format ["#%1FFFFFF", [255 * ((((count _path) - 1)/_menuDepth) max 0.25)] call EFUNC(common,toHex)]; - } else { - _color = format ["#%1FFFFFF", [255 * 0.75] call EFUNC(common,toHex)]; - }; + _textColor = (GVAR(colorNotSelectedMatrix) select (count _path)) select _menuDepth; + _shadowColor = (GVAR(colorShadowNotSelectedMatrix) select (count _path)) select _menuDepth; }; //END_COUNTER(constructing_colors); //BEGIN_COUNTER(fnc_renderIcons); -[_actionData select 1, _color, _sPos, 1, 1, 0, _actionData select 2, 0.5, 0.025, "TahomaB"] call FUNC(renderIcon); +[_actionData select 1, _actionData select 2, _sPos, _textColor, _shadowColor, "#FFFFFFFF"] call FUNC(renderIcon); //END_COUNTER(fnc_renderIcons); @@ -92,7 +90,12 @@ if (_numChildren == 1) then { }; // Scale menu based on the amount of children -_scale = 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5); +_scale = if (GVAR(UseListMenu)) then { + 0.17 +} else { + 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) +}; + // Animate menu scale if (_menuInSelectedPath && (_menuDepth == count _path)) then { _scale = _scale * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); @@ -106,8 +109,13 @@ _angle = _centerAngle - _angleSpan / 2; { //BEGIN_COUNTER(children); private ["_offset","_newPos"]; - _newPos = [(_sPos select 0) -_scale * cos _angle, - (_sPos select 1) +_scale * (sin _angle) * 4/3]; + _newPos = if (GVAR(UseListMenu)) then { + [(_sPos select 0) + _scale * 1.10, + (_sPos select 1) + _scale * 0.30 * 4/3 * (_foreachindex - _numChildren/2 + 0.5)]; + } else { + [(_sPos select 0) -_scale * cos _angle, + (_sPos select 1) +_scale * (sin _angle) * 4/3]; + }; //drawLine3D [_pos, _newPos, [1,0,0,0.8]]; //END_COUNTER(children); diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index f9eff7a888..ca2f06d63f 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -24,14 +24,19 @@ private ["_ctrl", "_pos"]; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); GVAR(iconCount) = GVAR(iconCount) + 1; -_ctrl ctrlSetStructuredText (parseText format ["", _icon]); -_pos = [(_sPos select 0)-(0.05*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; +_pos = []; +if (GVAR(UseListMenu)) then { + [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); + _pos = [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW]; +} else { + [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); + _pos = [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; +}; if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; }; -_ctrl ctrlSetPosition _pos; -//_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; +_ctrl ctrlSetPosition _pos; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/functions/fnc_setupTextColors.sqf b/addons/interact_menu/functions/fnc_setupTextColors.sqf new file mode 100644 index 0000000000..5df9c589da --- /dev/null +++ b/addons/interact_menu/functions/fnc_setupTextColors.sqf @@ -0,0 +1,52 @@ +/* + * Author: PabstMirror + * Builds color strings needed for displaying interaction text + * + * Argument: + * None + * + * Return value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +private ["_mixColor", "_rowT", "_rowS", "_menuDepth", "_pathCount", "_menuInSelectedPath", "_color", "_path"]; + +//Mixes 2 colors (number arrays) and makes a color string "#AARRGGBB" for structured text +_mixColor = { + PARAMS_3(_color1,_color2,_ratio); + private ["_return", "_mix", "_index"]; + _return = ""; + for "_index" from 0 to 3 do { + _mix = linearConversion [0, 1, _ratio, (_color1 select _index), (_color2 select _index)]; + if (_index != 3) then { + _return = _return + ([255 * _mix] call EFUNC(common,toHex)); + } else { + _return = "#" + ([255 * _mix] call EFUNC(common,toHex)) + _return; + }; + }; + _return +}; + +GVAR(colorSelected) = [GVAR(colorTextMin), GVAR(colorTextMax), 1] call _mixColor; +GVAR(colorSelectedShadow) = [GVAR(colorShadowMin), GVAR(colorShadowMax), 1] call _mixColor; +GVAR(colorNotSelectedMatrix) = []; +GVAR(colorShadowNotSelectedMatrix) = []; + +for "_pathCount" from 0 to 15 do { + _rowT = []; + _rowS = []; + for "_menuDepth" from 0 to 15 do { + if (_menuDepth > 0) then { + _rowT pushBack ([GVAR(colorTextMin), GVAR(colorTextMax), (((_pathCount - 1) / _menuDepth) max 0.25)] call _mixColor); + _rowS pushBack ([GVAR(colorShadowMin), GVAR(colorShadowMax), (((_pathCount - 1) / _menuDepth) max 0.25)] call _mixColor); + } else { + _rowT pushBack ([GVAR(colorTextMin), GVAR(colorTextMax), 0] call _mixColor); + _rowS pushBack ([GVAR(colorShadowMin), GVAR(colorShadowMax), 0] call _mixColor); + }; + }; + GVAR(colorNotSelectedMatrix) pushBack _rowT; + GVAR(colorShadowNotSelectedMatrix) pushBack _rowS; +}; diff --git a/addons/interact_menu/script_component.hpp b/addons/interact_menu/script_component.hpp index 958d1c802d..a086b02613 100644 --- a/addons/interact_menu/script_component.hpp +++ b/addons/interact_menu/script_component.hpp @@ -9,4 +9,6 @@ #define DEBUG_SETTINGS DEBUG_SETTINGS_INTERACT_MENU #endif -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file +#include "\z\ace\addons\main\script_macros.hpp" + +#define ENABLE_PERFORMANCE_COUNTERS diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index fa37437b42..a5df7723b4 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,27 +1,111 @@  - - - - Always display cursor for self interaction - - - Interact Key - - - Self Interaction Key - - - Self Actions - - - Vehicle Actions - - - Keep cursor centered - - - Keeps cursor centered and pans the option menu around. Useful if screen size is limited. - - + + + Always display cursor for self interaction + Immer den Cursor für Selbst-Interaktionen anzeigen. + Mostrar siempre el cursor para la interacción propia + Показывать курсор (взаимодействия с собой) + Zobrazit kurzor v menu pro vlastní interakci + Zawsze wyświetlaj kursor dla własnej interakcji + Toujours afficher le curseur pour les interactions sur soi-même + Mindig legyen a saját cselekvés kurzorja látható + Mostra sempre il cursore per le auto interazioni + + + Always display cursor for interaction + Mostrar siempre el cursor para la interacción + Toujours afficher le curseur pour les interactions + Mostra sempre il cursore per le interazioni + Zawsze wyświetlaj kursor dla interakcji + Immer den Cursor für Fremd-Interaktionen anzeigen + + + Display interaction menus as lists + Mostrar los menus de interacción como listas + Меню взаимодействий в виде списка + Afficher le menu d'interaction sous forme de liste + Mostra il menù di interazione come lista + Wyświetlaj menu interakcji jako listę + Interaktionsmenü in Listen anzeigen + + + Interact Key + Fremdinteraktionsmenü-Taste + Tecla de interacción + Клавиша взаимодействия + Klávesa pro interakci + Klawisz interakcji + Touche d'interaction + Cselekvő gomb + Tasto interazione + + + Self Interaction Key + Eigeninteraktionsmenü-Taste + Tecla de interacción propia + Клавиша взаимодействия (с собой) + Klávesa pro vlastní interakci + Klawisz własnej interakcji + Touche d'interaction personnelle + Saját cselekvő gomb + Tasto per auto interazioni + + + Self Actions + Selbst-Aktionen + Acciones propias + Действия с собой + Vlastní akce + Własne akcje + Interaction personnelle + Saját cselekvések + Auto interazioni + + + Vehicle Actions + Fahrzeug-Aktionen + Acciones de vehículo + Действия на транспорте + Interakce s vozidly + Akcje pojazdu + Interaction véhicule + Járműves cselekvések + Interazioni con veicoli + + + Interaction - Text Max + Interakcja - Tekst max + Interaction -Texte Max + Interaktionstextfarbe Max + Interazioni - Testo Massimo + + + Interaction - Text Min + Interakcja - Tekst min + Interaction - Texte Min + Interaktionstextfarbe Min + Interazioni - Testo Minimo + + + Interaction - Shadow Max + Interakcja - Cień max + Interaction - Ombre Max + Interaktionstextschatten Max + Interazioni - Ombra Massima + + + Interaction - Shadow Min + Interakcja - Cień min + Interaction - Ombre Min + Interaktionstextschatten Min + Interazioni - Ombra Minima + + + Keep cursor centered + + + Keeps cursor centered and pans the option menu around. Useful if screen size is limited. + + \ No newline at end of file diff --git a/addons/interaction/CfgEventHandlers.hpp b/addons/interaction/CfgEventHandlers.hpp index 17200056b8..7b003bbe8c 100644 --- a/addons/interaction/CfgEventHandlers.hpp +++ b/addons/interaction/CfgEventHandlers.hpp @@ -1,27 +1,11 @@ class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); - }; + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; }; class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE( call COMPILE_FILE(XEH_clientInit) ); - }; -}; - -class Extended_GetIn_EventHandlers { - class All { - class ADDONnu { - clientGetIn = QUOTE( if (_this select 2 == ACE_player && {!isNull (findDisplay 1713999)}) then {(findDisplay 1713999) closeDisplay 1}); + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; - }; -}; - -class Extended_GetOut_EventHandlers { - class All { - class ADDONnu { - clientGetOut = QUOTE( if (_this select 2 == ACE_player && {!isNull (findDisplay 1713999)}) then {(findDisplay 1713999) closeDisplay 1}); - }; - }; }; diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index e85300f301..f6f39808b9 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -27,7 +27,7 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { displayName = "$STR_ACE_Interaction_MainAction"; - distance = 5; + distance = 4; condition = QUOTE(true); statement = ""; icon = "\a3\ui_f\data\IGUI\Cfg\Actions\eject_ca.paa"; @@ -35,8 +35,7 @@ class CfgVehicles { class ACE_TeamManagement { displayName = "$STR_ACE_Interaction_TeamManagement"; - distance = 5; - condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {GVAR(EnableTeamManagement)}); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {GVAR(EnableTeamManagement)}); statement = ""; showDisabled = 0; priority = 3.2; @@ -45,8 +44,7 @@ class CfgVehicles { class ACE_JoinTeamRed { displayName = "$STR_ACE_Interaction_JoinTeamRed"; - distance = 5; - condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam)); showDisabled = 1; icon = PATHTOF(UI\team\team_red_ca.paa); @@ -55,8 +53,7 @@ class CfgVehicles { }; class ACE_JoinTeamGreen { displayName = "$STR_ACE_Interaction_JoinTeamGreen"; - distance = 5; - condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam)); showDisabled = 1; icon = PATHTOF(UI\team\team_green_ca.paa); @@ -65,8 +62,7 @@ class CfgVehicles { }; class ACE_JoinTeamBlue { displayName = "$STR_ACE_Interaction_JoinTeamBlue"; - distance = 5; - condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam)); showDisabled = 1; icon = PATHTOF(UI\team\team_blue_ca.paa); @@ -75,8 +71,7 @@ class CfgVehicles { }; class ACE_JoinTeamYellow { displayName = "$STR_ACE_Interaction_JoinTeamYellow"; - distance = 5; - condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam)); showDisabled = 1; icon = PATHTOF(UI\team\team_yellow_ca.paa); @@ -86,8 +81,7 @@ class CfgVehicles { class ACE_LeaveTeam { displayName = "$STR_ACE_Interaction_LeaveTeam"; - distance = 5; - condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {assignedTeam _player != 'MAIN'}); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _player != 'MAIN'}); statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam)); showDisabled = 1; icon = PATHTOF(UI\team\team_white_ca.paa); @@ -98,9 +92,8 @@ class CfgVehicles { class ACE_JoinGroup { displayName = "$STR_ACE_Interaction_JoinGroup"; - distance = 5; - condition = QUOTE(side group _player == side group _target && {group _player != group _target}); - statement = QUOTE([_player] joinSilent group _target;); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinGroup)); + statement = QUOTE([_player] joinSilent group _target); showDisabled = 0; priority = 2.6; icon = PATHTOF(UI\team\team_management_ca.paa); @@ -109,7 +102,6 @@ class CfgVehicles { class ACE_GetDown { displayName = "$STR_ACE_Interaction_GetDown"; - distance = 5; condition = QUOTE([_target] call DFUNC(canInteractWithCivilian)); statement = QUOTE([_target] call DFUNC(getDown)); showDisabled = 0; @@ -117,7 +109,6 @@ class CfgVehicles { }; class ACE_SendAway { displayName = "$STR_ACE_Interaction_SendAway"; - distance = 5; condition = QUOTE([_target] call DFUNC(canInteractWithCivilian)); statement = QUOTE([_target] call DFUNC(sendAway)); showDisabled = 0; @@ -125,7 +116,6 @@ class CfgVehicles { }; class ACE_Pardon { displayName = "$STR_ACE_Interaction_Pardon"; - distance = 5; condition = QUOTE(rating _target < -2000 && {alive _target} && {side group _player == side group _target}); statement = QUOTE([ARR_3(_target,'{_this addRating -rating _this}',_target)] call DEFUNC(common,execRemoteFnc)); showDisabled = 0; @@ -233,7 +223,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_JoinTeamBlue"; condition = QUOTE(true); exceptions[] = {"isNotInside"}; - statement = QUOTE([ARR_2(_player,'BLUE')] call FUNC(joinTeam)); + statement = QUOTE([ARR_2(_player,'BLUE')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.2; icon = PATHTOF(UI\team\team_blue_ca.paa); @@ -243,7 +233,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_JoinTeamYellow"; condition = QUOTE(true); exceptions[] = {"isNotInside"}; - statement = QUOTE([ARR_2(_player,'YELLOW')] call FUNC(joinTeam)); + statement = QUOTE([ARR_2(_player,'YELLOW')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.1; icon = PATHTOF(UI\team\team_yellow_ca.paa); @@ -254,18 +244,17 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_LeaveTeam"; condition = QUOTE(assignedTeam _player != 'MAIN'); exceptions[] = {"isNotInside"}; - statement = QUOTE([ARR_2(_player,'MAIN')] call FUNC(joinTeam)); + statement = QUOTE([ARR_2(_player,'MAIN')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.5; icon = PATHTOF(UI\team\team_white_ca.paa); hotkey = "N"; }; - class ACE_BecomeLeader { displayName = "$STR_ACE_Interaction_BecomeLeader"; - condition = QUOTE(count (units group _player) > 1 && {leader group _player != _player}); + condition = QUOTE(_this call DFUNC(canBecomeLeader)); exceptions[] = {"isNotInside"}; - statement = QUOTE(_newGroup = createGroup side group _player; (units group _player) joinSilent _newGroup; _newGroup selectLeader _player;); + statement = QUOTE(_this call DFUNC(doBecomeLeader)); showDisabled = 1; priority = 1.0; icon = PATHTOF(UI\team\team_white_ca.paa); @@ -416,7 +405,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_Passengers"; condition = "true"; statement = ""; - insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); }; }; }; @@ -434,7 +423,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_Passengers"; condition = "true"; statement = ""; - insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); }; }; }; @@ -454,7 +443,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_Passengers"; condition = "true"; statement = ""; - insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); }; }; }; @@ -472,7 +461,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_Passengers"; condition = "true"; statement = ""; - insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); }; }; }; @@ -490,7 +479,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_Push"; distance = 6; condition = QUOTE(getMass _target < 1000 && {alive _target}); - statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call FUNC(push);); + statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call DFUNC(push);); showDisabled = 0; priority = -1; }; @@ -501,7 +490,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_Passengers"; condition = "true"; statement = ""; - insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); }; }; }; @@ -520,7 +509,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_Passengers"; condition = "true"; statement = ""; - insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); }; }; }; diff --git a/addons/interaction/XEH_clientInit.sqf b/addons/interaction/XEH_clientInit.sqf deleted file mode 100644 index 1ed3883f02..0000000000 --- a/addons/interaction/XEH_clientInit.sqf +++ /dev/null @@ -1,70 +0,0 @@ -// by commy2 and esteldunedain - -#include "script_component.hpp" - -ACE_Modifier = 0; - -if (!hasInterface) exitWith {}; - -GVAR(isOpeningDoor) = false; - -// restore global fire teams for JIP -{ - _team = _x getVariable [QGVAR(assignedFireTeam), ""]; - if (_team != "") then {_x assignTeam _team}; -} forEach allUnits; - - -// Add keybinds -["ACE3", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor", -{ - // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - // Conditions: specific - if (GVAR(isOpeningDoor) || {[2] call FUNC(getDoor) select 1 == ''}) exitWith {false}; - - // Statement - call EFUNC(interaction,openDoor); - true -}, -{ - //Probably don't want any condidtions here, so variable never gets locked down - // Statement - GVAR(isOpeningDoor) = false; - true -}, -[57, [false, true, false]], false] call cba_fnc_addKeybind; //Key CTRL+Space - - -["ACE3", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder", -{ - // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - // Conditions: specific - if !([ACE_player, cursorTarget] call FUNC(canTapShoulder)) exitWith {false}; - - // Statement - [ACE_player, cursorTarget] call FUNC(tapShoulder); - true -}, -{false}, -[20, [true, false, false]], false] call cba_fnc_addKeybind; - -["ACE3", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey", -{ - // Conditions: canInteract - //if !([ACE_player, objNull, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; // not needed - - // Statement - ACE_Modifier = 1; - // Return false so it doesn't block other actions - false -}, -{ - //Probably don't want any condidtions here, so variable never gets locked down - ACE_Modifier = 0; - false; -}, -[29, [false, false, false]], false] call cba_fnc_addKeybind; - -["isNotSwimming", {!underwater (_this select 0)}] call EFUNC(common,addCanInteractWithCondition); diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf new file mode 100644 index 0000000000..98b1cc1523 --- /dev/null +++ b/addons/interaction/XEH_postInit.sqf @@ -0,0 +1,76 @@ +// by commy2 and esteldunedain + +#include "script_component.hpp" + +ACE_Modifier = 0; + +//SelectLeader Event Handler for BecomeLeader action: +[QGVAR(selectLeader), { + PARAMS_2(_group,_leader); + _group selectLeader _leader; +}] call EFUNC(common,addEventHandler); + +if (!hasInterface) exitWith {}; + +GVAR(isOpeningDoor) = false; + +// restore global fire teams for JIP +{ + _team = _x getVariable [QGVAR(assignedFireTeam), ""]; + if (_team != "") then {_x assignTeam _team}; +} forEach allUnits; + + +// Add keybinds +["ACE3", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + if (GVAR(isOpeningDoor) || {[2] call FUNC(getDoor) select 1 == ''}) exitWith {false}; + + // Statement + call EFUNC(interaction,openDoor); + true +}, +{ + //Probably don't want any condidtions here, so variable never gets locked down + // Statement + GVAR(isOpeningDoor) = false; + true +}, +[57, [false, true, false]], false] call cba_fnc_addKeybind; //Key CTRL+Space + + +["ACE3", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + if !([ACE_player, cursorTarget] call FUNC(canTapShoulder)) exitWith {false}; + + // Statement + [ACE_player, cursorTarget] call FUNC(tapShoulder); + true +}, +{false}, +[20, [true, false, false]], false] call cba_fnc_addKeybind; + +["ACE3", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey", +{ + // Conditions: canInteract + //if !([ACE_player, objNull, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; // not needed + + // Statement + ACE_Modifier = 1; + // Return false so it doesn't block other actions + false +}, +{ + //Probably don't want any condidtions here, so variable never gets locked down + ACE_Modifier = 0; + false; +}, +[29, [false, false, false]], false] call cba_fnc_addKeybind; + +["isNotSwimming", {!underwater (_this select 0)}] call EFUNC(common,addCanInteractWithCondition); diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index 671535c36d..34c225c8f0 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -6,8 +6,12 @@ PREP(addPassengerActions); PREP(addPassengersActions); PREP(addSelectableItem); PREP(applyButtons); +PREP(canBecomeLeader); PREP(canInteractWithCivilian); +PREP(canJoinGroup); +PREP(canJoinTeam); PREP(canTapShoulder); +PREP(doBecomeLeader); PREP(getDoor); PREP(getDoorAnimations); PREP(getDown); diff --git a/addons/interaction/functions/fnc_addPassengerActions.sqf b/addons/interaction/functions/fnc_addPassengerActions.sqf index 9e577ed7bb..82e3b3b4fb 100644 --- a/addons/interaction/functions/fnc_addPassengerActions.sqf +++ b/addons/interaction/functions/fnc_addPassengerActions.sqf @@ -24,6 +24,10 @@ _actionTrees = missionNamespace getVariable [_varName, []]; _actions = []; // Mount unit MainActions menu -_actions pushBack [(_actionTrees select 0) select 0, (_actionTrees select 0) select 1, _unit]; + +{ + EXPLODE_2_PVT(_x,_actionData,_children); + _actions pushBack [_actionData, _children, _unit]; +} forEach ((_actionTrees select 0) select 1); _actions diff --git a/addons/interaction/functions/fnc_canBecomeLeader.sqf b/addons/interaction/functions/fnc_canBecomeLeader.sqf new file mode 100644 index 0000000000..11234ad6d7 --- /dev/null +++ b/addons/interaction/functions/fnc_canBecomeLeader.sqf @@ -0,0 +1,21 @@ +/* + * Author: PabstMirror + * Test if can Become Leader of group + * + * Arguments: + * 0: target + * 1: player + * + * Return Value: + * + * + * Example: + * [player, player] call ace_interaction_fnc_canBecomeLeader + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_target,_player); + +(count (units group _player) > 1) && {leader group _player != _player} diff --git a/addons/interaction/functions/fnc_canJoinGroup.sqf b/addons/interaction/functions/fnc_canJoinGroup.sqf new file mode 100644 index 0000000000..d299524925 --- /dev/null +++ b/addons/interaction/functions/fnc_canJoinGroup.sqf @@ -0,0 +1,12 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +alive _target +&& {!(_target getVariable ["ACE_isUnconscious", false])} +&& {side group _unit == side group _target} +&& {group _unit != group _target} diff --git a/addons/interaction/functions/fnc_canJoinTeam.sqf b/addons/interaction/functions/fnc_canJoinTeam.sqf new file mode 100644 index 0000000000..45f96393a9 --- /dev/null +++ b/addons/interaction/functions/fnc_canJoinTeam.sqf @@ -0,0 +1,12 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +alive _target +&& {!(_target getVariable ["ACE_isUnconscious", false])} +&& {!([_target] call EFUNC(common,isPlayer))} +&& {_target in units group _unit} diff --git a/addons/interaction/functions/fnc_doBecomeLeader.sqf b/addons/interaction/functions/fnc_doBecomeLeader.sqf new file mode 100644 index 0000000000..24bfa66c11 --- /dev/null +++ b/addons/interaction/functions/fnc_doBecomeLeader.sqf @@ -0,0 +1,21 @@ + /* + * Author: PabstMirror + * Become Leader of group + * + * Arguments: + * 0: target + * 1: player + * + * Return Value: + * None + * + * Example: + * [player, player] call ace_interaction_fnc_doBecomeLeader + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_target,_player); + +[QGVAR(selectLeader), (units group _player), [(group _player), _player]] call EFUNC(common,targetEvent); diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index dcd87056e2..38902f80cf 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,660 +1,737 @@  - - - - Interactions - - - Torso - - - Head - - - Left Arm - - - Right Arm - - - Left Leg - - - Right Leg - - - Weapon - - - Interaction Menu - Interaktionsmenü - Menú de interacción - Menu interakcji - Menu interakce - Menu d'interaction - Меню взаимодействия - Interakció - Menu de Interação - Menù Interattivo - - - Interaction Menu (Self) - Interaktionsmenü (Selbst) - Menú de interacción (Propia) - Menu interakcji (na siebie) - Menu interakce (vlastní) - Menu d'interaction (Perso) - Меню взаимодействия (с собой) - Interakció (saját) - Menu de Interação (Individual) - Menù Interattivo (Individuale) - - - Open / Close Door - Tür öffnen / schließen - Abrir / Cerrar puerta - Otwórz / Zamknij drzwi - Otevřít / Zavřít dveře - Ouvrir / Fermer Portes - Открыть / Закрыть двери - Ajtó nyitás / zárás - Abrir / Fechar Porta - Apri / Chiudi la porta - - - Lock Door - Tür sperren - Bloquear puerta - Verrouiller Porte - Blocca la porta - Заблокировать дверь - Trancar Porta - Ajtó bezárása - Zablokuj drzwi - Zamknout dveře - - - Unlock Door - Tür entsperren - Desbloquear puerta - Déverrouiller Porte - Sblocca la porta - Разблокировать дверь - Destrancar Porta - Zár kinyitása - Odblokuj drzwi - Odemknout dveře - - - Locked Door - Tür gesperrt - Puerta bloqueada - Porte Verrouillée - Porta bloccata - Дверь заблокирована - Porta Trancada - Zárt ajtó - Zablokowano drzwi - Zamčené dveře - - - Unlocked Door - Tür entsperrt - Puerta desbloqueada - Porte Déverrouillée - Porta sbloccata - Дверь разблокирована - Porta Destrancada - Nyitott ajtó - Odblokowano drzwi - Odemčené dveře - - - Join group - Gruppe beitreten - Unirse al grupo - Dołącz do grupy - Přidat se do skupiny - Rejoindre Groupe - Вступить в группу - Csatlakozás - Unir-se ao grupo - Unisciti alla squadra - - - Leave Group - Gruppe verlassen - Dejar grupo - Opuść grupę - Odejít ze skupiny - Quitter Groupe - Выйти из группы - Csoport elhagyása - Deixar grupo - Lascia la squadra - - - Become Leader - Grp.-führung übern. - Asumir el liderazgo - Przejmij dowodzenie - Stát se velitelem - Devenir Leader - Стать лидером - Vezetés átvétele - Tornar-se Líder - Prendi il comando - - - DANCE! - TANZEN! - BAILAR! - TAŃCZ! - TANČIT! - Danse! - ТАНЦЕВАТЬ! - TÁNC! - DANCE! - Balla! - - - Stop Dancing - Tanzen abbrechen - Dejar de bailar - Przestań tańczyć - Přestat tancovat - Arrêter de danser - Прекратить танцевать - Tánc abbahagyása - Parar de dançar - Smetti di ballare - - - << Back - << Zurück - << Atrás - << Wstecz - << Zpět - << Retour - << Назад - << Vissza - << Voltar - << Indietro - - - Gestures - Gesten - Gestos - Gesty - Gesta - Signaux - Жесты - Kézjelek - Gestos - Segnali gestuali - - - Attack - Angreifen - Atacar - Do ataku - Zaútočit - Attaquer - Атаковать - Támadás - Atacar - Attaccare - - - Advance - Vordringen - Avanzar - Naprzód - Postoupit - Avancer - Продвигаться - Előre - Avançar - Avanzare - - - Go - Los - Adelante - Szybko - Jít - Aller - Идти - Mozgás - Mover-se - Muoversi - - - Follow - Folgen - Seguirme - Za mną - Následovat - Suivre - Следовать - Utánam - Seguir - Seguire - - - Point - Zeigen - Señalar - Wskazać - Ukázat - Pointer - Точка - Mutat - Apontar - Puntare a - - - Up - Aufstehen - Arriba - Do góry - Vztyk - Debout - Вверх - Fel - Acima - Alzarsi - - - Cover - Deckung - Cubrirse - Do osłony - Krýt se - A couvert - Укрыться - Fedezékbe - Proteger-se - Copertura - - - Cease Fire - Feuer einstellen - Alto el fuego - Wstrzymać ogień - Zastavit palbu - Halte au feu - Прекратить огонь - Tüzet szüntess - Cessar Fogo - Cessare il Fuoco - - - Freeze - Keine Bewegung - Alto - Stać - Stát - Halte - Замереть - Állj - Alto - Fermi - - - Hi - Hallo - Hola - Witaj - Ahoj - Salut - Привет - Szeva - Olá - Ciao - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Put weapon on back - Waffe wegstecken - Arma a la espalda - Umieść broń na plecach - Dát zbraň na záda - Arme à la bretelle - Повесить оружие на спину - Fegyvert hátra - Colocar arma nas costas - Metti l'arma in spalla - - - Tap Shoulder - Auf Schulter klopfen - Tocar el hombro - Klepnij w ramię - Poklepat na rameno - Taper sur l'épaule - Похлопать по плечу - Vállveregetés - Tocar ombro - Dai un colpetto - - - You were tapped on the RIGHT shoulder - Te tocaron el hombro DERECHO - Dir wurde auf die Schulter geklopft - On te tape sur l'épaule - Zostałeś klepnięty po ramieniu - Vállonveregettek - Někdo tě poklepal na rameno - Вас похлопали по плечу - Você foi tocado no ombro - Ti è stato dato un colpetto sulla spalla - - - You were tapped on the LEFT shoulder. - Te tocaron el hombro IZQUIERDO. - Dir wurde auf die Schulter geklopft - On te tape sur l'épaule. - Zostałeś klepnięty po ramieniu - Vállonveregettek - Někdo tě poklepal na rameno. - Вас похлопали по плечу - Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Annulla - Отменить - Cancelar - Mégse - - - Select - Wählen - Seleccionar - Wybierz - Sélectionner - Zvolit - Seleziona - Выбрать - Selecionar - Kiválaszt - - - Go Away! - Geh Weg! - Aléjate! - Odejdź! - Jděte pryč! - Allez-vous-en! - Уходите отсюда! - Tűnés! - Vá Embora! - Via di qui! - - - Get Down! - Auf Den Boden! - Al suelo! - Padnij! - K zemi! - A terre! - A földre! - Ложись! - Abaixe-se! - A Terra! - - - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelés - - - Red - Rot - Rojo - Rouge - Czerwony - Červený - Красный - Vermelha - Rosso - Piros - - - Green - Grün - Verde - Vert - Zielony - Zelený - Зеленый - Verde - Verde - Zöld - - - Blue - Blau - Azul - Bleu - Niebieski - Modrý - Синий - Azul - Blu - Kék - - - Yellow - Gelb - Amarillo - Jaune - Żółty - Žlutý - Желтый - Amarela - Giallo - Sárga - - - Join Team<br/>Red - Team Rot<br/>beitreten - Unirse al<br/>equipo rojo - Rejoindre<br/>Rouge - Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného Týmu - Присоединиться<br/>к красной группе - Unir-se à<br/>Equipe Vermelha - Entra nella<br/>Squadra Rossa - Csatlakozás a<br/>piros csapathoz - - - Join Team<br/>Green - Team Grün<br/>beitreten - Unirse al<br/>equipo verde - Rejoindre<br/>Verte - Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného Týmu - Присоединиться<br/>к зеленой группе - Unir-se à<br/>Equipe Verde - Entra nella<br/>Squadra Verde - Csatlakozás a<br/>zöld csapathoz - - - Join Team<br/>Blue - Team Blau<br/>beitreten - Unirse al<br/>equipo azul - Rejoindre<br/>Bleue - Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého Týmu - Присоединиться<br/>к синей группе - Unir-se à<br/>Equipe Azul - Entra nella<br/>Squadra Blu - Csatlakozás a<br/>kék csapathoz - - - Join Team<br/>Yellow - Team Gelb<br/>beitreten - Unirse al<br/>equipo amarillo - Rejoindre<br/>Jaune - Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého Týmu - Присоединиться<br/>к желтой группе - Unir-se à<br/>Equipe Amarela - Entra nella<br/>Squadra Gialla - Csatlakozás a<br/>sárga csapathoz - - - You joined Team %1 - Du bist Team %1 beigetreten - Te has unido al equipo %1 - Tu as rejoint l'équipe %1 - Dołączyłeś do drużyny %1 - Připojil ses do Týmu %1 - Вы присоединились к группе %1 - Você uniu-se à Equipe %1 - Sei entrato nella Squadra %1 - Csatlakoztál a %1 csapathoz - - - Leave Team - Team verlassen - Dejar equipo - Quitter l'équipe - Opuść drużynę - Opustit tým - Покинуть группу - Deixar Equipe - Lascia la Squadra - Csapat elhagyása - - - You left the Team - Du hast das Team verlassen - Has dejado el equipo - Tu as quitté l'équipe - Opuściłeś drużynę - Opustil si tým - Вы покинули группу - Você deixou a Equipe - Hai lasciato la squadra - Elhagytad a csapatot - - - Pardon - Begnadigen - Perdonar - Przebacz - Pardon - Pardon - Извините - Perdão - Perdona - Megbocsátás - - - Scroll - Scrollen - Przewiń - Défilement - Desplazar - Пролистать - Rolar - Scorri - Görgetés - Otáčení - - - Modifier Key - Modifikator - Modyfikator - Modifier la touche - Tecla modificadora - клавиша-модификатор - Tecla Modificadora - Modifica Tasto - Módosító billentyű - Modifikátor - - - Not in Range - Außer Reichweite - Hors de portée. - Fuera de rango - Слишком далеко - Fora do Alcançe - Hatótávolságon kívül - Poza zasięgiem - Mimo dosah - - - Equipment - Ausrüstung - Equipamiento - Équipment - Ekwipunek - Vybavení - Felszerelés - Снаряжение - - - Push - Schieben - Empujar - Pousser - Pchnij - Odstrčit - Tolás - Толкать - - - Interact - Interagiere - Interakce - Взаимодействовать - Interakcja - Interactuar - - - Passengers - - + + + Interactions + Interaktionen + Interacciones + Interakce + Interakcje + Interactions + Взаимодействия + Cselekvések + Interazioni + + + Torso + Torse + Torso + Torso + Trup + Tors + Торс + Testtörzs + Torso + + + Head + Tête + Kopf + Cabeza + Hlava + Głowa + Голова + Fej + Testa + + + Left Arm + Bras gauche + Linker Arm + Brazo izquierdo + Levá paže + Lewe ramię + Левая рука + Bal kar + Braccio sinistro + + + Right Arm + Rechter Arm + Brazo derecho + Pravá paže + Prawe ramię + Bras droit + Правая рука + Jobb kar + Braccio destro + + + Left Leg + Linkes Bein + Pierna izquierda + Levá noha + Lewa noga + Jambe gauche + Левая нога + Bal láb + Gamba sinistra + + + Right Leg + Rechtes Bein + Pierna derecha + Pravá hona + Prawa noga + Jambe droite + Правая нога + Jobb láb + Gamba destra + + + Weapon + Arme + Waffe + Arma + Zbraň + Broń + Оружие + Fegyver + Arma + + + Interaction Menu + Interaktionsmenü + Menú de interacción + Menu interakcji + Menu interakce + Menu d'interaction + Меню взаимодействия + Cselekvő menü + Menu de Interação + Menù interazione + + + Interaction Menu (Self) + Interaktionsmenü (Selbst) + Menú de interacción (Propia) + Menu interakcji (własne) + Menu interakce (vlastní) + Menu d'interaction (Perso) + Меню взаимодействия (с собой) + Cselekvő menü (saját) + Menu de Interação (Individual) + Menù interazione (Individuale) + + + Open / Close Door + Tür öffnen / schließen + Abrir / Cerrar puerta + Otwórz / Zamknij drzwi + Otevřít / Zavřít dveře + Ouvrir / Fermer Portes + Открыть / Закрыть двери + Ajtó nyitása / zárása + Abrir / Fechar Porta + Apri / Chiudi la porta + + + Lock Door + Tür sperren + Bloquear puerta + Verrouiller Porte + Blocca la porta + Заблокировать дверь + Trancar Porta + Ajtó bezárása + Zablokuj drzwi + Zamknout dveře + + + Unlock Door + Tür entsperren + Desbloquear puerta + Déverrouiller Porte + Sblocca la porta + Разблокировать дверь + Destrancar Porta + Zár kinyitása + Odblokuj drzwi + Odemknout dveře + + + Locked Door + Tür gesperrt + Puerta bloqueada + Porte Verrouillée + Porta bloccata + Дверь заблокирована + Porta Trancada + Zárt ajtó + Zablokowano drzwi + Zamčené dveře + + + Unlocked Door + Tür entsperrt + Puerta desbloqueada + Porte Déverrouillée + Porta sbloccata + Дверь разблокирована + Porta Destrancada + Nyitott ajtó + Odblokowano drzwi + Odemčené dveře + + + Join group + Gruppe beitreten + Unirse al grupo + Dołącz do grupy + Přidat se do skupiny + Rejoindre Groupe + Вступить в группу + Csatlakozás a csoporthoz + Unir-se ao grupo + Unisciti alla squadra + + + Leave Group + Gruppe verlassen + Dejar grupo + Opuść grupę + Opustit skupinu + Quitter Groupe + Выйти из группы + Csoport elhagyása + Deixar grupo + Lascia la squadra + + + Become Leader + Grp.-führung übern. + Asumir el liderazgo + Przejmij dowodzenie + Stát se velitelem + Devenir Chef de groupe + Стать лидером + Vezetés átvétele + Tornar-se Líder + Prendi il comando + + + DANCE! + TANZEN! + BAILAR! + TAŃCZ! + TANČIT! + Danse! + ТАНЦЕВАТЬ! + TÁNC! + DANCE! + DANZA! + + + Stop Dancing + Tanzen abbrechen + Dejar de bailar + Przestań tańczyć + Přestat tancovat + Arrêter de danser + Прекратить танцевать + Tánc abbahagyása + Parar de dançar + Smetti di ballare + + + << Back + << Zurück + << Atrás + << Wstecz + << Zpět + << Retour + << Назад + << Vissza + << Voltar + << Indietro + + + Gestures + Gesten + Gestos + Gesty + Posunky + Signaux + Жесты + Kézjelek + Gestos + Segnali gestuali + + + Attack + Angreifen + Atacar + Do ataku + Zaútočit + Attaquer + Атаковать + Támadás + Atacar + Attaccare + + + Advance + Vordringen + Avanzar + Naprzód + Postoupit + Avancer + Продвигаться + Előre + Avançar + Avanzare + + + Go + Los + Adelante + Szybko + Jít + Aller + Идти + Mozgás + Mover-se + Muoversi + + + Follow + Folgen + Seguirme + Za mną + Následovat + Suivre + Следовать + Utánam + Seguir + Seguire + + + Point + Zeigen + Señalar + Wskazać + Ukázat + Pointer + Точка + Mutat + Apontar + Puntare a + + + Up + Aufstehen + Arriba + Do góry + Vztyk + Debout + Вверх + Fel + Acima + Alzarsi + + + Cover + Deckung + Cubrirse + Do osłony + Krýt se + A couvert + Укрыться + Fedezékbe + Proteger-se + Copertura + + + Cease Fire + Feuer einstellen + Alto el fuego + Wstrzymać ogień + Zastavit palbu + Halte au feu + Прекратить огонь + Tüzet szüntess + Cessar Fogo + Cessare il Fuoco + + + Freeze + Keine Bewegung + Alto + Stać + Stát + Halte + Замереть + Állj + Alto + Fermi + + + Hi + Hallo + Hola + Witaj + Ahoj + Salut + Привет + Helló + Olá + Ciao + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Put weapon on back + Waffe wegstecken + Arma a la espalda + Umieść broń na plecach + Dát zbraň na záda + Arme à la bretelle + Повесить оружие на спину + Fegyvert hátra + Colocar arma nas costas + Metti l'arma in spalla + + + Tap Shoulder + Auf Schulter klopfen + Tocar el hombro + Klepnij w ramię + Poklepat na rameno + Taper sur l'épaule + Похлопать по плечу + Vállveregetés + Tocar ombro + Dai un colpetto + + + You were tapped on the RIGHT shoulder + Te tocaron el hombro DERECHO + Dir wurde auf die rechte Schulter geklopft + On te tape sur l'épaule droite + Zostałeś klepnięty w prawe ramię + Megveregették a JOBB válladat. + Někdo tě poklepal na PRAVÉ rameno + Вас похлопали по ПРАВОМУ плечу + Você foi tocado no ombro + Ti è stato dato un colpetto sulla spalla + + + You were tapped on the LEFT shoulder. + Te tocaron el hombro IZQUIERDO. + Dir wurde auf die linke Schulter geklopft + On te tape sur l'épaule gauche + Zostałeś klepnięty w lewe ramię + Megveregették a BAL válladat. + Někdo tě poklepal na LEVÉ rameno + Вас похлопали по ЛЕВОМУ плечу + Você foi tocado no ombro. + Ti è stato dato un colpetto sulla spalla + + + Cancel + Abbrechen + Cancelar + Anuluj + Annuler + Zrušit + Annulla + Отменить + Cancelar + Mégse + + + Select + Wählen + Seleccionar + Wybierz + Sélectionner + Zvolit + Seleziona + Выбрать + Selecionar + Kiválaszt + + + Go Away! + Geh Weg! + Aléjate! + Odejdź! + Jděte pryč! + Allez-vous-en! + Уходите отсюда! + Tűnés! + Vá Embora! + Via di qui! + + + Get Down! + Auf Den Boden! + Al suelo! + Padnij! + K zemi! + A terre! + A földre! + Ложись! + Abaixe-se! + A Terra! + + + Team<br/>Management + Team<br/>Management + Gestión<br/>de equipo + Gestion<br/>d'équipe + Zarządzanie<br/>oddziałem + Správa<br/>týmu + Управление<br/>группой + Gerenciamento<br/>de Equipe + Organizzazione<br/>Squadra + Csapat<br/>kezelése + + + Red + Rot + Rojo + Rouge + Czerwony + Červený + Красный + Vermelha + Rosso + Piros + + + Green + Grün + Verde + Vert + Zielony + Zelený + Зеленый + Verde + Verde + Zöld + + + Blue + Blau + Azul + Bleu + Niebieski + Modrý + Синий + Azul + Blu + Kék + + + Yellow + Gelb + Amarillo + Jaune + Żółty + Žlutý + Желтый + Amarela + Giallo + Sárga + + + Join Team<br/>Red + Team Rot<br/>beitreten + Unirse al<br/>equipo rojo + Rejoindre<br/>Rouge + Dołącz do drużyny<br/>czerwonej + Připojit do<br/>Červeného týmu + Присоединиться<br/>к красной группе + Unir-se à<br/>Equipe Vermelha + Entra nella<br/>Squadra Rossa + Csatlakozás a<br/>piros csapathoz + + + Join Team<br/>Green + Team Grün<br/>beitreten + Unirse al<br/>equipo verde + Rejoindre<br/>Vert + Dołącz do<br/>drużyny zielonej + Připojit do<br/>Zeleného týmu + Присоединиться<br/>к зеленой группе + Unir-se à<br/>Equipe Verde + Entra nella<br/>Squadra Verde + Csatlakozás a<br/>zöld csapathoz + + + Join Team<br/>Blue + Team Blau<br/>beitreten + Unirse al<br/>equipo azul + Rejoindre<br/>Bleu + Dołącz do<br/>drużyny niebieskiej + Připojit do<br/>Modrého týmu + Присоединиться<br/>к синей группе + Unir-se à<br/>Equipe Azul + Entra nella<br/>Squadra Blu + Csatlakozás a<br/>kék csapathoz + + + Join Team<br/>Yellow + Team Gelb<br/>beitreten + Unirse al<br/>equipo amarillo + Rejoindre<br/>Jaune + Dołącz do<br/>drużyny żółtej + Připojit do<br/>Žlutého týmu + Присоединиться<br/>к желтой группе + Unir-se à<br/>Equipe Amarela + Entra nella<br/>Squadra Gialla + Csatlakozás a<br/>sárga csapathoz + + + You joined Team %1 + Du bist Team %1 beigetreten + Te has unido al equipo %1 + Tu as rejoint l'équipe %1 + Dołączyłeś do drużyny %1 + Připojil ses do %1 týmu + Вы присоединились к группе %1 + Você uniu-se à Equipe %1 + Sei entrato nel team %1 + Csatlakoztál a %1 csapathoz + + + Leave Team + Team verlassen + Dejar equipo + Quitter l'équipe + Opuść drużynę + Opustit tým + Покинуть группу + Deixar Equipe + Lascia il team + Csapat elhagyása + + + You left the Team + Du hast das Team verlassen + Has dejado el equipo + Tu as quitté l'équipe + Opuściłeś drużynę + Opustil si tým + Вы покинули группу + Você deixou a Equipe + Hai lasciato il team + Elhagytad a csapatot + + + Pardon + Begnadigen + Perdonar + Przebacz + Pardon + Pardon + Извините + Perdão + Perdona + Megbocsátás + + + Scroll + Scrollen + Przewiń + Défilement + Desplazar + Пролистать + Rolar + Scorri + Görgetés + Otáčení + + + Modifier Key + Modifikator-Taste + Modyfikator + Modifier la touche + Tecla modificadora + Клавиша-модификатор + Tecla Modificadora + Modifica tasto + Módosító billentyű + Modifikátor + + + Not in Range + Außer Reichweite + Hors de portée. + Fuera de rango + Слишком далеко + Fora do Alcançe + Hatótávolságon kívül + Poza zasięgiem + Mimo dosah + Non in raggio + + + Equipment + Ausrüstung + Equipamiento + Équipement + Ekwipunek + Vybavení + Felszerelés + Снаряжение + Equipaggiamento + + + Push + Schieben + Empujar + Pousser + Pchnij + Odstrčit + Tolás + Толкать + Spingi + + + Interact + Interagir + Interagiere + Interakce + Взаимодействовать + Interakcja + Interactuar + Cselekvés + Interagisci + + + Passengers + Passagiere + Pasajeros + Пассажиры + Pasažéři + Pasażerowie + Passagers + Utasok + Passeggeri + + diff --git a/addons/inventory/RscDisplayInventory.hpp b/addons/inventory/RscDisplayInventory.hpp index c8c93ab142..f845f50a35 100644 --- a/addons/inventory/RscDisplayInventory.hpp +++ b/addons/inventory/RscDisplayInventory.hpp @@ -39,14 +39,14 @@ class RscDisplayInventory { x = X_PART(1); y = Y_PART(1); w = W_PART(12); - h = H_PART(22.5); + h = H_PART(22.5); //default 23 }; class CA_PlayerBackground: RscText { //center player's container: decrease height because of progressbar height decrease x = X_PART(14.6); y = Y_PART(2); w = W_PART(24.4); - h = H_PART(21.5); + h = H_PART(21.5); //default 22 }; class TitleBackground: RscText { x = X_PART(14.6); @@ -87,25 +87,31 @@ class RscDisplayInventory { class BackgroundSlotPrimaryMuzzle: BackgroundSlotPrimary { x = X_PART(26.6); y = Y_PART(9.1); - w = W_PART(2.9); + w = W_PART(2.3); + h = H_PART(2); + }; + class BackgroundSlotPrimaryUnderBarrel: BackgroundSlotPrimary { + x = X_PART(29); + y = Y_PART(9.1); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotPrimaryFlashlight: BackgroundSlotPrimary { - x = X_PART(29.6); - y = Y_PART(9.1); - w = W_PART(2.9); + x = X_PART(31.4); + y = Y_PART(9.2); //not sure why different (double check release) + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotPrimaryOptics: BackgroundSlotPrimary { - x = X_PART(32.6); + x = X_PART(33.8); y = Y_PART(9.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotPrimaryMagazine: BackgroundSlotPrimary { - x = X_PART(35.6); + x = X_PART(36.2); y = Y_PART(9.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotSecondary: BackgroundSlotPrimary { @@ -117,25 +123,31 @@ class RscDisplayInventory { class BackgroundSlotSecondaryMuzzle: BackgroundSlotPrimary { x = X_PART(26.6); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); + h = H_PART(2); + }; + class BackgroundSlotSecondaryUnderBarrel: BackgroundSlotPrimary { + x = X_PART(29); + y = Y_PART(14.6); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotSecondaryFlashlight: BackgroundSlotPrimary { - x = X_PART(29.6); + x = X_PART(31.4); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotSecondaryOptics: BackgroundSlotPrimary { - x = X_PART(32.6); + x = X_PART(33.8); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotSecondaryMagazine: BackgroundSlotPrimary { - x = X_PART(35.6); + x = X_PART(36.2); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotHandgun: BackgroundSlotPrimary { @@ -147,25 +159,31 @@ class RscDisplayInventory { class BackgroundSlotHandgunMuzzle: BackgroundSlotPrimary { x = X_PART(26.6); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); + h = H_PART(2); + }; + class BackgroundSlotHandgunUnderBarrel: BackgroundSlotPrimary { + x = X_PART(29); + y = Y_PART(20.1); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotHandgunFlashlight: BackgroundSlotPrimary { - x = X_PART(29.6); + x = X_PART(31.4); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotHandgunOptics: BackgroundSlotPrimary { - x = X_PART(32.6); + x = X_PART(33.8); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotHandgunMagazine: BackgroundSlotPrimary { - x = X_PART(35.6); + x = X_PART(36.2); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class BackgroundSlotHeadgear: BackgroundSlotPrimary { @@ -263,7 +281,7 @@ class RscDisplayInventory { x = X_PART(1.5); y = Y_PART(22.5); w = W_PART(11); - h = H_PART(0.5); + h = H_PART(0.5); //Default 1 }; class SlotPrimary: GroundTab { x = X_PART(26.6); @@ -274,31 +292,31 @@ class RscDisplayInventory { class SlotPrimaryMuzzle: SlotPrimary { x = X_PART(26.6); y = Y_PART(9.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; - class SlotPrimaryGrip: SlotPrimary { - w = 0; - h = 0; - x = X_PART(39); - y = Y_PART(9); + class SlotPrimaryUnderBarrel: SlotPrimary { + x = X_PART(29); + y = Y_PART(9.1); + w = W_PART(2.3); + h = H_PART(2); }; class SlotPrimaryFlashlight: SlotPrimary { - x = X_PART(29.6); + x = X_PART(31.4); y = Y_PART(9.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotPrimaryOptics: SlotPrimary { - x = X_PART(32.6); + x = X_PART(33.8); y = Y_PART(9.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotPrimaryMagazine: SlotPrimary { - x = X_PART(35.6); + x = X_PART(36.2); y = Y_PART(9.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotSecondary: SlotPrimary { @@ -310,31 +328,31 @@ class RscDisplayInventory { class SlotSecondaryMuzzle: SlotPrimary { x = X_PART(26.6); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; - class SlotSecondaryGrip: SlotPrimary { - w = 0; - h = 0; - x = X_PART(39); - y = Y_PART(14.5); + class SlotSecondaryUnderBarrel: SlotPrimary { + x = X_PART(29); + y = Y_PART(14.59); //Why is this different? (check release) + w = W_PART(2.3); + h = H_PART(2); }; class SlotSecondaryFlashlight: SlotPrimary { - x = X_PART(29.6); + x = X_PART(31.4); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotSecondaryOptics: SlotPrimary { - x = X_PART(32.6); + x = X_PART(33.8); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotSecondaryMagazine: SlotPrimary { - x = X_PART(35.6); + x = X_PART(36.2); y = Y_PART(14.6); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotHandgun: SlotPrimary { @@ -346,31 +364,31 @@ class RscDisplayInventory { class SlotHandgunMuzzle: SlotPrimary { x = X_PART(26.6); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; - class SlotHandgunGrip: SlotPrimary { - w = 0; - h = 0; - x = X_PART(39); - y = Y_PART(20); + class SlotHandgunUnderBarrel: SlotPrimary { + x = X_PART(29); + y = Y_PART(20.1); + W = W_PART(2.3); + H = H_PART(2); }; class SlotHandgunFlashlight: SlotPrimary { - x = X_PART(29.6); + x = X_PART(31.4); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotHandgunOptics: SlotPrimary { - x = X_PART(32.6); + x = X_PART(33.8); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotHandgunMagazine: SlotPrimary { - x = X_PART(35.6); + x = X_PART(36.2); y = Y_PART(20.1); - w = W_PART(2.9); + w = W_PART(2.3); h = H_PART(2); }; class SlotHeadgear: SlotPrimary { @@ -492,7 +510,7 @@ class RscDisplayInventory { x = X_PART(15.1); y = Y_PART(22.5); w = W_PART(23.4); - h = H_PART(0.5); + h = H_PART(0.5); //Default 1 }; class ContainerMarker: GroundTab { x = X_PART(0); diff --git a/addons/inventory/config.cpp b/addons/inventory/config.cpp index c7b6649be6..622dacc624 100644 --- a/addons/inventory/config.cpp +++ b/addons/inventory/config.cpp @@ -18,10 +18,10 @@ class ACE_Settings { class GVAR(inventoryDisplaySize) { value = 0; typeName = "SCALAR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Inventory_SettingName"; description = "$STR_ACE_Inventory_SettingDescription"; - values[] = {"Normal (Default Size)", "Medium", "Bigger"}; + values[] = {"$str_medium", "$str_large", "$str_very_large"}; }; }; diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 9ca01373d1..da132cc3f1 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -1,12 +1,27 @@  - - - - Make Inventory Display Bigger - - - Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed. - - - \ No newline at end of file + + + Make Inventory Display Bigger + Erhöhe die angezeigte Inventargröße + Hacer la pantalla de inventario mas grande + Изменить размер окна инвентаря + Zvětšit zobrazení inventáře + Powiększ UI ekwipunku + Agrandir la taille d'affichage de l'inventaire + Legyen a felszerelés menüje nagyobb + Ingrandisci il menù inventario + + + Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed. + Im Regelfall wird die Inventargröße durch die Größe der Nutzeroberfläche bestimmt. Diese Einstellung erlaubt es das Inventar unter Ausschluss der Schriftgröße zu vergrößern. Dadurch können mehr Gegenstände angezeigt werden. + Normalmente la pantalla de inventario se escala por el tamaño de la interfaz de usuario. Esto permite ampliar el tamaño de la interfaz de usuario de inventario, pero no aumenta el tamaño de fuente, permitiendo mostrar más filas. + Обычно, размер окна инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря, не увеличивая размеры шрифтов, так что отображется большее количество строк. + Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři. + Ekwipunek skalowany jest poprzez rozmiar UI. Ta opcja pozwala powiększyć rozmiar UI ekwipunku, lecz nie zwiększa rozmiaru fontu pozwalając na wyświetlanie większej ilości wierszy. + L'inventaire est normalement affiché en fonction de la taille de l'UI. Cette option permet d'agrandir l'affichage de l'inventaire, mais n'a aucun effet sur la taille des polices permettant d'afficher plus de ligne + Alaphelyzetben a kezelőfelület mérete skálázza a felszerelési menüt. Ez az opció engedélyezi a menü felskálázását, de megtartja a betűméreteket, így növelve a láthatóságot. + Normalmente il menù inventario è scalato in base alle dimensioni interfaccia. Questa opzione di permette di ingrandirlo ulteriormente ma senza aumentare la dimensione del testo. + + + diff --git a/addons/javelin/$PBOPREFIX$ b/addons/javelin/$PBOPREFIX$ new file mode 100644 index 0000000000..3497b9aaf6 --- /dev/null +++ b/addons/javelin/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\javelin \ No newline at end of file diff --git a/addons/javelin/CfgEventhandlers.hpp b/addons/javelin/CfgEventhandlers.hpp new file mode 100644 index 0000000000..ae7f95b232 --- /dev/null +++ b/addons/javelin/CfgEventhandlers.hpp @@ -0,0 +1,18 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_pre_init)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_post_init)); + clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit)); + }; +}; + +class Extended_FiredBIS_EventHandlers { + class All { + ADDON = QUOTE(_this call FUNC(onFired)); + }; +}; \ No newline at end of file diff --git a/addons/wep_javelin/CfgSounds.hpp b/addons/javelin/CfgSounds.hpp similarity index 100% rename from addons/wep_javelin/CfgSounds.hpp rename to addons/javelin/CfgSounds.hpp diff --git a/addons/javelin/CfgVehicles.hpp b/addons/javelin/CfgVehicles.hpp new file mode 100644 index 0000000000..5ea7e3327c --- /dev/null +++ b/addons/javelin/CfgVehicles.hpp @@ -0,0 +1,32 @@ +class CfgVehicles { + class LandVehicle; + class StaticWeapon : LandVehicle { + class Turrets; + }; + + class StaticMGWeapon : StaticWeapon { + class Turrets : Turrets { + class MainTurret; + }; + }; + + + class AT_01_base_F: StaticMGWeapon { + class Turrets : Turrets { + class MainTurret : MainTurret { + weapons[] = { "missiles_titan_static_at" }; + magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; + + turretInfoType = "ACE_RscOptics_javelin"; + gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); + opticsZoomMin = 0.08333; + opticsZoomMax = 0.04167; + opticsZoomInit = 0.08333; + opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"}; + opticsFlare = 0; + discretefov[] = {0.08333,0.04167}; + discreteInitIndex = 0; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp new file mode 100644 index 0000000000..1392cd1a56 --- /dev/null +++ b/addons/javelin/CfgWeapons.hpp @@ -0,0 +1,38 @@ +class CfgWeapons { + class Launcher; + class MissileLauncher; + + class Launcher_Base_F : Launcher { + class WeaponSlotsInfo; + }; + + // @TODO: AA by default, motherfuckers + class missiles_titan : MissileLauncher { + + }; + + class missiles_titan_at : missiles_titan { + weaponInfoType = "ACE_RscOptics_javelin"; + modelOptics = PATHTOF(data\reticle_titan.p3d); + + canLock = 0; + magazines[] = {"1Rnd_GAT_missiles"}; + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + }; + class missiles_titan_static_at : missiles_titan_at { }; + + // @TODO: AA by default, motherfuckers + class launch_Titan_base : Launcher_Base_F {}; + + class launch_Titan_short_base : launch_Titan_base { + weaponInfoType = "ACE_RscOptics_javelin"; + modelOptics = PATHTOF(data\reticle_titan.p3d); + + canLock = 0; + + + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + }; +}; \ No newline at end of file diff --git a/addons/javelin/README.md b/addons/javelin/README.md new file mode 100644 index 0000000000..37685d9cce --- /dev/null +++ b/addons/javelin/README.md @@ -0,0 +1,11 @@ +ace_javelin +=============== + +Adds the Javelin AT launcher. + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [jaynus](https://github.com/walterpearce) diff --git a/addons/javelin/RscInGameUI.hpp b/addons/javelin/RscInGameUI.hpp new file mode 100644 index 0000000000..ea1e12626c --- /dev/null +++ b/addons/javelin/RscInGameUI.hpp @@ -0,0 +1,454 @@ +class RscOpticsValue; +class RscControlsGroup; +class RscPicture; +class RscMapControl; +class VScrollbar; +class HScrollbar; +class RscLine; + + +// Taken from AGM for optics management. + +class RscInGameUI { + class ACE_RscOptics_javelin { + idd = 300; + controls[] = { "ACE_javelin_elements_group", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"}; + onLoad = QUOTE(_this call FUNC(onOpticLoad)); + onUnload = QUOTE(_this call FUNC(onOpticUnload)); + + class ACE_javelin_elements_group: RscControlsGroup + { + x = "SafezoneX"; + y = "SafezoneY"; + w = "SafezoneW"; + h = "SafezoneH"; + idc = 170; + class VScrollbar { + autoScrollSpeed = -1; + autoScrollDelay = 5; + autoScrollRewind = 0; + color[] = {1,1,1,0}; + width = 0.001; + }; + class HScrollbar { + color[] = {1,1,1,0}; + height = 0.001; + }; + class Controls { + class CA_Distance: RscOpticsValue { + idc = 151; + sizeEx = "0"; + colorText[] = {0,0,0,0}; + x = 0; + y = 0; + w = 0; + h = 0; + }; + + class ACE_javelin_Day_mode_off: RscPicture { + idc = 1001; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.03/4)*3*SafezoneH - SafezoneX"; + y = "SafezoneY+SafezoneH*0.031 - SafezoneY"; + w = "0.1045752* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; + h = "SafezoneH*0.1045752"; + colorText[] = {0.2941,0.2941,0.2941,1}; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\day_co.paa"; + }; + class ACE_javelin_Day_mode: ACE_javelin_Day_mode_off { + idc = 160; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class CA_Javelin_WFOV_mode_off : ACE_javelin_Day_mode_off { + idc = 1004; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.307/4)*3*SafezoneH - SafezoneX"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\wfov_co.paa"; + }; + class ACE_javelin_WFOV_mode_group: RscControlsGroup { + x = "SafezoneX"; + y = "SafezoneY"; + w = "SafezoneW"; + h = "SafezoneH"; + idc = 163; + class VScrollbar { + autoScrollSpeed = -1; + autoScrollDelay = 5; + autoScrollRewind = 0; + color[] = {1,1,1,0}; + width = 0.001; + }; + class HScrollbar { + color[] = {1,1,1,0}; + height = 0.001; + }; + class Controls { + class StadiaL: RscLine { + x = "0.4899*SafezoneW - SafezoneX"; + y = "0.171*SafezoneH - SafezoneY"; + w = 0; + h = "0.049*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class StadiaR: RscLine { + x = "0.5109*SafezoneW- SafezoneX"; + y = "0.171*SafezoneH - SafezoneY"; + w = 0; + h = "0.049*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class BracketL: RscLine { + x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.293/4)*3*SafezoneH - SafezoneX"; + y = "0.4677*SafezoneH - SafezoneY"; + w = 0; + h = "0.0646*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class BracketR: RscLine { + x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.70/4)*3*SafezoneH - SafezoneX"; + y = "0.4677*SafezoneH - SafezoneY"; + w = 0; + h = "0.0646*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class BracketT: RscLine { + x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.467/4)*3*SafezoneH - SafezoneX"; + y = "0.3535*SafezoneH - SafezoneY"; + w = "0.065* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; + h = 0; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class BracketB: RscLine { + x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.467/4)*3*SafezoneH - SafezoneX"; + y = "0.6465*SafezoneH - SafezoneY"; + w = "0.065* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; + h = 0; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + + }; + }; + class CA_Javelin_NFOV_mode_off: ACE_javelin_Day_mode_off { + idc = 1003; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.586/4)*3*SafezoneH - SafezoneX"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\nfov_co.paa"; + }; + class ACE_javelin_NFOV_mode_group: RscControlsGroup { + x = "SafezoneX"; + y = "SafezoneY"; + w = "SafezoneW-SafezoneX"; + h = "SafezoneH-SafezoneY"; + idc = 162; + class VScrollbar { + autoScrollSpeed = -1; + autoScrollDelay = 5; + autoScrollRewind = 0; + color[] = {1,1,1,0}; + width = 0.001; + }; + class HScrollbar { + color[] = {1,1,1,0}; + height = 0.001; + }; + class Controls { + class StadiaL: RscLine { + x = "0.4788*SafezoneW - SafezoneX"; + y = "0.171*SafezoneH - SafezoneY"; + w = 0; + h = "0.049*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class StadiaR: RscLine { + x = "0.5212*SafezoneW - SafezoneX"; + y = "0.171*SafezoneH - SafezoneY"; + w = 0; + h = "0.049*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class LineHL: RscLine { + x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.01/4)*3*SafezoneH - SafezoneX"; + y = "SafezoneH*0.5 - SafezoneY"; + w = "0.29* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; + h = "SafezoneH*0.0"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class LineHR: RscLine { + x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.695/4)*3*SafezoneH - SafezoneX"; + y = "SafezoneH*0.5 - SafezoneY"; + w = "0.29* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; + h = "SafezoneH*0.0"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class LineVT: RscLine { + x = "0.5*SafezoneW - SafezoneX"; + y = "0.171*SafezoneH - SafezoneY"; + w = 0; + h = "0.1825*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class LineVB: RscLine { + x = "0.5*SafezoneW - SafezoneX"; + y = "0.6465*SafezoneH - SafezoneY"; + w = 0; + h = "0.1895*SafezoneH"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + + }; + }; + + class ACE_javelin_SEEK_off: ACE_javelin_Day_mode_off { + idc = 699000; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.863/4)*3*SafezoneH - SafezoneX"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\seek_co.paa"; + }; + class ACE_javelin_SEEK: ACE_javelin_SEEK_off { + idc = 166; + colorText[] = {0.2941,0.8745,0.2157,0}; + }; + class ACE_javelin_Missle_off: ACE_javelin_Day_mode_off { + idc = 1032; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (-0.134/4)*3*SafezoneH - SafezoneX"; + y = "(SafezoneY + 0.208*SafezoneH) - SafezoneY"; + colorText[] = {0.2941,0.2941,0.2941,1}; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\missle_co.paa"; + }; + class ACE_javelin_Missle: ACE_javelin_Missle_off { + idc = 167; + colorText[] = {0.9255,0.5216,0.1216,0}; + }; + class ACE_javelin_CLU_off: ACE_javelin_Missle_off { + idc = 1027; + y = "(SafezoneY + 0.436*SafezoneH) - SafezoneY"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\clu_co.paa"; + }; + class ACE_javelin_HangFire_off: ACE_javelin_Missle_off { + idc = 1028; + y = "(SafezoneY + 0.669*SafezoneH) - SafezoneY"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\hangfire_co.paa"; + }; + class ACE_javelin_TOP_off: ACE_javelin_Day_mode_off { + idc = 699001; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (1.023/4)*3*SafezoneH - SafezoneX"; + y = "(SafezoneY + 0.208*SafezoneH) - SafezoneY"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\top_co.paa"; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + class ACE_javelin_DIR: ACE_javelin_Day_mode { + idc = 699002; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (1.023/4)*3*SafezoneH - SafezoneX"; + y = "(SafezoneY + 0.436*SafezoneH) - SafezoneY"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\dir_co.paa"; + colorText[] = {0.2941,0.2941,0.2941,1}; + }; + class ACE_javelin_FLTR_mode_off: ACE_javelin_Day_mode_off { + idc = 1002; + x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (1.023/4)*3*SafezoneH - SafezoneX"; + y = "(SafezoneY + 0.669*SafezoneH) - SafezoneY"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\fltr_co.paa"; + }; + class ACE_javelin_FLTR_mode: ACE_javelin_FLTR_mode_off { + idc = 161; + colorText[] = {0.2941,0.8745,0.2157,1}; + }; + }; + }; + class ACE_Targeting : RscControlsGroup { + idc = 6999; + + x = "SafezoneX"; + y = "SafezoneY"; + w = "SafezoneW"; + h = "SafezoneH"; + + enabled = 0; + class Controls { + class ACE_TargetingConstrains: RscControlsGroup { + x = "SafezoneX"; + y = "SafezoneY"; + w = "SafezoneW-SafezoneX"; + h = "SafezoneH-SafezoneY"; + + enabled = 0; + class VScrollbar { + autoScrollSpeed = -1; + autoScrollDelay = 5; + autoScrollRewind = 0; + color[] = {1,1,1,0}; + width = 0.001; + }; + class HScrollbar { + color[] = {1,1,1,0}; + height = 0.001; + }; + class Controls { + class Top: RscPicture { + idc = 699101; + text = "#(argb,8,8,3)color(1,1,1,1)"; + colorText[] = {0.2941,0.2941,0.2941,1}; + x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; + y = "0.15*SafezoneH-SafezoneY"; + w = "(3/4)*SafezoneH"; + h = "0.21*SafezoneH"; + }; + class Bottom: Top { + idc = 699102; + y = "0.64*SafezoneH-SafezoneY"; + }; + class Left: Top { + idc = 699103; + x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; + y = "0.36*SafezoneH-SafezoneY"; + w = "0.31*(3/4)*SafezoneH"; + h = "0.28*SafezoneH"; + }; + class Right: Left { + idc = 699104; + x = "((SafezoneW -(3/4)*SafezoneH)/2)+ 0.69*(3/4)*SafezoneH - SafezoneX"; + }; + class OpticsBorders: RscPicture { + idc = 699105; + text = PATHTOF(data\javelin_ui_border_ca.paa); + colorText[] = {0,0,0,1}; + x = "((SafezoneW -(3.1/4)*SafezoneH)/2) - SafezoneX"; + y = "0.15*SafezoneH-SafezoneY"; + w = "(3.1/4)*SafezoneH"; + h = "0.7*SafezoneH"; + }; + }; + }; + + class ACE_TargetingGate : ACE_TargetingConstrains { + idc = 699200; + class Controls { + class TargetingGateTL: ACE_TargetingConstrains { + x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; + y = "0.15*SafezoneH - SafezoneY"; + idc = 699201; + class Controls { + class LineH: RscLine { + idc = 699210; + x = "0"; + y = "0"; + w = "0.025*(3/4)*SafezoneH"; + h = "0"; + colorText[] = {0.8745,0.8745,0.8745,1}; + }; + class LineV: LineH { + idc = 699211; + w = "0"; + h = "0.025*SafezoneH"; + }; + }; + }; + class TargetingGateTR: TargetingGateTL { + x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX + 0.975*(3/4)*SafezoneH"; + y = "0.15*SafezoneH - SafezoneY"; + idc = 699202; + class Controls { + class LineH: RscLine { + idc = 699220; + x = "0"; + y = "0"; + w = "0.025*(3/4)*SafezoneH"; + h = "0"; + colorText[] = {0.8745,0.8745,0.8745,1}; + }; + class LineV: LineH { + idc = 699221; + x = "0.025*(3/4)*SafezoneH"; + w = "0"; + h = "0.025*SafezoneH"; + }; + }; + }; + class TargetingGateBL: TargetingGateTL { + x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; + y = "0.825*SafezoneH - SafezoneY"; + idc = 699203; + class Controls { + class LineH: RscLine { + x = "0"; + y = "0.025*SafezoneH"; + w = "0.025*(3/4)*SafezoneH"; + h = "0"; + colorText[] = {0.8745,0.8745,0.8745,1}; + }; + class LineV: LineH { + y = "0"; + w = "0"; + h = "0.025*SafezoneH"; + }; + }; + }; + class TargetingGateBR: TargetingGateBL { + x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX + 0.975*(3/4)*SafezoneH"; + y = "0.825*SafezoneH - SafezoneY"; + idc = 699204; + class Controls { + class LineH: RscLine { + x = "0"; + y = "0.025*SafezoneH"; + w = "0.025*(3/4)*SafezoneH"; + h = "0"; + colorText[] = {0.8745,0.8745,0.8745,1}; + }; + class LineV: LineH { + x = "0.025*(3/4)*SafezoneH"; + y = "0"; + w = "0"; + h = "0.025*SafezoneH"; + }; + }; + }; + }; + }; + + + class ACE_TargetingLines: ACE_TargetingConstrains { + idc = 699300; + class Controls { + class LineH: RscLine { + idc = 699301; + x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; + y = "0.5*SafezoneH - SafezoneY"; + w = "(3/4)*SafezoneH"; + h = "0"; + colorText[] = {0.8745,0.8745,0.8745,1}; + }; + class LineV: RscLine { + idc = 699302; + x = "0.5*SafezoneW - SafezoneX"; + y = "0.15*SafezoneH - SafezoneY"; + w = "0"; + h = "0.7*SafezoneH"; + colorText[] = {0.8745,0.8745,0.8745,1}; + }; + }; + }; + }; + }; + }; +}; + +// on colorText[] = {0.2941, 0.8745, 0.2157, 1.0}; +// off colorText[] = {0.2941, 0.2941, 0.2941, 1.0}; +// orange colorText[] = {0.9255, 0.5216, 0.1216, 1.0}; + +/* +ACE_Titan_elements_group: 170 +ACE_Titan_Day_mode_off: 1001 +ACE_Titan_Day_mode: 160 +ACE_Titan_WFOV_mode_off: 1004 +ACE_Titan_WFOV_mode_group: 163 +ACE_Titan_NFOV_mode_off: 1003 +ACE_Titan_NFOV_mode_group: 162 +ACE_Titan_SEEK_off: 1005 //1001 +ACE_Titan_SEEK: 166 +ACE_Titan_Missle_off: 1032 +ACE_Titan_Missle: 167 +ACE_Titan_CLU_off: 1027 +ACE_Titan_HangFire_off: 1028 +ACE_Titan_TOP_off: 1006 +ACE_Titan_DIR: 1007 +ACE_Titan_FLTR_mode_off: 1002 +ACE_Titan_FLTR_mode: 161 +*/ \ No newline at end of file diff --git a/addons/javelin/XEH_clientInit.sqf b/addons/javelin/XEH_clientInit.sqf new file mode 100644 index 0000000000..38b006ca24 --- /dev/null +++ b/addons/javelin/XEH_clientInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; + +#include "initKeybinds.sqf" \ No newline at end of file diff --git a/addons/wep_javelin/XEH_post_init.sqf b/addons/javelin/XEH_post_init.sqf similarity index 100% rename from addons/wep_javelin/XEH_post_init.sqf rename to addons/javelin/XEH_post_init.sqf diff --git a/addons/javelin/XEH_pre_init.sqf b/addons/javelin/XEH_pre_init.sqf new file mode 100644 index 0000000000..1accd4a8f4 --- /dev/null +++ b/addons/javelin/XEH_pre_init.sqf @@ -0,0 +1,13 @@ +#include "script_component.hpp" + +PREP(lockKeyDown); +PREP(lockKeyUp); + +PREP(cycleFireMode); +PREP(showFireMode); + +PREP(onFired); +PREP(onOpticLoad); +PREP(onOpticDraw); + +GVAR(isLockKeyDown) = false; \ No newline at end of file diff --git a/addons/javelin/config.cpp b/addons/javelin/config.cpp new file mode 100644 index 0000000000..cb76da0010 --- /dev/null +++ b/addons/javelin/config.cpp @@ -0,0 +1,17 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { "ace_main", "ace_common", "ace_missileguidance" }; + VERSION_CONFIG; + }; +}; + +#include "CfgEventhandlers.hpp" +#include "RscInGameUI.hpp" +#include "CfgSounds.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" \ No newline at end of file diff --git a/addons/wep_javelin/data/jav_disp.paa b/addons/javelin/data/jav_disp.paa similarity index 100% rename from addons/wep_javelin/data/jav_disp.paa rename to addons/javelin/data/jav_disp.paa diff --git a/addons/wep_javelin/data/jav_ring.paa b/addons/javelin/data/jav_ring.paa similarity index 100% rename from addons/wep_javelin/data/jav_ring.paa rename to addons/javelin/data/jav_ring.paa diff --git a/addons/wep_javelin/data/javelin_ui_border_ca.paa b/addons/javelin/data/javelin_ui_border_ca.paa similarity index 100% rename from addons/wep_javelin/data/javelin_ui_border_ca.paa rename to addons/javelin/data/javelin_ui_border_ca.paa diff --git a/addons/javelin/data/reticle_titan.p3d b/addons/javelin/data/reticle_titan.p3d new file mode 100644 index 0000000000..682296f0c8 Binary files /dev/null and b/addons/javelin/data/reticle_titan.p3d differ diff --git a/addons/wep_javelin/data/sounds/javelin_locked.ogg b/addons/javelin/data/sounds/javelin_locked.ogg similarity index 100% rename from addons/wep_javelin/data/sounds/javelin_locked.ogg rename to addons/javelin/data/sounds/javelin_locked.ogg diff --git a/addons/wep_javelin/data/sounds/javelin_locking.ogg b/addons/javelin/data/sounds/javelin_locking.ogg similarity index 100% rename from addons/wep_javelin/data/sounds/javelin_locking.ogg rename to addons/javelin/data/sounds/javelin_locking.ogg diff --git a/addons/javelin/functions/fnc_cycleFireMode.sqf b/addons/javelin/functions/fnc_cycleFireMode.sqf new file mode 100644 index 0000000000..2245bb71e5 --- /dev/null +++ b/addons/javelin/functions/fnc_cycleFireMode.sqf @@ -0,0 +1,13 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); + +private["_player", "_currentFireMode"]; + +_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"]; +if(_currentFireMode == "JAV_DIR") then { + _currentFireMode = "JAV_TOP"; +} else { + _currentFireMode = "JAV_DIR"; +}; +ACE_player setVariable["ace_missileguidance_attackProfile", _currentFireMode, false]; diff --git a/addons/javelin/functions/fnc_lockKeyDown.sqf b/addons/javelin/functions/fnc_lockKeyDown.sqf new file mode 100644 index 0000000000..2a537e2ae9 --- /dev/null +++ b/addons/javelin/functions/fnc_lockKeyDown.sqf @@ -0,0 +1,3 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); \ No newline at end of file diff --git a/addons/javelin/functions/fnc_lockKeyUp.sqf b/addons/javelin/functions/fnc_lockKeyUp.sqf new file mode 100644 index 0000000000..2a537e2ae9 --- /dev/null +++ b/addons/javelin/functions/fnc_lockKeyUp.sqf @@ -0,0 +1,3 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); \ No newline at end of file diff --git a/addons/javelin/functions/fnc_onFired.sqf b/addons/javelin/functions/fnc_onFired.sqf new file mode 100644 index 0000000000..8c6590f5df --- /dev/null +++ b/addons/javelin/functions/fnc_onFired.sqf @@ -0,0 +1,23 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); + +// Bail on not missile +if( _shooter != ACE_player) exitWith { false }; + +if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom)) + && + { ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) } +) exitWith { }; + +_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; +if(!isNil "_pfh_handle") then { + //[_pfh_handle] call cba_fnc_removePerFrameHandler; + //uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil]; + + __JavelinIGUITargeting ctrlShow false; + __JavelinIGUITargetingGate ctrlShow false; + __JavelinIGUITargetingLines ctrlShow false; + __JavelinIGUITargetingConstraints ctrlShow false; +}; \ No newline at end of file diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf new file mode 100644 index 0000000000..8fa96c036a --- /dev/null +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -0,0 +1,292 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); + +#define __TRACKINTERVAL 0 // how frequent the check should be. +#define __LOCKONTIME 3 // Lock on won't occur sooner + +private["_apos", "_aposX", "_aposY", "_args", "_boundsInput", "_bpos", "_canFire", "_constraintBottom"]; +private["_constraintLeft", "_constraintRight", "_constraintTop", "_currentTarget", "_fireDisabledEH"]; +private["_firedEH", "_fov", "_lastTick", "_lockTime", "_maxX", "_maxY", "_minX", "_minY", "_newTarget"]; +private["_offsetX", "_offsetY", "_pos", "_randomLockInterval", "_randomPosWithinBounds", "_range"]; +private["_runTime", "_soundTime", "_targetArray", "_zamerny", "_currentShooter"]; + +_currentShooter = (vehicle ACE_player); + +#define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5 +#define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5 + +// Reset arguments if we havnt rendered in over a second +_args = uiNamespace getVariable[QGVAR(arguments), [] ]; +if( (count _args) > 0) then { + _lastTick = _args select 0; + if(diag_tickTime - _lastTick > 1) then { + [] call FUNC(onOpticLoad); + }; +}; + +TRACE_1("Running", "Running"); + +// Pull the arguments +_currentTarget = _args select 1; +_runTime = _args select 2; +_lockTime = _args select 3; +_soundTime = _args select 4; +_randomLockInterval = _args select 5; +_fireDisabledEH = _args select 6; + +if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom)) + && + { ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) } + ) exitWith { + __JavelinIGUITargeting ctrlShow false; + __JavelinIGUITargetingGate ctrlShow false; + __JavelinIGUITargetingLines ctrlShow false; + __JavelinIGUITargetingConstraints ctrlShow false; + + if(!isNil "_fireDisabledEH") then { + _fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire); + }; + + [(_this select 1)] call cba_fnc_removePerFrameHandler; + uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil]; +}; + +// Find a target within the optic range +_newTarget = objNull; + +// Bail on fast movement +if ((velocity ACE_player) distance [0,0,0] > 0.5 && {cameraView == "GUNNER"} && {cameraOn == ACE_player}) exitWith { // keep it steady. + ACE_player switchCamera "INTERNAL"; +}; + +// Refresh the firemode +[] call FUNC(showFireMode); + + +// bail on not loaded +if( (vehicle ACE_player) != ACE_player) then { + if( (vehicle player) magazineTurretAmmo ["1Rnd_GAT_missiles", [0]] < 1) exitWith { + TRACE_1("No turret ammo, exit", ""); + }; +} else { + if (ACE_player ammo (currentWeapon ACE_player) < 1 ) exitWith { + TRACE_1("No ammo, exit", ""); + }; +}; + +_range = parseNumber (ctrlText __JavelinIGUIRangefinder); +TRACE_1("Viewing range", _range); +if (_range > 50 && {_range < 2500}) then { + _pos = positionCameraToWorld [0,0,_range]; + _targetArray = _pos nearEntities ["AllVehicles", _range/100]; + TRACE_1("Searching at range", _targetArray); + if (count (_targetArray) > 0) then { + _newTarget = _targetArray select 0; + }; +}; + +if (isNull _newTarget) then { + _newTarget = cursorTarget; +}; + +// Create constants +_constraintTop = __ConstraintTop; +_constraintLeft = __ConstraintLeft; +_constraintBottom = __ConstraintBottom; +_constraintRight = __ConstraintRight; + +_offsetX = __OffsetX; +_offsetY = __OffsetY; + +__JavelinIGUITargeting ctrlShow true; +__JavelinIGUITargetingConstrains ctrlShow true; + +_zamerny = if (_currentTarget isKindOf "CAManBase") then {_currentTarget selectionPosition "body"} else {_currentTarget selectionPosition "zamerny"}; +_randomPosWithinBounds = [(_zamerny select 0) + 1 - (random 2.0),(_zamerny select 1) + 1 - (random 2.0),(_zamerny select 2) + 0.5 - (random 1.0)]; + +_apos = worldToScreen (_currentTarget modelToWorld _randomPosWithinBounds); + +_aposX = 0; +_aposY = 0; +if (count _apos < 2) then { + _aposX = 1; + _aposY = 0; +} else { + _aposX = (_apos select 0) + _offsetX; + _aposY = (_apos select 1) + _offsetY; +}; + +if((call CBA_fnc_getFoV) select 1 > 9) then { + __JavelinIGUINFOV ctrlSetTextColor __ColorGreen; + __JavelinIGUIWFOV ctrlSetTextColor __ColorGray; +} else { + __JavelinIGUINFOV ctrlSetTextColor __ColorGray; + __JavelinIGUIWFOV ctrlSetTextColor __ColorGreen; +}; + +FUNC(disableFire) = { + _firedEH = _this select 0; + + if(_firedEH < 0 && difficulty > 0) then { + _firedEH = [ACE_player, "DefaultAction", {true}, { + _canFire = _this getVariable["ace_missileguidance_target", nil]; + if(!isNil "_canFire") exitWith { false }; + true + }] call EFUNC(common,addActionEventHandler); + }; + _firedEH +}; +FUNC(enableFire) = { + _firedEH = _this select 0; + + if(_firedEH > 0 && difficulty > 0) then { + [ACE_player, "DefaultAction", _firedEH] call EFUNC(common,removeActionEventHandler); + }; + -1 +}; + +if (isNull _newTarget) then { + // No targets found + _currentTarget = objNull; + _lockTime = 0; + + __JavelinIGUISeek ctrlSetTextColor __ColorGray; + __JavelinIGUITargeting ctrlShow false; + __JavelinIGUITargetingGate ctrlShow false; + __JavelinIGUITargetingLines ctrlShow false; + __JavelinIGUITargetingConstraints ctrlShow false; + + _currentShooter setVariable ["ace_missileguidance_target",nil, false]; + + // Disallow fire + _fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire); +} else { + _fov = [] call CBA_fnc_getFoV; + TRACE_1("FOV", _fov); + if (_newTarget distance ACE_player < 2500 + && {(call CBA_fnc_getFoV) select 1 > 9} + && { (currentVisionMode ACE_player == 2)} + && GVAR(isLockKeyDown) + ) then { + // Lock on after 3 seconds + if(_currentTarget != _newTarget) then { + TRACE_1("New Target, reseting locking", _newTarget); + _lockTime = diag_tickTime; + _currentTarget = _newTarget; + + playSound "ACE_Javelin_Locking"; + } else { + if(diag_tickTime - _lockTime > __LOCKONTIME + _randomLockInterval) then { + TRACE_2("LOCKED!", _currentTarget, _lockTime); + + __JavelinIGUISeek ctrlSetTextColor __ColorGreen; + + __JavelinIGUITargeting ctrlShow true; + __JavelinIGUITargetingConstrains ctrlShow false; + __JavelinIGUITargetingGate ctrlShow true; + __JavelinIGUITargetingLines ctrlShow true; + + // Move target marker to coords. + //__JavelinIGUITargetingLineV ctrlSetPosition [_aposX,ctrlPosition __JavelinIGUITargetingLineV select 1]; + //__JavelinIGUITargetingLineH ctrlSetPosition [ctrlPosition __JavelinIGUITargetingLineH select 0,_aposY]; + //{_x ctrlCommit __TRACKINTERVAL} forEach [__JavelinIGUITargetingLineH,__JavelinIGUITargetingLineV]; + + _boundsInput = if (_currentTarget isKindOf "CAManBase") then { + [_currentTarget,[-1,-1,-2],_currentTarget selectionPosition "body"]; + } else { + [_currentTarget,[-1,-1,-2],_currentTarget selectionPosition "zamerny"]; + }; + + _bpos = _boundsInput call EFUNC(common,worldToScreenBounds); + + _minX = ((_bpos select 0) + _offsetX) max _constraintLeft; + _minY = ((_bpos select 1) + _offsetY) max _constraintTop; + _maxX = ((_bpos select 2) + _offsetX) min (_constraintRight - 0.025*(3/4)*SafezoneH); + _maxY = ((_bpos select 3) + _offsetY) min (_constraintBottom - 0.025*SafezoneH); + + TRACE_4("", _boundsInput, _bpos, _minX, _minY); + + __JavelinIGUITargetingGateTL ctrlSetPosition [_minX,_minY]; + __JavelinIGUITargetingGateTR ctrlSetPosition [_maxX,_minY]; + __JavelinIGUITargetingGateBL ctrlSetPosition [_minX,_maxY]; + __JavelinIGUITargetingGateBR ctrlSetPosition [_maxX,_maxY]; + + {_x ctrlCommit __TRACKINTERVAL} forEach [__JavelinIGUITargetingGateTL,__JavelinIGUITargetingGateTR,__JavelinIGUITargetingGateBL,__JavelinIGUITargetingGateBR]; + + _currentShooter setVariable["ace_missileguidance_target", _currentTarget, false]; + + // Allow fire + _fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire); + + if(diag_tickTime > _soundTime) then { + playSound "ACE_Javelin_Locked"; + _soundTime = diag_tickTime + 0.25; + }; + } else { + __JavelinIGUITargeting ctrlShow true; + __JavelinIGUITargetingGate ctrlShow true; + __JavelinIGUITargetingConstrains ctrlShow true; + __JavelinIGUITargetingLines ctrlShow false; + + _currentShooter setVariable["ace_missileguidance_target", nil, false]; + + _boundsInput = if (_currentTarget isKindOf "CAManBase") then { + [_newTarget,[-1,-1,-2],_currentTarget selectionPosition "body"]; + } else { + [_newTarget,[-1,-1,-1],_currentTarget selectionPosition "zamerny"]; + }; + + _bpos = _boundsInput call EFUNC(common,worldToScreenBounds); + + _minX = ((_bpos select 0) + _offsetX) max _constraintLeft; + _minY = ((_bpos select 1) + _offsetY) max _constraintTop; + _maxX = ((_bpos select 2) + _offsetX) min (_constraintRight - 0.025*(3/4)*SafezoneH); + _maxY = ((_bpos select 3) + _offsetY) min (_constraintBottom - 0.025*SafezoneH); + + TRACE_4("", _boundsInput, _bpos, _minX, _minY); + + __JavelinIGUITargetingGateTL ctrlSetPosition [_minX,_minY]; + __JavelinIGUITargetingGateTR ctrlSetPosition [_maxX,_minY]; + __JavelinIGUITargetingGateBL ctrlSetPosition [_minX,_maxY]; + __JavelinIGUITargetingGateBR ctrlSetPosition [_maxX,_maxY]; + + {_x ctrlCommit __TRACKINTERVAL} forEach [__JavelinIGUITargetingGateTL,__JavelinIGUITargetingGateTR,__JavelinIGUITargetingGateBL,__JavelinIGUITargetingGateBR]; + + if(diag_tickTime > _soundTime) then { + playSound "ACE_Javelin_Locking"; + _soundTime = diag_tickTime + 0.25; + }; + // Disallow fire + _fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire); + }; + }; + } else { + // No targets found + _currentTarget = objNull; + _lockTime = 0; + + __JavelinIGUISeek ctrlSetTextColor __ColorGray; + __JavelinIGUITargeting ctrlShow false; + __JavelinIGUITargetingGate ctrlShow false; + __JavelinIGUITargetingLines ctrlShow false; + __JavelinIGUITargetingConstraints ctrlShow false; + + _currentShooter setVariable ["ace_missileguidance_target",nil, false]; + + // Disallow fire + _fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire); + }; +}; + +//TRACE_2("", _newTarget, _currentTarget); + +// Save arguments for next run +_args set[0, diag_tickTime]; +_args set[1, _currentTarget]; +_args set[2, _runTime]; +_args set[3, _lockTime]; +_args set[4, _soundTime]; +_args set[6, _fireDisabledEH]; + +uiNamespace setVariable[QGVAR(arguments), _args ]; diff --git a/addons/javelin/functions/fnc_onOpticLoad.sqf b/addons/javelin/functions/fnc_onOpticLoad.sqf new file mode 100644 index 0000000000..8e26806162 --- /dev/null +++ b/addons/javelin/functions/fnc_onOpticLoad.sqf @@ -0,0 +1,40 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); + +#define __LOCKONTIMERANDOM 2 // Deviation in lock on time + +if((count _this) > 0) then { + uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0]; +}; + +ACE_player setVariable ["ace_missileguidance_target",nil, false]; + +__JavelinIGUISeek ctrlSetTextColor __ColorGray; +__JavelinIGUINFOV ctrlSetTextColor __ColorGray; + +__JavelinIGUITargeting ctrlShow false; +__JavelinIGUITargetingConstrains ctrlShow false; +__JavelinIGUITargetingGate ctrlShow false; +__JavelinIGUITargetingLines ctrlShow false; + +uiNameSpace setVariable [QGVAR(arguments), + [ + 0, // Last runtime + objNull, // currentTargetObject + 0, // Run Time + 0, // Lock Time + 0, // Sound timer + (random __LOCKONTIMERANDOM), // random lock time addition + -1 + ] +]; + + + +_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; +if(!isNil "_pfh_handle") then { + [] call FUNC(onOpticUnload); // Unload optic if it was already loaded +}; +_pfh_handle = [FUNC(onOpticDraw), 0, []] call CBA_fnc_addPerFrameHandler; +uiNamespace setVariable["ACE_RscOptics_javelin_PFH", _pfh_handle]; diff --git a/addons/javelin/functions/fnc_onOpticUnload.sqf b/addons/javelin/functions/fnc_onOpticUnload.sqf new file mode 100644 index 0000000000..187b6cf589 --- /dev/null +++ b/addons/javelin/functions/fnc_onOpticUnload.sqf @@ -0,0 +1,21 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); +private["_args", "_disableFireEH", "_pfh"]; + +uiNameSpace setVariable ['ACE_RscOptics_javelin',nil]; + +_pfh = uiNamespace getVariable["ACE_RscOptics_javelin_PFH", nil ]; +if(!isNil "_pfh") then { + [_pfh] call CBA_fnc_removePerFrameHandler; + uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil]; +}; + +_args = uiNamespace getVariable[QGVAR(arguments), nil ]; +if(!isNil "_args") then { + _disableFireEH = _args select 6; + if(_disableFireEH > 0 && difficulty > 0) then { + [ACE_player, "DefaultAction", _disableFireEH] call EFUNC(common,removeActionEventHandler); + }; + uiNameSpace setVariable [QGVAR(arguments),nil]; +}; diff --git a/addons/javelin/functions/fnc_showFireMode.sqf b/addons/javelin/functions/fnc_showFireMode.sqf new file mode 100644 index 0000000000..88374548c0 --- /dev/null +++ b/addons/javelin/functions/fnc_showFireMode.sqf @@ -0,0 +1,14 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); + +private["_player", "_currentFireMode"]; + +_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"]; +if(_currentFireMode == "JAV_TOP") then { + __JavelinIGUITop ctrlSetTextColor __ColorGreen; + __JavelinIGUIDir ctrlSetTextColor __ColorGray; +} else { + __JavelinIGUITop ctrlSetTextColor __ColorGray; + __JavelinIGUIDir ctrlSetTextColor __ColorGreen; +}; \ No newline at end of file diff --git a/addons/javelin/functions/script_component.hpp b/addons/javelin/functions/script_component.hpp new file mode 100644 index 0000000000..21c6597c86 --- /dev/null +++ b/addons/javelin/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\javelin\script_component.hpp" \ No newline at end of file diff --git a/addons/javelin/initKeybinds.sqf b/addons/javelin/initKeybinds.sqf new file mode 100644 index 0000000000..ecce40bbf0 --- /dev/null +++ b/addons/javelin/initKeybinds.sqf @@ -0,0 +1,30 @@ +// by commy2 + +["ACE3", QGVAR(lockTarget), localize "STR_ACE_JAVELIN_LockTarget", +{ + if (GETGVAR(isLockKeyDown,false)) exitWith {false}; + + GVAR(isLockKeyDown) = true; + + // Statement + [ACE_player] call FUNC(lockKeyDown); + // Return false so it doesn't block the rest weapon action + false +}, +{ + // prevent holding down + GVAR(isLockKeyDown) = false; + + // Statement + [ACE_player] call FUNC(lockKeyUp); + false +}, +[15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key + +["ACE3", QGVAR(cycleFireMode), localize "STR_ACE_JAVELIN_CycleFireMode", +{ false }, +{ + [ACE_player] call FUNC(cycleFireMode); + false +}, +[15, [false, true, false]], false] call cba_fnc_addKeybind; //Ctrl+Tab Key \ No newline at end of file diff --git a/addons/javelin/script_component.hpp b/addons/javelin/script_component.hpp new file mode 100644 index 0000000000..7234a1e3d4 --- /dev/null +++ b/addons/javelin/script_component.hpp @@ -0,0 +1,62 @@ +#define COMPONENT javelin +#include "\z\ace\Addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_JAVELIN + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_JAVELIN + #define DEBUG_SETTINGS DEBUG_SETTINGS_JAVELIN +#endif + +#include "\z\ace\Addons\main\script_macros.hpp" + +#define ACE_JAV_FIREMODE_DIR 1 +#define ACE_JAV_FIREMODE_TOP 2 + + +// Javelin IGUI defines +#define __JavelinIGUI (uinamespace getVariable "ACE_RscOptics_javelin") + +// Custom controls +#define __JavelinIGUITargeting (__JavelinIGUI displayCtrl 6999) + +#define __JavelinIGUISeek (__JavelinIGUI displayCtrl 699000) +#define __JavelinIGUITop (__JavelinIGUI displayCtrl 699001) +#define __JavelinIGUIDir (__JavelinIGUI displayCtrl 699002) +#define __JavelinIGUINFOV (__JavelinIGUI displayCtrl 1003) +#define __JavelinIGUIWFOV (__JavelinIGUI displayCtrl 1004) +#define __JavelinIGUIRangefinder (__JavelinIGUI displayCtrl 151) + +// Constrains +#define __JavelinIGUITargetingConstrains (__JavelinIGUI displayCtrl 699100) +#define __JavelinIGUITargetingConstrainTop (__JavelinIGUI displayCtrl 699101) +#define __JavelinIGUITargetingConstrainBottom (__JavelinIGUI displayCtrl 699102) +#define __JavelinIGUITargetingConstrainLeft (__JavelinIGUI displayCtrl 699103) +#define __JavelinIGUITargetingConstrainRight (__JavelinIGUI displayCtrl 699104) + +// Targeting gate +#define __JavelinIGUITargetingGate (__JavelinIGUI displayCtrl 699200) +#define __JavelinIGUITargetingGateTL (__JavelinIGUI displayCtrl 699201) +#define __JavelinIGUITargetingGateTR (__JavelinIGUI displayCtrl 699202) +#define __JavelinIGUITargetingGateBL (__JavelinIGUI displayCtrl 699203) +#define __JavelinIGUITargetingGateBR (__JavelinIGUI displayCtrl 699204) + +// Rangefinder +#define __JavelinIGUIRangefinder (__JavelinIGUI displayCtrl 151) + +// Targeting lines +#define __JavelinIGUITargetingLines (__JavelinIGUI displayCtrl 699300) +#define __JavelinIGUITargetingLineH (__JavelinIGUI displayCtrl 699301) +#define __JavelinIGUITargetingLineV (__JavelinIGUI displayCtrl 699302) + +#define __ConstraintTop (((ctrlPosition __JavelinIGUITargetingConstrainTop) select 1) + ((ctrlPosition (__JavelinIGUITargetingConstrainTop)) select 3)) +#define __ConstraintBottom ((ctrlPosition __JavelinIGUITargetingConstrainBottom) select 1) +#define __ConstraintLeft (((ctrlPosition __JavelinIGUITargetingConstrainLeft) select 0) + ((ctrlPosition (__JavelinIGUITargetingConstrainLeft)) select 2)) +#define __ConstraintRight ((ctrlPosition __JavelinIGUITargetingConstrainRight) select 0) + +// Colors for controls +#define __ColorOrange [0.9255,0.5216,0.1216,1] +#define __ColorGreen [0.2941,0.8745,0.2157,1] +#define __ColorGray [0.2941,0.2941,0.2941,1] +#define __ColorNull [0,0,0,0] \ No newline at end of file diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml new file mode 100644 index 0000000000..33abcc1e49 --- /dev/null +++ b/addons/javelin/stringtable.xml @@ -0,0 +1,27 @@ + + + + + Lock Target (Hold) + Ziel aufschalten + Захватить цель (удерживать) + Zamknout cíl(držet) + Namierz cel (przytrzymaj) + Verrouiller la cible (maintenir) + Célpontra állás (Lenyomva tartott) + Aggangia il bersagio + Fijar objetivo (Mantener) + + + Cycle Fire Mode + Wechsle Feuermodus + Переключение режимов огня + Cyklování režimů palby + Przełącz tryb ognia + Cycle mode de tir + Tüzelési mód váltása + Alterna le modalità di fuoco + Cambiar modo de disparo + + + \ No newline at end of file diff --git a/addons/kestrel/$PBOPREFIX$ b/addons/kestrel/$PBOPREFIX$ deleted file mode 100644 index ca3fac2e96..0000000000 --- a/addons/kestrel/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\kestrel \ No newline at end of file diff --git a/addons/kestrel/CfgEventHandlers.hpp b/addons/kestrel/CfgEventHandlers.hpp deleted file mode 100644 index f0a9f14d91..0000000000 --- a/addons/kestrel/CfgEventHandlers.hpp +++ /dev/null @@ -1,6 +0,0 @@ - -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit)); - }; -}; diff --git a/addons/kestrel/CfgVehicles.hpp b/addons/kestrel/CfgVehicles.hpp deleted file mode 100644 index 31aea38bda..0000000000 --- a/addons/kestrel/CfgVehicles.hpp +++ /dev/null @@ -1,47 +0,0 @@ -class CfgVehicles { - class Man; - class CAManBase: Man { - class ACE_SelfActions { - class ACE_OpenKestrel { - displayName = "$STR_ACE_Wind_OpenKestrel"; - condition = QUOTE('ACE_Kestrel' in items _player && {!GVAR(isKestrel)}); - statement = QUOTE(call FUNC(openKestrel)); - showDisabled = 0; - priority = 2; - icon = PATHTOF(data\4500NV1.paa); - hotkey = "K"; - }; - class ACE_CloseKestrel { - displayName = "$STR_ACE_Wind_CloseKestrel"; - condition = QUOTE(GVAR(isKestrel)); - statement = QUOTE(call FUNC(closeKestrel)); - showDisabled = 0; - priority = 2; - icon = PATHTOF(data\4500NV1.paa); - hotkey = "K"; - }; - }; - }; - - class Item_Base_F; - class ACE_Item_Kestrel: Item_Base_F { - author = "$STR_ACE_Common_ACETeam"; - scope = 2; - scopeCurator = 2; - displayName = "$STR_ACE_Kestrel_Name"; - vehicleClass = "Items"; - class TransportItems { - class ACE_Kestrel { - name = "ACE_Kestrel"; - count = 1; - }; - }; - }; - - class Box_NATO_Support_F; - class ACE_Box_Misc: Box_NATO_Support_F { - class TransportItems { - MACRO_ADDITEM(ACE_Kestrel,6); - }; - }; -}; diff --git a/addons/kestrel/CfgWeapons.hpp b/addons/kestrel/CfgWeapons.hpp deleted file mode 100644 index 6db0e4b7d4..0000000000 --- a/addons/kestrel/CfgWeapons.hpp +++ /dev/null @@ -1,20 +0,0 @@ - -class CfgWeapons { - class ACE_ItemCore; - class InventoryItem_Base_F; - - class ACE_Kestrel: ACE_ItemCore { - author = "$STR_ACE_Common_ACETeam"; - scope = 2; - displayName = "$STR_ACE_Kestrel_Name"; - descriptionShort = "$STR_ACE_Kestrel_Description"; - model = PATHTOF(kestrel4500.p3d); - picture = PATHTOF(data\4500NV.paa); - icon = "iconObject_circle"; - mapSize = 0.034; - - class ItemInfo: InventoryItem_Base_F { - mass = 2; - }; - }; -}; diff --git a/addons/kestrel/README.md b/addons/kestrel/README.md deleted file mode 100644 index f5b91783c1..0000000000 --- a/addons/kestrel/README.md +++ /dev/null @@ -1,12 +0,0 @@ -ace_kestrel -=========== - -Adds the Kestrel weather and wind meter. - - -## Maintainers - -The people responsible for merging changes to this component or answering potential questions. - -- [KoffeinFlummi](https://github.com/KoffeinFlummi) -- [commy2](https://github.com/commy2) diff --git a/addons/kestrel/RscTitles.hpp b/addons/kestrel/RscTitles.hpp deleted file mode 100644 index 2530dbcda7..0000000000 --- a/addons/kestrel/RscTitles.hpp +++ /dev/null @@ -1,125 +0,0 @@ - -class RscPicture; -class RscText; - -class RscTitles { - class ACE_Kestrel { - onload = QUOTE(_this call FUNC(onLoadKestrel)); - //onunload = ""; - idd = -1; - movingEnable = 0; - enableDisplay = 1; - duration = 1e+011; - fadein = 0; - fadeout = 0; - enablesimulation = 1; - - class controls { - // has to be first to be in the background - class Wheel: RscPicture { - idc = 3; - type = 0; - style = "48 + 0x800"; - text = ""; - x = "safeZoneX + 0.07"; - y = "safeZoneY + safeZoneH - 0.76"; - h = "0.15"; - w = "0.15"; - }; - - class Kestrel1: RscPicture { - idc = 1; - text = PATHTOF(data\4500NV1.paa); - style = "48 + 0x800"; - x = "safeZoneX - 0.25"; - y = "safeZoneY + safeZoneH - 0.8"; - h = "0.75"; - w = "0.75"; - }; - class Kestrel2: Kestrel1 { - idc = 2; - text = PATHTOF(data\4500NV2.paa); - colorText[] = {0,0,0,1-(sunOrMoon*sunOrMoon+(moonIntensity/5))}; - }; - - class HUD1: RscText { - idc = 11; - type = 0; - style = 1; - text = ""; - x = "safeZoneX + 0.08"; - y = "safeZoneY + safeZoneH - 0.51"; - h = "0.09"; - w = "0.108"; - shadow = 0; - font = "PuristaMedium"; - sizeEx = 0.04; - colorText[] = {0.0745,0.2196,0.1216,0.7}; - colorBackground[] = {0,0,0,0}; - lineSpacing = 1; - }; - class HUD2: HUD1 { - idc = 12; - y = "safeZoneY + safeZoneH - 0.48"; - }; - class HUD3: HUD1 { - idc = 13; - y = "safeZoneY + safeZoneH - 0.45"; - }; - class HUD4: HUD1 { - idc = 14; - y = "safeZoneY + safeZoneH - 0.418"; - }; - }; - }; - - // helper class to prevent flickering. Used together with preloadTitleRsc command. - class ACE_Kestrel_Preload { - idd = -1; - movingEnable = 0; - duration = 1e+011; - fadein = 0; - fadeout = 0; - class controls { - class Preload_0: RscPicture { - text = PATHTOF(data\kestrel_0.paa); - }; - class Preload_1: Preload_0 { - text = PATHTOF(data\kestrel_1.paa); - }; - class Preload_2: Preload_0 { - text = PATHTOF(data\kestrel_2.paa); - }; - class Preload_3: Preload_0 { - text = PATHTOF(data\kestrel_3.paa); - }; - class Preload_4: Preload_0 { - text = PATHTOF(data\kestrel_4.paa); - }; - class Preload_5: Preload_0 { - text = PATHTOF(data\kestrel_5.paa); - }; - class Preload_6: Preload_0 { - text = PATHTOF(data\kestrel_6.paa); - }; - class Preload_7: Preload_0 { - text = PATHTOF(data\kestrel_7.paa); - }; - class Preload_8: Preload_0 { - text = PATHTOF(data\kestrel_8.paa); - }; - class Preload_9: Preload_0 { - text = PATHTOF(data\kestrel_9.paa); - }; - /*class Preload_A: Preload_0 { - text = PATHTOF(data\4500NV.paa); - }; - class Preload_B: Preload_0 { - text = PATHTOF(data\4500NV1.paa); - }; - class Preload_C: Preload_0 { - text = PATHTOF(data\4500NV2.paa); - };*/ - }; - }; -}; diff --git a/addons/kestrel/XEH_preInit.sqf b/addons/kestrel/XEH_preInit.sqf deleted file mode 100644 index 09d9b1a0ef..0000000000 --- a/addons/kestrel/XEH_preInit.sqf +++ /dev/null @@ -1,11 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; - -PREP(onLoadKestrel); -PREP(openKestrel); -PREP(closeKestrel); - -GVAR(isKestrel) = false; - -ADDON = true; diff --git a/addons/kestrel/config.cpp b/addons/kestrel/config.cpp deleted file mode 100644 index b79dcd5825..0000000000 --- a/addons/kestrel/config.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {"ACE_Item_Kestrel"}; - weapons[] = {"ACE_Kestrel"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common","ace_interaction"}; - author[] = {"Falke","commy2","KoffeinFlummi","esteldunedain"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "RscTitles.hpp" diff --git a/addons/kestrel/data/4500NV.paa b/addons/kestrel/data/4500NV.paa deleted file mode 100644 index fd72433b9e..0000000000 Binary files a/addons/kestrel/data/4500NV.paa and /dev/null differ diff --git a/addons/kestrel/data/4500NV1.paa b/addons/kestrel/data/4500NV1.paa deleted file mode 100644 index 9a29b346fb..0000000000 Binary files a/addons/kestrel/data/4500NV1.paa and /dev/null differ diff --git a/addons/kestrel/data/4500NV2.paa b/addons/kestrel/data/4500NV2.paa deleted file mode 100644 index 992743a3a6..0000000000 Binary files a/addons/kestrel/data/4500NV2.paa and /dev/null differ diff --git a/addons/kestrel/data/arrow1.paa b/addons/kestrel/data/arrow1.paa deleted file mode 100644 index 8edb257ead..0000000000 Binary files a/addons/kestrel/data/arrow1.paa and /dev/null differ diff --git a/addons/kestrel/data/body.paa b/addons/kestrel/data/body.paa deleted file mode 100644 index bec55bb418..0000000000 Binary files a/addons/kestrel/data/body.paa and /dev/null differ diff --git a/addons/kestrel/data/gpstemp.paa b/addons/kestrel/data/gpstemp.paa deleted file mode 100644 index ef45fe406c..0000000000 Binary files a/addons/kestrel/data/gpstemp.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_0.paa b/addons/kestrel/data/kestrel_0.paa deleted file mode 100644 index 190c25f100..0000000000 Binary files a/addons/kestrel/data/kestrel_0.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_1.paa b/addons/kestrel/data/kestrel_1.paa deleted file mode 100644 index fe757888e4..0000000000 Binary files a/addons/kestrel/data/kestrel_1.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_2.paa b/addons/kestrel/data/kestrel_2.paa deleted file mode 100644 index 1b0fda0a65..0000000000 Binary files a/addons/kestrel/data/kestrel_2.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_3.paa b/addons/kestrel/data/kestrel_3.paa deleted file mode 100644 index 659f4597a3..0000000000 Binary files a/addons/kestrel/data/kestrel_3.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_4.paa b/addons/kestrel/data/kestrel_4.paa deleted file mode 100644 index abb1ed6580..0000000000 Binary files a/addons/kestrel/data/kestrel_4.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_5.paa b/addons/kestrel/data/kestrel_5.paa deleted file mode 100644 index 800ed80d8b..0000000000 Binary files a/addons/kestrel/data/kestrel_5.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_6.paa b/addons/kestrel/data/kestrel_6.paa deleted file mode 100644 index 784e441c21..0000000000 Binary files a/addons/kestrel/data/kestrel_6.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_7.paa b/addons/kestrel/data/kestrel_7.paa deleted file mode 100644 index 9452286c2d..0000000000 Binary files a/addons/kestrel/data/kestrel_7.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_8.paa b/addons/kestrel/data/kestrel_8.paa deleted file mode 100644 index 31fe71ce84..0000000000 Binary files a/addons/kestrel/data/kestrel_8.paa and /dev/null differ diff --git a/addons/kestrel/data/kestrel_9.paa b/addons/kestrel/data/kestrel_9.paa deleted file mode 100644 index 978506ef5d..0000000000 Binary files a/addons/kestrel/data/kestrel_9.paa and /dev/null differ diff --git a/addons/kestrel/data/rad.paa b/addons/kestrel/data/rad.paa deleted file mode 100644 index 13a3ffe6f7..0000000000 Binary files a/addons/kestrel/data/rad.paa and /dev/null differ diff --git a/addons/kestrel/data/tasten.paa b/addons/kestrel/data/tasten.paa deleted file mode 100644 index 8a140ec5f0..0000000000 Binary files a/addons/kestrel/data/tasten.paa and /dev/null differ diff --git a/addons/kestrel/data/tasten1.paa b/addons/kestrel/data/tasten1.paa deleted file mode 100644 index af441a51de..0000000000 Binary files a/addons/kestrel/data/tasten1.paa and /dev/null differ diff --git a/addons/kestrel/functions/fnc_closeKestrel.sqf b/addons/kestrel/functions/fnc_closeKestrel.sqf deleted file mode 100644 index cfec327da6..0000000000 --- a/addons/kestrel/functions/fnc_closeKestrel.sqf +++ /dev/null @@ -1,6 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -GVAR(isKestrel) = false; - -(["ACE_Kestrel"] call BIS_fnc_rscLayer) cutText ["", "PLAIN", 0, false]; diff --git a/addons/kestrel/functions/fnc_onLoadKestrel.sqf b/addons/kestrel/functions/fnc_onLoadKestrel.sqf deleted file mode 100644 index cdfc325698..0000000000 --- a/addons/kestrel/functions/fnc_onLoadKestrel.sqf +++ /dev/null @@ -1,156 +0,0 @@ -// by Falke, commy2 -#include "script_component.hpp" - -GVAR(windHead) = 0; -GVAR(wheelState) = 1; - -[{ - - // exit loop - if (!GVAR(isKestrel) || {!("ACE_Kestrel" in items ACE_player)}) exitWith { - call FUNC(closeKestrel); - - [_this select 1] call CBA_fnc_removePerFrameHandler; - }; - - // get controls - private ["_dlgKestrel", "_ctrlKestrel1", "_ctrlKestrelWheel", "_ctrlKestrel2", "_ctrlHUD1", "_ctrlHUD2", "_ctrlHUD3", "_ctrlHUD4"]; - - disableSerialization; - _dlgKestrel = _this select 0; - _ctrlKestrel1 = _dlgKestrel displayCtrl 1; - _ctrlKestrel2 = _dlgKestrel displayCtrl 2; - _ctrlKestrelWheel = _dlgKestrel displayCtrl 3; - _ctrlHUD1 = _dlgKestrel displayCtrl 11; - _ctrlHUD2 = _dlgKestrel displayCtrl 12; - _ctrlHUD3 = _dlgKestrel displayCtrl 13; - _ctrlHUD4 = _dlgKestrel displayCtrl 14; - - // don't show the kestrel in gunner view - private "_show"; - _show = cameraView != "GUNNER"; - - _ctrlKestrel1 ctrlShow _show; - _ctrlKestrel2 ctrlShow _show; - _ctrlKestrelWheel ctrlShow _show; - _ctrlHUD1 ctrlShow _show; - _ctrlHUD2 ctrlShow _show; - _ctrlHUD3 ctrlShow _show; - _ctrlHUD4 ctrlShow _show; - - if !(_show) exitWith {}; - - // handle shown values - private ["_position", "_directon", "_windC", "_windD", "_windR", "_windB", "_windA"]; - - _position = eyePos ACE_player; - _directon = direction ACE_player; - - _windC = sqrt ((wind select 0) ^ 2 + (wind select 1) ^ 2); - _windD = (wind select 0) atan2 (wind select 1); - - _windR = _directon - _windD; - - if (_windR < 0) then { - _windR = _windR + 360; - }; - - _windB = _windC * sin _windR; - _windA = sqrt (_windC ^ 2 - _windB ^ 2); - - if (_windR < 90) then { - _windA = _windA - 2 * _windA; - }; - - if (_windR > 270) then { - _windA = _windA - 2 * _windA; - }; - - // in building - _intersects = 0; - if (lineIntersects [_position, _position vectorAdd [0, 0, 15]]) then {_intersects = _intersects + 1}; - - if (lineIntersects [_position, _position vectorAdd [- 15 * sin windDir, - 15 * cos windDir, 0]]) then {_intersects = _intersects + 1}; - if (lineIntersects [_position, _position vectorAdd [- 15 * sin (windDir - 90), - 15 * cos (windDir - 90), 0]]) then {_intersects = _intersects + 1}; - if (lineIntersects [_position, _position vectorAdd [- 15 * sin (windDir + 90), - 15 * cos (windDir + 90), 0]]) then {_intersects = _intersects + 1}; - if (lineIntersects [_position, _position vectorAdd [- 15 * sin (windDir + 180), - 15 * cos (windDir + 180), 0]]) then {_intersects = _intersects + 1}; - - if (_intersects > 3) then { - _windA = 99.99; - _windB = 99.99; - }; - - // in wind direction - _intersects = 0; - if (lineIntersects [_position, _position vectorAdd [- 5 * sin windDir, - 5 * cos windDir, 0]]) then {_intersects = _intersects + 1}; - if (lineIntersects [_position, _position vectorAdd [- 5 * sin (windDir - 15), - 5 * cos (windDir - 15), 0]]) then {_intersects = _intersects + 1}; - if (lineIntersects [_position, _position vectorAdd [- 5 * sin (windDir + 15), - 5 * cos (windDir + 15), 0]]) then {_intersects = _intersects + 1}; - - if (_intersects > 2) then { - _windA = 99.99; - _windB = 99.99; - }; - - if (ACE_player != vehicle ACE_player) then { - _windA = 99.99; - _windB = 99.99; - }; - - if (_windA == 99.99) then { - - GVAR(windHead) = 0; - - _windA = "0.00"; - _windB = "0.00"; - - } else { - - GVAR(windHead) = _windA; - - if (_windA < 0) then { - _windA = format ["-%1", [-1 * _windA, 1, 2] call CBA_fnc_formatNumber]; - } else { - _windA = format [ "%1", [ _windA, 1, 2] call CBA_fnc_formatNumber]; - }; - - if (_windB < 0) then { - _windB = format ["-%1", [-1 * _windB, 1, 2] call CBA_fnc_formatNumber]; - } else { - _windB = format [ "%1", [ _windB, 1, 2] call CBA_fnc_formatNumber]; - }; - - }; - - _directon = round _directon; - if (_directon == 360) then {_directon = 0}; - - _ctrlHUD1 ctrlSetText _windA; - _ctrlHUD2 ctrlSetText _windB; - _ctrlHUD3 ctrlSetText str _directon; - _ctrlHUD4 ctrlSetText str ((round (EGVAR(weather,currentTemperature) * 10)) / 10); - - // adjust kestrel picture in the dark - private "_brightness"; - _brightness = call EFUNC(common,ambientBrightness); - - _ctrlKestrel2 ctrlSetTextColor [0, 0, 0, 1 - _brightness]; - - // handle wheel - private ["_wheelState", "_wheelStateAdd"]; - - _wheelState = GVAR(wheelState); - _wheelStateAdd = ((round GVAR(windHead) * 2) min 5) max -5; - - _wheelState = _wheelState + _wheelStateAdd; - - if (_wheelState < 0) then {_wheelState = _wheelState + 9}; - if (_wheelState > 9) then {_wheelState = _wheelState - 9}; - - GVAR(wheelState) = _wheelState; - - if (preloadTitleRsc ["ACE_Kestrel_Preload", "PLAIN"]) then { - _ctrlKestrelWheel ctrlSetText format [QUOTE(PATHTOF(data\kestrel_%1.paa)), _wheelState]; - _ctrlKestrelWheel ctrlSetTextColor [_brightness, _brightness, _brightness, 1]; - }; - -}, 0.01, _this select 0] call CBA_fnc_addPerFrameHandler; diff --git a/addons/kestrel/functions/fnc_openKestrel.sqf b/addons/kestrel/functions/fnc_openKestrel.sqf deleted file mode 100644 index 25ec9eba67..0000000000 --- a/addons/kestrel/functions/fnc_openKestrel.sqf +++ /dev/null @@ -1,6 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -GVAR(isKestrel) = true; - -(["ACE_Kestrel"] call BIS_fnc_rscLayer) cutRsc ["ACE_Kestrel", "PLAIN", 0, false]; diff --git a/addons/kestrel/functions/script_component.hpp b/addons/kestrel/functions/script_component.hpp deleted file mode 100644 index 528b26affc..0000000000 --- a/addons/kestrel/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\kestrel\script_component.hpp" \ No newline at end of file diff --git a/addons/kestrel/kestrel4500.p3d b/addons/kestrel/kestrel4500.p3d deleted file mode 100644 index 43cb6ce9d5..0000000000 Binary files a/addons/kestrel/kestrel4500.p3d and /dev/null differ diff --git a/addons/kestrel/kestrel4500rad.p3d b/addons/kestrel/kestrel4500rad.p3d deleted file mode 100644 index 7b2b62ccf5..0000000000 Binary files a/addons/kestrel/kestrel4500rad.p3d and /dev/null differ diff --git a/addons/kestrel/script_component.hpp b/addons/kestrel/script_component.hpp deleted file mode 100644 index a38231c511..0000000000 --- a/addons/kestrel/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT kestrel -#include "\z\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_KESTREL - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_ENABLED_KESTREL - #define DEBUG_SETTINGS DEBUG_ENABLED_KESTREL -#endif - -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/kestrel/stringtable.xml b/addons/kestrel/stringtable.xml deleted file mode 100644 index 5f54fd6489..0000000000 --- a/addons/kestrel/stringtable.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - Approximate Temperature - Ungefähre Temperatur - Temperatura aproximada - Estimer la température - Przybliżona temperatura - Odhadovaná teplota - Hőmérséklet nagyábol - Примерная температура - - - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - - - Applied Ballistics Meter - Applied Ballistics Meter - Anemómetro balístico - Applied Ballistics Meter - Urządzenie do monitorowania pogody - Zařízení pro měření vítru - Monitoraggio Balistico Attivo - Applied Ballistics Meter - Medidor Balístico Ativo - метеостанция - - - Open Kestrel - Kestrel öffnen - Abrir Kestrel - Ouvrir Kestrel - Otwórz Kestrel - Otevřít Kestrel - Abrir Kestrel - Apri Kestrel - Kestrel bekapcsolása - Открыть Kestrel - - - Close Kestrel - Kestrel schließen - Cerrar Kestrel - Fermer Kestrel - Zamknij Kestrel - Zavřít Kestrel - Fechar Kestrel - Chiudi Kestrel - Kestrel kikapcsolása - Закрыть Kestrel - - - \ No newline at end of file diff --git a/addons/kestrel/ui/WindLight-01.paa b/addons/kestrel/ui/WindLight-01.paa deleted file mode 100644 index 9865029c93..0000000000 Binary files a/addons/kestrel/ui/WindLight-01.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-02.paa b/addons/kestrel/ui/WindLight-02.paa deleted file mode 100644 index a02147e6ee..0000000000 Binary files a/addons/kestrel/ui/WindLight-02.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-03.paa b/addons/kestrel/ui/WindLight-03.paa deleted file mode 100644 index 340cfdcd6e..0000000000 Binary files a/addons/kestrel/ui/WindLight-03.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-04.paa b/addons/kestrel/ui/WindLight-04.paa deleted file mode 100644 index 6d8404fb86..0000000000 Binary files a/addons/kestrel/ui/WindLight-04.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-05.paa b/addons/kestrel/ui/WindLight-05.paa deleted file mode 100644 index 2de5cdbd74..0000000000 Binary files a/addons/kestrel/ui/WindLight-05.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-06.paa b/addons/kestrel/ui/WindLight-06.paa deleted file mode 100644 index c5e0a40af7..0000000000 Binary files a/addons/kestrel/ui/WindLight-06.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-07.paa b/addons/kestrel/ui/WindLight-07.paa deleted file mode 100644 index 4df57f7585..0000000000 Binary files a/addons/kestrel/ui/WindLight-07.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-08.paa b/addons/kestrel/ui/WindLight-08.paa deleted file mode 100644 index 8c5012502f..0000000000 Binary files a/addons/kestrel/ui/WindLight-08.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-09.paa b/addons/kestrel/ui/WindLight-09.paa deleted file mode 100644 index 15173a56ab..0000000000 Binary files a/addons/kestrel/ui/WindLight-09.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-10.paa b/addons/kestrel/ui/WindLight-10.paa deleted file mode 100644 index 83c860cecb..0000000000 Binary files a/addons/kestrel/ui/WindLight-10.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-11.paa b/addons/kestrel/ui/WindLight-11.paa deleted file mode 100644 index 8beeb80d98..0000000000 Binary files a/addons/kestrel/ui/WindLight-11.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-12.paa b/addons/kestrel/ui/WindLight-12.paa deleted file mode 100644 index d9a62f9e81..0000000000 Binary files a/addons/kestrel/ui/WindLight-12.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-13.paa b/addons/kestrel/ui/WindLight-13.paa deleted file mode 100644 index 87a8dfcca9..0000000000 Binary files a/addons/kestrel/ui/WindLight-13.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-14.paa b/addons/kestrel/ui/WindLight-14.paa deleted file mode 100644 index f9200aaf2d..0000000000 Binary files a/addons/kestrel/ui/WindLight-14.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-15.paa b/addons/kestrel/ui/WindLight-15.paa deleted file mode 100644 index e3ee52d21e..0000000000 Binary files a/addons/kestrel/ui/WindLight-15.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindLight-16.paa b/addons/kestrel/ui/WindLight-16.paa deleted file mode 100644 index 9b835e62c4..0000000000 Binary files a/addons/kestrel/ui/WindLight-16.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-01.paa b/addons/kestrel/ui/WindModerate-01.paa deleted file mode 100644 index fd4d255c35..0000000000 Binary files a/addons/kestrel/ui/WindModerate-01.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-02.paa b/addons/kestrel/ui/WindModerate-02.paa deleted file mode 100644 index db6e8dcebc..0000000000 Binary files a/addons/kestrel/ui/WindModerate-02.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-03.paa b/addons/kestrel/ui/WindModerate-03.paa deleted file mode 100644 index 300934ff37..0000000000 Binary files a/addons/kestrel/ui/WindModerate-03.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-04.paa b/addons/kestrel/ui/WindModerate-04.paa deleted file mode 100644 index f7b8331dae..0000000000 Binary files a/addons/kestrel/ui/WindModerate-04.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-05.paa b/addons/kestrel/ui/WindModerate-05.paa deleted file mode 100644 index a3b0a532ff..0000000000 Binary files a/addons/kestrel/ui/WindModerate-05.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-06.paa b/addons/kestrel/ui/WindModerate-06.paa deleted file mode 100644 index 495ec6bc15..0000000000 Binary files a/addons/kestrel/ui/WindModerate-06.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-07.paa b/addons/kestrel/ui/WindModerate-07.paa deleted file mode 100644 index d0471a4c4f..0000000000 Binary files a/addons/kestrel/ui/WindModerate-07.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-08.paa b/addons/kestrel/ui/WindModerate-08.paa deleted file mode 100644 index 967e9d8ef7..0000000000 Binary files a/addons/kestrel/ui/WindModerate-08.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-09.paa b/addons/kestrel/ui/WindModerate-09.paa deleted file mode 100644 index 54ef3eabf9..0000000000 Binary files a/addons/kestrel/ui/WindModerate-09.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-10.paa b/addons/kestrel/ui/WindModerate-10.paa deleted file mode 100644 index e7608c2e02..0000000000 Binary files a/addons/kestrel/ui/WindModerate-10.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-11.paa b/addons/kestrel/ui/WindModerate-11.paa deleted file mode 100644 index 6d1ce9418e..0000000000 Binary files a/addons/kestrel/ui/WindModerate-11.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-12.paa b/addons/kestrel/ui/WindModerate-12.paa deleted file mode 100644 index 2b853dca89..0000000000 Binary files a/addons/kestrel/ui/WindModerate-12.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-13.paa b/addons/kestrel/ui/WindModerate-13.paa deleted file mode 100644 index 56443ab4f9..0000000000 Binary files a/addons/kestrel/ui/WindModerate-13.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-14.paa b/addons/kestrel/ui/WindModerate-14.paa deleted file mode 100644 index 06cb4610fb..0000000000 Binary files a/addons/kestrel/ui/WindModerate-14.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-15.paa b/addons/kestrel/ui/WindModerate-15.paa deleted file mode 100644 index 5f548b6ac9..0000000000 Binary files a/addons/kestrel/ui/WindModerate-15.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindModerate-16.paa b/addons/kestrel/ui/WindModerate-16.paa deleted file mode 100644 index 617e83193d..0000000000 Binary files a/addons/kestrel/ui/WindModerate-16.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-01.paa b/addons/kestrel/ui/WindStrong-01.paa deleted file mode 100644 index 87c2db663c..0000000000 Binary files a/addons/kestrel/ui/WindStrong-01.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-02.paa b/addons/kestrel/ui/WindStrong-02.paa deleted file mode 100644 index 8d29483635..0000000000 Binary files a/addons/kestrel/ui/WindStrong-02.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-03.paa b/addons/kestrel/ui/WindStrong-03.paa deleted file mode 100644 index fc08f14e1b..0000000000 Binary files a/addons/kestrel/ui/WindStrong-03.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-04.paa b/addons/kestrel/ui/WindStrong-04.paa deleted file mode 100644 index 3fbbd70302..0000000000 Binary files a/addons/kestrel/ui/WindStrong-04.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-05.paa b/addons/kestrel/ui/WindStrong-05.paa deleted file mode 100644 index 2254b0d545..0000000000 Binary files a/addons/kestrel/ui/WindStrong-05.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-06.paa b/addons/kestrel/ui/WindStrong-06.paa deleted file mode 100644 index 6054696d61..0000000000 Binary files a/addons/kestrel/ui/WindStrong-06.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-07.paa b/addons/kestrel/ui/WindStrong-07.paa deleted file mode 100644 index d62308dfc9..0000000000 Binary files a/addons/kestrel/ui/WindStrong-07.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-08.paa b/addons/kestrel/ui/WindStrong-08.paa deleted file mode 100644 index cce04ab099..0000000000 Binary files a/addons/kestrel/ui/WindStrong-08.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-09.paa b/addons/kestrel/ui/WindStrong-09.paa deleted file mode 100644 index e2c53aec6f..0000000000 Binary files a/addons/kestrel/ui/WindStrong-09.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-10.paa b/addons/kestrel/ui/WindStrong-10.paa deleted file mode 100644 index 609b54096a..0000000000 Binary files a/addons/kestrel/ui/WindStrong-10.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-11.paa b/addons/kestrel/ui/WindStrong-11.paa deleted file mode 100644 index 705cc5bd10..0000000000 Binary files a/addons/kestrel/ui/WindStrong-11.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-12.paa b/addons/kestrel/ui/WindStrong-12.paa deleted file mode 100644 index d8d585d6eb..0000000000 Binary files a/addons/kestrel/ui/WindStrong-12.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-13.paa b/addons/kestrel/ui/WindStrong-13.paa deleted file mode 100644 index d903c832ab..0000000000 Binary files a/addons/kestrel/ui/WindStrong-13.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-14.paa b/addons/kestrel/ui/WindStrong-14.paa deleted file mode 100644 index 91153a801b..0000000000 Binary files a/addons/kestrel/ui/WindStrong-14.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-15.paa b/addons/kestrel/ui/WindStrong-15.paa deleted file mode 100644 index d0a34d79e4..0000000000 Binary files a/addons/kestrel/ui/WindStrong-15.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindStrong-16.paa b/addons/kestrel/ui/WindStrong-16.paa deleted file mode 100644 index 1be25039e4..0000000000 Binary files a/addons/kestrel/ui/WindStrong-16.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-01.paa b/addons/kestrel/ui/WindVeryLight-01.paa deleted file mode 100644 index 561e52ec88..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-01.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-02.paa b/addons/kestrel/ui/WindVeryLight-02.paa deleted file mode 100644 index fbce91664a..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-02.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-03.paa b/addons/kestrel/ui/WindVeryLight-03.paa deleted file mode 100644 index f20ced9770..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-03.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-04.paa b/addons/kestrel/ui/WindVeryLight-04.paa deleted file mode 100644 index 6b104848da..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-04.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-05.paa b/addons/kestrel/ui/WindVeryLight-05.paa deleted file mode 100644 index f8e30a0c64..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-05.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-06.paa b/addons/kestrel/ui/WindVeryLight-06.paa deleted file mode 100644 index 3a11d94cba..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-06.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-07.paa b/addons/kestrel/ui/WindVeryLight-07.paa deleted file mode 100644 index b956cb478b..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-07.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-08.paa b/addons/kestrel/ui/WindVeryLight-08.paa deleted file mode 100644 index 090f630d8f..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-08.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-09.paa b/addons/kestrel/ui/WindVeryLight-09.paa deleted file mode 100644 index d8b8b7eff1..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-09.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-10.paa b/addons/kestrel/ui/WindVeryLight-10.paa deleted file mode 100644 index 0151ad3779..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-10.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-11.paa b/addons/kestrel/ui/WindVeryLight-11.paa deleted file mode 100644 index 241980a1e0..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-11.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-12.paa b/addons/kestrel/ui/WindVeryLight-12.paa deleted file mode 100644 index adcaf136fa..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-12.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-13.paa b/addons/kestrel/ui/WindVeryLight-13.paa deleted file mode 100644 index d381f0cc9e..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-13.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-14.paa b/addons/kestrel/ui/WindVeryLight-14.paa deleted file mode 100644 index 0e77f697e2..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-14.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-15.paa b/addons/kestrel/ui/WindVeryLight-15.paa deleted file mode 100644 index ad283a4d76..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-15.paa and /dev/null differ diff --git a/addons/kestrel/ui/WindVeryLight-16.paa b/addons/kestrel/ui/WindVeryLight-16.paa deleted file mode 100644 index b7ae70a989..0000000000 Binary files a/addons/kestrel/ui/WindVeryLight-16.paa and /dev/null differ diff --git a/addons/kestrel/ui/noWind.paa b/addons/kestrel/ui/noWind.paa deleted file mode 100644 index 8fa262c286..0000000000 Binary files a/addons/kestrel/ui/noWind.paa and /dev/null differ diff --git a/addons/kestrel4500/CfgEventHandlers.hpp b/addons/kestrel4500/CfgEventHandlers.hpp new file mode 100644 index 0000000000..2a05b72298 --- /dev/null +++ b/addons/kestrel4500/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_postInit) ); + }; +}; \ No newline at end of file diff --git a/addons/kestrel4500/CfgSound.hpp b/addons/kestrel4500/CfgSound.hpp new file mode 100644 index 0000000000..957863bc9d --- /dev/null +++ b/addons/kestrel4500/CfgSound.hpp @@ -0,0 +1,39 @@ +class CfgSounds +{ + class kestrel4500_center_button_click + { + name="kestrel4500_center_button_click"; + sound[]={PATHTOF(sound\kestrel_center_button_click.wav),1,1}; + titles[]={}; + }; + class kestrel4500_top_button_click + { + name="kestrel4500_top_button_click"; + sound[]={PATHTOF(sound\kestrel_top_button_click.wav),1,1}; + titles[]={}; + }; + class kestrel4500_right_button_click + { + name="kestrel4500_right_button_click"; + sound[]={PATHTOF(sound\kestrel_right_button_click.wav),1,1}; + titles[]={}; + }; + class kestrel4500_bottom_button_click + { + name="kestrel4500_bottom_button_click"; + sound[]={PATHTOF(sound\kestrel_bottom_button_click.wav),1,1}; + titles[]={}; + }; + class kestrel4500_left_button_click + { + name="kestrel4500_left_button_click"; + sound[]={PATHTOF(sound\kestrel_left_button_click.wav),1,1}; + titles[]={}; + }; + class kestrel4500_exit_button_click + { + name="kestrel4500_exit_button_click"; + sound[]={PATHTOF(sound\kestrel_exit_button_click.wav),1,1}; + titles[]={}; + }; +}; \ No newline at end of file diff --git a/addons/kestrel4500/CfgVehicles.hpp b/addons/kestrel4500/CfgVehicles.hpp new file mode 100644 index 0000000000..20d8bf5b62 --- /dev/null +++ b/addons/kestrel4500/CfgVehicles.hpp @@ -0,0 +1,58 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Equipment { + class GVAR(open) { + displayName = "$STR_ACE_Kestrel4500_OpenKestrel"; + condition = QUOTE(call FUNC(canShow) && !GVAR(Kestrel4500)); + statement = QUOTE(call FUNC(createKestrelDialog)); + showDisabled = 0; + priority = 0.1; + icon = QUOTE(PATHTOF(UI\Kestrel4500_Icon.paa)); + exceptions[] = {"notOnMap"}; + }; + class GVAR(show) { + displayName = "$STR_ACE_Kestrel4500_ShowKestrel"; + condition = QUOTE(call FUNC(canShow) && !GVAR(Overlay)); + statement = QUOTE(call FUNC(displayKestrel)); + showDisabled = 0; + priority = 0.2; + icon = QUOTE(PATHTOF(UI\Kestrel4500_Icon.paa)); + exceptions[] = {"notOnMap", "isNotInside"}; + }; + class GVAR(hide) { + displayName = "$STR_ACE_Kestrel4500_HideKestrel"; + condition = QUOTE(GVAR(Overlay)); + statement = QUOTE(call FUNC(displayKestrel)); + showDisabled = 0; + priority = 0.3; + icon = QUOTE(PATHTOF(UI\Kestrel4500_Icon.paa)); + exceptions[] = {"notOnMap", "isNotInside"}; + }; + }; + }; + }; + + class Item_Base_F; + class ACE_Item_Kestrel4500: Item_Base_F { + author = "Ruthberg"; + scope = 2; + scopeCurator = 2; + displayName = "Kestrel 4500"; + vehicleClass = "Items"; + class TransportItems { + class ACE_Kestrel4500 { + name = "ACE_Kestrel4500"; + count = 1; + }; + }; + }; + + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_Kestrel4500,6); + }; + }; +}; diff --git a/addons/kestrel4500/CfgWeapons.hpp b/addons/kestrel4500/CfgWeapons.hpp new file mode 100644 index 0000000000..881edca202 --- /dev/null +++ b/addons/kestrel4500/CfgWeapons.hpp @@ -0,0 +1,20 @@ + +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_Kestrel4500: ACE_ItemCore { + author[] = {$STR_ACE_Common_ACETeam, "Ruthberg"}; + scope = 2; + displayName = "$STR_ACE_Kestrel_Name"; + descriptionShort = "$STR_ACE_Kestrel_Description"; + model = PATHTOF(kestrel4500.p3d); + picture = PATHTOF(UI\Kestrel4500.paa); + icon = "iconObject_circle"; + mapSize = 0.034; + + class ItemInfo: InventoryItem_Base_F { + mass = 2; + }; + }; +}; diff --git a/addons/kestrel4500/README.md b/addons/kestrel4500/README.md new file mode 100644 index 0000000000..36a324beb9 --- /dev/null +++ b/addons/kestrel4500/README.md @@ -0,0 +1,10 @@ +ace_kestrel4500 +=============== + +Kestrel 4500 Pocket Weather Tracker + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Ruthberg] (http://github.com/Ulteq) \ No newline at end of file diff --git a/addons/kestrel4500/RscTitles.hpp b/addons/kestrel4500/RscTitles.hpp new file mode 100644 index 0000000000..defb954292 --- /dev/null +++ b/addons/kestrel4500/RscTitles.hpp @@ -0,0 +1,341 @@ +#define ST_LEFT 0 +#define ST_RIGHT 1 +#define ST_CENTER 2 + +class Kestrel4500_RscText +{ + idc=-1; + type=0; + style=ST_CENTER; + colorDisabled[]={0,0,0,0}; + colorBackground[]={0,0,0,0}; + colorText[]={0,0,0,1}; + text=""; + x=0; + y=0; + w=0.1; + h=0.03; + font="TahomaB"; + sizeEx=0.04; + shadow=0; +}; +class Kestrel4500_RscButton +{ + text=""; + colorText[]={0,0,0,1}; + colorDisabled[]={0,0,0,0}; + colorBackground[]={0,0,0,0}; + colorBackgroundDisabled[]={0,0,0,0}; + colorBackgroundActive[]={0,0,0,0}; + colorFocused[]={0,0,0,0}; + colorShadow[]={0,0,0,0}; + colorBorder[]={0,0,0,1}; + soundEnter[]={"",0,1}; + soundPush[]={"",0,1}; + soundClick[]={"",0,1}; + soundEscape[]={"",0,1}; + type=1; + style="0x02+0x100"; + x=0; + y=0; + w=0.10; + h=0.03; + font="TahomaB"; + SizeEx=0.025; + offsetX=0.003; + offsetY=0.003; + offsetPressedX=0.0020; + offsetPressedY=0.0020; + borderSize=0; + shadow=0; +}; +class Kestrel4500_Display +{ + name="Kestrel4500_Display"; + idd=-1; + onLoad="uiNamespace setVariable ['Kestrel4500_Display', (_this select 0)]"; + movingEnable=1; + controlsBackground[]={}; + objects[]={}; + class controls + { + class BACKGROUND + { + moving=1; + type=0; + font="TahomaB"; + SizeEX=0.025; + idc=74000; + style=48; + x=safezoneX; + y=safezoneY; + w=1.024; + h=1.024*4/3; + colorBackground[]={1,1,1,1}; + colorText[]={1,1,1,1}; + text=PATHTOF(UI\Kestrel4500.paa); + }; + class POWER: Kestrel4500_RscButton + { + idc=-1; + x=safezoneX+0.385; + y=safezoneY+1.125; + w=0.042; + h=0.042*4/3; + action="closeDialog 0"; + onMouseButtonDown = "playSound 'kestrel4500_exit_button_click'"; + }; + class ENTER: POWER + { + idc=-1; + x=safezoneX+0.46; + y=safezoneY+1.0; + w=0.1; + action=QUOTE(0 call FUNC(buttonPressed)); + onMouseButtonDown = "playSound 'kestrel4500_center_button_click'"; + }; + class TOP: Kestrel4500_RscButton + { + idc=-1; + x=safezoneX+0.46; + y=safezoneY+0.93; + w=0.1; + h=0.03; + action=QUOTE(1 call FUNC(buttonPressed)); + onMouseButtonDown = "playSound 'kestrel4500_top_button_click'"; + }; + class BOTTOM: TOP + { + idc=-1; + y=safezoneY+1.1; + action=QUOTE(2 call FUNC(buttonPressed)); + onMouseButtonDown = "playSound 'kestrel4500_bottom_button_click'"; + }; + class LEFT: Kestrel4500_RscButton + { + idc=-1; + x=safezoneX+0.4; + y=safezoneY+0.97; + w=0.046; + h=0.11; + action=QUOTE(3 call FUNC(buttonPressed)); + onMouseButtonDown = "playSound 'kestrel4500_left_button_click'"; + }; + class RIGHT: LEFT + { + idc=-1; + x=safezoneX+0.58; + action=QUOTE(4 call FUNC(buttonPressed)); + onMouseButtonDown = "playSound 'kestrel4500_right_button_click'"; + }; + class MEMORY: Kestrel4500_RscButton + { + idc=-1; + x=safezoneX+0.395; + y=safezoneY+0.87; + w=0.05; + h=0.045*4/3; + action=QUOTE(5 call FUNC(buttonPressed)); + }; + class BACKLIGHT: MEMORY + { + idc=-1; + x=safezoneX+0.585; + action=QUOTE(6 call FUNC(buttonPressed)); + }; + + class TEXT_TOP: Kestrel4500_RscText + { + idc=74100; + x=safezoneX+0.40; + y=safezoneY+0.58; + w=0.22; + h=0.04; + text=""; + }; + class TEXT_CENTER_BIG: TEXT_TOP + { + idc=74200; + y=safezoneY+0.61; + h=0.10; + SizeEx=0.06; + text=""; + }; + class TEXT_CENTER_LINE_1_LEFT: TEXT_TOP + { + idc=74300; + y=safezoneY+0.60; + style=ST_LEFT; + h=0.10; + SizeEx=0.05; + text=""; + }; + class TEXT_CENTER_LINE2_LEFT: TEXT_CENTER_LINE_1_LEFT + { + idc=74301; + y=safezoneY+0.64; + text=""; + }; + class TEXT_CENTER_LINE_3_LEFT: TEXT_CENTER_LINE2_LEFT + { + idc=74302; + y=safezoneY+0.68; + text=""; + }; + class TEXT_CENTER_LINE_1_RIGHT: TEXT_CENTER_LINE_1_LEFT + { + idc=74303; + style=ST_RIGHT; + }; + class TEXT_CENTER_LINE2_RIGHT: TEXT_CENTER_LINE2_LEFT + { + idc=74304; + style=ST_RIGHT; + }; + class TEXT_CENTER_LINE_3_RIGHT: TEXT_CENTER_LINE_3_LEFT + { + idc=74305; + style=ST_RIGHT; + }; + class TEXT_INFO_LINE_1: TEXT_TOP + { + idc=74400; + y=safezoneY+0.69; + text=""; + }; + class TEXT_INFO_LINE_2: TEXT_TOP + { + idc=74401; + y=safezoneY+0.72; + text=""; + }; + }; +}; +class RscTitles +{ + class RscKestrel4500 + { + idd=-1; + onLoad="with uiNameSpace do { RscKestrel4500 = _this select 0 };"; + movingEnable=0; + duration=60; + fadeIn="false"; + fadeOut="false"; + class controls + { + class RscKestrel4500 + { + idc=75000; + moving=0; + type=0; + font="TahomaB"; + SizeEX=0.025*0.75; + style=48; + x=safezoneX+0.14; + y=safezoneY+0.7; + w=0.512*0.75; + h=1.024*4/3*0.75; + colorBackground[]={1,1,1,1}; + colorText[]={1,1,1,1}; + text=PATHTOF(UI\Kestrel4500_0.paa); + }; + class RscTextTop: Kestrel4500_RscText + { + idc=75100; + x=safezoneX-0.05+0.40*0.75; + y=safezoneY+0.7+0.58*0.75; + w=0.22*0.75; + h=0.04*0.75; + SizeEx=0.04*0.75; + text=""; + }; + class RscTextCenterBig: RscTextTop + { + idc=75200; + y=safezoneY+0.7+0.61*0.75; + h=0.10*0.75; + SizeEx=0.06*0.75; + text=""; + }; + class RscTextCenterLine1Left: RscTextTop + { + idc=75300; + y=safezoneY+0.7+0.60*0.75; + style=ST_LEFT; + h=0.10*0.75; + SizeEx=0.05*0.75; + text=""; + }; + class RscTextCenterLine2Left: RscTextCenterLine1Left + { + idc=75301; + y=safezoneY+0.7+0.64*0.75; + text=""; + }; + class RscTextCenterLine3Left: RscTextCenterLine2Left + { + idc=75302; + y=safezoneY+0.7+0.68*0.75; + text=""; + }; + class RscTextCenterLine1Right: RscTextCenterLine1Left + { + idc=75303; + style=ST_RIGHT; + }; + class RscTextCenterLine2Right: RscTextCenterLine2Left + { + idc=75304; + style=ST_RIGHT; + }; + class RscTextCenterLine3Right: RscTextCenterLine3Left + { + idc=75305; + style=ST_RIGHT; + }; + class RscTextInfoLine1: RscTextTop + { + idc=75400; + y=safezoneY+0.7+0.69*0.75; + text=""; + }; + class RscTextInfoLine2: RscTextTop + { + idc=75401; + y=safezoneY+0.7+0.72*0.75; + text=""; + }; + }; + }; + + class RscKestrel4500_Preload { + idd = -1; + movingEnable = 0; + duration = 1e+011; + fadein = 0; + fadeout = 0; + class controls { + class Preload_0 { + text = PATHTOF(UI\Kestrel4500_0.paa); + }; + class Preload_1 { + text = PATHTOF(UI\Kestrel4500_1.paa); + }; + class Preload_2 { + text = PATHTOF(UI\Kestrel4500_2.paa); + }; + class Preload_3 { + text = PATHTOF(UI\Kestrel4500_3.paa); + }; + class Preload_4 { + text = PATHTOF(UI\Kestrel4500_4.paa); + }; + class Preload_5 { + text = PATHTOF(UI\Kestrel4500_5.paa); + }; + class Preload_6 { + text = PATHTOF(UI\Kestrel4500_6.paa); + }; + }; + }; +}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/data/Kestrel4500.paa b/addons/kestrel4500/UI/Kestrel4500.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/data/Kestrel4500.paa rename to addons/kestrel4500/UI/Kestrel4500.paa diff --git a/addons/kestrel4500/UI/Kestrel4500_0.paa b/addons/kestrel4500/UI/Kestrel4500_0.paa new file mode 100644 index 0000000000..6ff961c665 Binary files /dev/null and b/addons/kestrel4500/UI/Kestrel4500_0.paa differ diff --git a/addons/kestrel4500/UI/Kestrel4500_1.paa b/addons/kestrel4500/UI/Kestrel4500_1.paa new file mode 100644 index 0000000000..7b24fe2da8 Binary files /dev/null and b/addons/kestrel4500/UI/Kestrel4500_1.paa differ diff --git a/addons/kestrel4500/UI/Kestrel4500_2.paa b/addons/kestrel4500/UI/Kestrel4500_2.paa new file mode 100644 index 0000000000..199a37afba Binary files /dev/null and b/addons/kestrel4500/UI/Kestrel4500_2.paa differ diff --git a/addons/kestrel4500/UI/Kestrel4500_3.paa b/addons/kestrel4500/UI/Kestrel4500_3.paa new file mode 100644 index 0000000000..9540042ff3 Binary files /dev/null and b/addons/kestrel4500/UI/Kestrel4500_3.paa differ diff --git a/addons/kestrel4500/UI/Kestrel4500_4.paa b/addons/kestrel4500/UI/Kestrel4500_4.paa new file mode 100644 index 0000000000..d336be67f1 Binary files /dev/null and b/addons/kestrel4500/UI/Kestrel4500_4.paa differ diff --git a/addons/kestrel4500/UI/Kestrel4500_5.paa b/addons/kestrel4500/UI/Kestrel4500_5.paa new file mode 100644 index 0000000000..8cb8dabbdc Binary files /dev/null and b/addons/kestrel4500/UI/Kestrel4500_5.paa differ diff --git a/addons/kestrel4500/UI/Kestrel4500_6.paa b/addons/kestrel4500/UI/Kestrel4500_6.paa new file mode 100644 index 0000000000..649dbb1b63 Binary files /dev/null and b/addons/kestrel4500/UI/Kestrel4500_6.paa differ diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/data/Kestrel4500_Icon.paa b/addons/kestrel4500/UI/Kestrel4500_Icon.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/data/Kestrel4500_Icon.paa rename to addons/kestrel4500/UI/Kestrel4500_Icon.paa diff --git a/addons/kestrel4500/XEH_postInit.sqf b/addons/kestrel4500/XEH_postInit.sqf new file mode 100644 index 0000000000..461ed533db --- /dev/null +++ b/addons/kestrel4500/XEH_postInit.sqf @@ -0,0 +1,25 @@ +#include "script_component.hpp" + +#include "initKeybinds.sqf" + +GVAR(Menus) = ["Direction", "Wind SPD m/s", "CROSSWIND m/s", "HEADWIND m/s", "TEMP °C", "HUMIDITY %", "BARO hPA", "ALTITUDE m", "User Screen 1", "User Screen 2"]; + +GVAR(TOTAL) = [0, 0, 0, 0, 0, 0, 0, 0]; +GVAR(ENTRIES) = [0, 0, 0, 0, 0, 0, 0, 0]; + +GVAR(MinAvgMax) = false; +GVAR(MinAvgMaxMode) = 0; + +GVAR(Menu) = 1; +GVAR(Directions) = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"]; +GVAR(Direction) = 0; + +GVAR(RefHeading) = 0; + +GVAR(updateTimer) = 0; +GVAR(outputData) = ["", "", "", "", "", "", "", "", "", ""]; +GVAR(MeasuredWindSpeed) = 0; +GVAR(ImpellerState) = 0; + +GVAR(Kestrel4500) = false; +GVAR(Overlay) = false; diff --git a/addons/kestrel4500/XEH_preInit.sqf b/addons/kestrel4500/XEH_preInit.sqf new file mode 100644 index 0000000000..d081f485ec --- /dev/null +++ b/addons/kestrel4500/XEH_preInit.sqf @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(buttonPressed); +PREP(calculateWindSpeed); +PREP(canShow); +PREP(collectData); +PREP(createKestrelDialog); +PREP(displayKestrel); +PREP(generateOutputData); +PREP(measureWindSpeed); +PREP(updateDisplay); +PREP(updateImpellerState); + +ADDON = true; diff --git a/addons/kestrel4500/config.cpp b/addons/kestrel4500/config.cpp new file mode 100644 index 0000000000..8e558af44f --- /dev/null +++ b/addons/kestrel4500/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_Item_Kestrel4500"}; + weapons[] = {"ACE_Kestrel4500"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ACE_common", "ACE_weather"}; + author[] = {$STR_ACE_Common_ACETeam, "Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgSound.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" +#include "RscTitles.hpp" \ No newline at end of file diff --git a/TO_MERGE/agm/Wind/data/arrow1.paa b/addons/kestrel4500/data/arrow1.paa similarity index 100% rename from TO_MERGE/agm/Wind/data/arrow1.paa rename to addons/kestrel4500/data/arrow1.paa diff --git a/addons/kestrel4500/data/body.paa b/addons/kestrel4500/data/body.paa new file mode 100644 index 0000000000..dfaa44723e Binary files /dev/null and b/addons/kestrel4500/data/body.paa differ diff --git a/TO_MERGE/agm/Wind/data/gpstemp.paa b/addons/kestrel4500/data/gpstemp.paa similarity index 100% rename from TO_MERGE/agm/Wind/data/gpstemp.paa rename to addons/kestrel4500/data/gpstemp.paa diff --git a/TO_MERGE/agm/Wind/data/rad.paa b/addons/kestrel4500/data/rad.paa similarity index 100% rename from TO_MERGE/agm/Wind/data/rad.paa rename to addons/kestrel4500/data/rad.paa diff --git a/TO_MERGE/agm/Wind/data/tasten.paa b/addons/kestrel4500/data/tasten.paa similarity index 100% rename from TO_MERGE/agm/Wind/data/tasten.paa rename to addons/kestrel4500/data/tasten.paa diff --git a/TO_MERGE/agm/Wind/data/tasten1.paa b/addons/kestrel4500/data/tasten1.paa similarity index 100% rename from TO_MERGE/agm/Wind/data/tasten1.paa rename to addons/kestrel4500/data/tasten1.paa diff --git a/addons/kestrel4500/functions/fnc_buttonPressed.sqf b/addons/kestrel4500/functions/fnc_buttonPressed.sqf new file mode 100644 index 0000000000..f0f9a10db1 --- /dev/null +++ b/addons/kestrel4500/functions/fnc_buttonPressed.sqf @@ -0,0 +1,53 @@ +/* + * Author: Ruthberg + * Handles the Kestrel 4500 dialog button actions + * + * Arguments: + * buttonID + * + * Return Value: + * Nothing + * + * Example: + * 2 call ace_kestrel4500_fnc_buttonPressed + * + * Public: No + */ +#include "script_component.hpp" + +switch (_this) do { + case 0: { // Enter + if (!GVAR(MinAvgMax) && (GVAR(Menu) == 2 || GVAR(Menu) == 3)) then { + GVAR(RefHeading) = getDir ACE_player; + }; + if (GVAR(MinAvgMax) && GVAR(Menu) > 0 && GVAR(Menu) < 4) then { + if (GVAR(MinAvgMaxMode) != 1) then { + { + GVAR(MIN) set [_x, 0]; + GVAR(MAX) set [_x, 0]; + GVAR(TOTAL) set [_x, 0]; + GVAR(ENTRIES) set [_x, 0]; + } forEach [1, 2, 3]; + }; + GVAR(MinAvgMaxMode) = (GVAR(MinAvgMaxMode) + 1) % 3; + }; + }; + case 1: { // Top + GVAR(Menu) = (GVAR(Menu) - 1 + (count GVAR(Menus))) % (count GVAR(Menus)); + }; + case 2: { // Bottom + GVAR(Menu) = (GVAR(Menu) + 1 + (count GVAR(Menus))) % (count GVAR(Menus)); + }; + case 3: { // Left + GVAR(MinAvgMax) = !GVAR(MinAvgMax); + }; + case 4: { // Right + GVAR(MinAvgMax) = !GVAR(MinAvgMax); + }; + case 5: { // Memory + }; + case 6: { // Backlight + }; +}; + +[] call FUNC(updateDisplay); diff --git a/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf b/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf new file mode 100644 index 0000000000..8267f7f729 --- /dev/null +++ b/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf @@ -0,0 +1,68 @@ +/* + * Author: Ruthberg + * + * Calculates the wind speed at a given world position + * + * Arguments: + * 0: _this - world position + * + * Return Value: + * 0: wind speed - m/s + * + * Public: No + */ +#include "script_component.hpp" + +private ["_windSpeed", "_windDir", "_newWindSpeed", "_windSource"]; + +fnc_polar2vect = { + private ["_mag2D"]; + _mag2D = (_this select 0) * cos((_this select 2)); + [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; +}; + +_windSpeed = vectorMagnitude ACE_wind; +_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); + +// Terrain effect on wind +if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; + if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + _windSpeed = _newWindSpeed; +}; + +// Obstacle effect on wind +if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; + if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; + _windSpeed = _newWindSpeed; +}; +_windSpeed = 0 max _windSpeed; + +_windSpeed diff --git a/addons/kestrel4500/functions/fnc_canShow.sqf b/addons/kestrel4500/functions/fnc_canShow.sqf new file mode 100644 index 0000000000..0c9e29f9bc --- /dev/null +++ b/addons/kestrel4500/functions/fnc_canShow.sqf @@ -0,0 +1,18 @@ +/* + * Authors: Ruthberg + * Tests if the Kestrel 4500 can be shown + * + * Arguments: + * Nothing + * + * Return Value: + * canShow (bool) + * + * Example: + * [mode] call ace_kestrel4500_fnc_canShow + * + * Public: No + */ +#include "script_component.hpp" + +("ACE_Kestrel4500" in (uniformItems ACE_player)) || ("ACE_Kestrel4500" in (vestItems ACE_player)) diff --git a/addons/kestrel4500/functions/fnc_collectData.sqf b/addons/kestrel4500/functions/fnc_collectData.sqf new file mode 100644 index 0000000000..a812ad0f7c --- /dev/null +++ b/addons/kestrel4500/functions/fnc_collectData.sqf @@ -0,0 +1,94 @@ +/* + * Author: Ruthberg + * Gathers the weather data for the Kestrel 4500 + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +private ["_playerDir", "_windSpeed", "_crosswind", "_headwind", "_humidity", "_temperature", "_humidity", "_barometricPressure", "_altitude"]; + +if (isNil QGVAR(MIN) || isNil QGVAR(MAX)) then { + _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL ACE_player) select 2); + _humidity = EGVAR(weather,currentHumidity); + _barometricPressure = ((getPosASL ACE_player) select 2) call EFUNC(weather,calculateBarometricPressure); + _altitude = EGVAR(weather,Altitude) + ((getPosASL ACE_player) select 2); + GVAR(MIN) = [0, 0, 0, 0, _temperature, _humidity, _barometricPressure, _altitude]; + GVAR(MAX) = [0, 0, 0, 0, _temperature, _humidity, _barometricPressure, _altitude]; +}; + +{ + GVAR(ENTRIES) set [_x, (GVAR(ENTRIES) select _x) + 1]; +} forEach [0, 4, 5, 6 ,7]; + +// Direction +_playerDir = getDir ACE_player; +GVAR(MIN) set [0, (GVAR(MIN) select 0) min _playerDir]; +GVAR(MAX) set [0, _playerDir max (GVAR(MAX) select 0)]; +GVAR(TOTAL) set [0, (GVAR(TOTAL) select 0) + _playerDir]; + +if (GVAR(MinAvgMaxMode) == 1) then { + { + GVAR(ENTRIES) set [_x, (GVAR(ENTRIES) select _x) + 1]; + } forEach [1, 2, 3]; + + // Wind SPD + _windSpeed = call FUNC(measureWindSpeed); + GVAR(MIN) set [1, (GVAR(MIN) select 1) min abs(_windSpeed)]; + GVAR(MAX) set [1, abs(_windSpeed) max (GVAR(MAX) select 1)]; + GVAR(TOTAL) set [1, (GVAR(TOTAL) select 1) + abs(_windSpeed)]; + + // CROSSWIND + _crosswind = 0; + if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _crosswind = abs(sin(GVAR(RefHeading) - _playerDir) * _windSpeed); + } else { + _crosswind = abs(sin(GVAR(RefHeading)) * _windSpeed); + }; + GVAR(MIN) set [2, (GVAR(MIN) select 2) min _crosswind]; + GVAR(MAX) set [2, _crosswind max (GVAR(MAX) select 2)]; + GVAR(TOTAL) set [2, (GVAR(TOTAL) select 2) + _crosswind]; + + // HEADWIND + _headwind = 0; + if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _headwind = abs(cos(GVAR(RefHeading) - _playerDir) * _windSpeed); + } else { + _headwind = abs(cos(GVAR(RefHeading)) * _windSpeed); + }; + GVAR(MIN) set [3, (GVAR(MIN) select 3) min _headwind]; + GVAR(MAX) set [3, _headwind max (GVAR(MAX) select 3)]; + GVAR(TOTAL) set [3, (GVAR(TOTAL) select 3) + _headwind]; +}; + +// TEMP +_temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL ACE_player) select 2); +GVAR(MIN) set [4, (GVAR(MIN) select 4) min _temperature]; +GVAR(MAX) set [4, _temperature max (GVAR(MAX) select 4)]; +GVAR(TOTAL) set [4, (GVAR(TOTAL) select 4) + _temperature]; + +// HUMIDITY +_humidity = EGVAR(weather,currentHumidity); +GVAR(MIN) set [5, (GVAR(MIN) select 5) min _humidity]; +GVAR(MAX) set [5, _humidity max (GVAR(MAX) select 5)]; +GVAR(TOTAL) set [5, (GVAR(TOTAL) select 5) + _humidity]; + +// BARO +_barometricPressure = ((getPosASL ACE_player) select 2) call EFUNC(weather,calculateBarometricPressure); +GVAR(MIN) set [6, (GVAR(MIN) select 6) min _barometricPressure]; +GVAR(MAX) set [6, _barometricPressure max (GVAR(MAX) select 6)]; +GVAR(TOTAL) set [6, (GVAR(TOTAL) select 6) + _barometricPressure]; + +// ALTITUDE +_altitude = EGVAR(weather,Altitude) + ((getPosASL ACE_player) select 2); +GVAR(MIN) set [7, (GVAR(MIN) select 7) min _altitude]; +GVAR(MAX) set [7, _altitude max (GVAR(MAX) select 7)]; +GVAR(TOTAL) set [7, (GVAR(TOTAL) select 7) + _altitude]; \ No newline at end of file diff --git a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf new file mode 100644 index 0000000000..f9cd6cf04a --- /dev/null +++ b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf @@ -0,0 +1,36 @@ +/* + * Author: Ruthberg + * Opens the Kestrel 4500 dialog + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +//if (dialog) exitWith { false }; +if (underwater ACE_player) exitWith { false }; +if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { false }; + +GVAR(Overlay) = false; +3 cutText ["", "PLAIN"]; + +GVAR(Kestrel4500) = true; +createDialog 'Kestrel4500_Display'; + +[{ + if (!dialog || !GVAR(Kestrel4500)) exitWith { + GVAR(Kestrel4500) = false; + [_this select 1] call CBA_fnc_removePerFrameHandler; + }; + + [] call FUNC(updateDisplay); +}, 1, _this select 0] call CBA_fnc_addPerFrameHandler; + +true diff --git a/addons/kestrel4500/functions/fnc_displayKestrel.sqf b/addons/kestrel4500/functions/fnc_displayKestrel.sqf new file mode 100644 index 0000000000..8eb2cea0ad --- /dev/null +++ b/addons/kestrel4500/functions/fnc_displayKestrel.sqf @@ -0,0 +1,84 @@ +/* + * Author: Ruthberg + * Shows the Kestrel 4500 as rsc title + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +#define __dsp (uiNamespace getVariable "RscKestrel4500") +#define __ctrlKestrel4500 (__dsp displayCtrl 75000) +#define __ctrlTop (__dsp displayCtrl 75100) +#define __ctrlCenterBig (__dsp displayCtrl 75200) +#define __ctrlCenterLine1Left (__dsp displayCtrl 75300) +#define __ctrlCenterLine2Left (__dsp displayCtrl 75301) +#define __ctrlCenterLine3Left (__dsp displayCtrl 75302) +#define __ctrlCenterLine1Right (__dsp displayCtrl 75303) +#define __ctrlCenterLine2Right (__dsp displayCtrl 75304) +#define __ctrlCenterLine3Right (__dsp displayCtrl 75305) +#define __ctrlInfoLine1 (__dsp displayCtrl 75400) +#define __ctrlInfoLine2 (__dsp displayCtrl 75401) + +if (GVAR(Overlay)) exitWith { + GVAR(Overlay) = false; + 3 cutText ["", "PLAIN"]; + true +}; +if (underwater ACE_player) exitWith { true }; +if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { true }; + +if (GVAR(Kestrel4500) && dialog) then { + GVAR(Kestrel4500) = false; + closeDialog 0; +}; + +GVAR(Overlay) = true; + +[{ + // abort condition + if (!GVAR(Overlay) || {!(("ACE_Kestrel4500" in (uniformItems ACE_player)) || ("ACE_Kestrel4500" in (vestItems ACE_player)))}) exitWith { + GVAR(Overlay) = false; + 3 cutText ["", "PLAIN"]; + [_this select 1] call CBA_fnc_removePerFrameHandler; + }; + + if (diag_tickTime > GVAR(updateTimer)) then { + GVAR(updateTimer) = diag_tickTime + 1; + + private ["_outputData"]; + _outputData = [] call FUNC(generateOutputData); + + 3 cutRsc ["RscKestrel4500", "PLAIN", 1, false]; + + __ctrlTop ctrlSetText (_outputData select 0); + __ctrlCenterBig ctrlSetText (_outputData select 1); + + __ctrlTop ctrlSetText (_outputData select 0); + __ctrlCenterBig ctrlSetText (_outputData select 1); + + __ctrlCenterLine1Left ctrlSetText (_outputData select 2); + __ctrlCenterLine2Left ctrlSetText (_outputData select 3); + __ctrlCenterLine3Left ctrlSetText (_outputData select 4); + + __ctrlCenterLine1Right ctrlSetText (_outputData select 5); + __ctrlCenterLine2Right ctrlSetText (_outputData select 6); + __ctrlCenterLine3Right ctrlSetText (_outputData select 7); + + __ctrlInfoLine1 ctrlSetText (_outputData select 8); + __ctrlInfoLine2 ctrlSetText (_outputData select 9); + }; + + call FUNC(updateImpellerState); + __ctrlKestrel4500 ctrlSetText format [QUOTE(PATHTOF(UI\Kestrel4500_%1.paa)), floor(GVAR(ImpellerState) % 7)]; + +}, 0.01, []] call CBA_fnc_addPerFrameHandler; + +true diff --git a/addons/kestrel4500/functions/fnc_generateOutputData.sqf b/addons/kestrel4500/functions/fnc_generateOutputData.sqf new file mode 100644 index 0000000000..6b139fe72e --- /dev/null +++ b/addons/kestrel4500/functions/fnc_generateOutputData.sqf @@ -0,0 +1,217 @@ +/* + * Author: Ruthberg + * Generates the Kestrel 4500 output text. + * + * Arguments: + * Nothing + * + * Return Value: + * [top , centerBig , CenterLine1Left , CenterLine2Left , CenterLine3Left , CenterLine1Right , CenterLine2Right , CenterLine3Right , InfoLine1 , InfoLine2 ] + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +private ["_playerDir", "_textTop", "_textCenterBig", "_textCenterLine1Left", "_textCenterLine2Left", "_textCenterLine3Left", "_textCenterLine1Right", "_textCenterLine2Right", "_textCenterLine3Right", "_textInfoLine1", "_textInfoLine2", "_temperature", "_humidity", "_windSpeed", "_windDir"]; + +[] call FUNC(collectData); + +_textTop = GVAR(Menus) select GVAR(Menu); +_textCenterBig = ""; + +_textCenterLine1Left = ""; +_textCenterLine2Left = ""; +_textCenterLine3Left = ""; +_textCenterLine1Right = ""; +_textCenterLine2Right = ""; +_textCenterLine3Right = ""; + +_textInfoLine1 = ""; +_textInfoLine2 = ""; + +_windSpeed = call FUNC(measureWindSpeed); +_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); + +_temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL ACE_player) select 2); +_humidity = EGVAR(weather,currentHumidity); + +_playerDir = getDir ACE_player; + +GVAR(Direction) = 4 * floor(_playerDir / 90); +if (_playerDir % 90 > 10) then { GVAR(Direction) = GVAR(Direction) + 1}; +if (_playerDir % 90 > 35) then { GVAR(Direction) = GVAR(Direction) + 1}; +if (_playerDir % 90 > 55) then { GVAR(Direction) = GVAR(Direction) + 1}; +if (_playerDir % 90 > 80) then { GVAR(Direction) = GVAR(Direction) + 1}; +GVAR(Direction) = GVAR(Direction) % 16; + +switch (GVAR(Menu)) do { + case 0: { // Direction + if (!GVAR(MinAvgMax)) then { + _textCenterBig = format["%1", format["%1 %2", GVAR(Directions) select GVAR(Direction), round(_playerDir)]]; + } else { + _textCenterLine1Left = "Min"; + _textCenterLine2Left = "Avg"; + _textCenterLine3Left = "Max"; + _textCenterLine1Right = "N/A"; + _textCenterLine2Right = "N/A"; + _textCenterLine3Right = "N/A"; + }; + }; + case 1: { // Wind SPD + if (!GVAR(MinAvgMax)) then { + _textCenterBig = Str(round(abs(_windSpeed) * 10) / 10); + } else { + _textCenterLine1Left = "Max"; + _textCenterLine2Left = "Avg"; + switch (GVAR(MinAvgMaxMode)) do { + case 0: { + _textCenterLine1Right = "--. -"; + _textCenterLine2Right = "--. -"; + _textInfoLine2 = "- average"; + }; + case 1: { + _textCenterLine1Right = Str(round((GVAR(Max) select 1) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 1) / (GVAR(Entries) select 1) * 10) / 10); + _textInfoLine2 = "- stop"; + }; + case 2: { + _textCenterLine1Right = Str(round((GVAR(Max) select 1) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 1) / (GVAR(Entries) select 1) * 10) / 10); + _textInfoLine2 = "- clear"; + }; + }; + }; + }; + case 2: { // CROSSWIND + if (!GVAR(MinAvgMax)) then { + if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _textCenterBig = Str(round(abs(sin(GVAR(RefHeading) - _playerDir) * _windSpeed) * 10) / 10); + _textInfoLine1 = format["%1 m/s @ %2", round((abs(cos(_playerDir - _windDir)) * _windSpeed) * 10) / 10, round(_playerDir)]; + } else { + _textCenterBig = Str(round(abs(sin(GVAR(RefHeading)) * _windSpeed) * 10) / 10); + _textInfoLine1 = format["%1 m/s @ %2", round(_windSpeed * 10) / 10, round(_windDir)]; + }; + _textInfoLine2 = "- set heading"; + } else { + _textCenterLine1Left = "Max"; + _textCenterLine2Left = "Avg"; + switch (GVAR(MinAvgMax)Mode) do { + case 0: { + _textCenterLine1Right = "--. -"; + _textCenterLine2Right = "--. -"; + _textInfoLine2 = "- average"; + }; + case 1: { + _textCenterLine1Right = Str(round((GVAR(Max) select 2) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 2) / (GVAR(Entries) select 2) * 10) / 10); + _textInfoLine2 = "- stop"; + }; + case 2: { + _textCenterLine1Right = Str(round((GVAR(Max) select 2) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 2) / (GVAR(Entries) select 2) * 10) / 10); + _textInfoLine2 = "- clear"; + }; + }; + }; + }; + case 3: { // HEADWIND + if (!GVAR(MinAvgMax)) then { + if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _textCenterBig = Str(round(abs(cos(GVAR(RefHeading) - _playerDir) * _windSpeed) * 10) / 10); + _textInfoLine1 = format["%1 m/s @ %2", round((abs(cos(_playerDir - _windDir)) * _windSpeed) * 10) / 10, round(_playerDir)]; + } else { + _textCenterBig = Str(round(abs(cos(GVAR(RefHeading)) * _windSpeed) * 10) / 10); + _textInfoLine1 = format["%1 m/s @ %2", round(_windSpeed * 10) / 10, round(_windDir)]; + }; + _textInfoLine2 = "- set heading"; + } else { + _textCenterLine1Left = "Max"; + _textCenterLine2Left = "Avg"; + switch (GVAR(MinAvgMax)Mode) do { + case 0: { + _textCenterLine1Right = "--. -"; + _textCenterLine2Right = "--. -"; + _textInfoLine2 = "- average"; + }; + case 1: { + _textCenterLine1Right = Str(round((GVAR(Max) select 3) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 3) / (GVAR(Entries) select 3) * 10) / 10); + _textInfoLine2 = "- stop"; + }; + case 2: { + _textCenterLine1Right = Str(round((GVAR(Max) select 3) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 3) / (GVAR(Entries) select 3) * 10) / 10); + _textInfoLine2 = "- clear"; + }; + }; + }; + }; + case 4: { // TEMP + if (!GVAR(MinAvgMax)) then { + _textCenterBig = Str(round(_temperature * 10) / 10); + } else { + _textCenterLine1Left = "Min"; + _textCenterLine2Left = "Avg"; + _textCenterLine3Left = "Max"; + _textCenterLine1Right = Str(round((GVAR(Min) select 4) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 4) / (GVAR(Entries) select 4) * 10) / 10); + _textCenterLine3Right = Str(round((GVAR(Max) select 4) * 10) / 10); + }; + }; + case 5: { // HUMIDITY + if (!GVAR(MinAvgMax)) then { + _textCenterBig = Str(round(_humidity * 100 * 10) / 10); + } else { + _textCenterLine1Left = "Min"; + _textCenterLine2Left = "Avg"; + _textCenterLine3Left = "Max"; + _textCenterLine1Right = Str(round((GVAR(Min) select 5) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 5) / (GVAR(Entries) select 5) * 10) / 10); + _textCenterLine3Right = Str(round((GVAR(Max) select 5) * 10) / 10); + }; + }; + case 6: { // BARO + if (!GVAR(MinAvgMax)) then { + _textCenterBig = Str(round((((getPosASL ACE_player) select 2) call EFUNC(weather,calculateBarometricPressure)) * 10) / 10); + } else { + _textCenterLine1Left = "Min"; + _textCenterLine2Left = "Avg"; + _textCenterLine3Left = "Max"; + _textCenterLine1Right = Str(round((GVAR(Min) select 6) * 10) / 10); + _textCenterLine2Right = Str(round((GVAR(Total) select 6) / (GVAR(Entries) select 6) * 10) / 10); + _textCenterLine3Right = Str(round((GVAR(Max) select 6) * 10) / 10); + }; + }; + case 7: { // ALTITUDE + if (!GVAR(MinAvgMax)) then { + _textCenterBig = Str(round(EGVAR(weather,Altitude) + ((getPosASL ACE_player) select 2))); + } else { + _textCenterLine1Left = "Min"; + _textCenterLine2Left = "Avg"; + _textCenterLine3Left = "Max"; + _textCenterLine1Right = Str(round(GVAR(Min) select 7)); + _textCenterLine2Right = Str(round((GVAR(Total) select 7) / (GVAR(Entries) select 7))); + _textCenterLine3Right = Str(round(GVAR(Max) select 7)); + }; + }; + case 8: { // User Screen 1 + _textCenterLine1Left = Str(round(_playerDir)); + _textCenterLine2Left = Str(round(EGVAR(weather,Altitude) + ((getPosASL ACE_player) select 2))); + _textCenterLine3Left = Str(round(abs(_windSpeed) * 10) / 10); + _textCenterLine1Right = GVAR(Directions) select GVAR(Direction); + _textCenterLine2Right = "m"; + _textCenterLine3Right = "m/s"; + }; + case 9: { // User Screen 2 + _textCenterLine1Left = Str(round(_temperature * 10) / 10); + _textCenterLine2Left = Str(round(_humidity * 100 * 10) / 10); + _textCenterLine3Left = Str(round((1013.25 * exp(-(EGVAR(weather,Altitude) + ((getPosASL ACE_player) select 2)) / 7990) - 10 * overcast) * 10) / 10); + _textCenterLine1Right = "C"; + _textCenterLine2Right = "%"; + _textCenterLine3Right = "hPA"; + }; +}; + +[_textTop, _textCenterBig, _textCenterLine1Left, _textCenterLine2Left, _textCenterLine3Left, _textCenterLine1Right, _textCenterLine2Right, _textCenterLine3Right, _textInfoLine1, _textInfoLine2] diff --git a/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf new file mode 100644 index 0000000000..eb718906aa --- /dev/null +++ b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf @@ -0,0 +1,39 @@ +/* + * Author: Ruthberg + * Measures the wind speed, stores the information in GVAR(MeasuredWindSpeed) and updates GVAR(ImpellerState) + * + * Arguments: + * Nothing + * + * Return Value: + * wind speed + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +private ["_playerDir", "_windSpeed", "_windDir"]; + +_playerDir = getDir ACE_player; +_windSpeed = vectorMagnitude ACE_wind; +_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); + +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + _windSpeed = (eyePos ACE_player) call EFUNC(advanced_ballistics,calculateWindSpeed); + _windSpeed = abs(cos(_playerDir - _windDir)) * _windSpeed; +} else { + _windSpeed = (eyePos ACE_player) call FUNC(calculateWindSpeed); +}; + +if (_windSpeed > 0.3 || {GVAR(MeasuredWindSpeed) > 0.1 && _windSpeed > 0.125}) then { + GVAR(MeasuredWindSpeed) = _windSpeed; +} else { + GVAR(MeasuredWindSpeed) = GVAR(MeasuredWindSpeed) * 0.99; + if (GVAR(MeasuredWindSpeed) < 0.05) then { + GVAR(MeasuredWindSpeed) = 0; + }; +}; + +GVAR(MeasuredWindSpeed) diff --git a/addons/kestrel4500/functions/fnc_updateDisplay.sqf b/addons/kestrel4500/functions/fnc_updateDisplay.sqf new file mode 100644 index 0000000000..0f8be4f873 --- /dev/null +++ b/addons/kestrel4500/functions/fnc_updateDisplay.sqf @@ -0,0 +1,33 @@ +/* + * Author: Ruthberg + * Updates the Kestrel 4500 dialog text boxes. + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +private ["_outputData"]; + +_outputData = [] call FUNC(generateOutputData); + +ctrlSetText [74100, _outputData select 0]; +ctrlSetText [74200, _outputData select 1]; + +ctrlSetText [74300, _outputData select 2]; +ctrlSetText [74301, _outputData select 3]; +ctrlSetText [74302, _outputData select 4]; + +ctrlSetText [74303, _outputData select 5]; +ctrlSetText [74304, _outputData select 6]; +ctrlSetText [74305, _outputData select 7]; + +ctrlSetText [74400, _outputData select 8]; +ctrlSetText [74401, _outputData select 9]; \ No newline at end of file diff --git a/addons/kestrel4500/functions/fnc_updateImpellerState.sqf b/addons/kestrel4500/functions/fnc_updateImpellerState.sqf new file mode 100644 index 0000000000..075ed80080 --- /dev/null +++ b/addons/kestrel4500/functions/fnc_updateImpellerState.sqf @@ -0,0 +1,22 @@ +/* + * Author: Ruthberg + * Updates the Kestrel 4500 Impeller state + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +private ["_windSpeed"]; + +_windSpeed = call FUNC(measureWindSpeed); + +GVAR(ImpellerState) = GVAR(ImpellerState) + (ceil(_windSpeed) min 1) max _windSpeed; +if (GVAR(ImpellerState) > 1000) then { GVAR(ImpellerState) = 0 }; diff --git a/addons/kestrel4500/functions/script_component.hpp b/addons/kestrel4500/functions/script_component.hpp new file mode 100644 index 0000000000..32c774cd89 --- /dev/null +++ b/addons/kestrel4500/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\kestrel4500\script_component.hpp" \ No newline at end of file diff --git a/addons/kestrel4500/initKeybinds.sqf b/addons/kestrel4500/initKeybinds.sqf new file mode 100644 index 0000000000..585856cbbb --- /dev/null +++ b/addons/kestrel4500/initKeybinds.sqf @@ -0,0 +1,23 @@ +["ACE3", QGVAR(KestrelDialogKey), localize "STR_ACE_Kestrel4500_KestrelDialogKey", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + + // Statement + [] call FUNC(createKestrelDialog); + false +}, +{false}, +[0, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key) + +["ACE3", QGVAR(DisplayKestrelKey), localize "STR_ACE_Kestrel4500_DisplayKestrelKey", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + + // Statement + [] call FUNC(displayKestrel); + false +}, +{false}, +[0, [true, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key) diff --git a/addons/kestrel4500/kestrel4500.p3d b/addons/kestrel4500/kestrel4500.p3d new file mode 100644 index 0000000000..bb4edd2706 Binary files /dev/null and b/addons/kestrel4500/kestrel4500.p3d differ diff --git a/addons/kestrel4500/script_component.hpp b/addons/kestrel4500/script_component.hpp new file mode 100644 index 0000000000..b8db2edb78 --- /dev/null +++ b/addons/kestrel4500/script_component.hpp @@ -0,0 +1,14 @@ +#define COMPONENT kestrel4500 +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_KESTREL4500 + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_KESTREL4500 + #define DEBUG_SETTINGS DEBUG_SETTINGS_KESTREL4500 +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h)) diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_bottom_button_click.wav b/addons/kestrel4500/sound/kestrel_bottom_button_click.wav similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_bottom_button_click.wav rename to addons/kestrel4500/sound/kestrel_bottom_button_click.wav diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_center_button_click.wav b/addons/kestrel4500/sound/kestrel_center_button_click.wav similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_center_button_click.wav rename to addons/kestrel4500/sound/kestrel_center_button_click.wav diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_exit_button_click.wav b/addons/kestrel4500/sound/kestrel_exit_button_click.wav similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_exit_button_click.wav rename to addons/kestrel4500/sound/kestrel_exit_button_click.wav diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_left_button_click.wav b/addons/kestrel4500/sound/kestrel_left_button_click.wav similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_left_button_click.wav rename to addons/kestrel4500/sound/kestrel_left_button_click.wav diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_right_button_click.wav b/addons/kestrel4500/sound/kestrel_right_button_click.wav similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_right_button_click.wav rename to addons/kestrel4500/sound/kestrel_right_button_click.wav diff --git a/TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_top_button_click.wav b/addons/kestrel4500/sound/kestrel_top_button_click.wav similarity index 100% rename from TO_MERGE/cse/sys_ballistics/kestrel4500/sound/kestrel_top_button_click.wav rename to addons/kestrel4500/sound/kestrel_top_button_click.wav diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml new file mode 100644 index 0000000000..be46058016 --- /dev/null +++ b/addons/kestrel4500/stringtable.xml @@ -0,0 +1,72 @@ + + + + + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + + + Kestrel 4500 Pocket Weather Tracker + Anemomentr skrzydełkowy Kestrel 4500 + Карманная метеостанция Kestrel 4500NV + Station météo portable Kestrel 4500 + Kestrel 4500 Pocket Weather Tracker + Kestrel 4500 Taschenwettermessgerät + Kestrel 4500 Indicatore Meteorologico Tascabile + + + Open Kestrel 4500 + Otwórz Kestrel 4500 + Kestrel 4500 elővétele + Открыть Kestrel 4500NV + Ouvrir Kestrel 4500 + Accendi Kestrel 4500 + Abrir Kestrel 4500 + Kestrel 4500 öffnen + + + Show Kestrel 4500 + Pokaż Kestrel 4500 + Показать Kestrel 4500NV + Afficher Kestrel 4500 + Mostra Kestrel 4500 + Mostrar Kestrel 4500 + Kestrel 4500 anzeigen + + + Hide Kestrel 4500 + Ukryj Kestrel 4500 + Убрать Kestrel 4500NV + Cacher Kestrel 4500 + Nascondi Kestrel 4500 + Esconder Kestrel 4500 + Kestrel 4500 wegstecken + + + Open Kestrel 4500 + Otwórz Kestrel 4500 + Открыть Kestrel 4500NV + Ouvrir Kestrel 4500 + Accendi Kestrel 4500 + Abrir Kestrel 4500 + Kestrel 4500 öffnen + + + Show Kestrel 4500 + Pokaż Kestrel 4500 + Показать Kestrel 4500NV + Afficher Kestrel 4500 + Mostra Kestrel 4500 + Mostrar Kestrel 4500 + Kestrel 4500 anzeigen + + + \ No newline at end of file diff --git a/addons/laser/CfgEventhandlers.hpp b/addons/laser/CfgEventhandlers.hpp index bad89fd048..d925d0a12e 100644 --- a/addons/laser/CfgEventhandlers.hpp +++ b/addons/laser/CfgEventhandlers.hpp @@ -9,3 +9,11 @@ class Extended_PostInit_EventHandlers { init = QUOTE(call COMPILE_FILE(XEH_post_init)); }; }; + +class Extended_Init_EventHandlers { + class LaserTargetBase { + class ADDON { + init = QUOTE(_this call DFUNC(laser_init)); + }; + }; +}; \ No newline at end of file diff --git a/addons/laser/CfgVehicles.hpp b/addons/laser/CfgVehicles.hpp index 07b8055f0e..23eb00c37c 100644 --- a/addons/laser/CfgVehicles.hpp +++ b/addons/laser/CfgVehicles.hpp @@ -2,8 +2,19 @@ class CfgVehicles { class All; class LaserTarget: All { + // @TODO: Changing the model and simulation hides it, but THEN IT DOESNT SPAWN WTF!? + model = "\A3\Weapons_F\empty.p3d"; + destrType = "DestructNo"; + simulation = "house"; + class EventHandlers { init = QUOTE(_this call FUNC(laser_init)); }; }; + + // Visual laserTarget override + class ACE_LaserTarget_Visual : LaserTarget { + simulation = "LaserTarget"; + model = "\A3\Weapons_f\laserTgt.p3d"; + }; }; \ No newline at end of file diff --git a/addons/laser/CfgWeapons.hpp b/addons/laser/CfgWeapons.hpp new file mode 100644 index 0000000000..70a25e6f85 --- /dev/null +++ b/addons/laser/CfgWeapons.hpp @@ -0,0 +1,8 @@ + +class CfgWeapons { + class Binocular; + + class Laserdesignator : Binocular { + visionMode[] = {"Normal","NVG"}; + }; +}; diff --git a/addons/laser/RscInGameUI.hpp b/addons/laser/RscInGameUI.hpp new file mode 100644 index 0000000000..d87136c960 --- /dev/null +++ b/addons/laser/RscInGameUI.hpp @@ -0,0 +1,144 @@ +class RscControlsGroup; +class VScrollbar; +class HScrollbar; +class RscText; +class RscMapControl; + +class RscInGameUI { + class RscOptics_LaserDesignator { + idd = 300; + controls[] = {"CA_IGUI_elements_group"}; + + onLoad = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',(_this select 0)];"; + onUnload = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',nil];"; + + + class CA_IGUI_elements_group: RscControlsGroup { + idc = 170; + + x = "0 * (0.01875 * SafezoneH) + (SafezoneX + ((SafezoneW - SafezoneH) / 2))"; + y = "0 * (0.025 * SafezoneH) + (SafezoneY)"; + w = "53.5 * (0.01875 * SafezoneH)"; + h = "40 * (0.025 * SafezoneH)"; + class VScrollbar: VScrollbar { + width = 0; + }; + class HScrollbar: HScrollbar { + height = 0; + }; + class controls { + class CA_OpticsZoom: RscText { + idc = 180; + style = 1; + colorText[] = {0.706,0.0745,0.0196,1}; + sizeEx = "0.038*SafezoneH"; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "4.5"; + x = "43.85 * (0.01875 * SafezoneH)"; + y = "19.6 * (0.025 * SafezoneH)"; + w = "4.5 * (0.01875 * SafezoneH)"; + h = "1.1 * (0.025 * SafezoneH)"; + }; + class ACE_Distance: RscText { + idc = 123002; + style = 0; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "2456"; + x = "24.6 * (0.01875 * SafezoneH)"; + y = "3 * (0.025 * SafezoneH)"; + w = "4 * (0.01875 * SafezoneH)"; + h = "1.5 * (0.025 * SafezoneH)"; + }; + class CA_Distance: RscText { + idc = 151; + style = 0; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "2456"; + x = 0; + y = 0; + w = 0; + h = 0; + }; + class CA_Elev: RscText { + idc = 175; + style = 1; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "80.5"; + x = "32.7 * (0.01875 * SafezoneH)"; + y = "3 * (0.025 * SafezoneH)"; + w = "5 * (0.01875 * SafezoneH)"; + h = "1.5 * (0.025 * SafezoneH)"; + }; + class CA_VisionMode: RscText { + idc = 179; + style = 0; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "VIS"; + x = "6.5 * (0.01875 * SafezoneH)"; + y = "19.6 * (0.025 * SafezoneH)"; + w = "4 * (0.01875 * SafezoneH)"; + h = "1.1 * (0.025 * SafezoneH)"; + }; + class CA_Laser: RscText { + idc = 158; + style = "0x30 + 0x800"; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa"; + x = "29.2 * (0.01875 * SafezoneH)"; + y = "3 * (0.025 * SafezoneH)"; + w = "3.5 * (0.01875 * SafezoneH)"; + h = "1.5 * (0.025 * SafezoneH)"; + }; + class CA_Heading: RscText { + idc = 156; + style = 0; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "023"; + x = "16.1 * (0.01875 * SafezoneH)"; + y = "3 * (0.025 * SafezoneH)"; + w = "3.5 * (0.01875 * SafezoneH)"; + h = "1.6 * (0.025 * SafezoneH)"; + }; + + class ACE_LaserCode_Helper : RscMapControl { + idc = -1; + onDraw = QUOTE(_this call FUNC(onLaserDesignatorDraw)); + w = 0; + h = 0; + }; + class ACE_LaserCode : RscText { + idc = 123001; + style = 0; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "Code: 1001"; + x = "32.7 * (0.01875 * SafezoneH)"; + y = "35.5 * (0.025 * SafezoneH)"; + w = "12 * (0.01875 * SafezoneH)"; + h = "1.6 * (0.025 * SafezoneH)"; + }; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/laser/XEH_post_init.sqf b/addons/laser/XEH_post_init.sqf index 6904ee6c47..f868ef9895 100644 --- a/addons/laser/XEH_post_init.sqf +++ b/addons/laser/XEH_post_init.sqf @@ -1,3 +1,5 @@ #include "script_component.hpp" -NO_DEDICATED; + +["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call EFUNC(common,addEventHandler); +["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call EFUNC(common,addEventHandler); diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index 8b39c429b6..2dd6e666eb 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -6,21 +6,27 @@ PREP(shootRay); PREP(shootCone); PREP(checkLos); -PREP(findLaserDesignator); PREP(findStrongestRay); -PREP(translateToModelSpace); -PREP(translateToWeaponSpace); +PREP(onLaserDesignatorDraw); + +PREP(seekerFindLaserSpot); +PREP(laserOn); +PREP(laserOff); +PREP(handleLaserOn); +PREP(handleLaserOff); + +PREP(drawVisibleLaserTargets); PREP(laser_init); - -GVAR(laser) = nil; // a single hud draws 1 laser at a time - +PREP(vanillaLaserSeekerHandler); PREP(laserTargetPFH); -ACE_LASERS = []; +GVAR(VanillaLasers) = []; -ACE_DEFAULT_LASER_CODE = 1000; -ACE_DEFAULT_FIRE_SELECTION = [FIREMODE_DIRECT_LOAL, ACE_DEFAULT_LASER_CODE]; +// Laser default variables +ACE_DEFAULT_LASER_CODE = 1001; +ACE_DEFAULT_LASER_WAVELENGTH = 1550; +ACE_DEFAULT_LASER_BEAMSPREAD = 1; -FUNC(getPosASL) = {visiblePositionASL (_this select 0)}; \ No newline at end of file +GVAR(laserEmitters) = HASH_CREATE; \ No newline at end of file diff --git a/addons/laser/config.cpp b/addons/laser/config.cpp index 4b209b866e..ad368cdc2d 100644 --- a/addons/laser/config.cpp +++ b/addons/laser/config.cpp @@ -11,4 +11,6 @@ class CfgPatches { }; #include "CfgEventhandlers.hpp" -#include "CfgVehicles.hpp" \ No newline at end of file +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" +#include "RscInGameUI.hpp" \ No newline at end of file diff --git a/addons/laser/functions/fnc_drawVisibleLaserTargets.sqf b/addons/laser/functions/fnc_drawVisibleLaserTargets.sqf new file mode 100644 index 0000000000..10d5f1e1b6 --- /dev/null +++ b/addons/laser/functions/fnc_drawVisibleLaserTargets.sqf @@ -0,0 +1,9 @@ +// This is a debug function for displaying visible lasers for ourselves +#include "script_component.hpp" + +diag_log text format["[ACE]: Laser Emitter Dump"]; + +{ + diag_log text format[" %1", _x]; + diag_log text format[" %2", HASH_GET(GVAR(laserEmitters), _x)]; +} forEach GVAR(laserEmitters) select 0; \ No newline at end of file diff --git a/addons/laser/functions/fnc_findLaserDesignator.sqf b/addons/laser/functions/fnc_findLaserDesignator.sqf deleted file mode 100644 index d10e221501..0000000000 --- a/addons/laser/functions/fnc_findLaserDesignator.sqf +++ /dev/null @@ -1,70 +0,0 @@ -#include "script_component.hpp" - -private ["_missile", "_headingPitch", "_found", "_vectorTo", "_polarTo", "_dir", "_vertOk", "_horzOk", "_fov", - "_closestDistance", "_pos1", "_pos2", "_disCheck", "_currentTarget", "_potentialTargets", "_offset", "_vector"]; -_missile = _this select 0; -_laserCode = _this select 1; -_fov = if (count _this > 2) then {_this select 2} else {75}; -_vector = if (count _this > 3) then {_this select 3} else {vectorDir _missile}; -_offset = if (count _this > 4) then {_this select 4} else {[0,0,0]}; - -_headingPitch = _vector call CBA_fnc_vect2polar; -_currentTarget = nil; -_found = false; - -LOG("Searching lasers"); -if(!(isNil "ACE_LASERS")) then { - _potentialTargets = []; - TRACE_1("", ACE_LASERS); - - { - if(!(isNull _x)) then { - _sensorPos = ATLtoASL(_missile modelToWorldVisual _offset); - _vectorTo = [_sensorPos, ([_x] call FUNC(getPosASL))] call BIS_fnc_vectorFromXToY; - _polarTo = _vectorTo call CBA_fnc_vect2polar; - _dir = _polarTo select 1; - _dir = _dir - (_headingPitch select 1); - - TRACE_4("Calc", _sensorPos, _vectorTo, _polarTo, _dir); - - if (_dir < 0) then {_dir = _dir + 360}; - if (_dir > 360) then {_dir = _dir - 360}; - _vertOk = false; - _horzOk = false; - if(_dir < _fov || {_dir > (360-_fov)}) then { - _horzOk = true; - }; - if(abs((abs(_polarTo select 2))-(abs(_headingPitch select 2))) < _fov) then { - _vertOk = true; - }; - - TRACE_2("Results", _vertOk, _horzOk); - - if(_vertOk && {_horzOk}) then { - // Does the laser currently have our current code, if we have one? - _targetCode = _x getVariable ["ACE_LASERTARGET_CODE", ACE_DEFAULT_LASER_CODE]; - TRACE_1("Target in sight, checking code", _targetCode, _laserCode); - if(_targetCode == _laserCode) then { - _potentialTargets set[(count _potentialTargets), _x]; - }; - }; - }; - - } forEach ACE_LASERS; - - TRACE_1("", _potentialTargets); - - _closestDistance = 100000; - { - _pos1 = (getPosASL _missile); - _pos2 = ([_x] call FUNC(getPosASL)); - _disCheck = _pos1 distance _pos2; - // shouldn't this bail out when a valid target is found instead of iterating over all potential targets ? - if(_disCheck < _closestDistance && {[_pos1, _pos2, _x, _missile] call FUNC(checkLos)}) then { - _found = true; - _currentTarget = _x; - _closestDistance = _disCheck; - }; - } forEach _potentialTargets; -}; -[_found, _currentTarget] \ No newline at end of file diff --git a/addons/laser/functions/fnc_findStrongestRay.sqf b/addons/laser/functions/fnc_findStrongestRay.sqf index e4238361cb..811b75d351 100644 --- a/addons/laser/functions/fnc_findStrongestRay.sqf +++ b/addons/laser/functions/fnc_findStrongestRay.sqf @@ -1,5 +1,5 @@ #include "script_component.hpp" - +private["_checkPos", "_i", "_largest", "_largestSpot", "_list", "_outliers", "_remainingSpots", "_samplePos", "_spot", "_spots", "_testPos"]; _list = _this select 0; _checkPos = _this select 1; _spots = []; diff --git a/addons/laser/functions/fnc_handleLaserOff.sqf b/addons/laser/functions/fnc_handleLaserOff.sqf new file mode 100644 index 0000000000..573bd8197b --- /dev/null +++ b/addons/laser/functions/fnc_handleLaserOff.sqf @@ -0,0 +1,8 @@ +//fnc_handleLaserOff.sqf +#include "script_component.hpp" + +private ["_uuid"]; +_uuid = _this select 0; +if(HASH_HASKEY(GVAR(laserEmitters), _uuid)) then { + HASH_REM(GVAR(laserEmitters), _uuid); +}; diff --git a/addons/laser/functions/fnc_handleLaserOn.sqf b/addons/laser/functions/fnc_handleLaserOn.sqf new file mode 100644 index 0000000000..bac53a8957 --- /dev/null +++ b/addons/laser/functions/fnc_handleLaserOn.sqf @@ -0,0 +1,7 @@ +//fnc_handleLaserOn.sqf +#include "script_component.hpp" + +private ["_uuid", "_args"]; +_uuid = _this select 0; +_args = _this select 1; +HASH_SET(GVAR(laserEmitters), _uuid, _args); diff --git a/addons/laser/functions/fnc_laserOff.sqf b/addons/laser/functions/fnc_laserOff.sqf new file mode 100644 index 0000000000..84613cd988 --- /dev/null +++ b/addons/laser/functions/fnc_laserOff.sqf @@ -0,0 +1,16 @@ +/* + * Author: Nou + * Turn a laser designator off. + * + * Arguments: + * 0: UUID (from laserOn) + * + * Return value: + * None + */ + +#include "script_component.hpp" + +private ["_uuid"]; +_uuid = _this select 0; +["laser_laserOff", [_uuid]] call EFUNC(common,globalEvent); diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf new file mode 100644 index 0000000000..9b5faa3859 --- /dev/null +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -0,0 +1,23 @@ +/* + * Author: Nou + * Turn a laser designator on. + * + * Arguments: + * 0: Emitter + * 1: Owner + * 2: Method, can be code, which emitter and owner are passed to, a string function name, an array with a position memory point and weapon name, or an array with a position memory point, a vector begining memory point, and vector ending memory point. + * 3: Wavelength (1550nm is common eye safe) + * 4: Laser code + * 5: Beam divergence (in mils off beam center). + * + * Return value: + * String, UUID for sending to laserOff function. + */ + +#include "script_component.hpp" + +private ["_uuid", "_args"]; +_uuid = format["%1%2%3", floor diag_tickTime, floor random 1000, floor random 10000]; +_args = [_uuid, _this]; +["laser_laserOn", _args] call EFUNC(common,globalEvent); +_uuid; diff --git a/addons/laser/functions/fnc_laserTargetPFH.sqf b/addons/laser/functions/fnc_laserTargetPFH.sqf index bdab413685..4c4f242482 100644 --- a/addons/laser/functions/fnc_laserTargetPFH.sqf +++ b/addons/laser/functions/fnc_laserTargetPFH.sqf @@ -1,20 +1,25 @@ +//#define DEBUG_MODE_FULL #include "script_component.hpp" +TRACE_1("enter", _this); -private["_args", "_laserTarget"]; +private["_args", "_laserTarget", "_pos", "_shooter", "_uuid"]; //TRACE_1("enter", _this); _args = _this select 0; _laserTarget = _args select 0; +_shooter = _args select 1; +_uuid = _args select 2; -if(isNull _laserTarget || !alive player) exitWith { +if(isNull _laserTarget || !alive _shooter) exitWith { [(_this select 1)] call cba_fnc_removePerFrameHandler; - REM(ACE_LASERS, _laserTarget); + REM(GVAR(VanillaLasers), _laserTarget); + + // Remove laseron + [_uuid] call FUNC(laserOff); }; -_end = diag_tickTime; - #ifdef DEBUG_MODE_FULL // Iconize the location of the actual laserTarget -_pos = [_laserTarget] call FUNC(getPosASL); +_pos = getPosASL _laserTarget; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,0,1], (ASLtoATL _pos), 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; { diff --git a/addons/laser/functions/fnc_laser_init.sqf b/addons/laser/functions/fnc_laser_init.sqf index 9fcb439032..2be349c294 100644 --- a/addons/laser/functions/fnc_laser_init.sqf +++ b/addons/laser/functions/fnc_laser_init.sqf @@ -1,25 +1,33 @@ +//#define DEBUG_MODE_FULL #include "script_component.hpp" -PARAMS_1(_laserTarget); - TRACE_1("enter", _this); +PARAMS_1(_laserTarget); +private["_uuid"]; + // Add the target to the global targets array // Everyone tracks them - // Add the laser localized to the laser array, and give it the default localized code -PUSH(ACE_LASERS, _laserTarget); +PUSH(GVAR(VanillaLasers), _laserTarget); + // Check the vehicle, otherwise use the default -_laserTarget setVariable ["ACE_LASERTARGET_CODE", ACE_DEFAULT_LASER_CODE, false]; +_laserTarget setVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE, false]; +_laserTarget setVariable [QGVAR(beamSpread), ACE_DEFAULT_LASER_BEAMSPREAD, false]; +_laserTarget setVariable [QGVAR(waveLength), ACE_DEFAULT_LASER_WAVELENGTH, false]; + // Clean the lasers of any null objects while we are here -REM(ACE_LASERS, objNull); +REM(GVAR(VanillaLasers), objNull); if(!(local _laserTarget)) exitWith { }; + // The target is local, so its on this client if(!isDedicated) then { - _laserTarget setVariable ["ACE_LASERTARGET_SHOOTER", player, true]; - - [FUNC(laserTargetPFH), 0, [_laserTarget, player]] call cba_fnc_addPerFrameHandler; + // @TODO: Get ownership variables and set them on the vehicle + + _uuid = [(vehicle ACE_player), ACE_player, QFUNC(vanillaLaserSeekerHandler), ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_CODE, ACE_DEFAULT_LASER_BEAMSPREAD] call FUNC(laserOn); + _laserTarget setVariable [QGVAR(uuid), _uuid, false]; + [FUNC(laserTargetPFH), 0, [_laserTarget, ACE_player, _uuid]] call cba_fnc_addPerFrameHandler; } else { // server side ownership of laser - //_laserTarget setVariable ["ACE_LASERTARGET_SHOOTER", nil, false]; + _laserTarget setVariable [QGVAR(owner), nil, true]; }; diff --git a/addons/laser/functions/fnc_onLaserDesignatorDraw.sqf b/addons/laser/functions/fnc_onLaserDesignatorDraw.sqf new file mode 100644 index 0000000000..7f8537ab9b --- /dev/null +++ b/addons/laser/functions/fnc_onLaserDesignatorDraw.sqf @@ -0,0 +1,15 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +private["_laserCode"]; + +_laserCode = ACE_player getVariable[QGVAR(code), ACE_DEFAULT_LASER_CODE]; +if(!isNil "_laserCode") then { + __LaserDesignatorIGUI_LaserCode ctrlSetText format["Code: %1", [_laserCode, 4, 0, false] call CBA_fnc_formatNumber]; +}; + +if(! (ctrlShown __LaserDesignatorIGUI_LaserOn) ) then { + // TODO: hide distance + __LaserDesignatorIGUI_ACE_Distance ctrlSetText "----"; +} else { + __LaserDesignatorIGUI_ACE_Distance ctrlSetText (ctrlText __LaserDesignatorIGUI_CA_Distance); +}; \ No newline at end of file diff --git a/addons/laser/functions/fnc_rotateVectLine.sqf b/addons/laser/functions/fnc_rotateVectLine.sqf index b0360cc330..8bae491c4e 100644 --- a/addons/laser/functions/fnc_rotateVectLine.sqf +++ b/addons/laser/functions/fnc_rotateVectLine.sqf @@ -1,5 +1,5 @@ #include "script_component.hpp" - +private["_d", "_map", "_p", "_theta", "_u"]; _map = _this select 0; _theta = _this select 1; @@ -32,7 +32,5 @@ if (_d != 0) then { }; /* Inverse of step 1 */ -_q1 set[0, (_q2 select 0) + (_p1 select 0)]; -_q1 set[1, (_q2 select 1) + (_p1 select 1)]; -_q1 set[2, (_q2 select 2) + (_p1 select 2)]; +_q1 = _q2 vectorAdd _p1; _q1; \ No newline at end of file diff --git a/addons/laser/functions/fnc_rotateVectLineGetMap.sqf b/addons/laser/functions/fnc_rotateVectLineGetMap.sqf index fdbd6533ef..dc4b1b54c3 100644 --- a/addons/laser/functions/fnc_rotateVectLineGetMap.sqf +++ b/addons/laser/functions/fnc_rotateVectLineGetMap.sqf @@ -5,19 +5,12 @@ _p = _this select 0; _p1 = _this select 1; _p2 = _this select 2; -_q1 = []; _q2 = []; -_u = []; /* Step 1 */ -_q1 set[0, (_p select 0) - (_p1 select 0)]; -_q1 set[1, (_p select 1) - (_p1 select 1)]; -_q1 set[2, (_p select 2) - (_p1 select 2)]; - -_u set[0, (_p2 select 0) - (_p1 select 0)]; -_u set[1, (_p2 select 1) - (_p1 select 1)]; -_u set[2, (_p2 select 2) - (_p1 select 2)]; -_u = _u call BIS_fnc_unitVector; +_q1 = _p vectorDiff _p1; +_u = _p2 vectorDiff _p1; +_u = vectorNormalized _u; _d = sqrt((_u select 1)*(_u select 1) + (_u select 2)*(_u select 2)); /* Step 2 */ diff --git a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf new file mode 100644 index 0000000000..77713eb591 --- /dev/null +++ b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf @@ -0,0 +1,156 @@ +/* + * Author: Nou + * Turn a laser designator on. + * + * Arguments: + * 0: Position of seeker (ASL) + * 1: Direction vector (will be normalized) + * 2: Seeker FOV in degrees + * 3: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. + * 4: Seeker laser code. + * + * Return value: + * Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found. + */ + +#include "script_component.hpp" + +private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method"]; +private ["_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index"]; +private ["_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"]; +private["_dir", "_seekerCos", "_seekerFov", "_testDotProduct", "_testPoint", "_testPointVector"]; + +_pos = _this select 0; +_dir = vectorNormalized (_this select 1); +_seekerFov = _this select 2; +_seekerWavelengths = _this select 3; +_seekerCode = _this select 4; + + +_seekerCos = cos _seekerFov; + +_spots = []; +_buckets = []; +_excludes = []; +_bucketIndex = 0; +_finalPos = nil; +_finalOwner = nil; + +{ + _obj = _x select 0; + _owner = _x select 1; + _method = _x select 2; + _emitterWavelength = _x select 3; + _laserCode = _x select 4; + _divergence = _x select 5; + if(alive _obj && {_emitterWavelength >= (_seekerWavelengths select 0)} && {_emitterWavelength <= (_seekerWavelengths select 1)} && {_laserCode == _seekerCode}) then { + _laser = []; + if(IS_CODE(_method)) then { + _laser = _x call _method; + } else { + if(IS_STRING(_method)) then { + _laser = _x call (missionNamespace getVariable [_method, {}]); + } else { + if(IS_ARRAY(_method)) then { + if(count _method == 2) then { + _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), _obj weaponDirection (_method select 1)]; + } else { + if(count _method == 3) then { + _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), (ATLtoASL (_obj modelToWorldVisual (_method select 1))) vectorFromTo (ATLtoASL (_obj modelToWorldVisual (_method select 2)))]; + }; + }; + }; + }; + }; + _laserPos = _laser select 0; + _laserDir = _laser select 1; + _res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone); + { + _testPoint = _x select 0; + _testPointVector = vectorNormalized (_testPoint vectorDiff _pos); + _testDotProduct = _dir vectorDotProduct _testPointVector; + if(_testDotProduct > _seekerCos) then { + _spots pushBack [_testPoint, _owner]; + }; + } forEach (_res select 2); + }; +} forEach (GVAR(laserEmitters) select 1); + +if((count _spots) > 0) then { + _bucketPos = nil; + _bucketList = nil; + _c = 0; + while { count(_spots) != count(_excludes) && _c < (count _spots) } do { + scopeName "mainSearch"; + { + if(!(_forEachIndex in _excludes)) then { + _index = _buckets pushBack [_x, [_x]]; + _excludes pushBack _forEachIndex; + _bucketPos = _x select 0; + _bucketList = (_buckets select _index) select 1; + breakTo "mainSearch"; + }; + } forEach _spots; + { + if(!(_forEachIndex in _excludes)) then { + _testPos = (_x select 0); + if(_testPos vectorDistanceSqr _bucketPos <= 100) then { + _bucketList pushBack _x; + _excludes pushBack _forEachIndex; + }; + }; + } forEach _spots; + _c = _c + 1; + }; + _finalBuckets = []; + _largest = -1; + _largestIndex = 0; + { + _index = _finalBuckets pushBack []; + _bucketList = _finalBuckets select _index; + { + _testPos = (_x select 0); + if(!terrainIntersectASL [_pos, _testPos] && {!lineIntersects [_pos, _testPos]}) then { + _bucketList pushBack _x; + }; + } forEach (_x select 1); + if((count _bucketList) > _largest) then { + _largest = (count _bucketList); + _largestIndex = _index; + }; + } forEach _buckets; + + _finalBucket = _finalBuckets select _largestIndex; + _owners = HASH_CREATE; + + if(count _finalBucket > 0) then { + _avgX = 0; + _avgY = 0; + _avgZ = 0; + { + player sideChat format["x: %1", _x]; + _avgX = _avgX + ((_x select 0) select 0); + _avgY = _avgY + ((_x select 0) select 1); + _avgZ = _avgZ + ((_x select 0) select 2); + _owner = _x select 1; + if(HASH_HASKEY(_owners, _owner)) then { + _count = HASH_GET(_owners, _owner); + HASH_SET(_owners, _owner, _count+1); + } else { + HASH_SET(_owners, _owner, 1); + }; + } forEach _finalBucket; + _count = count _finalBucket; + _finalPos = [_avgX/_count, _avgY/_count, _avgZ/_count]; + _maxOwner = -1; + _maxOwnerIndex = 0; + { + if((_owners select 1) select _forEachIndex > _maxOwner) then { + _maxOwner = (_owners select 1) select _forEachIndex; + _maxOwnerIndex = _forEachIndex; + }; + } forEach (_owners select 0); + _finalOwner = (_owners select 0) select _maxOwnerIndex; + }; +}; +[_finalPos, _owner]; diff --git a/addons/laser/functions/fnc_shootCone.sqf b/addons/laser/functions/fnc_shootCone.sqf index e33edd10bc..a7187aa0e4 100644 --- a/addons/laser/functions/fnc_shootCone.sqf +++ b/addons/laser/functions/fnc_shootCone.sqf @@ -1,8 +1,16 @@ #include "script_component.hpp" - +//#define DEBUG_MODE_FULL +private ["_i", "_divergence","_pos","_vec","_longestReturn","_shortestReturn","_resultPositions","_p1","_p2","_p","_v","_cp","_vecRotateMap","_result", "_resultPos","_distance","_count","_pos2","_radOffset","_offset","_offsetPos","_offsetVector"]; _divergence = 0.3; _pos = _this select 0; _vec = _this select 1; +if(count _this > 2) then { + _divergence = _this select 2; +}; +_count = 3; +if(count _this > 3) then { + _count = _this select 3; +}; _longestReturn = -1000000000; _shortestReturn = 1000000000; _resultPositions = []; @@ -10,7 +18,7 @@ _p1 = [0,0,0]; _p2 = +_vec; _p = (_vec call CBA_fnc_vect2polar); _v = [(_p select 0), (_p select 1), (_p select 2)+90] call CBA_fnc_polar2vect; -_cp = [_vec, _v] call BIS_fnc_crossProduct; +_cp = _vec vectorCrossProduct _v; _vecRotateMap = [_cp, _p1, _p2] call FUNC(rotateVectLineGetMap); @@ -24,28 +32,21 @@ if(!isNil "_resultPos") then { if(_distance > _longestReturn) then { _longestReturn = _distance; }; - _resultPositions set[(count _resultPositions), _result]; + _resultPositions pushBack _result; #ifdef DEBUG_MODE_FULL - DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + // DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + drawLine3D [ASLtoATL _pos, ASLtoATL _resultPos, [1,0,0,1]]; #endif }; -_count = 8; -_pos2 = [ - (_pos select 0)+((_vec select 0)*1000), - (_pos select 1)+((_vec select 1)*1000), - (_pos select 2)+((_vec select 2)*1000) - ]; + +_pos2 = _pos vectorAdd (_vec vectorMultiply 1000); { for "_i" from 0 to ceil(_count*_x) do { _radOffset = random 360; _offset = [_vecRotateMap, (((360/_count)*_i)+_radOffset) mod 360] call FUNC(rotateVectLine); - _offsetPos = [ - (_pos2 select 0)+((_offset select 0)*(_divergence*_x)), - (_pos2 select 1)+((_offset select 1)*(_divergence*_x)), - (_pos2 select 2)+((_offset select 2)*(_divergence*_x)) - ]; - _offsetVector = [_pos, _offsetPos] call BIS_fnc_vectorFromXtoY; + _offsetPos = _pos2 vectorAdd (_offset vectorMultiply (_divergence*_x)); + _offsetVector = _pos vectorFromTo _offsetPos; _result = [_pos, _offsetVector] call FUNC(shootRay); _resultPos = _result select 0; if(!isNil "_resultPos") then { @@ -56,9 +57,10 @@ _pos2 = [ if(_distance > _longestReturn) then { _longestReturn = _distance; }; - _resultPositions set[(count _resultPositions), _result]; + _resultPositions pushBack _result; #ifdef DEBUG_MODE_FULL - DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + // DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + drawLine3D [ASLtoATL _pos, ASLtoATL _resultPos, [1,0,0,1]]; #endif }; }; diff --git a/addons/laser/functions/fnc_shootRay.sqf b/addons/laser/functions/fnc_shootRay.sqf index 62847d16b6..83b257ed7b 100644 --- a/addons/laser/functions/fnc_shootRay.sqf +++ b/addons/laser/functions/fnc_shootRay.sqf @@ -11,13 +11,8 @@ _lastPos = +_pos; { scopeName "mainSearch"; for "_i" from 1 to 10 do { - _nextPos = [ - (_lastPos select 0)+((_vec select 0)*_x), - (_lastPos select 1)+((_vec select 1)*_x), - (_lastPos select 2)+((_vec select 2)*_x) - ]; - - if(lineIntersects [_lastPos, _nextPos] || terrainIntersectASL [_lastPos, _nextPos]) then { + _nextPos = _lastPos vectorAdd (_vec vectorMultiply _x); + if(terrainIntersectASL [_lastPos, _nextPos] || {lineIntersects [_lastPos, _nextPos]}) then { _resultPos = _lastPos; breakTo "mainSearch"; } else { @@ -25,6 +20,5 @@ _lastPos = +_pos; _lastPos = _nextPos; }; }; - } forEach _fidelity; [_resultPos, _distance]; \ No newline at end of file diff --git a/addons/laser/functions/fnc_translateToModelSpace.sqf b/addons/laser/functions/fnc_translateToModelSpace.sqf deleted file mode 100644 index 1e2e930ac7..0000000000 --- a/addons/laser/functions/fnc_translateToModelSpace.sqf +++ /dev/null @@ -1,16 +0,0 @@ -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = (((_xVec vectorMultiply _x) vectorAdd (_yVec vectorMultiply _y)) vectorAdd (_zVec vectorMultiply _z)) vectorAdd _origin; - -_out; \ No newline at end of file diff --git a/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf b/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf new file mode 100644 index 0000000000..091c4f7acf --- /dev/null +++ b/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf @@ -0,0 +1,26 @@ +/* + * Author: jaynus + * Handler function for laser network code. + * + * Argument: + * 0: Emitter + * 1: Owner + * + * Return value: + * [position, direction] + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +private["_emmiter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"]; + +_emmiter = _this select 0; +_owner = _this select 1; + +// Not in a vehicle.... +// @TODO: handle lasering from turrets +if( (vehicle _emmiter) == _emmiter && alive _emmiter && (currentWeapon _emmiter) == "LaserDesignator") exitWith { + [(eyePos _emmiter), (eyeDirection _emmiter)] +}; + +[-1,-1] \ No newline at end of file diff --git a/addons/laser/script_component.hpp b/addons/laser/script_component.hpp index 2be1e9e14b..77369ead96 100644 --- a/addons/laser/script_component.hpp +++ b/addons/laser/script_component.hpp @@ -12,4 +12,11 @@ #include "\z\ace\Addons\main\script_macros.hpp" -#define FIREMODE_DIRECT_LOAL 1 \ No newline at end of file +#define FIREMODE_DIRECT_LOAL 1 + + +#define __LaserDesignatorIGUI (uiNamespace getVariable ["ACE_RscOptics_LaserDesignator", nil]) +#define __LaserDesignatorIGUI_LaserCode (__LaserDesignatorIGUI displayCtrl 123001) +#define __LaserDesignatorIGUI_ACE_Distance (__LaserDesignatorIGUI displayCtrl 123002) +#define __LaserDesignatorIGUI_CA_Distance (__LaserDesignatorIGUI displayCtrl 151) +#define __LaserDesignatorIGUI_LaserOn (__LaserDesignatorIGUI displayCtrl 158) \ No newline at end of file diff --git a/addons/laser_selfdesignate/CfgUI.hpp b/addons/laser_selfdesignate/CfgUI.hpp deleted file mode 100644 index e8823e04f8..0000000000 --- a/addons/laser_selfdesignate/CfgUI.hpp +++ /dev/null @@ -1,32 +0,0 @@ -class RscPicture; -class RscText; -class RscControlsGroupNoScrollbars; -/* This disables air radar. We need to make this a seperate HUD addon -class RscInGameUI -{ - class RscUnitInfo - { - class CA_Radar: RscControlsGroupNoScrollbars - { - class controls - { - class CA_RadarBackground: RscPicture { - colorText[] = {0,0,0,0}; - text = ""; - }; - class CA_RadarIcon: RscPicture { - colorText[] = {0,0,0,0}; - }; - class CA_Heading: RscText { - colorText[] = {0,0,0,0}; - }; - }; - }; - }; -}; -class CfgInGameUI -{ - -}; - -*/ \ No newline at end of file diff --git a/addons/laser_selfdesignate/CfgVehicles.hpp b/addons/laser_selfdesignate/CfgVehicles.hpp index 1c30e3d1e7..02d8b32b3d 100644 --- a/addons/laser_selfdesignate/CfgVehicles.hpp +++ b/addons/laser_selfdesignate/CfgVehicles.hpp @@ -8,12 +8,6 @@ class CfgVehicles { class Turrets { class MainTurret; }; - - // TODO: move these to a different HUD addon - // commanderCanSee = 2+32; - // gunnerCanSee = 2+32; - // driverCanSee = 2+32; - }; class Helicopter_Base_F: Helicopter {}; @@ -24,7 +18,6 @@ class CfgVehicles { class Turrets: Turrets { class MainTurret: MainTurret { GVAR(Enabled) = 1; // Enable laser self-designation - stabilizedInAxes = 4; // This stablizes the turret a bit more for laser designation }; }; }; diff --git a/addons/laser_selfdesignate/XEH_pre_init.sqf b/addons/laser_selfdesignate/XEH_pre_init.sqf index a8d4b1779d..3f8c92e4db 100644 --- a/addons/laser_selfdesignate/XEH_pre_init.sqf +++ b/addons/laser_selfdesignate/XEH_pre_init.sqf @@ -5,7 +5,8 @@ PREP(laserHudDesignateOn); PREP(laserHudDesignateOff); PREP(unitTurretHasDesignator); -GVAR(laser) = nil; -GVAR(laserActive) = false; +PREP(findLaserSource); + +GVAR(active) = false; FUNC(getPosASL) = {visiblePositionASL (_this select 0)}; diff --git a/addons/laser_selfdesignate/config.cpp b/addons/laser_selfdesignate/config.cpp index ff9c269989..19ec28063b 100644 --- a/addons/laser_selfdesignate/config.cpp +++ b/addons/laser_selfdesignate/config.cpp @@ -5,13 +5,11 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_interaction", "ace_laser"}; + requiredAddons[] = {"ace_laser"}; version = VERSION; }; }; -#include "CfgUI.hpp" - #include "CfgEventhandlers.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" diff --git a/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf b/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf new file mode 100644 index 0000000000..27beed3c6a --- /dev/null +++ b/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf @@ -0,0 +1,30 @@ +/* + * Author: jaynus + * Handler function for laser network code. + * + * Argument: + * 0: Emitter + * 1: Owner + * + * Return value: + * [position, direction] + */ + //findLaserSource.sqf +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +private["_emmiter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"]; + +_emmiter = _this select 0; +_owner = _this select 1; + +_gunnerInfo = [_emmiter, (currentWeapon _emmiter)] call CBA_fnc_getFirer; +_turretInfo = [_emmiter, _gunnerInfo select 1] call EFUNC(common,getTurretDirection); +_povPos = _turretInfo select 0; +_povDir = _turretInfo select 1; + +if(!isNil "_povPos" && !isNil "_povDir") exitWith { + [_povPos, _povDir] +}; + +[-1,-1] \ No newline at end of file diff --git a/addons/laser_selfdesignate/functions/fnc_initDesignatorActions.sqf b/addons/laser_selfdesignate/functions/fnc_initDesignatorActions.sqf index af361425aa..6514c889a1 100644 --- a/addons/laser_selfdesignate/functions/fnc_initDesignatorActions.sqf +++ b/addons/laser_selfdesignate/functions/fnc_initDesignatorActions.sqf @@ -28,7 +28,7 @@ GVAR(initializedClasses) = _initializedClasses; if (getNumber (_turretConfig >> QGVAR(Enabled)) == 1) exitWith { // @todo: Add the state variables to the vehicle, instead of to the client - // e.g.: _vehicle setVariable [format ["%1_%2", QGVAR(laserActive), _x], false]; + // e.g.: _vehicle setVariable [format ["%1_%2", QGVAR(active), _x], false]; // Add actions _onAction = [QGVAR(LaserOn), localize "STR_ACE_Laser_SelfDesignate_DesignatorOn", "", @@ -38,7 +38,7 @@ GVAR(initializedClasses) = _initializedClasses; }, { // Condition - !GVAR(laserActive) && {[ACE_player] call FUNC(unitTurretHasDesignator)} + !GVAR(active) && {[ACE_player] call FUNC(unitTurretHasDesignator)} }] call EFUNC(interact_menu,createAction); _offAction = [QGVAR(LaserOff), localize "STR_ACE_Laser_SelfDesignate_DesignatorOff", "", @@ -48,7 +48,7 @@ GVAR(initializedClasses) = _initializedClasses; }, { // Condition - GVAR(laserActive) && {[ACE_player] call FUNC(unitTurretHasDesignator)} + GVAR(active) && {[ACE_player] call FUNC(unitTurretHasDesignator)} }] call EFUNC(interact_menu,createAction); [_type, 1, ["ACE_SelfActions"], _onAction] call EFUNC(interact_menu,addActionToClass); diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf index 2f4c437d28..aa46c383bd 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf @@ -1,20 +1,30 @@ +/* + * Author: jaynus + * Turns off passed laser self designation. + * + * Argument: + * 0: Shooter, player shooting the laser + * 1: LaserUUID, the UUID of the laser returned by EFUNC(laser,laserOn) + * 2: Local laser target, unused. + * + * Return value: + * true + */ #include "script_component.hpp" -if(isNil QGVAR(laser)) exitWith { - false -}; -if(!local GVAR(laser)) then { - false +if( (count _this) > 2) then { + EXPLODE_3_PVT(_this,_shooter,_laserUuid,_localLaserTarget); + + [_laserUuid] call EFUNC(laser,laserOff); + // @TODO: Nou gets to field all tickets about missing lasers. + //deleteVehicle _localLaserTarget; }; -_handle = GVAR(laser) getVariable ["ACE_PFH_HANDLE", nil]; -if(!isNil "_handle") then { - [_handle] call cba_fnc_removePerFrameHandler; -}; +GVAR(active) = false; -REM(ACE_LASERS, GVAR(laser)); -deleteVehicle GVAR(laser); -GVAR(laser) = nil; -GVAR(laserActive) = false; +if(!isNil QGVAR(selfDesignateHandle)) then { + [GVAR(selfDesignateHandle)] call CBA_fnc_removePerFrameHandler; + GVAR(selfDesignateHandle) = nil; +}; true \ No newline at end of file diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index f0fdc8458f..e0c835814e 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -1,109 +1,89 @@ -//#define DEBUG_MODE_FULL +/* + * Author: jaynus + * Turns on laser self designation from this vehicle based on the turret. + * There are no arguments, because it is all strictly based on the users vehicle. + * + * Argument: + * + * Return value: + * N/A + */ + //#define DEBUG_MODE_FULL #include "script_component.hpp" TRACE_1("enter", _this); #define FCS_UPDATE_DELAY 1 -FUNC(magnitude) = { - _this distance [0, 0, 0] -}; - -FUNC(mat_normalize3d) = { - private ["_mag"]; - PARAMS_3(_vx,_vy,_vz); - - _mag = _this call FUNC(magnitude); - if (_mag == 0) then {_mag = 1}; - [(_vx/_mag), (_vy/_mag), (_vz/_mag)] -}; - FUNC(laserHudDesignatePFH) = { - private["_args", "_laserTarget", "_shooter", "_vehicle", "_weapon", "_gunnerInfo", "_turret", "_pov", "_gunBeg", "_gunEnd", "_povPos", "_povDir", "_result", "_resultPositions", "_firstResult", "_forceUpdateTime"]; + private["_strongestResultPos", "_args", "_localLaserTarget", "_laserResultPosition", "_laserResult", "_shooter", "_vehicle", "_weapon", "_gunnerInfo", "_turretInfo", "_pov", "_gunBeg", "_gunEnd", "_povPos", "_povDir", "_result", "_resultPositions", "_firstResult", "_forceUpdateTime"]; _args = _this select 0; - _laserTarget = _args select 0; - _shooter = _args select 1; - - if( (count _args) < 3) then { - _args set[2, diag_tickTime + FCS_UPDATE_DELAY]; - }; - _forceUpdateTime = _args select 2; + _shooter = _args select 0; + _localLaserTarget = _args select 2; _vehicle = vehicle _shooter; - _weapon = currentWeapon _vehicle; - TRACE_1("", _args); - - if(!alive _shooter || isNull _vehicle || isNull _laserTarget || !GVAR(laserActive) ) exitWith { - [] call FUNC(laserHudDesignateOff); + + if((vehicle _shooter) == _shooter || {!alive _shooter} || {isNull _vehicle} || {!GVAR(active)} ) exitWith { + _args call FUNC(laserHudDesignateOff); }; - if(!([ACE_player] call FUNC(unitTurretHasDesignator)) ) exitWith { - [] call FUNC(laserHudDesignateOff); + if(!([_shooter] call FUNC(unitTurretHasDesignator)) ) exitWith { + _args call FUNC(laserHudDesignateOff); }; + + if( (count _args) < 4) then { + _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; + }; + _forceUpdateTime = _args select 3; + + // @TODO: We don't have anything here we need to do the calculations for right now + /* - // Retrieve the gunner and turret memory point information - _gunnerInfo = [_vehicle, _weapon] call CBA_fnc_getFirer; + _gunnerInfo = [_vehicle, (currentWeapon _vehicle)] call CBA_fnc_getFirer; _turretInfo = [_vehicle, _gunnerInfo select 1] call EFUNC(common,getTurretDirection); _povPos = _turretInfo select 0; - _povDir = _turretInfo select 1; + + _laserCode = (vehicle ACE_player) getVariable["ace_laser_code", ACE_DEFAULT_LASER_CODE]; + _waveLength = (vehicle ACE_player) getVariable["ace_laser_waveLength", ACE_DEFAULT_LASER_WAVELENGTH]; - - _result = [_povPos, _povDir] call EFUNC(laser,shootCone); - if((count _result) > 0) then { - _resultPositions = _result select 2; + _laserResult = [_povPos, [_waveLength,_waveLength], _laserCode] call EFUNC(laser,seekerFindLaserSpot); + _laserResultPosition = _laserResult select 0; + TRACE_1("Search", _laserResult); - if((count _resultPositions) > 0) then { - _firstResult = _resultPositions select 0; - _pos = _firstResult select 0; - - // If the laser has moved less than a half meter, then dont move it. - // Just regular use of lasers will commonly make them move this much, - // but not across multiple close frames. - // This loses accuracy a little, but saves position updates per frame. - TRACE_5("", diag_tickTime, _forceUpdateTime, getPosASL _laserTarget, _pos, ((getPosASL _laserTarget) distance _pos)); + if((count _laserResult) > 0) then { + // @TODO: Nou gets to field all tickets about missing lasers. + //_localLaserTarget setPosASL _laserResultPosition; + }; + */ - if(diag_tickTime > _forceUpdateTime) then { - TRACE_1("FCS Update", ""); - ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; - }; - - if( (_laserTarget distance _pos) > 0.1) then { - TRACE_1("LaserPos Update", ""); - _laserTarget setPosATL (ASLToATL _pos); - }; - - if(diag_tickTime > _forceUpdateTime) then { - _args set[2, diag_tickTime + FCS_UPDATE_DELAY]; - }; -#ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], (getPosATL _laserTarget), 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; - - { - private["_position"]; - _position = _x select 0; - drawLine3d [ASLToATL _povPos, ASLToATL _position, [0,0,1,1] ]; - } forEach _resultPositions; -#endif - }; + if(diag_tickTime > _forceUpdateTime) then { + ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; + _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; }; _this set[0, _args]; }; -private "_laserTarget"; -private "_handle"; +private ["_laserTarget", "_handle", "_vehicle", "_laserUuid", "_waveLength", "_beamSpread", "_laserCode"]; -if(isNil QGVAR(laser)) then { +if(!GVAR(active)) then { + GVAR(active) = true; - _laserTarget = "LaserTargetW" createVehicle (getpos player); + TRACE_1("Activating laser", ""); - GVAR(laserActive) = true; + // Get the self-designation variables, or use defaults + _laserCode = (vehicle ACE_player) getVariable["ace_laser_code", ACE_DEFAULT_LASER_CODE]; + _waveLength = (vehicle ACE_player) getVariable["ace_laser_waveLength", ACE_DEFAULT_LASER_WAVELENGTH]; + _beamSpread = (vehicle ACE_player) getVariable["ace_laser_beamSpread", ACE_DEFAULT_LASER_BEAMSPREAD]; - _handle = [FUNC(laserHudDesignatePFH), 0.1, [_laserTarget, player]] call cba_fnc_addPerFrameHandler; - _laserTarget setVariable ["ACE_PFH_HANDLE", _handle, false]; + _laserUuid = [(vehicle ACE_player), ACE_player, QFUNC(findLaserSource), _waveLength, _laserCode, _beamSpread] call EFUNC(laser,laserOn); - GVAR(laser) = _laserTarget; + // @TODO: Create the local target for the players side + // @TODO: Nou gets to field all tickets about missing lasers. + //_localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player); + + GVAR(selfDesignateHandle) = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler; } else { [] call FUNC(laserHudDesignateOff); [] call FUNC(laserHudDesignateOn); diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 70f8912cfe..f587763bce 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -1,12 +1,27 @@  - - - - Laser<br/>Designator On - - - Laser<br/>Designator Off - - + + + Laser Designator On + Lasermarkierer an + Laser Designador encendido + ЛЦУ ВКЛ + Laserový značkovač zapnut + Desygnator laserowy wł. + Désignateur laser allumé + Lézeres Megjelölő Be + Designatore laser acceso + + + Laser Designator Off + Lasermarkierer aus + Laser Designador apagado + ЛЦУ ВЫКЛ + Laserový značkovat vypnut + Desygnator laserowy wył. + Désignateur laser éteint + Lézeres Megjelölő Ki + Designatore laser spento + + \ No newline at end of file diff --git a/addons/laserpointer/CfgVehicles.hpp b/addons/laserpointer/CfgVehicles.hpp index 8c81837fe2..5a0ece1b1f 100644 --- a/addons/laserpointer/CfgVehicles.hpp +++ b/addons/laserpointer/CfgVehicles.hpp @@ -2,7 +2,7 @@ class CfgVehicles { class NATO_Box_Base; class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_acc_pointer_red,4); + MACRO_ADDITEM(ACE_acc_pointer_green,4); }; }; @@ -23,13 +23,12 @@ class CfgVehicles { class FIA_Box_Base_F; class Box_FIA_Support_F: FIA_Box_Base_F { class TransportItems { - MACRO_ADDITEM(ACE_acc_pointer_red,4); + MACRO_ADDITEM(ACE_acc_pointer_green,4); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_acc_pointer_red,4); MACRO_ADDITEM(ACE_acc_pointer_green,4); }; }; diff --git a/addons/laserpointer/CfgWeapons.hpp b/addons/laserpointer/CfgWeapons.hpp index 364f4b2168..4f6a61c83a 100644 --- a/addons/laserpointer/CfgWeapons.hpp +++ b/addons/laserpointer/CfgWeapons.hpp @@ -1,17 +1,28 @@ class SlotInfo; class PointerSlot: SlotInfo { - compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; + compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green_IR","ACE_acc_pointer_green"}; }; class CfgWeapons { class ItemCore; class InventoryFlashLightItem_Base_F; + class acc_pointer_IR: ItemCore { + ACE_nextModeClass = "ACE_acc_pointer_red"; + ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser"; + + displayName = "$STR_ACE_Laserpointer_red"; + descriptionUse = "$STR_ACE_Laserpointer_useLaser"; + }; + class ACE_acc_pointer_red: ItemCore { + ACE_nextModeClass = "acc_pointer_IR"; + ACE_modeDescription = "$STR_ACE_Laserpointer_Laser"; + author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_acc_pointer_red"; - scope = 2; + scope = 1; displayName = "$STR_ACE_Laserpointer_red"; descriptionUse = "$STR_ACE_Laserpointer_useLaser"; picture = "\A3\weapons_F\Data\UI\gear_accv_pointer_CA.paa"; @@ -54,9 +65,23 @@ class CfgWeapons { inertia = 0.1; }; - class ACE_acc_pointer_green: ACE_acc_pointer_red { + class ACE_acc_pointer_green_IR: acc_pointer_IR { + ACE_nextModeClass = "ACE_acc_pointer_green"; + ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser"; + author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_acc_pointer_green"; + scope = 1; + displayName = "$STR_ACE_Laserpointer_green"; + }; + + class ACE_acc_pointer_green: ACE_acc_pointer_red { + ACE_nextModeClass = "ACE_acc_pointer_green_IR"; + ACE_modeDescription = "$STR_ACE_Laserpointer_Laser"; + + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_acc_pointer_green"; + scope = 2; displayName = "$STR_ACE_Laserpointer_green"; }; }; diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf index 14e4c384d8..38fc35f262 100644 --- a/addons/laserpointer/XEH_postInit.sqf +++ b/addons/laserpointer/XEH_postInit.sqf @@ -11,11 +11,16 @@ GVAR(nearUnits) = []; // @todo. Maybe move to common? [{ private "_nearUnits"; - _nearUnits = nearestObjects [positionCameraToWorld [0,0,0], ["CAManBase"], 50]; + _nearUnits = []; - if (count _nearUnits > 10) then { - _nearUnits resize 10; - }; + { + _nearUnits append crew _x; + + if (count _nearUnits > 10) exitWith { + _nearUnits resize 10; + }; + + } forEach nearestObjects [positionCameraToWorld [0,0,0], ["AllVehicles"], 50]; // when moving this, search also for units inside vehicles. currently breaks the laser in FFV GVAR(nearUnits) = _nearUnits; @@ -24,3 +29,5 @@ GVAR(nearUnits) = []; addMissionEventHandler ["Draw3D", { call FUNC(onDraw); }]; + +#include "initKeybinds.sqf" diff --git a/addons/laserpointer/XEH_preInit.sqf b/addons/laserpointer/XEH_preInit.sqf index e7c74d3445..1460abda36 100644 --- a/addons/laserpointer/XEH_preInit.sqf +++ b/addons/laserpointer/XEH_preInit.sqf @@ -4,5 +4,6 @@ ADDON = false; PREP(drawLaserpoint); PREP(onDraw); +PREP(switchLaserLightMode); ADDON = true; diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index b97587dac6..5ca5ce3470 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; + weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green","ACE_acc_pointer_green_IR"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author[] = {"commy2"}; diff --git a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf b/addons/laserpointer/functions/fnc_drawLaserpoint.sqf index 31be95099a..93a421a094 100644 --- a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf +++ b/addons/laserpointer/functions/fnc_drawLaserpoint.sqf @@ -1,6 +1,19 @@ // by commy2 and esteldunedain #include "script_component.hpp" +// init object +/*if (isNil QGVAR(laserdot)) then { + _light = "#lightpoint" createVehicleLocal [0,0,0]; + _light setLightBrightness 10; + _light setLightColor [1,0,0]; + _light setLightAmbient [1,0,0]; + _light setLightDayLight true; + //_light lightAttachObject [GVAR(laserdot), [0,0,0]]; + _light setLightAttenuation [0.04,4,4,0,0.04,0.08]; + + GVAR(laserdot) = _light; +};*/ + EXPLODE_3_PVT(_this,_unit,_range,_isGreen); _p0Pos = _unit modelToWorldVisual (_unit selectionPosition "righthand"); @@ -97,13 +110,15 @@ if (!surfaceIsWater _pL) then { _pL = ASLtoATL _pL; }; +/* drawLine3D [ _p0Pos, _pL, [[1,0,0,1], [0,1,0,1]] select _isGreen ]; +*/ -_size = 2 * (_range - (positionCameraToWorld [0,0,0] distance _pL)) / _range; +_size = 2 * (_range - (positionCameraToWorld [0,0,0] vectorDistance _pL)) / _range; _camPos = positionCameraToWorld [0,0,0.2]; if (count ([_unit, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith {}; @@ -114,6 +129,8 @@ if (!surfaceIsWater _camPos) then { _camPos = ATLtoASL _camPos; }; if ( terrainIntersectASL [_camPos, _pL2]) exitWith {}; if ( lineIntersects [_camPos, _pL2]) exitWith {}; +//GVAR(laserdot) setPos _pL; + drawIcon3D [ format ["\a3\weapons_f\acc\data\collimdot_%1_ca.paa", ["red", "green"] select _isGreen], [[1,0.25,0.25,0.5*_brightness], [0.25,1,0.25,0.5*_brightness]] select _isGreen, diff --git a/addons/laserpointer/functions/fnc_onDraw.sqf b/addons/laserpointer/functions/fnc_onDraw.sqf index 6fa7275531..0e4ddf981a 100644 --- a/addons/laserpointer/functions/fnc_onDraw.sqf +++ b/addons/laserpointer/functions/fnc_onDraw.sqf @@ -28,7 +28,7 @@ _isIR = _isIR == 1; _laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser; if (_laserID > -1 && {_x isFlashlightOn _weapon}) then { - [_x, 30, _laserID == 1 || _isIR] call FUNC(drawLaserpoint); + [_x, 50, _laserID == 1 || _isIR] call FUNC(drawLaserpoint); }; } forEach GVAR(nearUnits); diff --git a/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf new file mode 100644 index 0000000000..f996d6b270 --- /dev/null +++ b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf @@ -0,0 +1,58 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_weapon"]; + +_unit = _this select 0; +_weapon = _this select 1; + +// 1 = primary, 2 = secondary, 3 = handgun +private "_currentWeaponType"; +_currentWeaponType = 0; + +private "_pointer"; +_pointer = switch (_weapon) do { + case (primaryWeapon _unit): { + _currentWeaponType = 1; + primaryWeaponItems _unit select 1 + }; + case (secondaryWeapon _unit): { + _currentWeaponType = 2; + secondaryWeaponItems _unit select 1 + }; + case (handgunWeapon _unit): { + _currentWeaponType = 3; + handgunItems _unit select 1 + }; + default {""}; +}; + +if (_pointer == "") exitWith {}; + +private "_nextPointer"; +_nextPointer = getText (configFile >> "CfgWeapons" >> _pointer >> "ACE_nextModeClass"); + +if (_nextPointer == "") exitWith {}; + +private ["_description", "_picture"]; + +_description = getText (configFile >> "CfgWeapons" >> _nextPointer >> "ACE_modeDescription"); +_picture = getText (configFile >> "CfgWeapons" >> _nextPointer >> "picture"); + +switch (_currentWeaponType) do { + case 1: { + _unit removePrimaryWeaponItem _pointer; + _unit addPrimaryWeaponItem _nextPointer; + }; + case 2: { + _unit removeSecondaryWeaponItem _pointer; + _unit addSecondaryWeaponItem _nextPointer; + }; + case 3: { + _unit removeHandgunItem _pointer; + _unit addHandgunItem _nextPointer; + }; +}; + +[_description, _picture] call EFUNC(common,displayTextPicture); +playSound "ACE_Sound_Click"; diff --git a/addons/laserpointer/initKeybinds.sqf b/addons/laserpointer/initKeybinds.sqf new file mode 100644 index 0000000000..04516f0757 --- /dev/null +++ b/addons/laserpointer/initKeybinds.sqf @@ -0,0 +1,13 @@ +// by commy2 + +["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", +{ + // Conditions: canInteract + if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; + + [ACE_player, currentWeapon ACE_player] call FUNC(switchLaserLightMode); + true +}, +{false}, [38, [false, true, false]], false] call CBA_fnc_addKeybind; diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 87b36618a6..eb35821ac1 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,32 +1,77 @@  - - - - Laser Pointer (red) - Laserpointer (rot) - - - Laser Pointer (green) - Laserpointer (grün) - - - - Emits visible light. - Strahlt sichtbares Licht aus. - - - - <t color='#9cf953'>Use: </t>Turn Laser ON/OFF - <t color='#9cf953'>Použití: </t>Zapnout/vypnout laser - <t color='#9cf953'>Utiliser : </t>laser on/off - <t color='#9cf953'>Benutzen: </t>Laser EIN/AUS - <t color='#9cf953'>Uso: </t>Laser ON/OFF - <t color='#9cf953'>Użyj: </t>wł./wył. lasera - <t color='#9cf953'>Uso: </t>Ativar/Desativar laser - <t color='#9cf953'>Использовать: </t>вкл/выкл лазер - <t color='#9cf953'>Usar: </t>encender/apagar láser - - - - + + + Laser Pointer (red) + Pointeur laser (rouge) + Laserpointer (rot) + Лазерный прицел (красный) + Laserové ukazovátko (červené) + Wskaźnik laserowy (czerwony) + Lézer-pointer (piros) + Puntero láser (rojo) + Puntatore laser (rosso) + + + Laser Pointer (green) + Pointeur laser (vert) + Laserpointer (grün) + Лазерный прицел (зелёный) + Laserové ukazovátko (zelené) + Wskaźnik laserowy (zielony) + Lézer-pointer (zöld) + Puntero láser (verde) + Puntatore laser (verde) + + + Emits visible light. + Emettre de la lumière visible + Strahlt sichtbares Licht aus. + Испускает узкий пучок видимого света. + Vyzařuje viditelné světlo. + Wydziela widzialne światło. + Látható fényt bocsát ki. + Emite luz visible. + Emette luce visibile + + + <t color='#9cf953'>Use: </t>Turn Laser ON/OFF + <t color='#9cf953'>Použití: </t>Zapnout/vypnout laser + <t color='#9cf953'>Utiliser : </t>laser allumé/éteint + <t color='#9cf953'>Benutzen: </t>Laser EIN/AUS + <t color='#9cf953'>Uso: </t>Laser ON/OFF + <t color='#9cf953'>Użyj: </t>wł./wył. laser + <t color='#9cf953'>Uso: </t>Ativar/Desativar laser + <t color='#9cf953'>Использовать: </t>ВКЛ/ВЫКЛ лазер + <t color='#9cf953'>Usar: </t>encender/apagar láser + <t color='#9cf953'>Használat: </t>Lézer BE/KI kapcsolása + + + Laser + Laser + Laser + Лазер + Laser + Laser + Laser + + + IR Laser + IR-Laser + Laser IR + ИК-лазер + Laser IR + Laser IR + Laser IR + + + Switch Laser / IR Laser + Umschalten Laser / IR-Laser + Przełącz Laser / Laser IR + Изменить режим Лазер / ИК-лазер + Changer Laser / Laser IR + Alterna Laser / IR Laser + Cambiar Laser / Laser IR + + + \ No newline at end of file diff --git a/addons/logistics_uavbattery/CfgVehicles.hpp b/addons/logistics_uavbattery/CfgVehicles.hpp index a3a3fc763d..5feba4c9a8 100644 --- a/addons/logistics_uavbattery/CfgVehicles.hpp +++ b/addons/logistics_uavbattery/CfgVehicles.hpp @@ -1,29 +1,29 @@ class CfgVehicles { - class Helicopter_Base_F; - class UAV_01_base_F: Helicopter_Base_F { - class ACE_Actions { - class ACE_MainActions { - class GVAR(RefuelUAV) { - displayName = "$STR_ACE_logistics_uavbattery_Recharge"; - distance = 4; - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRefuelUAV)); - statement = QUOTE([ARR_2(_player, _target)] call FUNC(refuelUAV)); - showDisabled = 0; \ - priority = 1.245; \ - icon = QUOTE(PATHTOF(ui\UAV_battery.paa)); + class Helicopter_Base_F; + class UAV_01_base_F: Helicopter_Base_F { + class ACE_Actions { + class ACE_MainActions { + class GVAR(RefuelUAV) { + displayName = "$STR_ACE_logistics_uavbattery_Recharge"; + distance = 4; + condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRefuelUAV)); + statement = QUOTE([ARR_2(_player, _target)] call FUNC(refuelUAV)); + showDisabled = 0; \ + priority = 1.245; \ + icon = QUOTE(PATHTOF(ui\UAV_battery_ca.paa)); + }; + }; }; - }; }; - }; - // Misc box content - class Box_NATO_Support_F; - class ACE_Box_Misc: Box_NATO_Support_F { - class TransportItems { - class _xx_ACE_UAVBattery { - count = 6; - name = "ACE_UAVBattery"; - }; + // Misc box content + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + class _xx_ACE_UAVBattery { + count = 6; + name = "ACE_UAVBattery"; + }; + }; }; - }; }; diff --git a/addons/logistics_uavbattery/CfgWeapons.hpp b/addons/logistics_uavbattery/CfgWeapons.hpp index e84e053347..1986b4f80f 100644 --- a/addons/logistics_uavbattery/CfgWeapons.hpp +++ b/addons/logistics_uavbattery/CfgWeapons.hpp @@ -1,15 +1,15 @@ class CfgWeapons { - class InventoryItem_Base_F; - class ACE_ItemCore; + class InventoryItem_Base_F; + class ACE_ItemCore; - class ACE_UAVBattery: ACE_ItemCore { - scope = 2; - displayName = "$STR_ACE_logistics_uavbattery_Battery_Name"; - descriptionShort = "$STR_ACE_logistics_uavbattery_Battery_Description"; - model = QUOTE(PATHTOF(models\ace_battery.p3d)); - picture = QUOTE(PATHTOF(ui\UAV_battery.paa)); - class ItemInfo: InventoryItem_Base_F { - mass = 20; + class ACE_UAVBattery: ACE_ItemCore { + scope = 2; + displayName = "$STR_ACE_logistics_uavbattery_Battery_Name"; + descriptionShort = "$STR_ACE_logistics_uavbattery_Battery_Description"; + model = QUOTE(PATHTOF(models\ace_battery.p3d)); + picture = QUOTE(PATHTOF(ui\UAV_battery_ca.paa)); + class ItemInfo: InventoryItem_Base_F { + mass = 20; + }; }; - }; }; diff --git a/addons/logistics_uavbattery/config.cpp b/addons/logistics_uavbattery/config.cpp index 32d8c49978..c6123e590f 100644 --- a/addons/logistics_uavbattery/config.cpp +++ b/addons/logistics_uavbattery/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {"ACE_UAVBattery"}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"marc_book"}; authorUrl = ""; VERSION_CONFIG; diff --git a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf index b5c6664657..6fda0fed10 100644 --- a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf +++ b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf @@ -18,6 +18,8 @@ PARAMS_2(_caller,_target); +private ["_onFinish", "_onFailure"]; + if (!(_this call FUNC(canRefuelUAV))) exitWith {}; _onFinish = { diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index fbd9004290..23588586cf 100644 --- a/addons/logistics_uavbattery/stringtable.xml +++ b/addons/logistics_uavbattery/stringtable.xml @@ -1,78 +1,77 @@  - - - - Drone is full - Drohne ist voll - El VANT está lleno - L'UAV est chargé - Dron jest naładowany - A drón fel van töltve - Dron je nabitý - O VANT está cheio - Il drone è pieno - БПЛА заполнен - - - You need a UAV Battery - Du brauchst eine UAV-Batterie - Necesitas una batería para VANT - Pas de batterie UAV - Potrzebujesz baterii UAV - Szükséged van egy UAV akkumulátorra - Potřebuješ UAV-Baterii - Você precisa de uma Bateria para VANT - Hai bisogno di una Batteria UAV - Требуется аккумулятор БПЛА - - - Recharge - Aufladen - Recargar - Recharger - Naładuj - Feltöltés - Dobít - Recarregar - Ricarica - Подзарядить - - - UAV Battery - UAV-Batterie - Batería para VANT - Batterie UAV - Bateria UAV - UAV akkumulátor - UAV-Baterie - Bateria para VANT - Batteria UAV - Аккумулятор БПЛА - - - Used to refuel Carried UAV's - Verwendet zum Aufladen von tragbaren UAV's - Usada para reabastecer el VANT - Utilisée pour recharger l'UAV - Używana do naładowania UAV - Hordozható UAV-ok működéséhez való akkumulátor - Používané k dobíjení UAV - Usada para reabastecer VANT - Usata per ricaricare la Batteria dell'UAV - Используется для подзарядки БПЛА - - - Recharging ... - Aufladen ... - Recargando ... - Rechargement ... - Ładowanie ... - Akku feltöltése ... - Dobíjení ... - Recarregando ... - In ricarica ... - Подзаряжаем ... - - - \ No newline at end of file + + + Drone is full + Drohne ist voll + El VANT está lleno + L'UAV est chargé + Dron jest naładowany + A drón fel van töltve + Dron je nabitý + O VANT está cheio + Il drone è pieno + БПЛА полностью заряжен + + + You need a UAV Battery + Du brauchst eine UAV-Batterie + Necesitas una batería para VANT + L'UAV nécessite une batterie + Potrzebujesz baterii UAV + Szükséged van egy UAV akkumulátorra + Potřebuješ UAV baterii + Você precisa de uma Bateria para VANT + Hai bisogno di una Batteria UAV + Требуется аккумулятор для БПЛА + + + Recharge + Aufladen + Recargar + Recharger + Naładuj + Feltöltés + Dobít + Recarregar + Ricarica + Зарядить + + + UAV Battery + UAV-Batterie + Batería para VANT + Batterie UAV + Bateria UAV + UAV akkumulátor + UAV baterie + Bateria para VANT + Batteria UAV + Аккумулятор БПЛА + + + Used to refuel Carried UAV's + Verwendet zum Aufladen von tragbaren UAVs + Usada para reabastecer el VANT + Utilisée pour recharger l'UAV + Używana do naładowania baterii przenośnego UAV + Hordozható UAV-k feltöltéséhez való akkumulátor + Používané k dobíjení UAV + Usada para reabastecer VANT + Usata per ricaricare la Batteria dell'UAV + Используется для зарядки переносных БПЛА + + + Recharging ... + Aufladen ... + Recargando ... + Rechargement ... + Ładowanie ... + Akku feltöltése ... + Dobíjení ... + Recarregando ... + In ricarica ... + Заряжается ... + + + diff --git a/addons/logistics_uavbattery/ui/UAV_battery.paa b/addons/logistics_uavbattery/ui/UAV_battery.paa deleted file mode 100644 index 5e6c0e1bf7..0000000000 Binary files a/addons/logistics_uavbattery/ui/UAV_battery.paa and /dev/null differ diff --git a/addons/logistics_uavbattery/ui/UAV_battery_ca.paa b/addons/logistics_uavbattery/ui/UAV_battery_ca.paa new file mode 100644 index 0000000000..426578c3fc Binary files /dev/null and b/addons/logistics_uavbattery/ui/UAV_battery_ca.paa differ diff --git a/addons/logistics_wirecutter/CfgEventHandlers.hpp b/addons/logistics_wirecutter/CfgEventHandlers.hpp index 79c3aaa959..3daad1425a 100644 --- a/addons/logistics_wirecutter/CfgEventHandlers.hpp +++ b/addons/logistics_wirecutter/CfgEventHandlers.hpp @@ -1,4 +1,3 @@ - class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); diff --git a/addons/logistics_wirecutter/CfgVehicles.hpp b/addons/logistics_wirecutter/CfgVehicles.hpp new file mode 100644 index 0000000000..a31d9c0d99 --- /dev/null +++ b/addons/logistics_wirecutter/CfgVehicles.hpp @@ -0,0 +1,8 @@ +class CfgVehicles { + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_wirecutter,4); + }; + }; +}; diff --git a/addons/logistics_wirecutter/CfgWeapons.hpp b/addons/logistics_wirecutter/CfgWeapons.hpp index 76b1003f34..648bc3a3f8 100644 --- a/addons/logistics_wirecutter/CfgWeapons.hpp +++ b/addons/logistics_wirecutter/CfgWeapons.hpp @@ -1,16 +1,16 @@ class CfgWeapons { - class InventoryItem_Base_F; - class ACE_ItemCore; + class InventoryItem_Base_F; + class ACE_ItemCore; - class ACE_wirecutter: ACE_ItemCore { - author = "$STR_ACE_Common_ACETeam"; - displayName = "$STR_ACE_logistics_wirecutter_wirecutterName"; - descriptionShort = "$STR_ACE_logistics_wirecutter_wirecutterDescription"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - picture = QUOTE(PATHTOF(ui\item_wirecutter_ca.paa)); - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 100; + class ACE_wirecutter: ACE_ItemCore { + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_logistics_wirecutter_wirecutterName"; + descriptionShort = "$STR_ACE_logistics_wirecutter_wirecutterDescription"; + model = "\A3\weapons_F\ammo\mag_univ.p3d"; + picture = QUOTE(PATHTOF(ui\item_wirecutter_ca.paa)); + scope = 2; + class ItemInfo: InventoryItem_Base_F { + mass = 100; + }; }; - }; }; diff --git a/addons/logistics_wirecutter/config.cpp b/addons/logistics_wirecutter/config.cpp index 27d4467ccf..d83cff4035 100644 --- a/addons/logistics_wirecutter/config.cpp +++ b/addons/logistics_wirecutter/config.cpp @@ -3,9 +3,9 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {}; + weapons[] = {"ACE_wirecutter"}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_interact_menu"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"gpgpgpgp", "PabstMirror"}; authorUrl = ""; VERSION_CONFIG; @@ -13,5 +13,5 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" -#include "CfgSounds.hpp" #include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" diff --git a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf index ee4c512cd2..0cab7ab461 100644 --- a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf @@ -16,19 +16,26 @@ */ #include "script_component.hpp" -private ["_timeToCut"]; +#define SOUND_CLIP_TIME_SPACEING 1.5 +private ["_timeToCut", "_progressCheck"]; PARAMS_2(_unit,_fenceObject); if (_unit != ACE_player) exitWith {}; -_timeToCut = if ([ACE_player] call EFUNC(common,isEngineer)) then {5} else {10}; +_timeToCut = if ([ACE_player] call EFUNC(common,isEngineer)) then {7.5} else {11}; [ACE_player, "AinvPknlMstpSnonWnonDr_medic5", 0] call EFUNC(common,doAnimation); -if (_timeToCut > 5) then { - playSound "ACE_wirecutter_sound_long"; -} else { - playSound "ACE_wirecutter_sound"; +_progressCheck = { + PARAMS_2(_args,_passedTime); + EXPLODE_2_PVT(_args,_fenceObject,_lastSoundEffectTime); + if (_passedTime > (_lastSoundEffectTime + SOUND_CLIP_TIME_SPACEING)) then { + // playSound "ACE_wirecutter_sound"; + playSound3D [QUOTE(PATHTO_R(sound\wirecut.ogg)), objNull, false, (getPosASL ACE_player), 3, 1, 10]; + _args set [1, _passedTime]; + }; + + ((!isNull _fenceObject) && {(damage _fenceObject) < 1} && {("ACE_wirecutter" in (items ACE_player))}) }; -[_timeToCut, [_fenceObject], {(_this select 0) call FUNC(cutDownFenceCallback)}, {(_this select 0) call FUNC(cutDownFenceAbort)}, localize "STR_ACE_logistics_wirecutter_CuttingFence"] call EFUNC(common,progressBar); +[_timeToCut, [_fenceObject,0], {(_this select 0) call FUNC(cutDownFenceCallback)}, {(_this select 0) call FUNC(cutDownFenceAbort)}, localize "STR_ACE_logistics_wirecutter_CuttingFence", _progressCheck] call EFUNC(common,progressBar); diff --git a/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf b/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf index c9e59b41a0..15bfbdb8ef 100644 --- a/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf @@ -20,9 +20,9 @@ PARAMS_1(_unit); _nearestFence = objNull; { - if ((isNull _nearestFence) && {[_x] call FUNC(isFence)}) then { - _nearestFence = _x; - }; + if ((isNull _nearestFence) && {[_x] call FUNC(isFence)}) then { + _nearestFence = _x; + }; } forEach nearestObjects [_unit, [], 15]; _nearestFence diff --git a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf index 6dace9c42d..efb8f292c9 100644 --- a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf +++ b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf @@ -25,7 +25,7 @@ if (_interactionType != 0) exitWith {}; if (!("ACE_wirecutter" in (items ace_player))) exitWith {}; [{ - private ["_fncStatement", "_attachedFence", "_fncCondition", "_helper"]; + private ["_fncStatement", "_attachedFence", "_fncCondition", "_helper", "_action"]; PARAMS_2(_args,_pfID); EXPLODE_3_PVT(_args,_setPosition,_addedHelpers,_fencesHelped); @@ -35,7 +35,7 @@ if (!("ACE_wirecutter" in (items ace_player))) exitWith {}; } else { // Prevent Rare Error when ending mission with interact key down: if (isNull ace_player) exitWith {}; - + //If player moved >5 meters from last pos, then rescan if (((getPosASL ace_player) distance _setPosition) > 5) then { diff --git a/addons/logistics_wirecutter/functions/fnc_isFence.sqf b/addons/logistics_wirecutter/functions/fnc_isFence.sqf index aee9a22ef9..1ab97a67af 100644 --- a/addons/logistics_wirecutter/functions/fnc_isFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_isFence.sqf @@ -17,11 +17,9 @@ #include "script_component.hpp" //find is case sensitive, so keep everything lowercase -#define FENCE_A3_TYPENAMES ["land_net_fence_4m_f", "land_net_fence_8m_f", "land_net_fenced_8m_f", "land_new_wiredfence_5m_f", "land_new_wiredfence_10m_dam_f", "land_new_wiredfence_10m_f", "land_pipe_fence_4m_f", "land_pipe_fence_4mnolc_f", "land_sportground_fence_f", "land_wired_fence_4m_f", "land_wired_fence_4md_f", "land_wired_fence_8m_f", "land_wired_fence_8md_f", "land_razorwire_f"] -#define FENCE_A3_P3DS ["mil_wiredfence_f.p3d"] +#define FENCE_TYPENAMES ["land_net_fence_4m_f", "land_net_fence_8m_f", "land_net_fenced_8m_f", "land_new_wiredfence_5m_f", "land_new_wiredfence_10m_dam_f", "land_new_wiredfence_10m_f", "land_pipe_fence_4m_f", "land_pipe_fence_4mnolc_f", "land_sportground_fence_f", "land_wired_fence_4m_f", "land_wired_fence_4md_f", "land_wired_fence_8m_f", "land_wired_fence_8md_f", "land_razorwire_f"] -#define FENCE_AIA_TYPENAMES [] -#define FENCE_AIA_P3DS ["wall_indfnc_3.p3d", "wall_indfnc_9.p3d", "wall_indfnc_corner.p3d", "pletivo_wired.p3d", "wall_fen1_5.p3d"] +#define FENCE_P3DS ["mil_wiredfence_f.p3d","wall_indfnc_3.p3d", "wall_indfnc_9.p3d", "wall_indfnc_corner.p3d", "pletivo_wired.p3d", "wall_fen1_5.p3d"] private ["_typeOf", "_returnValue"]; PARAMS_1(_object); @@ -30,14 +28,15 @@ _typeOf = toLower (typeOf _object); _returnValue = false; if (_typeOf != "") then { - _returnValue = _typeOf in (FENCE_A3_TYPENAMES + FENCE_AIA_TYPENAMES); + //If the fence has configEntry we can check it directly + _returnValue = _typeOf in FENCE_TYPENAMES; } else { _typeOf = toLower (str _object); //something like "123201: wall_indfnc_9.p3d" { - if ((_typeOf find _x) != -1) then { + if ((_typeOf find _x) != -1) exitWith { _returnValue = true; }; - } forEach (FENCE_A3_P3DS + FENCE_AIA_P3DS); + } forEach FENCE_P3DS; }; _returnValue diff --git a/addons/logistics_wirecutter/sound/wirecut.ogg b/addons/logistics_wirecutter/sound/wirecut.ogg new file mode 100644 index 0000000000..902488c1df Binary files /dev/null and b/addons/logistics_wirecutter/sound/wirecut.ogg differ diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index cf6e96c1aa..f0149f2454 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -1,50 +1,63 @@  - - - - Wirecutter - Drahtschneider - Wirecutter - - - Wirecutter - - - Cut Fence - Zaun schneiden - Cortar alambrado - Przetnij płot - Přestřihnout plot - Cisailler Clôture - Cortar Cerca - Taglia - Drótkerítés átvágása - Вырезать забор - - - Cutting Fences / Wires ... - Zaun / Draht schneiden ... - Cortando alambrado / cables ... - Przecinanie płotu / drutów ... - Přestřihnout plot / dráty ... - Cisaille l'obstacle ... - Cortando Cerca / Arame ... - Sto tagliando ... - Drótok elvágása ... - Вырезаем забор / провода ... - - - Fence cut - Zaun geschnitten - Alambrado cortado - Płot przecięty - Plot přestřižen - Clôture cisaillée - Cerca cortada - Fatto! - Drótkerítés átvágva - Забор вырезан - - + + + Wirecutter + Pince coupante + Drahtschneider + Cortador de cables + Клещи-кусачки + Štípací kleště + Nożyce do cięcia drutu + Drótvágó + Pinze da Taglio + + + Wirecutter + Schneidet Draht. + Cortador de cables + Позволяют быстро перекусывать сеточные конструкции. + Štípačky + Służą do cięcia drutu i płotów + Pince coupante + Drótok, huzalok, és kábelek vágására alkalmas olló. + Pinze da Taglio + + + Cut Fence + Zaun schneiden + Cortar alambrado + Przetnij płot + Přestřihnout plot + Cisailler Clôture + Cortar Cerca + Taglia + Drótkerítés átvágása + Разрезать забор + + + Cutting Fences / Wires ... + Zaun / Draht schneiden ... + Cortando alambrado / cables ... + Przecinanie płotu / drutów ... + Přestřihnout plot / dráty ... + Cisaille l'obstacle ... + Cortando Cerca / Arame ... + Sto tagliando ... + Drótok elvágása ... + Разрезаем забор / провода ... + + + Fence cut + Zaun geschnitten + Alambrado cortado + Płot przecięty + Plot přestřižen + Clôture cisaillée + Cerca cortada + Fatto! + Drótkerítés átvágva + Забор разрезан + + \ No newline at end of file diff --git a/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf b/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf index 7a2b81371c..fbd07cf31a 100644 --- a/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf +++ b/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf @@ -28,7 +28,7 @@ _unitMagCounts = []; _xFullMagazineCount = getNumber (configfile >> "CfgMagazines" >> _xClassname >> "count"); //for every partial magazine, that is either in inventory or can be moved there - if ((_xCount < _xFullMagazineCount) && {_xCount > 0} && {(!_xLoaded) || {_player canAdd _magazineClassname}}) then { + if ((_xCount < _xFullMagazineCount) && {_xCount > 0} && {(!_xLoaded) || {_player canAdd _xClassname}}) then { _index = _unitMagazines find _xClassname; if (_index == -1) then { _unitMagazines pushBack _xClassname; diff --git a/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf b/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf index e677cccdce..c4ddb2d93d 100644 --- a/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf +++ b/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf @@ -53,4 +53,4 @@ _structuredOutputText = _structuredOutputText + format ["" + (localize "STR_ACE_MagazineRepack_RepackedMagazinesCount") + ""), _fullMags, _partialMags]; -[parseText _structuredOutputText] call EFUNC(common,displayTextStructured); +[parseText _structuredOutputText, 2] call EFUNC(common,displayTextStructured); diff --git a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf index fb37a0dd4e..4ef69044da 100644 --- a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf +++ b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_newMagFnc", "_time", "_events", "_swapAmmoFnc", "_ammoSwaped", "_lowIndex", "_highIndex", "_ammoToTransfer", "_ammoAvailable", "_ammoNeeded"]; +private ["_newMagFnc", "_time", "_events", "_swapAmmoFnc", "_ammoSwaped", "_lowIndex", "_highIndex", "_ammoToTransfer", "_ammoAvailable", "_ammoNeeded", "_swapProgress"]; PARAMS_3(_fullMagazineCount,_arrayOfAmmoCounts,_isBelt); diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index d8fd5ca177..4bdfecbd78 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,93 +1,110 @@  - - - - Repack<br/>Magazines - Magazine<br/>umpacken - Reorganizar<br/>cargadores - Réorganiser<br/>chargeurs - Przepakuj<br/>magazynki - Přepáskovat<br/>Zásobníky - Ricarica<br/>Caricatori - Reorganizar<br/>Carregadores - Újratárazás<br/> - Перепаковать<br/>магазины - - - Select Magazine Menu - Magazinauswahlmenü - Menú de selección de cargador - Sélectionner menu des chargeurs - Menu wyboru magazynków - Zvolit Menu Zásobníků - Seleziona Menù di Ricarica - Menu de Seleção de Carregador - Fegyvertár menü kiválasztás - Меню выбора магазинов - - - Select Mag - Magazin auswählen - Seleccionar cargador - Sélectionner chargeur - Wybierz magazynek - Zvolit Zásobník - Seleziona Caricatore - Selecionar Carregador - Tár kiválasztása - Выбрать магазин - - - Repacking Magazines ... - Magazine umpacken ... - Reorganizando cargadores ... - Réorganisation des chargeurs ... - Przepakowywanie magazynków ... - Páskuji Zásobníky ... - Sto ricaricando le munizioni ... - Reorganizando Carregadores ... - Újratárazás ... - Перепаковка магазинов ... - - - Repacked Magazines - Magazine umgepackt - Cargadores reorganizados - Chargeurs réorganisés - Magazynki przepakowane - Přepáskované Zásobníky - Caricatore ricaricato - Carregadores Reorganizados - Újratárazott tárak - Магазины перепакованы - - - %1 full mag(s) and %2 extra round(s) - %1 volle(s) Magazin(e) und %2 übrig gebliebene Patrone(n) - %1 cargador(es) completo(s) y %2 bala(s) extra(s) - %1 chargeur(s) plein(s) et %2 cartouche(s) en rab - %1 pełnych magazynków i %2 dodatkowych naboi - %1 plný zásobník(y) a %2 munice navíc - %1 caricatore/i pieno e %2 munizioni extra - %1 carregador(es) cheio(s) e %2 disparo(s) a mais - %1 tejles tár és %2 extra lőszer. - %1 полных магазина(ов) и %2 патрона(ов) - - - Repacking Finished - Wiederverpacken Fertig - Reembalaje Finalizado - - - Repacking Interrupted - Umpacken Unterbrochen - Reempaque Interrupted - - - %1 Full and %2 Partial - %1 Vollständigen und %2 Teilweisen - %1 Total y %2 Parcial - - - \ No newline at end of file + + + Repack Magazines + Magazine umpacken + Reorganizar cargadores + Réorganiser les chargeurs + Przepakuj magazynki + Přepáskovat Zásobníky + Ricarica Caricatori + Reorganizar Carregadores + Újratárazás + Перепаковать магазины + + + Select Magazine Menu + Magazinauswahlmenü + Menú de selección de cargador + Sélectionner menu des chargeurs + Menu wyboru magazynków + Zvolit Menu zásobníků + Seleziona Menù di Ricarica + Menu de Seleção de Carregador + Fegyvertár menü kiválasztás + Меню выбора магазинов + + + Select Mag + Magazin auswählen + Seleccionar cargador + Sélectionner chargeur + Wybierz magazynek + Zvolit zásobník + Seleziona Caricatore + Selecionar Carregador + Tár kiválasztása + Выбрать магазин + + + Repacking Magazines ... + Magazine umpacken ... + Reorganizando cargadores ... + Réorganisation des chargeurs ... + Przepakowywanie magazynków ... + Páskuji zásobníky ... + Sto ricaricando le munizioni ... + Reorganizando Carregadores ... + Újratárazás ... + Перепаковка магазинов ... + + + Repacked Magazines + Magazine umgepackt + Cargadores reorganizados + Chargeurs réorganisés + Magazynki przepakowane + Přepáskované zásobníky + Caricatore ricaricato + Carregadores Reorganizados + Újratárazott tárak + Магазины перепакованы + + + %1 full mag(s) and %2 extra round(s) + %1 volle(s) Magazin(e) und %2 übrig gebliebene Patrone(n) + %1 cargador(es) completo(s) y %2 bala(s) extra(s) + %1 chargeur(s) plein(s) et %2 cartouche(s) en rab + Pełnych magazynków: %1.<br/>Dodatkowych naboi: %2. + %1 plný zásobník(y) a %2 munice navíc + %1 caricatore/i pieno e %2 munizioni extra + %1 carregador(es) cheio(s) e %2 disparo(s) a mais + %1 teljes tár és %2 extra lőszer + %1 полных магазина(ов) и %2 патрона(ов) + + + Repacking Finished + Réorganisation terminée + Wiederverpacken Fertig + Reembalaje finalizado + Перепаковка завершена + Páskování dokončeno + Przepakowywanie zakończone + Újratárazás befejezve + Riempi caricatore + + + Repacking Interrupted + Réorganisation interrompue + Umpacken Unterbrochen + Reembalaje interrumpido + Перепаковка прервана + Páskování přerušeno + Przepakowywanie przerwane + Újratárazás megszakítva + Riempimento interrotto + + + %1 Full and %2 Partial + %1 plein(s) et %2 partiel(s) + %1 Vollständigen und %2 Teilweisen + %1 Total y %2 Parcial + %1 полных и %2 неполных + %1 plný a %2 částečně + Pełnych: %1.<br/>Częściowo pełnych: %2. + %1 teljes és %2 részleges + %1 pieno e %2 parziale + + + diff --git a/addons/magazines/$PBOPREFIX$ b/addons/magazines/$PBOPREFIX$ deleted file mode 100644 index dee71053cc..0000000000 --- a/addons/magazines/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\magazines \ No newline at end of file diff --git a/addons/magazines/CfgAmmo.hpp b/addons/magazines/CfgAmmo.hpp deleted file mode 100644 index 2e1e9fceea..0000000000 --- a/addons/magazines/CfgAmmo.hpp +++ /dev/null @@ -1,110 +0,0 @@ - -class CfgAmmo { - - /* 6.5x39mm Grendel */ - - // IR Dim - class B_65x39_Caseless_yellow; - class ACE_B_65x39_Caseless_Tracer_Dim: B_65x39_Caseless_yellow { - nvgOnly = 1; - }; - - class B_65x39_Case_yellow; - class ACE_B_65x39_Case_Tracer_Dim: B_65x39_Case_yellow { - nvgOnly = 1; - }; - - // sub sonic - class B_65x39_Caseless; - class ACE_B_65x39_Caseless_SD: B_65x39_Caseless { - airFriction = -0.00054; - hit = 8.75; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.8; - visibleFire = 2.5; - }; - - class B_65x39_Case; - class ACE_B_65x39_Case_SD: B_65x39_Case { - airFriction = -0.00054; - hit = 8.75; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.8; - visibleFire = 2.5; - }; - - // armor piercing - class ACE_B_65x39_Caseless_AP: B_65x39_Caseless { - caliber = 1.8; - hit = 10.5; - }; - - class ACE_B_65x39_Case_AP: B_65x39_Case { - caliber = 1.8; - hit = 10.5; - }; - - - /* 5.56x45mm NATO */ - - // IR Dim - class B_556x45_Ball_Tracer_Red; - class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { - nvgOnly = 1; - }; - - // sub sonic - class B_556x45_Ball; - class ACE_B_556x45_Ball_SD: B_556x45_Ball { - airFriction = -0.0006; - hit = 7; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.6; - visibleFire = 2.0; - }; - - // armor piercing - class ACE_B_556x45_Ball_AP: B_556x45_Ball { - caliber = 1.4; - hit = 8.4; - }; - - - /* 7.62x51mm NATO */ - - // IR Dim - class B_762x51_Tracer_Red; - class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Red { - nvgOnly = 1; - }; - - // sub sonic - class B_762x51_Ball; - class ACE_B_762x51_Ball_SD: B_762x51_Ball { - airFriction = -0.00048; - hit = 10.5; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.9; - visibleFire = 3.0; - }; - - // armor piercing - class ACE_B_762x51_Ball_AP: B_762x51_Ball { - caliber = 2.4; - hit = 12.6; - }; - - // M118 LR - class ACE_B_762x51_M118LR: B_762x51_Ball { - //typicalspeed = 792; - //airfriction = -0.0008577; - }; -}; diff --git a/addons/magazines/CfgMagazines.hpp b/addons/magazines/CfgMagazines.hpp deleted file mode 100644 index 86cb6d9e1b..0000000000 --- a/addons/magazines/CfgMagazines.hpp +++ /dev/null @@ -1,139 +0,0 @@ - -class CfgMagazines { - - /* 6.5x39mm Grendel - MX */ - - class 30Rnd_65x39_caseless_mag_Tracer; - class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_65x39_Caseless_Tracer_Dim"; - displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; - displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_CA.paa"; - }; - - class 30Rnd_65x39_caseless_mag; - class ACE_30Rnd_65x39_caseless_mag_SD: 30Rnd_65x39_caseless_mag { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_65x39_Caseless_SD"; - displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_SDName"; - displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_SDNameShort"; - descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_SDDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_green_CA.paa"; - initSpeed = 320; - }; - - class ACE_30Rnd_65x39_caseless_mag_AP: 30Rnd_65x39_caseless_mag { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_65x39_Caseless_AP"; - displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_APName"; - displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_APNameShort"; - descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_APDescription"; - }; - - - /* 6.5x39mm Grendel - Katiba */ - - class 100Rnd_65x39_caseless_mag; - class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag { - initSpeed = 691; - }; - - class 30Rnd_65x39_caseless_green_mag_Tracer; - class ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim: 30Rnd_65x39_caseless_green_mag_Tracer { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_65x39_Caseless_Tracer_Dim"; - displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimName"; - displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimDescription"; - }; - - class 30Rnd_65x39_caseless_green; - class ACE_30Rnd_65x39_caseless_green_mag_SD: 30Rnd_65x39_caseless_green { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_65x39_Caseless_SD"; - displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_SDName"; - displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_SDNameShort"; - descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_SDDescription"; - initSpeed = 320; - }; - - class ACE_30Rnd_65x39_caseless_green_mag_AP: 30Rnd_65x39_caseless_green { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_65x39_Caseless_AP"; - displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_APName"; - displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_APNameShort"; - descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_APDescription"; - }; - - - /* 5.56x45mm NATO */ - - class 30Rnd_556x45_Stanag_Tracer_Red; //picture = "\A3\weapons_f\data\ui\m_30stanag_red_ca.paa"; - class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_556x45_Ball_Tracer_Dim"; - displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName"; - displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_yellow_ca.paa"; - }; - - class 30Rnd_556x45_Stanag; - class ACE_30Rnd_556x45_Stanag_SD: 30Rnd_556x45_Stanag { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_556x45_Ball_SD"; - displayName = "$STR_ACE_30Rnd_556x45_mag_SDName"; - displayNameShort = "$STR_ACE_30Rnd_556x45_mag_SDNameShort"; - descriptionShort = "$STR_ACE_30Rnd_556x45_mag_SDDescription"; - initSpeed = 320; - picture = "\A3\weapons_f\data\ui\m_30stanag_green_ca.paa"; - }; - - class ACE_30Rnd_556x45_Stanag_AP: 30Rnd_556x45_Stanag { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_556x45_Ball_AP"; - displayName = "$STR_ACE_30Rnd_556x45_mag_APName"; - displayNameShort = "$STR_ACE_30Rnd_556x45_mag_APNameShort"; - descriptionShort = "$STR_ACE_30Rnd_556x45_mag_APDescription"; - }; - - - /* 7.62x51mm NATO */ - - class 20Rnd_762x51_Mag; - class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag { //@todo Green tracers for opfor and yellow tracers for independent - author = "$STR_ACE_Common_ACETeam"; - ammo = "B_762x51_Tracer_Red"; - displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName"; - displayNameShort = "$STR_ACE_20Rnd_762x51_mag_TracerNameShort"; - descriptionShort = "$STR_ACE_20Rnd_762x51_mag_TracerDescription"; - tracersEvery = 1; - }; - - class ACE_20Rnd_762x51_Mag_Tracer_Dim: ACE_20Rnd_762x51_Mag_Tracer { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_762x51_Tracer_Dim"; - displayName = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimName"; - displayNameShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimDescription"; - }; - - class ACE_20Rnd_762x51_Mag_SD: 20Rnd_762x51_Mag { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_762x51_Ball_SD"; - displayName = "$STR_ACE_20Rnd_762x51_mag_SDName"; - displayNameShort = "$STR_ACE_20Rnd_762x51_mag_SDNameShort"; - descriptionShort = "$STR_ACE_20Rnd_762x51_mag_SDDescription"; - initSpeed = 320; - }; - - class ACE_20Rnd_762x51_Mag_AP: 20Rnd_762x51_Mag { - author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_762x51_Ball_AP"; - displayName = "$STR_ACE_20Rnd_762x51_mag_APName"; - displayNameShort = "$STR_ACE_20Rnd_762x51_mag_APNameShort"; - descriptionShort = "$STR_ACE_20Rnd_762x51_mag_APDescription"; - }; -}; diff --git a/addons/magazines/CfgVehicles.hpp b/addons/magazines/CfgVehicles.hpp deleted file mode 100644 index a7c2654d71..0000000000 --- a/addons/magazines/CfgVehicles.hpp +++ /dev/null @@ -1,158 +0,0 @@ - -class CfgVehicles { - class NATO_Box_Base; - class Box_NATO_Wps_F: NATO_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); - }; - }; - - class Box_NATO_WpsSpecial_F: NATO_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); - }; - }; - - class Box_NATO_Ammo_F: NATO_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,2); - }; - }; - - class Box_NATO_Support_F: NATO_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,6); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,3); - }; - }; - - class ReammoBox_F; - class B_supplyCrate_F: ReammoBox_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,2); - }; - }; - - class EAST_Box_Base; - class Box_East_Wps_F: EAST_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); - }; - }; - - class Box_East_WpsSpecial_F: EAST_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); - }; - }; - - class Box_East_Ammo_F: EAST_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); - }; - }; - - class Box_East_Support_F: EAST_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,6); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,3); - }; - }; - - class O_supplyCrate_F: B_supplyCrate_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); - }; - }; - - class IND_Box_Base; - class Box_IND_Wps_F: IND_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); - }; - }; - - class Box_IND_WpsSpecial_F: IND_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,2); - }; - }; - - class Box_IND_Ammo_F: IND_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); - }; - }; - - class Box_IND_Support_F: IND_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,6); - }; - }; - - class FIA_Box_Base_F; - class Box_FIA_Wps_F: FIA_Box_Base_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); - }; - }; - - class Box_FIA_Ammo_F: FIA_Box_Base_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); - }; - }; - - class Box_FIA_Support_F: FIA_Box_Base_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,6); - }; - }; - - class I_supplyCrate_F: B_supplyCrate_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); - }; - }; - - class IG_supplyCrate_F: ReammoBox_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); - }; - }; - - class C_supplyCrate_F: ReammoBox_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); - }; - }; - - class ACE_Box_Misc: Box_NATO_Support_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); - MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); - /*MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer,2); - MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,2); - MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,2); - MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_AP,2);*/ - }; - }; -}; diff --git a/addons/magazines/CfgWeapons.hpp b/addons/magazines/CfgWeapons.hpp deleted file mode 100644 index 46344d5f06..0000000000 --- a/addons/magazines/CfgWeapons.hpp +++ /dev/null @@ -1,526 +0,0 @@ -class SlotInfo; -class MuzzleSlot; - -class CfgWeapons { - - /* MX */ - - class Rifle; - class Rifle_Base_F: Rifle { - class WeaponSlotsInfo; - }; - - class arifle_MX_Base_F: Rifle_Base_F { - magazines[] += { - "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", - "ACE_30Rnd_65x39_caseless_mag_SD", - "ACE_30Rnd_65x39_caseless_mag_AP", - "100Rnd_65x39_caseless_mag", - "100Rnd_65x39_caseless_mag_Tracer" - }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_H"}; - }; - }; - }; - - class arifle_MX_SW_F: arifle_MX_Base_F { - magazines[] += { - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer" - }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - // Shit is broken again - //compatibleItems[] += {"ACE_muzzle_mzls_H"}; - compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; - }; - }; - }; - - class arifle_MXM_F: arifle_MX_Base_F { - magazines[] += { - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer" - }; - }; - - - /* Katiba */ - - class arifle_katiba_Base_F: Rifle_Base_F { - magazines[] += { - "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim", - "ACE_30Rnd_65x39_caseless_green_mag_SD", - "ACE_30Rnd_65x39_caseless_green_mag_AP" - }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_H"}; - }; - }; - }; - - - /* Other */ - - class Rifle_Long_Base_F: Rifle_Base_F { - class WeaponSlotsInfo; - }; - - class EBR_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; - }; - }; - - class DMR_01_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; - }; - }; - - class LMG_Mk200_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_H"}; - }; - }; - }; - - class LMG_Zafir_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; - }; - }; - - - /* Assault Rifles */ - - class Tavor_base_F: Rifle_Base_F { - magazines[] += { - "ACE_30Rnd_556x45_Stanag_Tracer_Dim", - "ACE_30Rnd_556x45_Stanag_SD", - "ACE_30Rnd_556x45_Stanag_AP" - }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_L"}; - }; - }; - }; - - class mk20_base_F: Rifle_Base_F { - magazines[] += { - "ACE_30Rnd_556x45_Stanag_Tracer_Dim", - "ACE_30Rnd_556x45_Stanag_SD", - "ACE_30Rnd_556x45_Stanag_AP" - }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_L"}; - }; - }; - }; - - - /* SMGs */ - - class SDAR_base_F: Rifle_Base_F { - magazines[] += { - "ACE_30Rnd_556x45_Stanag_Tracer_Dim", - "ACE_30Rnd_556x45_Stanag_SD", - "ACE_30Rnd_556x45_Stanag_AP" - }; - }; - - class pdw2000_base_F: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - class SMG_01_Base: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - }; - - class SMG_02_base_F: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - - /* Pistols */ - - class Pistol; - class Pistol_Base_F: Pistol { - class WeaponSlotsInfo; - }; - - class hgun_P07_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - class hgun_Rook40_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - class hgun_ACPC2_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - }; - - class hgun_Pistol_heavy_01_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - }; - - /*class hgun_Pistol_heavy_02_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - };*/ - - - /* Silencers */ - - class ItemCore; - class InventoryMuzzleItem_Base_F; - - class muzzle_snds_H: ItemCore { - class ItemInfo: InventoryMuzzleItem_Base_F { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_L: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_M: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_B: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_H_MG: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_H_SW: muzzle_snds_H_MG { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_acp: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_338_black: ItemCore { - class ItemInfo: InventoryMuzzleItem_Base_F { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_93mmg: ItemCore { - class ItemInfo: InventoryMuzzleItem_Base_F { - class MagazineCoef { - initSpeed = 1.05; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; -}; diff --git a/addons/magazines/README.md b/addons/magazines/README.md deleted file mode 100644 index 041a562268..0000000000 --- a/addons/magazines/README.md +++ /dev/null @@ -1,12 +0,0 @@ -ace_magazines -============= - -Adds new types of ammunition, such as sub-sonic rounds. - - -## Maintainers - -The people responsible for merging changes to this component or answering potential questions. - -- [KoffeinFlummi](https://github.com/KoffeinFlummi) -- [commy2](https://github.com/commy2) diff --git a/addons/magazines/config.cpp b/addons/magazines/config.cpp deleted file mode 100644 index c757d62f5c..0000000000 --- a/addons/magazines/config.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - author[] = {"commy2"}; - authorUrl = "https://github.com/commy2"; - VERSION_CONFIG; - }; -}; - -#include "CfgAmmo.hpp" -#include "CfgMagazines.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" diff --git a/addons/magazines/newclasses.txt b/addons/magazines/newclasses.txt deleted file mode 100644 index 1a711e8c37..0000000000 --- a/addons/magazines/newclasses.txt +++ /dev/null @@ -1,39 +0,0 @@ - -// CFGAmmo - -ACE_B_65x39_Caseless_Tracer_Dim -ACE_B_65x39_Caseless_SD -ACE_B_65x39_Caseless_AP - -ACE_B_65x39_Case_Tracer_Dim -ACE_B_65x39_Case_SD -ACE_B_65x39_Case_AP - -ACE_B_556x45_Ball_Tracer_Dim -ACE_B_556x45_Ball_SD -ACE_B_556x45_Ball_AP - -ACE_B_762x51_Tracer_Dim -ACE_B_762x51_Ball_SD -ACE_B_762x51_Ball_AP -ACE_B_762x51_M118LR - - -// CFGMagazines - -ACE_30Rnd_65x39_caseless_mag_Tracer_Dim -ACE_30Rnd_65x39_caseless_mag_SD -ACE_30Rnd_65x39_caseless_mag_AP - -ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim -ACE_30Rnd_65x39_caseless_green_mag_SD -ACE_30Rnd_65x39_caseless_green_mag_AP - -ACE_30Rnd_556x45_Stanag_Tracer_Dim -ACE_30Rnd_556x45_Stanag_SD -ACE_30Rnd_556x45_Stanag_AP - -ACE_20Rnd_762x51_Mag_Tracer -ACE_20Rnd_762x51_Mag_Tracer_Dim -ACE_20Rnd_762x51_Mag_SD -ACE_20Rnd_762x51_Mag_AP diff --git a/addons/magazines/script_component.hpp b/addons/magazines/script_component.hpp deleted file mode 100644 index 2fa1b774f5..0000000000 --- a/addons/magazines/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT magazines -#include "\z\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_MAGAZINES - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_ENABLED_MAGAZINES - #define DEBUG_SETTINGS DEBUG_ENABLED_MAGAZINES -#endif - -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/magazines/stringtable.xml b/addons/magazines/stringtable.xml deleted file mode 100644 index c8f652fa39..0000000000 --- a/addons/magazines/stringtable.xml +++ /dev/null @@ -1,490 +0,0 @@ - - - - - - - 6.5mm 30Rnd Tracer IR-DIM Mag - 6,5 mm Nyomjelző IR-DIM 30-as Tár - 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 30 balas trazadoras IR-DIM de 6,5mm - Ch. 6,5mm 30Cps Traçantes IR-DIM - Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník - Carregador de 30 projéteis traçantes IR-DIM de 6,5mm - Caricatore 6.5mm 30Rnd Traccianti IR-DIM - Магазин из 30-и 6.5 мм трассирующих под ПНВ - - - 6.5mm IR-DIM - 6,5 mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6.5mm IR-DIM - 6,5mm IR-DIM - 6.5 IR-DIM - 6.5 мм трассирущие под ПНВ - - - Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - - - 6.5mm 30Rnd SD Mag - 6,5 mm Hangtompítós 30-as Tár - 6,5 mm 30-Schuss-Magazin SD - Cargador de 30 balas SD de 6,5mm - Ch. 6,5mm 30Cps SD - Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník - Carregador de 30 projéteis SD de 6,5mm - Caricatore 6.5mm 30Rnd Sil. - Магазин из 30-и 6.5 мм дозвуковых - - - 6.5mm SD - 6,5 mm Hangtompítós - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6.5mm SD - 6,5mm SD - 6.5mm Sil. - 6.5 мм дозвуковые - - - Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Hangtompítós<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - - - 6.5mm 30Rnd AP Mag - 6,5 mm Páncéltörő 30-as Tár - 6,5 mm 30-Schuss-Magazin AP - Cargador de 30 balas AP de 6,5mm - Ch. 6,5mm 30Cps AP - Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník - Carregador de 30 projéteis AP de 6,5mm - Caricatore 6.5mm 30Rnd AP - Магазин из 30-и 6.5 мм бронебойных - - - 6.5mm AP - 6,5 mm Páncéltörő - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6.5mm AP - 6,5mm AP - 6.5mm AP - 6.5 мм бронебойные - - - Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Páncéltörő<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - - - - 6.5mm 30Rnd Tracer IR-DIM Mag - 6,5mm IR-DIM Nyomjelző 30-as Tár - 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 30 balas trazadoras IR-DIM de 6,5mm - Ch. 6,5mm 30Cps Traçantes IR-DIM - Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník - Carregador de 30 projéteis traçantes IR-DIM de 6,5mm - Caricatore 6.5mm 30Rnd Traccianti IR-DIM - Магазин из 30-и 6.5 мм трассирующих под ПНВ - - - 6.5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6.5mm IR-DIM - 6,5mm IR-DIM - 6.5mm IR-DIM - 6.5 мм трассирущие под ПНВ - - - Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5x39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: Katiba - - - 6.5mm 30Rnd SD Mag - 6,5 mm Hangtompítós 30-as Tár - 6,5 mm 30-Schuss-Magazin SD - Cargador de 30 balas SD de 6,5mm - Ch. 6,5mm 30Cps SD - Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník - Carregador de 30 projéteis SD de 6,5mm - Caricatore 6.5mm 30Rnd Sil. - Магазин из 30-и 6.5 мм дозвуковых - - - 6.5mm SD - 6,5 mm Hangtompítós - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6.5mm SD - 6,5mm SD - 6.5mm Sil. - 6.5 мм дозвуковые - - - Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Hangtompítós<br />Lőszerek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm SD<br />Naboje: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: Katiba - - - 6.5mm 30Rnd AP Mag - 6,5 mm Páncéltörő 30-as Tár - 6,5 mm 30-Schuss-Magazin AP - Cargador de 30 balas AP de 6,5mm - Ch. 6,5mm 30Cps AP - Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník - Carregador de 30 projéteis AP de 6,5mm - Caricatore 6.5mm 30Rnd AP - Магазин из 30-и 6.5 мм бронебойных - - - 6.5mm AP - 6,5 mm Páncéltörő - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6.5mm AP - 6,5mm AP - 6.5mm AP - 6.5 мм бронебойные - - - Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Páncéltörő<br />Lőszerek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: Katiba - - - - 5.56mm 30rnd Tracer IR-DIM Mag - 5,56 mm Nyomjelző IR-DIM 30-as Tár - 5,56 mm 30-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 30 balas trazadoras IR-DIM de 5,56mm - Ch. 5,56mm 30Cps Traçantes IR-DIM - Magazynek 5,56mm 30rd Smugacz IR-DIM - 5.56mm 30ks Svítící IR-DIM Zásobník - Carregador de 30 projéteis traçantes IR-DIM de 5,56mm - Caricatore 5.56mm 30rnd Traccianti IR-DIM - Магазин из 30-и 5.56 мм трассирующих под ПНВ - - - 5.56mm IR-DIM - 5,56 mm IR-DIM - 5,56mm IR-DIM - 5,56mm IR-DIM - 5,56mm IR-DIM - 5,56mm IR-DIM - 5.56mm IR-DIM - 5,56mm IR-DIM - 5.56mm IR-DIM - 5.56 мм трассирущие под ПНВ - - - Caliber: 5.56x45 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - - - 5.56mm 30Rnd SD Mag - 5,56 mm Hangtompítós 30-as Tár - 5,56 mm 30-Schuss-Magazin SD - Cargador de 30 balas SD de 5,56 mm - Ch. 5,56mm 30Cps SD - Magazynek 5,56mm 30rd SD - 5.56mm 30ks SD Zásobník - Carregador de 30 projéteis SD de 5,56mm - Caricatore 5.56mm 30Rnd Sil. - Магазин из 30-и 5.56 мм дозвуковых - - - 5.56mm SD - 5,56 mm Hangtompítós - 5,56mm SD - 5,56 mm SD - 5,56mm SD - 5,56mm SD - 5.56mm SD - 5,56mm SD - 5.56 Sil. - 5.56 мм дозвуковые - - - Caliber: 5.56x45 mm SD<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Hangtompítós<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm SD<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm SD<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5.56x45 mm SD<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm SD<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm SD<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm SD<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm Sil.<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм дозвуковые<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - - - 5.56mm 30Rnd AP Mag - 5,56 mm Páncéltörő 30-as Tár - 5,56 mm 30-Schuss-Magazin AP - Cargador de 30 balas AP de 5,56mm - Ch. 5,56mm 30Cps AP - Magazynek 5,56mm 30rd AP - 5.56mm 30ks AP Zásobník - Carregador de 30 projéteis AP de 5,56mm - Caricatore 5.56mm 30Rnd AP - Магазин из 30-и 5.56 мм бронебойных - - - 5.56mm AP - 5,56 mm Páncéltörő - 5,56mm AP - 5,56mm AP - 5,56mm AP - 5,56mm AP - 5.56mm AP - 5,56mm AP - 5.56mm AP - 5.56 мм бронебойные - - - Caliber: 5.56x45 mm AP<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Páncéltörő<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm AP<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm AP<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm AP<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm AP<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm AP<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm AP<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm AP<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм бронебойные<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - - - - 7.62mm 20rnd Tracer Mag - 7,62 mm Nyomjelző IR-DIM 20-as Tár - 7,62 mm 20-Schuss-Magazin Leuchtspur - Cargador de 20 balas trazadores de 7,62mm - Ch. 7,62mm 20Cps Traçantes - Magazynek 7,62mm 20rd Smugacz - 7.62mm 20ks Svítící Zásobník - Carregador de 20 projéteis traçantes de 7,62mm - Caricatore 7.62mm 20Rnd Traccianti - Магазин из 20-и 7.62 мм трассирующих - - - 7.62mm Tracer - 7,62 mm Nyomjelző - 7,62mm Leuchtspur - 7,62mm Trazadora - 7,62mm Traçantes - 7,62mm Smugacz - 7.62mm Svítící - 7,62mm Traçante - 7.62mm Traccianti - 7.62 мм трассирущие - - - Caliber: 7.62x51 mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Nyomjelző<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм трассирующие<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - 7.62mm 20rnd Tracer IR-DIM Mag - 7,62 mm Nyomjelző IR-DIM 20-as Tár - 7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 20 balas IR-DIM de 7,62mm - Ch. 7,62mm 20Cps Traçantes IR-DIM - Magazynek 7,62mm 20rd Smugacz IR-DIM - 7.62mm 20ks Svítící IR-DIM Zásobník - Carregador de 20 projéteis IR-DIM de 7,62mm - Caricatore 7.62mm 20rnd Traccianti IR-DIM - Магазин из 20-и 7.62 мм трассирующих под ПНВ - - - 7.62mm IR-DIM - 7,62 mm IR-DIM - 7,62mm IR-DIM - 7,62mm IR-DIM - 7,62mm IR-DIM - 7,62mm IR-DIM - 7.62mm IR-DIM - 7,62mm IR-DIM - 7.62mm IR-DIM - 7.62 мм трассирущие под ПНВ - - - Caliber: 7.62x51 mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Nyomjelző IR-DIM<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм трассирующие под ПНВ<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - 7.62mm 20Rnd SD Mag - 7,62 mm Hangtompítós 20-as Tár - 7,62 mm 20-Schuss-Magazin SD - Cargador de 20 balas SD de 7,62mm - Ch. 7,62mm 20Cps SD - Magazynek 7,62mm 20rd SD - 7.62mm 20ks SD Zásobník - Carregador de 20 projéteis SD de 7,62mm - Caricatore 7.62mm 20Rnd Sil. - Магазин из 20-и 7.62 мм дозвуковых - - - 7.62mm SD - 7,62 mm Hangtompítós - 7,62mm SD - 7,62mm SD - 7,62mm SD - 7,62mm SD - 7.62mm SD - 7,62mm SD - 7.62mm Sil. - 7.62 мм дозвуковые - - - Caliber: 7.62x51 mm SD<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Hangtompítós<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm SD<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm SD<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm SD<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - 7.62mm 20Rnd AP Mag - 7,62 mm Páncéltörő 20-as Tár - 7,62 mm 20-Schuss-Magazin AP - Cargador de 20 balas AP de 7,62mm - Ch. 7,62mm 20Cps AP - Magazynek 7,62mm 20rd AP - 7.62mm 20ks AP Zásobník - Carregador de 20 projéteis AP de 7,62mm - Caricatore 7.62mm 20Rnd AP - Магазин из 20-и 7.62 мм бронебойных - - - 7.62mm AP - 7,62 mm Páncéltörő - 7,62mm AP - 7,62mm AP - 7,62mm AP - 7,62mm AP - 7.62mm AP - 7,62mm AP - 7.62mm AP - 7.62 мм бронебойные - - - Caliber: 7.62x51 mm AP<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Páncéltörő<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm AP<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm AP<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm AP<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm AP<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm AP<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm AP<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - Caliber: 7.62x51mm M118LR<br />Rounds: 20<br />Type: M14 - Kaliber: 7,62x51 mm M118LR<br />Lőszerek: 20<br />Típus: M14 - Kaliber: 7,62x51mm M118LR<br />Schuss: 20<br />Typ: M14 - Calibre: 7,62x51mm M118LR<br />Balas: 20<br />Tipo: M14 - Kaliber: 7,62 x 51 mm M118LR<br />Pociski: 20<br />Typ: M14 - Kalibr: 7.62x51mm M118LR<br />Náboje: 20<br />Typ: M14 - Calibre : 7,62x51mm M118LR<br />Cartouches: 20<br />Type: M14 - Calibre: 7,62x51mm M118LR<br />Projéteis: 20<br />Tipo: M14 - Калибр: 7.62x51mm M118LR<br />Патронов: 20<br />Тип: M14 - Calibro: 7.62x51mm M118LR<br />Munizioni:20<br />In uso su: M14 - - - diff --git a/addons/main/About.hpp b/addons/main/About.hpp deleted file mode 100644 index c455c43cc3..0000000000 --- a/addons/main/About.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "script_dialog_defines.hpp" - -class ACE_ABOUT_DLG { - idd = 114137; - movingEnable = 0; - onLoad = "with uiNameSpace do { ACE_ABOUT_DLG = _this select 0; };"; - onKeyDown = "if((_this select 1) == 1) then {ACE_ABOUT_STP = true;};"; - class controlsBackground { - class Contents : RscStructuredText { - idc = 1141371; - colorBackground[] = { 0, 0, 0, 0 }; - __SX(0.45); - __SY(0.25); - __SW(0.45); - __SH(0.6); - size = "0.025 * SafeZoneH"; - class Attributes { - font = "TahomaB"; - color = "#C8C8C8"; - align = "left"; - valign = "middle"; - shadow = true; - shadowColor = "#191970"; - size = "1"; - }; - }; - class ACE_ABOUT_NEXT : ACE_ABOUT_CTRL { //dummy visible - idc = 1141372; - __SX(0.065); - __SW(0.03); - text = ""; - action = ""; - }; - }; //controlsBackground -}; diff --git a/addons/main/CfgModuleCategories.hpp b/addons/main/CfgModuleCategories.hpp index 1f86959585..5297ec1e99 100644 --- a/addons/main/CfgModuleCategories.hpp +++ b/addons/main/CfgModuleCategories.hpp @@ -1,8 +1,8 @@ -class CfgFactionClasses { - class NO_CATEGORY; - class ACE: NO_CATEGORY { - displayName = "ACE"; - priority = 2; - side = 7; - }; -}; \ No newline at end of file +class CfgFactionClasses { + class NO_CATEGORY; + class ACE: NO_CATEGORY { + displayName = "ACE"; + priority = 2; + side = 7; + }; +}; diff --git a/addons/main/about.sqf b/addons/main/about.sqf deleted file mode 100644 index c9004edfe1..0000000000 --- a/addons/main/about.sqf +++ /dev/null @@ -1,210 +0,0 @@ -#include "script_component.hpp" -#include "\z\ace\addons\main\script_common.hpp" - -if (!isNil "ACE_ABOUT_RUN") exitWith {ACE_ABOUT_RUN = false;}; -ACE_ABOUT_RUN = true; - -disableSerialization; - -PARAMS_2(_menu,_data); - -private ["_pcredits", "_pkeynam", "_shift", "_ctrl", "_alt", "_keys", "_key", "_keystrg", "_mod", "_knaml", "_knam", "_k", "_pkeys", "_pary", "_tpages", "_cEvents", "_i", "_cSys", "_tSys", "_aSys", "_tS", "_j", "_c", "_tC", "_keyn", "_fadet", "_page1", "_color", "_bcolor", "_newpages", "_pstart", "_pcount", "_pnext", "_display", "_control", "_pnames", "_pnam", "_page", "_pages", "_run", "_disp", "_next", "_input", "_nesc", "_unset", "_p", "_text", "_curPage", "_time", "_faded"]; - -_pcredits = [ -"", -"Advanced Combat Environment 2", -"http://dev-heaven.net/projects/ace-mod2", -"", -__cr_managers, -"", -__cr_devs, -"", -__cr_testers, -"", -"For a full list of acknowledgements, please visit our Wiki:", -"http://ace.dev-heaven.net" -]; - -_pkeynam = { //local function - _shift = if (_shift > 0) then {42} else {0}; - _ctrl = if (_ctrl > 0) then {56} else {0}; - _alt = if (_alt > 0) then {29} else {0}; - _keys = [_shift,_ctrl,_alt,_key]; - _keystrg = "^"; - { - _mod = _x in [42,56,29]; - _knaml = call compile format["format['%2',%1]",(keyName _x),"%1"]; - _knaml = [_knaml, " "] call CBA_fnc_split; - _knam = "^"; - {_k = _x; if (!_mod || (_k != (localize "STR_ACE_KN_LEFT") && _k != (localize "STR_ACE_KN_RIGHT"))) then {_knam = _knam + " " + _k}} forEach _knaml; - _knam = [_knam, "^ ", ""] call CBA_fnc_replace; - _keystrg = _keystrg + "-" + _knam; - } forEach _keys; - _keystrg = [_keystrg, "^ ", ""] call CBA_fnc_replace; - _keystrg = [_keystrg, "^-", ""] call CBA_fnc_replace; - _keystrg = [_keystrg, "^", "None"] call CBA_fnc_replace; - _keystrg -}; -_pkeys = { - _pary = []; - _tpages = []; - _cEvents = configFile/"CfgSettings"/"CBA"/"events"; - for "_i" from 0 to (count _cEvents) - 1 do { - _cSys = _cEvents select _i; - _tSys = configName _cSys; - if (isNumber ((_cSys select 0)/"key")) then { - //format system name - _aSys = [_tSys, "_"] call CBA_fnc_split; - _tS = "^"; - {if (_x != "ace" && _x != "sys") then {_tS = _tS + " " + _x}} forEach _aSys; - _tS = [_tS, "^ ", ""] call CBA_fnc_replace; - _tS = format["%1:",_tS]; - PUSH(_pary,_tS); - for "_j" from 0 to (count _cSys) - 1 do { - _c = _cSys select _j; - _tC = configName _c; - _tC = [_tC, "_", " "] call CBA_fnc_replace; - //key - _key = getNumber (_c/"key"); - _shift = getNumber (_c/"shift"); - _ctrl = getNumber (_c/"ctrl"); - _alt = getNumber (_c/"alt"); - _keyn = [_key,_shift,_ctrl,_alt] call _pkeynam; - _tC = format[" %1: %2",_tC,_keyn]; - PUSH(_pary,_tC); - }; - }; - if (count _pary > 20) then { //split full page - PUSH(_tpages,_pary); - _pary = []; - }; - }; - if (count _pary > 0) then { //partial page - PUSH(_tpages,_pary); - _pary = []; - }; - _tpages -}; - -//pages (make sure each will fit within 24 lines, word wrap is on) -switch(_menu) do { - case "MAIN": { //note: not all scripting commands available on main menu (not compiled yet?) - _fadet = 13; - _page1 = _pcredits; - }; - case "SING": { - _fadet = 20; //fade time - _color = [1,1,1,1]; - //_bcolor = [0,0,0,0.3]; - _page1 = _pcredits; - _newpages = [] call _pkeys; - _pstart = 2; - _pcount = count _newpages; - _pnext = _pstart + _pcount; - }; - case "MULT": { - _fadet = 20; - _color = [1,1,1,1]; - //_bcolor = [0,0,0,0.3]; - _page1 = _pcredits; - _newpages = [] call _pkeys; - _pstart = 2; - _pcount = count _newpages; - _pnext = _pstart + _pcount; - }; - default {}; -}; - -//main menu display -if (typeName(_data select 0) == "DISPLAY") then { - _display = _data select 0; -}; - -if (typeName(_data select 0) == "CONTROL") then { - _control = _data select 0; - _display = ctrlParent _control; -}; - -//dynamic pages -_pnames = []; -for "_x" from _pstart to _pnext - 1 do { - _pnam = format ["_page%1",_x]; - PUSH(_pnames,_pnam); -}; -private _pnames; -for "_x" from 0 to _pcount - 1 do { - call compile format ["%1 = %2", _pnames select _x, _newpages select _x]; -}; - -//get num pages -_pages = 0; -_run = true; -while {_run} do { - INC(_pages); - if (isNil format ["_page%1", _pages]) exitWith {_pages = _pages - 1; _run = false}; -}; - -if (_pages > 0) then { - //Dialog - createDialog "ACE_ABOUT_DLG"; - _disp = uiNamespace getVariable "ACE_ABOUT_DLG"; - _ctrl = _disp displayCtrl 1141371; - _next = _disp displayCtrl 1141372; - - if (_pages > 1) then {_next ctrlSetText "Next"}; - - _ctrl ctrlSetFade 1; - _ctrl ctrlCommit 0; - _ctrl ctrlSetFade 0; - _ctrl ctrlCommit 3; - - ACE_ABOUT_INC = 0; - _input = { //local function - _nesc = isNil "ACE_ABOUT_STP"; - if (_pages == 1) then {ACE_ABOUT_INC = 0}; //ignore special control - _unset = (ACE_ABOUT_INC == 0) && ACE_ABOUT_RUN; - if (_unset && _nesc) then {false} else {_fadet = _fadet + 5; true}; - }; - - //by default cycle - for "_p" from 1 to _pages do { - _text = ""; - _page = call compile format["_page%1",_p]; - _curPage = _p; - { - _text = _text + _x + "
"; - _ctrl ctrlSetStructuredText parseText _text; - if (call _input) exitWith {_p = _pages}; - if (_x != "") then {uisleep 0.8}; - } forEach _page; - }; - - _run = true; - while {if (isNil "ACE_ABOUT_STP") then {_run} else {false}} do { - _ctrl ctrlSetFade 0; - _ctrl ctrlCommit 0; - if (!isNil "_color") then {_ctrl ctrlSetTextColor _color}; - if (!isNil "_bcolor") then {_ctrl ctrlSetBackgroundColor _bcolor}; - - _curPage = _curPage + ACE_ABOUT_INC; - if (_curPage > _pages) then {_curPage = 1}; - if (_curPage <= 0) then {_curPage = 1}; - ACE_ABOUT_INC = 0; - - if (!ACE_ABOUT_RUN) then {ACE_ABOUT_RUN = true}; - - _text = ""; - _page = call compile format ["_page%1",_curPage]; - {_text = _text + _x + "
"} forEach _page; - _ctrl ctrlSetStructuredText parseText _text; - - _ctrl ctrlSetFade 1; - _ctrl ctrlCommit _fadet; - - _time = time + _fadet + 2; - waitUntil{uisleep 1; _run = call _input; _faded = time > _time; (_run || _faded)}; - }; //while RUN -}; -ACE_ABOUT_STP = Nil; -ACE_ABOUT_RUN = Nil; -closeDialog 0; \ No newline at end of file diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 44e9c6f33e..eb136f84cf 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "script_component.hpp" class CfgPatches { class ADDON { @@ -51,6 +51,7 @@ class CfgPatches { "a3_anims_f_epc", "a3_anims_f_heli", "a3_anims_f_kart", + "a3_anims_f_mark_deployment", "a3_armor_f", "a3_armor_f_amv", "a3_armor_f_apc_wheeled_03", @@ -93,6 +94,7 @@ class CfgPatches { "a3_characters_f_heads", "a3_characters_f_indep", "a3_characters_f_kart", + "a3_characters_f_mark", "a3_characters_f_opfor", "a3_characters_f_proxies", "a3_data_f", @@ -108,6 +110,7 @@ class CfgPatches { "a3_data_f_hook", "a3_data_f_kart", "a3_data_f_kart_particleeffects", + "a3_data_f_mark", "a3_data_f_particleeffects", "a3_dubbing_radio_f", "a3_editor_f", @@ -117,6 +120,8 @@ class CfgPatches { "a3_functions_f_epa", "a3_functions_f_epc", "a3_functions_f_heli", + "a3_functions_f_mark", + "a3_functions_f_mp_mark", "a3_language_f", "a3_language_f_beta", "a3_language_f_bootcamp", @@ -127,10 +132,13 @@ class CfgPatches { "a3_language_f_gamma", "a3_language_f_heli", "a3_language_f_kart", + "a3_language_f_mark", + "a3_language_f_mp_mark", "a3_languagemissions_f", "a3_languagemissions_f_beta", "a3_languagemissions_f_gamma", "a3_languagemissions_f_kart", + "a3_languagemissions_f_mp_mark", "a3_map_altis", "a3_map_altis_scenes", "a3_map_data", @@ -149,6 +157,8 @@ class CfgPatches { "a3_missions_f_gamma", "a3_missions_f_heli", "a3_missions_f_kart", + "a3_missions_f_mark", + "a3_missions_f_mp_mark", "a3_modules_f", "a3_modules_f_beta", "a3_modules_f_beta_firingdrills", @@ -184,8 +194,12 @@ class CfgPatches { "a3_modules_f_kart", "a3_modules_f_kart_timetrials", "a3_modules_f_livefeed", + "a3_modules_f_mark", + "a3_modules_f_mark_firingdrills", + "a3_modules_f_mark_objectives", "a3_modules_f_marta", "a3_modules_f_misc", + "a3_modules_f_mp_mark", "a3_modules_f_multiplayer", "a3_modules_f_objectmodifiers", "a3_modules_f_sites", @@ -199,6 +213,7 @@ class CfgPatches { "a3_music_f_epb", "a3_music_f_epc", "a3_music_f_heli", + "a3_music_f_mark", "a3_plants_f_bush", "a3_roads_f", "a3_rocks_f", @@ -244,6 +259,8 @@ class CfgPatches { "a3_static_f_gamma_aa", "a3_static_f_gamma_at", "a3_static_f_gamma_mortar_01", + "a3_static_f_mark_designator_01", + "a3_static_f_mark_designator_02", "a3_static_f_mortar_01", "a3_structures_f", "a3_structures_f_bootcamp_civ_camping", @@ -385,6 +402,13 @@ class CfgPatches { "a3_structures_f_kart_civ_sportsgrounds", "a3_structures_f_kart_mil_flags", "a3_structures_f_kart_signs_companies", + "a3_structures_f_mark_items_military", + "a3_structures_f_mark_items_sport", + "a3_structures_f_mark_mil_flags", + "a3_structures_f_mark_training", + "a3_structures_f_mark_vr_helpers", + "a3_structures_f_mark_vr_shapes", + "a3_structures_f_mark_vr_targets", "a3_structures_f_mil", "a3_structures_f_mil_bagbunker", "a3_structures_f_mil_bagfence", @@ -416,6 +440,7 @@ class CfgPatches { "a3_supplies_f_heli_cargonets", "a3_supplies_f_heli_fuel", "a3_supplies_f_heli_slingload", + "a3_supplies_f_mark", "a3_uav_f_characters_f_gamma", "a3_uav_f_weapons_f_gamma_ammoboxes", "a3_ui_f", @@ -423,6 +448,8 @@ class CfgPatches { "a3_ui_f_curator", "a3_ui_f_heli", "a3_ui_f_kart", + "a3_ui_f_mark", + "a3_ui_f_mp_mark", "a3_uifonts_f", "a3_weapons_f", "a3_weapons_f_aaf", @@ -474,6 +501,28 @@ class CfgPatches { "a3_weapons_f_longrangerifles_m320", "a3_weapons_f_machineguns_m200", "a3_weapons_f_machineguns_zafir", + "a3_weapons_f_mark", + "a3_weapons_f_mark_acc", + "a3_weapons_f_mark_ebr", + "a3_weapons_f_mark_longrangerifles_dmr_01", + "a3_weapons_f_mark_longrangerifles_dmr_02", + "a3_weapons_f_mark_longrangerifles_dmr_03", + "a3_weapons_f_mark_longrangerifles_dmr_04", + "a3_weapons_f_mark_longrangerifles_dmr_05", + "a3_weapons_f_mark_longrangerifles_dmr_06", + "a3_weapons_f_mark_longrangerifles_gm6", + "a3_weapons_f_mark_longrangerifles_gm6_camo", + "a3_weapons_f_mark_longrangerifles_m320", + "a3_weapons_f_mark_longrangerifles_m320_camo", + "a3_weapons_f_mark_machineguns_m200", + "a3_weapons_f_mark_machineguns_mmg_01", + "a3_weapons_f_mark_machineguns_mmg_02", + "a3_weapons_f_mark_machineguns_zafir", + "a3_weapons_f_mark_rifles_khaybar", + "a3_weapons_f_mark_rifles_mk20", + "a3_weapons_f_mark_rifles_mx", + "a3_weapons_f_mark_rifles_sdar", + "a3_weapons_f_mark_rifles_trg20", "a3_weapons_f_nato", "a3_weapons_f_pistols_acpc2", "a3_weapons_f_pistols_p07", @@ -497,7 +546,7 @@ class CfgPatches { author[] = {"ACE Team"}; authorUrl = ""; versionDesc = "A.C.E."; - versionAct = "['MAIN',_this] execVM '\z\ace\addons\main\about.sqf';"; + versionAct = QUOTE(['MAIN',_this] execVM '\z\ace\addons\main\about.sqf';); VERSION_CONFIG; }; }; diff --git a/addons/main/license.sqf b/addons/main/license.sqf deleted file mode 100644 index d078710247..0000000000 --- a/addons/main/license.sqf +++ /dev/null @@ -1,92 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - -2. Fair Dealing Rights. - -Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. - -Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. - -The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. - -In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. - -5. Representations, Warranties and Disclaimer. - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination. - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). - -Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - -8. Miscellaneous. - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/addons/main/license.txt b/addons/main/license.txt deleted file mode 100644 index e97d9c51a3..0000000000 --- a/addons/main/license.txt +++ /dev/null @@ -1,92 +0,0 @@ -License (short) -=============== - -You are free: -- to Share to copy, distribute and transmit the work - -Under the following conditions: -- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). -- Noncommercial You may not use this work for commercial purposes. -- No Derivative Works You may not alter, transform, or build upon this work. - -With the understanding that: - -Waiver Any of the above conditions can be waived if you get permission from the copyright holder. - -Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. - -Other Rights In no way are any of the following rights affected by the license: - - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; - - The author's moral rights; - - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. - -Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. - - -Full license text -================= - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. -"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. - -2. Fair Dealing Rights. - -Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. - -Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, to Distribute and Publicly Perform the Work including as incorporated in Collections. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). - -4. Restrictions. - -The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. -You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. -If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. - -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. - -In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, -Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. - -5. Representations, Warranties and Disclaimer. - -UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination. - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). - -Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. - -8. Miscellaneous. - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/addons/main/script_common.hpp b/addons/main/script_common.hpp deleted file mode 100644 index b3f6863d49..0000000000 --- a/addons/main/script_common.hpp +++ /dev/null @@ -1,3 +0,0 @@ -#define __cr_managers "Manager: " -#define __cr_devs "Developer:" -#define __cr_testers "Contributor: " diff --git a/addons/main/script_config.hpp b/addons/main/script_config.hpp deleted file mode 100644 index e39240286e..0000000000 --- a/addons/main/script_config.hpp +++ /dev/null @@ -1,43 +0,0 @@ -#define true 1 -#define false 0 - -#define private 0 -#define protected 1 -#define public 2 - -#define TEast 0 -#define TWest 1 -#define TGuerrila 2 -#define TCivilian 3 -#define TSideUnknown 4 -#define TEnemy 5 -#define TFriendly 6 -#define TLogic 7 - -#define VSoft 0 -#define VArmor 1 -#define VAir 2 - -#define LockNo 0 -#define LockCadet 1 -#define LockYes 2 - -#define ReadAndWrite 0 -#define ReadAndCreate 1 -#define ReadOnly 2 -#define ReadOnlyVerified 3 - -#define WeaponNoSlot 0 // dummy weapons -#define WeaponSlotPrimary 1 // primary weapons -#define WeaponSlotSecondary 16 // secondary weapons -#define WeaponSlotItem 256 // items -#define WeaponSlotBinocular 4096 // binocular -#define WeaponHardMounted 65536 - -#define CanSeeRadar 1 -#define CanSeeRye 2 -#define CanSeeOptics 4 -#define CanSeeEar 4 -#define CanSeeCompass 16 -#define CanSeeRadarC CanSeeRadar+CanSeeCompass -#define CanSeeAll 31 diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index 79f95545ca..d4b6739918 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -1,174 +1,14 @@ #include "\x\cba\addons\main\script_macros_common.hpp" #include "\x\cba\addons\xeh\script_xeh.hpp" +//Faster Array Unwraping (skips the IS_ARRAY check normaly found in EXPLODE_1_SYS) +#undef EXPLODE_2_SYS +#define EXPLODE_1_SYS_FAST(ARRAY,A) A =(ARRAY) select 0 +#define EXPLODE_2_SYS(ARRAY,A,B) EXPLODE_1_SYS_FAST(ARRAY,A); B = (ARRAY) select 1 + // Default versioning level #define DEFAULT_VERSIONING_LEVEL 2 -// RGB Colors -#define RGB_GREEN 0, 0.5, 0, 1 -#define RGB_BLUE 0, 0, 1, 1 -#define RGB_ORANGE 0.5, 0.5, 0, 1 -#define RGB_RED 1, 0, 0, 1 -#define RGB_YELLOW 1, 1, 0, 1 -#define RGB_WHITE 1, 1, 1, 1 -#define RGB_GRAY 0.5, 0.5, 0.5, 1 -#define RGB_BLACK 0, 0, 0, 1 -#define RGB_MAROON 0.5, 0, 0, 1 -#define RGB_OLIVE 0.5, 0.5, 0, 1 -#define RGB_NAVY 0, 0, 0.5, 1 -#define RGB_PURPLE 0.5, 0, 0.5, 1 -#define RGB_FUCHSIA 1, 0, 1, 1 -#define RGB_AQUA 0, 1, 1, 1 -#define RGB_TEAL 0, 0.5, 0.5, 1 -#define RGB_LIME 0, 1, 0, 1 -#define RGB_SILVER 0.75, 0.75, 0.75, 1 - -#include "script_macros_menudef.hpp" - -#define ACE_NOARMORY class Armory { disabled = 1; } -#define ACE_ARMORY class Armory { disabled = 0; } -#define ACE_ACEARMORY class Armory { disabled = 0; author = "A.C.E."; } - - -// Weapon defaults -// NOTE !!!! - Do not forget to dummy-update the configs that use these defines, or the changes won't activate due to binarization! -#define ACE_DEFAULT_WEAPONS "Throw", "Put" - -// Item defaults -// NOTE !!!! - Do not forget to dummy-update the configs that use these defines, or the changes won't activate due to binarization! -#define ACE_ITEMS_TEAMLEADER_B "ItemMap","ItemCompass","ItemWatch","ItemRadio" -#define ACE_ITEMS_SQUADLEADER_B "ItemMap","ItemCompass","ItemWatch","ItemRadio","ACE_DAGR" -#define ACE_ITEMS_SPECIAL "ItemMap","ItemCompass","ItemWatch","ItemRadio" -#define ACE_ITEMS "ItemWatch","ItemRadio" -#define ACE_ITEMS_CIVILIAN "ItemWatch" - - -#define ACE_DEFAULT_SLOTS "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072" - -#define ACE_NOGRIP handAnim[] = {} -#define ACE_DISTANCE_DEFAULT distanceZoomMin = 300; distanceZoomMax = 300 - -// #include "script_macros_optics.hpp" //ToDo - -#define ACE_NOZEROING discreteDistance[] = {}; \ - discreteDistanceInitIndex = 0; \ - weaponInfoType = "RscWeaponEmpty" - -#define ACE_NOTURRETZEROING discreteDistance[] = {}; \ - discreteDistanceInitIndex = 0; \ - turretInfoType = "RscWeaponEmpty" - -#define ACE_LASER irLaserPos = "laser pos"; \ - irLaserEnd = "laser dir"; \ - irDistance = 300 - -#define ACE_LASER_DISTANCE_VANILLA irDistance = 300 - -#define ACE_NOLASER irLaserPos = "laser pos"; \ - irLaserEnd = "laser dir"; \ - irDistance = 0 - -#define ACE_SUPPRESSED ace_suppressed = 1; \ - fireLightDuration = 0; \ - fireLightIntensity = 0 - -// TODO: Cleanup in all the configs around -#define ACE_M_MAG(x,y) class _xx_##x {magazine = ##x; count = ##y;} -#define ACE_M_WEP(x,y) class _xx_##x {weapon = ##x; count = ##y;} -#define ACE_M_ITEM(x,y) class _xx_##x {name = ##x; count = ##y;} -#define ACE_M_BAG(x,y) class _xx_##x {backpack = ##x; count = ##y;} - - -// Vehicle defines -// ACE_canBeLoad = This vehicle acts as transporter, i.e you can load stuff into it -// ACE_canBeCargo = This vehicle acts as cargo, i.e you can load this item into other vehicles -#define ACE_CARGO_FRONT ACE_canBeLoad = false; ACE_canBeCargo = true; ACE_canGear = false; ACE_canLoadFront = true -#define ACE_CARGO_ONLY ACE_canBeLoad = false; ACE_canBeCargo = true; ACE_canGear = false; ACE_canLoadFront = false -#define ACE_LOAD_ONLY ACE_canBeLoad = true; ACE_canBeCargo = false; ACE_canGear = false; ACE_canLoadFront = false -#define ACE_GEAR_ONLY ACE_canBeLoad = true; ACE_canBeCargo = false; ACE_canGear = true; ACE_canLoadFront = false -#define ACE_NOCARGOLOAD ACE_canBeLoad = false; ACE_canBeCargo = false; ACE_canGear = false; ACE_canLoadFront = false - -// Increased FOV for tank driver -// Increased Default US Tank driver optic -#define ACE_DRIVEROPTIC_TANK_US driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver_west.p3d" -// Increased Default RU Tank driver optic -#define ACE_DRIVEROPTIC_TANK_RU driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver_east.p3d" -// Increased Default NON Specified driver optic -#define ACE_DRIVEROPTIC_TANK driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver.p3d" -// Increased Default EP1 NON Specified driver optic -// Default black border thing needs finish -#define ACE_DRIVEROPTIC_TANK_EP1 driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver.p3d" - -#define ACE_BWC ace_bwc = 1 - -// SCRIPTING MACROS - -// Items -#define inITEMS(x,y) (##x in (y call ACE_fnc_getGear)) -#define remITEMS(x,y) ([##x,y] call ACE_fnc_removeItem) -//#define addITEMS(x,y) (y addItem ##x) - -// Interaction/ Put anims -#define canANIM(x) (x call ACE_fnc_CanPutDown) -#define playANIM(x) (if (x call ACE_fnc_CanPutDown) then { x call ACE_fnc_PutDown }) - -// In vehicle or on foot -#define ONFOOT(x) (x == vehicle x) -#define INVEHICLE(x) (x != vehicle x) - -// FX -#define COUGH ace_common_fx_fnc_cough -#define BLURRY ace_common_fx_fnc_blurry -#define BLIND ace_common_fx_fnc_blind_view -#define DEAF ace_common_fx_fnc_deaf -#define DIZZY ace_common_fx_fnc_dizzy -#define FLASH ace_common_fx_fnc_flash -#define KICK ace_common_fx_fnc_kick -#define KNOCKOUT ace_common_fx_fnc_knockout -#define RING ace_common_fx_fnc_ring - -// Stamina -#define INC_MASS ace_stamina_fnc_inc_mass - -// Does this work, due to BWC_CONFIG(NAME) ? -#undef BWC_CONFIG - -#define BWC_CONFIG(NAME) class NAME { \ - units[] = {}; \ - weapons[] = {}; \ - requiredVersion = REQUIRED_VERSION; \ - requiredAddons[] = {}; \ - version = VERSION; \ - ACE_BWC; \ -} - -#define ACE_FLASHLIGHT class FlashLight { \ - color[] = {0.9, 0.9, 0.7, 0.9}; \ - ambient[] = {0.1, 0.1, 0.1, 1.0}; \ - position = "flash dir"; \ - direction = "flash"; \ - angle = 30; \ - scale[] = {1, 1, 0.5}; \ - brightness = 0.1; \ - } -#define ACE_SMALL_FLASHLIGHT class FlashLight { \ - color[] = {0.9, 0.9, 0.7, 0.9}; \ - ambient[] = {0.1, 0.1, 0.1, 1.0}; \ - position = "flash dir"; \ - direction = "flash"; \ - angle = 20; \ - scale[] = {0.9, 0.9, 0.4}; \ - brightness = 0.09; \ - } - -// Addaction defines for colored text -#define ACE_TEXT_ORANGE(Text) ("" + ##Text + "") -#define ACE_TEXT_RED(Text) ("" + ##Text + "") -#define ACE_TEXT_GREEN(Text) ("" + ##Text + "") -#define ACE_TEXT_YELLOW(Text) ("" + ##Text + "") - - - #define EGVAR(module,var) TRIPLES(PREFIX,module,var) #define QEGVAR(module,var) QUOTE(EGVAR(module,var)) diff --git a/addons/main/script_macros_menudef.hpp b/addons/main/script_macros_menudef.hpp deleted file mode 100644 index 35a8e2be45..0000000000 --- a/addons/main/script_macros_menudef.hpp +++ /dev/null @@ -1,27 +0,0 @@ -// ACE Self Interaction Conditions - -// Self Interaction Menu not available if player is unconscious -#define ACE_INTERACT_ALIVE (alive player) -#define ACE_INTERACT_UNCON (player call ace_wounds_fnc_isUncon) - -// Player is Player Vehicle -#define ACE_INTERACT_PLAYER (player == vehicle player || (player != vehicle player && player in assignedCargo vehicle player)) - -// Player is climbing up a ladder -#define ACE_INTERACT_LADDER (animationState player in ["ladderriflestatic","laddercivilstatic"]) - -// Possible = Self interaction opens only if player is alive and conscious (can be in a vehicle) -#define ACE_SELFINTERACTION_POSSIBLE (!ACE_INTERACT_LADDER && {ACE_INTERACT_ALIVE} && {!ACE_INTERACT_UNCON}) - -// Restricted = Self interaction opens only if player is alive and conscious (can NOT be in a vehicle, i.e Groundmarker, explosives ...) -#define ACE_SELFINTERACTION_RESTRICTED (ACE_SELFINTERACTION_POSSIBLE && {ACE_INTERACT_PLAYER}) - -// Close interaction menu if unconscious -#define ACE_INTERACT_FNC_EXIT if (ACE_INTERACT_UNCON) exitWith {} -#define ACE_ASSEMBLE (getNumber(configFile >> "CfgActions" >> "Assemble" >> "show") == 0) -#define ACE_DISASSEMBLE (getNumber(configFile >> "CfgActions" >> "DisAssemble" >> "show") == 0) -#define ACE_PIPEDEFAULT (getNumber(configFile >> "CfgMagazines" >> "PipeBomb" >> "useAction") == 0) -#define ACE_IDENTITYDEFAULT (isClass(configFile >> "CfgPatches" >> "ace_combatdeaf")) -#define ACE_RUCKDEFAULT (isClass(configFile >> "CfgPatches" >> "ace_stamina")) - -#define ACE_KNOWN2PLAYER (if (name _target in (player getVariable ["ace_recognize_knownnames",[]])) then { name _target } else { " " }) \ No newline at end of file diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 6ef5ec3f68..25a18e8dc2 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -15,41 +15,3 @@ // MINIMAL required version for the Mod. Components can specify others.. #define REQUIRED_VERSION 0.5 - -/* - #define DEBUG_ENABLED_ADDONS - #define DEBUG_ENABLED_ATTACHMENTS - #define DEBUG_ENABLED_weapons_backblast - #define DEBUG_ENABLED_BLOOD - #define DEBUG_ENABLED_CARTRIDGES - #define DEBUG_ENABLED_CRATERS - #define DEBUG_ENABLED_CREWPROTECTION - #define DEBUG_ENABLED_DUMMIES - #define DEBUG_ENABLED_EJECT - #define DEBUG_ENABLED_EXPLOSIVES - #define DEBUG_ENABLED_FLARES - #define DEBUG_ENABLED_FLASHBANG - #define DEBUG_ENABLED_GRENADETHROW - #define DEBUG_ENABLED_HUNTIR - #define DEBUG_ENABLED_INTERACTION - #define DEBUG_ENABLED_IRSTROBE - #define DEBUG_ENABLED_MULTI_BARREL - #define DEBUG_ENABLED_MUZZLEBLAST - #define DEBUG_ENABLED_NVG - #define DEBUG_ENABLED_weapons_overheating - #define DEBUG_ENABLED_RECOILDUST - #define DEBUG_ENABLED_ROCKET_BALLISTICS - #define DEBUG_ENABLED_SANDBAG - #define DEBUG_ENABLED_SHOTGUN - #define DEBUG_ENABLED_SIGHT_ADJUSTMENT_AT - #define DEBUG_ENABLED_SIGHT_ADJUSTMENT_GL - #define DEBUG_ENABLED_SIGHT_ADJUSTMENT_RIFLE - #define DEBUG_ENABLED_SMAW_SPOTTINGRIFLE - #define DEBUG_ENABLED_TRACERS - #define DEBUG_ENABLED_TRACKING - #define DEBUG_ENABLED_VIEWBLOCK - #define DEBUG_ENABLED_VEHICLE - #define DEBUG_ENABLED_vehicle_damage - #define DEBUG_ENABLED_WEAPONREST - #define DEBUG_ENABLED_WOUNDS -*/ diff --git a/addons/map/CfgVehicles.hpp b/addons/map/CfgVehicles.hpp index b8d3a54d96..612cadb006 100644 --- a/addons/map/CfgVehicles.hpp +++ b/addons/map/CfgVehicles.hpp @@ -36,6 +36,15 @@ class CfgVehicles { class No { name = "No"; value = 0; default = 1;}; }; }; + class MapShowCursorCoordinates { + displayName = "Show cursor coordinates?"; + description = "Show the grid coordinates on the mouse pointer?"; + typeName = "BOOL"; + class values { + class Yes { name = "Yes"; value = 1; }; + class No { name = "No"; value = 0; default = 1;}; + }; + }; }; }; diff --git a/addons/map/XEH_preInit.sqf b/addons/map/XEH_preInit.sqf index 7899c6a637..c5645a52e7 100644 --- a/addons/map/XEH_preInit.sqf +++ b/addons/map/XEH_preInit.sqf @@ -8,6 +8,7 @@ PREP(blueForceTrackingUpdate); PREP(determineMapLight); PREP(determineZoom); PREP(moduleMap); +PREP(onDrawMap); PREP(updateMapEffects); ADDON = true; diff --git a/addons/map/config.cpp b/addons/map/config.cpp index e544a67c12..ebd21d14f5 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"KoffeinFlummi","Rocko","esteldunedain"}; authorUrl = "https://github.com/KoffeinFlummi/"; VERSION_CONFIG; @@ -48,6 +48,10 @@ class ACE_Settings { value = 0; typeName = "BOOL"; }; + class GVAR(mapShowCursorCoordinates) { + value = 0; + typeName = "BOOL"; + }; }; #include "CfgEventHandlers.hpp" @@ -58,13 +62,15 @@ class RscMapControl { maxSatelliteAlpha = 0.5; // From Arma 2 - colorTracks[] = {1.0,0.0,0.0,1}; - colorTracksFill[] = {1.0,1.0,0.0,1}; - colorRoads[] = {0.0,0.0,0.0,1}; - colorRoadsFill[] = {1,1,0,1}; + colorTracks[] = {0.2,0.13,0,1}; + colorTracksFill[] = {1,0.88,0.65,0.3}; + colorRoads[] = {0.2,0.13,0,1}; + colorRoadsFill[] = {1,0.88,0.65,1}; colorMainRoads[] = {0.0,0.0,0.0,1}; - colorMainRoadsFill[] = {1,0.6,0.4,1}; + colorMainRoadsFill[] = {0.94,0.69,0.2,1}; colorRailWay[] = {0.8,0.2,0,1}; + colorGrid[] = {0.05,0.1,0,0.6}; + colorGridMap[] = {0.05,0.1,0,0.4}; // From ACE2 colorBackground[] = {0.929412, 0.929412, 0.929412, 1.0}; @@ -85,7 +91,8 @@ class RscMapControl { class RscDisplayMainMap { // Tweak map styling class controlsBackground { - class CA_Map : RscMapControl { + class CA_Map: RscMapControl { + onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawMap)); #include "MapTweaks.hpp" }; }; @@ -143,6 +150,13 @@ class RscDisplayDiary { // BRIEFING SCREEN class RscDisplayGetReady: RscDisplayMainMap { + // Tweak map styling + class controlsBackground { + class CA_Map: RscMapControl { + onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawMap)); + //#include "MapTweaks.hpp" @todo Shouldn't this apply to briefing too? + }; + }; // get rid of the "center to player position" - button (as it works even on elite) class controls { class TopRight: RscControlsGroup { diff --git a/addons/map/functions/fnc_blueForceTrackingModule.sqf b/addons/map/functions/fnc_blueForceTrackingModule.sqf index cecfd348d2..c156c9527d 100644 --- a/addons/map/functions/fnc_blueForceTrackingModule.sqf +++ b/addons/map/functions/fnc_blueForceTrackingModule.sqf @@ -14,9 +14,7 @@ if !(hasInterface) exitWith {}; -_logic = _this select 0; -_units = _this select 1; -_activated = _this select 2; +PARAMS_3(_logic,_units,_activated); if !(_activated) exitWith {}; diff --git a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf index 030daeaa36..edbe484f04 100644 --- a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf +++ b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf @@ -1,5 +1,7 @@ #include "script_component.hpp" +private ["_groupsToDrawMarkers", "_playerSide", "_anyPlayers", "_markerType", "_colour", "_marker"]; + // Delete last set of markers (always) { deleteMarkerLocal _x; diff --git a/addons/map/functions/fnc_determineMapLight.sqf b/addons/map/functions/fnc_determineMapLight.sqf index e342ae82df..441dc8103a 100644 --- a/addons/map/functions/fnc_determineMapLight.sqf +++ b/addons/map/functions/fnc_determineMapLight.sqf @@ -15,7 +15,7 @@ EXPLODE_1_PVT(_this,_unit); -private ["_isEnclosed","_nearObjects","_light","_ll","_flashlight"]; +private ["_isEnclosed","_nearObjects","_light","_ll","_flashlight", "_flareTint", "_lightTint", "_l"]; // Blend two colors _fnc_blendColor = { @@ -66,10 +66,13 @@ if (_lightLevel > 0.95) exitWith { [false, [0.5,0.5,0.5,0]] }; +private "_vehicle"; +_vehicle = vehicle _unit; + // Do not obscure the map if the player is on a enclosed vehicle (assume internal illumination) -if (vehicle _unit != _unit) then { +if (_vehicle != _unit) then { // Player is in a vehicle - if ((vehicle _unit) isKindOf "Tank") then { + if (isTurnedOut _unit && { _vehicle isKindOf "Tank" || { ( _vehicle isKindOf "Helicopter" || _vehicle isKindOf "Plane" ) && { (driver _vehicle) == _unit || { (gunner _vehicle) == _unit } } } || {_vehicle isKindOf "Wheeled_APC"}}) then { _isEnclosed = true; }; }; @@ -81,32 +84,10 @@ if (_isEnclosed) exitWith { // Player is not in a vehicle TRACE_1("Player is on foot or in an open vehicle",""); -// Check if player is near a campfires, lights or vehicles with lights on - 15m -_nearObjects = [nearestObjects [_unit, ["All"], 15], {(inflamed _this) || (isLightOn _this)}] call EFUNC(common,filter); -if (count (_nearObjects) > 0) then { - _light = _nearObjects select 0; - - _ll = (1 - (((((_unit distance _light) - 5)/10) max 0) min 1)); - if (_ll > _lightLevel) then { - _lightLevel = _ll; - TRACE_1("player near campfire",""); - }; -}; - - -// Gun with light -_nearObjects = [nearestObjects [_unit, ["CAManBase"], 10], { _this isFlashlightOn (currentWeapon _this)}] call EFUNC(common,filter); -if (count (_nearObjects) > 0) then { - _light = (_nearObjects select 0); - _flashlight = (_light weaponAccessories currentMuzzle _light) select 1; - - // Check if it's a day laser - if (_flashlight == "ACE_acc_pointer_red") exitWith {}; - if (_flashlight == "ACE_acc_pointer_green") exitWith {}; - - _lightLevel = _lightLevel max (1 - (((((_unit distance _light) - 2)/8) max 0) min 1)); - TRACE_1("Using gun light",""); -}; +// Check if player is near a campfires, streetlamps, units with flashlights, vehicles with lights on, etc. - 40m +{ + _lightLevel = _lightLevel max ([_unit, _x] call EFUNC(common,lightIntensityFromObject)); +} forEach nearestObjects [_unit, ["All"], 40]; // @todo: Illumination flares (timed) diff --git a/addons/map/functions/fnc_determineZoom.sqf b/addons/map/functions/fnc_determineZoom.sqf index fdc620b417..345fc68583 100644 --- a/addons/map/functions/fnc_determineZoom.sqf +++ b/addons/map/functions/fnc_determineZoom.sqf @@ -12,7 +12,7 @@ */ #include "script_component.hpp" -private ["_grids", "_fourSize", "_sixSize", "_continue", "_size"]; +private ["_grids", "_fourSize", "_sixSize", "_continue", "_size", "_i"]; _grids = configFile >> "CfgWorlds" >> worldName >> "Grid"; _fourSize = -1; _sixSize = -1; diff --git a/addons/map/functions/fnc_moduleMap.sqf b/addons/map/functions/fnc_moduleMap.sqf index b6e556c92e..4bcdb69269 100644 --- a/addons/map/functions/fnc_moduleMap.sqf +++ b/addons/map/functions/fnc_moduleMap.sqf @@ -10,13 +10,13 @@ */ #include "script_component.hpp" -_logic = _this select 0; -_activated = _this select 2; +PARAMS_3(_logic,_units,_activated); if !(_activated) exitWith {}; -[_logic, QGVAR(mapIllumination), "MapIllumination"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(mapShake), "MapShake" ] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(mapLimitZoom), "MapLimitZoom" ] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(mapIllumination), "MapIllumination" ] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(mapShake), "MapShake" ] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(mapLimitZoom), "MapLimitZoom" ] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(mapShowCursorCoordinates), "MapShowCursorCoordinates"] call EFUNC(common,readSettingFromModule); diag_log text "[ACE]: Interaction Module Initialized."; diff --git a/addons/map/functions/fnc_onDrawMap.sqf b/addons/map/functions/fnc_onDrawMap.sqf new file mode 100644 index 0000000000..bc147884e4 --- /dev/null +++ b/addons/map/functions/fnc_onDrawMap.sqf @@ -0,0 +1,4 @@ +// by commy2 +#include "script_component.hpp" + +((_this select 0) displayCtrl 1016) ctrlShow GVAR(mapShowCursorCoordinates); diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index e3e2a6fe93..4423bbcfb4 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -1,5 +1,4 @@  - diff --git a/addons/maptools/XEH_postInitClient.sqf b/addons/maptools/XEH_postInitClient.sqf index 26fb005e9f..8129a75b15 100644 --- a/addons/maptools/XEH_postInitClient.sqf +++ b/addons/maptools/XEH_postInitClient.sqf @@ -24,6 +24,7 @@ GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737]; // The thread dies as soon as the mission start, so it's not really compiting for scheduler space. [] spawn { _fnc_installMapEvents = { + private "_d"; _d = _this; ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseMoving", {_this call FUNC(handleMouseMove);}]; ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonDown", {[1, _this] call FUNC(handleMouseButton);}]; diff --git a/addons/maptools/config.cpp b/addons/maptools/config.cpp index 6ccf874e69..ab11fdceec 100644 --- a/addons/maptools/config.cpp +++ b/addons/maptools/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {"ACE_MapTools"}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"esteldunedain"}; authorUrl = "https://github.com/esteldunedain/"; VERSION_CONFIG; diff --git a/addons/maptools/functions/fnc_addLineMarker.sqf b/addons/maptools/functions/fnc_addLineMarker.sqf index 83e983d0e3..157891a262 100644 --- a/addons/maptools/functions/fnc_addLineMarker.sqf +++ b/addons/maptools/functions/fnc_addLineMarker.sqf @@ -15,10 +15,11 @@ */ #include "script_component.hpp" -_name = _this select 0; -_startPos = _this select 1; -_difPos = (_this select 2) vectorDiff _startPos ; -_color = _this select 3; +PARAMS_4(_name,_startPos,_endPos,_color); + +private ["_marker", "_difPos", "_mag"]; + +_difPos = _endPos vectorDiff _startPos; _marker = createMarkerLocal [_name, _startPos]; _name setMarkerShapeLocal "RECTANGLE"; diff --git a/addons/maptools/functions/fnc_calculateMapScale.sqf b/addons/maptools/functions/fnc_calculateMapScale.sqf index 700e089a88..4723a4f5e1 100644 --- a/addons/maptools/functions/fnc_calculateMapScale.sqf +++ b/addons/maptools/functions/fnc_calculateMapScale.sqf @@ -12,6 +12,8 @@ */ #include "script_component.hpp" +private ["_screenOffset", "_pos"]; + _pos = ((finddisplay 12) displayctrl 51) ctrlMapScreenToWorld [0.5, 0.5]; _screenOffset = ((finddisplay 12) displayctrl 51) posWorldToScreen [(_pos select 0) + 100, (_pos select 1)]; diff --git a/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf b/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf index e3de77316a..44f6ed6203 100644 --- a/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf +++ b/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf @@ -15,6 +15,7 @@ PARAMS_1(_lineMarkers); { + private "_marker"; _marker = _x; //Add marker if we don't already have it if (({(_x select 0) == (_marker select 0)} count GVAR(drawing_lineMarkers)) == 0) then { diff --git a/addons/maptools/functions/fnc_handleKeyDown.sqf b/addons/maptools/functions/fnc_handleKeyDown.sqf index d2b3a060b8..d1f9e199c9 100644 --- a/addons/maptools/functions/fnc_handleKeyDown.sqf +++ b/addons/maptools/functions/fnc_handleKeyDown.sqf @@ -15,13 +15,10 @@ #include "script_component.hpp" -private ["_dir", "_params", "_control", "_button", "_screenPos", "_shiftKey", "_ctrlKey", "_handled", "_pos"]; +PARAMS_5(_display,_code,_shiftKey,_ctrlKey,_altKey); + +private ["_handled", "_relPos", "_diffVector", "_magDiffVector", "_lambdaLong", "_lambdaTrasAbs"]; -_display = _this select 0; -_code = _this select 1; -_shiftKey = _this select 2; -_ctrlKey = _this select 3; -_altKey = _this select 4; _handled = false; #define DIK_ESCAPE 0x01 diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf index 8db6b8b0f1..16cabe9719 100644 --- a/addons/maptools/functions/fnc_handleMouseButton.sqf +++ b/addons/maptools/functions/fnc_handleMouseButton.sqf @@ -13,10 +13,9 @@ #include "script_component.hpp" -private ["_dir", "_params", "_control", "_button", "_screenPos", "_shiftKey", "_ctrlKey", "_handled", "_pos"]; +private ["_control", "_button", "_screenPos", "_shiftKey", "_ctrlKey", "_handled", "_pos", "_altKey", "_gui", "_marker"]; -_dir = _this select 0; -_params = _this select 1; +PARAMS_2(_dir,_params); _control = _params select 0; _button = _params select 1; _screenPos = [_params select 2, _params select 3]; diff --git a/addons/maptools/functions/fnc_handleMouseMove.sqf b/addons/maptools/functions/fnc_handleMouseMove.sqf index 4111c8fad4..2148c5a162 100644 --- a/addons/maptools/functions/fnc_handleMouseMove.sqf +++ b/addons/maptools/functions/fnc_handleMouseMove.sqf @@ -51,6 +51,7 @@ if (GVAR(mapTool_isDragging)) exitWith { // Rotation if (GVAR(mapTool_isRotating)) exitWith { + private "_angle"; // Get new angle _angle = (180 + ((GVAR(mousePosition) select 0) - (GVAR(mapTool_startPos) select 0)) atan2 ((GVAR(mousePosition) select 1) - (GVAR(mapTool_startPos) select 1)) mod 360); GVAR(mapTool_angle) = GVAR(mapTool_startAngle) + _angle - GVAR(mapTool_startDragAngle); diff --git a/addons/maptools/functions/fnc_isInsideMapTool.sqf b/addons/maptools/functions/fnc_isInsideMapTool.sqf index 4dd66e2b9a..eeaf8f346a 100644 --- a/addons/maptools/functions/fnc_isInsideMapTool.sqf +++ b/addons/maptools/functions/fnc_isInsideMapTool.sqf @@ -16,6 +16,7 @@ #define DIST_TOP_TO_CENTER_PERC 0.65 #define DIST_LEFT_TO_CENTER_PERC 0.30 +private ["_textureWidth", "_relPos", "_dirVector", "_lambdaLong", "_lambdaTrasAbs", "_pos"]; if (GVAR(mapTool_Shown) == 0) exitWith {false}; _textureWidth = [TEXTURE_WIDTH_IN_M, TEXTURE_WIDTH_IN_M / 2] select (GVAR(mapTool_Shown) - 1); diff --git a/addons/maptools/functions/fnc_openMapGps.sqf b/addons/maptools/functions/fnc_openMapGps.sqf index c4e2436b3b..7d29d9e169 100644 --- a/addons/maptools/functions/fnc_openMapGps.sqf +++ b/addons/maptools/functions/fnc_openMapGps.sqf @@ -12,7 +12,10 @@ */ #include "script_component.hpp" -_shouldOpenGps = _this select 0; +PARAMS_1(_shouldOpenGps); + +private ["_isOpen"]; + _isOpen = !(isNull (uiNamespace getVariable [QGVAR(ui_mapGpsDisplay), displayNull])); if (_shouldOpenGps && {"ItemGPS" in assignedItems ACE_player} && {!_isOpen}) then { diff --git a/addons/maptools/functions/fnc_openMapGpsUpdate.sqf b/addons/maptools/functions/fnc_openMapGpsUpdate.sqf index ddc177f182..092f0720c2 100644 --- a/addons/maptools/functions/fnc_openMapGpsUpdate.sqf +++ b/addons/maptools/functions/fnc_openMapGpsUpdate.sqf @@ -3,6 +3,8 @@ #include "script_component.hpp" +private ["_mapGpsDisplay", "_ctrl"]; + if ((!("ItemGPS" in assigneditems ACE_player)) || {isNull (uiNamespace getVariable [QGVAR(ui_mapGpsDisplay), displayNull])}) exitWith { ("RscACE_MapGps" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; //close GPS RSC [(_this select 1)] call CBA_fnc_removePerFrameHandler; //remove frameHandler diff --git a/addons/maptools/functions/fnc_removeLineMarker.sqf b/addons/maptools/functions/fnc_removeLineMarker.sqf index 45c39611db..be82970524 100644 --- a/addons/maptools/functions/fnc_removeLineMarker.sqf +++ b/addons/maptools/functions/fnc_removeLineMarker.sqf @@ -11,7 +11,7 @@ #include "script_component.hpp" -_name = _this select 0; +PARAMS_1(_name); deleteMarkerLocal _name; { diff --git a/addons/maptools/functions/fnc_updateLineMarker.sqf b/addons/maptools/functions/fnc_updateLineMarker.sqf index cf80c1ac26..a745bfa123 100644 --- a/addons/maptools/functions/fnc_updateLineMarker.sqf +++ b/addons/maptools/functions/fnc_updateLineMarker.sqf @@ -13,10 +13,11 @@ */ #include "script_component.hpp" -_name = _this select 0; -_startPos = _this select 1; -_difPos = (_this select 2) vectorDiff _startPos ; -_color = _this select 3; +PARAMS_4(_name,_startPos,_endPos,_color); + +private ["_difPos", "_mag"]; + +_difPos = _endPos vectorDiff _startPos; _name setMarkerShapeLocal "RECTANGLE"; _name setMarkerAlphaLocal 1; diff --git a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf index 3a7b919b8b..fa6db8872a 100644 --- a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf +++ b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf @@ -18,6 +18,8 @@ PARAMS_1(_theMap); +private ["_rotatingTexture", "_textureWidth", "_scale", "_xPos", "_yPos"]; + if (!("ACE_MapTools" in items ACE_player)|| {GVAR(mapTool_Shown) == 0}) exitWith {}; _rotatingTexture = ""; diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index 5dd4578976..0c19581779 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -1,148 +1,148 @@  - - - - Map Tools - Herramientas de mapa - Outils de navigation - Narzędzia nawigacyjne - Kartenwerkzeug - Pomůcky k Mapě - Strumenti Cartografici - Ferramentas de Mapa - Térképészeti eszközök - Инструменты карты - - - The Map Tools allow you to measure distances and angles on the map. - Las herramientas de mapa permiten medir distancias y ángulos en el mapa. - Les outils de navigation permettent de mesurer des distances et des angles sur la carte. - Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. - Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen. - Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. - Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. - As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. - A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen. - Картографические инструменты позволяют измерять расстояния и углы на карте. - - - Map Tools - Herramientas de mapa - Outils de navigation - Narzędzia nawigacyjne - Kartenwerkzeug - Pomůcky k Mapě - Strumenti Cartografici - Ferramentas de Mapa - Térképészeti eszközök - Инструменты карты - - - Hide Map Tool - Verstecke Kartenwerkzeug - Ocultar herr. de mapa - Ranger les outils - Nascondi Strumenti Cartografici - Ocultar Ferramenta de Mapa - Térképészeti eszközök elrejtése - Ukryj narzędzia nawigacyjne - Schovat pomůcku k mapě - Скрыть инструменты - - - Show Normal Map Tool - Zeige Kartenwerkzeug (normal) - Mostrar herr. de mapa normal - Montrer outils normaux - Visualizza Strumenti Cartografici standard - Mostrar Ferramenta de Mapa Padrão - Térképészeti eszköz megjelenítése (normál méret) - Pokaż normalne narzędzia nawigacyjne - Zobrazit normální pomůcku k mapě - Показать инструменты (средн. размер) - - - Show Small Map Tool - Zeige Kartenwerkzeug (klein) - Mostrar herr. de mapa pequeñas - Montrer petits outils - Visualizza Strumenti Cartografici piccoli - Mostrar Ferramenta de Mapa Pequena - Térképészeti eszköz megjelenítése (kicsinyített) - Pokaż pomniejszone narzędzia nawigacyjne - Zobrazit malou pomůcku k mapě - Показать инструменты (малый размер) - - - Align Map Tool to North - Kartenwerkzeug nach Norden ausrichten - Alinear herr. de mapa al norte - Aligner au nord - Allinea gli Strumenti Cartografici con il Nord - Alinhar Ferramenta de Mapa com o Norte - Térképészeti eszköz Északhoz állítása - Wyrównaj linijkę do północy - Srovnat pomůcku k mapě na sever - Выровнять инструменты на север - - - Align Map Tool to Compass - Kartenwerkzeug am Kompass ausrichten - Alinear herr. de mapa a la brújula - Aligner sur la boussole - Allinea gli Strumenti Cartografici con la bussola - Alinhar Ferramenta de Mapa com a Bússola - Térképészeti eszköz iránytűhöz állítása - Wyrównaj linijkę do kompasu - Srovnat pomůcku k mapě ke kompasu - Выровнять инструменты по компасу - - - Show GPS on Map - Zeige GPS auf der Karte - Mostrar el GPS sobre el mapa - Ranger le GPS - Visualizza il GPS sulla mappa - Mostrar GPS no Mapa - GPS megjelnítése a térképen - Pokaż GPS na mapie - Zobrazit GPS na mapě - Показать GPS на карте - - - Hide GPS on Map - Verstecke GPS auf der Karte - Ocultar el GPS del mapa - Montrer le GPS - Nascondi il GPS sulla mappa - Ocultar GPS no Mapa - GPS elrejtése térképről - Ukryj GPS na mapie - Schovat GPS na mapě - Скрыть GPS на карте - - - Copy Map - Karte kopieren - Copiar mapa - Скопировать карту - Kopiuj oznaczenia mapy - Copier la carte - Zkopírovat mapu - Copiare Carta - Térkép másolása - Copiar Mapa - - - Direction: %1° - Drehung: %1° - Direction: %1° - Směr: %1° - Kierunek: %1° - Dirección: %1° - Irány: %1 - Направление:%1 - - - \ No newline at end of file + + + Map Tools + Herramientas de mapa + Outils de navigation + Narzędzia nawigacyjne + Kartenwerkzeug + Pomůcky k mapě + Strumenti Cartografici + Ferramentas de Mapa + Térképészeti eszközök + Инструменты карты + + + The Map Tools allow you to measure distances and angles on the map. + Las herramientas de mapa permiten medir distancias y ángulos en el mapa. + Les outils de navigation permettent de mesurer des distances et des angles sur la carte. + Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. + Das Kartenwerkzeug ermöglicht es dir, Distanzen und Winkel zu messen. + Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. + Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. + As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. + A térképészeti eszközökkel távolságokat és szögeket tudsz mérni a térképen. + Картографические инструменты позволяют измерять расстояния и углы на карте. + + + Map Tools + Herramientas de mapa + Outils de navigation + Narzędzia nawigacyjne + Kartenwerkzeug + Pomůcky k mapě + Strumenti Cartografici + Ferramentas de Mapa + Térképészeti eszközök + Инструменты карты + + + Hide Map Tool + Verstecke Kartenwerkzeug + Ocultar herr. de mapa + Ranger les outils + Nascondi Strumenti Cartografici + Ocultar Ferramenta de Mapa + Térképészeti eszközök elrejtése + Ukryj narzędzia nawigacyjne + Schovat pomůcku k mapě + Скрыть инструменты + + + Show Normal Map Tool + Zeige Kartenwerkzeug (normal) + Mostrar herr. de mapa normal + Montrer outils normaux + Visualizza Strumenti Cartografici standard + Mostrar Ferramenta de Mapa Padrão + Térképészeti eszköz megjelenítése (normál méret) + Pokaż normalne narzędzia nawigacyjne + Zobrazit normální pomůcku k mapě + Показать инструменты (средн. размер) + + + Show Small Map Tool + Zeige Kartenwerkzeug (klein) + Mostrar herr. de mapa pequeñas + Montrer petits outils + Visualizza Strumenti Cartografici piccoli + Mostrar Ferramenta de Mapa Pequena + Térképészeti eszköz megjelenítése (kicsinyített) + Pokaż pomniejszone narzędzia nawigacyjne + Zobrazit malou pomůcku k mapě + Показать инструменты (малый размер) + + + Align Map Tool to North + Kartenwerkzeug nach Norden ausrichten + Alinear herr. de mapa al norte + Aligner au nord + Allinea gli Strumenti Cartografici con il Nord + Alinhar Ferramenta de Mapa com o Norte + Térképészeti eszköz Északhoz állítása + Wyrównaj linijkę do północy + Srovnat pomůcku k mapě na sever + Выровнять инструменты на север + + + Align Map Tool to Compass + Kartenwerkzeug am Kompass ausrichten + Alinear herr. de mapa a la brújula + Aligner sur la boussole + Allinea gli Strumenti Cartografici con la bussola + Alinhar Ferramenta de Mapa com a Bússola + Térképészeti eszköz iránytűhöz állítása + Wyrównaj linijkę do kompasu + Srovnat pomůcku k mapě ke kompasu + Выровнять инструменты по компасу + + + Show GPS on Map + Zeige GPS auf der Karte + Mostrar el GPS sobre el mapa + Ranger le GPS + Visualizza il GPS sulla mappa + Mostrar GPS no Mapa + GPS megjelenítése a térképen + Pokaż GPS na mapie + Zobrazit GPS na mapě + Показать GPS на карте + + + Hide GPS on Map + Verstecke GPS auf der Karte + Ocultar el GPS del mapa + Montrer le GPS + Nascondi il GPS sulla mappa + Ocultar GPS no Mapa + GPS elrejtése a térképről + Ukryj GPS na mapie + Schovat GPS na mapě + Скрыть GPS на карте + + + Copy Map + Karte kopieren + Copiar mapa + Скопировать карту + Kopiuj oznaczenia mapy + Copier la carte + Zkopírovat mapu + Copiare Carta + Térkép másolása + Copiar Mapa + + + Direction: %1° + Drehung: %1° + Direction: %1° + Směr: %1° + Kierunek: %1° + Dirección: %1° + Irány: %1 + Направление: %1° + Direzione : %1° + + + diff --git a/addons/markers/CfgEventHandlers.hpp b/addons/markers/CfgEventHandlers.hpp index 0cd959a047..e75956f440 100644 --- a/addons/markers/CfgEventHandlers.hpp +++ b/addons/markers/CfgEventHandlers.hpp @@ -1,4 +1,3 @@ - class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); diff --git a/addons/markers/InsertMarker.hpp b/addons/markers/InsertMarker.hpp index 3cf32943c4..82712fa8f1 100644 --- a/addons/markers/InsertMarker.hpp +++ b/addons/markers/InsertMarker.hpp @@ -1,4 +1,3 @@ - class RscPicture; class RscText; class RscStructuredText; @@ -13,91 +12,34 @@ class RscXSliderH; class RscDisplayInsertMarker { onLoad = QUOTE(_this call DFUNC(initInsertMarker);); onUnload = QUOTE(_this call DFUNC(placeMarker);); - idd = 54; + // idd = 54; movingEnable = 1; class controlsBackground { - class RscText_1000: RscText { - idc = 1000; - /*x = "0 * GUI_GRID_INSERTMARKER_W + GUI_GRID_INSERTMARKER_X"; - y = "0 * GUI_GRID_INSERTMARKER_H + GUI_GRID_INSERTMARKER_Y"; - w = "8 * GUI_GRID_INSERTMARKER_W"; - h = "2.5 * GUI_GRID_INSERTMARKER_H"; - colorBackground[] = {0,0,0,0.5};*/ - }; - class Description: RscStructuredText { - colorBackground[] = {0,0,0,0.7}; - idc = 1100; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "9.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; + // class RscText_1000: RscText {idc = 1000;}; }; class controls { - //delete ButtonOK; - class ButtonMenuOK: RscButtonMenuOK { - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "15.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "8.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - // size = "0.85 * ( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - // sizeEx = "0.85 * ( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; + // class ButtonMenuOK: RscButtonMenuOK {idc = 1;}; + // class ButtonMenuCancel: RscButtonMenuCancel {idc = 2;}; + // class Title: RscText {idc = 1001;}; + // class Description: RscStructuredText {idc = 1100;}; + // class DescriptionChannel: RscStructuredText {idc = 1101;}; + // class MarkerPicture: RscPicture {idc = 102;}; + // class MarkerText: RscEdit {idc = 101;}; + // class MarkerChannel: RscCombo {idc = 103;}; + + class MarkerShape: RscCombo { + idc = 1210; }; - class ButtonMenuCancel: RscButtonMenuCancel { - x = "23 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "15.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "1.1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - - text = "X"; - colorBackground[] = {0.75,0,0,0.5}; - colorBackgroundFocused[] = {0.75,0,0,0.5}; - colorBackground2[] = {1,0,0,0.5}; + class MarkerColor: RscCombo { + idc = 1211; }; - /*class ButtonMenuInfo: RscButtonMenu { - idc = 2400; - text = "$STR_A3_RscDisplayInsertMarker_ButtonMenuInfo"; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "13.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - };*/ - delete ButtonMenuInfo; - class Title: RscText { - moving = 1; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; - idc = 1001; - text = "$STR_A3_RscDisplayInsertMarker_Title"; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "8.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class MarkerAngle: RscXSliderH { + idc = 1220; }; - delete Description; - /*class Info: RscStructuredText { - colorBackground[] = {0,0,0,0.7}; - idc = 1101; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "11.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - };*/ - delete Info; - class Picture: RscPicture { - idc = 102; - x = 0.259984; - y = 0.4; - w = 0.05; - h = 0.0666667; - }; - class Text: RscEdit { - idc = 101; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "10.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class MarkerAngleText: RscText { + idc = 1221; }; + /*class SizeX: RscEdit { idc = 1200; text = "10"; @@ -114,34 +56,5 @@ class RscDisplayInsertMarker { w = "5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; };*/ - class MarkerShape: RscCombo { - idc = 1210; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "11.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; - class MarkerColor: RscCombo { - idc = 1211; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "12.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; - class MarkerAngle: RscXSliderH { - idc = 1220; - text = "10"; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "13.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; - class MarkerAngleText: RscText { - idc = 1221; - x = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; - y = "14.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; - w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; }; }; diff --git a/addons/markers/XEH_postInit.sqf b/addons/markers/XEH_postInit.sqf index eea149f294..ecb4d579fe 100644 --- a/addons/markers/XEH_postInit.sqf +++ b/addons/markers/XEH_postInit.sqf @@ -11,6 +11,12 @@ if (isMultiplayer && {!isServer} && {hasInterface}) then { private "_logic"; _logic = createGroup sideLogic createUnit ["Logic", [0,0,0], [], 0, "NONE"]; - - [QGVAR(sendMarkersJIP), _logic] call EFUNC(common,serverEvent); + [QGVAR(sendMarkersJIP), [_logic]] call EFUNC(common,serverEvent); }; + + +GVAR(mapDisplaysWithDrawEHs) = []; +GVAR(currentMarkerPosition) = []; +GVAR(currentMarkerAngle) = 0; +GVAR(currentMarkerColorConfigName) = ""; +GVAR(currentMarkerConfigName) = ""; \ No newline at end of file diff --git a/addons/markers/XEH_preInit.sqf b/addons/markers/XEH_preInit.sqf index 8e07056da4..b2b9ed5c00 100644 --- a/addons/markers/XEH_preInit.sqf +++ b/addons/markers/XEH_preInit.sqf @@ -3,6 +3,7 @@ ADDON = false; PREP(initInsertMarker); +PREP(mapDrawEH); PREP(onLBSelChangedColor); PREP(onLBSelChangedShape); PREP(onSliderPosChangedAngle); @@ -11,28 +12,20 @@ PREP(sendMarkersJIP); PREP(setMarkerJIP); PREP(setMarkerNetwork); +private ["_config", "_marker", "_a", "_scope", "_icon", "_rgba", "_name"]; + // init marker types if (isNil QGVAR(MarkersCache)) then { _config = configfile >> "CfgMarkers"; - _index = 0; - GVAR(MarkersCache) = []; for "_a" from 0 to (count _config - 1) do { _marker = _config select _a; - _scope = getNumber (_marker >> "scope"); - _name = getText (_marker >> "name"); - _icon = getText (_marker >> "icon"); - if (_scope == 2) then { - _shape lbAdd _name; - _shape lbSetValue [_index, _a]; - _shape lbSetPicture [_index, _icon]; - + _name = getText (_marker >> "name"); + _icon = getText (_marker >> "icon"); GVAR(MarkersCache) pushBack [_name, _a, _icon]; - - _index = _index + 1; }; }; }; @@ -40,39 +33,27 @@ if (isNil QGVAR(MarkersCache)) then { // init marker colors if (isNil QGVAR(MarkerColorsCache)) then { _config = configfile >> "CfgMarkerColors"; - _index = 0; - GVAR(MarkerColorsCache) = []; for "_a" from 0 to (count _config - 1) do { _marker = _config select _a; - _scope = getNumber (_marker >> "scope"); - _name = getText (_marker >> "name"); - if (_scope == 2) then { - _color lbAdd _name; - _color lbSetValue [_index, _a]; - + _name = getText (_marker >> "name"); _rgba = getArray (_marker >> "color"); - { if (typeName _x != "SCALAR") then { _rgba set [_forEachIndex, call compile _x]; }; } forEach _rgba; - _icon = format ["#(argb,8,8,3)color(%1,%2,%3,%4)", _rgba select 0, _rgba select 1, _rgba select 2, _rgba select 3]; - _color lbSetPicture [_index, _icon]; - GVAR(MarkerColorsCache) pushBack [_name, _a, _icon]; - - _index = _index + 1; }; }; }; +//Server Sync JIP markers: [QGVAR(sendMarkersJIP), FUNC(sendMarkersJIP)] call EFUNC(common,addEventHandler); ADDON = true; diff --git a/addons/markers/functions/fnc_initInsertMarker.sqf b/addons/markers/functions/fnc_initInsertMarker.sqf index e5328a7470..6c5160c031 100644 --- a/addons/markers/functions/fnc_initInsertMarker.sqf +++ b/addons/markers/functions/fnc_initInsertMarker.sqf @@ -1,87 +1,86 @@ -// stuff taken from bohemia, edited by commy2 +/* + * Author: BIS, commy2 + * Sets up the marker placement + * Run instead of \a3\ui_f\scripts\GUI\RscDisplayInsertMarker.sqf + * + * Arguments: + * 0: RscDisplayInsertMarker + * + * Return Value: + * Nothing + * + * Example: + * [onLoad] call ace_markers_fnc_initInsertMarker; + * + * Public: No + */ #include "script_component.hpp" #define BORDER 0.005 [{ + private ["_display", "_text", "_picture", "_channel", "_buttonOK", "_buttonCancel", "_description", "_title", "_descriptionChannel", "_sizeX", "_sizeY", "_aceShapeLB", "_aceColorLB", "_aceAngleSlider", "_aceAngleSliderText", "_mapIDD", "_pos", "_posX", "_posY", "_posW", "_posH", "_offsetButtons", "_buttonOk", "_curSelShape", "_curSelColor", "_curSelAngle"]; + disableserialization; - _display = _this select 0; + PARAMS_1(_display); - //Prevent Captive Players from placing markers - /*if (ACE_player getVariable ["ACE_isCaptive", false]) exitWith { + //Can't place markers when can't interact + if (!([ACE_player, objNull, ["notOnMap", "isNotInside"]] call EFUNC(common,canInteractWith))) exitWith { _display closeDisplay 2; //emulate "Cancel" button - };*/ - - // prevent vanilla key input - _display displayAddEventHandler ["KeyDown", {(_this select 1) in [200, 208]}]; + }; + //BIS Controls: _text = _display displayctrl 101; _picture = _display displayctrl 102; + _channel = _display displayctrl 103; _buttonOK = _display displayctrl 1; _buttonCancel = _display displayctrl 2; _description = _display displayctrl 1100; _title = _display displayctrl 1001; - _sizeX = _display displayctrl 1200; - _sizeY = _display displayctrl 1201; - _shape = _display displayctrl 1210; - _color = _display displayctrl 1211; - _angle = _display displayctrl 1220; - _angleText = _display displayctrl 1221; + _descriptionChannel = _display displayctrl 1101; + //ACE Controls: + // _sizeX = _display displayctrl 1200; + // _sizeY = _display displayctrl 1201; + _aceShapeLB = _display displayctrl 1210; + _aceColorLB = _display displayctrl 1211; + _aceAngleSlider = _display displayctrl 1220; + _aceAngleSliderText = _display displayctrl 1221; + + + //Install MapDrawEH on current map + _mapIDD = -1; + { + if (!isNull (findDisplay _x)) exitWith {_mapIDD = _x}; + } forEach [12, 37, 52, 53, 160]; + if (_mapIDD == -1) exitWith {ERROR("No Map?");}; + if (!(_mapIDD in GVAR(mapDisplaysWithDrawEHs))) then { + GVAR(mapDisplaysWithDrawEHs) pushBack _mapIDD; + ((finddisplay _mapIDD) displayctrl 51) ctrlAddEventHandler ["Draw", {_this call FUNC(mapDrawEH)}]; + }; + + //Calculate center position of the marker placement ctrl + _pos = ctrlPosition _picture; + _pos = [(_pos select 0) + (_pos select 2) / 2, (_pos select 1) + (_pos select 3) / 2]; + GVAR(currentMarkerPosition) = ((findDisplay _mapIDD) displayCtrl 51) ctrlMapScreenToWorld _pos; + + //Hide the bis picture: + _picture ctrlShow false; + + // prevent vanilla key input + _display displayAddEventHandler ["KeyDown", {(_this select 1) in [200, 208]}]; + + + //Focus on the text input ctrlSetFocus _text; - //Change ok button's text based on current channel - [{ - EXPLODE_2_PVT(_this,_params,_pfhId); - EXPLODE_1_PVT(_params,_buttonOK); - - if (isNull _buttonOK) exitWith { - [_pfhId] call CBA_fnc_removePerFrameHandler; - }; - - _channel = ""; - _textColor = [1,1,1,1]; - switch (call EFUNC(common,currentChannel)) do { - case ("global"): { - _channel = localize "str_channel_global"; - _textColor = [(216/255),(216/255),(216/255),1]; - }; - case ("side"): { - _channel = localize "str_channel_side"; - _textColor = [(70/255),(211/255),(252/255),1]; - }; - case ("group"): { - _channel = localize "str_channel_group"; - _textColor = [(181/255),(248/255),(98/255),1]; - }; - case ("vehicle"): { - _channel = localize "str_channel_vehicle"; - _textColor = [(255/255),(208/255),(0/255),1]; - }; - case ("direct"): { - _channel = localize "str_channel_direct"; - _textColor = [(255/255),(255/255),(255/255),1]; - }; - case ("command"): { - _channel = localize "str_channel_command"; - _textColor = [(255/255),(255/255),(70/255),1]; - }; - }; - - //If localization not found, then don't touch anything (default is RscButtonMenuOK's localized text) - if (_channel != "") then { - _buttonOK ctrlSetTextColor _textColor; - _buttonOK ctrlSetText format [localize "STR_ACE_Markers_PlaceIn", _channel]; - }; - }, 0, [_buttonOK]] call CBA_fnc_addPerFrameHandler; - //--- Background _pos = ctrlposition _text; _posX = (_pos select 0) + 0.01; _posY = _pos select 1; _posW = _pos select 2; _posH = _pos select 3; - _posY = _posY min ((safeZoneH + safeZoneY) - (6 * _posH + 8 * BORDER)); //prevent buttons being placed below bottom edge of screen + _posY = _posY min ((safeZoneH + safeZoneY) - (8 * _posH + 8 * BORDER)); //prevent buttons being placed below bottom edge of screen _pos set [0,_posX]; _pos set [1,_posY]; _text ctrlsetposition _pos; @@ -96,46 +95,67 @@ //--- Description _pos set [1,_posY - 1*_posH]; _pos set [3,6*_posH + 6 * BORDER]; + _description ctrlenable false; _description ctrlsetposition _pos; - _description ctrlsetstructuredtext parsetext format ["%1","Description:"]; //--- ToDo: Localze + _description ctrlsetstructuredtext parsetext format ["%1", (localize "str_lib_label_description")]; _description ctrlcommit 0; - _activeColor = (["IGUI","WARNING_RGB"] call bis_fnc_displaycolorget) call bis_fnc_colorRGBtoHTML; - //--- Shape _pos set [1,_posY + 1 * _posH + 2 * BORDER]; _pos set [2,_posW]; _pos set [3,_posH]; - _shape ctrlsetposition _pos; - _shape ctrlcommit 0; + _aceShapeLB ctrlsetposition _pos; + _aceShapeLB ctrlcommit 0; //--- Color _pos set [1,_posY + 2 * _posH + 3 * BORDER]; _pos set [2,_posW]; - _color ctrlsetposition _pos; - _color ctrlcommit 0; + _aceColorLB ctrlsetposition _pos; + _aceColorLB ctrlcommit 0; //--- Angle _pos set [1,_posY + 3 * _posH + 4 * BORDER]; _pos set [2,_posW]; - _angle ctrlsetposition _pos; - _angle ctrlcommit 0; + _aceAngleSlider ctrlsetposition _pos; + _aceAngleSlider ctrlcommit 0; //--- Angle Text _pos set [1,_posY + 4 * _posH + 5 * BORDER]; _pos set [2,_posW]; - _angleText ctrlsetposition _pos; - _angleText ctrlcommit 0; + _aceAngleSliderText ctrlsetposition _pos; + _aceAngleSliderText ctrlcommit 0; + + _offsetButtons = 0; + if (isMultiplayer) then { + _pos set [1,_posY + 5 * _posH + 7 * BORDER]; + _pos set [3,_posH]; + _descriptionChannel ctrlsetstructuredtext parsetext format ["%1", (localize "str_a3_cfgvehicles_modulerespawnposition_f_arguments_marker_0") + ":"]; + _descriptionChannel ctrlsetposition _pos; + _descriptionChannel ctrlcommit 0; + + _pos set [1,_posY + 6 * _posH + 7 * BORDER]; + _pos set [3,_posH]; + _channel ctrlsetposition _pos; + _channel ctrlcommit 0; + _offsetButtons = 7 * _posH + 8 * BORDER; + } else { + _descriptionChannel ctrlshow false; + _channel ctrlshow false; + _offsetButtons = 5 * _posH + 7 * BORDER; + }; //--- ButtonOK - _pos set [1,_posY + 5 * _posH + 7 * BORDER]; - _pos set [2,_posW * (8.9/10) - BORDER]; + _pos set [1,_posY + _offsetButtons]; + _pos set [2,_posW / 2 - BORDER]; + _pos set [3,_posH]; _buttonOk ctrlsetposition _pos; _buttonOk ctrlcommit 0; //--- ButtonCancel - _pos set [0,_posX + _posW * (8.9 / 10)]; - _pos set [2,_posW * (1.1 / 10)]; + _pos set [0,_posX + _posW / 2]; + _pos set [1,_posY + _offsetButtons]; + _pos set [2,_posW / 2]; + _pos set [3,_posH]; _buttonCancel ctrlsetposition _pos; _buttonCancel ctrlcommit 0; @@ -151,56 +171,41 @@ // init marker shape lb + lbClear _aceShapeLB; { - _shape lbAdd (_x select 0); - _shape lbSetValue [_forEachIndex, _x select 1]; - _shape lbSetPicture [_forEachIndex, _x select 2]; + _aceShapeLB lbAdd (_x select 0); + _aceShapeLB lbSetValue [_forEachIndex, _x select 1]; + _aceShapeLB lbSetPicture [_forEachIndex, _x select 2]; } forEach GVAR(MarkersCache); - - _shape ctrlAddEventHandler ["LBSelChanged", {_this call FUNC(onLBSelChangedShape)}]; - _curSelShape = GETGVAR(curSelMarkerShape,0); - _shape lbSetCurSel _curSelShape; - _data = _shape lbValue _curSelShape; - _config = (configfile >> "CfgMarkers") select _data; - _icon = getText (_config >> "icon"); - _picture ctrlSetText _icon; + _aceShapeLB lbSetCurSel _curSelShape; + + //Update now and add eventHandler: + [_aceShapeLB, _curSelShape] call FUNC(onLBSelChangedShape); + _aceShapeLB ctrlAddEventHandler ["LBSelChanged", {_this call FUNC(onLBSelChangedShape)}]; // init marker color lb + lbClear _aceColorLB; { - _color lbAdd (_x select 0); - _color lbSetValue [_forEachIndex, _x select 1]; - _color lbSetPicture [_forEachIndex, _x select 2]; + _aceColorLB lbAdd (_x select 0); + _aceColorLB lbSetValue [_forEachIndex, _x select 1]; + _aceColorLB lbSetPicture [_forEachIndex, _x select 2]; } forEach GVAR(MarkerColorsCache); - - _color ctrlAddEventHandler ["LBSelChanged", {_this call FUNC(onLBSelChangedColor)}]; - _curSelColor = GETGVAR(curSelMarkerColor,0); - _color lbSetCurSel _curSelColor; - _data = _color lbValue _curSelColor; - _config = (configfile >> "CfgMarkerColors") select _data; - _rgba = getArray (_config >> "color"); - { - if (typeName _x != "SCALAR") then { - _rgba set [_forEachIndex, call compile _x]; - }; - } forEach _rgba; - _picture ctrlSetTextColor _rgba; + _aceColorLB lbSetCurSel _curSelColor; + + //Update now and add eventHandler: + [_aceColorLB, _curSelColor] call FUNC(onLBSelChangedColor); + _aceColorLB ctrlAddEventHandler ["LBSelChanged", {_this call FUNC(onLBSelChangedColor)}]; // init marker angle slider - _angle sliderSetRange [-180, 180]; - _angle ctrlAddEventHandler ["SliderPosChanged", {_this call FUNC(onSliderPosChangedAngle)}]; - - _curSelAngle = GETGVAR(curSelMarkerAngle,0); - _angle sliderSetPosition _curSelAngle; - - _curSelAngle = round _curSelAngle; - if (_curSelAngle < 0) then { - _curSelAngle = _curSelAngle + 360; - }; - - _angleText ctrlSetText format [localize "STR_ACE_Markers_MarkerDirection", _curSelAngle]; + _aceAngleSlider sliderSetRange [-180, 180]; + _curSelAngle = GETGVAR(currentMarkerAngle,0); + _aceAngleSlider sliderSetPosition _curSelAngle; + //Update now and add eventHandler: + [_aceAngleSlider, _curSelAngle] call FUNC(onSliderPosChangedAngle); + _aceAngleSlider ctrlAddEventHandler ["SliderPosChanged", {_this call FUNC(onSliderPosChangedAngle)}]; }, _this] call EFUNC(common,execNextFrame); diff --git a/addons/markers/functions/fnc_mapDrawEH.sqf b/addons/markers/functions/fnc_mapDrawEH.sqf new file mode 100644 index 0000000000..2e23dacec8 --- /dev/null +++ b/addons/markers/functions/fnc_mapDrawEH.sqf @@ -0,0 +1,45 @@ +/* + * Author: PabstMirror + * Draws the current temp marker. Allows rotation. + * + * Arguments: + * 0: TheMap + * + * Return Value: + * Nothing + * + * Example: + * [theMapControl] call ace_markers_fnc_mapDrawEH; + * + * Public: No + */ +#include "script_component.hpp" + +private ["_theMap", "_sizeX", "_sizeY", "_textureConfig", "_texture", "_markerSize", "_markerShadow", "_colorConfig", "_drawColor"]; + +PARAMS_1(_theMap); + +//Only show if marker place is open: +if (isNull (findDisplay 54)) exitWith {}; +//Error checking: +if ((GVAR(currentMarkerConfigName) == "") || {GVAR(currentMarkerColorConfigName) == ""} || {GVAR(currentMarkerPosition) isEqualTo []}) exitWith {ERROR("Bad Data");}; + +_sizeX = 1; +_sizeY = 1; + +_textureConfig = configFile >> "CfgMarkers" >> GVAR(currentMarkerConfigName); +_texture = getText (_textureConfig >> "icon"); +_markerSize = getNumber (_textureConfig >> "size"); +_markerShadow = getNumber (_textureConfig >> "shadow"); +_colorConfig = (configFile >> "CfgMarkerColors" >> GVAR(currentMarkerColorConfigName)); +_drawColor = getArray (_colorConfig >> "color"); + +//Convert possible code into numbers +{ + if (typeName _x == "STRING") then { + _drawColor set [_forEachIndex, (call compile _x)]; + }; +} forEach _drawColor; +_drawColor set [3, ((_drawColor select 3) * 0.875)]; //Arma adds a slight transparency + +_theMap drawIcon [_texture, _drawColor, GVAR(currentMarkerPosition), (_sizeX * _markerSize), (_sizeY * _markerSize), GVAR(currentMarkerAngle), "", _markerShadow]; diff --git a/addons/markers/functions/fnc_onLBSelChangedColor.sqf b/addons/markers/functions/fnc_onLBSelChangedColor.sqf index a79495d442..e089569761 100644 --- a/addons/markers/functions/fnc_onLBSelChangedColor.sqf +++ b/addons/markers/functions/fnc_onLBSelChangedColor.sqf @@ -1,23 +1,28 @@ -// by commy2 +/* + * Author: commy2 + * When the color list box is changed. + * + * Arguments: + * 0: Color ListBox (idc 1211) + * 1: Selected Index + * + * Return Value: + * Nothing + * + * Example: + * [ColorLB, 5] call ace_markers_fnc_onLBSelChangedColor; + * + * Public: No + */ #include "script_component.hpp" -private ["_ctrl", "_data", "_config", "_color"]; +private ["_data", "_config"]; -_ctrl = _this select 0; -_data = _ctrl lbValue (_this select 1); +PARAMS_2(_ctrl,_index); +_data = _ctrl lbValue _index; -GVAR(curSelMarkerColor) = _this select 1; +GVAR(curSelMarkerColor) = _index; _config = (configfile >> "CfgMarkerColors") select _data; -_color = getArray (_config >> "color"); - -{ - if (typeName _x != "SCALAR") then { - _color set [_forEachIndex, call compile _x]; - }; -} forEach _color; - -((ctrlParent _ctrl) displayCtrl 102) ctrlSetTextColor _color; - GVAR(currentMarkerColorConfigName) = (configName _config); diff --git a/addons/markers/functions/fnc_onLBSelChangedShape.sqf b/addons/markers/functions/fnc_onLBSelChangedShape.sqf index 57caba8680..ff067a467b 100644 --- a/addons/markers/functions/fnc_onLBSelChangedShape.sqf +++ b/addons/markers/functions/fnc_onLBSelChangedShape.sqf @@ -1,17 +1,28 @@ -// by commy2 +/* + * Author: commy2 + * When the shape list box is changed. + * + * Arguments: + * 0: Shape ListBox (idc 1210) + * 1: Selected Index + * + * Return Value: + * Nothing + * + * Example: + * [ColorLB, 5] call ace_markers_fnc_onLBSelChangedShape; + * + * Public: No + */ #include "script_component.hpp" -private ["_ctrl", "_data", "_config", "_icon"]; +private ["_data", "_config"]; -_ctrl = _this select 0; -_data = _ctrl lbValue (_this select 1); +PARAMS_2(_ctrl,_index); +_data = _ctrl lbValue _index; -GVAR(curSelMarkerShape) = _this select 1; +GVAR(curSelMarkerShape) = _index; _config = (configfile >> "CfgMarkers") select _data; -_icon = getText (_config >> "icon"); - -((ctrlParent _ctrl) displayCtrl 102) ctrlSetText _icon; - GVAR(currentMarkerConfigName) = (configName _config); diff --git a/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf b/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf index 354fb909e1..747c0d4bbb 100644 --- a/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf +++ b/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf @@ -1,12 +1,24 @@ -// by commy2 +/* + * Author: commy2 + * Angle Slider Pos changed + * + * Arguments: + * 0: Slider (idc 1210) + * 1: Slider Data (angle: -180..180) + * + * Return Value: + * Nothing + * + * Example: + * [Slider, 2] call ace_markers_fnc_onSliderPosChangedAngle; + * + * Public: No + */ #include "script_component.hpp" -private ["_ctrl", "_data", "_direction"]; +private ["_direction"]; -_ctrl = _this select 0; -_data = _this select 1; - -GVAR(curSelMarkerAngle) = _data; +PARAMS_2(_ctrl,_data); _direction = round _data; if (_direction < 0) then { diff --git a/addons/markers/functions/fnc_placeMarker.sqf b/addons/markers/functions/fnc_placeMarker.sqf index 124e797e31..fd584c1c99 100644 --- a/addons/markers/functions/fnc_placeMarker.sqf +++ b/addons/markers/functions/fnc_placeMarker.sqf @@ -1,46 +1,36 @@ -// by commy2 +/* + * Author: commy2 + * MarkerPlacement closed + * + * Arguments: + * 0: RscDisplayInsertMarker + * 1: CloseNumber (1 = ButtonOk) + * + * Return Value: + * Nothing + * + * Example: + * [onUnloadEvent] call ace_markers_fnc_placeMarker; + * + * Public: No + */ #include "script_component.hpp" -if (_this select 1 == 1) then { - disableserialization; - _display = _this select 0; +disableserialization; +PARAMS_2(_display,_closeNum); - _pos = ctrlPosition (_display displayCtrl 102); - _pos = [ - (_pos select 0) + (_pos select 2) / 2, - (_pos select 1) + (_pos select 3) / 2 - ]; - - switch (true) do { - case (!isNull findDisplay 12): { - _pos = (findDisplay 12 displayCtrl 51) ctrlMapScreenToWorld _pos; - }; - case (!isNull findDisplay 37): { - _pos = (findDisplay 37 displayCtrl 51) ctrlMapScreenToWorld _pos; - }; - case (!isNull findDisplay 52): { - _pos = (findDisplay 52 displayCtrl 51) ctrlMapScreenToWorld _pos; - }; - case (!isNull findDisplay 53): { - _pos = (findDisplay 53 displayCtrl 51) ctrlMapScreenToWorld _pos; - }; - }; +if (_closeNum == 1) then { // set and send marker data the next frame. the actual marker isn't created yet - [ - { - - [QGVAR(setMarkerNetwork), [ - allMapMarkers select (count allMapMarkers - 1), [ - GETGVAR(currentMarkerConfigName,""), - GETGVAR(currentMarkerColorConfigName,""), - _this, - GETGVAR(currentMarkerAngle,0) - ] - ]] call EFUNC(common,globalEvent); - - }, - _pos - ] call EFUNC(common,execNextFrame); + [{ + [QGVAR(setMarkerNetwork), [ + allMapMarkers select (count allMapMarkers - 1), [ + GETGVAR(currentMarkerConfigName,""), + GETGVAR(currentMarkerColorConfigName,""), + GETGVAR(currentMarkerPosition,[]), + GETGVAR(currentMarkerAngle,0) + ] + ]] call EFUNC(common,globalEvent); + }, []] call EFUNC(common,execNextFrame); }; diff --git a/addons/markers/functions/fnc_sendMarkersJIP.sqf b/addons/markers/functions/fnc_sendMarkersJIP.sqf index 9915820d72..99eea2f2d9 100644 --- a/addons/markers/functions/fnc_sendMarkersJIP.sqf +++ b/addons/markers/functions/fnc_sendMarkersJIP.sqf @@ -1,13 +1,25 @@ -// by commy2 +/* + * Author: commy2 + * Server: Recives a dummy logic, sends marker data back to the owner. + * + * Arguments: + * 0: Logic + * + * Return Value: + * Nothing + * + * Example: + * [onUnloadEvent] call ace_markers_fnc_sendMarkerJIP; + * + * Public: No + */ #include "script_component.hpp" -private "_logic"; +PARAMS_1(_logic); -_logic = _this; - -[QGVAR(setMarkerJIP), _logic, [ - GETGVAR(allMapMarkers,[]), - GETGVAR(allMapMarkersProperties,[]), - _logic - ] +[QGVAR(setMarkerJIP), [_logic], [ +GETGVAR(allMapMarkers,[]), +GETGVAR(allMapMarkersProperties,[]), +_logic +] ] call EFUNC(common,targetEvent); diff --git a/addons/markers/functions/fnc_setMarkerJIP.sqf b/addons/markers/functions/fnc_setMarkerJIP.sqf index 74bd4f97f7..0760cc6fe5 100644 --- a/addons/markers/functions/fnc_setMarkerJIP.sqf +++ b/addons/markers/functions/fnc_setMarkerJIP.sqf @@ -1,35 +1,49 @@ -// by commy2 +/* + * Author: commy2 + * Client: Recives a marker data from server. + * + * Arguments: + * 0: Array of map marker names + * 1: Array of map marker data + * 2: Logic + * + * Return Value: + * Nothing + * + * Example: + * [[],[],dummyLogic] call ace_markers_fnc_setMarkerJIP; + * + * Public: No + */ #include "script_component.hpp" -private ["_allMapMarkers", "_allMapMarkersProperties", "_index", "_data", "_config"]; +private ["_index", "_data", "_config"]; -_allMapMarkers = _this select 0; -_allMapMarkersProperties = _this select 1; -_logic = _this select 2; +PARAMS_3(_allMapMarkers,_allMapMarkersProperties,_logic); { - _index = _allMapMarkers find _x; + _index = _allMapMarkers find _x; - if (_index != -1) then { - _data = _allMapMarkersProperties select _index; + if (_index != -1) then { + _data = _allMapMarkersProperties select _index; - _config = (configfile >> "CfgMarkers") >> (_data select 0); - if (!isClass _config) then { - WARNING("CfgMarker not found, changed to milDot"); - _config == (configFile >> "CfgMarkers" >> "MilDot"); + _config = (configfile >> "CfgMarkers") >> (_data select 0); + if (!isClass _config) then { + WARNING("CfgMarker not found, changed to milDot"); + _config == (configFile >> "CfgMarkers" >> "MilDot"); + }; + _x setMarkerTypeLocal (configName _config); + + _config = (configfile >> "CfgMarkerColors") >> (_data select 1); + if (!isClass _config) then { + WARNING("CfgMarkerColors not found, changed to Default"); + _config == (configFile >> "CfgMarkerColors" >> "Default"); + }; + _x setMarkerColorLocal (configName _config); + + _x setMarkerPosLocal (_data select 2); + _x setMarkerDirLocal (_data select 3); }; - _x setMarkerTypeLocal (configName _config); - - _config = (configfile >> "CfgMarkerColors") >> (_data select 1); - if (!isClass _config) then { - WARNING("CfgMarkerColors not found, changed to Default"); - _config == (configFile >> "CfgMarkerColors" >> "Default"); - }; - _x setMarkerColorLocal (configName _config); - - _x setMarkerPosLocal (_data select 2); - _x setMarkerDirLocal (_data select 3); - }; } forEach allMapMarkers; deleteVehicle _logic; diff --git a/addons/markers/functions/fnc_setMarkerNetwork.sqf b/addons/markers/functions/fnc_setMarkerNetwork.sqf index 194d169f24..457d5dac37 100644 --- a/addons/markers/functions/fnc_setMarkerNetwork.sqf +++ b/addons/markers/functions/fnc_setMarkerNetwork.sqf @@ -1,45 +1,61 @@ -// by commy2 +/* + * Author: commy2 + * Sets newly placed marker + * Handles the QGVAR(setMarkerNetwork) event. + * + * Arguments: + * 0: Markername + * 1: Marker Data + * + * Return Value: + * Nothing + * + * Example: + * [[],[],dummyLogic] call ace_markers_fnc_setMarkerJIP; + * + * Public: No + */ #include "script_component.hpp" -private ["_marker", "_data", "_config"]; +private ["_config"]; -_marker = _this select 0; -_data = _this select 1; +PARAMS_2(_marker,_data); +EXPLODE_4_PVT(_data,_markerClassname,_colorClassname,_markerPos,_markerDir); -_config = (configfile >> "CfgMarkers") >> (_data select 0); +_config = (configfile >> "CfgMarkers") >> _markerClassname; if (!isClass _config) then { - WARNING("CfgMarker not found, changed to milDot"); - _config == (configFile >> "CfgMarkers" >> "MilDot"); + WARNING("CfgMarker not found, changed to milDot"); + _config == (configFile >> "CfgMarkers" >> "MilDot"); }; _marker setMarkerTypeLocal (configName _config); -_config = (configfile >> "CfgMarkerColors") >> (_data select 1); +_config = (configfile >> "CfgMarkerColors") >> _colorClassname; if (!isClass _config) then { - WARNING("CfgMarkerColors not found, changed to Default"); - _config == (configFile >> "CfgMarkerColors" >> "Default"); + WARNING("CfgMarkerColors not found, changed to Default"); + _config == (configFile >> "CfgMarkerColors" >> "Default"); }; _marker setMarkerColorLocal configName _config; -_marker setMarkerPosLocal (_data select 2); -_marker setMarkerDirLocal (_data select 3); +_marker setMarkerPosLocal _markerPos; +_marker setMarkerDirLocal _markerDir; // save properties on server machine for JIP, marker editing ready if (isMultiplayer && {isServer}) then { - private ["_allMapMarkers", "_allMapMarkersProperties", "_index"]; + private ["_allMapMarkers", "_allMapMarkersProperties", "_index"]; - _allMapMarkers = GETMVAR(allMapMarkers,[]); - _allMapMarkersProperties = GETMVAR(allMapMarkersProperties,[]); + _allMapMarkers = GETGVAR(allMapMarkers,[]); + _allMapMarkersProperties = GETGVAR(allMapMarkersProperties,[]); - _index = _allMapMarkers find _marker; + _index = _allMapMarkers find _marker; - if (_index == -1) then { - _allMapMarkers pushBack _marker; - _allMapMarkersProperties pushBack _data; - } else { - _allMapMarkers set [_index, _marker]; - _allMapMarkersProperties set [_index, _data]; - }; + if (_index == -1) then { + _allMapMarkers pushBack _marker; + _allMapMarkersProperties pushBack _data; + } else { + _allMapMarkers set [_index, _marker]; + _allMapMarkersProperties set [_index, _data]; + }; - GVAR(allMapMarkers) = _allMapMarkers; - GVAR(allMapMarkersProperties) = _allMapMarkersProperties; + GVAR(allMapMarkers) = _allMapMarkers; + GVAR(allMapMarkersProperties) = _allMapMarkersProperties; }; diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index 0d2619ae40..343f4c9d2a 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -1,23 +1,16 @@  - - - - Direction: %1° - Drehung: %1° - Direction: %1° - Směr: %1° - Kierunek: %1° - Dirección: %1° - Направление: %1 - - - Place in: %1 - Platz in: %1 - Colocar en: %1 - Umieść na: %1 - Umístit do: %1 - Место в: %1 - - - \ No newline at end of file + + + Direction: %1° + Drehung: %1° + Direction: %1° + Směr: %1° + Kierunek: %1° + Dirección: %1° + Направление: %1° + Irány: %1° + Direzione: %1° + + + diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index 1fd6a99252..70e286f7d8 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -1,760 +1,779 @@ - class ACE_Head { - displayName = "$STR_ACE_Interaction_Head"; - runOnHover = 1; - statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); - EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); - distance = MEDICAL_ACTION_DISTANCE; - class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitHead"; - distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = "B"; - icon = PATHTOF(UI\icons\bandage.paa); - }; - // Advanced medical - class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; - distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 0; - priority = 2; - hotkey = ""; - icon = PATHTOF(UI\icons\bandage.paa); - }; - class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); - }; - class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); - }; - class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); - }; - class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment)); - EXCEPTIONS - icon = ""; - }; - class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment)); - EXCEPTIONS - }; - class CheckResponse: CheckPulse { - displayName = "Check Response"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment)); - EXCEPTIONS - }; - }; - class ACE_Torso { - displayName = "$STR_ACE_Interaction_Torso"; - runOnHover = 1; - statement = QUOTE([ARR_3(_target, true, 1)] call DFUNC(displayPatientInformation)); - EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); - distance = MEDICAL_ACTION_DISTANCE; - class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitBody"; - distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = "B"; - enableInside = 1; - icon = PATHTOF(UI\icons\bandage.paa); - }; - class PlaceInBodyBag { - displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; - distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = ""; - enableInside = 1; - }; - class TriageCard { - displayName = "Triage Card"; - distance = 2.0; - condition = "true"; - statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = ""; - enableInside = 1; - icon = PATHTOF(UI\icons\triageCard.paa); - }; - // Advanced medical - class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; - distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 0; - priority = 2; - hotkey = ""; - enableInside = 1; - icon = PATHTOF(UI\icons\bandage.paa); - }; - class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); - }; - class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); - }; - class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); - }; - class SurgicalKit: fieldDressing { - displayName = "Use Surgical Kit"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\surgicalKit.paa); - }; - class PersonalAidKit: fieldDressing { - displayName = "Use Personal Aid Kit"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment)); - EXCEPTIONS - icon = ""; - }; - class CPR: fieldDressing { - displayName = "CPR"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment)); - EXCEPTIONS - icon = ""; - }; - }; - class ACE_ArmLeft { - displayName = "$STR_ACE_Interaction_ArmLeft"; - runOnHover = 1; - statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation)); - EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); - distance = MEDICAL_ACTION_DISTANCE; +class ACE_Head { + displayName = "$STR_ACE_Interaction_Head"; + runOnHover = 1; + statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,0,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; + EXCEPTIONS + icon = PATHTOF(UI\icons\medical_cross.paa); + distance = MEDICAL_ACTION_DISTANCE; + class Bandage { + displayName = "$STR_ACE_Medical_Bandage"; + distance = 2.0; + condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = "B"; + icon = PATHTOF(UI\icons\bandage.paa); + }; + // Advanced medical + class FieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + distance = 5.0; + condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 0; + priority = 2; + hotkey = ""; + icon = PATHTOF(UI\icons\bandage.paa); + }; + class PackingBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\packingBandage.paa); + }; + class ElasticBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\bandage.paa); + }; + class QuikClot: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\bandage.paa); + }; + class CheckPulse: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment)); + EXCEPTIONS + icon = ""; + }; + class CheckBloodPressure: CheckPulse { + displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment)); + EXCEPTIONS + }; + class CheckResponse: CheckPulse { + displayName = "$STR_ACE_MEDICAL_CHECK_RESPONSE"; + condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment)); + EXCEPTIONS + }; + class Diagnose: CheckPulse { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose"; + condition = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(treatment)); + EXCEPTIONS + }; +}; +class ACE_Torso { + displayName = "$STR_ACE_Interaction_Torso"; + runOnHover = 1; + statement = QUOTE([ARR_3(_target, true, 1)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,1,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; + EXCEPTIONS + icon = PATHTOF(UI\icons\medical_cross.paa); + distance = MEDICAL_ACTION_DISTANCE; + class Bandage { + displayName = "$STR_ACE_Medical_Bandage"; + distance = 2.0; + condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = "B"; + enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); + }; + class PlaceInBodyBag { + displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; + distance = 2.0; + condition = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = ""; + enableInside = 1; + }; + class TriageCard { + displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; + distance = 2.0; + condition = "true"; + statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = ""; + enableInside = 1; + icon = PATHTOF(UI\icons\triageCard.paa); + }; - class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; - distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = "B"; - icon = PATHTOF(UI\icons\bandage.paa); - }; + // Advanced medical + class FieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + distance = 5.0; + condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 0; + priority = 2; + hotkey = ""; + enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); + }; + class PackingBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\packingBandage.paa); + }; + class ElasticBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\bandage.paa); + }; + class QuikClot: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\bandage.paa); + }; + class SurgicalKit: fieldDressing { + displayName = "$STR_ACE_MEDICAL_USE_SURGICALKIT"; + condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\surgicalKit.paa); + }; + class PersonalAidKit: fieldDressing { + displayName = "$STR_ACE_MEDICAL_USE_AID_KIT"; + condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment)); + EXCEPTIONS + icon = ""; + }; + class CPR: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR"; + condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment)); + EXCEPTIONS + icon = ""; + }; +}; +class ACE_ArmLeft { + displayName = "$STR_ACE_Interaction_ArmLeft"; + runOnHover = 1; + statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,2,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; + EXCEPTIONS + icon = PATHTOF(UI\icons\medical_cross.paa); + distance = MEDICAL_ACTION_DISTANCE; - // Advanced medical - class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; - distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 0; - priority = 2; - hotkey = ""; - icon = PATHTOF(UI\icons\bandage.paa); - }; - class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); - }; - class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); - }; - class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); - }; - class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); - }; - class Morphine: fieldDressing { - displayName = "$STR_ACE_Medical_Inject_Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); - }; - class Atropine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); - }; - class Epinephrine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); - }; - class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); - }; - class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment)); - EXCEPTIONS - icon = ""; - }; - class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment)); - EXCEPTIONS - }; - class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment)); - EXCEPTIONS - }; - }; - class ACE_ArmRight { - displayName = "$STR_ACE_Interaction_ArmRight"; - runOnHover = 1; - statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation)); - EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); - distance = MEDICAL_ACTION_DISTANCE; + class Bandage { + displayName = "$STR_ACE_Medical_Bandage"; + distance = 2.0; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = "B"; + icon = PATHTOF(UI\icons\bandage.paa); + }; - class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; - distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = "B"; - icon = PATHTOF(UI\icons\bandage.paa); - }; + // Advanced medical + class FieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + distance = 5.0; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 0; + priority = 2; + hotkey = ""; + icon = PATHTOF(UI\icons\bandage.paa); + }; + class PackingBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\packingBandage.paa); + }; + class ElasticBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\bandage.paa); + }; + class QuikClot: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\bandage.paa); + }; + class Tourniquet: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\tourniquet.paa); + }; + class Morphine: fieldDressing { + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\autoInjector.paa); + }; + class Atropine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Atropine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\autoInjector.paa); + }; + class Epinephrine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\autoInjector.paa); + }; + class BloodIV: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\iv.paa); + }; + class BloodIV_500: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class BloodIV_250: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_500: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_250: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_500: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_250: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class CheckPulse: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment)); + EXCEPTIONS + icon = ""; + }; + class CheckBloodPressure: CheckPulse { + displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment)); + EXCEPTIONS + }; + class RemoveTourniquet: Tourniquet { + displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment)); + EXCEPTIONS + }; +}; +class ACE_ArmRight { + displayName = "$STR_ACE_Interaction_ArmRight"; + runOnHover = 1; + statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,3,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; + EXCEPTIONS + icon = PATHTOF(UI\icons\medical_cross.paa); + distance = MEDICAL_ACTION_DISTANCE; - // Advanced medical - class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; - distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 0; - priority = 2; - hotkey = ""; - icon = PATHTOF(UI\icons\bandage.paa); - }; - class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); - }; - class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment)); - EXCEPTIONS - }; - class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment)); - EXCEPTIONS - }; - class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); - }; - class Morphine: fieldDressing { - displayName = "$STR_ACE_Medical_Inject_Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); - }; - class Atropine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Atropine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Atropine')] call DFUNC(treatment)); - EXCEPTIONS - }; - class Epinephrine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(treatment)); - EXCEPTIONS - }; - class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); - }; - class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment)); - EXCEPTIONS - icon = ""; - }; - class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment)); - EXCEPTIONS - }; - class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment)); - EXCEPTIONS - }; + class Bandage { + displayName = "$STR_ACE_Medical_Bandage"; + distance = 2.0; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = "B"; + icon = PATHTOF(UI\icons\bandage.paa); + }; - }; - class ACE_LegLeft { - displayName = "$STR_ACE_Interaction_LegLeft"; - runOnHover = 1; - statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation)); - EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); - distance = MEDICAL_ACTION_DISTANCE; + // Advanced medical + class FieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + distance = 5.0; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 0; + priority = 2; + hotkey = ""; + icon = PATHTOF(UI\icons\bandage.paa); + }; + class PackingBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\packingBandage.paa); + }; + class ElasticBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment)); + EXCEPTIONS + }; + class QuikClot: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment)); + EXCEPTIONS + }; + class Tourniquet: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\tourniquet.paa); + }; + class Morphine: fieldDressing { + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\autoInjector.paa); + }; + class Atropine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Atropine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Atropine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Atropine')] call DFUNC(treatment)); + EXCEPTIONS + }; + class Epinephrine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(treatment)); + EXCEPTIONS + }; + class BloodIV: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\iv.paa); + }; + class BloodIV_500: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class BloodIV_250: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_500: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_250: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_500: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_250: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class CheckPulse: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment)); + EXCEPTIONS + icon = ""; + }; + class CheckBloodPressure: CheckPulse { + displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment)); + EXCEPTIONS + }; + class RemoveTourniquet: Tourniquet { + displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment)); + EXCEPTIONS + }; - class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; - distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = "B"; - icon = PATHTOF(UI\icons\bandage.paa); - }; +}; +class ACE_LegLeft { + displayName = "$STR_ACE_Interaction_LegLeft"; + runOnHover = 1; + statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,4,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; + EXCEPTIONS + icon = PATHTOF(UI\icons\medical_cross.paa); + distance = MEDICAL_ACTION_DISTANCE; + + class Bandage { + displayName = "$STR_ACE_Medical_Bandage"; + distance = 2.0; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = "B"; + icon = PATHTOF(UI\icons\bandage.paa); + }; - // Advanced medical - class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; - distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 0; - priority = 2; - hotkey = ""; - icon = PATHTOF(UI\icons\bandage.paa); - }; - class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); - }; - class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment)); - EXCEPTIONS - }; - class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment)); - EXCEPTIONS - }; - class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); - }; - class Morphine: fieldDressing { - displayName = "$STR_ACE_Medical_Inject_Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); - }; - class Atropine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); - }; - class Epinephrine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(treatment)); - EXCEPTIONS - }; - class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); - }; - class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment)); - EXCEPTIONS - }; - }; - class ACE_LegRight { - displayName = "$STR_ACE_Interaction_LegRight"; - runOnHover = 1; - statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation)); - EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); - distance = MEDICAL_ACTION_DISTANCE; + // Advanced medical + class FieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + distance = 5.0; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 0; + priority = 2; + hotkey = ""; + icon = PATHTOF(UI\icons\bandage.paa); + }; + class PackingBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\packingBandage.paa); + }; + class ElasticBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment)); + EXCEPTIONS + }; + class QuikClot: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment)); + EXCEPTIONS + }; + class Tourniquet: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\tourniquet.paa); + }; + class Morphine: fieldDressing { + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\autoInjector.paa); + }; + class Atropine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Atropine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\autoInjector.paa); + }; + class Epinephrine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(treatment)); + EXCEPTIONS + }; + class BloodIV: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\iv.paa); + }; + class BloodIV_500: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class BloodIV_250: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_500: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_250: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_500: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_250: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class RemoveTourniquet: Tourniquet { + displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment)); + EXCEPTIONS + }; +}; +class ACE_LegRight { + displayName = "$STR_ACE_Interaction_LegRight"; + runOnHover = 1; + statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,5,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; + EXCEPTIONS + icon = PATHTOF(UI\icons\medical_cross.paa); + distance = MEDICAL_ACTION_DISTANCE; - class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; - distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 1; - priority = 2; - hotkey = "B"; - icon = PATHTOF(UI\icons\bandage.paa); - }; + class Bandage { + displayName = "$STR_ACE_Medical_Bandage"; + distance = 2.0; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 1; + priority = 2; + hotkey = "B"; + icon = PATHTOF(UI\icons\bandage.paa); + }; - // Advanced medical - class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; - distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(treatment)); - EXCEPTIONS - showDisabled = 0; - priority = 2; - hotkey = ""; - icon = PATHTOF(UI\icons\bandage.paa); - }; - class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); - }; - class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment)); - EXCEPTIONS - }; - class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment)); - EXCEPTIONS - }; - class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); - }; - class Morphine: fieldDressing { - displayName = "$STR_ACE_Medical_Inject_Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); - }; - class Atropine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Atropine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Atropine')] call DFUNC(treatment)); - EXCEPTIONS - }; - class Epinephrine: Morphine { - displayName = "$STR_ACE_Medical_Inject_Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(treatment)); - EXCEPTIONS - }; - class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); - EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); - }; - class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(treatment)); - EXCEPTIONS - }; - class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(treatment)); - EXCEPTIONS - }; - class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); - statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); - EXCEPTIONS - }; - }; + // Advanced medical + class FieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + distance = 5.0; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(treatment)); + EXCEPTIONS + showDisabled = 0; + priority = 2; + hotkey = ""; + icon = PATHTOF(UI\icons\bandage.paa); + }; + class PackingBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\packingBandage.paa); + }; + class ElasticBandage: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment)); + EXCEPTIONS + }; + class QuikClot: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment)); + EXCEPTIONS + }; + class Tourniquet: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\tourniquet.paa); + }; + class Morphine: fieldDressing { + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\autoInjector.paa); + }; + class Atropine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Atropine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Atropine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Atropine')] call DFUNC(treatment)); + EXCEPTIONS + }; + class Epinephrine: Morphine { + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(treatment)); + EXCEPTIONS + }; + class BloodIV: fieldDressing { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); + EXCEPTIONS + icon = PATHTOF(UI\icons\iv.paa); + }; + class BloodIV_500: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class BloodIV_250: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_500: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class PlasmaIV_250: PlasmaIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV: BloodIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_500: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(treatment)); + EXCEPTIONS + }; + class SalineIV_250: SalineIV { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(treatment)); + EXCEPTIONS + }; + class RemoveTourniquet: Tourniquet { + displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); + statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); + EXCEPTIONS + }; +}; diff --git a/addons/medical/ACE_Medical_SelfActions.hpp b/addons/medical/ACE_Medical_SelfActions.hpp index e77e276af2..add07c8262 100644 --- a/addons/medical/ACE_Medical_SelfActions.hpp +++ b/addons/medical/ACE_Medical_SelfActions.hpp @@ -4,6 +4,7 @@ class Medical { hotkey = "M"; exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); + condition = "true"; icon = PATHTOF(UI\icons\medical_cross.paa); class ACE_Head { @@ -11,10 +12,12 @@ class Medical { icon = PATHTOF(UI\icons\medical_cross.paa); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,0,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; runOnHover = 1; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitHead"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -78,13 +81,14 @@ class Medical { runOnHover = 1; exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_3(_target, true, 1)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,1,_this select 3)] call FUNC(modifyMedicalAction)); showDisabled = 1; priority = 2; hotkey = ""; icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitBody"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -146,10 +150,12 @@ class Medical { runOnHover = 1; exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,2,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -246,10 +252,12 @@ class Medical { runOnHover = 1; exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,3,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -342,10 +350,12 @@ class Medical { runOnHover = 1; exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,4,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -427,10 +437,12 @@ class Medical { runOnHover = 1; exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation)); + modifierFunction = QUOTE([ARR_4(_target,_player,5,_this select 3)] call FUNC(modifyMedicalAction)); + condition = "true"; icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -506,4 +518,4 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); }; }; -}; \ No newline at end of file +}; diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 097292d9cc..85bcab9616 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -55,15 +55,6 @@ class ACE_Medical_Actions { animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; litter[] = {}; }; - class Tourniquet: Bandage { - displayName = "$STR_ACE_Medical_Apply_Tourniquet"; - displayNameProgress = "$STR_ACE_Medical_Applying_Tourniquet"; - items[] = {"ACE_tourniquet"}; - treatmentTime = 6; - callbackSuccess = QUOTE(DFUNC(treatmentTourniquet)); - condition = QUOTE(!([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo))); - litter[] = {}; - }; class BodyBag: Bandage { displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag"; @@ -80,6 +71,21 @@ class ACE_Medical_Actions { itemConsumed = 1; litter[] = {}; }; + class Diagnose: Bandage { + displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose"; + displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_Diagnosing"; + treatmentLocations[] = {"All"}; + requiredMedic = 0; + treatmentTime = 1; + items[] = {}; + callbackSuccess = QUOTE(DFUNC(actionDiagnose)); + callbackFailure = ""; + callbackProgress = ""; + animationPatient = ""; + animationCaller = ""; // TODO + itemConsumed = 0; + litter[] = {}; + }; }; class Advanced { @@ -244,8 +250,8 @@ class ACE_Medical_Actions { condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo)); }; class CPR: fieldDressing { - displayName = "CPR"; - displayNameProgress = "Performing CPR"; + displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR"; + displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_PerformingCPR"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 15; @@ -291,23 +297,26 @@ class ACE_Medical_Advanced { // Source: Scarle // Also called scrapes, they occur when the skin is rubbed away by friction against another rough surface (e.g. rope burns and skinned knees). class Abrasion { - name = "Scrape"; + name = "$STR_ACE_Medical_Wounds_Abrasion"; selections[] = {"All"}; bleedingRate = 0.0001; pain = 0.01; causes[] = {"falling", "ropeburn", "vehiclecrash", "unknown"}; minDamage = 0.01; class Minor { + name = "$STR_ACE_Medical_Wounds_Abrasion_Minor"; minDamage = 0.01; maxDamage = 0.2; bleedingRate = 0.0001; }; class Medium { + name = "$STR_ACE_Medical_Wounds_Abrasion_Medium"; minDamage = 0.2; maxDamage = 0.3; bleedingRate = 0.00015; }; class Large { + name = "$STR_ACE_Medical_Wounds_Abrasion_Large"; minDamage = 0.3; bleedingRate = 0.0002; }; @@ -315,23 +324,26 @@ class ACE_Medical_Advanced { // Occur when an entire structure or part of it is forcibly pulled away, such as the loss of a permanent tooth or an ear lobe. Explosions, gunshots, and animal bites may cause avulsions. class Avulsions { - name = "Avulsion"; + name = "$STR_ACE_Medical_Wounds_Avulsion"; selections[] = {"All"}; bleedingRate = 0.01; pain = 0.3; causes[] = {"explosive", "vehiclecrash", "grenade", "shell", "bullet", "backblast", "bite"}; minDamage = 0.2; class Minor { + name = "$STR_ACE_Medical_Wounds_Avulsion_Minor"; minDamage = 0.2; maxDamage = 0.3; bleedingRate = 0.01; }; class Medium { + name = "$STR_ACE_Medical_Wounds_Avulsion_Medium"; minDamage = 0.3; maxDamage = 0.6; bleedingRate = 0.02; }; class Large { + name = "$STR_ACE_Medical_Wounds_Avulsion_Large"; minDamage = 0.5; bleedingRate = 0.05; }; @@ -339,22 +351,25 @@ class ACE_Medical_Advanced { // Also called bruises, these are the result of a forceful trauma that injures an internal structure without breaking the skin. Blows to the chest, abdomen, or head with a blunt instrument (e.g. a football or a fist) can cause contusions. class Contusion { - name = "Bruise"; + name = "$STR_ACE_Medical_Wounds_Contusion"; selections[] = {"All"}; bleedingRate = 0.0; pain = 0.05; - causes[] = {"bullet", "backblast", "punch","vehiclecrash","falling"}; + causes[] = {"bullet", "backblast", "punch", "vehiclecrash", "falling"}; minDamage = 0.01; maxDamage = 0.1; class Minor { + name = "$STR_ACE_Medical_Wounds_Contusion_Minor"; minDamage = 0.01; maxDamage = 0.1; }; class Medium { + name = "$STR_ACE_Medical_Wounds_Contusion_Medium"; minDamage = 0.1; maxDamage = 0.15; }; class Large { + name = "$STR_ACE_Medical_Wounds_Contusion_Large"; minDamage = 0.15; maxDamage = 0.2; }; @@ -362,23 +377,26 @@ class ACE_Medical_Advanced { // Occur when a heavy object falls onto a person, splitting the skin and shattering or tearing underlying structures. class CrushWound { - name = "Crushed tissue"; + name = "$STR_ACE_Medical_Wounds_Crush"; selections[] = {"All"}; bleedingRate = 0.01; pain = 0.1; causes[] = {"falling", "vehiclecrash", "punch", "unknown"}; minDamage = 0.1; class Minor { + name = "$STR_ACE_Medical_Wounds_Crush_Minor"; minDamage = 0.1; maxDamage = 0.45; bleedingRate = 0.005; }; class Medium { + name = "$STR_ACE_Medical_Wounds_Crush_Medium"; minDamage = 0.4; maxDamage = 0.7; bleedingRate = 0.007; }; class Large { + name = "$STR_ACE_Medical_Wounds_Crush_Large"; minDamage = 0.6; bleedingRate = 0.0095; }; @@ -386,23 +404,26 @@ class ACE_Medical_Advanced { // Slicing wounds made with a sharp instrument, leaving even edges. They may be as minimal as a paper cut or as significant as a surgical incision. class Cut { - name = "Cut"; + name = "$STR_ACE_Medical_Wounds_Cut"; selections[] = {"All"}; bleedingRate = 0.01; pain = 0.075; causes[] = {"vehiclecrash", "grenade", "explosive", "shell", "backblast", "stab", "unknown"}; minDamage = 0.1; class Minor { + name = "$STR_ACE_Medical_Wounds_Cut_Minor"; minDamage = 0.1; maxDamage = 0.3; bleedingRate = 0.005; }; class Medium { + name = "$STR_ACE_Medical_Wounds_Cut_Medium"; minDamage = 0.3; maxDamage = 0.65; bleedingRate = 0.02; }; class Large { + name = "$STR_ACE_Medical_Wounds_Cut_Large"; minDamage = 0.65; bleedingRate = 0.05; }; @@ -410,23 +431,26 @@ class ACE_Medical_Advanced { // Also called tears, these are separating wounds that produce ragged edges. They are produced by a tremendous force against the body, either from an internal source as in childbirth, or from an external source like a punch. class Laceration { - name = "Tear"; + name = "$STR_ACE_Medical_Wounds_Laceration"; selections[] = {"All"}; bleedingRate = 0.01; pain = 0.075; causes[] = {"vehiclecrash", "punch"}; minDamage = 0.01; class Minor { + name = "$STR_ACE_Medical_Wounds_Laceration_Minor"; minDamage = 0.1; maxDamage = 0.5; bleedingRate = 0.005; }; class Medium { + name = "$STR_ACE_Medical_Wounds_Laceration_Medium"; minDamage = 0.5; maxDamage = 0.7; bleedingRate = 0.01; }; class Large { + name = "$STR_ACE_Medical_Wounds_Laceration_Large"; minDamage = 0.7; bleedingRate = 0.03; }; @@ -434,22 +458,25 @@ class ACE_Medical_Advanced { // Also called velocity wounds, they are caused by an object entering the body at a high speed, typically a bullet or small peices of shrapnel. class velocityWound { - name = "Velocity Wound"; + name = "$STR_ACE_Medical_Wounds_VelocityWound"; selections[] = {"All"}; bleedingRate = 0.01; pain = 0.2; causes[] = {"bullet", "grenade","explosive", "shell", "unknown"}; minDamage = 0.15; class Minor { + name = "$STR_ACE_Medical_Wounds_VelocityWound_Minor"; minDamage = 0.15; maxDamage = 0.3; bleedingRate = 0.025; }; class Medium { + name = "$STR_ACE_Medical_Wounds_VelocityWound_Medium"; minDamage = 0.3; bleedingRate = 0.05; }; class Large { + name = "$STR_ACE_Medical_Wounds_VelocityWound_Large"; minDamage = 0.75; bleedingRate = 0.1; }; @@ -457,23 +484,26 @@ class ACE_Medical_Advanced { // Deep, narrow wounds produced by sharp objects such as nails, knives, and broken glass. class punctureWound { - name = "Puncture Wound"; + name = "$STR_ACE_Medical_Wounds_PunctureWound"; selections[] = {"All"}; bleedingRate = 0.01; pain = 0.075; causes[] = {"stab", "grenade"}; minDamage = 0.01; class Minor { + name = "$STR_ACE_Medical_Wounds_PunctureWound_Minor"; minDamage = 0.01; maxDamage = 0.5; bleedingRate = 0.01; }; class Medium { + name = "$STR_ACE_Medical_Wounds_PunctureWound_Medium"; minDamage = 0.5; maxDamage = 0.75; bleedingRate = 0.03; }; class Large { + name = "$STR_ACE_Medical_Wounds_PunctureWound_Large"; minDamage = 0.65; bleedingRate = 0.08; }; @@ -481,7 +511,7 @@ class ACE_Medical_Advanced { }; class fractures { class Femur { - name = "Broken Femur"; + name = "$STR_ACE_Medical_Wounds_Femur"; selections[] = {"Head", "Torso"}; pain = 0.2; causes[] = {"Bullet", "VehicleCrash", "Backblast", "Explosive", "Shell", "Grenade"}; diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 4d2f2db9be..e7f60a14e8 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -73,11 +73,22 @@ class ACE_Settings { }; class GVAR(allowLitterCreation) { typeName = "BOOL"; - value = true; + value = 1; + }; + class GVAR(litterSimulationDetail) { + displayName = "$STR_ACE_Medical_litterSimulationDetail"; + description = "$STR_ACE_Medical_litterSimulationDetail_Desc"; + typeName = "SCALAR"; + + value = 3; + values[] = {"Off", "Low", "Medium", "High", "Ultra"}; + _values[] = { 0, 50, 100, 1000, 5000 }; + + isClientSettable = 1; }; class GVAR(litterCleanUpDelay) { typeName = "SCALAR"; - value = 1800; + value = 0; }; class GVAR(medicSetting_PAK) { typeName = "SCALAR"; @@ -117,4 +128,19 @@ class ACE_Settings { typeName = "BOOL"; value = 1; }; + class GVAR(painEffectType) { + displayName = "$STR_ACE_Medical_painEffectType"; + typeName = "SCALAR"; + value = 0; + values[] = {"$STR_ACE_Medical_painEffect_Flash", "$STR_ACE_Medical_painEffect_Chroma"}; + isClientSettable = 1; + }; + class GVAR(allowUnconsciousAnimationOnTreatment) { + typeName = "BOOL"; + value = 0; + }; + class GVAR(moveUnitsFromGroupOnUnconscious) { + typeName = "BOOL"; + value = 0; + }; }; diff --git a/addons/medical/CfgEventHandlers.hpp b/addons/medical/CfgEventHandlers.hpp index bf96b6a239..2fe5d0a9e5 100644 --- a/addons/medical/CfgEventHandlers.hpp +++ b/addons/medical/CfgEventHandlers.hpp @@ -47,11 +47,3 @@ class Extended_Local_EventHandlers { }; }; }; - -class Extended_Take_EventHandlers { - class CAManBase { - class ADDON { - take = QUOTE(call FUNC(itemCheck)); - }; - }; -}; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 13c54dfe37..2b1f7c9468 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -440,9 +440,30 @@ class CfgVehicles { statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); icon = PATHTOF(UI\icons\medical_cross.paa); + #undef EXCEPTIONS #define EXCEPTIONS exceptions[] = {"isNotInside"}; #include "ACE_Medical_Actions.hpp" }; + class GVAR(loadPatient) { + displayName = "$STR_ACE_Medical_LoadPatient"; + distance = 5; + condition = QUOTE(_target getvariable[ARR_2(QUOTE(QUOTE(ACE_isUnconscious)),false)] && vehicle _target == _target); + statement = QUOTE([ARR_2(_player, _target)] call DFUNC(actionLoadUnit)); + showDisabled = 0; + priority = 2; + icon = PATHTOF(UI\icons\medical_cross.paa); + exceptions[] = {"isNotDragging", "isNotCarrying"}; + }; + class GVAR(UnLoadPatient) { + displayName = "$STR_ACE_Medical_UnloadPatient"; + distance = 5; + condition = QUOTE(_target getvariable[ARR_2(QUOTE(QUOTE(ACE_isUnconscious)),false)] && vehicle _target != _target); + statement = QUOTE([ARR_2(_player, _target)] call DFUNC(actionUnloadUnit)); + showDisabled = 0; + priority = 2; + icon = PATHTOF(UI\icons\medical_cross.paa); + exceptions[] = {"isNotDragging", "isNotCarrying"}; + }; }; }; }; @@ -624,7 +645,7 @@ class CfgVehicles { EGVAR(dragging,dragPosition[]) = {0,1.2,0}; EGVAR(dragging,dragDirection) = 0; class ACE_Actions { - class ACE_MainActions { + class ACE_MainActions { displayName = "$STR_ACE_Interaction_MainAction"; distance = 5; condition = QUOTE(true); @@ -675,10 +696,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_fieldDressing - { + class TransportItems { + class ACE_fieldDressing { name = "ACE_fieldDressing"; count = 1; }; @@ -690,10 +709,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_packingBandage - { + class TransportItems { + class ACE_packingBandage { name = "ACE_packingBandage"; count = 1; }; @@ -705,10 +722,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_elasticBandage - { + class TransportItems { + class ACE_elasticBandage { name = "ACE_elasticBandage"; count = 1; }; @@ -720,10 +735,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_tourniquet - { + class TransportItems { + class ACE_tourniquet { name = "ACE_tourniquet"; count = 1; }; @@ -735,10 +748,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_morphine - { + class TransportItems { + class ACE_morphine { name = "ACE_morphine"; count = 1; }; @@ -750,10 +761,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_atropine - { + class TransportItems { + class ACE_atropine { name = "ACE_atropine"; count = 1; }; @@ -765,10 +774,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_epinephrine - { + class TransportItems { + class ACE_epinephrine { name = "ACE_epinephrine"; count = 1; }; @@ -780,10 +787,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_PLASMA_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_plasmaIV - { + class TransportItems { + class ACE_plasmaIV { name = "ACE_plasmaIV"; count = 1; }; @@ -796,10 +801,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BLOOD_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_bloodIV - { + class TransportItems { + class ACE_bloodIV { name = "ACE_bloodIV"; count = 1; }; @@ -811,10 +814,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_SALINE_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_salineIV - { + class TransportItems { + class ACE_salineIV { name = "ACE_salineIV"; count = 1; }; @@ -826,10 +827,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_quikClot - { + class TransportItems { + class ACE_quikClot { name = "ACE_quikclot"; count = 1; }; @@ -841,10 +840,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_personalAidKit - { + class TransportItems { + class ACE_personalAidKit { name = "ACE_personalAidKit"; count = 1; }; @@ -856,10 +853,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_surgicalKit - { + class TransportItems { + class ACE_surgicalKit { name = "ACE_surgicalKit"; count = 1; }; @@ -871,10 +866,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_bodyBag - { + class TransportItems { + class ACE_bodyBag { name = "ACE_bodyBag"; count = 1; }; @@ -885,9 +878,42 @@ class CfgVehicles { class ACE_medicalSupplyCrate: NATO_Box_Base { scope = 2; accuracy = 1000; - displayName = "[ACE] Medical Supply Crate"; + displayName = "[ACE] Medical Supply Crate (Basic)"; model = PATHTOF(data\ace_medcrate.p3d); author = "$STR_ACE_Common_ACETeam"; + class TransportItems { + class ACE_fieldDressing { + name = "ACE_fieldDressing"; + count = 50; + }; + class ACE_morphine { + name = "ACE_morphine"; + count = 25; + }; + class ACE_epinephrine { + name = "ACE_epinephrine"; + count = 25; + }; + class ACE_bloodIV { + name = "ACE_bloodIV"; + count = 15; + }; + class ACE_bloodIV_500 { + name = "ACE_bloodIV_500"; + count = 15; + }; + class ACE_bloodIV_250 { + name = "ACE_bloodIV_250"; + count = 15; + }; + class ACE_bodyBag { + name = "ACE_bodyBag"; + count = 10; + }; + }; + }; + class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate { + displayName = "[ACE] Medical Supply Crate (Advanced)"; class TransportItems { class ACE_fieldDressing { name = "ACE_fieldDressing"; @@ -971,84 +997,4 @@ class CfgVehicles { }; }; }; - - // Patient unload from vehicle actions - class LandVehicle; - class Car: LandVehicle { - class ACE_Actions { - class ACE_MainActions { - class ACE_UnloadPatients { - displayName = "$STR_ACE_Medical_UnloadPatient"; - condition = "true"; - statement = ""; - insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); - }; - }; - }; - }; - class Tank: LandVehicle { - class ACE_Actions { - class ACE_MainActions { - class ACE_UnloadPatients { - displayName = "$STR_ACE_Medical_UnloadPatient"; - condition = "true"; - statement = ""; - insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); - }; - }; - }; - }; - - class Air; - class Helicopter: Air { - class ACE_Actions { - class ACE_MainActions { - class ACE_UnloadPatients { - displayName = "$STR_ACE_Medical_UnloadPatient"; - condition = "true"; - statement = ""; - insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); - }; - }; - }; - }; - class Plane: Air { - class ACE_Actions { - class ACE_MainActions { - class ACE_UnloadPatients { - displayName = "$STR_ACE_Medical_UnloadPatient"; - condition = "true"; - statement = ""; - insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); - }; - }; - }; - }; - - class Ship; - class Ship_F: Ship { - class ACE_Actions { - class ACE_MainActions { - class ACE_UnloadPatients { - displayName = "$STR_ACE_Medical_UnloadPatient"; - condition = "true"; - statement = ""; - insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); - }; - }; - }; - }; - - class StaticWeapon: LandVehicle { - class ACE_Actions { - class ACE_MainActions { - class ACE_UnloadPatients { - displayName = "$STR_ACE_Medical_UnloadPatient"; - condition = "true"; - statement = ""; - insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); - }; - }; - }; - }; }; diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 51795d266c..8c45b6906c 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -19,7 +19,6 @@ class CfgWeapons { }; }; - // @todo localize class ACE_ItemCore; class ACE_fieldDressing: ACE_ItemCore { scope = 2; @@ -34,9 +33,6 @@ class CfgWeapons { }; class ACE_packingBandage: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa)); model = QUOTE(PATHTOF(data\packingbandage.p3d)); @@ -48,9 +44,6 @@ class CfgWeapons { }; class ACE_elasticBandage: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa)); model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; @@ -62,9 +55,6 @@ class CfgWeapons { }; class ACE_tourniquet: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa)); model = QUOTE(PATHTOF(data\tourniquet.p3d)); @@ -76,9 +66,6 @@ class CfgWeapons { }; class ACE_morphine: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa)); model = QUOTE(PATHTOF(data\morphine.p3d)); @@ -90,9 +77,6 @@ class CfgWeapons { }; class ACE_atropine: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa)); model = QUOTE(PATHTOF(data\atropine.p3d)); @@ -105,9 +89,6 @@ class CfgWeapons { }; class ACE_epinephrine: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa)); model = QUOTE(PATHTOF(data\epinephrine.p3d)); @@ -119,8 +100,6 @@ class CfgWeapons { }; class ACE_plasmaIV: ACE_ItemCore { scope = 2; - value = 1; - count = 1; displayName = $STR_ACE_MEDICAL_PLASMA_IV; picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa)); descriptionShort = $STR_ACE_MEDICAL_PLASMA_IV_DESC_SHORT; @@ -143,8 +122,6 @@ class CfgWeapons { }; class ACE_bloodIV: ACE_ItemCore { scope = 2; - value = 1; - count = 1; model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; displayName = $STR_ACE_MEDICAL_BLOOD_IV; picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa)); @@ -168,8 +145,6 @@ class CfgWeapons { }; class ACE_salineIV: ACE_ItemCore { scope = 2; - value = 1; - count = 1; displayName = $STR_ACE_MEDICAL_SALINE_IV; picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa)); descriptionShort = $STR_ACE_MEDICAL_SALINE_IV_DESC_SHORT; @@ -192,9 +167,6 @@ class CfgWeapons { }; class ACE_quikclot: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa)); descriptionShort = $STR_ACE_MEDICAL_QUIKCLOT_DESC_SHORT; @@ -205,9 +177,6 @@ class CfgWeapons { }; class ACE_personalAidKit: ACE_ItemCore { scope = 2; - value = 1; - count = 1; - type = 16; displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa)); descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT; diff --git a/addons/medical/XEH_init.sqf b/addons/medical/XEH_init.sqf index 2f840fe950..0ded7d471f 100644 --- a/addons/medical/XEH_init.sqf +++ b/addons/medical/XEH_init.sqf @@ -6,5 +6,5 @@ _unit = _this select 0; _unit addEventHandler ["HandleDamage", {_this call FUNC(handleDamage)}]; if (local _unit) then { - [_unit] call FUNC(init); + [_unit] call FUNC(init); }; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 7d52ff36d4..526990709b 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -21,14 +21,14 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; _unit setVariable ["tf_unable_to_use_radio", true, true]; _unit setVariable ["acre_sys_core_isDisabled", true, true]; - _unit setVariable ["acre_sys_core_globalVolume", 0.4]; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [0.4^0.33] call acre_api_fnc_setGlobalVolume; }; } else { _unit setVariable ["tf_globalVolume", 1]; _unit setVariable ["tf_voiceVolume", 1, true]; - _unit setVariable ["tf_unable_to_use_radio", true, true]; + _unit setVariable ["tf_unable_to_use_radio", false, true]; - _unit setVariable ["acre_sys_core_isDisabled", true, true]; - _unit setVariable ["acre_sys_core_globalVolume", 1]; + _unit setVariable ["acre_sys_core_isDisabled", false, true]; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [1] call acre_api_fnc_setGlobalVolume; }; }; }; }] call ace_common_fnc_addEventHandler; @@ -153,11 +153,6 @@ GVAR(effectTimeBlood) = time; GVAR(lastHeartBeat) = time; GVAR(lastHeartBeatSound) = time; -// @todo, remove once parameters are set up -if (isNil QGVAR(level)) then { - GVAR(level) = 0; -}; - // HEARTRATE BASED EFFECTS [{ _heartRate = ACE_player getVariable [QGVAR(heartRate), 70]; @@ -172,8 +167,7 @@ if (isNil QGVAR(level)) then { // Pain effect _strength = ACE_player getVariable [QGVAR(pain), 0]; // _strength = _strength * (ACE_player getVariable [QGVAR(coefPain), GVAR(coefPain)]); @todo - GVAR(alternativePainEffect) = false; // @todo - if (GVAR(alternativePainEffect)) then { + if (GVAR(painEffectType) == 1) then { GVAR(effectPainCC) ppEffectEnable false; if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then { _strength = _strength * 0.15; @@ -198,7 +192,7 @@ if (isNil QGVAR(level)) then { } else { GVAR(effectPainCA) ppEffectEnable false; if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then { - _strength = _strength * 0.6; + _strength = _strength * 0.9; GVAR(effectPainCC) ppEffectEnable true; GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - _strength,1 - _strength,0,0,0,0.2,2]]; GVAR(effectPainCC) ppEffectCommit 0.01; @@ -247,14 +241,14 @@ if (USE_WOUND_EVENT_SYNC) then { // We are only pulling the wounds for the units in the player group. Anything else will come when the unit interacts with them. { [_x, _newPlayer] call FUNC(requestWoundSync); - }foreach units group player; + }foreach units group _newPlayer; }; }] call EFUNC(common,addEventhandler); }; }; [ - {(((_this select 0) getvariable [QGVAR(bloodVolume), 0]) < 65)}, + {(((_this select 0) getvariable [QGVAR(bloodVolume), 100]) < 65)}, {(((_this select 0) getvariable [QGVAR(pain), 0]) > 0.9)}, {(((_this select 0) call FUNC(getBloodLoss)) > 0.25)}, {((_this select 0) getvariable [QGVAR(inReviveState), false])}, @@ -266,3 +260,12 @@ if (USE_WOUND_EVENT_SYNC) then { // Prevent all types of interaction while unconscious // @todo: probably remove this when CBA keybind hold key works properly ["isNotUnconscious", {!((_this select 0) getVariable ["ACE_isUnconscious", false])}] call EFUNC(common,addCanInteractWithCondition); + +// Item Event Handler +["playerInventoryChanged", { + [ACE_player] call FUNC(itemCheck); +}] call EFUNC(common,addEventHandler); + + +// Networked litter +[QGVAR(createLitter), FUNC(handleCreateLitter), GVAR(litterCleanUpDelay)] call EFUNC(common,addSyncedEventHandler); diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf index 56056de0c6..b6deca4033 100644 --- a/addons/medical/XEH_preInit.sqf +++ b/addons/medical/XEH_preInit.sqf @@ -7,23 +7,21 @@ PREP(actionCheckBloodPressureLocal); PREP(actionCheckPulse); PREP(actionCheckPulseLocal); PREP(actionCheckResponse); +PREP(actionDiagnose); PREP(actionPlaceInBodyBag); PREP(actionRemoveTourniquet); PREP(actionLoadUnit); PREP(actionUnloadUnit); -PREP(actionCarryUnit); -PREP(actionDropUnit); PREP(addHeartRateAdjustment); PREP(addToInjuredCollection); PREP(addToLog); PREP(addToTriageCard); PREP(addUnconsciousCondition); PREP(addUnloadPatientActions); +PREP(adjustPainLevel); PREP(canAccessMedicalEquipment); PREP(canTreat); PREP(canTreatCached); -PREP(canCarry); -PREP(createLitter); PREP(determineIfFatal); PREP(getBloodLoss); PREP(getBloodPressure); @@ -58,10 +56,10 @@ PREP(isInMedicalVehicle); PREP(isMedic); PREP(isMedicalVehicle); PREP(itemCheck); +PREP(modifyMedicalAction); PREP(onMedicationUsage); PREP(onWoundUpdateRequest); PREP(onPropagateWound); -PREP(onCarryObjectDropped); PREP(parseConfigForInjuries); PREP(playInjuredSound); PREP(selectionNameToNumber); @@ -100,10 +98,18 @@ PREP(moduleAssignMedicalFacility); PREP(moduleTreatmentConfiguration); PREP(copyDeadBody); PREP(requestWoundSync); +PREP(unconsciousPFH); + +// Networked litter +PREP(createLitter); +PREP(handleCreateLitter); GVAR(injuredUnitCollection) = []; GVAR(IVBags) = []; call FUNC(parseConfigForInjuries); +GVAR(HITPOINTS) = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; +GVAR(SELECTIONS) = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; + ADDON = true; diff --git a/addons/medical/XEH_respawn.sqf b/addons/medical/XEH_respawn.sqf index b2101b1d4e..ac6cc2d6ef 100644 --- a/addons/medical/XEH_respawn.sqf +++ b/addons/medical/XEH_respawn.sqf @@ -6,7 +6,6 @@ _unit = _this select 0; if !(local _unit) exitWith {}; -diag_log "running respawn"; [_unit] call FUNC(init); //Reset captive status for respawning unit diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index a5f00bbeed..de99778c11 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -2,10 +2,10 @@ class CfgPatches { class ADDON { - units[] = {"ACE_medicalSupplyCrate", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"}; + units[] = {"ACE_medicalSupplyCrate", "ACE_medicalSupplyCrate_advanced", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"}; weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {ace_common, ace_interaction, ace_modules}; + requiredAddons[] = {"ace_interaction","ace_modules"}; author[] = {"Glowbal", "KoffienFlummi"}; authorUrl = ""; VERSION_CONFIG; diff --git a/addons/medical/functions/fnc_actionCarryUnit.sqf b/addons/medical/functions/fnc_actionCarryUnit.sqf deleted file mode 100644 index 1653c11027..0000000000 --- a/addons/medical/functions/fnc_actionCarryUnit.sqf +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Author: Glowbal - * makes the calling unit start carrying the specified unit - * - * Arguments: - * 0: The caller - * 1: The target - * 2: Carry object. True is carry, false is dragging - * - * Return Value: - * NONE - * - * Public: No - */ - -#include "script_component.hpp" - -private ["_caller", "_target", "_positionUnit", "_carry"]; -_caller = _this select 0; -_target = _this select 1; -_carry = _this select 2; - -if (!(_target isKindOf "CaManBase") || !(_caller isKindOf "CaManBase")) exitwith{ }; -if (vehicle _caller != _caller || vehicle _target != _target) exitwith {}; -if (!([_caller] call EFUNC(common,canInteract)) || {_caller == _target} || {(([_target] call EFUNC(common,isAwake)))}) exitwith {}; - -if (!alive _target) exitwith { - if (GVAR(allowDeadBodyMovement)) then { - [{ - _this call FUNC(actionCarryUnit); - }, [_caller, ([_target,_caller] call FUNC(copyDeadBody)), _carry], 0.25, 0.25] call EFUNC(common,waitAndExecute); - }; -}; - -if !([_caller,_target] call EFUNC(common,carryObj)) exitwith {}; - -if (primaryWeapon _caller == "") then { - _caller addWeapon "ACE_FakePrimaryWeapon"; -}; -if (currentWeapon _caller != (primaryWeapon _caller)) then { - _caller selectWeapon (primaryWeapon _caller); -}; - -if (_carry) then { - _target attachTo [_caller, [0.1, -0.1, -1.25], "LeftShoulder"]; - [_target, "AinjPfalMstpSnonWnonDf_carried_dead", 2, true] call EFUNC(common,doAnimation); - [_caller, "acinpercmstpsraswrfldnon", 1] call EFUNC(common,doAnimation); -} else { - _target attachTo [_caller, [0.125, 1.007, 0]]; - _target setDir (getDir _target + 180) % 360; - _target setPos ((getPos _target) vectorAdd ((vectorDir _caller) vectorMultiply 1.5)); - [_caller, "AcinPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation); - [_target, "AinjPpneMstpSnonWrflDb", 2, true] call EFUNC(common,doAnimation); -}; - -[ - 2, - [_caller, _target, _carry], - { - private ["_caller","_target", "_carry", "_args"]; - _args = _this select 0; - _caller = _args select 0; - _target = _args select 1; - _carry = _args select 2; - - _target setvariable [QGVAR(beingCarried), _caller, true]; - _caller setvariable [QGVAR(carrying), _target, true]; - _caller setvariable [QGVAR(isCarrying), if (_carry) then {1} else {0}, true]; - - // Removing any old drop scroll wheel actions - // TODO Do we still want scroll wheel actions? - if (!isnil QGVAR(DROP_ADDACTION)) then { - _caller removeAction GVAR(DROP_ADDACTION); - GVAR(DROP_ADDACTION) = nil; - }; - // Adding the drop scroll wheel action. - GVAR(DROP_ADDACTION) = _caller addAction [format["Drop %1",[_target] call EFUNC(common,getName)], {[_this select 1, _this select 2] call FUNC(actionDropUnit);}]; - - [_target, true] call EFUNC(common,disableAI); - }, - { - [(_this select 0), objNull,[0, 0, 0]] call EFUNC(common,carryObj); - // TODO reset animations.. - }, - if (_carry) then {localize "STR_ACE_MEDICAL_ACTION_CARRY"} else {localize "STR_ACE_MEDICAL_ACTION_DRAG"}, - {true} -] call EFUNC(common,progressBar); diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index 28ed10c83c..a9228d1760 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -33,20 +33,20 @@ if ([_caller] call FUNC(isMedic)) then { } else { if (_bloodPressureHigh > 20) then { _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2"; - _logOutPut = "Low"; + _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW"; if (_bloodPressureHigh > 100) then { _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3"; - _logOutPut = "Normal"; + _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL"; if (_bloodPressureHigh > 160) then { _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4"; - _logOutPut = "High"; + _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH"; }; }; } else { if (random(10) > 3) then { _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5"; - _logOutPut = "No Blood Pressure"; + _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE"; } else { _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6"; }; @@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then { ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_target,"activity", "%1 checked Blood Pressure: %2", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); + [_target,"activity", localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index 73d1d07190..dcb098c925 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -33,14 +33,14 @@ if (_heartRate > 1.0) then { } else { // non medical personel will only find a pulse/HR _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2"; - _logOutPut = "Weak"; + _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_WEAK"; if (_heartRate > 60) then { if (_heartRate > 100) then { _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3"; - _logOutPut = "Strong"; + _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_STRONG"; } else { _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4"; - _logOutPut = "Normal"; + _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_NORMAL"; }; }; }; @@ -49,5 +49,5 @@ if (_heartRate > 1.0) then { ["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_unit,"activity","%1 checked Heart Rate: %2",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); + [_unit,"activity", localize "STR_ACE_MEDICAL_CHECK_PULSE_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf new file mode 100644 index 0000000000..234cc6d303 --- /dev/null +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -0,0 +1,41 @@ +/* +* Author: Glowbal +* Action for diagnosing in basic medical +* +* Arguments: +* 0: The medic +* 1: The patient +* +* Return Value: +* NONE +* +* Public: No +*/ + +#include "script_component.hpp" + +private ["_caller","_target","_title","_content"]; +_caller = _this select 0; +_target = _this select 1; + +_genericMessages = ["STR_ACE_MEDICAL_diagnoseMessage"]; + +_genericMessages pushBack ([_target] call EFUNC(common,getName)); +if (alive _target) then { + _genericMessages pushback "STR_ACE_MEDICAL_diagnoseAlive"; +} else { + _genericMessages pushback "STR_ACE_MEDICAL_diagnoseDead"; +}; +if (_target getvariable[QGVAR(hasLostBlood), false]) then { + _genericMessages pushback "STR_ACE_MEDICAL_lostBlood"; +} else { + _genericMessages pushback "STR_ACE_MEDICAL_noBloodloss"; +}; + +if (_target getvariable[QGVAR(hasPain), false]) then { + _genericMessages pushback "STR_ACE_MEDICAL_inPain"; +} else { + _genericMessages pushback "STR_ACE_MEDICAL_noPain"; +}; + +["displayTextStructured", [_caller], [_genericMessages, 3.0, _caller]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_actionDropUnit.sqf b/addons/medical/functions/fnc_actionDropUnit.sqf deleted file mode 100644 index 53883c93c1..0000000000 --- a/addons/medical/functions/fnc_actionDropUnit.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Author: Glowbal - * Drop a unit if the caller nit is currently dragging or carrying a unit - * - * Arguments: - * 0: The caller - * - * Return Value: - * NONE - * - * Public: No - */ - -#include "script_component.hpp" - -private "_caller"; -_caller = _this select 0; - -if (!isnil QGVAR(DROP_ADDACTION)) then { - [_caller,objNull] call EFUNC(common,carryObj); - _caller removeAction GVAR(DROP_ADDACTION); - GVAR(DROP_ADDACTION) = nil; -}; diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index b4320d8d73..990467521a 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -22,6 +22,12 @@ if ([_target] call EFUNC(common,isAwake)) exitwith { // TODO localization ["displayTextStructured", [_caller], [["This person (%1) is awake and cannot be loaded", [_target] call EFUNC(common,getName)], 1.5, _caller]] call EFUNC(common,targetEvent); }; +if ([_target] call FUNC(isBeingCarried)) then { + [_caller, _target] call FUNC(dropObject_carry); +}; +if ([_target] call FUNC(isBeingDragged)) then { + [_caller, _target] call FUNC(dropObject); +}; _vehicle = [_caller, _target] call EFUNC(common,loadPerson); if (!isNull _vehicle) then { diff --git a/addons/medical/functions/fnc_addToInjuredCollection.sqf b/addons/medical/functions/fnc_addToInjuredCollection.sqf index 82c385f0e1..cbe146d701 100644 --- a/addons/medical/functions/fnc_addToInjuredCollection.sqf +++ b/addons/medical/functions/fnc_addToInjuredCollection.sqf @@ -33,10 +33,10 @@ if ([_unit] call FUNC(hasMedicalEnabled) || _force) then { [_this select 1] call CBA_fnc_removePerFrameHandler; if (!local _unit) then { if (GVAR(level) >= 2) then { - _unit setvariable [QGVAR(heartRate), _unit getvariable [QGVAR(heartRate), 0], true]; - _unit setvariable [QGVAR(bloodPressure), _unit getvariable [QGVAR(bloodPressure), [0, 0]], true]; + _unit setvariable [QGVAR(heartRate), _unit getvariable [QGVAR(heartRate), 80], true]; + _unit setvariable [QGVAR(bloodPressure), _unit getvariable [QGVAR(bloodPressure), [80, 120]], true]; }; - _unit setvariable [QGVAR(bloodVolume), _unit getvariable [QGVAR(bloodVolume), 0], true]; + _unit setvariable [QGVAR(bloodVolume), _unit getvariable [QGVAR(bloodVolume), 100], true]; }; } else { [_unit] call FUNC(handleUnitVitals); diff --git a/addons/medical/functions/fnc_adjustPainLevel.sqf b/addons/medical/functions/fnc_adjustPainLevel.sqf new file mode 100644 index 0000000000..7e6ce2d5f1 --- /dev/null +++ b/addons/medical/functions/fnc_adjustPainLevel.sqf @@ -0,0 +1,40 @@ +/* + * Author: PabstMirror + * Interface to allow external modules to safely adjust pain levels. + * + * Arguments: + * 0: The patient + * 1: Added ammount of pain (can be negative) + * + * Return Value: + * The new pain level + * + * Example: + * [guy, 0.5] call ace_medical_fnc_adjustPainLevel + * + * Public: Yes + */ +#include "script_component.hpp" + +private ["_pain"]; + +PARAMS_2(_unit,_addedPain); + +//Only run on local units: +if (!local _unit) exitWith {ERROR("unit is not local");}; + +//Ignore if medical system disabled: +if (GVAR(level) == 0) exitWith {}; + +_pain = _unit getVariable [QGVAR(pain), 0]; + +_pain = _pain + _addedPain; +if (GVAR(level) == 1) then {_pain = _pain min 1;}; //for basic, cap at 1 +_pain = _pain max 0; + +_unit setVariable [QGVAR(pain), _pain]; + +//Start up the vital watching (if not already running) +[_unit] call FUNC(addToInjuredCollection); + +_pain diff --git a/addons/medical/functions/fnc_canCarry.sqf b/addons/medical/functions/fnc_canCarry.sqf deleted file mode 100644 index a7db1f6cc3..0000000000 --- a/addons/medical/functions/fnc_canCarry.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Author: Glowbal - * Check if caller can carry or drag the target - * - * Arguments: - * 0: The caller - * 1: The target - * - * Return Value: - * NONE - * - * Public: No - */ - -#include "script_component.hpp" - - private ["_caller", "_target", "_positionUnit", "_carry"]; -_caller = _this select 0; -_target = _this select 1; - -if (!(_target isKindOf "CaManBase") || !(_caller isKindOf "CaManBase")) exitwith{false}; - -if (vehicle _caller != _caller || vehicle _target != _target) exitwith {false}; - -if (!([_caller] call EFUNC(common,canInteract)) || {_caller == _target} || {(([_target] call EFUNC(common,isAwake)))}) exitwith {false}; - -if (!alive _target) exitwith {GVAR(allowDeadBodyMovement)}; - -((isNull ([_caller] call FUNC(getCarriedObj))) && {isNull ([_target] call FUNC(getCarriedObj))} && {isNull ([_caller] call FUNC(getCarriedBy))} && {isNull ([_target] call FUNC(getCarriedBy))}) diff --git a/addons/medical/functions/fnc_canTreatCached.sqf b/addons/medical/functions/fnc_canTreatCached.sqf index 34d753b119..b1dfaf7d12 100644 --- a/addons/medical/functions/fnc_canTreatCached.sqf +++ b/addons/medical/functions/fnc_canTreatCached.sqf @@ -19,4 +19,4 @@ #define MAX_DURATION_CACHE 2 // parameters, function, namespace, uid -[_this, DFUNC(canTreat), _this select 0, format[QGVAR(canTreat_%1_%2), _this select 2, _this select 3], MAX_DURATION_CACHE, "clearConditionCaches"] call EFUNC(common,cachedCall); +[_this, DFUNC(canTreat), _this select 1, format[QGVAR(canTreat_%1_%2), _this select 2, _this select 3], MAX_DURATION_CACHE, "clearConditionCaches"] call EFUNC(common,cachedCall); diff --git a/addons/medical/functions/fnc_createLitter.sqf b/addons/medical/functions/fnc_createLitter.sqf index 570c6d63d3..5299fbb244 100644 --- a/addons/medical/functions/fnc_createLitter.sqf +++ b/addons/medical/functions/fnc_createLitter.sqf @@ -37,21 +37,21 @@ if !(isArray (_config >> "litter")) exitwith {}; _litter = getArray (_config >> "litter"); _createLitter = { + private["_position", "_litterClass", "_direction"]; _position = getPos (_this select 0); _litterClass = _this select 1; - _litterObject = createVehicle [_litterClass, _position, [], 0, "NONE"]; if (random(1) >= 0.5) then { - _litterObject setPos [(_position select 0) + random 2, (_position select 1) + random 2, _position select 2]; + _position = [(_position select 0) + random 2, (_position select 1) + random 2, _position select 2]; } else { - _litterObject setPos [(_position select 0) - random 2, (_position select 1) - random 2, _position select 2]; + _position = [(_position select 0) - random 2, (_position select 1) - random 2, _position select 2]; }; - _litterObject setDir (random 360); - _litterObject; -}; - -if (isnil QGVAR(allCreatedLitter)) then { - GVAR(allCreatedLitter) = []; - GVAR(litterPFHRunning) = false; + _direction = (random 360); + + // Create the litter, and timeout the event based on the cleanup delay + // The cleanup delay for events in MP is handled by the server side + [QGVAR(createLitter), [_litterClass,_position,_direction], 0] call EFUNC(common,syncedEvent); + + true }; _createdLitter = []; @@ -75,37 +75,13 @@ _createdLitter = []; // Loop through through the litter options and place the litter { if (typeName _x == "ARRAY" && {(count _x > 0)}) then { - _createdLitter pushback ([_target, _x select (floor(random(count _x)))] call _createLitter); + [_target, _x select (floor(random(count _x)))] call _createLitter; }; if (typeName _x == "STRING") then { - _createdLitter pushback ([_target, _x] call _createLitter); + [_target, _x] call _createLitter; }; }foreach _litterOptions; }; }; }; -}foreach _litter; - -if (GVAR(litterCleanUpDelay) >= 0) then { - GVAR(allCreatedLitter) pushback [time, GVAR(litterCleanUpDelay), _createdLitter]; -}; - -if !(GVAR(litterPFHRunning)) then { - GVAR(litterPFHRunning) = true; - [{ - { - if (time - (_x select 0) >= (_x select 1)) then { - { - deleteVehicle _x; - }foreach (_this select 2); - GVAR(allCreatedLitter) set[_foreachIndex, objNull]; - }; - }foreach GVAR(allCreatedLitter); - GVAR(allCreatedLitter) = GVAR(allCreatedLitter) - [objNull]; - - if (count GVAR(allCreatedLitter) == 0) exitwith { - GVAR(litterPFHRunning) = false; - [_this select 1] call CBA_fnc_removePerFrameHandler; - }; - }, 30, []] call CBA_fnc_addPerFrameHandler; -}; +}foreach _litter; \ No newline at end of file diff --git a/addons/medical/functions/fnc_determineIfFatal.sqf b/addons/medical/functions/fnc_determineIfFatal.sqf index 6c90e54da3..aedcf161ee 100644 --- a/addons/medical/functions/fnc_determineIfFatal.sqf +++ b/addons/medical/functions/fnc_determineIfFatal.sqf @@ -21,10 +21,10 @@ if ((vehicle _unit != _unit) && {!alive (vehicle _unit)}) exitwith { true }; // Find the correct Damage threshold for unit. _damageThreshold = [1,1,1]; -if (isPlayer _unit) then { - //_damageThreshold =_unit getvariable[QGVAR(unitDamageThreshold), [GVAR(damageThreshold_Players), GVAR(damageThreshold_Players), GVAR(damageThreshold_Players) * 1.7]]; +if ([_unit] call EFUNC(common,IsPlayer)) then { + _damageThreshold =_unit getvariable[QGVAR(unitDamageThreshold), [GVAR(playerDamageThreshold), GVAR(playerDamageThreshold), GVAR(playerDamageThreshold) * 1.7]]; } else { - //_damageThreshold =_unit getvariable[QGVAR(unitDamageThreshold), [GVAR(damageThreshold_AI), GVAR(damageThreshold_AI), GVAR(damageThreshold_AI) * 1.7]]; + _damageThreshold =_unit getvariable[QGVAR(unitDamageThreshold), [GVAR(AIDamageThreshold), GVAR(AIDamageThreshold), GVAR(AIDamageThreshold) * 1.7]]; }; _damageBodyPart = ((_unit getvariable [QGVAR(bodyPartStatus),[0, 0, 0, 0, 0, 0]]) select _part) + _withDamage; diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index 2e0525f1a3..1fc1051efa 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -14,6 +14,8 @@ #include "script_component.hpp" +// Exit for basic medical +if (GVAR(level) < 2) exitWith {}; private ["_target", "_show", "_selectionN"]; _target = _this select 0; _show = if (count _this > 1) then {_this select 1} else {true}; @@ -47,8 +49,10 @@ if (_show) then { _allInjuryTexts = []; _genericMessages = []; - _partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN; - _genericMessages pushback [localize _partText, [1, 1, 1, 1]]; + if (GVAR(level) >= 2) then { + _partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN; + _genericMessages pushback [localize _partText, [1, 1, 1, 1]]; + }; if (_target getvariable[QGVAR(isBleeding), false]) then { _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]]; @@ -126,12 +130,22 @@ if (_show) then { { _selectionBloodLoss set [_forEachIndex, _target getHitPointDamage _x]; - if (_target getHitPointDamage _x > 0.1 && {_forEachIndex == _selectionN}) then { - // @todo localize - _allInjuryTexts pushBack [format ["%1 %2", - ["Lightly wounded", "Heavily wounded"] select (_target getHitPointDamage _x > 0.5), - ["head", "torso", "left arm", "right arm", "left leg", "right leg"] select _forEachIndex - ], [1,1,1,1]]; + if (_target getHitPointDamage _x > 0 && {_forEachIndex == _selectionN}) then { + _pointDamage = _target getHitPointDamage _x; + _severity = switch (true) do { + case (_pointDamage > 0.5): {localize "STR_ACE_Medical_HeavilyWounded"}; + case (_pointDamage > 0.1): {localize "STR_ACE_Medical_LightlyWounded"}; + default {localize "STR_ACE_Medical_VeryLightlyWounded"}; + }; + _part = localize ([ + "STR_ACE_Medical_Head", + "STR_ACE_Medical_Torso", + "STR_ACE_Medical_LeftArm", + "STR_ACE_Medical_RightArm", + "STR_ACE_Medical_LeftLeg", + "STR_ACE_Medical_RightLeg" + ] select _forEachIndex); + _allInjuryTexts pushBack [format ["%1 %2", _severity, toLower _part], [1,1,1,1]]; }; } forEach ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; }; @@ -172,7 +186,7 @@ if (_show) then { _lbCtrl lbSetColor [_foreachIndex + _amountOfGeneric, _x select 1]; }foreach _allInjuryTexts; if (count _allInjuryTexts == 0) then { - _lbCtrl lbAdd "No injuries on this bodypart.."; + _lbCtrl lbAdd (localize "STR_ACE_Medical_NoInjuriesBodypart"); }; _logCtrl = (_display displayCtrl 302); diff --git a/addons/medical/functions/fnc_displayTriageCard.sqf b/addons/medical/functions/fnc_displayTriageCard.sqf index 5feb209b44..8e9660a3d5 100644 --- a/addons/medical/functions/fnc_displayTriageCard.sqf +++ b/addons/medical/functions/fnc_displayTriageCard.sqf @@ -58,7 +58,7 @@ if (_show) then { }foreach _log; if (count _triageCardTexts == 0) then { - _lbCtrl lbAdd "No entries on this triage card.."; + _lbCtrl lbAdd (localize "STR_ACE_MEDICAL_TriageCard_NoEntry"); }; { _lbCtrl lbAdd _x; diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index 6418d425e8..f6b26f7686 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -#define BLOODLOSSRATE_BASIC 0.4 +#define BLOODLOSSRATE_BASIC 0.2 private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; // TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). diff --git a/addons/medical/functions/fnc_handleBandageOpening.sqf b/addons/medical/functions/fnc_handleBandageOpening.sqf index b4e40984ae..21211c9c1b 100644 --- a/addons/medical/functions/fnc_handleBandageOpening.sqf +++ b/addons/medical/functions/fnc_handleBandageOpening.sqf @@ -59,20 +59,30 @@ if (isClass (_config >> _className)) then { _bandagedWounds = _target getvariable [QGVAR(bandagedWounds), []]; _exist = false; _injuryId = _injury select 0; +_bandagedInjury = []; { if ((_x select 0) == _injuryId) exitwith { _exist = true; _existingInjury = _x; _existingInjury set [3, (_existingInjury select 3) + _impact]; _bandagedWounds set [_foreachIndex, _existingInjury]; + + _bandagedInjury = _existingInjury; }; }foreach _bandagedWounds; if !(_exist) then { // [ID, classID, bodypart, percentage treated, bloodloss rate] - _bandagedWounds pushback [_injuryId, _injury select 1, _injury select 2, _impact, _injury select 4]; + _bandagedInjury = [_injuryId, _injury select 1, _injury select 2, _impact, _injury select 4]; + _bandagedWounds pushback _bandagedInjury; +}; + +_target setvariable [QGVAR(bandagedWounds), _bandagedWounds, !USE_WOUND_EVENT_SYNC]; + +if (USE_WOUND_EVENT_SYNC) then { + // sync _bandagedInjury + }; -_target setvariable [QGVAR(bandagedWounds), _bandagedWounds, true]; // Check if we are ever going to reopen this if (random(1) <= _reopeningChance) then { @@ -109,7 +119,7 @@ if (random(1) <= _reopeningChance) then { }foreach _bandagedWounds; if (_exist) then { - _target setvariable [QGVAR(bandagedWounds), _bandagedWounds, true]; + _target setvariable [QGVAR(bandagedWounds), _bandagedWounds, !USE_WOUND_EVENT_SYNC]; }; }; // Otherwise something went wrong, we we don't reopen them.. diff --git a/addons/medical/functions/fnc_handleCreateLitter.sqf b/addons/medical/functions/fnc_handleCreateLitter.sqf new file mode 100644 index 0000000000..ee7e591cd1 --- /dev/null +++ b/addons/medical/functions/fnc_handleCreateLitter.sqf @@ -0,0 +1,48 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +if(!hasInterface) exitWith { false }; + +PARAMS_3(_litterClass,_position,_direction); +private["_litterObject", "_maxLitterCount"]; + +if (isNil QGVAR(allCreatedLitter)) then { + GVAR(allCreatedLitter) = []; + GVAR(litterPFHRunning) = false; +}; + +_litterObject = _litterClass createVehicleLocal _position; +_litterObject setDir _direction; + +_maxLitterCount = getArray (configFile >> "ACE_Settings" >> QGVAR(litterSimulationDetail) >> "_values") select GVAR(litterSimulationDetail); +if((count GVAR(allCreatedLitter)) > _maxLitterCount ) then { + // gank the first litter object, and spawn ours. + private["_oldLitter"]; + _oldLitter = GVAR(allCreatedLitter) deleteAt 0; + { + deleteVehicle _x; + } forEach (_oldLitter select 1); +}; + +GVAR(allCreatedLitter) pushBack [time, [_litterObject]]; + +if(!GVAR(litterPFHRunning) && {GVAR(litterCleanUpDelay) > 0}) then { + [{ + { + if (time - (_x select 0) >= GVAR(litterCleanUpDelay)) then { + { + deleteVehicle _x; + } forEach (_x select 1); + GVAR(allCreatedLitter) set[_foreachIndex, objNull]; + }; + } forEach GVAR(allCreatedLitter); + GVAR(allCreatedLitter) = GVAR(allCreatedLitter) - [objNull]; + + if ( (count GVAR(allCreatedLitter)) == 0) exitwith { + [(_this select 1)] call CBA_fnc_removePerFrameHandler; + GVAR(litterPFHRunning) = false; + }; + }, 30, []] call cba_fnc_addPerFrameHandler; +}; + +true \ No newline at end of file diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 074f8c41fa..c13818bbcd 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_hitPoints", "_typeOfDamage"]; +private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage"]; _unit = _this select 0; _selection = _this select 1; _damage = _this select 2; @@ -32,8 +32,7 @@ if (typeName _projectile == "OBJECT") then { }; // If the damage is being weird, we just tell it to fuck off. -_hitSelections = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; -if !(_selection in (_hitSelections + [""])) exitWith {0}; +if !(_selection in (GVAR(SELECTIONS) + [""])) exitWith {0}; _damageReturn = _damage; if (GVAR(level) < 2) then { @@ -46,8 +45,7 @@ if (GVAR(level) >= 2) then { // lets use basic for the time being.. _damageReturn = _this call FUNC(handleDamage_basic); }; - - [_unit, _selection, _damage, _source, _projectile] call FUNC(handleDamage_caching); + _newDamage = _this call FUNC(handleDamage_caching); if (_damageReturn > 0.9) then { @@ -59,10 +57,10 @@ if (GVAR(level) >= 2) then { _minLethalDamage = GVAR(minLethalDamages) select _typeIndex; }; - _hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; - _newDamage = _damage - (damage _unit); - if (_selection in _hitSelections) then { - _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selection))); + if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selection == ""}) then { + if (GVAR(enableVehicleCrashes)) then { + _selection = GVAR(SELECTIONS) select (floor(random(count GVAR(SELECTIONS)))); + }; }; if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)} && {_selection in ["", "head", "body"]}) then { diff --git a/addons/medical/functions/fnc_handleDamage_advanced.sqf b/addons/medical/functions/fnc_handleDamage_advanced.sqf index 751896be44..8bd0267d3f 100644 --- a/addons/medical/functions/fnc_handleDamage_advanced.sqf +++ b/addons/medical/functions/fnc_handleDamage_advanced.sqf @@ -25,21 +25,23 @@ _selectionName = _this select 1; _amountOfDamage = _this select 2; _sourceOfDamage = _this select 3; _typeOfProjectile = _this select 4; +_newDamage = _this select 5; // Most likely taking exessive fire damage. Lets exit. -if (isNull _sourceOfDamage && (_selectionName == "head" || isBurning _unit) && _typeOfProjectile == "" && vehicle _unit == _unit) exitwith { +if (isNull _sourceOfDamage && {_typeOfProjectile == ""} && {vehicle _unit == _unit} && {(_selectionName == "head" || isBurning _unit)}) exitwith { 0 }; - _typeOfDamage = [_typeOfProjectile] call FUNC(getTypeOfDamage); _part = [_selectionName] call FUNC(selectionNameToNumber); +if (_part < 0) exitwith {}; _hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; // Sorting out the damage _damageBodyParts = _unit getvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0]]; -_newDamage = _amountOfDamage - (_unit getHitPointDamage (_hitPoints select _part)); + _damageBodyParts set [_part, (_damageBodyParts select _part) + _newDamage]; _unit setvariable [QGVAR(bodyPartStatus), _damageBodyParts, true]; + [_unit] call FUNC(handleDamage_advancedSetDamage); [_unit, _selectionName, _newDamage, _typeOfProjectile, _typeOfDamage] call FUNC(handleDamage_wounds); diff --git a/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf b/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf index 74db6029d2..f464ef5a94 100644 --- a/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf @@ -16,9 +16,7 @@ private ["_unit", "_bodyStatus", "_headDamage", "_torsoDamage", "_handsDamage", "_legsDamage"]; _unit = _this select 0; -if (!local _unit) exitwith { - // execute only local -}; +if (!local _unit) exitwith {}; _bodyStatus = _unit getvariable [QGVAR(bodyPartStatus),[0,0,0,0,0,0]]; // ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"] diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 2986e1b2f7..aa9c2f61df 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -42,15 +42,25 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo), -3]) + 2) then { _unit setVariable [QGVAR(damages), []]; _unit setVariable [QGVAR(structDamage), 0]; _unit setVariable [QGVAR(preventDeath), false]; + // Assign orphan structural damage to torso + [{ + private ["_unit", "_damagesum"]; + _unit = _this select 0; + _damagesum = (_unit getHitPointDamage "HitHead") + + (_unit getHitPointDamage "HitBody") + + (_unit getHitPointDamage "HitLeftArm") + + (_unit getHitPointDamage "HitRightArm") + + (_unit getHitPointDamage "HitLeftLeg") + + (_unit getHitPointDamage "HitRightLeg"); + if (_damagesum < 0.06 and damage _unit > 0.06 and alive _unit) then { + _unit setHitPointDamage ["HitBody", damage _unit]; + }; + }, [_unit], 2, 0.1] call EFUNC(common,waitAndExecute); }; - -_hitSelections = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; -_hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; - _newDamage = _damage - (damage _unit); -if (_selectionName in _hitSelections) then { - _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))); +if (_selectionName in GVAR(SELECTIONS)) then { + _newDamage = _damage - (_unit getHitPointDamage (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName))); }; _damage = _damage - _newDamage; @@ -61,7 +71,7 @@ if (((velocity _unit) select 2 < -5) and (vehicle _unit == _unit)) then { _unit setVariable [QGVAR(isFalling), true]; }; if (_unit getVariable [QGVAR(isFalling), false] and !(_selectionName in ["", "leg_l", "leg_r"])) exitWith { - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))) max 0.01; + (_unit getHitPointDamage (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName))) max 0.01; }; if (_unit getVariable [QGVAR(isFalling), false]) then { _newDamage = _newDamage * 0.7; @@ -85,12 +95,12 @@ if (_selectionName != "" and !(_unit getVariable QGVAR(isFalling))) then { // Make entry unfindable _cache_projectiles set [_index, objNull]; _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); + _cache_hitpoints pushBack (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName)); _cache_damages pushBack _newDamage; }; } else { _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); + _cache_hitpoints pushBack (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName)); _cache_damages pushBack _newDamage; }; _unit setVariable [QGVAR(projectiles), _cache_projectiles]; @@ -109,30 +119,12 @@ if (_selectionName == "") then { }; }; - -// Assign orphan structural damage to torso -[{ - private ["_unit", "_damagesum"]; - _unit = _this select 0; - _damagesum = (_unit getHitPointDamage "HitHead") + - (_unit getHitPointDamage "HitBody") + - (_unit getHitPointDamage "HitLeftArm") + - (_unit getHitPointDamage "HitRightArm") + - (_unit getHitPointDamage "HitLeftLeg") + - (_unit getHitPointDamage "HitRightLeg"); - if (_damagesum < 0.06 and damage _unit > 0.06 and alive _unit) then { - _unit setHitPointDamage ["HitBody", damage _unit]; - }; -}, [_unit], 2, 0.1] call EFUNC(common,waitAndExecute); - - if (_selectionName == "") then { _damage = _damage + (_unit getVariable QGVAR(structDamage)); } else { _damage = _damage + _newDamage; }; - // Leg Damage _legdamage = (_unit getHitPointDamage "HitLeftLeg") + (_unit getHitPointDamage "HitRightLeg"); if (_selectionName == "leg_l") then { @@ -143,9 +135,9 @@ if (_selectionName == "leg_r") then { }; if (_legdamage >= LEGDAMAGETRESHOLD1) then { - if (_unit getHitPointDamage "HitLegs" != 1) then {_unit setHitPointDamage ["HitLegs", 1]}; + _unit setHitPointDamage ["HitLegs", 1]; } else { - if (_unit getHitPointDamage "HitLegs" != 0) then {_unit setHitPointDamage ["HitLegs", 0]}; + _unit setHitPointDamage ["HitLegs", 0]; }; // @todo: force prone for completely fucked up legs. @@ -160,9 +152,9 @@ if (_selectionName == "hand_r") then { }; if (_armdamage >= ARMDAMAGETRESHOLD1) then { - if (_unit getHitPointDamage "HitHands" != 1) then {_unit setHitPointDamage ["HitHands", 1]}; + _unit setHitPointDamage ["HitHands", 1]; } else { - if (_unit getHitPointDamage "HitHands" != 0) then {_unit setHitPointDamage ["HitHands", 0]}; + _unit setHitPointDamage ["HitHands", 0]; }; // @todo: Drop weapon for full damage. @@ -174,7 +166,6 @@ if (_selectionName == "") then { _unit setVariable [QGVAR(pain), _pain min 1, true]; }; - // Unconsciousness if (_selectionName == "" and _damage >= UNCONSCIOUSNESSTRESHOLD and diff --git a/addons/medical/functions/fnc_handleDamage_caching.sqf b/addons/medical/functions/fnc_handleDamage_caching.sqf index ddd0b6c920..95d750843d 100644 --- a/addons/medical/functions/fnc_handleDamage_caching.sqf +++ b/addons/medical/functions/fnc_handleDamage_caching.sqf @@ -25,8 +25,8 @@ _damage = _this select 2; _source = _this select 3; _projectile = _this select 4; -_hitSelections = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; -_hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; +_hitSelections = GVAR(SELECTIONS); +_hitPoints = GVAR(HITPOINTS); // Calculate change in damage. _newDamage = _damage - (damage _unit); @@ -34,19 +34,11 @@ if (_selectionName in _hitSelections) then { _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))); }; - -// we want to move damage to another selection; have to do it ourselves. -// this is only the case for limbs, so this will not impact the killed EH. -if (_selectionName != (_this select 1)) then { - _unit setHitPointDamage [_hitPoints select (_hitSelections find _selectionName), _damage + _newDamage]; - _newDamage = 0; -}; -// ?????? -_damage = _damage + _newDamage; +//_damage = _damage + _newDamage; // Check for vehicle crash -if (vehicle _unit != _unit && !(vehicle _unit isKindOf "StaticWeapon") && {isNull _source} && {_projectile == ""} && {_selectionName == ""}) then { - if (missionNamespace getvariable [QGVAR(allowVehicleCrashDamage), true]) then { +if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selectionName == ""}) then { + if (GVAR(enableVehicleCrashes)) then { _selectionName = _hitSelections select (floor(random(count _hitSelections))); _projectile = "vehiclecrash"; }; @@ -54,10 +46,11 @@ if (vehicle _unit != _unit && !(vehicle _unit isKindOf "StaticWeapon") && {isNul // From AGM medical: // Exclude falling damage to everything other than legs; reduce structural damage. -if (((velocity _unit) select 2 < -5) && (vehicle _unit == _unit)) then { +if (((velocity _unit) select 2 < -5) && {(vehicle _unit == _unit)}) then { _unit setVariable [QGVAR(isFalling), True]; }; -if (_unit getVariable [QGVAR(isFalling), false] && !(_selectionName in ["", "leg_l", "leg_r"])) exitWith {}; + +if (_unit getVariable [QGVAR(isFalling), false] && {!(_selectionName in ["", "leg_l", "leg_r"])}) exitWith {}; if (_unit getVariable [QGVAR(isFalling), false]) then { _newDamage = _newDamage * 0.7; }; @@ -69,21 +62,16 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo_damageCaching), -3]) + 2) t // handle the cached damages 3 frames later [{ - private ["_args","_unit","_frameNo"]; + private ["_args", "_params"]; _args = _this select 0; - _unit = _args select 0; - _frameNo = _args select 1; - if (diag_frameno > _frameNo + 2) then { - _cache_projectiles = _unit getVariable [QGVAR(cachedProjectiles), []]; - _cache_hitpoints = _unit getVariable [QGVAR(cachedHitPoints), []]; - _cache_damages = _unit getVariable [QGVAR(cachedDamages), []]; - _cache_params = _unit getVariable [QGVAR(cachedHandleDamageParams), []]; + if (diag_frameno > (_args select 1) + 2) then { + _cache_params = (_args select 0) getVariable [QGVAR(cachedHandleDamageParams), []]; + _cache_damages = (_args select 0) getVariable QGVAR(cachedDamages); { - if (typeName _x == typeName "") then { - (_cache_params select _foreachIndex) call FUNC(handleDamage_advanced); - }; - }foreach _cache_projectiles; + _params = _x + [_cache_damages select _foreachIndex]; + _params call FUNC(handleDamage_advanced); + }foreach _cache_params; [(_this select 1)] call cba_fnc_removePerFrameHandler; }; }, 0, [_unit, diag_frameno] ] call CBA_fnc_addPerFrameHandler; @@ -94,52 +82,54 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo_damageCaching), -3]) + 2) t _unit setVariable [QGVAR(cachedHandleDamageParams), []]; }; -// Make sure there's only one damaged selection per projectile per frame. -_cache_projectiles = _unit getVariable QGVAR(cachedProjectiles); -_cache_hitpoints = _unit getVariable QGVAR(cachedHitPoints); -_cache_damages = _unit getVariable QGVAR(cachedDamages); -_cache_params = _unit getVariable QGVAR(cachedHandleDamageParams); - // Caching of the damage events if (_selectionName != "") then { - + _cache_projectiles = _unit getVariable QGVAR(cachedProjectiles); + private ["_index","_otherDamage"]; + _index = _cache_projectiles find _projectile; // Check if the current projectile has already been handled once - if (_projectile in _cache_projectiles) then { - private ["_index","_otherDamage"]; - // if it has been handled, find the index in the cache - _index = _cache_projectiles find _projectile; - + if (_index >= 0) exitwith { + _cache_damages = _unit getVariable QGVAR(cachedDamages); // Find the previous damage this projectile has done _otherDamage = (_cache_damages select _index); // Take the highest damage of the two - if (_otherDamage > _newDamage) then { - _newDamage = 0; - } else { + if (_newDamage > _otherDamage) then { + _cache_params = _unit getVariable QGVAR(cachedHandleDamageParams); + _cache_hitpoints = _unit getVariable QGVAR(cachedHitPoints); + private ["_hitPoint", "_restore"]; // Restore the damage before the previous damage was processed _hitPoint = _cache_hitpoints select _index; _restore = ((_unit getHitPointDamage _hitPoint) - _otherDamage) max 0; _unit setHitPointDamage [_hitPoint, _restore]; - // Make entry unfindable and add the new damage cache - _cache_projectiles set [_index, objNull]; - _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); - _cache_damages pushBack _newDamage; - _cache_params pushBack [_unit, _selectionName, _damage, _source, _projectile]; + _cache_hitpoints set [_index, (_hitPoints select (_hitSelections find _selectionName))]; + _cache_damages set [_index, _newDamage]; + _cache_params set[_index, _this]; + + _unit setVariable [QGVAR(cachedProjectiles), _cache_projectiles]; + _unit setVariable [QGVAR(cachedHitPoints), _cache_hitpoints]; + _unit setVariable [QGVAR(cachedDamages), _cache_damages]; + _unit setVariable [QGVAR(cachedHandleDamageParams), _cache_params]; }; - } else { - // This is an unhandled projectile - _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); - _cache_damages pushBack _newDamage; - _cache_params pushBack [_unit, _selectionName, _damage, _source, _projectile]; }; + + _cache_hitpoints = _unit getVariable QGVAR(cachedHitPoints); + _cache_damages = _unit getVariable QGVAR(cachedDamages); + _cache_params = _unit getVariable QGVAR(cachedHandleDamageParams); + + // This is an unhandled projectile + _cache_projectiles pushBack _projectile; + _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); + _cache_damages pushBack _newDamage; + _cache_params pushBack _this; + + // Store the new cached values + _unit setVariable [QGVAR(cachedProjectiles), _cache_projectiles]; + _unit setVariable [QGVAR(cachedHitPoints), _cache_hitpoints]; + _unit setVariable [QGVAR(cachedDamages), _cache_damages]; + _unit setVariable [QGVAR(cachedHandleDamageParams), _cache_params]; }; -// Store the new cached values -_unit setVariable [QGVAR(cachedProjectiles), _cache_projectiles]; -_unit setVariable [QGVAR(cachedHitPoints), _cache_hitpoints]; -_unit setVariable [QGVAR(cachedDamages), _cache_damages]; -_unit setVariable [QGVAR(cachedHandleDamageParams), _cache_params]; +_newDamage; diff --git a/addons/medical/functions/fnc_handleDamage_wounds.sqf b/addons/medical/functions/fnc_handleDamage_wounds.sqf index 1eebe038cd..b45a974166 100644 --- a/addons/medical/functions/fnc_handleDamage_wounds.sqf +++ b/addons/medical/functions/fnc_handleDamage_wounds.sqf @@ -52,10 +52,10 @@ _allPossibleInjuries = []; // Check if the damage is higher as the min damage for the specific injury if (_damage >= _minDamage && {_damage <= _maxDamage || _maxDamage < 0}) then { - _classType = _x select 0; + //_classType = _x select 0; _selections = _x select 1; - _bloodLoss = _x select 2; - _pain = _x select 3; + //_bloodLoss = _x select 2; + //_pain = _x select 3; // Check if the injury can be applied to the given selection name if ("All" in _selections || _selectionName in _selections) then { @@ -73,9 +73,7 @@ _allPossibleInjuries = []; }foreach _allInjuriesForDamageType; // No possible wounds available for this damage type or damage amount. -if (_highestPossibleSpot < 0) exitwith { - -}; +if (_highestPossibleSpot < 0) exitwith {}; // Administration for open wounds and ids _openWounds = _unit getvariable[QGVAR(openWounds), []]; @@ -125,7 +123,7 @@ _woundsCreated = []; _painToAdd = _painToAdd + (_toAddInjury select 3); }; }; -}foreach (_injuryTypeInfo select 0); +}foreach (_injuryTypeInfo select 0); // foreach damage thresholds _unit setvariable [QGVAR(openWounds), _openWounds, !USE_WOUND_EVENT_SYNC]; @@ -135,7 +133,6 @@ if (count _woundsCreated > 0) then { }; if (USE_WOUND_EVENT_SYNC) then { - // TODO Should this be done in a single broadcast? // Broadcast the new injuries across the net in parts. One broadcast per injury. Prevents having to broadcast one massive array of injuries. { ["medical_propagateWound", [_unit, _x]] call EFUNC(common,globalEvent); diff --git a/addons/medical/functions/fnc_handleLocal.sqf b/addons/medical/functions/fnc_handleLocal.sqf index 5d9c5865a4..f79c1c3a6d 100644 --- a/addons/medical/functions/fnc_handleLocal.sqf +++ b/addons/medical/functions/fnc_handleLocal.sqf @@ -22,4 +22,14 @@ if (_local) then { if (_unit getvariable[QGVAR(addedToUnitLoop),false]) then { [_unit, true] call FUNC(addToInjuredCollection); }; + + if ((_unit getvariable ["ACE_isUnconscious",false]) && {count (_unit getvariable [QGVAR(unconsciousArguments), []]) >= 7}) then { + private "_arguments"; + _arguments = (_unit getvariable [QGVAR(unconsciousArguments), []]); + _arguments set [ 3, time]; + + [DFUNC(unconsciousPFH), 0.1, _arguments ] call CBA_fnc_addPerFrameHandler; + + _unit setvariable [QGVAR(unconsciousArguments), nil, true]; + }; }; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index fc13e19d29..411f64b49e 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -27,10 +27,9 @@ if (_syncValues) then { _unit setvariable [QGVAR(lastMomentValuesSynced), time]; }; -_bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 0]) + ([_unit] call FUNC(getBloodVolumeChange)); -if (_bloodVolume <= 0) then { - _bloodVolume = 0; -}; +_bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 100]) + ([_unit] call FUNC(getBloodVolumeChange)); +_bloodVolume = _bloodVolume max 0; + _unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues]; // Set variables for synchronizing information across the net @@ -78,15 +77,11 @@ if (GVAR(level) == 1) then { // bleeding _blood = _unit getVariable [QGVAR(bloodVolume), 100]; - _blood = (_blood - 0.4 * (damage _unit) * _interval) max 0; - if (_blood != (_unit getVariable [QGVAR(bloodVolume), 100])) then { - _unit setVariable [QGVAR(bloodVolume), _blood, _syncValues]; - if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then { - [_unit, true] call FUNC(setUnconscious); - }; - if (_blood == 0) then { - [_unit] call FUNC(setDead); - }; + if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then { + [_unit, true] call FUNC(setUnconscious); + }; + if (_blood == 0) then { + [_unit] call FUNC(setDead); }; }; @@ -99,13 +94,13 @@ if (GVAR(level) >= 2) then { if ([_unit] call EFUNC(common,isAwake)) then { if (_bloodVolume < 60) then { if (random(1) > 0.9) then { - [_unit] call FUNC(setUnconscious); + [_unit, true, 15 + random(20)] call FUNC(setUnconscious); }; }; }; // Set the vitals - _heartRate = (_unit getvariable [QGVAR(heartRate), 0]) + (([_unit] call FUNC(getHeartRateChange)) * _interval); + _heartRate = (_unit getvariable [QGVAR(heartRate), 80]) + (([_unit] call FUNC(getHeartRateChange)) * _interval); _unit setvariable [QGVAR(heartRate), _heartRate, _syncValues]; _bloodPressure = [_unit] call FUNC(getBloodPressure); @@ -141,7 +136,7 @@ if (GVAR(level) >= 2) then { if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then { if (_heartRate < 10 || _bloodPressureH < 30 || _bloodVolume < 20) then { - [_unit] call FUNC(setUnconscious); // safety check to ensure unconsciousness for units if they are not dead already. + [_unit, true, 10+ random(20)] call FUNC(setUnconscious); // safety check to ensure unconsciousness for units if they are not dead already. }; if (_bloodPressureH > 260) then { diff --git a/addons/medical/functions/fnc_init.sqf b/addons/medical/functions/fnc_init.sqf index ed8301b6b2..d01a63b3a5 100644 --- a/addons/medical/functions/fnc_init.sqf +++ b/addons/medical/functions/fnc_init.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_allUsedMedication", "_logs"]; +private ["_unit", "_allUsedMedication", "_logs", "_forceNew"]; _unit = _this select 0; @@ -28,6 +28,7 @@ _unit setvariable [QGVAR(tourniquets), [0,0,0,0,0,0], true]; _unit setvariable [QGVAR(openWounds), [], true]; _unit setvariable [QGVAR(bandagedWounds), [], true]; _unit setVariable [QGVAR(internalWounds), [], true]; +_unit setvariable [QGVAR(lastUniqueWoundID), 1, true]; // vitals _unit setVariable [QGVAR(heartRate), 80]; @@ -36,24 +37,24 @@ _unit setvariable [QGVAR(bloodPressure), [80, 120]]; _unit setVariable [QGVAR(peripheralResistance), 100]; // fractures -_unit setVariable [QGVAR(fractures), []]; +_unit setVariable [QGVAR(fractures), [], true]; // triage card and logs _unit setvariable [QGVAR(triageLevel), 0, true]; _unit setvariable [QGVAR(triageCard), [], true]; // IVs -_unit setVariable [QGVAR(salineIVVolume), 0]; -_unit setVariable [QGVAR(plasmaIVVolume), 0]; -_unit setVariable [QGVAR(bloodIVVolume), 0]; +_unit setVariable [QGVAR(salineIVVolume), 0, true]; +_unit setVariable [QGVAR(plasmaIVVolume), 0, true]; +_unit setVariable [QGVAR(bloodIVVolume), 0, true]; // damage storage _unit setvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0], true]; // airway -_unit setvariable [QGVAR(airwayStatus), 100, true]; -_unit setVariable [QGVAR(airwayOccluded), false, true]; -_unit setvariable [QGVAR(airwayCollapsed), false, true]; +_unit setvariable [QGVAR(airwayStatus), 100]; +_unit setVariable [QGVAR(airwayOccluded), false]; +_unit setvariable [QGVAR(airwayCollapsed), false]; // generic medical admin _unit setvariable [QGVAR(addedToUnitLoop), false, true]; @@ -69,11 +70,11 @@ _allUsedMedication = _unit getVariable [QGVAR(allUsedMedication), []]; { _unit setvariable [_x select 0, nil]; } foreach _allUsedMedication; -_unit setVariable [QGVAR(allUsedMedication), []]; +_unit setVariable [QGVAR(allUsedMedication), [], true]; _logs = _unit getvariable [QGVAR(allLogs), []]; { - _unit setvariable [_x, nil, true]; + _unit setvariable [_x, nil]; } foreach _logs; _unit setvariable [QGVAR(allLogs), [], true]; diff --git a/addons/medical/functions/fnc_modifyMedicalAction.sqf b/addons/medical/functions/fnc_modifyMedicalAction.sqf new file mode 100644 index 0000000000..66398a2590 --- /dev/null +++ b/addons/medical/functions/fnc_modifyMedicalAction.sqf @@ -0,0 +1,40 @@ +/* + * Author: esteldunedain + * Modify the visuals of a medical action point. + * On Basic medical: modify the icon color based on damage on that body part. + * + * Arguments: + * 0: The Patient Unit + * 1: The Diagnosing Unit + * 2: Selection Number + * 3: The action to modify + * + * ReturnValue: + * nil + * + * Public: No + */ + +#include "script_component.hpp" + +EXPLODE_4_PVT(_this,_target,_player,_selectionN,_actionData); +if (GVAR(level) < 2) exitwith { + private ["_pointDamage"]; + _pointDamage = _target getHitPointDamage (["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"] select _selectionN); + + if (_pointDamage >= 0.8) exitWith { + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + }; + if (_pointDamage > 0) exitWith { + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))]; + }; +}; + +private ["_openWounds", "_amountOf"]; +_openWounds = _target getvariable [QGVAR(openWounds), []]; +{ + _amountOf = _x select 3; + if (_amountOf > 0 && {(_selectionN == (_x select 2))}) exitwith { + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + }; +}foreach _openWounds; diff --git a/addons/medical/functions/fnc_onCarryObjectDropped.sqf b/addons/medical/functions/fnc_onCarryObjectDropped.sqf deleted file mode 100644 index 6a6a990d53..0000000000 --- a/addons/medical/functions/fnc_onCarryObjectDropped.sqf +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Author: Glowbal - * Called on event CarryObjectDropped - * - * Arguments: - * 0: The caller - * - * Return Value: - * NONE - * - * Public: No - */ - -#include "script_component.hpp" - -private ["_unit","_params"]; -_caller = _this select 0; -_target = _caller getvariable [QGVAR(carrying), objNull]; -_carrying = _caller getvariable [QGVAR(isCarrying), -1]; - -if (_carrying >= 0) then { - if !(isNull (_target getvariable [QGVAR(copyOfUnit), objNull])) then { - _copy = _target; - _target = _copy getvariable [QGVAR(copyOfUnit), objNull]; - if (isMultiplayer) then { - _target hideObjectGlobal false; - } else { - _target hideObject false; - }; - detach _copy; - deleteVehicle _copy; - _target setvariable [QGVAR(disableInteraction), nil, true]; - _target setvariable [QGVAR(hasCopy), nil, true]; - }; - - _caller setvariable [QGVAR(isCarrying), -1, true]; - if (primaryWeapon _caller == "ACE_FakePrimaryWeapon") then { - _caller removeWeapon "ACE_FakePrimaryWeapon"; - }; - - [_target, false] call EFUNC(common,disableAI); - _caller setvariable[QGVAR(onStartMovingUnitParams), nil]; - - // handle the drag & carry administration - if (_carrying == 0) then { - _target setvariable [QGVAR(beingDragged), nil, true]; - _caller setvariable [QGVAR(dragging), nil, true]; - } else { - _target setvariable [QGVAR(beingCarried), nil, true]; - _caller setvariable [QGVAR(carrying), nil, true]; - }; - - // handle the drag & carry animiations - if ([_caller] call EFUNC(common,isAwake) && (vehicle _caller == _caller)) then { - [_caller,"amovpercmstpsraswrfldnon_amovpknlmstpslowwrfldnon", 1] call EFUNC(common,doAnimation); - }; - - if (vehicle _target == _target) then { - if (_carrying == 0) then { - [_target,"AinjPpneMstpSnonWrflDb_release", 2, true] call EFUNC(common,doAnimation); - } else { - [_target,"AinjPfalMstpSnonWrflDnon_carried_Down", 2, true] call EFUNC(common,doAnimation); - }; - } else { - if ([_target] call EFUNC(common,isAwake)) then { - [_target,"", 2] call EFUNC(common,doAnimation); // TODO play animation for the current seat instead - } else { - // this might not work properly - [_target,([_target] call EFUNC(common,getDeathAnim)), 1] call EFUNC(common,doAnimation); - }; - }; - - // Ensure that the unit does not get dropped through the floor of a building - if (!surfaceIsWater getPos _caller) then { - [{ - EXPLODE_3_PVT(_this,_caller,_target,_killOnDrop); - if (vehicle _target == _target && (vehicle _caller == _caller)) then { - // This will set the target body/unit on the correct position, so it doesn't fall through floors. - _positionUnit = getPosATL _target; - _positionUnit set [2, (getPosATL _caller) select 2]; - _target setPosATL _positionUnit; - }; - }, [_caller,_target], 0.5, 0.5] call EFUNC(common,waitAndExecute); - }; -}; \ No newline at end of file diff --git a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf index c160e47ea0..ccbb373648 100644 --- a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf +++ b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf @@ -1,11 +1,10 @@ /* * Author: Glowbal - * Enabled the vitals loop for a unit. + * Handles an wound update request. * * Arguments: * 0: The Unit - * 1: the last known ID - * 2: Origin object + * 1: Origin object * * ReturnValue: * @@ -14,12 +13,11 @@ */ #include "script_component.hpp" -private ["_unit", "_lastId", "_openWounds"]; +private ["_unit", "_openWounds"]; _unit = _this select 0; -_lastId = _this select 1; -_originOfrequest = _this select 2; +_originOfrequest = _this select 1; -if (local _unit) then { +if (local _unit && !(local _originOfrequest)) then { _openWounds = _unit getvariable [QGVAR(openWounds), []]; { ["medical_propagateWound", [_originOfrequest], [_unit, _x]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_requestWoundSync.sqf b/addons/medical/functions/fnc_requestWoundSync.sqf index bf6f881930..7144c49684 100644 --- a/addons/medical/functions/fnc_requestWoundSync.sqf +++ b/addons/medical/functions/fnc_requestWoundSync.sqf @@ -14,11 +14,11 @@ #include "script_component.hpp" -private [ "_target", "_caller", "_openWounds","_lastId"]; +private [ "_target", "_caller", "_openWounds"]; _target = _this select 0; _caller = _this select 1; if (local _target || GVAR(level) < 2) exitwith {}; // if the target is local, we already got the most update to date information if (_target getvariable [QGVAR(isWoundSynced), false]) exitwith {}; _target setvariable [QGVAR(isWoundSynced), true]; -["medical_woundUpdateRequest", [_target], [_target, _lastId, _caller]] call EFUNC(common,targetEvent); +["medical_woundUpdateRequest", [_target], [_target, _caller]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_setCardiacArrest.sqf b/addons/medical/functions/fnc_setCardiacArrest.sqf index cebf968898..b4483defc2 100644 --- a/addons/medical/functions/fnc_setCardiacArrest.sqf +++ b/addons/medical/functions/fnc_setCardiacArrest.sqf @@ -33,7 +33,7 @@ _timeInCardiacArrest = 120 + round(random(600)); _startTime = _args select 1; _timeInCardiacArrest = _args select 2; - _heartRate = _unit getvariable [QGVAR(heartRate), 0]; + _heartRate = _unit getvariable [QGVAR(heartRate), 80]; if (_heartRate > 0 || !alive _unit) exitwith { [(_this select 1)] call cba_fnc_removePerFrameHandler; _unit setvariable [QGVAR(inCardiacArrest), nil,true]; diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index dcd3f98f05..86f9425d23 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -23,23 +23,28 @@ _set = if (count _this > 1) then {_this select 1} else {true}; _minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY}; if !(_set) exitwith { - _unit setvariable ["ACE_isUnconscious", false,true]; + _unit setvariable ["ACE_isUnconscious", false, true]; }; -if !(!(isNull _unit) && {(_unit isKindOf "CaManBase") && ([_unit] call EFUNC(common,isAwake))}) exitwith{}; +if !(!(isNull _unit) && {(_unit isKindOf "CAManBase") && ([_unit] call EFUNC(common,isAwake))}) exitwith{}; -// We only want this function to work on local machines if (!local _unit) exitwith { [[_unit], QUOTE(DFUNC(setUnconscious)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ }; -// Set the unit in the unconscious state. _unit setvariable ["ACE_isUnconscious", true, true]; _unit setUnconscious true; if (_unit == ACE_player) then { if (visibleMap) then {openMap false}; - closeDialog 0; + while {dialog} do { + closeDialog 0; + }; +}; + +// if we have unconsciousness for AI disabled, we will kill the unit instead +if (!([_unit] call EFUNC(common,IsPlayer)) && (GVAR(enableUnsconsiousnessAI) == 0 || (GVAR(enableUnsconsiousnessAI) == 2 && random(1) <= 0.5))) exitwith { + [_unit, true] call FUNC(setDead); // force, to avoid getting into a loop in case revive is enabled. }; // If a unit has the launcher out, it will sometimes start selecting the primairy weapon while unconscious, @@ -54,7 +59,7 @@ if (animationState _unit in ["ladderriflestatic","laddercivilstatic"]) then { }; if (vehicle _unit == _unit) then { if (primaryWeapon _unit == "") then { - _unit addWeapon "ACE_fakeWeapon"; + _unit addWeapon "ACE_FakePrimaryWeapon"; }; _unit selectWeapon (primaryWeapon _unit); _unit switchMove ""; @@ -69,82 +74,19 @@ _unit setUnitPos "DOWN"; [_unit, true] call EFUNC(common,disableAI); // So the AI does not get stuck, we are moving the unit to a temp group on its own. -[_unit, true, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); +//Unconscious units shouldn't be put in another group #527: +if (GVAR(moveUnitsFromGroupOnUnconscious)) then { + [_unit, true, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); +}; [_unit, QGVAR(unconscious), true] call EFUNC(common,setCaptivityStatus); [_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation); _startingTime = time; -[{ - private ["_unit", "_vehicleOfUnit","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut"]; - _args = _this select 0; - _unit = _args select 0; - _oldAnimation = _args select 1; - _originalPos = _args select 2; - _startingTime = _args select 3; - _minWaitingTime = _args select 4; - _hasMovedOut = _args select 5; - // Since the unit is no longer alive, get rid of this PFH. - if (!alive _unit) exitwith { - // EXIT PFH - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; +[DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; - // In case the unit is no longer in an unconscious state, we are going to check if we can already reset the animation - if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith { - - // TODO, handle this with carry instead, so we can remove the PFH here. - // Wait until the unit isn't being carried anymore, so we won't end up with wierd animations - if !(([_unit] call FUNC(isBeingCarried)) || ([_unit] call FUNC(isBeingDragged))) then { - if (vehicle _unit == _unit) then { - if (animationState _unit == "AinjPpneMstpSnonWrflDnon") then { - [_unit,"AinjPpneMstpSnonWrflDnon_rolltofront", 2] call EFUNC(common,doAnimation); - [_unit,"amovppnemstpsnonwnondnon", 1] call EFUNC(common,doAnimation); - } else { - [_unit,"amovppnemstpsnonwnondnon", 2] call EFUNC(common,doAnimation); - }; - } else { - // Switch to the units original animation, assuming - // TODO: what if the unit switched vehicle? - [_unit, _oldAnimation, 2] call EFUNC(common,doAnimation); - }; - // EXIT PFH - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - if (!_hasMovedOut) then { - // Reset the unit back to the previous captive state. - [_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus); - - // Swhich the unit back to its original group - [_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); - - [_unit, false] call EFUNC(common,disableAI_F); - _unit setUnitPos _originalPos; // This is not position but stance (DOWN, MIDDLE, UP) - - _unit setUnconscious false; - ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); - // ensure this statement runs only once - _args set [5, true]; - }; - }; - - // Ensure we are waiting at least a minimum period before checking if we can wake up the unit again, allows for temp knock outs - if ((time - _startingTime) >= _minWaitingTime) exitwith { - - // Wait until the unit is no longer unconscious - if (!([_unit] call FUNC(getUnconsciousCondition))) then { - // Move unit out of unconscious state - _unit setvariable ["ACE_isUnconscious", false, true]; - }; - }; - - // A check to ensure that the animation is being played properly. - // TODO: Might no longer be necessary: Have to test this in MP. - // if (vehicle _unit == _unit && {animationState _unit != "deadState" && animationState _unit != "unconscious"} && {(isNull ([_unit] call EFUNC(common,getCarriedBy)))} && (time - _startingTime >= 0.5)) then { - //[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call EFUNC(common,doAnimation); // Reset animations if unit starts doing wierd things. - //}; - -}, 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false] ] call CBA_fnc_addPerFrameHandler; +// unconscious can't talk +[_unit, "isUnconscious"] call EFUNC(common,muteUnit); ["medical_onUnconscious", [_unit, true]] call EFUNC(common,globalEvent); diff --git a/addons/medical/functions/fnc_treatment.sqf b/addons/medical/functions/fnc_treatment.sqf index e010279be1..df6cc173d0 100644 --- a/addons/medical/functions/fnc_treatment.sqf +++ b/addons/medical/functions/fnc_treatment.sqf @@ -129,7 +129,7 @@ if (isNil _callbackProgress) then { // Patient Animation _patientAnim = getText (_config >> "animationPatient"); -if (_target getvariable ["ACE_isUnconscious", false]) then { +if (_target getvariable ["ACE_isUnconscious", false] && GVAR(allowUnconsciousAnimationOnTreatment)) then { if !(animationState _target in (getArray (_config >> "animationPatientUnconsciousExcludeOn"))) then { _patientAnim = getText (_config >> "animationPatientUnconscious"); }; @@ -149,6 +149,8 @@ if (_caller == _target) then { _callerAnim = [getText (_config >> "animationCallerSelf"), getText (_config >> "animationCallerSelfProne")] select (stance _caller == "PRONE"); }; +_caller setvariable [QGVAR(selectedWeaponOnTreatment), currentWeapon _caller]; + // Cannot use secondairy weapon for animation if (currentWeapon _caller == secondaryWeapon _caller) then { _caller selectWeapon (primaryWeapon _caller); diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf index 217a69cd4d..2884503599 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit"]; +private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_specificClass", "_classID", "_effectivenessFound"]; _target = _this select 0; _bandage = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index cff9458426..da50c5c1bf 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -40,7 +40,7 @@ if ((_tourniquets select _part) > 0) exitwith { }; _removeItem = _items select 0; -[[_target, _removeItem], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ +[[_target, _removeItem, _selectionName], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [_target, _removeItem] call FUNC(addToTriageCard); [_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf index 064761aea0..289f852a06 100644 --- a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf @@ -13,15 +13,13 @@ */ #include "script_component.hpp" -private ["_target", "_tourniquetItem", "_part", "_tourniquets", "_applyingTo"]; +private ["_target", "_tourniquetItem", "_part", "_tourniquets", "_applyingTo", "_selectionName"]; _target = _this select 0; _tourniquetItem = _this select 1; +_selectionName = _this select 2; -//[_target,"treatment",format["%1 applied a tourniquet on %2",[_caller] call EFUNC(common,getName),_selectionName]] call FUNC(addActivityToLog); -//[_target,_removeItem] call FUNC(addToTriageList); [_target] call FUNC(addToInjuredCollection); - _part = [_selectionName] call FUNC(selectionNameToNumber); // Place a tourniquet on the bodypart diff --git a/addons/medical/functions/fnc_treatment_failure.sqf b/addons/medical/functions/fnc_treatment_failure.sqf index d4f853374c..33712956a0 100644 --- a/addons/medical/functions/fnc_treatment_failure.sqf +++ b/addons/medical/functions/fnc_treatment_failure.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems"]; +private ["_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems", "_weaponSelect"]; _args = _this select 0; _caller = _args select 0; @@ -34,6 +34,13 @@ if (vehicle _caller == _caller) then { }; _caller setvariable [QGVAR(treatmentPrevAnimCaller), nil]; +_weaponSelect = (_caller getvariable [QGVAR(selectedWeaponOnTreatment), ""]); +if (_weaponSelect != "") then { + _caller selectWeapon _weaponSelect; +} else { + _caller action ["SwitchWeapon", _caller, _caller, 99]; +}; + { (_x select 0) addItem (_x select 1); }foreach _usersOfItems; diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index 5910a4be86..66406a180a 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_selectionName","_className","_config","_callback"]; +private ["_caller", "_target","_selectionName","_className","_config","_callback", "_weaponSelect"]; _args = _this select 0; _caller = _args select 0; _target = _args select 1; @@ -32,6 +32,13 @@ if (vehicle _caller == _caller) then { }; _caller setvariable [QGVAR(treatmentPrevAnimCaller), nil]; +_weaponSelect = (_caller getvariable [QGVAR(selectedWeaponOnTreatment), ""]); +if (_weaponSelect != "") then { + _caller selectWeapon _weaponSelect; +} else { + _caller action ["SwitchWeapon", _caller, _caller, 99]; +}; + // Record specific callback _config = (configFile >> "ACE_Medical_Actions" >> "Basic" >> _className); if (GVAR(level) >= 2) then { diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf new file mode 100644 index 0000000000..fc60c2bb02 --- /dev/null +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -0,0 +1,101 @@ +/* + * Author: Glowbal + * PFH logic for unconscious state + * + * Arguments: + * 0: The unit that will be put in an unconscious state + * + * ReturnValue: + * nil + * + * Public: yes + */ + +#include "script_component.hpp" + +private ["_unit", "_vehicleOfUnit","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut", "_parachuteCheck"]; +_args = _this select 0; +_unit = _args select 0; +_oldAnimation = _args select 1; +_originalPos = _args select 2; +_startingTime = _args select 3; +_minWaitingTime = _args select 4; +_hasMovedOut = _args select 5; +_parachuteCheck = _args select 6; + +if (!alive _unit) exitwith { + if (GVAR(moveUnitsFromGroupOnUnconscious)) then { + [_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); + }; + [_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus); + [_unit, false] call EFUNC(common,disableAI); + //_unit setUnitPos _originalPos; + _unit setUnconscious false; + + [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); + ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); + + [(_this select 1)] call cba_fnc_removePerFrameHandler; +}; + +// In case the unit is no longer in an unconscious state, we are going to check if we can already reset the animation +if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith { + // TODO, handle this with carry instead, so we can remove the PFH here. + // Wait until the unit isn't being carried anymore, so we won't end up with wierd animations + if !(([_unit] call FUNC(isBeingCarried)) || ([_unit] call FUNC(isBeingDragged))) then { + if (vehicle _unit == _unit) then { + if (animationState _unit == "AinjPpneMstpSnonWrflDnon") then { + [_unit,"AinjPpneMstpSnonWrflDnon_rolltofront", 2] call EFUNC(common,doAnimation); + [_unit,"amovppnemstpsnonwnondnon", 1] call EFUNC(common,doAnimation); + } else { + [_unit,"amovppnemstpsnonwnondnon", 2] call EFUNC(common,doAnimation); + }; + } else { + // Switch to the units original animation, assuming + // TODO: what if the unit switched vehicle? + [_unit, _oldAnimation, 2] call EFUNC(common,doAnimation); + }; + ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); + // EXIT PFH + [(_this select 1)] call cba_fnc_removePerFrameHandler; + }; + if (!_hasMovedOut) then { + // Reset the unit back to the previous captive state. + [_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus); + + // Swhich the unit back to its original group + //Unconscious units shouldn't be put in another group #527: + if (GVAR(moveUnitsFromGroupOnUnconscious)) then { + [_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); + }; + [_unit, false] call EFUNC(common,disableAI); + _unit setUnitPos _originalPos; // This is not position but stance (DOWN, MIDDLE, UP) + + _unit setUnconscious false; + + [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); + + // ensure this statement runs only once + _args set [5, true]; + }; +}; + +if (_parachuteCheck) then { + if !(vehicle _unit isKindOf "ParachuteBase") then { + [_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation); + _args set [6, false]; + }; +}; + +if (!local _unit) exitwith { + _args set [ 4, _minWaitingTime - (time - _startingTime)]; + _unit setvariable [QGVAR(unconsciousArguments), _args, true]; + [(_this select 1)] call cba_fnc_removePerFrameHandler; +}; + +// Ensure we are waiting at least a minimum period before checking if we can wake up the unit again, allows for temp knock outs +if ((time - _startingTime) >= _minWaitingTime) exitwith { + if (!([_unit] call FUNC(getUnconsciousCondition))) then { + _unit setvariable ["ACE_isUnconscious", false, true]; + }; +}; diff --git a/addons/medical/sounds/Inject.ogg b/addons/medical/sounds/Inject.ogg new file mode 100644 index 0000000000..8418078e0f Binary files /dev/null and b/addons/medical/sounds/Inject.ogg differ diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 70506fa3e0..52baf9bbe3 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,901 +1,2081 @@  - - - - - Inject Atropine - - - Inject Epinephrine - Epinephrine injizieren - Inyectar Epinefrina - Wtrzyknij adrenalinę - Aplikovat Adrenalin - Ввести андреналил - Adrénaline - Adrenalin - Injetar Epinefrina - Inietta Epinefrina - - - Inject Morphine - Morphin injizieren - Inyectar Morfina - Wstrzyknij morfinę - Aplikovat Morfin - Ввести морфин - Morphine - Morfium - Injetar Morfina - Inietta Morfina - - - Transfuse Blood - Bluttransfusion - Transfundir sangre - Przetocz krew - Transfúze krve - Перелить кровь - Transfusion - Infúzió - Transfundir Sangue - Effettua Trasfusione - - - Transfuse Plasma - - - Transfuse Saline - - - Apply Tourniquet - - - Bandage - Verbinden - Venda - Bandaż - Obvázat - Pansement - Benda - Kötözés - Atadura - Перевязать - - - Bandage Head - Kopf verbinden - Vendar la cabeza - Bandażuj głowę - Obvázat hlavu - Перевязать голову - Pansement Tête - Fej kötözése - Atar Cabeça - Benda la testa - - - Bandage Torso - Torso verbinden - Vendar el torso - Bandażuj tors - Obvázat hruď - Перевязать торс - Pansement Torse - Felsőtest kötözése - Atar Tronco - Benda il torso - - - Bandage Left Arm - Arm links verbinden - Vendar el brazo izquierdo - Bandażuj lewe ramię - Obvázat levou ruku - Перевязать левую руку - Pansement Bras Gauche - Bal kar kötözése - Atar Braço Esquerdo - Benda il braccio sinistro - - - Bandage Right Arm - Arm rechts verbinden - Vendar el brazo derecho - Bandażuj prawe ramię - Obvázat pravou ruku - Перевязать правую руку - Pansement Bras Droit - Jobb kar kötözése - Atar Braço Direito - Benda il braccio destro - - - Bandage Left Leg - Bein links verbinden - Vendar la pierna izquierda - Bandażuj lewą nogę - Obvázat levou nohu - Перевязать левую ногу - Pansement Jambe Gauche - Bal láb kötözése - Atar Perna Esquerda - Benda la gamba sinistra - - - Bandage Right Leg - Bein rechts verbinden - Vendar la pierna derecha - Bandażuj prawą nogę - Obvázat pravou nohu - Перевязать правую ногу - Pansement Jambe Droite - Jobb láb kötözése - Atar Perna Direita - Benda la gamba destra - - - Injecting Morphine ... - Morphin injizieren ... - Inyectando Morfina ... - Wstrzykiwanie morfiny ... - Aplikuju Morfin ... - Введение морфина... - Injection de Morphine... - Morfium beadása... - Injetando Morfina ... - Inietto la morfina ... - - - Injecting Epinephrine ... - Epinephrine injizieren ... - Inyectando Epinefrina ... - Wstrzykiwanie adrenaliny ... - Aplikuju Adrenalin ... - Введение андреналина - Injection d'Adrénaline ... - Adrenalin beadása... - Injetando Epinefrina ... - Inietto l'epinefrina ... - - - Injecting Atropine ... - - - Transfusing Blood ... - Bluttransfusion ... - Realizando transfusión ... - Przetaczanie krwi ... - Probíhá transfúze krve ... - Переливание крови... - Transfusion Sanguine ... - Infúzió... - Transfundindo Sangue ... - Effettuo la trasfusione ... - - - Transfusing Saline ... - - - Transfusing Plasma ... - - - Bandaging ... - Verbinden ... - Vendando ... - Bandażowanie ... - Obvazuji ... - Pansement ... - Sto applicando la benda ... - Bekötözés... - Atando ... - Перевязывание.... - - - Applying Tourniquet ... - - - Medical - Zdravotní - Médical - Sanitäter - Medico - Medyczne - Médico - Медик - Médico - - - Field Dressing - - - Packing Bandage - - - Elastic Bandage - - - QuikClot - - - Check Pulse - - - Check Blood Pressure - - - Triage Card - - - Tourniquet - - - Remove Tourniquet - - - Give Blood IV (1000ml) - - - Give Blood IV (500ml) - - - Give Blood IV (250ml) - - - Give Plasma IV (1000ml) - - - Give Plasma IV (500ml) - - - Give Plasma IV (250ml) - - - Give Saline IV (1000ml) - - - Give Saline IV (500ml) - - - Give Saline IV (250ml) - - - - - Minor - - - Delayed - - - Immediate - - - Deceased - - - None - - - Normal breathing - Дыхание в норме - Respiración normal - Respiration Normale - Normalny oddech - - - No breathing - Дыхания нет - No respira - Apnée - Brak oddechu - - - Difficult breathing - Дыхание затруднено - Dificultad para respirar - Difficultée Respiratoire - Trudności z oddychaniem - - - Almost no breathing - Дыхания почти нет - Casi sin respirar - Respiration Faible - Prawie brak oddechu - - - Bleeding - Кровотечение - Sangrando - Seignement - Krwawienie zewnętrzne - - - In Pain - Испытывает боль - Con Dolor - A De La Douleur - W bólu - - - Lost a lot of Blood - Большая кровопотеря - Mucha Sangre perdida - A Perdu Bcp de Sang - Stracił dużo krwi - - - Tourniquet [CAT] - Жгут - Torniquete [CAT] - Garot [CAT] - Opaska uciskowa [CAT] - - - Receiving IV [%1ml] - - - - - Bandage (Basic) - Повязка (обычная) - Vendaje (Básico) - Bandage (Standard) - Bandaż (jałowy) - - - Used to cover a wound - Для перевязки ран - Utilizado para cubrir una herida - Utilisé Pour Couvrir Une Blessure - Używany w celu przykrycia i ochrony miejsca zranienia - - - A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. - Повязка, накладываемая поверх раны после остановки кровотечения. - Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. - C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper. - Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. - - - Packing Bandage - Тампонирующая повязка - Vendaje Compresivo - Bandage Mèche - Bandaż (uciskowy) - - - Used to pack medium to large wounds and stem the bleeding - Для тампонирования ран среднего и большого размера и остановки кровотечения. - Se utiliza para vendar heridas medianas y grandes y detener el sangrado - Utiliser pour remplire la cavité créé dans une blessure moyenne et grande. - Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. - - - A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. - Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. - Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. - Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma. - Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. - - - Bandage (Elastic) - Повязка (давящая) - Vendaje (Elástico) - Bandage (Élastique) - Bandaż (elastyczny) - - - Bandage kit, Elastic - Давящая повязка - Vendaje (Elástico) - Bandage Compressif Élastique - Zestaw bandaży elastycznych. - - - - - Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment. - Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. - Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada - - - Tourniquet (CAT) - Жгут - Torniquete (CAT) - Garot (CAT) - Staza (typ. CAT) - - - Slows down blood loss when bleeding - Уменьшает кровопотерю при кровотечении. - Reduce la velocidad de pérdida de sangre - Ralentit le seignement - Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. - - - A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. - Жгут используется для прижатия сосудов, приводящего к остановке или значительному уменьшению кровотечения и сокращению кровопотери. - Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre - Un appareil servent a compresser les artères et veines afin de reduire la perte de sang. - Opaska zaciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. - - - Morphine autoinjector - Морфин в автоматическом шприце - Morfina auto-inyectable - Auto-injecteur de Morphine - Autostrzykawka z morfiną - - - Used to combat moderate to severe pain experiences - Для снятия средних и сильных болевых ощущений. - Usado para combatir los estados dolorosos moderados a severos - Utiliser pour contrer les douleurs modéré à severes. - Morfina. Ma silne działanie przeciwbólowe. - - - An analgesic used to combat moderate to severe pain experiences. - Анальгетик для снятия средних и сильных болевых ощущений. - Analgésico usado para combatir los estados dolorosos de moderado a severo. - Un Analgésique puissant servant a contrer les douleur modéré a severe. - Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. - - - Atropin autoinjector - Атропин в автоматическом шприце - Atropina auto-inyectable - Auto-injecteur d'Atropine - Autostrzykawka AtroPen - - - Used in NBC scenarios - Применяется для защиты от ОМП - Usado en escenarios NBQ - Utiliser en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. - - - A drug used by the Military in NBC scenarios. - Препарат, используемый в войсках для защиты от оружия массового поражения. - Medicamento usado por Militares en escenarios NBQ - Médicament utilisé par l'armée en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. - - - Epinephrine autoinjector - Адреналин в автоматическом шприце - Epinefrina auto-inyectable - Auto-injecteur d'épinéphrine - Autostrzykawka EpiPen - - - Increase heart rate and counter effects given by allergic reactions - Стимулирует работу сердца и купирует аллергические реакции. - Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas - Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique - Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne - - - A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. - Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшением вероятности благоприятного исхода. - Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. - Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme. - EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. - - - Plasma IV (1000ml) - Плазма для в/в вливания (1000 мл) - Plasma Intravenoso (1000ml) - Plasma Sanguin IV (1000ml) - Osocze IV (1000ml) - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer les volume sanguin - Składnik krwi, używany do zwiększenia jej objętości. - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer le volume sanguin et remplace les plaquettes. - Składnik krwi, używany do zwiększenia jej objętości. - - - Plasma IV (500ml) - Плазма для в/в вливания (500 мл) - Plasma Intravenoso (500ml) - Plasma Sanguin IV (500ml) - Osocze IV (500ml) - - - Plasma IV (250ml) - Плазма для в/в вливания (250 мл) - Plasma Intravenoso (250ml) - Plasma Sanguin (250ml) - Osocze IV (250ml) - - - Blood IV (1000ml) - Кровь для переливания (1000 мл) - Sangre Intravenosa (1000ml) - Cullot Sanguin IV (1000ml) - Krew IV (1000ml) - - - Blood IV, for restoring a patients blood (keep cold) - Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) - Sangre Intravenosa, para restarurar el volumen sanguíneo (mantener frío) - Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré) - Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych - - - O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. - Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. - Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. - Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. - Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdido. Uso habitual durante el transporte de heridos. - - - Blood IV (500ml) - Кровь для переливания (500 мл) - Sangre Intravenosa (500ml) - Cullot Sanguin IV (500ml) - Krew IV (500ml) - - - Blood IV (250ml) - Кровь для переливания (250 мл) - Sangre Intravenosa (250ml) - Cullot Sanguin IV (250ml) - Krew IV (250ml) - - - Saline IV (1000ml) - Физраствор для в/в вливания (1000 мл) - Solución Salina Intravenosa (1000ml) - solution Saline 0.9% IV (1000ml) - Solanka 0,9% IV (1000ml) - - - Saline IV, for restoring a patients blood - Пакет физраствора для возмещения объема потерянной крови - Solución Salina Intravenosa, para restaurar el volumen sanguíneo - Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel - Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta - - - A medical volume-replenishing agent introduced into the blood system through an IV infusion. - Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания. - Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. - Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse - Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). - - - Saline IV (500ml) - Физраствор для в/в вливания (500 мл) - Solución Salina Intravenosa (500ml) - Solution Saline 0.9% IV (500ml) - Solanka 0,9% IV (500ml) - - - Saline IV (250ml) - Физраствор для в/в вливания (250 мл) - Solución Salina Intravenosa (250ml) - Solution Saline 0.9% IV (250ml) - Solanka 0,9% IV (250ml) - - - Basic Field Dressing (QuikClot) - Первичный перевязочный пакет (QuikClot) - Vendaje Básico (Coagulante) - Bandage Regulier (Coagulant) - Opatrunek QuikClot - - - QuikClot bandage - Гемостатический пакет QuikClot - Venda Coagulante - Bandage coagulant - Podstawowy opatrunek stosowany na rany - - - - - Un bandage servant a coaguler les seignements mineur à moyen. - Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. - Vendaje Hemostático con coagulante que detiene el sangrado. - - - Personal Aid Kit - Аптечка - Kit de Soporte Vital Avanzado - Équipement de support Vitale - Apteczka osobista - - - Includes various treatment kit needed for stitching or advanced treatment - Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. - Incluye material médico para tratamientos avanzados - Inclue du matériel medical pour les traitement avancé, tel les point de suture. - Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego - - - - - - - - - Surgical Kit - Хирургический набор - Kit Quirúrgico - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - - - Bodybag - Мешок для трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Bolsa para cadáveres - - - - - Blood Pressure - Артериальное давление - Presión Arterial - - - Checking Blood Pressure.. - Проверка артериального давления... - Comprobando Presión Arterial... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a blood pressure of %2/%3 - Артериальное давление %2/%3 - La Presión Arterial es %2/%3 - - - You find a low blood pressure - Давление низкое - La Presión Arterial es baja - - - You find a normal blood pressure - Давление нормальное - La Presión Arterial es normal - - - You find a high blood pressure - Давление высокое - La Presión Arterial es alta - - - You find no blood pressure - Давления нет - No hay Presión Arterial - - - You fail to find a blood pressure - Артериальное давление не определяется - No puedes encontrar Presión Arterial - - - Pulse - Пульс - Pulso - - - Checking Heart Rate.. - Проверка пульса... - Comprobando Pulso... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a Heart Rate of %2 - Пульс %2 уд./мин. - El Pulso es %2 - - - You find a weak Heart Rate - Пульс слабый - El Pulso es débil - - - You find a strong Heart Rate - Пульс учащенный - El Pulso está acelerado - - - You find a normal Heart Rate - Пульс в норме - El Pulso es bueno - - - You find no Heart Rate - Пульс не прощупывается - No tiene Pulso - - - Response - Реакция - Reacciona - - - You check response of patient - Вы проверяете реакцию раненого - Compruebas si el paciente reacciona - - - %1 is responsive - %1 реагирует на раздражители - %1 ha reaccionado - - - %1 is not responsive - %1 не реагирует - %1 no reacciona - - - You checked %1 - Вы осмотрели раненого %1 - Examinas a %1 - - - Bandaged - Повязка наложена - Vendado - - - You bandage %1 (%2) - Вы перевязали раненого %1 (%2) - Aplicas vendaje a %1 en %2 - - - %1 is bandaging you - %1 перевязывает вас - %1 te está vendando - - - You start stitching injures from %1 (%2) - Вы зашиваете ранения от %1 (%2) - Estás suturando heridas de %1 en %2 - - - Stitching - Наложение швов - Suturando - - - You treat the airway of %1 - Вы интубируете раненого %1 - Estás intubando a %1 - - - Airway - Дыхательные пути - Vías Aéreas - - - %1 is treating your airway - %1 проводит вам интубацию - %1 te está intubando - - - Drag - Ziehen - Arrastrar - Ciągnij - Táhnout - Тащить - Tracter - Húzás - Arrastar - Trascina - - - Carry - Tragen - Cargar - Nieś - Nést - Нести - Porter - Cipelés - Carregar - Trasporta - - - Release - Loslassen - Soltar - Połóż - Položit - Отпустить - Déposer - Elenged - Largar - Lascia - - - Load Patient Into - Patient Einladen - Cargar el paciente en - Załaduj pacjenta - Naložit pacianta do - Погрузить пациента в - Embarquer le Patient - Sebesült berakása - Carregar Paciente Em - Carica paziente nel - - - Unload Patient - Patient Ausladen - Descargar el paciente - Wyładuj pacjenta - Vyložit pacienta - Выгрузить пациента - Débarquer le Patient - Sebesült kihúzása - Descarregar Paciente - Scarica il paziente - - - Unload patient - - - Place body in bodybag - - - Placing body in bodybag - - - - - %1 has bandaged patient - - - %1 used %2 - - - %1 has given an IV - - - %1 applied a tourniquet - - - + + + INJURIES + VERLETZUNGEN + LESIONI + ТРАВМЫ + BLESSURES + OBRAŻENIA + + + No injuries on this bodypart ... + Körperteil nicht verletzt ... + Non ci sono lesioni in questa parte del corpo ... + Данная часть тела не повреждена ... + Aucune blessures sur cette partie du corps + Brak obrażeń na tej części ciała ... + + + Litter Simulation Detail + Detale zużytych medykamentów + Detalle de simulación de basura + Количество мусора от медицины + Dettagli Simulazione Rifiuti + Niveau de simulation des détritus + + + Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. + Opcja ta ustawia liczbę zużytych medykamentów, jakie pojawiają się lokalnie wokół gracza. Ich zbyt duża ilość może spowodować spadki FPS, dlatego jest to ustawienie tylko po stronie klienta. + Detalle simulación de basura establece el número de artículos de basura que se generan a nivel local en el cliente. Las cantidades excesivas en áreas locales podrían causar caída de rendimiento, así que esto es un ajuste de cliente únicamente. + Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. + Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. + Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. + + + Inject Atropine + Atropin injizieren + Inyectar Atropina + Aplikovat atropin + Wstrzyknij atropinę + Injecter de l'atropine + Ввести атропин + Atropin beadása + Inietta atropina + + + Inject Epinephrine + Epinephrine injizieren + Inyectar Epinefrina + Wstrzyknij adrenalinę + Aplikovat adrenalin + Injecter de l'épinéphrine + Ввести адреналин + Epinefrin beadása + Injetar Epinefrina + Inietta epinefrina + + + Inject Morphine + Morphin injizieren + Inyectar Morfina + Wstrzyknij morfinę + Aplikovat morfin + Ввести морфин + Injecter de la morphine + Morfium beadása + Injetar Morfina + Inietta Morfina + + + Transfuse Blood + Bluttransfusion + Transfundir sangre + Przetocz krew + Transfúze krve + Перелить кровь + Transfusion + Infúzió (vér) + Transfundir Sangue + Effettua trasfusione di sangue + + + Transfuse Plasma + Plasmatransfusion + Transfundir plasma + Transfúze plazmy + Przetocz osocze + Transfuser du Plasma + Перелить плазму + Infúzió (vérplazma) + Effettua trasfusione di plasma + + + Transfuse Saline + Salzlösungtransfusion + Transfundir salino + Transfúze fyziologický roztoku + Przetocz sól fizjologiczną + Transfuser de la solution saline + Перелить физраствор + Infúzió (sós víz) + Effettua trasfusione di soluzione salina + + + Apply Tourniquet + Tourniquet anwenden + Aplicar torniquete + Aplikovat škrtidlo + Załóż stazę + Appliquer un garrot + Наложить жгут + Applica laccio emostatico + + + Bandage + Verbinden + Venda + Bandażuj + Obvázat + Pansement + Benda + Kötözés + Atadura + Перевязать + + + Bandage Head + Kopf verbinden + Vendar la cabeza + Bandażuj głowę + Obvázat hlavu + Перевязать голову + Pansement Tête + Fej kötözése + Atar Cabeça + Benda la testa + + + Bandage Torso + Torso verbinden + Vendar el torso + Bandażuj tors + Obvázat hruď + Перевязать торс + Pansement Torse + Testtörzs kötözése + Atar Tronco + Benda il torso + + + Bandage Left Arm + Arm links verbinden + Vendar el brazo izquierdo + Bandażuj lewe ramię + Obvázat levou ruku + Перевязать левую руку + Pansement Bras Gauche + Bal kar kötözése + Atar Braço Esquerdo + Benda il braccio sinistro + + + Bandage Right Arm + Arm rechts verbinden + Vendar el brazo derecho + Bandażuj prawe ramię + Obvázat pravou ruku + Перевязать правую руку + Pansement Bras Droit + Jobb kar kötözése + Atar Braço Direito + Benda il braccio destro + + + Bandage Left Leg + Bein links verbinden + Vendar la pierna izquierda + Bandażuj lewą nogę + Obvázat levou nohu + Перевязать левую ногу + Pansement Jambe Gauche + Bal láb kötözése + Atar Perna Esquerda + Benda la gamba sinistra + + + Bandage Right Leg + Bein rechts verbinden + Vendar la pierna derecha + Bandażuj prawą nogę + Obvázat pravou nohu + Перевязать правую ногу + Pansement Jambe Droite + Jobb láb kötözése + Atar Perna Direita + Benda la gamba destra + + + Injecting Morphine ... + Morphin injizieren ... + Inyectando Morfina ... + Wstrzykiwanie morfiny ... + Aplikuji morfin ... + Введение морфина ... + Injection de Morphine... + Morfium beadása ... + Injetando Morfina ... + Inietto la morfina ... + + + Injecting Epinephrine ... + Epinephrin injizieren ... + Inyectando Epinefrina ... + Wstrzykiwanie adrenaliny ... + Aplikuji adrenalin ... + Введение адреналина ... + Injection d'Adrénaline ... + Epinefrin beadása ... + Injetando Epinefrina ... + Inietto l'epinefrina ... + + + Injecting Atropine ... + Atropin injizieren ... + Inyectando Atropina ... + Aplikuji atropin ... + Wstrzykiwanie atropiny ... + Injection d'Atropine ... + Введение атропина ... + Atropin beadása ... + Inietto l'atropina ... + + + Transfusing Blood ... + Bluttransfusion ... + Transfusión de sangre ... + Przetaczanie krwi ... + Probíhá transfúze krve ... + Переливание крови ... + Transfusion Sanguine ... + Infúzió vérrel ... + Transfundindo Sangue ... + Effettuo la trasfusione di sangue ... + + + Transfusing Saline ... + Sallösungtransfusion ... + Transfusión de salino ... + Probíha transfúze fyziologický roztoku ... + Przetaczanie soli fizjologicznej ... + Transfusion de saline ... + Переливание физраствора ... + Infúzió sós vizzel ... + Effettuo la rasfusione di salina + + + Transfusing Plasma ... + Plasmatransfusion ... + Transfusión de plasma ... + Probíha transfúze plazmy ... + Przetaczanie osocza ... + Transfusion de Plasma ... + Переливание плазмы ... + Infúzió vérplazmával ... + Effettu la trasfusione di plasma ... + + + Bandaging ... + Verbinden ... + Vendando ... + Bandażowanie ... + Obvazuji ... + Pansement ... + Sto applicando la benda ... + Bekötözés ... + Atando ... + Перевязывание ... + + + Applying Tourniquet ... + Setze Tourniquet an ... + Aplicando torniquete ... + Aplikuji škrtidlo + Zakładanie stazy ... + Mise en place du Garrot ... + Наложение жгута ... + Érszorító felhelyezése ... + Sto applicando il laccio emostatico ... + + + Medical + Zdravotní + Médical + Sanitäter + Medico + Medyczne + Médico + Медик + Médico + Orvosi + + + Field Dressing + Verbandpäckchen + Compresa de campaña + Бинтовая повязка + Obinadlo + Bandaż jałowy + Bandage rapide + Zárókötszer + Bendaggio rapido + + + Packing Bandage + Mullbinde + Vendaje compresivo + Компресионный пакет + Bandaż uciskowy + Nyomókötszer + Bendaggio compressivo + Bandage gauze + + + Elastic Bandage + Elastischer Verband + Vendaje elástico + Давящая повязка + Elastické obinadlo + Bandaż elastyczny + Pansement élastique + Rögzitő kötszer + Bendaggio elastico + + + QuikClot + QuikClot + QuikClot + QuickClot + Opatrunek QuikClot + QuikClot + Hémostatique + QuikClot + QuikClot(polvere emostatica) + + + Check Pulse + Puls überprüfen + Comprobar pulso + Проверить пульс + Zkontrolovat pulz + Sprawdź tętno + Vérifier le pouls + Pulzus ellenőrzése + Controlla il polso + + + Check Blood Pressure + Blutdruck überprüfen + Comprobar presión arterial + Проверить давление + Zkontrolovat krevní tlak + Sprawdź ciśnienie krwi + Vérification de la tension + Vérnyomás megmérése + Controlla pressionsa sanguigna + + + Triage Card + Triagekarte + Tarjeta de triaje + Медкарта + Karta segregacyjna + Karta Triage + Carte de triage + Orvosi lap + Triage Card + + + No entries on this triage card. + Keine Einträge auf der Triagekarte + Nessuna voce sulla Triage Card + Нет записей. + Aucune entrée sur cette carte de triage + Brak wpisów w tej karcie segregacyjnej. + + + Tourniquet + Tourniquet + Torniquete + Жгут + Škrtidlo + Staza + Tourniquet + Érszorító + Laccio emostatico + + + Remove Tourniquet + Tourniquet entfernen + Quitar torniquete + Снять жгут + Sundat škrtidlo + Zdejmij stazę + Enlever le Tourniquet + Érszorító leszedése + Rimuovi laccio emostatico + + + Diagnose + Diagnose + Diagnosi + Диагностика + Diagnostiquer + Diagnoza + + + Diagnosing ... + Diagnostizieren ... + Diagnosi in corso... + Диагностика ... + Diagnostic en cours + Diagnozowanie ... + + + CPR + HLW + RCP + Сердечно-легочная реанимация + RPC + RKO + + + Performing CPR ... + HLW durchführen ... + Eseguendo RCP... + Сердечно-легочная реанимация ... + RPC en cours + Przeprowadzanie RKO ... + + + Give Blood IV (1000ml) + Bluttransfusion IV (1000ml) + Dar Sangre IV (1000ml) + Перелить пакет крови (1000 мл) + Podaj krew IV (1000ml) + Administrer du sang en IV (1000ml) + Podat krev. transfúzi (1000ml) + Vér adása intravénásan (1000ml) + Effettua trasfusione sangue IV (1000ml) + + + Give Blood IV (500ml) + Bluttransfusion IV (500ml) + Dar Sangre IV (500ml) + Перелить пакет крови (500 мл) + Podaj krew IV (500ml) + Administrer du sang en IV (500ml) + Podat krev. transfúzi (500ml) + Vér adása intravénásan (500ml) + Effettua trasfusione sangue IV (500ml) + + + Give Blood IV (250ml) + Bluttransfusion IV (250ml) + Dar Sangre IV (250ml) + Перелить пакет крови (250 мл) + Podaj krew IV (250ml) + Administrer du sang en IV (250ml) + Podat krev. transfúzi (250ml) + Vér adása intravénásan (250ml) + Effettua trasfusione sangue IV (250ml) + + + Give Plasma IV (1000ml) + Plasmatransfusion IV (1000ml) + Dar Plasma IV (1000ml) + Перелить пакет плазмы (1000 мл) + Podaj osocze IV (1000ml) + Administrer du plasma en IV (1000ml) + Podat plazmu (1000ml) + Vérplazma adása intravénásan (1000ml) + Effettua trasfusione plasma IV (1000ml) + + + Give Plasma IV (500ml) + Plasmatransfusion IV (500ml) + Dar Plasma IV (500ml) + Перелить пакет плазмы (500 мл) + Podaj osocze IV (500ml) + Administrer du plasma en IV (500ml) + Podat plazmu (500ml) + Vérplazma adása intravénásan (500ml) + Effettua trasfusione plasma IV (500ml) + + + Give Plasma IV (250ml) + Plasmatransfusion IV (250ml) + Dar Plasma IV (250ml) + Перелить пакет плазмы (250 мл) + Podaj osocze IV (250ml) + Administrer du plasma en IV (250ml) + Podat plazmu (250ml) + Vérplazma adása intravénásan (250ml) + Effettua trasfusione plasma IV (250ml) + + + Give Saline IV (1000ml) + Kochsalzlösung IV (1000ml) + Dar Salino IV (1000ml) + Перелить пакет физраствора (1000 мл) + Podaj sól fizjologiczną IV (1000ml) + Administrer de la solution saline en IV (1000ml) + Podaz fyz. roztok (1000ml) + Sós víz adása intravénásan (1000ml) + Effettua trasfusione salina IV (1000ml) + + + Give Saline IV (500ml) + Kochsalzlösung IV (500ml) + Dar Salino IV (500ml) + Перелить пакет физраствора (500 мл) + Podaj sól fizjologiczną IV (500ml) + Administrer de la solution saline en IV (500ml) + Podaz fyz. roztok (500ml) + Sós víz adása intravénásan (500ml) + Effettua trasfusione salina IV (500ml) + + + Give Saline IV (250ml) + Kochsalzlösung IV (250ml) + Dar Salino IV (250ml) + Перелить пакет физраствора (250 мл) + Podaj sól fizjologiczną IV (250ml) + Administrer de la solution saline en IV (250ml) + Podaz fyz. roztok (250ml) + Sós víz adása intravénásan (250ml) + Effettua trasfusione salina IV (250ml) + + + Minor + Gering + Menor + Несрочная помощь + Normalny + Mineur + Minimální + Enyhe + Minore + + + Delayed + Retrasado + Срочная помощь + Opóźniony + Différé + Verzögert + Odložitelný + Késleltetett + Differito + + + Immediate + Inmediato + Неотложная помощь + Natychmiastowy + Urgence Immédiate + Sofort + Okamžiý + Azonnali + Immediata + + + Deceased + Fallecido + Труп + Nie żyje + Décédé + Verstorben + Mrtvý + Elhalálozott + Deceduto + + + None + Ninguno + Отсутствует + Brak + Aucun + Keine + Nic + Semmi + Nessuna + + + Normal breathing + Дыхание в норме + Respiración normal + Respiration normale + Normalny oddech + Normale Atmung + Dýchá normálně + Normális légzés + Respiro normale + + + No breathing + Keine Atmung + Дыхание отсутствует + No respira + Aucune respiration + Brak oddechu + Nedýchá + Nincs légzés + Mancanza di respiro + + + Difficult breathing + Дыхание затруднено + Dificultad para respirar + Difficultée respiratoire + Trudności z oddychaniem + Schwere Atmung + Dýchá s obtížemi + Nehéz légzés + Difficoltà a respirare + + + Almost no breathing + Fast keine Atmung + Дыхание очень слабое + Casi sin respiración + Respiration faible + Prawie brak oddechu + Skoro nedýchá + Alig van légzés + Respira a fatica + + + Bleeding + Blutet + Кровотечение + Sangrando + Saignement + Krwawienie zewnętrzne + Krvácí + Vérzik + Sanguinando + + + In Pain + Hat Schmerzen + Испытывает боль + Con dolor + Ressent de la douleur + W bólu + V bolestech + Fájdalom alatt + Con dolore + + + Lost a lot of Blood + Hat eine große Menge Blut verloren + Большая кровопотеря + Mucha sangre perdida + A perdu beaucoup de sang + Stracił dużo krwi + Ztratil hodně krve + Sok vért vesztett + Ha perso parecchio sangue + + + Tourniquet [CAT] + Tourniquet [CAT] + Жгут + Torniquete [CAT] + Tourniquet [CAT] + Staza [typ. CAT] + Škrtidlo [CAT] + Érszorító [CAT] + Laccio emostatico [CAT] + + + Receiving IV [%1ml] + Erhalte IV [%1ml] + Reciviendo IV [%1ml] + Принимается переливание [%1 мл] + Otrzymywanie IV [%1ml] + Transfusion en IV [%1ml] + Přijímání transfúze [%1ml] + Infúzióra kötve [%1ml] + Ricevendo IV [%1ml] + + + Bandage (Basic) + Bandage (Standard) + Повязка (обычная) + Vendaje (Básico) + Bandage (Standard) + Bandaż (jałowy) + Bandáž (standartní) + Kötszer (Általános) + Bendaggio (base) + + + Used to cover a wound + Для перевязки ран + Utilizado para cubrir una herida + Utilisé pour couvrir une blessure + Używany w celu przykrycia i ochrony miejsca zranienia + Verwendet, um Wunden abzudecken + Sebesülések befedésére alkalmas + Usato per coprire una ferita + + + A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. + Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde. + Повязка, накладываемая поверх раны после остановки кровотечения. + Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. + Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. + Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. + Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. + Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. + + + Packing Bandage + Mullbinde + Тампонирующая повязка + Vendaje compresivo + Bandage gauze + Bandaż (uciskowy) + Nyomókötszer + Bendaggio compressivo + + + Used to pack medium to large wounds and stem the bleeding + Wird verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen + Для тампонирования ран среднего и большого размера и остановки кровотечения. + Se utiliza para vendar heridas medianas o grandes y detener el sangrado + Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies + Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. + Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer + Usato su medie o larghe ferite per fermare emorragie. + + + A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. + Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. + Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. + Bandage servant à recouvrir les blessures pour arrêter les hémmoragies et faciliter la guérisson. Recouvrir une blessure est optionnel dans le cas de blessures polytraumatiques + Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. + Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén. + Un bendaggio usato per coprire la ferita, fermare il sanguinamento e facilitarne la guarigione. Questa tecnica è opzionale su ferite multiple. + Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen + + + Bandage (Elastic) + Bandage (Elastisch) + Повязка (давящая) + Vendaje (Elástico) + Bandage (Élastique) + Bandaż (elastyczny) + Bandáž (elastická) + Rögzító kötszer + Benda (Elastica) + + + Bandage kit, Elastic + Elastische Binde (Kompressionsbinde) + Давящая повязка + Kit de vendaje (Elástico) + Bandage compressif élastique + Zestaw bandaży elastycznych. + Rugalmas kötszercsomag, "rögzítő" + Kit bendaggio, elastico + + + Allows an even compression and extra support to the injured area. + Ermöglicht eine gleichmäßige Kompression und zusätzliche Unterstützung für den verletzten Bereich. + Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области + Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement. + Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. + Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada + Egyenletes nyomást és támogatást biztosít a sebesült felületnek. + Permette di comprimevere e aiutare la zone ferita. + + + Tourniquet (CAT) + Tourniquet [CAT] + Жгут + Torniquete (CAT) + Tourniquet (CAT) + Staza (typ. CAT) + Škrtidlo (CAT) + Érszorító (CAT) + Laccio emostatico (CAT) + + + Slows down blood loss when bleeding + Замедляет кровопотерю при кровотечении + Reduce la velocidad de pérdida de sangre + Ralentit le saignement + Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. + Verringert den Blutverlust während einer Blutung + Lelassítja a vérvesztést vérzés esetén + Rallenta la perdita di sangue in caso di sanguinamento + + + A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. + Жгут используется для прижатия сосудов к костным выступам, которое приводит к остановке или значительному уменьшению кровотечения + Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre + Un dispositif permettant de compresser les artères et veines afin de réduire la perte de sang. + Opaska uciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. + Ein Gerät, das Druck auf Venen und Arterien ausübt und so den Blutfluss verringert. + Egy szűkítőeszköz, mely a vénás és artériás nyomás keringés helyi összenyomására szolgál, ezzel lelassítva vagy megállítva az adott területen a vérkeringést. Ez csökkenti a vérvesztés mértékét. + Un laccio emostatico usato per comprimere le vene e arterie per bloccare o rallentare la circolazione del sangue e quindi rallentare dissanguamenti. + + + Morphine autoinjector + Morphium Autoinjektor + Морфин в пневмошприце + Morfina auto-inyectable + Auto-injecteur de Morphine + Autostrzykawka z morfiną + Autoinjektor morfin + Morfium autoinjektor + Autoiniettore di morfina + + + Used to combat moderate to severe pain experiences + Wird verwendet um moderate bis starke Schmärzen zu lindern. + Для снятия средних и сильных болевых ощущений + Usado para combatir los estados dolorosos de moderados a severos + Utilisé pour réduire les douleurs modérées à sévères. + Morfina. Ma silne działanie przeciwbólowe. + Mérsékelttől erős fájdalomig, ellene alkalmazandó termék + Usato per combattere il dolore. + + + An analgesic used to combat moderate to severe pain experiences. + Обезболивающее для снятия средних и сильных болевых ощущений. + Analgésico usado para combatir los estados dolorosos de moderados a severos. + Un analgésique puissant servant à réduire les douleurs modérées à sévères. + Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. + Ein Schmerzmittel um mäßige bis starke Schmerzen zu behandeln + Egy fájdalomcsillapító anyag, jellemzően mérsékelt vagy erős fájdalom esetén alkalmazandó. + Un analgesico usato per combattere il dolore. + + + Atropin autoinjector + Атропин в пневмошприце + Atropina auto-inyectable + Auto-injecteur d'Atropine + Autostrzykawka AtroPen + Atropin Autoinjektor + Autoinjektor atropin + Atropin autoinjektor + Autoiniettore di Atropina + + + Used in NBC scenarios + Применяется для защиты от ОМП + Usado en escenarios NBQ + Utilisé en cas d'attaque CBRN + Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. + Verwendet bei ABC Kontamination + NBK helyzetek esetén használandó + Usato in situazioni con gas nervino. + + + A drug used by the Military in NBC scenarios. + Препарат, используемый в войсках для защиты от оружия массового поражения. + Medicamento usado por militares en escenarios NBQ + Médicament utilisé par l'armée en cas d'attaque CBRN + Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. + Ein Medikament, das vom Militär bei ABC Kontamination verwendet wird. + Egy instabil alkaloid, NBK helyzetek esetén a katonai szervezetek veszik használatba. + E' un farmaco usato in ambito militare in scenari con presenza di gas nervino. + + + Epinephrine autoinjector + Адреналин в пневмошприце + Epinefrina auto-inyectable + Auto-injecteur d'épinéphrine + Autostrzykawka EpiPen + Epiniphrin Autoinjektor + Autoinjektor adrenalin + Epinefrin autoinjektor + Autoiniettore di Epinefrina + + + Increase heart rate and counter effects given by allergic reactions + Стимулирует работу сердца и купирует аллергические реакции + Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas + Augmente la fréquence cadiaque et annule les effets d'une réaction anaphylactique + Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne + Steigert die Herzfrequenz und bekämpft Symptome von allergischen Reaktionen. + Növeli a szívverést és ellenzi az allergiás reakciók hatásait + Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche. + + + A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. + Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшенной вероятностью благоприятного исхода. + Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. + Medicament qui fonctionne sur le système nerveux sympathique créant une dilatation des bronches, augmente la fréquence cardiaque et annule les effets d'une réaction allergique (anaphylaxie). Utilisé lors d'arrêt cardio-respiratoire pour augmenter les chances de retrouver un pouls. + EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. + Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco. + Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. + + + Plasma IV (1000ml) + Плазма для в/в вливания (1000 мл) + Plasma IV (1000ml) + Plasma Sanguin IV (1000ml) + Osocze IV (1000ml) + Plasma IV (1000ml) + Vérplazma-infúzió (1000ml) + Plasma IV (1000ml) + + + A volume-expanding blood supplement. + Дополнительный препарат, применяемый при возмещении объема крови. + Suplemento para expandir el volumen sanguíneo. + Supplément visant à remplacer les volumes sanguin + Składnik krwi, używany do zwiększenia jej objętości. + Egy térfogatnövelő vérkiegészítmény. + Aiuta ad aumentare il volume sanguigno. + Volumenerweiterungsmittel (künstliches Blutvolumen) + + + A volume-expanding blood supplement. + Дополнительный препарат, применяемый при возмещении объема крови. + Suplemento para expandir el volumen sanguíneo. + Supplément visant à remplacer le volume sanguin et remplace les plaquettes. + Składnik krwi, używany do zwiększenia jej objętości. + Egy térfogatnövelő vérkiegészítmény. + Aiuta ad aumentare il volume sanguigno. + Volumenerweiterungsmittel (künstliches Blutvolumen) + + + Plasma IV (500ml) + Плазма для в/в вливания (500 мл) + Plasma IV (500ml) + Plasma sanguin IV (500ml) + Osocze IV (500ml) + Plasma IV (500ml) + Vérplazma-infúzió (500ml) + Plasma IV (500ml) + + + Plasma IV (250ml) + Плазма для в/в вливания (250 мл) + Plasma IV (250ml) + Plasma sanguin (250ml) + Osocze IV (250ml) + Plasma IV (250ml) + Vérplazma-infúzió (250ml) + Plasma IV (250ml) + + + Blood IV (1000ml) + Кровь для переливания (1000 мл) + Sangre IV (1000ml) + Cullot sanguin IV (1000ml) + Krew IV (1000ml) + Blut IV (1000ml) + Vér-infúzió (1000ml) + Sangue IV (1000ml) + + + Blood IV, for restoring a patients blood (keep cold) + Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) + Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) + Cullot sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. + Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych + Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó) + Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco) + Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) + + + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. + Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. + Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. + Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos. + Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue. + Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC + O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. + + + Blood IV (500ml) + Кровь для переливания (500 мл) + Sangre IV (500ml) + Cullot sanguin IV (500ml) + Krew IV (500ml) + Blut IV (500ml) + Vér-infúzió (500ml) + Sangue IV (500ml) + + + Blood IV (250ml) + Кровь для переливания (250 мл) + Sangre IV (250ml) + Cullot sanguin IV (250ml) + Krew IV (250ml) + Blut IV (250ml) + Vér-infúzió (250ml) + Samgue IV (250ml) + + + Saline IV (1000ml) + Физраствор для в/в вливания (1000 мл) + Solución Salina IV (1000ml) + Solution saline 0.9% IV (1000ml) + Sól fizjologiczna IV (1000ml) + Kochsalzlösung (1000ml) + 0,9%-os sósvíz-infúzió (1000ml) + Soluzione salina IV (1000ml) + + + Saline IV, for restoring a patients blood + Пакет физраствора для возмещения объема потерянной крови + Solución salina intravenosa, para restaurar el volumen sanguíneo + Solution saline 0.9% IV, pour rétablir temporairement la tension artérielle + Sól fizjologiczna, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta + 0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására + Soluzione salina, usata per ripristinare sangue nei pazienti. + Kochsalzlösung, ein medizinisches Volumenersatzmittel + + + A medical volume-replenishing agent introduced into the blood system through an IV infusion. + Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания + Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. + Un remplacant temporaire pour rétablir la tension artérielle lors de perte sanguine, administré par intra-veineuse + Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). + Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni. + Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV. + Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. + + + Saline IV (500ml) + Физраствор для в/в вливания (500 мл) + Salino IV (500ml) + Solution saline 0.9% IV (500ml) + Sól fizjologiczna IV (500ml) + Kochsalzlösung (500ml) + 0,9%-os sósvíz-infúzió (500ml) + Soluzione salina IV (500ml) + + + Saline IV (250ml) + Физраствор для в/в вливания (250 мл) + Salino IV (250ml) + Solution saline 0.9% IV (250ml) + Sól fizjologiczna IV (250ml) + Kochsalzlösung (250ml) + 0,9%-os sósvíz-infúzió (250ml) + Soluzione salina IV (250ml) + + + Basic Field Dressing (QuikClot) + Первичный перевязочный пакет (QuikClot) + Vendaje básico (QuickClot) + Bandage basique (Hémostatique) + Podstawowy pakiet opatrunkowy (QuikClot) + Verbandpäckchen(Gerinnungsmittel) + Általános zárókötszer (QuikClot) + Bendaggio emostatico (QuikClot) + + + QuikClot bandage + Гемостатический пакет QuikClot + Vendaje QuikClot + Bandage hémostatique + Hemostatyczny pakiet QuikClot. Podstawowy opatrunek stosowany na rany. + Bandage mit Gerinnungsmittel + QuikClot kötszer + Bendaggio emostatico (QuikClot) + + + Hemostatic bandage with coagulant that stops bleeding. + Медицинский коагулянт для экстренной остановки кровотечения + Un bandage aidant à coaguler les saignements mineurs à moyens. + Proszkowy opatrunek adsorpcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. + Vendaje hemostático con coagulante que detiene el sangrado. + Verband mit Gerinnungsmittel, um starke Blutung zu behandeln. + Hemostatikus kötszer egy vérzésgátló anyaggal. + Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue + + + Personal Aid Kit + Аптечка + Botiquín de primeros auxilios + Trousse de premiers soins + Apteczka osobista + Persönliches Verbandpäckchen + Elsősegélycsomag + Pronto soccorso personale + + + Includes various treatment kit needed for stitching or advanced treatment + Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. + Incluye material médico para tratamientos avanzados + Inclue du matériel medical pour les traitements avancés, tel les points de suture. + Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego + Beinhaltet medizinisches Material für fortgeschrittene Behandlung und zum Nähen. + Változatos segédfelszereléseket tartalmaz sebvarráshoz és haladó elsősegélynyújtáshoz + Include vario materiale medico per trattamenti avanzati. + + + Personal Aid Kit for in field stitching or advanced treatment + W znacznym stopniu poprawia stan pacjenta + Полевая аптчека для продвинутого лечения и зашивания ран + Persönliches Verbandspäckchen zum ambulanten Nähen und fortgeschrittener Behandlung. + Trousse de premiers soins pour coudre sur le terrain et traitements avancés. + + + Use Personal Aid Kit + Verbandpäckchen benutzen + Использовать аптечку + Utiliser la Trousse de premier soins + Użyj apteczki osobistej + + + Surgical Kit + Trousse chirurgicale + Хирургический набор + Kit quirúrgico + Zestaw do szycia ran + Operationsset + Sebészeti készlet + Kit chirurgico + + + Surgical Kit for in field advanced medical treatment + Trousse chirurgicale pour le traitement sur le terrain + Набор для хирургической помощи в полевых условиях + Kit quirúrgico para el tratamiento avanzado en el campo de batalla + Zestaw pozwalający na zszywanie ran w polu + Operationsset für fortgeschrittene medizinische Feldversorgung + Sebészeti készlet komplex orvosi feladatok terepen való ellátására + Kit chirurgico per trattamenti avanzati sul campo. + + + Surgical Kit for in field advanced medical treatment + Набор для хирургической помощи в полевых условиях + Kit quirúrgico para el tratamiento avanzado en el campo de batalla + Zestaw pozwalający na zszywanie ran w polu + Operationsset für fortgeschrittene medizinische Feldversorgung + Trousse chirurgicale pour le traitement sur le terrain + Sebészeti készlet komplex orvosi feladatok terepen való ellátására + Kit chirurgico per trattamenti avanzati sul campo. + + + Use Surgical Kit + Operationsset benutzen + Использовать хирургический набор + Utiliser la trousse chirugicale + Zszyj rany + + + Bodybag + Housse mortuaire + Мешок для трупов + Bolsa para cadáveres + Worek na zwłoki + Leichensack + Hullazsák + Sacca per corpi + + + A bodybag for dead bodies + Housse de transport des corps + Мешок для упаковки трупов + Una bolsa para cadáveres + Worek do pakowania zwłok + Ein Leichensack für Tote + Egy hullazsák a holttestek számára + Una sacca nera per trasportare cadaveri. + + + A bodybag for dead bodies + Housse de transport des corps + Мешок для упаковки трупов + Una bolsa para cadáveres + Worek do pakowania zwłok + Ein Leichensack für Tote + Egy hullazsák a holttestek számára + Una sacca nera per trasportare cadaveri. + + + Blood Pressure + Tension artérielle + Артериальное давление + Presión arterial + Ciśnienie krwi + Blutdruck + Vérnyomás + Pressione sanguigna + + + Checking Blood Pressure.. + Mesure de la tension ... + Проверка артериального давления ... + Comprobando presión arterial... + Sprawdzanie ciśnienia krwi... + Blutdruck kontrollieren... + Vérnyomás megmérése... + Controllando la pressione sanguigna.. + + + %1 checked Blood Pressure: %2 + %1 kontrollierte Blutdruck: %2 + %1 проверил артериальное давление: %2 + %1 à vérifié la tension: %2 + %1 sprawdził ciśnienie krwi: %2 + + + You checked %1 + Vous diagnostiquez %1 + Вы осмотрели раненого %1 + Examinando a %1 + Zbadałeś %1 + Kontrolliert %1 + A %1 ellenőrizve + Hai diagnosticato %1 + + + You find a blood pressure of %2/%3 + Vous avez trouvé une tension de %2/%3 + Артериальное давление %2/%3 + La Presión Arterial es %2/%3 + A vérnyomás %2/%3 + Hai riscontrato una pressione di %2/%3 + Wyczuwasz ciśnienie krwi o wartości %2/%3 + Der Blutdruck liegt bei %2/%3 + + + You find a low blood pressure + Tension basse + Давление низкое + La presión arterial es baja + Wyczuwasz niskie ciśnienie krwi + Blutdruck ist niedrig + A vérnyomás alacsony + La pressione sanguigna è bassa + + + You find a normal blood pressure + Tension normale + Давление нормальное + La presión arterial es normal + Wyczuwasz normalne ciśnienie krwi + Blutdruck ist normal + A vérnyomás normális + La pressione sanguigna è normale + + + You find a high blood pressure + Tension haute + Давление высокое + La presión arterial es alta + Wyczuwasz wysokie ciśnienie krwi + Blutdruck ist hoch + A vérnyomás magas + La pressione sanguigna è alta + + + You find no blood pressure + Pas de tension + Давления нет + No hay presión arterial + Nie wyczuwasz ciśnienia krwi + Patient hat keinen Blutdruck + Nem észlelhető vérnyomás + La pressione sanguigna è assente + + + You fail to find a blood pressure + Vous n'avez pas pu mesurer de tension + Артериальное давление не определяется + No puedes encontrar presión arterial + Nie udało Ci się sprawdzić ciśnienia krwi + Blutdruck konnte nicht gefunden werden + Nem sikerült a vérnyomás megmérése + Manca strumento per misurare pressione sanguigna + + + Low + Niedrig + Низкое + Faible + Niskie + + + Normal + Normal + Нормальное + Normale + Normalne + + + High + Hoch + Высокое + Haute + Wysokie + + + No Blood Pressure + Kein Blutdruck + Артериальное давление отсутствует + Aucune tension + Brak ciśnienia krwi + + + Pulse + Пульс + Pouls + Pulso + Tętno + Puls + Pulzus + Polso + + + Checking Heart Rate ... + Vérification du rythme cardiaque ... + Проверка пульса ... + Comprobando ritmo cardíaco ... + Sprawdzanie tętna ... + Kontrolliere Herzfrequenz ... + Szívverés-szám mérése... + Controllando il battito cardiaco ... + + + You checked %1 + Вы осмотрели раненого %1 + Vous examinez %1 + Examinando a %1 + Zbadałeś %1 + Kontrolliert %1 + A %1 ellenőrizve + Hai diagnosticato %1 + + + %1 checked Heart Rate: %2 + %1 kontrollierte Herzfrequenz: %2 + %1 проверил пульс: %2 + %1 à vérifié le rythme cardiaque: %2 + %1 sprawdził tętno: %2 + + + Weak + Schwach + Слабый + Faible + Słabe + + + Normal + Normal + Нормальный + Normal + Normalne + + + Strong + Stark + Сильный + Fort + Silne + + + You find a Heart Rate of %2 + Rythme cardiaque de %2 + Пульс %2 уд./мин. + El ritmo cardíaco es de %2 + Wyczuwasz tętno o wartości %2 + Herzfrequenz ist %2 + A szívverés-szám %2 + Il battito cardiaco è %2 + + + You find a weak Heart Rate + Rythme cardiaque faible + Пульс слабый + El ritmo cardíaco es débil + Wyczuwasz słabe tętno + Schwacher Puls + A szívverés-szám alacsony + Hai riscontrato un debole battito cardiaco + + + You find a strong Heart Rate + Rythme cardiaque élevé + Пульс учащенный + El ritmo cardíaco está acelerado + Wyczuwasz silne tętno + Starker Puls + A szívverés-szám magas + Hai riscontrato un forte battito cardiaco + + + You find a normal Heart Rate + Rythme cardiaque normal + Пульс в норме + El ritmo cardíaco es bueno + Wyczuwasz normalne tętno + Normaler Puls + A szívverés-szám normális + Hai riscontrato un normale battito cardiaco + + + You find no Heart Rate + Pas de rythme cardiaque + Пульс не прощупывается + No tiene ritmo cardíaco + Wyczuwasz brak tętna + Kein Puls gefunden + Nem észlelhető szívverés + Hai riscontrato una assenza di battito cardiaco + + + Response + Etat de Conscience + Реакция + Respuesta + Przytomność + Ansprechbarkeit + Reagálóképesség + Risposta + + + You check response of patient + Vous vérifiez la réponse du patient + Вы проверяете реакцию раненого + Compruebas si el paciente reacciona + Sprawdzasz przytomność pacjenta + Du prüfst ob der Patient ansprechbar ist + Ellenőrzöd a páciens reagálóképességét + Controlli la risposta del paziente + + + %1 is responsive + %1 реагирует на раздражители + %1 est conscient + %1 ha reaccionado + %1 jest przytomny + %1 ist anprechbar + %1 reakcióképes + %1 e' cosciente + + + %1 is not responsive + %1 не реагирует на раздражители + %1 est inconscient + %1 no reacciona + %1 jest nieprzytomny + %1 ist nicht ansprechbar + %1 nem reagál + %1 e' incosciente + + + You checked %1 + Вы осмотрели раненого %1 + Vous avez examiné %1 + Examinas a %1 + Zbadałeś %1 + Du hast versucht, %1 anzusprechen + Megnézted %1-t + Hai controllato %1 + + + Patient %1<br/>is %2.<br/>%3.<br/>%4 + Пациент %1<br/>%2.<br/>%3.<br/>%4 + Patient %1<br/>ist %2.<br/>%3.<br/>%4 + Patient %1<br/>est %2.<br/>%3.<br/> + Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 + + + alive + жив + lebendig + vivant + żywy + + + dead + мертв + tot + mort + martwy + + + He's lost some blood + Есть кровопотеря + Er hat etwas Blut verloren + Il à perdu du sang + Stracił trochę krwi + + + He hasn't lost blood + Нет кровопотери + Er hat kein Blut verloren + il n'a pas perdu de sang + Nie stracił krwi + + + He is in pain + Испытывает боль + Er hat Schmerzen + il souffre + Odczuwa ból + + + He is not in pain + Не испытывает боли + Er hat keine Schmerzen + Il ne souffre pas + Nie odczuwa bólu + + + Bandaged + Bandé + Повязка наложена + Vendado + Zabandażowano + Bekötözve + Bendato + verbunden + + + You bandage %1 (%2) + Vous bandez %1 (%2) + Вы перевязали раненого %1 (%2) + Aplicas vendaje a %1 en %2 + Bandażujesz %1 (%2) + Bekötözöd %1-t (%2) + Stai bendando %1 (%2) + Du verbindest %1 (%2) + + + %1 is bandaging you + %1 vous bande + %1 перевязывает вас + %1 te está vendando + %1 bandażuje Ciebie + %1 bekötöz téged + %1 ti sta bendando + %1 verbindet dich + + + You start stitching injuries from %1 (%2) + Вы зашиваете ранения от %1 (%2) + Du nähst die Wunden von %1 (%2) + Vous suturez %1 (%2) + Estás suturando heridas de %1 en %2 + Zszywasz rany %1 (%2) + Elkezded összevarni %1 sérüléseit (%2) + Stai suturando le ferite di %1 (%2) + + + Stitching + Наложение швов + Suturando + Nähen + Sutures + Szycie + Összevarrás + Suturando + + + You treat the airway of %1 + Вы интубируете раненого %1 + Estás intubando a %1 + Du behandelst die Atemwege von %1 + Vous traitez les voies respiratoires de %1 + Udrażniasz drogi oddechowe %1 + Kezeled %1 légútját + Controlli le vie respiratorie di %1 + + + Airway + Дыхательные пути + Vías aéreas + Drogi oddechowe + Atemwege + Voies respiratoires + Légút + Vie respiratorie + + + %1 is treating your airway + %1 проводит вам интубацию + %1 traite vos voies respiratoires + %1 te está intubando + %1 udrażnia Twoje drogi oddechowe + %1 behandelt deine Atemwege + %1 kezeli a légútadat + %1 ti sta trattando le vie respiratorie + + + Drag + Ziehen + Arrastrar + Ciągnij + Táhnout + Тащить + Trainer + Húzás + Arrastar + Trascina + + + Carry + Tragen + Cargar + Nieś + Nést + Нести + Porter + Cipelés + Carregar + Trasporta + + + Release + Loslassen + Soltar + Połóż + Položit + Отпустить + Déposer + Elengedés + Largar + Rrilascia + + + Load Patient Into + Patient Einladen + Cargar el paciente en + Załaduj pacjenta + Naložit pacianta do + Погрузить пациента в + Embarquer le patient + Sebesült berakása + Carregar Paciente Em + Carica paziente nel + + + Unload Patient + Patient Ausladen + Descargar el paciente + Wyładuj pacjenta + Vyložit pacienta + Выгрузить пациента + Débarquer le patient + Sebesült kihúzása + Descarregar Paciente + Scarica il paziente + + + Unload patient + Descargar el paciente + Выгрузить пациента + Patient Ausladen + Wyładuj pacjenta + Débarquer le patient + Sebesült kihúzása + Scarica il paziente + + + Load patient + Cargar el paciente en + Погрузить пациента + Patient Einladen + Załaduj pacjenta + Embarquer le patient + Sebesült berakása + Carica il paziente + + + Place body in bodybag + Colocar cuerpo en bolsa para cadáveres + Поместить тело в мешок для трупов + Körper in Leichesack verstauen + Zapakuj ciało do worka na zwłoki + Mettre le corps dans la housse mortuaire + Test hullazsákba helyezése + Metti il corpo nella sacca per cadaveri + + + Placing body in bodybag + Colocando cuerpo en bolsa para cadáveres + Упаковка тела ... + Verstaue Körper in Leichensack + Pakowanie ciała do worka na zwłoki + Placement du corps dans la housse + Test hullazsákba helyezése ... + Stai mettendo il corpo nella sacca + + + %1 has bandaged patient + %1 has vendado al paciente + %1 перевязал пациента + %1 hat den Patienten verbunden + %1 zabandażował pacjenta + %1 a pansé le patient + %1 bekötözte a pácienst + %1 ha bendato il paziente + + + %1 used %2 + %1 usó %2 + %1 benutzt %2 + %1 использовал %2 + %1 użył %2 + %1 utilise %2 + %1 használta a %2-t + %1 ha usato %2 + + + %1 has given an IV + %1 has puesto una IV + %1 провел переливание + %1 hat eine Infusion verabreicht + %1 podał IV + %1 a administré une IV + %1 infúziót adott + %1 ha somministrato una IV + + + %1 applied a tourniquet + %1 aplicado torniquete + %1 наложил жгут + %1 hat einen Tourniquet angelegt + %1 założył stazę + %1 a appliqué un garrot + %1 felhelyezett egy érszorítót + %1 ha applicato un laccio emostatico + + + Heavily wounded + Schwer verwundet: + Ciężko ranny + Тяжелые ранения + Gravemente ferito + Gravemente herido + Lourdement blessé + + + Lightly wounded + Leicht verwundet: + Lekko ranny + Легкие ранения + Leggermente ferito + Levemente herido + Légèrement blessé + + + Very lightly wounded + Sehr leicht verwundet: + B. lekko ranny + Царапины + Ferito lievemente + Muy levemente herido + Très légèrement blessé + + + Head + Kopf + Głowa + Головы + Testa + Cabeza + Tête + + + Torso + Torso + Tors + Торса + Torso + Torso + Torse + + + Left Arm + Linker Arm + Lewe ramię + Левой руки + Braccio sinistro + Brazo izquierdo + Bras gouche + + + Right Arm + Rechter Arm + Prawe ramię + Правой руки + Braccio destro + Brazo derecho + Bras droit + + + Left Leg + Linkes Bein + Lewa noga + Левой ноги + Gamba sinistra + Pierna izquierda + Jambe gauche + + + Right Leg + Rechtes Bein + Prawa noga + Правой ноги + Gamba destra + Pierna derecha + Jambe droite + + + Pain Effect Type + Schmerzeffekt-Typ + Rodzaj efektu bólu + Визуальный эффект боли + Pain Effect Type + Tipo de efecto de dolor + Type d'effet de douleur + + + Colour Flashing + Farbblinken + Pulsujące kolory + Пульсирующий свет + Colore lampeggiante + Parpadeo de color + Flash de couleur + + + Chromatic Aberration + Chromatische Aberration + Aberracja chromatyczna + Хроматическая аберрация + Aberrazione cromatica + Aberración cromática + Aberration chromatique + + + Scrape + Kratzer + Ссадина + Eraflure + Draśnięcie + + + Minor Scrape + Kleiner Kratzer + Малая ссадина + Eraflure Mineure + Pomniejsze draśnięcie + + + Medium Scrape + Mittlerer Kratzer + Средняя ссадина + Moyenne Eraflure + Średnie draśnięcie + + + Large Scrape + Großer Kratzer + Большая ссадина + Large Eraflure + Duże draśnięcie + + + Avulsion + Avulsion + Рваная рана + Avulsion + Rana płatowa + + + Minor Avulsion + Kleine Avulsion + Малая рваная рана + Avulsion Mineure + Pomniejsza rana płatowa + + + Medium Avulsion + Mittlere Avulsion + Средняя рваная рана + Avulsion Moyenne + Średnia rana płatowa + + + Large Avulsion + Große Avulsion + Большая рваная рана + Large Avulsion + Duża rana płatowa + + + Bruise + Prellung + Ушиб + Hématome + Stłuczenie + + + Minor Bruise + Kleine Prellung + Малый ушиб + Hématome Mineur + Pomniejsze stłuczenie + + + Medium Bruise + Mittlere Prellung + Средний ушиб + Hématome Moyen + Średnie stłuczenie + + + Large Bruise + Große Prellung + Большой ушиб + Large Hématome + Duże stłuczenie + + + Crushed tissue + Quetschverletzung + Компресионная травма + Tissu écrasé + Zgniecienie tkanek miękkich + + + Minor crushed tissue + Kleine Quetschverletzung + Малая компрессионная травма + Tissu écrasé Mineur + Pomniejsze zgniecienie tkanek miękkich + + + Medium crushed tissue + Mittlere Quetschverletzung + Средняя компрессионная травма + Tissu écrasé Moyen + Średnie zgniecienie tkanek miękkich + + + Large crushed tissue + Große Quetschverletzung + Большая компрессионная травма + Tissu écrasé Large + Duże zgniecienie tkanek miękkich + + + Cut + Schnittwunde + Резаная рана + Coupure + Rana cięta + + + Small Cut + Kleine Schnittwunde + Малая резаная рана + Pomniejsza rana cięta + Petite Coupure + + + Medium Cut + Mittlere Schnittwunde + Средняя резаная рана + Średnia rana cięta + Moyenne Coupure + + + Large Cut + Große Schnittwunde + Большая резаная рана + Duża rana cięta + Large Coupure + + + Tear + Riss + Рваная рана + Rozerwanie skóry + Déchirure + + + Small Tear + Kleiner Riss + Малая рваная рана + Pomniejsze rozerwanie skóry + Petite Déchirure + + + Medium Tear + Mittlerer Riss + Средняя рваная рана + Średnie rozerwanie skóry + Moyenne Déchirure + + + Large Tear + Großer Riss + Большая рваная рана + Duże rozerwanie skóry + Large Déchirure + + + Velocity Wound + Ballistisches Trauma + Огнестрельная рана + Rana postrzałowa + Blessure de vélocité + + + Smal Velocity Wound + Kleines Ballistisches Trauma + Малая огнестрельная рана + Pomniejsza rana postrzałowa + Petite Bessure de vélocité + + + Medium Velocity Wound + Mittleres Ballistisches Trauma + Средняя огнестрельная рана + Średnia rana postrzałowa + Moyenne Blessure de vélocité + + + Large Velocity Wound + Großes Ballistisches Trauma + Большая огнестрельная рана + Duża rana postrzałowa + Large Blessure de vélocité + + + Puncture Wound + Stichwunde + Колотая рана + Rana kłuta + Blessure de perforation + + + Minor Puncture Wound + Kleine Stichwunde + Малая колотая рана + Pomniejsza rana kłuta + Blessure de perforation Mineure + + + Medium Puncture Wound + Mittlere Stichwunde + Средняя колотая рана + Średnia rana kłuta + Blessure de perforation Moyenne + + + Large Puncture Wound + Große Stichwunde + Большая колотая рана + Duża rana kłuta + Large Blessure de perforation + + + Broken Femur + Gebrochener Oberschenkelknochen + Перелом + Zkłamana kość udowa + Femur Cassé + + \ No newline at end of file diff --git a/addons/medical/ui/RscTitles.hpp b/addons/medical/ui/RscTitles.hpp index 1962daec80..dece0e0a8d 100644 --- a/addons/medical/ui/RscTitles.hpp +++ b/addons/medical/ui/RscTitles.hpp @@ -60,7 +60,7 @@ class Rsctitles { font = "PuristaMedium"; colorText[] = {0.95, 0.95, 0.95, 0.75}; colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - text = "INJURIES"; + text = "$STR_ACE_Medical_Injuries"; }; class InjuryList: ACE_gui_listBoxBase { idc = 200; diff --git a/addons/medical/ui/icons/medical_crossRed.paa b/addons/medical/ui/icons/medical_crossRed.paa new file mode 100644 index 0000000000..5a0c8e9f9c Binary files /dev/null and b/addons/medical/ui/icons/medical_crossRed.paa differ diff --git a/addons/medical/ui/icons/medical_crossYellow.paa b/addons/medical/ui/icons/medical_crossYellow.paa new file mode 100644 index 0000000000..74ddefd837 Binary files /dev/null and b/addons/medical/ui/icons/medical_crossYellow.paa differ diff --git a/addons/medical/ui/triagecard.hpp b/addons/medical/ui/triagecard.hpp index f1b98f1e2d..a93440d13a 100644 --- a/addons/medical/ui/triagecard.hpp +++ b/addons/medical/ui/triagecard.hpp @@ -49,7 +49,7 @@ class GVAR(triageCard) { font = "PuristaMedium"; colorText[] = {0,0,0,1}; colorBackground[] = {0,0,0,0}; - text = "TRIAGE CARD"; + text = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; }; class TriageList: ACE_gui_listBoxBase { idc = 200; diff --git a/addons/microdagr/XEH_clientInit.sqf b/addons/microdagr/XEH_clientInit.sqf index c917eb0a8d..99c94b4512 100644 --- a/addons/microdagr/XEH_clientInit.sqf +++ b/addons/microdagr/XEH_clientInit.sqf @@ -54,6 +54,8 @@ GVAR(rangeFinderPositionASL) = []; GVAR(mapAltitude) = getNumber (configFile >> "CfgWorlds" >> worldName >> "elevationOffset"); +private ["_worldMapLong", "_worldMapLat", "_zone", "_band", "_squareID"]; + //Calculate the map's MGRS: _worldMapLong = getNumber (configFile >> "CfgWorlds" >> worldName >> "longitude"); _worldMapLat = getNumber (configFile >> "CfgWorlds" >> worldName >> "latitude"); diff --git a/addons/microdagr/config.cpp b/addons/microdagr/config.cpp index e337aa96d5..4e459c126c 100644 --- a/addons/microdagr/config.cpp +++ b/addons/microdagr/config.cpp @@ -21,6 +21,6 @@ class ACE_Settings { class GVAR(MapDataAvailable) { value = 2; typeName = "SCALAR"; - isClientSetable = 0; + isClientSettable = 0; }; }; diff --git a/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf b/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf index 6912810f58..c383d0a95e 100644 --- a/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf +++ b/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf @@ -19,6 +19,8 @@ PARAMS_2(_waypointName,_waypointPosASL); +private "_waypoints"; + _waypoints = ace_player getVariable [QGVAR(waypoints), []]; _waypoints pushBack [_waypointName, _waypointPosASL]; ace_player setVariable [QGVAR(waypoints), _waypoints]; diff --git a/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf b/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf index 3d1e8ec852..62ca5a222a 100644 --- a/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf +++ b/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf @@ -18,6 +18,8 @@ PARAMS_1(_wpIndex); +private "_waypoints"; + _waypoints = ace_player getVariable [QGVAR(waypoints), []]; if ((_wpIndex < 0) || (_wpIndex > ((count _waypoints) - 1))) exitWith {ERROR("out of bounds wp");}; diff --git a/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf b/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf index f36d5f2548..21a164ff2e 100644 --- a/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf +++ b/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf @@ -20,6 +20,8 @@ PARAMS_4(_theMap,_mouseButton,_xPos,_yPos); +private ["_worldPos"]; + //Only handle LMB if (_mouseButton != 0) exitWith {}; diff --git a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf index 3acf3e889c..644064d069 100644 --- a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf +++ b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf @@ -17,7 +17,8 @@ PARAMS_1(_theMap); -_theMap = _this select 0; +private ["_mapSize", "_waypoints", "_size", "_targetPos", "_relBearing", "_wpName", "_wpPos", "_alpha"]; + _mapSize = (ctrlPosition _theMap) select 3; _waypoints = [] call FUNC(deviceGetWaypoints); @@ -48,11 +49,11 @@ if (GVAR(currentApplicationPage) == 1) then { } else { //Map Mode: if (GVAR(mapAutoTrackPosition)) then { - _theMap ctrlMapAnimAdd [0, (GVAR(mapZoom)/_mapSize), GVAR(gpsPositionASL)]; + _theMap ctrlMapAnimAdd [0, (GVAR(mapZoom)/_mapSize), (getPosASL ace_player)]; ctrlMapAnimCommit _theMap; }; _size = 48 * _mapSize; - _theMap drawIcon [QUOTE(PATHTO_R(images\icon_self.paa)), [0.533,0.769,0.76,0.75], GVAR(gpsPositionASL), _size, _size, (getDir ace_player), '', 0 ]; + _theMap drawIcon [QUOTE(PATHTO_R(images\icon_self.paa)), [0.533,0.769,0.76,0.75], (getPosASL ace_player), _size, _size, (getDir ace_player), '', 0 ]; if (GVAR(settingShowAllWaypointsOnMap)) then { _size = 32 * _mapSize; diff --git a/addons/microdagr/functions/fnc_openDisplay.sqf b/addons/microdagr/functions/fnc_openDisplay.sqf index ae5f7f47f5..b4cec0fe46 100644 --- a/addons/microdagr/functions/fnc_openDisplay.sqf +++ b/addons/microdagr/functions/fnc_openDisplay.sqf @@ -83,7 +83,6 @@ if ((_oldShowMode == DISPLAY_MODE_CLOSED) && {GVAR(currentShowMode) != DISPLAY_M }; [_pfID] call CBA_fnc_removePerFrameHandler; } else { - GVAR(gpsPositionASL) = getPosAsl ace_player; if (GVAR(currentShowMode) == DISPLAY_MODE_HIDDEN) then { //If display is hidden, and we can show, then swithc modes: if ([DISPLAY_MODE_DISPLAY] call FUNC(canShow)) then { diff --git a/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf b/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf index 1f4982d87f..64a5cab991 100644 --- a/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf +++ b/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf @@ -1,7 +1,7 @@ /* * Author: PabstMirror * Saves the current mode and sets a new mode - * Used to backup display when switching display modes + * Used to backup display when switching display modes * * Arguments: * 0: New Mode @@ -16,7 +16,7 @@ */ #include "script_component.hpp" -private ["_display", "_theMap", "_mapSize", "_centerPos"]; +private ["_display", "_theMap", "_mapSize", "_centerPos", "_mapCtrlPos"]; PARAMS_1(_newMode); @@ -36,16 +36,16 @@ if (GVAR(currentApplicationPage) == 2) then { _centerPos = [((_mapCtrlPos select 0) + (_mapCtrlPos select 2) / 2), ((_mapCtrlPos select 1) + (_mapCtrlPos select 3) / 2)]; GVAR(mapPosition) = _theMap ctrlMapScreenToWorld _centerPos; GVAR(mapZoom) = (ctrlMapScale _theMap) * _mapSize; - + //Hit button again, toggle map modes: if (_newMode == 2) then { - if (GVAR(mapShowTexture)) then { - GVAR(mapShowTexture) = false; - } else { + if (GVAR(mapShowTexture)) then { + GVAR(mapShowTexture) = false; + } else { if (GVAR(MapDataAvailable) == MAP_DETAIL_SAT) then { GVAR(mapShowTexture) = true; }; - }; + }; }; }; diff --git a/addons/microdagr/functions/fnc_updateDisplay.sqf b/addons/microdagr/functions/fnc_updateDisplay.sqf index af577049a0..26e5ef8638 100644 --- a/addons/microdagr/functions/fnc_updateDisplay.sqf +++ b/addons/microdagr/functions/fnc_updateDisplay.sqf @@ -1,4 +1,4 @@ -/* +/* * Author: PabstMirror * Updates the display (several times a second) called from the pfeh * @@ -44,7 +44,7 @@ case (APP_MODE_INFODISPLAY): { (_display displayCtrl IDC_MODEDISPLAY_NORTHING) ctrlSetText _northingText; //Elevation: - _numASL = (GVAR(gpsPositionASL) select 2) + GVAR(mapAltitude); + _numASL = ((getPosASL ace_player) select 2) + GVAR(mapAltitude); _aboveSeaLevelText = [_numASL, 5, 0] call CBA_fnc_formatNumber; _aboveSeaLevelText = if (_numASL > 0) then {"+" + _aboveSeaLevelText + " MSL"} else {_aboveSeaLevelText + " MSL"}; (_display displayCtrl IDC_MODEDISPLAY_ELEVATIONNUM) ctrlSetText _aboveSeaLevelText; @@ -53,7 +53,7 @@ case (APP_MODE_INFODISPLAY): { _compassAngleText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (getDir ace_player))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "" //degree symbol is in UTF-8 + ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODEDISPLAY_HEADINGNUM) ctrlSetText _compassAngleText; @@ -88,13 +88,13 @@ case (APP_MODE_INFODISPLAY): { }; if (!(_targetPosLocationASL isEqualTo [])) then { - _bearing = [GVAR(gpsPositionASL), _targetPosLocationASL] call BIS_fnc_dirTo; + _bearing = [(getPosASL ace_player), _targetPosLocationASL] call BIS_fnc_dirTo; _bearingText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (_bearing))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "" //degree symbol is in UTF-8 + ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; - _2dDistanceKm = ((GVAR(gpsPositionASL) select [0,2]) distance (_targetPosLocationASL select [0,2])) / 1000; + _2dDistanceKm = (((getPosASL ace_player) select [0,2]) distance (_targetPosLocationASL select [0,2])) / 1000; _rangeText = format ["%1km", ([_2dDistanceKm, 1, 1] call CBA_fnc_formatNumber)]; _numASL = (_targetPosLocationASL select 2) + GVAR(mapAltitude); _aboveSeaLevelText = [_numASL, 5, 0] call CBA_fnc_formatNumber; @@ -112,7 +112,7 @@ case (APP_MODE_COMPASS): { _compassAngleText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (getDir ace_player))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "M" //degree symbol is in UTF-8 + ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODECOMPASS_HEADING) ctrlSetText _compassAngleText; @@ -125,7 +125,7 @@ case (APP_MODE_COMPASS): { (_display displayCtrl IDC_MODECOMPASS_RANGE) ctrlSetText ""; (_display displayCtrl IDC_MODECOMPASS_TARGET) ctrlSetText ""; } else { - _playerPos2d = GVAR(gpsPositionASL) select [0,2]; + _playerPos2d = (getPosASL ace_player) select [0,2]; _targetPosName = ""; _targetPosLocationASL = []; @@ -145,13 +145,13 @@ case (APP_MODE_COMPASS): { _rangeText = "---"; if (!(_targetPosLocationASL isEqualTo [])) then { - _bearing = [GVAR(gpsPositionASL), _targetPosLocationASL] call BIS_fnc_dirTo; + _bearing = [(getPosASL ace_player), _targetPosLocationASL] call BIS_fnc_dirTo; _bearingText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (_bearing))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "M" //degree symbol is in UTF-8 + ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; - _2dDistanceKm = ((GVAR(gpsPositionASL) select [0,2]) distance (_targetPosLocationASL select [0,2])) / 1000; + _2dDistanceKm = (((getPosASL ace_player) select [0,2]) distance (_targetPosLocationASL select [0,2])) / 1000; _rangeText = format ["%1km", ([_2dDistanceKm, 1, 1] call CBA_fnc_formatNumber)]; }; @@ -169,7 +169,7 @@ case (APP_MODE_WAYPOINTS): { { EXPLODE_2_PVT(_x,_wpName,_wpPos); _wpListBox lbAdd _wpName; - _2dDistanceKm = ((GVAR(gpsPositionASL) select [0,2]) distance (_wpPos select [0,2])) / 1000; + _2dDistanceKm = (((getPosASL ace_player) select [0,2]) distance (_wpPos select [0,2])) / 1000; _wpListBox lbSetTextRight [_forEachIndex, (format ["%1km", ([_2dDistanceKm, 1, 1] call CBA_fnc_formatNumber)])]; } forEach _waypoints; diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 772a7a172f..2c5eda7c41 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,109 +1,282 @@  - - - - MicroDAGR GPS - - - MicroDAGR advanced GPS receiver - - - Angular Unit: - - - Mils - - - Show Waypoints On Map: - - - Degrees - - - On - Zapnuto - Oui - Ein - - Wł. - Ativar - Вкл. - - - - Off - Vypnuto - Non - Aus - No - Wył. - Desativar - Выкл. - No - - - Enter Grid Cords: - - - Name of [%1] - - - MGRS-New - - - WGD - - - Range: - Reichweite: - - - Compass Direction - - - Mark - - - Waypoints - Wegpunkte - - - Connect To - - - Settings - Einstellungen - Configuración - - - SetWP - - - Add - - - Delete - Smazat - Supprimer - Löschen - Elimina - Usuń - Excluir - Удалить - Suprimir - - - Toggle MicroDAGR Display Mode - - - Show MicoDAGR - - - Configure MicroDAGR - - - Close MicroDAGR - - - \ No newline at end of file + + + MicroDAGR GPS + MicroDAGR GPS + GPS MicroDAGR + MicroDAGR GPS + MicroDAGR GPS + MicroDAGR GPS + MicroDAGR GPS + MicroDAGR GPS + MicroDAGR GPS + + + MicroDAGR advanced GPS receiver + MicroDAGR - Fortgeschrittener GPS-Empfänger + Receptor avanzado GPS MicroDAGR + Многофункциональный GPS-приёмник. + Zaawansowany odbiornik GPS MicroDAGR + Récepteur GPS MicroDAGR + MicroDAGR pokročílá GPS příjímač + MicroDAGR fejlett GPS vevőegység + MicroDAGR ricevitore GPS avanzato + + + Angular Unit: + Unidad angular: + Угловые единицы: + Jednostka kątowa: + Unité angulaire + Winkeleinheit: + Úhlová jednotka: + Szögmértékegység: + Unità angolare: + + + Mils + Mil + Mils + Тысячные + Tysiączne + Mils + Mils + Mil + Miglia + + + Show Waypoints On Map: + Zeige Wegpunkte auf Karte + Mostrar puntos de ruta en el mapa: + Показывать маршрутные точки на карте: + Pokaż PT na mapie: + Montrer points de passage sur la carte + Ukázat waypointy na mapě: + Útvonalpontok mutatása a térképen: + Mostra waypoint sulla mappa: + + + Degrees + Grad + Grados + Градусы + Stopnie + Degrés + Stupně + Fok + Gradi + + + On + Zapnuto + Allumé + Ein + Acceso + Wł. + Ativar + Вкл. + Encendido + Be + + + Off + Vypnuto + Eteint + Aus + Spento + Wył. + Desativar + Выкл. + Apagado + Ki + + + Enter Grid Cords: + Introducir coordenadas de cuadrícula: + Введите сеточные координаты: + Wprowadź współrzędne: + Entrer coordonnées + Koordinaten eingeben: + Napiš souřadnice: + Add meg a rácskoordinátákat: + Introduci griglia coordinate: + + + Name of [%1] + Name von [%1] + Nombre de [%1] + Название [%1] + Nazwa [%1] + Nom de %1 + Název [%1] + [%1] neve + Nome di [%1] + + + MGRS-New + UTMREF-NEU + Nuevo-MGRS + MGRS-Новая + MGRS-Nowy + Info-MGRS + MGRS-Nový + MGRS-új + Nuovo MGRS + + + WGD + WGD + WGD + WGD + WGD + WGD + WGD + WGD + WGD + + + Range: + Distancia: + Distanz: + Дистанция: + Dystans: + Distance: + Vzdálenost: + Távolság: + Distanza: + + + Compass Direction + Kompass Richtung + Dirección de la brújula + Азимут + Azymut + Azimut + Azimut: + Irányszög + Azimut + + + Mark + Markieren + Marca + Отметка + Oznacz + Marque + Označit + Jelölés + Marca + + + Waypoints + Puntos de ruta + Wegpunkte + Машрутные точки + Waypointy + Punkty trasy + Point de passage + Útvonalpontok + waypoints + + + Connect To + Conectar a + Подключиться к + Verbinde zu + Připojit k + Podłącz do + Connecter + Csatlakozás + Collega a + + + Settings + Paramètres + Einstellungen + Configuración + Настройки + Nastavení + Ustawienia + Beállítások + Impostaizoni + + + SetWP + WP setzen + Establecer PR + Установить МТ + Nastavit WP + UstawPT + Définir point de passage + UP Beállítása + Definisci WayPoints + + + Add + Hinzufügen + Añadir + Добавить + Přidat + Dodaj + Ajouter + Hozzáadás + Aggiungi + + + Delete + Smazat + Supprimer + Löschen + Elimina + Usuń + Excluir + Удалить + Borrar + + + Toggle MicroDAGR Display Mode + MicoDAGR Anzeigemodus wechseln + Conmutar modo de pantalla del MicroDAGR + Сменить режим показа MicroDAGR + Przełącz GUI MicroDAGR + Basculer le mode d'affichage MicroDAGR + Přepnout zobrazení MircroDAGRu + MicroDAGR kijelzési mód váltása + Alterna modalità display MicroDAGR + + + Show MicoDAGR + Zeige MicroDAGR + Mostrar MicroDAGR + Показать MicroDAGR + Ukázat MicroDAGR GPS + Pokaż MicroDAGR + Afficher MicroDAGR + MicroDAGR mutatása + Mostra MicroDAGR + + + Configure MicroDAGR + Konfiguriere MicroDAGR + Configurar MicroDAGR + Настроить MicroDAGR + Konfigurovat MicroDAGR GPS + Konfiguruj MicroDAGR + Configurer MicroDAGR + MicroDAGR konfigurálása + ConfiguraMicroDAGR + + + Close MicroDAGR + Schließe MicroDAGR + Cerrar MicroDAGR + Закрыть MicroDAGR + Zavřít MicroDAGR GPS + Zamknij MicroDAGR + Fermer MicroDAGR + MicroDAGR elrejtése + Chiudi MicroDAGR + + + diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp new file mode 100644 index 0000000000..f3434fef9b --- /dev/null +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -0,0 +1,61 @@ +class GVAR(AttackProfiles) { + class LIN { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(attackProfile_LIN); + }; + class DIR { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(attackProfile_DIR); + }; + class MID { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(attackProfile_MID); + }; + class HI { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(attackProfile_HI); + }; + class JAV_DIR { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(attackProfile_JAV_DIR); + }; + class JAV_TOP { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(attackProfile_JAV_TOP); + }; +}; + +class GVAR(SeekerTypes) { + class SALH { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(seekerType_SALH); + }; + class Optic { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(seekerType_Optic); + }; +}; diff --git a/addons/missileguidance/ACE_Settings.hpp b/addons/missileguidance/ACE_Settings.hpp new file mode 100644 index 0000000000..d489ef15f3 --- /dev/null +++ b/addons/missileguidance/ACE_Settings.hpp @@ -0,0 +1,10 @@ +class ACE_Settings { + class GVAR(enabled) { + value = 2; + typeName = "SCALAR"; + isClientSettable = 1; + displayName = "$STR_ACE_MissileGuidance"; + description = "$STR_ACE_MissileGuidance_Desc"; + values[] = {"Off", "Player Only", "Player and AI"}; + }; +}; \ No newline at end of file diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index df876ae2ae..680a410506 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -1,10 +1,140 @@ +enum { + ACE_LOBL = 1, + ACE_LOAL = 2 +}; + class CfgAmmo { class MissileBase; class M_PG_AT : MissileBase { + model = "\A3\Weapons_F\Ammo\Rocket_01_fly_F"; + proxyShape = "\A3\Weapons_F\Ammo\Rocket_01_F"; + irLock = 0; laserLock = 0; airLock = 0; + weaponLockSystem = "2 + 16"; + + maxSpeed = 720; + maxControlRange = 5000; + maneuvrability = 8; + timeToLive = 60; + simulationStep = 0.01; + airFriction = 0.1; + sideAirFriction = 0.16; + initTime = 0.002; + thrustTime = 1.07; + thrust = 530; + fuseDistance = 2; + + effectsMissileInit = "MissileDAR1"; + effectsMissile = "missile2"; + whistleDist = 4; + muzzleEffect = ""; + + // Turn off arma crosshair-guidance manualControl = 0; + + // ACE uses these values + trackOversteer = 1; + trackLead = 0; + + // Begin ACE guidance Configs + class ADDON { + enabled = 1; + + minDeflection = 0.00025; // Minium flap deflection for guidance + maxDeflection = 0.001; // Maximum flap deflection for guidance + incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "SALH"; + seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" }; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + seekerAngle = 90; // Angle in front of the missile which can be searched + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 1; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "LIN"; + attackProfiles[] = { "LIN", "DIR", "MID", "HI" }; + }; + }; + + class ACE_Hydra70_DAGR : M_PG_AT { + displayName = "$STR_ACE_Hydra70_DAGR"; + displayNameShort = "$STR_ACE_Hydra70_DAGR_Short"; + + description = "$STR_ACE_Hydra70_DAGR"; + descriptionShort = "$STR_ACE_Hydra70_DAGR_Desc"; + }; + + class ACE_Hellfire_AGM114K : ACE_Hydra70_DAGR { + displayName = "$STR_ACE_Hellfire_AGM114K"; + displayNameShort = "$STR_ACE_Hellfire_AGM114K_Short"; + + description = "$STR_ACE_Hellfire_AGM114K_desc"; + descriptionShort = "$STR_ACE_Hellfire_AGM114K_desc"; + + // @TODO: placeholder model to at least make it look different + model = "\A3\Weapons_F\Ammo\Missile_AT_03_fly_F"; + proxyShape = "\A3\Weapons_F\Ammo\Missile_AT_03_F"; + + hit = 1400; + indirectHit = 71; + indirectHitRange = 4.5; + effectsMissile = "missile2"; + }; + + // Titan + class M_Titan_AT : MissileBase { + irLock = 0; + laserLock = 0; + airLock = 0; + + // Turn off arma crosshair-guidance + manualControl = 0; + + hit = 1400; // default: 800 + indirectHit = 20; + indirectHitRange = 2; + // ACE uses these values + //trackOversteer = 1; + //trackLead = 0; + + // Begin ACE guidance Configs + class ADDON { + enabled = 1; + + minDeflection = 0.00005; // Minium flap deflection for guidance + maxDeflection = 0.025; // Maximum flap deflection for guidance + incDeflection = 0.00005; // The incrmeent in which deflection adjusts. + + canVanillaLock = 0; + + // Guidance type for munitions + defaultSeekerType = "Optic"; + seekerTypes[] = { "Optic" }; + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + seekerAngle = 180; // Angle in front of the missile which can be searched + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 0; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "JAV_TOP"; + attackProfiles[] = { "JAV_TOP", "JAV_DIR" }; + }; }; }; \ No newline at end of file diff --git a/addons/missileguidance/CfgEventhandlers.hpp b/addons/missileguidance/CfgEventhandlers.hpp index 2775490d11..8afeb9245e 100644 --- a/addons/missileguidance/CfgEventhandlers.hpp +++ b/addons/missileguidance/CfgEventhandlers.hpp @@ -5,13 +5,19 @@ class Extended_PreInit_EventHandlers { }; class Extended_PostInit_EventHandlers { - class ADDON { + class ADDON { init = QUOTE(call COMPILE_FILE(XEH_post_init)); }; }; class Extended_FiredBIS_EventHandlers { - class AllVehicles { - ADDON = QUOTE(_this call FUNC(fired)); + class All { + ADDON = QUOTE(_this call FUNC(onFired)); + }; +}; + +class Extended_IncomingMissile_EventHandlers { + class All { + ADDON = QUOTE(_this call FUNC(onIncomingMissile)); }; }; \ No newline at end of file diff --git a/addons/missileguidance/CfgMagazines.hpp b/addons/missileguidance/CfgMagazines.hpp new file mode 100644 index 0000000000..31f4739417 --- /dev/null +++ b/addons/missileguidance/CfgMagazines.hpp @@ -0,0 +1,53 @@ +class CfgMagazines { + class 12Rnd_PG_missiles; + + class 6Rnd_ACE_Hydra70_DAGR : 12Rnd_PG_missiles { + ammo = "ACE_Hydra70_DAGR"; + count = 12; + displayName = "6 Round DAGR"; + displayNameShort = "6 Round DAGR"; + descriptionShort = "6 Round DAGR"; + weight = 36; + + }; + class 12Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR { + count = 12; + displayName = "16 Round DAGR"; + displayNameShort = "16 Round DAGR"; + descriptionShort = "16 Round DAGR"; + weight = 72; + }; + class 24Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR { + count = 24; + displayName = "24 Round DAGR"; + displayNameShort = "24 Round DAGR"; + descriptionShort = "24 Round DAGR"; + weight = 72; + }; + + // Hellfires + class 6Rnd_ACE_Hellfire_AGM114K : 12Rnd_PG_missiles { + count = 12; + ammo = "ACE_Hellfire_AGM114K"; + displayName = "6Rnd_ACE_Hellfire_AGM114K"; + displayNameShort = "6Rnd_ACE_Hellfire_AGM114K"; + descriptionShort = "6Rnd_ACE_Hellfire_AGM114K"; + weight = 36; + + }; + class 12Rnd_ACE_Hellfire_AGM114K : 6Rnd_ACE_Hydra70_DAGR { + count = 12; + displayName = "12Rnd_ACE_Hellfire_AGM114K"; + displayNameShort = "12Rnd_ACE_Hellfire_AGM114K"; + descriptionShort = "12Rnd_ACE_Hellfire_AGM114K"; + weight = 72; + }; + class 24Rnd_ACE_Hellfire_AGM114K : 6Rnd_ACE_Hydra70_DAGR { + count = 24; + displayName = "24Rnd_ACE_Hellfire_AGM114K"; + displayNameShort = "24Rnd_ACE_Hellfire_AGM114K"; + descriptionShort = "24Rnd_ACE_Hellfire_AGM114K"; + weight = 72; + }; + +}; \ No newline at end of file diff --git a/addons/missileguidance/CfgVehicles.hpp b/addons/missileguidance/CfgVehicles.hpp new file mode 100644 index 0000000000..301795b8d7 --- /dev/null +++ b/addons/missileguidance/CfgVehicles.hpp @@ -0,0 +1,34 @@ +class CfgVehicles { + + class AllVehicles; + class Air: AllVehicles { + class Turrets; + }; + + class Helicopter: Air { + class Turrets { + class MainTurret; + }; + }; + class Helicopter_Base_F: Helicopter {}; + class Heli_Attack_01_base_F: Helicopter_Base_F {}; + class B_Heli_Attack_01_F : Heli_Attack_01_base_F { + class Turrets: Turrets { + class MainTurret; + }; + }; + + class ACE_Comanche_Test : B_Heli_Attack_01_F { + displayName = "ACE_Comanche_Test"; + author = "ACE Team"; + class Library { + libTextDesc = "ACE_Comanche_Test"; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + magazines[] = {"ACE_500Rnd_20mm_shells_Comanche", "24Rnd_ACE_Hellfire_AGM114K"}; + }; + }; + }; + +}; diff --git a/addons/missileguidance/CfgWeapons.hpp b/addons/missileguidance/CfgWeapons.hpp index 739ef3c5e0..ab36d4dd52 100644 --- a/addons/missileguidance/CfgWeapons.hpp +++ b/addons/missileguidance/CfgWeapons.hpp @@ -6,29 +6,8 @@ class CfgWeapons { class RocketPods: LauncherCore { canLock = 1; }; - class missiles_DAGR: RocketPods { + class missiles_DAGR : RocketPods { canLock = 1; + magazines[] += {"24Rnd_ACE_Hydra70_DAGR", "12Rnd_ACE_Hydra70_DAGR", "6Rnd_ACE_Hydra70_DAGR", "24Rnd_ACE_Hellfire_AGM114K", "12Rnd_ACE_Hellfire_AGM114K", "6Rnd_ACE_Hellfire_AGM114K" }; }; - /* - class autocannon_Base_F: CannonCore { - canLock = 1; - }; - class cannon_120mm: CannonCore { - canLock = 1; - - class player : Mode_SemiAuto { - canLock = 1; - }; - }; - class gatling_25mm: CannonCore { - canLock = 1; - }; - class autocannon_35mm: CannonCore { - canLock = 1; - }; - - class launch_NLAW_F: Launcher_Base_F - { - canLock = 1; - };*/ }; \ No newline at end of file diff --git a/addons/missileguidance/XEH_post_init.sqf b/addons/missileguidance/XEH_post_init.sqf index 6904ee6c47..deaeef669d 100644 --- a/addons/missileguidance/XEH_post_init.sqf +++ b/addons/missileguidance/XEH_post_init.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -NO_DEDICATED; +[QGVAR(handoff), {_this call FUNC(handleHandoff)}] call EFUNC(common,addEventHandler); diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 8aa557f838..08219e02f0 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -2,13 +2,32 @@ PREP(rotateVectLineGetMap); PREP(rotateVectLine); +PREP(changeMissileDirection); -PREP(translateToModelSpace); -PREP(translateToWeaponSpace); +PREP(checkSeekerAngle); +PREP(checkLos); -PREP(fired); +PREP(onFired); +PREP(onIncomingMissile); -PREP(guidance_DAGR); -PREP(guidance_LGB); -PREP(guidance_HellfireII); -FUNC(getPosASL) = {visiblePositionASL (_this select 0)}; \ No newline at end of file +PREP(guidancePFH); +PREP(doAttackProfile); +PREP(doSeekerSearch); + +PREP(doHandoff); +PREP(handleHandoff); + +// Attack Profiles +PREP(attackProfile_LIN); +PREP(attackProfile_DIR); +PREP(attackProfile_MID); +PREP(attackProfile_HI); +PREP(attackProfile_AIR); + +// Javelin profiles +PREP(attackProfile_JAV_DIR); +PREP(attackProfile_JAV_TOP); + +// Seeker search functions +PREP(seekerType_SALH); +PREP(seekerType_Optic); \ No newline at end of file diff --git a/addons/missileguidance/config.cpp b/addons/missileguidance/config.cpp index 9c5842a065..42b849b902 100644 --- a/addons/missileguidance/config.cpp +++ b/addons/missileguidance/config.cpp @@ -5,11 +5,16 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "ace_common", "ace_laser" }; + requiredAddons[] = {"ace_laser"}; VERSION_CONFIG; }; }; +#include "ACE_GuidanceConfig.hpp" +#include "ACE_Settings.hpp" + #include "CfgEventhandlers.hpp" #include "CfgAmmo.hpp" -#include "CfgWeapons.hpp" \ No newline at end of file +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" diff --git a/addons/missileguidance/functions/fnc_attackProfile_AIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_AIR.sqf new file mode 100644 index 0000000000..498b754287 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_AIR.sqf @@ -0,0 +1,4 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +_this call FUNC(attackProfile_LIN); \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf new file mode 100644 index 0000000000..498b754287 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf @@ -0,0 +1,4 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +_this call FUNC(attackProfile_LIN); \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_attackProfile_HI.sqf b/addons/missileguidance/functions/fnc_attackProfile_HI.sqf new file mode 100644 index 0000000000..498b754287 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_HI.sqf @@ -0,0 +1,4 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +_this call FUNC(attackProfile_LIN); \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf new file mode 100644 index 0000000000..d84b3b126b --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf @@ -0,0 +1,66 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +#define STAGE_LAUNCH 1 +#define STAGE_CLIMB 2 +#define STAGE_COAST 3 +#define STAGE_TERMINAL 4 + +EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); +private["_targetPos", "_projectilePos", "_target", "_seekerTargetPos", "_launchParams", "_targetLaunchParams"]; +private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos", "_state"]; +private["_cruisAlt", "_distanceShooterToTarget", "_shooterPos"]; +_seekerTargetPos = _this select 0; +_launchParams = _this select 1; + +_target = _launchParams select 0; +_targetLaunchParams = _launchParams select 1; + +_state = _this select 2; +if( (count _state) < 1) then { + _state set[0, STAGE_LAUNCH]; +}; + +_shooterPos = getPosASL _shooter; +_projectilePos = getPosASL _projectile; + +_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos; +_distanceToShooter = _projectilePos vectorDistance _shooterPos; +_distanceShooterToTarget = _shooterPos vectorDistance _seekerTargetPos; + +TRACE_2("", _distanceToTarget, _distanceToShooter); + +// Add height depending on distance for compensate +_returnTargetPos = _seekerTargetPos; + +switch( (_state select 0) ) do { + case STAGE_LAUNCH: { + TRACE_1("STAGE_LAUNCH",""); + if(_distanceToShooter < 10) then { + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2]; + } else { + _state set[0, STAGE_CLIMB]; + }; + }; + case STAGE_CLIMB: { + TRACE_1("STAGE_CLIMB",""); + _cruisAlt = 60 * (_distanceShooterToTarget/2000); + + if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then { + _state set[0, STAGE_TERMINAL]; + } else { + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*1.5]; + }; + }; + case STAGE_TERMINAL: { + TRACE_1("STAGE_TERMINAL",""); + _returnTargetPos = _seekerTargetPos; + }; +}; + +#ifdef DEBUG_MODE_FULL +drawLine3D [(ASLtoATL _returnTargetPos), (ASLtoATL _seekerTargetPos), [0,1,0,1]]; +#endif + +TRACE_1("Adjusted target position", _returnTargetPos); +_returnTargetPos; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf new file mode 100644 index 0000000000..393abebc19 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf @@ -0,0 +1,84 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +#define STAGE_LAUNCH 1 +#define STAGE_CLIMB 2 +#define STAGE_COAST 3 +#define STAGE_TERMINAL 4 + +EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); +private["_targetPos", "_projectilePos", "_target", "_seekerTargetPos", "_launchParams", "_targetLaunchParams"]; +private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos", "_state"]; +private["_cruisAlt", "_distanceShooterToTarget", "_shooterPos"]; + +_seekerTargetPos = _this select 0; +_launchParams = _this select 1; + +_target = _launchParams select 0; +_targetLaunchParams = _launchParams select 1; + +_state = _this select 2; +if( (count _state) < 1) then { + _state set[0, STAGE_LAUNCH]; +}; + +_shooterPos = getPosASL _shooter; +_projectilePos = getPosASL _projectile; + +_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos; +_distanceToShooter = _projectilePos vectorDistance _shooterPos; +_distanceShooterToTarget = _shooterPos vectorDistance _seekerTargetPos; + +TRACE_2("", _distanceToTarget, _distanceToShooter); + +// Add height depending on distance for compensate +_returnTargetPos = _seekerTargetPos; + +switch( (_state select 0) ) do { + case STAGE_LAUNCH: { + TRACE_1("STAGE_LAUNCH",""); + if(_distanceToShooter < 10) then { + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2]; + } else { + _state set[0, STAGE_CLIMB]; + }; + }; + case STAGE_CLIMB: { + TRACE_1("STAGE_CLIMB",""); + _cruisAlt = 140; + if(_distanceShooterToTarget < 1250) then { + _cruisAlt = 140 * (_distanceShooterToTarget/1250); + TRACE_1("_cruisAlt", _cruisAlt); + }; + if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then { + if(_cruisAlt < 140) then { + _state set[0, STAGE_TERMINAL]; + } else { + _state set[0, STAGE_COAST]; + }; + } else { + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*1.5]; + }; + }; + case STAGE_COAST: { + TRACE_1("STAGE_COAST",""); + TRACE_1("", ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ); + if(_distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then { + _state set[0, STAGE_TERMINAL]; + } else { + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)]; + }; + }; + case STAGE_TERMINAL: { + TRACE_1("STAGE_TERMINAL",""); + //_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02]; + _returnTargetPos = _seekerTargetPos; + }; +}; + +#ifdef DEBUG_MODE_FULL +drawLine3D [(ASLtoATL _returnTargetPos), (ASLtoATL _seekerTargetPos), [0,1,0,1]]; +#endif + +TRACE_1("Adjusted target position", _returnTargetPos); +_returnTargetPos; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf b/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf new file mode 100644 index 0000000000..8c67e68402 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf @@ -0,0 +1,50 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); +private["_targetPos", "_projectilePos", "_target", "_seekerTargetPos", "_launchParams", "_targetLaunchParams"]; +private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos", "_shooterPos"]; +_seekerTargetPos = _this select 0; +_launchParams = _this select 1; + +_target = _launchParams select 0; +_targetLaunchParams = _launchParams select 1; + +_shooterPos = getPosASL _shooter; +_projectilePos = getPosASL _projectile; + +_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos; +_distanceToShooter = _projectilePos vectorDistance _shooterPos; + +TRACE_3("", _distanceToTarget, _distanceToShooter, _seekerTargetPos); + +// Add height depending on distance for compensate +_addHeight = [0,0,0]; + +// Always climb an arc on initial launch if we are close to the round +if( ((ASLtoATL _projectilePos) select 2) < 5 && _distanceToShooter < 15) then { + _addHeight = _addHeight vectorAdd [0,0,_distanceToTarget]; +} else { + // If we are below the target, increase the climbing arc + if((_projectilePos select 2) < (_seekerTargetPos select 2) && _distanceToTarget > 100) then { + _addHeight = _addHeight vectorAdd [0,0, ((_seekerTargetPos select 2) - (_projectilePos select 2))]; + }; +}; + +// Handle arcing terminal low for high decent +if( (_projectilePos select 2) > (_seekerTargetPos select 2) && _distanceToTarget < 100) then { + _addHeight = _addHeight vectorDiff [0,0, ((_projectilePos select 2) - (_seekerTargetPos select 2)) * 0.5]; +} else { + if((_projectilePos select 2) > (_seekerTargetPos select 2) && _distanceToTarget > 100) then { + _addHeight = _addHeight vectorAdd [0,0, _distanceToTarget*0.02]; + }; +}; + +_returnTargetPos = _seekerTargetPos vectorAdd _addHeight; + +#ifdef DEBUG_MODE_FULL +drawLine3D [(ASLtoATL _returnTargetPos) vectorAdd _addHeight, ASLtoATL _returnTargetPos, [0,1,0,1]]; +#endif + +TRACE_1("Adjusted target position", _returnTargetPos); +_returnTargetPos; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_attackProfile_MID.sqf b/addons/missileguidance/functions/fnc_attackProfile_MID.sqf new file mode 100644 index 0000000000..498b754287 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_MID.sqf @@ -0,0 +1,4 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +_this call FUNC(attackProfile_LIN); \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_changeMissileDirection.sqf b/addons/missileguidance/functions/fnc_changeMissileDirection.sqf new file mode 100644 index 0000000000..fda7ba9d07 --- /dev/null +++ b/addons/missileguidance/functions/fnc_changeMissileDirection.sqf @@ -0,0 +1,11 @@ +#include "script_component.hpp" +private ["_projectile", "_v", "_l", "_r"]; + +_projectile = _this select 0; +_v = _this select 1; + +_l = sqrt ((_v select 0) ^ 2 + (_v select 1) ^ 2); +_r = -(_v select 2) / _l; + +_projectile setVectorDirAndUp [ _v, [(_v select 0) * _r,(_v select 1) * _r, _l] ]; +_projectile setVelocity (_v vectorMultiply (vectorMagnitude (velocity _projectile))); \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_checkLos.sqf b/addons/missileguidance/functions/fnc_checkLos.sqf new file mode 100644 index 0000000000..f21a841367 --- /dev/null +++ b/addons/missileguidance/functions/fnc_checkLos.sqf @@ -0,0 +1,29 @@ +/* + * Author: jaynus + * Returns whether the seeker object can see the target position with lineIntersect + * + * Argument: + * 0: Seeker [Object] + * 1: Target [Object] + * + * Return value: + * Boolean + */ +#include "script_component.hpp" +private["_seeker", "_seekerPos", "_target", "_targetPos", "_return", "_vectorTo", "_searchPos"]; +_seeker = _this select 0; +_target = _this select 1; + +_targetPos = getPosASL _target; +_seekerPos = getPosASL _seeker; +_return = true; + +if(!(terrainIntersectASL [ _seekerPos, _targetPos])) then { + if(lineIntersects [_seekerPos, _targetPos, _seeker, _target]) then { + _return = false; + }; +} else { + _return = false; +}; + +_return; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf b/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf new file mode 100644 index 0000000000..e8bc1a16f5 --- /dev/null +++ b/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf @@ -0,0 +1,31 @@ +/* + * Author: jaynus + * Returns whether the target position is within the maximum angle FOV of the provided seeker + * objects current direction. + * + * Argument: + * 0: Seeker [Object] + * 1: Target [Position] + * 2: Max Angle [Degrees] + * + * Return value: + * Boolean + */ + +#include "script_component.hpp" +private["_seeker", "_targetPos", "_seekerMaxAngle", "_sensorPos", "_testPointVector", "_testDotProduct"]; + +_seeker = _this select 0; +_targetPos = _this select 1; +_seekerMaxAngle = _this select 2; + +_sensorPos = getPosASL _seeker; + +_testPointVector = vectorNormalized (_targetPos vectorDiff _sensorPos); +_testDotProduct = (vectorNormalized (velocity _seeker)) vectorDotProduct _testPointVector; + +if(_testDotProduct < (cos _seekerMaxAngle)) exitWith { + false +}; + +true \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_doAttackProfile.sqf b/addons/missileguidance/functions/fnc_doAttackProfile.sqf new file mode 100644 index 0000000000..b9a3502035 --- /dev/null +++ b/addons/missileguidance/functions/fnc_doAttackProfile.sqf @@ -0,0 +1,29 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); +private["_testName", "_attackProfilePos", "_attackProfile", "_attackProfileName", "_attackProfilesCfg", "_i", "_launchParams", "_testame", "_testProfile"]; +_launchParams = ((_this select 1) select 1); +_attackProfileName = _launchParams select 3; + +TRACE_1("Attacking profile", _attackProfileName); + +_attackProfilesCfg = ( configFile >> QGVAR(AttackProfiles) ); + +_attackProfile = nil; +for [{_i=0}, {_i< (count _attackProfilesCfg) }, {_i=_i+1}] do { + _testProfile = _attackProfilesCfg select _i; + _testName = configName _testProfile; + TRACE_3("", _testName, _testProfile, _attackProfilesCfg); + + if( _testName == _attackProfileName) exitWith { + _attackProfile = _attackProfilesCfg select _i; + }; +}; + +_attackProfilePos = [0,0,0]; +if(!isNil "_attackProfile") then { + _attackProfilePos = _this call (missionNamespace getVariable (getText (_attackProfile >> "functionName"))); +}; + +_attackProfilePos; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_doHandoff.sqf b/addons/missileguidance/functions/fnc_doHandoff.sqf new file mode 100644 index 0000000000..d99998c8c4 --- /dev/null +++ b/addons/missileguidance/functions/fnc_doHandoff.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" +PARAMS_2(_target,_args); + +[QGVAR(handoff), [_target, _args]] call EFUNC(common,globalEvent); \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_doSeekerSearch.sqf b/addons/missileguidance/functions/fnc_doSeekerSearch.sqf new file mode 100644 index 0000000000..081ab16353 --- /dev/null +++ b/addons/missileguidance/functions/fnc_doSeekerSearch.sqf @@ -0,0 +1,30 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); +private["_seekerProfilePos", "_i", "_launchParams", "_seekerType", "_seekerTypeName", "_seekerTypesCfg", "_testName", "_testProfile"]; + +_launchParams = ((_this select 1) select 1); +_seekerTypeName = _launchParams select 2; + +TRACE_1("Seeker type", _seekerTypeName); + +_seekerTypesCfg = ( configFile >> QGVAR(SeekerTypes) ); + +_seekerType = nil; +for [{_i=0}, {_i< (count _seekerTypesCfg) }, {_i=_i+1}] do { + _testProfile = _seekerTypesCfg select _i; + _testName = configName _testProfile; + TRACE_3("", _testName, _testProfile, _seekerTypesCfg); + + if( _testName == _seekerTypeName) exitWith { + _seekerType = _seekerTypesCfg select _i; + }; +}; + +_seekerProfilePos = [0,0,0]; +if(!isNil "_seekerType") then { + _seekerProfilePos = _this call (missionNamespace getVariable (getText (_seekerType >> "functionName"))); +}; + +_seekerProfilePos; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_fired.sqf b/addons/missileguidance/functions/fnc_fired.sqf deleted file mode 100644 index dbe6abfec7..0000000000 --- a/addons/missileguidance/functions/fnc_fired.sqf +++ /dev/null @@ -1,18 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -//_this=[TEST_AI_HELICOPTER,"missiles_DAGR","missiles_DAGR","Far_AI","M_PG_AT","24Rnd_PG_missiles",163988: rocket_01_fly_f.p3d] -TRACE_1("enter", _this); -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - -if(!local _shooter) exitWith { false }; - -switch _weapon do { - case "missiles_DAGR": { - _this call FUNC(guidance_DAGR); - }; - case "GBU12BombLauncher": { - _this call FUNC(guidance_LGB); - }; -}; - -//_this call FUNC(guidance_HellfireII); diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf new file mode 100644 index 0000000000..614323d63f --- /dev/null +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -0,0 +1,106 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +#define TIMESTEP_FACTOR 0.01 + +private["_launchParams", "_targetLaunchParams", "_flightParams", "_seekerParams", "_stateParams"]; +private["_lastRunTime", "_runtimeDelta", "_adjustTime", "_args", "_seekerTargetPos", "_projectilePos"]; +private["_profileAdjustedTargetPos", "_incDeflection", "_minDeflection", "_maxDeflection"]; +private["_targetVector", "_adjustVector", "_finalAdjustVector", "_changeVector", "_pitch", "_yaw", "_roll"]; +private["_PS", "_distanceToTarget", "_targetRelativeVector", "_vectorTo"]; + +_args = _this select 0; +EXPLODE_7_PVT((_args select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); + +if(!alive _projectile || isNull _projectile || isNull _shooter) exitWith { + [(_this select 1)] call cba_fnc_removePerFrameHandler; +}; + +_launchParams = _args select 1; +_targetLaunchParams = _launchParams select 1; +_flightParams = _args select 2; +_seekerParams = _args select 3; + +_stateParams = _args select 4; + +_lastRunTime = _stateParams select 0; +_runtimeDelta = diag_tickTime - _lastRunTime; +_adjustTime = 1; + +if(accTime > 0) then { + _adjustTime = 1/accTime; + _adjustTime = _adjustTime * (_runtimeDelta / TIMESTEP_FACTOR); + TRACE_4("Adjust timing", 1/accTime, _adjustTime, _runtimeDelta, (_runtimeDelta / TIMESTEP_FACTOR) ); +} else { + _adjustTime = 0; +}; + +_minDeflection = ((_flightParams select 0) - ((_flightParams select 0) * _adjustTime)) max 0; +_maxDeflection = (_flightParams select 1) * _adjustTime; +_incDeflection = _flightParams select 2; + +_projectilePos = getPosASL _projectile; + +// @TODO: placeholder for "last seek target position" +// Last target pos should be optional based on the seeker unit +_seekerTargetPos = [ [0,0,0], _args, (_stateParams select 1)] call FUNC(doSeekerSearch); +if(isNil "_seekerTargetPos") then { + _seekerTargetPos = _seekerTargetPos vectorAdd ((velocity _projectile) vectorMultiply 5); +} else { + if( (vectorMagnitude _seekerTargetPos) == 0) then { + _seekerTargetPos = _seekerTargetPos vectorAdd ((velocity _projectile) vectorMultiply 5); + }; +}; + +_profileAdjustedTargetPos = [_seekerTargetPos,_args, (_stateParams select 2)] call FUNC(doAttackProfile); +_targetVector = _projectilePos vectorFromTo _profileAdjustedTargetPos; +_adjustVector = _targetVector vectorDiff (vectorDir _projectile); + +_yaw = 0; +_pitch = 0; +_roll = 0; +if((_adjustVector select 0) < 0) then { + _yaw = - ( (_minDeflection max (abs(_adjustVector select 0) min _maxDeflection) ) ); +} else { + if((_adjustVector select 0) > 0) then { + _yaw = ( (_minDeflection max ((_adjustVector select 0) min _maxDeflection) ) ); + }; +}; +if((_adjustVector select 1) < 0) then { + _roll = - ( (_minDeflection max (abs(_adjustVector select 1) min _maxDeflection) ) ); +} else { + if((_adjustVector select 1) > 0) then { + _roll = ( (_minDeflection max ((_adjustVector select 1) min _maxDeflection) ) ); + }; +}; +if((_adjustVector select 2) < 0) then { + _pitch = - ( (_minDeflection max (abs(_adjustVector select 2) min _maxDeflection) ) ); +} else { + if((_adjustVector select 2) > 0) then { + _pitch = ( (_minDeflection max ((_adjustVector select 2) min _maxDeflection) ) ); + }; +}; +_finalAdjustVector = [_yaw, _roll, _pitch]; +TRACE_2("", _pitch, _yaw); +TRACE_4("", _targetVector, _targetRelativeVector, _adjustVector, _finalAdjustVector); + +if(accTime > 0) then { + _changeVector = (vectorDir _projectile) vectorAdd _finalAdjustVector; + [_projectile, _changeVector] call FUNC(changeMissileDirection); +}; + +#ifdef DEBUG_MODE_FULL +drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _projectilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; +drawLine3D [ASLtoATL _projectilePos, ASLtoATL _profileAdjustedTargetPos, [1,0,0,1]]; + +_ps = "#particlesource" createVehicleLocal (ASLtoATL _projectilePos); +_PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil]; +_PS setDropInterval 3.0; + +hintSilent format["d: %1", _distanceToTarget]; +#endif + +_stateParams set[0, diag_tickTime]; + +_args set[4, _stateParams]; +_this set[0, _args]; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_guidance_DAGR.sqf b/addons/missileguidance/functions/fnc_guidance_DAGR.sqf deleted file mode 100644 index 9055b00a7f..0000000000 --- a/addons/missileguidance/functions/fnc_guidance_DAGR.sqf +++ /dev/null @@ -1,120 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -FUNC(guidance_DIRECT_LOAL_PFH) = { - //TRACE_1("enter", _this); - private["_args", "_shooter", "_dagr", "_curVelocity", "_targets", "_target", "_yVec", "_xVec", "_zVec", "_dagrPos", "_shooterPos", "_distanceToTarget", "_distanceToShooter", "_def"]; - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _dagr = _args select 6; - _curVelocity = velocity _dagr; - - if(!alive _dagr || isNull _dagr || isNull _shooter) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _targets = [_dagr, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call ace_laser_fnc_findLaserDesignator; - TRACE_2("Targets", _target, _targets); - - if((_targets select 0)) then { - _target = _targets select 1; - - // player sideChat "FUCK!"; - // drop ["\a3\data_f\Cl_basic","","Billboard",1,20,(getPos _dagr),[0,0,0],1,1.275,1.0,0.0,[5],[[1,0,0,1]],[0],0.0,2.0,"","",""]; - - - _yVec = vectorDir _dagr; - _zVec = vectorUp _dagr; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _dagrPos = getPosASL _dagr; - // player sideChat "G!"; - _targetPos = getPosASL _target; - _shooterPos = getPosASL _shooter; - - if((count _targetPos) > 0) then { - _distanceToTarget = _dagrPos vectorDistance _targetPos; - _distanceToShooter = _dagrPos vectorDistance _shooterPos; - - _addHeight = [0,0,(_dagrPos distance _targetPos)*0.02]; - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - #endif - - _targetPos = _targetPos vectorAdd _addHeight; - - _def = 0.0040; - if(_distanceToShooter > 100) then { - _def = 0.0025; - }; - - _targetVectorSeeker = [_dagr, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - // _targetVectorSeeker = _dagr worldToModel (ASLtoATL _targetPos); - // _targetVectorSeeker = [0,0,0] vectorFromTo _targetVectorSeeker; - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_def; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _def; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_def; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _def; - }; - }; - #ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _dagrPos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _dagrPos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _dagrPos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _dagrPos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_dagr, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - // _outVector = _dagr modelToWorldVisual [_yaw, 1, _pitch]; - // _outVector = ATLtoASL _outVector; - _vectorTo = _dagrPos vectorFromTo _outVector; - - // hintSilent format["v: %1", _vectorTo]; - - // _dagr setVectorDir _vectorTo; - _dagr setVectorDirAndUp [_vectorTo, vectorUp _dagr]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; -}; - -FUNC(guidance_DAGR_DIRECT_LOAL) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_DIRECT_LOAL_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -_fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_DEFAULT_FIRE_SELECTION]; - -switch (_fireMode select 0) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - default { - LOG("Initiating DAGR FIREMODE_DIRECT_LOAL"); - _this call FUNC(guidance_DAGR_DIRECT_LOAL); - }; -}; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_guidance_HellfireII.sqf b/addons/missileguidance/functions/fnc_guidance_HellfireII.sqf deleted file mode 100644 index 72b8da8c67..0000000000 --- a/addons/missileguidance/functions/fnc_guidance_HellfireII.sqf +++ /dev/null @@ -1,249 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -FUNC(guidance_Hellfire_LOAL_HI_PFH) = { - //TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _missile = _args select 6; - _curVelocity = velocity _missile; - - if(!alive _missile || isNull _missile || isNull _shooter) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _launchPos = _shooter getVariable [QGVAR(launchPos), nil]; - if(isNil "_launchPos") then { - TRACE_1("Setting launch parameters", ""); - _launchPos = getPosASL _shooter; - _shooter setVariable [QGVAR(launchPos), _launchPos, false]; - _shooter setVariable [QGVAR(launchTime), diag_tickTime, false]; - }; - - _targets = [_missile, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call ace_laser_fnc_findLaserDesignator; - _addHeight = [0,0,0]; - if((_targets select 0)) then { - _target = _targets select 1; - TRACE_2("Targets", _target, _targets); - - _yVec = vectorDir _missile; - _zVec = vectorUp _missile; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _missilePos = getPosASL _missile; - // player sideChat "G!"; - _targetPos = getPosASL _target; - TRACE_4("Phase Check", _launchPos, _missilePos, _targetPos, (_missilePos distance _targetPos)); - if((count _targetPos) > 0) then { - _distanceToTarget = _missilePos vectorDistance _targetPos; - - _defPitch = 0.05; - - if((_launchPos distance _missilePos) < 400 && (_targetPos distance _missilePos) > 400) then { - _addHeight = [0,0,(_targetPos select 2) + ((_launchPos distance _targetPos)*2)]; - TRACE_1("Climb phase", _addHeight); - //_defPitch = 0.1; - } else { - // Covered half the distance, go terminal - if((_missilePos distance _targetPos) < (_launchPos distance _targetPos) / 2) then { - TRACE_1("TERMINAL", ""); - } else { - if((_missilePos select 2) > (_targetPos select 2)) then { - _heightDiff = (_missilePos select 2) - (_targetPos select 2); - TRACE_1("Coasting", _heightDiff); - _addHeight = [0,0, _heightDiff]; - }; - }; - }; - _targetPos = _targetPos vectorAdd _addHeight; - - _defYaw = 0.0035; - - - _targetVectorSeeker = [_missile, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_defYaw; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _defYaw; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_defPitch; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _defPitch; - }; - }; - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - - _light = "#lightpoint" createVehicleLocal (getPos _missile); - _light setLightBrightness 1.0; - _light setLightAmbient [1.0, 0.0, 0.0]; - _light setLightColor [1.0, 0.0, 0.0]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _missilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _missilePos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _missilePos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _missilePos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_missile, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - - _vectorTo = _missilePos vectorFromTo _outVector; - _missile setVectorDirAndUp [_vectorTo, vectorUp _missile]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; -}; - -FUNC(guidance_Hellfire_LOAL_DIR_PFH) = { - //TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _missile = _args select 6; - _curVelocity = velocity _missile; - - if(!alive _missile || isNull _missile || isNull _shooter) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _launchPos = _shooter getVariable [QGVAR(launchPos), nil]; - if(isNil "_launchPos") then { - TRACE_1("Setting launch parameters", ""); - _launchPos = getPosASL _shooter; - _shooter setVariable [QGVAR(launchPos), _launchPos, false]; - _shooter setVariable [QGVAR(launchTime), diag_tickTime, false]; - }; - - _targets = [_missile, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call ace__laser_fnc_findLaserDesignator; - _addHeight = [0,0,0]; - if((_targets select 0)) then { - _target = _targets select 1; - TRACE_2("Targets", _target, _targets); - - _yVec = vectorDir _missile; - _zVec = vectorUp _missile; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _missilePos = getPosASL _missile; - // player sideChat "G!"; - _targetPos = getPosASL _target; - TRACE_4("Phase Check", _launchPos, _missilePos, _targetPos, (_missilePos distance _targetPos)); - if((count _targetPos) > 0) then { - _distanceToTarget = _missilePos vectorDistance _targetPos; - - if((_launchPos distance _missilePos) < 400 && (_targetPos distance _missilePos) > 400) then { - _addHeight = [0,0,(_targetPos select 2) + (_missilePos distance _targetPos)*0.5]; - TRACE_1("Climb phase", _addHeight); - } else { - // Covered half the distance, go terminal - if((_missilePos distance _targetPos) < (_launchPos distance _targetPos) / 2) then { - TRACE_1("TERMINAL", ""); - } else { - if((_missilePos select 2) > (_targetPos select 2)) then { - _heightDiff = (_missilePos select 2) - (_targetPos select 2); - TRACE_1("Coasting", _heightDiff); - _addHeight = [0,0, _heightDiff]; - }; - }; - }; - _targetPos = _targetPos vectorAdd _addHeight; - - _defYaw = 0.0035; - _defPitch = 0.0075; - - _targetVectorSeeker = [_missile, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_defYaw; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _defYaw; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_defPitch; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _defPitch; - }; - }; - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - - _light = "#lightpoint" createVehicleLocal (getPos _missile); - _light setLightBrightness 1.0; - _light setLightAmbient [1.0, 0.0, 0.0]; - _light setLightColor [1.0, 0.0, 0.0]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _missilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _missilePos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _missilePos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _missilePos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_missile, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - - _vectorTo = _missilePos vectorFromTo _outVector; - _missile setVectorDirAndUp [_vectorTo, vectorUp _missile]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; -}; - - -FUNC(guidance_Hellfire_LOAL_HI) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_Hellfire_LOAL_HI_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - - -FUNC(guidance_Hellfire_LOAL_DIR) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_Hellfire_LOAL_DIR_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -_fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_DEFAULT_FIRE_SELECTION]; - -switch (_fireMode select 0) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - default { - LOG("Initiating Hellfire II FIREMODE_LOAL_DIR"); - _this call FUNC(guidance_Hellfire_LOAL_HI); - }; -}; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_guidance_LGB.sqf b/addons/missileguidance/functions/fnc_guidance_LGB.sqf deleted file mode 100644 index 47efa46768..0000000000 --- a/addons/missileguidance/functions/fnc_guidance_LGB.sqf +++ /dev/null @@ -1,109 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" - -FUNC(guidance_LGB_LOAL_PFH) = { - //TRACE_1("enter", _this); - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _lgb = _args select 6; - _curVelocity = velocity _lgb; - - if(!alive _lgb) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _targets = [_lgb, ACE_DEFAULT_LASER_CODE, 70, _curVelocity] call uo_laser_fnc_findLaserDesignator; - //TRACE_2("Targets", _target, _targets); - - if((_targets select 0)) then { - _target = _targets select 1; - - // player sideChat "FUCK!"; - // drop ["\a3\data_f\Cl_basic","","Billboard",1,20,(getPos _lgb),[0,0,0],1,1.275,1.0,0.0,[5],[[1,0,0,1]],[0],0.0,2.0,"","",""]; - - - _yVec = vectorDir _lgb; - _zVec = vectorUp _lgb; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _lgbPos = getPosASL _lgb; - // player sideChat "G!"; - _targetPos = getPosASL _target; - if((count _targetPos) > 0) then { - // player sideChat format["f: %1", _targetPos]; - _addHeight = [0,0,(_lgbPos distance _targetPos)*0.06]; - // drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - _targetPos = _targetPos vectorAdd _addHeight; - - - - _def = 0.0025; - - _targetVectorSeeker = [_lgb, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - // _targetVectorSeeker = _lgb worldToModel (ASLtoATL _targetPos); - // _targetVectorSeeker = [0,0,0] vectorFromTo _targetVectorSeeker; - _yaw = 0.0; - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_def; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _def; - }; - }; - - _pitch = 0.0; - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_def; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _def; - }; - }; - #ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _lgbPos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _lgbPos, ASLtoATL _targetPos, [1,0,0,1]]; - - _distance = ([getPos startPos, _lgbPos] call BIS_fnc_distance2D); - _marker = createMarkerLocal [format["m%1", MARKERCOUNT], [_distance, _lgbPos select 2]]; - _marker setMarkerTypeLocal "mil_dot"; - _marker setMarkerColorLocal "ColorRed"; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - _outVector = [_lgb, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - // _outVector = _lgb modelToWorldVisual [_yaw, 1, _pitch]; - // _outVector = ATLtoASL _outVector; - _vectorTo = _lgbPos vectorFromTo _outVector; - - // hintSilent format["v: %1", _vectorTo]; - - // _lgb setVectorDir _vectorTo; - _lgb setVectorDirAndUp [_vectorTo, vectorUp _lgb]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _lgbPos vectorDistance _targetPos]; - #endif - }; - }; -}; - -FUNC(guidance_LGB_LOAL) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - [FUNC(guidance_LGB_LOAL_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -_fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_DEFAULT_FIRE_SELECTION]; - -switch (_fireMode select 0) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - default { - LOG("Initiating FIREMODE_DIRECT_LOAL"); - _this call FUNC(guidance_LGB_LOAL); - }; -}; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_handleHandoff.sqf b/addons/missileguidance/functions/fnc_handleHandoff.sqf new file mode 100644 index 0000000000..017a9c0160 --- /dev/null +++ b/addons/missileguidance/functions/fnc_handleHandoff.sqf @@ -0,0 +1,6 @@ +#include "script_component.hpp" +PARAMS_2(_target,_args); + +if(isNil "_target" || {isNull _target} || {!local _target} ) exitWith { false }; + +[FUNC(guidancePFH), 0, _args] call cba_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf new file mode 100644 index 0000000000..7ada1d4442 --- /dev/null +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -0,0 +1,108 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +// Bail if guidance is disabled +// Bail on locality of the projectile, it should be local to us +if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false }; + +if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false }; + +private["_config", "_enabled", "_target", "_seekerType", "_attackProfile"]; +private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"]; + +PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); + +// Bail on not missile +if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; + +_config = configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON); +_enabled = getNumber ( _config >> "enabled"); + +// Bail if guidance is not enabled +if(isNil "_enabled" || {_enabled != 1}) exitWith { false }; + +_target = (vehicle _shooter) getVariable [QGVAR(target), nil]; +_targetPos = (vehicle _shooter) getVariable [QGVAR(targetPosition), nil]; +_seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil]; +_attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil]; +_lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil]; + +_launchPos = getPosASL (vehicle _shooter); + +TRACE_3("Begin guidance", _target, _seekerType, _attackProfile); + +if ( isNil "_seekerType" || { ! ( _seekerType in (getArray (_config >> "seekerTypes" ) ) ) } ) then { + _seekerType = getText (_config >> "defaultSeekerType"); +}; +if ( isNil "_attackProfile" || { ! ( _attackProfile in (getArray (_config >> "attackProfiles" ) ) ) } ) then { + _attackProfile = getText (_config >> "defaultAttackProfile"); +}; +if ( isNil "_lockMode" || { ! ( _lockMode in (getArray (_config >> "seekerLockModes" ) ) ) } ) then { + _lockMode = getText (_config >> "defaultSeekerLockMode"); +}; + +// If we didn't get a target, try to fall back on tab locking +if(isNil "_target") then { + if(!isPlayer _shooter) then { + // This was an AI shot, lets still guide it on the AI target + _target = _shooter getVariable[QGVAR(vanilla_target), nil]; + TRACE_1("Detected AI Shooter!", _target); + } else { + _canUseLock = getNumber (_config >> "canVanillaLock"); + // @TODO: Get vanilla target + if(_canUseLock > 0 || difficulty < 1) then { + _vanillaTarget = cursorTarget; + + TRACE_1("Using Vanilla Locking", _vanillaTarget); + if(!isNil "_vanillaTarget") then { + _target = _vanillaTarget; + }; + }; + }; +}; + +TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); +_args = [_this, + [_shooter, + [_target, _targetPos, _launchPos], + _seekerType, + _attackProfile, + _lockMode + ], + [ + getNumber ( _config >> "minDeflection" ), + getNumber ( _config >> "maxDeflection" ), + getNumber ( _config >> "incDeflection" ) + ], + [ + getNumber ( _config >> "seekerAngle" ), + getNumber ( _config >> "seekerAccuracy" ), + getNumber ( _config >> "seekerMaxRange" ) + ], + [ diag_tickTime, [], [] ] + ]; + +// Hand off to the guiding unit. We just use local player so local PFH fires for now +// Laser code needs to give us a shooter for LOBL, or the seeker unit needs to be able to shift locality +// Based on its homing laser +// Lasers need to be handled in a special LOAL/LOBL case + +//if(isPlayer _shooter) then { +// _guidingUnit = ACE_player; +// +// if(local _guidingUnit) then { +// [FUNC(guidancePFH), 0, _args ] call cba_fnc_addPerFrameHandler; +// } else { +// [QGVAR(handoff), [_guidingUnit, _args] ] call FUNC(doHandoff); +// }; +//} else { + [FUNC(guidancePFH), 0, _args ] call cba_fnc_addPerFrameHandler; +//}; + + +/* Clears locking settings +(vehicle _shooter) setVariable [QGVAR(target), nil]; +(vehicle _shooter) setVariable [QGVAR(seekerType), nil]; +(vehicle _shooter) setVariable [QGVAR(attackProfile), nil]; +(vehicle _shooter) setVariable [QGVAR(lockMode), nil]; +*/ \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_onIncomingMissile.sqf b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf new file mode 100644 index 0000000000..33ebeb34e2 --- /dev/null +++ b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf @@ -0,0 +1,8 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +PARAMS_3(_target,_ammo,_shooter); + +if(GVAR(enabled) < 1) exitWith {}; // bail if enabled +if !(local (gunner _shooter) || {local _shooter}) exitWith {}; // bail if not shooter + +_shooter setVariable [QGVAR(vanilla_target),_target, false]; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_rotateVectLine.sqf b/addons/missileguidance/functions/fnc_rotateVectLine.sqf index b0360cc330..b9904f0e5a 100644 --- a/addons/missileguidance/functions/fnc_rotateVectLine.sqf +++ b/addons/missileguidance/functions/fnc_rotateVectLine.sqf @@ -1,4 +1,5 @@ #include "script_component.hpp" +private["_d", "_map", "_p", "_theta", "_u"]; _map = _this select 0; _theta = _this select 1; diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf new file mode 100644 index 0000000000..872f33a917 --- /dev/null +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -0,0 +1,51 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); +private["_targets", "_foundTargetPos", "_launchParams", "_seekerParams", "_targetLaunchParams"]; +private["_angleFov", "_angleOkay", "_losOkay", "_seekerTargetPos", "_sensorPos", "_target"]; + +_seekerTargetPos = _this select 0; + +_launchParams = _this select 1; +_target = (((_launchParams select 1) select 1) select 0); +_seekerParams = _launchParams select 3; + +TRACE_1("", _this); +TRACE_1("", _launchParams); + +// TODO:: Make sure the missile maintains LOS +_foundTargetPos = [0,0,0]; +if(!isNil "_target") then { + _foundTargetPos = getPosASL _target; + //_foundTargetPos = (_target modelToWorldVisual (getCenterOfMass _target)); +}; + +// @TODO: This is seeker LOS and angle checks for LOAL only; LOBL does not need visual +_angleFov = _seekerParams select 0; +_angleOkay = [_projectile, _foundTargetPos, _angleFov] call FUNC(checkSeekerAngle); + +_losOkay = false; +if(_angleOkay) then { + _losOkay = [_projectile, _target] call FUNC(checkSeekerLos); +}; +TRACE_2("", _angleOkay, _losOkay); + +// If we got here, it was an invalid target, just return a spot 5m in front of the missile +if(!_angleOkay || !_losOkay) then { + _foundTargetPos = _sensorPos vectorAdd ((velocity _projectile) vectorMultiply 5); +} else { + TRACE_2("", _target, _foundTargetPos); + private["_projectileSpeed", "_distanceToTarget", "_eta", "_adjustVelocity"]; + // @TODO: Configurable lead for seekers + _projectileSpeed = (vectorMagnitude velocity _projectile); + _distanceToTarget = (getPosASL _projectile) vectorDistance _foundTargetPos; + + _eta = _distanceToTarget / _projectileSpeed; + + _adjustVelocity = (velocity _target) vectorMultiply _eta; + _foundTargetPos = _foundTargetPos vectorAdd _adjustVelocity; +}; + + +_foundTargetPos; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf new file mode 100644 index 0000000000..7aafad1114 --- /dev/null +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -0,0 +1,30 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); +private["_angleFov", "_canSeeTarget", "_foundTargetPos", "_laserResult", "_launchParams", "_seekerParams", "_seekerTargetPos", "_sensorPos", "_target"]; +_seekerTargetPos = _this select 0; +_launchParams = _this select 1; +_seekerParams = _launchParams select 3; +_angleFov = _seekerParams select 0; + +if(!isNil "_target") then { + // Handle AI or moving vanilla lasers + _foundTargetPos = getPosASL _target; +} else { + _laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot); + _foundTargetPos = _laserResult select 0; + TRACE_1("Search", _laserResult); +}; + +if(!isNil "_foundTargetPos") then { + //_canSeeTarget = [_projectile, _foundTargetPos, _angleFov] call FUNC(checkSeekerAngle); + + // If we got here, it was an invalid target, just return a spot 5m in front of the missile + if(!_canSeeTarget) then { + _foundTargetPos = _sensorPos vectorAdd ((velocity _projectile) vectorMultiply 5); + }; + +}; + +_foundTargetPos; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_translateToModelSpace.sqf b/addons/missileguidance/functions/fnc_translateToModelSpace.sqf deleted file mode 100644 index 1e2e930ac7..0000000000 --- a/addons/missileguidance/functions/fnc_translateToModelSpace.sqf +++ /dev/null @@ -1,16 +0,0 @@ -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = (((_xVec vectorMultiply _x) vectorAdd (_yVec vectorMultiply _y)) vectorAdd (_zVec vectorMultiply _z)) vectorAdd _origin; - -_out; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_translateToWeaponSpace.sqf b/addons/missileguidance/functions/fnc_translateToWeaponSpace.sqf deleted file mode 100644 index 2c7dc5e6da..0000000000 --- a/addons/missileguidance/functions/fnc_translateToWeaponSpace.sqf +++ /dev/null @@ -1,22 +0,0 @@ -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_offset = _offset vectorDiff _origin; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = [ - ((_xVec select 0)*_x) + ((_xVec select 1)*_y) + ((_xVec select 2)*_z), - ((_yVec select 0)*_x) + ((_yVec select 1)*_y) + ((_yVec select 2)*_z), - ((_zVec select 0)*_x) + ((_zVec select 1)*_y) + ((_zVec select 2)*_z) - ]; - -_out; \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml new file mode 100644 index 0000000000..6840f11e42 --- /dev/null +++ b/addons/missileguidance/stringtable.xml @@ -0,0 +1,96 @@ + + + + + Advanced Missile Guidance + Avanzada Misiles Orientación + Guidage avancé de missile + Zaawansowane naprowadzanie rakiet + Erweitertes Raketenlenksystem + Pokročilé řízení střel + Guida missili avanzata + Avançado Missile Guidance + Fejlett rakétairányító + Продвинутое наведение ракет + + + Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. + Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. + Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil. + Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. + Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. + + + Hydra-70 DAGR Missile + + Hydra-70 DAGR + Hydra-70 DAGR + Hydra-70 DAGR Rackete + Hydra-70 DAGR + Missile Hydra-70 DAGR + + Hydra-70 DAGR rakéta + Hydra-70 DAGR + + + DAGR + + DAGR + DAGR + DAGR + DAGR + DAGR + + DAGR + DAGR + + + Hydra-70 DAGR Laser Guided Missile + + Missile à guidage laser Hydra-70 DAGR + Laserowo naprowadzana rakieta Hydra-70 DAGR + Hydra-70 DAGR lasergelenkte Rakete + Hydra-70 DAGR laserem naváděná střela + Hydra-70 DAGR missile guida laser + + Hydra-70 DAGR lézer-irányított rakéta + Управляемая ракета лазерного наведения Hydra-70 DAGR + + + Hellfire II AGM-114K Missile + + Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Hellfire II AGM-114K + Missile Hellfire II AGM-114K + + Hellfire II AGM-114K rakéta + Hellfire II AGM-114K + + + AGM-114K + + AGM-114K + AGM-114K + AGM-114K + AGM-114K + AGM-114K + + AGM-114K + AGM-114K + + + Hellfire II AGM-114K Laser Guided Missile + + Missile à guidage laser Hellfire II AGM-114K + Laserowo naprowadzana rakieta Hellfire II AGM-114K + Hellfire II AGM-114K Lasergelenkte Rakete + Hellfire II AGM-114K laserem naváděná střela + Missile guida laser Hellfire II AGM-114K + + Hellfire II AGM-114K lézer-irányított rakéta + Управляемая ракета лазерного наведения Hellfire II AGM-114K + + + \ No newline at end of file diff --git a/addons/mk6mortar/$PBOPREFIX$ b/addons/mk6mortar/$PBOPREFIX$ new file mode 100644 index 0000000000..a21eaf95f0 --- /dev/null +++ b/addons/mk6mortar/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\Addons\mk6mortar \ No newline at end of file diff --git a/addons/mk6mortar/CfgEventHandlers.hpp b/addons/mk6mortar/CfgEventHandlers.hpp new file mode 100644 index 0000000000..34c6ecc22c --- /dev/null +++ b/addons/mk6mortar/CfgEventHandlers.hpp @@ -0,0 +1,17 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; +class Extended_PostInit_EventHandlers { + class ADDON { + clientInit = QUOTE( call COMPILE_FILE(XEH_clientInit) ); + }; +}; +class Extended_FiredBIS_EventHandlers { + class Mortar_01_base_F { + class ADDON { + firedBIS = QUOTE(_this call FUNC(handleFired)); + }; + }; +}; diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp new file mode 100644 index 0000000000..1c90842d5f --- /dev/null +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -0,0 +1,83 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Equipment { + class GVAR(rangetable) { + displayName = "$STR_ACE_MK6MORTAR_rangetable_action"; + condition = QUOTE(_this call FUNC(rangeTableCanUse)); + statement = QUOTE(_this call FUNC(rangeTableOpen)); + priority = 0; + icon = QUOTE(PATHTOF(UI\icon_rangeTable.paa)); + exceptions[] = {"notOnMap", "isNotInside"}; + }; + }; + }; + }; + + class LandVehicle; + class StaticWeapon: LandVehicle { + class Turrets { + class MainTurret; + }; + }; + class StaticMortar: StaticWeapon { + class Turrets: Turrets { + class MainTurret: MainTurret { + }; + }; + }; + class Mortar_01_base_F: StaticMortar { + class Turrets: Turrets { + class MainTurret: MainTurret { + turretInfoType = "ACE_Mk6_RscWeaponRangeArtillery"; + }; + }; + class ACE_SelfActions { + class GVAR(toggleMils) { + displayName = "Toggle MILS"; + condition = QUOTE(true); + statement = QUOTE(_this call FUNC(toggleMils)); + exceptions[] = {}; + }; + }; + }; + + class Logic; + class Module_F: Logic { + class ModuleDescription {}; + }; + class GVAR(module): Module_F { + author = "$STR_ACE_Common_ACETeam"; + category = "ACE"; + displayName = "MK6 Settings"; + function = QFUNC(moduleInit); + scope = 2; + isGlobal = 0; + icon = QUOTE(PATHTOF(UI\Icon_Module_mk6_ca.paa)); + functionPriority = 0; + class Arguments { + class airResistanceEnabled { + displayName = "Air Resitance"; + description = "For Player Shots, Model Air Restiance and Wind Effects"; + typeName = "BOOL"; + defaultValue = 1; + }; + class allowComputerRangefinder { + displayName = "Allow MK6 Computer"; + description = "Show the Computer and Rangefinder (these NEED to be removed if you enable air resistance)"; + typeName = "BOOL"; + defaultValue = 0; + }; + class allowCompass { + displayName = "Allow MK6 Compass"; + description = "Show the MK6 Digital Compass"; + typeName = "BOOL"; + defaultValue = 1; + }; + }; + class ModuleDescription: ModuleDescription { + description = ""; + }; + }; +}; diff --git a/addons/mk6mortar/CfgWeapons.hpp b/addons/mk6mortar/CfgWeapons.hpp new file mode 100644 index 0000000000..7d5153e9ad --- /dev/null +++ b/addons/mk6mortar/CfgWeapons.hpp @@ -0,0 +1,15 @@ +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_RangeTable_82mm: ACE_ItemCore { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; + displayName = "$STR_ACE_MK6MORTAR_rangetable_name"; + descriptionShort = "$STR_ACE_MK6MORTAR_rangetable_description"; + picture = QUOTE(PATHTOF(UI\icon_rangeTable.paa)); + class ItemInfo: InventoryItem_Base_F { + mass = 0.5; + }; + }; +}; diff --git a/addons/mk6mortar/README.md b/addons/mk6mortar/README.md new file mode 100644 index 0000000000..84c7a6e984 --- /dev/null +++ b/addons/mk6mortar/README.md @@ -0,0 +1,10 @@ +ace_mk6mortar +========== + +Tweaks the mk6 mortar from Arma3 + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [PabstMirror](https://github.com/PabstMirror) diff --git a/addons/mk6mortar/RscInGameUI.hpp b/addons/mk6mortar/RscInGameUI.hpp new file mode 100644 index 0000000000..102362216a --- /dev/null +++ b/addons/mk6mortar/RscInGameUI.hpp @@ -0,0 +1,44 @@ +class RscInGameUI { + class RscWeaponRangeArtillery { + class CA_IGUI_elements_group: RscControlsGroup {}; + }; + class ACE_Mk6_RscWeaponRangeArtillery: RscWeaponRangeArtillery { + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_Mk6_RscWeaponRangeArtillery',(_this select 0))]; _this call FUNC(turretDisplayLoaded);); + controls[] = {"ACE_MILS_GROUP", "CA_IGUI_elements_group","CA_RangeElements_group"}; + class ACE_MILS_GROUP: CA_IGUI_elements_group { + idc = 80170; + class controls { + class CA_Heading_MILS: RscText { + idc = 80156; + style = 2; + colorText[] = {0.706,0.0745,0.0196,1}; + sizeEx = "0.028*SafezoneH"; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "015"; + x = "25.0 * (0.01875 * SafezoneH)"; + y = "6.3 * (0.025 * SafezoneH)"; + w = "3.3333 * (0.01875 * SafezoneH)"; + h = "1 * (0.025 * SafezoneH)"; + }; + class CA_Elev_MILS: RscText { + idc = 80175; + style = 1; + sizeEx = "0.038*SafezoneH"; + colorText[] = {0.706,0.0745,0.0196,1}; + shadow = 0; + font = "EtelkaMonospacePro"; + text = "80.5"; + x = "36.8 * (0.01875 * SafezoneH)"; + y = "29.3 * (0.025 * SafezoneH)"; + w = "5.2 * (0.01875 * SafezoneH)"; + h = "1.2 * (0.025 * SafezoneH)"; + }; + class CA_Elev_Need_MILS: CA_Elev_MILS { + idc = 80176; + y = "30.8 * (0.025 * SafezoneH)"; + }; + }; + }; + }; +}; diff --git a/addons/mk6mortar/RscRangeTable.hpp b/addons/mk6mortar/RscRangeTable.hpp new file mode 100644 index 0000000000..6bf0e51619 --- /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 = "14 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "4 * (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/867),(86/867),(171/867),(238/867),(320/867),(405/867), + (485/867),(546/867),(607/867),(668/867),(729/867),(790/867)}; + 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 = "14 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; + y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; + w = "4 * (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"; + }; + }; +}; diff --git a/addons/mk6mortar/UI/Icon_Module_mk6_ca.paa b/addons/mk6mortar/UI/Icon_Module_mk6_ca.paa new file mode 100644 index 0000000000..8abfb4bdd3 Binary files /dev/null and b/addons/mk6mortar/UI/Icon_Module_mk6_ca.paa differ diff --git a/addons/mk6mortar/UI/RangeTable_background.paa b/addons/mk6mortar/UI/RangeTable_background.paa new file mode 100644 index 0000000000..bf4b5ee044 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/UI/ui_charges.paa b/addons/mk6mortar/UI/ui_charges.paa new file mode 100644 index 0000000000..7041c654e0 Binary files /dev/null and b/addons/mk6mortar/UI/ui_charges.paa differ diff --git a/addons/mk6mortar/XEH_clientInit.sqf b/addons/mk6mortar/XEH_clientInit.sqf new file mode 100644 index 0000000000..973772c96a --- /dev/null +++ b/addons/mk6mortar/XEH_clientInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; + +["playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call EFUNC(common,addEventHandler); diff --git a/addons/mk6mortar/XEH_preInit.sqf b/addons/mk6mortar/XEH_preInit.sqf new file mode 100644 index 0000000000..9af89ccb35 --- /dev/null +++ b/addons/mk6mortar/XEH_preInit.sqf @@ -0,0 +1,21 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(dev_buildTable); +PREP(dev_formatNumber); +PREP(dev_simulateCalcRangeTableLine); +PREP(dev_simulateFindSolution); +PREP(dev_simulateShot); + +PREP(handleFired); +PREP(handlePlayerVehicleChanged); +PREP(moduleInit); +PREP(rangeTableCanUse); +PREP(rangeTableOpen); +PREP(rangeTablePageChange); +PREP(rangeTablePreCalculatedValues); +PREP(toggleMils); +PREP(turretDisplayLoaded); + +ADDON = true; diff --git a/addons/mk6mortar/config.cpp b/addons/mk6mortar/config.cpp new file mode 100644 index 0000000000..6751cea5fb --- /dev/null +++ b/addons/mk6mortar/config.cpp @@ -0,0 +1,47 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {"ACE_RangeTable_82mm"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_interaction"}; + author[] = {"PabstMirror"}; + authorUrl = "https://github.com/acemod"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.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 + class GVAR(airResistanceEnabled) { + value = 0; + typeName = "BOOL"; + isClientSetable = 0; + }; + class GVAR(allowComputerRangefinder) { + value = 1; + typeName = "BOOL"; + isClientSetable = 0; + }; + class GVAR(allowCompass) { + value = 1; + typeName = "BOOL"; + isClientSetable = 0; + }; +}; diff --git a/addons/mk6mortar/functions/fnc_dev_buildTable.sqf b/addons/mk6mortar/functions/fnc_dev_buildTable.sqf new file mode 100644 index 0000000000..7a60e91e68 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_dev_buildTable.sqf @@ -0,0 +1,87 @@ +/* + * Author: PabstMirror + * DEV function to build mortar tables, very cpu intensive (never used durring normal gameplay) + * + * Arguments: + * 0: Muzzle Velocity + * 1: Air Friction + * + * Return Value: + * + * + * Example: + * [100, -0.0001] spawn ace_mk6mortar_fnc_dev_buildTable; //spawn (scheduled) is slower + * [100, -0.0001] call ace_mk6mortar_fnc_dev_buildTable; //faster, but will lock while processing + * + * Public: No + */ +#include "script_component.hpp" + + +private ["_muzzleVelocity", "_airFriction", "_stillInRange", "_currentRange", "_increasePerRow", "_outputArray", "_rangeToHit", "_lineElevation", "_lineHeightElevation", "_lineTimeOfFlight", "_lineCrosswindDeg", "_lineHeadwindMeters", "_lineTailWindMeters", "_lineTempDec", "_lineTempInc", "_lineAirDensDec", "_lineAirDensInc", "_result", "_outputString"]; + +_muzzleVelocity = _this select 0; +_airFriction = _this select 1; +_stillInRange = true; +_currentRange = 100; +_increasePerRow = 50; +_outputArray = []; + + +//[_rangeToHit, _lineElevation, _lineHeightElevation, _lineHeightTimeDelta, _lineTimeOfFlight, _lineCrosswindDeg, _lineHeadwindMeters, _lineTailWindMeters, _lineTempDec, _lineTempInc, _lineAirDensDec, _lineAirDensInc] + +while {_stillInRange} do { + _result = [_muzzleVelocity, _currentRange, _airFriction] call FUNC(dev_simulateCalcRangeTableLine); + if (_result isEqualTo []) then { + _stillInRange = false; + } else { + if (_airFriction == 0) then { + _result set [4, 0]; + _result set [5, 0]; + _result set [6, 0]; + _result set [7, 0]; + _result set [8, 0]; + _result set [9, 0]; + _result set [10, 0]; + }; + if ((_result select 1) < 88) then { + _outputArray pushBack [ + ([(_result select 0), "meters", false] call FUNC(dev_formatNumber)), + ([(_result select 1), "mil", true] call FUNC(dev_formatNumber)), + ([(_result select 2), "mil", true] call FUNC(dev_formatNumber)), + ([(_result select 3), "sec", false] call FUNC(dev_formatNumber)), + ([(_result select 4), "sec", false] call FUNC(dev_formatNumber)), + ([(_result select 5), "milPrecise", true] call FUNC(dev_formatNumber)), + ([(_result select 6), "metersprecise", false] call FUNC(dev_formatNumber)), + ([(_result select 7), "metersprecise", false] call FUNC(dev_formatNumber)), + ([(_result select 8), "metersprecise", false] call FUNC(dev_formatNumber)), + ([(_result select 9), "metersprecise", false] call FUNC(dev_formatNumber)), + ([(_result select 10), "metersprecise", false] call FUNC(dev_formatNumber)), + ([(_result select 11), "metersprecise", false] call FUNC(dev_formatNumber)) + ]; + }; + _currentRange = _currentRange + _increasePerRow; + }; + hintSilent str _currentRange; +}; + +//handle floating point rounding errors +_outputString = format ["case ((abs(_muzzleVelocity - %1) < 0.00001) && {(abs(_airFriction - %2) < 0.00001)}): { +[ +", _muzzleVelocity, _airFriction]; + +{ + if (_forEachIndex < ((count _outputArray) - 1)) then { + _outputString = _outputString + format ["%1, + ", _x]; + } else { + _outputString = _outputString + format ["%1 + ] + };", _x]; + }; +} forEach _outputArray; + +copyToClipboard _outputString; +rangeTableOutput = _outputString; + +hint "done"; \ No newline at end of file diff --git a/addons/mk6mortar/functions/fnc_dev_formatNumber.sqf b/addons/mk6mortar/functions/fnc_dev_formatNumber.sqf new file mode 100644 index 0000000000..f89c3a1b8f --- /dev/null +++ b/addons/mk6mortar/functions/fnc_dev_formatNumber.sqf @@ -0,0 +1,80 @@ +/* +Author: Pabst Mirror + +Description: +Converts numbers into nicely formated strings. + +Parameters: +0: NUMBER - Input number +1: STRING - Output type (see case statement) +2: BOOL - If output type is mil, convert input type from deg->mil + +Returns: +STRING - Formatted number + +Example: +[45, "mil4", true] call ace_mk6mortar_fnc_dev_formatNumber = "0800" + */ +#include "script_component.hpp" + +private ["_theNumber", "_inputType", "_convertToMils", "_decimalPlaces", "_integerPlaces", "_prefix", "_return"]; + +_theNumber = _this select 0; +_inputType = _this select 1; +_convertToMils = _this select 2; + +_decimalPlaces = -1; +_integerPlaces = -1; + +switch (toLower _inputType) do { +case ("meters"): { + _decimalPlaces = 0; + _integerPlaces = 1; + }; +case ("metersprecise"): { + _decimalPlaces = 1; + _integerPlaces = 1; + }; +case ("meters4"): { + _decimalPlaces = 0; + _integerPlaces = 4; + }; +case ("deg3precise"): { + _decimalPlaces = 2; + _integerPlaces = 3; + }; +case ("mil"): { + _decimalPlaces = 0; + _integerPlaces = 1; + if (_convertToMils) then { + _theNumber = _theNumber * (6400 / 360); + }; + }; +case ("mil4"): { + _decimalPlaces = 0; + _integerPlaces = 4; + if (_convertToMils) then { + _theNumber = _theNumber * (6400 / 360); + }; + }; +case ("milprecise"): { + _decimalPlaces = 1; + _integerPlaces = 1; + if (_convertToMils) then { + _theNumber = _theNumber * (6400 / 360); + }; + }; +case ("sec"): { + _decimalPlaces = 1; + _integerPlaces = 1; + }; + default {systemChat format ["badtype %1", _inputType];}; +}; + +//CBA_fnc_formatNumber is silly: [-9.58545, 1, 1, false] call CBA_fnc_formatNumber == "-9.-6" + +_prefix = if (_theNumber < 0) then {"-"} else {""}; + +_return = [abs (_theNumber), _integerPlaces, _decimalPlaces, false] call CBA_fnc_formatNumber; + +(_prefix + _return) diff --git a/addons/mk6mortar/functions/fnc_dev_simulateCalcRangeTableLine.sqf b/addons/mk6mortar/functions/fnc_dev_simulateCalcRangeTableLine.sqf new file mode 100644 index 0000000000..d1e0a8dd05 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_dev_simulateCalcRangeTableLine.sqf @@ -0,0 +1,79 @@ +/* +Author: Pabst Mirror + +Description: +Builds a rangeTable line for a certian range, given muzzle velocity and air friction, returns [] if out of range. + +Parameters: +0: NUMBER - Muzzle Velocity +1: NUMBER - Air Friction +2: NUMBER - Range To Hit + +Returns: +ARRAY - Range Table Line Data (see return line) + +Example: +[300, -0.0001, 3000] call ace_mk6mortar_fnc_simulateCalcRangeTableLine + */ +#include "script_component.hpp" + +#define TIME_STEP (1/50) + +private ["_startTime", "_muzzleVelocity", "_rangeToHit", "_airFriction", "_vacElevation", "_radicand", "_maxElev", "_minElev", "_error", "_solutionElevation", "_lastTestResult", "_numberOfAttempts", "_lineElevation", "_lineTimeOfFlight", "_lineHeightElevation", "_lineHeightTimeDelta", "_lineCrosswindDeg", "_lineHeadwindMeters", "_lineTailWindMeters", "_result"]; + +_startTime = diag_tickTime; + +_muzzleVelocity = _this select 0; +_rangeToHit = _this select 1; +_airFriction = _this select 2; + +//Run Binary search for correct elevation +_solution = [_rangeToHit, 0, _muzzleVelocity, _airFriction, TIME_STEP] call FUNC(dev_simulateFindSolution); +if (_solution isEqualTo []) exitWith {[]}; + +//Real Elevation +_lineElevation = _solution select 0; + +//Time Of Flight: +_lineTimeOfFlight = _solution select 1; + +//Height Adjustment for -100m (another binary search) +_solution = [_rangeToHit, -100, _muzzleVelocity, _airFriction, TIME_STEP] call FUNC(dev_simulateFindSolution); +if (_solution isEqualTo []) exitWith {[]};//should never be triggered (lower elevation easier to hit) + +_lineHeightElevation = ((_solution select 0) - _lineElevation); +_lineHeightTimeDelta = (_solution select 1) - _lineTimeOfFlight; + +//Compute for 10x and divide to minimize rounding errors + +//Crosswind +_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1, 0, 10, 0, TIME_STEP] call FUNC(dev_simulateShot); +_lineCrosswindDeg = (_lastTestResult select 2) / 10; + +//Headwind: +_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1, -10, 0, 0, TIME_STEP] call FUNC(dev_simulateShot); +_lineHeadwindMeters = (_rangeToHit - (_lastTestResult select 0)) / 10; + +//TailWind: +_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1, 10, 0, 0, TIME_STEP] call FUNC(dev_simulateShot); +_lineTailWindMeters = (_rangeToHit - (_lastTestResult select 0)) / 10; + +//Air Temp Dec +_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, (15 - 10), 1, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot); +_lineTempDec = (_rangeToHit - (_lastTestResult select 0)) / 10; + +//Air Temp Inc +_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, (15 + 10), 1, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot); +_lineTempInc = (_rangeToHit - (_lastTestResult select 0)) / 10; + +//Air Density Dec +_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 0.9, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot); +_lineAirDensDec = (_rangeToHit - (_lastTestResult select 0)) / 10; + +//Air Density Inc +_lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1.1, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot); +_lineAirDensInc = (_rangeToHit - (_lastTestResult select 0)) / 10; + +// systemChat format ["debug: Range %1 - in %2 sec", _rangeToHit, (diag_tickTime - _startTime)]; + +[_rangeToHit, _lineElevation, _lineHeightElevation, _lineHeightTimeDelta, _lineTimeOfFlight, _lineCrosswindDeg, _lineHeadwindMeters, _lineTailWindMeters, _lineTempDec, _lineTempInc, _lineAirDensDec, _lineAirDensInc] diff --git a/addons/mk6mortar/functions/fnc_dev_simulateFindSolution.sqf b/addons/mk6mortar/functions/fnc_dev_simulateFindSolution.sqf new file mode 100644 index 0000000000..a45c415b40 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_dev_simulateFindSolution.sqf @@ -0,0 +1,55 @@ +/* + * Author: PabstMirror + * DEV to find a firing solution for a given range + * + * Arguments: + * 0: Range to Hit (Meters) + * 1: Height To Hit (Meters) + * 2: Muzzle Velocity (M/S) + * 3: Air Friction + * 4: Time Step (seconds) (eg 1/50 will simulate 50 cycles per second) + * + * Return Value: + * ARRAY - [NUMBER - Elevation In Degrees, NUMBER - Shot Durration] + * + * Example: + * [_rangeToHit, _heightToHit, _muzzleVelocity, _airFriction, TIME_STEP] call FUNC(simulateFindSolution); + * + * Public: No + */ +#include "script_component.hpp" + +private ["_rangeToHit", "_heightToHit", "_muzzleVelocity", "_airFriction", "_maxElev", "_minElev", "_error", "_solutionElevation", "_lastTestResult", "_numberOfAttempts"]; + +#define MAX_ATTEMPTS 22 + +_rangeToHit = _this select 0; +_heightToHit = _this select 1; +_muzzleVelocity = _this select 2; +_airFriction = _this select 3; +_timeStep = _this select 4; + +_maxElev = 90; +_minElev = 45; //todo - Low Angle Howitzers??? + +_error = 10000; +_solutionElevation = -1; +_lastTestResult = []; +_numberOfAttempts = 0; + +//(binary search) +while {(_numberOfAttempts < MAX_ATTEMPTS) && {(abs _error) > 0.2}} do { + _numberOfAttempts = _numberOfAttempts + 1; + _solutionElevation = (_maxElev + _minElev) / 2; + _lastTestResult = [_solutionElevation, _muzzleVelocity, _airFriction, 15, 1, 0, 0, _heightToHit, _timeStep] call FUNC(dev_simulateShot); + _error = _rangeToHit - (_lastTestResult select 0); + if (_error > 0) then { + _maxElev = _solutionElevation; //test range was short + } else { + _minElev = _solutionElevation; //test range was long + }; +}; +if (_numberOfAttempts >= MAX_ATTEMPTS) exitWith {[]}; + +//return the elevation and time required +[_solutionElevation, (_lastTestResult select 1)] diff --git a/addons/mk6mortar/functions/fnc_dev_simulateShot.sqf b/addons/mk6mortar/functions/fnc_dev_simulateShot.sqf new file mode 100644 index 0000000000..0e53807a6b --- /dev/null +++ b/addons/mk6mortar/functions/fnc_dev_simulateShot.sqf @@ -0,0 +1,73 @@ +/* + * Author: PabstMirror + * DEV function to build mortar tables, very cpu intensive (never used durring normal gameplay) + * + * Arguments: + * 0: Shot Angle (degrees) + * 1: Muzzle Velocity (m/s) + * 2: Air Friction + * 3: Tempeture (degres celcius) + * 4: Relative Air Denisty + * 5: Tail Wind (m/s) + * 6: Cross Wind (m/s) + * 7: Height Of Target (M) + * 8: Time Step (fraction of a second) + * + * Return Value: + * [Distance Traveled, Shot Time, Offset (degrees)] + * + * Example: + * [45, 180, -0.0001, 15, 1, 10, 0, 0, 1/50] call ace_mk6mortar_fnc_dev_simulateShot; + * + * Public: No + */ +#include "script_component.hpp" + +private ["_angleDeg", "_muzzleVelocity", "_airFriction", "_temp", "_relDensity", "_tailWind", "_crosswind", "_heightOfTarget", "_timeStep", "_wind", "_gravity", "_currentPos", "_currentVelocity", "_currentTime", "_lastPos", "_kCoefficent", "_aparentWind", "_changeInVelocity", "_linConversion", "_middlePos", "_middlePosOld", "_middleTotalTravelTime", "_offsetDeg"]; + +_angleDeg = _this select 0; +_muzzleVelocity = _this select 1; +_airFriction = _this select 2; +_temp = _this select 3; +_relDensity = _this select 4; +_tailWind = _this select 5; +_crosswind = _this select 6; +_heightOfTarget = _this select 7; +_timeStep = _this select 8; + +_wind = [_crosswind, _tailWind, 0]; +_gravity = [0,0,-9.8]; + +_currentPos = [0,0,0]; +_muzzleVelocity = _muzzleVelocity * (((_temp + 273.13) / 288.13 - 1) / 40 + 1); +_currentVelocity = [0, (_muzzleVelocity * cos _angleDeg), (_muzzleVelocity * sin _angleDeg)]; + +_currentTime = 0; +_lastPos = _currentPos; + +_kCoefficent = -1 * _relDensity * _airFriction; //save time in the loop and compute once + +while {((_currentVelocity select 2) > 0) || ((_currentPos select 2) >= _heightOfTarget)} do { + _lastPos = _currentPos; + + _aparentWind = _wind vectorDiff _currentVelocity; + _changeInVelocity = _gravity vectorAdd (_aparentWind vectorMultiply ((vectorMagnitude _aparentWind) * _kCoefficent)); + + _currentVelocity = _currentVelocity vectorAdd (_changeInVelocity vectorMultiply _timeStep); + + _currentPos = _currentPos vectorAdd (_currentVelocity vectorMultiply _timeStep); + _currentTime = _currentTime + _timeStep; +}; + +//Uses linearConversion to get a weighted average betwen points before and after dropping below target height +_linConversion = linearConversion [(_lastPos select 2), (_currentPos select 2), _heightOfTarget, 0, 1, true]; +_middlePos = (_lastPos vectorMultiply (1 - _linConversion)) vectorAdd (_currentPos vectorMultiply (_linConversion)); +// _middlePosOld = (_lastPos vectorAdd _currentPos) vectorMultiply 0.5; + +//Same to find travel time +_middleTotalTravelTime = _currentTime - (_timeStep * (1-_linConversion)); + +//Find shot offset (from crosswind), in degrees +_offsetDeg = (_middlePos select 0) aTan2 (_middlePos select 1); + +[(_middlePos select 1), _middleTotalTravelTime, _offsetDeg] diff --git a/addons/mk6mortar/functions/fnc_handleFired.sqf b/addons/mk6mortar/functions/fnc_handleFired.sqf new file mode 100644 index 0000000000..e2b440c520 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_handleFired.sqf @@ -0,0 +1,89 @@ +/* + * Author: PabstMirror + * Called when the mortar is fired. + * + * Arguments: + * 0: mortar - Object the event handler is assigned to + * 1: weapon - Fired weapon + * 2: muzzle - Muzzle that was used + * 3: mode - Current mode of the fired weapon + * 4: ammo - Ammo used + * 5: magazine - magazine name which was used + * 6: projectile - Object of the projectile that was shot + * + * Return Value: + * Nothing + * + * Example: + * [clientFiredBIS-XEH] call ace_mk6mortar_fnc_handleFired + * + * Public: No + */ +#include "script_component.hpp" + +private ["_shooterMan", "_bisAirFriction", "_temperature", "_newMuzzleVelocityCoefficent", "_bulletVelocity", "_bulletSpeed", "_muzzleVelocity", "_muzzleVelocityShift"]; + +disableSerialization; + +PARAMS_7(_vehicle,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); + +if (!GVAR(airResistanceEnabled)) exitWith {}; +// Large enough distance to not simulate any wind deflection +if (_vehicle distance ACE_player > 8000) exitWith {false}; + +//AI will have no clue how to use: +_shooterMan = gunner _vehicle; +if (!([_shooterMan] call EFUNC(common,isPlayer))) exitWith {false}; + +//Should be zero, just make sure: +_bisAirFriction = getNumber (configFile >> "CfgAmmo" >> _ammo >> "airFriction"); +if (_bisAirFriction != 0) exitWith {ERROR("Non zero base airFriction");}; + + +//Calculate air density: +_altitude = (getPosASL _vehicle) select 2; +#define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h)) +_temperature = GET_TEMPERATURE_AT_HEIGHT(_altitude); +_pressure = _altitude call EFUNC(weather,calculateBarometricPressure); +_relativeHumidity = EGVAR(weather,currentHumidity); +_airDensity = [_temperature, _pressure, _relativeHumidity] call EFUNC(weather,calculateAirDensity); +_relativeDensity = _airDensity / 1.225; + +TRACE_5("FiredWeather",_temperature,_pressure,_relativeHumidity,_airDensity,_relativeDensity); + +//powder effects: +_newMuzzleVelocityCoefficent = (((_temperature + 273.13) / 288.13 - 1) / 40 + 1); +if (_newMuzzleVelocityCoefficent != 1) then { + _bulletVelocity = velocity _projectile; + _bulletSpeed = vectorMagnitude _bulletVelocity; + _bulletVelocity = (vectorNormalized _bulletVelocity) vectorMultiply (_bulletSpeed * _newMuzzleVelocityCoefficent); + _projectile setVelocity _bulletVelocity; + _muzzleVelocity = _muzzleVelocity + _muzzleVelocityShift; +}; + + +[{ + private ["_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_dragRef", "_accelRef", "_drag", "_accel"]; + PARAMS_2(_args,_pfID); + EXPLODE_4_PVT(_args,_shell,_airFriction,_time,_relativeDensity); + + if (isNull _shell || {!alive _shell}) exitwith { + [_pfID] call cba_fnc_removePerFrameHandler; + }; + + _deltaT = time - _time; + _args set[2, time]; + + _bulletVelocity = velocity _shell; + _bulletSpeed = vectorMagnitude _bulletVelocity; + + _trueVelocity = _bulletVelocity vectorDiff ACE_wind; + _trueSpeed = vectorMagnitude _trueVelocity; + + _drag = _deltaT * _airFriction * _trueSpeed * _relativeDensity; + _accel = _trueVelocity vectorMultiply (_drag); + _bulletVelocity = _bulletVelocity vectorAdd _accel; + + _shell setVelocity _bulletVelocity; + +}, 0, [_projectile, MK6_82mm_AIR_FRICTION, time, _relativeDensity]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf new file mode 100644 index 0000000000..91657fdbe2 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf @@ -0,0 +1,108 @@ +/* + * Author: PabstMirror + * Handles player getting into new vehicle. Loads PFEG for mortar display if it is a mortar. + * + * Arguments: + * 0:Player + * 1: New Vehicle + * + * Return Value: + * No + * + * Example: + * [bob, mortar] call ace_mk6mortar_fnc_handlePlayerVehicleChanged; + * + * Public: No + */ +#include "script_component.hpp" + +private ["_chargeText", "_xPos", "_yPos", "_wPos", "_hPos", "_tubeWeaponName", "_fireModes"]; + +PARAMS_2(_player,_newVehicle); + +if (isNull _newVehicle) exitWith {}; +if (!(_newVehicle isKindOf "Mortar_01_base_F")) exitWith {}; + +_chargeText = (findDisplay 46) ctrlCreate ["RscStructuredText", 80085]; + +_xPos = (profilenamespace getvariable ["IGUI_GRID_WEAPON_X", ((safezoneX + safezoneW) - (12.4 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.5 * (((safezoneW / safezoneH) min 1.2) / 40))]); +_yPos = 2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (profilenamespace getvariable ["IGUI_GRID_WEAPON_Y", (safezoneY + 0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))]); +_wPos = 10 * (((safezoneW / safezoneH) min 1.2) / 40); +_hPos = 1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25); + +_chargeText ctrlSetPosition [_xPos, _yPos, _wPos, _hPos]; +_chargeText ctrlCommit 0; + +_tubeWeaponName = (weapons _newVehicle) select 0; +_fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes"); + +[{ + PARAMS_2(_args,_pfID); + EXPLODE_3_PVT(_args,_mortarVeh,_chargeText,_fireModes); + + if ((vehicle ACE_player) != _mortarVeh) then { + [_pfID] call CBA_fnc_removePerFrameHandler; + ctrlDelete _chargeText; + } else { + + _useMils = _mortarVeh getVariable [QGVAR(useMils), true]; + + //Compute: 'charge' from weaponstate + _currentFireMode = (weaponState [_mortarVeh, [0]]) select 2; + _currentChargeMode = _fireModes find _currentFireMode; + + _text = format ["%1: %2 ", (localize "STR_ACE_MK6MORTAR_rangetable_charge"), _currentChargeMode, QUOTE(PATHTOF(UI\ui_charges.paa))]; + _chargeText ctrlSetStructuredText parseText _text; + if (shownArtilleryComputer && {!GVAR(allowComputerRangefinder)}) then { + //Don't like this solution, but it works + closeDialog 0; + [parseText "Computer Disabled"] call EFUNC(common,displayTextStructured); + }; + + _display = uiNamespace getVariable ["ACE_Mk6_RscWeaponRangeArtillery", displayNull]; + if (isNull _display) exitWith {}; //It may be null for the first frame + + //Hud should hidden in 3rd person + _notGunnerView = cameraView != "GUNNER"; + + //Update CurrentElevation Display: + if (_notGunnerView) then { + (_display displayCtrl 80175) ctrlSetText ""; + } else { + _elevDeg = parseNumber ctrlText (_display displayCtrl 175); + if (_useMils) then { + (_display displayCtrl 80175) ctrlSetText str round (_elevDeg * 6400 / 360); + } else { + (_display displayCtrl 80175) ctrlSetText str _elevDeg; + }; + }; + + //Update ElevationNeeded Display: + if (_notGunnerView || (!GVAR(allowComputerRangefinder))) then { + (_display displayCtrl 80176) ctrlSetText ""; + } else { + _elevDeg = parseNumber ctrlText (_display displayCtrl 176); + if (_elevDeg <= 0) then { //Bad data means "----" out of range + (_display displayCtrl 80176) ctrlSetText (ctrlText (_display displayCtrl 176)); + } else { + if (_useMils) then { + (_display displayCtrl 80176) ctrlSetText str round (_elevDeg * 6400 / 360); + } else { + (_display displayCtrl 80176) ctrlSetText str _elevDeg; + }; + }; + }; + + //Update Heading Display: + if (_notGunnerView || (!GVAR(allowCompass))) then { + (_display displayCtrl 80156) ctrlSetText ""; + } else { + _rotationDegrees = ((getDir _mortarVeh) + (((-180 / PI) * (_mortarVeh animationPhase "mainTurret")) + 360)) % 360; + if (_useMils) then { + (_display displayCtrl 80156) ctrlSetText str round (_rotationDegrees * 6400 / 360); + } else { + (_display displayCtrl 80156) ctrlSetText (ctrlText (_display displayCtrl 156)); + }; + }; + }; +}, 0, [_newVehicle, _chargeText,_fireModes]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/mk6mortar/functions/fnc_moduleInit.sqf b/addons/mk6mortar/functions/fnc_moduleInit.sqf new file mode 100644 index 0000000000..75bab4cee9 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_moduleInit.sqf @@ -0,0 +1,27 @@ +/* + * Author: PabstMirror + * Loads settings from the module. + * + * Arguments: + * 0: The Module Logic Object + * 1: synced objects + * 2: Activated + * + * Return Value: + * None + * + * Example: + * [fromModule] call ace_mk6mortar_fnc_moduleInit + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_3(_logic,_syncedUnits,_activated); + +if (!_activated) exitWith {WARNING("Module - placed but not active");}; +if (!isServer) exitWith {}; + +[_logic, QGVAR(airResistanceEnabled), "airResistanceEnabled"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(allowComputerRangefinder), "allowComputerRangefinder"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(allowCompass), "allowCompass"] call EFUNC(common,readSettingFromModule); diff --git a/addons/mk6mortar/functions/fnc_rangeTableCanUse.sqf b/addons/mk6mortar/functions/fnc_rangeTableCanUse.sqf new file mode 100644 index 0000000000..04ca9c3278 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_rangeTableCanUse.sqf @@ -0,0 +1,21 @@ +/* + * Author: PabstMirror + * Can player open 82mm rangetable. + * + * Arguments: + * 0: Vehicle + * 1: Player + * + * Return Value: + * Can Open + * + * Example: + * [bob, bob] call ace_mk6mortar_fnc_rangeTableCanUse + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_vehicle,_player); + +"ACE_RangeTable_82mm" in (items _player); \ No newline at end of file diff --git a/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf b/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf new file mode 100644 index 0000000000..dfb53842ab --- /dev/null +++ b/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf @@ -0,0 +1,48 @@ +/* + * Author: PabstMirror + * Opens the rangetable and fills the charge listbox. + * + * Arguments: + * No + * + * Return Value: + * No + * + * Example: + * [] call ace_mk6mortar_fnc_rangeTableOpen + * + * Public: No + */ +#include "script_component.hpp" + +#define LIST_CHARGE ((uiNamespace getVariable "ACE_82mm_RangeTable_Dialog") displayCtrl 1501) + +private ["_weaponName", "_magazines", "_initSpeed", "_fireModes", "_muzzleVelocities", "_showToPlayer", "_artilleryCharge"]; + +_weaponName = "mortar_82mm"; //todo: work on other weapons + +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", (localize "STR_ACE_MK6MORTAR_rangetable_charge"), (count _muzzleVelocities)]; + 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..c0cc40ccdc --- /dev/null +++ b/addons/mk6mortar/functions/fnc_rangeTablePageChange.sqf @@ -0,0 +1,37 @@ +/* + * Author: PabstMirror + * Called when listbox selection changes. Updates the rangetable with new values. + * + * Arguments: + * No + * + * Return Value: + * No + * + * Example: + * [] call ace_mk6mortar_fnc_rangeTablePageChange + * + * 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) + +private ["_listBoxData", "_muzzleVelocity", "_airFriction", "_precalcArray"]; + +_listBoxData = LIST_CHARGE lbData (lbCurSel LIST_CHARGE); +if (isNil "_listBoxData" || {_listBoxData == ""}) exitWith {ERROR("lbCurSel out of bounds or no data");}; +_muzzleVelocity = parseNumber _listBoxData; + +_airFriction = if (GVAR(airResistanceEnabled)) then {MK6_82mm_AIR_FRICTION} else {0}; + +_precalcArray = [_muzzleVelocity, _airFriction] 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..d775b87365 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_rangeTablePreCalculatedValues.sqf @@ -0,0 +1,271 @@ +/* + * Author: PabstMirror + * Simple Lookup Table for various muzzle velocities and air frictions. + * Use ace_mk6mortar_fnc_dev_buildTable to build + * + * Arguments: + * 0: Muzzle Velocity + * 1: Air Friction + * + * Return Value: + * + * + * Example: + * [200, 0] call ace_mk6mortar_fnc_rangeTablePreCalculatedValues + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_muzzleVelocity,_airFriction); + +switch (true) do { + +case ((abs(_muzzleVelocity - 70) < 0.00001) && {(abs(_airFriction - -0.0001) < 0.00001)}): { + [ + ["100","1493","9","1.4","14.0","3.7","0.4","-0.3","0.0","-0.0","-0.0","0.0"], + ["150","1438","14","1.4","13.9","2.5","0.4","-0.4","0.0","-0.0","-0.1","0.0"], + ["200","1381","20","1.4","13.8","1.9","0.5","-0.4","0.0","-0.0","-0.1","0.1"], + ["250","1321","27","1.5","13.6","1.5","0.5","-0.4","0.0","-0.0","-0.1","0.1"], + ["300","1256","36","1.6","13.3","1.3","0.6","-0.5","0.0","-0.1","-0.1","0.1"], + ["350","1183","49","1.7","12.9","1.1","0.6","-0.5","0.1","-0.1","-0.1","0.1"], + ["400","1097","70","1.9","12.4","0.9","0.6","-0.5","0.1","-0.1","-0.2","0.1"], + ["450","979","113","2.3","11.6","0.8","0.6","-0.5","0.1","-0.1","-0.2","0.2"] + ] + }; +case ((abs(_muzzleVelocity - 140) < 0.00001) && {(abs(_airFriction - -0.0001) < 0.00001)}): { + [ + ["150","1556","1","0.8","27.2","16.3","2.5","-2.4","0.0","-0.0","-0.2","0.2"], + ["200","1541","1","0.8","27.2","12.3","2.5","-2.4","0.0","-0.0","-0.3","0.2"], + ["250","1527","2","0.8","27.2","9.9","2.6","-2.4","0.0","-0.0","-0.3","0.3"], + ["300","1512","2","0.8","27.2","8.3","2.7","-2.4","0.1","-0.0","-0.4","0.4"], + ["350","1497","3","0.8","27.1","7.1","2.7","-2.5","0.0","-0.1","-0.5","0.4"], + ["400","1482","3","0.8","27.1","6.2","2.7","-2.5","0.1","-0.1","-0.5","0.5"], + ["450","1467","3","0.8","27.0","5.6","2.8","-2.5","0.1","-0.1","-0.6","0.6"], + ["500","1451","4","0.8","27.0","5.0","2.9","-2.6","0.1","-0.1","-0.6","0.6"], + ["550","1436","4","0.8","26.9","4.6","2.9","-2.6","0.1","-0.1","-0.7","0.7"], + ["600","1420","5","0.8","26.8","4.2","3.0","-2.7","0.1","-0.1","-0.8","0.8"], + ["650","1404","5","0.8","26.8","3.9","3.0","-2.7","0.1","-0.1","-0.9","0.8"], + ["700","1388","6","0.8","26.7","3.6","3.1","-2.8","0.1","-0.1","-0.9","0.9"], + ["750","1372","6","0.8","26.6","3.4","3.2","-2.8","0.1","-0.1","-1.0","1.0"], + ["800","1355","7","0.8","26.5","3.2","3.2","-2.9","0.1","-0.1","-1.1","1.1"], + ["850","1338","8","0.8","26.4","3.0","3.3","-2.9","0.1","-0.1","-1.1","1.1"], + ["900","1321","8","0.8","26.2","2.8","3.4","-3.0","0.1","-0.1","-1.2","1.2"], + ["950","1303","9","0.9","26.1","2.7","3.4","-3.1","0.1","-0.2","-1.3","1.2"], + ["1000","1285","10","0.9","26.0","2.6","3.5","-3.1","0.2","-0.1","-1.4","1.3"], + ["1050","1266","11","0.9","25.8","2.4","3.5","-3.2","0.1","-0.2","-1.4","1.4"], + ["1100","1247","12","0.9","25.7","2.3","3.6","-3.3","0.1","-0.2","-1.5","1.4"], + ["1150","1228","13","0.9","25.5","2.2","3.7","-3.3","0.2","-0.2","-1.6","1.5"], + ["1200","1207","14","1.0","25.3","2.1","3.7","-3.4","0.2","-0.2","-1.7","1.6"], + ["1250","1186","15","1.0","25.1","2.0","3.8","-3.4","0.2","-0.2","-1.7","1.7"], + ["1300","1163","17","1.0","24.8","1.9","3.8","-3.5","0.2","-0.2","-1.8","1.7"], + ["1350","1140","19","1.0","24.6","1.9","3.9","-3.5","0.2","-0.2","-1.9","1.8"], + ["1400","1115","21","1.1","24.3","1.8","3.9","-3.6","0.2","-0.2","-1.9","1.9"], + ["1450","1088","24","1.1","23.9","1.7","4.0","-3.6","0.2","-0.2","-2.0","1.9"], + ["1500","1060","27","1.2","23.6","1.6","4.0","-3.7","0.2","-0.2","-2.1","2.0"], + ["1550","1028","32","1.3","23.1","1.5","4.0","-3.7","0.2","-0.2","-2.1","2.1"], + ["1600","991","38","1.4","22.6","1.5","4.0","-3.7","0.2","-0.2","-2.2","2.1"], + ["1650","947","49","1.7","21.9","1.4","4.0","-3.7","0.2","-0.3","-2.3","2.2"], + ["1700","888","71","2.1","21.0","1.3","3.9","-3.6","0.3","-0.3","-2.3","2.2"] + ] + }; +case ((abs(_muzzleVelocity - 200) < 0.00001) && {(abs(_airFriction - -0.0001) < 0.00001)}): { + [ + ["250","1559","1","0.6","37.3","23.8","6.1","-5.9","0.0","-0.0","-0.6","0.5"], + ["300","1551","1","0.6","37.3","20.0","6.1","-5.9","0.1","-0.0","-0.7","0.7"], + ["350","1543","1","0.6","37.3","17.2","6.2","-5.9","0.0","-0.1","-0.8","0.7"], + ["400","1535","1","0.6","37.3","15.1","6.2","-5.9","0.1","-0.0","-0.9","0.9"], + ["450","1527","1","0.6","37.3","13.4","6.3","-6.0","0.1","-0.1","-1.0","1.0"], + ["500","1519","1","0.6","37.2","12.1","6.3","-6.0","0.1","-0.1","-1.1","1.1"], + ["550","1510","1","0.6","37.2","11.0","6.4","-6.0","0.1","-0.1","-1.3","1.2"], + ["600","1502","1","0.6","37.2","10.1","6.4","-6.1","0.1","-0.1","-1.4","1.3"], + ["650","1494","1","0.6","37.2","9.4","6.5","-6.1","0.1","-0.1","-1.5","1.4"], + ["700","1485","2","0.6","37.1","8.7","6.5","-6.2","0.1","-0.1","-1.6","1.5"], + ["750","1477","2","0.6","37.1","8.2","6.6","-6.2","0.1","-0.1","-1.7","1.6"], + ["800","1468","2","0.6","37.0","7.7","6.7","-6.3","0.1","-0.1","-1.8","1.8"], + ["850","1460","2","0.6","37.0","7.2","6.7","-6.3","0.1","-0.1","-2.0","1.9"], + ["900","1451","2","0.6","37.0","6.8","6.8","-6.4","0.1","-0.1","-2.1","2.0"], + ["950","1443","2","0.6","36.9","6.5","6.9","-6.4","0.1","-0.1","-2.2","2.1"], + ["1000","1434","2","0.6","36.9","6.2","6.9","-6.5","0.1","-0.1","-2.3","2.2"], + ["1050","1425","2","0.6","36.8","5.9","7.0","-6.6","0.1","-0.2","-2.5","2.3"], + ["1100","1417","3","0.6","36.8","5.6","7.1","-6.6","0.1","-0.2","-2.6","2.4"], + ["1150","1408","3","0.6","36.7","5.4","7.1","-6.7","0.2","-0.2","-2.7","2.5"], + ["1200","1399","3","0.6","36.6","5.2","7.2","-6.7","0.2","-0.2","-2.8","2.7"], + ["1250","1390","3","0.6","36.6","5.0","7.3","-6.8","0.2","-0.2","-2.9","2.8"], + ["1300","1381","3","0.6","36.5","4.8","7.4","-6.9","0.2","-0.2","-3.0","2.9"], + ["1350","1372","3","0.6","36.4","4.6","7.4","-6.9","0.2","-0.2","-3.2","3.0"], + ["1400","1362","4","0.6","36.4","4.4","7.5","-7.0","0.2","-0.2","-3.3","3.1"], + ["1450","1353","4","0.6","36.3","4.3","7.6","-7.1","0.2","-0.2","-3.4","3.2"], + ["1500","1344","4","0.6","36.2","4.2","7.7","-7.1","0.2","-0.2","-3.5","3.4"], + ["1550","1334","4","0.6","36.1","4.0","7.7","-7.2","0.2","-0.2","-3.7","3.5"], + ["1600","1324","4","0.6","36.0","3.9","7.8","-7.3","0.2","-0.2","-3.8","3.6"], + ["1650","1314","4","0.7","35.9","3.8","7.9","-7.3","0.2","-0.2","-3.9","3.7"], + ["1700","1304","5","0.7","35.8","3.7","7.9","-7.4","0.2","-0.2","-4.0","3.8"], + ["1750","1294","5","0.7","35.7","3.6","8.0","-7.5","0.2","-0.2","-4.2","3.9"], + ["1800","1284","5","0.7","35.6","3.5","8.1","-7.6","0.2","-0.3","-4.3","4.0"], + ["1850","1274","5","0.7","35.5","3.4","8.2","-7.6","0.2","-0.3","-4.4","4.2"], + ["1900","1263","6","0.7","35.4","3.3","8.2","-7.7","0.2","-0.3","-4.5","4.3"], + ["1950","1253","6","0.7","35.2","3.2","8.3","-7.8","0.2","-0.3","-4.7","4.4"], + ["2000","1242","6","0.7","35.1","3.1","8.4","-7.8","0.3","-0.3","-4.8","4.5"], + ["2050","1231","7","0.7","35.0","3.0","8.4","-7.9","0.3","-0.3","-4.9","4.7"], + ["2100","1219","7","0.7","34.8","2.9","8.5","-8.0","0.3","-0.3","-5.0","4.8"], + ["2150","1208","7","0.7","34.7","2.9","8.5","-8.0","0.3","-0.3","-5.2","4.9"], + ["2200","1196","8","0.7","34.5","2.8","8.6","-8.1","0.3","-0.3","-5.3","5.0"], + ["2250","1184","8","0.7","34.3","2.7","8.7","-8.2","0.3","-0.3","-5.4","5.1"], + ["2300","1171","9","0.8","34.2","2.7","8.7","-8.2","0.3","-0.3","-5.5","5.2"], + ["2350","1158","9","0.8","34.0","2.6","8.8","-8.3","0.3","-0.3","-5.7","5.4"], + ["2400","1145","10","0.8","33.8","2.5","8.8","-8.3","0.3","-0.3","-5.8","5.5"], + ["2450","1132","10","0.8","33.6","2.5","8.9","-8.4","0.3","-0.3","-5.9","5.6"], + ["2500","1118","11","0.8","33.3","2.4","8.9","-8.4","0.3","-0.3","-6.0","5.7"], + ["2550","1103","12","0.8","33.1","2.4","9.0","-8.5","0.3","-0.3","-6.1","5.8"], + ["2600","1088","13","0.9","32.8","2.3","9.0","-8.5","0.4","-0.3","-6.2","5.9"], + ["2650","1072","14","0.9","32.6","2.2","9.0","-8.6","0.4","-0.4","-6.4","6.0"], + ["2700","1056","15","0.9","32.3","2.2","9.0","-8.6","0.3","-0.4","-6.5","6.1"], + ["2750","1038","16","1.0","31.9","2.1","9.1","-8.6","0.4","-0.4","-6.6","6.3"], + ["2800","1020","18","1.0","31.6","2.1","9.1","-8.6","0.4","-0.4","-6.7","6.4"], + ["2850","1000","20","1.1","31.2","2.0","9.1","-8.6","0.4","-0.4","-6.8","6.5"], + ["2900","978","22","1.1","30.8","1.9","9.0","-8.6","0.4","-0.4","-6.9","6.5"], + ["2950","954","26","1.2","30.3","1.9","9.0","-8.6","0.4","-0.4","-7.0","6.6"], + ["3000","927","31","1.4","29.7","1.8","8.9","-8.5","0.4","-0.4","-7.1","6.7"], + ["3050","894","38","1.6","29.0","1.7","8.8","-8.4","0.4","-0.4","-7.2","6.8"], + ["3100","849","54","2.0","27.9","1.6","8.5","-8.3","0.4","-0.4","-7.2","6.8"] + ] + }; +case ((abs(_muzzleVelocity - 70) < 0.00001) && {(abs(_airFriction - 0) < 0.00001)}): { + [ + ["100","1497","9","1.3","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["150","1445","14","1.3","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["200","1390","19","1.4","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["250","1333","26","1.4","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["300","1272","34","1.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["350","1204","45","1.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["400","1127","61","1.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["450","1028","91","2.1","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"] + ] + }; +case ((abs(_muzzleVelocity - 140) < 0.00001) && {(abs(_airFriction - 0) < 0.00001)}): { + [ + ["150","1562","1","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["200","1549","1","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["250","1536","2","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["300","1523","2","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["350","1510","2","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["400","1497","3","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["450","1484","3","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["500","1471","3","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["550","1458","4","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["600","1445","4","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["650","1431","4","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["700","1418","5","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["750","1404","5","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["800","1390","6","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["850","1376","6","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["900","1362","6","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["950","1348","7","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1000","1333","7","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1050","1318","8","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1100","1303","9","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1150","1288","9","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1200","1272","10","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1250","1256","11","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1300","1239","12","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1350","1222","13","0.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1400","1205","13","0.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1450","1187","15","0.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1500","1168","16","0.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1550","1148","18","1.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1600","1127","19","1.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1650","1105","21","1.1","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1700","1082","24","1.1","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1750","1057","27","1.2","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1800","1029","31","1.3","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1850","997","37","1.4","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1900","960","46","1.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1950","912","63","1.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"] + ] + }; +case ((abs(_muzzleVelocity - 200) < 0.00001) && {(abs(_airFriction - 0) < 0.00001)}): { + [ + ["300","1563","0","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["350","1556","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["400","1550","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["450","1544","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["500","1537","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["550","1531","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["600","1525","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["650","1519","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["700","1512","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["750","1506","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["800","1499","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["850","1493","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["900","1487","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["950","1480","1","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1000","1474","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1050","1467","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1100","1461","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1150","1454","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1200","1448","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1250","1441","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1300","1435","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1350","1428","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1400","1422","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1450","1415","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1500","1408","2","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1550","1402","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1600","1395","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1650","1388","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["1700","1381","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1750","1374","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1800","1367","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1850","1360","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1900","1353","3","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["1950","1346","4","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2000","1339","4","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2050","1332","4","0.5","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2100","1325","4","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2150","1317","4","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2200","1310","4","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2250","1302","4","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2300","1295","5","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2350","1287","5","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2400","1280","5","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2450","1272","5","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2500","1264","5","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2550","1256","5","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2600","1248","6","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2650","1240","6","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2700","1232","6","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2750","1223","6","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2800","1215","7","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["2850","1206","7","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2900","1197","7","0.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["2950","1188","7","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3000","1179","8","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3050","1170","8","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3100","1160","8","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3150","1151","9","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3200","1141","9","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3250","1131","10","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3300","1120","10","0.7","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3350","1109","11","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3400","1098","11","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3450","1087","12","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3500","1075","13","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3550","1062","14","0.8","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3600","1049","15","0.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3650","1036","16","0.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3700","1021","17","0.9","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3750","1006","19","1.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3800","990","21","1.1","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3850","971","24","1.1","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["3900","952","27","1.2","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["3950","929","32","1.4","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"], + ["4000","900","40","1.6","0.0","0.0","0.0","0.0","0.0","0.0","0.0","-0.0"], + ["4050","861","56","2.1","0.0","0.0","0.0","0.0","0.0","0.0","0.0","0.0"] + ] + }; + default { + ERROR("MuzzleVelocity not found in LUT"); + [] + }; +}; \ No newline at end of file diff --git a/addons/mk6mortar/functions/fnc_toggleMils.sqf b/addons/mk6mortar/functions/fnc_toggleMils.sqf new file mode 100644 index 0000000000..923a553f43 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_toggleMils.sqf @@ -0,0 +1,24 @@ +/* + * Author: PabstMirror + * Toggles the mortart to show mils or degrees + * + * Arguments: + * 0: Vehicle + * 1: Player + * + * Return Value: + * No + * + * Example: + * [mortar,bob] call ace_mk6mortar_fnc_toggleMils; + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_mortarVeh,_unit); + +private "_currentSetting"; + +_currentSetting = _mortarVeh getVariable [QGVAR(useMils), true]; +_mortarVeh setVariable [QGVAR(useMils), (!_currentSetting)]; diff --git a/addons/mk6mortar/functions/fnc_turretDisplayLoaded.sqf b/addons/mk6mortar/functions/fnc_turretDisplayLoaded.sqf new file mode 100644 index 0000000000..c81ff32132 --- /dev/null +++ b/addons/mk6mortar/functions/fnc_turretDisplayLoaded.sqf @@ -0,0 +1,67 @@ +/* + * Author: PabstMirror + * Called when the mk6's in game UI is loaded. Hides rangefinder data if it is disabled. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_mk6mortar_fnc_turretDisplayLoaded + * + * Public: No + */ +#include "script_component.hpp" + +#define CTRL_CA_OPTICSPITCH (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_OPTICSPITCH") +#define CTRL_CA_OPTICSZOOM (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_OPTICSZOOM") +#define CTRL_CA_SOLUTION_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_SOLUTION_TEXT") +#define CTRL_CA_DISTANCE_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_DISTANCE_TEXT") +#define CTRL_CA_DISTANCE (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_DISTANCE") +#define CTRL_CA_TIME_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_TIME_TEXT") +#define CTRL_CA_TIME (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_TIME") +#define CTRL_CA_ELEV_NEED_TEXT (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV_NEED_TEXT") +#define CTRL_CA_RANGEELEMENTS_GROUP (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_RangeElements_group") + +#define CTRL_CA_HEADING (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_Heading") +#define CTRL_CA_ELEV (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV") +#define CTRL_CA_ELEV_NEED (configFile >> "RscInGameUI" >> "ACE_Mk6_RscWeaponRangeArtillery" >> "CA_IGUI_elements_group" >> "controls" >> "CA_ELEV_NEED") + +private ["_display", "_fnc_hideControl"]; + +disableSerialization; + +_display = uiNamespace getVariable ["ACE_Mk6_RscWeaponRangeArtillery", displayNull]; +if (isNull _display) exitWith {}; + +_fnc_hideControl = { + private "_idc"; + PARAMS_2(_path,_hideCtrl); + _idc = getNumber (_path >> "IDC"); + _pos = []; + if (_hideCtrl) then { + _pos = [-9,-9,0,0]; + } else { + { + if (isNumber (_path >> _x)) then { + _pos pushBack (getNumber (_path >> _x)); + } else { + _pos pushBack (call compile (getText (_path >> _x))); + }; + } forEach ["x", "y", "w", "h"]; + }; + (_display displayCtrl _idc) ctrlSetPosition _pos; + (_display displayCtrl _idc) ctrlCommit 0; +}; + +{ + [_x, (!GVAR(allowComputerRangefinder))] call _fnc_hideControl; +} forEach [CTRL_CA_OPTICSPITCH, CTRL_CA_OPTICSZOOM, CTRL_CA_SOLUTION_TEXT, CTRL_CA_DISTANCE_TEXT, CTRL_CA_DISTANCE, CTRL_CA_TIME_TEXT, CTRL_CA_TIME, CTRL_CA_ELEV_NEED_TEXT, CTRL_CA_RANGEELEMENTS_GROUP]; + +//Always hide these, handled by the mil convertions PFEH in handlePlayerVehChanged +[CTRL_CA_HEADING, true] call _fnc_hideControl; +[CTRL_CA_ELEV, true] call _fnc_hideControl; +[CTRL_CA_ELEV_NEED, true] call _fnc_hideControl; + diff --git a/addons/mk6mortar/functions/script_component.hpp b/addons/mk6mortar/functions/script_component.hpp new file mode 100644 index 0000000000..9980d4fc88 --- /dev/null +++ b/addons/mk6mortar/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\mk6mortar\script_component.hpp" \ No newline at end of file diff --git a/addons/mk6mortar/script_component.hpp b/addons/mk6mortar/script_component.hpp new file mode 100644 index 0000000000..cb74d552de --- /dev/null +++ b/addons/mk6mortar/script_component.hpp @@ -0,0 +1,14 @@ +#define COMPONENT mk6mortar +#include "\z\ace\Addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_MK6MORTAR + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MK6MORTAR + #define DEBUG_SETTINGS DEBUG_SETTINGS_MK6MORTAR +#endif + +#include "\z\ace\Addons\main\script_macros.hpp" + +#define MK6_82mm_AIR_FRICTION -0.0001 \ No newline at end of file diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml new file mode 100644 index 0000000000..1dfdd1b470 --- /dev/null +++ b/addons/mk6mortar/stringtable.xml @@ -0,0 +1,29 @@ + + + + + 82mm Rangetable + 82mm Distanztabelle + Tabela strzelnicza 82mm + table de tir 82mm + + + Range Table for the MK6 82mm Mortar + Distanztabelle für den Mk6 82mm Mortar + Tabela strzelnicza dla moździerza 82mm MK6 + Table de tir pour le mortier MK6 82mm + + + Open 82mm Rangetable + Öffne 82mm Distanztabelle + Otwórz tabelę strzelniczą 82mm + ouvrir la table de tir 82mm + + + Charge + Ladung + Charge + Ładunek + + + diff --git a/addons/modules/XEH_preInit.sqf b/addons/modules/XEH_preInit.sqf index a8b9bd061e..dfbbe2c2b9 100644 --- a/addons/modules/XEH_preInit.sqf +++ b/addons/modules/XEH_preInit.sqf @@ -3,6 +3,8 @@ ADDON = false; PREP(moduleInit); +PREP(bi_moduleProjectile); + GVAR(moduleInitCollection) = []; ADDON = true; diff --git a/addons/modules/config.cpp b/addons/modules/config.cpp index bffcec4faf..4fc3b8b60d 100644 --- a/addons/modules/config.cpp +++ b/addons/modules/config.cpp @@ -23,6 +23,9 @@ class CfgVehicles { init = QUOTE(_this call DFUNC(moduleInit)); }; }; + class ModuleOrdnance_F: Module_F { + function = "ace_modules_fnc_bi_moduleProjectile"; + }; }; #include "CfgEventHandlers.hpp" diff --git a/addons/modules/functions/fnc_bi_moduleProjectile.sqf b/addons/modules/functions/fnc_bi_moduleProjectile.sqf new file mode 100644 index 0000000000..56e3eb9883 --- /dev/null +++ b/addons/modules/functions/fnc_bi_moduleProjectile.sqf @@ -0,0 +1,191 @@ +/* + * Author: Bohemia Interactive + * Module function for spawning projectiles + * Used by Curator artillery modules etc + * + * Arguments: + * 0: The logic object + * + * Return Value: + * nil + * + * Public: No + */ + +_fnc_scriptNameParentTemp = if !(isnil '_fnc_scriptName') then {_fnc_scriptName} else {'BIS_fnc_moduleProjectile'}; +private ['_fnc_scriptNameParent']; +_fnc_scriptNameParent = _fnc_scriptNameParentTemp; +_fnc_scriptNameParentTemp = nil; + +private ['_fnc_scriptName']; +_fnc_scriptName = 'BIS_fnc_moduleProjectile'; +scriptname _fnc_scriptName; + +private ["_logic", "_units", "_activated"]; +_logic = _this select 0; +_units = _this select 1; +_activated = _this select 2; + +if ({local _x} count (objectcurators _logic) > 0) then { + //--- Reveal the circle to curators + _logic hideobject false; + _logic setpos position _logic; +}; +if !(isserver) exitwith {}; + +if (_activated) then { + _ammo = _logic getvariable ["type",gettext (configfile >> "cfgvehicles" >> typeof _logic >> "ammo")]; + if (_ammo != "") then { + _cfgAmmo = configfile >> "cfgammo" >> _ammo; + //if !(isclass _cfgAmmo) exitwith {["CfgAmmo class '%1' not found.",_ammo] call bis_fnc_error;}; + _dirVar = _fnc_scriptname + typeof _logic; + _logic setdir (missionnamespace getvariable [_dirVar,direction _logic]); //--- Restore custom direction + _pos = getposatl _logic; + _posAmmo = +_pos; + _posAmmo set [2,0]; + _dir = direction _logic; + _simulation = tolower gettext (configfile >> "cfgammo" >> _ammo >> "simulation"); + _altitude = 0; + _velocity = []; + _attach = false; + _radio = ""; + _delay = 60; + _sound = ""; + _soundSourceClass = ""; + _hint = []; + _shakeStrength = 0; + _shakeRadius = 0; + switch (_simulation) do { + case "shotshell": { + _altitude = 1000; + _velocity = [0,0,-100]; + _radio = "SentGenIncoming"; + _sounds = if (getnumber (_cfgAmmo >> "hit") < 200) then {["mortar1","mortar2"]} else {["shell1","shell2","shell3","shell4"]}; + _sound = _sounds call bis_fnc_selectrandom; + _hint = ["Curator","PlaceOrdnance"]; + _shakeStrength = 0.01; + _shakeRadius = 300; + }; + case "shotsubmunitions": { + _posAmmo = [_posAmmo,500,_dir + 180] call bis_fnc_relpos; + _altitude = 1000 - ((getterrainheightasl _posAmmo) - (getterrainheightasl _pos)); + _posAmmo set [2,_altitude]; + _velocity = [sin _dir * 68,cos _dir * 68,-100]; + _radio = "SentGenIncoming"; + _hint = ["Curator","PlaceOrdnance"]; + _shakeStrength = 0.02; + _shakeRadius = 500; + }; + case "shotilluminating": { + _altitude = 66; + _velocity = [wind select 0,wind select 1,30]; + _sound = "SN_Flare_Fired_4"; + _soundSourceClass = "SoundFlareLoop_F"; + }; + case "shotnvgmarker"; + case "shotsmokex": { + _altitude = 0; + _velocity = [0,0,0]; + _attach = true; + }; + default {["Ammo simulation '%1' is not supported",_simulation] call bis_fnc_error;}; + }; + _fnc_playRadio = { + if (_radio != "") then { + _entities = (getposatl _logic) nearentities ["All",100]; + _sides = []; + { + if (isplayer _x) then { + _side = side group _x; + if (_side in [east,west,resistance,civilian]) then { + //--- Play radio (only if it wasn't played recently) + if (time > _x getvariable ["BIS_fnc_moduleProjectile_radio",-_delay]) then { + [[_side,_radio,"side"],"bis_fnc_sayMessage",_x] call bis_fnc_mp; + _x setvariable ["BIS_fnc_moduleProjectile_radio",time + _delay]; + }; + }; + }; + } foreach _entities; + }; + }; + if (count _hint > 0) then { + [[_hint,nil,nil,nil,nil,nil,nil,true],"bis_fnc_advHint",objectcurators _logic] call bis_fnc_mp; + }; + if (count _velocity == 3) then { + _altitude = (_logic getvariable ["altitude",_altitude]) call bis_fnc_parsenumber; + _radio = _logic getvariable ["radio",_radio]; + + //--- Create projectile + _posAmmo set [2,_altitude]; + _projectile = createvehicle [_ammo,_posAmmo,[],0,"none"]; + _projectile setpos _posAmmo; + _projectile setvelocity _velocity; + if (_attach) then {_projectile attachto [_logic,[0,0,_altitude]];}; + + // This is our addition to this function + if (!isnil "ace_frag_fnc_addManualTrack") then { + [_projectile] call ace_frag_fnc_addManualTrack + }; + + //--- Play sound + if (_sound != "") then {[[_logic,_sound,"say3D"],"bis_fnc_sayMessage"] call bis_fnc_mp;}; + + //--- Create sound source + _soundSource = if (_soundSourceClass != "") then {createSoundSource [_soundSourceClass,_pos,[],0]} else {objnull}; + + //--- Play radio warning + [] call _fnc_playRadio; + + //--- Update + if (_attach) then { + waituntil { + _soundSource setposatl getposatl _projectile; + sleep 1; + isnull _projectile || isnull _logic + }; + } else { + waituntil { + _soundSource setposatl getposatl _projectile; + + if (getposatl _logic distance _pos > 0 || direction _logic != _dir) then { + _posNew = getposasl _logic; + _dirDiff = direction _logic - _dir; + _posNew = [_posNew,[getposasl _projectile,_pos] call bis_fnc_distance2d,direction _logic + 180] call bis_fnc_relpos; + _posNew set [2,getposasl _projectile select 2]; + _projectile setvelocity ([velocity _projectile,-_dirDiff] call bis_fnc_rotatevector2d); + _projectile setposasl _posNew; + _pos = getposatl _logic; + _dir = direction _logic; + missionnamespace setvariable [_dirVar,_dir]; + }; + sleep 0.1; + isnull _projectile || isnull _logic + }; + }; + deletevehicle _projectile; + deletevehicle _soundSource; + if (count objectcurators _logic > 0) then { + + //--- Delete curator spawned logic + if (_shakeStrength > 0) then { + if (_simulation == "shotsubmunitions") then {sleep 0.5;}; + [[_shakeStrength,0.7,[position _logic,_shakeRadius]],"bis_fnc_shakeCuratorCamera"] call bis_fnc_mp; + }; + deletevehicle _logic; + } else { + + //--- Repeat to achieve permanent effect + _repeat = _logic getvariable ["repeat",0] > 0; + if (_repeat) then { + [_logic,_units,_activated] call bis_fnc_moduleprojectile; + } else { + deletevehicle _logic; + }; + }; + } else { + deletevehicle _logic; + }; + } else { + ["Cannot create projectile, 'ammo' config attribute is missing in %1",typeof _logic] call bis_fnc_error; + }; +}; diff --git a/addons/movement/CfgMoves.hpp b/addons/movement/CfgMoves.hpp index 677ad3dc94..bd9519b013 100644 --- a/addons/movement/CfgMoves.hpp +++ b/addons/movement/CfgMoves.hpp @@ -5,10 +5,35 @@ class CfgMovesBasic { }; class Actions { - class RifleStandActionsNoAdjust; - class RifleLowStandActionsNoAdjust; + class RifleBaseStandActions; + class RifleKneelActions: RifleBaseStandActions { + Civil = "AmovPknlMstpSnonWnonDnon"; + }; + class RifleProneActions: RifleBaseStandActions { + Civil = "AmovPpneMstpSnonWnonDnon"; + SecondaryWeapon = "AmovPpneMstpSrasWlnrDnon"; + }; + + class PistolStandActions; + class PistolProneActions: PistolStandActions { + SecondaryWeapon = "AmovPpneMstpSrasWlnrDnon"; + }; + + class LauncherKneelActions; + /*class LauncherStandActions: LauncherKneelActions { + PlayerProne = "AmovPpneMstpSrasWlnrDnon"; + Down = "AmovPpneMstpSrasWlnrDnon"; + };*/ + + class LauncherProneActions: LauncherKneelActions { + TurnL = "AmovPpneMstpSrasWlnrDnon_turnl"; + TurnLRelaxed = "AmovPpneMstpSrasWlnrDnon_turnl"; + TurnR = "AmovPpneMstpSrasWlnrDnon_turnr"; + TurnRRelaxed = "AmovPpneMstpSrasWlnrDnon_turnr"; + }; // WEAPON RAISED - RUNNING + class RifleStandActionsNoAdjust; class RifleStandActionsRunF: RifleStandActionsNoAdjust { getOver = "AovrPercMrunSrasWrflDf"; }; @@ -18,6 +43,7 @@ class CfgMovesBasic { class RifleStandActionsRunFR: RifleStandActionsNoAdjust { getOver = "AovrPercMrunSrasWrflDf"; }; + // WEAPON RAISED - SPRINTING class RifleStandEvasiveActionsF: RifleStandActionsNoAdjust { getOver = "AovrPercMrunSrasWrflDf"; @@ -28,7 +54,9 @@ class CfgMovesBasic { class RifleStandEvasiveActionsFR: RifleStandActionsNoAdjust { getOver = "AovrPercMrunSrasWrflDf"; }; + // WEAPON LOWERED - RUNNING + class RifleLowStandActionsNoAdjust; class RifleLowStandActionsRunF: RifleLowStandActionsNoAdjust { getOver = "AovrPercMrunSrasWrflDf"; }; diff --git a/addons/movement/XEH_postInit.sqf b/addons/movement/XEH_postInit.sqf index 310b689e15..224cd93273 100644 --- a/addons/movement/XEH_postInit.sqf +++ b/addons/movement/XEH_postInit.sqf @@ -1,6 +1,8 @@ //by commy2 #include "script_component.hpp" +if (!hasInterface) exitWith {}; + ["inventoryDisplayLoaded", { [{ diff --git a/addons/movement/config.cpp b/addons/movement/config.cpp index 51ab97b80a..6cf2c9470c 100644 --- a/addons/movement/config.cpp +++ b/addons/movement/config.cpp @@ -21,7 +21,7 @@ class ACE_Settings { class GVAR(useImperial) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Movement_UseImperial"; }; }; diff --git a/addons/movement/functions/fnc_canClimb.sqf b/addons/movement/functions/fnc_canClimb.sqf index 27753d8a12..671ab0b808 100644 --- a/addons/movement/functions/fnc_canClimb.sqf +++ b/addons/movement/functions/fnc_canClimb.sqf @@ -9,15 +9,15 @@ * The return value * * Example: - * _bool = [player] call ace_movement_fnc_canClimb + * [player] call ace_movement_fnc_canClimb * * Public: No */ #include "script_component.hpp" -private ["_unit", "_pos", "_dir"]; +private ["_pos", "_dir"]; -_unit = _this select 0; +PARAMS_1(_unit); _pos = getPosASL _unit; _dir = getDir _unit; @@ -25,15 +25,36 @@ _dir = [sin _dir, cos _dir, 0]; private ["_checkPos0beg", "_checkPos0end", "_checkPos1beg", "_checkPos1end"]; -_checkPos0beg = _pos vectorAdd [0, 0, 1.0]; +_checkPos0beg = _pos vectorAdd [0, 0, 0.9]; _checkPos0end = _checkPos0beg vectorAdd (_dir vectorMultiply 1.3); -_checkPos1beg = _pos vectorAdd [0, 0, 1.5]; -_checkPos1end = _checkPos1beg vectorAdd _dir; +_checkPos1beg = _pos vectorAdd [0, 0, 1.75]; +_checkPos1end = _checkPos1beg vectorAdd (_dir vectorMultiply 1.3); + +_checkPos2beg = _pos vectorAdd [0.3 * (_dir select 1), 0.3 * -(_dir select 0), 2.0]; +_checkPos2end = _checkPos2beg vectorAdd (_dir vectorMultiply 1.3); + +_checkPos3beg = _pos vectorAdd [-0.2 * (_dir select 1), -0.2 * -(_dir select 0), 2.0]; +_checkPos3end = _checkPos3beg vectorAdd (_dir vectorMultiply 1.3); + +_checkPos4beg = _pos vectorAdd [0.3 * (_dir select 1), 0.3 * -(_dir select 0), 1.5]; +_checkPos4end = _checkPos4beg vectorAdd (_dir vectorMultiply 1.3); + +_checkPos5beg = _pos vectorAdd [-0.2 * (_dir select 1), -0.2 * -(_dir select 0), 1.5]; +_checkPos5end = _checkPos5beg vectorAdd (_dir vectorMultiply 1.3); /* -drawLine3D [ASLToATL _checkPos0beg, ASLToATL _checkPos0end, [1,0,0,1]]; +drawLine3D [ASLToATL _checkPos0beg, ASLToATL _checkPos0end, [0,1,0,1]]; drawLine3D [ASLToATL _checkPos1beg, ASLToATL _checkPos1end, [1,0,0,1]]; - */ +drawLine3D [ASLToATL _checkPos2beg, ASLToATL _checkPos2end, [1,0.5,0.5,1]]; +drawLine3D [ASLToATL _checkPos3beg, ASLToATL _checkPos3end, [1,0.5,0.5,1]]; +drawLine3D [ASLToATL _checkPos4beg, ASLToATL _checkPos4end, [1,0.5,0.5,1]]; +drawLine3D [ASLToATL _checkPos5beg, ASLToATL _checkPos5end, [1,0.5,0.5,1]]; +*/ -lineIntersects [_checkPos0beg, _checkPos0end] && {!(lineIntersects [_checkPos1beg, _checkPos1end])} + lineIntersects [_checkPos0beg, _checkPos0end] +&& {!(lineIntersects [_checkPos1beg, _checkPos1end])} +&& {!(lineIntersects [_checkPos2beg, _checkPos2end])} +&& {!(lineIntersects [_checkPos3beg, _checkPos3end])} +&& {!(lineIntersects [_checkPos4beg, _checkPos4end])} +&& {!(lineIntersects [_checkPos5beg, _checkPos5end])} diff --git a/addons/movement/functions/fnc_climb.sqf b/addons/movement/functions/fnc_climb.sqf index aff27ffe9d..f88884195e 100644 --- a/addons/movement/functions/fnc_climb.sqf +++ b/addons/movement/functions/fnc_climb.sqf @@ -24,6 +24,15 @@ if !([_unit] call FUNC(canClimb)) exitWith { }; if !(_unit getVariable [QGVAR(isClimbInit), false]) then { + _unit addEventHandler ["AnimChanged", { + if (local (_this select 0) && {_this select 1 == "ACE_Climb"}) then { + // abort climb animation + if !(_this call FUNC(canClimb)) then { + [_this select 0, "AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation); + }; + }; + }]; + _unit addEventHandler ["AnimDone", { if (local (_this select 0) && {_this select 1 == "ACE_Climb"}) then {_this call FUNC(handleClimb)}; }]; @@ -32,5 +41,5 @@ if !(_unit getVariable [QGVAR(isClimbInit), false]) then { }; [_unit] call EFUNC(common,fixLoweredRifleAnimation); -[_unit, "AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation); +[_unit, "AmovPercMstpSnonWnonDnon", 0] call EFUNC(common,doAnimation); [_unit, "ACE_Climb", 0] call EFUNC(common,doAnimation); diff --git a/addons/movement/functions/fnc_getWeight.sqf b/addons/movement/functions/fnc_getWeight.sqf index 955be1a215..6941173fde 100644 --- a/addons/movement/functions/fnc_getWeight.sqf +++ b/addons/movement/functions/fnc_getWeight.sqf @@ -9,7 +9,7 @@ * The return value * * Example: - * _bool = [player] call ace_movement_fnc_getWeight + * [player] call ace_movement_fnc_getWeight * * Public: No */ diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index d31896acaa..efed949036 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -1,46 +1,51 @@  - - - - Show weight in lb - Zeige Gewicht in Pfund - Mostrar peso en libras - Afficher le poids en lb - Pokaż ciężar w funtach - Zobrazit váhu v lb - Mostra peso in libbre - Mostrar peso em libras - Súly megjelenítése fontban. - Показать вес в фунтах - - - Weight: - Gewicht: - Peso: - Poids: - Waga: - Váha: - Peso: - Peso: - Súly: - Вес: - - - Climb - Klettern - Wspinaczka - Trepar - Vylézt - Подняться - - - Can't climb here - Kann hier nicht klettern - Nie możesz wspiąć się tutaj - No se puede trepar aquí - Zde není možné vylézt - Не можете подняться здесь - - - \ No newline at end of file + + + Show weight in lb + Zeige Gewicht in Pfund + Mostrar peso en libras + Afficher le poids en lb + Pokaż ciężar w funtach + Zobrazit váhu v librách + Mostra peso in libbre + Mostrar peso em libras + Súly megjelenítése fontban. + Показывать вес в фунтах + + + Weight: + Gewicht: + Peso: + Poids: + Waga: + Váha: + Peso: + Peso: + Súly: + Вес: + + + Climb + Grimper + Klettern + Wspinaczka + Trepar + Vylézt + Взобраться + Mászás + Arrampicati + + + Can't climb here + Impossible de grimper ici + Kann hier nicht klettern + Nie możesz wspiąć się tutaj + No se puede trepar aquí + Zde není možné vylézt + Здесь невозможно взобраться + Itt nem tudsz mászni + Non puoi arrampicarti qui + + + diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index ab3cd03391..1df20e45e7 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -5,6 +5,7 @@ if (!hasInterface) exitWith {}; +GVAR(ShowNamesTime) = -10; // Add keybinds ["ACE3", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames", diff --git a/addons/nametags/XEH_preInit.sqf b/addons/nametags/XEH_preInit.sqf index 80c06cff1f..f3c9a97cba 100644 --- a/addons/nametags/XEH_preInit.sqf +++ b/addons/nametags/XEH_preInit.sqf @@ -9,9 +9,6 @@ PREP(getVehicleData); PREP(initIsSpeaking); PREP(moduleNameTags); PREP(onDraw3d); -PREP(onMouseZChanged); PREP(setText); -GVAR(ShowNamesTime) = -10; - ADDON = true; diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index 42c970b1e9..dce054a9ec 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "ace_main", "ace_common", "ace_interaction" }; + requiredAddons[] = {"ace_interaction"}; author[] = { "commy2", "esteldunedain" }; authorUrl = "https://github.com/commy2/"; VERSION_CONFIG; @@ -19,55 +19,55 @@ class ACE_Settings { class GVAR(defaultNametagColor) { value[] = {0.77, 0.51, 0.08, 1}; typeName = "COLOR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_DefaultNametagColor"; }; class GVAR(showPlayerNames) { value = 1; typeName = "SCALAR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowPlayerNames"; values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; }; class GVAR(showPlayerRanks) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowPlayerRanks"; }; class GVAR(showVehicleCrewInfo) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowVehicleCrewInfo"; }; class GVAR(showNamesForAI) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowNamesForAI"; }; class GVAR(showCursorTagForVehicles) { value = 0; typeName = "BOOL"; - isClientSetable = 0; + isClientSettable = 0; }; class GVAR(showSoundWaves) { value = 1; typeName = "SCALAR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowSoundWaves"; values[] = {"Disabled", "Use Nametag settings", "Always Show All"}; }; class GVAR(PlayerNamesViewDistance) { value = 5; typeName = "SCALAR"; - isClientSetable = 0; + isClientSettable = 0; }; class GVAR(PlayerNamesMaxAlpha) { value = 0.8; typeName = "SCALAR"; - isClientSetable = 0; + isClientSettable = 0; }; }; diff --git a/addons/nametags/functions/fnc_drawNameTagIcon.sqf b/addons/nametags/functions/fnc_drawNameTagIcon.sqf index f0a9bb89d4..6a7db7d5ac 100644 --- a/addons/nametags/functions/fnc_drawNameTagIcon.sqf +++ b/addons/nametags/functions/fnc_drawNameTagIcon.sqf @@ -27,7 +27,7 @@ "\A3\Ui_f\data\GUI\Cfg\Ranks\colonel_gs.paa" \ ] -private ["_height", "_position", "_color", "_name", "_rank", "_size"]; +private ["_height", "_position", "_color", "_name", "_rank", "_size", "_icon"]; PARAMS_5(_player,_target,_alpha,_heightOffset,_iconType); diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index b7dc920fa2..c6087541a8 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -20,8 +20,8 @@ if (isServer) then { //If someone disconnects while speaking, reset their variable addMissionEventHandler ["HandleDisconnect", { PARAMS_1(_disconnectedPlayer); - if (_disconnectedPlayer getVariable [QGVAR(isSpeaking), false]) then { - _disconnectedPlayer setVariable [QGVAR(isSpeaking), false, true]; + if (_disconnectedPlayer getVariable [QGVAR(isSpeakingInGame), false]) then { + _disconnectedPlayer setVariable [QGVAR(isSpeakingInGame), false, true]; }; }]; }; @@ -31,46 +31,41 @@ if (!hasInterface) exitWith {}; ["playerChanged", { //When player changes, make sure to reset old unit's variable PARAMS_2(_newUnit,_oldUnit); - if (_oldUnit getVariable [QGVAR(isSpeaking), false]) then { - _oldUnit setVariable [QGVAR(isSpeaking), false, true]; + if ((!isNull _oldUnit) && {_oldUnit getVariable [QGVAR(isSpeakingInGame), false]}) then { + _oldUnit setVariable [QGVAR(isSpeakingInGame), false, true]; }; }] call EFUNC(common,addEventHandler); -//For performance, chose different code paths at mission start based on installed mods (once, instead of checking each time) -_pfEHCode = switch (true) do { -case (isClass (configFile >> "cfgPatches" >> "acre_api")): { - { - _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; - _newSetting = ([ACE_player] call ACRE_api_fnc_isBroadcasting) || {!(isNull findDisplay 55)}; - if (!(_oldSetting isEqualTo _newSetting)) then { - ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; - }; - }; +if (isClass (configFile >> "cfgPatches" >> "acre_api")) then { + diag_log text format ["[ACE_nametags] - ACRE Detected"]; + DFUNC(isSpeaking) = { + PARAMS_1(_unit); + (([_unit] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting)) && {!(_unit getVariable ["ACE_isUnconscious", false])} }; -case (isClass (configFile >> "cfgPatches" >> "task_force_radio")): { - //Note: TFAR has a TFAR_fnc_isSpeaking function, but it has a fairly costly `callExtension` - //I think it's much faster to use the internal "tf_isSpeaking" variable - //If we don't care about the built-in VON, we could switch this to a pure event driven system - { - _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; - _newSetting = (ACE_player getVariable ["tf_isSpeaking", false]) || {!(isNull findDisplay 55)}; - if (!(_oldSetting isEqualTo _newSetting)) then { - ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; - }; +} else { + if (isClass (configFile >> "cfgPatches" >> "task_force_radio")) then { + diag_log text format ["[ACE_nametags] - TFR Detected"]; + DFUNC(isSpeaking) = { + PARAMS_1(_unit); + (_unit getVariable ["tf_isSpeaking", false]) && {!(_unit getVariable ["ACE_isUnconscious", false])} }; - }; - default { - //Note: class RscDisplayVoiceChat {idd = 55}; //only present when talking - { - _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; + } else { + //No Radio Mod - Start a PFEH to watch the internal VON icon + //Note: class RscDisplayVoiceChat {idd = 55} - only present when talking + + [{ + private ["_oldSetting", "_newSetting"]; + _oldSetting = ACE_player getVariable [QGVAR(isSpeakingInGame), false]; _newSetting = (!(isNull findDisplay 55)); if (!(_oldSetting isEqualTo _newSetting)) then { - ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; + ACE_player setVariable [QGVAR(isSpeakingInGame), _newSetting, true]; }; + } , 0.1, []] call CBA_fnc_addPerFrameHandler; + + DFUNC(isSpeaking) = { + PARAMS_1(_unit); + (_unit getVariable [QGVAR(isSpeakingInGame), false]) && {!(_unit getVariable ["ACE_isUnconscious", false])} }; }; }; - -//Is 0.05sec precision enough?? -[_pfEHCode, 0.05, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/nametags/functions/fnc_moduleNameTags.sqf b/addons/nametags/functions/fnc_moduleNameTags.sqf index 6050b99c67..1bbd4d8efb 100644 --- a/addons/nametags/functions/fnc_moduleNameTags.sqf +++ b/addons/nametags/functions/fnc_moduleNameTags.sqf @@ -14,9 +14,7 @@ if !(isServer) exitWith {}; -_logic = _this select 0; -_units = _this select 1; -_activated = _this select 2; +PARAMS_3(_logic,_units,_activated); if !(_activated) exitWith {}; diff --git a/addons/nametags/functions/fnc_onDraw3d.sqf b/addons/nametags/functions/fnc_onDraw3d.sqf index 8aa503d377..9efc70aeb9 100644 --- a/addons/nametags/functions/fnc_onDraw3d.sqf +++ b/addons/nametags/functions/fnc_onDraw3d.sqf @@ -1,9 +1,9 @@ #include "script_component.hpp" -_player = ACE_player; +private ["_onKeyPressAlphaMax", "_defaultIcon", "_distance", "_alpha", "_icon", "_targets", "_pos2", "_vecy", "_relPos", "_projDist", "_pos", "_target"]; //don't show nametags in spectator -if (!alive _player) exitWith {}; +if (!alive ACE_player) exitWith {}; _onKeyPressAlphaMax = if ((GVAR(showPlayerNames) in [3,4])) then { 2 + (GVAR(ShowNamesTime) - time); //after release 1 second of full opacity, 1 second of fading to 0 @@ -24,14 +24,14 @@ if (GVAR(showCursorTagForVehicles) && {_onKeyPressAlphaMax > 0}) then { if ((!(_target isKindOf "CAManBase")) && {!(_target in allUnitsUAV)}) then { _target = effectiveCommander _target; if ((!isNull _target) && - {(side (group _target)) == (side (group _player))} && - {_target != _player} && + {(side (group _target)) == (side (group ACE_player))} && + {_target != ACE_player} && {GVAR(ShowNamesForAI) || {[_target] call EFUNC(common,isPlayer)}} && {!(_target getVariable ["ACE_hideName", false])}) then { - _distance = _player distance _target; + _distance = ACE_player distance _target; _alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min 1) * GVAR(PlayerNamesMaxAlpha); _alpha = _alpha min _onKeyPressAlphaMax; - [_player, _target, _alpha, _distance * 0.026, _defaultIcon] call FUNC(drawNameTagIcon); + [ACE_player, _target, _alpha, _distance * 0.026, _defaultIcon] call FUNC(drawNameTagIcon); }; }; }; @@ -41,21 +41,21 @@ if ((GVAR(showPlayerNames) in [2,4]) && {_onKeyPressAlphaMax > 0}) then { _target = cursorTarget; if ((!isNull _target) && {_target isKindOf "CAManBase"} && - {(side (group _target)) == (side (group _player))} && - {_target != _player} && + {(side (group _target)) == (side (group ACE_player))} && + {_target != ACE_player} && {GVAR(ShowNamesForAI) || {[_target] call EFUNC(common,isPlayer)}} && {!(_target getVariable ["ACE_hideName", false])}) then { - _distance = _player distance _target; + _distance = ACE_player distance _target; _alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min 1) * GVAR(PlayerNamesMaxAlpha); _alpha = _alpha min _onKeyPressAlphaMax; _icon = ICON_NONE; if (GVAR(showSoundWaves) == 2) then { //icon will be drawn below, so only show name here - _icon = if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target}) then {ICON_NAME} else {_defaultIcon}; + _icon = if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target}) then {ICON_NAME} else {_defaultIcon}; } else { - _icon = if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {ICON_NAME_SPEAK} else {_defaultIcon}; + _icon = if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {ICON_NAME_SPEAK} else {_defaultIcon}; }; - [_player, _target, _alpha, _distance * 0.026, _icon] call FUNC(drawNameTagIcon); + [ACE_player, _target, _alpha, _distance * 0.026, _icon] call FUNC(drawNameTagIcon); }; }; @@ -77,32 +77,32 @@ if (((GVAR(showPlayerNames) in [1,3]) && {_onKeyPressAlphaMax > 0}) || {GVAR(sho _icon = ICON_NONE; if ((GVAR(showPlayerNames) in [1,3]) && {_onKeyPressAlphaMax > 0}) then { - if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {_icon = ICON_NAME_SPEAK;} else {_icon = _defaultIcon}; + if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {_icon = ICON_NAME_SPEAK;} else {_icon = _defaultIcon}; } else { //showSoundWaves must be 2, only draw speak icon - if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target}) then {_icon = ICON_SPEAK;}; + if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target}) then {_icon = ICON_SPEAK;}; }; if ((_icon != ICON_NONE) && - {(side (group _target)) == (side (group _player))} && - {_target != _player} && + {(side (group _target)) == (side (group ACE_player))} && + {_target != ACE_player} && {GVAR(ShowNamesForAI) || {[_target] call EFUNC(common,isPlayer)}} && {!(_target getVariable ["ACE_hideName", false])}) then { - if (lineIntersects [_pos, (visiblePositionASL _target) vectorAdd [0,0,1], vehicle _player, _target]) exitWith {}; // Check if there is line of sight + if (lineIntersects [_pos, (visiblePositionASL _target) vectorAdd [0,0,1], vehicle ACE_player, _target]) exitWith {}; // Check if there is line of sight _relPos = (visiblePositionASL _target) vectorDiff _pos; _distance = vectorMagnitude _relPos; _projDist = _relPos vectorDistance (_vecy vectorMultiply (_relPos vectorDotProduct _vecy)); _alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min (1 - 0.15 * (_projDist * 5 - _distance - 3)) min 1) * GVAR(PlayerNamesMaxAlpha); - if ((GVAR(showSoundWaves) == 2) && {(_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target}}) then { + if ((GVAR(showSoundWaves) == 2) && {([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target}}) then { _alpha = 1; } else { _alpha = _alpha min _onKeyPressAlphaMax; }; - [_player, _target, _alpha, _distance * 0.026, _icon] call FUNC(drawNameTagIcon); + [ACE_player, _target, _alpha, _distance * 0.026, _icon] call FUNC(drawNameTagIcon); }; } forEach _targets; }; diff --git a/addons/nametags/functions/fnc_onMouseZChanged.sqf b/addons/nametags/functions/fnc_onMouseZChanged.sqf deleted file mode 100644 index 8892f201bc..0000000000 --- a/addons/nametags/functions/fnc_onMouseZChanged.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/* - Author: aeroson - - Description: - Callback for mouse wheel change - - Parameters: - None - - Returns: - Nothing -*/ - -#include "script_component.hpp" - -if(call FUNC(canShow)) then { - call FUNC(doShow); -}; diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 622df44aca..7c435cd6fd 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -1,81 +1,107 @@  - - - - Show Names - Namen anzeigen - Mostrar nombres - Afficher noms - Zobrazit jména - Pokaż nazwy - Nevek mutatása - Показать имена - - - Show player names - Spielernamen anzeigen - Mostrar nombres de jugadores - Pokaż nazwy graczy - Afficher nom des joueurs - Játékosnevek mutatása - Zobrazit jména hráčů - Mostrar nomes de jogadores - Mostra i nomi dei giocatori - Показать имена игроков - - - Show player name only on cursor (requires player names) - Pokaż nazwę gracza tylko pod kursorem - Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) - Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) - Noms uniquement sous le curseur (si noms affichés) - Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) - Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) - Mostrar nome de jogador somente no cursor (requer nome de jogadores) - Játékosok nevének mutatása (névcímke szükséges) - Показать имена игроков только под курсором (требует имен игроков) - - - Show player name only on keypress (requires player names) - Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) - Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) - Noms uniquement sur pression de la touche (si noms affichés) - Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) - Pokaż nazwę gracza tylko po przytrzymaniu klawisza - Játékosnevek mutatása gombnyomásra(névcíme szükséges) - Показать имена игроков только по нажатию клавиши (требует имен игроков) - - - Show player ranks (requires player names) - Spielerränge anzeigen (benötig Spielernamen) - Pokaż rangi graczy (wymaga nazw graczy) - Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) - Grade des joueurs (si noms affichés) - Zobrazit hodnosti hráčů (vyžaduje jména hráčů) - Mostra i gradi (richiede i nomi dei giocatori abilitati) - Mostrar patente de jogadores (requer nome de jogadores) - Játékosok rendfokozatának mutatása (névcímke szükséges) - Показать звания игроков (требует имен игроков) - - - Show vehicle crew info - Zeige Fahrzeugbesatzung - Mostrar tripulantes - Pokaż informacje o załodze pojazdu - Zobrazit info o posádce vozidla - Показать экипаж - - - Show name tags for AI units - - - Show SoundWaves (requires player names) - Zeigen Schallwelle (benötigt spielernamen) - Mostrar onda sonora (requiere Mostrar nombres de jugadores) - - - Default Nametag Color (Non Group Members) - - - \ No newline at end of file + + + Show Names + Namen anzeigen + Mostrar nombres + Afficher noms + Zobrazit jména + Pokaż imiona + Nevek mutatása + Показать имена + Mostra i nomi + + + Show player names + Spielernamen anzeigen + Mostrar nombres de jugadores + Pokaż imiona graczy + Afficher les nom des joueurs + Játékosnevek mutatása + Zobrazit jména hráčů + Mostrar nomes de jogadores + Mostra i nomi dei giocatori + Показывать имена игроков (включить имена) + + + Show player name only on cursor (requires player names) + Pokaż imiona graczy tylko pod kursorem (wymagana opcja Pokaż imiona graczy) + Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) + Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) + Noms uniquement sous le curseur (si noms affichés) + Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) + Mostra i nomi solo se puntati (richiede mostra nomi abilitato) + Mostrar nome de jogador somente no cursor (requer nome de jogadores) + Játékosok nevének mutatása csak a kurzoron (a nevek mutatása szükséges) + Показать имена игроков только под курсором (при включенных именах) + + + Show player name only on keypress (requires player names) + Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) + Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) + Noms uniquement sur pression de la touche (si noms affichés) + Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) + Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) + Játékosnevek mutatása csak gombnyomásra (a nevek mutatása szükséges) + Показать имена игроков только по нажатию клавиши (при включенных именах) + Mostra i nomi solo se si preme il tasto (richiede mostra nomi abilitato) + + + Show player ranks (requires player names) + Spielerränge anzeigen (benötig Spielernamen) + Pokaż rangi graczy (wymagana opcja Pokaż imiona graczy) + Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) + Grade des joueurs (si noms affichés) + Zobrazit hodnosti hráčů (vyžaduje jména hráčů) + Mostra i gradi (richiede mostra nomi abilitato) + Mostrar patente de jogadores (requer nome de jogadores) + Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) + Показывать звания игроков (при вкл. именах) + + + Show vehicle crew info + Afficher les informations de l'équipage + Fahrzeugbesatzung anzeigen + Mostrar tripulantes + Pokaż załogę pojazdu + Zobrazit info o posádce vozidla + Показывать информацию об экипаже + Jármű-legénység adatainak mutatása + Mostra le informazioni sull'equipaggio del veicolo + + + Show name tags for AI units + Namen für KI Einheiten anzeigen + Mostrar etiquetas de nombre para unidades IA + Показывать имена ботов + Zobrazit jména AI + Wyświetl imiona jednostek AI + Afficher les noms des IA + Névcímkék mutatása MI-egységeknél + Mostra le tag nomi per le unità AI + + + Show SoundWaves (requires player names) + Schallwellen anzeigen (benötigt Spielernamen) + Mostrar onda sonora (requiere Mostrar nombres de jugadores) + Индикатор разговора (при вкл. именах) + Zobrazit SoundWaves (vyžaduje jména hráčů) + Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) + Afficher "qui parle" (si noms affichés) + "Hanghullámok" mutatása (a nevek mutatása szükséges) + Mostra barra movimento audio (richiede mostra nomi abilitato) + + + Default Nametag Color (Non Group Members) + Voreingestellte Namenfarbe (Spieler außerhalb der Gruppe) + Цвет меток игроков (не членов групп) + Color de etiquetas de nombre por defecto (No miembros de grupo) + Domyślny kolor imion (członkowie spoza grupy) + Couleur d'affichage par défaut (si dans aucun groupe) + Standardní barva jmenovek (pro nečleny jednotky) + Alap névcímke-szín (csoporton kívüli személyek) + Colore nametag di default (membri non del gruppo) + + + diff --git a/addons/nightvision/XEH_postInitClient.sqf b/addons/nightvision/XEH_postInitClient.sqf index 9d64baecb3..db5d395096 100644 --- a/addons/nightvision/XEH_postInitClient.sqf +++ b/addons/nightvision/XEH_postInitClient.sqf @@ -40,9 +40,9 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; ["ACE3", QGVAR(IncreaseNVGBrightness), localize "STR_ACE_NightVision_IncreaseNVGBrightness", { // Conditions: canInteract - if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific - if ((currentVisionMode _player != 1)) exitWith {false}; + if ((currentVisionMode ACE_player != 1)) exitWith {false}; // Statement [ACE_player, 1] call FUNC(changeNVGBrightness); @@ -54,9 +54,9 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; ["ACE3", QGVAR(DecreaseNVGBrightness), localize "STR_ACE_NightVision_DecreaseNVGBrightness", { // Conditions: canInteract - if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific - if ((currentVisionMode _player != 1)) exitWith {false}; + if ((currentVisionMode ACE_player != 1)) exitWith {false}; // Statement [ACE_player, -1] call FUNC(changeNVGBrightness); diff --git a/addons/nightvision/functions/fnc_updatePPEffects.sqf b/addons/nightvision/functions/fnc_updatePPEffects.sqf index a90186fe10..9906a440fc 100644 --- a/addons/nightvision/functions/fnc_updatePPEffects.sqf +++ b/addons/nightvision/functions/fnc_updatePPEffects.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -private ["_currentVehicle", "_grainSetting", "_blurSetting", "_radBlurSetting", "_config"]; +private ["_currentVehicle", "_grainSetting", "_blurSetting", "_radBlurSetting", "_config", "_hmd", "_cameraView", "_turret"]; _currentVehicle = vehicle ACE_player; @@ -41,7 +41,7 @@ _fnc_isUsingHMD = { !("NVG" in getArray (_config >> "ViewOptics" >> "visionMode")); }; - private ["_result", "_turretConfig", "_turretConfigOpticsIn"]; + private ["_result", "_turretConfig", "_turretConfigOpticsIn", "_index"]; _result = true; _turretConfig = [_config, _turret] call EFUNC(common,getTurretConfigPath); _turretConfigOpticsIn = _turretConfig >> "OpticsIn"; diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 16ead016da..a2e24d79df 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,127 +1,135 @@  - - - - NV Goggles (Gen1) - Noktovizor (Gen1) - JVN (Gen1) - NS-Brille (Gen1) - Occhiali notturni (Gen1) - Gogle noktowizyjne (Gen1) - Óculos de visão noturna (Gen1) - ПНВ (Gen1) - Sistema de visión nocturna (Gen1) - - - NV Goggles (Gen2) - Noktovizor (Gen2) - JVN (Gen2) - NS-Brille (Gen2) - Occhiali notturni (Gen2) - Gogle noktowizyjne (Gen2) - Óculos de visão noturna (Gen2) - ПНВ (Gen2) - Sistema de visión nocturna (Gen2) - - - NV Goggles (Gen3) - Noktovizor (Gen3) - JVN (Gen3) - NS-Brille (Gen3) - Occhiali notturni (Gen3) - Gogle noktowizyjne (Gen3) - Óculos de visão noturna (Gen3) - ПНВ (Gen3) - Sistema de visión nocturna (Gen3) - - - NV Goggles (Gen3, Brown) - Noktovizor (Gen3, hnědý) - JVN (Gen3, marron) - NS-Brille (Gen3, Braun) - Occhiali notturni (Gen3, marroni) - Gogle noktowizyjne (Gen3, brązowe) - Óculos de visão noturna (Gen3, marrons) - ПНВ (Gen3, коричневый) - Sistema de visión nocturna (Gen3, marrón) - - - NV Goggles (Gen3, Green) - Noktovizor (Gen3, zelený) - JVN (Gen3, vertes) - NS-Brille (Gen3, Grün) - Occhiali notturni (Gen3, verdi) - Gogle noktowizyjne (Gen3, zielone) - Óculos de visão noturna (Gen3, verdes) - ПНВ (Gen3, зеленый) - Sistema de visión nocturna (Gen3, verde) - - - NV Goggles (Gen3, Black) - Noktovizor (Gen3, černý) - JVN (Gen3, noires) - NS-Brille (Gen3, Schwarz) - Occhiali notturni (Gen3, neri) - Gogle noktowizyjne (Gen3, czarne) - Óculos de visão noturna (Gen3, pretos) - ПНВ (Gen3, черный) - Sistema de visión nocturna (Gen3, negro) - - - NV Goggles (Gen4) - Noktovizor (Gen4) - JVN (Gen4) - NS-Brille (Gen4) - Occhiali notturni (Gen4) - Gogle noktowizyjne (Gen4) - Óculos de visão noturna (Gen4) - ПНВ (Gen4) - Sistema de visión nocturna (Gen4) - - - NV Goggles (Wide) - NS-Brille (Weitwinkel) - Sistema de visión nocturna (Panorámicas) - Gogle noktowizyjne (panoramiczne) - Noktovizor (Široký) - ПНВ (Широкий) - - - Brightness: %1 - Helligkeit: %1 - Brillo: %1 - Czułość: %1 - Zvýšení: %1 - Luminosité : %1 - Контраст: - Fényerő: %1 - Luminosidade: %1 - Luminosità: %1 - - - Increase NVG Brightness - Nachtsichtgerätshelligkeit erhöhen - Aumentar el brillo de las NVG - Zwiększ czułość noktowizji - Zvýšení jasu noktovizoru - Augmenter la luminosité des JVN - Увеличить яркость ПНВ - Fényerő növelése - Aumentar Luminosidade do EVN - Aumenta la luminosità dell'NVG - - - Decrease NVG Brightness - Nachtsichtgerätshelligkeit verringern - Disminuir el brillo de las NVG - Zmniejsz czułość noktowizji - Snížení jasu noktovizoru - Baisser la luminosité des JVN - Уменьшить яркость ПНВ - Fényerő csökkentése - Diminuir Luminosidade do EVN - Riduci la luminosità dell'NVG - - - + + + NV Goggles (Gen1) + Noktovizor (Gen1) + JVN (Gen1) + NS-Brille (Gen1) + Occhiali notturni (Gen1) + Gogle noktowizyjne (Gen1) + Óculos de visão noturna (Gen1) + ПНВ (Gen1) + Sistema de visión nocturna (Gen1) + Éjjellátó szemüveg (1. Gen.) + + + NV Goggles (Gen2) + Noktovizor (Gen2) + JVN (Gen2) + NS-Brille (Gen2) + Occhiali notturni (Gen2) + Gogle noktowizyjne (Gen2) + Óculos de visão noturna (Gen2) + ПНВ (Gen2) + Sistema de visión nocturna (Gen2) + Éjjellátó szemüveg (2. Gen.) + + + NV Goggles (Gen3) + Noktovizor (Gen3) + JVN (Gen3) + NS-Brille (Gen3) + Occhiali notturni (Gen3) + Gogle noktowizyjne (Gen3) + Óculos de visão noturna (Gen3) + ПНВ (Gen3) + Sistema de visión nocturna (Gen3) + Éjjellátó szemüveg (3. Gen.) + + + NV Goggles (Gen3, Brown) + Noktovizor (Gen3, hnědý) + JVN (Gen3, marron) + NS-Brille (Gen3, Braun) + Occhiali notturni (Gen3, marroni) + Gogle noktowizyjne (Gen3, brązowe) + Óculos de visão noturna (Gen3, marrons) + ПНВ (Gen3, коричневый) + Sistema de visión nocturna (Gen3, marrón) + Éjjellátó szemüveg (3. Gen., barna) + + + NV Goggles (Gen3, Green) + Noktovizor (Gen3, zelený) + JVN (Gen3, vertes) + NS-Brille (Gen3, Grün) + Occhiali notturni (Gen3, verdi) + Gogle noktowizyjne (Gen3, zielone) + Óculos de visão noturna (Gen3, verdes) + ПНВ (Gen3, зеленый) + Sistema de visión nocturna (Gen3, verde) + Éjjellátó szemüveg (3. Gen., zöld) + + + NV Goggles (Gen3, Black) + Noktovizor (Gen3, černý) + JVN (Gen3, noires) + NS-Brille (Gen3, Schwarz) + Occhiali notturni (Gen3, neri) + Gogle noktowizyjne (Gen3, czarne) + Óculos de visão noturna (Gen3, pretos) + ПНВ (Gen3, черный) + Sistema de visión nocturna (Gen3, negro) + Éjjellátó szemüveg (3. Gen., fekete) + + + NV Goggles (Gen4) + Noktovizor (Gen4) + JVN (Gen4) + NS-Brille (Gen4) + Occhiali notturni (Gen4) + Gogle noktowizyjne (Gen4) + Óculos de visão noturna (Gen4) + ПНВ (Gen4) + Sistema de visión nocturna (Gen4) + Éjjellátó szemüveg (4. Gen.) + + + NV Goggles (Wide) + NS-Brille (Weitwinkel) + Sistema de visión nocturna (Panorámicas) + Gogle noktowizyjne (panoramiczne) + Noktovizor (Širokoúhlý) + ПНВ (Широкоугольный) + JVN (Large) + Éjjellátó szemüveg (széles látószögű) + + + Brightness: %1 + Helligkeit: %1 + Brillo: %1 + Czułość: %1 + Jas: %1 + Luminosité : %1 + Яркость: %1 + Fényerő: %1 + Luminosidade: %1 + Luminosità: %1 + + + Increase NVG Brightness + NS-Helligkeit erhöhen + Aumentar el brillo de las NVG + Zwiększ czułość noktowizji + Zvýšení jasu noktovizoru + Augmenter la luminosité des JVN + Увеличить яркость ПНВ + Éjjellátó fényerejének növelése + Aumentar Luminosidade do EVN + Aumenta la luminosità dell'NVG + + + Decrease NVG Brightness + NS-Helligkeit verringern + Disminuir el brillo de las NVG + Zmniejsz czułość noktowizji + Snížení jasu noktovizoru + Baisser la luminosité des JVN + Уменьшить яркость ПНВ + Éjjellátó fényerejének csökkentése + Diminuir Luminosidade do EVN + Riduci la luminosità dell'NVG + + + \ No newline at end of file diff --git a/addons/noradio/XEH_post_initClient.sqf b/addons/noradio/XEH_post_initClient.sqf index e192a101f8..ecd80a6436 100644 --- a/addons/noradio/XEH_post_initClient.sqf +++ b/addons/noradio/XEH_post_initClient.sqf @@ -1,31 +1,27 @@ // by commy2 - #include "script_component.hpp" -_setupPlayer = { - if (!isNull ACE_player) then { - [(_this select 1)] call cba_fnc_removePerFrameHandler; +/* +[{ + if (!isNull ACE_player) then { + [(_this select 1)] call cba_fnc_removePerFrameHandler; - [ACE_player] call EFUNC(common,muteUnit); - ACE_player setVariable [QGVAR(isMuted), true, true]; - }; -}; + [ACE_player, "isPlayer"] call EFUNC(common,muteUnit); + }; +}, 0, []] call CBA_fnc_addPerFrameHandler; +*/ -[_setupPlayer, 0, []] call CBA_fnc_addPerFrameHandler; +if (!hasInterface) exitWith {}; // Mutes/unmutes units when the player changes ["playerChanged", { - EXPLODE_2_PVT(_this,_newPlayer,_oldPlayer); + EXPLODE_2_PVT(_this,_newPlayer,_oldPlayer); - // On player change mute the new player - [_newPlayer] call EFUNC(common,muteUnit); - _newPlayer setVariable [QGVAR(isMuted), true, true]; - - // Unmute the old player - //@todo: sort interaction with medical system - if (!(_oldPlayer getVariable ["ACE_isUnconscious", false]) && {alive _oldPlayer}) then { - [_oldPlayer] call EFUNC(common,unMuteUnit); - }; - _oldPlayer setVariable [QGVAR(isMuted), false, true]; + // On player change mute the new player + [_newPlayer, "isPlayer"] call EFUNC(common,muteUnit); + // Unmute the old player + if (alive _oldPlayer) then { + [_oldPlayer, "isPlayer"] call EFUNC(common,unmuteUnit); + }; }] call EFUNC(common,addEventhandler); diff --git a/addons/noradio/XEH_post_initServer.sqf b/addons/noradio/XEH_post_initServer.sqf index 90b7473144..ae2dc16ec1 100644 --- a/addons/noradio/XEH_post_initServer.sqf +++ b/addons/noradio/XEH_post_initServer.sqf @@ -1,10 +1,6 @@ // by commy2 - #include "script_component.hpp" addMissionEventHandler ["HandleDisconnect", { - if !((_this select 0) getVariable ["ACE_isUnconscious", false]) then { //@ToDo: ai waking up will be silent? - _this call EFUNC(common,unMuteUnit); - }; - (_this select 0) setVariable [QGVAR(isMuted), false, true]; + [_this select 0, "isPlayer"] call EFUNC(common,unmuteUnit); }]; diff --git a/addons/optics/$PBOPREFIX$ b/addons/optics/$PBOPREFIX$ new file mode 100644 index 0000000000..fd115a96a0 --- /dev/null +++ b/addons/optics/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\optics \ No newline at end of file diff --git a/addons/optics/CfgEventHandlers.hpp b/addons/optics/CfgEventHandlers.hpp new file mode 100644 index 0000000000..6c6e824b16 --- /dev/null +++ b/addons/optics/CfgEventHandlers.hpp @@ -0,0 +1,20 @@ + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; + +class Extended_FiredBIS_EventHandlers { + class CAManBase { + class AGM_Optics { + clientFiredBIS = QUOTE(if (_this select 0 == ACE_player) then {_this call DFUNC(handleFired)};); + }; + }; +}; diff --git a/addons/optics/CfgOpticsEffect.hpp b/addons/optics/CfgOpticsEffect.hpp new file mode 100644 index 0000000000..a1bf62d6e3 --- /dev/null +++ b/addons/optics/CfgOpticsEffect.hpp @@ -0,0 +1,8 @@ + +class CfgOpticsEffect { + class ACE_OpticsRadBlur1 { + type = "radialblur"; + params[] = {0.015,0,0.14,0.2}; + priority = 950; + }; +}; diff --git a/addons/optics/CfgPreloadTextures.hpp b/addons/optics/CfgPreloadTextures.hpp new file mode 100644 index 0000000000..57fa2cabf8 --- /dev/null +++ b/addons/optics/CfgPreloadTextures.hpp @@ -0,0 +1,50 @@ + +#define MACRO_PRELOAD \ + GVAR(BodyDay) = "*"; \ + GVAR(BodyNight) = "*"; \ + GVAR(ReticleDay) = "*"; \ + GVAR(ReticleNight) = "*" + +class PreloadTextures { + class CfgWeapons { + class ACE_optic_Hamr_2D { + MACRO_PRELOAD; + }; + + class ACE_optic_Hamr_PIP { + MACRO_PRELOAD; + }; + + class ACE_optic_Arco_2D { + MACRO_PRELOAD; + }; + + class ACE_optic_Arco_PIP { + MACRO_PRELOAD; + }; + + class ACE_optic_MRCO_2D { + MACRO_PRELOAD; + }; + + class ACE_optic_MRCO_PIP { + MACRO_PRELOAD; + }; + + class ACE_optic_SOS_2D { + MACRO_PRELOAD; + }; + + class ACE_optic_SOS_PIP { + MACRO_PRELOAD; + }; + + class ACE_optic_LRPS_2D { + MACRO_PRELOAD; + }; + + class ACE_optic_LRPS_PIP { + MACRO_PRELOAD; + }; + }; +}; diff --git a/addons/optics/CfgRscTitles.hpp b/addons/optics/CfgRscTitles.hpp new file mode 100644 index 0000000000..068bb0aa20 --- /dev/null +++ b/addons/optics/CfgRscTitles.hpp @@ -0,0 +1,188 @@ + +class RscOpticsValue; +class RscMapControl; +class RscText; + +class RscInGameUI { + class RscUnitInfo; + class RscWeaponZeroing: RscUnitInfo { + class CA_Zeroing; + }; + + class ACE_RscWeaponZeroing: RscWeaponZeroing { + controls[] = {"CA_Zeroing","CA_FOVMode","ACE_DrawReticleHelper","ACE_ScriptedReticle"}; + + class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used + idc = 154; + style = 2; + colorText[] = {0,0,0,0}; + x = 0; + y = 0; + w = 0; + h = 0; + }; + + class ACE_DrawReticleHelper: RscMapControl { + onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawScope)); + idc = -1; + w = 0; + h = 0; + }; + + class ACE_ScriptedReticle: RscText { + idc = 1713154; + style = 48; + size = 1; + sizeEx = 0; + text = QUOTE(PATHTOF(reticles\ace_shortdot_reticle_1.paa)); + w = 0; + h = 0; + }; + }; + + class ACE_RscWeapon_base: RscWeaponZeroing { + controls[] = {"CA_Zeroing","CA_FOVMode","ACE_DrawReticleHelper","ReticleDay","ReticleNight","BodyNight","BodyDay"}; // don't change this order + + class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used + idc = 154; + style = 2; + colorText[] = {0,0,0,0}; + x = 0; + y = 0; + w = 0; + h = 0; + }; + + class ACE_DrawReticleHelper: RscMapControl { + onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawScope2D)); + idc = -1; + w = 0; + h = 0; + }; + + #define SIZEX 0.75/(getResolution select 5) + class ReticleDay: RscText { + idc = 1713001; + style = 48; + size = 0; + sizeEx = 1; + text = ""; + colorText[] = {1,1,1,0}; + colorBackground[] = {0,0,0,0}; + x = safezoneX+0.5*safezoneW-0.5*SIZEX; + y = safezoneY+0.5*safezoneH-0.5*SIZEX*safezoneW/safezoneH*(16/9)/(getResolution select 4); + w = SIZEX; + h = SIZEX*safezoneW/safezoneH*(16/9)/(getResolution select 4); + }; + + class ReticleNight: ReticleDay { + idc = 1713002; + text = ""; + }; + + #undef SIZEX + #define SIZEX 2*0.75/(getResolution select 5) + class BodyDay: ReticleDay { + idc = 1713005; + text = ""; + x = safezoneX+0.5*safezoneW-0.5*SIZEX; + y = safezoneY+0.5*safezoneH-0.5*SIZEX*safezoneW/safezoneH*(16/9)/(getResolution select 4); + w = SIZEX; + h = SIZEX*safezoneW/safezoneH*(16/9)/(getResolution select 4); + }; + + class BodyNight: BodyDay { + idc = 1713006; + text = ""; + }; + }; + + class ACE_RscWeapon_Hamr: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\hamr-reticle65_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\hamr-reticle65Illum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\hamr-body_ca.paa)); + }; + + class BodyNight: BodyNight { + text = QUOTE(PATHTOF(reticles\hamr-bodyNight_ca.paa)); + }; + }; + + class ACE_RscWeapon_Arco: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\arco-reticle65_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\arco-reticle65Illum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\arco-body_ca.paa)); + }; + + class BodyNight: BodyNight { + text = QUOTE(PATHTOF(reticles\arco-bodyNight_ca.paa)); + }; + }; + + class ACE_RscWeapon_MRCO: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\mrco-reticle556_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\mrco-reticle556Illum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\mrco-body_ca.paa)); + }; + + class BodyNight: BodyNight { + text = QUOTE(PATHTOF(reticles\mrco-bodyNight_ca.paa)); + }; + }; + + class ACE_RscWeapon_SOS: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\sos-reticleMLR_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\sos-reticleMLRIllum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\sos-body_ca.paa)); + }; + + class BodyNight: BodyNight { + text = QUOTE(PATHTOF(reticles\sos-bodyNight_ca.paa)); + }; + }; +}; + +/* + +_ctrl = (D displayCtrl 1713006); + +_sizeX = 1.54/(getResolution select 5); +_sizeY = _sizeX*safezoneW/safezoneH; + +_ctrl ctrlSetPosition [ + safezoneX+0.5*safezoneW-0.5*_sizeX, + safezoneY+0.5*safezoneH-0.5*_sizeY, + _sizeX, + _sizeY +]; +_ctrl ctrlCommit 0 + +*/ diff --git a/addons/optics/CfgVehicles.hpp b/addons/optics/CfgVehicles.hpp new file mode 100644 index 0000000000..92abeac04f --- /dev/null +++ b/addons/optics/CfgVehicles.hpp @@ -0,0 +1,19 @@ + +class CfgVehicles { + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_optic_Hamr_2D,2); + MACRO_ADDITEM(ACE_optic_Hamr_PIP,2); + MACRO_ADDITEM(ACE_optic_Arco_2D,2); + MACRO_ADDITEM(ACE_optic_Arco_PIP,2); + MACRO_ADDITEM(ACE_optic_MRCO_2D,2); + //MACRO_ADDITEM(ACE_optic_MRCO_PIP,2); + MACRO_ADDITEM(ACE_optic_SOS_2D,2); + MACRO_ADDITEM(ACE_optic_SOS_PIP,2); + MACRO_ADDITEM(ACE_optic_LRPS_2D,2); + MACRO_ADDITEM(ACE_optic_LRPS_PIP,2); + //MACRO_ADDITEM(ACE_optic_DMS,2); + }; + }; +}; diff --git a/addons/optics/CfgWeapons.hpp b/addons/optics/CfgWeapons.hpp new file mode 100644 index 0000000000..5aa06f41a0 --- /dev/null +++ b/addons/optics/CfgWeapons.hpp @@ -0,0 +1,321 @@ + +class CfgWeapons { + class ItemCore; + class InventoryOpticsItem_Base_F; + class Default; + + class Binocular: Default { + forceOptics = 0; // Allow using compass with Binocular + opticsZoomMin = 0.056889; // 5.25x power + opticsZoomMax = 0.056889; // 9 px/mil + modelOptics = "\z\ace\addons\optics\models\NWD_M22_5x"; // 7 horizontal field of view + visionMode[] = {"Normal"}; // Can't use nvgs with binoculars any more than you can with scopes + // Fix AI using Binocs on short range - #18737 + // minRange = 300; // 300 = uses Rangefinder often (runs a few meters, stops, uses RF, repeats) + minRange = 500; //500 = seem almost never use it..? + minRangeProbab = 0.001; + midRange = 1000; + midRangeProbab = 0.01; + maxRange = 5000; + maxRangeProbab = 0.01; + }; + + // zooming reticle scopes + class optic_DMS: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip; + class Iron; + }; + }; + }; + + /*class ACE_optic_DMS: optic_DMS { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_DMS"; + scope = 1; + displayName = "LOCALIZE ACE DMS"; + //descriptionShort = "$STR_A3_CFGWEAPONS_ACC_DMS1"; + weaponInfoType = "ACE_RscWeaponZeroing"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_shortdot_optics.p3d)); + + class OpticsModes: OpticsModes { + class Snip: Snip { + opticsZoomMin = 0.05; + opticsZoomMax = 0.3; + opticsZoomInit = 0.3; + discretefov[] = {}; + modelOptics[] = {}; + }; + + class Iron: Iron {}; + }; + }; + };*/ + + // PIP scopes + class optic_Hamr: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class Hamr2Collimator; + class Hamr2Scope; + }; + }; + }; + + class ACE_optic_Hamr_2D: optic_Hamr { + GVAR(BodyDay) = QUOTE(PATHTOF(reticles\hamr-body_ca.paa)); + GVAR(BodyNight) = QUOTE(PATHTOF(reticles\hamr-bodyNight_ca.paa)); + GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\hamr-reticle65_ca.paa)); + GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\hamr-reticle65Illum_ca.paa)); + + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_Hamr_2D"; + displayName = "$STR_ACE_optic_hamr"; + weaponInfoType = "ACE_RscWeapon_Hamr"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + + class OpticsModes: OpticsModes { + class Hamr2Collimator: Hamr2Collimator {}; + + class Hamr2Scope: Hamr2Scope { + useModelOptics = 1; + opticsZoomInit = 0.0872664626; + opticsZoomMax = 0.0872664626; + opticsZoomMin = 0.0872664626; + opticsPPEffects[] = {"OpticsCHAbera5","OpticsBlur5","ACE_OpticsRadBlur1"}; + opticsDisablePeripherialVision = 0; + visionMode[] = {"Normal","NVG"}; + }; + }; + }; + }; + + class ACE_optic_Hamr_PIP: ACE_optic_Hamr_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_Hamr_PIP"; + //scopeArsenal = 1; + displayName = "$STR_ACE_optic_hamr_pip"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + }; + }; + + class optic_Arco: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class ARCO2collimator; + class ARCO2scope: ARCO2collimator {}; + }; + }; + }; + + class ACE_optic_Arco_2D: optic_Arco { + GVAR(BodyDay) = QUOTE(PATHTOF(reticles\arco-body_ca.paa)); + GVAR(BodyNight) = QUOTE(PATHTOF(reticles\arco-bodyNight_ca.paa)); + GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\arco-reticle65_ca.paa)); + GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\arco-reticle65Illum_ca.paa)); + + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_Arco_2D"; + displayName = "$STR_ACE_optic_arco"; + weaponInfoType = "ACE_RscWeapon_Arco"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + + class OpticsModes: OpticsModes { + class ARCO2collimator: ARCO2collimator {}; + class ARCO2scope: ARCO2scope { + useModelOptics = 1; + opticsZoomInit = 0.0872664626; + opticsZoomMax = 0.0872664626; + opticsZoomMin = 0.0872664626; + opticsPPEffects[] = {"OpticsCHAbera5","OpticsBlur5","ACE_OpticsRadBlur1"}; + opticsDisablePeripherialVision = 0; + visionMode[] = {"Normal"}; + }; + }; + }; + }; + + class ACE_optic_Arco_PIP: ACE_optic_Arco_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_Arco_PIP"; + //scopeArsenal = 1; + displayName = "$STR_ACE_optic_arco_pip"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + }; + }; + + class optic_MRCO: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class MRCOcq; + class MRCOscope; + }; + }; + }; + + class ACE_optic_MRCO_2D: optic_MRCO { + GVAR(BodyDay) = QUOTE(PATHTOF(reticles\mrco-body_ca.paa)); + GVAR(BodyNight) = QUOTE(PATHTOF(reticles\mrco-bodyNight_ca.paa)); + GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\mrco-reticle556_ca.paa)); + GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\mrco-reticle556Illum_ca.paa)); + + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_MRCO_2D"; + displayName = "$STR_ACE_optic_valdada"; + weaponInfoType = "ACE_RscWeapon_MRCO"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + + class OpticsModes: OpticsModes { + class MRCOcq: MRCOcq {}; + class MRCOscope: MRCOscope { + useModelOptics = 1; + opticsZoomInit = 0.0872664626; + opticsZoomMax = 0.0872664626; + opticsZoomMin = 0.0872664626; + opticsPPEffects[] = {"OpticsCHAbera5","OpticsBlur5","ACE_OpticsRadBlur1"}; + opticsDisablePeripherialVision = 0; + visionMode[] = {"Normal"}; + }; + }; + }; + }; + + class ACE_optic_MRCO_PIP: ACE_optic_MRCO_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_MRCO_PIP"; + scope = 1; + //scopeArsenal = 1; + displayName = "$STR_ACE_optic_valdada_pip"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + }; + }; + + class optic_SOS: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip; + class Iron; + }; + }; + }; + + class ACE_optic_SOS_2D: optic_SOS { + GVAR(BodyDay) = QUOTE(PATHTOF(reticles\sos-body_ca.paa)); + GVAR(BodyNight) = QUOTE(PATHTOF(reticles\sos-bodyNight_ca.paa)); + GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\sos-reticleMLR_ca.paa)); + GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\sos-reticleMLRIllum_ca.paa)); + + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_SOS_2D"; + displayName = "$STR_ACE_optic_sos"; + weaponInfoType = "ACE_RscWeapon_SOS"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)),QUOTE(PATHTOF(models\ace_optics_reticle90.p3d))}; + opticsDisablePeripherialVision = 0; + }; + class Iron: Iron {}; + }; + }; + }; + + class ACE_optic_SOS_PIP: ACE_optic_SOS_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_SOS_PIP"; + //scopeArsenal = 1; + displayName = "$STR_ACE_optic_sos_pip"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_pip.p3d)),QUOTE(PATHTOF(models\ace_optics_pip.p3d))}; + }; + class Iron: Iron {}; + }; + }; + }; + + class optic_LRPS: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip; + }; + }; + }; + + class ACE_optic_LRPS_2D: optic_LRPS { + GVAR(BodyDay) = QUOTE(PATHTOF(reticles\sos-body_ca.paa)); + GVAR(BodyNight) = QUOTE(PATHTOF(reticles\sos-bodyNight_ca.paa)); + GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\sos-reticleMLR_ca.paa)); + GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\sos-reticleMLRIllum_ca.paa)); + + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_LRPS_2D"; + displayName = "$STR_ACE_optic_lrps"; + weaponInfoType = "ACE_RscWeapon_SOS"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)),QUOTE(PATHTOF(models\ace_optics_reticle90.p3d))}; + useModelOptics = 1; + opticsZoomInit = 0.01234; + opticsZoomMax = 0.04673; + opticsZoomMin = 0.01234; + discreteFOV[] = {}; + opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1","ACE_OpticsRadBlur1"}; + opticsDisablePeripherialVision = 0; + }; + }; + }; + }; + + class ACE_optic_LRPS_PIP: ACE_optic_LRPS_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_LRPS_PIP"; + //scopeArsenal = 1; + displayName = "$STR_ACE_optic_lrps_pip"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_pip.p3d)),QUOTE(PATHTOF(models\ace_optics_pip.p3d))}; + }; + }; + }; + }; +}; + +class SlotInfo; +class CowsSlot: SlotInfo { + compatibleItems[] += { + "ACE_optic_Hamr_2D", + "ACE_optic_Hamr_PIP", + "ACE_optic_Arco_2D", + "ACE_optic_Arco_PIP", + "ACE_optic_MRCO_2D", + "ACE_optic_MRCO_PIP", + "ACE_optic_SOS_2D", + "ACE_optic_SOS_PIP", + "ACE_optic_LRPS_2D", + "ACE_optic_LRPS_PIP" + //"ACE_optic_DMS" + }; +}; diff --git a/addons/optics/README.md b/addons/optics/README.md new file mode 100644 index 0000000000..2d7281cee7 --- /dev/null +++ b/addons/optics/README.md @@ -0,0 +1,11 @@ +ace_optics +=============== + +Adds animated 2D optics. Some of them use picture in picture. + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [commy2](https://github.com/commy2) diff --git a/addons/optics/XEH_postInit.sqf b/addons/optics/XEH_postInit.sqf new file mode 100644 index 0000000000..7f68aece74 --- /dev/null +++ b/addons/optics/XEH_postInit.sqf @@ -0,0 +1,40 @@ +// by commy2 +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; + +0 = 0 spawn { + waituntil {!isNull ACE_player}; + + // PiP technique by BadBenson + GVAR(camera) = "camera" camCreate positioncameratoworld [0,0,0]; + GVAR(camera) camSetFov 0.7; + GVAR(camera) camSetTarget ACE_player; + GVAR(camera) camCommit 1; + + "ace_optics_rendertarget0" setPiPEffect [2, 1.0, 1.0, 1.0, 0.0, [0.0, 1.0, 0.0, 0.25], [1.0, 0.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]]; + GVAR(camera) cameraEffect ["INTERNAL", "BACK", "ace_optics_rendertarget0"]; +}; + +// save control for fired EH +["infoDisplayChanged", { + if (!isNull ((_this select 0) displayCtrl 1713001)) then { + uiNamespace setVariable [QGVAR(RscWeaponInfo2D), _this select 0]; + }; +}] call EFUNC(common,addEventHandler); + +// camera has to be re-created every time another camera is created. Otherwise r2t is either black or transparent. @todo Add popular custom cameras to the event in ACE_common. +["activeCameraChanged", { + if !(_this select 1) then { + deleteVehicle GVAR(camera); + + // PiP technique by BadBenson + GVAR(camera) = "camera" camCreate positioncameratoworld [0,0,0]; + GVAR(camera) camSetFov 0.7; + GVAR(camera) camSetTarget ACE_player; + GVAR(camera) camCommit 1; + + "ace_optics_rendertarget0" setPiPEffect [2, 1.0, 1.0, 1.0, 0.0, [0.0, 1.0, 0.0, 0.25], [1.0, 0.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]]; + GVAR(camera) cameraEffect ["INTERNAL", "BACK", "ace_optics_rendertarget0"]; + }; +}] call EFUNC(common,addEventHandler); diff --git a/addons/optics/XEH_preInit.sqf b/addons/optics/XEH_preInit.sqf new file mode 100644 index 0000000000..9616b7158a --- /dev/null +++ b/addons/optics/XEH_preInit.sqf @@ -0,0 +1,9 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(handleFired); +PREP(onDrawScope); +PREP(onDrawScope2D); + +ADDON = true; diff --git a/addons/optics/config.cpp b/addons/optics/config.cpp new file mode 100644 index 0000000000..224410cdec --- /dev/null +++ b/addons/optics/config.cpp @@ -0,0 +1,34 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = { + "ACE_optic_Hamr_2D", + "ACE_optic_Hamr_PIP", + "ACE_optic_Arco_2D", + "ACE_optic_Arco_PIP", + "ACE_optic_MRCO_2D", + //"ACE_optic_MRCO_PIP", + "ACE_optic_SOS_2D", + "ACE_optic_SOS_PIP", + "ACE_optic_LRPS_2D", + "ACE_optic_LRPS_PIP" + //"ACE_optic_DMS" + }; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"Taosenai","KoffeinFlummi","commy2"}; + authorUrl = "http://www.ryanschultz.org/tmr/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" + +#include "CfgOpticsEffect.hpp" +#include "CfgRscTitles.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" + +#include "CfgPreloadTextures.hpp" diff --git a/addons/optics/functions/fnc_handleFired.sqf b/addons/optics/functions/fnc_handleFired.sqf new file mode 100644 index 0000000000..51da4c8ead --- /dev/null +++ b/addons/optics/functions/fnc_handleFired.sqf @@ -0,0 +1,111 @@ +/* + * Original Author: Taosenai + * Adapted By: KoffeinFlummi, commy2 + * + * Animates the scope when firing. + * + * Arguments: + * 0: Unit (Object) + * 1: Weapon (String) + * 2: Muzzle (String) + * 3: Mode (String) + * 4: Ammo (Object) + * 5: Magazine (String) + * 6: Projectile (Object) + * + * Return Value: + * None + */ +#include "script_component.hpp" + +private ["_unit", "_weapon"]; + +_unit = _this select 0; +_weapon = _this select 1; + +// check if compatible scope is used +private "_display"; +_display = uiNamespace getVariable [QGVAR(RscWeaponInfo2D), displayNull]; + +if (isNull _display) exitWith {}; + +// Reduce the reticle movement as the player drops into lower, supported stances. +private "_recoilCoef"; +_recoilCoef = switch (true) do { + case (isWeaponDeployed _unit): {0.1}; + case (isWeaponRested _unit): {0.4}; + default {1}; +}; + +// Constants which determine how the scope recoils +private ["_recoilScope", "_reticleShiftX", "_reticleShiftY", "_scopeShiftX", "_scopeShiftY"]; + +_recoilScope = _recoilCoef * linearConversion [0, 1, random 1, SCOPE_RECOIL_MIN, SCOPE_RECOIL_MAX, false]; + +_reticleShiftX = _recoilCoef * linearConversion [0, 1, random 1, RETICLE_SHIFT_X_MIN, RETICLE_SHIFT_X_MAX, false]; +_reticleShiftY = _recoilCoef * linearConversion [0, 1, random 1, RETICLE_SHIFT_Y_MIN, RETICLE_SHIFT_Y_MAX, false]; + +_scopeShiftX = _recoilCoef * linearConversion [0, 1, random 1, SCOPE_SHIFT_X_MIN, SCOPE_SHIFT_X_MAX, false]; +_scopeShiftY = _recoilCoef * linearConversion [0, 1, random 1, SCOPE_SHIFT_Y_MIN, SCOPE_SHIFT_Y_MAX, false]; + +// Create and commit recoil effect +private ["_sizeX", "_sizeY"]; + +_sizeX = (0.75+_recoilScope)/(getResolution select 5); +_sizeY = _sizeX*safezoneW/safezoneH*(16/9)/(getResolution select 4); + +private "_positionReticle"; +_positionReticle = [ + safezoneX+0.5*safezoneW-0.5*(_sizeX+_reticleShiftX), + safezoneY+0.5*safezoneH-0.5*(_sizeY+_reticleShiftY), + _sizeX, + _sizeY +]; + +(_display displayCtrl 1713001) ctrlSetPosition _positionReticle; +(_display displayCtrl 1713002) ctrlSetPosition _positionReticle; + +private "_positionBody"; +_positionBody = [ + safezoneX+0.5*safezoneW-0.5*(2*_sizeX+_scopeShiftX), + safezoneY+0.5*safezoneH-0.5*(2*_sizeY+_scopeShiftY), + 2*_sizeX, + 2*_sizeY +]; + +(_display displayCtrl 1713005) ctrlSetPosition _positionBody; +(_display displayCtrl 1713006) ctrlSetPosition _positionBody; + +(_display displayCtrl 1713001) ctrlCommit 0; +(_display displayCtrl 1713002) ctrlCommit 0; +(_display displayCtrl 1713005) ctrlCommit 0; +(_display displayCtrl 1713006) ctrlCommit 0; + +// Bring them all back +_sizeX = 0.75/(getResolution select 5); +_sizeY = _sizeX*safezoneW/safezoneH*(16/9)/(getResolution select 4); + +_positionReticle = [ + safezoneX+0.5*safezoneW-0.5*_sizeX, + safezoneY+0.5*safezoneH-0.5*_sizeY, + _sizeX, + _sizeY +]; + +(_display displayCtrl 1713001) ctrlSetPosition _positionReticle; +(_display displayCtrl 1713002) ctrlSetPosition _positionReticle; + +_positionBody = [ + safezoneX+0.5*safezoneW-0.5*2*_sizeX, + safezoneY+0.5*safezoneH-0.5*2*_sizeY, + 2*_sizeX, + 2*_sizeY +]; + +(_display displayCtrl 1713005) ctrlSetPosition _positionBody; +(_display displayCtrl 1713006) ctrlSetPosition _positionBody; + +(_display displayCtrl 1713001) ctrlCommit RECENTER_TIME; +(_display displayCtrl 1713002) ctrlCommit RECENTER_TIME; +(_display displayCtrl 1713005) ctrlCommit RECENTER_TIME; +(_display displayCtrl 1713006) ctrlCommit RECENTER_TIME; diff --git a/addons/optics/functions/fnc_onDrawScope.sqf b/addons/optics/functions/fnc_onDrawScope.sqf new file mode 100644 index 0000000000..26cbe235b2 --- /dev/null +++ b/addons/optics/functions/fnc_onDrawScope.sqf @@ -0,0 +1,29 @@ +// by commy2 +#include "script_component.hpp" + +disableSerialization; + +private ["_display", "_control"]; + +_display = _this select 0; + +_control = _display displayCtrl 1713154; + +if (!ctrlShown (_display displayCtrl 154)) exitWith { + _control ctrlShow false; +}; + +private ["_sizeX", "_sizeY"]; + +_sizeX = (call EFUNC(common,getZoom))/4; +_sizeY = _sizeX*safezoneW/safezoneH; + +_control ctrlSetPosition [ + safezoneX+0.5*safezoneW-0.5*_sizeX, + safezoneY+0.5*safezoneH-0.5*_sizeY, + _sizeX, + _sizeY +]; + +_control ctrlCommit 0; +_control ctrlShow true; diff --git a/addons/optics/functions/fnc_onDrawScope2D.sqf b/addons/optics/functions/fnc_onDrawScope2D.sqf new file mode 100644 index 0000000000..30cdb927c7 --- /dev/null +++ b/addons/optics/functions/fnc_onDrawScope2D.sqf @@ -0,0 +1,56 @@ +// by commy2 +#include "script_component.hpp" + +disableSerialization; + +private "_display"; + +_display = _this select 0; + +if (!ctrlShown (_display displayCtrl 154)) exitWith { + (_display displayCtrl 1713001) ctrlShow false; + (_display displayCtrl 1713002) ctrlShow false; + (_display displayCtrl 1713005) ctrlShow false; + (_display displayCtrl 1713006) ctrlShow false; +}; + +GVAR(camera) setposATL positioncameratoworld [0,0,0.4]; +GVAR(camera) camPrepareTarget positioncameratoworld [0,0,50]; +GVAR(camera) camCommitPrepared 0; + +// @todo, check if that needs to be done at all +if (cameraView == "GUNNER") then { + GVAR(camera) camsetFOV 0.7; + GVAR(camera) camcommit 0; +} else { + GVAR(camera) camsetFOV 0.01; + GVAR(camera) camcommit 0; +}; + +// @todo, all weapon types +private "_optic"; +_optic = (primaryWeaponItems ACE_player) select 2; + +// calculate lighting +private ["_dayOpacity", "_nightOpacity"]; + +_dayOpacity = call EFUNC(common,ambientBrightness); +_nightOpacity = [1,0] select (_dayOpacity == 1); + +// Apply lighting and make layers visible +(_display displayCtrl 1713001) ctrlSetTextColor [1,1,1,1]; +(_display displayCtrl 1713002) ctrlSetTextColor [1,1,1,[0,1] select (_dayOpacity < 0.5)]; +(_display displayCtrl 1713005) ctrlSetTextColor [1,1,1,_dayOpacity]; +(_display displayCtrl 1713006) ctrlSetTextColor [1,1,1,_nightOpacity]; + +/* +(_display displayCtrl 1713001) ctrlCommit 0; +(_display displayCtrl 1713002) ctrlCommit 0; +(_display displayCtrl 1713005) ctrlCommit 0; +(_display displayCtrl 1713006) ctrlCommit 0; +*/ + +(_display displayCtrl 1713001) ctrlShow true; +(_display displayCtrl 1713002) ctrlShow true; +(_display displayCtrl 1713005) ctrlShow true; +(_display displayCtrl 1713006) ctrlShow true; diff --git a/addons/optics/functions/script_component.hpp b/addons/optics/functions/script_component.hpp new file mode 100644 index 0000000000..5613c1aec3 --- /dev/null +++ b/addons/optics/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\optics\script_component.hpp" \ No newline at end of file diff --git a/addons/optics/models/NWD_M22_5x.p3d b/addons/optics/models/NWD_M22_5x.p3d new file mode 100644 index 0000000000..b6df76e30b Binary files /dev/null and b/addons/optics/models/NWD_M22_5x.p3d differ diff --git a/TO_MERGE/agm/Optics/data/tmr_reticle_clear.p3d b/addons/optics/models/ace_optics_empty.p3d similarity index 100% rename from TO_MERGE/agm/Optics/data/tmr_reticle_clear.p3d rename to addons/optics/models/ace_optics_empty.p3d diff --git a/addons/optics/models/ace_optics_pip.p3d b/addons/optics/models/ace_optics_pip.p3d new file mode 100644 index 0000000000..9ec6765294 Binary files /dev/null and b/addons/optics/models/ace_optics_pip.p3d differ diff --git a/addons/optics/models/ace_optics_reticle100.p3d b/addons/optics/models/ace_optics_reticle100.p3d new file mode 100644 index 0000000000..b5f58cfd1c Binary files /dev/null and b/addons/optics/models/ace_optics_reticle100.p3d differ diff --git a/addons/optics/models/ace_optics_reticle70.p3d b/addons/optics/models/ace_optics_reticle70.p3d new file mode 100644 index 0000000000..5aa9e8613a Binary files /dev/null and b/addons/optics/models/ace_optics_reticle70.p3d differ diff --git a/addons/optics/models/ace_optics_reticle80.p3d b/addons/optics/models/ace_optics_reticle80.p3d new file mode 100644 index 0000000000..55cf233032 Binary files /dev/null and b/addons/optics/models/ace_optics_reticle80.p3d differ diff --git a/addons/optics/models/ace_optics_reticle90.p3d b/addons/optics/models/ace_optics_reticle90.p3d new file mode 100644 index 0000000000..30dc511df9 Binary files /dev/null and b/addons/optics/models/ace_optics_reticle90.p3d differ diff --git a/addons/optics/models/ace_shortdot_optics.p3d b/addons/optics/models/ace_shortdot_optics.p3d new file mode 100644 index 0000000000..47b82be4b7 Binary files /dev/null and b/addons/optics/models/ace_shortdot_optics.p3d differ diff --git a/addons/optics/reticles/4x_M22.paa b/addons/optics/reticles/4x_M22.paa new file mode 100644 index 0000000000..c685763a99 Binary files /dev/null and b/addons/optics/reticles/4x_M22.paa differ diff --git a/addons/optics/reticles/M22_font.paa b/addons/optics/reticles/M22_font.paa new file mode 100644 index 0000000000..539907d61f Binary files /dev/null and b/addons/optics/reticles/M22_font.paa differ diff --git a/addons/scopes/data/reticles/ace_shortdot_reticle_1.paa b/addons/optics/reticles/ace_shortdot_reticle_1.paa similarity index 100% rename from addons/scopes/data/reticles/ace_shortdot_reticle_1.paa rename to addons/optics/reticles/ace_shortdot_reticle_1.paa diff --git a/addons/scopes/data/reticles/ace_shortdot_reticle_2.paa b/addons/optics/reticles/ace_shortdot_reticle_2.paa similarity index 100% rename from addons/scopes/data/reticles/ace_shortdot_reticle_2.paa rename to addons/optics/reticles/ace_shortdot_reticle_2.paa diff --git a/TO_MERGE/agm/Optics/data/arco/arco-bodyNight_ca.paa b/addons/optics/reticles/arco-bodyNight_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/arco/arco-bodyNight_ca.paa rename to addons/optics/reticles/arco-bodyNight_ca.paa diff --git a/TO_MERGE/agm/Optics/data/arco/arco-body_ca.paa b/addons/optics/reticles/arco-body_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/arco/arco-body_ca.paa rename to addons/optics/reticles/arco-body_ca.paa diff --git a/TO_MERGE/agm/Optics/data/arco/arco-reticle65Illum_ca.paa b/addons/optics/reticles/arco-reticle65Illum_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/arco/arco-reticle65Illum_ca.paa rename to addons/optics/reticles/arco-reticle65Illum_ca.paa diff --git a/TO_MERGE/agm/Optics/data/arco/arco-reticle65_ca.paa b/addons/optics/reticles/arco-reticle65_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/arco/arco-reticle65_ca.paa rename to addons/optics/reticles/arco-reticle65_ca.paa diff --git a/addons/optics/reticles/bino_dirt.paa b/addons/optics/reticles/bino_dirt.paa new file mode 100644 index 0000000000..ea08efa3a7 Binary files /dev/null and b/addons/optics/reticles/bino_dirt.paa differ diff --git a/addons/optics/reticles/bino_ring.paa b/addons/optics/reticles/bino_ring.paa new file mode 100644 index 0000000000..53499af7ce Binary files /dev/null and b/addons/optics/reticles/bino_ring.paa differ diff --git a/TO_MERGE/agm/Optics/data/black.rvmat b/addons/optics/reticles/black.rvmat similarity index 100% rename from TO_MERGE/agm/Optics/data/black.rvmat rename to addons/optics/reticles/black.rvmat diff --git a/TO_MERGE/agm/Optics/data/em.rvmat b/addons/optics/reticles/em.rvmat similarity index 100% rename from TO_MERGE/agm/Optics/data/em.rvmat rename to addons/optics/reticles/em.rvmat diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-bodyNight_ca.paa b/addons/optics/reticles/hamr-bodyNight_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/hamr/hamr-bodyNight_ca.paa rename to addons/optics/reticles/hamr-bodyNight_ca.paa diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-body_ca.paa b/addons/optics/reticles/hamr-body_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/hamr/hamr-body_ca.paa rename to addons/optics/reticles/hamr-body_ca.paa diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65Illum_ca.paa b/addons/optics/reticles/hamr-reticle65Illum_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/hamr/hamr-reticle65Illum_ca.paa rename to addons/optics/reticles/hamr-reticle65Illum_ca.paa diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65_ca.paa b/addons/optics/reticles/hamr-reticle65_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/hamr/hamr-reticle65_ca.paa rename to addons/optics/reticles/hamr-reticle65_ca.paa diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-bodyNight_ca.paa b/addons/optics/reticles/mrco-bodyNight_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/mrco/mrco-bodyNight_ca.paa rename to addons/optics/reticles/mrco-bodyNight_ca.paa diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-body_ca.paa b/addons/optics/reticles/mrco-body_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/mrco/mrco-body_ca.paa rename to addons/optics/reticles/mrco-body_ca.paa diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556Illum_ca.paa b/addons/optics/reticles/mrco-reticle556Illum_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/mrco/mrco-reticle556Illum_ca.paa rename to addons/optics/reticles/mrco-reticle556Illum_ca.paa diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556_ca.paa b/addons/optics/reticles/mrco-reticle556_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/mrco/mrco-reticle556_ca.paa rename to addons/optics/reticles/mrco-reticle556_ca.paa diff --git a/TO_MERGE/agm/Optics/data/scopeblack-100_ca.paa b/addons/optics/reticles/scopeblack-100_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/scopeblack-100_ca.paa rename to addons/optics/reticles/scopeblack-100_ca.paa diff --git a/TO_MERGE/agm/Optics/data/scopeblack-70_ca.paa b/addons/optics/reticles/scopeblack-70_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/scopeblack-70_ca.paa rename to addons/optics/reticles/scopeblack-70_ca.paa diff --git a/TO_MERGE/agm/Optics/data/scopeblack-80_ca.paa b/addons/optics/reticles/scopeblack-80_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/scopeblack-80_ca.paa rename to addons/optics/reticles/scopeblack-80_ca.paa diff --git a/TO_MERGE/agm/Optics/data/scopeblack-90_ca.paa b/addons/optics/reticles/scopeblack-90_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/scopeblack-90_ca.paa rename to addons/optics/reticles/scopeblack-90_ca.paa diff --git a/TO_MERGE/agm/Optics/data/sos/sos-bodyNight_ca.paa b/addons/optics/reticles/sos-bodyNight_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/sos/sos-bodyNight_ca.paa rename to addons/optics/reticles/sos-bodyNight_ca.paa diff --git a/TO_MERGE/agm/Optics/data/sos/sos-body_ca.paa b/addons/optics/reticles/sos-body_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/sos/sos-body_ca.paa rename to addons/optics/reticles/sos-body_ca.paa diff --git a/TO_MERGE/agm/Optics/data/sos/sos-reticleMLRIllum_ca.paa b/addons/optics/reticles/sos-reticleMLRIllum_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/sos/sos-reticleMLRIllum_ca.paa rename to addons/optics/reticles/sos-reticleMLRIllum_ca.paa diff --git a/TO_MERGE/agm/Optics/data/sos/sos-reticleMLR_ca.paa b/addons/optics/reticles/sos-reticleMLR_ca.paa similarity index 100% rename from TO_MERGE/agm/Optics/data/sos/sos-reticleMLR_ca.paa rename to addons/optics/reticles/sos-reticleMLR_ca.paa diff --git a/addons/optics/script_component.hpp b/addons/optics/script_component.hpp new file mode 100644 index 0000000000..58b2d4756a --- /dev/null +++ b/addons/optics/script_component.hpp @@ -0,0 +1,27 @@ +#define COMPONENT optics +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_OPTICS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_OPTICS + #define DEBUG_SETTINGS DEBUG_ENABLED_OPTICS +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#define SCOPE_RECOIL_MIN 0.03 +#define SCOPE_RECOIL_MAX 0.032 + +#define SCOPE_SHIFT_X_MIN 0.04 +#define SCOPE_SHIFT_X_MAX 0.05 +#define SCOPE_SHIFT_Y_MIN -0.02 +#define SCOPE_SHIFT_Y_MAX -0.03 + +#define RETICLE_SHIFT_X_MIN 0.006 +#define RETICLE_SHIFT_X_MAX 0.011 +#define RETICLE_SHIFT_Y_MIN -0.009 +#define RETICLE_SHIFT_Y_MAX -0.014 + +#define RECENTER_TIME 0.09 diff --git a/addons/optics/stringtable.xml b/addons/optics/stringtable.xml new file mode 100644 index 0000000000..56216f2cb1 --- /dev/null +++ b/addons/optics/stringtable.xml @@ -0,0 +1,125 @@ + + + + + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + + + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (BIB) + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (PIP) + + + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + + + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (BIB) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + + + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + Прицел MRCO (2D) + MRCO (2D) + MRCO (2D) + + + MRCO (PIP) + MRCO (PIP) + MRCO (PIP) + MRCO (BIB) + MRCO (PIP) + MRCO (PIP) + MRCO (PIP) + Прицел MRCO (PIP) + MRCO (PIP) + MRCO (PIP) + + + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + + + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (BIB) + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (PIP) + + + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + MPLD (2D) + LRPS (2D) + + + LRPS (PIP) + LRPS (PIP) + LRPS (PIP) + LRPS (BIB) + LRPS (PIP) + LRPS (PIP) + LRPS (PIP) + LRPS (PIP) + MPLD (PIP) + LRPS (PIP) + + + \ No newline at end of file diff --git a/addons/optionsmenu/config.cpp b/addons/optionsmenu/config.cpp index 89d5768603..69249b36c4 100644 --- a/addons/optionsmenu/config.cpp +++ b/addons/optionsmenu/config.cpp @@ -1,23 +1,23 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - units[] = {"ACE_moduleAllowConfigExport"}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - author[] = {"Glowbal", "PabstMirror"}; - authorUrl = "http://github.com/Glowbal"; - VERSION_CONFIG; - }; + class ADDON { + units[] = {"ACE_moduleAllowConfigExport"}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"Glowbal", "PabstMirror"}; + authorUrl = "http://github.com/Glowbal"; + VERSION_CONFIG; + }; }; class CfgAddons { - class PreloadAddons { - class ADDON { - list[] = {QUOTE(ADDON)}; + class PreloadAddons { + class ADDON { + list[] = {QUOTE(ADDON)}; + }; }; - }; }; @@ -26,4 +26,14 @@ class CfgAddons { #include "gui\settingsMenu.hpp" #include "gui\pauseMenu.hpp" -#include "CFgVehicles.hpp" +#include "CfgVehicles.hpp" + +class ACE_Settings { + class GVAR(optionMenuDisplaySize) { + value = 0; + typeName = "SCALAR"; + isClientSettable = 1; + displayName = "$STR_ACE_optionsMenu_uiScaing"; + values[] = {"$str_medium", "$str_large", "$str_very_large"}; + }; +}; diff --git a/addons/optionsmenu/functions/fnc_exportSettings.sqf b/addons/optionsmenu/functions/fnc_exportSettings.sqf index 3ac2455a64..f98c3548e8 100644 --- a/addons/optionsmenu/functions/fnc_exportSettings.sqf +++ b/addons/optionsmenu/functions/fnc_exportSettings.sqf @@ -16,6 +16,8 @@ #include "script_component.hpp" +private ["_compiledConfig", "_name", "_typeName", "_isClientSetable", "_localizedName", "_localizedDescription", "_possibleValues", "_defaultValue", "_value", "_compiledConfigEntry"]; + _compiledConfig = " "; { @@ -52,6 +54,10 @@ class %1 { typeName = %3; force = 1; };", _name, _value, format['"%1"', _typeName]]; + + //clipboard seems to be getting cuttoff, so do a backup dump to rpt: + diag_log text _compiledConfigEntry; + _compiledConfig = _compiledConfig + _compiledConfigEntry; }; } forEach EGVAR(common,settings); diff --git a/addons/optionsmenu/functions/fnc_onServerSaveInputField.sqf b/addons/optionsmenu/functions/fnc_onServerSaveInputField.sqf index ca4a00891a..b8eb630f85 100644 --- a/addons/optionsmenu/functions/fnc_onServerSaveInputField.sqf +++ b/addons/optionsmenu/functions/fnc_onServerSaveInputField.sqf @@ -16,28 +16,28 @@ #include "script_component.hpp" -private ["_settingIndex", "_inputText"]; +private ["_settingIndex", "_inputText", "_setting", "_settingName", "_convertedValue"]; _settingIndex = lbCurSel 200; //Index of left list _inputText = ctrlText 414; //Index of right drop down switch (GVAR(optionMenu_openTab)) do { case (MENU_TAB_SERVER_VALUES): { - if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(serverSideValues)))) then { - try { - _setting = (GVAR(serverSideValues) select _settingIndex); - _settingName = _setting select 0; + if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(serverSideValues)))) then { + try { + _setting = (GVAR(serverSideValues) select _settingIndex); + _settingName = _setting select 0; - _convertedValue = switch (toUpper (_setting select 1)) do { + _convertedValue = switch (toUpper (_setting select 1)) do { case "STRING": {format ['"%1"', _inputText]}; case "ARRAY": {format [call compile "[%1]", _inputText]}; case "SCALAR": {parseNumber _inputText;}; - default {throw "Error"}; + default {throw "Error"}; + }; + [MENU_TAB_SERVER_VALUES, _settingName, _convertedValue] call FUNC(updateSetting); + } catch { }; - [MENU_TAB_SERVER_VALUES, _settingName, _convertedValue] call FUNC(updateSetting); - } catch { }; + [false] call FUNC(serverSettingsMenuUpdateList); }; - [false] call FUNC(serverSettingsMenuUpdateList); - }; }; diff --git a/addons/optionsmenu/functions/fnc_onServerSettingsMenuOpen.sqf b/addons/optionsmenu/functions/fnc_onServerSettingsMenuOpen.sqf index 7894d2ff1a..f5501d0860 100644 --- a/addons/optionsmenu/functions/fnc_onServerSettingsMenuOpen.sqf +++ b/addons/optionsmenu/functions/fnc_onServerSettingsMenuOpen.sqf @@ -16,6 +16,8 @@ #include "script_component.hpp" +private ["_name", "_typeName", "_isClientSetable", "_localizedName", "_localizedDescription", "_possibleValues", "_defaultValue", "_setting", "_menu", "_settingsMenu"]; + if (GVAR(serverConfigGeneration) == 0 || isMultiplayer) exitwith {closeDialog 145246;}; // Filter only user setable setting @@ -54,7 +56,6 @@ GVAR(serverSideValues) = []; //Delay a frame [{ [MENU_TAB_SERVER_OPTIONS] call FUNC(onServerListBoxShowSelectionChanged) }, []] call EFUNC(common,execNextFrame); -private "_menu"; disableSerialization; _menu = uiNamespace getvariable "ACE_serverSettingsMenu"; (_menu displayCtrl 1003) ctrlEnable false; diff --git a/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf b/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf index 3a4c6ec561..050abcf295 100644 --- a/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf +++ b/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf @@ -16,9 +16,12 @@ #include "script_component.hpp" +private ["_setting", "_menu"]; + // Filter only user setable setting GVAR(clientSideOptions) = []; GVAR(clientSideColors) = []; + { // If the setting is user setable and not forced if ((_x select 2) && !(_x select 6)) then { @@ -40,7 +43,6 @@ GVAR(clientSideColors) = []; //Delay a frame [{ [MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged) }, []] call EFUNC(common,execNextFrame); -private "_menu"; disableSerialization; _menu = uiNamespace getvariable "ACE_settingsMenu"; (_menu displayCtrl 1002) ctrlEnable false; diff --git a/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateKeyView.sqf b/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateKeyView.sqf index 2dcf9f7fe7..52984b78f3 100644 --- a/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateKeyView.sqf +++ b/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateKeyView.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_settingsMenu", "_ctrlList", "_collection", "_settingIndex", "_setting", "_entryName", "_localizedName", "_localizedDescription", "_possibleValues", "_settingsValue", "_currentColor"]; +private ["_settingsMenu", "_ctrlList", "_collection", "_settingIndex", "_setting", "_entryName", "_localizedName", "_localizedDescription", "_possibleValues", "_settingsValue", "_currentColor", "_expectedType"]; disableSerialization; _settingsMenu = uiNamespace getVariable 'ACE_serverSettingsMenu'; diff --git a/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateList.sqf b/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateList.sqf index ad5d647c16..dad3012e1b 100644 --- a/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateList.sqf +++ b/addons/optionsmenu/functions/fnc_serverSettingsMenuUpdateList.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_settingsMenu", "_ctrlList", "_settingsText", "_color", "_settingsColor", "_updateKeyView"]; +private ["_settingsMenu", "_ctrlList", "_settingsText", "_color", "_settingsColor", "_updateKeyView", "_settingsValue"]; DEFAULT_PARAM(0,_updateKeyView,true); disableSerialization; diff --git a/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf b/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf index 0138b9e87d..513b187d7d 100644 --- a/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf +++ b/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_settingsMenu", "_ctrlList", "_settingsText", "_color", "_settingsColor", "_updateKeyView"]; +private ["_settingsMenu", "_ctrlList", "_settingsText", "_color", "_settingsColor", "_updateKeyView", "_settingsValue"]; DEFAULT_PARAM(0,_updateKeyView,true); disableSerialization; diff --git a/addons/optionsmenu/gui/pauseMenu.hpp b/addons/optionsmenu/gui/pauseMenu.hpp index 880f418a38..c4cbae9916 100644 --- a/addons/optionsmenu/gui/pauseMenu.hpp +++ b/addons/optionsmenu/gui/pauseMenu.hpp @@ -94,4 +94,16 @@ class RscDisplayInterruptEditor3D: RscStandardDisplay { class controls { class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {}; }; -}; \ No newline at end of file +}; +class RscDisplayMain: RscStandardDisplay { + //Hide the button if there is no world (-world=empty) + //Seems odd to use onMouseMoving, but I don't want to overload onLoad + onMouseMoving = "((_this select 0) displayCtrl 80085) ctrlShow (missionName != '');"; + class controls { + class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase { + action = "if (missionName != '') then {createDialog 'ACE_settingsMenu';};"; + y = "4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + safezoneY"; + idc = 80085; + }; + }; +}; diff --git a/addons/optionsmenu/gui/settingsMenu.hpp b/addons/optionsmenu/gui/settingsMenu.hpp index 93d35b284c..04e7ee5aaa 100644 --- a/addons/optionsmenu/gui/settingsMenu.hpp +++ b/addons/optionsmenu/gui/settingsMenu.hpp @@ -1,438 +1,452 @@ class ACE_settingsMenu { - idd = 145246; - movingEnable = false; - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', _this select 0)]; [] call FUNC(onSettingsMenuOpen);); - onUnload = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', nil)]; saveProfileNamespace;); + idd = 145246; + movingEnable = false; + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', _this select 0)]; [] call FUNC(onSettingsMenuOpen);); + onUnload = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', nil)]; saveProfileNamespace;); - #define SIZEX (((safezoneW / safezoneH) min 1.2)) - #define SIZEY (SIZEX / 1.2) - #define UNITX (SIZEX / 40) - #define UNITY (SIZEY / 25) - #define OFFSETX (safezoneX + (safezoneW - SIZEX)/2) - #define OFFSETY (safezoneY + (safezoneH - (SIZEX / 1.2))/2) +#define SIZEX (((safezoneW / safezoneH) min 1.2)) +#define SIZEY (SIZEX / 1.2) +#define X_ORIGINAL(num) (num * (SIZEX / 40) + (safezoneX + (safezoneW - SIZEX)/2)) +#define Y_ORIGINAL(num) (num * (SIZEY / 25) + (safezoneY + (safezoneH - (SIZEX / 1.2))/2)) +#define W_ORIGINAL(num) (num * (SIZEX / 40)) +#define H_ORIGINAL(num) (num * (SIZEY / 25)) - class controlsBackground { - class HeaderBackground: ACE_gui_backgroundBase { - idc = -1; - type = CT_STATIC; - x = 1 * UNITX + OFFSETX; - y = 1 * UNITY + OFFSETY; - w = 38 * UNITX; - h = 1 * UNITY; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = (UNITY * 1); - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - text = ""; - }; - class CenterBackground: HeaderBackground { - y = 2.1 * UNITY + OFFSETY; - h = 2.5 * UNITY; - text = ""; - colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; - }; - class LeftBackground: CenterBackground { - y = 4.8 * UNITY + OFFSETY; - h = 17.4 * UNITY; - w = 25 * UNITX; - }; - class RightBackground: LeftBackground { - x = 26.1 * UNITX + OFFSETX; - w = 12.9 * UNITX; - }; - class RightBackgroundHeader: RightBackground { - h = 1.4 * UNITY; - colorBackground[] = {0,0,0,1}; - }; - }; +#define X_MAKEITBIGGA(num) (num * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)) +#define Y_MAKEITBIGGA(num) (num * (safeZoneH / 30) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)) +#define W_MAKEITBIGGA(num) (num * (safeZoneH / 40)) +#define H_MAKEITBIGGA(num) (num * (safeZoneH / 30)) - class controls { - class HeaderName { - idc = 1; - type = CT_STATIC; - x = 1 * UNITX + OFFSETX; - y = 1 * UNITY + OFFSETY; - w = 38 * UNITX; - h = 1 * UNITY; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = (UNITY * 1); - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {0,0,0,0}; - text = "$STR_ACE_OptionsMenu_OpenConfigMenu"; +#define X_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(optionMenuDisplaySize)), 0)]), X_ORIGINAL(num), X_MAKEITBIGGA(num))]) +#define Y_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(optionMenuDisplaySize)), 0)]), Y_ORIGINAL(num), Y_MAKEITBIGGA(num))]) +#define W_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(optionMenuDisplaySize)), 0)]), W_ORIGINAL(num), W_MAKEITBIGGA(num))]) +#define H_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(optionMenuDisplaySize)), 0)]), H_ORIGINAL(num), H_MAKEITBIGGA(num))]) + + class controlsBackground { + class HeaderBackground: ACE_gui_backgroundBase { + idc = -1; + type = CT_STATIC; + x = X_PART(1); + y = Y_PART(1); + w = W_PART(38); + h = H_PART(1); + style = ST_LEFT + ST_SHADOW; + font = "PuristaMedium"; + SizeEx = H_PART(1); + colorText[] = {0.95, 0.95, 0.95, 0.75}; + colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; + text = ""; + }; + class CenterBackground: HeaderBackground { + y = Y_PART(2.1); + h = H_PART(2.5); + text = ""; + colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; + colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; + }; + class LeftBackground: CenterBackground { + y = Y_PART(4.8); + h = H_PART(17.4); + w = W_PART(25); + }; + class RightBackground: LeftBackground { + x = X_PART(26.1); + w = W_PART(12.9); + }; + class RightBackgroundHeader: RightBackground { + h = H_PART(1.4); + colorBackground[] = {0,0,0,1}; + }; }; - class labelSubHeader: ACE_gui_staticBase { - idc = 13; - x = 2 * UNITX + OFFSETX; - y = 3.4 * UNITY + OFFSETY; - w = 30 * UNITX; - h = 1 * UNITY; - text = ""; + + class controls { + class HeaderName { + idc = 1; + type = CT_STATIC; + x = X_PART(1); + y = Y_PART(1); + w = W_PART(38); + h = H_PART(1); + style = ST_LEFT + ST_SHADOW; + font = "PuristaMedium"; + SizeEx = H_PART(1); + colorText[] = {0.95, 0.95, 0.95, 0.75}; + colorBackground[] = {0,0,0,0}; + text = "$STR_ACE_OptionsMenu_OpenConfigMenu"; + }; + class labelSubHeader: ACE_gui_staticBase { + idc = 13; + x = X_PART(2); + y = Y_PART(3.4); + w = W_PART(30); + h = H_PART(1); + text = ""; + }; + class selectionAction_1: ACE_gui_buttonBase { + idc = 1000; + text = "$STR_ACE_OptionsMenu_TabOptions"; + x = X_PART(1); + y = Y_PART(2.1); + w = W_PART(9.5); + h = H_PART(1); + animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.8)"; + animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; + animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; + animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; + animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; + color[] = {1, 1, 1, 1}; + color2[] = {0,0,0, 1}; + colorBackgroundFocused[] = {1,1,1,1}; + colorBackground[] = {1,1,1,1}; + colorbackground2[] = {1,1,1,1}; + colorDisabled[] = {1,1,1,1}; + colorFocused[] = {0,0,0,1}; + periodFocus = 1; + periodOver = 1; + action = QUOTE([MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged);); + SizeEx = H_PART(1); + Size = H_PART(1); + }; + class selectionAction_2: selectionAction_1 { + idc = 1001; + text = "$STR_ACE_OptionsMenu_TabColors"; + x = X_PART(10.5); + action = QUOTE([MENU_TAB_COLORS] call FUNC(onListBoxShowSelectionChanged);); + }; + class selectionAction_3: selectionAction_1 { + idc = 1002; + text = ""; + x = X_PART(20); + action = ""; + }; + class selectionAction_4: selectionAction_1 { + idc = 1003; + text = ""; + x = X_PART(29.5); + action = ""; + }; + class listBoxSettingsList: ACE_gui_listNBox { + idc = 200; + x = X_PART(2); + y = Y_PART(5.5); + w = W_PART(23); + h = H_PART(15); + SizeEx = H_ORIGINAL(0.8); + colorBackground[] = {0, 0, 0, 0.9}; + colorSelectBackground[] = {0, 0, 0, 0.9}; + columns[] = {0.0, 0.6}; + onLBSelChanged = QUOTE(_this call FUNC(settingsMenuUpdateKeyView)); + }; + class labelTitle: ACE_gui_staticBase { + idc = 250; + x = X_PART(27.1); + y = Y_PART(5.1); + w = W_PART(11); + h = H_PART(1); + text = ""; + SizeEx = H_PART(1); + }; + class labelKey: ACE_gui_staticBase { //Variable Name + idc = 300; + x = X_PART(27.1); + y = Y_PART(6.2); + w = W_PART(11); + h = H_PART(1); + text = ""; + SizeEx = H_PART(0.65); + }; + class Label2: labelKey { + idc = 301; + y = Y_PART(7.3); + text = "$STR_ACE_OptionsMenu_Setting"; + SizeEx = H_PART(1); + }; + class comboBox1: ACE_gui_comboBoxBase { + idc = 400; + x = X_PART(31.1); + y = Y_PART(7.3); + w = W_PART(7); + h = H_PART(1); + onLBSelChanged = QUOTE( call FUNC(onListBoxSettingsChanged)); + SizeEx = H_PART(0.9); + }; + class sliderBar1: RscXSliderH { + idc = 410; + x = X_PART(27.1); + y = Y_PART(7.3); + w = W_PART(11); + h = H_PART(0.75); + onSliderPosChanged = QUOTE(_this call FUNC(onSliderPosChanged)); + color[] = {1,0,0,0.4}; + colorActive[] = {1,0,0,1}; + }; + class sliderBar2: sliderBar1 { + idc = 411; + y = Y_PART(8.2); + color[] = {0,1,0,0.4}; + colorActive[] = {0,1,0,1}; + }; + class sliderBar3: sliderBar1 { + idc = 412; + y = Y_PART(9.1); + color[] = {0,0,1,0.4}; + colorActive[] = {0,0,1,1}; + }; + class sliderBar4: sliderBar1 { + idc = 413; + y = Y_PART(10); + color[] = {1,1,1,0.4}; + colorActive[] = {1,1,1,1}; + }; + class labelDesc: ACE_gui_staticBase { + idc = 251; + x = X_PART(27.1); + y = Y_PART(11); + w = W_PART(11); + h = H_PART(11); + text = ""; + style = ST_LEFT + ST_MULTI; + lineSpacing = 1; + SizeEx = H_PART(0.8); + }; + class actionClose: ACE_gui_buttonBase { + idc = 10; + text = "$STR_DISP_CLOSE"; + x = X_PART(1); + y = Y_PART(22.3); + w = W_PART(7.5); + h = H_PART(1); + style = ST_LEFT; + animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)"; + animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)"; + animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; + animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; + animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; + animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; + color[] = {1, 1, 1, 1}; + color2[] = {0,0,0, 1}; + colorBackgroundFocused[] = {1,1,1,1}; + colorBackground[] = {1,1,1,1}; + colorbackground2[] = {1,1,1,1}; + colorDisabled[] = {0.5,0.5,0.5,0.8}; + colorFocused[] = {0,0,0,1}; + periodFocus = 1; + periodOver = 1; + action = "closedialog 0;"; + SizeEx = H_PART(1); + Size = H_PART(1); + }; + class action_reset: actionClose { + idc = 1100; + text = "$STR_ACE_OptionsMenu_ResetAll"; + x = X_PART(9.5); + action = QUOTE([] call FUNC(resetSettings)); + }; + class action_exportServerConfig: actionClose { + idc = 1102; + text = "$STR_ACE_OptionsMenu_OpenExport"; + x = X_PART(18); + action = QUOTE(if (GVAR(serverConfigGeneration) > 0) then {createDialog 'ACE_serverSettingsMenu'; }); + }; }; - class selectionAction_1: ACE_gui_buttonBase { - idc = 1000; - text = "$STR_ACE_OptionsMenu_TabOptions"; - x = 1 * UNITX + OFFSETX; - y = 2.1 * UNITY + OFFSETY; - w = 9.5 * UNITX; - h = 1 * UNITY; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.8)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,1}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = QUOTE([MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged);); - }; - class selectionAction_2: selectionAction_1 { - idc = 1001; - text = "$STR_ACE_OptionsMenu_TabColors"; - x = 10.5 * UNITX + OFFSETX; - action = QUOTE([MENU_TAB_COLORS] call FUNC(onListBoxShowSelectionChanged);); - }; - class selectionAction_3: selectionAction_1 { - idc = 1002; - text = ""; - x = 20 * UNITX + OFFSETX; - action = ""; - }; - class selectionAction_4: selectionAction_1 { - idc = 1003; - text = ""; - x = 29.5 * UNITX + OFFSETX; - action = ""; - }; - class listBoxSettingsList: ACE_gui_listNBox { - idc = 200; - x = 2 * UNITX + OFFSETX; - y = 5.5 * UNITY + OFFSETY; - w = 23 * UNITX; - h = 15 * UNITY; - SizeEx = (UNITY * 0.8); - colorBackground[] = {0, 0, 0, 0.9}; - colorSelectBackground[] = {0, 0, 0, 0.9}; - columns[] = {0.0, 0.6}; - onLBSelChanged = QUOTE(_this call FUNC(settingsMenuUpdateKeyView)); - }; - class labelTitle: ACE_gui_staticBase { - idc = 250; - x = 27.1 * UNITX + OFFSETX; - y = 5.1 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 1 * UNITY; - text = ""; - SizeEx = (UNITY *1); - }; - class labelKey: ACE_gui_staticBase { //Variable Name - idc = 300; - x = 27.1 * UNITX + OFFSETX; - y = 6.2 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 1 * UNITY; - text = ""; - SizeEx = (UNITY * 0.65); - }; - class Label2: labelKey { - idc = 301; - y = 7.3 * UNITY + OFFSETY; - text = "$STR_ACE_OptionsMenu_Setting"; - SizeEx = (UNITY * 1); - }; - class comboBox1: ACE_gui_comboBoxBase { - idc = 400; - x = 31.1 * UNITX + OFFSETX; - y = 7.3 * UNITY + OFFSETY; - w = 7 * UNITX; - h = 1 * UNITY; - onLBSelChanged = QUOTE( call FUNC(onListBoxSettingsChanged)); - SizeEx = (UNITY * 0.9); - }; - class sliderBar1: RscXSliderH { - idc = 410; - x = 27.1 * UNITX + OFFSETX; - y = 7.3 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 0.75 * UNITY; - onSliderPosChanged = QUOTE(_this call FUNC(onSliderPosChanged)); - color[] = {1,0,0,0.4}; - colorActive[] = {1,0,0,1}; - }; - class sliderBar2: sliderBar1 { - idc = 411; - y = 8.2 * UNITY + OFFSETY; - color[] = {0,1,0,0.4}; - colorActive[] = {0,1,0,1}; - }; - class sliderBar3: sliderBar1 { - idc = 412; - y = 9.1 * UNITY + OFFSETY; - color[] = {0,0,1,0.4}; - colorActive[] = {0,0,1,1}; - }; - class sliderBar4: sliderBar1 { - idc = 413; - y = 10 * UNITY + OFFSETY; - color[] = {1,1,1,0.4}; - colorActive[] = {1,1,1,1}; - }; - class labelDesc: ACE_gui_staticBase { - idc = 251; - x = 27.1 * UNITX + OFFSETX; - y = 11 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 11 * UNITY; - text = ""; - style = ST_LEFT + ST_MULTI; - lineSpacing = 1; - SizeEx = (UNITY * 0.8); - }; - class actionClose: ACE_gui_buttonBase { - idc = 10; - text = "$STR_DISP_CLOSE"; - x = 1 * UNITX + OFFSETX; - y = 22.3 * UNITY + OFFSETY; - w = 7.5 * UNITX; - h = 1 * UNITY; - style = ST_LEFT; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = "closedialog 0;"; - }; - class action_reset: actionClose { - idc = 1100; - text = "$STR_ACE_OptionsMenu_ResetAll"; - x = 26.1 * (SIZEX / 40) + OFFSETX; - action = QUOTE([] call FUNC(resetSettings)); - }; - class action_exportServerConfig: actionClose { - idc = 1102; - text = "$STR_ACE_OptionsMenu_OpenExport"; - x = 1 * (SIZEX / 40) + OFFSETX; - action = QUOTE(if (GVAR(serverConfigGeneration) > 0) then {createDialog 'ACE_serverSettingsMenu'; }); - }; - }; }; class ACE_serverSettingsMenu: ACE_settingsMenu { onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_serverSettingsMenu', _this select 0)]; [] call FUNC(onServerSettingsMenuOpen);); onUnload = QUOTE(uiNamespace setVariable [ARR_2('ACE_serverSettingsMenu', nil)];); - class controls: controls { - class HeaderName { - idc = 1; - type = CT_STATIC; - x = 1 * UNITX + OFFSETX; - y = 1 * UNITY + OFFSETY; - w = 38 * UNITX; - h = 1 * UNITY; - style = ST_LEFT + ST_SHADOW; - font = "PuristaMedium"; - SizeEx = (UNITY * 1); - colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {0,0,0,0}; - text = "$STR_ACE_OptionsMenu_OpenConfigMenu"; + class controls: controls { + class HeaderName { + idc = 1; + type = CT_STATIC; + x = X_PART(1); + y = Y_PART(1); + w = W_PART(38); + h = H_PART(1); + style = ST_LEFT + ST_SHADOW; + font = "PuristaMedium"; + SizeEx = H_PART(1); + colorText[] = {0.95, 0.95, 0.95, 0.75}; + colorBackground[] = {0,0,0,0}; + text = "$STR_ACE_OptionsMenu_OpenConfigMenu"; + }; + class labelSubHeader: ACE_gui_staticBase { + idc = 13; + x = X_PART(2); + y = Y_PART(3.4); + w = W_PART(30); + h = H_PART(1); + text = ""; + }; + class selectionAction_1: ACE_gui_buttonBase { + idc = 1000; + text = "$STR_ACE_OptionsMenu_TabOptions"; + x = X_PART(1); + y = Y_PART(2.1); + w = W_PART(9.5); + h = H_PART(1); + animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.8)"; + animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; + animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; + animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; + animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; + color[] = {1, 1, 1, 1}; + color2[] = {0,0,0, 1}; + colorBackgroundFocused[] = {1,1,1,1}; + colorBackground[] = {1,1,1,1}; + colorbackground2[] = {1,1,1,1}; + colorDisabled[] = {1,1,1,1}; + colorFocused[] = {0,0,0,1}; + periodFocus = 1; + periodOver = 1; + action = QUOTE([MENU_TAB_SERVER_OPTIONS] call FUNC(onServerListBoxShowSelectionChanged);); + }; + class selectionAction_2: selectionAction_1 { + idc = 1001; + text = "$STR_ACE_OptionsMenu_TabColors"; + x = X_PART(10.5); + action = QUOTE([MENU_TAB_SERVER_COLORS] call FUNC(onServerListBoxShowSelectionChanged);); + }; + class selectionAction_3: selectionAction_1 { + idc = 1002; + text = "$STR_ACE_OptionsMenu_TabValues"; + x = X_PART(20); + action = QUOTE([MENU_TAB_SERVER_VALUES] call FUNC(onServerListBoxShowSelectionChanged);); + }; + class selectionAction_4: selectionAction_1 { + idc = 1003; + text = ""; + x = X_PART(29.5); + action = ""; + }; + class listBoxSettingsList: ACE_gui_listNBox { + idc = 200; + x = X_PART(2); + y = Y_PART(5.5); + w = W_PART(23); + h = H_PART(15); + SizeEx = H_ORIGINAL(0.8); + colorBackground[] = {0, 0, 0, 0.9}; + colorSelectBackground[] = {0, 0, 0, 0.9}; + columns[] = {0.0, 0.6}; + onLBSelChanged = QUOTE(_this call FUNC(serverSettingsMenuUpdateKeyView)); + }; + class labelTitle: ACE_gui_staticBase { + idc = 250; + x = X_PART(27.1); + y = Y_PART(5.1); + w = W_PART(11); + h = H_PART(1); + text = ""; + SizeEx = H_PART(1); + }; + class labelKey: ACE_gui_staticBase { //Variable Name + idc = 300; + x = X_PART(27.1); + y = Y_PART(6.2); + w = W_PART(11); + h = H_PART(1); + text = ""; + SizeEx = H_PART(0.65); + }; + class Label2: labelKey { + idc = 301; + y = Y_PART(7.3); + text = "$STR_ACE_OptionsMenu_Setting"; + SizeEx = H_PART(1); + }; + class comboBox1: ACE_gui_comboBoxBase { + idc = 400; + x = X_PART(31.1); + y = Y_PART(7.3); + w = W_PART(7); + h = H_PART(1); + onLBSelChanged = QUOTE( call FUNC(onListBoxSettingsChanged)); + SizeEx = H_PART(0.9); + }; + class sliderBar1: RscXSliderH { + idc = 410; + x = X_PART(27.1); + y = Y_PART(7.3); + w = W_PART(11); + h = H_PART(0.75); + onSliderPosChanged = QUOTE(_this call FUNC(onSliderPosChanged)); + color[] = {1,0,0,0.4}; + colorActive[] = {1,0,0,1}; + }; + class sliderBar2: sliderBar1 { + idc = 411; + y = Y_PART(8.2); + color[] = {0,1,0,0.4}; + colorActive[] = {0,1,0,1}; + }; + class sliderBar3: sliderBar1 { + idc = 412; + y = Y_PART(9.1); + color[] = {0,0,1,0.4}; + colorActive[] = {0,0,1,1}; + }; + class sliderBar4: sliderBar1 { + idc = 413; + y = Y_PART(10); + color[] = {1,1,1,0.4}; + colorActive[] = {1,1,1,1}; + }; + class inputField1: ACE_gui_editBase { + idc = 414; + x = X_PART(27.1); + y = Y_PART(7.3); + w = W_PART(11); + h = H_PART(0.75); + }; + class inputFieldTypeLabel: ACE_gui_staticBase { + idc = 415; + x = X_PART(27.1); + y = Y_PART(8.2); + w = W_PART(11); + h = H_PART(0.75); + text = ""; + style = ST_LEFT + ST_MULTI; + lineSpacing = 1; + SizeEx = H_PART(0.8); + }; + class saveInputButton: selectionAction_1 { + idc = 416; + text = "$STR_ACE_OptionsMenu_SaveInput"; + x = X_PART(27.1); + y = Y_PART(9.1); + w = W_PART(11); + h = H_PART(1); + action = QUOTE([] call FUNC(onServerSaveInputField);); + }; + class labelDesc: ACE_gui_staticBase { + idc = 251; + x = X_PART(27.1); + y = Y_PART(11); + w = W_PART(11); + h = H_PART(11); + text = ""; + style = ST_LEFT + ST_MULTI; + lineSpacing = 1; + SizeEx = H_PART(0.8); + }; + class actionClose; + class action_reset: actionClose { + idc = 1100; + text = "$STR_ACE_OptionsMenu_ResetAll"; + x = X_PART(26.1); + action = QUOTE([] call FUNC(serverResetSettings)); + }; + class action_exportServerConfig: actionClose { + idc = 1101; + text = "$STR_ACE_OptionsMenu_Export"; + x = X_PART(1); + action = QUOTE([] call FUNC(exportSettings)); + }; + class action_toggleIncludeClientSettings: actionClose { + idc = 1102; + text = "$STR_ACE_OptionsMenu_inClientSettings"; + x = X_PART(9); + action = QUOTE([] call FUNC(toggleIncludeClientSettings)); + }; }; - class labelSubHeader: ACE_gui_staticBase { - idc = 13; - x = 2 * UNITX + OFFSETX; - y = 3.4 * UNITY + OFFSETY; - w = 30 * UNITX; - h = 1 * UNITY; - text = ""; - }; - class selectionAction_1: ACE_gui_buttonBase { - idc = 1000; - text = "$STR_ACE_OptionsMenu_TabOptions"; - x = 1 * UNITX + OFFSETX; - y = 2.1 * UNITY + OFFSETY; - w = 9.5 * UNITX; - h = 1 * UNITY; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.8)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,1}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = QUOTE([MENU_TAB_SERVER_OPTIONS] call FUNC(onServerListBoxShowSelectionChanged);); - }; - class selectionAction_2: selectionAction_1 { - idc = 1001; - text = "$STR_ACE_OptionsMenu_TabColors"; - x = 10.5 * UNITX + OFFSETX; - action = QUOTE([MENU_TAB_SERVER_COLORS] call FUNC(onServerListBoxShowSelectionChanged);); - }; - class selectionAction_3: selectionAction_1 { - idc = 1002; - text = "$STR_ACE_OptionsMenu_TabValues"; - x = 20 * UNITX + OFFSETX; - action = QUOTE([MENU_TAB_SERVER_VALUES] call FUNC(onServerListBoxShowSelectionChanged);); - }; - class selectionAction_4: selectionAction_1 { - idc = 1003; - text = ""; - x = 29.5 * UNITX + OFFSETX; - action = ""; - }; - class listBoxSettingsList: ACE_gui_listNBox { - idc = 200; - x = 2 * UNITX + OFFSETX; - y = 5.5 * UNITY + OFFSETY; - w = 23 * UNITX; - h = 15 * UNITY; - SizeEx = (UNITY * 0.8); - colorBackground[] = {0, 0, 0, 0.9}; - colorSelectBackground[] = {0, 0, 0, 0.9}; - columns[] = {0.0, 0.6}; - onLBSelChanged = QUOTE(_this call FUNC(serverSettingsMenuUpdateKeyView)); - }; - class labelTitle: ACE_gui_staticBase { - idc = 250; - x = 27.1 * UNITX + OFFSETX; - y = 5.1 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 1 * UNITY; - text = ""; - SizeEx = (UNITY *1); - }; - class labelKey: ACE_gui_staticBase { //Variable Name - idc = 300; - x = 27.1 * UNITX + OFFSETX; - y = 6.2 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 1 * UNITY; - text = ""; - SizeEx = (UNITY * 0.65); - }; - class Label2: labelKey { - idc = 301; - y = 7.3 * UNITY + OFFSETY; - text = "$STR_ACE_OptionsMenu_Setting"; - SizeEx = (UNITY * 1); - }; - class comboBox1: ACE_gui_comboBoxBase { - idc = 400; - x = 31.1 * UNITX + OFFSETX; - y = 7.3 * UNITY + OFFSETY; - w = 7 * UNITX; - h = 1 * UNITY; - onLBSelChanged = QUOTE( call FUNC(onListBoxSettingsChanged)); - SizeEx = (UNITY * 0.9); - }; - class sliderBar1: RscXSliderH { - idc = 410; - x = 27.1 * UNITX + OFFSETX; - y = 7.3 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 0.75 * UNITY; - onSliderPosChanged = QUOTE(_this call FUNC(onSliderPosChanged)); - color[] = {1,0,0,0.4}; - colorActive[] = {1,0,0,1}; - }; - class sliderBar2: sliderBar1 { - idc = 411; - y = 8.2 * UNITY + OFFSETY; - color[] = {0,1,0,0.4}; - colorActive[] = {0,1,0,1}; - }; - class sliderBar3: sliderBar1 { - idc = 412; - y = 9.1 * UNITY + OFFSETY; - color[] = {0,0,1,0.4}; - colorActive[] = {0,0,1,1}; - }; - class sliderBar4: sliderBar1 { - idc = 413; - y = 10 * UNITY + OFFSETY; - color[] = {1,1,1,0.4}; - colorActive[] = {1,1,1,1}; - }; - class inputField1: ACE_gui_editBase { - idc = 414; - x = 27.1 * UNITX + OFFSETX; - y = 7.3 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 0.75 * UNITY; - }; - class inputFieldTypeLabel: ACE_gui_staticBase { - idc = 415; - x = 27.1 * UNITX + OFFSETX; - y = 8.2 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 0.75 * UNITY; - text = ""; - style = ST_LEFT + ST_MULTI; - lineSpacing = 1; - SizeEx = (UNITY * 0.8); - }; - class saveInputButton: selectionAction_1 { - idc = 416; - text = "$STR_ACE_OptionsMenu_SaveInput"; - x = 27.1 * UNITX + OFFSETX; - y = 9.1 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 1 * UNITY; - action = QUOTE([] call FUNC(onServerSaveInputField);); - }; - class labelDesc: ACE_gui_staticBase { - idc = 251; - x = 27.1 * UNITX + OFFSETX; - y = 11 * UNITY + OFFSETY; - w = 11 * UNITX; - h = 11 * UNITY; - text = ""; - style = ST_LEFT + ST_MULTI; - lineSpacing = 1; - SizeEx = (UNITY * 0.8); - }; - class actionClose; - class action_reset: actionClose { - idc = 1100; - text = "$STR_ACE_OptionsMenu_ResetAll"; - x = 26.1 * (SIZEX / 40) + OFFSETX; - action = QUOTE([] call FUNC(serverResetSettings)); - }; - class action_exportServerConfig: actionClose { - idc = 1101; - text = "$STR_ACE_OptionsMenu_Export"; - x = 1 * (SIZEX / 40) + OFFSETX; - action = QUOTE([] call FUNC(exportSettings)); - }; - class action_toggleIncludeClientSettings: actionClose { - idc = 1102; - text = "$STR_ACE_OptionsMenu_inClientSettings"; - x = 9 * (SIZEX / 40) + OFFSETX; - action = QUOTE([] call FUNC(toggleIncludeClientSettings)); - }; - }; }; diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 76407da435..8a86563690 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,107 +1,224 @@  - - - - ACE Options - ACE Optionen - Opciones ACE - Opcje ACE - ACE Nastavení - ACE Options - ACE Настройки - Opções do ACE - ACE Opciók - Opzioni ACE - - - Fix Animation - - - Reset All - Rücksetzen - - - Colors - Farben - цвета - Colors - - - Options - Optionen - Opciones - Opcje - Nastavení - Options - Настройки - Opções - Opciók - Opzioni - - - Values - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Setting: - Nastavení: - Einstellung: - Yстановки: - Ajuste: - - - Export - - - Open Export Menu - - - String input. - - - Array. Seperate elements by using ,. - - - Number - - - Uknown input type - - - Save input - - - Include Client Settings - - - Exclude Client Settings - - - Settings exported to clipboard - - + + + ACE Options + ACE Optionen + Opciones ACE + Ustawienia ACE + ACE Nastavení + Options ACE + ACE Настройки + Opções do ACE + ACE Beállítások + Opzioni ACE + + + Fix Animation + Behebe Animation + Arreglar animación + Фикс анимации + Opravit animace + Napraw animację + Corriger animation + Animációk kijavítása + Fixa l'animazione + + + Reset All + Alles zurücksetzen + Reiniciar todo + Полный сброс + Vyresetovat vše + Resetuj wszystko + Défaut + Minden visszaállítása + Resetta tutto + + + Colors + Couleurs + Farben + Colores + Цвета + Barvy + Kolory + Színek + Colori + + + Options + Optionen + Opciones + Opcje + Nastavení + Options + Настройки + Opções + Beállítások + Opzioni + + + Values + Valores + Значения + Hodnoty + Wartości + Valeurs + Werte + Értékek + Valori + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Setting: + Nastavení: + Einstellung: + Установки: + Ajuste: + Ustaw: + Paramètres + Opció: + Parametri: + + + Export + Exportieren + Exportar + Экспорт + Exportovat + Eksport + Exporter + Exportálás + Esporta + + + Open Export Menu + Öffne Exportmenü + Abrir menu d'exportación + Открыть меню экспорта + Otevřít exportovací menu + Otwórz menu eksportowania + Ouvrir le menu d'exportation + Exportálási menü megnyitása + Apri menù esportazione + + + String input. + Zeichenketteneingabe + Introducir frase + Строчный ввод. + Wpisywanie tekstu. + Entrée + String bevitel. + Stringa di unput. + + + Array. Seperate elements by using ,. + Array. Teile unterschiedliche Elemente mit ,. + Matriz. Separa elementos usando ,. + Массив. Разделяйте элемены, используя запятую. + Tablica. Oddziel elementy używając ,. + Tableau. Séparation par ,. + Tabulka. Odděl elementy použitím ,. + Array. Válasszad el az elemeket vesszővel. + Array. Separa gli elementi usando ,. + + + Number + Zahl + Numero + Число + Číslo + Cyfra + Nombre + Szám + Numero + + + Uknown input type + Unbekannter Eingabetyp + Tipo de entrada desconocida + Неизвестный тип ввода + Neznámý vstup + Nieznany rodzaj danych + Type d'entrée inconnue + Ismeretlen beviteli típus + Input inserito sconosciuto + + + Save input + Speichere Eingabe + Guardar entrada + Сохранить ввод + Uložit vstup + Zapisz dane + Sauvegarder + Bevitel elmentése + Salva input + + + Include Client Settings + Schließe Client-Einstellungen ein + Incluir configuración de cliente + Включить настройки клиента + Zahrnout nastavení klienta + Zawrzyj ustawienia klienta + Inclure paramètres client + Kliens-beállítások melléklése + Includi i parametri del client + + + Exclude Client Settings + Schließe Client-Einstellungen aus + Excluir configuración de cliente + Исключить настройки клиента + Nezahrnout nastavení klienta + Wyklucz ustawienia klienta + Exclure paramètres client + Kliens-beállítások elhagyása + Escludi i parametri del client + + + Settings exported to clipboard + Einstellungen in die Zwischenablage exportiert + Configuración exportada al portapapeles + Настройки экспортированы в буфер обмена + Nastevení exportována do schránky + Ustawienia wyeksportowano do schowka + Paramètres exportés dans le presse papier + Beállítások exportálva a vágólapba + Parametri esportati alla clipboard + + + Option Menu UI Scaling + Menu option: taille de l'UI + Skalowanie UI menu ustawień + Opción de escalado del menú UI + UI Skalierung + + \ No newline at end of file diff --git a/addons/overheating/CfgVehicles.hpp b/addons/overheating/CfgVehicles.hpp index aa01c66ec7..5c7f7b9eb6 100644 --- a/addons/overheating/CfgVehicles.hpp +++ b/addons/overheating/CfgVehicles.hpp @@ -13,16 +13,16 @@ class CfgVehicles { icon = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); hotkey = "B"; }; - }; - class ACE_CheckTemperature { - displayName = "$STR_ACE_Overheating_CheckTemperatureShort"; - condition = QUOTE( currentWeapon _player in [ARR_3(primaryWeapon _player, secondaryWeapon _player, handgunWeapon _player)] ); - exceptions[] = {"isNotInside"}; - statement = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(CheckTemperature); ); - showDisabled = 0; - priority = 3.1; - icon = QUOTE(PATHTOF(UI\temp_ca.paa)); - hotkey = "P"; + class ACE_CheckTemperature { + displayName = "$STR_ACE_Overheating_CheckTemperatureShort"; + condition = "switch (currentWeapon _player) do {case (''): {false}; case (primaryWeapon _player); case (secondaryWeapon _player); case (handgunWeapon _player): {true}; default {false}}"; + exceptions[] = {"isNotInside"}; + statement = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(CheckTemperature); ); + showDisabled = 0; + priority = 2.9; + icon = QUOTE(PATHTOF(UI\temp_ca.paa)); + hotkey = "P"; + }; }; }; }; diff --git a/addons/overheating/CfgWeapons.hpp b/addons/overheating/CfgWeapons.hpp index fff251f096..12ec43024f 100644 --- a/addons/overheating/CfgWeapons.hpp +++ b/addons/overheating/CfgWeapons.hpp @@ -129,52 +129,3 @@ class CfgWeapons { ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; }; }; - -class CfgAmmo { - class BulletCore; - class BulletBase : BulletCore { - ACE_BulletMass = 0; // Bullet mass in grams - }; - - // Rifle and MG rounds - class B_556x45_Ball : BulletBase { - ACE_BulletMass = 4.1; // 5.56x45 NATO - }; - - class B_65x39_Caseless : BulletBase { - ACE_BulletMass = 8; // 6.5mm Grendel - }; - - class B_762x51_Ball : BulletBase { - ACE_BulletMass = 10; // 7.62x51 NATO - }; - class ACE_B_762x51_M118LR : B_762x51_Ball { - ACE_BulletMass = 11; // 7.62x51 NATO M118 - }; - - class B_127x99_Ball : BulletBase { - ACE_BulletMass = 42; // 12.7×99mm NATO (.50 BMG) - }; - - class B_127x108_Ball : BulletBase { - ACE_BulletMass = 48.3; // 12.7x108 - }; - - class B_408_Ball : BulletBase { - ACE_BulletMass = 27; // .408 Cheyenne Tactical - }; - - // Pistol Rounds - class B_9x21_Ball : BulletBase { - ACE_BulletMass = 7.45; // 9×21mm IMI - }; - class B_9x19_Ball : B_9x21_Ball { - ACE_BulletMass = 7.45; // 9×19mm Parabellum - }; - class B_127x33_Ball : BulletBase { - ACE_BulletMass = 21; // .50 AE - }; - class B_45ACP_Ball : BulletBase { - ACE_BulletMass = 12; // .45 ACP - }; -}; diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 1d932d1f51..bd6cdbbdd3 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {"ACE_SpareBarrel"}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"commy2", "KoffeinFlummi", "esteldunedain"}; authorUrl = "https://github.com/commy2/"; VERSION_CONFIG; @@ -23,7 +23,7 @@ class CfgPatches { class ACE_Settings { class GVAR(DisplayTextOnJam) { typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; value = 1; displayName = "$STR_ACE_overheating_SettingDisplayTextName"; description = "$STR_ACE_overheating_SettingDisplayTextDesc"; diff --git a/addons/overheating/functions/fnc_checkTemperature.sqf b/addons/overheating/functions/fnc_checkTemperature.sqf index 6c15068815..0b811f9792 100644 --- a/addons/overheating/functions/fnc_checkTemperature.sqf +++ b/addons/overheating/functions/fnc_checkTemperature.sqf @@ -18,6 +18,8 @@ EXPLODE_2_PVT(_this,_player,_weapon); +private ["_action"]; + // Play animation and report temperature _action = getText (configFile >> "CfgWeapons" >> _weapon >> "ACE_checkTemperatureAction"); diff --git a/addons/overheating/functions/fnc_displayTemperature.sqf b/addons/overheating/functions/fnc_displayTemperature.sqf index 5c17794cde..3012e480e3 100644 --- a/addons/overheating/functions/fnc_displayTemperature.sqf +++ b/addons/overheating/functions/fnc_displayTemperature.sqf @@ -16,7 +16,7 @@ EXPLODE_2_PVT(_this,_player,_weapon); // Calculate cool down of weapon since last shot -private ["_string", "_overheat", "_temperature", "_time", "_barrelMass"]; +private ["_string", "_overheat", "_temperature", "_time", "_barrelMass", "_a"]; _string = format [QGVAR(%1), _weapon]; _overheat = _player getVariable [_string, [0, 0]]; _temperature = _overheat select 0; @@ -45,7 +45,7 @@ _color = [ 00 ]; -_count = 2 + round (10 * _scaledTemperature); +_count = round (12 * _scaledTemperature); _string = ""; for "_a" from 1 to _count do { _string = _string + "|"; @@ -59,7 +59,7 @@ for "_a" from (_count + 1) to 12 do { _text = composeText [ _text, - [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredTex)t + [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredText) ]; _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index d1f7a737d9..05e5bbba9c 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -17,7 +17,8 @@ */ #include "\z\ace\addons\overheating\script_component.hpp" -private ["_unit", "_weapon", "_ammo", "_projectile"]; +private ["_unit", "_weapon", "_ammo", "_projectile", "_velocity", "_variableName", "_overheat", "_temperature", "_time", "_bulletMass", "_energyIncrement", "_barrelMass", "_scaledTemperature", "_intensity", "_position", "_direction", "_dispersion", "_count", "_slowdownFactor", "_jamChance", "_surface"]; + _unit = _this select 0; _weapon = _this select 1; _ammo = _this select 4; @@ -25,8 +26,6 @@ _projectile = _this select 6; _velocity = velocity _projectile; -private ["_variableName", "_overheat", "_temperature", "_time", "_energyIncrement", "_barrelMass", "_scaledTemperature"]; - // each weapon has it's own variable. Can't store the temperature in the weapon since they are not objects unfortunately. _variableName = format [QGVAR(%1), _weapon]; @@ -36,9 +35,10 @@ _temperature = _overheat select 0; _time = _overheat select 1; // Get physical parameters -_bulletMass = getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass"); +// Bullet mass is read from config in grains and converted to grams +_bulletMass = (getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass")) * 0.06480; if (_bulletMass == 0) then { - // If the bullet mass is not configured, estimate it + // If the bullet mass is not configured, estimate it directly in grams _bulletMass = 3.4334 + 0.5171 * (getNumber (configFile >> "CfgAmmo" >> _ammo >> "hit") + getNumber (configFile >> "CfgAmmo" >> _ammo >> "caliber")); }; _energyIncrement = 0.75 * 0.0005 * _bulletMass * (vectorMagnitudeSqr _velocity); diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 5d2c9595df..9699c67ede 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,156 +1,167 @@  - - - - Display text on jam - - - Display a notification whenever your weapon gets jammed - - - Spare barrel - Ersatzlauf - Cañón de repuesto - Zapasowa lufa - Náhradní hlaveň - Deuxième canon - Запасной ствол - Tartalék cső - Cano Reserva - Canna di ricambio - - - Use to swap barrel. - Benutzen, um Lauf zu wechseln. - Permite intercambiar el cañón - Umożliwia wymianę lufy - Používané k výměně hlavně - Utilisé pour changer de canon. - Используется для смены ствола. - Cső kicseréléséhez. - Use para trocar o cano/estriamento. - Usata per cambiare la canna. - - - Weapon jammed! - Ladehemmung! - Arma encasquillada! - Broń się zacięła! - Zbraň se zasekla! - Arme enrayée - Оружие заклинило! - Elakadt a fegyver! - Arma travada! - Arma inceppata! - - - Clear jam - Ladehemmung beheben - Desencasquillar el arma - Usuń zacięcie - Uvolnit zbraň - Désenrayer l'arme - Исправить клин оружия. - Hárítsd el az akadályt! - Destravar arma - Ripulisci l'arma - - - Jam cleared - Ladehemmung behoben - Arma desencasquillada - Zacięcie usunięte - Zbraň uvolněna - Arme désenrayée - Оружие исправлено - Akadály elhárítva! - Arma destravada - Arma pronta al fuoco - - - Swap barrel - Lauf wechseln - Cambiar el cañón - Wymień lufę - Vyměnit hlaveň - Changer de canon - Сменить ствол - Cserélj csövet! - Substituir cano - Sostiuisci la canna - - - Swapping barrel... - Lauf wird gewechselt... - Cambiando el cañón... - Wymienianie lufy... - Vyměňuji hlaveň ... - Changement du canon... - Смена ствола... - Cső cserélése... - Substituindo cano... - Sto sostituendo la canna ... - - - Swapped barrel - Lauf gewechselt - Cañón cambiado - Lufa wymieniona - Hlaveň vyměněna - Canon changé - Ствол сменен - Cső kicserélve! - Cano substituído - Canna sostituita - - - Check weapons temperature - Temperatur der Waffe prüfen - Verificar temperatura del arma - Sprawdź temperaturę broni - Vérifier la température de l'arme - Hőmérséklet ellenőrzése - Zjistit teplotu zbraně - Conferir temperatura da arma - Controlla la temperatura della canna - Проверить температуру оружия - - - Check<br/>temperature - Temperatur<br/>prüfen - Verificar<br/>temperatura - Sprawdź<br/>temperaturę - Vérifier la<br/>température - Hőmérséklet<br/>ellenőrzése - Zjistit<br/>teplotu - Conferir<br/>temperatura - Controlla la<br/>temperatura - Проверить<br/>температуру - - - Checking temperature ... - Prüfe Temperatur ... - Verificando temperatura ... - Sprawdzanie temperatury ... - Vérification de la température ... - Hőmérséklet ellenőrzése... - Zjišťuju teplotu ... - Conferindo temperatura ... - Sto controllando la temperatura ... - Проверка температуры ... - - - Temperature - Temperatur - Temperatura - Temperatura - Température - Hőmérséklet - Teplota - Temperatura - Temperatura - Температура - - - \ No newline at end of file + + + Display text on jam + Zeige Text bei Ladehemmung + Mostrar texto al encasquillar + Показывать текст, когда клинит оружие + Zobrazit upozornění při zaseknutí + Wyświetl tekst przy zacięciu broni + Affiche texte si enrayé + Szöveges értesítés kijelzése a fegyver elakadásakor + + + Display a notification whenever your weapon gets jammed + Zeige einen Hinweis, wenn die Waffe eine Ladehemmung hat. + Mostrar notificación cada vez que el arma se encasquille + Показывать уведомление каждый раз, когда клинит Ваше оружие. + Zobrazí upozornění při zaseknutí zbraně + Wyświetl powiadomienie za każdym razem, kiedy Twoja broń ulegnie zacięciu + Affiche une notification lors d'un enrayement + Egy szöveges értesítés jelenik meg, amikor a fegyver megakad + + + Spare barrel + Ersatzlauf + Cañón de repuesto + Zapasowa lufa + Náhradní hlaveň + Deuxième canon + Запасной ствол + Tartalék cső + Cano Reserva + Canna di ricambio + + + Use to swap barrel. + Benutzen, um Lauf zu wechseln. + Permite intercambiar el cañón + Umożliwia wymianę lufy + Používané k výměně hlavně + Utilisé pour changer de canon. + Используется для смены ствола. + Használd a cső kicseréléséhez. + Use para trocar o cano/estriamento. + Usata per cambiare la canna. + + + Weapon jammed! + Ladehemmung! + Arma encasquillada! + Zacięcie! + Zbraň se zasekla! + Arme enrayée + Оружие заклинило! + Megakadt a fegyver! + Arma travada! + Arma inceppata! + + + Clear jam + Ladehemmung beheben + Desencasquillar el arma + Usuń zacięcie + Uvolnit zbraň + Désenrayer l'arme + Исправить клин оружия. + Akadás elhárítása + Destravar arma + Ripulisci l'arma + + + Jam cleared + Ladehemmung behoben + Arma desencasquillada + Zacięcie usunięte + Zbraň uvolněna + Arme désenrayée + Оружие исправлено + Akadás elhárítva + Arma destravada + Arma pronta al fuoco + + + Swap barrel + Lauf wechseln + Cambiar el cañón + Wymień lufę + Vyměnit hlaveň + Changer de canon + Сменить ствол + Cső cserélése + Substituir cano + Sostiuisci la canna + + + Swapping barrel ... + Lauf wird gewechselt ... + Cambiando el cañón ... + Wymienianie lufy ... + Vyměňuji hlaveň ... + Changement du canon ... + Смена ствола ... + Cső kicserélése folyamatban ... + Substituindo cano ... + Sto sostituendo la canna ... + + + Swapped barrel + Lauf gewechselt + Cañón cambiado + Lufa wymieniona + Hlaveň vyměněna + Canon changé + Ствол сменен + Cső kicserélve + Cano substituído + Canna sostituita + + + Check weapon temperature + Temperatur der Waffe prüfen + Verificar temperatura del arma + Sprawdź temperaturę broni + Vérifier la température de l'arme + Fegyver hőmérsékletének ellenőrzése + Zjistit teplotu zbraně + Conferir temperatura da arma + Controlla la temperatura della canna + Проверить температуру оружия + + + Check weapon temperature + Waffentemperatur prüfen + Verificar temperatura del arma + Sprawdź temperaturę broni + Zkontrolovat teplotu zbraně + Vérifier la température + Fegyverhő ellenőrzése + Проверить температуру оружия + + + Checking temperature ... + Prüfe Temperatur ... + Verificando temperatura ... + Sprawdzanie temperatury ... + Vérification de la température ... + Hőmérséklet ellenőrzése ... + Zjišťuju teplotu ... + Conferindo temperatura ... + Sto controllando la temperatura ... + Проверка температуры ... + + + Temperature + Temperatur + Temperatura + Temperatura + Température + Hőmérséklet + Teplota + Temperatura + Temperatura + Температура + + + diff --git a/addons/parachute/CfgWeapons.hpp b/addons/parachute/CfgWeapons.hpp index 6388bbd5a1..067d065bf0 100644 --- a/addons/parachute/CfgWeapons.hpp +++ b/addons/parachute/CfgWeapons.hpp @@ -1,6 +1,8 @@ class CfgWeapons { class ItemWatch; - class ACE_Altimeter:ItemWatch { + class ACE_Altimeter: ItemWatch { + ACE_hideItemType = "Watch"; + author = "$STR_ACE_Common_ACETeam"; descriptionShort = "$STR_ACE_Parachute_AltimeterDescription"; displayName = "$STR_ACE_Parachute_AltimeterDisplayName"; diff --git a/addons/parachute/XEH_postInit.sqf b/addons/parachute/XEH_postInit.sqf index ead4b33943..19e6d413a2 100644 --- a/addons/parachute/XEH_postInit.sqf +++ b/addons/parachute/XEH_postInit.sqf @@ -14,12 +14,13 @@ * Public: No */ #include "script_component.hpp" + if (!hasInterface) exitWith {}; ["ACE3", QGVAR(showAltimeter), localize "STR_ACE_Parachute_showAltimeter", { // Conditions: canInteract - if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; if (!('ACE_Altimeter' in assignedItems ace_player)) exitWith {false}; if (!(missionNamespace getVariable [QGVAR(AltimeterActive), false])) then { [ace_player] call FUNC(showAltimeter); @@ -40,5 +41,4 @@ GVAR(PFH) = false; }] call EFUNC(common,addEventHandler); // don't show speed and height when in expert mode -["Parachute", {if (!cadetMode) then {_dlg = _this select 0; {(_dlg displayCtrl _x) ctrlShow false} forEach [121, 122, 1004, 1005, 1006, 1014];};}] call EFUNC(common,addInfoDisplayEventHandler); //@todo addEventHandler infoDisplayChanged with select 1 == "Parachute" -["Soldier", {if (!cadetMode) then {_dlg = _this select 0; {_ctrl = (_dlg displayCtrl _x); _ctrl ctrlSetPosition [0,0,0,0]; _ctrl ctrlCommit 0;} forEach [380, 382]};}] call EFUNC(common,addInfoDisplayEventHandler); //@todo addEventHandler infoDisplayChanged with select 1 == "Soldier" +["infoDisplayChanged", {_this call FUNC(handleInfoDisplayChanged)}] call EFUNC(common,addEventHandler); diff --git a/addons/parachute/XEH_preInit.sqf b/addons/parachute/XEH_preInit.sqf index 91c24606c6..f446d955b8 100644 --- a/addons/parachute/XEH_preInit.sqf +++ b/addons/parachute/XEH_preInit.sqf @@ -18,6 +18,7 @@ ADDON = false; PREP(doLanding); +PREP(handleInfoDisplayChanged); PREP(hideAltimeter); PREP(onEachFrame); PREP(showAltimeter); diff --git a/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf b/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf new file mode 100644 index 0000000000..9b076256dd --- /dev/null +++ b/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf @@ -0,0 +1,41 @@ +/* + * Author: commy2 + * Hides the height and velocity display while freefalling or parachuting on higher difficulties. + * + * Arguments: + * Stuff from infoDisplayChanged eventhandler. + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +private ["_dialog", "_type"]; + +_dialog = _this select 0; +_type = _this select 1; + +// don't do anything in noob mode +if (cadetMode) exitWith {}; + +switch (_type) do { + case ("Parachute"): { + { + (_dialog displayCtrl _x) ctrlShow false; + } forEach [121, 122, 1004, 1005, 1006, 1014]; + }; + + case ("Soldier"): { + { + private "_control"; + _control = (_dialog displayCtrl _x); + + // these reset ctrlShow every frame by the engine. Set height/width to 0 as work around. + _control ctrlSetPosition [0,0,0,0]; + _control ctrlCommit 0; + } forEach [380, 382]; + }; +}; +nil // switch might return true if no case was found. Just to make sure the return value matches diff --git a/addons/parachute/functions/fnc_showAltimeter.sqf b/addons/parachute/functions/fnc_showAltimeter.sqf index a8200fb2ca..45816cc883 100644 --- a/addons/parachute/functions/fnc_showAltimeter.sqf +++ b/addons/parachute/functions/fnc_showAltimeter.sqf @@ -14,19 +14,24 @@ * Public: Yes */ #include "script_component.hpp" + private ["_unit"]; + _unit = _this select 0; -(["ACE_Altimeter"] call BIS_fnc_rscLayer) cutRsc ["ACE_Altimeter", "PLAIN",0,true]; + +(["ACE_Altimeter"] call BIS_fnc_rscLayer) cutRsc ["ACE_Altimeter", "PLAIN", 0, true]; if (isNull (uiNamespace getVariable ["ACE_Altimeter", displayNull])) exitWith {}; GVAR(AltimeterActive) = true; + [{ - if (!GVAR(AltimeterActive)) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler);}; + if (!GVAR(AltimeterActive)) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler)}; disableSerialization; EXPLODE_4_PVT(_this select 0,_display,_unit,_oldHeight,_prevTime); - if !("ACE_Altimeter" in assignedItems _unit) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler);call FUNC(hideAltimeter);}; + if !("ACE_Altimeter" in assignedItems _unit) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler); call FUNC(hideAltimeter)}; + + private ["_height", "_hour", "_minute", "_descentRate","_HeightText", "_DecendRate", "_TimeText", "_curTime", "_timeDiff"]; - private ["_height", "_hour", "_minute", "_descentRate","_HeightText", "_DecendRate", "_TimeText", "_curTime"]; _HeightText = _display displayCtrl 1100; _DecendRate = _display displayCtrl 1000; _TimeText = _display displayCtrl 1001; @@ -35,7 +40,8 @@ GVAR(AltimeterActive) = true; _height = (getPosASL _unit) select 2; _curTime = time; - _descentRate = floor ((_oldHeight - _height) / (_curTime - _prevTime)); + _timeDiff = _curTime - _prevTime; + _descentRate = if(_timeDiff > 0) then {floor((_oldHeight - _height) / _timeDiff)} else {0}; _TimeText ctrlSetText (format ["%1:%2",[_hour, 2] call EFUNC(common,numberToDigitsString),[_minute, 2] call EFUNC(common,numberToDigitsString)]); _HeightText ctrlSetText (format ["%1", floor(_height)]); diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index f97b389eeb..c0a63755b1 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -1,46 +1,49 @@  - - - - Altimeter - Altimètre - Höhenmesser - Výškoměr - Wysokościomierz - Altímetro - Magasságmérő - Высотомер - - - Altimeter Watch - Montre altimètre - Höhenmesser - Hodinky s výškoměrem - Zegarek z wysokościomierzem - Reloj altímetro - Magasságmérő - Часы с высотомером - - - Used to show height, descent rate and the time. - Affiche la hauteur, le taux de descente et l'heure. - Zeigt Höhe, Fallgeschwindigkeit und Uhrzeit. - Používané k zjištění výšky, rychlosti sestupu a času. - Używany przez spadochroniarzy, pokazuje wysokość, prędkość opadania oraz czas. - Utilizado para mostrar altura, tasa de descenso y hora. - Mutatja a magasságot, zuhanás sebességét és az időt. - Используется для определения высоты, скорости снижения и времени. - - - Non-Steerable Parachute - Ungelenkter Fallschirm - Paracaídas no dirigible - Parachute non manœuvrable - Niesterowalny spadochron - Neříditelný padák - Irányithatatlan ejtőernyő - Неуправляемый парашют - - - \ No newline at end of file + + + Altimeter + Altimètre + Höhenmesser + Výškoměr + Wysokościomierz + Altímetro + Magasságmérő + Высотомер + Altimetro + + + Altimeter Watch + Montre altimètre + Höhenmesser + Hodinky s výškoměrem + Zegarek z wysokościomierzem + Reloj altímetro + Magasságmérős karóra + Часы с высотомером + Controlla l'altimetro + + + Used to show height, descent rate and the time. + Affiche la hauteur, le taux de descente et l'heure. + Zeigt Höhe, Fallgeschwindigkeit und Uhrzeit. + Používané k zjištění výšky, rychlosti sestupu a času. + Używany przez spadochroniarzy, pokazuje wysokość, prędkość opadania oraz czas. + Utilizado para mostrar altura, tasa de descenso y hora. + Mutatja a magasságot, a zuhanási sebességet, és az időt. + Используется для определения высоты, скорости снижения и времени. + Usato per mostrare l'altitudine, la velocità di discesa e l'ora. + + + Non-Steerable Parachute + Ungelenkter Fallschirm + Paracaídas no dirigible + Parachute non manœuvrable + Niesterowalny spadochron + Neříditelný padák + Irányíthatatlan ejtőernyő + Неуправляемый парашют + Paracadute non manovrabile + + + diff --git a/addons/protection/FixVests.hpp b/addons/protection/FixVests.hpp index f3d1ad2b3d..db00c1ea05 100644 --- a/addons/protection/FixVests.hpp +++ b/addons/protection/FixVests.hpp @@ -234,7 +234,7 @@ class V_PlateCarrierIA2_dgtl: V_PlateCarrierIA1_dgtl { // heavy }; }; class V_PlateCarrierIAGL_dgtl: V_PlateCarrierIA2_dgtl { // heavy (gl) - class ItemInfo: VestItem { + class ItemInfo: ItemInfo { containerClass = "Supply140"; //"Supply120"; mass = 100; //80; armor = 12; //100; diff --git a/addons/realisticnames/CfgWeapons.hpp b/addons/realisticnames/CfgWeapons.hpp index 56d9e3b7c8..8eb3c04577 100644 --- a/addons/realisticnames/CfgWeapons.hpp +++ b/addons/realisticnames/CfgWeapons.hpp @@ -193,7 +193,7 @@ class CfgWeapons { }; // marksmen marksman - /*class DMR_02_base_F: Rifle_Long_Base_F { + class DMR_02_base_F: Rifle_Long_Base_F { displayName = "$STR_ACE_RealisticNames_DMR_02"; //MAR-10 .338"; }; @@ -208,7 +208,6 @@ class CfgWeapons { class srifle_DMR_02_sniper_F: srifle_DMR_02_F { displayName = "$STR_ACE_RealisticNames_srifle_DMR_02_sniper"; //MAR-10 .338 (Sand)"; }; - class DMR_03_base_F: Rifle_Long_Base_F { displayName = "$STR_ACE_RealisticNames_DMR_03"; //Mk-I EMR 7.62 mm"; }; @@ -236,7 +235,6 @@ class CfgWeapons { class srifle_DMR_03_spotter_F: srifle_DMR_03_F { displayName = "$STR_ACE_RealisticNames_srifle_DMR_03_spotter"; //NATO DMR (provisional) spotter"; }; - class DMR_04_base_F: Rifle_Long_Base_F { displayName = "$STR_ACE_RealisticNames_DMR_04"; //ASP-1 Kir 12.7 mm"; }; @@ -264,7 +262,6 @@ class CfgWeapons { class srifle_DMR_05_tan_f: srifle_DMR_05_blk_F { displayName = "$STR_ACE_RealisticNames_srifle_DMR_05_tan"; //Cyrus 9.3 mm (Tan)"; }; - class DMR_06_base_F: Rifle_Long_Base_F { displayName = "$STR_ACE_RealisticNames_DMR_06"; //Mk14 7.62 mm"; }; @@ -289,7 +286,6 @@ class CfgWeapons { class MMG_01_tan_F: MMG_01_hex_F { displayName = "$STR_ACE_RealisticNames_MMG_01_tan"; //Navid 9.3 mm (Tan)"; }; - class MMG_02_base_F: Rifle_Long_Base_F { displayName = "$STR_ACE_RealisticNames_MMG_02"; //SPMG .338"; }; @@ -304,7 +300,7 @@ class CfgWeapons { class MMG_02_sand_F: MMG_02_camo_F { displayName = "$STR_ACE_RealisticNames_MMG_02_sand"; //SPMG .338 (Sand)"; - };*/ + }; // vehicle weapons diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 9ccd7752d2..37e7b28700 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,5 +1,4 @@  - @@ -31,7 +30,7 @@ XM312 (Hoch) XM312 (Alto) XM312 (Haut) - XM312 (Vysoký) + XM312 (vysoká montáž) XM312 (Wysoki) XM312 (Высокий) XM312 (Alta) @@ -67,7 +66,7 @@ XM307 (Hoch) XM307 (Alto) XM307 (Haut) - XM307 (Vysoký) + XM307 (vysoká montáž) XM307 (Wysoki) XM307 (Высокий) XM307 (Alta) @@ -76,26 +75,26 @@ Mini-Spike Launcher (AT) - Mini-Spike Lenkflugkörper (AT) + Mini-Spike Lenkflugkörper (PALR) Lanzador Mini-Spike (AT) Poste de tir Mini-Spike (AC) Mini-Spike Odpalovač (AT) Wyrzutnia Mini-Spike (AT) Mini-Spike Пусковое устройство (ПТРК) Lança-mísseis Mini-Spike (AC) - Mini-Spike rakétarendszer (páncéltörő) + Mini-Spike rakétarendszer (Tankelhárító) Lanciatore Mini-Spike (AC) Mini-Spike Launcher (AA) - Mini-Spike Lenkflugkörper (AA) + Mini-Spike Lenkflugkörper (FlaRak) Lanzador Mini-Spike (AA) Poste de tir Mini-Spike (AA) Mini-Spike Odpalovač (AA) Wyrzutnia Mini-Spike (AA) Mini-Spike Пусковое устройство (ВВ) Lança-mísseis Mini-Spike (AA) - Mini-Spike rakétarendszer (légvédelmi) + Mini-Spike rakétarendszer (Repülő-elhárító) Lanciatore Mini-Spike (AA) @@ -117,6 +116,8 @@ YABHON-R3 (CAS) YABHON-R3 (CAS) YABHON-R3 (штурмовик) + YABHON-R3 (CAS) + YABHON-R3 (Légitámogató) M-ATV @@ -139,7 +140,7 @@ M-ATV (HMG) M-ATV (Пулемет) M-ATV (HMG) - M-ATV (HMG) + M-ATV (nehézgéppuska) M-ATV (HMG) @@ -151,7 +152,7 @@ M-ATV (GMG) M-ATV (Гранатомет) M-ATV (GMG) - M-ATV (GMG) + M-ATV (gránátgéppuska) M-ATV (GMG) @@ -295,7 +296,7 @@ HEMTT Conteneur HEMTT Контейнер HEMTT Contêiner - HEMTT Konténer + HEMTT (konténer) HEMTT portacontainer @@ -304,7 +305,7 @@ HEMTT médico HEMTT Medyczny HEMTT Zdravotnický - HEMTT Sanitaire + HEMTT Médical HEMTT Медицинский HEMTT Médico HEMTT (egészségügyi) @@ -367,7 +368,7 @@ Fennek (HMG) Феннек (Пулемет) Fennek (HMG) - Fennek (HMG) + Fennek (nehézgéppuska) Fennek (HMG) @@ -379,7 +380,7 @@ Fennek (GMG) Феннек (Гранатомет) Fennek (GMG) - Fennek (GMG) + Fennek (gránátgéppuska) Fennek (GMG) @@ -484,7 +485,7 @@ KamAZ médico KamAZ Medyczny KAMAZ Zdravotnický - KamAZ Sanitaire + KamAZ Médical КамАЗ Медицинский KamAZ Médico KamAZ (egészségügyi) @@ -511,19 +512,19 @@ Punisher (HMG) Kаратель (Пулемет) Punisher (HMG) - Punisher (HMG) + Punisher (nehézgéppuska) Punisher (HMG) Punisher (GMG) Punisher (GMW) Punisher (GMG) - Punisher (CKM) + Punisher (GMG) Punisher (granátomet) Punisher (GMG) Kаратель (Гранатомет) Punisher (GMG) - Punisher (GMG) + Punisher (gránátgéppuska) Punisher (GMG) @@ -535,7 +536,7 @@ T100 Black Eagle T100 Черный Орел T100 Black Eagle - T100 Black Eagle + T100 Fekete Sas T100 Black Eagle @@ -591,7 +592,7 @@ Typhoon Transport Typhoon de transporte Typhoon Transportowy - Typhoon Valník + Typhoon valník Typhoon Transport Тайфун Транспортный Typhoon Transporte @@ -603,7 +604,7 @@ Typhoon Transport (bedeckt) Typhoon de transporte (cubierto) Typhoon Transportowy (przykryty) - Typhoon Valník (krytý) + Typhoon valník (krytý) Typhoon Transport (bâché) Тайфун Транспортный (kрытый) Typhoon Transporte (coberto) @@ -615,11 +616,11 @@ Typhoon Gerät Typhoon de dispositivo Typhoon Urządzenie - Typhoon Zařízení + Typhoon zařízení Typhoon Dispositif Тайфун Устройство Typhoon Dispositivo - Typhoon (szerkezet) + Typhoon (eszköz) Typhoon per dispositivo @@ -627,7 +628,7 @@ Typhoon Munition Typhoon de munición Typhoon Amunicyjny - Typhoon Muniční + Typhoon muniční Typhoon Munitions Тайфун Боеприпасы Typhoon Munições @@ -639,7 +640,7 @@ Typhoon Treibstoff Typhoon de combustible Typhoon Cysterna - Typhoon Cisterna + Typhoon cisterna Typhoon Citerne Тайфун Заправщик Typhoon Combustível @@ -651,7 +652,7 @@ Typhoon Instandsetzung Typhoon de reparación Typhoon Naprawczy - Typhoon Opravárenský + Typhoon opravárenský Typhoon Réparation Тайфун Ремонтный Typhoon Reparador @@ -663,8 +664,8 @@ Typhoon Sanitäter Typhoon médico Typhoon Medyczny - Typhoon Zdravotnický - Typhoon Sanitaire + Typhoon zdravotnický + Typhoon Médical Тайфун Медицинский Typhoon Médico Typhoon (egészségügyi) @@ -724,7 +725,9 @@ CH-47I Chinnok (Desarmado) CH-47I Chinook (nieuzbrojony) CH-47I Chinook (невооруженный) - CH-47I Chinook (Neozbrojený) + CH-47I Chinook (neozbrojený) + CH-47I Chinook (non-armé) + CH-47I Chinook (fegyvertelen) A-10D Thunderbolt II @@ -783,7 +786,7 @@ L-159 ALCA (CAS) L-159 Альбатрос (CAS) L-159 ALCA (CAS) - L-159 ALCA (CAS) + L-159 ALCA (Légitámogató) L-159 ALCA (CAS) @@ -795,7 +798,7 @@ L-159 ALCA (AA) L-159 Альбатрос (AA) L-159 ALCA (ВВ) - L-159 ALCA (AA) + L-159 ALCA (Repülő-elhárító) L-159 ALCA (AA) @@ -863,8 +866,8 @@ M18A1 Claymore M18A1 Claymore Mina kierunkowa M18A1 Claymore - M18A1 Mina Claymore - M18A1 Claymore Mine antipersonnel à effet dirigé + Mina Claymore M18A1 + M18A1 Claymore M18A1 Клеймор M18A1 Claymore M18A1 Claymore akna @@ -875,7 +878,7 @@ M183 Geballte Sprengladung Conjunto de carga de demolición M183 Ładunek burzący M183 - M183 Demoliční nálož + Demoliční nálož M183 M183 Charge de Démolition M183 Комплектный подрывной заряд M183 Sacola de Demolição @@ -887,11 +890,11 @@ M112 Sprengladung Bloque de demolición M112 Ładunek burzący M112 - M112 Výbušná nálož - Pétard M112 + Výbušná nálož M112 + M112 Block de Démolition M112 подрывной заряд M112 Carga de Demolição - M112 romboló töltet + M112 romboló tömb M112 Demolition Block @@ -899,7 +902,7 @@ M67 Splittergranate Granada de fragmentación M67 Granat obronny M67 - M67 Granát + Granát M67 M67 Grenade à fragmentation M67 ручная осколочная граната M67 Granada de fragmentação @@ -911,9 +914,9 @@ M83 Rauchgranate (Weiss) Granada de humo M83 (Blanco) Granat dymny M83 (Biały) - M83 Kouřový Granát (Bílý) + M83 Kouřový Granát (bílý) M83 Grenade fumigène (Blanche) - M83 дымовой гранаты (Белый) + M83 дымовая граната (Белый) M83 Granada de fumaça (Branca) M83 füstgránát (Fehér) M83 Granata fumogena (Bianco) @@ -923,9 +926,9 @@ M18 Rauchgranate (Blau) Granada de humo M18 (Azul) Granat dymny M18 (Niebieski) - M18 Kouřový Granát (Modrý) + M18 Kouřový Granát (modrý) M18 Grenade fumigène (Bleue) - M18 дымовой гранаты (Синий) + M18 дымовая граната (Синий) M18 Granada de fumaça (Azul) M18 füstgránát (Kék) M18 Granata fumogena (Blu) @@ -935,9 +938,9 @@ M18 Rauchgranate (Grün) Granada de humo M18 (Verde) Granat dymny M18 (Zielony) - M18 Kouřový Granát (Zelený) + M18 Kouřový Granát (zelený) M18 Grenade fumigène (Verte) - M18 дымовой гранаты (Зелёный) + M18 дымовая граната (Зелёный) M18 Granada de fumaça (Verde) M18 füstgránát (Zöld) M18 Granata fumogena (Verde) @@ -947,9 +950,9 @@ M18 Rauchgranate (Orange) Granada de humo M18 (Naranja) Granat dymny M18 (Pomarańczowy) - M18 Kouřový Granát (Oranžový) + M18 Kouřový Granát (oranžový) M18 Grenade fumigène (Orange) - M18 дымовой гранаты (Оранжевый) + M18 дымовая граната (Оранжевый) M18 Granada de fumaça (Laranja) M18 füstgránát (Narancssárga) M18 Granata fumogena (Arancione) @@ -959,9 +962,9 @@ M18 Rauchgranate (Violett) Granada de humo M18 (Púrpura) Granat dymny M18 (Fioletowy) - M18 Kouřový Granát (Fialový) + M18 Kouřový Granát (fialový) M18 Grenade fumigène (Pourpre) - M18 дымовой гранаты (Пурпурный) + M18 дымовая граната (Пурпурный) M18 Granada de fumaça (Roxa) M18 füstgránát (Lila) M18 Granata fumogena (Viola) @@ -971,9 +974,9 @@ M18 Rauchgranate (Rot) Granada de humo M18 (Rojo) Granat dymny M18 (Czerwony) - M18 Kouřový Granát (Červený) + M18 Kouřový Granát (červený) M18 Grenade fumigène (Rouge) - M18 дымовой гранаты (Красный) + M18 дымовая граната (Красный) M18 Granada de fumaça (Vermelha) M18 füstgránát (Piros) M18 Granata fumogena (Rosso) @@ -983,9 +986,9 @@ M18 Rauchgranate (Gelb) Granada de humo M18 (Amarillo) Granat dymny M18 (Żółty) - M18 Kouřový Granát (Žlutý) + M18 Kouřový Granát (žlutý) M18 Grenade fumigène (Jaune) - M183 дымовой гранаты (Жёлтые) + M183 дымовая граната (Жёлтые) M18 Granada de fumaça (Amarela) M18 füstgránát (Sárga) M18 Granata fumogena (Giallo) @@ -995,7 +998,7 @@ M15 Panzerabwehrmine Mina antitanque M15 Mina przeciwpancerna M15 - M15 Protitanková Mina + Protitanková mina M15 M15 Mine antichar M15 противотанковая мина M15 Mina anticarro @@ -1007,8 +1010,8 @@ VS-50 Antipersonenmine Mina antipersona VS-50 Mina przeciwpiechotna VS-50 - VS-50 Protipěchotní Mina - VS-50 Mine antipersonnel à pression + Protipěchotní mina VS-50 + VS-50 Mine AP VS-50 Противопехотная мина VS-50 Mina antipessoal VS-50 gyalogsági taposóakna @@ -1019,8 +1022,8 @@ M26 Antipersonensprungmine Mina antipersona M26 Mina przeciwpiechotna M26 - M26 Šrapnelová Mina - M26 Mine antipersonnel bondissante + Šrapnelová mina M26 + M26 Mine AP bondissante M26 Противопехотная мина M26 Mina saltadora antipessoal M26 gyalogsági ugróakna @@ -1031,8 +1034,8 @@ PMR-3 Antipersonenstolperdrahtmine Mina antipersona de alambre PMR-3 Mina przeciwpiechotna PMR-3 - PMR-3 Nástražná Mina - PMR-3 Mine antipersonnel à traction + Nástražná mina PMR-3 + PMR-3 Mine AP à traction PMR-3 Противопехотная мина PMR-3 Mina antipessoal (armadilha) PMR-3 botlódrótos gyalogsági akna @@ -1041,270 +1044,694 @@ P99 P99 + P99 + P99 + P99 + P99 + P99 + P99 MP-443 Grach MP-443 Grach + MP-443 Grach + MP-443 Grach + MP-443 Grach + MP-443 Grach + MP-443 Grach + МР-443 "Грач" - ACP-C2 - ACP-C2 + Custom Covert II + Custom Covert II + Custom Covert II + Custom Covert II + Custom Covert II + Custom Covert II + Custom Covert II + Custom Covert II FNX-45 Tactical FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical Chiappa Rhino 60DS Chiappa Rhino 60DS + Chiappa Rhino 60DS + Chiappa Rhino 60DS + Chiappa Rhino 60DS + Chiappa Rhino 6DS + Chiappa Rhino 60DS + Chiappa Rhino 60DS Taurus Judge Taurus Judge + Taurus Judge + Taurus Judge + Taurus Judge + Taurus Judge + Taurus Judge + Taurus Judge NLAW NLAW + NLAW + NLAW + NLAW + NLAW + NLAW + NLAW RPG-32 RPG-32 + RPG-32 + RPG-32 + RPG-32 + RPG-32 + RPG-32 + РПГ-32 Mini-Spike (AA) - Mini-Spike (AA) + Mini-Spike (FlaRak) + Mini-Spike (PL) + Mini-Spike (AA) + Mini-Spike (AA) + Mini-Spike (Repülő-elhárító) + Mini-Spike (AA) + Mini-Spike (AA) Mini-Spike (AT) - Mini-Spike (AT) + Mini-Spike (PALR) + Mini-Spike (PT) + Mini-Spike (AT) + Mini-Spike (AC) + Mini-Spike (Tankelhárító) + Mini-Spike (AT) + Mini-Spike (AT) MX MX + MX + MX + MX + MX + MX + MX MX (Black) - MX (Black) + MX (Schwarz) + MX (Czarny) + MX (černý) + MX (Noir) + MX (Fekete) + MX (Negro) + MX (черный) MXC MXC + MXC + MXC + MXC + MXC + MXC + MXC MXC (Black) - MXC (Black) + MXC (Schwarz) + MXC (Czarny) + MXC (černý) + MXC (Noir) + MXC (Fekete) + MXC (Negro) + MXC (черный) MX 3GL MX 3GL + MX 3GL + MX 3GL + MX 3GL + MX 3GL + MX 3GL + MX 3GL MX 3GL (Black) - MX 3GL (Black) + MX 3GL (Schwarz) + MX 3GL (Czarny) + MX 3GL (černý) + MX 3GL (Noir) + MX 3GL (Fekete) + MX 3GL (Negro) + MX 3GL (черный) MX LSW MX LSW + MX LSW + MX LSW + MX LSW + MX LSW + MX LSW + MX LSW MX LSW (Black) - MX LSW (Black) + MX LSW (Schwarz) + MX LSW (Czarny) + MX LSW (černý) + MX LSW (Noir) + MX LSW (Fekete) + MX LSW (Negro) + MX LSW (черный) MXM MXM + MXM + MXM + MXM + MXM + MXM + MXM MXM (Black) - MXM (Black) + MXM (Schwarz) + MXM (Czarny) + MXM (černý) + MXM (Noir) + MXM (Fekete) + MXM (Negro) + MXM (черный) - KT2002 Katiba - KT2002 Katiba + KH2002 Sama + KH2002 Sama + KH2002 Sama + KH2002 Sama + KH2002 Sama + KH2002 Sama + KH2002 Sama + KH2002 Сама - KT2002C Katiba - KT2002C Katiba + KH2002C Sama + KH2002C Sama + KH2002C Sama + KH2002C Sama + KH2002C Sama + KH2002C Sama + KH2002C Sama + KH2002C Сама - KT2002 Katiba KGL - KT2002 Katiba KGL + KH2002 Sama KGL + KH2002 Sama KGL + KH2002 Sama KGL + KH2002 Sama KGL + KH2002 Sama KGL + KH2002 Sama KGL + KH2002 Sama KGL + KH2002 Сама KGL F2000 (Camo) - F2000 (Camo) + F2000 (Tarnmuster) + F2000 (kamuflaż) + F2000 (kamufláž + F2000 (Camo) + F2000 (Terepmintás) + F2000 (Camuflaje) + F2000 (камо) F2000 F2000 + F2000 + F2000 + F2000 + F2000 + F2000 + F2000 F2000 Tactical (Camo) - F2000 Tactical (Camo) + F2000 Tactical (Tarnmuster) + F2000 Tactical (kamuflaż) + F2000 Tactical (černý) + F2000 Tactical (Camo) + F2000 Tactical (Terepmintás) + F2000 Tactical (Camuflaje) + F2000 Tactical (камо) F2000 Tactical F2000 Tactical + F2000 Tactical + F2000 Tactical + F2000 Tactical + F2000 Tactical + F2000 Tactical + F2000 Tactical F2000 EGLM (Camo) - F2000 EGLM (Camo) + F2000 EGLM (Tarnmuster) + F2000 EGLM (kamuflaż) + F2000 EGLM (kamufláž) + F2000 EGLM (Camo) + F2000 EGLM (Terepmintás) + F2000 EGLM (Camuflaje) + F2000 EGLM (камо) F2000 EGLM F2000 EGLM + F2000 EGLM + F2000 EGLM + F2000 EGLM + F2000 EGLM + F2000 EGLM + F2000 EGLM TAR-21 TAR-21 + TAR-21 + TAR-21 + TAR-21 + TAR-21 + TAR-21 + TAR-21 CTAR-21 CTAR-21 + CTAR-21 + CTAR-21 + CTAR-21 + CTAR-21 + CTAR-21 + CTAR-21 TAR-21 EGLM TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM Vector SMG Vector SMG + Vector SMG + Vector SMG + Vector SMG + Vector SMG + Vector SMG + Vector SMG Scorpion Evo 3 A1 Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 CPW CPW + CPW + CPW + CPW + CPW + CPW + CPW RFB SDAR RFB SDAR + RFB SDAR + RFB SDAR + RFB SDAR + RFB SDAR + RFB SDAR + RFB SDAR Stoner 99 LMG Stoner 99 LMG + Stoner 99 LMG + Stoner 99 LMG + Stoner 99 LMG + Stoner 99 Könnyűgéppuska + Stoner 99 LMG + Stoner 99 LMG Negev NG7 Negev NG7 + Negev NG7 + Negev NG7 + Negev NG7 + Negev NG7 + Negev NG7 + Negev NG7 Mk14 Mod 1 EBR Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + Mk 14 Mod 1 EBR + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR GM6 Lynx GM6 Lynx + GM6 Lynx + GM6 Lynx + GM6 Lynx + GM6 Gepárd + GM6 Lynx + GM6 Lynx GM6 Lynx (Camo) - GM6 Lynx (Camo) + GM6 Lynx (Tarnmuster) + GM6 Lynx (kamuflaż) + GM6 Lynx (kamufláž) + GM6 Lynx (Camo) + GM6 Gepárd (Terepmintás) + GM6 Lynx (Camuflaje) + GM6 Lynx (камо) M200 Intervention M200 Intervention + M200 Intervention + M200 Intervention + M200 Intervention + M200 Intervention + M200 Intervention + M200 Intervention M200 Intervention (Camo) - M200 Intervention (Camo) + M200 Intervention (Tarnmuster) + M200 Intervention (kamuflaż) + M200 Intervention (kamufláž) + M200 Intervention (Camo) + M200 Intervention (Terepmintás) + M200 Intervention (Camuflaje) + M200 Intervention (камо) VS-121 VS-121 + VS-121 + VS-121 + VS-121 + VS-121 + VS-121 + VS-121 - - TODO: MAR-10 .338 + Noreen "Bad News" ULR + Noreen "Bad News" ULR + Noreen "Bad News" ULR + Noreen "Bad News" ULR + Noreen "Bad News" ULR + Noreen "Bad News" ULR + Noreen "Bad News" ULR - TODO: MAR-10 .338 (Black) + Noreen "Bad News" ULR (Black) + Noreen "Bad News" ULR (Black) + Noreen "Bad News" ULR (Noir) + Noreen "Bad News" ULR (Negro) + Noreen "Bad News" ULR (черный) + Noreen "Bad News" ULR (Schwarz) + Noreen "Bad News" ULR (czarny) - TODO: MAR-10 .338 (Camo) + Noreen "Bad News" ULR (Camo) + Noreen "Bad News" ULR (Camo) + Noreen "Bad News" ULR (Camo) + Noreen "Bad News" ULR (Camuflaje) + Noreen "Bad News" ULR (камо) + Noreen "Bad News" ULR (Camo) + Noreen "Bad News" ULR (kamuflaż) - TODO: MAR-10 .338 (Sand) + Noreen "Bad News" ULR (Sand) + Noreen "Bad News" ULR (Sand) + Noreen "Bad News" ULR (Beige) + Noreen "Bad News" ULR (Arena) + Noreen "Bad News" ULR (песочный) + Noreen "Bad News" ULR (Sand) + Noreen "Bad News" ULR (piaskowy) - - TODO: Mk-I EMR 7.62 mm + SIG 556 + SIG 556 + SIG 556 + SIG 556 + SIG 556 + SIG 556 + SIG 556 - TODO: Mk-I EMR 7.62 mm (Black) + SIG 556 (Black) + SIG 556 (Black) + SIG 556 (Noir) + SIG 556 (Negro) + SIG 556 (черный) + SIG 556 (czarny) + SIG 556 (Schwarz) - TODO: Mk-I EMR 7.62 mm (Khaki) + SIG 556 (Khaki) + SIG 556 (Khaki) + SIG 556 (Kaki) + SIG 556 (Caqui) + SIG 556 (хаки) + SIG 556 (khaki) + SIG 556 (Khaki) - TODO: Mk-I EMR 7.62 mm (Sand) + SIG 556 (Sand) + SIG 556 (Sand) + SIG 556 (Beige) + SIG 556 (Arena) + SIG 556 (песочный) + SIG 556 (piaskowy) + SIG 556 (Sand) - TODO: Mk-I EMR 7.62 mm (Camo) + SIG 556 (Camo) + SIG 556 (Camo) + SIG 556 (Camo) + SIG 556 (Camuflaje) + SIG 556 (камо) + SIG 556 (kamuflaż) + SIG 556 (Camo) - TODO: Mk-I EMR 7.62 mm (Woodland) + SIG 556 (Woodland) + SIG 556 (Woodland) + SIG 556 (Woodland) + SIG 556 (Bosque) + SIG 556 (лесной) + SIG 556 (leśny) + SIG 556 (Woodland) - TODO: NATO DMR (provisional) spotter + SIG 556 (provisional) spotter + SIG 556 (provisional) spotter + SIG 556 (provisoire) Observateur + SIG 556 (provisional) observador + SIG 556 (provisional) корректировщик + SIG 556 (prowizoryczny) obserwator + SIG 556 (provisorisch) Beobachter - - TODO: ASP-1 Kir 12.7 mm + ASP-1 Kir + ASP-1 Kir + ASP-1 Kir + ASP-1 Kir + ASP-1 Kir + ASP-1 Kir + ASP-1 Kir - TODO: ASP-1 Kir 12.7 mm (Black) + ASP-1 Kir (Black) + ASP-1 Kir (Black) + ASP-1 Kir (Noir) + ASP-1 Kir (Negro) + ASP-1 Kir (черный) + ASP-1 Kir (Schwarz) + ASP-1 Kir (czarny) - TODO: ASP-1 Kir 12.7 mm (Tan) + ASP-1 Kir (Tan) + ASP-1 Kir (Tan) + ASP-1 Kir (Tan) + ASP-1 Kir (Tan) + ASP-1 Kir (бронзовый) + ASP-1 Kir (Hellbraun) + ASP-1 Kir (Tan) - - TODO: Cyrus 9.3 mm + Cyrus + Cyrus + Cyrus + Cyrus + Cyrus + Cyrus + Cyrus - TODO: Cyrus 9.3 mm (Black) + Cyrus (Black) + Cyrus (Black) + Cyrus (Noir) + Cyrus (Negro) + Cyrus (черный) + Cyrus (Schwarz) + Cyrus (czarny) - TODO: Cyrus 9.3 mm (Hex) + Cyrus (Hex) + Cyrus (Hex) + Cyrus (Hex) + Cyrus (Hex) + Cyrus (гекс) + Cyrus (Hex) + Cyrus (hex) - TODO: Cyrus 9.3 mm (Tan) + Cyrus (Tan) + Cyrus (Tan) + Cyrus (Tan) + Cyrus (Tan) + Cyrus (бронза) + Cyrus (Hellbraun) + Cyrus (podpalany) - - TODO: Mk14 7.62 mm + M14 + M14 + M14 + M14 + M14 + M14 + M14 - TODO: Mk14 7.62 mm (Camo) + M14 (Camo) + M14 (Camo) + M14 (Camo) + M14 (Camuflaje) + M14 (Камо) + M14 (kamuflaż) + M14 (Camo) - TODO: Mk14 7.62 mm (Olive) + M14 (Olive) + M14 (Olive) + M14 (Olive) + M14 (Oliva) + M14 (Олива) + M14 (oliwkowy) + M14 (Olive) - - TODO: Navid 9.3 mm + HK121 + HK121 + HK121 + HK121 + HK121 + HK121 + HK121 - TODO: Navid 9.3 mm (Hex) + HK121 (Hex) + HK121 (Hex) + HK121 (Hex) + HK121 (Hex) + HK121 (гекс) + HK121 (Hex) + HK121 (hex) - TODO: Navid 9.3 mm (Tan) + HK121 (Tan) + HK121 (Tan) + HK121 (Tan) + HK121 (Tan) + HK121 (бронза) + HK121 (Hellbraun) + HK121 (podpalany) - - TODO: SPMG .338 + LWMMG + LWMMG + LWMMG + LWMMG + LWMMG + LWMMG + LWMMG - TODO: SPMG .338 (MTP) + LWMMG (MTP) + LWMMG (MTP) + LWMMG (MTP) + LWMMG (MTP) + LWMMG (MTP) + LWMMG (MTP) + LWMMG (MTP) - TODO: SPMG .338 (Black) + LWMMG (Black) + LWMMG (Black) + LWMMG (Noir) + LWMMG (Negro) + LWMMG (Черный) + LWMMG (czarny) + LWMMG (Schwarz) - TODO: SPMG .338 (Sand) + LWMMG (Sand) + LWMMG (Sand) + SPMG (Beige) + LWMMG (Arena) + LWMMG (Песочный) + LWMMG (piaskowy) + LWMMG (Sand) - diff --git a/addons/recoil/$PBOPREFIX$ b/addons/recoil/$PBOPREFIX$ index efd38b75ed..1ab9ffa5e1 100644 --- a/addons/recoil/$PBOPREFIX$ +++ b/addons/recoil/$PBOPREFIX$ @@ -1 +1 @@ -z\ace\addons\recoil +z\ace\addons\recoil \ No newline at end of file diff --git a/addons/recoil/CfgEventHandlers.hpp b/addons/recoil/CfgEventHandlers.hpp index 1bf256e028..60fc3892fc 100644 --- a/addons/recoil/CfgEventHandlers.hpp +++ b/addons/recoil/CfgEventHandlers.hpp @@ -1,43 +1,14 @@ + class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit) ); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; -class Extended_FiredBis_EventHandlers { +class Extended_FiredBIS_EventHandlers { class CAManBase { class ADDON { - clientFiredBis = QUOTE(if (_this select 0 == ACE_player) then {_this call FUNC(camShake); _this call FUNC(burstDispersion);};); - }; - }; - class Tank { - class ADDON { - clientFiredBis = QUOTE(if (_this select 0 == vehicle ACE_player) then {_this call FUNC(camShake);};); - }; - }; - class Car { - class ADDON { - clientFiredBis = QUOTE(if (_this select 0 == vehicle ACE_player) then {_this call FUNC(camShake);};); - }; - }; - class Helicopter { - class ADDON { - clientFiredBis = QUOTE(if (_this select 0 == vehicle ACE_player) then {_this call FUNC(camShake);};); - }; - }; - class Plane { - class ADDON { - clientFiredBis = QUOTE(if (_this select 0 == vehicle ACE_player) then {_this call FUNC(camShake);};); - }; - }; - class Ship_F { - class ADDON { - clientFiredBis = QUOTE(if (_this select 0 == vehicle ACE_player) then {_this call FUNC(camShake);};); - }; - }; - class StaticWeapon { - class ADDON { - clientFiredBis = QUOTE(if (_this select 0 == vehicle ACE_player) then {_this call FUNC(camShake);};); + clientFiredBIS = QUOTE(if (_this select 0 == ACE_player) then {_this call FUNC(camshake)};); }; }; }; diff --git a/addons/recoil/CfgMoves.hpp b/addons/recoil/CfgMoves.hpp new file mode 100644 index 0000000000..ecad382cb5 --- /dev/null +++ b/addons/recoil/CfgMoves.hpp @@ -0,0 +1,85 @@ + +// Completely disable BI's camshake on fire. +#define ACE_CAMSHAKEFIRE_BASE 0 +#define ACE_CAMSHAKEFIRE_LESS 0 +#define ACE_CAMSHAKEFIRE_MORE 0 + +// Go through all modes that have a camshakefire defined and change it to ours. +class CfgMovesBasic { + class Default { + camShakeFire = ACE_CAMSHAKEFIRE_NORMAL; + }; +}; + +class CfgMovesMaleSdr: CfgMovesBasic { + class States { + class AmovPercMstpSlowWrflDnon; + class AmovPknlMstpSlowWrflDnon: AmovPercMstpSlowWrflDnon { + camShakeFire = ACE_CAMSHAKEFIRE_LESS; + }; + + class AmovPercMstpSrasWrflDnon; + class AmovPpneMstpSrasWrflDnon: AmovPercMstpSrasWrflDnon { + camShakeFire = ACE_CAMSHAKEFIRE_LESS; + }; + + class AmovPknlMstpSrasWlnrDnon: Default { + camShakeFire = ACE_CAMSHAKEFIRE_LESS; + }; + + class AmovPknlMrunSlowWrflDf; + class AmovPknlMtacSlowWrflDf: AmovPknlMrunSlowWrflDf { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMrunSlowWrflDfl; + class AmovPknlMtacSlowWrflDfl: AmovPknlMrunSlowWrflDfl { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMrunSlowWrflDl; + class AmovPknlMtacSlowWrflDl: AmovPknlMrunSlowWrflDl { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMrunSlowWrflDbl; + class AmovPknlMtacSlowWrflDbl: AmovPknlMrunSlowWrflDbl { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMrunSlowWrflDb; + class AmovPknlMtacSlowWrflDb: AmovPknlMrunSlowWrflDb { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMrunSlowWrflDbr; + class AmovPknlMtacSlowWrflDbr: AmovPknlMrunSlowWrflDbr { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMrunSlowWrflDr; + class AmovPknlMtacSlowWrflDr: AmovPknlMrunSlowWrflDr { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMrunSlowWrflDfr; + class AmovPknlMtacSlowWrflDfr: AmovPknlMrunSlowWrflDfr { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMstpSrasWrflDnon; + class AmovPknlMwlkSrasWrflDf: AmovPknlMstpSrasWrflDnon { + camShakeFire = ACE_CAMSHAKEFIRE_NORMAL; + }; + + class AmovPknlMrunSrasWrflDf; + class AmovPknlMtacSrasWrflDf: AmovPknlMrunSrasWrflDf { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + + class AmovPknlMwlkSrasWpstDf; + class AmovPknlMtacSrasWpstDf: AmovPknlMwlkSrasWpstDf { + camShakeFire = ACE_CAMSHAKEFIRE_MORE; + }; + }; +}; diff --git a/addons/recoil/CfgRecoils.hpp b/addons/recoil/CfgRecoils.hpp new file mode 100644 index 0000000000..4b473919d5 --- /dev/null +++ b/addons/recoil/CfgRecoils.hpp @@ -0,0 +1,255 @@ + +#define KICKBACK 1.4 + +#define MUZZLETEMP 1.2 +#define MUZZLEPERM 0.4 + +#define MUZZLECLIMB_POS 1 +#define MUZZLERIGHT_POS 0.2 + +#define MUZZLECLIMB_MAG 1 +#define MUZZLERIGHT_MAG 1 + +class CfgRecoils { + class Default { + // doc: http://forums.bistudio.com/showthread.php?188999-Recoil-Overhaul-Feedback&s=dba8590ec07adb5ffa87f72d38dde6fc&p=2886744&viewfull=1#post2886744 + // {horizontal axis position, vertical axis position, horizontal magnitude, vertical magnitude} + muzzleOuter[] = {0*MUZZLERIGHT_POS,0.4*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.6*MUZZLECLIMB_MAG}; + // restricted area inside the outer ellipse where the recoil cannot end + muzzleInner[] = {0,0.05,0.2,0.2}; + // minimum and maximum interval for backward force + kickBack[] = {0.05*KICKBACK,0.1*KICKBACK}; + permanent = 0.1*MUZZLEPERM; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_default: Default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + muzzleInner[] = {0,0,0.1,0.1}; + kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; + permanent = 0.1*MUZZLEPERM; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_mk20: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,0.6*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + kickBack[] = {0.01*KICKBACK,0.03*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_mk20c: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.015*MUZZLETEMP; + }; + + class recoil_trg20: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.015*MUZZLETEMP; + }; + + class recoil_trg21: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + kickBack[] = {0.01*KICKBACK,0.03*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_mx: recoil_default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.4*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_mxc: recoil_default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,1.2*MUZZLECLIMB_POS,0.4*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; + temporary = 0.015*MUZZLETEMP; + }; + + class recoil_sw: recoil_default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP; + }; + + class recoil_mxm: recoil_default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.4*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_ktb: recoil_default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_ktbc: recoil_default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,1.2*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; + temporary = 0.015*MUZZLETEMP; + }; + + class recoil_smg_01: recoil_default { + muzzleOuter[] = {0.1*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + kickBack[] = {0.01*KICKBACK,0.03*KICKBACK}; + temporary = 0.015*MUZZLETEMP; + }; + + class recoil_smg_02: recoil_default { + muzzleOuter[] = {0.1*MUZZLERIGHT_POS,0.6*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + kickBack[] = {0.01*KICKBACK,0.02*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_pdw: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.02*MUZZLETEMP; + }; + + class recoil_sdar: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.3*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_pistol_p07: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; + temporary = 0.03*MUZZLETEMP; + }; + + class recoil_pistol_rook40: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; + temporary = 0.02*MUZZLETEMP; + }; + + class recoil_pistol_acpc2: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.04*KICKBACK,0.08*KICKBACK}; + temporary = 0.04*MUZZLETEMP; + }; + + class recoil_pistol_4five: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.04*KICKBACK,0.08*KICKBACK}; + temporary = 0.06*MUZZLETEMP; + }; + + class recoil_pistol_zubr: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.04*KICKBACK,0.08*KICKBACK}; + temporary = 0.08*MUZZLETEMP; + }; + + class recoil_pistol_signal: recoil_default { + muzzleOuter[] = {0.2*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.2*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.02*MUZZLETEMP; + }; + + class recoil_rpg: recoil_default { + muzzleOuter[] = {2*MUZZLERIGHT_POS,3*MUZZLECLIMB_POS,1*MUZZLERIGHT_MAG,0.5*MUZZLECLIMB_MAG}; + kickBack[] = {0.08*KICKBACK,0.1*KICKBACK}; + temporary = 0.1*MUZZLETEMP; + }; + + class recoil_nlaw: recoil_default { + muzzleOuter[] = {2*MUZZLERIGHT_POS,3*MUZZLECLIMB_POS,1*MUZZLERIGHT_MAG,0.5*MUZZLECLIMB_MAG}; + kickBack[] = {0.06*KICKBACK,0.08*KICKBACK}; + temporary = 0.08*MUZZLETEMP; + }; + + class recoil_titan_long: recoil_default { + muzzleOuter[] = {2*MUZZLERIGHT_POS,3*MUZZLECLIMB_POS,1*MUZZLERIGHT_MAG,0.5*MUZZLECLIMB_MAG}; + kickBack[] = {0.1*KICKBACK,0.12*KICKBACK}; + temporary = 0.15*MUZZLETEMP; + }; + + class recoil_titan_short: recoil_default { + muzzleOuter[] = {2*MUZZLERIGHT_POS,3*MUZZLECLIMB_POS,1*MUZZLERIGHT_MAG,0.5*MUZZLECLIMB_MAG}; + kickBack[] = {0.1*KICKBACK,0.12*KICKBACK}; + temporary = 0.12*MUZZLETEMP; + }; + + class recoil_mk200: recoil_default { + muzzleOuter[] = {0.4*MUZZLERIGHT_POS,0.6*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; + kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; + temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP; + }; + + class recoil_zafir: recoil_default { + muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.7*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.08*KICKBACK}; + temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP; + }; + + class recoil_m320: recoil_default { + muzzleOuter[] = {1*MUZZLERIGHT_POS,3*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.6*MUZZLECLIMB_MAG}; + kickBack[] = {0.08*KICKBACK,0.1*KICKBACK}; + temporary = 0.02*MUZZLETEMP; + }; + + class recoil_gm6: recoil_default { + muzzleOuter[] = {1.4*MUZZLERIGHT_POS,3.5*MUZZLECLIMB_POS,0.7*MUZZLERIGHT_MAG,0.8*MUZZLECLIMB_MAG}; + kickBack[] = {0.1*KICKBACK,0.12*KICKBACK}; + temporary = 0.025*MUZZLETEMP; + }; + + class recoil_ebr: recoil_default { + muzzleOuter[] = {0.4*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.4*MUZZLECLIMB_MAG}; + kickBack[] = {0.04*KICKBACK,0.07*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_dmr_01: recoil_default { + muzzleOuter[] = {0.5*MUZZLERIGHT_POS,2*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.5*MUZZLECLIMB_MAG}; + kickBack[] = {0.03*KICKBACK,0.08*KICKBACK}; + temporary = 0.015*MUZZLETEMP; + }; + + class recoil_dmr_02: recoil_default { + muzzleOuter[] = {0.5*MUZZLERIGHT_POS,2.5*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.5*MUZZLECLIMB_MAG}; + kickBack[] = {0.06*KICKBACK,0.08*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_dmr_03: recoil_default { + muzzleOuter[] = {0.3*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.4*MUZZLECLIMB_MAG}; + kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; + temporary = 0.005*MUZZLETEMP; + }; + + class recoil_dmr_04: recoil_default { + muzzleOuter[] = {0.4*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.4*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; + temporary = 0.015*MUZZLETEMP; + }; + + class recoil_dmr_05: recoil_default { + muzzleOuter[] = {0.5*MUZZLERIGHT_POS,2.5*MUZZLECLIMB_POS,0.8*MUZZLERIGHT_MAG,0.6*MUZZLECLIMB_MAG}; + kickBack[] = {0.08*KICKBACK,0.1*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_dmr_06: recoil_default { + muzzleOuter[] = {0.5*MUZZLERIGHT_POS,2*MUZZLECLIMB_POS,0.7*MUZZLERIGHT_MAG,0.5*MUZZLECLIMB_MAG}; + kickBack[] = {0.05*KICKBACK,0.1*KICKBACK}; + temporary = 0.01*MUZZLETEMP; + }; + + class recoil_mmg_01: recoil_default { + muzzleOuter[] = {0.6*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.8*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; + kickBack[] = {0.02*KICKBACK,0.08*KICKBACK}; + temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP; + }; + + class recoil_mmg_02: recoil_default { + muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.4*MUZZLECLIMB_MAG}; + kickBack[] = {0.04*KICKBACK,0.08*KICKBACK}; + temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP; + }; +}; diff --git a/addons/recoil/README.md b/addons/recoil/README.md deleted file mode 100644 index 124f1a25ce..0000000000 --- a/addons/recoil/README.md +++ /dev/null @@ -1,12 +0,0 @@ -ace_recoil -========== - -Overhauls the vanilla recoil, reducing muzzle climb while increasing kickback. - - -## Maintainers - -The people responsible for merging changes to this component or answering potential questions. - -- [KoffeinFlummi](https://github.com/KoffeinFlummi) -- [commy2](https://github.com/commy2) diff --git a/addons/recoil/XEH_preInit.sqf b/addons/recoil/XEH_preInit.sqf index 2df8a83ebd..f6d04886c1 100644 --- a/addons/recoil/XEH_preInit.sqf +++ b/addons/recoil/XEH_preInit.sqf @@ -1,8 +1,8 @@ +// by commy2 #include "script_component.hpp" ADDON = false; -PREP(burstDispersion); -PREP(camShake); +PREP(camshake); ADDON = true; diff --git a/addons/recoil/config.cpp b/addons/recoil/config.cpp index db08a49143..5b8002bc37 100644 --- a/addons/recoil/config.cpp +++ b/addons/recoil/config.cpp @@ -6,305 +6,18 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; - author[] = {"KoffeinFlummi", "TaoSensai", "commy2"}; - authorUrl = "https://github.com/Taosenai/tmr"; + author[] = {"commy2"}; + authorUrl = ""; VERSION_CONFIG; }; }; #include "CfgEventHandlers.hpp" -// DOC: http://forums.bistudio.com/showthread.php?94464-explaining-the-cfgRecoils-array -class CfgRecoils { - #define KICKBACK 0.07 - #define KICKBACKPRONE 0.05 - - #define MUZZLECLIMB 0.01 - #define MUZZLERECOVERY -0.004 - - // BASE RECOILS - pistolBase[] = {0,0.8*KICKBACK,0.9*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.9*MUZZLERECOVERY, 0.3,0,0}; - subMachineGunBase[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - assaultRifleBase[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - machinegunBase[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - launcherBase[] = {0,0,0}; - - // PISTOLS - recoil_pistol_light[] = {0,0.8*KICKBACK,0.9*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.9*MUZZLERECOVERY, 0.3,0,0}; - recoil_pistol_heavy[] = {0,1.1*KICKBACK,1.4*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.4*MUZZLERECOVERY, 0.3,0,0}; - recoil_prone_pistol_light[] = {0,0.8*KICKBACKPRONE,0.9*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.9*MUZZLERECOVERY, 0.3,0,0}; - recoil_prone_pistol_heavy[] = {0,1.1*KICKBACKPRONE,1.4*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.4*MUZZLERECOVERY, 0.3,0,0}; - - // SUBMACHINE GUNS - recoil_single_smg_01[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_burst_smg_01[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_smg_01[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_smg_01[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_burst_prone_smg_01[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_smg_01[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_smg_02[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_burst_smg_02[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_smg_02[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_smg_02[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_burst_prone_smg_02[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_smg_02[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_pdw[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_burst_pdw[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_pdw[] = {0,0.5*KICKBACK,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_pdw[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_burst_prone_pdw[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_pdw[] = {0,0.5*KICKBACKPRONE,0.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.5*MUZZLERECOVERY, 0.3,0,0}; - - // ASSAULT RIFLES - recoil_single_mx[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_mx[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_mx[] = {0,1*KICKBACKPRONE,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_mx[] = {0,1*KICKBACKPRONE,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_ktb[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_ktb[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_ktb[] = {0,1*KICKBACKPRONE,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_ktb[] = {0,1*KICKBACKPRONE,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_mk20[] = {0,0.8*KICKBACK,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_mk20[] = {0,0.8*KICKBACK,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_mk20[] = {0,0.8*KICKBACKPRONE,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_mk20[] = {0,0.8*KICKBACKPRONE,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_trg[] = {0,0.8*KICKBACK,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_trg[] = {0,0.8*KICKBACK,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_trg[] = {0,0.8*KICKBACKPRONE,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_trg[] = {0,0.8*KICKBACKPRONE,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_sdar[] = {0,0.8*KICKBACK,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_sdar[] = {0,0.8*KICKBACK,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_sdar[] = {0,0.8*KICKBACKPRONE,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_sdar[] = {0,0.8*KICKBACKPRONE,0.8*MUZZLECLIMB, 0.12,0,0, 0.15,0,0.8*MUZZLERECOVERY, 0.3,0,0}; - - // MACHINE GUNS - recoil_single_mk200[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_mk200[] = {0,1*KICKBACK,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_mk200[] = {0,1*KICKBACKPRONE,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_mk200[] = {0,1*KICKBACKPRONE,1*MUZZLECLIMB, 0.12,0,0, 0.15,0,1*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_zafir[] = {0,1.5*KICKBACK,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_zafir[] = {0,1.5*KICKBACK,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_zafir[] = {0,1.5*KICKBACKPRONE,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_zafir[] = {0,1.5*KICKBACKPRONE,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - - // PRECISION RIFLES - recoil_single_dmr[] = {0,1.5*KICKBACK,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_dmr[] = {0,1.5*KICKBACK,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_dmr[] = {0,1.5*KICKBACKPRONE,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_dmr[] = {0,1.5*KICKBACKPRONE,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_ebr[] = {0,1.5*KICKBACK,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_ebr[] = {0,1.5*KICKBACK,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_ebr[] = {0,1.5*KICKBACKPRONE,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_auto_prone_ebr[] = {0,1.5*KICKBACKPRONE,1.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,1.5*MUZZLERECOVERY, 0.3,0,0}; - - recoil_single_gm6[] = {0,2.5*KICKBACK,2.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,2.5*MUZZLERECOVERY, 0.3,0,0}; - recoil_single_prone_gm6[] = {0,2.5*KICKBACKPRONE,2.5*MUZZLECLIMB, 0.12,0,0, 0.15,0,2.5*MUZZLERECOVERY, 0.3,0,0}; - - // LAUNCHERS - recoil_single_law[] = {0,0,0}; - recoil_single_nlaw[] = {0,0,0}; - recoil_single_titan[] = {0,0,0}; -}; +#include "CfgMoves.hpp" +#include "CfgRecoils.hpp" class CfgCameraShake { - // Seems to be ignored by Arma + // What does this do, really? It seems like the engine no longer respects it. defaultCaliberCoefWeaponFire = 0; }; - -// Completely disable BI's camshake on fire. -class CfgMovesBasic { - class Default { - camShakeFire = 0; - }; -}; -class CfgMovesMaleSdr : CfgMovesBasic { - class States { - class AmovPercMstpSlowWrflDnon; - class AmovPknlMstpSlowWrflDnon : AmovPercMstpSlowWrflDnon { - camShakeFire = 0; - }; - class AmovPercMstpSrasWrflDnon; - class AmovPpneMstpSrasWrflDnon : AmovPercMstpSrasWrflDnon { - camShakeFire = 0; - }; - class AmovPknlMstpSrasWlnrDnon : Default { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDf; - class AmovPknlMtacSlowWrflDf : AmovPknlMrunSlowWrflDf { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDfl; - class AmovPknlMtacSlowWrflDfl : AmovPknlMrunSlowWrflDfl { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDl; - class AmovPknlMtacSlowWrflDl : AmovPknlMrunSlowWrflDl { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDbl; - class AmovPknlMtacSlowWrflDbl : AmovPknlMrunSlowWrflDbl { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDb; - class AmovPknlMtacSlowWrflDb : AmovPknlMrunSlowWrflDb { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDbr; - class AmovPknlMtacSlowWrflDbr : AmovPknlMrunSlowWrflDbr { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDr; - class AmovPknlMtacSlowWrflDr : AmovPknlMrunSlowWrflDr { - camShakeFire = 0; - }; - class AmovPknlMrunSlowWrflDfr; - class AmovPknlMtacSlowWrflDfr : AmovPknlMrunSlowWrflDfr { - camShakeFire = 0; - }; - class AmovPknlMstpSrasWrflDnon; - class AmovPknlMwlkSrasWrflDf : AmovPknlMstpSrasWrflDnon { - camShakeFire = 0; - }; - class AmovPknlMrunSrasWrflDf; - class AmovPknlMtacSrasWrflDf : AmovPknlMrunSrasWrflDf { - camShakeFire = 0; - }; - class AmovPknlMwlkSrasWpstDf; - class AmovPknlMtacSrasWpstDf : AmovPknlMwlkSrasWpstDf { - camShakeFire = 0; - }; - }; -}; - -// Ammo -class CfgAmmo { - class MissileCore; - class MissileBase: MissileCore { - GVAR(shakeMultiplier) = 2; - }; - - class BombCore; - class LaserBombCore: BombCore { - GVAR(shakeMultiplier) = 2; - }; - class Bo_Mk82: BombCore { - GVAR(shakeMultiplier) = 2; - }; - - class RocketCore; - class ArtilleryRocketCore: RocketCore { - GVAR(shakeMultiplier) = 1.4; - }; - class RocketBase: RocketCore { - GVAR(shakeMultiplier) = 1.4; - }; - - class BulletCore; - class BulletBase: BulletCore { - GVAR(shakeMultiplier) = 1; - }; - - class ShotgunCore; - class ShotgunBase: ShotgunCore { - GVAR(shakeMultiplier) = 1.1; - }; - - class ShellCore; - class ShellBase: ShellCore { - GVAR(shakeMultiplier) = 3; - }; - - class SubmunitionCore; - class SubmunitionBase: SubmunitionCore { - GVAR(shakeMultiplier) = 3; - }; - - class ShotDeployCore; - class ShotDeployBase: ShotDeployCore { - GVAR(shakeMultiplier) = 3; - }; -}; - -// Weapons -// 1. Set the recoil profiles for all fire modes. -// 2. Set the shake multiplier. This determines the camshake for the weapon. -// Ex: GVAR(shakeMultiplier) = 1; (disabled currently) - -class CfgWeapons { - class CannonCore; - class autocannon_Base_F: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - class autocannon_35mm: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - class cannon_120mm: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - class mortar_155mm_AMOS: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - class mortar_82mm: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - - // No camshake for gatlings - class gatling_20mm: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - class gatling_25mm: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - class gatling_30mm: CannonCore { - GVAR(shakeMultiplier) = 0; - }; - - class MGunCore; - class MGun: MGunCore { - GVAR(shakeMultiplier) = 0; - }; - // No camshake for smoke launchers - class SmokeLauncher: MGun { - GVAR(shakeMultiplier) = 0; - }; - - // No camshake for coax machine guns - class LMG_RCWS; - class LMG_M200: LMG_RCWS { - GVAR(shakeMultiplier) = 0; - }; - class LMG_coax: LMG_RCWS { - GVAR(shakeMultiplier) = 0; - }; - class LMG_Minigun: LMG_RCWS { - GVAR(shakeMultiplier) = 0; - }; -}; - -// Vehicles -class CfgVehicles { - class LandVehicle; - class Tank: LandVehicle { - GVAR(enableCamshake) = 1; - }; - class Car: LandVehicle { - GVAR(enableCamshake) = 1; - }; - class StaticWeapon: LandVehicle { - GVAR(enableCamshake) = 1; - }; - - class Allvehicles; - class Air: Allvehicles { - GVAR(enableCamshake) = 1; - }; -}; diff --git a/addons/recoil/functions/fnc_burstDispersion.sqf b/addons/recoil/functions/fnc_burstDispersion.sqf deleted file mode 100644 index 9467e922ff..0000000000 --- a/addons/recoil/functions/fnc_burstDispersion.sqf +++ /dev/null @@ -1,62 +0,0 @@ -// TMR: Small Arms - Recoil initialization and functions -// (C) 2013 Ryan Schultz. See LICENSE. -// Edited for compatability in ACE by KoffeinFlummi -// Edited by commy2 - -#include "script_component.hpp" - -private ["_unit", "_weapon", "_projectile"]; - -_unit = _this select 0; -_weapon = _this select 1; -_projectile = _this select 6; - -if (_weapon in ["Throw", "Put"]) exitWith {}; - -private ["_lastFired", "_burst"]; - -_lastFired = _unit getVariable [QUOTE(GVAR(lastFired)), -1]; -_burst = _unit getVariable [QUOTE(GVAR(burst)), 0]; - -if (time - _lastFired < 0.45) then { - private "_startDisperse"; - _burst = _burst + 1; - _unit setVariable [QUOTE(GVAR(burst)), _burst, false]; - - _startDisperse = [1, 3] select (cameraView == "GUNNER"); - - if (_burst > _startDisperse) then { - // Reset burst size for calcs - _burst = _burst - _startDisperse; - - // Increase dispersion cap if player is not using sights - _sightsBurst = [30, 0] select (cameraView == "GUNNER"); - - // Increase initial dispersion and cap if player is moving - if (speed _unit > 0.5) then { - _sightsBurst = 25; - _burst = _burst + 15; - }; - - // Maximum possible dispersion (without _sightsBurst mod) - _maxBurst = 50; - - if (_unit getVariable [QUOTE(EGVAR(resting,weaponRested)), false]) then {_maxBurst = 25}; - if (_unit getVariable [QUOTE(EGVAR(resting,bipodDeployed)), false]) then {_maxBurst = 18}; - - // Cap the dispersion - _burst = (_burst min _maxBurst) + _sightsBurst; - - // Add random variance - _elevAngle = (_burst / 300) - random (_burst / 300) * 2; - _travAngle = (_burst / 260) - random (_burst / 260) * 2; - - [_projectile, _travAngle, _elevAngle] call EFUNC(common,changeProjectileDirection); - }; -} else { - - // Long enough delay, reset burst - _unit setVariable [QUOTE(GVAR(burst)), 0, false]; -}; - -_unit setVariable [QUOTE(GVAR(lastFired)), time, false]; diff --git a/addons/recoil/functions/fnc_camShake.sqf b/addons/recoil/functions/fnc_camShake.sqf deleted file mode 100644 index cfe179d67b..0000000000 --- a/addons/recoil/functions/fnc_camShake.sqf +++ /dev/null @@ -1,61 +0,0 @@ -// TMR: Small Arms - Recoil initialization and functions -// (C) 2013 Ryan Schultz. See LICENSE. -// Edited for compatability in ACE by KoffeinFlummi -// Edited by commy2 - -#include "script_component.hpp" - -#define BASE_POWER 0.40 -#define BASE_TIME 0.19 -#define BASE_FREQ 13 -#define RECOIL_COEF 40 - -private ["_unit", "_weapon", "_muzzle", "_ammo"]; - -_unit = _this select 0; -_weapon = _this select 1; -_muzzle = _this select 2; -_ammo = _this select 4; - -if (_weapon in [handgunWeapon _unit, "Throw", "Put"]) exitWith {}; - -private ["_powerMod", "_timeMod", "_freqMod", "_powerCoef"]; - -_powerMod = ([0, -0.1, -0.1, 0, -0.2] select (["STAND", "CROUCH", "PRONE", "UNDEFINED", ""] find stance _unit)) + ([0, -1, 0, -1] select (["INTERNAL", "EXTERNAL", "GUNNER", "GROUP"] find cameraView)); -_timeMod = 0; -_freqMod = 0; - -_powerCoef = 0; -if (_unit != vehicle _unit) then { - _powerCoef = getNumber (configFile >> "CfgWeapons" >> _weapon >> QUOTE(GVAR(shakeMultiplier))); - _powerCoef = _powerCoef * getNumber (configFile >> "CfgAmmo" >> _ammo >> QUOTE(GVAR(shakeMultiplier))); -} else { - private ["_type", "_config", "_recoil"]; - - _type = ["recoil", "recoilProne"] select (stance _unit == "PRONE"); - - _config = configFile >> "CfgWeapons" >> _weapon; - _recoil = if (_muzzle == _weapon) then { - getText (_config >> _type) - } else { - getText (_config >> _muzzle >> _type) - }; - - _recoil = getArray (configFile >> "CfgRecoils" >> _recoil); - if (count _recoil < 2) exitWith {}; - - _powerCoef = _recoil select 1; - _powerCoef = (call compile format ["%1", _powerCoef]) * RECOIL_COEF; -}; - -if (_unit getVariable [QUOTE(EGVAR(resting,weaponRested)), false]) then {_powerMod = _powerMod - 0.07}; -if (_unit getVariable [QUOTE(EGVAR(resting,bipodDeployed)), false]) then {_powerMod = _powerMod - 0.11}; - -private "_camshake"; -_camshake = [ - _powerCoef * (BASE_POWER + _powerMod) max 0, - BASE_TIME + _timeMod max 0, - BASE_FREQ + _freqMod max 0 -]; - -addCamShake _camshake; diff --git a/addons/recoil/functions/fnc_camshake.sqf b/addons/recoil/functions/fnc_camshake.sqf new file mode 100644 index 0000000000..806d48760b --- /dev/null +++ b/addons/recoil/functions/fnc_camshake.sqf @@ -0,0 +1,67 @@ +// TMR: Small Arms - Recoil initialization and functions +// (C) 2013 Ryan Schultz. See LICENSE. +// Edited prefixes for compatability in AGM_Realism by KoffeinFlummi +// Edited by commy2 +#include "script_component.hpp" + +#define BASE_POWER 0.40 +#define BASE_TIME 0.19 +#define BASE_FREQ 13 +#define RECOIL_COEF 40 + +private ["_unit", "_weapon", "_muzzle"]; + +_unit = _this select 0; +_weapon = _this select 1; +_muzzle = _this select 2; + +if (toLower _weapon in ["throw", "put"]) exitWith {}; + +private ["_powerMod", "_timeMod", "_freqMod"]; + +_powerMod = ([0, -0.1, -0.1, 0, -0.2] select (["STAND", "CROUCH", "PRONE", "UNDEFINED", ""] find stance _unit)) + ([0, -1, 0, -1] select (["INTERNAL", "EXTERNAL", "GUNNER", "GROUP"] find cameraView)); +_timeMod = 0; +_freqMod = 0; + +// to get camshake read kickback +private ["_config", "_recoil"]; + +_config = configFile >> "CfgWeapons" >> _weapon; +_recoil = if (_muzzle == _weapon) then { + getText (_config >> "recoil") +} else { + getText (_config >> _muzzle >> "recoil") +}; + +if (isClass (configFile >> "CfgRecoils" >> _recoil)) then { + _recoil = getArray (configFile >> "CfgRecoils" >> _recoil >> "kickBack"); + if (count _recoil < 2) then { + _recoil = [0, 0]; + }; +} else { + _recoil = [0, 0]; +}; + +// parse numbers +_recoil set [0, call compile format ["%1", _recoil select 0]]; +_recoil set [1, call compile format ["%1", _recoil select 1]]; + +private "_powerCoef"; +_powerCoef = RECOIL_COEF * linearConversion [0, 1, random 1, _recoil select 0, _recoil select 1, false]; + +if (isWeaponRested _unit) then {_powerMod = _powerMod - 0.07}; +if (isWeaponDeployed _unit) then {_powerMod = _powerMod - 0.11}; + +private "_camshake"; +_camshake = [ + _powerCoef * (BASE_POWER + _powerMod) max 0, + BASE_TIME + _timeMod max 0, + BASE_FREQ + _freqMod max 0 +]; + +/* + systemChat str _camshake; + copyToClipboard format ["addCamShake %1;", _camshake]; +*/ + +addCamShake _camshake; diff --git a/addons/recoil/functions/script_component.hpp b/addons/recoil/functions/script_component.hpp index d104528384..24cb1ba776 100644 --- a/addons/recoil/functions/script_component.hpp +++ b/addons/recoil/functions/script_component.hpp @@ -1,12 +1 @@ -#define COMPONENT recoil -#include "\z\ace\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_RECOIL - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_RECOIL - #define DEBUG_SETTINGS DEBUG_SETTINGS_RECOIL -#endif - -#include "\z\ace\Addons\main\script_macros.hpp" +#include "\z\ace\addons\recoil\script_component.hpp" \ No newline at end of file diff --git a/addons/recoil/script_component.hpp b/addons/recoil/script_component.hpp index d104528384..b5a74ec8dd 100644 --- a/addons/recoil/script_component.hpp +++ b/addons/recoil/script_component.hpp @@ -1,12 +1,12 @@ #define COMPONENT recoil -#include "\z\ace\Addons\main\script_mod.hpp" +#include "\z\ace\addons\main\script_mod.hpp" #ifdef DEBUG_ENABLED_RECOIL #define DEBUG_MODE_FULL #endif -#ifdef DEBUG_SETTINGS_RECOIL - #define DEBUG_SETTINGS DEBUG_SETTINGS_RECOIL +#ifdef DEBUG_ENABLED_RECOIL + #define DEBUG_SETTINGS DEBUG_ENABLED_RECOIL #endif -#include "\z\ace\Addons\main\script_macros.hpp" +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/reload/CfgActions.hpp b/addons/reload/CfgActions.hpp index bdef8adf28..a76be64ba3 100644 --- a/addons/reload/CfgActions.hpp +++ b/addons/reload/CfgActions.hpp @@ -1,4 +1,3 @@ - class CfgActions { class LoadMagazine; class LoadEmptyMagazine : LoadMagazine { diff --git a/addons/reload/CfgEventHandlers.hpp b/addons/reload/CfgEventHandlers.hpp index c93f74e0bd..75c2280e24 100644 --- a/addons/reload/CfgEventHandlers.hpp +++ b/addons/reload/CfgEventHandlers.hpp @@ -1,4 +1,3 @@ - class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); diff --git a/addons/reload/CfgVehicles.hpp b/addons/reload/CfgVehicles.hpp index 84333a1a09..b6bd212015 100644 --- a/addons/reload/CfgVehicles.hpp +++ b/addons/reload/CfgVehicles.hpp @@ -3,13 +3,13 @@ class CfgVehicles { class CAManBase: Man { class ACE_Actions { class ACE_Weapon { - class ACE_LinkBelt { + class GVAR(LinkBelt) { displayName = "$STR_ACE_Reload_LinkBelt"; distance = 2.0; condition = QUOTE([ARR_2(_player, _target)] call FUNC(canLinkBelt)); statement = QUOTE([ARR_2(_player, _target)] call FUNC(startLinkingBelt)); }; - class ACE_CheckAmmo { + class GVAR(CheckAmmo) { displayName = "$STR_ACE_Reload_checkAmmo"; distance = 2.0; condition = QUOTE([ARR_2(_player, _target)] call FUNC(canCheckAmmo)); @@ -23,7 +23,7 @@ class CfgVehicles { class StaticWeapon: LandVehicle { class ACE_Actions { class ACE_MainActions { - class ACE_CheckAmmo { + class GVAR(CheckAmmo) { displayName = "$STR_ACE_Reload_checkAmmo"; distance = 2.0; condition = QUOTE([ARR_2(_player, _target)] call FUNC(canCheckAmmo)); diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index faefbe449d..422ea183d3 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -7,10 +7,9 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo", { // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, (vehicle ACE_player), ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific - if !([ACE_player] call EFUNC(common,canUseWeapon) || - {(vehicle ACE_player) isKindOf 'StaticWeapon'}) exitWith {false}; + if !([ACE_player] call EFUNC(common,canUseWeapon) || {(vehicle ACE_player) isKindOf "StaticWeapon"}) exitWith {false}; // Statement [ACE_player] call FUNC(checkAmmo); diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp index 372292de89..02f5014379 100644 --- a/addons/reload/config.cpp +++ b/addons/reload/config.cpp @@ -25,7 +25,7 @@ class CfgPatches { class ACE_Settings { class GVAR(DisplayText) { typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; value = 1; displayName = "$STR_ACE_reload_SettingDisplayTextName"; description = "$STR_ACE_reload_SettingDisplayTextDesc"; diff --git a/addons/reload/functions/fnc_canCheckAmmo.sqf b/addons/reload/functions/fnc_canCheckAmmo.sqf index 63c302bf07..95ac2582a2 100644 --- a/addons/reload/functions/fnc_canCheckAmmo.sqf +++ b/addons/reload/functions/fnc_canCheckAmmo.sqf @@ -7,12 +7,19 @@ * 1: Target * * Return value: - * Can link belt + * Can link belt + * + * Example: + * [player, bob] call ace_reload_fnc_canCheckAmmo + * + * Public: No */ #include "script_component.hpp" EXPLODE_2_PVT(_this,_player,_target); +private ["_magazineType", "_magazineCfg"]; + // Return true for static weapons if they have been fired once, @todo 1.40 this work-around doesn't work anymore if (_target isKindOf "StaticWeapon") exitWith { if (currentMagazine _target != "") exitWith {true}; diff --git a/addons/reload/functions/fnc_checkAmmo.sqf b/addons/reload/functions/fnc_checkAmmo.sqf index a1001890cd..2499a9a893 100644 --- a/addons/reload/functions/fnc_checkAmmo.sqf +++ b/addons/reload/functions/fnc_checkAmmo.sqf @@ -33,8 +33,6 @@ if (count _this > 1) then { if (_unit == _target) then { _unit playActionNow "Gear"; -} else { - _unit playActionNow "PutDown"; }; [FUNC(displayAmmo), [_target], 1, 0.1] call EFUNC(common,waitAndExecute); diff --git a/addons/reload/functions/fnc_displayAmmo.sqf b/addons/reload/functions/fnc_displayAmmo.sqf index 77578caa68..ce08fbd062 100644 --- a/addons/reload/functions/fnc_displayAmmo.sqf +++ b/addons/reload/functions/fnc_displayAmmo.sqf @@ -14,7 +14,7 @@ EXPLODE_1_PVT(_this,_target); -private ["_weapon","_muzzle","_magazine","_showNumber","_ammo","_maxRounds","_count","_text","_color","_picture"]; +private ["_weapon","_muzzle","_magazine","_showNumber","_ammo","_maxRounds","_count","_text","_color","_picture","_ammoBarsStructuredText", "_a", "_loadedName", "_string"]; _weapon = currentWeapon _target; _muzzle = currentMuzzle _target; @@ -22,23 +22,23 @@ _magazine = currentMagazine _target; // currentWeapon returns "" for static weapons before they are shot once if (_target isKindOf "StaticWeapon") then { - if (_weapon == "") then { - if (count (weapons _target) == 1) then { - _weapon = (weapons _target) select 0; - _muzzle = _weapon; - }; - }; - - if (_magazine == "") then { - // Try to get magazine using magazinesAmmoFull - private ["_magazines"]; - _magazines = magazinesAmmoFull _target; - { - if (_x select 2) exitWith { - _magazine = _x select 0; + if (_weapon == "") then { + if (count (weapons _target) == 1) then { + _weapon = (weapons _target) select 0; + _muzzle = _weapon; }; - } forEach _magazines; - }; + }; + + if (_magazine == "") then { + // Try to get magazine using magazinesAmmoFull + private ["_magazines"]; + _magazines = magazinesAmmoFull _target; + { + if (_x select 2) exitWith { + _magazine = _x select 0; + }; + } forEach _magazines; + }; }; if (_magazine == "") exitWith {}; @@ -52,55 +52,56 @@ _count = 0; // not grenade launcher if (_muzzle == _weapon) then { - _maxRounds = getNumber (configFile >> "CfgMagazines" >> _magazine >> "count") max 1; + _maxRounds = getNumber (configFile >> "CfgMagazines" >> _magazine >> "count") max 1; - _ammo = _target ammo _weapon; - if (_maxRounds >= COUNT_BARS) then { - _count = round (COUNT_BARS * _ammo / _maxRounds); + _ammo = _target ammo _weapon; + if (_maxRounds >= COUNT_BARS) then { + _count = round (COUNT_BARS * _ammo / _maxRounds); - if (_ammo > 0) then {_count = _count max 1}; - if (_ammo < _maxRounds) then {_count = _count min (COUNT_BARS - 1)}; - } else { - _count = _ammo; - }; + if (_ammo > 0) then {_count = _count max 1}; + if (_ammo < _maxRounds) then {_count = _count min (COUNT_BARS - 1)}; + } else { + _count = _ammo; + }; -// grenade launcher + // grenade launcher } else { - _showNumber = true; + _showNumber = true; - _count = if (_magazine != "") then { - {_x == _magazine} count (magazines _target + [_magazine]) - } else { - {_x in getArray (configFile >> "CfgWeapons" >> _weapon >> _muzzle >> "Magazines")} count magazines _target - }; + _count = if (_magazine != "") then { + {_x == _magazine} count (magazines _target + [_magazine]) + } else { + {_x in getArray (configFile >> "CfgWeapons" >> _weapon >> _muzzle >> "Magazines")} count magazines _target + }; }; -_text = if (_showNumber) then { - parseText format ["%1x", _count] +_ammoBarsStructuredText = if (_showNumber) then { + parseText format ["%1x", _count] } else { - _color = [ - 2 * (1 - _ammo / _maxRounds) min 1, - 2 * _ammo / _maxRounds min 1, - 00 - ]; + _color = [((2 * (1 - _ammo / _maxRounds)) min 1), ((2 * _ammo / _maxRounds) min 1), 0]; - _string = ""; - for "_a" from 1 to _count do { - _string = _string + "|"; - }; - _text = [_string, _color] call EFUNC(common,stringToColoredText); + _string = ""; + for "_a" from 1 to _count do { + _string = _string + "|"; + }; + _text = [_string, _color] call EFUNC(common,stringToColoredText); - _string = ""; - for "_a" from (_count + 1) to (_maxRounds min COUNT_BARS) do { - _string = _string + "|"; - }; + _string = ""; + for "_a" from (_count + 1) to (_maxRounds min COUNT_BARS) do { + _string = _string + "|"; + }; - composeText [ - _text, - [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredText) - ] + composeText [_text, [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredText)]; }; -_picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); -[_text, _picture] call EFUNC(common,displayTextPicture); +if (_target isKindOf "StaticWeapon") then { + //Vehicle mags (usualy) don't have pictures, so just show the text above ammo count + _loadedName = getText (configFile >> "CfgMagazines" >> _magazine >> "displaynameshort"); + _loadedName = parseText format ["%1", _loadedName]; + _text = composeText [_loadedName, linebreak, _ammoBarsStructuredText]; + [_text] call EFUNC(common,displayTextStructured); +} else { + _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); + [_ammoBarsStructuredText, _picture] call EFUNC(common,displayTextPicture); +}; diff --git a/addons/reload/functions/fnc_startLinkingBelt.sqf b/addons/reload/functions/fnc_startLinkingBelt.sqf index 412fcabb97..8b9145c237 100644 --- a/addons/reload/functions/fnc_startLinkingBelt.sqf +++ b/addons/reload/functions/fnc_startLinkingBelt.sqf @@ -15,7 +15,7 @@ EXPLODE_2_PVT(_this,_player,_target); if (vehicle _target != _target) exitWith {false}; -private ["_magazineCfg","_magazineType"]; +private ["_magazineCfg","_magazineType", "_condition", "_onFailure", "_onFinish"]; _magazineType = currentMagazine _target; _magazineCfg = configFile >> "CfgMagazines" >> _magazineType; if (getNumber (_magazineCfg >> "ACE_isBelt") == 0) exitWith {false}; @@ -54,7 +54,7 @@ _onFinish = { _onFailure = { EXPLODE_3_PVT((_this select 0),_player,_target,_magazine); - [_caller, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation); + [_player, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation); // Add back the magazine with the former ammo count _player addMagazine _magazine; diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 40f36c6549..ceaf32c2d8 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,42 +1,73 @@ - - + - - - Check ammo on weapon reload - - - Check the ammo in your new magazine on magazine reload. - - - Check Ammo - Munition prüfen - Verificar munición - Sprawdź amunicję - Vérifier Munitions - Lőszerellenőrzés - Zkontrolovat Munici - Controlla le munizioni - Conferir munições - Kонтроль Боеприпасы - - - Ammo - Munition - Munición - Amunicja - Munitions - Lőszer - Munice - Munizioni - Munições - Боеприпасы - - - Link belt - - - Linking belt... - - + + + Check ammo on weapon reload + Prüfe Munition beim Nachladen + Comprovar munición al recargar el arma + Проверять боезапас при перезарядке + Zkontrolovat munici při nabití + Sprawdź stan amunicji przy przeładowaniu broni + Vérification des munitions au rechargement + Lőszer ellenőrzése a fegyver újratöltésekor + Controlla le munizioni ricaricando + + + Check the ammo in your new magazine on magazine reload. + Prüfe nachgeladenes Magazin + Comprueva la munición del nuevo cargador al recargar. + Проверяет количество патронов в новом магазине при перезарядке. + Kontroluje munice při nabití nového zásobníku. + Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni + Vérification du nombre de munition au rechargement + A lőszer ellenőrzése az új tárad behelyezésekor újratöltés közben. + Controlla le munizioni rimanenti nel caricatore in fase di cambio caricatore. + + + Check Ammo + Munition prüfen + Verificar munición + Sprawdź amunicję + Vérifier Munitions + Lőszerellenőrzés + Zkontrolovat Munici + Controlla le munizioni + Conferir munições + Проверить боеприпасы + + + Ammo + Munition + Munición + Amunicja + Munitions + Lőszer + Munice + Munizioni + Munições + Боеприпасы + + + Link belt + Attacher bande + Enlazar cinta + Сцепить ленты + Spojit pás munice + Podłącz taśmę + Gurt anhängen + Töltényheveder összekötése + Attacca la tracolla + + + Linking belt... + Attache d'une bande + Enlazando cinta... + Сцепка лент ... + Spojuji pás... + Podłączanie taśmy... + Gurt anhängen ... + Töltényheveder összekötése folyamatban... + Attacco la tracolla... + + diff --git a/addons/reloadlaunchers/config.cpp b/addons/reloadlaunchers/config.cpp index a039ef87c4..3a66b39719 100644 --- a/addons/reloadlaunchers/config.cpp +++ b/addons/reloadlaunchers/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common","ace_interaction","ace_interact_menu"}; + requiredAddons[] = {"ace_interaction"}; author[] = {""}; authorUrl = ""; VERSION_CONFIG; diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index f6ad07e357..bf14b9b691 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -32,7 +32,7 @@ private ["_onSuccess", "_onFailure", "_condition"]; _onSuccess = { (_this select 0 select 0) removeMagazine (_this select 0 select 3); - ["reloadLauncher", _this select 0 select 0, _this select 0] call DEFUNC(common,targetEvent); + ["reloadLauncher", _this select 0 select 1, _this select 0] call DEFUNC(common,targetEvent); [localize "STR_ACE_ReloadLaunchers_LauncherLoaded"] call DEFUNC(common,displayTextStructured); }; diff --git a/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf index 36772f9dfd..fc802a025c 100644 --- a/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf +++ b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf @@ -14,12 +14,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_magazine"]; - -_unit = _this select 0; -_target = _this select 1; -_weapon = _this select 2; -_magazine = _this select 3; +PARAMS_4(_unit,_target,_weapon,_magazine); _target selectWeapon _weapon; diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 6677153419..bb949040d0 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,24 +1,49 @@  - Load launcher Panzerabwehr laden + Cargar lanzador + Зарядить ПУ + Nabít odpalovač + Załaduj wyrzutnię + Charger lanceur + Kilövö betöltése + Carica lanciamissili Loading launcher ... + Chargement du lanceur Panzerabwehr wird geladen ... + Cargando lanzador ... + Зарядка ПУ ... + Nabíjím odpalovač ... + Ładowanie wyrzutni ... + Kilövő betöltés alatt ... + Carico il lanciamissili ... Launcher loaded + Lanceur chargé Panzerabwehr geladen + Lanzador cargado + ПУ заряжено + Odpalovač nabit + Wyrzutnia załadowana + Kilövő betöltve + Lanciamissili caricato - Load %1 + Charge %1 Lade %1 + Cargar %1 + Загрузка %1 + Nabít %1 + Załadowano %1 + %1 betöltése + Caricato %1 - diff --git a/addons/respawn/CfgEventHandlers.hpp b/addons/respawn/CfgEventHandlers.hpp index c4a50615d1..00b6f01cea 100644 --- a/addons/respawn/CfgEventHandlers.hpp +++ b/addons/respawn/CfgEventHandlers.hpp @@ -1,20 +1,75 @@ + class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; + class Extended_Killed_EventHandlers { class CAManBase { - class GVAR(HandleGear) { + class ADDON { killed = QUOTE(_this call FUNC(handleKilled)); }; }; }; + class Extended_Respawn_EventHandlers { class CAManBase { - class GVAR(HandleGear) { + class ADDON { respawn = QUOTE(_this call FUNC(handleRespawn)); }; }; }; + +class Extended_Init_EventHandlers { + class ACE_Rallypoint_West { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_3(_this select 0,'',west)] call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_East { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_3(_this select 0,'',east)] call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_Independent { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_3(_this select 0,'',independent)] call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_West_Base { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_3(_this select 0,'respawn_west',west)] call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_East_Base { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_3(_this select 0,'respawn_east',east)] call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_Independent_Base { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_3(_this select 0,'respawn_guerrila',independent)] call FUNC(initRallypoint)); //respawn_civilian + }; + }; +}; + +class Extended_InitPost_EventHandlers { + // auto assign rallypoint leader + class CAManBase { + class ADDON { + serverInit = QUOTE(_this call FUNC(handleInitPostServer)); + }; + }; +}; diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index f6b8fc64c2..384376b00c 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -1,6 +1,6 @@ class CfgVehicles { class Module_F; - class ACE_ModuleRespawn : Module_F { + class ACE_ModuleRespawn: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Respawn System"; @@ -8,20 +8,24 @@ class CfgVehicles { scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_Respawn_ca.paa)); + class Arguments { class SavePreDeathGear { displayName = "Save Gear?"; description = "Respawn with the gear a soldier had just before his death?"; typeName = "BOOL"; + class values { class Yes { name = "Yes"; value = 1; }; class No { default = 1; name = "No"; value = 0; }; }; }; + class RemoveDeadBodiesDisconnected { displayName = "Remove bodies?"; description = "Remove player bodies after disconnect?"; typeName = "BOOL"; + class values { class Yes { default = 1; name = "Yes"; value = 1; }; class No { name = "No"; value = 0; }; @@ -30,7 +34,7 @@ class CfgVehicles { }; }; - class ACE_ModuleFriendlyFire : Module_F { + class ACE_ModuleFriendlyFire: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Friendly Fire Messages"; @@ -38,11 +42,11 @@ class CfgVehicles { scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_FriendlyFire_ca.paa)); - class Arguments { - }; + + class Arguments {}; }; - class ACE_ModuleRallypoint : Module_F { + class ACE_ModuleRallypoint: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Rallypoint System"; @@ -50,174 +54,8 @@ class CfgVehicles { scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa)); - class Arguments { - }; - }; - // rallypoints - class FlagCarrier; - class Flag_NATO_F : FlagCarrier { - class ACE_Actions; - }; - - class Flag_CSAT_F : FlagCarrier { - class ACE_Actions; - }; - - class Flag_AAF_F : FlagCarrier { - class ACE_Actions; - }; - - // static - class ACE_Rallypoint_West : Flag_NATO_F { - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint West Base"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Rallypoint"; - distance = 4; - condition = QUOTE(side group _player == west); - statement = QUOTE([ARR_3(_player, side group _player, false)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_Rallypoint_East : Flag_CSAT_F { - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint East Base"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Rallypoint"; - distance = 4; - condition = QUOTE(side group _player == east); - statement = QUOTE([ARR_3(_player, side group _player, false)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_Rallypoint_Independent : Flag_AAF_F { - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint Independent Base"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Rallypoint"; - distance = 4; - condition = QUOTE(side group _player == independent); - statement = QUOTE([ARR_3(_player, side group _player, false)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - // moveable - class ACE_RallypointExit_West : Flag_NATO_F { - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint West"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Base"; - distance = 4; - condition = QUOTE(side group _player == west); - statement = QUOTE([ARR_3(_player, side group _player, true)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_RallypointExit_East : Flag_CSAT_F { - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint East"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Base"; - distance = 4; - condition = QUOTE(side group _player == east); - statement = QUOTE([ARR_3(_player, side group _player, true)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_RallypointExit_Independent : Flag_AAF_F { - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint Independent"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Base"; - distance = 4; - condition = QUOTE(side group _player == independent); - statement = QUOTE([ARR_3(_player, side group _player, true)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; + class Arguments {}; }; // team leader @@ -233,4 +71,140 @@ class CfgVehicles { }; }; }; + + // rallypoints + class FlagCarrier; + class Flag_NATO_F: FlagCarrier { + class ACE_Actions; + }; + + class Flag_CSAT_F: FlagCarrier { + class ACE_Actions; + }; + + class Flag_AAF_F: FlagCarrier { + class ACE_Actions; + }; + + // static + class ACE_Rallypoint_West_Base: Flag_NATO_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Respawn_RallypointWestBase"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + distance = 4; + condition = QUOTE(side group _player == west); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West')] call FUNC(teleportToRallypoint)); + position = "[0,0,-1]"; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_East_Base: Flag_CSAT_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Respawn_RallypointEastBase"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + distance = 4; + condition = QUOTE(side group _player == east); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East')] call FUNC(teleportToRallypoint)); + position = "[0,0,-1]"; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_Independent_Base: Flag_AAF_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Respawn_RallypointIndependentBase"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + distance = 4; + condition = QUOTE(side group _player == independent); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent')] call FUNC(teleportToRallypoint)); + position = "[0,0,-1]"; + showDisabled = 1; + priority = 1; + }; + }; + }; + + // moveable + class ACE_Rallypoint_West: Flag_NATO_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Respawn_RallypointWest"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToBase"; + distance = 4; + condition = QUOTE(side group _player == west); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West_Base')] call FUNC(teleportToRallypoint)); + position = "[0,0,-1]"; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_East: Flag_CSAT_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Respawn_RallypointEast"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToBase"; + distance = 4; + condition = QUOTE(side group _player == east); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East_Base')] call FUNC(teleportToRallypoint)); + position = "[0,0,-1]"; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_Independent: Flag_AAF_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Respawn_RallypointIndependent"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToBase"; + distance = 4; + condition = QUOTE(side group _player == independent); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent_Base')] call FUNC(teleportToRallypoint)); + position = "[0,0,-1]"; + showDisabled = 1; + priority = 1; + }; + }; + }; }; diff --git a/addons/respawn/XEH_postInit.sqf b/addons/respawn/XEH_postInit.sqf new file mode 100644 index 0000000000..ada5765e86 --- /dev/null +++ b/addons/respawn/XEH_postInit.sqf @@ -0,0 +1,5 @@ +// by commy2 +#include "script_component.hpp" + +["rallypointMoved", {_this call FUNC(updateRallypoint)}] call EFUNC(common,addEventhandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); // hide enemy rallypoint markers diff --git a/addons/respawn/XEH_preInit.sqf b/addons/respawn/XEH_preInit.sqf index f57e1f3714..dd116f108c 100644 --- a/addons/respawn/XEH_preInit.sqf +++ b/addons/respawn/XEH_preInit.sqf @@ -4,7 +4,9 @@ ADDON = false; PREP(canMoveRallypoint); PREP(handleKilled); +PREP(handlePlayerChanged); PREP(handleRespawn); +PREP(handleInitPostServer); PREP(initRallypoint); PREP(module); PREP(moduleFriendlyFire); @@ -15,5 +17,6 @@ PREP(removeDisconnectedPlayer); PREP(restoreGear); PREP(showFriendlyFireMessage); PREP(teleportToRallypoint); +PREP(updateRallypoint); ADDON = true; diff --git a/addons/respawn/functions/fnc_handleInitPostServer.sqf b/addons/respawn/functions/fnc_handleInitPostServer.sqf new file mode 100644 index 0000000000..914334cc25 --- /dev/null +++ b/addons/respawn/functions/fnc_handleInitPostServer.sqf @@ -0,0 +1,52 @@ +// by commy2 +// execute on server only! +#include "script_component.hpp" + +PARAMS_1(_unit); + +private ["_group0", "_rallypoint"]; + +_group0 = group _unit; // _group-is a reserved veriable and shouldn't be used + +_rallypoint = [ + objNull, + missionNamespace getVariable ["ACE_Rallypoint_West", objNull], + missionNamespace getVariable ["ACE_Rallypoint_East", objNull], + missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull] +] select ([west, east, independent] find side _group0) + 1; + +// exit if no moveable rallypoint is placed for that side +if (isNull _rallypoint) exitWith {}; + +// find leader +private "_leaderVarName"; +_leaderVarName = _group0 getVariable [QGVAR(leaderVarName), ""]; + +// exit if group already has a playable slot assigned as rallypoint leader +if (_leaderVarName != "") exitWith { + // assign JIP unit as rallypoint leader + if (str _unit == _leaderVarName) then { + _unit setVariable ["ACE_canMoveRallypoint", true, true]; + }; +}; + +// treat group leader +_unit = leader _group0; + +_leaderVarName = vehicleVarName _unit; + +if (_leaderVarName == "") then { + private "_leaderID"; + _leaderID = GETGVAR(NextLeaderID,0); + + _leaderVarName = format [QUOTE(ACE_Rallypoint_Leader_%1), _leaderID]; + + _unit setVehicleVarName _leaderVarName; + + GVAR(NextLeaderID) = _leaderID + 1; +}; + +// prevent group from getting multiple leaders; use this to assign rallypoint moving ability on JIP +_group0 setVariable [QGVAR(leaderVarName), _leaderVarName]; + +_unit setVariable ["ACE_canMoveRallypoint", true, true]; diff --git a/addons/respawn/functions/fnc_handleKilled.sqf b/addons/respawn/functions/fnc_handleKilled.sqf index c3ab0aebf3..199495d75d 100644 --- a/addons/respawn/functions/fnc_handleKilled.sqf +++ b/addons/respawn/functions/fnc_handleKilled.sqf @@ -29,5 +29,5 @@ if (GVAR(SavePreDeathGear)) then { }; if (missionNamespace getVariable [QGVAR(showFriendlyFireMessage), false]) then { - [_this, FUNC(showFriendlyFireMessage), 2] call EFUNC(common,execRemoteFnc); + [_this, QUOTE(DFUNC(showFriendlyFireMessage)), 2] call EFUNC(common,execRemoteFnc); }; diff --git a/addons/respawn/functions/fnc_handlePlayerChanged.sqf b/addons/respawn/functions/fnc_handlePlayerChanged.sqf new file mode 100644 index 0000000000..db699066bc --- /dev/null +++ b/addons/respawn/functions/fnc_handlePlayerChanged.sqf @@ -0,0 +1,44 @@ +// by commy2 +#include "script_component.hpp" + +private "_newUnit"; + +_newUnit = _this select 0; + +switch (side group _newUnit) do { + case (west): { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + }; + + case (east): { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + }; + + case (independent): { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + }; + + default { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + }; +}; diff --git a/addons/respawn/functions/fnc_handleRespawn.sqf b/addons/respawn/functions/fnc_handleRespawn.sqf index a9fe3293ac..33a0ec09e5 100644 --- a/addons/respawn/functions/fnc_handleRespawn.sqf +++ b/addons/respawn/functions/fnc_handleRespawn.sqf @@ -25,3 +25,8 @@ _respawnedUnit = _this select 0; if (GVAR(SavePreDeathGear)) then { [_respawnedUnit, GVAR(unitGear)] call FUNC(restoreGear); }; + +// fix for setVariable public being lost on respawn for machines that JIP after the command was broadcasted +if (_respawnedUnit getVariable ["ACE_canMoveRallypoint", false]) then { + _respawnedUnit setVariable ["ACE_canMoveRallypoint", true, true]; +}; diff --git a/addons/respawn/functions/fnc_initRallypoint.sqf b/addons/respawn/functions/fnc_initRallypoint.sqf index cb4d55146f..2ef158a419 100644 --- a/addons/respawn/functions/fnc_initRallypoint.sqf +++ b/addons/respawn/functions/fnc_initRallypoint.sqf @@ -16,17 +16,53 @@ #include "script_component.hpp" -private ["_rallypoint", "_name"]; - -_rallypoint = _this select 0; - -if (!local _rallypoint) exitWith {}; +PARAMS_3(_rallypoint,_respawnMarker,_side); +private "_name"; _name = typeOf _rallypoint; +// init visible marker +if (hasInterface) then { + // fix init having wrong position, vars etc. + [_rallypoint, _respawnMarker, _side, _name] spawn { + PARAMS_4(_rallypoint,_respawnMarker,_side,_name); + + private ["_marker", "_type"]; + + _marker = format ["ACE_Marker_%1", _name]; + + // exit if it already exist + if (_marker in allMapMarkers) exitWith {}; + + _marker = createMarkerLocal [_marker, getPosASL _rallypoint]; + _type = ["selector_selectedFriendly", "selector_selectedEnemy"] select (_respawnMarker == ""); + + _marker setMarkerTypeLocal _type; + _marker setMarkerAlphaLocal ([0,1] select (_side == playerSide)); // playerSide to guarantee init + + private "_markerDate"; + _markerDate = _rallypoint getVariable [QGVAR(markerDate), ""]; + + _marker setMarkerTextLocal _markerDate; + + _rallypoint setVariable [QGVAR(marker), _marker]; + }; +}; + +if (!isServer) exitWith {}; + if (isNil _name) then { missionNamespace setVariable [_name, _rallypoint]; publicVariable _name; + + _rallypoint setVariable [QGVAR(side), _side, true]; + + if (_respawnMarker != "" && {!(_respawnMarker in allMapMarkers)}) then { + createMarker [_respawnMarker, _rallypoint]; + }; + + ["rallypointMoved", [_rallypoint, _side]] call EFUNC(common,globalEvent); + } else { deleteVehicle _rallypoint; diag_log text "[ACE] Respawn: ERROR Multiple Rallypoints of same type."; diff --git a/addons/respawn/functions/fnc_module.sqf b/addons/respawn/functions/fnc_module.sqf index 6d03c1eda3..3f1ef89a1f 100644 --- a/addons/respawn/functions/fnc_module.sqf +++ b/addons/respawn/functions/fnc_module.sqf @@ -1,27 +1,26 @@ /* - Name: ACE_Respawn_fnc_module + Name: ACE_Respawn_fnc_module - Author(s): - KoffeinFlummi, bux578, esteldunedain, commy2 + Author(s): + KoffeinFlummi, bux578, esteldunedain, commy2 - Description: - initializes the respawn module + Description: + initializes the respawn module - Parameters: - 0: OBJECT - logic - 1: ARRAY - synced units - 2: BOOLEAN - activated + Parameters: + 0: OBJECT - logic + 1: ARRAY - synced units + 2: BOOLEAN - activated - Returns: - VOID + Returns: + VOID */ #include "script_component.hpp" -if !(isServer) exitWith {}; +PARAMS_3(_logic,_units,_activated); -_logic = _this select 0; -_activated = _this select 2; +if !(isServer) exitWith {}; if !(_activated) exitWith {}; @@ -32,20 +31,17 @@ GVAR(Module) = true; if (isServer) then { if (GVAR(RemoveDeadBodiesDisconnected)) then { - _fnc_deleteDisconnected = { - _this spawn { - _unit = _this select 0; - - sleep 4; + addMissionEventHandler ["HandleDisconnect", { + [{ + PARAMS_1(_unit); if (!alive _unit) then { deleteVehicle _unit; }; - }; + }, + _this, 4, 1] call EFUNC(common,waitAndExecute); false - }; - - addMissionEventHandler ["HandleDisconnect", _fnc_deleteDisconnected]; + }]; }; }; diff --git a/addons/respawn/functions/fnc_moduleFriendlyFire.sqf b/addons/respawn/functions/fnc_moduleFriendlyFire.sqf index 35857b43e4..7641db806d 100644 --- a/addons/respawn/functions/fnc_moduleFriendlyFire.sqf +++ b/addons/respawn/functions/fnc_moduleFriendlyFire.sqf @@ -19,17 +19,13 @@ #include "script_component.hpp" _this spawn { - _logic = _this select 0; - _units = _this select 1; - _activated = _this select 2; + PARAMS_3(_logic,_units,_activated); if !(_activated) exitWith {}; if (isServer) then { - _varName = QGVAR(showFriendlyFireMessage); - - missionNamespace setVariable [_varName, true]; - publicVariable _varName; + missionNamespace setVariable [QGVAR(showFriendlyFireMessage), true]; + publicVariable QGVAR(showFriendlyFireMessage); }; diag_log text "[ACE]: Friendly Fire Messages Module Initialized."; diff --git a/addons/respawn/functions/fnc_moduleRallypoint.sqf b/addons/respawn/functions/fnc_moduleRallypoint.sqf index 1646fa72da..15c415027d 100644 --- a/addons/respawn/functions/fnc_moduleRallypoint.sqf +++ b/addons/respawn/functions/fnc_moduleRallypoint.sqf @@ -16,11 +16,9 @@ VOID */ - #include "script_component.hpp" - -_logic = _this select 0; -_units = _this select 1; -_activated = _this select 2; +#include "script_component.hpp" + +PARAMS_3(_logic,_units,_activated); if !(_activated) exitWith {}; diff --git a/addons/respawn/functions/fnc_moveRallypoint.sqf b/addons/respawn/functions/fnc_moveRallypoint.sqf index dcd4810844..da9054e6aa 100644 --- a/addons/respawn/functions/fnc_moveRallypoint.sqf +++ b/addons/respawn/functions/fnc_moveRallypoint.sqf @@ -1,54 +1,58 @@ /* - Name: ACE_Respawn_fnc_moveRallypoint - - Author(s): - commy2 - - Description: - Moves a rallypoint to the player's location - - Parameters: - 0: OBJECT - unit - 1: OBJECT - side - - Returns: - VOID + Name: ACE_Respawn_fnc_moveRallypoint + + Author(s): + commy2 + + Description: + Moves a rallypoint to the player's location + + Parameters: + 0: OBJECT - unit + 1: OBJECT - side + + Returns: + VOID */ #include "script_component.hpp" -_this spawn { - _unit = _this select 0; - _side = _this select 1; +PARAMS_2(_unit,_side); - // rallypoint names are defined in CfgVehicles.hpp +private ["_rallypoint", "_position"]; - _rallypoint = [ - objNull, - missionNamespace getVariable ["ACE_Rallypoint_West", objNull], - missionNamespace getVariable ["ACE_RallypointExit_East", objNull], - missionNamespace getVariable ["ACE_RallypointExit_Independent", objNull] - ] select ([west, east, independent] find _side) + 1; +// rallypoint names are defined in CfgVehicles.hpp - if (isNull _rallypoint) exitWith {}; +_rallypoint = [ + objNull, + missionNamespace getVariable ["ACE_Rallypoint_West", objNull], + missionNamespace getVariable ["ACE_RallypointExit_East", objNull], + missionNamespace getVariable ["ACE_RallypointExit_Independent", objNull] +] select ([west, east, independent] find _side) + 1; - _position = getPosATL _unit; - _position = _position findEmptyPosition [0, 2, typeOf _rallypoint]; - if (count _position == 0) then {_position = getPosATL _unit}; +if (isNull _rallypoint) exitWith {}; - _position set [2, 0]; +_position = getPosATL _unit; +_position = _position findEmptyPosition [0, 2, typeOf _rallypoint]; +if (count _position == 0) then {_position = getPosATL _unit}; - [localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured); +_position set [2, 0]; + +[localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured); + +[{ + _rallypoint = _this select 0; + _unit = _this select 1; + _position = _this select 2; + _rallypoint = _this select 3; - sleep 5; _rallypoint setPosATL _position; _unit reveal _rallypoint; - /* - _marker = format ["AGM_RallyPoint_%1", _side]; - _marker setMarkerPos _position; - _marker setMarkerTextLocal format ["%1:%2", [date select 3, 2, 0] call CBA_fnc_FORMATNumber, [date select 4, 2, 0] call CBA_fnc_FORMATNumber]; - */ + _rallypoint setVariable [QGVAR(markerDate), format ["%1:%2", date select 3, date select 4], true]; - [localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured); -}; + ["rallypointMoved", [_rallypoint, _side, _position]] call EFUNC(common,globalEvent); + + [localize "STR_ACE_Respawn_Deployed"] call EFUNC(common,displayTextStructured); +}, +[_rallypoint, _unit, _position, _rallypoint], 5, 1] call EFUNC(common,waitAndExecute); diff --git a/addons/respawn/functions/fnc_removeBody.sqf b/addons/respawn/functions/fnc_removeBody.sqf index 5c3ed14988..e00f633e6c 100644 --- a/addons/respawn/functions/fnc_removeBody.sqf +++ b/addons/respawn/functions/fnc_removeBody.sqf @@ -1,22 +1,22 @@ /* Name: ACE_Respawn_fnc_removeBody - + Author(s): bux578 - + Description: removes a given body - + Parameters: 0: OBJECT - body 1: BOOLEAN - forceRemove // not used atm - + Returns: VOID */ #include "script_component.hpp" - + private ["_body", "_forceRemove", "_bodyRemoveTimer"]; _body = _this select 0; @@ -29,9 +29,8 @@ if (_forceRemove) then { _bodyRemoveTimer = 2; }; -[_body, _bodyRemoveTimer] spawn { - sleep (_this select 1); +[{ // hideBody takes ~20s till body is fully underground // a better hideBody would make this more aesthetic - deleteVehicle (_this select 0); -}; + deleteVehicle _this; +}, _body, _bodyRemoveTimer, 1] call EFUNC(common,waitAndExecute); diff --git a/addons/respawn/functions/fnc_removeDisconnectedPlayer.sqf b/addons/respawn/functions/fnc_removeDisconnectedPlayer.sqf index 492cd990a4..7bd0a6707f 100644 --- a/addons/respawn/functions/fnc_removeDisconnectedPlayer.sqf +++ b/addons/respawn/functions/fnc_removeDisconnectedPlayer.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_forceRemove", "_body"]; +private ["_forceRemove", "_body", "_uid"]; _forceRemove = _this select 0; diff --git a/addons/respawn/functions/fnc_restoreGear.sqf b/addons/respawn/functions/fnc_restoreGear.sqf index 18afba344b..85863bb6c2 100644 --- a/addons/respawn/functions/fnc_restoreGear.sqf +++ b/addons/respawn/functions/fnc_restoreGear.sqf @@ -17,11 +17,10 @@ #include "script_component.hpp" -private ["_unit", "_allGear", "_headgear", "_goggles", "_uniform", "_uniformitems", "_vest", "_vestitems", "_backpack", "_backpackitems", "_primaryweapon", "_primaryweaponitems", "_primaryweaponmagazine", "_handgunweapon", "_handgunweaponitems", "_handgunweaponmagazine", "_assigneditems", "_binocular"]; +PARAMS_2(_unit,_allGear); +private ["_unit", "_allGear", "_headgear", "_goggles", "_uniform", "_uniformitems", "_vest", "_vestitems", "_backpack", "_backpackitems", "_primaryweapon", "_primaryweaponitems", "_primaryweaponmagazine", "_handgunweapon", "_handgunweaponitems", "_handgunweaponmagazine", "_assigneditems", "_binocular", "_backpa", "_secondaryweapon", "_secondaryweaponitems", "_secondaryweaponmagazine"]; -_unit = _this select 0; -_allGear = _this select 1; // remove all starting gear of a player removeAllWeapons _unit; @@ -76,6 +75,8 @@ if (_goggles != "") then { _unit addItemToVest _x; }forEach _vestitems; +private "_flagRemoveDummyBag"; +_flagRemoveDummyBag = false; if(format["%1", _backpack] != "") then { _unit addBackpack _backpack; @@ -87,6 +88,12 @@ if(format["%1", _backpack] != "") then { { _unit addItemToBackpack _x; } forEach _backpackitems; + +} else { + // dummy backpack to ensure mags being loaded + _unit addBackpack "B_Kitbag_Base"; + + _flagRemoveDummyBag = true; }; @@ -138,6 +145,12 @@ if (_handgunweapon != "") then { }; +// remove dummy bagpack +if (_flagRemoveDummyBag) then { + removeBackpack _unit; +}; + + _assignedItems = _assignedItems - [_binocular]; // items diff --git a/addons/respawn/functions/fnc_teleportToRallypoint.sqf b/addons/respawn/functions/fnc_teleportToRallypoint.sqf index 8d898441ee..dc3cc16b92 100644 --- a/addons/respawn/functions/fnc_teleportToRallypoint.sqf +++ b/addons/respawn/functions/fnc_teleportToRallypoint.sqf @@ -1,47 +1,34 @@ /* - Name: ACE_Respawn_fnc_teleportToRallypoint - - Author(s): - commy2 - - Description: - teleports a unit to a rallypoint - - Parameters: - 0: OBJECT - unit - 1: OBJECT - side - 2: BOOLEAN - teleport to base - - Returns: - VOID -*/ - + * Author: commy2 + * teleports a unit to a rallypoint + * + * Arguments: + * 0: unit + * 1: side? + * 2: teleport to base + * + * Return Value: + * Nothing + * + * Example: + * [,,] call ACE_Respawn_fnc_teleportToRallypoint; + * + * Public: No + */ #include "script_component.hpp" -private ["_unit", "_side", "_toBase", "_rallypoint"]; +PARAMS_3(_unit,_side,_rallypoint); -_unit = _this select 0; -_side = _this select 1; -_toBase = _this select 2; +private ["_toBase"]; // rallypoint names are defined in CfgVehicles.hpp -_rallypoint = ([ - [ - objNull, - missionNamespace getVariable ["ACE_RallypointExit_West", objNull], - missionNamespace getVariable ["ACE_RallypointExit_East", objNull], - missionNamespace getVariable ["ACE_RallypointExit_Independent", objNull] - ], - [ - objNull, - missionNamespace getVariable ["ACE_Rallypoint_West", objNull], - missionNamespace getVariable ["ACE_Rallypoint_East", objNull], - missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull] - ] -] select _toBase) select ([west, east, independent] find _side) + 1; +//IGNORE_PRIVATE_WARNING("_Base") +_toBase = _rallypoint find "_Base" != -1; + +_rallypoint = missionNamespace getVariable [_rallypoint, objNull], if (isNull _rallypoint) exitWith {}; -_unit setPosASL (getPosASL _rallypoint); +_unit setPosASL getPosASL _rallypoint; [[localize "STR_ACE_Respawn_TeleportedToRallypoint", localize "STR_ACE_Respawn_TeleportedToBase"] select _toBase] call EFUNC(common,displayTextStructured); diff --git a/addons/respawn/functions/fnc_updateRallypoint.sqf b/addons/respawn/functions/fnc_updateRallypoint.sqf new file mode 100644 index 0000000000..248955155a --- /dev/null +++ b/addons/respawn/functions/fnc_updateRallypoint.sqf @@ -0,0 +1,18 @@ +// by commy2 +#include "script_component.hpp" + +private ["_rallypoint", "_side", "_position"]; + +_rallypoint = _this select 0; +_side = _this select 1; +_position = _this select 2; + +if (!hasInterface) exitWith {}; + +private ["_marker", "_markerDate"]; + +_marker = _rallypoint getVariable [QGVAR(marker), ""]; +_markerDate = _rallypoint getVariable [QGVAR(markerDate), ""]; + +_marker setMarkerPosLocal _position; +_marker setMarkerTextLocal _markerDate; diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 59a9b2b31c..75f711e20e 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,21 +1,97 @@  - - - Deploy in 5 seconds ... - Wird in 5 Sekunden errichtet ... - - - Rallypoint deployed - Rallypoint errichtet - - - Teleported to Base - Zur Basis teleportiert - - - Teleported to Rallypoint - Zum Rallypoint teleportiert - - + + + Deploy in 5 seconds ... + Déploiement dans 5 secondes ... + Wird in 5 Sekunden errichtet ... + Despliegue en 5 segundos ... + Возрождение через 5 секунд ... + Rozmieszczenie za 5 sekund ... + Respawn za 5 sekund... + Kihelyezés 5 másodperc múlva ... + Dispiegamento in 5 secondi ... + + + Rallypoint deployed + Point de ralliement déployé + Rallypoint errichtet + Punto de reunión desplegado + Точка сбора установлена + Punkt zbiórki rozmieszczony + Rallypoint umístěn + Gyülekezőpont elhelyezve + Rallypoint dispiegato + + + Teleported to Base + Téléporté à la base + Zur Basis teleportiert + Teletransportado a base + Телепорт на базу + Przeteleportowano do bazy + Odteleportován na základnu + Bázisra teleportálva + Teleportato alla base + + + Teleported to Rallypoint + Téléporté au point de déploiement + Zum Rallypoint teleportiert + Teletransportado al punto de reunión + Телепорт на точку сбора + Przeteleportowano do punktu zbiórki + Odteleportován na rallypoint + Gyülekezőpontra teleportálva + Teleportato al rallypoint + + + Rallypoint West (Base) + Sammelpunkt West (Basis) + Punto de reunión Oeste (Base) + Точка сбора Синих (База) + Punkt zbiórki Zachodu (Baza) + Point de ralliement OUEST (Base) + + + Rallypoint East (Base) + Sammelpunkt Ost (Basis) + Punto de reunión Este (Base) + Точка сбора Красных (База) + Punkt zbiórki Wschodu (Baza) + Point de ralliement EST (Base) + + + Rallypoint Independent (Base) + Sammelpunkt Widerstand (Basis) + Punto de reunión Independiente (Base) + Точка сбора Независимых (База) + Punkt zbiórki Ruchu oporu (Baza) + Point de ralliement Indépendant (Base) + + + Rallypoint West + Sammelpunkt West + Punto de reunión Oeste + Точка сбора Синих + Punkt zbiórki Zachodu + Point de ralliement OUEST + + + Rallypoint East + Sammelpunkt Ost + Punto de reunión Este + Точка сбора Красных + Punkt zbiórki Wschodu + Point de ralliement EST + + + Rallypoint Independent + Sammelpunkt Widerstand + Punto de reunión Independiente + Точка сбора Независимых + Punkt zbiórki Ruchu oporu + Point de ralliement Indépendant + + diff --git a/addons/resting/$PBOPREFIX$ b/addons/resting/$PBOPREFIX$ deleted file mode 100644 index 94f2a89f81..0000000000 --- a/addons/resting/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\resting \ No newline at end of file diff --git a/addons/resting/CfgEventHandlers.hpp b/addons/resting/CfgEventHandlers.hpp deleted file mode 100644 index beb3c4d419..0000000000 --- a/addons/resting/CfgEventHandlers.hpp +++ /dev/null @@ -1,12 +0,0 @@ - -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_postInit) ); - }; -}; diff --git a/addons/resting/CfgMoves.hpp b/addons/resting/CfgMoves.hpp deleted file mode 100644 index 3c4ab85a5c..0000000000 --- a/addons/resting/CfgMoves.hpp +++ /dev/null @@ -1,1389 +0,0 @@ -// CODE BELOW TAKEN FROM TMR, PREFIXES EDITED FOR COMPATABILITY - -#define ACE_SWAY_DEPLOY 0.02 -#define ACE_SWAY_DEPLOYPRONE 0.01 -#define ACE_SWAY_RESTED 0.04 //0.08 -#define ACE_SWAY_RESTEDPRONE 0.02 //0.04 -#define ACE_DEPLOY_TURNSPEED 0.1 - -// Arma 3 doesn't respect turnSpeed. - -class CfgMovesBasic { - class Default; - - class Actions { - class RifleStandActions; - class RifleStandActions_ace_deploy : RifleStandActions { - stop = "AmovPercMstpSrasWrflDnon_ace_deploy"; - default = "AmovPercMstpSrasWrflDnon_ace_deploy"; - turnL = "AmovPercMstpSrasWrflDnon_ace_deploy"; - turnR = "AmovPercMstpSrasWrflDnon_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLStandActions; - class RifleAdjustLStandActions_ace_deploy : RifleAdjustLStandActions { - stop = "AadjPercMstpSrasWrflDleft_ace_deploy"; - default = "AadjPercMstpSrasWrflDleft_ace_deploy"; - AdjustL = "AadjPercMstpSrasWrflDleft_ace_deploy"; - turnL = "AadjPercMstpSrasWrflDleft_ace_deploy"; - turnR = "AadjPercMstpSrasWrflDleft_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRStandActions; - class RifleAdjustRStandActions_ace_deploy : RifleAdjustRStandActions { - stop = "AadjPercMstpSrasWrflDright_ace_deploy"; - default = "AadjPercMstpSrasWrflDright_ace_deploy"; - AdjustRight = "AadjPercMstpSrasWrflDright_ace_deploy"; - turnL = "AadjPercMstpSrasWrflDright_ace_deploy"; - turnR = "AadjPercMstpSrasWrflDright_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFStandActions; - class RifleAdjustFStandActions_ace_deploy : RifleAdjustFStandActions { - stop = "AadjPercMstpSrasWrflDup_ace_deploy"; - default = "AadjPercMstpSrasWrflDup_ace_deploy"; - AdjustF = "AadjPercMstpSrasWrflDup_ace_deploy"; - turnL = "AadjPercMstpSrasWrflDup_ace_deploy"; - turnR = "AadjPercMstpSrasWrflDup_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBStandActions; - class RifleAdjustBStandActions_ace_deploy : RifleAdjustBStandActions { - stop = "AadjPercMstpSrasWrflDdown_ace_deploy"; - default = "AadjPercMstpSrasWrflDdown_ace_deploy"; - AdjustB = "AadjPercMstpSrasWrflDdown_ace_deploy"; - turnR = "AadjPercMstpSrasWrflDdown_ace_deploy"; - turnL = "AadjPercMstpSrasWrflDdown_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleKneelActions; - class RifleKneelActions_ace_deploy : RifleKneelActions { - stop = "AmovPknlMstpSrasWrflDnon_ace_deploy"; - default = "AmovPknlMstpSrasWrflDnon_ace_deploy"; - crouch = "AmovPknlMstpSrasWrflDnon_ace_deploy"; // TODO: this might cause issues - turnL = "AmovPknlMstpSrasWrflDnon_ace_deploy"; - turnR = "AmovPknlMstpSrasWrflDnon_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLKneelActions; - class RifleAdjustLKneelActions_ace_deploy : RifleAdjustLKneelActions { - stop = "AadjPknlMstpSrasWrflDleft_ace_deploy"; - default = "AadjPknlMstpSrasWrflDleft_ace_deploy"; - turnL = "AadjPknlMstpSrasWrflDleft_ace_deploy"; - turnR = "AadjPknlMstpSrasWrflDleft_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRKneelActions; - class RifleAdjustRKneelActions_ace_deploy : RifleAdjustRKneelActions { - stop = "AadjPknlMstpSrasWrflDright_ace_deploy"; - default = "AadjPknlMstpSrasWrflDright_ace_deploy"; - turnL = "AadjPknlMstpSrasWrflDright_ace_deploy"; - turnR = "AadjPknlMstpSrasWrflDright_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFKneelActions; - class RifleAdjustFKneelActions_ace_deploy : RifleAdjustFKneelActions { - stop = "AadjPknlMstpSrasWrflDup_ace_deploy"; - default = "AadjPknlMstpSrasWrflDup_ace_deploy"; - turnL = "AadjPknlMstpSrasWrflDup_ace_deploy"; - turnR = "AadjPknlMstpSrasWrflDup_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBKneelActions; - class RifleAdjustBKneelActions_ace_deploy : RifleAdjustBKneelActions { - stop = "AadjPknlMstpSrasWrflDdown_ace_deploy"; - default = "AadjPknlMstpSrasWrflDdown_ace_deploy"; - turnL = "AadjPknlMstpSrasWrflDdown_ace_deploy"; - turnR = "AadjPknlMstpSrasWrflDdown_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleProneActions; - class RifleProneActions_ace_deploy : RifleProneActions { - stop = "AmovPpneMstpSrasWrflDnon_ace_deploy"; - default = "AmovPpneMstpSrasWrflDnon_ace_deploy"; - turnL = "AmovPpneMstpSrasWrflDnon_ace_deploy"; - turnR = "AmovPpneMstpSrasWrflDnon_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLProneActions; - class RifleAdjustLProneActions_ace_deploy : RifleAdjustLProneActions { - stop = "AadjPpneMstpSrasWrflDleft_ace_deploy"; - default = "AadjPpneMstpSrasWrflDleft_ace_deploy"; - turnL = "AadjPpneMstpSrasWrflDleft_ace_deploy"; - turnR = "AadjPpneMstpSrasWrflDleft_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRProneActions; - class RifleAdjustRProneActions_ace_deploy : RifleAdjustRProneActions { - stop = "AadjPpneMstpSrasWrflDright_ace_deploy"; - default = "AadjPpneMstpSrasWrflDright_ace_deploy"; - turnL = "AadjPpneMstpSrasWrflDright_ace_deploy"; - turnR = "AadjPpneMstpSrasWrflDright_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFProneActions; - class RifleAdjustFProneActions_ace_deploy : RifleAdjustFProneActions { - stop = "aadjppnemstpsraswrfldup_ace_deploy"; - default = "aadjppnemstpsraswrfldup_ace_deploy"; - turnL = "aadjppnemstpsraswrfldup_ace_deploy"; - turnR = "aadjppnemstpsraswrfldup_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBProneActions; - class RifleAdjustBProneActions_ace_deploy : RifleAdjustBProneActions { - stop = "AadjPpneMstpSrasWrflDdown_ace_deploy"; - default = "AadjPpneMstpSrasWrflDdown_ace_deploy"; - turnL = "AadjPpneMstpSrasWrflDdown_ace_deploy"; - turnR = "AadjPpneMstpSrasWrflDdown_ace_deploy"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - ////////////////////////////////////////////////////////////////////// - - class RifleStandActions_ace_rested : RifleStandActions { - stop = "AmovPercMstpSrasWrflDnon_ace_rested"; - default = "AmovPercMstpSrasWrflDnon_ace_rested"; - turnL = "AmovPercMstpSrasWrflDnon_ace_rested"; - turnR = "AmovPercMstpSrasWrflDnon_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLStandActions_ace_rested : RifleAdjustLStandActions { - stop = "AadjPercMstpSrasWrflDleft_ace_rested"; - default = "AadjPercMstpSrasWrflDleft_ace_rested"; - AdjustL = "AadjPercMstpSrasWrflDleft_ace_rested"; - turnL = "AadjPercMstpSrasWrflDleft_ace_rested"; - turnR = "AadjPercMstpSrasWrflDleft_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRStandActions_ace_rested : RifleAdjustRStandActions { - stop = "AadjPercMstpSrasWrflDright_ace_rested"; - default = "AadjPercMstpSrasWrflDright_ace_rested"; - AdjustRight = "AadjPercMstpSrasWrflDright_ace_rested"; - turnL = "AadjPercMstpSrasWrflDright_ace_rested"; - turnR = "AadjPercMstpSrasWrflDright_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFStandActions_ace_rested : RifleAdjustFStandActions { - stop = "AadjPercMstpSrasWrflDup_ace_rested"; - default = "AadjPercMstpSrasWrflDup_ace_rested"; - AdjustF = "AadjPercMstpSrasWrflDup_ace_rested"; - turnL = "AadjPercMstpSrasWrflDup_ace_rested"; - turnR = "AadjPercMstpSrasWrflDup_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBStandActions_ace_rested : RifleAdjustBStandActions { - stop = "AadjPercMstpSrasWrflDdown_ace_rested"; - default = "AadjPercMstpSrasWrflDdown_ace_rested"; - AdjustB = "AadjPercMstpSrasWrflDdown_ace_rested"; - turnR = "AadjPercMstpSrasWrflDdown_ace_rested"; - turnL = "AadjPercMstpSrasWrflDdown_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleKneelActions_ace_rested : RifleKneelActions { - stop = "AmovPknlMstpSrasWrflDnon_ace_rested"; - default = "AmovPknlMstpSrasWrflDnon_ace_rested"; - crouch = "AmovPknlMstpSrasWrflDnon_ace_rested"; - turnL = "AmovPknlMstpSrasWrflDnon_ace_rested"; - turnR = "AmovPknlMstpSrasWrflDnon_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLKneelActions_ace_rested : RifleAdjustLKneelActions { - stop = "AadjPknlMstpSrasWrflDleft_ace_rested"; - default = "AadjPknlMstpSrasWrflDleft_ace_rested"; - turnL = "AadjPknlMstpSrasWrflDleft_ace_rested"; - turnR = "AadjPknlMstpSrasWrflDleft_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRKneelActions_ace_rested : RifleAdjustRKneelActions { - stop = "AadjPknlMstpSrasWrflDright_ace_rested"; - default = "AadjPknlMstpSrasWrflDright_ace_rested"; - turnL = "AadjPknlMstpSrasWrflDright_ace_rested"; - turnR = "AadjPknlMstpSrasWrflDright_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFKneelActions_ace_rested : RifleAdjustFKneelActions { - stop = "AadjPknlMstpSrasWrflDup_ace_rested"; - default = "AadjPknlMstpSrasWrflDup_ace_rested"; - turnL = "AadjPknlMstpSrasWrflDup_ace_rested"; - turnR = "AadjPknlMstpSrasWrflDup_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBKneelActions_ace_rested : RifleAdjustBKneelActions { - stop = "AadjPknlMstpSrasWrflDdown_ace_rested"; - default = "AadjPknlMstpSrasWrflDdown_ace_rested"; - turnL = "AadjPknlMstpSrasWrflDdown_ace_rested"; - turnR = "AadjPknlMstpSrasWrflDdown_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleProneActions_ace_rested : RifleProneActions { - stop = "AmovPpneMstpSrasWrflDnon_ace_rested"; - default = "AmovPpneMstpSrasWrflDnon_ace_rested"; - turnL = "AmovPpneMstpSrasWrflDnon_ace_rested"; - turnR = "AmovPpneMstpSrasWrflDnon_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustLProneActions_ace_rested : RifleAdjustLProneActions { - stop = "AadjPpneMstpSrasWrflDleft_ace_rested"; - default = "AadjPpneMstpSrasWrflDleft_ace_rested"; - turnL = "AadjPpneMstpSrasWrflDleft_ace_rested"; - turnR = "AadjPpneMstpSrasWrflDleft_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustRProneActions_ace_rested : RifleAdjustRProneActions { - stop = "AadjPpneMstpSrasWrflDright_ace_rested"; - default = "AadjPpneMstpSrasWrflDright_ace_rested"; - turnL = "AadjPpneMstpSrasWrflDright_ace_rested"; - turnR = "AadjPpneMstpSrasWrflDright_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustFProneActions_ace_rested : RifleAdjustFProneActions { - stop = "aadjppnemstpsraswrfldup_ace_rested"; - default = "aadjppnemstpsraswrfldup_ace_rested"; - turnL = "aadjppnemstpsraswrfldup_ace_rested"; - turnR = "aadjppnemstpsraswrfldup_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class RifleAdjustBProneActions_ace_rested : RifleAdjustBProneActions { - stop = "AadjPpneMstpSrasWrflDdown_ace_rested"; - default = "AadjPpneMstpSrasWrflDdown_ace_rested"; - turnL = "AadjPpneMstpSrasWrflDdown_ace_rested"; - turnR = "AadjPpneMstpSrasWrflDdown_ace_rested"; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - ////////////////////////////////////////////////////////////////////// - // FFV - ////////////////////////////////////////////////////////////////////// - - class passenger_inside_1Actions; - class passenger_inside_1Actions_ace_deploy : passenger_inside_1Actions { - stop = "passenger_inside_1_Aim_ace_deploy"; - default = "passenger_inside_1_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_inside_2Actions; - class passenger_inside_2Actions_ace_deploy : passenger_inside_2Actions { - stop = "passenger_inside_2_Aim_ace_deploy"; - default = "passenger_inside_2_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_inside_3Actions; - class passenger_inside_3Actions_ace_deploy : passenger_inside_3Actions { - stop = "passenger_inside_3_Aim_ace_deploy"; - default = "passenger_inside_3_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_inside_4Actions; - class passenger_inside_4Actions_ace_deploy : passenger_inside_4Actions { - stop = "passenger_inside_4_Aim_ace_deploy"; - default = "passenger_inside_4_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_bench_1Actions; - class passenger_bench_1Actions_ace_deploy : passenger_bench_1Actions { - stop = "passenger_bench_1_Aim_ace_deploy"; - default = "passenger_bench_1_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_1Actions; - class passenger_boat_1Actions_ace_deploy : passenger_boat_1Actions { - stop = "passenger_boat_1_Aim_ace_deploy"; - default = "passenger_boat_1_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_2Actions; - class passenger_boat_2Actions_ace_deploy : passenger_boat_2Actions { - stop = "passenger_boat_2_Aim_ace_deploy"; - default = "passenger_boat_2_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_3Actions; - class passenger_boat_3Actions_ace_deploy : passenger_boat_3Actions { - stop = "passenger_boat_3_Aim_ace_deploy"; - default = "passenger_boat_3_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_4Actions; - class passenger_boat_4Actions_ace_deploy : passenger_boat_4Actions { - stop = "passenger_boat_4_Aim_ace_deploy"; - default = "passenger_boat_4_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_1Actions; - class passenger_flatground_1Actions_ace_deploy : passenger_flatground_1Actions { - stop = "passenger_flatground_1_Aim_ace_deploy"; - default = "passenger_flatground_1_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_2Actions; - class passenger_flatground_2Actions_ace_deploy : passenger_flatground_2Actions { - stop = "passenger_flatground_2_Aim_ace_deploy"; - default = "passenger_flatground_2_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_3Actions; - class passenger_flatground_3Actions_ace_deploy : passenger_flatground_3Actions { - stop = "passenger_flatground_3_Aim_ace_deploy"; - default = "passenger_flatground_3_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_4Actions; - class passenger_flatground_4Actions_ace_deploy : passenger_flatground_4Actions { - stop = "passenger_flatground_4_Aim_ace_deploy"; - default = "passenger_flatground_4_Aim_ace_deploy"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - ////////////////////////////////////////////////////////////////////// - - class passenger_inside_1Actions_ace_rested : passenger_inside_1Actions { - stop = "passenger_inside_1_Aim_ace_rested"; - default = "passenger_inside_1_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_inside_2Actions_ace_rested : passenger_inside_2Actions { - stop = "passenger_inside_2_Aim_ace_rested"; - default = "passenger_inside_2_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_inside_3Actions_ace_rested : passenger_inside_3Actions { - stop = "passenger_inside_3_Aim_ace_rested"; - default = "passenger_inside_3_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_inside_4Actions_ace_rested : passenger_inside_4Actions { - stop = "passenger_inside_4_Aim_ace_rested"; - default = "passenger_inside_4_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_bench_1Actions_ace_rested : passenger_bench_1Actions { - stop = "passenger_bench_1_Aim_ace_rested"; - default = "passenger_bench_1_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_1Actions_ace_rested : passenger_boat_1Actions { - stop = "passenger_boat_1_Aim_ace_rested"; - default = "passenger_boat_1_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_2Actions_ace_rested : passenger_boat_2Actions { - stop = "passenger_boat_2_Aim_ace_rested"; - default = "passenger_boat_2_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_3Actions_ace_rested : passenger_boat_3Actions { - stop = "passenger_boat_3_Aim_ace_rested"; - default = "passenger_boat_3_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_boat_4Actions_ace_rested : passenger_boat_4Actions { - stop = "passenger_boat_4_Aim_ace_rested"; - default = "passenger_boat_4_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_1Actions_ace_rested : passenger_flatground_1Actions { - stop = "passenger_flatground_1_Aim_ace_rested"; - default = "passenger_flatground_1_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_2Actions_ace_rested : passenger_flatground_2Actions { - stop = "passenger_flatground_2_Aim_ace_rested"; - default = "passenger_flatground_2_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_3Actions_ace_rested : passenger_flatground_3Actions { - stop = "passenger_flatground_3_Aim_ace_rested"; - default = "passenger_flatground_3_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - - class passenger_flatground_4Actions_ace_rested : passenger_flatground_4Actions { - stop = "passenger_flatground_4_Aim_ace_rested"; - default = "passenger_flatground_4_Aim_ace_rested"; - turnL = ""; - turnR = ""; - turnSpeed = ACE_DEPLOY_TURNSPEED; - limitFast = 1; - }; - }; -}; - -class CfgMovesMaleSdr : CfgMovesBasic { - class States { - class AmovPercMstpSrasWrflDnon; - class AmovPercMstpSrasWrflDnon_ace_deploy : AmovPercMstpSrasWrflDnon { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleStandActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"AmovPercMstpSrasWrflDnon_ace_deploy", 0.02}; - ConnectFrom[] = {"AmovPercMstpSrasWrflDnon_ace_deploy", 0.02}; - InterpolateFrom[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - InterpolateTo[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - }; - - class aadjpercmstpsraswrfldup; - class aadjpercmstpsraswrfldup_ace_deploy : aadjpercmstpsraswrfldup { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustFStandActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldup_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldup_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldup", 0.02}; - }; - - class aadjpercmstpsraswrflddown; - class aadjpercmstpsraswrflddown_ace_deploy : aadjpercmstpsraswrflddown { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustBStandActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrflddown_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrflddown_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrflddown", 0.02}; - }; - - class aadjpercmstpsraswrfldright; - class aadjpercmstpsraswrfldright_ace_deploy : aadjpercmstpsraswrfldright { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustRStandActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldright_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldright_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldright", 0.02}; - }; - - class aadjpercmstpsraswrfldleft; - class aadjpercmstpsraswrfldleft_ace_deploy : aadjpercmstpsraswrfldleft { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustLStandActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldleft_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldleft_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldup; - class aadjpknlmstpsraswrfldup_ace_deploy : aadjpknlmstpsraswrfldup { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustFKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldup_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldup_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldup", 0.02}; - }; - - class amovpknlmstpsraswrfldnon; - class amovpknlmstpsraswrfldnon_ace_deploy : amovpknlmstpsraswrfldnon { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovpknlmstpsraswrfldnon_ace_deploy", 0.02}; - ConnectFrom[] = {"amovpknlmstpsraswrfldnon_ace_deploy", 0.02}; - InterpolateFrom[] = {"amovpknlmstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovpknlmstpsraswrfldnon", 0.02}; - }; - - class aadjpknlmstpsraswrflddown; - class aadjpknlmstpsraswrflddown_ace_deploy : aadjpknlmstpsraswrflddown { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustBKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrflddown_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrflddown_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrflddown", 0.02}; - }; - - class aadjpknlmstpsraswrfldleft; - class aadjpknlmstpsraswrfldleft_ace_deploy : aadjpknlmstpsraswrfldleft { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustLKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldleft_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldleft_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldright; - class aadjpknlmstpsraswrfldright_ace_deploy : aadjpknlmstpsraswrfldright { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "RifleAdjustRKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldright_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldright_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldright", 0.02}; - }; - - class aadjppnemstpsraswrfldup; - class aadjppnemstpsraswrfldup_ace_deploy : aadjppnemstpsraswrfldup { - aimPrecision = ACE_SWAY_DEPLOYPRONE; - actions = "RifleAdjustFProneActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldup_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldup_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldup", 0.02}; - }; - - class amovppnemstpsraswrfldnon; - class amovppnemstpsraswrfldnon_ace_deploy : amovppnemstpsraswrfldnon { - aimPrecision = ACE_SWAY_DEPLOYPRONE; - actions = "RifleProneActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovppnemstpsraswrfldnon_ace_deploy", 0.02}; - ConnectFrom[] = {"amovppnemstpsraswrfldnon_ace_deploy", 0.02}; - InterpolateFrom[] = {"amovppnemstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovppnemstpsraswrfldnon", 0.02}; - }; - - class aadjppnemstpsraswrflddown; - class aadjppnemstpsraswrflddown_ace_deploy : aadjppnemstpsraswrflddown { - aimPrecision = ACE_SWAY_DEPLOYPRONE; - actions = "RifleAdjustBKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrflddown_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrflddown_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrflddown", 0.02}; - }; - - class aadjppnemstpsraswrfldleft; - class aadjppnemstpsraswrfldleft_ace_deploy : aadjppnemstpsraswrfldleft { - aimPrecision = ACE_SWAY_DEPLOYPRONE; - actions = "RifleAdjustLKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldleft_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldleft_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldleft", 0.02}; - }; - - class aadjppnemstpsraswrfldright; - class aadjppnemstpsraswrfldright_ace_deploy : aadjppnemstpsraswrfldright { - aimPrecision = ACE_SWAY_DEPLOYPRONE; - actions = "RifleAdjustRKneelActions_ace_deploy"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldright_ace_deploy", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldright_ace_deploy", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldright", 0.02}; - }; - - ///////////////////////////////////////////////////////////////////////////// - - class AmovPercMstpSrasWrflDnon_ace_rested : AmovPercMstpSrasWrflDnon { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleStandActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"AmovPercMstpSrasWrflDnon_ace_rested", 0.02}; - ConnectFrom[] = {"AmovPercMstpSrasWrflDnon_ace_rested", 0.02}; - InterpolateFrom[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - InterpolateTo[] = {"AmovPercMstpSrasWrflDnon", 0.02}; - }; - - class aadjpercmstpsraswrfldup_ace_rested : aadjpercmstpsraswrfldup { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustFStandActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldup_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldup_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldup", 0.02}; - }; - - class aadjpercmstpsraswrflddown_ace_rested : aadjpercmstpsraswrflddown { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustBStandActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrflddown_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrflddown_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrflddown", 0.02}; - }; - - class aadjpercmstpsraswrfldright_ace_rested : aadjpercmstpsraswrfldright { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustRStandActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldright_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldright_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldright", 0.02}; - }; - - class aadjpercmstpsraswrfldleft_ace_rested : aadjpercmstpsraswrfldleft { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustLStandActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpercmstpsraswrfldleft_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpercmstpsraswrfldleft_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpercmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpercmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldup_ace_rested : aadjpknlmstpsraswrfldup { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustFKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldup_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldup_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldup", 0.02}; - }; - - class amovpknlmstpsraswrfldnon_ace_rested : amovpknlmstpsraswrfldnon { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovpknlmstpsraswrfldnon_ace_rested", 0.02}; - ConnectFrom[] = {"amovpknlmstpsraswrfldnon_ace_rested", 0.02}; - InterpolateFrom[] = {"amovpknlmstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovpknlmstpsraswrfldnon", 0.02}; - }; - - class aadjpknlmstpsraswrflddown_ace_rested : aadjpknlmstpsraswrflddown { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustBKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrflddown_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrflddown_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrflddown", 0.02}; - }; - - class aadjpknlmstpsraswrfldleft_ace_rested : aadjpknlmstpsraswrfldleft { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustLKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldleft_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldleft_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldleft", 0.02}; - }; - - class aadjpknlmstpsraswrfldright_ace_rested : aadjpknlmstpsraswrfldright { - aimPrecision = ACE_SWAY_RESTED; - actions = "RifleAdjustRKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjpknlmstpsraswrfldright_ace_rested", 0.02}; - ConnectFrom[] = {"aadjpknlmstpsraswrfldright_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjpknlmstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjpknlmstpsraswrfldright", 0.02}; - }; - - class aadjppnemstpsraswrfldup_ace_rested : aadjppnemstpsraswrfldup { - aimPrecision = ACE_SWAY_RESTEDPRONE; - actions = "RifleAdjustFProneActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldup_ace_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldup_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldup", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldup", 0.02}; - }; - - class amovppnemstpsraswrfldnon_ace_rested : amovppnemstpsraswrfldnon { - aimPrecision = ACE_SWAY_RESTEDPRONE; - actions = "RifleProneActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"amovppnemstpsraswrfldnon_ace_rested", 0.02}; - ConnectFrom[] = {"amovppnemstpsraswrfldnon_ace_rested", 0.02}; - InterpolateFrom[] = {"amovppnemstpsraswrfldnon", 0.02}; - InterpolateTo[] = {"amovppnemstpsraswrfldnon", 0.02}; - }; - - class aadjppnemstpsraswrflddown_ace_rested : aadjppnemstpsraswrflddown { - aimPrecision = ACE_SWAY_RESTEDPRONE; - actions = "RifleAdjustBKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrflddown_ace_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrflddown_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrflddown", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrflddown", 0.02}; - }; - - class aadjppnemstpsraswrfldleft_ace_rested : aadjppnemstpsraswrfldleft { - aimPrecision = ACE_SWAY_RESTEDPRONE; - actions = "RifleAdjustLKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldleft_ace_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldleft_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldleft", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldleft", 0.02}; - }; - - class aadjppnemstpsraswrfldright_ace_rested : aadjppnemstpsraswrfldright { - aimPrecision = ACE_SWAY_RESTEDPRONE; - actions = "RifleAdjustRKneelActions_ace_rested"; - aiming = "aimingLying"; - speed = 0.01; - onLandEnd = true; - onLandBeg = true; - - ConnectTo[] = {"aadjppnemstpsraswrfldright_ace_rested", 0.02}; - ConnectFrom[] = {"aadjppnemstpsraswrfldright_ace_rested", 0.02}; - InterpolateFrom[] = {"aadjppnemstpsraswrfldright", 0.02}; - InterpolateTo[] = {"aadjppnemstpsraswrfldright", 0.02}; - }; - - ////////////////////////////////////////////////////////////////////// - // FFV - ////////////////////////////////////////////////////////////////////// - - class passenger_bench_1_Aim; - class passenger_bench_1_Aim_ace_deploy : passenger_bench_1_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_bench_1Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_bench_1_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_bench_1_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_bench_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_bench_1_Aim", 0.02}; - }; - - class passenger_inside_1_Aim; - class passenger_inside_1_Aim_ace_deploy : passenger_inside_1_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_inside_1Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_1_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_inside_1_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_inside_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_1_Aim", 0.02}; - }; - - class passenger_inside_2_Aim; - class passenger_inside_2_Aim_ace_deploy : passenger_inside_2_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_inside_2Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_2_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_inside_2_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_inside_2_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_2_Aim", 0.02}; - }; - - class passenger_inside_3_Aim; - class passenger_inside_3_Aim_ace_deploy : passenger_inside_3_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_inside_3Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_3_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_inside_3_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_inside_3_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_3_Aim", 0.02}; - }; - - class passenger_inside_4_Aim; - class passenger_inside_4_Aim_ace_deploy : passenger_inside_4_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_inside_4Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_4_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_inside_4_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_inside_4_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_4_Aim", 0.02}; - }; - - class passenger_boat_1_Aim; - class passenger_boat_1_Aim_ace_deploy : passenger_boat_1_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_boat_1Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_1_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_boat_1_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_boat_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_1_Aim", 0.02}; - }; - - class passenger_boat_2_Aim; - class passenger_boat_2_Aim_ace_deploy : passenger_boat_2_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_boat_2Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_2_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_boat_2_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_boat_2_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_2_Aim", 0.02}; - }; - - class passenger_boat_3_Aim; - class passenger_boat_3_Aim_ace_deploy : passenger_boat_3_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_boat_3Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_3_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_boat_3_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_boat_3_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_3_Aim", 0.02}; - }; - - class passenger_boat_4_Aim; - class passenger_boat_4_Aim_ace_deploy : passenger_boat_4_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_boat_4Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_4_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_boat_4_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_boat_4_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_4_Aim", 0.02}; - }; - - class passenger_flatground_1_Aim; - class passenger_flatground_1_Aim_ace_deploy : passenger_flatground_1_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_flatground_1Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_1_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_flatground_1_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_flatground_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_1_Aim", 0.02}; - }; - - class passenger_flatground_2_Aim; - class passenger_flatground_2_Aim_ace_deploy : passenger_flatground_2_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_flatground_2Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_2_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_flatground_2_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_flatground_2_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_2_Aim", 0.02}; - }; - - class passenger_flatground_3_Aim; - class passenger_flatground_3_Aim_ace_deploy : passenger_flatground_3_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_flatground_3Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_3_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_flatground_3_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_flatground_3_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_3_Aim", 0.02}; - }; - - class passenger_flatground_4_Aim; - class passenger_flatground_4_Aim_ace_deploy : passenger_flatground_4_Aim { - aimPrecision = ACE_SWAY_DEPLOY; - actions = "passenger_flatground_4Actions_ace_deploy"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_4_Aim_ace_deploy", 0.02}; - ConnectFrom[] = {"passenger_flatground_4_Aim_ace_deploy", 0.02}; - InterpolateFrom[] = {"passenger_flatground_4_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_4_Aim", 0.02}; - }; - - ////////////////////////////////////////////////////////////////////// - - class passenger_bench_1_Aim_ace_rested : passenger_bench_1_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_bench_1Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_bench_1_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_bench_1_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_bench_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_bench_1_Aim", 0.02}; - }; - - class passenger_inside_1_Aim_ace_rested : passenger_inside_1_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_inside_1Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_1_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_inside_1_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_inside_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_1_Aim", 0.02}; - }; - - class passenger_inside_2_Aim_ace_rested : passenger_inside_2_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_inside_2Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_2_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_inside_2_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_inside_2_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_2_Aim", 0.02}; - }; - - class passenger_inside_3_Aim_ace_rested : passenger_inside_3_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_inside_3Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_3_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_inside_3_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_inside_3_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_3_Aim", 0.02}; - }; - - class passenger_inside_4_Aim_ace_rested : passenger_inside_4_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_inside_4Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_inside_4_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_inside_4_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_inside_4_Aim", 0.02}; - InterpolateTo[] = {"passenger_inside_4_Aim", 0.02}; - }; - - class passenger_boat_1_Aim_ace_rested : passenger_boat_1_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_boat_1Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_1_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_boat_1_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_boat_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_1_Aim", 0.02}; - }; - - class passenger_boat_2_Aim_ace_rested : passenger_boat_2_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_boat_2Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_2_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_boat_2_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_boat_2_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_2_Aim", 0.02}; - }; - - class passenger_boat_3_Aim_ace_rested : passenger_boat_3_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_boat_3Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_3_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_boat_3_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_boat_3_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_3_Aim", 0.02}; - }; - - class passenger_boat_4_Aim_ace_rested : passenger_boat_4_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_boat_4Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_boat_4_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_boat_4_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_boat_4_Aim", 0.02}; - InterpolateTo[] = {"passenger_boat_4_Aim", 0.02}; - }; - - class passenger_flatground_1_Aim_ace_rested : passenger_flatground_1_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_flatground_1Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_1_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_flatground_1_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_flatground_1_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_1_Aim", 0.02}; - }; - - class passenger_flatground_2_Aim_ace_rested : passenger_flatground_2_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_flatground_2Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_2_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_flatground_2_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_flatground_2_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_2_Aim", 0.02}; - }; - - class passenger_flatground_3_Aim_ace_rested : passenger_flatground_3_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_flatground_3Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_3_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_flatground_3_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_flatground_3_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_3_Aim", 0.02}; - }; - - class passenger_flatground_4_Aim_ace_rested : passenger_flatground_4_Aim { - aimPrecision = ACE_SWAY_RESTED; - actions = "passenger_flatground_4Actions_ace_rested"; - aiming = "aimingDefault"; - speed = 0.01; - onLandEnd = false; - onLandBeg = false; - - ConnectTo[] = {"passenger_flatground_4_Aim_ace_rested", 0.02}; - ConnectFrom[] = {"passenger_flatground_4_Aim_ace_rested", 0.02}; - InterpolateFrom[] = {"passenger_flatground_4_Aim", 0.02}; - InterpolateTo[] = {"passenger_flatground_4_Aim", 0.02}; - }; - }; -}; diff --git a/addons/resting/CfgSounds.hpp b/addons/resting/CfgSounds.hpp deleted file mode 100644 index b55d4d9ae8..0000000000 --- a/addons/resting/CfgSounds.hpp +++ /dev/null @@ -1,14 +0,0 @@ -class CfgSounds { - class GVAR(rest) - { - name=QGVAR(rest); - sound[]={QUOTE(PATHTOF(sounds\weaponrest_rest.wav)),1,1}; - titles[]={}; - }; - class GVAR(unrest) - { - name=QGVAR(unrest); - sound[]={QUOTE(PATHTOF(sounds\weaponrest_unrest.wav)),1,1}; - titles[]={}; - }; -}; \ No newline at end of file diff --git a/addons/resting/CfgWeapons.hpp b/addons/resting/CfgWeapons.hpp deleted file mode 100644 index 56bef2c033..0000000000 --- a/addons/resting/CfgWeapons.hpp +++ /dev/null @@ -1,22 +0,0 @@ -class CfgWeapons { - class Rifle_Long_Base_F; - class arifle_MX_Base_F; - - class arifle_MX_SW_F : arifle_MX_Base_F { - ACE_Bipod = 1; - }; - - class LMG_Mk200_F : Rifle_Long_Base_F { - ACE_Bipod = 1; - }; - class LMG_Zafir_F: Rifle_Long_Base_F { - ACE_Bipod = 1; - }; - - class LRR_base_F : Rifle_Long_Base_F { - ACE_Bipod = 1; - }; - class GM6_base_F : Rifle_Long_Base_F { - ACE_Bipod = 1; - }; -}; diff --git a/addons/resting/README.md b/addons/resting/README.md deleted file mode 100644 index 477ced17b5..0000000000 --- a/addons/resting/README.md +++ /dev/null @@ -1,12 +0,0 @@ -ace_resting -=========== - -Introduces weapon resting and bipod deployment, allowing the player to increase the stability of his weapon. - - -## Maintainers - -The people responsible for merging changes to this component or answering potential questions. - -- [KoffeinFlummi](https://github.com/KoffeinFlummi) -- [commy2](https://github.com/commy2) diff --git a/addons/resting/XEH_postInit.sqf b/addons/resting/XEH_postInit.sqf deleted file mode 100644 index bd78ae0044..0000000000 --- a/addons/resting/XEH_postInit.sqf +++ /dev/null @@ -1,23 +0,0 @@ -// by esteldunedain -#include "script_component.hpp" - -if !(hasInterface) exitWith {}; - -// Add keybinds -["ACE3", QGVAR(RestWeapon), localize "STR_ACE_Resting_RestWeapon", -{ - // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - // Conditions: specific - if !([ACE_player] call EFUNC(common,canUseWeapon) && - {inputAction 'reloadMagazine' == 0} && - {!weaponLowered ACE_player} && - {speed ACE_player < 1}) exitWith {false}; - - // Statement - [ACE_player, vehicle ACE_player, currentWeapon ACE_player] call FUNC(restWeapon); - // Return false so it doesn't block other actions - false -}, -{false}, -[15, [false, false, false]], false] call cba_fnc_addKeybind; diff --git a/addons/resting/XEH_preInit.sqf b/addons/resting/XEH_preInit.sqf deleted file mode 100644 index 6a2a2040b7..0000000000 --- a/addons/resting/XEH_preInit.sqf +++ /dev/null @@ -1,11 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; - -PREP(getIntersection); -PREP(hasBipod); -PREP(pfhCheckRest); -PREP(restWeapon); -PREP(unRestWeapon); - -ADDON = true; diff --git a/addons/resting/config.cpp b/addons/resting/config.cpp deleted file mode 100644 index f1cc20c6e2..0000000000 --- a/addons/resting/config.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - author[] = {"KoffeinFlummi", "TaoSensai", "esteldunedain"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" - -#include "CfgWeapons.hpp" - -#include "CfgMoves.hpp" - -#include "CfgSounds.hpp" \ No newline at end of file diff --git a/addons/resting/data/icons/icon_bipod.paa b/addons/resting/data/icons/icon_bipod.paa deleted file mode 100644 index c2b6a2fb3e..0000000000 Binary files a/addons/resting/data/icons/icon_bipod.paa and /dev/null differ diff --git a/addons/resting/functions/fnc_getIntersection.sqf b/addons/resting/functions/fnc_getIntersection.sqf deleted file mode 100644 index 0527a7c514..0000000000 --- a/addons/resting/functions/fnc_getIntersection.sqf +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Author: KoffeinFlummi, edited by commy2 and esteldunedain - * - * Prepares intersects - * - * Arguments: - * 0: unit - * 1: vehicle - * 2: weapon - * - * Return Values: - * [_intersectsMiddle, _intersectsLeft, _intersectsRight, _intersectsDown] - * - */ -#include "script_component.hpp" - -EXPLODE_3_PVT(_this,_unit,_vehicle,_weapon); - -private ["_weaponPos", "_weaponDir", "_weaponPosDown"]; - -_weaponPos = ATLtoASL (_unit modelToWorldVisual (_unit selectionPosition "RightHand")); -_weaponDir = _unit weaponDirection _weapon; -_weaponPosDown = _weaponPos vectorAdd [0,0,-MAXHEIGHT]; - -private ["_checkPosMiddle", "_checkPosLeft", "_checkPosRight", "_checkPosDown"]; - -_checkPosMiddle = [ - (_weaponPos select 0) + MAXDISTANCE * (_weaponDir select 0), - (_weaponPos select 1) + MAXDISTANCE * (_weaponDir select 1), - (_weaponPos select 2) + MAXDISTANCE * (_weaponDir select 2) -]; -_checkPosLeft = [ - (_weaponPos select 0) + MAXDISTANCE * sin (((_weaponDir select 0) atan2 (_weaponDir select 1)) + 360 - MAXANGLE), - (_weaponPos select 1) + MAXDISTANCE * cos (((_weaponDir select 0) atan2 (_weaponDir select 1)) + 360 - MAXANGLE), - (_weaponPos select 2) + MAXDISTANCE * (_weaponDir select 2) -]; -_checkPosRight = [ - (_weaponPos select 0) + MAXDISTANCE * sin (((_weaponDir select 0) atan2 (_weaponDir select 1)) + MAXANGLE), - (_weaponPos select 1) + MAXDISTANCE * cos (((_weaponDir select 0) atan2 (_weaponDir select 1)) + MAXANGLE), - (_weaponPos select 2) + MAXDISTANCE * (_weaponDir select 2) -]; -_checkPosDown = [ - (_weaponPos select 0) + MAXDISTANCE * (_weaponDir select 0), - (_weaponPos select 1) + MAXDISTANCE * (_weaponDir select 1), - (_weaponPos select 2) + MAXDISTANCE * (_weaponDir select 2) - MAXHEIGHT -]; - -/* UNCOMMENT THIS FOR DEBUGGING -weaponPos = ASLtoATL _weaponPos; -weaponPosDown = ASLtoATL _weaponPosDown; -checkPosMiddle = ASLtoATL _checkPosMiddle; -checkPosLeft = ASLtoATL _checkPosLeft; -checkPosRight = ASLtoATL _checkPosRight; -checkPosDown = ASLtoATL _checkPosDown; - -onEachFrame { - drawLine3D [weaponPos, checkPosMiddle, [1,0,0,1]]; - drawLine3D [weaponPos, checkPosLeft, [1,0,0,1]]; - drawLine3D [weaponPos, checkPosRight, [1,0,0,1]]; - drawLine3D [weaponPosDown, checkPosDown, [1,0,0,1]]; -};*/ - -private ["_intersectsMiddle", "_intersectsLeft", "_intersectsRight", "_intersectsDown"]; - -_intersectsMiddle = lineIntersects [_weaponPos, _checkPosMiddle]; -_intersectsLeft = lineIntersects [_weaponPos, _checkPosLeft]; -_intersectsRight = lineIntersects [_weaponPos, _checkPosRight]; -_intersectsDown = lineIntersects [_weaponPos, _checkPosDown] || {terrainIntersectASL [_weaponPosDown, _checkPosDown]}; - -[_intersectsMiddle, _intersectsLeft, _intersectsRight, _intersectsDown] diff --git a/addons/resting/functions/fnc_hasBipod.sqf b/addons/resting/functions/fnc_hasBipod.sqf deleted file mode 100644 index 2170710db1..0000000000 --- a/addons/resting/functions/fnc_hasBipod.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Author: Commy2 - * - * Check if the weapon has a bipod - * - * Arguments: - * 0: weapon - * - * Return Values: - * Boolean - * - */ -#include "script_component.hpp" - -EXPLODE_1_PVT(_this,_weapon); - -private ["_config"]; -_config = configFile >> "CfgWeapons" >> _weapon; - -getNumber (_config >> "ACE_Bipod") == 1 || -getNumber (_config >> "AGM_Bipod") == 1 || -{getNumber (_config >> "tmr_autorest_deployable") == 1} diff --git a/addons/resting/functions/fnc_pfhCheckRest.sqf b/addons/resting/functions/fnc_pfhCheckRest.sqf deleted file mode 100644 index 0f6fea300b..0000000000 --- a/addons/resting/functions/fnc_pfhCheckRest.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Author: KoffeinFlummi, edited by commy2 and esteldunedain - * - * PFH that check for player moving away, changing weapon, etc - * and unrests the weapon if necessary - * - * Arguments: - * 0: unit - * 1: vehicle - * 2: weapon - * 3: rested position - * - * Return Values: - * None - * - */ -#include "script_component.hpp" - -EXPLODE_2_PVT(_this,_params,_pfhId); -EXPLODE_4_PVT(_params,_unit,_vehicle,_weapon,_restedPosition); - -if !(_unit getVariable ["ACE_weaponRested", false]) exitWith { - [_pfhId] call cba_fnc_removePerFrameHandler; -}; - -private ["_intersects"]; -_intersects = _params call FUNC(getIntersection); - -if ( - _unit != ACE_player - || {_vehicle != vehicle _unit} - || {inputAction "reloadMagazine" != 0} - || {weaponLowered _unit} - || {speed _unit > 1} - || {currentWeapon _unit != _weapon} - || {getPosASL _unit distanceSqr _restedPosition > 1} - || {!(true in _intersects)} -) exitWith { - [_pfhId] call cba_fnc_removePerFrameHandler; - [_unit, _vehicle, _weapon] call FUNC(unRestWeapon); -}; diff --git a/addons/resting/functions/fnc_restWeapon.sqf b/addons/resting/functions/fnc_restWeapon.sqf deleted file mode 100644 index 75d16a62be..0000000000 --- a/addons/resting/functions/fnc_restWeapon.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Author: KoffeinFlummi, edited by commy2 and esteldunedain - * - * Rests the player's weapon if possible. - * - * Arguments: - * None - * - * Return Values: - * None - * - */ -#include "script_component.hpp" - -EXPLODE_3_PVT(_this,_unit,_vehicle,_weapon); - -if (_weapon != primaryWeapon _unit) exitWith {}; - -if (_unit getVariable ["ACE_weaponRested", false]) exitWith {_this call FUNC(unRestWeapon)}; - -// exit if this is not an available animation -if (!isClass (configFile >> "CfgMovesMaleSdr" >> "States" >> format ["%1_ace_deploy", animationState _unit])) exitWith {}; - -// CHECK FOR APPROPRIATE SURFACE -private "_intersects"; -_intersects = _this call FUNC(getIntersection); - -if (true in _intersects) then { - _unit setVariable ["ACE_weaponRested", true]; - if (_unit == ACE_PLAYER) then { - [QGVAR(bipodDeployed), true, QUOTE(PATHTOF(data\icons\icon_bipod.paa)), [1,1,1,1], -1] call EFUNC(common,displayIcon); - }; - - private "_restedPosition"; - _restedPosition = getPosASL _unit; - - // REST THE WEAPON - addCamShake CAMSHAKE; - playSound QGVAR(rest); - - if ([_weapon] call FUNC(hasBipod) && {_intersects select 3}) then { - _unit setVariable ["ACE_bipodDeployed", true]; - - _unit setUnitRecoilCoefficient (BIPODRECOIL * unitRecoilCoefficient _unit); - //[_unit, format ["%1_ace_deploy", animationState _unit], 2] call EFUNC(common,doAnimation); - _unit switchMove format ["%1_ace_deploy", animationState _unit]; - - private "_picture"; - _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); - [localize "STR_ACE_Resting_BipodDeployed", _picture] call EFUNC(common,displayTextPicture); - - } else { - _unit setVariable ["ACE_bipodDeployed", false]; - - _unit setUnitRecoilCoefficient (RESTEDRECOIL * unitRecoilCoefficient _unit); - //[_unit, format ["%1_ace_rested", animationState _unit], 2] call EFUNC(common,doAnimation); - _unit switchMove format ["%1_ace_rested", animationState _unit]; - - private "_picture"; - _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); - [localize "STR_ACE_Resting_WeaponRested", _picture] call EFUNC(common,displayTextPicture); - }; - - // Launch a PFH to check for player moving away, changing weapon, etc - [FUNC(pfhCheckRest), 0.2, [_unit, _vehicle, _weapon, _restedPosition] ] call CBA_fnc_addPerFrameHandler; -}; diff --git a/addons/resting/functions/fnc_unRestWeapon.sqf b/addons/resting/functions/fnc_unRestWeapon.sqf deleted file mode 100644 index ef5a52b824..0000000000 --- a/addons/resting/functions/fnc_unRestWeapon.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Author: KoffeinFlummi, edited by commy2 and esteldunedain - * - * Un Rests the player's weapon - * - * Arguments: - * 0: unit - * 1: vehicle - * 2: weapon - * - * Return Values: - * None - * - */ -#include "script_component.hpp" - -EXPLODE_3_PVT(_this,_unit,_vehicle,_weapon); - -addCamShake CAMSHAKE; - -private "_animation"; -_animation = animationState _unit; - -if (_unit getVariable ["ACE_bipodDeployed", false]) then { - _unit setUnitRecoilCoefficient (unitRecoilCoefficient _unit / BIPODRECOIL); - if (_animation find "_ace_deploy" != -1) then { - //[_unit, [_animation, "_ace_deploy", ""] call CBA_fnc_replace, 2] call EFUNC(common,doAnimation); - _unit switchMove ([_animation, "_ace_deploy", ""] call CBA_fnc_replace); - }; - - private "_picture"; - _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); - [localize "STR_ACE_Resting_BipodUndeployed", _picture] call EFUNC(common,displayTextPicture); - -} else { - _unit setUnitRecoilCoefficient (unitRecoilCoefficient _unit / RESTEDRECOIL); - if (_animation find "_ace_rested" != -1) then { - //[_unit, [_animation, "_ace_rested", ""] call CBA_fnc_replace, 2] call EFUNC(common,doAnimation); - _unit switchMove ([_animation, "_ace_rested", ""] call CBA_fnc_replace); - }; - - private "_picture"; - _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); - [localize "STR_ACE_Resting_WeaponLifted", _picture] call EFUNC(common,displayTextPicture); -}; -playSound QGVAR(unrest); - -_unit setVariable ["ACE_weaponRested", false]; -_unit setVariable ["ACE_bipodDeployed", false]; - -if (_unit == ACE_PLAYER) then { - [QGVAR(bipodDeployed), false, "", [1,1,1,1], -1] call EFUNC(common,displayIcon); -}; \ No newline at end of file diff --git a/addons/resting/functions/script_component.hpp b/addons/resting/functions/script_component.hpp deleted file mode 100644 index 9a1f2912f9..0000000000 --- a/addons/resting/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\resting\script_component.hpp" \ No newline at end of file diff --git a/addons/resting/script_component.hpp b/addons/resting/script_component.hpp deleted file mode 100644 index 8446cb9415..0000000000 --- a/addons/resting/script_component.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#define COMPONENT resting -#include "\z\ace\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_RESTING - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_RESTING - #define DEBUG_SETTINGS DEBUG_SETTINGS_RESTING -#endif - -#include "\z\ace\Addons\main\script_macros.hpp" - -#define RESTEDRECOIL 0.6 -#define BIPODRECOIL 0.3 -#define MAXDISTANCE 1 -#define MAXANGLE 15 -#define MAXHEIGHT 0.45 -#define CAMSHAKE [1,0.5,5] diff --git a/addons/resting/sounds/weaponrest_rest.wav b/addons/resting/sounds/weaponrest_rest.wav deleted file mode 100644 index fce6386425..0000000000 Binary files a/addons/resting/sounds/weaponrest_rest.wav and /dev/null differ diff --git a/addons/resting/sounds/weaponrest_unrest.wav b/addons/resting/sounds/weaponrest_unrest.wav deleted file mode 100644 index 72518ddbbf..0000000000 Binary files a/addons/resting/sounds/weaponrest_unrest.wav and /dev/null differ diff --git a/addons/resting/stringtable.xml b/addons/resting/stringtable.xml deleted file mode 100644 index e74892f6eb..0000000000 --- a/addons/resting/stringtable.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - Rest Weapon - Waffe auflegen - Apoyar el arma - Oprzyj broń - Zapřít zbraň - Appuyer l'arme - Зафиксировать оружие - Fegyver kitámasztása - Apoiar Arma - Appoggia l'arma - - - - Bipod deployed - Zweibein ausgeklappt - Bípode desplegado - Dwójnóg rozstawiony - Dvojnožka rozložena - Bipied déployé - Сошки установлены - Állványon - Bipé apoiado - Bipiede appoggiato - - - Weapon rested - Waffe aufgelegt - Arma apoyada - Broń oparta - Zbraň zapřena - Arme appuyée - Оружие зафиксировано - Fegyver kitámasztva - Arma apoiada - Arma appoggiata - - - - Bipod undeployed - Zweibein eingeklappt - Bípode plegado - Dwójnóg złożony - Dvojnožka rozložena - Bipied replié - Сошки убраны - Állvány csukva - Bipé recolhido - Bipiede richiuso - - - Weapon lifted - Waffe gehoben - Arma levantada - Broń podniesiona - Zbraň zdvihnuta - Arme relevée - Оружие не зафиксировано - Fegyver nincs támasztva - Arma levantada - Arma sollevata - - - - diff --git a/addons/safemode/XEH_postInit.sqf b/addons/safemode/XEH_postInit.sqf index ff6a76d834..be6b79d82a 100644 --- a/addons/safemode/XEH_postInit.sqf +++ b/addons/safemode/XEH_postInit.sqf @@ -1,6 +1,9 @@ // by esteldunedain #include "script_component.hpp" +if (!hasInterface) exitWith {}; + +// IGNORE_PRIVATE_WARNING(_player) //["Soldier", {_player = ACE_player; if (currentWeapon _player in (_player getVariable [QGVAR(safedWeapons), []])) then {[false] call FUNC(setSafeModeVisual)}] call EFUNC(common,addInfoDisplayEventHandler); //@todo addEventHandler infoDisplayChanged with select 1 == "Soldier" diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index 9684babfdf..521651999a 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -1,42 +1,49 @@  - - - - Safe Mode - Waffe sichern - Seguro puesto - Bezpiecznik - Pojistka - Veszélytelenités - Предохранитель - - - Take off Safety - Waffe entsichern - Quitar seguro - Zwolnij bezpiecznik - Uvolnit pojistku - Veszélyesités - Снять с предохранителя - - - Put on Safety - Waffe gesichert - Poner seguro - Zabezpiecz broń - Přepnout pojistku - Veszélytelenitve - Поставить на предохранитель - - - Took off Safety - Waffe entsichert - Seguro quitado - Odbezpieczono broń - Odstranit pojistku - veszélyes - Снят с предохранителя - - - \ No newline at end of file + + + Safe Mode + Waffe sichern + Seguro puesto + Bezpiecznik + Pojistka + Biztonságos mód + Предохранитель + Sécurité + Sicura inserita + + + Take off Safety + Waffe entsichern + Quitar seguro + Zwolnij bezpiecznik + Uvolnit pojistku + Biztonsági kapcsoló eltolása + Снять с предохранителя + Enlever sécurité + Togli la sicura + + + Put on Safety + Waffe gesichert + Poner seguro + Zabezpieczono broń + Přepnout pojistku + Biztonsági kapcsoló helyretolása + Поставить на предохранитель + Sécurité mise + Inserisci la sicura + + + Took off Safety + Waffe entsichert + Seguro quitado + Odbezpieczono broń + Odstranit pojistku + Biztonságos mód megszüntetve + Снят с предохранителя + Sécurité enlevée + Togli la sicura + + + diff --git a/addons/scopes/CfgVehicles.hpp b/addons/scopes/CfgVehicles.hpp new file mode 100644 index 0000000000..7653fe0443 --- /dev/null +++ b/addons/scopes/CfgVehicles.hpp @@ -0,0 +1,19 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Equipment { + class GVAR(adjustZero) { + // Updates the zero reference + displayName = "$STR_ACE_Scopes_AdjustZero"; + condition = QUOTE([ACE_player] call FUNC(canAdjustZero)); + statement = QUOTE([ACE_player] call FUNC(adjustZero)); + showDisabled = 0; + priority = 0.2; + //icon = QUOTE(PATHTOF(UI\...)); // TODO + exceptions[] = {"notOnMap", "isNotInside"}; + }; + }; + }; + }; +}; diff --git a/addons/scopes/CfgWeapons.hpp b/addons/scopes/CfgWeapons.hpp index 87b5a4073f..526282a1b6 100644 --- a/addons/scopes/CfgWeapons.hpp +++ b/addons/scopes/CfgWeapons.hpp @@ -1,14 +1,15 @@ class CfgWeapons { class ItemCore; class InventoryOpticsItem_Base_F; - + class optic_LRPS : ItemCore { - ACE_ScopeAdjust_Horizontal[] = { -50, 50 }; - ACE_ScopeAdjust_Vertical[] = { -70, 70 }; + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; class ItemInfo : InventoryOpticsItem_Base_F { class OpticsModes { class Snip { - discreteDistance[] = { 1 }; + discreteDistance[] = { 100 }; discreteDistanceInitIndex = 0; }; }; @@ -16,12 +17,13 @@ class CfgWeapons { }; class optic_SOS : ItemCore { - ACE_ScopeAdjust_Horizontal[] = { -50, 50 }; - ACE_ScopeAdjust_Vertical[] = { -60, 60 }; + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; class ItemInfo : InventoryOpticsItem_Base_F { class OpticsModes { class Snip { - discreteDistance[] = { 1 }; + discreteDistance[] = { 100 }; discreteDistanceInitIndex = 0; }; }; @@ -29,40 +31,58 @@ class CfgWeapons { }; class optic_DMS : ItemCore { - ACE_ScopeAdjust_Horizontal[] = { -40, 40 }; - ACE_ScopeAdjust_Vertical[] = { -40, 40 }; + ACE_ScopeAdjust_Vertical[] = { -4, 20 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; class ItemInfo : InventoryOpticsItem_Base_F { class OpticsModes { class Snip { - discreteDistance[] = { 1 }; + discreteDistance[] = { 100 }; discreteDistanceInitIndex = 0; }; }; }; }; - - class ACE_optic_DMS: optic_DMS { - author = "$STR_ACE_Common_ACETeam"; - _generalMacro = "ACE_optic_DMS"; - displayName = "LOCALIZE ACE DMR"; - //descriptionShort = "$STR_A3_CFGWEAPONS_ACC_DMS1"; - class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(ace_shortdot_optics.p3d)); - - class OpticsModes: OpticsModes { - class Snip: Snip { - opticsZoomMin = 0.05; - opticsZoomMax = 0.3; - opticsZoomInit = 0.3; - discretefov[] = {}; - modelOptics[] = {}; + + class optic_AMS_base : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class AMS { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class optic_KHS_base : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class KHS { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class optic_KHS_old : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class KHS { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; }; }; }; }; }; - -class SlotInfo; -class CowsSlot: SlotInfo { - compatibleItems[] += {"ACE_optic_DMS"}; -}; diff --git a/addons/scopes/RscTitles.hpp b/addons/scopes/RscTitles.hpp index 189ff3613f..3b83022dcb 100644 --- a/addons/scopes/RscTitles.hpp +++ b/addons/scopes/RscTitles.hpp @@ -68,32 +68,9 @@ class RscTitles { }; }; }; - - class ACE_Shortdot_Reticle { - idd = -1; - onLoad = "uiNamespace setVariable ['ACE_ctrlShortdotReticle', (_this select 0) displayCtrl 1];"; - duration = 999999; - fadeIn = 0; - fadeOut = 0; - name = "ACE_Shortdot_Reticle"; - - class controlsBackground { - class Debug_RscElement: RscText { - idc = 1; - style = 48; - size = 1; - sizeEx = 0; - font = "TahomaB"; - text = ""; - x = 0; - y = 0; - w = 0; - h = 0; - }; - }; - }; }; +/* class RscInGameUI { class RscUnitInfo; class RscWeaponZeroing : RscUnitInfo { @@ -101,3 +78,4 @@ class RscInGameUI { //onLoad = "[""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable ['ACE_dlgWeaponZeroing', _this select 0];"; }; }; +*/ diff --git a/addons/scopes/XEH_postInit.sqf b/addons/scopes/XEH_postInit.sqf index 559a21a772..ca4017222a 100644 --- a/addons/scopes/XEH_postInit.sqf +++ b/addons/scopes/XEH_postInit.sqf @@ -1,5 +1,5 @@ /* - * Author: KoffeinFlummi and esteldunedain + * Author: KoffeinFlummi, esteldunedain, Ruthberg * * Watches for scope changes. * Defines key bindings @@ -33,65 +33,109 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(AdjustUp), localize "STR_ACE_Scopes_AdjustUp", +["ACE3", QGVAR(AdjustUpMinor), localize "STR_ACE_Scopes_AdjustUpMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); - if !([ACE_player, 0, 0.1] call FUNC(canAdjustScope)) exitWith {false}; - + // Statement - [ACE_player, 0, 0.1] call FUNC(adjustScope); - true + [ACE_player, ELEVATION_UP, MINOR_INCREMENT] call FUNC(adjustScope); }, {false}, -[201, [false, false, false]], false] call cba_fnc_addKeybind; +[201, [false, false, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustDown), localize "STR_ACE_Scopes_AdjustDown", +["ACE3", QGVAR(AdjustDownMinor), localize "STR_ACE_Scopes_AdjustDownMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); - if !([ACE_player, 0, -0.1] call FUNC(canAdjustScope)) exitWith {false}; // Statement - [ACE_player, 0, -0.1] call FUNC(adjustScope); - true + [ACE_player, ELEVATION_DOWN, MINOR_INCREMENT] call FUNC(adjustScope); }, {false}, -[209, [false, false, false]], false] call cba_fnc_addKeybind; +[209, [false, false, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustLeft), localize "STR_ACE_Scopes_AdjustLeft", +["ACE3", QGVAR(AdjustLeftMinor), localize "STR_ACE_Scopes_AdjustLeftMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); - if !([ACE_player, -0.1, 0] call FUNC(canAdjustScope)) exitWith {false}; // Statement - [ACE_player, -0.1, 0] call FUNC(adjustScope); - true + [ACE_player, WINDAGE_LEFT, MINOR_INCREMENT] call FUNC(adjustScope); }, {false}, -[209, [false, true, false]], false] call cba_fnc_addKeybind; +[209, [false, true, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustRight), localize "STR_ACE_Scopes_AdjustRight", +["ACE3", QGVAR(AdjustRightMinor), localize "STR_ACE_Scopes_AdjustRightMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); - if !([ACE_player, 0.1, 0] call FUNC(canAdjustScope)) exitWith {false}; // Statement - [ACE_player, 0.1, 0] call FUNC(adjustScope); - true + [ACE_player, WINDAGE_RIGHT, MINOR_INCREMENT] call FUNC(adjustScope); }, {false}, -[201, [false, true, false]], false] call cba_fnc_addKeybind; +[201, [false, true, false]], true] call cba_fnc_addKeybind; + +["ACE3", QGVAR(AdjustUpMajor), localize "STR_ACE_Scopes_AdjustUpMajor", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + [ACE_player] call FUNC(inventoryCheck); + + // Statement + [ACE_player, ELEVATION_UP, MAJOR_INCREMENT] call FUNC(adjustScope); +}, +{false}, +[201, [true, false, false]], true] call cba_fnc_addKeybind; + +["ACE3", QGVAR(AdjustDownMajor), localize "STR_ACE_Scopes_AdjustDownMajor", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + [ACE_player] call FUNC(inventoryCheck); + + // Statement + [ACE_player, ELEVATION_DOWN, MAJOR_INCREMENT] call FUNC(adjustScope); +}, +{false}, +[209, [true, false, false]], true] call cba_fnc_addKeybind; + +["ACE3", QGVAR(AdjustLeftMajor), localize "STR_ACE_Scopes_AdjustLeftMajor", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + [ACE_player] call FUNC(inventoryCheck); + + // Statement + [ACE_player, WINDAGE_LEFT, MAJOR_INCREMENT] call FUNC(adjustScope); +}, +{false}, +[209, [true, true, false]], true] call cba_fnc_addKeybind; + +["ACE3", QGVAR(AdjustRightMajor), localize "STR_ACE_Scopes_AdjustRightMajor", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + [ACE_player] call FUNC(inventoryCheck); + + // Statement + [ACE_player, WINDAGE_RIGHT, MAJOR_INCREMENT] call FUNC(adjustScope); +}, +{false}, +[201, [true, true, false]], true] call cba_fnc_addKeybind; // init shortdot GVAR(showShortdot) = false; diff --git a/addons/scopes/XEH_preInit.sqf b/addons/scopes/XEH_preInit.sqf index d33801a510..d45f50c1bb 100644 --- a/addons/scopes/XEH_preInit.sqf +++ b/addons/scopes/XEH_preInit.sqf @@ -3,11 +3,12 @@ ADDON = false; PREP(adjustScope); -PREP(canAdjustScope); +PREP(adjustZero); +PREP(applyScopeAdjustment); +PREP(canAdjustZero); PREP(firedEH); PREP(getOptics); PREP(inventoryCheck); -PREP(onDrawShortdot); PREP(showZeroing); GVAR(fadeScript) = scriptNull; diff --git a/addons/scopes/ace_shortdot_optics.p3d b/addons/scopes/ace_shortdot_optics.p3d deleted file mode 100644 index 3d0392346a..0000000000 Binary files a/addons/scopes/ace_shortdot_optics.p3d and /dev/null differ diff --git a/addons/scopes/config.cpp b/addons/scopes/config.cpp index d94e066767..42be283044 100644 --- a/addons/scopes/config.cpp +++ b/addons/scopes/config.cpp @@ -16,6 +16,8 @@ class CfgPatches { #include "CfgSounds.hpp" +#include "CfgVehicles.hpp" + #include "CfgWeapons.hpp" #include "RscTitles.hpp" diff --git a/addons/scopes/functions/fnc_adjustScope.sqf b/addons/scopes/functions/fnc_adjustScope.sqf index 6e71a391aa..d13ff57ffc 100644 --- a/addons/scopes/functions/fnc_adjustScope.sqf +++ b/addons/scopes/functions/fnc_adjustScope.sqf @@ -1,56 +1,73 @@ /* - * Author: KoffeinFlummi + * Author: KoffeinFlummi, Ruthberg * Changes the adjustment for the current scope * * Argument: * 0: Unit - * 1: Horizontal adjustment - * 2: Vertical adjustment + * 1: Turret and Direction + * 2: Major Step * * Return value: - * True + * Did we adjust anything? * * Public: No */ #include "script_component.hpp" -private ["_unit", "_weapons", "_zeroing", "_pitchbankyaw", "_pitch", "_bank", "_yaw", "_hint"]; +PARAMS_3(_unit,_turretAndDirection,_majorStep); -_unit = _this select 0; +if (!(_unit isKindOf "Man")) exitWith {false}; + +private ["_weaponIndex", "_zeroing", "_optic", "_increment", "_maxVertical", "_maxHorizontal", "_elevation", "_windage", "_zero", "_adjustment"]; _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); +if (_weaponIndex < 0) exitWith {false}; _adjustment = _unit getVariable QGVAR(Adjustment); if (isNil "_adjustment") then { - _adjustment = [[0,0], [0,0], [0,0]]; - _unit setVariable [QGVAR(Adjustment), _adjustment]; + _adjustment = [[0,0,0], [0,0,0], [0,0,0]]; // [Windage, Elevation, Zero] }; -_zeroing = _adjustment select _weaponIndex; -_zeroing set [0, (round (((_zeroing select 0) + (_this select 1)) * 10)) / 10]; -_zeroing set [1, (round (((_zeroing select 1) + (_this select 2)) * 10)) / 10]; - -// Change the adjustment array -_adjustment set [_weaponIndex, _zeroing]; -[_unit, QGVAR(Adjustment), _adjustment, 0.5] call EFUNC(common,setVariablePublic); - -playSound (["ACE_Scopes_Click_1", "ACE_Scopes_Click_2", "ACE_Scopes_Click_3"] select floor random 3); - -// slightly rotate the player if looking through optic -if (cameraView == "GUNNER") then { - - _pitchbankyaw = [_unit] call EFUNC(common,getPitchBankYaw); - // these are not exact mil-to-degree conversions, but instead chosen - // to minimize the effect of rounding errors - _pitch = (_pitchbankyaw select 0) + ((_this select 2) * -0.04); - _bank = _pitchbankyaw select 1; - _yaw = (_pitchbankyaw select 2) + ((_this select 1) * -0.04); - [_unit, _pitch, _bank, _yaw] call EFUNC(common,setPitchBankYaw) - -} else { - - [] call FUNC(showZeroing); - +if (isNil QGVAR(Optics)) then { + GVAR(Optics) = ["", "", ""]; }; +_optic = GVAR(Optics) select _weaponIndex; +_increment = getNumber (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust_Increment"); +_maxVertical = getArray (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust_Vertical"); +_maxHorizontal = getArray (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust_Horizontal"); + +if ((count _maxHorizontal < 2) or (count _maxVertical < 2)) exitWith {false}; + +_zeroing = _adjustment select _weaponIndex; +_elevation = _zeroing select 0; +_windage = _zeroing select 1; +_zero = _zeroing select 2; + +switch (_turretAndDirection) do +{ + case ELEVATION_UP: { _elevation = _elevation + _increment }; + case ELEVATION_DOWN: { _elevation = _elevation - _increment }; + case WINDAGE_LEFT: { _windage = _windage - _increment }; + case WINDAGE_RIGHT: { _windage = _windage + _increment }; +}; + +if (_majorStep) then { + switch (_turretAndDirection) do + { + case ELEVATION_UP: { _elevation = ceil(_elevation) }; + case ELEVATION_DOWN: { _elevation = floor(_elevation) }; + case WINDAGE_LEFT: { _windage = floor(_windage) }; + case WINDAGE_RIGHT: { _windage = ceil(_windage) }; + }; +}; + +_elevation = round(_elevation * 10) / 10; +_windage = round(_windage * 10) / 10; + +if ((_elevation + _zero) < _maxVertical select 0 or (_elevation + _zero) > _maxVertical select 1) exitWith {false}; +if (_windage < _maxHorizontal select 0 or _windage > _maxHorizontal select 1) exitWith {false}; + +[_unit, _elevation, _windage, _zero] call FUNC(applyScopeAdjustment); + true diff --git a/addons/scopes/functions/fnc_adjustZero.sqf b/addons/scopes/functions/fnc_adjustZero.sqf new file mode 100644 index 0000000000..12e911b537 --- /dev/null +++ b/addons/scopes/functions/fnc_adjustZero.sqf @@ -0,0 +1,40 @@ +/* + * Author: KoffeinFlummi, Ruthberg + * Updates the zero reference for the current scope + * + * Argument: + * 0: Unit + * + * Return value: + * true + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_1(_unit); + +if (vehicle _unit != _unit) exitWith {false}; + +private ["_weaponIndex", "_adjustment", "_zeroing", "_elevation", "_windage", "_zero"]; + +_weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); +if (_weaponIndex < 0) exitWith {false}; + +_adjustment = _unit getVariable QGVAR(Adjustment); +if (isNil "_adjustment") then { + // [Windage, Elevation, Zero] + _adjustment = [[0,0,0], [0,0,0], [0,0,0]]; +}; + +_zeroing = _adjustment select _weaponIndex; +_elevation = _zeroing select 0; +_windage = _zeroing select 1; +_zero = _zeroing select 2; + +_zero = round((_zero + _elevation) * 10) / 10; +_elevation = 0; + +[_unit, _elevation, _windage, _zero] call FUNC(applyScopeAdjustment); + +true diff --git a/addons/scopes/functions/fnc_applyScopeAdjustment.sqf b/addons/scopes/functions/fnc_applyScopeAdjustment.sqf new file mode 100644 index 0000000000..4950fe9ece --- /dev/null +++ b/addons/scopes/functions/fnc_applyScopeAdjustment.sqf @@ -0,0 +1,51 @@ +/* + * Author: KoffeinFlummi, Ruthberg + * Applies the adjustment for the current scope + * + * Argument: + * 0: Unit + * 1: Absolute elevation + * 2: Absolute windage + * 3: Absolute zero reference + * + * Return value: + * True + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_4_PVT(_this,_unit,_elevation,_windage,_zero); + +private ["_adjustmentDifference", "_pitchbankyaw", "_pitch", "_bank", "_yaw", "_adjustment", "_weaponIndex"]; + +_weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); + +_adjustment = _unit getVariable QGVAR(Adjustment); +if (isNil "_adjustment") then { + // [Windage, Elevation, Zero] + _adjustment = [[0,0,0], [0,0,0], [0,0,0]]; + _unit setVariable [QGVAR(Adjustment), _adjustment]; +}; + +_adjustmentDifference = (_adjustment select _weaponIndex) vectorDiff [_elevation, _windage, _zero]; + +_adjustment set [_weaponIndex, [_elevation, _windage, _zero]]; +[_unit, QGVAR(Adjustment), _adjustment, 0.5] call EFUNC(common,setVariablePublic); + +playSound (["ACE_Scopes_Click_1", "ACE_Scopes_Click_2", "ACE_Scopes_Click_3"] select floor random 3); + +// slightly rotate the player if looking through optic +if (cameraView == "GUNNER") then { + // Convert adjustmentDifference from mils to degrees + _adjustmentDifference = [_adjustmentDifference, {_this * 0.05625}] call EFUNC(common,map); + _pitchbankyaw = [_unit] call EFUNC(common,getPitchBankYaw); + _pitch = (_pitchbankyaw select 0) + (_adjustmentDifference select 0); + _bank = (_pitchbankyaw select 1); + _yaw = (_pitchbankyaw select 2) + (_adjustmentDifference select 1); + [_unit, _pitch, _bank, _yaw] call EFUNC(common,setPitchBankYaw); +} else { + [] call FUNC(showZeroing); +}; + +true diff --git a/addons/scopes/functions/fnc_canAdjustScope.sqf b/addons/scopes/functions/fnc_canAdjustScope.sqf deleted file mode 100644 index eda08dc0ee..0000000000 --- a/addons/scopes/functions/fnc_canAdjustScope.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Author: KoffeinFlummi - * Checks if a player can adjust his optic in the given way. - * - * Argument: - * 0: Unit - * 1: Horizontal adjustment - * 2: Vertical adjustment - * - * Return value: - * Can adjustment be done? - * - * Public: No - */ -#include "script_component.hpp" - -private ["_unit", "_weaponIndex", "_zeroing", "_optic", "_maxHorizontal", "_maxVertical"]; - -_unit = _this select 0; - -_weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); -if (_weaponIndex < 0) exitWith {false}; - -_adjustment = _unit getVariable QGVAR(Adjustment); -if (isNil "_adjustment") then { - _adjustment = [[0,0], [0,0], [0,0]]; -}; - -if (isNil QGVAR(Optics)) then { - GVAR(Optics) = ["", "", ""]; -}; - -_zeroing = _adjustment select _weaponIndex; -_zeroX = (_zeroing select 0) + (_this select 1); -_zeroY = (_zeroing select 1) + (_this select 2); - -_optic = GVAR(Optics) select _weaponIndex; -_maxHorizontal = getArray (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust_Horizontal"); -_maxVertical = getArray (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust_Vertical"); -if ((count _maxHorizontal < 2) or (count _maxVertical < 2)) exitWith {false}; -if ((_maxHorizontal isEqualTo [0,0]) or (_maxVertical isEqualTo [0,0])) exitWith {false}; - -if (_zeroX < _maxHorizontal select 0 or _zeroX > _maxHorizontal select 1) exitWith {false}; -if (_zeroY < _maxVertical select 0 or _zeroY > _maxVertical select 1) exitWith {false}; - -vehicle _unit == _unit diff --git a/addons/scopes/functions/fnc_canAdjustZero.sqf b/addons/scopes/functions/fnc_canAdjustZero.sqf new file mode 100644 index 0000000000..619d82cf6e --- /dev/null +++ b/addons/scopes/functions/fnc_canAdjustZero.sqf @@ -0,0 +1,35 @@ +/* + * Author: KoffeinFlummi, Ruthberg + * Changes the adjustment for the current scope + * + * Argument: + * 0: Unit + * + * Return value: + * Can we update the zero reference? + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_1(_unit); + +private ["_weaponIndex", "_adjustment", "_elevation"]; + +if (cameraView == "GUNNER") exitWith {false}; +if !(vehicle _unit == _unit) exitWith {false}; +if !(missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) exitWith {false}; + +_weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); +if (_weaponIndex < 0) exitWith {false}; + +_adjustment = _unit getVariable QGVAR(Adjustment); +if (isNil "_adjustment") then { + // [Windage, Elevation, Zero] + _adjustment = [[0,0,0], [0,0,0], [0,0,0]]; +}; + +_elevation = (_adjustment select _weaponIndex) select 0; + +// You can only adjust your zero reference, if your relative elevation setting is not 0 +_elevation != 0 diff --git a/addons/scopes/functions/fnc_firedEH.sqf b/addons/scopes/functions/fnc_firedEH.sqf index 8185e00ea0..8753019931 100644 --- a/addons/scopes/functions/fnc_firedEH.sqf +++ b/addons/scopes/functions/fnc_firedEH.sqf @@ -39,4 +39,4 @@ _zeroing = _adjustment select _weaponIndex; // Convert zeroing from mils to degrees _zeroing = [_zeroing, {_this * 0.05625}] call EFUNC(common,map); -[_projectile, _zeroing select 0, _zeroing select 1, 0] call EFUNC(common,changeProjectileDirection); +[_projectile, (_zeroing select 1), (_zeroing select 0) + (_zeroing select 2), 0] call EFUNC(common,changeProjectileDirection); diff --git a/addons/scopes/functions/fnc_inventoryCheck.sqf b/addons/scopes/functions/fnc_inventoryCheck.sqf index c83112c8a6..af4b347124 100644 --- a/addons/scopes/functions/fnc_inventoryCheck.sqf +++ b/addons/scopes/functions/fnc_inventoryCheck.sqf @@ -18,7 +18,8 @@ private ["_newOptics", "_adjustment"]; _adjustment = ACE_player getVariable QGVAR(Adjustment); if (isNil "_adjustment") then { - _adjustment = [[0,0], [0,0], [0,0]]; + // [Windage, Elevation, Zero] + _adjustment = [[0,0,0], [0,0,0], [0,0,0]]; ACE_player setVariable [QGVAR(Adjustment), _adjustment]; [ACE_player, QGVAR(Adjustment), _adjustment, 0.5] call EFUNC(common,setVariablePublic); }; @@ -31,8 +32,8 @@ _newOptics = [_player] call FUNC(getOptics); { if (_newOptics select _forEachIndex != _x) then { // The optic for this weapon changed, set adjustment to zero - if !((_adjustment select _foreachindex) isEqualTo [0,0]) then { - _adjustment set [_forEachIndex, [0,0]]; + if !((_adjustment select _foreachindex) isEqualTo [0,0,0]) then { + _adjustment set [_forEachIndex, [0,0,0]]; [ACE_player, QGVAR(Adjustment), _adjustment, 0.5] call EFUNC(common,setVariablePublic); }; }; diff --git a/addons/scopes/functions/fnc_onDrawShortdot.sqf b/addons/scopes/functions/fnc_onDrawShortdot.sqf deleted file mode 100644 index 78ff0b0f50..0000000000 --- a/addons/scopes/functions/fnc_onDrawShortdot.sqf +++ /dev/null @@ -1,25 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -private "_control"; -_control = uiNamespace getVariable ["ACE_ctrlShortdotReticle", controlNull]; - -if (cameraView != "GUNNER" || {currentWeapon ACE_player != primaryWeapon ACE_player}) exitWith { - _control ctrlShow false; -}; - -private ["_size", "_sizeX", "_sizeY"]; - -_size = call EFUNC(common,getZoom); - -_sizeX = _size/4; -_sizeY = _sizeX*safezoneW/safezoneH; - -_control ctrlSetPosition [ - safezoneX+0.5*safezoneW-0.5*_sizeX, - safezoneY+0.5*safezoneH-0.5*_sizeY, - _sizeX, - _sizeY -]; -_control ctrlCommit 0; -_control ctrlShow true; diff --git a/addons/scopes/functions/fnc_showZeroing.sqf b/addons/scopes/functions/fnc_showZeroing.sqf index bd1a04f326..a8df650374 100644 --- a/addons/scopes/functions/fnc_showZeroing.sqf +++ b/addons/scopes/functions/fnc_showZeroing.sqf @@ -21,7 +21,8 @@ if (_weaponIndex < 0) exitWith {}; _adjustment = ACE_player getVariable QGVAR(Adjustment); if (isNil "_adjustment") then { - _adjustment = [[0,0], [0,0], [0,0]]; + // [Windage, Elevation, Zero] + _adjustment = [[0,0,0], [0,0,0], [0,0,0]]; }; // Display the adjustment knobs @@ -36,8 +37,8 @@ if (isNull _display) exitWith {}; _zeroing = _adjustment select _weaponIndex; _vertical = _display displayCtrl 12; _horizontal = _display displayCtrl 13; -_vertical ctrlSetText (str (_zeroing select 1)); -_horizontal ctrlSetText (str (_zeroing select 0)); +_vertical ctrlSetText (str (_zeroing select 0)); +_horizontal ctrlSetText (str (_zeroing select 1)); // Set the time when to hide the knobs GVAR(timeToHide) = diag_tickTime + 3.0; diff --git a/addons/scopes/script_component.hpp b/addons/scopes/script_component.hpp index 8c4a2cb1cd..5cdb74207d 100644 --- a/addons/scopes/script_component.hpp +++ b/addons/scopes/script_component.hpp @@ -1,6 +1,14 @@ #define COMPONENT scopes #include "\z\ace\addons\main\script_mod.hpp" +#define ELEVATION_UP 0 +#define ELEVATION_DOWN 1 +#define WINDAGE_LEFT 2 +#define WINDAGE_RIGHT 3 + +#define MINOR_INCREMENT false +#define MAJOR_INCREMENT true + #ifdef DEBUG_ENABLED_SCOPES #define DEBUG_MODE_FULL #endif diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 04f777241a..d84f0932af 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -1,50 +1,86 @@  - - - - Adjust Elevation Up - Magasság Állítása Felfelé - Optik-Elevation erhöhen - Ajustar Elevação Acima - Hausse + - Regulacja krzyża w pionie + - Zvýšit náměr - Ajustar elevación arriba - Вверх по вертикали - - - Adjust Elevation Down - Magasság Állítása Lefelé - Optik-Elevation verringern - Ajustar Elevação Abaixo - Hausse - - Regulacja krzyża w pionie - - Snížit náměr - Ajustar elevación abajo - Вниз по вертикали - - - Adjust Windage Right - Oldalirány Állítása Jobbra - Optik-Azimuth erhöhen - Ajustar Azimute à Direita - Dérive + - Regulacja krzyża w poziomie + - Náměr doprava (vítr) - Ajustar deriva a la derecha - Вправо на уровне - - - Adjust Windage Left - Oldalirány Állítása Balra - Optik-Azimuth verringern - Ajustar Azimute à Esquerda - Dérive - - Regulacja krzyża w poziomie - - Náměr doleva (vítr) - Ajustar deriva a la izquierda - Влево на уровне - - - \ No newline at end of file + + + Minor adjustment up + Zerowanie powoli w górę + Малая корректировка ВВЕРХ + Ajuste menor arriba + Regola leggermente alzata in alto + Hausse + + Kleine Korrektur nach oben + + + Minor adjustment down + Zerowanie powoli w dół + Малая корректировка ВНИЗ + Ajuste menor abajo + Regola leggermente alzata in basso + Hausse - + Kleine Korrektur nach unten + + + Minor adjustment right + Zerowanie powoli w prawo + Малая корректировка ВПРАВО + Ajuste menor derecha + Regola leggermente il tiro a destra + Dérive + + Kleine Korrektur nach rechts + + + Minor adjustment left + Zerowanie powoli w lewo + Малая корректировка ВЛЕВО + Ajuste menor izquierda + Regola leggermete il tiro a sinistra + Dérive - + Kleine Korrektur nach links + + + Major adjustment up + Zerowanie w górę + Большая корректировка ВВЕРХ + Ajuste mayor arriba + Regola l'alzata in alto + Hausse +++ + Große Korrektur nach oben + + + Major adjustment down + Zerowanie w dół + Большая корректировка ВНИЗ + Ajuste mayor abajo + Regola l'alzata in basso + Hausse --- + Große Korrektur nach unten + + + Major adjustment right + Zerowanie w prawo + Большая корректировка ВПРАВО + Ajuste mayor derecha + Regola il tiro a destra + Dérive +++ + Große Korrektur nach rechts + + + Major adjustment left + Zerowanie w lewo + Большая корректировка ВЛЕВО + Ajuste mayor izquierda + Regola il tiro a sinistra + Dérive --- + Große Korrektur nach links + + + Set zero adjustment + Zresetuj wyzerowanie + Сбросить корректировку + Establecer ajuste a cero + Resetta i valori del tiro + RAZ corrections + Auf 0 justieren + + + diff --git a/addons/switchunits/config.cpp b/addons/switchunits/config.cpp index c400be855c..cda974d17e 100644 --- a/addons/switchunits/config.cpp +++ b/addons/switchunits/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_main", "ace_common"}; + requiredAddons[] = {"ace_common"}; author[] = {"bux578"}; authorUrl = "https://github.com/bux578/"; VERSION_CONFIG; diff --git a/addons/switchunits/functions/fnc_addMapFunction.sqf b/addons/switchunits/functions/fnc_addMapFunction.sqf index 62a7c42a22..7204e73d36 100644 --- a/addons/switchunits/functions/fnc_addMapFunction.sqf +++ b/addons/switchunits/functions/fnc_addMapFunction.sqf @@ -17,12 +17,10 @@ #include "script_component.hpp" -private ["_unit", "_sides"]; -_unit = _this select 0; -_sides = _this select 1; +PARAMS_2(_unit,_sides); ["theMapClick", "onMapSingleClick", { - + // IGNORE_PRIVATE_WARNING(_pos,_shift,_alt) if (alive ACE_player && {GVAR(OriginalUnit) getVariable ["ACE_CanSwitchUnits", false]}) then { [_this, _pos, _shift, _alt] call FUNC(handleMapClick); }; diff --git a/addons/switchunits/functions/fnc_handleMapClick.sqf b/addons/switchunits/functions/fnc_handleMapClick.sqf index 3033071984..bfe36f13ea 100644 --- a/addons/switchunits/functions/fnc_handleMapClick.sqf +++ b/addons/switchunits/functions/fnc_handleMapClick.sqf @@ -10,7 +10,7 @@ * None * * Example: - * [_unit, _sides] call FUNC(handleMapClick) + * [unit, _sides] call FUNC(handleMapClick) * * Public: No */ diff --git a/addons/switchunits/functions/fnc_initPlayer.sqf b/addons/switchunits/functions/fnc_initPlayer.sqf index 9c71f8cefc..c2857f1091 100644 --- a/addons/switchunits/functions/fnc_initPlayer.sqf +++ b/addons/switchunits/functions/fnc_initPlayer.sqf @@ -10,7 +10,7 @@ * None * * Example: - * [_player, _sides] call FUNC(initPlayer) + * [player, [west]] call FUNC(initPlayer) * * Public: No */ @@ -19,8 +19,7 @@ private ["_playerUnit", "_sides"]; -_playerUnit = _this select 0; -_sides = _this select 1; +PARAMS_2(_playerUnit,_sides); if (vehicle _playerUnit == _playerUnit) then { diff --git a/addons/switchunits/functions/fnc_nearestPlayers.sqf b/addons/switchunits/functions/fnc_nearestPlayers.sqf index b79c54054f..987c4e3528 100644 --- a/addons/switchunits/functions/fnc_nearestPlayers.sqf +++ b/addons/switchunits/functions/fnc_nearestPlayers.sqf @@ -10,14 +10,15 @@ * Player units > * * Example: - * [_pos, 100] call FUNC(nearestPlayers) + * [[300,300,0], 100] call FUNC(nearestPlayers) * * Public: Yes */ - #include "script_component.hpp" -private ["_position", "_radius", "_nearestPlayers"]; +private ["_nearestPlayers"]; + +PARAMS_2(_position,_radius); _position = _this select 0; _radius = _this select 1; @@ -25,9 +26,9 @@ _radius = _this select 1; _nearestPlayers = []; { - if ([_x] call EFUNC(common,isPlayer) && {alive _x}) then { - _nearestPlayers pushBack _x; - }; + if ([_x] call EFUNC(common,isPlayer) && {alive _x}) then { + _nearestPlayers pushBack _x; + }; } forEach (nearestObjects [_position, ["Man"], _radius]); - _nearestPlayers +_nearestPlayers diff --git a/addons/switchunits/functions/fnc_switchBack.sqf b/addons/switchunits/functions/fnc_switchBack.sqf index d54713bbe4..69be77dd8b 100644 --- a/addons/switchunits/functions/fnc_switchBack.sqf +++ b/addons/switchunits/functions/fnc_switchBack.sqf @@ -10,26 +10,20 @@ * None * * Example: - * [_origPlayer, _respPlayer] call FUNC(switchBack) + * [_originalPlayerUnit, _currentUnit] call FUNC(switchBack) * * Public: Yes */ #include "script_component.hpp" -private ["_origPlayerUnit"]; +PARAMS_1(_originalPlayerUnit); -_origPlayerUnit = _this select 0; -[_origPlayerUnit] joinSilent GVAR(OriginalGroup); +[_originalPlayerUnit] joinSilent GVAR(OriginalGroup); DFUNC(pfhSwitchBack) = { - - private ["_args", "_originalPlayerUnit", "_currentUnit"]; - - _args = _this select 0; - - _originalPlayerUnit = _args select 0; - _currentUnit = _args select 1; + PARAMS_2(_args,_pfID); + EXPLODE_2_PVT(_args,_originalPlayerUnit,_currentUnit); if (local _originalPlayerUnit) exitWith { selectPlayer _originalPlayerUnit; diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index abd053ffae..b1879b0999 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -18,9 +18,9 @@ #include "script_component.hpp" -private ["_unit", "_allNearestPlayers", "_oldUnit", "_leave"]; +private ["_nearestEnemyPlayers", "_allNearestPlayers", "_oldUnit", "_leave"]; -_unit = _this select 1; +PARAMS_1(_unit); // don't switch to original player units if (!([_unit] call FUNC(isValidAi))) exitWith {}; diff --git a/addons/switchunits/script_component.hpp b/addons/switchunits/script_component.hpp index 4e76fb1495..5955e1220f 100644 --- a/addons/switchunits/script_component.hpp +++ b/addons/switchunits/script_component.hpp @@ -1,4 +1,4 @@ -#define COMPONENT SwitchUnits +#define COMPONENT switchunits #include "\z\ace\addons\main\script_mod.hpp" #ifdef DEBUG_ENABLED_SWITCHUNITS diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 842bf89127..58b0b46d6d 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -1,21 +1,27 @@  - - - Switched unit - Einheit gewechselt - Юнит переключен - Prohozená jednotka - Przełącz jednostkę - Cambiado de unidad - - - This unit is too close to the enemy. - Diese Einheit ist zu nah am Feind. - Юнит слишком близок к противнику - Tato jednotka je moc blízko k nepříteli. - Ta jednostka jest zbyt blisko przeciwnika. - Esta unidad está demasiado cerca del enemigo. - - + + + Switched unit + Einheit gewechselt + Юнит переключен + Prohozená jednotka + Przełącz jednostkę + Cambiado de unidad + Unité changée + Egység átváltva + Cambia unità + + + This unit is too close to the enemy. + Diese Einheit ist zu nah am Feind. + Юнит слишком близок к противнику. + Tato jednotka je moc blízko k nepříteli. + Ta jednostka jest zbyt blisko przeciwnika. + Esta unidad está demasiado cerca del enemigo. + Cette unité est trop proche des ennemis + Ez az egység túl közel van az ellenséghez. + Questa unità è troppo vicina al nemico. + + diff --git a/addons/vector/XEH_postInit.sqf b/addons/vector/XEH_postInit.sqf index 8bbf7d7aa6..12f643ece3 100644 --- a/addons/vector/XEH_postInit.sqf +++ b/addons/vector/XEH_postInit.sqf @@ -1,4 +1,16 @@ // by commy2 #include "script_component.hpp" +if (!hasInterface) exitWith {}; + +GVAR(holdKeyHandler) = -1; +GVAR(isKeyDownAzimuth) = false; +GVAR(isKeyDownDistance) = false; +GVAR(keyDownTimeAzimuth) = -1; +GVAR(keyDownTimeDistance) = -1; +GVAR(useMil) = false; +GVAR(useFeet) = false; +GVAR(modeReticle) = 0; +GVAR(illuminate) = false; + #include "initKeybinds.sqf" diff --git a/addons/vector/XEH_preInit.sqf b/addons/vector/XEH_preInit.sqf index fcae0f282b..f170198a15 100644 --- a/addons/vector/XEH_preInit.sqf +++ b/addons/vector/XEH_preInit.sqf @@ -31,14 +31,6 @@ PREP(showText); PREP(nextMode); PREP(adjustBrightness); PREP(showReticle); - -GVAR(holdKeyHandler) = -1; -GVAR(isKeyDownAzimuth) = false; -GVAR(isKeyDownDistance) = false; -GVAR(keyDownTimeAzimuth) = -1; -GVAR(keyDownTimeDistance) = -1; -GVAR(useMil) = false; -GVAR(useFeet) = false; -GVAR(modeReticle) = 0; +PREP(illuminate); ADDON = true; diff --git a/addons/vector/config.cpp b/addons/vector/config.cpp index 926bfda58d..e2a52b47ef 100644 --- a/addons/vector/config.cpp +++ b/addons/vector/config.cpp @@ -13,6 +13,8 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" + #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + #include "RscInGameUI.hpp" diff --git a/addons/vector/functions/fnc_adjustBrightness.sqf b/addons/vector/functions/fnc_adjustBrightness.sqf index 8832329796..13c604315d 100644 --- a/addons/vector/functions/fnc_adjustBrightness.sqf +++ b/addons/vector/functions/fnc_adjustBrightness.sqf @@ -26,3 +26,7 @@ _color = [[1,0,0,0.5], [1,0,0,1]] select (_this select 0); (_dlgVector displayCtrl 1322) ctrlSetTextColor _color; (_dlgVector displayCtrl 1323) ctrlSetTextColor _color; (_dlgVector displayCtrl 1324) ctrlSetTextColor _color; + +GVAR(illuminate) = _this select 0; + +_this call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_illuminate.sqf b/addons/vector/functions/fnc_illuminate.sqf new file mode 100644 index 0000000000..0c3779e441 --- /dev/null +++ b/addons/vector/functions/fnc_illuminate.sqf @@ -0,0 +1,41 @@ +// by commy2 +#include "script_component.hpp" + +private "_dlgVector"; + +disableSerialization; +_dlgVector = GETUVAR(ACE_dlgVector,displayNull); + +if (_this select 0) then { + + { + private ["_string", "_index"]; + + _string = ctrlText _x; + _index = _string find ".paa"; + + if (_index != -1 && {_string find "_illum.paa" == -1}) then { + _string = toArray _string; + _string resize _index; + + _x ctrlSetText format ["%1_illum.paa", toString _string]; + }; + } forEach allControls _dlgVector; + +} else { + + { + private ["_string", "_index"]; + + _string = ctrlText _x; + _index = _string find "_illum.paa"; + + if (_index != -1) then { + _string = toArray _string; + _string resize _index; + + _x ctrlSetText format ["%1.paa", toString _string]; + }; + } forEach allControls _dlgVector; + +}; diff --git a/addons/vector/functions/fnc_showAzimuth.sqf b/addons/vector/functions/fnc_showAzimuth.sqf index d4b5421cc3..42e874d83c 100644 --- a/addons/vector/functions/fnc_showAzimuth.sqf +++ b/addons/vector/functions/fnc_showAzimuth.sqf @@ -16,3 +16,5 @@ _digits = _direction call FUNC(convertToTexturesDegree); (_dlgVector displayCtrl 1316) ctrlSetText (_digits select 1); (_dlgVector displayCtrl 1317) ctrlSetText (_digits select 2); (_dlgVector displayCtrl 1318) ctrlSetText (_digits select 3); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showAzimuthInclination.sqf b/addons/vector/functions/fnc_showAzimuthInclination.sqf index 9d5bb82506..3daed0d4df 100644 --- a/addons/vector/functions/fnc_showAzimuthInclination.sqf +++ b/addons/vector/functions/fnc_showAzimuthInclination.sqf @@ -25,3 +25,5 @@ _digits = [_direction select 1] call FUNC(convertToTexturesDegree); (_dlgVector displayCtrl 1312) ctrlSetText (_digits select 1); (_dlgVector displayCtrl 1313) ctrlSetText (_digits select 2); (_dlgVector displayCtrl 1314) ctrlSetText (_digits select 3); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showCenter.sqf b/addons/vector/functions/fnc_showCenter.sqf index 58899ff1e7..1293e1286d 100644 --- a/addons/vector/functions/fnc_showCenter.sqf +++ b/addons/vector/functions/fnc_showCenter.sqf @@ -8,3 +8,5 @@ Shows or hides the vectors center square thingy. #include "script_component.hpp" ((GETUVAR(ACE_dlgVector,displayNull)) displayCtrl 1301) ctrlSetText (["", QUOTE(PATHTOF(rsc\vector_center.paa))] select (_this select 0)); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showDistance.sqf b/addons/vector/functions/fnc_showDistance.sqf index 69d17faa9e..540bd01824 100644 --- a/addons/vector/functions/fnc_showDistance.sqf +++ b/addons/vector/functions/fnc_showDistance.sqf @@ -16,3 +16,5 @@ _digits = [_distance] call FUNC(convertToTexturesDistance); (_dlgVector displayCtrl 1312) ctrlSetText (_digits select 1); (_dlgVector displayCtrl 1313) ctrlSetText (_digits select 2); (_dlgVector displayCtrl 1314) ctrlSetText (_digits select 3); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showFallOfShot.sqf b/addons/vector/functions/fnc_showFallOfShot.sqf index 45a2232daf..24d933815d 100644 --- a/addons/vector/functions/fnc_showFallOfShot.sqf +++ b/addons/vector/functions/fnc_showFallOfShot.sqf @@ -53,3 +53,5 @@ if !(_this select 0) then { (_dlgVector displayCtrl 1319) ctrlSetText ""; }; + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showHeightDistance.sqf b/addons/vector/functions/fnc_showHeightDistance.sqf index cc563ae11d..67dde19547 100644 --- a/addons/vector/functions/fnc_showHeightDistance.sqf +++ b/addons/vector/functions/fnc_showHeightDistance.sqf @@ -25,3 +25,5 @@ _digits = [_heightDistance select 1] call FUNC(convertToTexturesDistance); (_dlgVector displayCtrl 1316) ctrlSetText (_digits select 1); (_dlgVector displayCtrl 1317) ctrlSetText (_digits select 2); (_dlgVector displayCtrl 1318) ctrlSetText (_digits select 3); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showP1.sqf b/addons/vector/functions/fnc_showP1.sqf index 6d7baf7412..73453961c1 100644 --- a/addons/vector/functions/fnc_showP1.sqf +++ b/addons/vector/functions/fnc_showP1.sqf @@ -23,3 +23,5 @@ if (_this select 0) then { (_dlgVector displayCtrl 1323) ctrlSetText ""; (_dlgVector displayCtrl 1324) ctrlSetText ""; }; + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf b/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf index 7dfc157571..e7c4378866 100644 --- a/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf +++ b/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf @@ -25,3 +25,5 @@ _digits = [_azimuthDistance select 1] call FUNC(convertToTexturesDistance); (_dlgVector displayCtrl 1312) ctrlSetText (_digits select 1); (_dlgVector displayCtrl 1313) ctrlSetText (_digits select 2); (_dlgVector displayCtrl 1314) ctrlSetText (_digits select 3); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showRelativeHeightLength.sqf b/addons/vector/functions/fnc_showRelativeHeightLength.sqf index 599195f376..7fed122786 100644 --- a/addons/vector/functions/fnc_showRelativeHeightLength.sqf +++ b/addons/vector/functions/fnc_showRelativeHeightLength.sqf @@ -25,3 +25,5 @@ _digits = [_heightLength select 1] call FUNC(convertToTexturesDistance); (_dlgVector displayCtrl 1316) ctrlSetText (_digits select 1); (_dlgVector displayCtrl 1317) ctrlSetText (_digits select 2); (_dlgVector displayCtrl 1318) ctrlSetText (_digits select 3); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showReticle.sqf b/addons/vector/functions/fnc_showReticle.sqf index a3c07010dc..d44adfb68d 100644 --- a/addons/vector/functions/fnc_showReticle.sqf +++ b/addons/vector/functions/fnc_showReticle.sqf @@ -8,3 +8,5 @@ Shows or hides the electronic reticle. #include "script_component.hpp" ((GETUVAR(ACE_dlgVector,displayNull)) displayCtrl 1302) ctrlSetText (["", QUOTE(PATHTOF(rsc\vector_crosshair.paa))] select (_this select 0)); + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showText.sqf b/addons/vector/functions/fnc_showText.sqf index 33e1c4766f..68dbe9d642 100644 --- a/addons/vector/functions/fnc_showText.sqf +++ b/addons/vector/functions/fnc_showText.sqf @@ -153,3 +153,5 @@ switch (_this select 0) do { (_dlgVector displayCtrl 1324) ctrlSetText ""; }; }; + +[GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/initKeybinds.sqf b/addons/vector/initKeybinds.sqf index 1e186f36ca..31fb3bbd1b 100644 --- a/addons/vector/initKeybinds.sqf +++ b/addons/vector/initKeybinds.sqf @@ -3,9 +3,9 @@ ["ACE3", QGVAR(AzimuthKey), localize "STR_ACE_Vector_AzimuthKey", { // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific - if !(currentWeapon ACE_player == "ACE_Vector" && {ACE_player == cameraOn} && {cameraView == "GUNNER"}) exitWith {false}; + if !(currentWeapon ACE_player == "ACE_Vector" && {cameraView == "GUNNER"}) exitWith {false}; // prevent holding down if (GETGVAR(isDownStateKey1,false)) exitWith {false}; @@ -20,7 +20,7 @@ GVAR(isDownStateKey1) = false; // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement ["azimuth"] call FUNC(onKeyUp); @@ -32,9 +32,9 @@ ["ACE3", QGVAR(DistanceKey), localize "STR_ACE_Vector_DistanceKey", { // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific - if !(currentWeapon ACE_player == "ACE_Vector" && {ACE_player == cameraOn} && {cameraView == "GUNNER"}) exitWith {false}; + if !(currentWeapon ACE_player == "ACE_Vector" && {cameraView == "GUNNER"}) exitWith {false}; // prevent holding down if (GETGVAR(isDownStateKey2,false)) exitWith {false}; @@ -49,7 +49,7 @@ GVAR(isDownStateKey2) = false; // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement ["distance"] call FUNC(onKeyUp); diff --git a/addons/vector/rsc/vector_0_illum.paa b/addons/vector/rsc/vector_0_illum.paa new file mode 100644 index 0000000000..74f5af5a16 Binary files /dev/null and b/addons/vector/rsc/vector_0_illum.paa differ diff --git a/addons/vector/rsc/vector_1_illum.paa b/addons/vector/rsc/vector_1_illum.paa new file mode 100644 index 0000000000..f486e82faa Binary files /dev/null and b/addons/vector/rsc/vector_1_illum.paa differ diff --git a/addons/vector/rsc/vector_2_illum.paa b/addons/vector/rsc/vector_2_illum.paa new file mode 100644 index 0000000000..41c5db21a8 Binary files /dev/null and b/addons/vector/rsc/vector_2_illum.paa differ diff --git a/addons/vector/rsc/vector_3_illum.paa b/addons/vector/rsc/vector_3_illum.paa new file mode 100644 index 0000000000..1a466bbcb4 Binary files /dev/null and b/addons/vector/rsc/vector_3_illum.paa differ diff --git a/addons/vector/rsc/vector_4_illum.paa b/addons/vector/rsc/vector_4_illum.paa new file mode 100644 index 0000000000..50ffff1d49 Binary files /dev/null and b/addons/vector/rsc/vector_4_illum.paa differ diff --git a/addons/vector/rsc/vector_5_illum.paa b/addons/vector/rsc/vector_5_illum.paa new file mode 100644 index 0000000000..704aba781f Binary files /dev/null and b/addons/vector/rsc/vector_5_illum.paa differ diff --git a/addons/vector/rsc/vector_6_illum.paa b/addons/vector/rsc/vector_6_illum.paa new file mode 100644 index 0000000000..0ed4b7390d Binary files /dev/null and b/addons/vector/rsc/vector_6_illum.paa differ diff --git a/addons/vector/rsc/vector_7_illum.paa b/addons/vector/rsc/vector_7_illum.paa new file mode 100644 index 0000000000..b7f597f8da Binary files /dev/null and b/addons/vector/rsc/vector_7_illum.paa differ diff --git a/addons/vector/rsc/vector_8_illum.paa b/addons/vector/rsc/vector_8_illum.paa new file mode 100644 index 0000000000..76ac62a41f Binary files /dev/null and b/addons/vector/rsc/vector_8_illum.paa differ diff --git a/addons/vector/rsc/vector_9_illum.paa b/addons/vector/rsc/vector_9_illum.paa new file mode 100644 index 0000000000..7d2aed09a9 Binary files /dev/null and b/addons/vector/rsc/vector_9_illum.paa differ diff --git a/addons/vector/rsc/vector_a_illum.paa b/addons/vector/rsc/vector_a_illum.paa new file mode 100644 index 0000000000..b6188a951e Binary files /dev/null and b/addons/vector/rsc/vector_a_illum.paa differ diff --git a/addons/vector/rsc/vector_b_illum.paa b/addons/vector/rsc/vector_b_illum.paa new file mode 100644 index 0000000000..82c9ed9c64 Binary files /dev/null and b/addons/vector/rsc/vector_b_illum.paa differ diff --git a/addons/vector/rsc/vector_c_illum.paa b/addons/vector/rsc/vector_c_illum.paa new file mode 100644 index 0000000000..c599588d8d Binary files /dev/null and b/addons/vector/rsc/vector_c_illum.paa differ diff --git a/addons/vector/rsc/vector_center_illum.paa b/addons/vector/rsc/vector_center_illum.paa new file mode 100644 index 0000000000..d3f6bfb894 Binary files /dev/null and b/addons/vector/rsc/vector_center_illum.paa differ diff --git a/addons/vector/rsc/vector_crosshair_illum.paa b/addons/vector/rsc/vector_crosshair_illum.paa new file mode 100644 index 0000000000..ddef5eccd7 Binary files /dev/null and b/addons/vector/rsc/vector_crosshair_illum.paa differ diff --git a/addons/vector/rsc/vector_d_illum.paa b/addons/vector/rsc/vector_d_illum.paa new file mode 100644 index 0000000000..b16ee7ef30 Binary files /dev/null and b/addons/vector/rsc/vector_d_illum.paa differ diff --git a/addons/vector/rsc/vector_degree_illum.paa b/addons/vector/rsc/vector_degree_illum.paa new file mode 100644 index 0000000000..840713d8cf Binary files /dev/null and b/addons/vector/rsc/vector_degree_illum.paa differ diff --git a/addons/vector/rsc/vector_e_illum.paa b/addons/vector/rsc/vector_e_illum.paa new file mode 100644 index 0000000000..28421e11ec Binary files /dev/null and b/addons/vector/rsc/vector_e_illum.paa differ diff --git a/addons/vector/rsc/vector_f_illum.paa b/addons/vector/rsc/vector_f_illum.paa new file mode 100644 index 0000000000..bf542f37f4 Binary files /dev/null and b/addons/vector/rsc/vector_f_illum.paa differ diff --git a/addons/vector/rsc/vector_g_illum.paa b/addons/vector/rsc/vector_g_illum.paa new file mode 100644 index 0000000000..382604f6c5 Binary files /dev/null and b/addons/vector/rsc/vector_g_illum.paa differ diff --git a/addons/vector/rsc/vector_i_illum.paa b/addons/vector/rsc/vector_i_illum.paa new file mode 100644 index 0000000000..456b14c6ee Binary files /dev/null and b/addons/vector/rsc/vector_i_illum.paa differ diff --git a/addons/vector/rsc/vector_l_illum.paa b/addons/vector/rsc/vector_l_illum.paa new file mode 100644 index 0000000000..b0e0cfccce Binary files /dev/null and b/addons/vector/rsc/vector_l_illum.paa differ diff --git a/addons/vector/rsc/vector_minus_illum.paa b/addons/vector/rsc/vector_minus_illum.paa new file mode 100644 index 0000000000..6e66787a36 Binary files /dev/null and b/addons/vector/rsc/vector_minus_illum.paa differ diff --git a/addons/vector/rsc/vector_n_illum.paa b/addons/vector/rsc/vector_n_illum.paa new file mode 100644 index 0000000000..44d31d9654 Binary files /dev/null and b/addons/vector/rsc/vector_n_illum.paa differ diff --git a/addons/vector/rsc/vector_o_illum.paa b/addons/vector/rsc/vector_o_illum.paa new file mode 100644 index 0000000000..ecf355c110 Binary files /dev/null and b/addons/vector/rsc/vector_o_illum.paa differ diff --git a/addons/vector/rsc/vector_p_illum.paa b/addons/vector/rsc/vector_p_illum.paa new file mode 100644 index 0000000000..c3c8da6a8b Binary files /dev/null and b/addons/vector/rsc/vector_p_illum.paa differ diff --git a/addons/vector/rsc/vector_plus_illum.paa b/addons/vector/rsc/vector_plus_illum.paa new file mode 100644 index 0000000000..f9259c06de Binary files /dev/null and b/addons/vector/rsc/vector_plus_illum.paa differ diff --git a/addons/vector/rsc/vector_r_illum.paa b/addons/vector/rsc/vector_r_illum.paa new file mode 100644 index 0000000000..b60b65202d Binary files /dev/null and b/addons/vector/rsc/vector_r_illum.paa differ diff --git a/addons/vector/rsc/vector_t_illum.paa b/addons/vector/rsc/vector_t_illum.paa new file mode 100644 index 0000000000..49af435989 Binary files /dev/null and b/addons/vector/rsc/vector_t_illum.paa differ diff --git a/addons/vector/rsc/vector_u_illum.paa b/addons/vector/rsc/vector_u_illum.paa new file mode 100644 index 0000000000..42a0df66af Binary files /dev/null and b/addons/vector/rsc/vector_u_illum.paa differ diff --git a/addons/vector/stringtable.xml b/addons/vector/stringtable.xml index 7a27cf272e..edef7a7bea 100644 --- a/addons/vector/stringtable.xml +++ b/addons/vector/stringtable.xml @@ -1,54 +1,53 @@  - - - - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - - - Rangefinder - Laserentfernungsmesser - Telémetro - Télémètre - Dalmierz - Dálkoměr - Telemetro - Távolságmérő - Telêmetro - Дальномер - - - Vector - Azimuth Key - Vector - Azimuth-Taste - Vector - Tecla de acimut - Vector - Touche Azimuth - Vector - Azymut - Vector - Zobrazit Azimut - Vector - Tasto Azimuth - Vector - Tecla de Azimute - Vector - Irányszög gomb - Vector – Азимут - - - Vector - Distance Key - Vector - Entfernungs-Taste - Vector - Tecla de distancia - Vector - Touche Distance - Vector - Odległość - Vector - Zobrazit vzdálenost - Vecto - Tasto Distanza - Vector - Tecla de Distância - Vector - Távolság gomb - Vector – Расстояние - - + + + Vector 21 + Vector 21 + Vector 21 + Vector 21 + Vector 21 + Vector 21 + Vector 21 + Vector 21 + Vector 21 + Vector 21 + + + Rangefinder + Laserentfernungsmesser + Telémetro + Télémètre + Dalmierz laserowy + Dálkoměr + Telemetro + Távolságmérő + Telêmetro + Дальномер + + + Vector - Azimuth Key + Vector - Azimuth-Taste + Vector - Tecla de acimut + Vector - Touche Azimuth + Vector - Azymut + Vector - Zobrazit azimut + Vector - Tasto Azimuth + Vector - Tecla de Azimute + Vector - Irányszög gomb + Vector – Азимут + + + Vector - Distance Key + Vector - Entfernungs-Taste + Vector - Tecla de distancia + Vector - Touche Distance + Vector - Odległość + Vector - Zobrazit vzdálenost + Vecto - Tasto Distanza + Vector - Tecla de Distância + Vector - Távolság gomb + Vector – Расстояние + + \ No newline at end of file diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 700e27b3cb..248a1e7ca0 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; + requiredAddons[] = {"ace_interaction"}; author[] = {"PabstMirror"}; authorUrl = "https://github.com/PabstMirror/"; VERSION_CONFIG; diff --git a/addons/vehiclelock/functions/fnc_lockpick.sqf b/addons/vehiclelock/functions/fnc_lockpick.sqf index 4fee354824..fc7fecc693 100644 --- a/addons/vehiclelock/functions/fnc_lockpick.sqf +++ b/addons/vehiclelock/functions/fnc_lockpick.sqf @@ -27,6 +27,9 @@ PARAMS_3(_unit,_veh,_funcType); if (isNull _unit) exitWith {ERROR("null unit"); false}; if (isNull _veh) exitWith {ERROR("null vehicle"); false}; +//Exit if vehicle unlocked: +if ((locked _veh) == 0) exitWith {false}; + //need lockpick item if (!("ACE_key_lockpick" in (items _unit))) exitWith {false}; diff --git a/addons/vehiclelock/functions/fnc_moduleSync.sqf b/addons/vehiclelock/functions/fnc_moduleSync.sqf index feed42e3ab..ede20e3196 100644 --- a/addons/vehiclelock/functions/fnc_moduleSync.sqf +++ b/addons/vehiclelock/functions/fnc_moduleSync.sqf @@ -37,6 +37,7 @@ if (!isServer) exitWith {}; }; { + private "_unit"; _unit = _x; if (_unit isKindOf "CAManBase") then { { diff --git a/addons/vehiclelock/functions/fnc_onOpenInventory.sqf b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf index 55fee28cc6..65c3068dce 100644 --- a/addons/vehiclelock/functions/fnc_onOpenInventory.sqf +++ b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf @@ -21,6 +21,7 @@ PARAMS_2(_unit,_container); //Only check for player: if (_unit != ace_player) exitWith {false}; +private "_handeled"; _handeled = false; if (GVAR(LockVehicleInventory) && //if setting not enabled diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 580283dcab..e62f9fdc5f 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -1,116 +1,126 @@  - - - - Unlock Vehicle - Fahrzeug aufschließen - Vehículo abierto - Déverrouiller le véhicule - Odblokuj pojazd - Odemknout vozidlo - Jármű nyitása - Открыть машину - - - Lock Vehicle - Fahrzeug abschließen - Vehículo cerrado - Verrouiller le véhicule - Zablokuj pojazd - Zamknout vozidlo - Jármű zárása - Закрыть машину - - - Lockpick Vehicle - Fahrzeug knacken - Forzar vehículo - Crocheter le véhicule - Otwórz zamek - Vypáčit vozidlo - Jármű feltörése - Взломать замок - - - Picking Lock.... - Schloss knacken... - Forzando cierre... - Crochetage... - Otwieranie zamka... - Páčim vozidlo... - Feltörés... - Взламываем замок... - - - A custom key that will open a specific vehicle. - Ein Schlüssel der ein bestimmtes Fahrzeug aufschließt. - Una llave concreta abrirá un vehículo concreto. - Une clé propre à un seul véhicule. - Unikatowy klucz który otworzy konkretny pojazd. - Vlastní klíč, který otevře konkrétní vozidlo. - Kulcs egy járműhez - Ключ от конкретной машины. - - - A Master Key will open any lock, no matter what! - Ein Generalschlüssel der jedes Schloss öffnet... - Una llave maestra abrirá cualquier cierre, no importa cual! - Un passe-partout qui ouvrira n'importe quelle serrure. - Uniwersalny klucz który otworzy każdy zamek. - Hlavní klíč otevře libovolný zámek, bez vyjímek! - Általános kulcs minden járműhez - Универсальный ключ, открывающий любой замок. - - - A lockpick set that can pick the locks of most vehicles. - Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... - Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. - Un crochet qui ouvrira la plupart des véhicules. - Zestaw wytrychów dzięki któremu można otworzyć zamki w większości pojazdów. - Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. - Álkulcs melyik minden járműt nyitni tud - Набор отмычек, которым можно взломать почти любую машину. - - - A key that should open most WEST vehicles. - Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos occidentales. - Une clé qui ouvrira la plupart des véhicules WEST. - Klucz który powinien otworzyć większość pojazdów ZACHODU. - Klíč který by měl otevřít většinou Západních vozidel. - Általános kulcs WEST járművekhez - Ключ для открытия большинства машин Запада. - - - A key that should open most EAST vehicle. - Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos orientales. - Une clé qui ouvrira la plupart des véhicules EAST. - Klucz który powinien otworzyć większość pojazdów WSCHODU. - Általános kulcs EAST járművekhez - Klíč který by měl otevřít vetšinu Východních vozidel. - Ключ для открытия большинства машин Востока. - - - A key that should open most INDEP vehicle. - Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... - Una llave que puede abrir la mayoría de vehículos independientes. - Une clé qui ouvrira la plupart des véhicules INDEP. - Klucz który powinien otworzyć większość pojazdów INDFOR. - Általános kulcs INDEPENDENT járművekhez - Klíč který by měl otevřít většinu Nezávislých vozidel. - Ключ для открытия большинства машин Независимых. - - - A key that should open most CIV vehicle. - Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos civiles. - Une clé qui ouvrira la plupart des véhicules CIV. - Klucz który powinien otworzyć większość pojazdów CYWILNYCH. - Klíč který by měl otevřít většinu Civilních vozidel. - Általános kulcs CIVILIAN járművekhez - Ключ для открытия большинства машин Гражданских. - - - \ No newline at end of file + + + Unlock Vehicle + Fahrzeug aufschließen + Vehículo abierto + Déverrouiller le véhicule + Odblokuj pojazd + Odemknout vozidlo + Jármű nyitása + Открыть машину + Apri il veicolo + + + Lock Vehicle + Fahrzeug abschließen + Vehículo cerrado + Verrouiller le véhicule + Zablokuj pojazd + Zamknout vozidlo + Jármű zárása + Закрыть машину + Chiudi il veicolo + + + Lockpick Vehicle + Fahrzeug knacken + Forzar vehículo + Crocheter le véhicule + Otwórz zamek + Vypáčit vozidlo + Jármű feltörése + Взломать замок + Scassina veicolo + + + Picking Lock.... + Schloss knacken... + Forzando cierre... + Crochetage... + Otwieranie zamka... + Páčim vozidlo... + Zár feltörése... + Взламываем замок... + Scassino il veicolo.... + + + A custom key that will open a specific vehicle. + Ein Schlüssel der ein bestimmtes Fahrzeug aufschließt. + Una llave concreta abrirá un vehículo concreto. + Une clé propre à un seul véhicule. + Unikatowy klucz, który otworzy konkretny pojazd. + Vlastní klíč, který otevře konkrétní vozidlo. + Egy egyedi kulcs, ami egy meghatározott járművet nyit ki. + Ключ от конкретной машины. + Una chiave personalizzata che apre determinati veicoli. + + + A Master Key will open any lock, no matter what! + Ein Generalschlüssel der jedes Schloss öffnet... + Una llave maestra abrirá cualquier cierre, no importa cual! + Un passe-partout qui ouvrira n'importe quelle serrure. + Uniwersalny klucz, który otworzy każdy zamek. + Hlavní klíč otevře libovolný zámek, bez vyjímek! + Egy főkulcs, ami minden zárat kinyit, helyzettől függetlenül! + Универсальный ключ, открывающий любой замок. + Una chiave principale che apre qualsiasi serratura! + + + A lockpick set that can pick the locks of most vehicles. + Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... + Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. + Un crochet qui ouvrira la plupart des véhicules. + Zestaw wytrychów, dzięki któremu można otworzyć zamki w większości pojazdów. + Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. + Egy tolvajkulcs-készlet, mely a legtöbb jármű zárjait fel tudja törni. + Набор отмычек, которым можно взломать почти любую машину. + Un grimardello per forzare la maggior parte dei veicoli + + + A key that should open most WEST vehicles. + Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos occidentales. + Une clé qui ouvrira la plupart des véhicules OUEST. + Klucz, który powinien otworzyć większość pojazdów ZACHODU. + Klíč který by měl otevřít většinou Západních vozidel. + Egy kulcs, ami a NYUGAT egységeinek legtöbb járművét ki tudja nyitni. + Ключ для открытия большинства машин Красных. + Una chiave che apre la maggior parte dei veicoli WEST + + + A key that should open most EAST vehicle. + Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos orientales. + Une clé qui ouvrira la plupart des véhicules EST. + Klucz, który powinien otworzyć większość pojazdów WSCHODU. + Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. + Klíč který by měl otevřít vetšinu Východních vozidel. + Ключ для открытия большинства машин Синих. + Una chaive che apr ela maggior parte dei veicoli EAST + + + A key that should open most INDEP vehicle. + Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... + Una llave que puede abrir la mayoría de vehículos independientes. + Une clé qui ouvrira la plupart des véhicules INDEP. + Klucz, który powinien otworzyć większość pojazdów INDFOR. + Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. + Klíč který by měl otevřít většinu Nezávislých vozidel. + Ключ для открытия большинства машин Независимых. + Una chaive che apr ela maggior parte dei veicoli INDEP + + + A key that should open most CIV vehicle. + Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos civiles. + Une clé qui ouvrira la plupart des véhicules CIV. + Klucz, który powinien otworzyć większość pojazdów CYWILNYCH. + Klíč který by měl otevřít většinu Civilních vozidel. + Egy kulcs, ami a CIVIL járművek többségét ki tudja nyitni. + Ключ для открытия большинства машин Гражданских. + Una chaive che apr ela maggior parte dei veicoli CIV + + + diff --git a/addons/vehicles/CfgEventHandlers.hpp b/addons/vehicles/CfgEventHandlers.hpp index 049b154088..2725e526bc 100644 --- a/addons/vehicles/CfgEventHandlers.hpp +++ b/addons/vehicles/CfgEventHandlers.hpp @@ -18,3 +18,12 @@ class Extended_Engine_EventHandlers { }; }; }; + +class Extended_Init_EventHandlers { + class StaticWeapon { + class ACE_FixMass { + init = QUOTE(if (local (_this select 0)) then {(_this select 0) setMass (getMass (_this select 0) max 250)};); + exclude[] = {"TargetSoldierBase","Static_Designator_01_base_F","Static_Designator_02_base_F","Pod_Heli_Transport_04_base_F"}; + }; + }; +}; diff --git a/addons/vehicles/XEH_postInit.sqf b/addons/vehicles/XEH_postInit.sqf index 8f714105b6..c7665cf2aa 100644 --- a/addons/vehicles/XEH_postInit.sqf +++ b/addons/vehicles/XEH_postInit.sqf @@ -7,7 +7,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", { // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isnotinside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player == driver vehicle ACE_player && {vehicle ACE_player isKindOf 'Car' || diff --git a/addons/vehicles/functions/fnc_speedLimiter.sqf b/addons/vehicles/functions/fnc_speedLimiter.sqf index 2332336e0a..053d96d470 100644 --- a/addons/vehicles/functions/fnc_speedLimiter.sqf +++ b/addons/vehicles/functions/fnc_speedLimiter.sqf @@ -35,7 +35,7 @@ _maxSpeed = speed _vehicle max 10; _speed = speed _vehicle; if (_speed > _maxSpeed) then { - _vehicle setVelocity ((velocity _vehicle) vectorMultiply (_maxSpeed / _speed)); + _vehicle setVelocity ((velocity _vehicle) vectorMultiply ((_maxSpeed / _speed) - 0.00001)); // fix 1.42-hotfix PhysX libraries applying force in previous direction when turning }; } , 0, [_driver, _vehicle, _maxSpeed]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/vehicles/stringtable.xml b/addons/vehicles/stringtable.xml index 4fbb91ebcd..603f2563dc 100644 --- a/addons/vehicles/stringtable.xml +++ b/addons/vehicles/stringtable.xml @@ -1,43 +1,41 @@ - + - - - - Speed Limiter on - Begrenzer an - Limitador de velocidad activado - Ogranicznik prędkości włączony - Omezovač rychlosti zapnout - Limiteur de vitesse Activé - Ограничение скорости включено - Sebességkorlát bekapcsolva - Limitador de Velocidade Ativo - Limitatore Attivo - - - Speed Limiter off - Begrenzer aus - Limitador de velocidad desactivado - Ogranicznik prędkości wyłączony - Omezovač rychlosti vypnout - Limiteur de vitesse Désactivé - Ограничение скорости выключено - Sebességkorlát kikapcsolva - Limitador de Velocidade Desativado - Limitatore Non Attivo - - - - Speed Limiter - Begrenzer - Limitador de velocidad - Ogranicznik prędkości - Omezovač rychlosti - Limiteur de vitesse - Ограничение скорости - Sebességkorlát - Limitador de Velocidade - Limitatore di Velocità - - - + + + Speed Limiter on + Begrenzer an + Limitador de velocidad activado + Ogranicznik prędkości włączony + Omezovač rychlosti zapnout + Limiteur de vitesse Activé + Ограничение скорости включено + Sebességkorlátozó bekapcsolva + Limitador de Velocidade Ativo + Limitatore Attivo + + + Speed Limiter off + Begrenzer aus + Limitador de velocidad desactivado + Ogranicznik prędkości wyłączony + Omezovač rychlosti vypnout + Limiteur de vitesse Désactivé + Ограничение скорости выключено + Sebességkorlátozó kikapcsolva + Limitador de Velocidade Desativado + Limitatore Non Attivo + + + Speed Limiter + Begrenzer + Limitador de velocidad + Ogranicznik prędkości + Omezovač rychlosti + Limiteur de vitesse + Ограничение скорости + Sebességkorlátozó + Limitador de Velocidade + Limitatore di Velocità + + + \ No newline at end of file diff --git a/addons/weaponselect/XEH_postInit.sqf b/addons/weaponselect/XEH_postInit.sqf index 6dc648d54c..93813b4ed0 100644 --- a/addons/weaponselect/XEH_postInit.sqf +++ b/addons/weaponselect/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(SelectPistol), localize "STR_ACE_WeaponSelect_SelectPistol", +["ACE3", QGVAR(SelectPistolNew), localize "STR_ACE_WeaponSelect_SelectPistol", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -13,12 +13,12 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, handgunWeapon ACE_player] call FUNC(selectWeaponMode); - true + false }, {false}, -[2, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key -["ACE3", QGVAR(SelectRifle), localize "STR_ACE_WeaponSelect_SelectRifle", +["ACE3", QGVAR(SelectRifleNew), localize "STR_ACE_WeaponSelect_SelectRifle", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -27,12 +27,12 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, primaryWeapon ACE_player] call FUNC(selectWeaponMode); - true + false }, {false}, -[3, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key -["ACE3", QGVAR(SelectRifleMuzzle), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle", +["ACE3", QGVAR(SelectRifleMuzzleNew), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -41,12 +41,12 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, primaryWeapon ACE_player] call FUNC(selectWeaponMuzzle); - true + false }, {false}, -[4, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key -["ACE3", QGVAR(SelectLauncher), localize "STR_ACE_WeaponSelect_SelectLauncher", +["ACE3", QGVAR(SelectLauncherNew), localize "STR_ACE_WeaponSelect_SelectLauncher", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -55,12 +55,12 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, secondaryWeapon ACE_player] call FUNC(selectWeaponMode); - true + false }, {false}, -[5, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key -["ACE3", QGVAR(SelectBinocular), localize "STR_ACE_WeaponSelect_SelectBinocular", +["ACE3", QGVAR(SelectBinocularNew), localize "STR_ACE_WeaponSelect_SelectBinocular", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -69,10 +69,10 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, binocular ACE_player] call FUNC(selectWeaponMode); - true + false }, {false}, -[6, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key ["ACE3", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag", { @@ -144,7 +144,7 @@ if !(hasInterface) exitWith {}; {false}, [2, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key -["ACE3", QGVAR(SelectMainGun), localize "STR_ACE_WeaponSelect_SelectMainGun", +["ACE3", QGVAR(SelectMainGunNew), localize "STR_ACE_WeaponSelect_SelectMainGun", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -153,12 +153,12 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, vehicle ACE_player, 0] call FUNC(selectWeaponVehicle); - true + false }, {false}, -[4, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key -["ACE3", QGVAR(SelectMachineGun), localize "STR_ACE_WeaponSelect_SelectMachineGun", +["ACE3", QGVAR(SelectMachineGunNew), localize "STR_ACE_WeaponSelect_SelectMachineGun", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -167,12 +167,12 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, vehicle ACE_player, 1] call FUNC(selectWeaponVehicle); - true + false }, {false}, -[5, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key -["ACE3", QGVAR(SelectMissiles), localize "STR_ACE_WeaponSelect_SelectMissiles", +["ACE3", QGVAR(SelectMissilesNew), localize "STR_ACE_WeaponSelect_SelectMissiles", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -181,10 +181,10 @@ if !(hasInterface) exitWith {}; // Statement [ACE_player, vehicle ACE_player, 2] call FUNC(selectWeaponVehicle); - true + false }, {false}, -[6, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key +[0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key ["ACE3", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher", { diff --git a/addons/weaponselect/XEH_preInit.sqf b/addons/weaponselect/XEH_preInit.sqf index 790dfe7a99..4c5216c2f6 100644 --- a/addons/weaponselect/XEH_preInit.sqf +++ b/addons/weaponselect/XEH_preInit.sqf @@ -26,6 +26,7 @@ GVAR(CurrentGrenadeMuzzleOther) = ""; // Collect frag and other muzzles separately with uiNamespace do { + private ["_magazines", "_magazine", "_ammo", "_explosive"]; if (isNil QGVAR(FragMuzzles)) then { GVAR(FragMuzzles) = []; GVAR(NonFragMuzzles) = []; diff --git a/addons/weaponselect/config.cpp b/addons/weaponselect/config.cpp index 80be936e98..68d0fe842d 100644 --- a/addons/weaponselect/config.cpp +++ b/addons/weaponselect/config.cpp @@ -17,7 +17,7 @@ class CfgPatches { class ACE_Settings { class GVAR(DisplayText) { typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; value = 1; displayName = "$STR_ACE_Weaponselect_SettingDisplayTextName"; description = "$STR_ACE_Weaponselect_SettingDisplayTextDesc"; diff --git a/addons/weaponselect/functions/fnc_countMagazinesForGrenadeMuzzle.sqf b/addons/weaponselect/functions/fnc_countMagazinesForGrenadeMuzzle.sqf index f73f2444c4..f45ed0ea57 100644 --- a/addons/weaponselect/functions/fnc_countMagazinesForGrenadeMuzzle.sqf +++ b/addons/weaponselect/functions/fnc_countMagazinesForGrenadeMuzzle.sqf @@ -12,18 +12,13 @@ */ #include "script_component.hpp" -private ["_unit", "_muzzle"]; +PARAMS_2(_unit,_muzzle); -_unit = _this select 0; -_muzzle = _this select 1; - -private ["_uniformMags", "_vestMags", "_backPackMags"]; +private ["_uniformMags", "_vestMags", "_backpackMags", "_numberOfMagazines", "_magazineClasses", "_firstMagazine"]; _uniformMags = getMagazineCargo uniformContainer _unit; _vestMags = getMagazineCargo vestContainer _unit; -_backPackMags = getMagazineCargo backpackContainer _unit; - -private ["_numberOfMagazines", "_magazineClasses", "_firstMagazine"]; +_backpackMags = getMagazineCargo backpackContainer _unit; _numberOfMagazines = 0; _magazineClasses = getArray (configFile >> "CfgWeapons" >> "Throw" >> _muzzle >> "magazines"); diff --git a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf index 1922ffdbb9..d7a68e7f50 100644 --- a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf +++ b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf @@ -21,10 +21,10 @@ _numberofMagazines = _this select 1; private ["_color", "_name", "_text", "_picture"]; -_color = [[1,0,0], [1,1,1]] select (_numberOfMagazines > 0); +_color = [[1,0,0], [1,1,1]] select (_numberofMagazines > 0); _name = getText (configFile >> "CfgMagazines" >> _magazine >> "displayNameShort"); -_text = [format["%1 x%2", _name, _numberOfMagazines], _color] call EFUNC(common,stringToColoredText); +_text = [format["%1 x%2", _name, _numberofMagazines], _color] call EFUNC(common,stringToColoredText); _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); [_text, _picture] call EFUNC(common,displayTextPicture); diff --git a/addons/weaponselect/functions/fnc_selectGrenadeAll.sqf b/addons/weaponselect/functions/fnc_selectGrenadeAll.sqf index 31999ad0b9..a75a11c202 100644 --- a/addons/weaponselect/functions/fnc_selectGrenadeAll.sqf +++ b/addons/weaponselect/functions/fnc_selectGrenadeAll.sqf @@ -11,41 +11,41 @@ */ #include "script_component.hpp" -private ["_unit", "_nextMuzzle"]; +private ["_text", "_nextMuzzle"]; -_unit = _this select 0; +PARAMS_1(_unit); _nextMuzzle = ["All"] call FUNC(findNextGrenadeMuzzle); if (_nextMuzzle != "") then { - private ["_magazines", "_magazine", "_count", "_return"]; - _magazines = GVAR(AllMagazines) select (GVAR(AllMuzzles) find _nextMuzzle); - reverse _magazines; + private ["_magazines", "_magazine", "_count", "_return"]; + _magazines = GVAR(AllMagazines) select (GVAR(AllMuzzles) find _nextMuzzle); + reverse _magazines; - _magazine = ""; - _count = {_return = _x in _magazines; if (_return) then {_magazine = _x}; _return} count magazines _unit; + _magazine = ""; + _count = {_return = _x in _magazines; if (_return) then {_magazine = _x}; _return} count magazines _unit; - // There is a muzzle with magazines --> cycle to it - [_unit, _nextMuzzle] call FUNC(setNextGrenadeMuzzle); + // There is a muzzle with magazines --> cycle to it + [_unit, _nextMuzzle] call FUNC(setNextGrenadeMuzzle); - [_magazine, _count] call FUNC(displayGrenadeTypeAndNumber); + [_magazine, _count] call FUNC(displayGrenadeTypeAndNumber); } else { - // There is a no muzzle with magazines --> select nothing - GVAR(CurrentGrenadeMuzzleFrag) = ""; GVAR(CurrentGrenadeMuzzleOther) = ""; + // There is a no muzzle with magazines --> select nothing + GVAR(CurrentGrenadeMuzzleFrag) = ""; GVAR(CurrentGrenadeMuzzleOther) = ""; - if (GVAR(DisplayText)) then { - _text = [localize "STR_ACE_WeaponSelect_NoGrenadesLeft", [1,0,0]] call EFUNC(common,stringToColoredText); - [composeText [lineBreak, _text]] call EFUNC(common,displayTextStructured); - }; + if (GVAR(DisplayText)) then { + _text = [localize "STR_ACE_WeaponSelect_NoGrenadesLeft", [1,0,0]] call EFUNC(common,stringToColoredText); + [composeText [lineBreak, _text]] call EFUNC(common,displayTextStructured); + }; }; if (_nextMuzzle in GVAR(FragMuzzles)) then { - GVAR(CurrentGrenadeMuzzleFrag) = _nextMuzzle; - GVAR(CurrentGrenadeMuzzleIsFrag) = true; + GVAR(CurrentGrenadeMuzzleFrag) = _nextMuzzle; + GVAR(CurrentGrenadeMuzzleIsFrag) = true; } else { - GVAR(CurrentGrenadeMuzzleOther) = _nextMuzzle; - GVAR(CurrentGrenadeMuzzleIsFrag) = false; + GVAR(CurrentGrenadeMuzzleOther) = _nextMuzzle; + GVAR(CurrentGrenadeMuzzleIsFrag) = false; }; diff --git a/addons/weaponselect/functions/fnc_selectGrenadeFrag.sqf b/addons/weaponselect/functions/fnc_selectGrenadeFrag.sqf index 408cf0e608..0dee3e5c57 100644 --- a/addons/weaponselect/functions/fnc_selectGrenadeFrag.sqf +++ b/addons/weaponselect/functions/fnc_selectGrenadeFrag.sqf @@ -11,34 +11,34 @@ */ #include "script_component.hpp" -private ["_unit", "_nextMuzzle"]; +private ["_text", "_nextMuzzle"]; -_unit = _this select 0; +PARAMS_1(_unit); _nextMuzzle = ["Frag"] call FUNC(findNextGrenadeMuzzle); if (_nextMuzzle != "") then { - GVAR(CurrentGrenadeMuzzleFrag) = _nextMuzzle; + GVAR(CurrentGrenadeMuzzleFrag) = _nextMuzzle; - private ["_magazines", "_magazine", "_count", "_return"]; - _magazines = GVAR(FragMagazines) select (GVAR(FragMuzzles) find _nextMuzzle); - reverse _magazines; + private ["_magazines", "_magazine", "_count", "_return"]; + _magazines = GVAR(FragMagazines) select (GVAR(FragMuzzles) find _nextMuzzle); + reverse _magazines; - _magazine = ""; - _count = {_return = _x in _magazines; if (_return) then {_magazine = _x}; _return} count magazines _unit; + _magazine = ""; + _count = {_return = _x in _magazines; if (_return) then {_magazine = _x}; _return} count magazines _unit; - // There is a muzzle with magazines --> cycle to it - [_unit, _nextMuzzle] call FUNC(setNextGrenadeMuzzle); + // There is a muzzle with magazines --> cycle to it + [_unit, _nextMuzzle] call FUNC(setNextGrenadeMuzzle); - [_magazine, _count] call FUNC(displayGrenadeTypeAndNumber); + [_magazine, _count] call FUNC(displayGrenadeTypeAndNumber); } else { - // There is a no muzzle with magazines --> select nothing - GVAR(CurrentGrenadeMuzzleFrag) = ""; - if (GVAR(DisplayText)) then { - _text = [localize "STR_ACE_WeaponSelect_NoFragsLeft", [1,0,0]] call EFUNC(common,stringToColoredText); - [composeText [lineBreak, _text]] call EFUNC(common,displayTextStructured); - }; + // There is a no muzzle with magazines --> select nothing + GVAR(CurrentGrenadeMuzzleFrag) = ""; + if (GVAR(DisplayText)) then { + _text = [localize "STR_ACE_WeaponSelect_NoFragsLeft", [1,0,0]] call EFUNC(common,stringToColoredText); + [composeText [lineBreak, _text]] call EFUNC(common,displayTextStructured); + }; }; GVAR(CurrentGrenadeMuzzleIsFrag) = true; diff --git a/addons/weaponselect/functions/fnc_selectGrenadeOther.sqf b/addons/weaponselect/functions/fnc_selectGrenadeOther.sqf index c732010a2b..4ab65e5bf3 100644 --- a/addons/weaponselect/functions/fnc_selectGrenadeOther.sqf +++ b/addons/weaponselect/functions/fnc_selectGrenadeOther.sqf @@ -11,34 +11,34 @@ */ #include "script_component.hpp" -private ["_unit", "_nextMuzzle"]; +private ["_nextMuzzle", "_text"]; -_unit = _this select 0; +PARAMS_1(_unit); _nextMuzzle = ["NonFrag"] call FUNC(findNextGrenadeMuzzle); if (_nextMuzzle != "") then { - GVAR(CurrentGrenadeMuzzleOther) = _nextMuzzle; + GVAR(CurrentGrenadeMuzzleOther) = _nextMuzzle; - private ["_magazines", "_magazine", "_count", "_return"]; - _magazines = GVAR(NonFragMagazines) select (GVAR(NonFragMuzzles) find _nextMuzzle); - reverse _magazines; + private ["_magazines", "_magazine", "_count", "_return"]; + _magazines = GVAR(NonFragMagazines) select (GVAR(NonFragMuzzles) find _nextMuzzle); + reverse _magazines; - _magazine = ""; - _count = {_return = _x in _magazines; if (_return) then {_magazine = _x}; _return} count magazines _unit; + _magazine = ""; + _count = {_return = _x in _magazines; if (_return) then {_magazine = _x}; _return} count magazines _unit; - // There is a muzzle with magazines --> cycle to it - [_unit, _nextMuzzle] call FUNC(setNextGrenadeMuzzle); + // There is a muzzle with magazines --> cycle to it + [_unit, _nextMuzzle] call FUNC(setNextGrenadeMuzzle); - [_magazine, _count] call FUNC(displayGrenadeTypeAndNumber); + [_magazine, _count] call FUNC(displayGrenadeTypeAndNumber); } else { - // There is a no muzzle with magazines --> select nothing - GVAR(CurrentGrenadeMuzzleOther) = ""; - if (GVAR(DisplayText)) then { - _text = [localize "STR_ACE_WeaponSelect_NoMiscGrenadeLeft", [1,0,0]] call EFUNC(common,stringToColoredText); - [composeText [lineBreak, _text]] call EFUNC(common,displayTextStructured); - }; + // There is a no muzzle with magazines --> select nothing + GVAR(CurrentGrenadeMuzzleOther) = ""; + if (GVAR(DisplayText)) then { + _text = [localize "STR_ACE_WeaponSelect_NoMiscGrenadeLeft", [1,0,0]] call EFUNC(common,stringToColoredText); + [composeText [lineBreak, _text]] call EFUNC(common,displayTextStructured); + }; }; GVAR(CurrentGrenadeMuzzleIsFrag) = false; diff --git a/addons/weaponselect/functions/fnc_setNextGrenadeMuzzle.sqf b/addons/weaponselect/functions/fnc_setNextGrenadeMuzzle.sqf index ced1fa87b3..81d1a59ed1 100644 --- a/addons/weaponselect/functions/fnc_setNextGrenadeMuzzle.sqf +++ b/addons/weaponselect/functions/fnc_setNextGrenadeMuzzle.sqf @@ -17,19 +17,15 @@ private ["_unit", "_muzzle"]; _unit = _this select 0; _muzzle = _this select 1; -private ["_uniformMags", "_vestMags", "_backPackMags"]; +private ["_uniformMags", "_vestMags", "_backpackMags", "_i", "_uniformMagsToRemove", "_vestMagsToRemove", "_backpackMagsToRemove", "_firstMagazine", "_throwMuzzleNames"]; _uniformMags = getMagazineCargo uniformContainer _unit; _vestMags = getMagazineCargo vestContainer _unit; -_backPackMags = getMagazineCargo backpackContainer _unit; - -private ["_uniformMagsToRemove", "_vestMagsToRemove", "_backPackMagsToRemove"]; +_backpackMags = getMagazineCargo backpackContainer _unit; _uniformMagsToRemove = []; _vestMagsToRemove = []; -_backPackMagsToRemove = []; - -private ["_firstMagazine", "_throwMuzzleNames"]; +_backpackMagsToRemove = []; _firstMagazine = ""; _throwMuzzleNames = getArray (configfile >> "CfgWeapons" >> "Throw" >> "muzzles"); @@ -99,7 +95,7 @@ _throwMuzzleNames = getArray (configfile >> "CfgWeapons" >> "Throw" >> "muzzles" for [{_i = 0}, {_i < (_x select 1)}, {_i = _i + 1}] do { _unit removeItem (_x select 0); }; -} forEach _backPackMagsToRemove; +} forEach _backpackMagsToRemove; // Readd magazines { @@ -118,4 +114,4 @@ _throwMuzzleNames = getArray (configfile >> "CfgWeapons" >> "Throw" >> "muzzles" for [{_i = 0}, {_i < (_x select 1)}, {_i = _i + 1}] do { _unit addItemToBackpack (_x select 0); }; -} forEach _backPackMagsToRemove; +} forEach _backpackMagsToRemove; diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 3a39d59396..6e06025620 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -1,254 +1,275 @@  - - - - Display text on grenade throw - - - Display a hint or text on grenade throw. - - - Select Pistol - Pistole auswählen - Seleccionar pistola - Wybierz pistolet - Zvolit příruční zbraň - Выбрать пистолет - Sélectionner Pistolet - Pisztoly Kiválasztása - Selecionar Pistola - Seleziona la Pistola - - - Select Rifle - Gewehr auswählen - Seleccionar fusil - Wybierz karabin - Zvolit hlavní zbraň - Выбрать автомат - Sélectionner Fusil - Puska Kiválasztása - Selecionar Rifle - Seleziona il Fucile - - - Select Launcher - Raketenwerfer auswählen - Seleccionar lanzador - Wybierz wyrzutnię - Zvolit Raketomet - Выбрать гранатомет - Sélectionner Lanceur - Rakétavető Kiválasztása - Selecionar Lançador - Seleziona il Lanciatore - - - Select Grenade Launcher - Granatwerfer auswählen - Seleccionar lanzador de granadas - Wybierz granatnik - Zvolit Granátomet - Выбрать подствольный гранатомет - Sélectionner Lance-grenades - Gránátvető Kiválasztása - Selecionar Lança-Granadas - Seleziona il Lanciagranate - - - Select Binoculars - Fernglas auswählen - Seleccionar prismáticos - Wybierz lornetkę - Zvolit Dalekohled - Выбрать бинокль - Sélectionner Jumelles - Távcső Kiválasztása - Selecionar Binóculos - Seleziona il Binocolo - - - Holster Weapon - Waffe holstern - Enfundar el arma - Schowaj broń - Schovat zbraň - Убрать оружие - Arme à la bretelle - Fegyvert tokba - Guardar Arma - Nascondi l'arma - - - Engine on - Motor an - Encender motor - Włącz silnik - Moteur allumé - Motor indítása - Zapnout motor - Ligar Motor - Motore acceso - Включить двигатель - - - Engine off - Motor aus - Apagar motor - Wyłącz silnik - Moteur éteint - Motor leállítása - Vypnout motor - Desligar Motor - Motore spento - Выключить двигатель - - - Select Main Gun - Hauptgeschütz auswählen - Seleccionar arma principal - Wybierz główną broń - Sélectionner l'Arme Principale - Elsődleges Fegyver Kiválasztása - Zvolit Hlavní Zbraň - Selecionar Arma Principal - Seleziona Arma Primaria - Выбрать основное оружие - - - Select Machine Gun - Maschinengewehr auswählen - Seleccionar ametralladora - Wybierz karabin maszynowy - Sélectionner Mitrailleuse - Géppuska Kiválasztása - Zvolit Kulomet - Selecionar Metralhadora - Seleziona Mitragliatrice - Выбрать пулемёт - - - Select Missiles - Raketen auswählen - Seleccionar misiles - Wybierz rakiety - Sélectionner Missiles - Rakéták Kiválasztása - Zvolit Rakety - Selecionar Mísseis - Seleziona Missili - Выбрать ракеты - - - Grenade %1 - Granate %1 - Granada %1 - Granat %1 - Granát %1 - Gránát Kiválasztása - Граната %1 - - - Ready Grenade - Granate nehmen - Granada lista - Przygotuj granat - Odjistit granát - Kész Gránát - Подготовить гранату - - - Select Frag Grenade - Explosive Granate auswählen - Seleccionar granada de fragmenación - Wybierz granat odłamkowy - Sélectionner grenade à fragmentation - Repeszgránát Kiválasztása - Zvolit Výbušný Granát - Selecionar Granada de Fragmentação - Seleziona Granata a Frammentazione - Выбрать осколочную гранату - - - Select Non-Frag Grenade - Nichtexplosive Granate auswählen - Seleccionar granada de no fragmentación - Wybierz granat nieodłamkowy - Sélectionner grenade non-léthale - Nem Robbanó Gránát Kiválasztása - Zvolit Ne-Výbušný Granát - Selecionar Granada - Seleziona Altre Granate - Выбрать гранату - - - Throw Selected Grenade - Gewählte Granate werfen - Arrojar granada seleccionada - Rzuć wybrany granat - Lancer la grenade sélectionnée - Kiválasztott Gránát Eldobása - Hodit Zvolený Granát - Lançar Granada Selecionada - Lancia la Granata Selezionata - Бросить выбранную гранату - - - No grenades left - Keine Granaten übrig - No quedan granadas - Plus de grenades - Brak granatów - Žádné granáty - Nincs több gránát - Гранат не осталось - - - No frags left - Keine explosiven Granaten übrig - Sin granadas de fragmentación - Brak granatów odłamkowych - Plus de grenades à fragmentation - Nincs több repeszgránát - Už nejsou granáty - Não há granadas de fragmentação restantes - Nessuna granata a frammentazione rimanente - Осколочныких гранат нет - - - No misc. grenades left - Keine nichtexplosiven Granaten übrig - Sin granadas de varias - Brak granatów nieodłamkowych - Plus de grenades non-léthales - Nincs több egyéb gránát - Už nejsou žádné ostatní granáty - Não há outras granadas restantes - Nessun'altra granata rimanente. - Невзрывоопасные гранаты закончились - - - No grenade selected - Keine Granate ausgewählt - Granada no seleccionada - Nie wybrano żadnego granatu - Aucune grenade sélectionnée - Nincs kiválasztva gránát - Není zvolen žádný granát - Nenhuma granada selecionada - Nessuna granata selezionata - Нет выбранной гранаты - - - Fire Smoke Launcher - Rauchwand abfeuern - Disparar lanzador de humo - Kouřový odpalovač - Tirer le lance-pots fumigènes - Wystrzel granat dymny - Füst kilövése - Запустить дымовую завесу - - - \ No newline at end of file + + + Display text on grenade throw + Zeige Text beim Granatwurf + Mostrar texto al lanzar granada + Показывать текст при броске + Zobrazí text při hodu granátem + Wyświetl tekst przy rzucie granatem + Afficher texte lors d'un lancé de grenade + Szöveg mutatása gránát eldobásakor + Mostra indicazioni nel lancio granate + + + Display a hint or text on grenade throw. + Zeige Hinweis oder Text beim Granatwurf + Muestra una notificación o texto al lanzar granada + Показывать текст или подсказку при броске гранаты. + Zobrazí upozornění nebo text při hodu granátem. + Wyświetla powiadomienie lub tekst przy rzucie granatem. + Afficher texte/info au lancé de grenade + Jelez egy súgót vagy szöveget a gránát eldobásakor. + Mostra un suggerimento quando si lanciano granate + + + Select Pistol + Pistole auswählen + Seleccionar pistola + Wybierz pistolet + Zvolit příruční zbraň + Выбрать пистолет + Sélectionner Pistolet + Pisztoly Kiválasztása + Selecionar Pistola + Seleziona la Pistola + + + Select Rifle + Gewehr auswählen + Seleccionar fusil + Wybierz karabin + Zvolit hlavní zbraň + Выбрать винтовку + Sélectionner Fusil + Puska Kiválasztása + Selecionar Rifle + Seleziona il Fucile + + + Select Launcher + Raketenwerfer auswählen + Seleccionar lanzador + Wybierz wyrzutnię + Zvolit Raketomet + Выбрать гранатомет + Sélectionner Lanceur + Rakétavető Kiválasztása + Selecionar Lançador + Seleziona il Lanciamissili + + + Select Grenade Launcher + Granatwerfer auswählen + Seleccionar lanzador de granadas + Wybierz granatnik + Zvolit Granátomet + Выбрать подствольный гранатомет + Sélectionner Lance-grenades + Gránátvető Kiválasztása + Selecionar Lança-Granadas + Seleziona il Lanciagranate + + + Select Binoculars + Fernglas auswählen + Seleccionar prismáticos + Wybierz lornetkę + Zvolit Dalekohled + Выбрать бинокль + Sélectionner Jumelles + Távcső Kiválasztása + Selecionar Binóculos + Seleziona il Binocolo + + + Holster Weapon + Waffe holstern + Enfundar el arma + Schowaj broń + Schovat zbraň + Убрать оружие + Arme à la bretelle + Fegyvert tokba + Guardar Arma + Nascondi l'arma + + + Engine on + Motor an + Encender motor + Włącz silnik + Moteur allumé + Motor indítása + Zapnout motor + Ligar Motor + Motore acceso + Включить двигатель + + + Engine off + Motor aus + Apagar motor + Wyłącz silnik + Moteur éteint + Motor leállítása + Vypnout motor + Desligar Motor + Motore spento + Выключить двигатель + + + Select Main Gun + Hauptgeschütz auswählen + Seleccionar arma principal + Wybierz główną broń + Sélectionner l'Arme Principale + Elsődleges Fegyver Kiválasztása + Zvolit Hlavní Zbraň + Selecionar Arma Principal + Seleziona Arma Primaria + Выбрать основное оружие + + + Select Machine Gun + Maschinengewehr auswählen + Seleccionar ametralladora + Wybierz karabin maszynowy + Sélectionner Mitrailleuse + Géppuska Kiválasztása + Zvolit Kulomet + Selecionar Metralhadora + Seleziona Mitragliatrice + Выбрать пулемёт + + + Select Missiles + Raketen auswählen + Seleccionar misiles + Wybierz rakiety + Sélectionner Missiles + Rakéták Kiválasztása + Zvolit Rakety + Selecionar Mísseis + Seleziona Missili + Выбрать ракеты + + + Grenade %1 + Granate %1 + Granada %1 + Granat %1 + Granát %1 + Gránát: %1 + Граната %1 + Grenade %1 + Granata %1 + + + Ready Grenade + Granate nehmen + Granada lista + Przygotuj granat + Odjistit granát + Gránát előkészítése + Подготовить гранату + Grenade prête + Granata pronta + + + Select Frag Grenade + Explosive Granate auswählen + Seleccionar granada de fragmenación + Wybierz granat odłamkowy + Sélectionner grenade à fragmentation + Repeszgránát Kiválasztása + Zvolit Výbušný Granát + Selecionar Granada de Fragmentação + Seleziona Granata a Frammentazione + Выбрать осколочную гранату + + + Select Non-Frag Grenade + Nichtexplosive Granate auswählen + Seleccionar granada de no fragmentación + Wybierz granat nieodłamkowy + Sélectionner grenade non-léthale + Nem-robbanó Gránát Kiválasztása + Zvolit Ne-Výbušný Granát + Selecionar Granada + Seleziona granate non a frammentazione + Выбрать гранату + + + Throw Selected Grenade + Gewählte Granate werfen + Arrojar granada seleccionada + Rzuć wybrany granat + Lancer la grenade sélectionnée + Kiválasztott Gránát Eldobása + Hodit Zvolený Granát + Lançar Granada Selecionada + Lancia la Granata Selezionata + Бросить выбранную гранату + + + No grenades left + Keine Granaten übrig + No quedan granadas + Plus de grenades + Brak granatów + Žádné granáty + Nincs több gránát + Гранат не осталось + Granate esaurite + + + No frags left + Keine explosiven Granaten übrig + Sin granadas de fragmentación + Brak granatów odłamkowych + Plus de grenades à fragmentation + Nincs több repeszgránát + Už nejsou granáty + Não há granadas de fragmentação restantes + Nessuna granata a frammentazione rimanente + Осколочных гранат нет + + + No misc. grenades left + Keine nichtexplosiven Granaten übrig + Sin granadas de varias + Brak granatów nieodłamkowych + Plus de grenades non-léthales + Nincs több egyéb gránát + Už nejsou žádné ostatní granáty + Não há outras granadas restantes + Nessun'altra granata rimanente. + Нелетальные гранаты закончились + + + No grenade selected + Keine Granate ausgewählt + Granada no seleccionada + Nie wybrano żadnego granatu + Aucune grenade sélectionnée + Nincs semmilyen gránát kiválasztva + Není zvolen žádný granát + Nenhuma granada selecionada + Nessuna granata selezionata + Нет выбранной гранаты + + + Fire Smoke Launcher + Rauchwand abfeuern + Disparar lanzador de humo + Kouřový odpalovač + Tirer le lance-pots fumigènes + Wystrzel granat dymny + Füstvető eltüzelése + Пустить дымовую завесу + Lancia fumogeno + + + diff --git a/addons/weather/ACE_Settings.hpp b/addons/weather/ACE_Settings.hpp new file mode 100644 index 0000000000..d4b5a716cf --- /dev/null +++ b/addons/weather/ACE_Settings.hpp @@ -0,0 +1,38 @@ +class ACE_Settings { + class GVAR(enableServerController) { + displayName = "Weather propagation"; + description = "Enables sever side weather propagation"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(useACEWeather) { + displayName = "ACE Weather"; + description = "Overrides the default weather (editor, mission settings) with ACE weather (map based)"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(syncRain) { + displayName = "Sync Rain"; + description = "Synchronizes rain"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(syncWind) { + displayName = "Sync Wind"; + description = "Synchronizes wind"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(syncMisc) { + displayName = "Sync Misc"; + description = "Synchronizes lightnings, rainbow, fog, ..."; + typeName = "BOOL"; + value = 1; + }; + class GVAR(serverUpdateInterval) { + displayName = "Update Interval"; + description = "Defines the interval (seconds) between weather updates"; + typeName = "SCALAR"; + value = 60; + }; +}; diff --git a/addons/weather/CfgEventhandlers.hpp b/addons/weather/CfgEventhandlers.hpp index c3f1f2ba0b..842ad8e7bf 100644 --- a/addons/weather/CfgEventhandlers.hpp +++ b/addons/weather/CfgEventhandlers.hpp @@ -1,6 +1,5 @@ class Extended_PreInit_EventHandlers { class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_preClientInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; diff --git a/addons/weather/CfgVehicles.hpp b/addons/weather/CfgVehicles.hpp new file mode 100644 index 0000000000..3de925e446 --- /dev/null +++ b/addons/weather/CfgVehicles.hpp @@ -0,0 +1,52 @@ +class CfgVehicles { + class ACE_Module; + class GVAR(ModuleSettings): ACE_Module { + scope = 2; + displayName = "Weather"; + icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); + category = "ACE"; + function = QUOTE(DFUNC(initModuleSettings)); + functionPriority = 1; + isGlobal = 1; + isTriggerActivated = 0; + author = "$STR_ACE_Common_ACETeam"; + class Arguments { + class enableServerController { + displayName = "Weather propagation"; + description = "Enables sever side weather propagation"; + typeName = "BOOL"; + defaultValue = 1; + }; + class useACEWeather { + displayName = "ACE Weather"; + description = "Overrides the default weather (editor, mission settings) with ACE weather (map based)"; + typeName = "BOOL"; + defaultValue = 1; + }; + class syncRain { + displayName = "Sync Rain"; + description = "Synchronizes rain"; + typeName = "BOOL"; + defaultValue = 1; + }; + class syncWind { + displayName = "Sync Wind"; + description = "Synchronizes wind"; + typeName = "BOOL"; + defaultValue = 1; + }; + class syncMisc { + displayName = "Sync Misc"; + description = "Synchronizes lightnings, rainbow, fog, ..."; + typeName = "BOOL"; + defaultValue = 1; + }; + class serverUpdateInterval { + displayName = "Update Interval"; + description = "Defines the interval (seconds) between weather updates"; + typeName = "NUMBER"; + defaultValue = 60; + }; + }; + }; +}; diff --git a/addons/weather/CfgWorlds.hpp b/addons/weather/CfgWorlds.hpp index ed932654f7..1391468fd9 100644 --- a/addons/weather/CfgWorlds.hpp +++ b/addons/weather/CfgWorlds.hpp @@ -7,6 +7,22 @@ class CfgWorlds { ACE_TempNight[] = {4, 4, 6, 8, 13, 17, 20, 20, 16, 12, 8, 6}; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Limnos,Greece ACE_Humidity[] = {78, 77, 78, 74, 71, 60, 59, 61, 65, 72, 79, 80}; + // Source: https://weatherspark.com/averages/32194/Lemnos-Limnos-North-Aegean-Islands-Greece + ACE_WindSpeedMax[] = {{8.8, 5.5}, {8.8, 5}, {8.6, 4.8}, {7.6, 3.4}, {7.0, 3.0}, {7.1, 3.0}, {7.5, 3.1}, {8.0, 3.2}, {7.6, 3.5}, {7.8, 4.6}, {7.9, 5.0}, {8.2, 5.5}}; + ACE_WindSpeedMean[] = {4.8, 4.9, 4.6, 4.1, 3.5, 3.5, 4.3, 4.4, 4.1, 4.5, 4.5, 5.0}; + ACE_WindSpeedMin[] = {{0.2, 5.0}, {0.1, 5.0}, {0.2, 4.3}, {0.0, 3.0}, {0.0, 2.1}, {0.0, 2.0}, {0.1, 3.1}, {0.3, 3.1}, {0.0, 3.6}, {0.0, 4.2}, {0.1, 5.0}, {0.2, 5.5}}; + ACE_WindDirectionProbabilities[] = {{0.06, 0.32, 0.05, 0.04, 0.15, 0.06, 0.02, 0.02}, // January + {0.08, 0.32, 0.04, 0.04, 0.18, 0.06, 0.02, 0.02}, // February + {0.09, 0.30, 0.04, 0.04, 0.20, 0.06, 0.02, 0.03}, // March + {0.10, 0.25, 0.03, 0.04, 0.22, 0.06, 0.02, 0.04}, // April + {0.18, 0.25, 0.03, 0.04, 0.18, 0.04, 0.01, 0.05}, // May + {0.25, 0.25, 0.03, 0.03, 0.15, 0.03, 0.00, 0.08}, // June + {0.32, 0.30, 0.02, 0.02, 0.10, 0.01, 0.00, 0.09}, // July + {0.28, 0.35, 0.02, 0.01, 0.08, 0.01, 0.00, 0.08}, // August + {0.20, 0.37, 0.03, 0.01, 0.11, 0.01, 0.01, 0.05}, // September + {0.10, 0.39, 0.04, 0.02, 0.15, 0.02, 0.01, 0.03}, // October + {0.08, 0.38, 0.06, 0.04, 0.19, 0.03, 0.02, 0.02}, // November + {0.06, 0.37, 0.05, 0.03, 0.18, 0.04, 0.02, 0.02}};// December }; class Altis: CAWorld { @@ -15,5 +31,21 @@ class CfgWorlds { ACE_TempNight[] = {4, 4, 6, 8, 13, 17, 20, 20, 16, 12, 8, 6}; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Limnos,Greece ACE_Humidity[] = {78, 77, 78, 74, 71, 60, 59, 61, 65, 72, 79, 80}; + // Source: https://weatherspark.com/averages/32194/Lemnos-Limnos-North-Aegean-Islands-Greece + ACE_WindSpeedMax[] = {{8.8, 5.5}, {8.8, 5}, {8.6, 4.8}, {7.6, 3.4}, {7.0, 3.0}, {7.1, 3.0}, {7.5, 3.1}, {8.0, 3.2}, {7.6, 3.5}, {7.8, 4.6}, {7.9, 5.0}, {8.2, 5.5}}; + ACE_WindSpeedMean[] = {4.8, 4.9, 4.6, 4.1, 3.5, 3.5, 4.3, 4.4, 4.1, 4.5, 4.5, 5.0}; + ACE_WindSpeedMin[] = {{0.2, 5.0}, {0.1, 5.0}, {0.2, 4.3}, {0.0, 3.0}, {0.0, 2.1}, {0.0, 2.0}, {0.1, 3.1}, {0.3, 3.1}, {0.0, 3.6}, {0.0, 4.2}, {0.1, 5.0}, {0.2, 5.5}}; + ACE_WindDirectionProbabilities[] = {{0.06, 0.32, 0.05, 0.04, 0.15, 0.06, 0.02, 0.02}, // January + {0.08, 0.32, 0.04, 0.04, 0.18, 0.06, 0.02, 0.02}, // February + {0.09, 0.30, 0.04, 0.04, 0.20, 0.06, 0.02, 0.03}, // March + {0.10, 0.25, 0.03, 0.04, 0.22, 0.06, 0.02, 0.04}, // April + {0.18, 0.25, 0.03, 0.04, 0.18, 0.04, 0.01, 0.05}, // May + {0.25, 0.25, 0.03, 0.03, 0.15, 0.03, 0.00, 0.08}, // June + {0.32, 0.30, 0.02, 0.02, 0.10, 0.01, 0.00, 0.09}, // July + {0.28, 0.35, 0.02, 0.01, 0.08, 0.01, 0.00, 0.08}, // August + {0.20, 0.37, 0.03, 0.01, 0.11, 0.01, 0.01, 0.05}, // September + {0.10, 0.39, 0.04, 0.02, 0.15, 0.02, 0.01, 0.03}, // October + {0.08, 0.38, 0.06, 0.04, 0.19, 0.03, 0.02, 0.02}, // November + {0.06, 0.37, 0.05, 0.03, 0.18, 0.04, 0.02, 0.02}};// December }; -}; +}; \ No newline at end of file diff --git a/addons/weather/RscTitles.hpp b/addons/weather/RscTitles.hpp new file mode 100644 index 0000000000..aedebdabfc --- /dev/null +++ b/addons/weather/RscTitles.hpp @@ -0,0 +1,31 @@ +class RscTitles +{ + class RscWindIntuitive + { + idd=-1; + onLoad="with uiNameSpace do { RscWindIntuitive = _this select 0 };"; + movingEnable=0; + duration=60; + fadeIn="false"; + fadeOut="false"; + class controls + { + class RscWindIntuitive + { + idc=132948; + type=0; + style=48; + font="TahomaB"; + colorBackground[]={0,0,0,0}; + colorText[]={0,0,0,0}; + x="SafeZoneX + 0.001"; + y="SafeZoneY + 0.001"; + w=0.2; + h=0.2*4/3; + size=0.034; + sizeEx=0.027; + text=""; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/weather/UI/Icon_Module_Wind_ca.paa b/addons/weather/UI/Icon_Module_Wind_ca.paa new file mode 100644 index 0000000000..176fe700a7 Binary files /dev/null and b/addons/weather/UI/Icon_Module_Wind_ca.paa differ diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind0.paa b/addons/weather/UI/wind0.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind0.paa rename to addons/weather/UI/wind0.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind1.paa b/addons/weather/UI/wind1.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind1.paa rename to addons/weather/UI/wind1.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind10.paa b/addons/weather/UI/wind10.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind10.paa rename to addons/weather/UI/wind10.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind11.paa b/addons/weather/UI/wind11.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind11.paa rename to addons/weather/UI/wind11.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind12.paa b/addons/weather/UI/wind12.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind12.paa rename to addons/weather/UI/wind12.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind2.paa b/addons/weather/UI/wind2.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind2.paa rename to addons/weather/UI/wind2.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind3.paa b/addons/weather/UI/wind3.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind3.paa rename to addons/weather/UI/wind3.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind4.paa b/addons/weather/UI/wind4.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind4.paa rename to addons/weather/UI/wind4.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind5.paa b/addons/weather/UI/wind5.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind5.paa rename to addons/weather/UI/wind5.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind6.paa b/addons/weather/UI/wind6.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind6.paa rename to addons/weather/UI/wind6.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind7.paa b/addons/weather/UI/wind7.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind7.paa rename to addons/weather/UI/wind7.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind8.paa b/addons/weather/UI/wind8.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind8.paa rename to addons/weather/UI/wind8.paa diff --git a/TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind9.paa b/addons/weather/UI/wind9.paa similarity index 100% rename from TO_MERGE/cse/sys_ballistics/advancedballistics/data/wind9.paa rename to addons/weather/UI/wind9.paa diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index caed3aa254..1427ff59b1 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -1,76 +1,44 @@ -//XEH_postInit.sqf -//#define DEBUG_MODE_FULL #include "script_component.hpp" + +// Randomization +GVAR(temperatureShift) = 3 - random 6; +GVAR(badWeatherShift) = (random 1) ^ 2 * 10; +GVAR(humidityShift) = (5 - random 10) / 100; + +GVAR(wind_period_start_time) = time; +GVAR(rain_period_start_time) = time; + "ACE_WIND_PARAMS" addPublicVariableEventHandler { GVAR(wind_period_start_time) = time; }; "ACE_RAIN_PARAMS" addPublicVariableEventHandler { GVAR(rain_period_start_time) = time; }; "ACE_MISC_PARAMS" addPublicVariableEventHandler { - if !(isServer) then { - 30 setLightnings (ACE_MISC_PARAMS select 0); - 30 setRainbow (ACE_MISC_PARAMS select 1); - 30 setFog (ACE_MISC_PARAMS select 2); - }; -}; -ACE_wind = wind; -if (true) exitwith {}; - -// Update Wind -simulWeatherSync; -_fnc_updateWind = { - ACE_wind = [] call FUNC(getWind); - setWind [ACE_wind select 0, ACE_wind select 1, true]; - 2 setGusts 0; - - // Set waves: 0 when no wind, 1 when wind >= 16 m/s - 1 setWaves (((vectorMagnitude ACE_wind) / 16.0) min 1.0); - - //systemChat format ["w:%1 %2,ACE_w:%1 %2, w", [wind select 0, wind select 1, ACE_wind select 0, ACE_wind select 1]]; -}; -[_fnc_updateWind, 1, []] call CBA_fnc_addPerFrameHandler; - - -// Update Rain -_fnc_updateRain = { - if(GVAR(enableRain)) then { - if(!isNil "ACE_RAIN_PARAMS" && {!isNil QGVAR(rain_period_start_time)}) then { - _oldStrength = ACE_RAIN_PARAMS select 0; - _rainStrength = ACE_RAIN_PARAMS select 1; - _transitionTime = ACE_RAIN_PARAMS select 2; - _periodPosition = (time - GVAR(rain_period_start_time)) min _transitionTime; - _periodPercent = (_periodPosition/_transitionTime) min 1; - - 0 setRain ((_periodPercent*(_rainStrength-_oldStrength))+_oldStrength); + if (!isServer) then { + if (GVAR(syncMisc)) then { + 30 setLightnings (ACE_MISC_PARAMS select 0); + 30 setRainbow (ACE_MISC_PARAMS select 1); + 30 setFog (ACE_MISC_PARAMS select 2); }; + GVAR(temperatureShift) = (ACE_MISC_PARAMS select 3); + GVAR(badWeatherShift) = (ACE_MISC_PARAMS select 4); + GVAR(humidityShift) = (ACE_MISC_PARAMS select 5); + call FUNC(updateTemperature); + call FUNC(updateHumidity); }; }; -[_fnc_updateRain, 2, []] call CBA_fnc_addPerFrameHandler; +["ACE3", QGVAR(WindInfoKey), localize "STR_ACE_Weather_WindInfoKey", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; -// Update Temperature -_fnc_updateTemperature = { - _time = daytime; - _month = date select 1; + // Statement + [] call FUNC(displayWindInfo); +}, +{false}, +[37, [true, false, false]], false, 0] call CBA_fnc_addKeybind; // (SHIFT + K) - // Temperature - _hourlyCoef = -0.5 * sin(360 * ((3 + (date select 3))/24 + (date select 4)/1440)); +simulWeatherSync; - GVAR(currentTemperature) = (GVAR(TempDay) select (_month - 1)) * (1 - _hourlyCoef) + (GVAR(TempNight) select (_month - 1)) * _hourlyCoef; - GVAR(currentTemperature) = GVAR(currentTemperature) + GVAR(currentTemperature) - 2 * humidity - 4 * overcast; - GVAR(currentTemperature) = round(GVAR(currentTemperature) * 10) / 10; - - // Humidity - GVAR(currentHumidity) = (GVAR(Humidity) select _month) / 100; - - if (rain > 0 && overcast > 0.7) then { - GVAR(currentHumidity) = 1; - } else { - _avgTemperature = ((GVAR(TempDay) select (_month - 1)) + (GVAR(TempNight) select (_month - 1))) / 2; - _pS1 = 6.112 * exp((17.62 * _avgTemperature) / (243.12 + _avgTemperature)); - _PS2 = 6.112 * exp((17.62 * GVAR(currentTemperature)) / (243.12 + GVAR(currentTemperature))); - GVAR(currentHumidity) = GVAR(currentHumidity) * _PS1 / _PS2; - }; - GVAR(currentHumidity) = 0 max GVAR(currentHumidity) min 1; - - // @todo: take altitude and humidity into account - GVAR(currentRelativeDensity) = (273.15 + 20) / (273.15 + GVAR(currentTemperature)); -}; -[_fnc_updateTemperature, 20, []] call CBA_fnc_addPerFrameHandler; +[FUNC(updateTemperature), 20, []] call CBA_fnc_addPerFrameHandler; +[FUNC(updateHumidity), 20, []] call CBA_fnc_addPerFrameHandler; +[FUNC(updateWind), 1, []] call CBA_fnc_addPerFrameHandler; +[FUNC(updateRain), 2, []] call CBA_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/weather/XEH_postServerInit.sqf b/addons/weather/XEH_postServerInit.sqf index cfe35e6009..5704212b79 100644 --- a/addons/weather/XEH_postServerInit.sqf +++ b/addons/weather/XEH_postServerInit.sqf @@ -1,3 +1,12 @@ #include "script_component.hpp" -[FUNC(serverController), 60] call cba_fnc_addPerFrameHandler; +// Rain +GVAR(rain_next_period) = -1; +GVAR(rain_period_count) = 0; +GVAR(current_rain) = 0; +GVAR(rain_current_range) = -1+(random 2); + +// Wind +call FUNC(initWind); + +[FUNC(serverController), GVAR(serverUpdateInterval)] call cba_fnc_addPerFrameHandler; diff --git a/addons/weather/XEH_preClientInit.sqf b/addons/weather/XEH_preClientInit.sqf deleted file mode 100644 index b979521cdd..0000000000 --- a/addons/weather/XEH_preClientInit.sqf +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" - - -FUNC(KEEPTIME) = { - if((count GVAR(WINDSPEED)) > 0) then { - private ["_wind", "_p", "_str"]; - _wind = ACE_wind; - - _p = _wind call CBA_fnc_vect2polar; - _str = format["Wind: %1 at %2m/s (%3MPH)\n%4", floor(_p select 1), floor(_p select 0), floor((_p select 0)*2.23693629), GVAR(WINDSPEED)]; - TRACE_2("Wind",_wind,_str); - }; -}; - -#ifdef DEBUG_MODE_FULL - [FUNC(KEEPTIME), 0.0, []] call CBA_fnc_addPerFrameHandler; -#endif diff --git a/addons/weather/XEH_preInit.sqf b/addons/weather/XEH_preInit.sqf index f542c522f3..0f49226432 100644 --- a/addons/weather/XEH_preInit.sqf +++ b/addons/weather/XEH_preInit.sqf @@ -2,44 +2,22 @@ #include "script_component.hpp" ADDON = false; -LOG(MSG_INIT); -PREP(serverController); +PREP(calculateAirDensity); +PREP(calculateBarometricPressure); +PREP(displayWindInfo); PREP(getMapData); PREP(getWind); +PREP(initModuleSettings); +PREP(initWind); +PREP(serverController); +PREP(updateAceWeather); +PREP(updateHumidity); +PREP(updateRain); +PREP(updateTemperature); +PREP(updateWind); - - -// Rain variables -GVAR(enableRain) = true; -GVAR(rain_next_period) = -1; -GVAR(rain_period_count) = 0; -GVAR(rain_initial_rain) = 0; -if(overcast >= 0.7) then { - GVAR(rain_initial_rain) = (random ((overcast-0.7)/0.3)); -}; -GVAR(current_rain) = GVAR(rain_initial_rain); -GVAR(rain_current_range) = -1+(random 2); -GVAR(overcast_multiplier) = 1; - -// Wind Variables -ACE_wind = [0, 0, 0]; -GVAR(wind_initial_dir) = (random 360); -GVAR(wind_initial_speed) = (overcast*5)+(random (overcast*5)) max 1; -GVAR(wind_mean_speed) = GVAR(wind_initial_speed); -GVAR(wind_mean_dir) = GVAR(wind_initial_dir); -GVAR(wind_current_speed) = GVAR(wind_initial_speed); -GVAR(wind_current_dir) = GVAR(wind_initial_dir); -GVAR(wind_current_range_speed) = -1+(random 2); -GVAR(wind_current_range_dir) = -1+(random 2); -GVAR(wind_next_period) = -1; //ceil((2+random(5))/(GVAR(overcast_multiplier)/10)); -GVAR(wind_next_major_period) = -1; -GVAR(wind_period_count) = 0; -GVAR(wind_major_period_count) = 0; -GVAR(wind_total_time) = 0; -GVAR(wind_period_start_time) = time; - -// Init weather variables, in case they are needed before postInit +// Make sure this data is read before client/server postInit call FUNC(getMapData); ADDON = true; diff --git a/addons/weather/config.cpp b/addons/weather/config.cpp index 3f2bb4e15a..39cf223518 100644 --- a/addons/weather/config.cpp +++ b/addons/weather/config.cpp @@ -3,14 +3,16 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {};// "ACE_Kestrel4500" }; + weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; - author[] = {"q1184", "Rocko", "esteldunedain"}; + author[] = {"q1184", "Rocko", "esteldunedain","Ruthberg"}; VERSION_CONFIG; }; }; #include "CfgEventhandlers.hpp" - #include "CfgWorlds.hpp" +#include "RscTitles.hpp" +#include "CfgVehicles.hpp" +#include "ACE_Settings.hpp" \ No newline at end of file diff --git a/addons/weather/functions/fnc_calculateAirDensity.sqf b/addons/weather/functions/fnc_calculateAirDensity.sqf new file mode 100644 index 0000000000..298049e51d --- /dev/null +++ b/addons/weather/functions/fnc_calculateAirDensity.sqf @@ -0,0 +1,36 @@ +/* + * Author: Ruthberg + * + * Calculates the air density + * + * Arguments: + * 0: temperature - degrees celcius + * 1: pressure - hPa + * 2: relativeHumidity - value between 0.0 and 1.0 + * + * Return Value: + * 0: density of air - kg * m^(-3) + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_temperature", "_pressure", "_relativeHumidity"]; +_temperature = _this select 0; // in C +_pressure = _this select 1; // in hPa +_relativeHumidity = _this select 2; // as ratio 0-1 + +_pressure = _pressure * 100; + +if (_relativeHumidity > 0) then { + private ["_pSat", "_vaporPressure", "_partialPressure"]; + // Saturation vapor pressure calculated according to: http://wahiduddin.net/calc/density_algorithms.htm + _pSat = 6.1078 * 10 ^ ((7.5 * _temperature) / (_temperature + 237.3)); + _vaporPressure = _relativeHumidity * _pSat; + _partialPressure = _pressure - _vaporPressure; + + (_partialPressure * DRY_AIR_MOLAR_MASS + _vaporPressure * WATER_VAPOR_MOLAR_MASS) / (UNIVERSAL_GAS_CONSTANT * KELVIN(_temperature)) +} else { + _pressure / (SPECIFIC_GAS_CONSTANT_DRY_AIR * KELVIN(_temperature)) +}; diff --git a/addons/weather/functions/fnc_calculateBarometricPressure.sqf b/addons/weather/functions/fnc_calculateBarometricPressure.sqf new file mode 100644 index 0000000000..c65d343c93 --- /dev/null +++ b/addons/weather/functions/fnc_calculateBarometricPressure.sqf @@ -0,0 +1,20 @@ +/* + * Author: Ruthberg + * + * Calculates the barometric pressure based on altitude and weather + * + * Arguments: + * 0: altitude - meters + * + * Return Value: + * 0: barometric pressure - hPA + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_altitude"]; +_altitude = _this; + +(1013.25 * exp(-(GVAR(Altitude) + _altitude) / 7990) - 10 * overcast) diff --git a/addons/weather/functions/fnc_displayWindInfo.sqf b/addons/weather/functions/fnc_displayWindInfo.sqf new file mode 100644 index 0000000000..7996503719 --- /dev/null +++ b/addons/weather/functions/fnc_displayWindInfo.sqf @@ -0,0 +1,81 @@ +/* + * Author: Ruthberg + * + * Displays a wind info (colored arrow) in the top left corner of the screen + * + * Argument: + * None + * + * Return value: + * None + */ +#include "script_component.hpp" + +#define __dsp (uiNamespace getVariable "RscWindIntuitive") +#define __ctrl (__dsp displayCtrl 132948) + +if (GVAR(WindInfo)) exitWith { + GVAR(WindInfo) = false; + 0 cutText ["", "PLAIN"]; + true +}; +if (underwater ACE_player) exitWith { false }; +if (vehicle ACE_player != ACE_player) exitWith { false }; + +2 cutText ["", "PLAIN"]; +EGVAR(advanced_ballistics,Protractor) = false; +1 cutText ["", "PLAIN"]; +GVAR(WindInfo) = true; + +[{ + private ["_windSpeed", "_windDir", "_playerDir", "_windIndex", "_windColor"]; + + if !(GVAR(WindInfo) && !(underwater ACE_player) && vehicle ACE_player == ACE_player) exitWith { + GVAR(WindInfo) = false; + 0 cutText ["", "PLAIN"]; + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + _windIndex = 12; + _windColor = [1, 1, 1, 1]; + + // Toogle behaviour depending on ace_advanced_ballistics being used or not + // @todo, check ACE_AB is actually enabled + _windSpeed = if (isClass (configFile >> "CfgPatches" >> "ACE_Advanced_Ballistics")) then { + (eyePos ACE_player) call EFUNC(advanced_ballistics,calculateWindSpeed); + } else { + vectorMagnitude ACE_wind; + }; + + if (_windSpeed > 0.2) then { + _playerDir = getDir ACE_player; + _windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); + _windIndex = round(((_playerDir - _windDir + 360) % 360) / 30); + _windIndex = _windIndex % 12; + }; + + // Color Codes from https://en.wikipedia.org/wiki/Beaufort_scale#Modern_scale + if (_windSpeed > 0.3) then { _windColor = [0.796, 1, 1, 1]; }; + if (_windSpeed > 1.5) then { _windColor = [0.596, 0.996, 0.796, 1]; }; + if (_windSpeed > 3.3) then { _windColor = [0.596, 0.996, 0.596, 1]; }; + if (_windSpeed > 5.4) then { _windColor = [0.6, 0.996, 0.4, 1]; }; + if (_windSpeed > 7.9) then { _windColor = [0.6, 0.996, 0.047, 1]; }; + if (_windSpeed > 10.7) then { _windColor = [0.8, 0.996, 0.059, 1]; }; + if (_windSpeed > 13.8) then { _windColor = [1, 0.996, 0.067, 1]; }; + if (_windSpeed > 17.1) then { _windColor = [1, 0.796, 0.051, 1]; }; + if (_windSpeed > 20.7) then { _windColor = [1, 0.596, 0.039, 1]; }; + if (_windSpeed > 24.4) then { _windColor = [1, 0.404, 0.031, 1]; }; + if (_windSpeed > 28.4) then { _windColor = [1, 0.22, 0.027, 1]; }; + if (_windSpeed > 32.6) then { _windColor = [1, 0.078, 0.027, 1]; }; + + 0 cutRsc ["RscWindIntuitive", "PLAIN", 1, false]; + + __ctrl ctrlSetScale 0.75; + __ctrl ctrlCommit 0; + + __ctrl ctrlSetText format[QUOTE(PATHTOF(UI\wind%1.paa)), _windIndex]; + __ctrl ctrlSetTextColor _windColor; + +}, 0.5, []] call CBA_fnc_addPerFrameHandler; + +true diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index ebd37053e3..f2527d1157 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -11,6 +11,56 @@ */ #include "script_component.hpp" +GVAR(Altitude) = getNumber(configFile >> "CfgWorlds" >> worldName >> "elevationOffset"); +GVAR(Latitude) = getNumber(configFile >> "CfgWorlds" >> worldName >> "latitude"); + +if (worldName in ["Chernarus", "Bootcamp_ACR", "Woodland_ACR", "utes"]) then { GVAR(Latitude) = 50; GVAR(Altitude) = 0; }; +if (worldName in ["Altis", "Stratis"]) then { GVAR(Latitude) = 40; GVAR(Altitude) = 0; }; +if (worldName in ["Takistan", "Zargabad", "Mountains_ACR"]) then { GVAR(Latitude) = 35; GVAR(Altitude) = 2000; }; +if (worldName in ["Shapur_BAF", "ProvingGrounds_PMC"]) then { GVAR(Latitude) = 35; GVAR(Altitude) = 100; }; +if (worldName in ["fallujah"]) then { GVAR(Latitude) = 33; GVAR(Altitude) = 0; }; +if (worldName in ["fata", "Abbottabad"]) then { GVAR(Latitude) = 30; GVAR(Altitude) = 1000; }; +if (worldName in ["sfp_wamako"]) then { GVAR(Latitude) = 14; GVAR(Altitude) = 0; }; +if (worldName in ["sfp_sturko"]) then { GVAR(Latitude) = 56; GVAR(Altitude) = 0; }; +if (worldName in ["Bornholm"]) then { GVAR(Latitude) = 55; GVAR(Altitude) = 0; }; +if (worldName in ["Imrali"]) then { GVAR(Latitude) = 40; GVAR(Altitude) = 0; }; +if (worldName in ["Caribou"]) then { GVAR(Latitude) = 68; GVAR(Altitude) = 0; }; +if (worldName in ["Namalsk"]) then { GVAR(Latitude) = 65; GVAR(Altitude) = 0; }; +if (worldName in ["MCN_Aliabad"]) then { GVAR(Latitude) = 36; GVAR(Altitude) = 0; }; +if (worldName in ["Clafghan"]) then { GVAR(Latitude) = 34; GVAR(Altitude) = 640; }; +if (worldName in ["Sangin", "hellskitchen"]) then { GVAR(Latitude) = 32; GVAR(Altitude) = 0; }; +if (worldName in ["Sara"]) then { GVAR(Latitude) = 40; GVAR(Altitude) = 0; }; +if (worldName in ["reshmaan"]) then { GVAR(Latitude) = 35; GVAR(Altitude) = 2000; }; +if (worldName in ["Thirsk"]) then { GVAR(Latitude) = 65; GVAR(Altitude) = 0; }; +if (worldName in ["lingor"]) then { GVAR(Latitude) = -4; GVAR(Altitude) = 0; }; +if (worldName in ["Panthera3"]) then { GVAR(Latitude) = 46; GVAR(Altitude) = 0; }; + +// Assume default wind values +// Source: https://weatherspark.com/averages/32194/Lemnos-Limnos-North-Aegean-Islands-Greece +GVAR(WindSpeedMax) = [[8.8, 5.5], [8.8, 5], [8.6, 4.8], [7.6, 3.4], [7.0, 3.0], [7.1, 3.0], [7.5, 3.1], [8.0, 3.2], [7.6, 3.5], [7.8, 4.6], [7.9, 5.0], [8.2, 5.5]]; +GVAR(WindSpeedMean) = [4.8, 4.9, 4.6, 4.1, 3.5, 3.5, 4.3, 4.4, 4.1, 4.5, 4.5, 5.0]; +GVAR(WindSpeedMin) = [[0.2, 5.0], [0.1, 5.0], [0.2, 4.3], [0.0, 3.0], [0.0, 2.1], [0.0, 2.0], [0.1, 3.1], [0.3, 3.1], [0.0, 3.6], [0.0, 4.2], [0.1, 5.0], [0.2, 5.5]]; +GVAR(WindDirectionProbabilities) = [[0.06, 0.32, 0.05, 0.04, 0.15, 0.06, 0.02, 0.02], // January + [0.08, 0.32, 0.04, 0.04, 0.18, 0.06, 0.02, 0.02], // February + [0.09, 0.30, 0.04, 0.04, 0.20, 0.06, 0.02, 0.03], // March + [0.10, 0.25, 0.03, 0.04, 0.22, 0.06, 0.02, 0.04], // April + [0.18, 0.25, 0.03, 0.04, 0.18, 0.04, 0.01, 0.05], // May + [0.25, 0.25, 0.03, 0.03, 0.15, 0.03, 0.00, 0.08], // June + [0.32, 0.30, 0.02, 0.02, 0.10, 0.01, 0.00, 0.09], // July + [0.28, 0.35, 0.02, 0.01, 0.08, 0.01, 0.00, 0.08], // August + [0.20, 0.37, 0.03, 0.01, 0.11, 0.01, 0.01, 0.05], // September + [0.10, 0.39, 0.04, 0.02, 0.15, 0.02, 0.01, 0.03], // October + [0.08, 0.38, 0.06, 0.04, 0.19, 0.03, 0.02, 0.02], // November + [0.06, 0.37, 0.05, 0.03, 0.18, 0.04, 0.02, 0.02]];// December + +// Check if the wind data is defined in the map config +if (isArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMean")) then { + GVAR(WindSpeedMin) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMin"); + GVAR(WindSpeedMean) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMean"); + GVAR(WindSpeedMax) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMax"); + GVAR(WindDirectionProbabilities) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindDirectionProbabilities"); +}; + // Check if the weather data is defined in the map config if (isArray (configFile >> "CfgWorlds" >> worldName >> "ACE_TempDay")) exitWith { GVAR(TempDay) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_TempDay"); @@ -86,3 +136,6 @@ if (worldName in ["Imrali"]) exitWith { GVAR(TempDay) = [1, 3, 9, 14, 19, 23, 25, 24, 21, 13, 7, 2]; GVAR(TempNight) = [-4, -3, 0, 4, 9, 12, 14, 14, 10, 6, 2, -2]; GVAR(Humidity) = [82, 80, 78, 70, 71, 72, 70, 73, 78, 80, 83, 82]; + +GVAR(currentTemperature) = 20; +GVAR(currentHumidity) = 0.5; \ No newline at end of file diff --git a/addons/weather/functions/fnc_getWind.sqf b/addons/weather/functions/fnc_getWind.sqf index e25d53309d..a23394e992 100644 --- a/addons/weather/functions/fnc_getWind.sqf +++ b/addons/weather/functions/fnc_getWind.sqf @@ -1,22 +1,34 @@ +/* + * Author: ACE2 Team, Ruthberg + * + * Calculate current wind locally from the data broadcasted by the server + * + * Argument: + * None + * + * Return value: + * Wind + */ #include "script_component.hpp" -_return = [0,0,0]; -if(!isNil "ACE_WIND_PARAMS") then { - _dir = ACE_WIND_PARAMS select 0; - _dirRange = (ACE_WIND_PARAMS select 1) - (ACE_WIND_PARAMS select 0); - _spd = ACE_WIND_PARAMS select 2; - _spdRange = (ACE_WIND_PARAMS select 3) - (ACE_WIND_PARAMS select 2); - _period = ACE_WIND_PARAMS select 4; +if (isNil "ACE_WIND_PARAMS") exitWith { [0, 0, 0] }; - _periodPosition = (time - GVAR(wind_period_start_time)) min _period; - _periodPercent = _periodPosition/_period; - _spdInc = _spdRange * _periodPercent; - _dirInc = _dirRange * _periodPercent; - _spd = (_spd + _spdInc); - _dir = _dir + _dirInc; - if (_dir > 360) then {_dir = _dir - 360}; - if (_dir < 0) then {_dir = _dir + 360}; +EXPLODE_5_PVT(ACE_WIND_PARAMS,_dir,_dirChange,_spd,_spdChange,_period); - _return = [_spd * sin _dir, _spd * cos _dir, 0]; -}; -_return; \ No newline at end of file +private ["_periodPercent", "_periodPosition"]; +_periodPosition = (time - GVAR(wind_period_start_time)) min _period; +_periodPercent = _periodPosition / _period; + +_spd = _spd + _spdChange * _periodPercent; +_dir = _dir + _dirChange * _periodPercent; + +_dir = (360 + _dir) % 360; + +TRACE_1("PeriodStartTime",Round(GVAR(wind_period_start_time))); +TRACE_2("Dir: Current/Change",Round(_dir),Round(_dirChange)); +TRACE_2("Spd: Current/Change",Round(_spd * 10) / 10,Round(_spdChange * 10) / 10); +TRACE_3("Period/Position/Percent",Round(_period),Round(_periodPosition),Round(_periodPercent * 100) / 100); + +// TODO: Add some deterministic noise + +[-_spd * sin(_dir), -_spd * cos(_dir), 0] diff --git a/addons/weather/functions/fnc_initModuleSettings.sqf b/addons/weather/functions/fnc_initModuleSettings.sqf new file mode 100644 index 0000000000..eb0eaafc31 --- /dev/null +++ b/addons/weather/functions/fnc_initModuleSettings.sqf @@ -0,0 +1,39 @@ +/* + * Author: Glowbal, Ruthberg + * Module for adjusting the wind deflection settings + * + * Arguments: + * 0: The module logic + * 1: units + * 2: activated + * + * Return Value: + * None + * + * Public: No + */ + +#include "script_component.hpp" + +private ["_logic", "_units", "_activated"]; +_logic = _this select 0; +_units = _this select 1; +_activated = _this select 2; + +if !(_activated) exitWith {}; + +// Control server side weather propagation +[_logic, QGVAR(enableServerController), "enableServerController"] call EFUNC(common,readSettingFromModule); + +// Overrides the default weather (editor, mission settings) with ACE weather (map based) +[_logic, QGVAR(useACEWeather), "useACEWeather"] call EFUNC(common,readSettingFromModule); + +// Control client side weather effects +[_logic, QGVAR(syncRain), "syncRain"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(syncWind), "syncWind"] call EFUNC(common,readSettingFromModule); // Wind, Gusts, Waves +[_logic, QGVAR(syncMisc), "syncMisc"] call EFUNC(common,readSettingFromModule); // Lightnings, Rainbow, Fog + +// Server weather update interval +[_logic, QGVAR(serverUpdateInterval), "serverUpdateInterval"] call EFUNC(common,readSettingFromModule); + +GVAR(serverUpdateInterval) = 1 max GVAR(serverUpdateInterval) min 600; \ No newline at end of file diff --git a/addons/weather/functions/fnc_initWind.sqf b/addons/weather/functions/fnc_initWind.sqf new file mode 100644 index 0000000000..10b22efa2a --- /dev/null +++ b/addons/weather/functions/fnc_initWind.sqf @@ -0,0 +1,58 @@ +/* + * Author: Ruthberg + * + * Inits the wind variables on mission start + * + * Argument: + * None + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_sum", "_rand", "_csum", "_index", "_month", "_windDirectionProbabilities"]; +_month = date select 1; +_windDirectionProbabilities = GVAR(WindDirectionProbabilities) select (_month - 1); + +ACE_wind = [0, 0, 0]; + +GVAR(wind_direction_reference) = random 360; +_sum = 0; +for "_i" from 0 to 7 do { + _sum = _sum + (_windDirectionProbabilities select _i); +}; +_rand = random _sum; +_csum = [0, 0, 0, 0, 0, 0, 0, 0]; +for "_i" from 0 to 7 do { + for "_j" from 0 to _i do { + _csum set [_i, (_csum select _i) + (_windDirectionProbabilities select _j)]; + }; +}; +_index = 0; +for "_i" from 0 to 7 do { + if (_rand > (_csum select _i)) then { + _index = _index + 1; + }; +}; +GVAR(wind_direction_reference) = 45 * _index; + +GVAR(wind_mean_dir) = GVAR(wind_direction_reference); +GVAR(wind_direction_reference) = GVAR(wind_direction_reference) + (random 22.5) - (random 22.5); +GVAR(wind_direction_reference) = (360 + GVAR(wind_direction_reference)) % 360; + +GVAR(min_wind_speed) = GVAR(WindSpeedMin) select (_month - 1); +GVAR(min_wind_speed) = (GVAR(min_wind_speed) select 0) + (random (GVAR(min_wind_speed) select 1)) - (random (GVAR(min_wind_speed) select 1)); +GVAR(min_wind_speed) = 0 max GVAR(min_wind_speed); +GVAR(mean_wind_speed) = GVAR(WindSpeedMean) select (_month - 1); +GVAR(max_wind_speed) = GVAR(WindSpeedMax) select (_month - 1); +GVAR(max_wind_speed) = (GVAR(max_wind_speed) select 0) + (random (GVAR(max_wind_speed) select 1)) - (random (GVAR(max_wind_speed) select 1)); +GVAR(max_wind_speed) = 0 max GVAR(max_wind_speed); + +GVAR(current_wind_direction) = GVAR(wind_direction_reference); +GVAR(current_wind_speed) = GVAR(min_wind_speed) + (GVAR(max_wind_speed) - GVAR(min_wind_speed)) * (random 1); + +GVAR(wind_period_count) = 0; +GVAR(wind_next_period) = -1; + +GVAR(wind_speed_debug_output) = []; diff --git a/addons/weather/functions/fnc_serverController.sqf b/addons/weather/functions/fnc_serverController.sqf index 7646475e81..2cbdeb581e 100644 --- a/addons/weather/functions/fnc_serverController.sqf +++ b/addons/weather/functions/fnc_serverController.sqf @@ -1,87 +1,33 @@ +/* + * Author: Ruthberg + * + * Gather weather parameters and broadcast them to the clients + * + * Argument: + * None + * + * Return value: + * None + */ #include "script_component.hpp" -// Rain simulation -if(GVAR(rain_period_count) > GVAR(rain_next_period)) then { +if (!GVAR(enableServerController)) exitWith {}; - if(overcast >= 0.7) then { - _lastRain = GVAR(current_rain); - _rainOverCast = ((overcast-0.7)/0.3); - GVAR(rain_next_period) = ceil((1+random(10))/GVAR(overcast_multiplier)); - - GVAR(current_rain) = (GVAR(current_rain)+(((GVAR(current_rain)))*((_rainOverCast*(GVAR(overcast_multiplier)))/8)*GVAR(rain_current_range))); - GVAR(current_rain) = (GVAR(current_rain) max 0.01) min 1; - - _transitionTime = (_rainOverCast*5)+(random (_rainOverCast*20))+1; - GVAR(rain_current_range) = -1+(random 2); - - ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime]; - TRACE_4("",_lastRain,_rainOverCast,_transitionTime, overcast); - } else { - GVAR(current_rain) = 0; - _lastRain = GVAR(current_rain); - _rainOverCast = 1; - _transitionTime = (_rainOverCast*5)+(random (_rainOverCast*20))+1; - - ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime]; - TRACE_4("",_lastRain,_rainOverCast,_transitionTime, overcast); +if (GVAR(useACEWeather)) then { + // Use location based real world weather data + [] call FUNC(updateAceWeather); +} else { + // Simply replicate the server weather on the clients + if (GVAR(syncRain)) then { + ACE_RAIN_PARAMS = [rain, rain, GVAR(serverUpdateInterval)]; + publicVariable "ACE_RAIN_PARAMS"; + }; + if (GVAR(syncWind)) then { + ACE_WIND_PARAMS = [wind call CBA_fnc_vectDir, 0, vectorMagnitude wind, 0, GVAR(serverUpdateInterval)]; + publicVariable "ACE_WIND_PARAMS"; + }; + if (GVAR(syncMisc)) then { + ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)]; + publicVariable "ACE_MISC_PARAMS"; }; - - GVAR(rain_period_start_time) = time; - publicVariable "ACE_RAIN_PARAMS"; }; - -// Wind simulation -if(GVAR(wind_period_count) > GVAR(wind_next_period)) then { - _startDir = GVAR(wind_current_dir); - _startSpeed = GVAR(wind_current_speed); - GVAR(wind_current_dir) = (GVAR(wind_current_dir)+(((GVAR(wind_current_dir)))*((overcast*(GVAR(overcast_multiplier)))/8)*GVAR(wind_current_range_dir))); - - GVAR(wind_current_speed) = (GVAR(wind_current_speed)+(((GVAR(wind_current_speed)))*(overcast*(GVAR(overcast_multiplier))/12)*GVAR(wind_current_range_speed))); - GVAR(wind_current_speed) = GVAR(wind_current_speed) max 0.01; - - if(GVAR(wind_current_dir) < 0) then { - GVAR(wind_current_dir) = GVAR(wind_current_dir)+360; - }; - GVAR(wind_current_dir) = GVAR(wind_current_dir) % 360; - - GVAR(wind_current_range_speed) = (-1)+(random 2); - - GVAR(wind_current_range_dir) = (-1)+(random 2); - - GVAR(wind_next_period) = ceil((2+random(5))/(GVAR(overcast_multiplier))); - GVAR(wind_period_count) = 0; - - _gustCount = floor(random(GVAR(wind_next_period)*(overcast*((GVAR(overcast_multiplier)^3))))); - - _time = GVAR(wind_next_period)*60; - _gusts = []; - if(_gustCount > 0) then { - _maxInterval = _time/_gustCount; - for "_i" from 0 to _gustCount-1 do { - _gustTime = (random (3 min _maxInterval)); - _timeTillGust = (_maxInterval*_i)+(random (_maxInterval - _gustTime)); - _gustSpeed = (random 1); - _gustDir = (GVAR(wind_current_dir)+(GVAR(wind_current_dir)*(-1+(random 2))))*(overcast*(GVAR(overcast_multiplier))); - _gusts set[(count _gusts), [_timeTillGust, _gustTime, _gustSpeed, _gustDir]]; - }; - }; - - GVAR(wind_total_time) = GVAR(wind_total_time) + GVAR(wind_next_period); - - ACE_WIND_PARAMS = [_startDir, - GVAR(wind_current_dir), - _startSpeed, - GVAR(wind_current_speed), - _time, - _gusts]; - - GVAR(wind_period_start_time) = time; - publicVariable "ACE_WIND_PARAMS"; -}; - -// Sync misc. parameters -ACE_MISC_PARAMS = [lightnings, rainbow, fogParams]; -publicVariable "ACE_MISC_PARAMS"; - -GVAR(rain_period_count) = GVAR(rain_period_count) + 1; -GVAR(wind_period_count) = GVAR(wind_period_count) + 1; \ No newline at end of file diff --git a/addons/weather/functions/fnc_updateAceWeather.sqf b/addons/weather/functions/fnc_updateAceWeather.sqf new file mode 100644 index 0000000000..8ed0bb0d10 --- /dev/null +++ b/addons/weather/functions/fnc_updateAceWeather.sqf @@ -0,0 +1,105 @@ +/* + * Author: ACE2 Team, esteldunedain, ruthberg + * + * Updates the wind and rain evolution on the server. Broadcasts the current and next values to the clients + * + * Argument: + * None + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_overcastMultiplier", "_lastRain", "_rainOverCast", "_transitionTime", "_windDirectionVariance", "_windSpeed", "_windSpeedChange", "_windMaxDiff", "_windMinDiff", "_windDirection", "_windDirectionChange", "_ratioMin", "_ratioMax"]; + +_overcastMultiplier = 1 max (2* overcast) min 2; // 0 (@ overcast 0), 2 (@ overcast 1) + +// Rain simulation +if (GVAR(syncRain) && GVAR(rain_period_count) > GVAR(rain_next_period)) then { + + GVAR(rain_next_period) = ceil((1 + (random 10)) / _overcastMultiplier); + GVAR(rain_period_count) = 0; + + _lastRain = GVAR(current_rain); + + if (overcast >= 0.7) then { + _rainOverCast = (overcast - 0.7) / 0.3; + if (GVAR(current_rain) == 0) then { + // Initialize rain with a random strength depending on the current overcast value + GVAR(current_rain) = 0.25 + (random 0.25) + (random 0.5) * _rainOverCast; + }; + + GVAR(current_rain) = GVAR(current_rain) + GVAR(current_rain) * ((_rainOverCast * _overcastMultiplier) / 8) * GVAR(rain_current_range); + GVAR(current_rain) = 0.01 max GVAR(current_rain) min 1; + + GVAR(rain_current_range) = -1 + (random 2); + } else { + _rainOverCast = 1; + + GVAR(current_rain) = 0; + }; + + _transitionTime = 1 + (_rainOverCast * 5) + (random (_rainOverCast * 20)); + + ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime]; + TRACE_4("",_lastRain,_rainOverCast,_transitionTime,overcast); + + GVAR(rain_period_start_time) = time; + publicVariable "ACE_RAIN_PARAMS"; +}; + +// Wind simulation +if (GVAR(syncWind) && GVAR(wind_period_count) > GVAR(wind_next_period)) then { + + GVAR(wind_next_period) = ceil((2 + (random 5)) / _overcastMultiplier); + GVAR(wind_period_count) = 0; + + _windDirectionVariance = (90 - (random 180)) * (overcast ^ 2); + _windDirection = (360 + GVAR(wind_direction_reference) + _windDirectionVariance) % 360; + _windDirectionChange = _windDirection - GVAR(current_wind_direction); + if (_windDirectionChange > 180) then { + _windDirectionChange = _windDirectionChange - 360; + }; + if (_windDirectionChange < -180) then { + _windDirectionChange = 360 + _windDirectionChange; + }; + + _windMaxDiff = GVAR(mean_wind_speed) - GVAR(max_wind_speed); + _windMinDiff = GVAR(min_wind_speed) - GVAR(mean_wind_speed); + + _ratioMax = (random 1) ^ 2; + _ratioMin = (random 1) ^ 2; + + _windSpeed = GVAR(current_wind_speed); + _windSpeedChange = 0; + if ((random 1) < (0.3 max overcast)) then { + _windSpeed = GVAR(mean_wind_speed) + _windMaxDiff * _ratioMax + _windMinDiff * _ratioMin; + _windSpeedChange = _windSpeed - GVAR(current_wind_speed); + }; + + _transitionTime = GVAR(wind_next_period) * GVAR(serverUpdateInterval); + + TRACE_5("dirCur/dirNew/spdCur/spdNew/period",GVAR(current_wind_direction),_windDirection,GVAR(current_wind_speed),_windSpeed,_transitionTime); + + ACE_WIND_PARAMS = [GVAR(current_wind_direction), + _windDirectionChange, + GVAR(current_wind_speed), + _windSpeedChange, + _transitionTime]; + + GVAR(current_wind_direction) = _windDirection; + GVAR(current_wind_speed) = _windSpeed; + + GVAR(wind_period_start_time) = time; + publicVariable "ACE_WIND_PARAMS"; +}; + + +if (GVAR(syncMisc)) then { + ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)]; + publicVariable "ACE_MISC_PARAMS"; +}; + +GVAR(rain_period_count) = GVAR(rain_period_count) + 1; +GVAR(wind_period_count) = GVAR(wind_period_count) + 1; \ No newline at end of file diff --git a/addons/weather/functions/fnc_updateHumidity.sqf b/addons/weather/functions/fnc_updateHumidity.sqf new file mode 100644 index 0000000000..dce031b3f3 --- /dev/null +++ b/addons/weather/functions/fnc_updateHumidity.sqf @@ -0,0 +1,31 @@ +/* + * Author: ACE2 Team + * + * Updates GVAR(currentHumidity) based on + * + * Argument: + * Nothing + * + * Return value: + * Nothing + */ +#include "script_component.hpp" + +private ["_month", "_avgTemperature", "_pS1", "_pS2"]; +_month = date select 1; + +GVAR(currentHumidity) = (GVAR(Humidity) select _month) / 100; + +if (rain > 0 && overcast > 0.7) then { + GVAR(currentHumidity) = 1; +} else { + _avgTemperature = ((GVAR(TempDay) select (_month - 1)) + (GVAR(TempNight) select (_month - 1))) / 2; + _pS1 = 6.112 * exp((17.62 * _avgTemperature) / (243.12 + _avgTemperature)); + _PS2 = 6.112 * exp((17.62 * GVAR(currentTemperature)) / (243.12 + GVAR(currentTemperature))); + GVAR(currentHumidity) = GVAR(currentHumidity) * _PS1 / _PS2; + GVAR(currentHumidity) = GVAR(currentHumidity) + GVAR(humidityShift); + + TRACE_1("humidityShift",GVAR(humidityShift)); +}; + +GVAR(currentHumidity) = 0 max GVAR(currentHumidity) min 1; diff --git a/addons/weather/functions/fnc_updateRain.sqf b/addons/weather/functions/fnc_updateRain.sqf new file mode 100644 index 0000000000..d240093443 --- /dev/null +++ b/addons/weather/functions/fnc_updateRain.sqf @@ -0,0 +1,25 @@ +/* + * Author: ACE2 Team, Ruthberg + * + * Updates rain based on ACE_RAIN_PARAMS + * + * Argument: + * Nothing + * + * Return value: + * Nothing + */ +#include "script_component.hpp" + +if (!GVAR(syncRain)) exitWith {}; + +if (!isNil "ACE_RAIN_PARAMS") then { + + EXPLODE_3_PVT(ACE_RAIN_PARAMS,_oldRain,_newRain,_period); + + private ["_periodPosition", "_periodPercent"]; + _periodPosition = (time - GVAR(rain_period_start_time)) min _period; + _periodPercent = (_periodPosition / _period) min 1; + + 0 setRain (_oldRain + (_newRain - _oldRain) * _periodPercent); +}; diff --git a/addons/weather/functions/fnc_updateTemperature.sqf b/addons/weather/functions/fnc_updateTemperature.sqf new file mode 100644 index 0000000000..870d00333c --- /dev/null +++ b/addons/weather/functions/fnc_updateTemperature.sqf @@ -0,0 +1,24 @@ +/* + * Author: ACE2 Team + * + * Updates GVAR(currentTemperature) based on the map data + * + * Argument: + * Nothing + * + * Return value: + * Nothing + */ +#include "script_component.hpp" + +private ["_time", "_month", "_hourlyCoef"]; +_time = daytime; +_month = date select 1; + +_hourlyCoef = -0.5 * sin(360 * ((3 + (date select 3))/24 + (date select 4)/1440)); + +GVAR(currentTemperature) = (GVAR(TempDay) select (_month - 1)) * (1 - _hourlyCoef) + (GVAR(TempNight) select (_month - 1)) * _hourlyCoef; +GVAR(currentTemperature) = GVAR(currentTemperature) + GVAR(temperatureShift) - GVAR(badWeatherShift) * overcast; +GVAR(currentTemperature) = round(GVAR(currentTemperature) * 10) / 10; + +TRACE_2("temperatureShift/badWeatherShift",GVAR(temperatureShift),GVAR(badWeatherShift)); diff --git a/addons/weather/functions/fnc_updateWind.sqf b/addons/weather/functions/fnc_updateWind.sqf new file mode 100644 index 0000000000..06bb57d093 --- /dev/null +++ b/addons/weather/functions/fnc_updateWind.sqf @@ -0,0 +1,23 @@ +/* + * Author: ACE2 Team, Ruthberg + * + * Updates wind, gusts and waves based on ACE_wind + * + * Argument: + * Nothing + * + * Return value: + * Nothing + */ +#include "script_component.hpp" + +if (!GVAR(syncWind)) exitWith { ACE_wind = wind }; + +ACE_wind = [] call FUNC(getWind); +setWind [ACE_wind select 0, ACE_wind select 1, true]; +2 setGusts 0; + +// Set waves: 0 when no wind, 1 when wind >= 16 m/s +1 setWaves (((vectorMagnitude ACE_wind) / 16.0) min 1.0); + +TRACE_3("Wind/ACE_wind/Deviation(m/s)",wind,ACE_wind,Round((vectorMagnitude (ACE_wind vectorDiff wind)) * 1000) / 1000); diff --git a/addons/weather/script_component.hpp b/addons/weather/script_component.hpp index a21d8245fd..edc1ac64d0 100644 --- a/addons/weather/script_component.hpp +++ b/addons/weather/script_component.hpp @@ -10,3 +10,11 @@ #endif #include "\z\ace\addons\main\script_macros.hpp" + +#define ABSOLUTE_ZERO_IN_CELSIUS -273.15 +#define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS) +#define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS) +#define UNIVERSAL_GAS_CONSTANT 8.314 +#define WATER_VAPOR_MOLAR_MASS 0.018016 +#define DRY_AIR_MOLAR_MASS 0.028964 +#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058 diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml new file mode 100644 index 0000000000..4e0723bb7a --- /dev/null +++ b/addons/weather/stringtable.xml @@ -0,0 +1,14 @@ + + + + + Show Wind Info + Pokaż inf. o wietrze + Показать информацию о ветре + Afficher information sur le vent + Mostrar información del viento + Mostra informazioni sul vento + Zeige Windinformationen + + + diff --git a/addons/wep_javelin/$PBOPREFIX$ b/addons/wep_javelin/$PBOPREFIX$ deleted file mode 100644 index 311c0dad43..0000000000 --- a/addons/wep_javelin/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -z\ace\addons\wep_javelin \ No newline at end of file diff --git a/addons/wep_javelin/CfgEventhandlers.hpp b/addons/wep_javelin/CfgEventhandlers.hpp deleted file mode 100644 index a61ea9c746..0000000000 --- a/addons/wep_javelin/CfgEventhandlers.hpp +++ /dev/null @@ -1,18 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); - clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit)); - }; -}; - -class Extended_FiredBIS_EventHandlers { - class CAManBase { - ADDON = QUOTE(_this call FUNC(fired)); - }; -}; \ No newline at end of file diff --git a/addons/wep_javelin/README.md b/addons/wep_javelin/README.md deleted file mode 100644 index df3ad9b29d..0000000000 --- a/addons/wep_javelin/README.md +++ /dev/null @@ -1,12 +0,0 @@ -ace_wep_javelin -=============== - -Adds the Javelin AT launcher. - - -## Maintainers - -The people responsible for merging changes to this component or answering potential questions. - -- [jaynus](https://github.com/walterpearce) -- [NouberNou](https://github.com/NouberNou) diff --git a/addons/wep_javelin/RscInGameUI.hpp b/addons/wep_javelin/RscInGameUI.hpp deleted file mode 100644 index 811548a9d2..0000000000 --- a/addons/wep_javelin/RscInGameUI.hpp +++ /dev/null @@ -1,459 +0,0 @@ -class RscOpticsValue; -class RscControlsGroup; -class RscPicture; -class RscMapControl; -class VScrollbar; -class HScrollbar; -class RscLine; - - -// Taken from AGM for optics management. - -class RscInGameUI { - class RscOptics_titan { - idd = 300; - controls[] = {"ACE_javelin_elements_group"}; - onLoad = QUOTE(_this call FUNC(onOpticLoad)); - onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];"; - - class CA_Distance: RscOpticsValue { - idc = 151; - sizeEx = "0"; - colorText[] = {0,0,0,0}; - x = 0; - y = 0; - w = 0; - h = 0; - }; - - class ACE_javelin_elements_group: RscControlsGroup - { - x = "SafezoneX"; - y = "SafezoneY"; - w = "SafezoneW"; - h = "SafezoneH"; - idc = 170; - class VScrollbar { - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - color[] = {1,1,1,0}; - width = 0.001; - }; - class HScrollbar { - color[] = {1,1,1,0}; - height = 0.001; - }; - class Controls { - class JavelinLocking : RscMapControl { - onDraw = QUOTE(_this call FUNC(onOpticDraw)); - idc = -1; - w = 0; - h = 0; - }; - - class ACE_javelin_Day_mode_off: RscPicture { - idc = 1001; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.03/4)*3*SafezoneH - SafezoneX"; - y = "SafezoneY+SafezoneH*0.031 - SafezoneY"; - w = "0.1045752* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; - h = "SafezoneH*0.1045752"; - colorText[] = {0.2941,0.2941,0.2941,1}; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\day_co.paa"; - }; - class ACE_javelin_Day_mode: ACE_javelin_Day_mode_off { - idc = 160; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class ACE_javelin_WFOV_mode_off: ACE_javelin_Day_mode_off { - idc = 1004; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.307/4)*3*SafezoneH - SafezoneX"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\wfov_co.paa"; - }; - class ACE_javelin_WFOV_mode_group: RscControlsGroup { - x = "SafezoneX"; - y = "SafezoneY"; - w = "SafezoneW"; - h = "SafezoneH"; - idc = 163; - class VScrollbar { - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - color[] = {1,1,1,0}; - width = 0.001; - }; - class HScrollbar { - color[] = {1,1,1,0}; - height = 0.001; - }; - class Controls { - class ACE_javelin_WFOV_mode: ACE_javelin_WFOV_mode_off { - idc = -1; - y = "0.031*SafezoneH - SafezoneY"; - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.307/4)*3*SafezoneH - SafezoneX"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class StadiaL: RscLine { - x = "0.4899*SafezoneW - SafezoneX"; - y = "0.171*SafezoneH - SafezoneY"; - w = 0; - h = "0.049*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class StadiaR: RscLine { - x = "0.5109*SafezoneW- SafezoneX"; - y = "0.171*SafezoneH - SafezoneY"; - w = 0; - h = "0.049*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class BracketL: RscLine { - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.293/4)*3*SafezoneH - SafezoneX"; - y = "0.4677*SafezoneH - SafezoneY"; - w = 0; - h = "0.0646*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class BracketR: RscLine { - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.70/4)*3*SafezoneH - SafezoneX"; - y = "0.4677*SafezoneH - SafezoneY"; - w = 0; - h = "0.0646*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class BracketT: RscLine { - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.467/4)*3*SafezoneH - SafezoneX"; - y = "0.3535*SafezoneH - SafezoneY"; - w = "0.065* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; - h = 0; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class BracketB: RscLine { - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.467/4)*3*SafezoneH - SafezoneX"; - y = "0.6465*SafezoneH - SafezoneY"; - w = "0.065* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; - h = 0; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - }; - }; - class ACE_javelin_NFOV_mode_off: ACE_javelin_Day_mode_off { - idc = 1003; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.586/4)*3*SafezoneH - SafezoneX"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\nfov_co.paa"; - }; - class ACE_javelin_NFOV_mode_group: RscControlsGroup { - x = "SafezoneX"; - y = "SafezoneY"; - w = "SafezoneW-SafezoneX"; - h = "SafezoneH-SafezoneY"; - idc = 162; - class VScrollbar { - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - color[] = {1,1,1,0}; - width = 0.001; - }; - class HScrollbar { - color[] = {1,1,1,0}; - height = 0.001; - }; - class Controls { - class ACE_javelin_NFOV_mode: ACE_javelin_NFOV_mode_off { - idc = 699003; - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.586/4)*3*SafezoneH - SafezoneX"; - y = "0.031*SafezoneH - SafezoneY"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class StadiaL: RscLine { - x = "0.4788*SafezoneW - SafezoneX"; - y = "0.171*SafezoneH - SafezoneY"; - w = 0; - h = "0.049*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class StadiaR: RscLine { - x = "0.5212*SafezoneW - SafezoneX"; - y = "0.171*SafezoneH - SafezoneY"; - w = 0; - h = "0.049*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class LineHL: RscLine { - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.01/4)*3*SafezoneH - SafezoneX"; - y = "SafezoneH*0.5 - SafezoneY"; - w = "0.29* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; - h = "SafezoneH*0.0"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class LineHR: RscLine { - x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.695/4)*3*SafezoneH - SafezoneX"; - y = "SafezoneH*0.5 - SafezoneY"; - w = "0.29* (((SafezoneW*3)/4)/SafezoneW)/(1/SafezoneH)"; - h = "SafezoneH*0.0"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class LineVT: RscLine { - x = "0.5*SafezoneW - SafezoneX"; - y = "0.171*SafezoneH - SafezoneY"; - w = 0; - h = "0.1825*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class LineVB: RscLine { - x = "0.5*SafezoneW - SafezoneX"; - y = "0.6465*SafezoneH - SafezoneY"; - w = 0; - h = "0.1895*SafezoneH"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - }; - }; - /* - class TargetingConstrains: RscControlsGroup { - idc = 699100; - x = "SafezoneX"; - y = "SafezoneY"; - w = "SafezoneW-SafezoneX"; - h = "SafezoneH-SafezoneY"; - class VScrollbar { - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - color[] = {1,1,1,0}; - width = 0.001; - }; - class HScrollbar { - color[] = {1,1,1,0}; - height = 0.001; - }; - class Controls { - class Top: RscPicture { - idc = 699101; - text = "#(argb,8,8,3)color(1,1,1,1)"; - colorText[] = {0.2941,0.2941,0.2941,1}; - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; - y = "0.15*SafezoneH-SafezoneY"; - w = "(3/4)*SafezoneH"; - h = "0.21*SafezoneH"; - }; - class Bottom: Top { - idc = 699102; - y = "0.64*SafezoneH-SafezoneY"; - }; - class Left: Top { - idc = 699103; - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; - y = "0.36*SafezoneH-SafezoneY"; - w = "0.31*(3/4)*SafezoneH"; - h = "0.28*SafezoneH"; - }; - class Right: Left { - idc = 699104; - x = "((SafezoneW -(3/4)*SafezoneH)/2)+ 0.69*(3/4)*SafezoneH - SafezoneX"; - }; - class OpticsBorders: RscPicture { - idc = 699105; - text = PATHTOF(data\javelin_ui_border_ca.paa); - colorText[] = {0,0,0,1}; - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; - y = "0.15*SafezoneH-SafezoneY"; - w = "(3/4)*SafezoneH"; - h = "0.7*SafezoneH"; - }; - }; - }; - - class TargetingGate: TargetingConstrains { - idc = 699200; - class Controls { - class TargetingGateTL: TargetingConstrains { - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; - y = "0.15*SafezoneH - SafezoneY"; - idc = 699201; - class Controls { - class LineH: RscLine { - idc = 699210; - x = "0"; - y = "0"; - w = "0.025*(3/4)*SafezoneH"; - h = "0"; - colorText[] = {0.8745,0.8745,0.8745,1}; - }; - class LineV: LineH { - idc = 699211; - w = "0"; - h = "0.025*SafezoneH"; - }; - }; - }; - class TargetingGateTR: TargetingGateTL { - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX + 0.975*(3/4)*SafezoneH"; - y = "0.15*SafezoneH - SafezoneY"; - idc = 699202; - class Controls { - class LineH: RscLine { - idc = 699220; - x = "0"; - y = "0"; - w = "0.025*(3/4)*SafezoneH"; - h = "0"; - colorText[] = {0.8745,0.8745,0.8745,1}; - }; - class LineV: LineH { - idc = 699221; - x = "0.025*(3/4)*SafezoneH"; - w = "0"; - h = "0.025*SafezoneH"; - }; - }; - }; - class TargetingGateBL: TargetingGateTL { - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; - y = "0.825*SafezoneH - SafezoneY"; - idc = 699203; - class Controls { - class LineH: RscLine { - x = "0"; - y = "0.025*SafezoneH"; - w = "0.025*(3/4)*SafezoneH"; - h = "0"; - colorText[] = {0.8745,0.8745,0.8745,1}; - }; - class LineV: LineH { - y = "0"; - w = "0"; - h = "0.025*SafezoneH"; - }; - }; - }; - class TargetingGateBR: TargetingGateBL { - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX + 0.975*(3/4)*SafezoneH"; - y = "0.825*SafezoneH - SafezoneY"; - idc = 699204; - class Controls { - class LineH: RscLine { - x = "0"; - y = "0.025*SafezoneH"; - w = "0.025*(3/4)*SafezoneH"; - h = "0"; - colorText[] = {0.8745,0.8745,0.8745,1}; - }; - class LineV: LineH { - x = "0.025*(3/4)*SafezoneH"; - y = "0"; - w = "0"; - h = "0.025*SafezoneH"; - }; - }; - }; - }; - }; - - class TargetingLines: TargetingConstrains { - idc = 699300; - class Controls { - class LineH: RscLine { - idc = 699301; - x = "((SafezoneW -(3/4)*SafezoneH)/2) - SafezoneX"; - y = "0.5*SafezoneH - SafezoneY"; - w = "(3/4)*SafezoneH"; - h = "0"; - colorText[] = {0.8745,0.8745,0.8745,1}; - }; - class LineV: RscLine { - idc = 699302; - x = "0.5*SafezoneW - SafezoneX"; - y = "0.15*SafezoneH - SafezoneY"; - w = "0"; - h = "0.7*SafezoneH"; - colorText[] = {0.8745,0.8745,0.8745,1}; - }; - }; - }; - */ - - class ACE_javelin_SEEK_off: ACE_javelin_Day_mode_off { - idc = 699000; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.863/4)*3*SafezoneH - SafezoneX"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\seek_co.paa"; - }; - class ACE_javelin_SEEK: ACE_javelin_SEEK_off { - idc = 166; - colorText[] = {0.2941,0.8745,0.2157,0}; - }; - class ACE_javelin_Missle_off: ACE_javelin_Day_mode_off { - idc = 1032; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (-0.134/4)*3*SafezoneH - SafezoneX"; - y = "(SafezoneY + 0.208*SafezoneH) - SafezoneY"; - colorText[] = {0.2941,0.2941,0.2941,1}; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\missle_co.paa"; - }; - class ACE_javelin_Missle: ACE_javelin_Missle_off { - idc = 167; - colorText[] = {0.9255,0.5216,0.1216,0}; - }; - class ACE_javelin_CLU_off: ACE_javelin_Missle_off { - idc = 1027; - y = "(SafezoneY + 0.436*SafezoneH) - SafezoneY"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\clu_co.paa"; - }; - class ACE_javelin_HangFire_off: ACE_javelin_Missle_off { - idc = 1028; - y = "(SafezoneY + 0.669*SafezoneH) - SafezoneY"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\hangfire_co.paa"; - }; - class ACE_javelin_TOP_off: ACE_javelin_Day_mode_off { - idc = 699001; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (1.023/4)*3*SafezoneH - SafezoneX"; - y = "(SafezoneY + 0.208*SafezoneH) - SafezoneY"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\top_co.paa"; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - class ACE_javelin_DIR: ACE_javelin_Day_mode { - idc = 699002; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (1.023/4)*3*SafezoneH - SafezoneX"; - y = "(SafezoneY + 0.436*SafezoneH) - SafezoneY"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\dir_co.paa"; - colorText[] = {0.2941,0.2941,0.2941,1}; - }; - class ACE_javelin_FLTR_mode_off: ACE_javelin_Day_mode_off { - idc = 1002; - x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (1.023/4)*3*SafezoneH - SafezoneX"; - y = "(SafezoneY + 0.669*SafezoneH) - SafezoneY"; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\fltr_co.paa"; - }; - class ACE_javelin_FLTR_mode: ACE_javelin_FLTR_mode_off { - idc = 161; - colorText[] = {0.2941,0.8745,0.2157,1}; - }; - }; - }; - }; -}; - -// on colorText[] = {0.2941, 0.8745, 0.2157, 1.0}; -// off colorText[] = {0.2941, 0.2941, 0.2941, 1.0}; -// orange colorText[] = {0.9255, 0.5216, 0.1216, 1.0}; - -/* -ACE_Titan_elements_group: 170 -ACE_Titan_Day_mode_off: 1001 -ACE_Titan_Day_mode: 160 -ACE_Titan_WFOV_mode_off: 1004 -ACE_Titan_WFOV_mode_group: 163 -ACE_Titan_NFOV_mode_off: 1003 -ACE_Titan_NFOV_mode_group: 162 -ACE_Titan_SEEK_off: 1005 //1001 -ACE_Titan_SEEK: 166 -ACE_Titan_Missle_off: 1032 -ACE_Titan_Missle: 167 -ACE_Titan_CLU_off: 1027 -ACE_Titan_HangFire_off: 1028 -ACE_Titan_TOP_off: 1006 -ACE_Titan_DIR: 1007 -ACE_Titan_FLTR_mode_off: 1002 -ACE_Titan_FLTR_mode: 161 -*/ \ No newline at end of file diff --git a/addons/wep_javelin/XEH_clientInit.sqf b/addons/wep_javelin/XEH_clientInit.sqf deleted file mode 100644 index 1d3b546e39..0000000000 --- a/addons/wep_javelin/XEH_clientInit.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -#include "initKeybinds.sqf" \ No newline at end of file diff --git a/addons/wep_javelin/XEH_pre_init.sqf b/addons/wep_javelin/XEH_pre_init.sqf deleted file mode 100644 index 1b6682f0fc..0000000000 --- a/addons/wep_javelin/XEH_pre_init.sqf +++ /dev/null @@ -1,15 +0,0 @@ -#include "script_component.hpp" - -PREP(fired); - -PREP(translateToWeaponSpace); -PREP(translateToModelSpace); - -PREP(lockKeyDown); -PREP(lockKeyUp); -PREP(cycleFireMode); - -PREP(onOpticLoad); -PREP(onOpticDraw); - -GVAR(isLockKeyDown) = false; \ No newline at end of file diff --git a/addons/wep_javelin/config.cpp b/addons/wep_javelin/config.cpp deleted file mode 100644 index 3cc607f0bd..0000000000 --- a/addons/wep_javelin/config.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "ace_main", "ace_common", "ace_laser" }; - VERSION_CONFIG; - }; -}; - -#include "CfgEventhandlers.hpp" -#include "RscInGameUI.hpp" -#include "CfgSounds.hpp" \ No newline at end of file diff --git a/addons/wep_javelin/functions/fnc_cycleFireMode.sqf b/addons/wep_javelin/functions/fnc_cycleFireMode.sqf deleted file mode 100644 index 7902c6d265..0000000000 --- a/addons/wep_javelin/functions/fnc_cycleFireMode.sqf +++ /dev/null @@ -1,19 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" -TRACE_1("enter", _this); - -private["_player", "_currentFireMode"]; - -_currentFireMode = ACE_player getVariable["ACE_FIRE_SELECTION", ACE_JAV_FIREMODE_TOP]; -if(_currentFireMode == ACE_JAV_FIREMODE_DIR) then { - _currentFireMode = ACE_JAV_FIREMODE_TOP; - - __JavelinIGUITop ctrlSetTextColor __ColorGreen; - __JavelinIGUIDir ctrlSetTextColor __ColorGray; -} else { - _currentFireMode = ACE_JAV_FIREMODE_DIR; - - __JavelinIGUITop ctrlSetTextColor __ColorGray; - __JavelinIGUIDir ctrlSetTextColor __ColorGreen; -}; -ACE_player setVariable["ACE_FIRE_SELECTION", _currentFireMode, false]; diff --git a/addons/wep_javelin/functions/fnc_fired.sqf b/addons/wep_javelin/functions/fnc_fired.sqf deleted file mode 100644 index 139f8f4b7e..0000000000 --- a/addons/wep_javelin/functions/fnc_fired.sqf +++ /dev/null @@ -1,285 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -//_this=[TEST_AI_HELICOPTER,"missiles_DAGR","missiles_DAGR","Far_AI","M_PG_AT","24Rnd_PG_missiles",163988: rocket_01_fly_f.p3d] -TRACE_1("Launch", _this); -PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - -FUNC(guidance_Javelin_LOBL_DIR_PFH) = { - TRACE_1("enter", _this); - private["_pitch", "_yaw", "_wentTerminal", "_target", "_targetPos", "_curVelocity", "_missile", - "_launchPos", "_targetStartPos", "_defPitch", "_defYaw"]; - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _missile = _args select 6; - - if((count _args) > 7) then { - _saveArgs = _args select 7; - _target = _saveArgs select 0; - _targetStartPos = _saveArgs select 1; - _launchPos = _saveArgs select 2; - _wentTerminal = _saveArgs select 3; - } else { - _wentTerminal = false; - _launchPos = getPosASL _shooter; - _target = ACE_player getVariable[QGVAR(currentTarget), objNull]; - _targetStartPos = ACE_player getVariable[QGVAR(currentTargetPos), [0,0,0]]; - }; - - if(!alive _missile || isNull _missile || isNull _target) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _targetPos = getPosASL _target; - _curVelocity = velocity _missile; - - TRACE_4("", _target, _targetPos, _launchPos, _targetStartPos); - - _addHeight = [0,0,0]; - if(!isNil "_target") then { - - _yVec = vectorDir _missile; - _zVec = vectorUp _missile; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _missilePos = getPosASL _missile; - // player sideChat "G!"; - - TRACE_4("Phase Check", _launchPos, _missilePos, _targetPos, (_missilePos distance _targetPos)); - if((count _targetPos) > 0) then { - _distanceToTarget = [(_missilePos select 0), (_missilePos select 1), (_targetPos select 2)] vectorDistance _targetPos; - - if( (_missilePos select 2) < (_targetPos select 2) + 60 && !_wentTerminal) then { - _addHeight = [0,0,(_targetPos select 2) + 120]; - - _defPitch = 0.15; - _defYaw = 0.035; - - TRACE_1("Climb phase", _addHeight); - } else { - _wentTerminal = true; - _this set[2, _wentTerminal]; - - _defPitch = 0.15; - _defYaw = 0.035; - - TRACE_1("TERMINAL", ""); - }; - _targetPos = _targetPos vectorAdd _addHeight; - - _targetVectorSeeker = [_missile, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - TRACE_5("", _missile, _xVec, _yVec, _zVec, _targetPos); - - _yaw = 0.0; - _pitch = 0.0; - - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_defYaw; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _defYaw; - }; - }; - - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_defPitch; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _defPitch; - }; - }; - - TRACE_3("", _targetVectorSeeker, _pitch, _yaw); - - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - - _light = "#lightpoint" createVehicleLocal (getPos _missile); - _light setLightBrightness 1.0; - _light setLightAmbient [1.0, 0.0, 0.0]; - _light setLightColor [1.0, 0.0, 0.0]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _missilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _missilePos, ASLtoATL _targetPos, [1,0,0,1]]; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - TRACE_5("", _xVec, _yVec, _zVec, _yaw, _pitch); - _outVector = [_missile, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - - _vectorTo = _missilePos vectorFromTo _outVector; - TRACE_3("", _missile, _outVector, _vectorTo); - _missile setVectorDirAndUp [_vectorTo, vectorUp _missile]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; - - _saveArgs = [_target,_targetStartPos, _launchPos, _wentTerminal]; - _args set[7, _saveArgs ]; - _this set[0, _args]; -}; - -FUNC(guidance_Javelin_LOBL_TOP_PFH) = { - TRACE_1("enter", _this); - private["_pitch", "_yaw", "_wentTerminal", "_target", "_targetPos", "_curVelocity", "_missile", - "_launchPos", "_targetStartPos", "_defPitch", "_defYaw"]; - _args = _this select 0; - //PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - _shooter = _args select 0; - _missile = _args select 6; - - if((count _args) > 7) then { - _saveArgs = _args select 7; - _target = _saveArgs select 0; - _targetStartPos = _saveArgs select 1; - _launchPos = _saveArgs select 2; - _wentTerminal = _saveArgs select 3; - } else { - _wentTerminal = false; - _launchPos = getPosASL _shooter; - _target = ACE_player getVariable[QGVAR(currentTarget), objNull]; - _targetStartPos = ACE_player getVariable[QGVAR(currentTargetPos), [0,0,0]]; - }; - - if(!alive _missile || isNull _missile || isNull _target) exitWith { - [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; - - _targetPos = getPosASL _target; - _curVelocity = velocity _missile; - - TRACE_4("", _target, _targetPos, _launchPos, _targetStartPos); - - _addHeight = [0,0,0]; - if(!isNil "_target") then { - - _yVec = vectorDir _missile; - _zVec = vectorUp _missile; - _xVec = vectorNormalized (_yVec vectorCrossProduct _zVec); - - _missilePos = getPosASL _missile; - // player sideChat "G!"; - - TRACE_4("Phase Check", _launchPos, _missilePos, _targetPos, (_missilePos distance _targetPos)); - if((count _targetPos) > 0) then { - _distanceToTarget = [(_missilePos select 0), (_missilePos select 1), (_targetPos select 2)] vectorDistance _targetPos; - - if( (_missilePos select 2) < (_targetPos select 2) + 200 && !_wentTerminal) then { - _addHeight = [0,0, ( (_distanceToTarget * 2) + 400)]; - - _defPitch = 0.25; - _defYaw = 0.035; - - TRACE_1("Climb phase", _addHeight); - } else { - _wentTerminal = true; - _this set[2, _wentTerminal]; - - _defPitch = 0.25; - _defYaw = 0.25; - - TRACE_1("TERMINAL", ""); - }; - _targetPos = _targetPos vectorAdd _addHeight; - - _targetVectorSeeker = [_missile, [_xVec, _yVec, _zVec], _targetPos] call FUNC(translateToWeaponSpace); - TRACE_5("", _missile, _xVec, _yVec, _zVec, _targetPos); - - _yaw = 0.0; - _pitch = 0.0; - - // Stop jinking on terminal final decent - if((_missilePos distance _targetPos) < 150) then { - _defPitch = 0.0015; - _defYaw = 0.0015; - }; - - if((_targetVectorSeeker select 0) < 0) then { - _yaw = -_defYaw; - } else { - if((_targetVectorSeeker select 0) > 0) then { - _yaw = _defYaw; - }; - }; - - if((_targetVectorSeeker select 2) < 0) then { - _pitch = -_defPitch; - } else { - if((_targetVectorSeeker select 2) > 0) then { - _pitch = _defPitch; - }; - }; - - TRACE_3("", _targetVectorSeeker, _pitch, _yaw); - - #ifdef DEBUG_MODE_FULL - drawLine3D [(ASLtoATL _targetPos) vectorAdd _addHeight, ASLtoATL _targetPos, [0,1,0,1]]; - - _light = "#lightpoint" createVehicleLocal (getPos _missile); - _light setLightBrightness 1.0; - _light setLightAmbient [1.0, 0.0, 0.0]; - _light setLightColor [1.0, 0.0, 0.0]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _missilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"]; - drawLine3D [ASLtoATL _missilePos, ASLtoATL _targetPos, [1,0,0,1]]; - - MARKERCOUNT = MARKERCOUNT + 1; - #endif - - if(accTime > 0) then { - TRACE_5("", _xVec, _yVec, _zVec, _yaw, _pitch); - _outVector = [_missile, [_xVec, _yVec, _zVec], [_yaw, 1/accTime, _pitch]] call FUNC(translateToModelSpace); - - _vectorTo = _missilePos vectorFromTo _outVector; - TRACE_3("", _missile, _outVector, _vectorTo); - _missile setVectorDirAndUp [_vectorTo, vectorUp _missile]; - }; - - #ifdef DEBUG_MODE_FULL - hintSilent format["d: %1", _distanceToTarget]; - #endif - }; - }; - - _saveArgs = [_target,_targetStartPos, _launchPos, _wentTerminal]; - _args set[7, _saveArgs ]; - _this set[0, _args]; -}; - -FUNC(guidance_Javelin_LOBL_TOP) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_Javelin_LOBL_TOP_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -FUNC(guidance_Javelin_LOBL_DIR) = { - PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); - - GVAR(lastTime) = time; - [FUNC(guidance_Javelin_LOBL_DIR_PFH), 0, _this] call cba_fnc_addPerFrameHandler; -}; - -if(!local _shooter) exitWith { false }; -if(_ammo == "M_Titan_AT") then { - _fireMode = _shooter getVariable ["ACE_FIRE_SELECTION", ACE_JAV_FIREMODE_TOP]; - - switch (_fireMode) do { - // Default to FIREMODE_DIRECT_LOAL - // FIREMODE_DIRECT_LOAL - case ACE_JAV_FIREMODE_DIR: { - LOG("Initiating Javelin FIREMODE_LOBL_DIR"); - _this call FUNC(guidance_Javelin_LOBL_DIR); - }; - default { - LOG("Initiating Javelin FIREMODE_LOBL_TOP"); - _this call FUNC(guidance_Javelin_LOBL_TOP); - }; - }; -}; \ No newline at end of file diff --git a/addons/wep_javelin/functions/fnc_lockKeyDown.sqf b/addons/wep_javelin/functions/fnc_lockKeyDown.sqf deleted file mode 100644 index bc3198915b..0000000000 --- a/addons/wep_javelin/functions/fnc_lockKeyDown.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" -TRACE_1("enter", _this); \ No newline at end of file diff --git a/addons/wep_javelin/functions/fnc_lockKeyUp.sqf b/addons/wep_javelin/functions/fnc_lockKeyUp.sqf deleted file mode 100644 index bc3198915b..0000000000 --- a/addons/wep_javelin/functions/fnc_lockKeyUp.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#define DEBUG_MODE_FULL -#include "script_component.hpp" -TRACE_1("enter", _this); \ No newline at end of file diff --git a/addons/wep_javelin/functions/fnc_onOpticDraw.sqf b/addons/wep_javelin/functions/fnc_onOpticDraw.sqf deleted file mode 100644 index 6a74b3ed57..0000000000 --- a/addons/wep_javelin/functions/fnc_onOpticDraw.sqf +++ /dev/null @@ -1,132 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -//TRACE_1("enter", _this); - -#define __TRACKINTERVAL 0.1 // how frequent the check should be. -#define __LOCKONTIME 1.85 // Lock on won't occur sooner -#define __LOCKONTIMERANDOM 0.3 // Deviation in lock on time -#define __SENSORSQUARE 1 // Locking on sensor square side in angles - -#define __ConstraintTop (((ctrlPosition __JavelinIGUITargetingConstrainTop) select 1) + ((ctrlPosition (__JavelinIGUITargetingConstrainTop)) select 3)) -#define __ConstraintBottom ((ctrlPosition __JavelinIGUITargetingConstrainBottom) select 1) -#define __ConstraintLeft (((ctrlPosition __JavelinIGUITargetingConstrainLeft) select 0) + ((ctrlPosition (__JavelinIGUITargetingConstrainLeft)) select 2)) -#define __ConstraintRight ((ctrlPosition __JavelinIGUITargetingConstrainRight) select 0) - -#define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5 -#define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5 - - -private["_args", "_lastTick", "_runTime", "_soundTime", "_lockTime", "_newTarget", "_currentTarget", "_range", "_pos", "_targetArray"]; - -// Reset arguments if we havnt rendered in over a second -_args = uiNamespace getVariable[QGVAR(arguments), [] ]; -if( (count _args) > 0) then { - _lastTick = _args select 0; - if(diag_tickTime - _lastTick > 1) then { - [] call FUNC(onOpticLoad); - }; -}; - -// Pull the arguments -_currentTarget = _args select 1; -_runTime = _args select 2; -_lockTime = _args select 3; -_soundTime = _args select 4; - -// Find a target within the optic range -_newTarget = objNull; - -// Bail on fast movement -if ((velocity ACE_player) distance [0,0,0] > 0.5 && {cameraView == "GUNNER"} && {cameraOn == ACE_player}) exitWith { // keep it steady. - ACE_player switchCamera "INTERNAL"; -}; - -// Only start locking on holding tab -if(!GVAR(isLockKeyDown)) exitWith { false }; - -_range = parseNumber (ctrlText __JavelinIGUIRangefinder); -if (_range > 50 && {_range < 2500}) then { - _pos = positionCameraToWorld [0,0,_range]; - _targetArray = _pos nearEntities ["AllVehicles", _range/25]; - if (count (_targetArray) > 0) then { - _newTarget = _targetArray select 0; - }; -}; - -if (isNull _newTarget) then { - _newTarget = cursorTarget; -}; - -if (isNull _newTarget) then { - // No targets found - _currentTarget = objNull; - _lockTime = 0; - - __JavelinIGUISeek ctrlSetTextColor __ColorGray; - __JavelinIGUINFOV ctrlSetTextColor __ColorGreen; - __JavelinIGUITargetingConstrains ctrlShow false; - __JavelinIGUITargetingGate ctrlShow false; - __JavelinIGUITargetingLines ctrlShow false; - - ACE_player setVariable [QGVAR(currentTarget),nil, false]; - - // Disallow fire - //if (ACE_player ammo "Javelin" > 0 || {ACE_player ammo "ACE_Javelin_Direct" > 0}) then {ACE_player setWeaponReloadingTime //[player, "Javelin", 0.2];}; -} else { - if (_newTarget distance ACE_player < 2500 - // && {(call CBA_fnc_getFoV) select 1 > 7} - // && { (currentVisionMode ACE_player == 2)} - ) then { - // Lock on after 3 seconds - if(_currentTarget != _newTarget) then { - TRACE_1("New Target, reseting locking", _newTarget); - _lockTime = diag_tickTime; - _currentTarget = _newTarget; - - playSound "ACE_Javelin_Locking"; - } else { - if(diag_tickTime - _lockTime > 3) then { - TRACE_2("LOCKED!", _currentTarget, _lockTime); - __JavelinIGUISeek ctrlSetTextColor __ColorGreen; - __JavelinIGUINFOV ctrlSetTextColor __ColorNull; - __JavelinIGUITargetingConstrains ctrlShow true; - - ACE_player setVariable[QGVAR(currentTarget), _currentTarget, false]; - ACE_player setVariable[QGVAR(currentTargetPos), getPosASL _currentTarget, false]; - - if(diag_tickTime > _soundTime) then { - playSound "ACE_Javelin_Locked"; - _soundTime = diag_tickTime + 0.25; - }; - } else { - if(diag_tickTime > _soundTime) then { - playSound "ACE_Javelin_Locking"; - _soundTime = diag_tickTime + 0.25; - }; - }; - }; - } else { - // Something is wrong with our seek - _currentTarget = objNull; - - __JavelinIGUISeek ctrlSetTextColor __ColorGray; - __JavelinIGUINFOV ctrlSetTextColor __ColorGray; - __JavelinIGUITargetingConstrains ctrlShow false; - __JavelinIGUITargetingGate ctrlShow false; - __JavelinIGUITargetingLines ctrlShow false; - - ACE_player setVariable [QGVAR(currentTarget),nil, false]; - }; - -}; - -//TRACE_2("", _newTarget, _currentTarget); - -// Save arguments for next run -_args set[0, diag_tickTime]; -_args set[1, _currentTarget]; -_args set[2, _runTime]; -_args set[3, _lockTime]; -_args set[4, _soundTime]; - -uiNamespace setVariable[QGVAR(arguments), _args ]; \ No newline at end of file diff --git a/addons/wep_javelin/functions/fnc_onOpticLoad.sqf b/addons/wep_javelin/functions/fnc_onOpticLoad.sqf deleted file mode 100644 index c4a7069630..0000000000 --- a/addons/wep_javelin/functions/fnc_onOpticLoad.sqf +++ /dev/null @@ -1,17 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -TRACE_1("enter", _this); - -if((count _this) > 0) then { - uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0]; -}; - -uiNameSpace setVariable [QGVAR(arguments), - [ - 0, // Last runtime - objNull, // currentTargetObject - 0, // Run Time - 0, // Lock Time - 0 // Sound timer - ] -]; \ No newline at end of file diff --git a/addons/wep_javelin/functions/fnc_translateToModelSpace.sqf b/addons/wep_javelin/functions/fnc_translateToModelSpace.sqf deleted file mode 100644 index 12f828769a..0000000000 --- a/addons/wep_javelin/functions/fnc_translateToModelSpace.sqf +++ /dev/null @@ -1,20 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -TRACE_1("enter", _this); - -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = (((_xVec vectorMultiply _x) vectorAdd (_yVec vectorMultiply _y)) vectorAdd (_zVec vectorMultiply _z)) vectorAdd _origin; - -_out; \ No newline at end of file diff --git a/addons/wep_javelin/functions/fnc_translateToWeaponSpace.sqf b/addons/wep_javelin/functions/fnc_translateToWeaponSpace.sqf deleted file mode 100644 index 8f85005d48..0000000000 --- a/addons/wep_javelin/functions/fnc_translateToWeaponSpace.sqf +++ /dev/null @@ -1,26 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" -TRACE_1("enter", _this); - -_object = _this select 0; -_origin = getPosASL _object; -_matrix = _this select 1; -_xVec = _matrix select 0; -_yVec = _matrix select 1; -_zVec = _matrix select 2; - -_offset = _this select 2; - -_offset = _offset vectorDiff _origin; - -_x = _offset select 0; -_y = _offset select 1; -_z = _offset select 2; - -_out = [ - ((_xVec select 0)*_x) + ((_xVec select 1)*_y) + ((_xVec select 2)*_z), - ((_yVec select 0)*_x) + ((_yVec select 1)*_y) + ((_yVec select 2)*_z), - ((_zVec select 0)*_x) + ((_zVec select 1)*_y) + ((_zVec select 2)*_z) - ]; - -_out; \ No newline at end of file diff --git a/addons/wep_javelin/functions/script_component.hpp b/addons/wep_javelin/functions/script_component.hpp deleted file mode 100644 index fdc194ff7b..0000000000 --- a/addons/wep_javelin/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\wep_javelin\script_component.hpp" \ No newline at end of file diff --git a/addons/wep_javelin/initKeybinds.sqf b/addons/wep_javelin/initKeybinds.sqf deleted file mode 100644 index 126b1395a3..0000000000 --- a/addons/wep_javelin/initKeybinds.sqf +++ /dev/null @@ -1,30 +0,0 @@ -// by commy2 - -["ACE3", QGVAR(lockTarget), localize "STR_ACE_WEP_JAVELIN_LockTarget", -{ - if (GETGVAR(isLockKeyDown,false)) exitWith {false}; - - GVAR(isLockKeyDown) = true; - - // Statement - [ACE_player] call FUNC(lockKeyDown); - // Return false so it doesn't block the rest weapon action - false -}, -{ - // prevent holding down - GVAR(isLockKeyDown) = false; - - // Statement - [ACE_player] call FUNC(lockKeyUp); - false -}, -[15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key - -["ACE3", QGVAR(cycleFireMode), localize "STR_ACE_WEP_JAVELIN_CycleFireMode", -{ false }, -{ - [ACE_player] call FUNC(cycleFireMode); - false -}, -[15, [false, true, false]], false] call cba_fnc_addKeybind; //Shift+Tab Key \ No newline at end of file diff --git a/addons/wep_javelin/script_component.hpp b/addons/wep_javelin/script_component.hpp deleted file mode 100644 index 3df1273422..0000000000 --- a/addons/wep_javelin/script_component.hpp +++ /dev/null @@ -1,53 +0,0 @@ -#define COMPONENT wep_javelin -#include "\z\ace\Addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_WEP_JAVELIN - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_WEP_JAVELIN - #define DEBUG_SETTINGS DEBUG_SETTINGS_WEP_JAVELIN -#endif - -#include "\z\ace\Addons\main\script_macros.hpp" - -#define ACE_JAV_FIREMODE_DIR 1 -#define ACE_JAV_FIREMODE_TOP 2 - - -// Javelin IGUI defines -#define __JavelinIGUI (uinamespace getVariable "ACE_RscOptics_javelin") - -// Custom controls -#define __JavelinIGUISeek (__JavelinIGUI displayCtrl 699000) -#define __JavelinIGUITop (__JavelinIGUI displayCtrl 699001) -#define __JavelinIGUIDir (__JavelinIGUI displayCtrl 699002) -#define __JavelinIGUINFOV (__JavelinIGUI displayCtrl 699003) - -// Constrains -#define __JavelinIGUITargetingConstrains (__JavelinIGUI displayCtrl 699100) -#define __JavelinIGUITargetingConstrainTop (__JavelinIGUI displayCtrl 699101) -#define __JavelinIGUITargetingConstrainBottom (__JavelinIGUI displayCtrl 699102) -#define __JavelinIGUITargetingConstrainLeft (__JavelinIGUI displayCtrl 699103) -#define __JavelinIGUITargetingConstrainRight (__JavelinIGUI displayCtrl 699104) - -// Targeting gate -#define __JavelinIGUITargetingGate (__JavelinIGUI displayCtrl 699200) -#define __JavelinIGUITargetingGateTL (__JavelinIGUI displayCtrl 699201) -#define __JavelinIGUITargetingGateTR (__JavelinIGUI displayCtrl 699202) -#define __JavelinIGUITargetingGateBL (__JavelinIGUI displayCtrl 699203) -#define __JavelinIGUITargetingGateBR (__JavelinIGUI displayCtrl 699204) - -// Rangefinder -#define __JavelinIGUIRangefinder (__JavelinIGUI displayCtrl 151) - -// Targeting lines -#define __JavelinIGUITargetingLines (__JavelinIGUI displayCtrl 699300) -#define __JavelinIGUITargetingLineH (__JavelinIGUI displayCtrl 699301) -#define __JavelinIGUITargetingLineV (__JavelinIGUI displayCtrl 699302) - -// Colors for controls -#define __ColorOrange [0.9255,0.5216,0.1216,1] -#define __ColorGreen [0.2941,0.8745,0.2157,1] -#define __ColorGray [0.2941,0.2941,0.2941,1] -#define __ColorNull [0,0,0,0] \ No newline at end of file diff --git a/addons/wep_javelin/stringtable.xml b/addons/wep_javelin/stringtable.xml deleted file mode 100644 index 4068d6f0a6..0000000000 --- a/addons/wep_javelin/stringtable.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - - - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - - - diff --git a/addons/winddeflection/ACE_Settings.hpp b/addons/winddeflection/ACE_Settings.hpp new file mode 100644 index 0000000000..0a0cac6b34 --- /dev/null +++ b/addons/winddeflection/ACE_Settings.hpp @@ -0,0 +1,26 @@ +class ACE_Settings { + class GVAR(enabled) { + displayName = "Wind Deflection"; + description = "Enables wind deflection"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(vehicleEnabled) { + displayName = "Vehicle Enabled"; + description = "Enables wind deflection for static/vehicle gunners"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(simulationInterval) { + displayName = "Simulation Interval"; + description = "Defines the interval between every calculation step"; + typeName = "SCALAR"; + value = 0.05; + }; + class GVAR(simulationRadius) { + displayName = "Simulation Radius"; + description = "Defines the radius around the player (in meters) at which projectiles are wind deflected"; + typeName = "SCALAR"; + value = 3000; + }; +}; diff --git a/addons/winddeflection/CfgEventHandlers.hpp b/addons/winddeflection/CfgEventHandlers.hpp index 4f54a73c84..d856993322 100644 --- a/addons/winddeflection/CfgEventHandlers.hpp +++ b/addons/winddeflection/CfgEventHandlers.hpp @@ -5,7 +5,7 @@ class Extended_PreInit_EventHandlers { }; class Extended_FiredBIS_EventHandlers { - class CAManBase { + class AllVehicles { class ADDON { firedBIS = QUOTE(_this call FUNC(handleFired)); }; diff --git a/addons/winddeflection/CfgVehicles.hpp b/addons/winddeflection/CfgVehicles.hpp index 2371c4b135..1c24c0a386 100644 --- a/addons/winddeflection/CfgVehicles.hpp +++ b/addons/winddeflection/CfgVehicles.hpp @@ -1,19 +1,39 @@ class CfgVehicles { - class Module_F; - class GVAR(Module): Module_F { - author = "$STR_ACE_Common_ACETeam"; - category = "ACE"; - displayName = "Wind Deflection"; - function = FUNC(initalizeModule); + class ACE_Module; + class GVAR(ModuleSettings): ACE_Module { scope = 2; - isGlobal = 1; + displayName = "Wind Deflection"; icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); + category = "ACE"; + function = QUOTE(DFUNC(initModuleSettings)); + functionPriority = 1; + isGlobal = 1; + isTriggerActivated = 0; + author = "$STR_ACE_Common_ACETeam"; class Arguments { - class EnableForAI { - displayName = "Enable for AI"; - description = "Should the module be enabled for AI"; + class enabled { + displayName = "Wind Deflection"; + description = "Enables wind deflection"; typeName = "BOOL"; - defaultValue = 0; + defaultValue = 1; + }; + class vehicleEnabled { + displayName = "Vehicle Enabled"; + description = "Enables wind deflection for static/vehicle gunners"; + typeName = "BOOL"; + defaultValue = 1; + }; + class simulationInterval { + displayName = "Simulation Interval"; + description = "Defines the interval between every calculation step"; + typeName = "NUMBER"; + defaultValue = 0.05; + }; + class simulationRadius { + displayName = "Simulation Radius"; + description = "Defines the radius around the player (in meters) at which projectiles are wind deflected"; + typeName = "NUMBER"; + defaultValue = 3000; }; }; }; diff --git a/addons/winddeflection/XEH_preInit.sqf b/addons/winddeflection/XEH_preInit.sqf index 05a606fbc2..bac6a8323a 100644 --- a/addons/winddeflection/XEH_preInit.sqf +++ b/addons/winddeflection/XEH_preInit.sqf @@ -10,5 +10,10 @@ #include "script_component.hpp" +ADDON = false; + PREP(handleFired); -PREP(initalizeModule); +PREP(updateTrajectoryPFH); +PREP(initModuleSettings); + +ADDON = true; diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index 3d342d50fe..e0c77420cf 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ACE_common", "ACE_weather"}; + requiredAddons[] = {"ace_weather"}; versionDesc = "ACE Wind Deflection"; version = VERSION; author[] = {$STR_ACE_Common_ACETeam, "Glowbal", "Ruthberg"}; @@ -21,13 +21,6 @@ class CfgAddons { }; }; -class ACE_Settings { - class GVAR(EnableForAI) { - value = 0; - typeName = "BOOL"; - isClientSetable = 0; - }; -}; - #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" +#include "ACE_Settings.hpp" \ No newline at end of file diff --git a/addons/winddeflection/functions/fnc_handleFired.sqf b/addons/winddeflection/functions/fnc_handleFired.sqf index 36b177ae0a..f7090cfc2a 100644 --- a/addons/winddeflection/functions/fnc_handleFired.sqf +++ b/addons/winddeflection/functions/fnc_handleFired.sqf @@ -15,53 +15,25 @@ * Nothing * * Example: - * [clientFiredBIS-XEH] call ace_winddeflection_fnc_handleFired + * [clientFiredBIS-XEH] call ace_advanced_ballistics_fnc_handleFired * * Public: No */ #include "script_component.hpp" -private ["_unit", "_weapon", "_ammo", "_bullet", "_airFriction", "_index"]; +private ["_unit", "_bullet"]; _unit = _this select 0; - -if (_unit distance ACE_player > 3000) exitWith {false}; // Large enough distance to not simulate any wind deflection. -if (!GVAR(EnableForAI) && !([_unit] call EFUNC(common,isPlayer))) exitWith {false}; _bullet = _this select 6; -if (_bullet isKindOf "BulletBase") then { - [{ - private ["_bullet", "_airFriction", "_args", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueVelocity", "_dragRef", "_drag", "_accelRef", "_accel"]; +if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false] && (_bullet isKindOf "BulletBase") && (_unit isKindOf "Man")) exitWith {false}; - _args = _this select 0; - _bullet = _args select 0; - _airFriction = _args select 1; - _time = _args select 2; +if (!hasInterface) exitWith {false}; +if (!(GVAR(enabled))) exitWith {false}; +if (!(GVAR(vehicleEnabled)) && !(_unit isKindOf "Man")) exitWith {false}; +if (!((_bullet isKindOf "BulletBase") || (_bullet isKindOf "GrenadeBase"))) exitWith {false}; +if (_unit distance ACE_player > GVAR(simulationRadius)) exitWith {false}; +if (!([_unit] call EFUNC(common,isPlayer))) exitWith {false}; - if (!alive _bullet) exitwith { - [_this select 1] call cba_fnc_removePerFrameHandler; - }; +[_bullet, getNumber(configFile >> "cfgAmmo" >> (_this select 4) >> "airFriction")] call FUNC(updateTrajectoryPFH); - _deltaT = time - _time; - _args set[2, time]; - - _bulletVelocity = velocity _bullet; - _bulletSpeed = vectorMagnitude _bulletVelocity; - - if (vectorMagnitude ACE_wind > 0) then { - _trueVelocity = _bulletVelocity vectorDiff ACE_wind; - _trueSpeed = vectorMagnitude _trueVelocity; - - _dragRef = _deltaT * _airFriction * _bulletSpeed * _bulletSpeed; - _accelRef = (vectorNormalized _bulletVelocity) vectorMultiply (_dragRef); - _bulletVelocity = _bulletVelocity vectorDiff _accelRef; - - _drag = _deltaT * _airFriction * _trueSpeed; - _accel = _trueVelocity vectorMultiply (_drag); - _bulletVelocity = _bulletVelocity vectorAdd _accel; - }; - _bullet setVelocity _bulletVelocity; - // TODO expand with advanced ballistics functionality. - - }, 0, [_bullet, getNumber(configFile >> "cfgAmmo" >> (_this select 4) >> "airFriction"), time]] call CBA_fnc_addPerFrameHandler; -}; true; \ No newline at end of file diff --git a/addons/winddeflection/functions/fnc_initModuleSettings.sqf b/addons/winddeflection/functions/fnc_initModuleSettings.sqf new file mode 100644 index 0000000000..40be14a2b2 --- /dev/null +++ b/addons/winddeflection/functions/fnc_initModuleSettings.sqf @@ -0,0 +1,30 @@ +/* + * Author: Glowbal, Ruthberg + * Module for adjusting the wind deflection settings + * + * Arguments: + * 0: The module logic + * 1: units + * 2: activated + * + * Return Value: + * None + * + * Public: No + */ + +#include "script_component.hpp" + +private ["_logic", "_units", "_activated"]; +_logic = _this select 0; +_units = _this select 1; +_activated = _this select 2; + +if !(_activated) exitWith {}; + +[_logic, QGVAR(enabled), "enabled"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(vehicleEnabled), "vehicleEnabled"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(simulationInterval), "simulationInterval"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(simulationRadius), "simulationRadius"] call EFUNC(common,readSettingFromModule); + +GVAR(simulationInterval) = 0 max GVAR(simulationInterval) min 0.2; diff --git a/addons/winddeflection/functions/fnc_initalizeModule.sqf b/addons/winddeflection/functions/fnc_initalizeModule.sqf deleted file mode 100644 index 85d61e3bcc..0000000000 --- a/addons/winddeflection/functions/fnc_initalizeModule.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/** - * fnc_initalizeModule.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#include "script_component.hpp" - -if (!hasInterface) exitwith {}; // No need for this module on HC or dedicated server. - -private ["_logic"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -if (!isNull _logic) then { - [_logic, QGVAR(EnableForAI), "EnableForAI" ] call EFUNC(common,readSettingFromModule); -}; \ No newline at end of file diff --git a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf new file mode 100644 index 0000000000..4c2859f9b6 --- /dev/null +++ b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf @@ -0,0 +1,50 @@ +/* + * Author: Glowbal, Ruthberg + * Handles wind deflection for projectiles. + * + * Arguments: + * 0: bullet - Object the event handler is assigned to + * 1: airFriction - air friction of the bullet + * + * Return Value: + * Nothing + * + * Example: + * + * Public: No + */ +#include "script_component.hpp" + +[{ + private ["_args", "_bullet", "_airFriction", "_time", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_dragRef", "_drag", "_accelRef", "_accel"]; + + _args = _this select 0; + _bullet = _args select 0; + _airFriction = _args select 1; + _time = _args select 2; + + _bulletVelocity = velocity _bullet; + _bulletSpeed = vectorMagnitude _bulletVelocity; + + if (!alive _bullet || ((_bullet isKindOf "BulletBase") && _bulletSpeed < 100)) exitwith { + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + _deltaT = time - _time; + _args set[2, time]; + + if (vectorMagnitude ACE_wind > 0) then { + _trueVelocity = _bulletVelocity vectorDiff ACE_wind; + _trueSpeed = vectorMagnitude _trueVelocity; + + _dragRef = _deltaT * _airFriction * _bulletSpeed * _bulletSpeed; + _accelRef = (vectorNormalized _bulletVelocity) vectorMultiply (_dragRef); + _bulletVelocity = _bulletVelocity vectorDiff _accelRef; + + _drag = _deltaT * _airFriction * _trueSpeed; + _accel = _trueVelocity vectorMultiply (_drag); + _bulletVelocity = _bulletVelocity vectorAdd _accel; + }; + _bullet setVelocity _bulletVelocity; + +}, GVAR(simulationInterval), [_this select 0, _this select 1, time]] call CBA_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index b52100046f..bd34204147 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -1,32 +1,62 @@ - - - - - - Wind Information - Informacje o wietrze - Información del viento - - - Direction: %1 - Kierunek: %1 - Dirección: %1 - - - Speed: %1 m/s - Prędkość: %1 - Velocidad: %1 m/s - - - Weather Information - Informacje o pogodzie - Información Meteorológica - - - Humidity: %1% - Wilgotność: %1 - Humedad: %1% - - - + + + + + + Wind Information + Informacje o wietrze + Información del viento + Информация о ветре + Informace o větru + Vent + Windinformationen + Szélinformáció + Informazioni sul vento + + + Direction: %1 + Kierunek: %1 + Dirección: %1 + Направление: %1° + Směr: %1 + Direction %1 + Windrichtung: %1 + Irány: %1 + Direzione: %1 + + + Speed: %1 m/s + Prędkość: %1 + Velocidad: %1 m/s + Скорость: %1 м/с + Rychlost: %1 m/s + Vitesse %1 m/s + Geschwindigkeit: %1 m/s + Sebesség: %1 m/s + Velocità: %1 m/s + + + Weather Information + Informacje o pogodzie + Información Meteorológica + Информация о погоде + Informace o počasí + Météo + Wetterinformationen + Időjárás-Információ + Meteo + + + Humidity: %1% + Wilgotność: %1 + Humedad: %1% + Влажность: %1% + Vlhkost: %1% + Humidité: %1% + Luftfeuchtigkeit: %1 + Páratartalom: %1% + Umidità: %1% + + + diff --git a/documentation/README_DE.md b/documentation/README_DE.md new file mode 100644 index 0000000000..0b5ca4d0ef --- /dev/null +++ b/documentation/README_DE.md @@ -0,0 +1,48 @@ +

+ +

+

+ + ACE version + + + ACE download + + + ACE issues + + + ACE license + +

+

Benötigt eine Aktuelle Version von CBA A3 | BIF thread

+ +**ACE3** ist ein Gemeinschaftsprojekt der sich zusammengeschlossenen Moddinggruppen von **ACE2**, **AGM** und **CSE** mit dem Ziel den Realismus und die Spieltiefe von Arma 3 zu steigern. + +Da die MOD vollkommen als **open-source** Projekt gestaltet ist, steht es jedem frei Änderungen vorzuschlagen, oder seine eigene, modifizierte Version zu erstellen, solange diese ebenfalls der Öffentlichkeit zugänglich ist und mit GNU General Public License übereinstimmt. (Weitere Informationen ist der Lizenzdatei in diesem Projekt entnehmbar) + +Die Mod ist **modular gestaltet** — beinahe jede PBO kann entfernt werden, sodass jede Gemeinschaft ihre eigene Version der Mod unterhalten kann. Dies kann zum Beispiel einige Funktionalitäten ausschließen, da das Feature nicht gewünscht ist, oder es mit einer anderen MOD in Konflikt gerät etc. .Ebenfalls können viele Einstellungen vom Missionsersteller vorgenommen werden (u.a. am medizinischem System), sodass eine individuelle Erfahrung gewährleistet wird. + +### Features +* Verbessertes medizinisches System +* Logistik System: U.a. Transport und Fahrzeugreparatur +* Sprengstoffsystem mit unterschiedlichen Zündern +* Gefangenensystem +* Reale Namen für Arma 3 Fahrzeuge und Waffen +* Realistisches, ballistisches Verhalten (Wind und Luftfeuchtigkeit) +* Simulation der Rückstrahlzone +* Ein Feuerleitsystem für gepanzerte Fahrzeuge und Hubschrauber + ***und noch viel mehr...*** + +#### Anleitungen +Du hast ACE3 installiert, hast aber keine Ahnung was und wie alles funktioniert und wo sich was befindet? [Erste Schritte](https://github.com/acemod/ACE3/blob/master/documentation/user/getting-started.md). + +#### Mitwirken +Wenn du bei der Entwicklung der MOD mithelfen möchtest, so kannst du dies tun, indem du nach Fehlern Ausschau hältst, oder neue Funktionen vorschlägst. Um etwas beizutragen, "Forke" einfach dieses Archiv (bzw. repository) und erstelle deine "Pull-Request", welche von anderen Entwicklern und Beiträgern überprüft wird. Bitte trage dich dabei in "AUTHORS.txt" mit deinem Nutzernamen und einer gütligen Email-Adresse ein. + +Um einen Fehler oder ein Feature zu melden bzw. ein bereits Bestehendes zu ändern - nutze unseren [Issue Tracker](https://github.com/acemod/ACE3/issues). + +#### Testen & MOD erstellen +Wenn du die neusten Entwicklungen erleben und uns dabei helfen möchtest bestehende Fehler zu entdecken, lade dir einfach die "Master Branch" herunter. Entweder nutzt du Git - wenn die Schritte bekannt sind - oder du lädst es dir direkt über [diesen Link] (https://github.com/acemod/ACE3/archive/master.zip) herunter. + +Wie du deine eigene Entwicklungsumgebung und eine Testversion von ACE erstellst folge [dieser Anleitung](https://github.com/acemod/ACE3/blob/master/documentation/development/setting-up-the-development-environment.md). diff --git a/documentation/README_PL.md b/documentation/README_PL.md new file mode 100644 index 0000000000..d156185908 --- /dev/null +++ b/documentation/README_PL.md @@ -0,0 +1,84 @@ +

+ +

+

+ + ACE version + + + ACE download + + + ACE issues + + + BIF thread + + + ACE license + +

+

Wymaga najnowszej wersji CBA A3. Odwiedź nas na Facebook | YouTube | Twitter | Reddit

+ + +**ACE3** to efekt wspólnego wysiłku grup moderów odpowiedzialnych za **ACE2**, **AGM** oraz **CSE** w celu zwiększenia realizmu i autentyczności Arma 3. + +Projekt ten jest całkowicie **otwarty źródłowo** i wszelki wkład w rozwój jest mile widziany. Możesz bez przeszkód prowadzić swoją własną dostosowaną wersję, o ile zmiany jakie wprowadzisz będą otwarte dla publiki zgodnie z GNU General Public License ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)). + +Modyfikacja ta jest **budowana modułowo**, dzięki temu prawie każdy dostarczony plik PBO może zostać łatwo usunięty z konfiguracji. Dzięki temu, grupa może prowadzić własną, dostosowaną do siebie, wersję ACE wyłączając elementy, których nie potrzebują, lub które po prostu nie działają z innymi addonami. Moduły same w sobie np. system medyczny, posiadają wiele możliwości konfiguracji, pozwalając mission designerom dostosować ogólne doświadczenie z gry. + +### Główne cechy +* Całkowicie nowy system akcji/interakcji 3D +* Wydajna i niezawodna struktura +* Skupienie na modułowości i customizacji +* Elastyczny system ustawień i konfiguracji opcji u klienta i serwera +* Ulepszony system medyczny z różnymi stopniami zaawansowania (podstawowy/rozszerzony) skupiony na grywalności i realizmowi +* Prawidłowa i spójna synchronizowana pogoda +* Balistyka oparta na warunkach pogodowych i wietrze +* Możliwość brania jeńców +* Rozszerzony system ładunków wybuchowych, włączając w to użycie różnego rodzaju zapalników +* Ulepszenia mapy - stawianie markerów i przybory mapy +* Zaawansowane naprowadzanie rakiet i wskazywanie laserem + +#### Dodatkowe cechy +* Przeciąganie i przenoszenie +* Realistyczne nazwy pojazdów i broni +* System kontroli ognia (SKO) dla pojazdów opancerzonych oraz śmigłowców +* Realistyczna balistyka/SKO obliczana w rozszerzeniach C/C++ +* Symulacja strefy backblastu i podciśnienia +* Jednorazowe wyrzutnie +* Realistyczne siły G +* Zamykanie pojazdów na kluczyk +* Realistyczne tryby termowizji oraz noktowizji +* Przepakowywanie magazynków +* Realistyczna mechanika przegrzewania broni +* Symulacja głuchoty bitewnej (tymczasowej utraty słuchu) +* Ulepszona fizyka ragdoll +* Ulepszona interakcja dla asystentów i amunicyjnych +* Regulowane celowniki snajperskie +* Usunięte animacje bezczynności z opuszczoną bronią +* Usunięte głosy awatara gracza +* Skakanie przez przeszkody, wspinanie się na ściany i przecinanie płotów +* Urządzenia Vector, MicroDAGR, Kestrel
+***i wiele wiele więcej...*** + +### Poradniki i instrukcje +Jeżeli zainstalowałeś ACE3 lecz masz problem ze zrozumieniem jak to wszystko działa, lub gdzie zacząć, zacznij od przeczytania tego: +* [Wprowadzenie](http://ace3mod.com/wiki/user/getting-started.html) + +#### Współpraca +Możesz pomóc w rozwoju addonu szukając potencjalnych bugów w naszym kodzie, lub zgłaszając nowe funkcje. Aby wnieść swój wkład do ACE, po prostu zforkuj to repozytorium na swoje konto GitHub i zgłoś swoje pull requesty do przeglądu przez innych współpracowników. Pamiętaj, aby dodać siebie do listy autorów każdego PBO jakie edytujesz oraz do pliku ['AUTHORS.txt'](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) dodając także swój adres e-mail. + +Używaj naszego [Issue Tracker-a](https://github.com/acemod/ACE3/issues) aby zgłaszać bugi, proponować nowe funkcje lub sugerować zmiany do aktualnie istniejących. Zobacz także: +* [Jak zgłosić bug-a](http://ace3mod.com/wiki/user/how-to-report-an-issue.html) +* [Jak zgłosić feature request-a](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html) + +#### Testowanie i budowanie +Aby pomóc nam w testowaniu najnowszych zmian rozwojowych, pobierz nasz master branch ([bezpośrednio](https://github.com/acemod/ACE3/archive/master.zip), lub [korzystając z git](https://help.github.com/articles/fetching-a-remote/)), a następnie złóż testowego build-a: +* [Konfiguracja środowiska do testów](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – intrukcja krok-po-kroku jak poprawnie ustawić i zbudować wersję ACE do celów testowych. \ No newline at end of file diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md new file mode 100644 index 0000000000..78f8022856 --- /dev/null +++ b/documentation/development/ace3-config-entries.md @@ -0,0 +1,112 @@ +--- +layout: wiki +title: ACE3 Config Entries +group: development +parent: wiki +order: 2 +--- + +### CfgVehicles + +```c++ +ace_nightvision_grain +ace_nightvision_blur +ace_recoil_enablecamshake +ace_dragging_cancarry +ace_dragging_carryposition +ace_dragging_carrydirection +ace_dragging_candrag +ace_dragging_dragposition +ace_dragging_dragdirection +ace_gforcecoef +ace_offset +``` + + +### CfgWeapons + +```c++ +ace_recoil_shakemultiplier +ace_overpressure_angle +ace_overpressure_range +ace_overpressure_damage +ace_overheating_dispersion +ace_overheating_slowdownfactor +ace_overheating_jamchance +ace_nightvision_grain +ace_nightvision_blur +ace_nightvision_radblur +ace_usedtube +ace_reloadlaunchers_enabled +ace_bipod +ace_overheating_allowswapbarrel +ace_clearjamaction +ace_checktemperatureaction +ace_gforcecoef +ace_protection +ace_scopeadjust_horizontal +ace_scopeadjust_vertical +ace_scopeadjust_increment +ace_isusedlauncher +ace_attachable +ace_range +ace_detonator +ace_barrelTwist +ace_twistDirection +ace_barrelLength +``` + + +### CfgAmmo + +```c++ +ace_recoil_shakemultiplier +ace_frag_skip +ace_frag_force +ace_frag_classes +ace_frag_metal +ace_frag_charge +ace_frag_gurney_c +ace_frag_gurney_k +ace_explodeondefuse +ace_explosive +ace_fcs_airburst +ace_caliber +ace_bulletlength +ace_bulletmass +ace_transonicstabilitycoef +ace_ammotempmuzzlevelocityshifts +ace_ballisticcoefficients +ace_velocityboundaries +ace_standardatmosphere +ace_dragmodel +ace_muzzlevelocities +ace_barrellengths +``` + + +### CfgGlasses + +```c++ +ace_color +ace_tintamount +ace_overlay +ace_overlaydirt +ace_overlaycracked +ace_resistance +ace_protection +ace_dustpath +``` + + +### CfgMagazines + +```c++ +ace_isbelt +ace_attachable +ace_placeable +ace_setupobject +ace_delaytime +ace_triggers +ace_magazines_forcemagazinemuzzlevelocity +``` diff --git a/documentation/development/ace3-events-system.md b/documentation/development/ace3-events-system.md new file mode 100644 index 0000000000..33412aa8fa --- /dev/null +++ b/documentation/development/ace3-events-system.md @@ -0,0 +1,215 @@ +--- +layout: wiki +title: ACE3 Events System +group: development +parent: wiki +order: 3 +--- + +## Event Handlers + +Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality. + +The commands are listed below. + +* `[eventName, eventCodeBlock] call ace_common_fnc_addEventHandler`
adds an event handler with the event name and returns the event handler id. +* `[eventName, args] call ace_common_fnc_globalEvent`
calls an event with the listed args on all machines, the local machine, and the server. +* `[eventName, args] call ace_common_fnc_serverEvent`
calls an event just on the server computer (dedicated or self-hosted). +* `[eventName, targetObject(s), args] call ace_common_fnc_targetEvent`
calls an event just on the targeted object or list of objects. +* `[eventName, args] call ace_common_fnc_localEvent`
calls an event just on the local machine, useful for inter-module events. + +Events can be removed or cleared with the following commands. + +* `[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler`
will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addEventHandler`. +* `[eventName] call ace_common_fnc_removeAllEventHandlers`
will remove all event handlers for that type of event. + +### Synchronized Events +* `[eventName, eventCodeBlock, ttlNumberOrCodeBlock] call ace_common_fnc_addSyncedEventHandler`
adds a globally synchronized event handler which will expire events after the provided TTL, or the code returns true. +* `[eventName] call ace_common_fnc_removeSyncedEventHandler`
will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addSyncedEventHandler`. +* * `[eventName, args, ttlNumberOrCodeBlock] call ace_common_fnc_syncedEvent`
calls a global synchronized event, which will also be run on JIP players unless it has expired; event will expire after the provided TTL, or the code returns true. + +### Pattern: +```c++ +// tapper machine +["tapShoulder", [_target], [otherArguments]] call EFUNC(common,targetEvent); + +// target machine XEH_preInit.sqf +PREP(onTapShoulder); +["tapShoulder", FUNC(onTapShoulder) ] call EFUNC(common,addEventHandler); +``` + +### Listenable Event List: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event KeyDescriptionSource(s)Passed Parameter(s) (_this)Locality
"playerChanged"`player` changed (zeus/respawn)common[_newPlayer, _oldPlayer]local
"PlayerJIP"Player was a JIP player, and `player` object is now created.common[_player]local
"playerInventoryChanged"Inventory changedcommongetAllGear-Arraylocal
"playerVisionModeChanged"Vision mode changed (e.g. NVG on)common[_unit, _newVisionMode]local
"inventoryDisplayChanged"Inventory display opened/closedcommon[_unit, _isOpen]local
"zeusDisplayChanged"Zeus display opened/closedcommon[_unit, _isOpen]local
"cameraViewChanged"Camera view changedcommon[_unit, _newCameraView]local
"playerVehicleChanged"Player vehicle changedcommon[_unit, _newVehicle]local
"playerTurretChanged"Player turret changedcommon[_unit, _newTurretIndexArray]local
"infoDisplayChanged"On info box change (e.g. entering and leaving a vehicle)common[_display, _type]local
"inventoryDisplayLoaded"On opening the inventory displaycommon[_display]local
"mapDisplayLoaded"On loading the map (briefing and mission start)common[_display, _mapType]local
"interactionMenuOpened"Interaction Menu Openedinteractionlocal
"killedByFriendly"On TK/Civilian Killedrespawnlocal
"drawing_requestMarkers"Request Drawing Markersmaptarget
"drawing_sendbackMarkers"Send Drawing Markersmaptarget
"drawing_addLineMarker"Line Drawnmapglobal
"drawing_removeLineMarker"Line Deletedmapglobal
"flashbangExplosion"Flashbang Goes Banggrenadestarget
+ +### Callable Event List: + + + + + + + + + + + + + + + + + + + + +
Event KeyDescriptionParametersOwnerLocality
"ace_fcs_forceChange"force FCS updatesfcsfcslocal
diff --git a/documentation/development/arma-3-issues.md b/documentation/development/arma-3-issues.md new file mode 100644 index 0000000000..3b4a6f036b --- /dev/null +++ b/documentation/development/arma-3-issues.md @@ -0,0 +1,27 @@ +--- +layout: wiki +title: Arma 3 Issues +group: development +parent: wiki +order: 6 +--- + + +Keeping track of Arma 3 issues that need to be fixed. If you want to support us and help raise Bohemia's awareness of those issues, please upvote them: + +**Open:** + +* [bux578: 0020997: MineDetector equipable in Launcher slot](http://feedback.arma3.com/view.php?id=20997) +* [bux578: 0021176: Zeus / Curator Add Remote Controlled Event](http://feedback.arma3.com/view.php?id=21176) +* [bux578: 0021469: Add script commands "addPrimaryWeaponMagazine" and "addSecondaryWeaponMagazine"](http://feedback.arma3.com/view.php?id=21469) +* [bux578: 0022000: Add/Alter script command to add perfectly configured weapons to cargo](http://feedback.arma3.com/view.php?id=22000) +* [commy2: 0021443: Unexpected behavior of += array in configs](http://feedback.arma3.com/view.php?id=21443) +* [commy2: 0022671: setVariable is not always JIP persistent](http://feedback.arma3.com/view.php?id=22671) +* [CorruptedHeart: 0022318: Can no longer use "MenuBack" shortcut in AddAction](http://feedback.arma3.com/view.php?id=22318) +* [James2464: 0023725: All Environment Rocks Should Have PhysX LODs](http://feedback.arma3.com/view.php?id=23725) +* [Jaynus: 0023679: Display event handler return values for mouse buttons should be respected](http://feedback.arma3.com/view.php?id=23679) + +**Resolved:** + +* [Nou: 0020761: Memory points rfemur, lfemur, and other leg memory points returned incorrectly with SQF command selectionPosition](http://feedback.arma3.com/view.php?id=20761) +* [commy2: 0023136: isLightOn doesn't recognize destroyed light bulbs for streetlamps](http://feedback.arma3.com/view.php?id=23136) diff --git a/documentation/development/arma-3-scheduler-and-our-practices.md b/documentation/development/arma-3-scheduler-and-our-practices.md new file mode 100644 index 0000000000..bef0224819 --- /dev/null +++ b/documentation/development/arma-3-scheduler-and-our-practices.md @@ -0,0 +1,94 @@ +--- +layout: wiki +title: Arma 3 Scheduler And Our Practices +group: development +parent: wiki +order: 8 +--- + +## Terminology + +#### Frame +A single rendered frame of Arma 3. + +#### Scheduled Space + +This refers to execution would is ruled by the Arma 3 default script scheduling engine. This would include: +* spawn +* execVM + +#### Unscheduled Space +This refers to execution which is linear; what this means is that the code will run to completion prior to executing the current frame. It must complete, but is guaranteed to run within a given frame. +* perFrameHandler +* Extended_EventHandlers +* addEventHandler + + +## What is the scheduler and why do I care? + +BIKI Article: https://community.bistudio.com/wiki/Biki2.0:Performance_Considerations + +The Arma 3 script scheduler basically gives a fair-share execution to all running scripts, FSMs, and SQS files running on any given client or server at any given time. See the BIKI article for a in-depth explanation of this. What this basically means though, is that all scripts get a fair share; this also means scheduled execution is drastically affected by other poorly written mods. For example, if 2 different spawn's are running in a tight loop of `do { foo } while (true);`, they will both get exactly 50% of the scheduling time. + +With the way mission makers and mod makers generally use spawn/execVM, this means you're actually getting drastically less execution time in the scheduled environment than you might think. This leads to visible delay issues all the way up to massive delay on execution. You can easily test and prove this by looping spawns and watching the execution times extend. + +What does this all mean? It means we need to live outside of the spawn execution as much as possible. There are 2 places that the majority of our functionality should stem from, which means that as long as we strictly always perform calls between functions, we are executing within the same frame. If our execution is either stemming from the perFrameHandlers, or any default Extended_EventHandlers, than we can guarantee execution within a single frame. *ANY OTHER CIRCUMSTANCE IS NOT GUARANTEED.* + +The scheduler will also actually halt your script mid-execution, usually at the end of a given control block, and pause you to yield to other scripts. This can lead to drastically incorrect results when performing calculations. Again, this is the reason we want all our given code to run to completion in a single given frame. + +## Design Patterns + +Because we are attempting to always run to completion; execution occurs from 2 places. Either PFH handles or event handlers; in both cases, we wish our code to run to completion. This takes a change in mind set for design to ensure your executing that way. In a nutshell though, this all distills down to the fact that you will always call other chunks of code; nothing will ever be spawned off. The only circumstance this really becomes a problem is for waiting or delay. If designed correctly, though, you can avoid those circumstances. + +Rules of thumb for component design: + +* If you need to wait for a value, don't wait, use a CBA event! This means everything should be designed and written with an event-driven model in mind. + +* If you have to wait, use a PFH delay/diag_tickTime check. + + +### PFH-Design Pattern + +Line Notes: + +* PerFrameHandlers should be self-removing. If a PFH is no longer needed, it is responsible for removing itself. + + + +### ACE3 General Rules + +* Always use call whenever possible. We should be calling functions chains exclusive and not be relying on spawn/execVM ever. Consider spawn/execVM banned without good reason. All code should be a chain of execution which is traceable, and not triggered between seperate threads. +* waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning** *Sleep/waituntil surrender about 5x the scheduler time than even normal execution does. * +* If we need a spawn or exec, we should utilize the perFrame scheduler. Spawn/execVM are subject to the Arma 3 scheduler and as such, cannot be relied upon. In order to give our players a consistent gameplay experience, we need to have total control over how and when all of our code runs. +* PFH should be utilized at all possible times when the player can see the result of whatever the code is. This applies to missile guidance, bullets, wind, optics, interactive UI, HUD's, and rendering. We should only consider scheduled execution if the code is running out of the visual range of the player. + + +### Code Examples + +##### Generic PFH functions +See: https://dev.withsix.com/docs/cba/files/common/fnc_addPerFrameHandler-sqf.html for more details. + +```c++ +[{ code } , delayTime, [ARGS] ] call CBA_fnc_addPerFrameHandler; +``` + + +##### PFH Wait + +```c++ +DFUNC(myDelayedFunction) = { + // Our argument array is passed in a PFH as select 0 + _args = _this select 0; + + // Print our arguments + diag_log text format["I received: %1", (_args select 0)]; + + // Delete this PFH, so it is only executed once + [_this select 1] call CBA_fnc_removePerFrameHandler; +}; + +// This runs the PFH once every 5 seconds, with the variable array ["balls"] being passed in +// This executes FUNC(myDelayedFunction), that could also be a { code } block. +// Parameter 2 is the delay (in seconds) for a PFH. This is "execute every N seconds", 0 will be every frame. +[FUNC(myDelayedFunction), 5, ["balls"] ] call CBA_fnc_addPerFrameHandler; +``` diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md new file mode 100644 index 0000000000..e39581a9d4 --- /dev/null +++ b/documentation/development/coding-guidelines.md @@ -0,0 +1,274 @@ +--- +layout: wiki +title: Coding Guidelines +group: development +parent: wiki +order: 1 +--- + +## Table Of Contents + +- [Indentation](#indentation) +- [Braces](#braces) +- [Modules](#how-to-create-a-new-module) +- [Macros](#macro-usage) +- [Events](#event-handlers) +- [Hashes](#hashes) + + +## Indentation + +4 spaces for indentation. + +```c++ +class Something: Or { +....class Other { +........foo = "bar"; +....}; +}; +``` + +#### Reasoning + +Tabs can be tricky sometimes, especially when it comes to sharing code with others. Additionally, a lot of people tend to forget they're using tabs when they're aligning things after the first character, which causes things to fall apart when viewing the code at different tab lengths. + + +## Braces + +- opening brace on the same line as keyword +- closing brace in own line, same level of indentation as keyword + +**Yes:** + +```c++ +class Something: Or { + class Other { + foo = "bar"; + }; +}; +``` + +**No:** + +```c++ +class Something : Or +{ + class Other + { + foo = "bar"; + }; +}; +``` + +**Also no:** + +```c++ +class Something : Or { + class Other { + foo = "bar"; + }; + }; +``` + +When using `if`/`else`, it is encouraged to put `else` on the same line as the closing brace to save space: + +```c++ +if (alive player) then { + player setDamage 1; +} else { + hint ":("; +}; +``` + +In cases where you , e.g, have a lot of one-liner classes, it is allowed to use something like this to save space: + +```c++ +class One {foo = 1;}; +class Two {foo = 2;}; +class Three {foo = 3;}; +``` + +#### Reasoning + +Putting the opening brace in it's own line wastes a lot of space, and keeping the closing brace on the same level as the keyword makes it easier to recognize what exactly the brace closes. + + +## How to create a new module + +1. Copy the structure from `extras\blank` to the `addons\` folder and name it what you wish the new module to be named. +1. Edit `script_component.hpp`, change the `COMPONENT` definition to the name of the module. Also edit each of the `DEBUG` definitions to be the name of the module (for example, `DEBUG_SETTINGS_BLANK` should be `DEBUG_SETTINGS_BALLS` for module balls) +1. Edit the `script_component.hpp` file in the the `functions` directory to match the path of the new module, for example `#include "\z\ace\addons\blank\script_component.hpp"` for module called balls should now be `#include "\z\ace\addons\ballls\script_component.hpp"`. +1. The module is now prepared for development + + +### Function Definitions + +Functions should be created in the functions\ subdirectory, named `fnc_FunctionName.sqf` They should then be indexed via the `PREP(FunctionName)` macro in the XEH_preInit.sqf file. The `PREP` macro allows for CBA function caching, which drastically speeds up load times. **Beware though that function caching is enabled by default and as such to disable it you need to `#define DISABLE_COMPILE_CACHE` above your `#include "script_components.hpp"` include!** + +Every function should have a header of the following format: + +```cpp +/* + * Author: [Name of Author(s)] + * [Description] + * + * Arguments: + * 0: The first argument + * 1: The second argument + * + * Return Value: + * The return value + * + * Example: + * _bool = ["something", player] call ace_common_fnc_imanexample + * + * Public: [Yes/No] + */ +``` + + +## Macro Usage + +### Module/PBO specific Macro Usage +The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls' + +* `GVAR(face)` is `ace_balls_face` +* `QGVAR(face)` is `"ace_balls_face"` +* `EGVAR(balls,face)` is `ace_balls_face` +* `EGVAR(leg,face)` is `ace_leg_face` +* `QEGVAR(leg,face)` is `"ace_leg_face"` + + +There also exists the FUNC family of Macros +* `FUNC(face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. +* `EFUNC(balls,face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. +* `EFUNC(leg,face)` is `ace_leg_fnc_face` or the call trace wrapper for that function. +* `DFUNC(face)` is `ace_balls_fnc_face` and will ALWAYS be the function global variable. +* `DEFUNC(leg,face)` is `ace_leg_fnc_face` and will ALWAYS be the function global variable. +* `QFUNC(face)` is `"ace_balls_fnc_face"` +* `QEFUNC(leg,face)` is `"ace_leg_fnc_face"` + +The `FUNC` and `EFUNC` macros should NOT be used inside `QUOTE` macros if the intention is to get the function name or assumed to be the function variable due to call tracing (see below). If you need to 100% always be sure that you are getting the function name or variable use the `DFUNC` or `DEFUNC` macros. For example `QUOTE(FUNC(face)) == "ace_balls_fnc_face"` would be an illegal use of `FUNC` inside `QUOTE`. + +Using `FUNC` or `EFUNC` inside a `QUOTE` macro is fine if the intention is for it to be executed as a function. + +#### FUNC Macros, Call Tracing, and Non-ACE/Anonymous Functions + +ACE implements a basic call tracing system that can dump the call stack on errors or wherever you want. To do this the `FUNC` macros in debug mode will expand out to include metadata about the call including line numbers and files. This functionality is automatic with the use of calls via `FUNC` and `EFUNC`, but any calls to other functions need to use the following macros: + +* `CALLSTACK(functionName)` example: `[] call CALLSTACK(cba_fnc_someFunction)` +* `CALLSTACK_NAMED(function,functionName)` example: `[] call CALLSTACK_NAMED(_anonymousFunction,'My anonymous function!')` + +These macros will call these functions with the appropriate wrappers and enable call logging into them (but to no further calls inside obviously). + +### General Purpose Macros + +[CBA script_macros_common.hpp](https://gist.github.com/commy2/9ed6cc73fbe6a2b3f4e1) + +* `QUOTE()` is utilized within configuration files for bypassing the quote issues in configuration macros. So, all code segments inside a given config should utilize wrapping in the QUOTE() macro instead of direct strings. This allows us to use our macros inside the string segments, such as `QUOTE(_this call FUNC(balls))` + +#### setVariable, getVariable family macros + +* `GETVAR(player,MyVarName,false)` + `player getVariable ["MyVarName", false]` +* `GETMVAR(MyVarName,objNull)` + `missionNamespace getVariable ["MyVarName", objNull]` +* `GETUVAR(MyVarName,displayNull)` + `uiNamespace getVariable ["MyVarName", displayNull]` +* `SETVAR(player,MyVarName,127)` + `player setVariable ["MyVarName", 127]` +* `SETPVAR(player,MyVarName,127)` + `player setVariable ["MyVarName", 127, true]` +* `SETMVAR(MyVarName,player)` + `missionNamespace setVariable ["MyVarName", player]` +* `SETUVAR(MyVarName,_control)` + `uiNamespace setVariable ["MyVarName", _control]` + + +## Event Handlers + +Event handlers in ACE are implemented through our event system. They should be used to trigger or allow triggering of specific functionality. + +The commands are listed below. + +* `[eventName, eventCodeBlock] call ace_common_fnc_addEventHandler` adds an event handler with the event name and returns the event handler id. +* `[eventName, args] call ace_common_fnc_globalEvent` calls an event with the listed args on all machines, the local machine, and the server. +* `[eventName, args] call ace_common_fnc_serverEvent` calls an event just on the server computer (dedicated or self-hosted). +* `[eventName, targetObject(s), args] call ace_common_fnc_targetEvent` calls an event just on the targeted object or list of objects. +* `[eventName, args] call ace_common_fnc_localEvent` calls an event just on the local machine, useful for inter-module events. + +Events can be removed or cleared with the following commands. + +* `[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler` will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addEventHandler`. +* `[eventName] call ace_common_fnc_removeAllEventHandlers` will remove all event handlers for that type of event. + +More information on the [ACE Events System](https://github.com/KoffeinFlummi/ACE3/wiki/ACE-Events-System) page. + +## Hashes + +Hashes are a variable type that store key value pairs. They are not implemented natively in SQF, so there are a number of macros and functions for their usage in ACE. If you are unfamiliar with the idea, they are similar in function to `setVariable`/`getVariable` but do not require an object to use. + +The following example is a simple usage using our macros which will be explained further below. + +```c++ +_hash = HASHCREATE; +HASH_SET(_hash, "key", "value"); +if(HASH_HASKEY(_hash, "key")) then { + player sideChat format["val: %1", HASH_GET(_hash, "key"); // will print out "val: value" +}; +HASH_REM(_hash, "key"); +if(HASH_HASKEY(_hash, "key")) then { + // this will never execute because we removed the hash key/val pair "key" +}; +``` + +A description of the above macros is below. + +* `HASHCREATE` is used to create an empty hash. +* `HASH_SET(hash, key, val)` will set the hash key to that value, a key can be anything, even objects. +* `HASH_GET(hash, key)` will return the value of that key (or nil if it doesn't exist). +* `HASH_HASKEY(hash, key)` will return true/false if that key exists in the hash. +* `HASH_REM(hash, key)` will remove that hash key. + +### Hashlists + +A hashlist is an extension of a hash. It is a list of hashes! The reason for having this special type of storage container rather than using a normal array is that an array of normal hashes that are are similar will duplicate a large amount of data in their storage of keys. A hashlist on the other hand uses a common list of keys and an array of unique value containers. The following will demonstrate it's usage. + +```c++ +_defaultKeys = ["key1","key2","key3"]; +// create a new hashlist using the above keys as default +_hashList = HASHLIST_CREATELIST(_defaultKeys); + +//lets get a blank hash template out of this hashlist +_hash = HASHLIST_CREATEHASH(_hashList); + +//_hash is now a standard hash... +HASH_SET(_hash, "key1", "1"); + +//to store it to the list we need to push it to the list +HASHLIST_PUSH(_hashList, _hash); + +//now lets get it out and store it in something else for fun +//it was pushed to an empty list, so it's index is 0 +_anotherHash = HASHLIST_SELECT(_hashList, 0); + +// this should print "val: 1" +player sideChat format["val: %1", HASH_GET(_anotherHash, "key1")]; + +//Say we need to add a new key to the hashlist +//that we didn't initialize it with? We can simply +//set a new key using the standard HASH_SET macro +HASH_SET(_anotherHash, "anotherKey", "another value"); +``` + +As you can see above working with hashlists are fairly simple, a more in depth explanation of the macros is below. + +* `HASHLIST_CREATELIST(keys)` creates a new hashlist with the default keys, pass [] for no default keys. +* `HASHLIST_CREATEHASH(hashlist)` returns a blank hash template from a hashlist. +* `HASHLIST_PUSH(hashList, hash)` pushes a new hash onto the end of the list. +* `HASHLIST_SELECT(hashlist, index)` returns the hash at that index in the list. +* `HASHLIST_SET(hashlist, index, hash)` sets a specific index to that hash. + +#### A note on pass by reference and hashes + +Hashes and hashlists are implemented with SQF arrays, and as such they are passed by reference to other functions. Remember to make copies (using the + operator) if you intend for the hash or hashlist to be modified with out the need for changing the original value. diff --git a/documentation/development/extension-guidelines.md b/documentation/development/extension-guidelines.md new file mode 100644 index 0000000000..b5e7e98586 --- /dev/null +++ b/documentation/development/extension-guidelines.md @@ -0,0 +1,59 @@ +--- +layout: wiki +title: Extension Guidelines +group: development +parent: wiki +order: 9 +--- + +## Basics + +### Requirements + +- A compiler (VS/GCC/Clang) + - If starting with Visual Studio, you need to make sure to use the Visual studio command prompt +- cmake 3.0 or later in your path + +### Cross-Platform Guidelines + +### C++ basic style and naming guide + +### ace_common cpp library + +--- + +## Building Extensions on Windows + +### Compiling + +#### Windows - Creating a Visual Studio Project +1. Open your compiling command prompt (which has cmake and your compiler) +2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options. + +``` +cd extensions\build +cmake .. -G "Visual Studio 2014" +``` + +A Visual studio project file will now be generated in your build directory. + +#### Windows - Visual Studio - Compile only (nmake) +1. Open your compiling command prompt (which has cmake and your compiler) +2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options. + +``` +cd extensions\build +cmake .. -G "NMake Makefiles" +nmake +``` + +The extensions will not be built in its appropriate project folder, for example: + +``` +extensions\ + build\ + fcs\ace_fcs.dll + somethingElse\ace_somethingElse.dll +``` + +### Creating a New Extension diff --git a/documentation/development/how-to-translate-ace3.md b/documentation/development/how-to-translate-ace3.md new file mode 100644 index 0000000000..b7e23fa575 --- /dev/null +++ b/documentation/development/how-to-translate-ace3.md @@ -0,0 +1,26 @@ +--- +layout: wiki +title: How to translate ACE3 +group: development +parent: wiki +order: 20 +--- + +This page describes in short how you can help translating ACE3 into your language. + +1. If you don't already have a GitHub account create one at http://github.com +2. Open the ACE3 repository at https://github.com/acemod/ACE3 +3. In the top right corner press the "Fork" button +4. You are being redirected to your personal fork, a version that is hosted on your GitHub account (it says "yourUsername/ACE3") +5. Clone that fork to your PC (There are a lot of tools and tutorials how to do this (e.g. [GitHub for Windows](https://windows.github.com))) +6. Download [tabler](https://github.com/bux578/tabler/releases) and extract it somewhere +7. Open the tabler.exe and in the menu click "File > Open language files" +8. Point tabler to the cloned ACE3 directory +9. Start translating +10. When done go to the menu and click "File > Save language files" +11. Commit your changes to your local cloned repository +12. Sync (Push) your commit(s) to your fork +13. Create a Pull Request for your changes + +(The last three steps require some git knowledge, but there are a lot of tutorials out there) +[GitHub for Windows help](https://windows.github.com/help.html) diff --git a/documentation/development/merging-pull-requests.md b/documentation/development/merging-pull-requests.md new file mode 100644 index 0000000000..6bc34464f0 --- /dev/null +++ b/documentation/development/merging-pull-requests.md @@ -0,0 +1,36 @@ +--- +layout: wiki +title: Merging Pull Requests +group: development +parent: wiki +order: 5 +--- + +Who's responsible for merging pull requests. + +All authors must add themselves to the AUTHORS.txt file **with a valid email adress**. + + +#### Changes To Existing Addons + +The people responsible for merging changes to existing addons are the maintainers listed in the README.md file of the respective addon folder. + +If the changes consists of trivial changes, such as spelling or indentation fixes: + +```diff + valueA = 12; + valueB = 31; +- valueC =2; ++ valueC = 2; +``` + +... the PR can be merged right away by one of the maintainers. + +Non-trivial pull requests remain open for a minimum of 48 hours, to give all other contributors time to comment on potential issues, and are then merged by a maintainer, should no issues arise. + + +#### New Addons / Other Changes + +If a pull request adds a new addon, or changes something else, like the README, everyone has 72 hours to comment on the changes. After that, one of the team leads ([NouberNou](https://github.com/NouberNou), [KoffeinFlummi](https://github.com/KoffeinFlummi), [Glowbal](https://github.com/Glowbal)) will merge it. + +Trivial changes such as spelling fixes can be merged immediately by any contributor. diff --git a/documentation/development/modularity-and-pbo-structure.md b/documentation/development/modularity-and-pbo-structure.md new file mode 100644 index 0000000000..036ebb35d4 --- /dev/null +++ b/documentation/development/modularity-and-pbo-structure.md @@ -0,0 +1,30 @@ +--- +layout: wiki +title: Modularity And PBO Structure +group: development +parent: wiki +order: 4 +--- + +### Modularity + +Main principles: +- As much stuff as possible should be modular +- Strive to make as much stuff as possible run-time togglable. Adding/removing PBOS would still be requiring to toggle any feature relying on config changes. + +### PBO Structure + +Main principles: + +- Try to keep single module dependencies as much as possible +- Interaction would be the requirement for most modules. +- Anything that is 100% config should require Common and not Interaction. + +``` +Main -> Common -> OptionsMenu -> Interaction -> Most things + +Main -> Common -> Config things + +Main -> Common -> 3D Models | + Interaction | -> Feature +``` diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md new file mode 100644 index 0000000000..fe76ca6a20 --- /dev/null +++ b/documentation/development/setting-up-the-development-environment.md @@ -0,0 +1,122 @@ +--- +layout: wiki +title: Setting Up The Development Environment +group: development +parent: wiki +order: 0 +--- + +This page describes how you can setup your development environment for ACE3, allowing you to properly build ACE and utilize file patching. + + +## Table Of Contents +- [Requirements](#requirements) +- [Why so complicated?](#why-so-complicated) +- [Getting ACE](#getting-ace) +- [Initial Setup](#initial-setup) + - [Manual Setup](#manual-setup) +- [Creating a Test Build](#creating-a-test-build) +- [Creating a Release Build](#creating-a-release-build) +- [File Patching](#file-patching) + - [Enabling File Patching](#enabling-file-patching) + - [Restrictions of File Patching](#restrictions-of-file-patching) + + +## Requirements + +- Arma 3 (duh) +- A proper installation of the Arma 3 Tools (available on Steam) +- A properly setup P-drive +- Python 3.x, available [here](http://www.python.org) +- The following Mikero Tools (available [here](https://dev.withsix.com/projects/mikero-pbodll/files)): DePBO, Rapify, MakePBO, PBOProject +- A properly setup PATH variable (containing Python and the Mikero tools) + + +## Why so complicated? + +If you have contributed to AGM you might be used to an easier build process, where there was even an .exe you could use for building. ACE3, however, makes use of CBA macros to simplify things and give the developer access to a better debug process, which requires a stricter build environment. Additionally, Mikero's tools are stricter and report more errors than AddonBuilder does. The structure of this development environment also allows for [file patching](#file-patching), which is very useful for debugging. + +Not offering .exes for the Python scripts we use allows us to make easy changes without the hassle of compiling self-extracting exes all the time. + + +## Getting ACE + +To actually get the ACE source code on your machine, it is recommended that you use Git. Tutorials for this are all around the web, and it allows you to track your changes and easily update your local copy. + +If you just want to create a quick and dirty build, you can also directly download the source code using the "Download ZIP" button on the front page of the GitHub repo. + + +## Initial Setup + +After ensuring that you have installed all requirements, execute the `setup.py` script found in the `tools` folder. This will do most of the heavy lifting for you, create the links you need and copy the required CBA code to the proper place. Please note that these links are tied to the location of your ACE3 source code, so make sure that the project folder is where you want it to be. We recommend that you store the ACE3 project on your P-drive. + +#### Manual Setup + +Should the script fail, here is how you create the required links manually: + +First, to set up the links, create `z` folders both in your Arma 3 directory and on your P-drive. Then run the following commands as admin, replacing the text in brackets with the appropriate paths: + +Windows 8: + +``` +mklink /D /J "[Arma 3 installation folder]\z\ace" "[location of the ACE3 project]" +mklink /D /J "P:\z\ace" "[location of the ACE3 project]" +``` + +Windows 7 and Vista: + +``` +mklink /D "[Arma 3 installation folder]\z\ace" "[location of the ACE3 project]" +mklink /D "P:\z\ace" "[location of the ACE3 project]" +``` + +Then, copy the `cba` folder from the `tools` folder to `P:\x\cba`. Create the `x` folder if needed. That folder contains the parts of the CBA source code that are required for the macros to work. + + +## Creating a Test Build + +To create a development build of ACE to test changes or to debug something, run the `build.py` file in the `tools` folder. This will populate the `addons` folder with binarized PBOs. These PBOs still point to the source files in their respective folders however, which allows you to use [file patching](#file-patching). + +This also means that you cannot distribute this build to others. + +To start the game using this build, you can use the following modline: + +``` +-mod=@cba_a3;z\ace +``` + + +## Creating a Release Build + +To create a complete build of ACE that you can use without the source files, run the `make.py` file in the `tools` folder. This will populate the `release` folder with binarized PBOs that you can redistribute. These handle like those of any other mod. + + +## File Patching + +File Patching allows you to change the files in an addon while the game is running, requiring only a restart of the mission. This makes it great for debugging, as it cuts down the time required between tests. Note that this only works with PBOs created using MakePBO, as outlined in [Creating a Test Build](#creating-a-test-build). + +#### Enabling File Patching + +There are two ways to enable file patching: +- Load cba_cache_disable.pbo (included in CBA's optional folder) +- Add the following to your test missions description.ext: + +```c++ +class CfgSettings { + class CBA { + class Caching { + compile = 0; + xeh = 0; + functions = 0; + }; + }; +}; +``` + +#### Restrictions of File Patching + +Files must exist in the built PBOs for filepatching to work. If you create a new file you must rebuild the PBO or Arma will not find it in your file paths. + +Configs are not patched during run time, only at load time. You do not have have to rebuild a PBO to make config changes, just restart Arma. You can get around this though if you are on the dev branch of Arma 3 and running the diagnostic exe. That includes `diag_mergeConfig` which takes a full system path (as in `p:\z\ace\addons\my_module\config.cpp`) and allows you selectivly reload config files. + +If you need to add/remove files* Then you'll need to run build.bat again without the game running, and restart. That is all that is required to add new files to then further use in testing. diff --git a/documentation/feature/javelin.md b/documentation/feature/javelin.md new file mode 100644 index 0000000000..b253a25fc9 --- /dev/null +++ b/documentation/feature/javelin.md @@ -0,0 +1,21 @@ +--- +layout: wiki +title: Javelin/Titan Locking and Firing +group: feature +order: 5 +parent: wiki +--- + +## 1. Overview +Blah blah blah + +Steps to lock titan/Javelin: + +1. You must be zoomed ALL THE WAY IN +2. You must be in thermal view +3. You must have a missile loaded +4. Hold TAB over a target, it will start beeping and the constraint boxes will appear +5. Once the beeping changes to LOCK tone, and the lock crosshairs appear, click fire without releasing tab + + +CTRL+TAB is default key to change firemode (configurable as a key) diff --git a/documentation/feature/medical-system.md b/documentation/feature/medical-system.md new file mode 100644 index 0000000000..3d756b70c8 --- /dev/null +++ b/documentation/feature/medical-system.md @@ -0,0 +1,70 @@ +--- +layout: wiki +title: Medical System +group: feature +order: 4 +parent: wiki +--- + +## 1. Overview +ACE provide users with a more realistic medical system and comes in both a basic and advanced version. This page will detail the differences between both systems and what they do. It is split into two parts; basic and advanced. Both versions have overlap but each have their own unique characteristics. + + +## 2. Basic Medical +ACE's basic medical system is quite a bit more complex than Arma's default system, but not really difficult to grasp. ACE basic medical is a mixture between the ACE2 and AGM medical systems. + +The four main elements that basic medical introduces are: + +* damage divided into different zones (head, body, left & right arm, left & right leg) +* bleeding +* unconsciousness +* pain + +All interactions in the medical system are done with the interaction menu. Non-medics can - by default - not perform all actions, and their actions take more time as when performed by trained medics. These actions are using epinephrine and blood IVs. + + +### How it works + +When hit, units start to lose blood depending on the severity of their wounds. Once the level of blood falls below a certain threshold, the unit will fall unconscious and eventually die. Units will also fall unconscious when sustaining large amounts of damage at once. + +To stop the bleeding, the combat life saver needs to bandage every wounded limb. Unconscious units can be "woken up" with Epipens. Should a unit have lost a lot of blood, it might be necessary to replace the lost blood with a blood bag before being able to wake unconscious units up. + +Should a unit be in pain, materializing itself with a chromatic aberration screen effect, he can be given morphine. + +## 3. Advanced Medical +The advanced medical system provides a more complex and detailed medical simulation and is based off the CSE/CMS medical system. It focuses on a more realistic model for injuries and treatment, thus resulting in a more important and prominent role for combat medics, and a bigger incentive to not get shot. + +The system behind advanced medical is designed to attempt to mimic important parts of the human body, as well as react to any injuries sustained and treatments applied in a realistic manner. The available treatments and supplies in advanced medical are based off the Tactical Combat Casualty Care (TCCC) guidelines, which are the same guidelines used by real-life combat medics around the world. + +Besides the 4 elements introduced by basic medical, advanced introduces the following: + +* More detailed wound system +* Accurate blood loss based upon sustained injuries +* Vitals, including heart rate and blood pressure +* Cardiac Arrest +* Various treatment methods such as CPR, different kinds of IVs and tourniquets +* A basic medication simulation + +### How it works + +Same as with basic, when hit an injury is sustained. Different though is that the type of injury and the severity of it are based upon how the damage was done and what caused it. This affects both blood loss and immediate consequences, such as being knocked out or being killed right away. When a player has sustained an injury, this will be indicated by flashing red of the screen; this means the player is bleeding. + +##### Stopping bleeding +In order to stop the bleeding, all injuries on every bodypart requires treatment. This is done by either applying a tourniquet to legs or arms as a temporarly solution, or by using bandages to stop the bleeding as a more permament fix. + +##### Vitals +While a unit is bleeding however, the blood volume decreases which will result in a change of vitals. Depending on the factors such as current blood volume, the blood loss rate, medication used, the blood pressure will start to drop. To counter this drop, also based upon the previously mentioned factors and others, the heart rate will adjust accordingly to attempt to keep blood pressure at safe levels. This means that for any patient it is required to keep an eye on the vitals. This is done through the interaction system by selecting check pulse or blood pressure on either the arms or head. + +##### Medication +To stabalize the vitals and to counter for example pain, a player/medic can use medication. Advanced medical has 3 different medications available: +* Atropine +* Morphine +* Epinephrine + +Atropine is a vagolytic and anticholinergic drug which in low dosages reduces heart rate but in high dosages increases it, countering effects of organophosphate poisoning (in NBC scenarios; anticholinesterase poisoning) and symptomatic bradycardia (in post-ROSC care and resuscitative medicine). + +Morphine is used to alleviate large amounts of pain. Has an effect similar to Heroin due to its opiate properties. Must only ever be given once, and only when bleeding has been reduced to a minimum. Morphine must never be given to a casualty with a low heart rate, as it can stop the heart. + +Epinephrine is used to increase heart rate and blood pressure and alleviate unconsciousness. Epinephrine is a synthetic form of Adrenaline, which is naturally produced in the body. It can also be applied to counter-act the effects of Atropine. Be careful though, as it may only be given once. + +_Epinephrine must never be given to a casualty with a high heart rate or blood pressure._ diff --git a/documentation/framework/advanced-missile-guidance.md b/documentation/framework/advanced-missile-guidance.md new file mode 100644 index 0000000000..3029b7b3bd --- /dev/null +++ b/documentation/framework/advanced-missile-guidance.md @@ -0,0 +1,107 @@ +--- +layout: wiki +title: Advanced Missile Guidance +group: framework +order: 5 +parent: wiki +--- + +# 1. Overview + +The ACE Advanced Missile Guidance Framework provides a setup of configuration settings, functions and a execution framework for addon makers to integrate with the missile guidance and targeting mechanisms of ACE. It also provides for mod makers to create their own custom guidance methods within the framework. + +The framework provides all the functionality needed for guidance; from laser locking, target specification and selection, to handling the fired events and tracking and steering the vehicle based on provided parameters. This way, all that needs to be defined in addons is the appropriate CfgAmmo entries for the missile. + +The framework also provides addon makers and scripters with the ability to configure custom seeker types and attack profiles, which are defined below. This allows for complete control of the guidance, locking and flight of a missile at the discretion of the addon maker. + +ACE3 provides a full suite of base concepts and guidance for the majority of modern missile weaponry avialable today; these includes all basic types of seekers (SALH/SACLOS/Optic/Thermal/etc) - as well as the different common attack profiles utilized with guided munitions (such as top-down attacks). + +Finally, flight profiles and mechanics for realistic missile simulations are also implemented; allowing for lock-steering bump guidance flight such as with the M47 Dragon or GBU steering fins, or finely tuned direct flight guidance which is currently avialable with other missile types. + +# 2. Details + +The framework is broken up into 3 major components: Locking Types, Seeker Types and Attack Profiles. In combination, these components build out the entire process of launching, locking and going terminal flight against targets. + +### Components + +##### 1. Locking Types +Locking types provide the basic functionality of targeting which will be based to a seeker type, providing target aquisition for seekers. This provides the basic functionality for providing pre-determined targets for a seeker, or allowing the seeker to perform its own target aquisition and locking. Additionally, the seeker may reference back into the locking type in order to re-perform target aquisition. + +##### 2. Seeker Types +Each seeker is generally assumed to be the logic for the seeker head unit within any given munition. Seekers within this framework provide the basic targeting functionality for the entire framework. The locking type will provide a generic target to the seeker, or the seeker may aquire a target on its own. The seeker then provides a target, either an object or a ASL position, which is then passed further into the framework. This target (or position) should be the actual current target position for the missiles flight. Seekers are required to perform all limitations and checks within their systems, although various limitations have been provided in this framework such as LOS FOV, laser guidance, etc. + +##### 3. Attack Profiles + +An attack profile adjusts the current target flight location to create the actual flight path of the missile. The attack profile is provided with all parameters of the system, including the returned target of the seeker. Using this information, the attack profile then will adjust the *direct flight target position* to specifically direct where and how the missile shall flight. + +## How it all ties together + +The system is executed in a linear series of calls to each step of the process, and feeding back the return from that step to the next step. Execution is conducted using Locking->Seeker->Profile, iteratively every frame of execution. Flight times are adjusted to accTime values and FPS lag, giving consistent flight. + +On each step of execution, a target specification array [targetObj, targetPos] is passed to the locking type, which then will return a possible modified target array. Next, this modified data is passed to the seeker type - which then, in turn, returns a position vector to the current "seeked" target position (ASL). Last, this target position is passed to the attack profile, who then returns an "adjusted attack position (ASL)", which is the location the missile should *currently* be homing on for flight. + +In the simplest sense, the entire system provides the flight trajectory of the missile homing directly on the "adjusted attack position"; thus, an attack profile would ajust this position to direct the missile. For example, Top down attacks return the adjusted attack position high above the target, until entering their terminal stages, which then changes the position to be directly ontop of the target - thus "walking the missile" along its flight path and to the kill. + +# 2. Adding AMG to a missile + +## Enabling guidance on Ammo Types +``` +class CfgAmmo { + class MissileBase; + class MyMissileType : MissileBase { + // Turn off arma crosshair-guidance + manualControl = 0; + + // Begin ACE guidance Configs + class ace_missileguidance { + enabled = 1; + + minDeflection = 0.00025; // Minium flap deflection for guidance + maxDeflection = 0.001; // Maximum flap deflection for guidance + incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet modes. All 'recruit' games use vanilla locking + + // Seeker type and settings for munitions + defaultSeekerType = "SALH"; + seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" }; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + seekerAngle = 90; // Angle in front of the missile which can be searched + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 1; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "LIN"; + attackProfiles[] = { "LIN", "DIR", "MID", "HI" }; + }; +``` + +# 2. Creating your own custom seekers and attack profiles + +## Adding seeker types and attack profiles + +``` +class ace_missileguidance_attackProfiles{ + class MyAttackProfile { + name = ""; + visualName = ""; + description = ""; + + functionName = "my_fnc_doAttackProfile"; + }; +}; +class ace_missileguidance_seekerTypes { + class MySeekerType { + name = ""; + visualName = ""; + description = ""; + + functionName = "my_fnc_doSeekerType"; + }; +}; +``` \ No newline at end of file diff --git a/documentation/framework/carry-drag.md b/documentation/framework/carry-drag.md new file mode 100644 index 0000000000..daaa9fb95a --- /dev/null +++ b/documentation/framework/carry-drag.md @@ -0,0 +1,27 @@ +--- +layout: wiki +title: Carry and Drag System +group: framework +order: 5 +parent: wiki +--- + +# 1. Config Values + +``` +class CfgVehicles { + class MyVehicle { + + + ace_dragging_canDrag = 1; // can this object be dragged?; 1 yes, 0 no (0 default) + ace_dragging_dragPosition[] = {0,1.2,0} // Offset of the model from the body while dragging, comparable to the offset in attachTo (It's the same actually) + ace_dragging_dragDirection = 0; // how much degrees is the model rotatated after dragging it (a global setDir after attachTo) + + ace_dragging_canCarry = 1; // can this object be carried?; 1 yes, 0 no (0 default) + ace_dragging_carryPosition[] = {0,1.2,0}; // Same as drag, but for carrying objects + ace_dragging_carryDirection = 0; // Same as drag, but for carrying objects + + }; +}; +``` + diff --git a/documentation/framework/fragmentation-configuration.md b/documentation/framework/fragmentation-configuration.md new file mode 100644 index 0000000000..c8a64b2db4 --- /dev/null +++ b/documentation/framework/fragmentation-configuration.md @@ -0,0 +1,76 @@ +--- +layout: wiki +title: Fragmentation Configuration +group: framework +parent: wiki +order: 7 +--- + +The fragmentation system (sys_frag) in ACE3 is a significant improvement over the fragmentation system in ACE2. Previously the system relied on fuzzy math from the values of `indirectHit` and `indirectHitRange` in CfgAmmo to calculate roughly the velocity and range of fragmentation. This had some serious drawbacks, especially in the case of smaller explosives such as hand grenades and 40mm grenades where casualty production was lower than desired. + +In ACE3 the system has moved away from what "feels" right to actual explosive engineering equations, primarily the [Gurney equations](http://en.wikipedia.org/wiki/Gurney_equations). This allows us to get close to the actual fragmentation velocities that would be produced by an explosive configuration similar to type of ammo we are simulating. + +The system for the end-developer is easy to use, and only requires minimal research into the type of ammo being represented. I will describe how to do this in this ticket. + +Below is an example set of explosives configuration properties for sys_frag (in this case an M67 hand grenade): + +```c++ +ace_frag_metal = 210; // metal in grams +ace_frag_charge = 185; // explosive in grams +ace_frag_gurney_c = 2843; // Gurney velocity constant for explosive type. See: http://en.wikipedia.org/wiki/Gurney_equations +ace_frag_gurney_k = 3/5; // Gurney shape factor, in this case a sphere. See: http://en.wikipedia.org/wiki/Gurney_equations +``` + +`ace_frag_metal` is the amount of metal being fragmented (generally taken as the entire weight of the warhead, though in some cases you might want to only include the fragmentation jacket or body. `ace_frag_charge` is the amount of explosive filler in the warhead. `ace_frag_metal` and `ace_frag_charge` are dimensionless values, as long as they are both in the same unit (for example kg/kg g/g lbs/lbs). + +`ace_frag_gurney_c` is the Gurney constant for explosive force. You can find a list of common explosive types below. If you can not find it here, or want more accurate numbers, just google the type of explosive and Gurney constant and you can find substantial information. This is *NOT* the detonation velocity of the explosive, do not confuse them! + +| Type | Speed | +|------------------|----------| +|Composition B | 2700 m/s | +|Composition C-3 | 2680 m/s | +|Cyclotol 75/25 | 2790 m/s | +|HMX | 2800 m/s | +|LX-14 | 2970 m/s | +|Octol 75/25 | 2800 m/s | +|PBX 9404 | 2900 m/s | +|PBX 9502 | 2377 m/s | +|PETN | 2930 m/s | +|RDX | 2830 m/s | +|Tetryl | 2500 m/s | +|TNT | 2440 m/s | +|Tritonal | 2320 m/s | + + +`ace_frag_gurney_k` is the shape factor for the explosive configuration. You should choose it based on the general configuration of explosives/metal in the warhead. Most grenades for example are a sphere. Artillery and aircraft bombs are a cylinder. Mines generally a flat plate. Below is a list of the three common shapes and their factors. + +``` +Sphere = 3/5 +Cylinder = 1/2 +Plate = 3/5 +``` + +There are other configurations but these are the most common. If you are interested in others check out the wikipedia link given above. Most of these will not correctly function in sys_frag though due to additional variables for the equation. + +In addition to these variables there are different types of fragmentation fragments to choose from, and they can be defined in the config value `ace_frag_classes[]`. Below are a list of the types. + +``` +ACE_frag_tiny +ACE_frag_tiny_HD +ACE_frag_small +ACE_frag_small_HD +ACE_frag_medium +ACE_frag_medium_HD +ACE_frag_large +ACE_frag_large_HD +ACE_frag_huge +ACE_frag_huge_HD +``` + +The tinier the piece of fragmentation the shorter the distance of travel. The `_HD` variants are all even higher drag versions. Grenades generally should use the `_HD` variants. Experimentation here is important. + +The final information needed is a couple of entries for forcing or ignoring fragmentation for this ammo. + +If you set `ace_frag_skip` to 1 then you will skip fragmentation for ammo of this type. This is useful for things that might cause high network load, such as FFAR rockets, or possibly even 40mm grenades from AGLs. Experimentation under network conditions is required. + +If you set `ace_frag_force` to 1 it will force the fragmentation system to use frag on this ammo, ignoring sys_frags internal qualifications based on hit values. diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md new file mode 100644 index 0000000000..186e99ece4 --- /dev/null +++ b/documentation/missionmaker/modules.md @@ -0,0 +1,286 @@ +--- +layout: wiki +title: Modules +group: missionmaker +order: 5 +parent: wiki +--- + + +**THIS PAGE IS NOT UP2DATE.** + + +## 1. Modules +### 1.1 Advanced Ballistics +*Part of: ace_advanced_ballistics* + +This module allows to enable advanced external- and internal ballistics. + +**Settings:** + +1. **Advanced Ballistics (Boolean)
** +Enables advanced ballistics.
+`Default value: No` +2. **Always Enabled For Snipers (Boolean)
** +Always enables advanced ballistics when high power optics are used.
+`Default value: Yes` +3. **Disabled In FullAuto Mode (Boolean)
** +Disables the advanced ballistics during full auto fire.
+`Default value: No` +4. **Disabled For Non Local Players (Boolean)
** +Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer).
+`Default value: Yes` +5. **Enable Ammo Temperature Simulation (Boolean)
** +Muzzle velocity varies with ammo temperature.
+`Default value: Yes` +6. **Enable Barrel Length Simulation (Boolean)
** +Muzzle velocity varies with barrel length.
+`Default value: Yes` +7. **Enable Bullet Trace Effect (Boolean)
** +Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics).
+8. **Simulation Interval (Number)
** +Defines the interval between every calculation step.
+`Default value: 0.05` +9. **Simulation Radius (Number)
** +Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.
+`Default value: 3000` + +### 1.2 BlueForceTracking +*Part of: ace_map* + +When adding the "BlueForceTracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker. + +**Settings:** + +1. **Interval (Number)
** +How often the markers should be refreshed (in seconds).
+`Default value: 5` +2. **Hide AI Groups (Boolean)
** +Hide markers for "AI only" groups.
+`Default value: No` + +### 1.3 Check PBOs +*Part of: ace_core* + +If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod: + +* Warn once +* Warn permanent +* Kick + +**Settings:** + +1. **Action (Option)
** +What to do with people who do not have the right PBOs.
+`Default value: "Warn once"` + +2. **Check all addons (Boolean)
** +Check all addons instead of only those of ACE?
+`Default value: "No"` + +3. **Whitelist
** +You can make a whitelist of addons that don't have to be on the server. If you want to use the "Check all addons" option of this module and allow the usage of client side modifications like Blastcore or JSRS, you have to list them here. +The list must be in the following format: `["ADDON1","ADDON2",...]` where the addons are CfgPatches references to all PBOs of the optional mod. To figure these out, you can use the scripting command `activatedAddons` in the editor while those mods are enabled. + +Example 1: @Blastcore-A3:
+```sqf +["warfxpe","blastcore_vep"] +``` +Example 2: @JSRS:
+```sqf +[TBD] +``` +Example 3: @JSRS + @Blastcore-A3:
+```sqf +[TBD, "warfxpe","blastcore_vep"] +``` + +### 1.4 Explosive System +*Part of: ace_explosive* + +The "Explosive System" module lets you tweak the settings for the new explosive system that ACE introduces. + +**Settings:** + +1. **Require explosive specialists? (Boolean)
** +Require explosive specialists to disable explosives.
+`Default value: No` +2. **Punish non-specialists? (Boolean)
** +Increase the time it takes to complete actions for non-specialists.
+`Default value: Yes` + +### 1.5 Fatigue System (deprecated) +**Warning:** +*This module is deprecated and only in there not to break older missions that have used this module. It will be removed in a future update. It serves no purpose.* + +### 1.6 Friendly Fire Messages +*Part of: ace_respawn* + +The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting. + +### 1.7 Interaction +*Part of: ace_interaction* + +This module allows you to tweak the settings for player names tags. + +**Settings:** + +1. **Player Names View Distance (Number)
** +Sets the distance (in meters) at which player name tags become visible.
+`Default value: 5` + +### 1.8 Medical System +*Part of: ace_medical* + +When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that. + +**Settings:** + +1. **Bleeding Speed Coefficient (Number)
** +Multiplier for the rate of bleeding.
+`Default value: 1` +2. **Pain Effect Coefficient (Number)
** +Multiplier for the intensity of the pain effect (chromatic abberation).
+`Default value: 1` +3. **Max Unconscious Time (Number)
** +Maximum time (in seconds) for a unit to be unconscious before dying. -1 disables this.
+`Default value: -1` +4. **Allow non-medics? (Boolean)
** +This setting is used to allow non-medics to use epipens and bloodbags.
+`Default value: No` +5. **Punish non-medics? (Boolean)
** +Increase the time it takes to complete actions for non-medics.
+`Default value: Yes` +6. **Require diagnosis? (Boolean)
** +Require an unconscious patient to be diagnosed before allowing treatment.
+`Default value: No` +7. **Prevent instant death? (Boolean)
** +Prevent instant death and always put players in unconscious state instead.
+`Default value: No` +8. **Prevent death while unconscious? (Boolean)
** +Make unconscious units invulnerable.
+`Default value: No` +9. **Single Bandage (Boolean)
** +Use one bandage to heal the entire body.
+`Default value: No` +10. **Unconscious can chat? (Boolean)
** +Allow all players to use chat while unconcious? Admin can always use the chat regardless.
+`Default value: No` + +### 1.9 Rallypoint System +*Part of: ace_respawn* + +This module was introduced with 0.94 and enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint. + +**Note:** +It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework. To enable JIP players to move rally points have a look at [3.1 ACE Rallypoints](#31-ace-rallypoints). + +### 1.10 Repair System +*Part of: ace_logistics* + +Placing the "Repair System" module makes it possible to define the time it takes for certain repair actions. + +**Settings:** + +1. **Heavy Repair Time (Number)
** +Time to repair engine/turret/body/fuel components (in seconds).
+`Default value: 10` +2. **Wheel Replace Time (Number)
** +Time to replace a wheel (in seconds).
+`Default value: 10` +3. **Track Replace Time (Number)
** +Time to replace a track (in seconds).
+`Default value: 10` +4. **Maximum Repaired Damage (Number)
** +Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage.
+`Default value: 0` + +### 1.11 Respawn System +*Part of: ace_respawn* + +The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds). + +**Settings:** + +1. **Save Gear? (Boolean)
** +Respawn with the gear a player had just before his death.
+`Default value: No` + +### 1.12 SwitchUnits System +*Part of: ace_switchunits* + +The [SwitchUnits System](#32-ace-switchunits) enables players to control certain AI units on the map. + +**Settings:** + +1. **Switch To West? (Boolean)
** +Allow switching to west units?
+`Default value: No` +2. **Switch To East? (Boolean)
** +Allow switching to east units?
+`Default value: No` +3. **Switch To Independent? (Boolean)
** +Allow switching to independent units?
+`Default value: No` +4. **Switch To Civilian? (Boolean)
** +Allow switching to civilian units?
+`Default value: No` +5. **Enable Safe Zone? (Boolean)
** +Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone.
+`Default value: Yes` +6. **Safe Zone Radius (Number)
** +The safe zone around players from a different team (in meters)
+`Default value: 200` + + +### 1.13 LSD Vehicles +*Part of: ace_core* + +### 1.14 Weather +*Part of: ace_weather* + +This module allows you to customize the weather settings. + +**Settings:** + +1. **Weather propagation (Boolean)
** +Enables sever side weather propagation.
+`Default value: Yes` +2. **ACE Weather (Boolean)
** +Overrides the default weather (editor, mission settings) with ACE weather (map based).
+`Default value: Yes` +3. **Sync Rain (Boolean)
** +Synchronizes rain.
+`Default value: Yes` +3. **Sync Wind (Boolean)
** +Synchronizes wind.
+`Default value: Yes` +3. **Sync Misc (Boolean)
** +Synchronizes lightnings, rainbow, fog, ...
+`Default value: Yes` +4. **Update Interval (Number)
** +Defines the interval (seconds) between weather updates.
+`Default value: 60` + +### 1.15 Wind Deflection +*Part of: ace_winddeflection* + +This module allows you to define when wind deflection is active. + +**Settings:** + +1. **Wind Deflection (Boolean)
** +Enables wind deflection.
+`Default value: Yes` +2. **Vehicle Enabled (Boolean)
** +Enables wind deflection for static/vehicle gunners.
+`Default value: Yes` +3. **Simulation Interval (Number)
** +Defines the interval between every calculation step.
+`Default value: 0.05` +4. **Simulation Radius (Number)
** +Defines the radius around the player (in meters) at which projectiles are wind deflected.
+`Default value: 3000` + +And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module. +http://youtu.be/X3e0LTexEok diff --git a/documentation/user/getting-started.md b/documentation/user/getting-started.md new file mode 100644 index 0000000000..012f307445 --- /dev/null +++ b/documentation/user/getting-started.md @@ -0,0 +1,90 @@ +--- +layout: wiki +title: Getting started +group: user +order: 0 +parent: wiki +--- + +
+
Note:
+

This page is currently under construction.

+
+ +Downloaded ACE3 and have no idea where to start? This page serves as a document to help new players get started with things like the medical system, or how to adjust your scope. + +### Table of contents +1. [Vector 21](#vector-21) + +### Vector 21 +*Part of: ace_vector* + +ACE3 adds a realistic depiction of the Vector 21 rangefinder to the game. Unlike other rangefinders, it doesn't just magically show you the range to your target, but in exchange allows you to do alot of things with it that the other choices in Arma do not offer. The Vector's functions include, but are not limited to: + +- Distance to a target +- Azimuth to a target +- Horizontal and vertical distance to a target +- Distance between 2 targets +- Angle between 2 targets +- Switching between feet and meters +- Switching between degrees and mils +... + +The Vector is controlled with 2 keys: the azimuth key and the range key; Tab and R by default. First you bring it up like every other binocular in the game and then, while looking through it you can access all the different functions. + +The Vector 21 rangefinder has the following usage modes: + +1. Slope distance +2. Azimuth +3. Slope distance & Azimuth +4. Horizontal distance and height difference +5. Azimuth & Inclination +6. Distance between two points +7. Horizontal & vertical distance between two points +8. Horizontal distance & azimuth between two points +9. Fall of shot + +#### 1. Slope distance +Measuring Slope distance + +Press and hold the "Distance" key until the red pointing circle appears. Sight the circle on the object and release the key. + +#### 2. Azimuth +Measuring Azimuth + +Press and hold the "Azimuth" key until the red pointing circle appears. Sight the circle on the object and release the key. + +#### 3. Slope distance and Azimuth +Measuring Slope distance and Azimuth + +Press and hold both the "Distance" and "Azimuth" key until the red pointing circle appears. Sight the circle on the object and release both keys. + +#### 4. Horizontal distance and height difference +Measuring Horizontal distance and height difference + +Tap the "Distance" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and release the key. + +#### 5. Azimuth and Inclination +Measuring Azimuth and Inclination + +Tap the "Azimuth" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and release the key. + +#### 6. Distance between two points +Measuring Distance between two points + +Press and hold the "Distance" key until the red pointing circle appears. Sight the circle on the first object and tap the "Azimuth" key while further holding the "Distance" key. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Distance" key. + +#### 7. Horizontal and vertical distance between two points +Measuring Horizontal and vertical distance between two points + +Tap the "Distance" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and tap the "Azimuth" key once. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Distance" key. + +#### 8. Horizontal distance and azimuth between two points +Measuring Horizontal distance and azimuth between two points + +Press and hold the "Azimuth" key until the red pointing circle appears. Sight the circle on the first object and tap the "Distance" key while further holding the "Azimuth" key. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Azimuth" key. + +#### 9. Fall of shot +Measuring Fall of shot + +Tap the "Azimuth" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and tap the "Distance" key while further holding the "Azimuth" key. The first measurement is confirmed ("1-P" = first point). Sight the Fall of shot and release the "Azimuth" key. The left digits display the left (`L`)/right (`r`) correction value in meter and the right digits display the longer (`A` = add)/shorter (`d` = drop) correction value in meter. If the "Distance" key is tapped the height correction values will be displayed (`UP` and `dn`). diff --git a/documentation/user/how-to-make-a-feature-request.md b/documentation/user/how-to-make-a-feature-request.md new file mode 100644 index 0000000000..7b0c52478d --- /dev/null +++ b/documentation/user/how-to-make-a-feature-request.md @@ -0,0 +1,22 @@ +--- +layout: wiki +title: How to make a feature request +group: user +order: 11 +parent: wiki +--- + +### Background +ACE2, AGM and CSE had a lot of features implemented or planned. All of them are or have been evaluated for inclusion in ACE3 itself, and we'd like to port the majority of them eventually. However, due to time constraints, we have managed to finish only a fraction of the job so far. + +Please refrain from making requests for any planned or existing features from either ACE2, AGM or CSE. Most of them are already being or have been considered for porting or a rewrite. + +
+
Note:
+

Due to our current work load, in the period of weeks prior and posterior to the first release, new feature requests are under embargo. Feel free to submit yours now, but don't expect them to be considered just yet. Any treatment or attention by developers towards the feature request thread is highly unlikely during this time.

+
+ +### Requesting a feature +In order to avoid duplicates and keep the issue tracker organized, we have created a common issue for ACE 3 Feature requests. Any and all relevant requests should be submitted there, where they will also get discussed and evaluated. Before adding a new one, make sure to check the previous entries from the thread and do a quick search for similar suggestions; please don't reiterate requests for features that had already been accepted for inclusion, or those which were disregarded earlier. + +Following their approval, feature requests may be moved by moderators to a separate issue for further discussion. diff --git a/documentation/user/how-to-report-an-issue.md b/documentation/user/how-to-report-an-issue.md new file mode 100644 index 0000000000..acabc3a944 --- /dev/null +++ b/documentation/user/how-to-report-an-issue.md @@ -0,0 +1,49 @@ +--- +layout: wiki +title: How to report an issue +group: user +order: 10 +parent: wiki +--- + +### Before reporting + +If you've found an issue with ACE3 please make sure that ACE3 is really the cause of the problem. To do this try to reproduce the issue with using only `@cba_a3` and `@ACE3` on a newly created mission. + +
+
Please note:
+

It's not a valid to simply remove @ACE3 from the mod list to confirm that ACE3 is the culprit.

+

If the error happens when using a third-party mod contact the author of the appropriate mod and report the issue there.

+
+ +### Reporting the issue + +Head over to the ACE3 GitHub issue tracker and press the "New issue" button in the top right corner. Add a descriptive title and copy the following issue template in to the text area: + +``` +ACE3 Version: 3.x.x + +**Mods:** +* @cba_a3 +* @ace3 + +**Placed ACE3 Modules:** +* *Add the list of modules you have placed on the map. Use 'None' if the error occurs without using any modules.* + +**Description:** +*Add a detailed description of the error. This makes it easier for us to fix the issue.* + +**Steps to reproduce:** +* *Add the steps needed to reproduce the issue.* + +**Where did the issue occur?** +*A possible answer might be "Multiplayer", "Singleplayer"* + +**RPT log file:** +*Add a link (pastebin.com) to the client or server RPT file.* +``` + +A video of the issue might be helpful in resolving it faster. + + +Github uses "Markdown" to style the output. If you want to know more about it (e.g. how to turn text bold, how to denote code blocks or inline code) have a look at the GitHub markdown documentation. diff --git a/documentation/user/promotional-material.md b/documentation/user/promotional-material.md new file mode 100644 index 0000000000..834cd66efc --- /dev/null +++ b/documentation/user/promotional-material.md @@ -0,0 +1,34 @@ +--- +layout: wiki +title: Promotional Material +group: user +order: 20 +parent: wiki +--- + +You are hereby granted to use the ACE3 logos and imagery for promotional purposes. You are NOT allowed to use it commercially. + +## Colors + +![white](https://cloud.githubusercontent.com/assets/1235520/6618806/d19959e4-c8c5-11e4-85f4-814c93ec7778.jpg) White: `#ffffff, rgb(255, 255, 255)`
+![black](https://cloud.githubusercontent.com/assets/1235520/6618807/d2c7bf0e-c8c5-11e4-8c43-6de02d47898c.jpg) Black: `#000000, rgb(0, 0, 0)`
+![red](https://cloud.githubusercontent.com/assets/1235520/6618808/d3e6a62a-c8c5-11e4-9313-4db522a40117.jpg) Red: `#ba2619, rgb(186, 38, 25)` + +## Logo +When using the ACE3 logo please do not stretch or skew it. + +### Black + + + +* [JPG (white background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.jpg) +* [PNG (transparent background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.png) +* [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.eps) + +### White + + + +* [JPG (black background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.jpg) +* [PNG (transparent background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.png) +* [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.eps) \ No newline at end of file diff --git a/documentation/user/shortcuts.md b/documentation/user/shortcuts.md new file mode 100644 index 0000000000..66e12ae76f --- /dev/null +++ b/documentation/user/shortcuts.md @@ -0,0 +1,214 @@ +--- +layout: wiki +title: Shortcuts +group: user +order: 5 +parent: wiki +--- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ShortcutActionPBO
Ctrl+⇧ Shift+KShow ProtractorACE_Advanced_Ballistics
⊞ WinInteraction menuACE_Interaction
Ctrl+⊞ WinSelf-interaction menuACE_Interaction
Ctrl+SpaceOpen/close doorACE_Interaction
Ctrl+TTap on the shoulderACE_Interaction
CtrlModifier keyACE_Logistics
Ctrl+⇧ Shift+TWipe off gogglesACE_Goggles
8Switch grenade modeACE_Grenades
CtrlShow namesACE_NameTags
Alt+Page UpNVG: Increase brightnessACE_NightVision
Alt+Page DownNVG: Decrease brightnessACE_NightVision
⇧ Shift+RClear firearm malfunctionACE_Overheating
OAltimeterACE_Parachute
Ctrl+RCheck ammunitionACE_Reload
`Safety toggleACE_SafeMode
Page UpScope: Elevation upACE_Scopes
Page DownScope: Elevation downACE_Scopes
Ctrl+Page UpScope: Windage leftACE_Scopes
Ctrl+Page DownScope: Windage rightACE_Scopes
Tab ↹Vector: Azimuth keyACE_Vector
RVector: Distance keyACE_Vector
DelSpeed limiterACE_Vehicles
1PistolACE_WeaponSelect
2RifleACE_WeaponSelect
3Grenade launcherACE_WeaponSelect
5BinocularsACE_WeaponSelect
6Frag grenadeACE_WeaponSelect
7Non-frag grenadeACE_WeaponSelect
0Holster weaponACE_WeaponSelect
2Engine onACE_WeaponSelect
1Engine offACE_WeaponSelect
3Primary weaponACE_WeaponSelect
4Machine gunACE_WeaponSelect
5MissilesACE_WeaponSelect
9Fire smoke launcherACE_WeaponSelect
Tab ↹FCS: Lase target (measure distance)ACE_FireControlSsystem
Page UpFCS: Range upACE_FireControlSsystem
Page DownFCS: Range downACE_FireControlSsystem
⇧ Shift+KShow Wind InfoACE_Weather
diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt index f0e21e9207..038bb71d5c 100644 --- a/extensions/CMakeLists.txt +++ b/extensions/CMakeLists.txt @@ -25,7 +25,37 @@ file(GLOB ACE_COMMON_SOURCES common/*.h common/*.hpp common/*.c common/*.cpp) add_library(ace_common STATIC ${ACE_COMMON_SOURCES}) include_directories(AFTER "common") +string(TIMESTAMP ACE_BUILDSTAMP "%Y-%m-%dT%H:%M:%SZ") +set(ACE_VERSION_MAJOR 3) +set(ACE_VERSION_MINOR 0) +set(ACE_VERSION_REVISION 1) +EXECUTE_PROCESS(COMMAND git rev-parse --verify HEAD + OUTPUT_VARIABLE T_ACE_VERSION_BUILD + OUTPUT_STRIP_TRAILING_WHITESPACE +) +string(SUBSTRING ${T_ACE_VERSION_BUILD} 0 7 ACE_VERSION_BUILD ) + +message("Building for: " ${ACE_VERSION_MAJOR}.${ACE_VERSION_MINOR}.${ACE_VERSION_REVISION}-${ACE_VERSION_BUILD}) + +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/common/ace_version.hpp.in" + "${CMAKE_CURRENT_BINARY_DIR}/common/ace_version.hpp" + @ONLY) + +if(MSVC) + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/common/ace_version_win32.rc.in" + "${CMAKE_CURRENT_BINARY_DIR}/common/ace_version_win32.rc" + @ONLY) + set(GLOBAL_RC ${CMAKE_CURRENT_BINARY_DIR}/common/ace_version_win32.rc) +endif() + +include_directories(AFTER ${CMAKE_CURRENT_BINARY_DIR}/common) +set(GLOBAL_SOURCES ${GLOBAL_RC}) + # Add extensions to build here add_subdirectory(fcs) +add_subdirectory(breakLine) +add_subdirectory(advanced_ballistics) message("Build Type: ${CMAKE_BUILD_TYPE}") \ No newline at end of file diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp new file mode 100644 index 0000000000..e62a564dca --- /dev/null +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -0,0 +1,636 @@ +#include "ace_common.h" + +#include +#include +#include +#include + +#define _USE_MATH_DEFINES +#include + +#define GRAVITY 9.80665 +#define ABSOLUTE_ZERO_IN_CELSIUS -273.15 +#define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS) +#define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS) +#define UNIVERSAL_GAS_CONSTANT 8.314 +#define WATER_VAPOR_MOLAR_MASS 0.018016 +#define DRY_AIR_MOLAR_MASS 0.028964 +#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058 +#define STD_AIR_DENSITY_ICAO 1.22498 +#define STD_AIR_DENSITY_ASM 1.20885 + +struct Bullet { + double airFriction; + double caliber; + double bulletLength; + double bulletMass; + std::vector ballisticCoefficients; + std::vector velocityBoundaries; + char* atmosphereModel; + int dragModel; + std::vector muzzleVelocities; + std::vector barrelLengths; + double stabilityFactor; + double twistDirection; + double transonicStabilityCoef; + double muzzleVelocity; + std::vector origin; + double latitude; + double temperature; + double altitude; + double humidity; + double overcast; + double startTime; + double speed; + double frames; + double lastFrame; + double hDeflection; + double spinDrift; +}; + +struct Map { + std::vector gridHeights; + std::vector gridBuildingNums; + std::vector gridSurfaceIsWater; + int mapSize; + int mapGrids; +}; + +std::vector bulletDatabase; +std::map mapDatabase; +std::string worldName = ""; +Map* map = &mapDatabase[""]; + +double calculateRoughnessLength(double posX, double posY) { + // Source: http://es.ucsc.edu/~jnoble/wind/extrap/index.html + double roughness_lengths[10] = {0.0002, 0.0005, 0.0024, 0.03, 0.055, 0.1, 0.2, 0.4, 0.8, 1.6}; + double roughnessLength = 0.0024; + + int gridX = (int)floor(posX / 50); + int gridY = (int)floor(posY / 50); + int gridCell = gridX * map->mapGrids + gridY; + + if (gridCell >= 0 && (std::size_t)gridCell < map->gridHeights.size() && (std::size_t)gridCell < map->gridBuildingNums.size()) { + int nearBuildings = map->gridBuildingNums[gridCell]; + int surfaceIsWater = map->gridSurfaceIsWater[gridCell]; + + if (nearBuildings == 0 && surfaceIsWater == 1) { + return 0.0005; + } + + if (nearBuildings >= 10) { + return 1.6; + } + + return roughness_lengths[2 + min(nearBuildings, 6)]; + } + + return 0.0024; +} + +double calculateAirDensity(double temperature, double pressure, double relativeHumidity) { + pressure = pressure * 100; + + if (relativeHumidity > 0) { + double _pSat = 6.1078 * pow(10, ((7.5 * temperature) / (temperature + 237.3))); + double vaporPressure = relativeHumidity * _pSat; + double partialPressure = pressure - vaporPressure; + + return (partialPressure * 0.028964 + vaporPressure * 0.018016) / (8.314 * (273.15 + temperature)); + } + else { + return pressure / (287.058 * (273.15 + temperature)); + } +} + +double calculateAtmosphericCorrection(double ballisticCoefficient, double temperature, double pressure, double relativeHumidity, const char *atmosphereModel) { + double airDensity = calculateAirDensity(temperature, pressure, relativeHumidity); + + if (!strcmp(atmosphereModel, "ICAO")) { + return (1.22498 / airDensity) * ballisticCoefficient; + } + else { + return (1.20885 / airDensity) * ballisticCoefficient; + } +} + +double calculateRetard(int DragFunction, double DragCoefficient, double Velocity) { + + double vel = Velocity * 3.2808399; + double val = -1; + double A = -1; + double M = -1; + + switch (DragFunction) { + case 1: + if (vel> 4230) { A = 1.477404177730177e-04; M = 1.9565; } + else if (vel> 3680) { A = 1.920339268755614e-04; M = 1.925; } + else if (vel> 3450) { A = 2.894751026819746e-04; M = 1.875; } + else if (vel> 3295) { A = 4.349905111115636e-04; M = 1.825; } + else if (vel> 3130) { A = 6.520421871892662e-04; M = 1.775; } + else if (vel> 2960) { A = 9.748073694078696e-04; M = 1.725; } + else if (vel> 2830) { A = 1.453721560187286e-03; M = 1.675; } + else if (vel> 2680) { A = 2.162887202930376e-03; M = 1.625; } + else if (vel> 2460) { A = 3.209559783129881e-03; M = 1.575; } + else if (vel> 2225) { A = 3.904368218691249e-03; M = 1.55; } + else if (vel> 2015) { A = 3.222942271262336e-03; M = 1.575; } + else if (vel> 1890) { A = 2.203329542297809e-03; M = 1.625; } + else if (vel> 1810) { A = 1.511001028891904e-03; M = 1.675; } + else if (vel> 1730) { A = 8.609957592468259e-04; M = 1.75; } + else if (vel> 1595) { A = 4.086146797305117e-04; M = 1.85; } + else if (vel> 1520) { A = 1.954473210037398e-04; M = 1.95; } + else if (vel> 1420) { A = 5.431896266462351e-05; M = 2.125; } + else if (vel> 1360) { A = 8.847742581674416e-06; M = 2.375; } + else if (vel> 1315) { A = 1.456922328720298e-06; M = 2.625; } + else if (vel> 1280) { A = 2.419485191895565e-07; M = 2.875; } + else if (vel> 1220) { A = 1.657956321067612e-08; M = 3.25; } + else if (vel> 1185) { A = 4.745469537157371e-10; M = 3.75; } + else if (vel> 1150) { A = 1.379746590025088e-11; M = 4.25; } + else if (vel> 1100) { A = 4.070157961147882e-13; M = 4.75; } + else if (vel> 1060) { A = 2.938236954847331e-14; M = 5.125; } + else if (vel> 1025) { A = 1.228597370774746e-14; M = 5.25; } + else if (vel> 980) { A = 2.916938264100495e-14; M = 5.125; } + else if (vel> 945) { A = 3.855099424807451e-13; M = 4.75; } + else if (vel> 905) { A = 1.185097045689854e-11; M = 4.25; } + else if (vel> 860) { A = 3.566129470974951e-10; M = 3.75; } + else if (vel> 810) { A = 1.045513263966272e-08; M = 3.25; } + else if (vel> 780) { A = 1.291159200846216e-07; M = 2.875; } + else if (vel> 750) { A = 6.824429329105383e-07; M = 2.625; } + else if (vel> 700) { A = 3.569169672385163e-06; M = 2.375; } + else if (vel> 640) { A = 1.839015095899579e-05; M = 2.125; } + else if (vel> 600) { A = 5.71117468873424e-05; M = 1.950; } + else if (vel> 550) { A = 9.226557091973427e-05; M = 1.875; } + else if (vel> 250) { A = 9.337991957131389e-05; M = 1.875; } + else if (vel> 100) { A = 7.225247327590413e-05; M = 1.925; } + else if (vel> 65) { A = 5.792684957074546e-05; M = 1.975; } + else if (vel> 0) { A = 5.206214107320588e-05; M = 2.000; } + break; + + case 2: + if (vel> 1674) { A = .0079470052136733; M = 1.36999902851493; } + else if (vel> 1172) { A = 1.00419763721974e-03; M = 1.65392237010294; } + else if (vel> 1060) { A = 7.15571228255369e-23; M = 7.91913562392361; } + else if (vel> 949) { A = 1.39589807205091e-10; M = 3.81439537623717; } + else if (vel> 670) { A = 2.34364342818625e-04; M = 1.71869536324748; } + else if (vel> 335) { A = 1.77962438921838e-04; M = 1.76877550388679; } + else if (vel> 0) { A = 5.18033561289704e-05; M = 1.98160270524632; } + break; + + case 5: + if (vel> 1730) { A = 7.24854775171929e-03; M = 1.41538574492812; } + else if (vel> 1228) { A = 3.50563361516117e-05; M = 2.13077307854948; } + else if (vel> 1116) { A = 1.84029481181151e-13; M = 4.81927320350395; } + else if (vel> 1004) { A = 1.34713064017409e-22; M = 7.8100555281422; } + else if (vel> 837) { A = 1.03965974081168e-07; M = 2.84204791809926; } + else if (vel> 335) { A = 1.09301593869823e-04; M = 1.81096361579504; } + else if (vel> 0) { A = 3.51963178524273e-05; M = 2.00477856801111; } + break; + + case 6: + if (vel> 3236) { A = 0.0455384883480781; M = 1.15997674041274; } + else if (vel> 2065) { A = 7.167261849653769e-02; M = 1.10704436538885; } + else if (vel> 1311) { A = 1.66676386084348e-03; M = 1.60085100195952; } + else if (vel> 1144) { A = 1.01482730119215e-07; M = 2.9569674731838; } + else if (vel> 1004) { A = 4.31542773103552e-18; M = 6.34106317069757; } + else if (vel> 670) { A = 2.04835650496866e-05; M = 2.11688446325998; } + else if (vel> 0) { A = 7.50912466084823e-05; M = 1.92031057847052; } + break; + + case 7: + if (vel> 4200) { A = 1.29081656775919e-09; M = 3.24121295355962; } + else if (vel> 3000) { A = 0.0171422231434847; M = 1.27907168025204; } + else if (vel> 1470) { A = 2.33355948302505e-03; M = 1.52693913274526; } + else if (vel> 1260) { A = 7.97592111627665e-04; M = 1.67688974440324; } + else if (vel> 1110) { A = 5.71086414289273e-12; M = 4.3212826264889; } + else if (vel> 960) { A = 3.02865108244904e-17; M = 5.99074203776707; } + else if (vel> 670) { A = 7.52285155782535e-06; M = 2.1738019851075; } + else if (vel> 540) { A = 1.31766281225189e-05; M = 2.08774690257991; } + else if (vel> 0) { A = 1.34504843776525e-05; M = 2.08702306738884; } + break; + + case 8: + if (vel> 3571) { A = .0112263766252305; M = 1.33207346655961; } + else if (vel> 1841) { A = .0167252613732636; M = 1.28662041261785; } + else if (vel> 1120) { A = 2.20172456619625e-03; M = 1.55636358091189; } + else if (vel> 1088) { A = 2.0538037167098e-16; M = 5.80410776994789; } + else if (vel> 976) { A = 5.92182174254121e-12; M = 4.29275576134191; } + else if (vel> 0) { A = 4.3917343795117e-05; M = 1.99978116283334; } + break; + + default: + break; + + } + + if (A != -1 && M != -1 && vel > 0 && vel < 10000) { + val = A * pow(vel, M) / DragCoefficient; + val = val / 3.2808399; + return val; + } + + return 0.0; +} + +extern "C" +{ + __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); +} + +void __stdcall RVExtension(char *output, int outputSize, const char *function) +{ + if (!strcmp(function, "version")) + { + int n = sprintf_s(output, outputSize, "%s", ACE_FULL_VERSION_STR); + return; + } + + char* input = _strdup(function); + char* token = NULL; + char* next_token = NULL; + char* mode = strtok_s(input, ":", &next_token); + + if (!strcmp(mode, "retard")) { + double ballisticCoefficient = 1.0; + int dragModel = 1; + double velocity = 0.0; + double retard = 0.0; + + dragModel = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + ballisticCoefficient = strtod(strtok_s(NULL, ":", &next_token), NULL); + velocity = strtod(strtok_s(NULL, ":", &next_token), NULL); + + retard = calculateRetard(dragModel, ballisticCoefficient, velocity); + int n = sprintf_s(output, outputSize, "%f", retard); + return; + } + else if (!strcmp(mode, "atmosphericCorrection")) { + double ballisticCoefficient = 1.0; + double temperature = 15.0; + double pressure = 1013.25; + double humidity = 0.0; + char* atmosphereModel; + + ballisticCoefficient = strtod(strtok_s(NULL, ":", &next_token), NULL); + temperature = strtod(strtok_s(NULL, ":", &next_token), NULL); + pressure = strtod(strtok_s(NULL, ":", &next_token), NULL); + humidity = strtod(strtok_s(NULL, ":", &next_token), NULL); + atmosphereModel = strtok_s(NULL, ":", &next_token); + + ballisticCoefficient = calculateAtmosphericCorrection(ballisticCoefficient, temperature, pressure, humidity, atmosphereModel); + int n = sprintf_s(output, outputSize, "%f", ballisticCoefficient); + return; + } + else if (!strcmp(mode, "new")) { + unsigned int index = 0; + double airFriction = 0.0; + char* ballisticCoefficientArray; + char* ballisticCoefficient; + std::vector ballisticCoefficients; + char* velocityBoundaryArray; + char* velocityBoundary; + std::vector velocityBoundaries; + char* atmosphereModel; + int dragModel = 1; + double stabilityFactor = 1.5; + int twistDirection = 1; + double transonicStabilityCoef = 1; + double muzzleVelocity = 850; + char* originArray; + char* originEntry; + std::vector origin; + double latitude = 0.0; + double temperature = 0.0; + double altitude = 0.0; + double humidity = 0.0; + double overcast = 0.0; + double tickTime = 0.0; + + index = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + airFriction = strtod(strtok_s(NULL, ":", &next_token), NULL); + ballisticCoefficientArray = strtok_s(NULL, ":", &next_token); + ballisticCoefficientArray++; + ballisticCoefficientArray[strlen(ballisticCoefficientArray) - 1] = 0; + ballisticCoefficient = strtok_s(ballisticCoefficientArray, ",", &token); + while (ballisticCoefficient != NULL) + { + ballisticCoefficients.push_back(strtod(ballisticCoefficient, NULL)); + ballisticCoefficient = strtok_s(NULL, ",", &token); + } + velocityBoundaryArray = strtok_s(NULL, ":", &next_token); + velocityBoundaryArray++; + velocityBoundaryArray[strlen(velocityBoundaryArray) - 1] = 0; + velocityBoundary = strtok_s(velocityBoundaryArray, ",", &token); + while (velocityBoundary != NULL) + { + velocityBoundaries.push_back(strtod(velocityBoundary, NULL)); + velocityBoundary = strtok_s(NULL, ",", &token); + } + atmosphereModel = strtok_s(NULL, ":", &next_token); + dragModel = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + stabilityFactor = strtod(strtok_s(NULL, ":", &next_token), NULL); + twistDirection = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + muzzleVelocity = strtod(strtok_s(NULL, ":", &next_token), NULL); + transonicStabilityCoef = strtod(strtok_s(NULL, ":", &next_token), NULL); + originArray = strtok_s(NULL, ":", &next_token); + originArray++; + originArray[strlen(originArray) - 1] = 0; + originEntry = strtok_s(originArray, ",", &token); + while (originEntry != NULL) + { + origin.push_back(strtod(originEntry, NULL)); + originEntry = strtok_s(NULL, ",", &token); + } + latitude = strtod(strtok_s(NULL, ":", &next_token), NULL); + temperature = strtod(strtok_s(NULL, ":", &next_token), NULL); + altitude = strtod(strtok_s(NULL, ":", &next_token), NULL); + humidity = strtod(strtok_s(NULL, ":", &next_token), NULL); + overcast = strtod(strtok_s(NULL, ":", &next_token), NULL); + tickTime = strtod(strtok_s(NULL, ":", &next_token), NULL); + tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); + + while (index >= bulletDatabase.size()) { + Bullet bullet; + bulletDatabase.push_back(bullet); + } + + bulletDatabase[index].airFriction = airFriction; + bulletDatabase[index].ballisticCoefficients = ballisticCoefficients; + bulletDatabase[index].velocityBoundaries = velocityBoundaries; + bulletDatabase[index].atmosphereModel = atmosphereModel; + bulletDatabase[index].dragModel = dragModel; + bulletDatabase[index].stabilityFactor = stabilityFactor; + bulletDatabase[index].twistDirection = twistDirection; + bulletDatabase[index].transonicStabilityCoef = transonicStabilityCoef; + bulletDatabase[index].muzzleVelocity = muzzleVelocity; + bulletDatabase[index].origin = origin; + bulletDatabase[index].latitude = latitude / 180 * M_PI; + bulletDatabase[index].temperature = temperature; + bulletDatabase[index].altitude = altitude; + bulletDatabase[index].humidity = humidity; + bulletDatabase[index].overcast = overcast; + bulletDatabase[index].startTime = tickTime; + bulletDatabase[index].lastFrame = tickTime; + bulletDatabase[index].hDeflection = 0.0; + bulletDatabase[index].spinDrift = 0.0; + bulletDatabase[index].speed = 0.0; + bulletDatabase[index].frames = 0.0; + + int n = sprintf_s(output, outputSize, "%s", ""); + return; + } + else if (!strcmp(mode, "simulate")) { + // simulate:0:[-0.109985,542.529,-3.98301]:[3751.57,5332.23,214.252]:[0.598153,2.38829,0]:28.6:0:0.481542:0:215.16 + unsigned int index = 0; + char* velocityArray; + double velocity[3] = { 0.0, 0.0, 0.0 }; + char* positionArray; + double position[3] = { 0.0, 0.0, 0.0 }; + char* windArray; + double wind[3]; + double heightAGL = 0.0; + double tickTime = 0.0; + + index = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + velocityArray = strtok_s(NULL, ":", &next_token); + velocityArray++; + velocityArray[strlen(velocityArray) - 1] = 0; + velocity[0] = strtod(strtok_s(velocityArray, ",", &token), NULL); + velocity[1] = strtod(strtok_s(NULL, ",", &token), NULL); + velocity[2] = strtod(strtok_s(NULL, ",", &token), NULL); + positionArray = strtok_s(NULL, ":", &next_token); + positionArray++; + positionArray[strlen(positionArray) - 1] = 0; + position[0] = strtod(strtok_s(positionArray, ",", &token), NULL); + position[1] = strtod(strtok_s(NULL, ",", &token), NULL); + position[2] = strtod(strtok_s(NULL, ",", &token), NULL); + windArray = strtok_s(NULL, ":", &next_token); + windArray++; + windArray[strlen(windArray) - 1] = 0; + wind[0] = strtod(strtok_s(windArray, ",", &token), NULL); + wind[1] = strtod(strtok_s(NULL, ",", &token), NULL); + wind[2] = strtod(strtok_s(NULL, ",", &token), NULL); + heightAGL = strtod(strtok_s(NULL, ":", &next_token), NULL); + tickTime = strtod(strtok_s(NULL, ":", &next_token), NULL); + tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); + + double ballisticCoefficient = 1.0; + double dragRef = 0.0; + double drag = 0.0; + double accelRef[3] = { 0.0, 0.0, 0.0 }; + double accel[3] = { 0.0, 0.0, 0.0 }; + double TOF = 0.0; + double deltaT = 0.0; + double bulletSpeed; + double bulletDir; + double bulletSpeedAvg = 0.0; + double trueVelocity[3] = { 0.0, 0.0, 0.0 }; + double trueSpeed = 0.0; + double temperature = 0.0; + double windSpeed = 0.0; + double windAttenuation = 1.0; + double velocityOffset[3] = { 0.0, 0.0, 0.0 }; + double positionOffset[3] = { 0.0, 0.0, 0.0 }; + + TOF = tickTime - bulletDatabase[index].startTime; + + deltaT = tickTime - bulletDatabase[index].lastFrame; + bulletDatabase[index].lastFrame = tickTime; + + bulletSpeed = sqrt(pow(velocity[0], 2) + pow(velocity[1], 2) + pow(velocity[2], 2)); + bulletDir = atan2(velocity[0], velocity[1]); + + bulletDatabase[index].speed += bulletSpeed; + bulletDatabase[index].frames += 1; + bulletSpeedAvg = (bulletDatabase[index].speed / bulletDatabase[index].frames); + + windSpeed = sqrt(pow(wind[0], 2) + pow(wind[1], 2) + pow(wind[2], 2)); + if (windSpeed > 0.1) + { + double windSourceTerrain[3]; + + windSourceTerrain[0] = position[0] - wind[0] / windSpeed * 100; + windSourceTerrain[1] = position[1] - wind[1] / windSpeed * 100; + windSourceTerrain[2] = position[2] - wind[2] / windSpeed * 100; + + int gridX = (int)floor(windSourceTerrain[0] / 50); + int gridY = (int)floor(windSourceTerrain[1] / 50); + int gridCell = gridX * map->mapGrids + gridY; + + if (gridCell >= 0 && (std::size_t)gridCell < map->gridHeights.size() && (std::size_t)gridCell < map->gridBuildingNums.size()) { + double gridHeight = map->gridHeights[gridCell]; + + if (gridHeight > position[2]) { + double angle = atan((gridHeight - position[2]) / 100); + windAttenuation *= pow(abs(cos(angle)), 2); + } + } + } + + if (windSpeed > 0.1) + { + double windSourceObstacles[3]; + + windSourceObstacles[0] = position[0] - wind[0] / windSpeed * 25; + windSourceObstacles[1] = position[1] - wind[1] / windSpeed * 25; + windSourceObstacles[2] = position[2] - wind[2] / windSpeed * 25; + + if (heightAGL > 0 && heightAGL < 20) { + double roughnessLength = calculateRoughnessLength(windSourceObstacles[0], windSourceObstacles[1]); + windAttenuation *= abs(log(heightAGL / roughnessLength) / log(20 / roughnessLength)); + } + } + + if (windAttenuation < 1) + { + wind[0] *= windAttenuation; + wind[1] *= windAttenuation; + wind[2] *= windAttenuation; + windSpeed = sqrt(pow(wind[0], 2) + pow(wind[1], 2) + pow(wind[2], 2)); + } + + trueVelocity[0] = velocity[0] - wind[0]; + trueVelocity[1] = velocity[1] - wind[1]; + trueVelocity[2] = velocity[2] - wind[2]; + trueSpeed = sqrt(pow(trueVelocity[0], 2) + pow(trueVelocity[1], 2) + pow(trueVelocity[2], 2)); + + temperature = bulletDatabase[index].temperature - 0.0065 * position[2]; + + if (bulletDatabase[index].ballisticCoefficients.size() == bulletDatabase[index].velocityBoundaries.size() + 1) { + double pressure = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 10 * bulletDatabase[index].overcast; + + dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; + + accelRef[0] = (velocity[0] / bulletSpeed) * dragRef; + accelRef[1] = (velocity[1] / bulletSpeed) * dragRef; + accelRef[2] = (velocity[2] / bulletSpeed) * dragRef; + + velocityOffset[0] -= accelRef[0]; + velocityOffset[1] -= accelRef[1]; + velocityOffset[2] -= accelRef[2]; + + ballisticCoefficient = bulletDatabase[index].ballisticCoefficients[0]; + for (int i = (int)bulletDatabase[index].velocityBoundaries.size() - 1; i >= 0; i = i - 1) + { + if (bulletSpeed < bulletDatabase[index].velocityBoundaries[i]) + { + ballisticCoefficient = bulletDatabase[index].ballisticCoefficients[i + 1]; + break; + } + } + + ballisticCoefficient = calculateAtmosphericCorrection(ballisticCoefficient, temperature, pressure, bulletDatabase[index].humidity, bulletDatabase[index].atmosphereModel); + drag = deltaT * calculateRetard(bulletDatabase[index].dragModel, ballisticCoefficient, trueSpeed); + accel[0] = (trueVelocity[0] / trueSpeed) * drag; + accel[1] = (trueVelocity[1] / trueSpeed) * drag; + accel[2] = (trueVelocity[2] / trueSpeed) * drag; + + velocityOffset[0] -= accel[0]; + velocityOffset[1] -= accel[1]; + velocityOffset[2] -= accel[2]; + } + else { + double pressureDeviation = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 1013.25 - 10 * bulletDatabase[index].overcast; + double airFriction = bulletDatabase[index].airFriction + ((temperature - 15) * 0.0000015 + bulletDatabase[index].humidity * 0.0000040 + pressureDeviation * -0.0000009); + + if (airFriction != bulletDatabase[index].airFriction || windSpeed > 0) { + dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; + + accelRef[0] = (velocity[0] / bulletSpeed) * dragRef; + accelRef[1] = (velocity[1] / bulletSpeed) * dragRef; + accelRef[2] = (velocity[2] / bulletSpeed) * dragRef; + + velocityOffset[0] -= accelRef[0]; + velocityOffset[1] -= accelRef[1]; + velocityOffset[2] -= accelRef[2]; + + drag = deltaT * airFriction * trueSpeed * trueSpeed; + accel[0] = (trueVelocity[0] / trueSpeed) * drag; + accel[1] = (trueVelocity[1] / trueSpeed) * drag; + accel[2] = (trueVelocity[2] / trueSpeed) * drag; + + velocityOffset[0] += accel[0]; + velocityOffset[1] += accel[1]; + velocityOffset[2] += accel[2]; + } + } + + if (bulletSpeedAvg > 0) { + double distanceSqr = pow(bulletDatabase[index].origin[0] - position[0], 2) + pow(bulletDatabase[index].origin[1] - position[1], 2) + pow(bulletDatabase[index].origin[2] - position[2], 2); + double horizontalDeflection = 0.0000729 * distanceSqr * sin(bulletDatabase[index].latitude) / bulletSpeedAvg; + double horizontalDeflectionPartial = horizontalDeflection - bulletDatabase[index].hDeflection; + bulletDatabase[index].hDeflection = horizontalDeflection; + + positionOffset[0] += sin(bulletDir + M_PI / 2) * horizontalDeflectionPartial; + positionOffset[1] += cos(bulletDir + M_PI / 2) * horizontalDeflectionPartial; + } + + double centripetalAccel = 2 * 0.0000729 * (bulletDatabase[index].muzzleVelocity / -32.2) * cos(bulletDatabase[index].latitude) * sin(bulletDir); + velocityOffset[2] -= centripetalAccel * deltaT; + + double spinDrift = bulletDatabase[index].twistDirection * 0.0254 * 1.25 * (bulletDatabase[index].stabilityFactor + 1.2) * pow(TOF, 1.83); + double spinDriftPartial = spinDrift - bulletDatabase[index].spinDrift; + bulletDatabase[index].spinDrift = spinDrift; + + positionOffset[0] += sin(bulletDir + M_PI / 2) * spinDriftPartial; + positionOffset[1] += cos(bulletDir + M_PI / 2) * spinDriftPartial; + + if (bulletSpeed < 345 && bulletSpeedAvg > 340 && bulletSpeed > 335) + { + srand((unsigned)time(NULL)); + velocityOffset[0] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); + velocityOffset[1] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); + velocityOffset[2] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); + }; + + int n = sprintf_s(output, outputSize, "_bullet setVelocity (_bulletVelocity vectorAdd [%f, %f, %f]); _bullet setPosASL (_bulletPosition vectorAdd [%f, %f, %f]);", velocityOffset[0], velocityOffset[1], velocityOffset[2], positionOffset[0], positionOffset[1], positionOffset[2]); + return; + } + else if (!strcmp(mode, "set")) { + int height = 0; + int numObjects = 0; + int surfaceIsWater = 0; + + height = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + numObjects = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + surfaceIsWater = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + + map->gridHeights.push_back(height); + map->gridBuildingNums.push_back(numObjects); + map->gridSurfaceIsWater.push_back(surfaceIsWater); + + int n = sprintf_s(output, outputSize, "%s", ""); + return; + } + else if (!strcmp(mode, "init")) { + int mapSize = 0; + int mapGrids = 0; + int gridCells = 0; + + worldName = strtok_s(NULL, ":", &next_token); + mapSize = strtol(strtok_s(NULL, ":", &next_token), NULL, 10); + + mapGrids = (int)ceil((double)mapSize / 50.0) + 1; + gridCells = mapGrids * mapGrids; + + map = &mapDatabase[worldName]; + if (map->gridHeights.size() == gridCells) { + int n = sprintf_s(output, outputSize, "%s", "Terrain already initialized"); + return; + } + + map->mapSize = mapSize; + map->mapGrids = mapGrids; + map->gridHeights.clear(); + map->gridBuildingNums.clear(); + map->gridSurfaceIsWater.clear(); + map->gridHeights.reserve(gridCells); + map->gridBuildingNums.reserve(gridCells); + map->gridSurfaceIsWater.reserve(gridCells); + + int n = sprintf_s(output, outputSize, "%s", ""); + return; + } + + int n = sprintf_s(output, outputSize, "%s", ""); + return; +} diff --git a/extensions/advanced_ballistics/CMakeLists.txt b/extensions/advanced_ballistics/CMakeLists.txt new file mode 100644 index 0000000000..19b9fc41d9 --- /dev/null +++ b/extensions/advanced_ballistics/CMakeLists.txt @@ -0,0 +1,11 @@ +set(ACE_EXTENSION_NAME "ace_advanced_ballistics") + +file(GLOB SOURCES *.h *.hpp *.c *.cpp) +add_library( ${ACE_EXTENSION_NAME} SHARED ${GLOBAL_SOURCES} ${SOURCES}) +add_dependencies(${ACE_EXTENSION_NAME} ace_common) +SET_TARGET_PROPERTIES(${ACE_EXTENSION_NAME} PROPERTIES PREFIX "") + +if(CMAKE_COMPILER_IS_GNUCXX) + set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_START_STATIC 1) + set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_END_STATIC 1) +endif() \ No newline at end of file diff --git a/extensions/breakLine/CMakeLists.txt b/extensions/breakLine/CMakeLists.txt new file mode 100644 index 0000000000..d34ae1b58e --- /dev/null +++ b/extensions/breakLine/CMakeLists.txt @@ -0,0 +1,11 @@ +set(ACE_EXTENSION_NAME "ace_breakLine") + +file(GLOB SOURCES *.h *.hpp *.c *.cpp) +add_library( ${ACE_EXTENSION_NAME} SHARED ${GLOBAL_SOURCES} ${SOURCES}) +add_dependencies(${ACE_EXTENSION_NAME} ace_common) +SET_TARGET_PROPERTIES(${ACE_EXTENSION_NAME} PROPERTIES PREFIX "") + +if(CMAKE_COMPILER_IS_GNUCXX) + set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_START_STATIC 1) + set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_END_STATIC 1) +endif() \ No newline at end of file diff --git a/extensions/breakLine/ace_breakLine.cpp b/extensions/breakLine/ace_breakLine.cpp new file mode 100644 index 0000000000..89ea1cfd85 --- /dev/null +++ b/extensions/breakLine/ace_breakLine.cpp @@ -0,0 +1,76 @@ +/* + * ace_breakLine.cpp + * + * Takes a string and insert as many line breaks as needed so it fits a given width + * + * Takes: + * Localized string as string + * Example: "Check weapon temperature" + * + * Returns: + * String with line breaks + */ + +#include "ace_common.h" + +#include +#include +#include + +#define MAXCHARACTERS 14 + +extern "C" { + __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); +}; + +std::vector splitString(const std::string & input) { + std::istringstream ss(input); + std::string token; + + std::vector output; + while (std::getline(ss, token, ' ')) { + output.push_back(token); + } + + return output; +} + +std::string addLineBreaks(const std::vector &words) { + std::stringstream sstream; + size_t numChar = 0; + size_t i = 0; + + while (i < words.size()) { + if (numChar == 0) { + sstream << words[i]; + numChar += words[i].size(); + i++; + } else { + if (numChar + 1 + words[i].size() > MAXCHARACTERS) { + sstream << "
"; + numChar = 0; + } else { + sstream << " " << words[i]; + numChar += 1 + words[i].size(); + i++; + } + } + } + + return sstream.str(); +} + +// i like to live dangerously. jk, fix strncpy sometime pls. +#pragma warning( push ) +#pragma warning( disable : 4996 ) + +void __stdcall RVExtension(char *output, int outputSize, const char *function) { + if (!strcmp(function, "version")) { + strncpy(output, ACE_FULL_VERSION_STR, outputSize); + } else { + strncpy(output, addLineBreaks(splitString(function)).c_str(), outputSize); + output[outputSize - 1] = '\0'; + } +} + +#pragma warning( pop ) diff --git a/extensions/common/ace_common.h b/extensions/common/ace_common.h index 4a8847b209..93f7b9af8a 100644 --- a/extensions/common/ace_common.h +++ b/extensions/common/ace_common.h @@ -1,4 +1,4 @@ #pragma once #include "targetver.h" - +#include "ace_version.hpp" diff --git a/extensions/common/ace_version.hpp.in b/extensions/common/ace_version.hpp.in new file mode 100644 index 0000000000..853648497d --- /dev/null +++ b/extensions/common/ace_version.hpp.in @@ -0,0 +1,4 @@ +#pragma once + +#define ACE_VERSION_STR "@ACE_VERSION_MAJOR@.@ACE_VERSION_MINOR@.@ACE_VERSION_REVISION@" +#define ACE_FULL_VERSION_STR "@ACE_VERSION_MAJOR@.@ACE_VERSION_MINOR@.@ACE_VERSION_REVISION@-@ACE_VERSION_BUILD@" \ No newline at end of file diff --git a/extensions/common/ace_version_win32.rc.in b/extensions/common/ace_version_win32.rc.in new file mode 100644 index 0000000000..112f404649 --- /dev/null +++ b/extensions/common/ace_version_win32.rc.in @@ -0,0 +1,47 @@ +#ifdef _WIN32 + + #include + + #ifndef DEBUG + #define VER_DEBUG 0 + #else + #define VER_DEBUG VS_FF_DEBUG + #endif + + VS_VERSION_INFO VERSIONINFO + FILEVERSION @ACE_VERSION_MAJOR@, @ACE_VERSION_MINOR@, @ACE_VERSION_REVISION@ + PRODUCTVERSION @ACE_VERSION_MAJOR@, @ACE_VERSION_MINOR@, @ACE_VERSION_REVISION@ + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS (VS_FF_PRIVATEBUILD|VS_FF_PRERELEASE|VER_DEBUG) + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "ACE3 Team" + VALUE "FileDescription", "@ACE_VERSION_MAJOR@.@ACE_VERSION_MINOR@.@ACE_VERSION_REVISION@-@ACE_VERSION_BUILD@" + VALUE "FileVersion", "@ACE_VERSION_MAJOR@.@ACE_VERSION_MINOR@.@ACE_VERSION_REVISION@-@ACE_VERSION_BUILD@" + VALUE "ProductName", "ACE3" + VALUE "ProductVersion", "@ACE_VERSION_MAJOR@.@ACE_VERSION_MINOR@.@ACE_VERSION_REVISION@-@ACE_VERSION_BUILD@" + VALUE "Build Date", "@ACE_BUILDSTAMP@" + END + END + + BLOCK "VarFileInfo" + BEGIN + /* The following line should only be modified for localized versions. */ + /* It consists of any number of WORD,WORD pairs, with each pair */ + /* describing a language,codepage combination supported by the file. */ + /* */ + /* For example, a file might have values "0x409,1252" indicating that it */ + /* supports English language (0x409) in the Windows ANSI codepage (1252). */ + + VALUE "Translation", 0x409, 1252 + + END + END + +#endif \ No newline at end of file diff --git a/extensions/fcs/CMakeLists.txt b/extensions/fcs/CMakeLists.txt index 2b24542566..0a4ba1b064 100644 --- a/extensions/fcs/CMakeLists.txt +++ b/extensions/fcs/CMakeLists.txt @@ -1,7 +1,7 @@ set(ACE_EXTENSION_NAME "ace_fcs") file(GLOB SOURCES *.h *.hpp *.c *.cpp) -add_library( ${ACE_EXTENSION_NAME} SHARED ${SOURCES}) +add_library( ${ACE_EXTENSION_NAME} SHARED ${GLOBAL_SOURCES} ${SOURCES}) add_dependencies(${ACE_EXTENSION_NAME} ace_common) SET_TARGET_PROPERTIES(${ACE_EXTENSION_NAME} PROPERTIES PREFIX "") diff --git a/extensions/fcs/ace_fcs.cpp b/extensions/fcs/ace_fcs.cpp index 6338dd8571..4aada29aff 100644 --- a/extensions/fcs/ace_fcs.cpp +++ b/extensions/fcs/ace_fcs.cpp @@ -12,7 +12,7 @@ */ #include "ace_common.h" - + #define _USE_MATH_DEFINES #include @@ -21,12 +21,10 @@ #include #define MAXELEVATION 20 -#define MAXITERATIONS 120 +#define MAXITERATIONS 600 #define PRECISION 0.1 #define RADIANS(X) (X / (180 / M_PI)) -static char version[] = "1.0"; - extern "C" { __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); }; @@ -104,7 +102,7 @@ double getSolution(double initSpeed, double airFriction, double angleTarget, dou void __stdcall RVExtension(char *output, int outputSize, const char *function) { if (!strcmp(function, "version")) { - strncpy(output, version, outputSize); + strncpy(output, ACE_FULL_VERSION_STR, outputSize); } else { std::vector argStrings = splitString(function); double initSpeed = std::stod(argStrings[0]); @@ -113,9 +111,11 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { double distance = std::stod(argStrings[3]); double result = getSolution(initSpeed, airFriction, angleTarget, distance); - std::string resultString = std::to_string(result); - strcpy(output, resultString.c_str()); + std::stringstream sstream; + sstream << result; + + strcpy(output, sstream.str().c_str()); output[outputSize - 1] = '\0'; } } diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp new file mode 100644 index 0000000000..85201b92cc --- /dev/null +++ b/extras/CfgAmmoReference.hpp @@ -0,0 +1,2801 @@ +class CfgAmmo +{ + class BulletBase; + class B_556x45_Ball : BulletBase { + airFriction=-0.001265; + hit=8; + typicalSpeed=750; + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class ACE_556x45_Ball_Mk262 : B_556x45_Ball { + airFriction=-0.001125; + caliber=0.6; + deflecting=18; + hit=11; + typicalSpeed=836; + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class ACE_556x45_Ball_Mk318 : B_556x45_Ball { + airFriction=-0.001120; + caliber=0.6; + deflecting=18; + hit=9; + typicalSpeed=886; + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class B_556x45_Ball_Tracer_Red; + class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { + nvgOnly = 1; + }; + class ACE_545x39_Ball_7N6M : B_556x45_Ball { + airFriction=-0.001162; + caliber=0.5; + deflecting=18; + hit=7; + typicalSpeed=880; + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_556x45_Ball_Tracer_Yellow; + class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow { + airFriction=-0.001162; + caliber=0.5; + deflecting=18; + hit=7; + typicalSpeed=883; + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_65x39_Caseless : BulletBase { + airFriction=-0.000785; + typicalSpeed=800; + ACE_caliber=0.264; + ACE_bulletLength=1.295; + ACE_bulletMass=123; + 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.263}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; + ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; + }; + class B_65x39_Case_yellow; + class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { + nvgOnly = 1; + }; + class B_65x39_Caseless_green; + class ACE_65x39_Caseless_green_Tracer_Dim : B_65x39_Caseless_green { + nvgOnly = 1; + }; + class ACE_65x47_Ball_Scenar: B_65x39_Caseless + { + airFriction=-0.00078; + typicalSpeed=820 ; + ACE_caliber=0.264; + ACE_bulletLength=1.364; + ACE_bulletMass=139; + 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.290}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class B_762x51_Ball : BulletBase { + airFriction=-0.001035; + typicalSpeed=833; + hit=9; + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class B_762x51_Tracer_Yellow; + class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { + nvgOnly = 1; + }; + class ACE_762x51_Ball_M118LR : B_762x51_Ball { + airFriction=-0.0008525; + caliber=1.05; + hit=16; + typicalSpeed=790; + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { + airFriction=-0.00103; + caliber=0.85; + hit=14; + typicalSpeed=890; + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=130; + 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.377}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={838, 892, 910}; + ACE_barrelLengths[]={13, 16, 20}; + }; + class ACE_762x51_Ball_Subsonic : B_762x51_Ball { + airFriction=-0.000535; + caliber=0.5; + hit=6; + typicalSpeed=790; + ACE_caliber=0.308; + ACE_bulletLength=1.340; + ACE_bulletMass=200; + 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.235}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={305, 325, 335, 340}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { + airFriction=-0.000830; + caliber=1.08; + hit=17; + typicalSpeed=900; + ACE_caliber=0.308; + ACE_bulletLength=1.353; + ACE_bulletMass=190; + 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.268}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={865, 900, 924}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { + airFriction=-0.000815; + caliber=1.12; + hit=18; + typicalSpeed=867; + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.310}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={847, 867, 877}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { + airFriction=-0.00076; + caliber=1.15; + hit=19; + typicalSpeed=853; + ACE_caliber=0.308; + ACE_bulletLength=1.602; + ACE_bulletMass=230; + 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.368}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 853, 884}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_762x54_Ball: B_762x51_Ball { + airFriction=-0.001023; + typicalSpeed=820; + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x54_Ball_7N14 : B_762x51_Ball { + airFriction=-0.001023; + caliber=0.95; + hit=15; + typicalSpeed=820; + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class B_762x54_Tracer_Green; + class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { + airFriction=-0.001023; + caliber=0.9; + hit=15; + typicalSpeed=800; + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class ACE_762x35_Ball : B_762x51_Ball { + airFriction=-0.000821; + caliber=0.9; + hit=11; + typicalSpeed=790; + ACE_caliber=0.308; + ACE_bulletLength=1.153; + ACE_bulletMass=125; + 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.349, 0.338, 0.330, 0.310}; + ACE_velocityBoundaries[]={792, 610, 488}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={620, 655, 675}; + ACE_barrelLengths[]={9, 16, 20}; + }; + class ACE_762x39_Ball : B_762x51_Ball { + airFriction=-0.0015168; + hit=12; + typicalSpeed=716; + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow { + airFriction=-0.0015168; + hit=12; + typicalSpeed=716; + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_9x21_Ball : BulletBase { + airFriction=-0.00125; + typicalSpeed=390; + hit=6; + ACE_caliber=0.356; + ACE_bulletLength=0.610; + ACE_bulletMass=115; + 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.17}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={440, 460, 480}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class ACE_9x18_Ball_57N181S : B_9x21_Ball { + hit=5; + airFriction=-0.001234; + typicalSpeed=298; + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class ACE_9x19_Ball : B_9x21_Ball { + airFriction=-0.001234; + typicalSpeed=370; + hit=6; + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class ACE_10x25_Ball : B_9x21_Ball { + airFriction=-0.00168; + typicalSpeed=425; + hit=7; + ACE_caliber=0.5; + ACE_bulletLength=0.764; + ACE_bulletMass=165; + 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.189}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 400, 430}; + ACE_barrelLengths[]={4, 4.61, 9}; + }; + class ACE_765x17_Ball: B_9x21_Ball { + airFriction=-0.001213; + typicalSpeed=282; + hit=7; + ACE_caliber=0.3125; + ACE_bulletLength=0.610; + ACE_bulletMass=65; + 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.118}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={282, 300, 320}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class ACE_303_Ball : ACE_762x51_Ball_M118LR { + airFriction=-0.00083; + typicalSpeed=761; + ACE_caliber=0.311; + ACE_bulletLength=1.227; + ACE_bulletMass=174; + 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.499, 0.493, 0.48}; + ACE_velocityBoundaries[]={671, 549}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={748, 761, 765}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_93x64_Ball : BulletBase { + airFriction=-0.00106; + typicalSpeed=880; + ACE_caliber=0.366; + ACE_bulletLength=1.350; + ACE_bulletMass=230; + ACE_transonicStabilityCoef=1; + 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.368}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={850, 870, 880}; + ACE_barrelLengths[]={20, 24.41, 26}; + }; + class B_408_Ball : BulletBase { + timeToLive=10; + airFriction=-0.000395; + typicalSpeed=910; + ACE_caliber=0.408; + ACE_bulletLength=2.126; + ACE_bulletMass=410; + ACE_transonicStabilityCoef=1; + 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.97}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={910}; + ACE_barrelLengths[]={29}; + }; + class ACE_106x83mm_Ball : B_408_Ball { + timeToLive=10; + ACE_caliber=0.416; + ACE_bulletLength=2.089; + ACE_bulletMass=398; + 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.72}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={960}; + ACE_barrelLengths[]={29}; + }; + class B_338_Ball : BulletBase { + timeToLive=10; + airFriction=-0.000606; + typicalSpeed=915; + ACE_caliber=0.338; + ACE_bulletLength=1.558; + ACE_bulletMass=250; + 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.322}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={880, 915, 925}; + ACE_barrelLengths[]={20, 26, 28}; + }; + class B_338_NM_Ball : BulletBase { + airFriction=-0.000537; + typicalSpeed=820; + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + 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.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={790, 807, 820}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_338_Ball : B_338_Ball { + timeToLive=10; + airFriction=-0.000535; + caliber=1.55; + typicalSpeed=826; + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + 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.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 820, 826, 830}; + ACE_barrelLengths[]={20, 24, 26.5, 28}; + }; + class ACE_338_Ball_API526 : B_338_Ball { + timeToLive=10; + airFriction=-0.000673; + caliber=2.4; + typicalSpeed=826; + ACE_caliber=0.338; + ACE_bulletLength=1.535; + ACE_bulletMass=253; + 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.290}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={880, 915, 925}; + ACE_barrelLengths[]={20, 26, 28}; + }; + class B_127x54_Ball : BulletBase { + airFriction=-0.00014; + typicalSpeed=300; + ACE_caliber=0.510; + ACE_bulletLength=2.540; + ACE_bulletMass=750; + 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[]={1.050}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={300}; + ACE_barrelLengths[]={17.2}; + }; + class B_127x99_Ball : BulletBase { + timeToLive=10; + airFriction=-0.0006; + typicalSpeed=853; + ACE_caliber=0.510; + ACE_bulletLength=2.310; + ACE_bulletMass=647; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={853}; + ACE_barrelLengths[]={29}; + }; + class ACE_127x99_Ball_AMAX : B_127x99_Ball { + timeToLive=10; + airFriction=-0.000374; + typicalSpeed=860; + ACE_caliber=0.510; + ACE_bulletLength=2.540; + ACE_bulletMass=750; + 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[]={1.050}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={860}; + ACE_barrelLengths[]={29}; + }; + class B_127x108_Ball : BulletBase { + timeToLive=10; + airFriction=-0.00064; + typicalSpeed=820; + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class B_45ACP_Ball : BulletBase { + airFriction=-0.0007182; + typicalSpeed=250; + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + + class TMR_B_762x51_M118LR : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.505, 0.496, 0.485, 0.485, 0.485}; + ACE_velocityBoundaries[]={853, 549, 549, 549}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + + class RH_50_AE_Ball: BulletBase + { + ACE_caliber=0.5; + ACE_bulletLength=1.110; + ACE_bulletMass=325; + 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.228}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 398, 420}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_454_Casull: BulletBase + { + ACE_caliber=0.452; + ACE_bulletLength=0.895; + ACE_bulletMass=325; + 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.171}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={450, 490, 500}; + ACE_barrelLengths[]={4, 7.5, 9}; + }; + class RH_32ACP: BulletBase + { + ACE_caliber=0.3125; + ACE_bulletLength=0.610; + ACE_bulletMass=65; + 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.118}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={282, 300, 320}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_45ACP: BulletBase + { + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_B_40SW: BulletBase + { + ACE_caliber=0.4; + ACE_bulletLength=0.447; + ACE_bulletMass=135; + 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.105, 0.115, 0.120, 0.105}; + ACE_velocityBoundaries[]={365, 305, 259}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 380, 400}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_44mag_ball: BulletBase + { + ACE_caliber=0.429; + ACE_bulletLength=0.804; + ACE_bulletMass=200; + 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.172}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 390, 420}; + ACE_barrelLengths[]={4, 7.5, 9}; + }; + class RH_357mag_ball: BulletBase + { + ACE_caliber=0.357; + ACE_bulletLength=0.541; + ACE_bulletMass=125; + 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.148}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={490, 510, 535}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_762x25: BulletBase + { + ACE_caliber=0.310; + ACE_bulletLength=0.5455; + ACE_bulletMass=86; + 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.17}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 380, 400}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_9x18_Ball: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class RH_B_9x19_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_B_22LR_SD: BulletBase + { + ACE_caliber=0.223; + ACE_bulletLength=0.45; + ACE_bulletMass=38; + 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.111}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={330, 340, 360}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_57x28mm: BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.495; + ACE_bulletMass=28; + 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.144}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={550, 625, 720}; + ACE_barrelLengths[]={4, 6, 10.35}; + }; + + class RH_9x19_B_M822: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_9x19_B_HP: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_9x19_B_HPSB: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.603; + ACE_bulletMass=147; + 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.212}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={295, 310, 330}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_B_6x35: BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.445; + ACE_bulletMass=65; + 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.26}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={730, 750, 760}; + ACE_barrelLengths[]={8, 10, 12}; + }; + class RH_556x45_B_M855A1 : B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.152}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class RH_556x45_B_Mk262 : B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class RH_556x45_B_Mk318 : B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class RH_68x43_B_FMJ: B_65x39_Caseless + { + ACE_caliber=0.277; + ACE_bulletLength=0.959; + ACE_bulletMass=115; + 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.162}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={713, 785, 810, 850}; + ACE_barrelLengths[]={12, 16, 20, 24}; + }; + class RH_68x43_B_Match: B_65x39_Caseless + { + ACE_caliber=0.277; + ACE_bulletLength=1.250; + ACE_bulletMass=135; + 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.253}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 732, 750, 780}; + ACE_barrelLengths[]={12, 16, 20, 24}; + }; + class RH_762x35_B_FMJ: B_65x39_Caseless + { + ACE_caliber=0.308; + ACE_bulletLength=1.118; + ACE_bulletMass=147; + 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.398}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={559, 609, 625}; + ACE_barrelLengths[]={6, 16, 20}; + }; + class RH_762x35_B_Match: B_65x39_Caseless + { + ACE_caliber=0.308; + ACE_bulletLength=1.153; + ACE_bulletMass=125; + 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.349, 0.338, 0.330, 0.310}; + ACE_velocityBoundaries[]={792, 610, 488}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={590, 650, 665}; + ACE_barrelLengths[]={6, 16, 20}; + }; + class RH_762x35_B_MSB: B_65x39_Caseless + { + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.608}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={300, 320, 340}; + ACE_barrelLengths[]={9, 16, 20}; + }; + class RH_762x51_B_M80A1 : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class RH_762x51_B_Mk316LR : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class RH_762x51_B_Mk319 : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.074; + ACE_bulletMass=130; + 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.277}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={838, 892, 920}; + ACE_barrelLengths[]={13, 16, 20}; + }; + class RH_762x51_B_LFMJSB: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.340; + ACE_bulletMass=200; + 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.252}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={305, 325, 335, 340}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + + class HLC_556NATO_SOST: BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class HLC_556NATO_SPR: BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class HLC_556NATO_EPR: BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.152}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class HLC_300Blackout_Ball: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.118; + ACE_bulletMass=147; + 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.398}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={559, 609, 625}; + ACE_barrelLengths[]={6, 16, 20}; + }; + class HLC_300Blackout_SMK: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.608}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={300, 320, 340}; + ACE_barrelLengths[]={9, 16, 20}; + }; + class HLC_762x51_BTSub: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.340; + ACE_bulletMass=200; + 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.235}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={305, 325, 335, 340}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class HLC_762x54_ball: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class HLC_762x54_tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class HLC_303Brit_B: BulletBase + { + ACE_caliber=0.311; + ACE_bulletLength=1.227; + ACE_bulletMass=174; + 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.499, 0.493, 0.48}; + ACE_velocityBoundaries[]={671, 549}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={748, 761, 765}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class HLC_792x57_Ball: BulletBase + { + ACE_caliber=0.318; + ACE_bulletLength=1.128; + ACE_bulletMass=196; + 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.315}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={785, 800, 815}; + ACE_barrelLengths[]={20, 23.62, 26}; + }; + class FH_545x39_Ball: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class FH_545x39_7u1: FH_545x39_Ball + { + ACE_bulletMass=80; + 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_muzzleVelocities[]={260, 303, 320}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class HLC_9x19_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class HLC_9x19_GoldDot: HLC_9x19_Ball + { + ACE_muzzleVelocities[]={350, 380, 420}; + }; + class HLC_9x19_Subsonic: HLC_9x19_Ball + { + ACE_muzzleVelocities[]={300, 320, 340}; + }; + class HLC_10mm_FMJ: HLC_9x19_Ball + { + ACE_caliber=0.5; + ACE_bulletLength=0.764; + ACE_bulletMass=165; + 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.189}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 400, 430}; + ACE_barrelLengths[]={4, 4.61, 9}; + }; + class HLC_9x19_M882_SMG: HLC_9x19_Ball + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + + class M_mas_545x39_Ball_7N6M : BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class M_mas_545x39_Ball_7T3M : BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_mas_556x45_Ball_Mk262 : B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class B_mas_9x18_Ball_57N181S : BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class B_mas_9x21p_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class B_mas_9x21_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class B_mas_9x21d_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={210, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class B_mas_765x17_Ball: BulletBase + { + ACE_caliber=0.3125; + ACE_bulletLength=0.610; + ACE_bulletMass=65; + 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.118}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={282, 300, 320}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class B_mas_762x39_Ball: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_mas_762x39_Ball_T: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_mas_762x51_Ball_M118LR : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.505, 0.496, 0.485, 0.485, 0.485}; + ACE_velocityBoundaries[]={853, 549, 549, 549}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.353; + ACE_bulletMass=190; + 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.268}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={865, 900, 924}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.310}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={820, 867, 900}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.602; + ACE_bulletMass=230; + 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.368}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 853, 884}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_mas_762x54_Ball : BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class B_mas_762x54_Ball_T : BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class BWA3_B_762x51_Ball_LR : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.505, 0.496, 0.485, 0.485, 0.485}; + ACE_velocityBoundaries[]={853, 549, 549, 549}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class BWA3_B_762x51_Ball_SD : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={300, 340}; + ACE_barrelLengths[]={16, 24}; + }; + + class BWA3_B_46x30_Ball : BulletBase + { + ACE_caliber=0.193; + ACE_bulletLength=0.512; + ACE_bulletMass=31; + 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.1455}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 720, 730, 740}; + ACE_barrelLengths[]={4, 7, 9, 12}; + }; + + class Trixie_338_Ball : BulletBase + { + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + 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.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={820, 826, 830}; + ACE_barrelLengths[]={24, 26.5, 28}; + }; + class Trixie_303_Ball : BulletBase + { + ACE_caliber=0.311; + ACE_bulletLength=1.227; + ACE_bulletMass=174; + 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.499, 0.493, 0.48}; + ACE_velocityBoundaries[]={671, 549}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={748, 761, 765}; + ACE_barrelLengths[]={20, 24, 26}; + }; + + class rhs_ammo_556x45_Mk318_Ball : BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class rhs_ammo_556x45_Mk262_Ball : BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class rhsammo_762x51_Ball : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class rhs_B_545x39_Ball : BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class rhs_B_545x39_Ball_Tracer_Green : BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class rhs_ammo_762x51_M118_Special_Ball : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class rhs_B_762x54_Ball : BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class rhs_B_762x54_Ball_Tracer_Green : BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class rhs_B_762x39_Ball : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class rhs_B_762x39_Tracer : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class rhs_ammo_762x51_M80_Ball : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class rhsusf_B_300winmag : BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.310}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={847, 867, 877}; + ACE_barrelLengths[]={20, 24, 26}; + }; + + class R3F_9x19_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class R3F_556x45_Ball: BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class R3F_762x51_Ball: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class R3F_762x51_Ball2: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.505, 0.496, 0.485, 0.485, 0.485}; + ACE_velocityBoundaries[]={853, 549, 549, 549}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class R3F_127x99_Ball: BulletBase + { + ACE_caliber=0.510; + ACE_bulletLength=2.310; + ACE_bulletMass=647; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={853}; + ACE_barrelLengths[]={29}; + }; + class R3F_127x99_Ball2: BulletBase + { + ACE_caliber=0.510; + ACE_bulletLength=2.310; + ACE_bulletMass=647; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={853}; + ACE_barrelLengths[]={29}; + }; + + class CUP_B_545x39_Ball: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_Green: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_Red: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_White: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_762x39_Ball: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_762x39_Ball_Tracer_Green: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_762x39mm_KLT: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_9x18_Ball: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_Tracer_Green: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_Tracer_Red: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_White_Tracer: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x19_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class CUP_B_762x51_noTracer: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_303_Ball: BulletBase + { + ACE_caliber=0.311; + ACE_bulletLength=1.227; + ACE_bulletMass=174; + 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.499, 0.493, 0.48}; + ACE_velocityBoundaries[]={671, 549}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={748, 761, 765}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class CUP_B_127x107_Ball_Green_Tracer: BulletBase + { + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class CUP_B_127x108_Ball_Green_Tracer: BulletBase + { + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class CUP_B_762x54_Ball_White_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_762x54_Ball_Red_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_762x54_Ball_Green_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_9x39_SP5: BulletBase + { + ACE_caliber=0.364; + ACE_bulletLength=1.24; + ACE_bulletMass=250; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={280, 300, 320}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_762x51_Tracer_Green: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_Tracer_Red: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_Tracer_Yellow: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_Tracer_White: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class B_127x107_Ball: BulletBase + { + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class CUP_B_9x18_SD: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 340}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_765x17_Ball: BulletBase + { + ACE_caliber=0.3125; + ACE_bulletLength=0.610; + ACE_bulletMass=65; + 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.118}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={282, 300, 320}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class CUP_B_145x115_AP_Green_Tracer: BulletBase + { + ACE_caliber=0.586; + ACE_bulletLength=2.00; + ACE_bulletMass=1010; + 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.620}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={1000}; + ACE_barrelLengths[]={53}; + }; + class CUP_B_127x99_Ball_White_Tracer: BulletBase + { + ACE_caliber=0.510; + ACE_bulletLength=2.310; + ACE_bulletMass=647; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={853}; + ACE_barrelLengths[]={29}; + }; + class CUP_B_86x70_Ball_noTracer: BulletBase + { + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + 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.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={820, 826, 830}; + ACE_barrelLengths[]={24, 26.5, 28}; + }; + + class VTN_9x18_Ball_FMJ: B_9x21_Ball + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_9x39_Ball_SC: B_9x21_Ball + { + ACE_caliber=0.364; + ACE_bulletLength=1.24; + ACE_bulletMass=250; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={280, 300, 320}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC + { + ACE_caliber=0.364; + ACE_bulletLength=1.24; + ACE_bulletMass=250; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={280, 300, 320}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_545x39_Ball_SC: B_556x45_Ball + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={300, 320, 340}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_762x39_Ball_SC: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_762x39_Ball_API: VTN_762x39_Ball_INC + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={300, 320, 340}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_762x41_Ball_SS: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=0.53; + ACE_bulletMass=143; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={200, 210, 220}; + ACE_barrelLengths[]={4, 6, 8}; + }; + class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class VTN_762x54_Ball_API: VTN_762x54_Ball_INC + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class VTN_145x114_Ball_APT: B_127x108_Ball + { + ACE_caliber=0.586; + ACE_bulletLength=2.00; + ACE_bulletMass=1010; + 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.620}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={1000}; + ACE_barrelLengths[]={53}; + }; + class VTN_6mm_BB: B_65x39_Caseless + { + ACE_caliber=0.24; + ACE_bulletLength=0.24; + ACE_bulletMass=6; + ACE_ammoTempMuzzleVelocityShifts[]={}; + ACE_ballisticCoefficients[]={}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={100}; + ACE_barrelLengths[]={15}; + }; + class VTN_9x19_Ball_FMJ: B_9x21_Ball + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_556x45_Ball_FMJ: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class VTN_556x45_Ball_SS: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={300, 320, 340}; + ACE_barrelLengths[]={10, 20.0, 24.0}; + }; + class VTN_762x51_Ball_SC: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class VTN_1143x23_Ball_FMJ: B_408_Ball + { + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ + { + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ + { + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class VTN_762x39_Ball_FMJ: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class VTN_45_Pellet: B_762x51_Ball + { + ACE_caliber=0.22; + ACE_bulletLength=0.23; + ACE_bulletMass=3; + ACE_ammoTempMuzzleVelocityShifts[]={}; + ACE_ballisticCoefficients[]={}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={100, 138, 150}; + ACE_barrelLengths[]={5, 10, 16}; + }; +}; \ No newline at end of file diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp new file mode 100644 index 0000000000..4821d53813 --- /dev/null +++ b/extras/CfgWeaponsReference.hpp @@ -0,0 +1,1894 @@ +class CfgWeapons +{ + class MGun; + class MGunCore; + class Pistol_Base_F; + class Rifle_Base_F; + class Rifle_Long_Base_F; + class arifle_MX_Base_F; + class PDW2000_Base_F; + class arifle_Katiba_Base_F; + class SDAR_base_F; + class SMG_02_Base_F; + class Tavor_base_F; + class SMG_01_Base; + class DMR_01_base_F; + class Mk20_Base_F; + class EBR_base_F; + class HMG_127; + class LRR_base_F; + class GM6_base_F; + class DMR_02_base_F; + class DMR_03_base_F; + class DMR_04_base_F; + class DMR_05_base_F; + class DMR_06_base_F; + class MMG_01_base_F; + class MMG_02_base_F; + class hgun_P07_F : Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4; + }; + class hgun_Rook40_F : Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.4; + }; + class hgun_Pistol_heavy_01_F : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + }; + class hgun_Pistol_heavy_02_F : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=3; + }; + class hgun_ACPC2_F : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + class hgun_PDW2000_F : PDW2000_Base_F + { + ACE_barrelTwist=9; + ACE_barrelLength=7; + }; + class arifle_Katiba_F : arifle_Katiba_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=28.7; + }; + class arifle_Katiba_C_F : arifle_Katiba_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=26.8; + }; + class arifle_Katiba_GL_F : arifle_Katiba_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=28.7; + }; + class arifle_MX_F: arifle_MX_Base_F + { + ACE_barrelTwist=9; + ACE_barrelLength=14.5; + }; + class arifle_MX_GL_F: arifle_MX_Base_F + { + ACE_barrelTwist=9; + ACE_barrelLength=14.5; + }; + class arifle_MX_SW_F: arifle_MX_Base_F + { + ACE_barrelTwist=9; + ACE_barrelLength=16.0; + }; + class arifle_MXC_F: arifle_MX_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=10.5; + }; + class arifle_MXM_F: arifle_MX_Base_F + { + ACE_barrelTwist=9; + ACE_barrelLength=18; + }; + class arifle_SDAR_F : SDAR_base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=18; + }; + class SMG_02_F : SMG_02_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=7.7; + }; + class arifle_TRG20_F : Tavor_base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=15; + }; + class arifle_TRG21_F : Tavor_base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18.1; + }; + class LMG_Zafir_F : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=18.1; + }; + class arifle_Mk20_F : Mk20_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=17.4; + }; + class arifle_Mk20C_F : Mk20_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16; + }; + class arifle_Mk20_GL_F : Mk20_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16; + }; + class SMG_01_F : SMG_01_Base + { + ACE_barrelTwist=16; + ACE_barrelLength=5.5; + }; + class srifle_DMR_01_F : DMR_01_base_F + { + ACE_barrelTwist=9.5; + ACE_barrelLength=24; + }; + class srifle_EBR_F : EBR_base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24; + }; + class LMG_Mk200_F : Rifle_Long_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + class srifle_LRR_F : LRR_base_F + { + ACE_barrelTwist=13; + ACE_barrelLength=29; + }; + class srifle_GM6_F : GM6_base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=43.3; + }; + class srifle_DMR_02_F: DMR_02_base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=26; + }; + class srifle_DMR_03_F: DMR_03_base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=20; + }; + class srifle_DMR_04_F: DMR_04_base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=17.72; + }; + class srifle_DMR_05_blk_F: DMR_05_base_F + { + ACE_barrelTwist=14.17; + ACE_barrelLength=24.41; + }; + class srifle_DMR_06_camo_F: DMR_06_base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class MMG_01_hex_F: MMG_01_base_F + { + ACE_barrelTwist=14.17; + ACE_barrelLength=21.65; + }; + class MMG_02_camo_F: MMG_02_base_F + { + ACE_barrelTwist=9.25; + ACE_barrelLength=24; + }; + class HMG_M2 : HMG_127 + { + ACE_barrelTwist=12; + ACE_barrelLength=45; + }; + + class RH_deagle : Pistol_Base_F + { + ACE_barrelTwist=19; + ACE_barrelLength=6; + }; + class RH_sw659 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=7.44; + }; + class RH_usp : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.41; + }; + class RH_uspm : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=6; + }; + class RH_mak : Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=3.68; + }; + class RH_m1911 : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + class RH_kimber : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + class RH_m9 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.9; + }; + class RH_vz61 : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + }; + class RH_tec9 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=5; + }; + class RH_muzi : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=5; + }; + class RH_g18 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.49; + }; + class RH_g17 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.49; + }; + class RH_tt33 : Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=4.6; + }; + class RH_mk2 : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4; + }; + class RH_p226 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.4; + }; + class RH_g19 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4; + }; + class RH_gsh18 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.1; + }; + class RH_mateba : Pistol_Base_F + { + ACE_barrelTwist=14; + ACE_barrelLength=6; + }; + class RH_python : Pistol_Base_F + { + ACE_barrelTwist=14; + ACE_barrelLength=6; + }; + class RH_bull : Pistol_Base_F + { + ACE_barrelTwist=24; + ACE_barrelLength=6.5; + }; + class RH_ttracker : Pistol_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=4; + }; + class RH_mp412 : Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=6; + }; + class RH_fnp45 : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + }; + class RH_fn57 : Pistol_Base_F + { + ACE_barrelTwist=9.1; + ACE_barrelLength=4.8; + }; + class RH_vp70 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.6; + }; + class RH_cz75 : Pistol_Base_F + { + ACE_barrelTwist=9.7; + ACE_barrelLength=4.7; + }; + + class RH_PDW : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10; + }; + + class RH_hb : Rifle_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=6; + }; + class RH_sbr9 : Rifle_Base_F + { + ACE_barrelTwist=9.7; + ACE_barrelLength=9; + }; + class RH_ar10 : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=20.8; + }; + class RH_m4 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class RH_M4m : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10.5; + }; + class RH_M4sbr : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10.5; + }; + class RH_M16a1 : Rifle_Base_F + { + ACE_barrelTwist=14; + ACE_barrelLength=20; + }; + class RH_M16A2 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_M16A3 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_M16A4 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_M16A6 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_hk416 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class RH_hk416c : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=9; + }; + class RH_hk416s : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10.4; + }; + class RH_m27iar : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16.5; + }; + class RH_Mk12mod1 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class RH_SAMR : Rifle_Base_F + { + ACE_barrelTwist=7.7; + ACE_barrelLength=20; + }; + class RH_m110 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=20; + }; + class RH_mk11 : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class RH_sr25ec : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=20; + }; + + class hlc_rifle_ak74 : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class hlc_rifle_aks74u : Rifle_Base_F + { + ACE_barrelTwist=6.3; + ACE_barrelLength=8.3; + }; + class hlc_rifle_ak47 : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=16.3; + }; + class hlc_rifle_akm : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class hlc_rifle_rpk : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=23.2; + }; + class hlc_rifle_aek971 : Rifle_Base_F + { + ACE_barrelTwist=9.5; + ACE_barrelLength=17; + }; + class hlc_rifle_saiga12k : Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=16.9; + }; + class hlc_ar15_base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=11.5; + }; + class hlc_rifle_bcmjack : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class hlc_rifle_Bushmaster300 : Rifle_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=16; + }; + class hlc_rifle_SAMR : Rifle_Base_F + { + ACE_barrelTwist=9; + ACE_barrelLength=16; + }; + class hlc_rifle_honeybase : Rifle_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=6; + }; + class hlc_rifle_SLRchopmod : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class hlc_rifle_LAR : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class hlc_rifle_c1A1 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21.7; + }; + class hlc_rifle_FAL5061 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; + class hlc_rifle_STG58F : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class hlc_rifle_SLR : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21.7; + }; + class hlc_rifle_falosw : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=13; + }; + class hlc_rifle_psg1 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=25.6; + }; + class hlc_rifle_g3sg1 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=17.7; + }; + class hlc_rifle_hk51 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=8.31; + }; + class hlc_rifle_hk53 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=8.31; + }; + class hlc_rifle_g3a3 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=17.7; + }; + class hlc_M14_base : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class hlc_rifle_m14sopmod : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; + class hlc_lmg_M60E4 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=17; + }; + class hlc_lmg_m60 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + + class hlc_smg_mp5k_PDW : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.5; + }; + class hlc_smg_mp5a2 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=8.9; + }; + class hlc_smg_mp5a4 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=8.9; + }; + class hlc_smg_mp5n : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=8.9; + }; + class hlc_smg_mp5sd5 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=5.7; + }; + class hlc_smg_mp5sd6 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=5.7; + }; + class hlc_smg_9mmar : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=8.9; + }; + class hlc_smg_mp510 : Rifle_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=8.9; + }; + class hlc_smg_mp5a3 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=8.9; + }; + + class hgun_mas_usp_F: Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.41; + }; + class hgun_mas_m23_F: Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5.87; + }; + class hgun_mas_acp_F: Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5.03; + }; + class hgun_mas_m9_F: Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.9; + }; + class hgun_mas_bhp_F: Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.7; + }; + class hgun_mas_glock_F: Pistol_Base_F + { + ACE_barrelTwist=9.84; + ACE_barrelLength=4.48; + }; + class hgun_mas_glocksf_F: Pistol_Base_F + { + ACE_barrelTwist=15.75; + ACE_barrelLength=4.60; + }; + class hgun_mas_grach_F: Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.4; + }; + class hgun_mas_mak_F: Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=3.68; + }; + class hgun_mas_sa61_F: Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + }; + class hgun_mas_uzi_F: Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=5.28; + }; + class arifle_mas_mk16 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=13.8; + }; + class arifle_mas_mk16_l : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class arifle_mas_mk17 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=16; + }; + class srifle_mas_m110 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=20; + }; + class arifle_mas_ak_74m : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.34; + }; + class arifle_mas_ak_74m_gl : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.34; + }; + class srifle_mas_svd : Rifle_Base_F + { + ACE_barrelTwist=9.4; + ACE_barrelLength=24.4; + }; + class srifle_mas_m91 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=29; + }; + class srifle_mas_ksvk : Rifle_Base_F + { + ACE_barrelTwist=18; + ACE_barrelLength=39.37; + }; + class LMG_mas_rpk_F : Rifle_Base_F + { + ACE_barrelTwist=7.68; + ACE_barrelLength=23.2; + }; + class LMG_mas_pkm_F : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.4; + }; + class arifle_mas_aks74u : Rifle_Base_F + { + ACE_barrelTwist=6.3; + ACE_barrelLength=8.3; + }; + class arifle_mas_bizon : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=9.1; + }; + class arifle_mas_saiga : Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=16.93; + }; + class arifle_mas_hk416 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class arifle_mas_hk416_gl : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class arifle_mas_hk416c : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=9.0; + }; + class arifle_mas_hk416_m203c : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=9.0; + }; + class arifle_mas_hk417c : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=13; + }; + class arifle_mas_m4 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class arifle_mas_m4c : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10.3; + }; + class arifle_mas_l119 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16; + }; + class arifle_mas_l119_gl : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16; + }; + class arifle_mas_l119_m203 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16; + }; + class arifle_mas_m16 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class arifle_mas_m16_gl : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class srifle_mas_hk417 : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=16.5; + }; + class srifle_mas_sr25 : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class srifle_mas_ebr : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; + class srifle_mas_m24 : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class arifle_mas_mp5 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=8.9; + }; + class arifle_mas_mp5sd : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=5.7; + }; + class srifle_mas_m107 : Rifle_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=29; + }; + class LMG_mas_M249_F : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16.3; + }; + class LMG_mas_M249a_F : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class LMG_mas_mk48_F : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=19.75; + }; + class LMG_mas_m240_F : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class LMG_mas_mg3_F : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22.2; + }; + class arifle_mas_g3 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=17.7; + }; + class arifle_mas_g3_m203 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=17.7; + }; + class arifle_mas_fal : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class arifle_mas_fal_m203 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class arifle_mas_m1014 : Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=18.5; + }; + + class BWA3_P8 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.25; + }; + class BWA3_MP7 : Pistol_Base_F + { + ACE_barrelTwist=6.3; + ACE_barrelLength=7.1; + }; + class BWA3_G36 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18.9; + }; + class BWA3_G36K : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + class BWA3_G28_Standard : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=16.5; + }; + class BWA3_G27 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=16; + }; + class BWA3_MG4 : Rifle_Long_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18.9; + }; + class BWA3_MG5 : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21.6; + }; + class BWA3_G82 : Rifle_Long_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=29; + }; + + class Trixie_L131A1 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.5; + }; + class Trixie_XM8_Carbine : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + class Trixie_XM8_Compact : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=9; + }; + class Trixie_XM8_SAW : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class Trixie_XM8_SAW_NB : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class Trixie_XM8_DMR : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class Trixie_XM8_DMR_NB : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class L129A1_base : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=16; + }; + class Trixie_Enfield : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=25.2; + }; + class Trixie_CZ550_Rail : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=23.622; + }; + class Trixie_FNFAL_Rail : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + + class Trixie_M110 : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=20; + }; + class Trixie_MK12 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class Trixie_LM308MWS : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=16; + }; + class Trixie_M14DMR : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; + class Trixie_M14DMR_NG_Short : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; + class Trixie_M14 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class Trixie_M40A3 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24; + }; + class Trixie_CZ750 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=26; + }; + class Trixie_M24 : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class Trixie_AWM338 : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=27; + }; + class Trixie_M107 : Rifle_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=29; + }; + class Trixie_AS50 : Rifle_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=29; + }; + class L110A1_base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=13.7; + }; + class Trixie_L86A2_base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=25.4; + }; + class Trixie_l85a2_base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20.4; + }; + class L7A2_base : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + + class rhs_weap_pya : Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.4; + }; + class rhs_weap_pkp : Rifle_Long_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.9; + }; + class rhs_weap_pkm : Rifle_Long_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.4; + }; + class rhs_weap_rpk74m : Rifle_Long_Base_F + { + ACE_barrelTwist=7.68; + ACE_barrelLength=23.2; + }; + class rhs_weap_rpk74 : Rifle_Long_Base_F + { + ACE_barrelTwist=7.68; + ACE_barrelLength=23.2; + }; + class rhs_weap_ak74m : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class rhs_weap_aks74u : Rifle_Base_F + { + ACE_barrelTwist=6.3; + ACE_barrelLength=8.3; + }; + class rhs_weap_akm : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class rhs_weap_svd : Rifle_Base_F + { + ACE_barrelTwist=9.4; + ACE_barrelLength=24.4; + }; + class rhs_weap_svds : Rifle_Base_F + { + ACE_barrelTwist=9.4; + ACE_barrelLength=22.2; + }; + class rhs_weap_m4_Base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class rhs_weap_m16a4 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class rhs_weap_m16a4_carryhandle : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class rhs_weap_m16a4_grip : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class rhs_weap_m240B : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class rhs_weap_m249_pip : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16.3; + }; + class rhs_weap_mk18 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10.3; + }; + class rhs_weap_M590_5RD : Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=18.5; + }; + class rhs_weap_M590_8RD : Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=20; + }; + class rhs_weap_sr25 : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class rhs_weap_sr25_ec : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=20; + }; + class rhs_weap_XM2010_Base_F: Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=24; + }; + + class R3F_PAMAS : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.9; + }; + class R3F_Famas_F1: Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=19.2; + }; + class R3F_Famas_surb: Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=15.9; + }; + class R3F_Minimi: Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=13.7; + }; + class R3F_Minimi_762: Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=19.8; + }; + class R3F_FRF2: Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=25.59; + }; + class R3F_PGM_Hecate_II: Rifle_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=27.6; + }; + class R3F_HK417S_HG : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=12; + }; + class R3F_HK417M : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=16; + }; + class R3F_HK417L : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=20; + }; + class R3F_M107 : Rifle_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=29; + }; + class R3F_HK416M : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14; + }; + class R3F_MP5SD : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=5.7; + }; + + class CUP_hgun_Colt1911 : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + class CUP_sgun_AA12 : Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=18; + }; + class CUP_arifle_AK_Base : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=16.3; + }; + class CUP_arifle_AK107_Base : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class CUP_arifle_AKS_Base : Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class CUP_arifle_AKS74U : Rifle_Base_F + { + ACE_barrelTwist=6.3; + ACE_barrelLength=8.3; + }; + class CUP_arifle_RPK74 : Rifle_Long_Base_F + { + ACE_barrelTwist=7.68; + ACE_barrelLength=23.2; + }; + class CUP_srifle_AS50 : Rifle_Long_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=29; + }; + class CUP_srifle_AWM_Base : Rifle_Long_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=27; + }; + class CUP_smg_bizon : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=9.1; + }; + class CUP_hgun_Compact : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=3.74; + }; + class CUP_srifle_CZ750 : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=26; + }; + class CUP_arifle_CZ805_Base : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=14; + }; + class CUP_arifle_CZ805_A1 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=14; + }; + class CUP_arifle_CZ805_A2 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=10.9; + }; + class CUP_srifle_DMR : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class CUP_hgun_Duty : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=3.74; + }; + class CUP_arifle_FNFAL : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class CUP_arifle_G36A : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18.9; + }; + class CUP_arifle_G36K : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + class CUP_arifle_G36C : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=9; + }; + class CUP_arifle_MG36 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18.9; + }; + class CUP_hgun_Glock17 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.49; + }; + class CUP_srifle_CZ550 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=23.622; + }; + class CUP_srifle_ksvk : Rifle_Long_Base_F + { + ACE_barrelTwist=18; + ACE_barrelLength=39.37; + }; + class CUP_lmg_L7A2 : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class CUP_arifle_L85A2_Base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20.4; + }; + class CUP_lmg_L110A1 : Rifle_Long_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=13.7; + }; + class CUP_srifle_LeeEnfield : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=25.2; + }; + class CUP_hgun_M9 : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.9; + }; + class CUP_srifle_M14 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class CUP_arifle_M16_Base : Rifle_Base_F + { + ACE_barrelTwist=14; + ACE_barrelLength=20; + }; + class CUP_arifle_M4_Base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class CUP_srifle_Mk12SPR : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class CUP_srifle_M24_des : Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class CUP_lmg_M60A4 : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=17; + }; + class CUP_srifle_M107_Base : Rifle_Long_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=29; + }; + class CUP_srifle_M110 : Rifle_Base_F + { + ACE_barrelTwist=11; + ACE_barrelLength=20; + }; + class CUP_lmg_M240 : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class CUP_lmg_M249_para : Rifle_Long_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16.3; + }; + class CUP_lmg_M249 : Rifle_Long_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class CUP_sgun_M1014 : Rifle_Base_F + { + ACE_twistDirection=0; + ACE_barrelTwist=0; + ACE_barrelLength=18.5; + }; + class CUP_hgun_Makarov : Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=3.68; + }; + class CUP_hgun_MicroUzi : Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=5; + }; + class CUP_lmg_Mk48_Base : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=19.75; + }; + class CUP_smg_MP5SD6 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=5.7; + }; + class CUP_smg_MP5A5 : Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=8.9; + }; + class CUP_hgun_PB6P9 : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=4.1; + }; + class CUP_hgun_Phantom : Rifle_Base_F + { + ACE_barrelTwist=9.7; + ACE_barrelLength=4.7; + }; + class CUP_lmg_PKM : Rifle_Long_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.4; + }; + class CUP_lmg_Pecheneg : Rifle_Long_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.9; + }; + class CUP_hgun_TaurusTracker455 : Pistol_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=4; + }; + class CUP_arifle_Sa58P : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=15.4; + }; + class CUP_arifle_Sa58V : Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=15.4; + }; + class CUP_hgun_SA61 : Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + }; + class CUP_sgun_Saiga12K: Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=16.9; + } + class CUP_arifle_Mk16_CQC : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10; + }; + class CUP_arifle_Mk16_STD : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14; + }; + class CUP_arifle_Mk16_SV : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class CUP_arifle_Mk17_CQC : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=13; + }; + class CUP_arifle_Mk17_STD : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=16; + }; + class CUP_arifle_Mk20 : Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=20; + }; + class CUP_srifle_SVD : Rifle_Base_F + { + ACE_barrelTwist=9.4; + ACE_barrelLength=24.4; + }; + class CUP_lmg_UK59 : Rifle_Long_Base_F + { + ACE_barrelTwist=15; + ACE_barrelLength=21.7; + }; + class CUP_DSHKM_W : MGun + { + ACE_barrelTwist=15; + ACE_barrelLength=42.1; + }; + class CUP_KPVT_W : MGun + { + ACE_barrelTwist=17.91; + ACE_barrelLength=53; + }; + class CUP_KPVB_W : MGun + { + ACE_barrelTwist=17.91; + ACE_barrelLength=53; + }; + class CUP_M134 : MGunCore + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class CUP_M240_veh_W : Rifle_Long_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class CUP_PKT_W : MGun + { + ACE_barrelTwist=9.45; + ACE_barrelLength=28.43; + }; + class CUP_srifle_VSSVintorez : Rifle_Base_F + { + ACE_barrelTwist=8.3; + ACE_barrelLength=7.9; + }; + class CUP_arifle_XM8_Base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + class CUP_arifle_XM8_Carbine : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + class CUP_arifle_xm8_sharpshooter : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class CUP_arifle_xm8_SAW : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class CUP_arifle_XM8_Compact : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=9; + }; + class CUP_arifle_XM8_Railed_Base : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=12.5; + }; + + class VTN_AK_BASE: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AK74M: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AK74M_GP25: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AK74M_GP30M: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AKS74: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AKS74N: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AKS74N_76: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AK74_76: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AKMS_aa: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=10.3; + }; + class VTN_AKS74U_BASE: Rifle_Base_F + { + ACE_barrelTwist=6.3; + ACE_barrelLength=8.3; + }; + class VTN_AKM_BASE: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AKMS: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AKMS_T_P: Rifle_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class VTN_AK103_BASE: Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=16.3; + }; + class VTN_AK104_BASE: Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=12.4; + }; + class VTN_AK105_BASE: Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=12.4; + }; + class VTN_AK105_P_BASE: Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=12.4; + }; + class VTN_SVD_BASE: Rifle_Base_F + { + ACE_barrelTwist=9.4; + ACE_barrelLength=24.4; + }; + class VTN_SVD_63: Rifle_Base_F + { + ACE_barrelTwist=9.4; + ACE_barrelLength=24.4; + }; + class VTN_SVD_86: Rifle_Base_F + { + ACE_barrelTwist=9.4; + ACE_barrelLength=24.4; + }; + class VTN_SV98_BASE: Rifle_Base_F + { + ACE_barrelTwist=12.6; + ACE_barrelLength=25.59; + }; + class VTN_PKM_BAS: Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.4; + }; + class VTN_PKP: Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.9; + }; + class VTN_PYA: Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.4; + }; + class VTN_PM: Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=3.68; + }; + class VTN_PB: Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=4.1; + }; + class VTN_GSH18: Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.1; + }; + class VTN_PSS: Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=1.4; + }; + class VTN_PKT: Rifle_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=28.43; + }; + class VTN_KORD: Rifle_Base_F + { + ACE_barrelTwist=17.91; + ACE_barrelLength=53; + }; + class VTN_KPVT: Rifle_Base_F + { + ACE_barrelTwist=17.91; + ACE_barrelLength=53; + }; + class VTN_C_M4A1 : Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class VTN_MK18MOD0: Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10.3; + }; + class VTN_M16_BASE: Rifle_Base_F + { + ACE_barrelTwist=14; + ACE_barrelLength=20; + }; + class VTN_FN_SAMR_BASE: Rifle_Base_F + { + ACE_barrelTwist=7.7; + ACE_barrelLength=20; + }; + class VTN_M249_SAW_BASE: Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class VTN_M249_PARA: Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=16.3; + }; + class VTN_M240G_BASE: Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class VTN_M9: Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.9; + }; + class VTN_M45A1: Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + class VTN_M24: Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class VTN_M240: Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class VTN_KO44: Rifle_Base_F + { + ACE_barrelTwist=9.5; + ACE_barrelLength=20.2; + }; + class VTN_SAIGA_MK03: Rifle_Base_F + { + ACE_twistDirection=9.45; + ACE_barrelLength=16.3; + }; +}; \ No newline at end of file diff --git a/extras/K4500_Instruction_Manual_English.pdf b/extras/K4500_Instruction_Manual_English.pdf new file mode 100644 index 0000000000..a3096109c6 Binary files /dev/null and b/extras/K4500_Instruction_Manual_English.pdf differ diff --git a/extras/assets/icons/Icons_Actions.psd b/extras/assets/icons/Icons_Actions.psd new file mode 100644 index 0000000000..616ab7a7fa Binary files /dev/null and b/extras/assets/icons/Icons_Actions.psd differ diff --git a/extras/assets/icons/Icons_Modules.psd b/extras/assets/icons/Icons_Modules.psd index 9dcfa6a38b..9686644521 100644 Binary files a/extras/assets/icons/Icons_Modules.psd and b/extras/assets/icons/Icons_Modules.psd differ diff --git a/extras/assets/icons/png/Icon_Actions/disarm.png b/extras/assets/icons/png/Icon_Actions/disarm.png new file mode 100644 index 0000000000..1bf8de1548 Binary files /dev/null and b/extras/assets/icons/png/Icon_Actions/disarm.png differ diff --git a/extras/assets/icons/png/Icon_Module_Ambient_Sounds_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Ambient_Sounds_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Ambient_Sounds_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Ambient_Sounds_ca.png diff --git a/extras/assets/icons/png/Icon_Module_BFTracking_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_BFTracking_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_BFTracking_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_BFTracking_ca.png diff --git a/extras/assets/icons/png/Icon_Module_CheckPBO_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_CheckPBO_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_CheckPBO_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_CheckPBO_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Explosives_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Explosives_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Explosives_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Explosives_ca.png diff --git a/extras/assets/icons/png/Icon_Module_FriendlyFire_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_FriendlyFire_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_FriendlyFire_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_FriendlyFire_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Hearing_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Hearing_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Hearing_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Hearing_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Interaction_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Interaction_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Interaction_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Interaction_ca.png diff --git a/extras/assets/icons/png/Icon_Module_LSD_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_LSD_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_LSD_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_LSD_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Make_Unit_Surrender_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Make_Unit_Surrender_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Make_Unit_Surrender_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Make_Unit_Surrender_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Map_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Map_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Map_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Map_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Medical_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Medical_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Medical_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Medical_ca.png diff --git a/extras/assets/icons/png/Icon_Module_NameTags_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_NameTags_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_NameTags_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_NameTags_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Rallypoint_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Rallypoint_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Rallypoint_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Rallypoint_ca.png diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Repair_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Repair_ca.png new file mode 100644 index 0000000000..381c3d1c41 Binary files /dev/null and b/extras/assets/icons/png/Icon_Module/Icon_Module_Repair_ca.png differ diff --git a/extras/assets/icons/png/Icon_Module_Respawn_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Respawn_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Respawn_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Respawn_ca.png diff --git a/extras/assets/icons/png/Icon_Module_SwitchUnits_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_SwitchUnits_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_SwitchUnits_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_SwitchUnits_ca.png diff --git a/extras/assets/icons/png/Icon_Module_VehicleKey_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_VehicleKey_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_VehicleKey_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_VehicleKey_ca.png diff --git a/extras/assets/icons/png/Icon_Module_VehicleLock_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_VehicleLock_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_VehicleLock_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_VehicleLock_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Wind_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Wind_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Wind_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Wind_ca.png diff --git a/extras/assets/icons/png/Icon_Module_microDAGR_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_microDAGR_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_microDAGR_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_microDAGR_ca.png diff --git a/extras/assets/icons/png/Icon_Module_mk6_ca.png b/extras/assets/icons/png/Icon_Module_mk6_ca.png new file mode 100644 index 0000000000..26c2966551 Binary files /dev/null and b/extras/assets/icons/png/Icon_Module_mk6_ca.png differ diff --git a/extras/manual_Horus_ATrag-v385.pdf b/extras/manual_Horus_ATrag-v385.pdf new file mode 100644 index 0000000000..e3b4a0555d Binary files /dev/null and b/extras/manual_Horus_ATrag-v385.pdf differ diff --git a/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml b/extras/notepad++_SyntaxHighlighting_With_SQFandCBA.xml similarity index 100% rename from tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml rename to extras/notepad++_SyntaxHighlighting_With_SQFandCBA.xml diff --git a/mod.cpp b/mod.cpp index e266c8b710..f1cef6b6a2 100644 --- a/mod.cpp +++ b/mod.cpp @@ -1,12 +1,12 @@ name = "ACE3"; picture = "logo_ace3_ca.paa"; -actionName = "Github"; -action = "https://github.com/KoffeinFlummi/ACE3"; +actionName = "GitHub"; +action = "https://github.com/acemod/ACE3"; description = "ACE3 - Version 3.0.0"; logo = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa"; tooltip = "ACE3"; tooltipOwned = "ACE3 Owned"; -overview = "ACE3 is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma3."; +overview = "ACE3 is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma 3."; author = "ACE3 Team"; -overviewPicture = "logo_ace3_ca.paa"; \ No newline at end of file +overviewPicture = "logo_ace3_ca.paa"; diff --git a/optionals/compat_asdg/config.cpp b/optionals/compat_asdg/config.cpp new file mode 100644 index 0000000000..b485685c55 --- /dev/null +++ b/optionals/compat_asdg/config.cpp @@ -0,0 +1,36 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"asdg_jointrails","ace_laserpointer","ace_optics"}; + author[]={"OnkelDisMaster"}; + authorUrl = "http://2.xn--gebirgsjgerkompanie-nwb.de/"; + VERSION_CONFIG; + }; +}; + +class asdg_SlotInfo; +class asdg_FrontSideRail: asdg_SlotInfo { + class compatibleItems { + ACE_acc_pointer_red = 1; + ACE_acc_pointer_green = 1; + }; +}; + +class asdg_OpticRail; +class asdg_OpticRail1913: asdg_OpticRail { + class compatibleItems { + ACE_optic_Hamr_2D = 1; + ACE_optic_Hamr_PIP = 1; + ACE_optic_Arco_2D = 1; + ACE_optic_Arco_PIP = 1; + ACE_optic_MRCO_2D = 1; + ACE_optic_SOS_2D = 1; + ACE_optic_SOS_PIP = 1; + ACE_optic_LRPS_2D = 1; + ACE_optic_LRPS_PIP = 1; + }; +}; diff --git a/optionals/compat_asdg/script_component.hpp b/optionals/compat_asdg/script_component.hpp new file mode 100644 index 0000000000..e67bf3b9e4 --- /dev/null +++ b/optionals/compat_asdg/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT asdg_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp new file mode 100644 index 0000000000..1dcd91bc23 --- /dev/null +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -0,0 +1,422 @@ +class CfgAmmo +{ + class BulletBase; + class B_762x51_Ball; + class B_127x99_Ball; + class CUP_B_545x39_Ball: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_Red: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_White: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_762x39_Ball: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_762x39_Ball_Tracer_Green: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_9x18_Ball: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_Tracer_Green: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_Tracer_Red: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x18_Ball_White_Tracer: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_9x19_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class CUP_B_762x51_noTracer: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_303_Ball: BulletBase + { + ACE_caliber=0.311; + ACE_bulletLength=1.227; + ACE_bulletMass=174; + 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.499, 0.493, 0.48}; + ACE_velocityBoundaries[]={671, 549}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={748, 761, 765}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class CUP_B_127x107_Ball_Green_Tracer: BulletBase + { + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class CUP_B_127x108_Ball_Green_Tracer: BulletBase + { + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class CUP_B_762x54_Ball_White_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_762x54_Ball_Red_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_762x54_Ball_Green_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class CUP_B_9x39_SP5: BulletBase + { + ACE_caliber=0.364; + ACE_bulletLength=1.24; + ACE_bulletMass=250; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={280, 300, 320}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class CUP_B_762x51_Tracer_Green: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_Tracer_Red: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_Tracer_Yellow: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class CUP_B_762x51_Tracer_White: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class B_127x107_Ball: BulletBase + { + ACE_caliber=0.511; + ACE_bulletLength=2.520; + ACE_bulletMass=745; + 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.63}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820}; + ACE_barrelLengths[]={28.7}; + }; + class CUP_B_9x18_SD: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 340}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class CUP_B_765x17_Ball: BulletBase + { + ACE_caliber=0.3125; + ACE_bulletLength=0.610; + ACE_bulletMass=65; + 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.118}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={282, 300, 320}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class CUP_B_145x115_AP_Green_Tracer: BulletBase + { + ACE_caliber=0.586; + ACE_bulletLength=2.00; + ACE_bulletMass=1010; + 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.620}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={1000}; + ACE_barrelLengths[]={53}; + }; + class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball + { + ACE_caliber=0.510; + ACE_bulletLength=2.310; + ACE_bulletMass=647; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={853}; + ACE_barrelLengths[]={29}; + }; + class CUP_B_86x70_Ball_noTracer: BulletBase + { + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + 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.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={820, 826, 830}; + ACE_barrelLengths[]={24, 26.5, 28}; + }; +}; \ No newline at end of file diff --git a/optionals/compat_cup/config.cpp b/optionals/compat_cup/config.cpp new file mode 100644 index 0000000000..e4f26f8051 --- /dev/null +++ b/optionals/compat_cup/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"CUP_Weapons_Ammunition"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" diff --git a/optionals/compat_cup/script_component.hpp b/optionals/compat_cup/script_component.hpp new file mode 100644 index 0000000000..3d77fcb370 --- /dev/null +++ b/optionals/compat_cup/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT CUP_Weapons_Ammunition_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp new file mode 100644 index 0000000000..d57de932e6 --- /dev/null +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -0,0 +1,65 @@ +class CfgWeapons +{ + class Rifle; + class Rifle_Base_F; + class hlc_ar15_base: Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=11.5; + }; + class hlc_rifle_RU556: hlc_ar15_base + { + ACE_barrelTwist=7; + ACE_barrelLength=10.3; + }; + class hlc_rifle_RU5562: hlc_rifle_RU556 + { + ACE_barrelTwist=7; + ACE_barrelLength=10.3; + }; + class hlc_rifle_CQBR: hlc_rifle_RU556 + { + ACE_barrelTwist=7; + ACE_barrelLength=10; + }; + class hlc_rifle_M4: hlc_rifle_RU556 + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class hlc_rifle_bcmjack: hlc_ar15_base + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class hlc_rifle_Colt727: hlc_ar15_base + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 + { + ACE_barrelTwist=8; + ACE_barrelLength=14.5; + }; + class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 + { + ACE_barrelTwist=8; + ACE_barrelLength=16; + }; + class hlc_rifle_SAMR: hlc_rifle_RU556 + { + ACE_barrelTwist=9; + ACE_barrelLength=16; + }; + class hlc_rifle_honeybase: hlc_rifle_RU556 + { + ACE_barrelTwist=8; + ACE_barrelLength=6; + }; +}; \ No newline at end of file diff --git a/optionals/compat_hlc_ar15/config.cpp b/optionals/compat_hlc_ar15/config.cpp new file mode 100644 index 0000000000..51e42dc040 --- /dev/null +++ b/optionals/compat_hlc_ar15/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_ar15"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlc_ar15/script_component.hpp b/optionals/compat_hlc_ar15/script_component.hpp new file mode 100644 index 0000000000..3fb38b0477 --- /dev/null +++ b/optionals/compat_hlc_ar15/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_ar15_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp new file mode 100644 index 0000000000..bb2762d1bc --- /dev/null +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -0,0 +1,60 @@ + +class CfgWeapons +{ + class Rifle_Base_F; + class hlc_MP5_base: Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; + class hlc_smg_mp5k_PDW: hlc_MP5_base + { + ACE_barrelTwist=10; + ACE_barrelLength=4.5; + }; + class hlc_smg_mp5k: hlc_smg_mp5k_PDW + { + ACE_barrelTwist=10; + ACE_barrelLength=4.5; + }; + class hlc_smg_mp5a2: hlc_MP5_base + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; + class hlc_smg_MP5N: hlc_MP5_base + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; + class hlc_smg_9mmar: hlc_smg_MP5N + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; + class hlc_smg_mp5a4: hlc_MP5_base + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; + class hlc_smg_mp510: hlc_smg_MP5N + { + ACE_barrelTwist=15; + ACE_barrelLength=9; + }; + class hlc_smg_mp5sd5: hlc_MP5_base + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; + class hlc_smg_mp5a3: hlc_smg_mp5a2 + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; + class hlc_smg_mp5sd6: hlc_smg_mp5sd5 + { + ACE_barrelTwist=10; + ACE_barrelLength=9; + }; +}; diff --git a/optionals/compat_hlc_wp_mp5/config.cpp b/optionals/compat_hlc_wp_mp5/config.cpp new file mode 100644 index 0000000000..1f4fe78db4 --- /dev/null +++ b/optionals/compat_hlc_wp_mp5/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_mp5"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlc_wp_mp5/script_component.hpp b/optionals/compat_hlc_wp_mp5/script_component.hpp new file mode 100644 index 0000000000..6b19e4912b --- /dev/null +++ b/optionals/compat_hlc_wp_mp5/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_mp5_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp new file mode 100644 index 0000000000..390d3e6177 --- /dev/null +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -0,0 +1,76 @@ +class CfgWeapons +{ + class optic_dms; + class hlc_ak_base; + class hlc_rifle_ak12; + class InventoryOpticsItem_Base_F; + class hlc_rifle_ak74: hlc_ak_base + { + ACE_barrelTwist=7.8699999; + ACE_barrelLength=16.299999; + }; + class hlc_rifle_aku12: hlc_rifle_ak12 + { + ACE_barrelTwist=6.3000002; + ACE_barrelLength=8.3000002; + }; + class hlc_rifle_RPK12: hlc_rifle_ak12 + { + ACE_barrelLength=23.200001; + }; + class hlc_rifle_aks74u: hlc_rifle_ak74 + { + ACE_barrelTwist=6.3000002; + ACE_barrelLength=8.3000002; + }; + class hlc_rifle_ak47: hlc_rifle_ak74 + { + ACE_barrelTwist=9.4499998; + ACE_barrelLength=16.299999; + }; + class hlc_rifle_akm: hlc_rifle_ak47 + { + ACE_barrelTwist=7.8699999; + ACE_barrelLength=16.299999; + }; + class hlc_rifle_rpk: hlc_rifle_ak47 + { + ACE_barrelTwist=9.4499998; + ACE_barrelLength=23.200001; + }; + class hlc_rifle_rpk74n: hlc_rifle_rpk + { + ACE_barrelTwist=9.4499998; + ACE_barrelLength=23.200001; + }; + class hlc_rifle_aek971: hlc_rifle_ak74 + { + ACE_barrelTwist=9.5; + ACE_barrelLength=17; + }; + class hlc_rifle_saiga12k: hlc_rifle_ak47 + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=16.9; + }; + + class HLC_Optic_PSO1 : optic_dms { + ACE_ScopeAdjust_Vertical[] = { 0, 0 }; + ACE_ScopeAdjust_Horizontal[] = { -10, 10 }; + ACE_ScopeAdjust_Increment = 0.5; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip { + discreteDistance[]={100, 200, 300, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000}; + discreteDistanceInitIndex=3; + }; + }; + }; + }; + class HLC_Optic_1p29 : HLC_Optic_PSO1 { + ACE_ScopeAdjust_Vertical[] = {}; + ACE_ScopeAdjust_Horizontal[] = {}; + ACE_ScopeAdjust_Increment = 0; + }; +}; \ No newline at end of file diff --git a/optionals/compat_hlcmods_ak/config.cpp b/optionals/compat_hlcmods_ak/config.cpp new file mode 100644 index 0000000000..7c8cdba2ba --- /dev/null +++ b/optionals/compat_hlcmods_ak/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_aks"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlcmods_ak/script_component.hpp b/optionals/compat_hlcmods_ak/script_component.hpp new file mode 100644 index 0000000000..a970229846 --- /dev/null +++ b/optionals/compat_hlcmods_ak/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_aks_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp new file mode 100644 index 0000000000..b46cf485e1 --- /dev/null +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -0,0 +1,51 @@ + +class CfgWeapons +{ + class Rifle_Base_F; + class hlc_aug_base; + class hlc_rifle_aug: hlc_aug_base + { + ACE_barrelTwist=9; + ACE_barrelLength=20; + }; + class hlc_rifle_auga1carb: hlc_rifle_aug + { + ACE_barrelTwist=9; + ACE_barrelLength=16; + }; + class hlc_rifle_aughbar: hlc_rifle_aug + { + ACE_barrelTwist=9; + ACE_barrelLength=24; + }; + class hlc_rifle_augpara: hlc_rifle_aug + { + ACE_barrelTwist=9; + ACE_barrelLength=16.5; + }; + class hlc_rifle_auga2: hlc_rifle_aug + { + ACE_barrelTwist=9; + ACE_barrelLength=20; + }; + class hlc_rifle_auga2para: hlc_rifle_auga2 + { + ACE_barrelTwist=9; + ACE_barrelLength=16.5; + }; + class hlc_rifle_auga2carb: hlc_rifle_auga2 + { + ACE_barrelTwist=9; + ACE_barrelLength=18; + }; + class hlc_rifle_auga2lsw: hlc_rifle_aughbar + { + ACE_barrelTwist=9; + ACE_barrelLength=24; + }; + class hlc_rifle_auga3: hlc_rifle_aug + { + ACE_barrelTwist=9; + ACE_barrelLength=18; + }; +}; \ No newline at end of file diff --git a/optionals/compat_hlcmods_aug/config.cpp b/optionals/compat_hlcmods_aug/config.cpp new file mode 100644 index 0000000000..06192a6ffd --- /dev/null +++ b/optionals/compat_hlcmods_aug/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_AUG"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlcmods_aug/script_component.hpp b/optionals/compat_hlcmods_aug/script_component.hpp new file mode 100644 index 0000000000..d5a6712b6b --- /dev/null +++ b/optionals/compat_hlcmods_aug/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_AUG_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp new file mode 100644 index 0000000000..7259d2da3d --- /dev/null +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -0,0 +1,316 @@ +class CfgAmmo +{ + class B_762x51_Ball; + class B_556x45_Ball; + class B_127x99_Ball; + class B_127x99_Ball_Tracer_Red; + class HLC_762x51_tracer; + class HLC_762x51_ball; + class HLC_556NATO_EPR: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class HLC_556NATO_SOST: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class HLC_556NATO_SPR: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class HLC_300Blackout_Ball: B_556x45_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.118; + ACE_bulletMass=147; + 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.398}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={559, 609, 625}; + ACE_barrelLengths[]={6, 16, 20}; + }; + class HLC_300Blackout_SMK: HLC_300Blackout_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.608}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={300, 320, 340}; + ACE_barrelLengths[]={9, 16, 20}; + }; + class HLC_762x39_Ball: HLC_300Blackout_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class HLC_762x39_Tracer: HLC_762x39_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class HLC_762x51_MK316_20in: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class HLC_762x51_BTSub: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.340; + ACE_bulletMass=200; + 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.235}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={305, 325, 335, 340}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class HLC_762x54_ball: HLC_762x51_ball + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class HLC_762x54_tracer: HLC_762x51_tracer + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class HLC_303Brit_B: B_556x45_Ball + { + ACE_caliber=0.311; + ACE_bulletLength=1.227; + ACE_bulletMass=174; + 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.499, 0.493, 0.48}; + ACE_velocityBoundaries[]={671, 549}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={748, 761, 765}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class HLC_792x57_Ball: HLC_303Brit_B + { + ACE_caliber=0.318; + ACE_bulletLength=1.128; + ACE_bulletMass=196; + 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.315}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={785, 800, 815}; + ACE_barrelLengths[]={20, 23.62, 26}; + }; + class HLC_542x42_ball: HLC_303Brit_B + { + }; + class HLC_542x42_Tracer: HLC_303Brit_B + { + }; + class FH_545x39_Ball: B_556x45_Ball + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class FH_545x39_7u1: FH_545x39_Ball + { + ACE_bulletMass=80; + 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_muzzleVelocities[]={260, 303, 320}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class HLC_57x28mm_JHP: FH_545x39_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.495; + ACE_bulletMass=28; + 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.144}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={550, 625, 720}; + ACE_barrelLengths[]={4, 6, 10.35}; + }; + class HLC_9x19_Ball: B_556x45_Ball + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class HLC_9x19_M882_SMG: B_556x45_Ball + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class HLC_9x19_GoldDot: HLC_9x19_Ball + { + ACE_muzzleVelocities[]={350, 380, 420}; + }; + class HLC_9x19_Subsonic: HLC_9x19_Ball + { + ACE_muzzleVelocities[]={300, 320, 340}; + }; + class HLC_10mm_FMJ: HLC_9x19_Ball + { + ACE_caliber=0.5; + ACE_bulletLength=0.764; + ACE_bulletMass=165; + 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.189}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 400, 430}; + ACE_barrelLengths[]={4, 4.61, 9}; + }; + class HLC_45ACP_Ball: B_556x45_Ball + { + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class FH_44Mag: HLC_45ACP_Ball + { + ACE_caliber=0.429; + ACE_bulletLength=0.804; + ACE_bulletMass=200; + 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.172}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 390, 420}; + ACE_barrelLengths[]={4, 7.5, 9}; + }; + class FH_50BMG_SLAP: B_127x99_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.25; + ACE_bulletMass=350; + 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[]={1.056}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={1204}; + ACE_barrelLengths[]={29}; + }; + class FH_50BMG_Raufoss: B_127x99_Ball + { + ACE_caliber=0.510; + ACE_bulletLength=2.380; + ACE_bulletMass=660; + 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.670}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={817}; + ACE_barrelLengths[]={29}; + }; +}; diff --git a/optionals/compat_hlcmods_core/config.cpp b/optionals/compat_hlcmods_core/config.cpp new file mode 100644 index 0000000000..ecd780908f --- /dev/null +++ b/optionals/compat_hlcmods_core/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_core"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" diff --git a/optionals/compat_hlcmods_core/script_component.hpp b/optionals/compat_hlcmods_core/script_component.hpp new file mode 100644 index 0000000000..444799ed4a --- /dev/null +++ b/optionals/compat_hlcmods_core/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_core_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp new file mode 100644 index 0000000000..05a17d8eb4 --- /dev/null +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -0,0 +1,50 @@ + +class CfgWeapons +{ + class hlc_fal_base; + class hlc_rifle_falosw: hlc_fal_base + { + ACE_barrelTwist=12; + ACE_barrelLength=13; + }; + class hlc_rifle_osw_GL: hlc_rifle_falosw + { + ACE_barrelTwist=12; + ACE_barrelLength=13; + }; + class hlc_rifle_SLR: hlc_fal_base + { + ACE_barrelTwist=12; + ACE_barrelLength=21.700001; + }; + class hlc_rifle_STG58F: hlc_fal_base + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class hlc_rifle_FAL5061: hlc_fal_base + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; + class hlc_rifle_L1A1SLR: hlc_rifle_SLR + { + ACE_barrelTwist=12; + ACE_barrelLength=21.700001; + }; + class hlc_rifle_c1A1: hlc_rifle_SLR + { + ACE_barrelTwist=12; + ACE_barrelLength=21.700001; + }; + class hlc_rifle_LAR: hlc_rifle_FAL5061 + { + ACE_barrelTwist=12; + ACE_barrelLength=21; + }; + class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; +}; \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/config.cpp b/optionals/compat_hlcmods_fal/config.cpp new file mode 100644 index 0000000000..5428e9871c --- /dev/null +++ b/optionals/compat_hlcmods_fal/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_falpocalypse"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlcmods_fal/script_component.hpp b/optionals/compat_hlcmods_fal/script_component.hpp new file mode 100644 index 0000000000..828722a5a4 --- /dev/null +++ b/optionals/compat_hlcmods_fal/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_falpocalypse_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp new file mode 100644 index 0000000000..e45fe34048 --- /dev/null +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -0,0 +1,45 @@ + +class CfgWeapons +{ + class hlc_g3_base; + class hlc_rifle_g3sg1: hlc_g3_base + { + ACE_barrelTwist=12; + ACE_barrelLength=17.700001; + }; + class hlc_rifle_psg1: hlc_rifle_g3sg1 + { + ACE_barrelTwist=12; + ACE_barrelLength=25.6; + }; + class hlc_rifle_g3a3: hlc_rifle_g3sg1 + { + ACE_barrelTwist=12; + ACE_barrelLength=17.700001; + }; + class hlc_rifle_g3a3ris: hlc_rifle_g3a3 + { + ACE_barrelTwist=12; + ACE_barrelLength=17.700001; + }; + class hlc_rifle_g3ka4: hlc_rifle_g3a3 + { + ACE_barrelTwist=12; + ACE_barrelLength=12.4; + }; + class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 + { + ACE_barrelTwist=12; + ACE_barrelLength=12.4; + }; + class hlc_rifle_hk51: hlc_rifle_g3sg1 + { + ACE_barrelTwist=12; + ACE_barrelLength=8.3100004; + }; + class hlc_rifle_hk53: hlc_rifle_g3sg1 + { + ACE_barrelTwist=7; + ACE_barrelLength=8.3100004; + }; +}; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/config.cpp b/optionals/compat_hlcmods_g3/config.cpp new file mode 100644 index 0000000000..6b79486364 --- /dev/null +++ b/optionals/compat_hlcmods_g3/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_g3"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlcmods_g3/script_component.hpp b/optionals/compat_hlcmods_g3/script_component.hpp new file mode 100644 index 0000000000..642977f87b --- /dev/null +++ b/optionals/compat_hlcmods_g3/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_g3_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp new file mode 100644 index 0000000000..01a67ff063 --- /dev/null +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -0,0 +1,16 @@ + +class CfgWeapons +{ + class Rifle_Base_F; + class hlc_rifle_M14; + class hlc_M14_base: Rifle_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class hlc_rifle_m14sopmod: hlc_rifle_M14 + { + ACE_barrelTwist=12; + ACE_barrelLength=18; + }; +}; diff --git a/optionals/compat_hlcmods_m14/config.cpp b/optionals/compat_hlcmods_m14/config.cpp new file mode 100644 index 0000000000..cdf11a7db1 --- /dev/null +++ b/optionals/compat_hlcmods_m14/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_m14"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlcmods_m14/script_component.hpp b/optionals/compat_hlcmods_m14/script_component.hpp new file mode 100644 index 0000000000..a29b751195 --- /dev/null +++ b/optionals/compat_hlcmods_m14/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlcweapons_m14_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp new file mode 100644 index 0000000000..9532c1968d --- /dev/null +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -0,0 +1,15 @@ + +class CfgWeapons +{ + class hlc_M60e4_base; + class hlc_lmg_M60E4: hlc_M60e4_base + { + ACE_barrelTwist=12; + ACE_barrelLength=17; + }; + class hlc_lmg_m60: hlc_M60e4_base + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; +}; diff --git a/optionals/compat_hlcmods_m60e4/config.cpp b/optionals/compat_hlcmods_m60e4/config.cpp new file mode 100644 index 0000000000..1df3a97a20 --- /dev/null +++ b/optionals/compat_hlcmods_m60e4/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"hlcweapons_m60e4"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_hlcmods_m60e4/script_component.hpp b/optionals/compat_hlcmods_m60e4/script_component.hpp new file mode 100644 index 0000000000..4a5a9c03b0 --- /dev/null +++ b/optionals/compat_hlcmods_m60e4/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT hlc_m60e4_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_rh_acc/CfgWeapons.hpp b/optionals/compat_rh_acc/CfgWeapons.hpp new file mode 100644 index 0000000000..4dda8ffbe0 --- /dev/null +++ b/optionals/compat_rh_acc/CfgWeapons.hpp @@ -0,0 +1,131 @@ + +class CfgWeapons { + class ItemCore; + class InventoryOpticsItem_Base_F; + + class RH_accupoint : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class Accupoint { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_m3lr : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class m3lr { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_leu_mk4 : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class mk4 { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_c79 : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class c79scope { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_c79_2d : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class c79scope { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_anpvs10 : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class pvs10 { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_pas13cm : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class MTWS { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_pas13cmg : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class MTWSmg { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RH_pas13ch : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class HTWS { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; +}; diff --git a/optionals/compat_rh_acc/config.cpp b/optionals/compat_rh_acc/config.cpp new file mode 100644 index 0000000000..9f563bd157 --- /dev/null +++ b/optionals/compat_rh_acc/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"RH_acc"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_rh_acc/script_component.hpp b/optionals/compat_rh_acc/script_component.hpp new file mode 100644 index 0000000000..4b36a38ce0 --- /dev/null +++ b/optionals/compat_rh_acc/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT RH_acc_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp new file mode 100644 index 0000000000..b66b55f530 --- /dev/null +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -0,0 +1,161 @@ + +class CfgAmmo +{ + class BulletBase; + class RH_50_AE_Ball: BulletBase + { + ACE_caliber=0.5; + ACE_bulletLength=1.110; + ACE_bulletMass=325; + 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.228}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 398, 420}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_454_Casull: BulletBase + { + ACE_caliber=0.452; + ACE_bulletLength=0.895; + ACE_bulletMass=325; + 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.171}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={450, 490, 500}; + ACE_barrelLengths[]={4, 7.5, 9}; + }; + class RH_32ACP: BulletBase + { + ACE_caliber=0.3125; + ACE_bulletLength=0.610; + ACE_bulletMass=65; + 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.118}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={282, 300, 320}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_45ACP: BulletBase + { + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_B_40SW: BulletBase + { + ACE_caliber=0.4; + ACE_bulletLength=0.447; + ACE_bulletMass=135; + 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.105, 0.115, 0.120, 0.105}; + ACE_velocityBoundaries[]={365, 305, 259}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 380, 400}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_44mag_ball: BulletBase + { + ACE_caliber=0.429; + ACE_bulletLength=0.804; + ACE_bulletMass=200; + 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.172}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 390, 420}; + ACE_barrelLengths[]={4, 7.5, 9}; + }; + class RH_357mag_ball: BulletBase + { + ACE_caliber=0.357; + ACE_bulletLength=0.541; + ACE_bulletMass=125; + 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.148}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={490, 510, 535}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_762x25: BulletBase + { + ACE_caliber=0.310; + ACE_bulletLength=0.5455; + ACE_bulletMass=86; + 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.17}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={360, 380, 400}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_9x18_Ball: BulletBase + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; + class RH_B_9x19_Ball: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_B_22LR_SD: BulletBase + { + ACE_caliber=0.223; + ACE_bulletLength=0.45; + ACE_bulletMass=38; + 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.111}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={330, 340, 360}; + ACE_barrelLengths[]={4, 6, 9}; + }; + class RH_57x28mm: BulletBase + { + ACE_caliber=0.224; + ACE_bulletLength=0.495; + ACE_bulletMass=28; + 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.144}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={550, 625, 720}; + ACE_barrelLengths[]={4, 6, 10.35}; + }; +}; \ No newline at end of file diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp new file mode 100644 index 0000000000..8fdff293c9 --- /dev/null +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -0,0 +1,140 @@ +class CfgWeapons +{ + class Pistol_Base_F; + class RH_Pistol_Base_F; + class RH_deagle: RH_Pistol_Base_F + { + ACE_barrelTwist=19; + ACE_barrelLength=6; + }; + class RH_mateba: Pistol_Base_F + { + ACE_barrelTwist=14; + ACE_barrelLength=6; + }; + class RH_mp412: Pistol_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=6; + }; + class RH_python: Pistol_Base_F + { + ACE_barrelTwist=14; + ACE_barrelLength=6; + }; + class RH_bull: RH_python + { + ACE_barrelTwist=24; + ACE_barrelLength=6.5; + }; + class RH_ttracker: Pistol_Base_F + { + ACE_barrelTwist=12; + ACE_barrelLength=4; + }; + class RH_cz75: RH_Pistol_Base_F + { + ACE_barrelTwist=9.7; + ACE_barrelLength=4.7; + }; + class RH_p226: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.4; + }; + class RH_sw659: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=7.44; + }; + class RH_usp: RH_Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.41; + }; + class RH_uspm: RH_Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=6; + }; + class RH_kimber: RH_Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + class RH_m1911: RH_Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + class RH_tt33: RH_Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=4.6; + }; + class RH_mak: RH_Pistol_Base_F + { + ACE_barrelTwist=9.45; + ACE_barrelLength=3.68; + }; + class RH_mk2: RH_Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4; + }; + class RH_m9: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.9; + }; + class RH_g18: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.49; + }; + class RH_g17: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.49; + }; + class RH_g19: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4; + }; + class RH_gsh18: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.1; + }; + class RH_fnp45: RH_Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + }; + class RH_fn57: RH_fnp45 + { + ACE_barrelTwist=9.1; + ACE_barrelLength=4.8; + }; + class RH_vp70: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=4.6; + }; + class RH_vz61: RH_Pistol_Base_F + { + ACE_barrelTwist=16; + ACE_barrelLength=4.5; + }; + class RH_tec9: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=5; + }; + class RH_muzi: RH_Pistol_Base_F + { + ACE_barrelTwist=9.8; + ACE_barrelLength=5; + }; +}; \ No newline at end of file diff --git a/optionals/compat_rh_de/config.cpp b/optionals/compat_rh_de/config.cpp new file mode 100644 index 0000000000..3d82eab05a --- /dev/null +++ b/optionals/compat_rh_de/config.cpp @@ -0,0 +1,15 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"RH_de_cfg"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgWeapons.hpp" diff --git a/optionals/compat_rh_de/script_component.hpp b/optionals/compat_rh_de/script_component.hpp new file mode 100644 index 0000000000..07ed06ae3f --- /dev/null +++ b/optionals/compat_rh_de/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT RH_de_cfg_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp new file mode 100644 index 0000000000..c15e0e503a --- /dev/null +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -0,0 +1,206 @@ +class CfgAmmo { + + class Default; + class BulletCore; + class BulletBase; + class B_9x21_Ball; + class B_556x45_Ball; + class B_65x39_Caseless; + class B_762x51_Ball; + + class RH_9x19_B_M822: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_9x19_B_HP: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=124; + 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.165}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={340, 370, 400}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_9x19_B_HPSB: BulletBase + { + ACE_caliber=0.355; + ACE_bulletLength=0.603; + ACE_bulletMass=147; + 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.212}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={295, 310, 330}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class RH_556x45_B_M855A1: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ballisticCoefficients[]={0.151}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; + ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + }; + class RH_556x45_B_Mk318: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class RH_556x45_B_Mk262: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class RH_68x43_B_FMJ: B_65x39_Caseless + { + ACE_caliber=0.277; + ACE_bulletLength=0.959; + ACE_bulletMass=115; + 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.162}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={713, 785, 810, 850}; + ACE_barrelLengths[]={12, 16, 20, 24}; + }; + class RH_68x43_B_Match: B_65x39_Caseless + { + ACE_caliber=0.277; + ACE_bulletLength=1.250; + ACE_bulletMass=135; + 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.253}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 732, 750, 780}; + ACE_barrelLengths[]={12, 16, 20, 24}; + }; + class RH_762x35_B_FMJ: B_65x39_Caseless + { + ACE_caliber=0.308; + ACE_bulletLength=1.118; + ACE_bulletMass=147; + 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.398}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={559, 609, 625}; + ACE_barrelLengths[]={6, 16, 20}; + }; + class RH_762x35_B_Match: B_65x39_Caseless + { + ACE_caliber=0.308; + ACE_bulletLength=1.153; + ACE_bulletMass=125; + 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.349, 0.338, 0.330, 0.310}; + ACE_velocityBoundaries[]={792, 610, 488}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={572, 676, 700}; + ACE_barrelLengths[]={6, 16, 20}; + }; + class RH_762x35_B_MSB: B_65x39_Caseless + { + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.608}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={300, 320, 340}; + ACE_barrelLengths[]={9, 16, 20}; + }; + class RH_762x51_B_M80A1: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class RH_762x51_B_Mk316LR: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; + ACE_ballisticCoefficients[]={0.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={775, 790, 805, 810}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class RH_762x51_B_Mk319: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=130; + 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.377}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={838, 892, 910}; + ACE_barrelLengths[]={13, 16, 20}; + }; + class RH_762x51_B_LFMJSB: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.340; + ACE_bulletMass=200; + 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.235}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={305, 325, 335, 340}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; +}; diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp new file mode 100644 index 0000000000..69536e9302 --- /dev/null +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -0,0 +1,130 @@ + +class CfgWeapons +{ + class Rifle_Base_F; + class RH_ar10: Rifle_Base_F + { + ACE_barrelTwist=11.25; + ACE_barrelLength=20.8; + }; + class RH_m110: Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=20; + }; + class RH_Mk11: RH_m110 + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class RH_SR25EC: RH_m110 + { + ACE_barrelTwist=11.25; + ACE_barrelLength=20; + }; + class RH_m4: Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class RH_M4_ris: RH_m4 + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class RH_M4A1_ris: RH_M4_ris + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class RH_M4m: RH_M4A1_ris + { + ACE_barrelTwist=7; + ACE_barrelLength=10.5; + }; + class RH_M4sbr: RH_M4A1_ris + { + ACE_barrelTwist=7; + ACE_barrelLength=10.5; + }; + class RH_hb: Rifle_Base_F + { + ACE_barrelTwist=8; + ACE_barrelLength=6; + }; + class RH_hb_b: RH_hb + { + ACE_barrelTwist=8; + ACE_barrelLength=6; + }; + class RH_sbr9: Rifle_Base_F + { + ACE_barrelTwist=9.7; + ACE_barrelLength=9; + }; + class RH_M4A6: RH_M4A1_ris + { + ACE_barrelTwist=10; + ACE_barrelLength=14.5; + }; + class RH_M16a1: RH_m4 + { + ACE_barrelTwist=14; + ACE_barrelLength=20; + }; + class RH_M16A2: RH_m4 + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_M16A4 : RH_M4_ris + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_M16A3: RH_M16A4 + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_M16A4_m: RH_M16A4 + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_M16A6: RH_M16A4 + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class RH_Mk12mod1: RH_M16A4 + { + ACE_barrelTwist=7; + ACE_barrelLength=18; + }; + class RH_SAMR: RH_Mk12mod1 + { + ACE_barrelTwist=7.7; + ACE_barrelLength=20; + }; + class RH_Hk416: RH_M4A1_ris + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class RH_Hk416s: RH_M4sbr + { + ACE_barrelTwist=7; + ACE_barrelLength=10.4; + }; + class RH_Hk416c: RH_M4sbr + { + ACE_barrelTwist=7; + ACE_barrelLength=9; + }; + class RH_M27IAR: RH_Mk12mod1 + { + ACE_barrelTwist=7; + ACE_barrelLength=16.5; + }; +}; \ No newline at end of file diff --git a/optionals/compat_rh_m4/config.cpp b/optionals/compat_rh_m4/config.cpp new file mode 100644 index 0000000000..9c28be4f89 --- /dev/null +++ b/optionals/compat_rh_m4/config.cpp @@ -0,0 +1,15 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"RH_m4_cfg"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgWeapons.hpp" diff --git a/optionals/compat_rh_m4/script_component.hpp b/optionals/compat_rh_m4/script_component.hpp new file mode 100644 index 0000000000..167c926dd7 --- /dev/null +++ b/optionals/compat_rh_m4/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT RH_m4_cfg_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp new file mode 100644 index 0000000000..706344ff8c --- /dev/null +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -0,0 +1,15 @@ + +class BulletBase; +class RH_B_6x35: BulletBase +{ + ACE_caliber=0.224; + ACE_bulletLength=0.445; + ACE_bulletMass=65; + 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.26}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={730, 750, 760}; + ACE_barrelLengths[]={8, 10, 12}; +}; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp new file mode 100644 index 0000000000..b009a202ce --- /dev/null +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -0,0 +1,10 @@ + +class CfgWeapons +{ + class Rifle_Base_F; + class RH_PDW: Rifle_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=10; + }; +}; diff --git a/optionals/compat_rh_pdw/config.cpp b/optionals/compat_rh_pdw/config.cpp new file mode 100644 index 0000000000..4aed0e6241 --- /dev/null +++ b/optionals/compat_rh_pdw/config.cpp @@ -0,0 +1,15 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"RH_PDW"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgWeapons.hpp" diff --git a/optionals/compat_rh_pdw/script_component.hpp b/optionals/compat_rh_pdw/script_component.hpp new file mode 100644 index 0000000000..67c4617e06 --- /dev/null +++ b/optionals/compat_rh_pdw/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT RH_PDW_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp new file mode 100644 index 0000000000..323634f02c --- /dev/null +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -0,0 +1,125 @@ + +class CfgAmmo +{ + class BulletBase; + class B_556x45_Ball; + class rhs_B_545x39_Ball: B_556x45_Ball + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=52.9; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={780, 880, 920}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball + { + ACE_caliber=0.220; + ACE_bulletLength=0.85; + ACE_bulletMass=49.8; + 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.168}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={785, 883, 925}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_762x51_Ball; + class rhs_B_762x54_Ball: B_762x51_Ball + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=149; + 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.395}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={680, 750, 798, 800}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball + { + ACE_caliber=0.312; + ACE_bulletLength=1.14; + ACE_bulletMass=152; + 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.4}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={700, 800, 820, 833}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class rhs_B_762x39_Ball: B_762x51_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=123; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class rhs_B_762x39_Tracer: rhs_B_762x39_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=117; + 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.275}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={650, 716, 750}; + ACE_barrelLengths[]={10, 16.3, 20}; + }; + class B_9x21_Ball; + class rhs_B_9x19_7N21: B_9x21_Ball + { + ACE_caliber=0.355; + ACE_bulletLength=0.610; + ACE_bulletMass=80.2; + 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.14}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={445, 460, 480}; + ACE_barrelLengths[]={4, 5, 9}; + }; + class rhs_B_9x18_57N181S: B_9x21_Ball + { + ACE_caliber=0.365; + ACE_bulletLength=0.610; + ACE_bulletMass=92.6; + 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.125}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={298, 330, 350}; + ACE_barrelLengths[]={3.8, 5, 9}; + }; +}; \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp new file mode 100644 index 0000000000..49573b164a --- /dev/null +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -0,0 +1,67 @@ + +class CfgWeapons +{ + class hgun_Rook40_F; + class rhs_weap_pya: hgun_Rook40_F + { + ACE_barrelTwist=10; + ACE_barrelLength=4.4; + }; + class Pistol_Base_F; + class rhs_weap_makarov_pmm: rhs_weap_pya + { + ACE_barrelTwist=9.45; + ACE_barrelLength=3.68; + }; + class rhs_weap_ak74m_Base_F; + class rhs_weap_ak74m: rhs_weap_ak74m_Base_F + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class rhs_weap_akm: rhs_weap_ak74m + { + ACE_barrelTwist=7.87; + ACE_barrelLength=16.3; + }; + class rhs_weap_aks74; + class rhs_weap_aks74u: rhs_weap_aks74 + { + ACE_barrelTwist=6.3; + ACE_barrelLength=8.3; + }; + class rhs_weap_svd: rhs_weap_ak74m + { + ACE_barrelTwist=9.4; + ACE_barrelLength=24.4; + }; + class rhs_weap_svdp; + class rhs_weap_svds: rhs_weap_svdp + { + ACE_barrelTwist=9.4; + ACE_barrelLength=22.2; + }; + class rhs_pkp_base; + class rhs_weap_pkp: rhs_pkp_base + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.9; + }; + class rhs_weap_pkm: rhs_weap_pkp + { + ACE_barrelTwist=9.45; + ACE_barrelLength=25.4; + }; + class rhs_weap_rpk74m: rhs_weap_pkp + { + ACE_barrelTwist=7.68; + ACE_barrelLength=23.2; + }; + + class rhs_acc_sniper_base; + class rhs_acc_pso1m2: rhs_acc_sniper_base { + ACE_ScopeAdjust_Vertical[] = { 0, 0 }; + ACE_ScopeAdjust_Horizontal[] = { -10, 10 }; + ACE_ScopeAdjust_Increment = 0.5; + }; +}; \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/config.cpp b/optionals/compat_rhs_afrf3/config.cpp new file mode 100644 index 0000000000..8b7f9d5ca4 --- /dev/null +++ b/optionals/compat_rhs_afrf3/config.cpp @@ -0,0 +1,15 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"rhs_c_weapons"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgWeapons.hpp" diff --git a/optionals/compat_rhs_afrf3/script_component.hpp b/optionals/compat_rhs_afrf3/script_component.hpp new file mode 100644 index 0000000000..edf3963b1f --- /dev/null +++ b/optionals/compat_rhs_afrf3/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT rhs_c_weapons_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp new file mode 100644 index 0000000000..68a8c8f7fd --- /dev/null +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -0,0 +1,97 @@ + +class CfgAmmo +{ + class BulletBase; + class rhsusf_B_300winmag: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + 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.310}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={847, 867, 877}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class B_556x45_Ball; + class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=62; + 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.307}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={780, 886, 950}; + ACE_barrelLengths[]={10, 15.5, 20}; + }; + class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball + { + ACE_caliber=0.224; + ACE_bulletLength=0.906; + ACE_bulletMass=77; + 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.361}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={624, 816, 832, 838}; + ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + }; + class rhs_ammo_762x51_M80_Ball: BulletBase + { + ACE_caliber=0.308; + ACE_bulletLength=1.14; + ACE_bulletMass=146; + 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.2}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; + }; + class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=175; + 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.243}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={750, 780, 790, 794}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; + class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball + { + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=127; + 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.377}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={875, 910, 930}; + ACE_barrelLengths[]={13, 16, 20}; + }; + class rhs_ammo_45ACP_MHP: BulletBase + { + ACE_caliber=0.452; + ACE_bulletLength=0.68; + ACE_bulletMass=230; + 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.195}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ASM"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={230, 250, 285}; + ACE_barrelLengths[]={4, 5, 9}; + }; +}; \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp new file mode 100644 index 0000000000..a9791cd6b8 --- /dev/null +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -0,0 +1,86 @@ + +class CfgWeapons +{ + class Pistol_Base_F; + class Rifle_Base_F; + class srifle_EBR_F; + class rhs_weap_XM2010_Base_F: Rifle_Base_F + { + ACE_barrelTwist=10; + ACE_barrelLength=24; + }; + class arifle_MX_Base_F; + class rhs_weap_m4_Base: arifle_MX_Base_F + { + ACE_barrelTwist=7; + ACE_barrelLength=14.5; + }; + class rhs_weap_m4a1; + class rhs_weap_mk18: rhs_weap_m4a1 + { + ACE_barrelTwist=7; + ACE_barrelLength=10.3; + }; + class rhs_weap_m16a4: rhs_weap_m4_Base + { + ACE_barrelTwist=7; + ACE_barrelLength=20; + }; + class rhs_M249_base; + class rhs_weap_m249_pip: rhs_M249_base + { + ACE_barrelTwist=7; + ACE_barrelLength=16.3; + }; + class weap_m240_base; + class rhs_weap_m240B: weap_m240_base + { + ACE_barrelTwist=12; + ACE_barrelLength=24.8; + }; + class rhs_weap_m14ebrri: srifle_EBR_F + { + ACE_barrelTwist=12; + ACE_barrelLength=22; + }; + class rhs_weap_sr25: rhs_weap_m14ebrri + { + ACE_barrelTwist=11.25; + ACE_barrelLength=24; + }; + class rhs_weap_sr25_ec: rhs_weap_sr25 + { + ACE_barrelTwist=11.25; + ACE_barrelLength=20; + }; + class rhs_weap_M590_5RD: Rifle_Base_F + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=18.5; + }; + class rhs_weap_M590_8RD: rhs_weap_M590_5RD + { + ACE_barrelTwist=0; + ACE_twistDirection=0; + ACE_barrelLength=20; + }; + class hgun_ACPC2_F; + class rhsusf_weap_m1911a1: hgun_ACPC2_F + { + ACE_barrelTwist=16; + ACE_barrelLength=5; + }; + + class rhsusf_acc_sniper_base; + class rhsusf_acc_LEUPOLDMK4: rhsusf_acc_sniper_base { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + }; + class rhsusf_acc_LEUPOLDMK4_2: rhsusf_acc_sniper_base { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + }; +}; \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/config.cpp b/optionals/compat_rhs_usf3/config.cpp new file mode 100644 index 0000000000..bc4d264697 --- /dev/null +++ b/optionals/compat_rhs_usf3/config.cpp @@ -0,0 +1,15 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"rhsusf_c_weapons"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgWeapons.hpp" diff --git a/optionals/compat_rhs_usf3/script_component.hpp b/optionals/compat_rhs_usf3/script_component.hpp new file mode 100644 index 0000000000..c0a5bbf1f4 --- /dev/null +++ b/optionals/compat_rhs_usf3/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT rhsusf_c_weapons_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/optionals/compat_rksl_pm_ii/CfgWeapons.hpp b/optionals/compat_rksl_pm_ii/CfgWeapons.hpp new file mode 100644 index 0000000000..621dd98b71 --- /dev/null +++ b/optionals/compat_rksl_pm_ii/CfgWeapons.hpp @@ -0,0 +1,33 @@ + +class CfgWeapons { + class ItemCore; + class InventoryOpticsItem_Base_F; + + class RKSL_optic_PMII_312 : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; + + class RKSL_optic_PMII_312_sunshade : ItemCore { + ACE_ScopeAdjust_Vertical[] = { -4, 30 }; + ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; + ACE_ScopeAdjust_Increment = 0.1; + class ItemInfo : InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip { + discreteDistance[] = { 100 }; + discreteDistanceInitIndex = 0; + }; + }; + }; + }; +}; diff --git a/optionals/compat_rksl_pm_ii/config.cpp b/optionals/compat_rksl_pm_ii/config.cpp new file mode 100644 index 0000000000..c3ed720f8b --- /dev/null +++ b/optionals/compat_rksl_pm_ii/config.cpp @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"RKSL_PMII"}; + author[]={"Ruthberg"}; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_rksl_pm_ii/script_component.hpp b/optionals/compat_rksl_pm_ii/script_component.hpp new file mode 100644 index 0000000000..a98639b0e8 --- /dev/null +++ b/optionals/compat_rksl_pm_ii/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT RKSL_PMII_comp + +#include "\z\ace\addons\main\script_mod.hpp" + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/tools/ace_build_tool/make.cfg b/tools/ace_build_tool/make.cfg deleted file mode 100644 index 1eb02b826f..0000000000 --- a/tools/ace_build_tool/make.cfg +++ /dev/null @@ -1,73 +0,0 @@ -# EXAMPLE MAKE.CFG FILE -# Please see the comments for each option. Most options can be left -# off for sane defaults. - -################################################################# -# Default make target -################################################################# -[DEFAULT] - -# Project name (with @ symbol) -# This is used for naming the release files. -# Default: Current folder name -project = @ace - -# Path to project secret key for signing -# Make sure this isn't in your public repository! -# Default: None -# key = D:\Program Files (x86)\Bohemia Interactive\Tools\DSSignFile Tools\keys\ace_preAlpha.biprivatekey - -# If set to True, the make system will attempt to autodetect addons in the -# current folder by looking for directories with 'config.cpp' in them. -# Default: True -# module_autodetect = True - -# List of directories to ignore when autodetecting addons. -# Default: release -# ignore = release, my_unfinished_module - -# If autodetect is set to False, only folders whose names are in this list -# will be built as modules. -# Default: None -# modules = my_module, my_supporting_module - -# This is the folder hierarchy that will be used as prefix inside the PBO. -# Default: None -prefix = z\ace\addons - -# Set the location where the addon source folders (i.e. P:\z\ace\addons) -# Default: \\addons -module_root = P:\z\ace\addons - -# Directory where the built addon will be saved. -# Default: release -release_dir = P:\z\ace\release - -# This string will be prefixed to all build PBO file names. -# Default: None -pbo_name_prefix = ace_ - -# Which build tool will be used? Options: pboproject, addonbuilder -# Default: addonbuilder -build_tool = pboproject - -################################################################## -# Alternate build target using a different key -################################################################### -# [DifferentKey] -# key = C:\Keys\different.biprivatekey - -################################################################## -# Alternate build target ignoring some modules when detecting -################################################################### -# [IgnoreSome] -# key = C:\Keys\different.biprivatekey -# ignore = release, my_server_module, my_private_module - -################################################################## -# Alternate build target with fixed build list -################################################################### -# [Fixed] -# module_autodetect = False -# modules = my_module, my_other_module - diff --git a/tools/ace_build_tool/make.py b/tools/ace_build_tool/make.py deleted file mode 100644 index 5354e90b1c..0000000000 --- a/tools/ace_build_tool/make.py +++ /dev/null @@ -1,763 +0,0 @@ -#!/usr/bin/env python -# vim: set fileencoding=utf-8 : - -# make.py -# An Arma 3 addon build system - -############################################################################### - -# The MIT License (MIT) - -# Copyright (c) 2013-2014 Ryan Schultz - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -############################################################################### - -__version__ = "0.3dev" - -import sys - -if sys.version_info[0] == 2: - print("Python 3 is required.") - sys.exit(1) - -import os -import os.path -import shutil -import platform -import glob -import subprocess -import hashlib -import configparser -import json -import traceback - -if sys.platform == "win32": - import winreg - -############################################################################### -# http://akiscode.com/articles/sha-1directoryhash.shtml -# Copyright (c) 2009 Stephen Akiki -# MIT License (Means you can do whatever you want with this) -# See http://www.opensource.org/licenses/mit-license.php -# Error Codes: -# -1 -> Directory does not exist -# -2 -> General error (see stack traceback) -def get_directory_hash(directory): - directory_hash = hashlib.sha1() - if not os.path.exists (directory): - return -1 - - try: - for root, dirs, files in os.walk(directory): - for names in files: - path = os.path.join(root, names) - try: - f = open(path, 'rb') - except: - # You can't open the file for some reason - f.close() - continue - - while 1: - # Read file in as little chunks - buf = f.read(4096) - if not buf: break - new = hashlib.sha1(buf) - directory_hash.update(new.digest()) - f.close() - - except: - # Print the stack traceback - traceback.print_exc() - return -2 - - return directory_hash.hexdigest() - -# Copyright (c) André Burgaud -# http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/ -if sys.platform == "win32": - from ctypes import windll, Structure, c_short, c_ushort, byref - - SHORT = c_short - WORD = c_ushort - - class COORD(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("X", SHORT), - ("Y", SHORT)] - - class SMALL_RECT(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("Left", SHORT), - ("Top", SHORT), - ("Right", SHORT), - ("Bottom", SHORT)] - - class CONSOLE_SCREEN_BUFFER_INFO(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("dwSize", COORD), - ("dwCursorPosition", COORD), - ("wAttributes", WORD), - ("srWindow", SMALL_RECT), - ("dwMaximumWindowSize", COORD)] - - # winbase.h - STD_INPUT_HANDLE = -10 - STD_OUTPUT_HANDLE = -11 - STD_ERROR_HANDLE = -12 - - # wincon.h - FOREGROUND_BLACK = 0x0000 - FOREGROUND_BLUE = 0x0001 - FOREGROUND_GREEN = 0x0002 - FOREGROUND_CYAN = 0x0003 - FOREGROUND_RED = 0x0004 - FOREGROUND_MAGENTA = 0x0005 - FOREGROUND_YELLOW = 0x0006 - FOREGROUND_GREY = 0x0007 - FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified. - - BACKGROUND_BLACK = 0x0000 - BACKGROUND_BLUE = 0x0010 - BACKGROUND_GREEN = 0x0020 - BACKGROUND_CYAN = 0x0030 - BACKGROUND_RED = 0x0040 - BACKGROUND_MAGENTA = 0x0050 - BACKGROUND_YELLOW = 0x0060 - BACKGROUND_GREY = 0x0070 - BACKGROUND_INTENSITY = 0x0080 # background color is intensified. - - stdout_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) - SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute - GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo - - def get_text_attr(): - """Returns the character attributes (colors) of the console screen - buffer.""" - csbi = CONSOLE_SCREEN_BUFFER_INFO() - GetConsoleScreenBufferInfo(stdout_handle, byref(csbi)) - return csbi.wAttributes - - def set_text_attr(color): - """Sets the character attributes (colors) of the console screen - buffer. Color is a combination of foreground and background color, - foreground and background intensity.""" - SetConsoleTextAttribute(stdout_handle, color) -############################################################################### - -def find_bi_tools(work_drive): - """Find BI tools.""" - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") - arma3tools_path = winreg.QueryValueEx(k, "path")[0] - winreg.CloseKey(k) - except: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - - addonbuilder_path = os.path.join(arma3tools_path, "AddonBuilder", "AddonBuilder.exe") - dssignfile_path = os.path.join(arma3tools_path, "DSSignFile", "DSSignFile.exe") - dscreatekey_path = os.path.join(arma3tools_path, "DSSignFile", "DSCreateKey.exe") - - if os.path.isfile(addonbuilder_path) and os.path.isfile(dssignfile_path) and os.path.isfile(dscreatekey_path): - return [addonbuilder_path, dssignfile_path, dscreatekey_path] - else: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - -def find_depbo_tools(): - """Use registry entries to find DePBO-based tools.""" - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\Mikero\pboProject") - try: - pboproject_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found pboproject.") - except: - print_error("ERROR: Could not find pboProject.") - - k = winreg.OpenKey(reg, r"Software\Mikero\rapify") - try: - rapify_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found rapify.") - except: - print_error("Could not find rapify.") - - k = winreg.OpenKey(reg, r"Software\Mikero\MakePbo") - try: - makepbo_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found makepbo.") - except: - print_error("Could not find makepbo.") - except: - raise Exception("BadDePBO", "DePBO tools not installed correctly") - - #Strip any quotations from the path due to a MikeRo tool bug which leaves a trailing space in some of its registry paths. - return [pboproject_path.strip('"'),rapify_path.strip('"'),makepbo_path.strip('"')] - -def color(color): - """Set the color. Works on Win32 and normal terminals.""" - if sys.platform == "win32": - if color == "green": - set_text_attr(FOREGROUND_GREEN | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "red": - set_text_attr(FOREGROUND_RED | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "blue": - set_text_attr(FOREGROUND_BLUE | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "reset": - set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) - elif color == "grey": - set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) - else : - if color == "green": - sys.stdout.write('\033[92m') - elif color == "red": - sys.stdout.write('\033[91m') - elif color == "blue": - sys.stdout.write('\033[94m') - elif color == "reset": - sys.stdout.write('\033[0m') - -def print_error(msg): - color("red") - print ("ERROR: " + msg) - color("reset") - -def print_green(msg): - color("green") - print(msg) - color("reset") - -def print_blue(msg): - color("blue") - print(msg) - color("reset") - -def print_yellow(msg): - color("yellow") - print(msg) - color("reset") - -############################################################################### - -def main(argv): - """Build an Arma addon suite in a directory from rules in a make.cfg file.""" - print_blue(("\nmake.py for Arma, v" + __version__)) - - if sys.platform != "win32": - print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") - sys.exit(1) - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") - arma3tools_path = winreg.QueryValueEx(k, "path")[0] - winreg.CloseKey(k) - except: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - - # Default behaviors - test = False # Copy to Arma 3 directory? - arg_modules = False # Only build modules on command line? - make_release = False # Make zip file from the release? - release_version = 0 # Version of release - use_pboproject = True # Default to pboProject build tool - make_target = "DEFAULT" # Which section in make.cfg to use for the build - new_key = False # Make a new key and use it to sign? - quiet = False # Suppress output from build tool? - - # Parse arguments - if "help" in argv or "-h" in argv or "--help" in argv: - print (""" -make.py [help] [test] [force] [key ] [target ] [release ] - [module name] [module name] [...] - -test -- Copy result to Arma 3. -release -- Make archive with . -force -- Ignore cache and build all. -target -- Use rules in make.cfg under heading [] rather than - default [Make] -key -- Use key in working directory with to sign. If it does not - exist, create key. -quiet -- Suppress command line output from build tool. - -If module names are specified, only those modules will be built. - -Examples: - make.py force test - Build all modules (ignoring cache) and copy the mod folder to the Arma 3 - directory. - make.py mymodule_gun - Only build the module named 'mymodule_gun'. - make.py force key MyNewKey release 1.0 - Build all modules (ignoring cache), sign them with NewKey, and pack them - into a zip file for release with version 1.0. - - -If a file called $NOBIN$ is found in the module directory, that module will not be binarized. - -See the make.cfg file for additional build options. -""") - sys.exit(0) - - if "force" in argv: - argv.remove("force") - force_build = True - else: - force_build = False - - if "test" in argv: - test = True - argv.remove("test") - - if "release" in argv: - make_release = True - release_version = argv[argv.index("release") + 1] - argv.remove(release_version) - argv.remove("release") - - if "target" in argv: - make_target = argv[argv.index("target") + 1] - argv.remove("target") - argv.remove(make_target) - force_build = True - - if "key" in argv: - new_key = True - key_name = argv[argv.index("key") + 1] - argv.remove("key") - argv.remove(key_name) - - if "quiet" in argv: - quiet = True - argv.remove("quiet") - - # Get the directory the make script is in. - make_root = os.path.dirname(os.path.realpath(__file__)) - make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) - os.chdir(make_root) - - cfg = configparser.ConfigParser(); - try: - cfg.read(os.path.join(make_root, "make.cfg")) - - # Project name (with @ symbol) - project = cfg.get(make_target, "project", fallback="@"+os.path.basename(os.getcwd())) - - # Private key path - key = cfg.get(make_target, "key", fallback=None) - - # Project prefix (folder path) - prefix = cfg.get(make_target, "prefix", fallback="") - - # Should we autodetect modules on a complete build? - module_autodetect = cfg.getboolean(make_target, "module_autodetect", fallback=True) - - # Manual list of modules to build for a complete build - modules = cfg.get(make_target, "modules", fallback=None) - # Parse it out - if modules: - modules = [x.strip() for x in modules.split(',')] - else: - modules = [] - - # List of directories to ignore when detecting - ignore = [x.strip() for x in cfg.get(make_target, "ignore", fallback="release").split(',')] - - # BI Tools work drive on Windows - work_drive = cfg.get(make_target, "work_drive", fallback="P:\\") - - # Which build tool should we use? - build_tool = cfg.get(make_target, "build_tool", fallback="addonbuilder").lower() - - # Release/build directory, relative to script dir - release_dir = cfg.get(make_target, "release_dir", fallback="release") - - # Project PBO file prefix (files are renamed to prefix_name.pbo) - pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) - - # Project module Root - module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) - module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) - print_green ("module_root: " + module_root) - if (os.path.isdir(module_root)): - os.chdir(module_root) - else: - print_error ("Directory " + module_root + " does not exist.") - sys.exit() - - except: - raise - print_error("Could not parse make.cfg.") - sys.exit(1) - - - - # See if we have been given specific modules to build from command line. - if len(argv) > 1 and not make_release: - arg_modules = True - modules = argv[1:] - - # Find the tools we need. - try: - tools = find_bi_tools(work_drive) - addonbuilder = tools[0] - dssignfile = tools[1] - dscreatekey = tools[2] - - except: - print_error("Arma 3 Tools are not installed correctly or the P: drive has not been created.") - sys.exit(1) - - if build_tool == "pboproject": - try: - depbo_tools = find_depbo_tools() - pboproject = depbo_tools[0] - rapifyTool = depbo_tools[1] - makepboTool = depbo_tools[2] - except: - raise - print_error("Could not find dePBO tools. Download the needed tools from: https://dev.withsix.com/projects/mikero-pbodll/files") - sys.exit(1) - - # Try to open and deserialize build cache file. - try: - cache = {} - with open(os.path.join(make_root, "make.cache"), 'r') as f: - cache_raw = f.read() - - cache = json.loads(cache_raw) - - except: - print ("No cache found.") - cache = {} - - # Get list of subdirs in make root. - dirs = next(os.walk(module_root))[1] - - # Autodetect what directories to build. - if module_autodetect and not arg_modules: - modules = [] - for path in dirs: - # Any dir that has a config.cpp in its root is an addon to build. - config_path = os.path.join(path, 'config.cpp') - if os.path.isfile(config_path) and not path in ignore: - modules.append(path) - - # Make the key specified from command line if necessary. - if new_key: - if not os.path.isfile(os.path.join(module_root, key_name + ".biprivatekey")): - print_green("\nRequested key does not exist.") - ret = subprocess.call([dscreatekey, key_name]) # Created in make_root - if ret == 0: - print_blue("Created: " + os.path.join(module_root, key_name + ".biprivatekey")) - else: - print_error("Failed to create key!") - - try: - print_blue("Copying public key to release directory.") - - try: - os.makedirs(os.path.join(module_root, release_dir, "Keys")) - except: - pass - - shutil.copyfile(os.path.join(module_root, key_name + ".bikey"), os.path.join(module_root, release_dir, "Keys", key_name + ".bikey")) - - except: - raise - print_error("Could not copy key to release directory.") - - else: - print_green("\nNOTE: Using key " + os.path.join(module_root, key_name + ".biprivatekey")) - - key = os.path.join(module_root, key_name + ".biprivatekey") - - - # For each module, prep files and then build. - for module in modules: - print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) - - # Cache check - if module in cache: - old_sha = cache[module] - else: - old_sha = "" - - # Hash the module - new_sha = get_directory_hash(os.path.join(module_root, module)) - - # Check if it needs rebuilt - # print ("Hash:", new_sha) - if old_sha == new_sha: - if not force_build: - print("Module has not changed.") - # Skip everything else - continue - - # Only do this if the project isn't stored directly on the work drive. - # Split the path at the drive name and see if they are on the same drive (usually P:) - if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: - try: - # Remove old work drive version (ignore errors) - shutil.rmtree(os.path.join(work_drive, prefix, module), True) - - # Copy module to the work drive - shutil.copytree(module, os.path.join(work_drive, prefix, module)) - - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - else: - print("WARNING: Module is stored on work drive (" + work_drive + ").") - - try: - # Remove the old pbo, key, and log - old = os.path.join(module_root, release_dir, project, "Addons", module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - - if pbo_name_prefix: - old = os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - - # Build the module into a pbo - print_blue("Building: " + os.path.join(work_drive, prefix, module)) - print_blue("Destination: " + os.path.join(module_root, release_dir, project, "Addons")) - - # Make destination folder (if needed) - try: - os.makedirs(os.path.join(module_root, release_dir, project, "Addons")) - except: - pass - - # Run build tool - build_successful = False - if build_tool == "pboproject": - try: - # Call pboProject - os.chdir("P:\\") - - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - print_green("$NOBIN$ Found. Proceeding with non-binarizing!") - cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"Addons")] - - else: - cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] - - color("grey") - if quiet: - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - else: - ret = subprocess.call(cmd) - color("reset") - - if ret == 0: - print_green("pboProject return code == " + str(ret)) - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(module_root, release_dir, project, "Addons", module+".pbo"), os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - # Sign result - if key: - print("Signing with " + key + ".") - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("pboProject return code == " + str(ret)) - print_error("Module not successfully built/signed.") - #input("Press Enter to continue...") - print ("Resuming build...") - continue - - # Back to the root - os.chdir(module_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - elif build_tool== "addonbuilder": - # Detect $NOBIN$ and do not binarize if found. - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - do_binarize = False - print("$NOBIN$ file found in module, packing only.") - else: - do_binarize = True - try: - # Call AddonBuilder - os.chdir("P:\\") - - cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "Addons"), "-clear", "-project="+work_drive] - if not do_binarize: - cmd.append("-packonly") - - if quiet: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - os.chdir(previousDirectory) - else: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - print_error("Current directory - " + os.getcwd()) - ret = subprocess.call(cmd) - os.chdir(previousDirectory) - print_error("Current directory - " + os.getcwd()) - color("reset") - print_green("completed") - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(make_root, release_dir, project, "Addons", module+".pbo"), os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - - if ret == 0: - # Sign result - if key: - print("Signing with " + key + ".") - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("Module not successfully built.") - - # Back to the root - os.chdir(make_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - else: - print_error("Unknown build_tool " + build_tool + "!") - - # Update the hash for a successfully built module - if build_successful: - cache[module] = new_sha - - # Done building all modules! - - # Write out the cache state - cache_out = json.dumps(cache) - with open(os.path.join(make_root, "make.cache"), 'w') as f: - f.write(cache_out) - - # Delete the pboproject temp files if building a release. - if make_release and build_tool == "pboproject": - try: - shutil.rmtree(os.path.join(module_root, release_dir, project, "temp"), True) - except: - print_error("ERROR: Could not delete pboProject temp files.") - - print_green("\nDone.") - - # Make release - if make_release: - print_blue("\nMaking release: " + project + "-" + release_version + ".zip") - - try: - # Delete all log files - for root, dirs, files in os.walk(os.path.join(module_root, release_dir, project, "Addons")): - for currentFile in files: - if currentFile.lower().endswith("log"): - os.remove(os.path.join(root, currentFile)) - - # Create a zip with the contents of release/ in it - shutil.make_archive(project + "-" + release_version, "zip", os.path.join(module_root, release_dir)) - except: - raise - print_error("Could not make release.") - - # Copy to Arma 3 folder for testing - if test: - print_blue("\nCopying to Arma 3.") - - if sys.platform == "win32": - reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) - try: - k = winreg.OpenKey(reg, r"SOFTWARE\Wow6432Node\Bohemia Interactive\Arma 3") - a3_path = winreg.EnumValue(k, 1)[1] - winreg.CloseKey(k) - except: - print_error("Could not find Arma 3's directory in the registry.") - else: - a3_path = cygwin_a3path - - if os.path.exists(a3_path): - try: - shutil.rmtree(os.path.join(a3_path, project), True) - shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) - except: - print_error("Could not copy files. Is Arma 3 running?") - -if __name__ == "__main__": - main(sys.argv) -input("Press Enter to continue...") \ No newline at end of file diff --git a/tools/ace_build_tool/pabstFrankensteinBuilder.py b/tools/ace_build_tool/pabstFrankensteinBuilder.py deleted file mode 100644 index 09b12a5dc3..0000000000 --- a/tools/ace_build_tool/pabstFrankensteinBuilder.py +++ /dev/null @@ -1,789 +0,0 @@ -#!/usr/bin/env python -# vim: set fileencoding=utf-8 : - -# make.py -# An Arma 3 addon build system - -############################################################################### - -# The MIT License (MIT) - -# Copyright (c) 2013-2014 Ryan Schultz - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -############################################################################### - -__version__ = "0.3dev" - -import sys - -if sys.version_info[0] == 2: - print("Python 3 is required.") - sys.exit(1) - -import os -import os.path -import shutil -import platform -import glob -import subprocess -import hashlib -import configparser -import json -import traceback -import time - -if sys.platform == "win32": - import winreg - -############################################################################### -# http://akiscode.com/articles/sha-1directoryhash.shtml -# Copyright (c) 2009 Stephen Akiki -# MIT License (Means you can do whatever you want with this) -# See http://www.opensource.org/licenses/mit-license.php -# Error Codes: -# -1 -> Directory does not exist -# -2 -> General error (see stack traceback) -def get_directory_hash(directory): - directory_hash = hashlib.sha1() - if not os.path.exists (directory): - return -1 - - try: - for root, dirs, files in os.walk(directory): - for names in files: - path = os.path.join(root, names) - try: - f = open(path, 'rb') - except: - # You can't open the file for some reason - f.close() - continue - - while 1: - # Read file in as little chunks - buf = f.read(4096) - if not buf: break - new = hashlib.sha1(buf) - directory_hash.update(new.digest()) - f.close() - - except: - # Print the stack traceback - traceback.print_exc() - return -2 - - return directory_hash.hexdigest() - -# Copyright (c) André Burgaud -# http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/ -if sys.platform == "win32": - from ctypes import windll, Structure, c_short, c_ushort, byref - - SHORT = c_short - WORD = c_ushort - - class COORD(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("X", SHORT), - ("Y", SHORT)] - - class SMALL_RECT(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("Left", SHORT), - ("Top", SHORT), - ("Right", SHORT), - ("Bottom", SHORT)] - - class CONSOLE_SCREEN_BUFFER_INFO(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("dwSize", COORD), - ("dwCursorPosition", COORD), - ("wAttributes", WORD), - ("srWindow", SMALL_RECT), - ("dwMaximumWindowSize", COORD)] - - # winbase.h - STD_INPUT_HANDLE = -10 - STD_OUTPUT_HANDLE = -11 - STD_ERROR_HANDLE = -12 - - # wincon.h - FOREGROUND_BLACK = 0x0000 - FOREGROUND_BLUE = 0x0001 - FOREGROUND_GREEN = 0x0002 - FOREGROUND_CYAN = 0x0003 - FOREGROUND_RED = 0x0004 - FOREGROUND_MAGENTA = 0x0005 - FOREGROUND_YELLOW = 0x0006 - FOREGROUND_GREY = 0x0007 - FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified. - - BACKGROUND_BLACK = 0x0000 - BACKGROUND_BLUE = 0x0010 - BACKGROUND_GREEN = 0x0020 - BACKGROUND_CYAN = 0x0030 - BACKGROUND_RED = 0x0040 - BACKGROUND_MAGENTA = 0x0050 - BACKGROUND_YELLOW = 0x0060 - BACKGROUND_GREY = 0x0070 - BACKGROUND_INTENSITY = 0x0080 # background color is intensified. - - stdout_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) - SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute - GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo - - def get_text_attr(): - """Returns the character attributes (colors) of the console screen - buffer.""" - csbi = CONSOLE_SCREEN_BUFFER_INFO() - GetConsoleScreenBufferInfo(stdout_handle, byref(csbi)) - return csbi.wAttributes - - def set_text_attr(color): - """Sets the character attributes (colors) of the console screen - buffer. Color is a combination of foreground and background color, - foreground and background intensity.""" - SetConsoleTextAttribute(stdout_handle, color) -############################################################################### - -def find_bi_tools(work_drive): - """Find BI tools.""" - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") - arma3tools_path = winreg.QueryValueEx(k, "path")[0] - winreg.CloseKey(k) - except: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - - addonbuilder_path = os.path.join(arma3tools_path, "AddonBuilder", "AddonBuilder.exe") - dssignfile_path = os.path.join(arma3tools_path, "DSSignFile", "DSSignFile.exe") - dscreatekey_path = os.path.join(arma3tools_path, "DSSignFile", "DSCreateKey.exe") - cfgconvert_path = os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe") - - if os.path.isfile(addonbuilder_path) and os.path.isfile(dssignfile_path) and os.path.isfile(dscreatekey_path) and os.path.isfile(cfgconvert_path): - return [addonbuilder_path, dssignfile_path, dscreatekey_path, cfgconvert_path] - else: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - -def find_depbo_tools(): - """Use registry entries to find DePBO-based tools.""" - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\Mikero\pboProject") - try: - pboproject_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found pboproject.") - except: - print_error("ERROR: Could not find pboProject.") - - k = winreg.OpenKey(reg, r"Software\Mikero\rapify") - try: - rapify_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found rapify.") - except: - print_error("Could not find rapify.") - - k = winreg.OpenKey(reg, r"Software\Mikero\MakePbo") - try: - makepbo_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found makepbo.") - except: - print_error("Could not find makepbo.") - except: - raise Exception("BadDePBO", "DePBO tools not installed correctly") - - #Strip any quotations from the path due to a MikeRo tool bug which leaves a trailing space in some of its registry paths. - return [pboproject_path.strip('"'),rapify_path.strip('"'),makepbo_path.strip('"')] - -def color(color): - """Set the color. Works on Win32 and normal terminals.""" - if sys.platform == "win32": - if color == "green": - set_text_attr(FOREGROUND_GREEN | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "red": - set_text_attr(FOREGROUND_RED | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "blue": - set_text_attr(FOREGROUND_BLUE | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "reset": - set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) - elif color == "grey": - set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) - else : - if color == "green": - sys.stdout.write('\033[92m') - elif color == "red": - sys.stdout.write('\033[91m') - elif color == "blue": - sys.stdout.write('\033[94m') - elif color == "reset": - sys.stdout.write('\033[0m') - -def print_error(msg): - color("red") - print ("ERROR: " + msg) - color("reset") - -def print_green(msg): - color("green") - print(msg) - color("reset") - -def print_blue(msg): - color("blue") - print(msg) - color("reset") - -def print_yellow(msg): - color("yellow") - print(msg) - color("reset") - -############################################################################### - -def main(argv): - """Build an Arma addon suite in a directory from rules in a make.cfg file.""" - print_blue(("\nmake.py for Arma, v" + __version__)) - - if sys.platform != "win32": - print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") - sys.exit(1) - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") - arma3tools_path = winreg.QueryValueEx(k, "path")[0] - winreg.CloseKey(k) - except: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - - # Default behaviors - test = False # Copy to Arma 3 directory? - arg_modules = False # Only build modules on command line? - make_release = False # Make zip file from the release? - release_version = 0 # Version of release - use_pboproject = True # Default to pboProject build tool - make_target = "DEFAULT" # Which section in make.cfg to use for the build - new_key = False # Make a new key and use it to sign? - quiet = False # Suppress output from build tool? - - # Parse arguments - if "help" in argv or "-h" in argv or "--help" in argv: - print (""" -make.py [help] [test] [force] [key ] [target ] [release ] - [module name] [module name] [...] - -test -- Copy result to Arma 3. -release -- Make archive with . -force -- Ignore cache and build all. -target -- Use rules in make.cfg under heading [] rather than - default [Make] -key -- Use key in working directory with to sign. If it does not - exist, create key. -quiet -- Suppress command line output from build tool. - -If module names are specified, only those modules will be built. - -Examples: - make.py force test - Build all modules (ignoring cache) and copy the mod folder to the Arma 3 - directory. - make.py mymodule_gun - Only build the module named 'mymodule_gun'. - make.py force key MyNewKey release 1.0 - Build all modules (ignoring cache), sign them with NewKey, and pack them - into a zip file for release with version 1.0. - - -If a file called $NOBIN$ is found in the module directory, that module will not be binarized. - -See the make.cfg file for additional build options. -""") - sys.exit(0) - - if "force" in argv: - argv.remove("force") - force_build = True - else: - force_build = False - - if "test" in argv: - test = True - argv.remove("test") - - if "release" in argv: - make_release = True - release_version = argv[argv.index("release") + 1] - argv.remove(release_version) - argv.remove("release") - - if "target" in argv: - make_target = argv[argv.index("target") + 1] - argv.remove("target") - argv.remove(make_target) - force_build = True - - if "key" in argv: - new_key = True - key_name = argv[argv.index("key") + 1] - argv.remove("key") - argv.remove(key_name) - - if "quiet" in argv: - quiet = True - argv.remove("quiet") - - # Get the directory the make script is in. - make_root = os.path.dirname(os.path.realpath(__file__)) - make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) - os.chdir(make_root) - - cfg = configparser.ConfigParser(); - try: - cfg.read(os.path.join(make_root, "make.cfg")) - - # Project name (with @ symbol) - project = cfg.get(make_target, "project", fallback="@"+os.path.basename(os.getcwd())) - - # Private key path - key = cfg.get(make_target, "key", fallback=None) - - # Project prefix (folder path) - prefix = cfg.get(make_target, "prefix", fallback="") - - # Should we autodetect modules on a complete build? - module_autodetect = cfg.getboolean(make_target, "module_autodetect", fallback=True) - - # Manual list of modules to build for a complete build - modules = cfg.get(make_target, "modules", fallback=None) - # Parse it out - if modules: - modules = [x.strip() for x in modules.split(',')] - else: - modules = [] - - # List of directories to ignore when detecting - ignore = [x.strip() for x in cfg.get(make_target, "ignore", fallback="release").split(',')] - - # BI Tools work drive on Windows - work_drive = cfg.get(make_target, "work_drive", fallback="P:\\") - - # Which build tool should we use? - build_tool = "pboproject" - - # Release/build directory, relative to script dir - release_dir = cfg.get(make_target, "release_dir", fallback="release") - - # Project PBO file prefix (files are renamed to prefix_name.pbo) - pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) - - # Project module Root - module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) - module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) - print_green ("module_root: " + module_root) - if (os.path.isdir(module_root)): - os.chdir(module_root) - else: - print_error ("Directory " + module_root + " does not exist.") - sys.exit() - - except: - raise - print_error("Could not parse make.cfg.") - sys.exit(1) - - - - # See if we have been given specific modules to build from command line. - if len(argv) > 1 and not make_release: - arg_modules = True - modules = argv[1:] - - # Find the tools we need. - try: - tools = find_bi_tools(work_drive) - addonbuilder = tools[0] - dssignfile = tools[1] - dscreatekey = tools[2] - cfgconvert = tools[3] - - except: - print_error("Arma 3 Tools are not installed correctly or the P: drive has not been created.") - sys.exit(1) - - if build_tool == "pboproject": - try: - depbo_tools = find_depbo_tools() - pboproject = depbo_tools[0] - rapifyTool = depbo_tools[1] - makepboTool = depbo_tools[2] - except: - raise - print_error("Could not find dePBO tools. Download the needed tools from: https://dev.withsix.com/projects/mikero-pbodll/files") - sys.exit(1) - - # Try to open and deserialize build cache file. - try: - cache = {} - with open(os.path.join(make_root, "make.cache"), 'r') as f: - cache_raw = f.read() - - cache = json.loads(cache_raw) - - except: - print ("No cache found.") - cache = {} - - # Get list of subdirs in make root. - dirs = next(os.walk(module_root))[1] - - # Autodetect what directories to build. - if module_autodetect and not arg_modules: - modules = [] - for path in dirs: - # Any dir that has a config.cpp in its root is an addon to build. - config_path = os.path.join(path, 'config.cpp') - if os.path.isfile(config_path) and not path in ignore: - modules.append(path) - - # Make the key specified from command line if necessary. - if new_key: - if not os.path.isfile(os.path.join(module_root, key_name + ".biprivatekey")): - print_green("\nRequested key does not exist.") - ret = subprocess.call([dscreatekey, key_name]) # Created in make_root - if ret == 0: - print_blue("Created: " + os.path.join(module_root, key_name + ".biprivatekey")) - else: - print_error("Failed to create key!") - - try: - print_blue("Copying public key to release directory.") - - try: - os.makedirs(os.path.join(module_root, release_dir, "Keys")) - except: - pass - - shutil.copyfile(os.path.join(module_root, key_name + ".bikey"), os.path.join(module_root, release_dir, "Keys", key_name + ".bikey")) - - except: - raise - print_error("Could not copy key to release directory.") - - else: - print_green("\nNOTE: Using key " + os.path.join(module_root, key_name + ".biprivatekey")) - - key = os.path.join(module_root, key_name + ".biprivatekey") - - - # For each module, prep files and then build. - for module in modules: - print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) - - # Cache check - if module in cache: - old_sha = cache[module] - else: - old_sha = "" - - # Hash the module - new_sha = get_directory_hash(os.path.join(module_root, module)) - - # Check if it needs rebuilt - # print ("Hash:", new_sha) - if old_sha == new_sha: - if not force_build: - print("Module has not changed.") - # Skip everything else - continue - - # Only do this if the project isn't stored directly on the work drive. - # Split the path at the drive name and see if they are on the same drive (usually P:) - if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: - try: - # Remove old work drive version (ignore errors) - shutil.rmtree(os.path.join(work_drive, prefix, module), True) - - # Copy module to the work drive - shutil.copytree(module, os.path.join(work_drive, prefix, module)) - - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - #else: - #print("WARNING: Module is stored on work drive (" + work_drive + ").") - - try: - # Remove the old pbo, key, and log - old = os.path.join(module_root, release_dir, project, "Addons", module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - - if pbo_name_prefix: - old = os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - - # Build the module into a pbo - print_blue("Building: " + os.path.join(work_drive, prefix, module)) - print_blue("Destination: " + os.path.join(module_root, release_dir, project, "Addons")) - - # Make destination folder (if needed) - try: - os.makedirs(os.path.join(module_root, release_dir, project, "Addons")) - except: - pass - - # Run build tool - build_successful = False - if build_tool == "pboproject": - try: - #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - - os.chdir("P:\\") - - cmd = [os.path.join(work_drive, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] - ret = subprocess.call(cmd) - #ret = subprocess.call(["cfgConvertGUI.exe", os.path.join(work_drive, prefix, module, "config.cpp")]) - - if ret != 0: - print_error("CfgConvert -bin return code == " + str(ret)) - input("Press Enter to continue...") - - - cmd = [os.path.join(work_drive, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -txt) return code == " + str(ret)) - input("Press Enter to continue...") - - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - print_green("$NOBIN$ Found. Proceeding with non-binarizing!") - cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"Addons")] - - else: - cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] - - color("grey") - if quiet: - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - else: - ret = subprocess.call(cmd) - color("reset") - - if ret == 0: - print_green("pboProject return code == " + str(ret)) - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(module_root, release_dir, project, "Addons", module+".pbo"), os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - # Sign result - if key: - print("Signing with " + key + ".") - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("pboProject return code == " + str(ret)) - print_error("Module not successfully built/signed.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp - #print_green("\Pabst (restoring): " + os.path.join(work_drive, prefix, module, "config.cpp")) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.remove(os.path.join(work_drive, prefix, module, "config.bin")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - # Back to the root - os.chdir(module_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - elif build_tool== "addonbuilder": - # Detect $NOBIN$ and do not binarize if found. - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - do_binarize = False - print("$NOBIN$ file found in module, packing only.") - else: - do_binarize = True - try: - # Call AddonBuilder - os.chdir("P:\\") - - cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "Addons"), "-clear", "-project="+work_drive] - if not do_binarize: - cmd.append("-packonly") - - if quiet: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - os.chdir(previousDirectory) - else: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - print_error("Current directory - " + os.getcwd()) - ret = subprocess.call(cmd) - os.chdir(previousDirectory) - print_error("Current directory - " + os.getcwd()) - color("reset") - print_green("completed") - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(make_root, release_dir, project, "Addons", module+".pbo"), os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - - if ret == 0: - # Sign result - if key: - print("Signing with " + key + ".") - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("Module not successfully built.") - - # Back to the root - os.chdir(make_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - else: - print_error("Unknown build_tool " + build_tool + "!") - - # Update the hash for a successfully built module - if build_successful: - cache[module] = new_sha - - # Done building all modules! - - # Write out the cache state - cache_out = json.dumps(cache) - with open(os.path.join(make_root, "make.cache"), 'w') as f: - f.write(cache_out) - - # Delete the pboproject temp files if building a release. - if make_release and build_tool == "pboproject": - try: - shutil.rmtree(os.path.join(module_root, release_dir, project, "temp"), True) - except: - print_error("ERROR: Could not delete pboProject temp files.") - - print_green("\nDone.") - - # Make release - if make_release: - print_blue("\nMaking release: " + project + "-" + release_version + ".zip") - - try: - # Delete all log files - for root, dirs, files in os.walk(os.path.join(module_root, release_dir, project, "Addons")): - for currentFile in files: - if currentFile.lower().endswith("log"): - os.remove(os.path.join(root, currentFile)) - - # Create a zip with the contents of release/ in it - shutil.make_archive(project + "-" + release_version, "zip", os.path.join(module_root, release_dir)) - except: - raise - print_error("Could not make release.") - - # Copy to Arma 3 folder for testing - if test: - print_blue("\nCopying to Arma 3.") - - if sys.platform == "win32": - reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) - try: - k = winreg.OpenKey(reg, r"SOFTWARE\Wow6432Node\Bohemia Interactive\Arma 3") - a3_path = winreg.EnumValue(k, 1)[1] - winreg.CloseKey(k) - except: - print_error("Could not find Arma 3's directory in the registry.") - else: - a3_path = cygwin_a3path - - if os.path.exists(a3_path): - try: - shutil.rmtree(os.path.join(a3_path, project), True) - shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) - except: - print_error("Could not copy files. Is Arma 3 running?") - -if __name__ == "__main__": - main(sys.argv) -input("Press Enter to continue...") \ No newline at end of file diff --git a/tools/build.bat b/tools/build.bat deleted file mode 100644 index 05294fd579..0000000000 --- a/tools/build.bat +++ /dev/null @@ -1,7 +0,0 @@ -pushd ..\addons\ -del /q /f *.pbo -for /D %%i in (*.*) do ( - makepbo -NUP -@=z\addons\ace\%%i %%i ace_%%i.pbo - if %errorlevel% neq 0 exit /b %errorlevel% -) -popd diff --git a/tools/build.py b/tools/build.py new file mode 100644 index 0000000000..c6a425975e --- /dev/null +++ b/tools/build.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 + +import os +import sys +import subprocess + + +def mod_time(path): + if not os.path.isdir(path): + return os.path.getmtime(path) + maxi = os.path.getmtime(path) + for p in os.listdir(path): + maxi = max(mod_time(os.path.join(path, p)), maxi) + return maxi + + +def check_for_changes(addonspath, module): + if not os.path.exists(os.path.join(addonspath, "ace_{}.pbo".format(module))): + return True + return mod_time(os.path.join(addonspath, module)) > mod_time(os.path.join(addonspath, "ace_{}.pbo".format(module))) + +def check_for_obsolete_pbos(addonspath, file): + module = file[4:-4] + if not os.path.exists(os.path.join(addonspath, module)): + return True + return False + +def main(): + print(""" + #################### + # ACE3 Debug Build # + #################### +""") + + scriptpath = os.path.realpath(__file__) + projectpath = os.path.dirname(os.path.dirname(scriptpath)) + addonspath = os.path.join(projectpath, "addons") + + os.chdir(addonspath) + + made = 0 + failed = 0 + skipped = 0 + removed = 0 + + for file in os.listdir(addonspath): + if os.path.isfile(file): + if check_for_obsolete_pbos(addonspath, file): + removed += 1 + print(" Removing obsolete file => " + file) + os.remove(file) + print("") + + for p in os.listdir(addonspath): + path = os.path.join(addonspath, p) + if not os.path.isdir(path): + continue + if p[0] == ".": + continue + if not check_for_changes(addonspath, p): + skipped += 1 + print(" Skipping {}.".format(p)) + continue + + print("# Making {} ...".format(p)) + + try: + subprocess.check_output([ + "makepbo", + "-NUP", + "-@=z\\addons\\ace\\{}".format(p), + p, + "ace_{}.pbo".format(p) + ], stderr=subprocess.STDOUT) + except: + failed += 1 + print(" Failed to make {}.".format(p)) + else: + made += 1 + print(" Successfully made {}.".format(p)) + + print("\n# Done.") + print(" Made {}, skipped {}, removed {}, failed to make {}.".format(made, skipped, removed, failed)) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/github_privates_bot.py b/tools/github_privates_bot.py new file mode 100644 index 0000000000..4ef04eb33c --- /dev/null +++ b/tools/github_privates_bot.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 + +import os +import argparse + +from pygithub3 import Github + +def main(): + gh = Github(user='acemod', repo='ACE3') + + pull_requests = gh.pull_requests.list().all() + + for request in pull_requests: + files = gh.pull_requests.list_files(request.number).all() + + for file in files: + # print file.filename + if '.sqf' in file.filename: + print file + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tools/maintainers.py b/tools/maintainers.py deleted file mode 100755 index b3b4e3aec5..0000000000 --- a/tools/maintainers.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys - -def get_all_paths(root): - path = os.path.join(root, "addons") - fpaths = [] - for f in os.listdir(path): - fpath = os.path.join(path, f, "README.md") - if not os.path.exists(fpath): - fpaths.append(fpath) - return fpaths - -def add_readme(path): - name = os.path.split(os.path.dirname(path))[-1] - name = "ace_"+name - print("\n# COMPONENT: {}".format(name)) - - description = input("Desc: ") - - maintainers = [ - "KoffeinFlummi", - "commy2", - "esteldunedain", - "CorruptedHeart", - "PabstMirror", - "bux578", - "Glowbal", - "walterpearce", - "NouberNou" - ] - for (i, m) in enumerate(maintainers): - print("({}) {}".format(i, m), end="") - if i+1 < len(maintainers): - print(", ", end="") - else: - print("") - mstring = input("Maintainers: ") - - content = name + "\n" + "=" * len(name) + "\n\n" - content += description + "\n\n\n" - content += "## Maintainers\n\n" - content += "The people responsible for merging changes to this component or answering potential questions.\n\n" - for i in mstring.split(","): - mname = maintainers[int(i)] - content += "- [{}](https://github.com/{})\n".format(mname, mname) - - f = open(path, "w") - f.write(content) - f.close() - -def main(): - projectroot = os.path.realpath(__file__) - projectroot = os.path.dirname(os.path.dirname(projectroot)) - - paths = get_all_paths(projectroot) - print(len(paths)) - - for path in paths: - add_readme(path) - -if __name__ == "__main__": - main() diff --git a/tools/make.cfg b/tools/make.cfg new file mode 100644 index 0000000000..5e2d9d78da --- /dev/null +++ b/tools/make.cfg @@ -0,0 +1,83 @@ +# EXAMPLE MAKE.CFG FILE +# Please see the comments for each option. Most options can be left +# off for sane defaults. + +################################################################# +# Default make target +################################################################# +[DEFAULT] + +# Project name (with @ symbol) +# This is used for naming the release files. +# Default: Current folder name +project = @ace + +# Path to project secret key for signing +# Make sure this isn't in your public repository! +# Default: None +# key = D:\Program Files (x86)\Bohemia Interactive\Tools\DSSignFile Tools\keys\ace_preAlpha.biprivatekey + +# Path to where private keys are automatically created if the command-line parameter "key" is used +# Make sure this isn't in your public repository! +# Default: \private_keys +# private_key_path = P:\private_keys + +# If set to True, the make system will attempt to autodetect addons in the +# current folder by looking for directories with 'config.cpp' in them. +# Default: True +# module_autodetect = True + +# List of directories to ignore when autodetecting addons. +# Default: release +# ignore = release, my_unfinished_module + +# If autodetect is set to False, only folders whose names are in this list +# will be built as modules. +# Default: None +# modules = my_module, my_supporting_module + +# This is the folder hierarchy that will be used as prefix inside the PBO. +# Default: None +prefix = z\ace\addons + +# Set the location where the addon source folders (i.e. P:\z\ace\addons) +# Default: \\addons +module_root = P:\z\ace\addons + +# Set the location where the optional addon source folders (i.e. P:\z\ace\optionals) +# Default: \\optionals +optionals_root = P:\z\ace\optionals + + +# Directory where the built addon will be saved. +# Default: release +release_dir = P:\z\ace\release + +# This string will be prefixed to all build PBO file names. +# Default: None +pbo_name_prefix = ace_ + +# Which build tool will be used? Options: pboproject, addonbuilder +# Default: addonbuilder +build_tool = pboproject + +################################################################## +# Alternate build target using a different key +################################################################### +# [DifferentKey] +# key = C:\Keys\different.biprivatekey + +################################################################## +# Alternate build target ignoring some modules when detecting +################################################################### +# [IgnoreSome] +# key = C:\Keys\different.biprivatekey +# ignore = release, my_server_module, my_private_module + +################################################################## +# Alternate build target with fixed build list +################################################################### +# [Fixed] +# module_autodetect = False +# modules = my_module, my_other_module + diff --git a/tools/make.py b/tools/make.py new file mode 100644 index 0000000000..382f8dd776 --- /dev/null +++ b/tools/make.py @@ -0,0 +1,1110 @@ +#!/usr/bin/env python3 +# vim: set fileencoding=utf-8 : + +# make.py +# An Arma 3 addon build system + +############################################################################### + +# The MIT License (MIT) + +# Copyright (c) 2013-2014 Ryan Schultz + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +############################################################################### + +__version__ = "0.4" + +import sys + +if sys.version_info[0] == 2: + print("Python 3 is required.") + sys.exit(1) + +import os +import os.path +import shutil +import platform +import glob +import subprocess +import hashlib +import configparser +import json +import traceback +import time +import re + +if sys.platform == "win32": + import winreg + +######## GLOBALS ######### +work_drive = "" +module_root = "" +release_dir = "" +module_root_parent = "" +optionals_root = "" +key_name = "ace_preAlpha" +key = "" +dssignfile = "" + +############################################################################### +# http://akiscode.com/articles/sha-1directoryhash.shtml +# Copyright (c) 2009 Stephen Akiki +# MIT License (Means you can do whatever you want with this) +# See http://www.opensource.org/licenses/mit-license.php +# Error Codes: +# -1 -> Directory does not exist +# -2 -> General error (see stack traceback) +def get_directory_hash(directory): + directory_hash = hashlib.sha1() + if not os.path.exists (directory): + return -1 + + try: + for root, dirs, files in os.walk(directory): + for names in files: + path = os.path.join(root, names) + try: + f = open(path, 'rb') + except: + # You can't open the file for some reason + f.close() + continue + + while 1: + # Read file in as little chunks + buf = f.read(4096) + if not buf: break + new = hashlib.sha1(buf) + directory_hash.update(new.digest()) + f.close() + + except: + # Print the stack traceback + traceback.print_exc() + return -2 + + return directory_hash.hexdigest() + +# Copyright (c) André Burgaud +# http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/ +if sys.platform == "win32": + from ctypes import windll, Structure, c_short, c_ushort, byref + + SHORT = c_short + WORD = c_ushort + + class COORD(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("X", SHORT), + ("Y", SHORT)] + + class SMALL_RECT(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("Left", SHORT), + ("Top", SHORT), + ("Right", SHORT), + ("Bottom", SHORT)] + + class CONSOLE_SCREEN_BUFFER_INFO(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("dwSize", COORD), + ("dwCursorPosition", COORD), + ("wAttributes", WORD), + ("srWindow", SMALL_RECT), + ("dwMaximumWindowSize", COORD)] + + # winbase.h + STD_INPUT_HANDLE = -10 + STD_OUTPUT_HANDLE = -11 + STD_ERROR_HANDLE = -12 + + # wincon.h + FOREGROUND_BLACK = 0x0000 + FOREGROUND_BLUE = 0x0001 + FOREGROUND_GREEN = 0x0002 + FOREGROUND_CYAN = 0x0003 + FOREGROUND_RED = 0x0004 + FOREGROUND_MAGENTA = 0x0005 + FOREGROUND_YELLOW = 0x0006 + FOREGROUND_GREY = 0x0007 + FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified. + + BACKGROUND_BLACK = 0x0000 + BACKGROUND_BLUE = 0x0010 + BACKGROUND_GREEN = 0x0020 + BACKGROUND_CYAN = 0x0030 + BACKGROUND_RED = 0x0040 + BACKGROUND_MAGENTA = 0x0050 + BACKGROUND_YELLOW = 0x0060 + BACKGROUND_GREY = 0x0070 + BACKGROUND_INTENSITY = 0x0080 # background color is intensified. + + stdout_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) + SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute + GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo + + def get_text_attr(): + """Returns the character attributes (colors) of the console screen + buffer.""" + csbi = CONSOLE_SCREEN_BUFFER_INFO() + GetConsoleScreenBufferInfo(stdout_handle, byref(csbi)) + return csbi.wAttributes + + def set_text_attr(color): + """Sets the character attributes (colors) of the console screen + buffer. Color is a combination of foreground and background color, + foreground and background intensity.""" + SetConsoleTextAttribute(stdout_handle, color) +############################################################################### + +def find_bi_tools(work_drive): + """Find BI tools.""" + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") + arma3tools_path = winreg.QueryValueEx(k, "path")[0] + winreg.CloseKey(k) + except: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + + addonbuilder_path = os.path.join(arma3tools_path, "AddonBuilder", "AddonBuilder.exe") + dssignfile_path = os.path.join(arma3tools_path, "DSSignFile", "DSSignFile.exe") + dscreatekey_path = os.path.join(arma3tools_path, "DSSignFile", "DSCreateKey.exe") + cfgconvert_path = os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe") + + if os.path.isfile(addonbuilder_path) and os.path.isfile(dssignfile_path) and os.path.isfile(dscreatekey_path) and os.path.isfile(cfgconvert_path): + return [addonbuilder_path, dssignfile_path, dscreatekey_path, cfgconvert_path] + else: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + + +def find_depbo_tools(regKey): + """Use registry entries to find DePBO-based tools.""" + stop = False + + if regKey == "HKCU": + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + stop = True + else: + reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) + + try: + try: + k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\pboProject") + except FileNotFoundError: + k = winreg.OpenKey(reg, r"Software\Mikero\pboProject") + try: + pboproject_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found pboproject.") + except: + print_error("ERROR: Could not find pboProject.") + + try: + k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\rapify") + except FileNotFoundError: + k = winreg.OpenKey(reg, r"Software\Mikero\rapify") + try: + rapify_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found rapify.") + except: + print_error("Could not find rapify.") + + try: + k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\MakePbo") + except FileNotFoundError: + k = winreg.OpenKey(reg, r"Software\Mikero\MakePbo") + try: + makepbo_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found makepbo.") + except: + print_error("Could not find makepbo.") + except: + if stop == True: + raise Exception("BadDePBO", "DePBO tools not installed correctly") + return -1 + + + #Strip any quotations from the path due to a MikeRo tool bug which leaves a trailing space in some of its registry paths. + return [pboproject_path.strip('"'),rapify_path.strip('"'),makepbo_path.strip('"')] + + +def color(color): + """Set the color. Works on Win32 and normal terminals.""" + if sys.platform == "win32": + if color == "green": + set_text_attr(FOREGROUND_GREEN | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "yellow": + set_text_attr(FOREGROUND_YELLOW | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "red": + set_text_attr(FOREGROUND_RED | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "blue": + set_text_attr(FOREGROUND_BLUE | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "reset": + set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) + elif color == "grey": + set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) + else : + if color == "green": + sys.stdout.write('\033[92m') + elif color == "red": + sys.stdout.write('\033[91m') + elif color == "blue": + sys.stdout.write('\033[94m') + elif color == "reset": + sys.stdout.write('\033[0m') + +def print_error(msg): + color("red") + print ("ERROR: " + msg) + color("reset") + +def print_green(msg): + color("green") + print(msg) + color("reset") + +def print_blue(msg): + color("blue") + print(msg) + color("reset") + +def print_yellow(msg): + color("yellow") + print(msg) + color("reset") + + +def copy_important_files(source_dir,destination_dir): + + originalDir = os.getcwd() + importantFiles = ["mod.cpp", + "README.md", + "AUTHORS.txt", + "LICENSE", + "logo_ace3_ca.paa" + ] + + #copy importantFiles + try: + print_blue("\nSearching for important files in " + source_dir) + print("Source_dir: " + source_dir) + print("Destination_dir: " + destination_dir) + + for file in importantFiles: + print_green("Copying file => " + os.path.join(source_dir,file)) + shutil.copyfile(os.path.join(source_dir,file),os.path.join(destination_dir,file)) + except: + print_error("COPYING IMPORTANT FILES.") + raise + + #copy all extension dlls + try: + os.chdir(os.path.join(source_dir)) + print_blue("\nSearching for DLLs in " + os.getcwd()) + filenames = glob.glob("*.dll") + + if not filenames: + print ("Empty SET") + + for dll in filenames: + print_green("Copying dll => " + os.path.join(source_dir,dll)) + if os.path.isfile(dll): + shutil.copyfile(os.path.join(source_dir,dll),os.path.join(destination_dir,dll)) + except: + print_error("COPYING DLL FILES.") + raise + finally: + os.chdir(originalDir) + + +def copy_optionals_for_building(mod,pbos): + src_directories = os.listdir(optionals_root) + current_dir = os.getcwd() + + print_blue("\nChecking Optionals folder...") + try: + + #special server.pbo processing + files = glob.glob(os.path.join(release_dir, "@ace","optionals","*.pbo")) + for file in files: + file_name = os.path.basename(file) + #print ("Adding the following file: " + file_name) + pbos.append(file_name) + pbo_path = os.path.join(release_dir, "@ace","optionals",file_name) + sigFile_name = file_name +"."+ key_name + ".bisign" + sig_path = os.path.join(release_dir, "@ace","optionals",sigFile_name) + if (os.path.isfile(pbo_path)): + print("Moving " + pbo_path + " for processing.") + shutil.move(pbo_path, os.path.join(release_dir,"@ace","addons",file_name)) + + if (os.path.isfile(sig_path)): + #print("Moving " + sig_path + " for processing.") + shutil.move(sig_path, os.path.join(release_dir,"@ace","addons",sigFile_name)) + except: + print_error("Error in moving") + raise + finally: + os.chdir(current_dir) + + print("") + try: + for dir_name in src_directories: + mod.append(dir_name) + #userconfig requires special handling since it is not a PBO source folder. + #CfgConvert fails to build server.pbo if userconfig is not found in P:\ + if (dir_name == "userconfig"): + if (os.path.exists(os.path.join(release_dir, "@ace","optionals",dir_name))): + shutil.rmtree(os.path.join(release_dir, "@ace","optionals",dir_name), True) + shutil.copytree(os.path.join(optionals_root,dir_name), os.path.join(release_dir, "@ace","optionals",dir_name)) + destination = os.path.join(work_drive,dir_name) + else: + destination = os.path.join(module_root,dir_name) + + print("Temporarily copying " + os.path.join(optionals_root,dir_name) + " => " + destination + " for building.") + if (os.path.exists(destination)): + shutil.rmtree(destination, True) + shutil.copytree(os.path.join(optionals_root,dir_name), destination) + except: + print_error("Copy Optionals Failed") + raise + finally: + os.chdir(current_dir) + + +def cleanup_optionals(mod): + print("") + try: + for dir_name in mod: + #userconfig requires special handling since it is not a PBO source folder. + if (dir_name == "userconfig"): + destination = os.path.join(work_drive,dir_name) + else: + destination = os.path.join(module_root,dir_name) + + print("Cleaning " + destination) + + try: + file_name = "ace_{}.pbo".format(dir_name) + src_file_path = os.path.join(release_dir, "@ace","addons",file_name) + dst_file_path = os.path.join(release_dir, "@ace","optionals",file_name) + + sigFile_name = file_name +"."+ key_name + ".bisign" + src_sig_path = os.path.join(release_dir, "@ace","addons",sigFile_name) + dst_sig_path = os.path.join(release_dir, "@ace","optionals",sigFile_name) + + if (os.path.isfile(src_file_path)): + #print("Preserving " + file_name) + os.renames(src_file_path,dst_file_path) + if (os.path.isfile(src_sig_path)): + #print("Preserving " + sigFile_name) + os.renames(src_sig_path,dst_sig_path) + except FileExistsError: + print_error(file_name + " already exists") + continue + shutil.rmtree(destination) + + except: + print_error("Cleaning Optionals Failed") + raise + + +def purge(dir, pattern, friendlyPattern="files"): + print_green("Deleting " + friendlyPattern + " files from directory: " + dir) + for f in os.listdir(dir): + if re.search(pattern, f): + os.remove(os.path.join(dir, f)) + + +def build_signature_file(file_name): + global key + global dssignfile + print("Signing with " + key + ".") + ret = subprocess.call([dssignfile, key, file_name]) + if ret == 0: + return True + else: + return False + + +def check_for_obsolete_pbos(addonspath, file): + module = file[4:-4] + if not os.path.exists(os.path.join(addonspath, module)): + return True + return False +############################################################################### + + +def main(argv): + """Build an Arma addon suite in a directory from rules in a make.cfg file.""" + print_blue(("\nmake.py for Arma, modified for Advanced Combat Environment v" + __version__)) + + global work_drive + global module_root + global release_dir + global module_root_parent + global optionals_root + global key_name + global key + global dssignfile + + if sys.platform != "win32": + print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") + sys.exit(1) + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") + arma3tools_path = winreg.QueryValueEx(k, "path")[0] + winreg.CloseKey(k) + except: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + + # Default behaviors + test = False # Copy to Arma 3 directory? + arg_modules = False # Only build modules on command line? + make_release = False # Make zip file from the release? + release_version = 0 # Version of release + use_pboproject = True # Default to pboProject build tool + make_target = "DEFAULT" # Which section in make.cfg to use for the build + new_key = True # Make a new key and use it to sign? + quiet = False # Suppress output from build tool? + + # Parse arguments + if "help" in argv or "-h" in argv or "--help" in argv: + print (""" +make.py [help] [test] [force] [key ] [target ] [release ] + [module name] [module name] [...] + +test -- Copy result to Arma 3. +release -- Make archive with . +force -- Ignore cache and build all. +checkexternal -- Check External Files +target -- Use rules in make.cfg under heading [] rather than + default [Make] +key -- Use key in working directory with to sign. If it does not + exist, create key. +quiet -- Suppress command line output from build tool. + +If module names are specified, only those modules will be built. + +Examples: + make.py force test + Build all modules (ignoring cache) and copy the mod folder to the Arma 3 + directory. + make.py mymodule_gun + Only build the module named 'mymodule_gun'. + make.py force key MyNewKey release 1.0 + Build all modules (ignoring cache), sign them with NewKey, and pack them + into a zip file for release with version 1.0. + + +If a file called $NOBIN$ is found in the module directory, that module will not be binarized. + +See the make.cfg file for additional build options. +""") + sys.exit(0) + + if "force" in argv: + argv.remove("force") + force_build = True + else: + force_build = False + + if "test" in argv: + test = True + argv.remove("test") + + if "release" in argv: + make_release = True + release_version = argv[argv.index("release") + 1] + argv.remove(release_version) + argv.remove("release") + + if "target" in argv: + make_target = argv[argv.index("target") + 1] + argv.remove("target") + argv.remove(make_target) + force_build = True + + if "key" in argv: + new_key = True + key_name = argv[argv.index("key") + 1] + argv.remove("key") + argv.remove(key_name) + + if "quiet" in argv: + quiet = True + argv.remove("quiet") + + if "checkexternal" in argv: + argv.remove("checkexternal") + check_external = True + else: + check_external = False + + print_yellow("\nCheck external references is set to " + str(check_external)) + + # Get the directory the make script is in. + make_root = os.path.dirname(os.path.realpath(__file__)) + make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) + os.chdir(make_root) + + # Get latest commit ID + try: + gitpath = os.path.join(os.path.dirname(make_root), ".git") + assert os.path.exists(gitpath) + + commit_id = subprocess.check_output(["git", "rev-parse", "HEAD"]) + commit_id = str(commit_id, "utf-8")[:8] + key_name = str(key_name+"-"+commit_id) + except: + print_error("FAILED TO DETERMINE COMMIT ID.") + commit_id = "NOGIT" + + cfg = configparser.ConfigParser(); + try: + cfg.read(os.path.join(make_root, "make.cfg")) + + # Project name (with @ symbol) + project = cfg.get(make_target, "project", fallback="@"+os.path.basename(os.getcwd())) + + # BI Tools work drive on Windows + work_drive = cfg.get(make_target, "work_drive", fallback="P:\\") + + # Private key path + key = cfg.get(make_target, "key", fallback=None) + + # Private key creation directory + private_key_path = cfg.get(make_target, "private_key_path", fallback=os.path.join(work_drive, "private_keys")) + + # Project prefix (folder path) + prefix = cfg.get(make_target, "prefix", fallback="") + + # Should we autodetect modules on a complete build? + module_autodetect = cfg.getboolean(make_target, "module_autodetect", fallback=True) + + # Manual list of modules to build for a complete build + modules = cfg.get(make_target, "modules", fallback=None) + # Parse it out + if modules: + modules = [x.strip() for x in modules.split(',')] + else: + modules = [] + + # List of directories to ignore when detecting + ignore = [x.strip() for x in cfg.get(make_target, "ignore", fallback="release").split(',')] + + # Which build tool should we use? + build_tool = cfg.get(make_target, "build_tool", fallback="addonbuilder").lower() + + # Release/build directory, relative to script dir + release_dir = cfg.get(make_target, "release_dir", fallback="release") + + # Project PBO file prefix (files are renamed to prefix_name.pbo) + pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) + + # Project module Root + module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) + module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) + optionals_root = os.path.join(module_root_parent, "optionals") + print_green ("module_root: " + module_root) + + if (os.path.isdir(module_root)): + os.chdir(module_root) + else: + print_error ("Directory " + module_root + " does not exist.") + sys.exit() + + if (os.path.isdir(optionals_root)): + print_green ("optionals_root: " + optionals_root) + else: + print_error ("Directory " + optionals_root + " does not exist.") + sys.exit() + + print_green ("release_dir: " + release_dir) + + except: + raise + print_error("Could not parse make.cfg.") + sys.exit(1) + + # See if we have been given specific modules to build from command line. + if len(argv) > 1 and not make_release: + arg_modules = True + modules = argv[1:] + + # Find the tools we need. + try: + tools = find_bi_tools(work_drive) + addonbuilder = tools[0] + dssignfile = tools[1] + dscreatekey = tools[2] + cfgconvert = tools[3] + + except: + print_error("Arma 3 Tools are not installed correctly or the P: drive has not been created.") + sys.exit(1) + + if build_tool == "pboproject": + try: + depbo_tools = find_depbo_tools("HKLM") + if depbo_tools == -1: + depbo_tools = find_depbo_tools("HKCU") + pboproject = depbo_tools[0] + rapifyTool = depbo_tools[1] + makepboTool = depbo_tools[2] + except: + raise + print_error("Could not find dePBO tools. Download the needed tools from: https://dev.withsix.com/projects/mikero-pbodll/files") + sys.exit(1) + + # Try to open and deserialize build cache file. + try: + cache = {} + with open(os.path.join(make_root, "make.cache"), 'r') as f: + cache_raw = f.read() + + cache = json.loads(cache_raw) + + except: + print ("No cache found.") + cache = {} + + if not os.path.isdir(os.path.join(release_dir, project, "addons")): + try: + os.makedirs(os.path.join(release_dir, project, "addons")) + except: + print_error("Cannot create release directory") + raise + + if not os.path.isdir(os.path.join(release_dir, project, "keys")): + try: + os.makedirs(os.path.join(release_dir, project, "keys")) + except: + print_error("Cannot create release directory") + raise + + #Temporarily copy optionals_root for building. They will be removed later. + optionals_modules = [] + optional_files = [] + copy_optionals_for_building(optionals_modules,optional_files) + + # Get list of subdirs in make root. + dirs = next(os.walk(module_root))[1] + + # Autodetect what directories to build. + if module_autodetect and not arg_modules: + modules = [] + for path in dirs: + # Any dir that has a config.cpp in its root is an addon to build. + config_path = os.path.join(path, 'config.cpp') + if os.path.isfile(config_path) and not path in ignore: + modules.append(path) + + # Make the key specified from command line if necessary. + if new_key: + if not os.path.isfile(os.path.join(private_key_path, key_name + ".biprivatekey")): + print_yellow("\nRequested key does not exist.") + try: + os.makedirs(private_key_path) + except: + pass + curDir = os.getcwd() + os.chdir(private_key_path) + ret = subprocess.call([dscreatekey, key_name]) # Created in make_root + os.chdir(curDir) + if ret == 0: + print_green("Created: " + os.path.join(private_key_path, key_name + ".biprivatekey")) + print("Removing any old signature keys...") + purge(os.path.join(module_root, release_dir, project, "addons"), "^.*\.bisign$","*.bisign") + purge(os.path.join(module_root, release_dir, project, "optionals"), "^.*\.bisign$","*.bisign") + purge(os.path.join(module_root, release_dir, project, "keys"), "^.*\.bikey$","*.bikey") + else: + print_error("Failed to create key!") + + try: + print("Copying public key to release directory.") + + try: + os.makedirs(os.path.join(module_root, release_dir, project, "keys")) + except: + pass + + shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", key_name + ".bikey")) + + except: + print_error("Could not copy key to release directory.") + raise + + else: + print_green("\nNOTE: Using key " + os.path.join(private_key_path, key_name + ".biprivatekey")) + + key = os.path.join(private_key_path, key_name + ".biprivatekey") + + # Remove any obsolete files. + print_blue("\nChecking for obsolete files...") + obsolete_check_path = os.path.join(module_root, release_dir, project,"addons") + for file in os.listdir(obsolete_check_path): + if (file.endswith(".pbo") and os.path.isfile(os.path.join(obsolete_check_path,file))): + if check_for_obsolete_pbos(module_root, file): + fileName = os.path.splitext(file)[0] + print_yellow("Removing obsolete file => " + file) + purge(obsolete_check_path,fileName+"\..",fileName+".*") + + # For each module, prep files and then build. + print_blue("\nBuilding...") + for module in modules: + print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) + missing = False + sigMissing = False + + # Cache check + if module in cache: + old_sha = cache[module] + else: + old_sha = "" + + #We always build ACE_common so we can properly show the correct version stamp in the RPT file. + if module == "common": + old_sha = "" + + # Hash the module + new_sha = get_directory_hash(os.path.join(module_root, module)) + + # Is the pbo or sig file missing? + missing = not os.path.isfile(os.path.join(release_dir, project, "addons", "ace_{}.pbo".format(module))) + sigFile = pbo_name_prefix+module + ".pbo." + key_name + ".bisign" + sigMissing = not os.path.isfile(os.path.join(release_dir, project, "addons", sigFile )) + + if missing: + print_yellow("Missing PBO file ace_{}.pbo".format(module) + ". Building...") + + # Check if it needs rebuilt + # print ("Hash:", new_sha) + if old_sha == new_sha and not missing: + if not force_build: + print("Module has not changed.") + if sigMissing: + if key: + print("Missing Signature key " + sigFile) + build_signature_file(os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")) + # Skip everything else + continue + + # Only do this if the project isn't stored directly on the work drive. + # Split the path at the drive name and see if they are on the same drive (usually P:) + if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: + try: + # Remove old work drive version (ignore errors) + shutil.rmtree(os.path.join(work_drive, prefix, module), True) + + # Copy module to the work drive + shutil.copytree(module, os.path.join(work_drive, prefix, module)) + + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + #else: + #print("WARNING: Module is stored on work drive (" + work_drive + ").") + + try: + # Remove the old pbo, key, and log + old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + + if pbo_name_prefix: + old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + + # Build the module into a pbo + print_blue("Building: " + os.path.join(work_drive, prefix, module)) + print_blue("Destination: " + os.path.join(module_root, release_dir, project, "addons")) + + # Make destination folder (if needed) + try: + os.makedirs(os.path.join(module_root, release_dir, project, "addons")) + except: + pass + + # Run build tool + build_successful = False + if build_tool == "pboproject": + try: + #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) + + os.chdir("P:\\") + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -bin return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -txt return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + + # Include build number + try: + configpath = os.path.join(work_drive, prefix, module, "config.cpp") + f = open(configpath, "r") + configtext = f.read() + f.close() + + if configtext: + patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) + patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) + configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) + f = open(configpath, "w") + f.write(configtext) + f.close() + else: + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + except: + raise + print_error("Failed to include build number") + continue + + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + print_green("$NOBIN$ Found. Proceeding with non-binarizing!") + cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")] + + else: + if check_external: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + else: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "-X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + + color("grey") + if quiet: + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + else: + ret = subprocess.call(cmd) + color("reset") + + if ret == 0: + print_green("pboProject return code == " + str(ret)) + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(module_root, release_dir, project, "addons", module+".pbo"), os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + # Sign result + if key: + print("Signing with " + key + ".") + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("pboProject return code == " + str(ret)) + print_error("Module not successfully built/signed.") + print ("Resuming build...") + continue + + #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp + #print_green("\Pabst (restoring): " + os.path.join(work_drive, prefix, module, "config.cpp")) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + os.remove(os.path.join(work_drive, prefix, module, "config.bin")) + os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + # Back to the root + os.chdir(module_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") + continue + + elif build_tool== "addonbuilder": + # Detect $NOBIN$ and do not binarize if found. + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + do_binarize = False + print("$NOBIN$ file found in module, packing only.") + else: + do_binarize = True + try: + # Call AddonBuilder + os.chdir("P:\\") + + cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "addons"), "-clear", "-project="+work_drive] + if not do_binarize: + cmd.append("-packonly") + + if quiet: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + os.chdir(previousDirectory) + else: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + print_error("Current directory - " + os.getcwd()) + ret = subprocess.call(cmd) + os.chdir(previousDirectory) + print_error("Current directory - " + os.getcwd()) + color("reset") + print_green("completed") + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(make_root, release_dir, project, "addons", module+".pbo"), os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + + if ret == 0: + # Sign result + if key: + print("Signing with " + key + ".") + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("Module not successfully built.") + + # Back to the root + os.chdir(make_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") + continue + + else: + print_error("Unknown build_tool " + build_tool + "!") + + # Update the hash for a successfully built module + if build_successful: + cache[module] = new_sha + + # Done building all modules! + + # Write out the cache state + cache_out = json.dumps(cache) + with open(os.path.join(make_root, "make.cache"), 'w') as f: + f.write(cache_out) + + # Delete the pboproject temp files if building a release. + if make_release and build_tool == "pboproject": + try: + shutil.rmtree(os.path.join(module_root, release_dir, project, "temp"), True) + except: + print_error("ERROR: Could not delete pboProject temp files.") + + copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) + cleanup_optionals(optionals_modules) + + # Make release + if make_release: + print_blue("\nMaking release: " + project + "-" + release_version + ".zip") + + try: + # Delete all log files + for root, dirs, files in os.walk(os.path.join(module_root, release_dir, project, "addons")): + for currentFile in files: + if currentFile.lower().endswith("log"): + os.remove(os.path.join(root, currentFile)) + + # Create a zip with the contents of release/ in it + shutil.make_archive(project + "-" + release_version, "zip", os.path.join(module_root, release_dir)) + except: + raise + print_error("Could not make release.") + + # Copy to Arma 3 folder for testing + if test: + print_blue("\nCopying to Arma 3.") + + if sys.platform == "win32": + reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) + try: + k = winreg.OpenKey(reg, r"SOFTWARE\Wow6432Node\Bohemia Interactive\Arma 3") + a3_path = winreg.EnumValue(k, 1)[1] + winreg.CloseKey(k) + except: + print_error("Could not find Arma 3's directory in the registry.") + else: + a3_path = cygwin_a3path + + if os.path.exists(a3_path): + try: + shutil.rmtree(os.path.join(a3_path, project), True) + shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) + except: + print_error("Could not copy files. Is Arma 3 running?") + + print_green("\nDone.") + + +if __name__ == "__main__": + main(sys.argv) +input("Press Enter to continue...") diff --git a/tools/rename_fn.py b/tools/rename_fn.py deleted file mode 100755 index a6ebfa5056..0000000000 --- a/tools/rename_fn.py +++ /dev/null @@ -1,13 +0,0 @@ -import os - -for root, dirs, files in os.walk(os.getcwd()): - for filename in files: - oldname = filename - newname = filename.replace('fn_', 'fnc_') - - print os.path.join(root,oldname) - print newname - if newname != oldname: - print os.path.join(root,oldname) - print oldname + ' -> ' + newname - os.rename(os.path.join(root,oldname), os.path.join(root,newname)) \ No newline at end of file diff --git a/tools/search_privates.py b/tools/search_privates.py new file mode 100644 index 0000000000..37320214fc --- /dev/null +++ b/tools/search_privates.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 + +import fnmatch +import os +import re +import ntpath +import sys +import argparse + +def get_private_declare(content): + priv_declared = [] + + srch = re.compile('private.*') + priv_srch_declared = srch.findall(content) + priv_srch_declared = sorted(set(priv_srch_declared)) + + priv_dec_str = ''.join(priv_srch_declared) + + srch = re.compile('(? 0: + print (filepath) + + private_output = 'private['; + first = True + for bad_priv in missing: + if first: + first = False + private_output = private_output + '"' + bad_priv + else: + private_output = private_output + '", "' + bad_priv + + private_output = private_output + '"];'; + print (private_output) + + for bad_priv in missing: + print ('\t' + bad_priv) + bad_count_file = bad_count_file + 1 + + + + return bad_count_file + +def main(): + + print("#########################") + print("# Search your Privates #") + print("#########################") + + sqf_list = [] + bad_count = 0 + + parser = argparse.ArgumentParser() + parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default=".") + args = parser.parse_args() + + for root, dirnames, filenames in os.walk('../addons' + '/' + args.module): + for filename in fnmatch.filter(filenames, '*.sqf'): + sqf_list.append(os.path.join(root, filename)) + + for filename in sqf_list: + bad_count = bad_count + check_privates(filename) + + + print ("Bad Count {0}".format(bad_count)) + +if __name__ == "__main__": + main() diff --git a/tools/search_unused_privates.py b/tools/search_unused_privates.py new file mode 100644 index 0000000000..b9bdd880ce --- /dev/null +++ b/tools/search_unused_privates.py @@ -0,0 +1,128 @@ +#!/usr/bin/env python3 + +import fnmatch +import os +import re +import ntpath +import sys +import argparse + +def get_private_declare(content): + priv_declared = [] + + srch = re.compile('private.*') + priv_srch_declared = srch.findall(content) + priv_srch_declared = sorted(set(priv_srch_declared)) + + priv_dec_str = ''.join(priv_srch_declared) + + srch = re.compile('(? 0: + print (filepath) + + private_output = 'private['; + first = True + for bad_priv in unused: + if first: + first = False + private_output = private_output + '"' + bad_priv + else: + private_output = private_output + '", "' + bad_priv + + private_output = private_output + '"];'; + print (private_output) + + for bad_priv in unused: + print ('\t' + bad_priv) + bad_count_file = bad_count_file + 1 + + + + return bad_count_file + +def main(): + + print("#########################") + print("# Search your Privates #") + print("#########################") + + sqf_list = [] + bad_count = 0 + + parser = argparse.ArgumentParser() + parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default=".") + args = parser.parse_args() + + for root, dirnames, filenames in os.walk('../addons' + '/' + args.module): + for filename in fnmatch.filter(filenames, '*.sqf'): + sqf_list.append(os.path.join(root, filename)) + + for filename in sqf_list: + bad_count = bad_count + check_privates(filename) + + + print ("Bad Count {0}".format(bad_count)) + +if __name__ == "__main__": + main() diff --git a/tools/stringtablediag.py b/tools/stringtablediag.py index 3e4d906158..c4aab0b104 100755 --- a/tools/stringtablediag.py +++ b/tools/stringtablediag.py @@ -11,109 +11,109 @@ from xml.dom import minidom # Checks for missing translations and all that jazz. def get_all_languages(projectpath): - """ Checks what languages exist in the repo. """ - languages = [] + """ Checks what languages exist in the repo. """ + languages = [] - for module in os.listdir(projectpath): - if module[0] == ".": - continue + for module in os.listdir(projectpath): + if module[0] == ".": + continue + + stringtablepath = os.path.join(projectpath, module, "stringtable.xml") + try: + xmldoc = minidom.parse(stringtablepath) + except: + continue + + keys = xmldoc.getElementsByTagName("Key") + for key in keys: + for child in key.childNodes: + try: + if not child.tagName in languages: + languages.append(child.tagName) + except: + continue + + return languages + +def check_module(projectpath, module, languages): + """ Checks the given module for all the different languages. """ + localized = [] stringtablepath = os.path.join(projectpath, module, "stringtable.xml") try: - xmldoc = minidom.parse(stringtablepath) + xmldoc = minidom.parse(stringtablepath) except: - continue + return 0, localized - keys = xmldoc.getElementsByTagName("Key") - for key in keys: - for child in key.childNodes: - try: - if not child.tagName in languages: - languages.append(child.tagName) - except: - continue + keynumber = len(xmldoc.getElementsByTagName("Key")) - return languages + for language in languages: + localized.append(len(xmldoc.getElementsByTagName(language))) -def check_module(projectpath, module, languages): - """ Checks the given module for all the different languages. """ - localized = [] - - stringtablepath = os.path.join(projectpath, module, "stringtable.xml") - try: - xmldoc = minidom.parse(stringtablepath) - except: - return 0, localized - - keynumber = len(xmldoc.getElementsByTagName("Key")) - - for language in languages: - localized.append(len(xmldoc.getElementsByTagName(language))) - - return keynumber, localized + return keynumber, localized def main(): - scriptpath = os.path.realpath(__file__) - projectpath = os.path.dirname(os.path.dirname(scriptpath)) - projectpath = os.path.join(projectpath, "addons") + scriptpath = os.path.realpath(__file__) + projectpath = os.path.dirname(os.path.dirname(scriptpath)) + projectpath = os.path.join(projectpath, "addons") - print("#########################") - print("# Stringtable Diag Tool #") - print("#########################") + print("#########################") + print("# Stringtable Diag Tool #") + print("#########################") - languages = get_all_languages(projectpath) + languages = get_all_languages(projectpath) - print("\nLanguages present in the repo:") - print(", ".join(languages)) + print("\nLanguages present in the repo:") + print(", ".join(languages)) - keysum = 0 - localizedsum = list(map(lambda x: 0, languages)) - missing = list(map(lambda x: [], languages)) + keysum = 0 + localizedsum = list(map(lambda x: 0, languages)) + missing = list(map(lambda x: [], languages)) - for module in os.listdir(projectpath): - keynumber, localized = check_module(projectpath, module, languages) + for module in os.listdir(projectpath): + keynumber, localized = check_module(projectpath, module, languages) - if keynumber == 0: - continue + if keynumber == 0: + continue - print("\n# " + module) + print("\n# " + module) - keysum += keynumber - for i in range(len(localized)): - print(" %s %s / %i" % ((languages[i]+":").ljust(10), str(localized[i]).ljust(3), keynumber)) - localizedsum[i] += localized[i] - if localized[i] < keynumber: - missing[i].append(module) + keysum += keynumber + for i in range(len(localized)): + print(" %s %s / %i" % ((languages[i]+":").ljust(10), str(localized[i]).ljust(3), keynumber)) + localizedsum[i] += localized[i] + if localized[i] < keynumber: + missing[i].append(module) - print("\n###########") - print("# RESULTS #") - print("###########") + print("\n###########") + print("# RESULTS #") + print("###########") - print("\nTotal number of keys: %i\n" % (keysum)) + print("\nTotal number of keys: %i\n" % (keysum)) - for i in range(len(languages)): - if localizedsum[i] == keysum: - print("%s No missing stringtable entries." % ((languages[i] + ":").ljust(12))) - else: - print("%s %s missing stringtable entry/entries." % ((languages[i] + ":").ljust(12), str(keysum - localizedsum[i]).rjust(4)), end="") - print(" ("+", ".join(missing[i])+")") + for i in range(len(languages)): + if localizedsum[i] == keysum: + print("%s No missing stringtable entries." % ((languages[i] + ":").ljust(12))) + else: + print("%s %s missing stringtable entry/entries." % ((languages[i] + ":").ljust(12), str(keysum - localizedsum[i]).rjust(4)), end="") + print(" ("+", ".join(missing[i])+")") - print("\n\n### MARKDOWN ###") + print("\n\n### MARKDOWN ###") - print("\nTotal number of keys: %i\n" % (keysum)) + print("\nTotal number of keys: %i\n" % (keysum)) - print("| Language | Missing Entries | Relevant Modules | % done |") - print("|----------|----------------:|------------------|--------|") + print("| Language | Missing Entries | Relevant Modules | % done |") + print("|----------|----------------:|------------------|--------|") - for i, language in enumerate(languages): - if localizedsum[i] == keysum: - print("| {} | 0 | - | 100% |".format(language)) - else: - print("| {} | {} | {} | {}% |".format( - language, - keysum - localizedsum[i], - ", ".join(missing[i]), - round(100 * localizedsum[i] / keysum))) + for i, language in enumerate(languages): + if localizedsum[i] == keysum: + print("| {} | 0 | - | 100% |".format(language)) + else: + print("| {} | {} | {} | {}% |".format( + language, + keysum - localizedsum[i], + ", ".join(missing[i]), + round(100 * localizedsum[i] / keysum))) if __name__ == "__main__": - main() + main() diff --git a/tools/stringtableduplicates.py b/tools/stringtableduplicates.py index d72cc3e6f6..b9b4920059 100755 --- a/tools/stringtableduplicates.py +++ b/tools/stringtableduplicates.py @@ -2,55 +2,59 @@ import os import sys + +import xml.dom from xml.dom import minidom -# STRINGTABLE DUPLICATE FINDER +# STRINGTABLE DIAG TOOL # Author: KoffeinFlummi -# ---------------------------- -# Counts duplicate stringtable entries +# --------------------- +# Counts duplicates stringtable entries -def main(): - scriptpath = os.path.realpath(__file__) - projectpath = os.path.dirname(os.path.dirname(scriptpath)) - projectpath = os.path.join(projectpath, "addons") - entries = {} +def check_module(projectpath, module): + """ Checks the given module for all the different languages. """ + localized = [] - for module in os.listdir(projectpath): - if module[0] == ".": - continue stringtablepath = os.path.join(projectpath, module, "stringtable.xml") try: - xmldoc = minidom.parse(stringtablepath) - except: - continue + xmldoc = minidom.parse(stringtablepath) + except IOError: + return 0 + keys = xmldoc.getElementsByTagName("Key") - keys = xmldoc.getElementsByTagName("English") + duplicates = 0 for key in keys: - text = key.firstChild.wholeText - parentid = key.parentNode.getAttribute("ID") - if text in entries: - entries[text].append(parentid) - else: - entries[text] = [parentid] + children = key.childNodes + entries = [] + for c in range(children.length): + entries.append(children.item(c)) + entries = list(filter(lambda x: x.nodeType == x.ELEMENT_NODE, entries)) + entries = list(map(lambda x: str(x.nodeName).lower(), entries)) + diff = len(entries) - len(list(set(entries))) + duplicates += diff + if diff > 0: + print key.getAttribute("ID") - entries = {k: v for k, v in entries.items() if len(v) > 1} - output = list([[k, v] for k, v in entries.items()]) - output = sorted(output, key=lambda x: len(x[1])*-1) + return duplicates - print("Potential duplicate stringtable entries:\n") - for l in output: - k, v = l - print(k.ljust(50), end=" ") - print("Listed %i times in: %s" % (len(v), ", ".join(v))) +def main(): + scriptpath = os.path.realpath(__file__) + projectpath = os.path.dirname(os.path.dirname(scriptpath)) + projectpath = os.path.join(projectpath, "addons") - print("\n# MARKDOWN\n") + print("###############################") + print("# Stringtable Duplicates Tool #") + print("###############################\n") - print("| Text | # Occurences | Containing Entries |") - print("|------|-------------:|--------------------|") + duplicates = 0 + for module in os.listdir(projectpath): + d = check_module(projectpath, module) - for l in output: - print("| %s | %i | %s |" % (l[0], len(l[1]), ", ".join(l[1]))) + print("# {} {}".format(module.ljust(20), d)) + duplicates += d + + print("\nTotal number of duplicates: {}".format(duplicates)) if __name__ == "__main__": - main() + main() diff --git a/tools/stringtablemerger.py b/tools/stringtablemerger.py index 9558ec081b..3859409e45 100755 --- a/tools/stringtablemerger.py +++ b/tools/stringtablemerger.py @@ -13,128 +13,128 @@ from xml.dom import minidom # in the given language from the given dir. def get_modules(projectpath): - """ Get all the modules of the project. """ - modules = [] + """ Get all the modules of the project. """ + modules = [] - for i in os.listdir(projectpath): - path = os.path.join(projectpath, i) - if not os.path.isdir(path): - continue - if i[0] == ".": - continue - modules.append(i) + for i in os.listdir(projectpath): + path = os.path.join(projectpath, i) + if not os.path.isdir(path): + continue + if i[0] == ".": + continue + modules.append(i) - return modules + return modules def contains_language(key, language): - """ Checks whether a given key contains a certain language. """ - for child in key.childNodes: - try: - assert(child.tagName == language) - return True - except: - pass + """ Checks whether a given key contains a certain language. """ + for child in key.childNodes: + try: + assert(child.tagName == language) + return True + except: + pass - return False + return False def get_entry_by_id(keys, keyid): - """ Returns the first child of keys with ID='keyid'. """ - for key in keys: - if key.getAttribute("ID") == keyid: - return key + """ Returns the first child of keys with ID='keyid'. """ + for key in keys: + if key.getAttribute("ID") == keyid: + return key - return False + return False def replace_entries(oldpath, newpath, language, breakdown): - """ Replaces all new entries of the given language in the given module. """ - oldfile = minidom.parse(oldpath) - newfile = minidom.parse(newpath) + """ Replaces all new entries of the given language in the given module. """ + oldfile = minidom.parse(oldpath) + newfile = minidom.parse(newpath) - oldkeys = oldfile.getElementsByTagName("Key") - newkeys = newfile.getElementsByTagName("Key") - newkeys = list(filter(lambda x: contains_language(x, language), newkeys)) + oldkeys = oldfile.getElementsByTagName("Key") + newkeys = newfile.getElementsByTagName("Key") + newkeys = list(filter(lambda x: contains_language(x, language), newkeys)) - for newkey in newkeys: - keyid = newkey.getAttribute("ID") - oldkey = get_entry_by_id(oldkeys, keyid) + for newkey in newkeys: + keyid = newkey.getAttribute("ID") + oldkey = get_entry_by_id(oldkeys, keyid) - if not oldkey: - continue + if not oldkey: + continue - if breakdown: - print(" Merging %s translation for %s" % (language, keyid)) + if breakdown: + print(" Merging %s translation for %s" % (language, keyid)) - newentry = newkey.getElementsByTagName(language)[0].firstChild + newentry = newkey.getElementsByTagName(language)[0].firstChild - try: - # An entry for this language already exists, overwrite it - oldentry = oldkey.getElementsByTagName(language)[0].firstChild - oldentry.replaceWholeText(newentry.wholeText) - except: - # There is no entry for this language yet, make one - oldentry = oldfile.createElement(language) - oldentry.appendChild(oldfile.createTextNode(newentry.wholeText)) - # Some whitespace tetris to maintain file structure - oldkey.insertBefore(oldfile.createTextNode("\n "), oldkey.lastChild) - oldkey.insertBefore(oldentry, oldkey.lastChild) + try: + # An entry for this language already exists, overwrite it + oldentry = oldkey.getElementsByTagName(language)[0].firstChild + oldentry.replaceWholeText(newentry.wholeText) + except: + # There is no entry for this language yet, make one + oldentry = oldfile.createElement(language) + oldentry.appendChild(oldfile.createTextNode(newentry.wholeText)) + # Some whitespace tetris to maintain file structure + oldkey.insertBefore(oldfile.createTextNode("\n "), oldkey.lastChild) + oldkey.insertBefore(oldentry, oldkey.lastChild) - # Make a nice string - xmlstring = oldfile.toxml() - xmlstring = xmlstring.replace('" ?>', '" encoding="utf-8"?>') + # Make a nice string + xmlstring = oldfile.toxml() + xmlstring = xmlstring.replace('" ?>', '" encoding="utf-8"?>') - # Replace the newlines that minidom swallows - xmlstring = xmlstring.replace("><", ">\n<") - xmlstring += "\n" + # Replace the newlines that minidom swallows + xmlstring = xmlstring.replace("><", ">\n<") + xmlstring += "\n" - fhandle = open(oldpath, "w") - fhandle.write(xmlstring) - fhandle.close() + fhandle = open(oldpath, "w") + fhandle.write(xmlstring) + fhandle.close() - return len(newkeys) + return len(newkeys) def main(sourcepath, language, breakdown): - scriptpath = os.path.realpath(__file__) - projectpath = os.path.dirname(os.path.dirname(scriptpath)) - projectpath = os.path.join(projectpath, "addons") + scriptpath = os.path.realpath(__file__) + projectpath = os.path.dirname(os.path.dirname(scriptpath)) + projectpath = os.path.join(projectpath, "addons") - modules = get_modules(projectpath) - modulecounter = 0 - keycounter = 0 + modules = get_modules(projectpath) + modulecounter = 0 + keycounter = 0 - for module in modules: - oldpath = os.path.join(projectpath, module, "stringtable.xml") - newpath = os.path.join(sourcepath, module, "stringtable.xml") + for module in modules: + oldpath = os.path.join(projectpath, module, "stringtable.xml") + newpath = os.path.join(sourcepath, module, "stringtable.xml") - # Some translators extract the lowercase PBOs, so the module name might - # be lowercase (obviously only matters on Linux) - if not os.path.exists(newpath): - newpath = os.path.join(sourcepath, module.lower(), "stringtable.xml") + # Some translators extract the lowercase PBOs, so the module name might + # be lowercase (obviously only matters on Linux) + if not os.path.exists(newpath): + newpath = os.path.join(sourcepath, module.lower(), "stringtable.xml") - # Translator didn't include this module, skip - if not os.path.exists(newpath): - continue + # Translator didn't include this module, skip + if not os.path.exists(newpath): + continue - keynum = replace_entries(oldpath, newpath, language, breakdown) - modulecounter += 1 - keycounter += keynum + keynum = replace_entries(oldpath, newpath, language, breakdown) + modulecounter += 1 + keycounter += keynum - print("# Merged %i entry/entries in %s" % (keynum, module)) - if breakdown: - print("") + print("# Merged %i entry/entries in %s" % (keynum, module)) + if breakdown: + print("") - print("") - print("# Merged %i entry/entries in %i modules" % (keycounter, modulecounter)) + print("") + print("# Merged %i entry/entries in %i modules" % (keycounter, modulecounter)) if __name__ == "__main__": - try: - sourcepath = os.path.normpath(os.path.join(os.getcwd(), sys.argv[1])) - language = sys.argv[2] - - assert(os.path.exists(sourcepath)) - except: - print("ERROR: Missing arguments of invalid path.") - print("\nUsage:") - print("[script] [path to new project] [language]") - sys.exit(1) + try: + sourcepath = os.path.normpath(os.path.join(os.getcwd(), sys.argv[1])) + language = sys.argv[2] + + assert(os.path.exists(sourcepath)) + except: + print("ERROR: Missing arguments of invalid path.") + print("\nUsage:") + print("[script] [path to new project] [language]") + sys.exit(1) - main(sourcepath, language, "--breakdown" in sys.argv) + main(sourcepath, language, "--breakdown" in sys.argv)